|
--- |
|
language: |
|
- zh |
|
- en |
|
library_name: transformers |
|
pipeline_tag: text2text-generation |
|
datasets: |
|
- Yaxin/SemEval2016Task5NLTK |
|
metrics: |
|
- yuyijiong/quad_match_score |
|
--- |
|
最新版本:[yuyijiong/T5-large-sentiment-analysis-Chinese-MultiTask](https://huggingface.co/yuyijiong/T5-large-sentiment-analysis-Chinese-MultiTask) |
|
|
|
[yuyijiong/Randeng-T5-large-sentiment-analysis-Chinese](https://huggingface.co/yuyijiong/Randeng-T5-large-sentiment-analysis-Chinese)的改进版,解决过拟合问题\ |
|
由[IDEA-CCNL/Randeng-T5-784M-MultiTask-Chinese](https://huggingface.co/IDEA-CCNL/Randeng-T5-784M-MultiTask-Chinese)在多个中英文情感分析数据集上微调得到 \ |
|
输出格式为 |
|
``` |
|
'对象1 | 观点1 | 方面1 | 情感极性1 & 对象2 | 观点2 | 方面2 | 情感极性2 ......' |
|
``` |
|
|
|
可以使用yuyijiong/quad_match_score评估指标进行评估 |
|
```python |
|
import evaluate |
|
module = evaluate.load("yuyijiong/quad_match_score") |
|
predictions=["food | good | food#taste | pos"] |
|
references=["food | good | food#taste | pos & service | bad | service#general | neg"] |
|
result=module.compute(predictions=predictions, references=references) |
|
print(result) |
|
``` |
|
|
|
支持以下情感分析任务 |
|
``` |
|
["四元组(对象 | 观点 | 方面 | 极性)", |
|
'二元组(对象 | 观点)', |
|
'三元组(对象 | 观点 | 方面)', |
|
'三元组(对象 | 观点 | 极性)', |
|
'三元组(对象 | 方面 | 极性)', |
|
'二元组(方面 | 极性)', |
|
'二元组(观点 | 极性)', |
|
'单元素(极性)'] |
|
``` |
|
|
|
中文可以增加额外条件来控制答案的生成,例如: |
|
|
|
答案风格控制,希望抽取的观点为整句话or缩减为几个词:\ |
|
(观点尽量短)\ |
|
(观点可以较长) |
|
|
|
可以对指定的方面做情感分析: |
|
(方面选项:商品/物流/商家/平台) |
|
|
|
情感对象target可能为null,表示文本中未明确给出 |
|
可以允许模型自动猜测为null的对象: |
|
(补全null) |
|
|
|
support the following sentiment analysis tasks |
|
``` |
|
["quadruples (target | opinion | aspect | polarity)", |
|
"quadruples (target | opinion | aspect | polarity)", |
|
'pairs (target | opinion)', |
|
'triples (target | opinion | aspect)', |
|
'triples (target | opinion | polarity)', |
|
'triples (target | aspect | polarity)', |
|
'pairs (aspect | polarity)', |
|
'pairs (target | polarity)', |
|
'pairs (opinion | polarity)', |
|
'single (polarity)'] |
|
``` |
|
|
|
|
|
使用方法: |
|
Usage |
|
```python |
|
import torch |
|
from transformers import T5Tokenizer, AutoModelForSeq2SeqLM |
|
|
|
tokenizer = T5Tokenizer.from_pretrained("yuyijiong/T5-large-sentiment-analysis-Chinese") |
|
model = AutoModelForSeq2SeqLM.from_pretrained("yuyijiong/T5-large-sentiment-analysis-Chinese", device_map="auto") |
|
generation_config=GenerationConfig.from_pretrained("yuyijiong/T5-large-sentiment-analysis-Chinese") |
|
text = '情感四元组(对象 | 观点 | 方面 | 极性)抽取任务(观点可以较长): [个头大、口感不错,就是个别坏了的或者有烂掉口子刻意用泥土封着,这样做不好。]' |
|
input_ids = tokenizer(text,return_tensors="pt", padding=True)['input_ids'].cuda(0) |
|
with torch.no_grad(): |
|
output = model.generate(input_ids=input_ids,generation_config=generation_config) |
|
output_str = tokenizer.batch_decode(output, skip_special_tokens=True) |
|
print(output_str) |
|
``` |
|
|
|
用法示例 |
|
``` |
|
Q:情感四元组(对象 | 观点 | 方面 | 极性)抽取任务(观点可以较长): [个头大、口感不错,就是个别坏了的或者有烂掉口子刻意用泥土封着,这样做不好。] |
|
A:个头 | 大 | 商品#大小 | 积极 & 口感 | 不错 | 商品#口感 | 积极 & null | 个别坏了的或者有烂掉口子刻意用泥土封着,这样做不好 | 商品#新鲜程度 | 消极 |
|
|
|
Q:情感四元组(对象 | 观点 | 方面 | 极性)抽取任务(观点可以较长,补全null): [个头大、口感不错,就是个别坏了的或者有烂掉口子刻意用泥土封着,这样做不好。] |
|
A:个头 | 大 | 商品#大小 | 积极 & 口感 | 不错 | 商品#口感 | 积极 & null (个别) | 有烂掉口子刻意用泥土封着,这样做不好 | 商品#新鲜程度 | 消极 |
|
|
|
Q:情感四元组(对象 | 观点 | 方面 | 极性)抽取任务(观点尽量短): [个头大、口感不错,就是个别坏了的或者有烂掉口子刻意用泥土封着,这样做不好。] |
|
A:个头 | 大 | 商品#大小 | 积极 & 口感 | 不错 | 商品#口感 | 积极 |
|
|
|
Q:情感三元组(对象 | 观点 | 极性)抽取任务(观点可以较长,补全null): [个头大、口感不错,就是个别坏了的或者有烂掉口子刻意用泥土封着,这样做不好。] |
|
A:个头 | 大 | 积极 & 口感 | 不错 | 积极 & null (花生) | 个别坏了的或者有烂掉口子刻意用泥土封着,这样做不好 | 消极 |
|
|
|
Q:判断以下评论的情感极性: [个头大、口感不错,就是个别坏了的或者有烂掉口子刻意用泥土封着,这样做不好。] |
|
A:中性 |
|
|
|
Q:情感二元组(方面 | 极性)抽取任务(方面选项: 价格#性价比/价格#折扣/价格#水平/食品#外观/食物#分量/食物#味道/食物#推荐): [个头大、口感不错,就是个别坏了的或者有烂掉口子刻意用泥土封着,这样做不好。] |
|
A:食物#分量 | 积极 & 食物#味道 | 中性 |
|
|
|
Q:sentiment quadruples (target | opinion | aspect | polarity) extraction task : [The hot dogs are good , yes , but the reason to get over here is the fantastic pork croquette sandwich , perfect on its supermarket squishy bun .] |
|
A:hot dogs | good | food#quality | pos & pork croquette sandwich | fantastic | food#quality | pos & bun | perfect | food#quality | pos |
|
``` |