Skip to content

Commit 240f817

Browse files
authored
update visualization function (#4282)
1. Upgrade the visualization function to support more flexible processing of sentiment analysis results processed by different schemas 2. Improve sentiment analysis and pipeline readme
1 parent 8c4c418 commit 240f817

File tree

5 files changed

+227
-140
lines changed

5 files changed

+227
-140
lines changed

applications/sentiment_analysis/unified_sentiment_extraction/README.md

Lines changed: 25 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -354,11 +354,7 @@ python batch_predict.py \
354354

355355
#### **4.2.3 情感分析可视化**
356356

357-
在情感分析处理之后,可以根据情感分析的保存结果进行可视化展示,帮助用户更友好地分析业务特点。默认情况下,可视化功能支持围绕属性、观点、属性+观点、属性+情感、指定属性+观点分析功能。在各项分析中,均支持词云和直方图两类图像展示。特别说明的是,当前只支持如下schema分析后的数据,后续将支持自定义不同分析类型的可视化。
358-
359-
```python
360-
schema = [{'评价维度': ['观点词', '情感倾向[正向,负向,未提及]']}]
361-
```
357+
在情感分析处理之后,可以根据情感分析的保存结果进行可视化展示,帮助用户更友好地分析业务特点。默认情况下,可视化功能支持围绕属性、观点、属性+观点、属性+情感、指定属性+观点分析功能。在各项分析中,均支持词云和直方图两类图像展示。
362358

363359
下面将以酒店场景数据为例进行展示。
364360

@@ -374,11 +370,13 @@ python visual_analysis.py \
374370
--save_dir "./outputs/images"
375371
```
376372

377-
参数说明:
378-
- file_path: 指定情感分析结果的保存路径。
379-
- save_dir: 指定图片的保存目录。
380-
- font_path: 指定字体文件的路径,用以在生成的wordcloud图片中辅助显示中文,如果为空,则会自动下载黑体字,用以展示中文字体。
381-
- sentiment_name: 情感分析的Prompt文本,默认为"情感倾向[正向,负向,未提及]"。
373+
可配置参数说明:
374+
- ``file_path``: 指定情感分析结果的保存路径。
375+
- ``save_dir``: 指定图片的保存目录。
376+
- ``font_path``: 指定字体文件的路径,用以在生成的wordcloud图片中辅助显示中文,如果为空,则会自动下载黑体字,用以展示中文字体。
377+
- ``aspect_prompt``: 属性的Prompt文本,默认为`评价维度`
378+
- ``opinion_prompt``: 观点词的Prompt文本,默认为`观点词`
379+
- ``sentiment_prompt``: 情感分类的Prompt文本,当对属性进行情感分类时,应设置为`情感倾向[正向,负向,未提及]`, 当进行语句级情感分类时,应该设置为`情感倾向[正向,负向]`
382380

383381
下图展示了对酒店场景数据分析后的部分图片:
384382

@@ -658,18 +656,18 @@ python -u -m paddle.distributed.launch --gpus "0" finetune.py \
658656

659657
可配置参数说明:
660658

661-
* `train_path`:必须,训练集文件路径。
662-
* `dev_path`:必须,验证集文件路径。
663-
* `save_dir`:模型 checkpoints 的保存目录,默认为"./checkpoint"。
664-
* `learning_rate`:训练最大学习率,UIE 推荐设置为 1e-5;默认值为1e-5。
665-
* `batch_size`:训练集训练过程批处理大小,请结合显存情况进行调整,若出现显存不足,请适当调低这一参数;默认为 16。
666-
* `max_seq_len`:模型支持处理的最大序列长度,默认为512。
667-
* `num_epochs`:模型训练的轮次,可以视任务情况进行调整,默认为10。
668-
* `model`:训练使用的预训练模型。可选择的有`uie-senta-base`, `uie-senta-medium`, `uie-senta-mini`, `uie-senta-micro`, `uie-senta-nano`,默认为`uie-senta-base`
669-
* `logging_steps`: 训练过程中日志打印的间隔 steps 数,默认10。
670-
* `valid_steps`: 训练过程中模型评估的间隔 steps 数,默认100。
671-
* `seed`:全局随机种子,默认为 42。
672-
* `device`: 训练设备,可选择 'cpu'、'gpu' 其中的一种;默认为 GPU 训练。
659+
* ``train_path``:必须,训练集文件路径。
660+
* ``dev_path``:必须,验证集文件路径。
661+
* ``save_dir``:模型 checkpoints 的保存目录,默认为"./checkpoint"。
662+
* ``learning_rate``:训练最大学习率,UIE 推荐设置为 1e-5;默认值为1e-5。
663+
* ``batch_size``:训练集训练过程批处理大小,请结合显存情况进行调整,若出现显存不足,请适当调低这一参数;默认为 16。
664+
* ``max_seq_len``:模型支持处理的最大序列长度,默认为512。
665+
* ``num_epochs``:模型训练的轮次,可以视任务情况进行调整,默认为10。
666+
* ``model``:训练使用的预训练模型。可选择的有`uie-senta-base`, `uie-senta-medium`, `uie-senta-mini`, `uie-senta-micro`, `uie-senta-nano`,默认为`uie-senta-base`
667+
* ``logging_steps``: 训练过程中日志打印的间隔 steps 数,默认10。
668+
* ``valid_steps``: 训练过程中模型评估的间隔 steps 数,默认100。
669+
* ``seed``:全局随机种子,默认为 42。
670+
* ``device``: 训练设备,可选择 'cpu'、'gpu' 其中的一种;默认为 GPU 训练。
673671

674672
<a name="5.3"></a>
675673

@@ -686,11 +684,11 @@ python evaluate.py \
686684

687685
可配置参数说明:
688686

689-
* `model_path`:必须,进行评估的模型文件夹路径,路径下需包含模型权重文件model_state.pdparams及配置文件model_config.json。
690-
* `test_path`:必须,进行评估的测试集文件。
691-
* `batch_size`:训练集训练过程批处理大小,请结合显存情况进行调整,若出现显存不足,请适当调低这一参数;默认为 16。
692-
* `max_seq_len`:文本最大切分长度,输入超过最大长度时会对输入文本进行自动切分,默认为512。
693-
* `debug`: 是否开启debug模式对每个正例类别分别进行评估,该模式仅用于模型调试,默认关闭。
687+
* ``model_path``:必须,进行评估的模型文件夹路径,路径下需包含模型权重文件model_state.pdparams及配置文件model_config.json。
688+
* ``test_path``:必须,进行评估的测试集文件。
689+
* ``batch_size``:训练集训练过程批处理大小,请结合显存情况进行调整,若出现显存不足,请适当调低这一参数;默认为 16。
690+
* ``max_seq_len``:文本最大切分长度,输入超过最大长度时会对输入文本进行自动切分,默认为512。
691+
* ``debug``: 是否开启debug模式对每个正例类别分别进行评估,该模式仅用于模型调试,默认关闭。
694692

695693
在构造样本过程中,如果设置了最大负例比例negative_ratio,会在样本中添加一定数量的负样本,模型测试默认会对正样本和负样本共同进行评估。特别地,当开启debug模式后,会对每个正例类别分别进行评估,该模式仅用于模型调试:
696694
```

applications/sentiment_analysis/unified_sentiment_extraction/batch_predict.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,13 @@
1313
# limitations under the License.
1414

1515
import argparse
16-
import logging
1716
import os
1817
import time
1918

2019
from utils import load_txt, write_json_file
2120

2221
from paddlenlp import Taskflow
23-
24-
logger = logging.getLogger(__file__)
22+
from paddlenlp.utils.log import logger
2523

2624

2725
def main(args):

0 commit comments

Comments
 (0)