yuyijiong commited on
Commit
8cc3bcd
·
1 Parent(s): 767d6d7

Create README.md

Browse files
Files changed (1) hide show
  1. README.md +109 -0
README.md ADDED
@@ -0,0 +1,109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - zh
4
+ - en
5
+ library_name: transformers
6
+ pipeline_tag: text2text-generation
7
+ datasets:
8
+ - Yaxin/SemEval2016Task5NLTK
9
+ metrics:
10
+ - yuyijiong/quad_match_score
11
+ ---
12
+ yuyijiong/T5-large-sentiment-analysis-Chinese的改进版,增加更多任务,使用chatgpt生成部分数据\
13
+ 在多个中英文情感分析数据集上微调得到 \
14
+ 输出格式为
15
+ ```
16
+ '对象1 | 观点1 | 方面1 | 情感极性1 & 对象2 | 观点2 | 方面2 | 情感极性2 ......'
17
+ ```
18
+
19
+ 可以使用yuyijiong/quad_match_score评估指标进行评估
20
+ ```python
21
+ import evaluate
22
+ module = evaluate.load("yuyijiong/quad_match_score")
23
+ predictions=["food | good | food#taste | pos"]
24
+ references=["food | good | food#taste | pos & service | bad | service#general | neg"]
25
+ result=module.compute(predictions=predictions, references=references)
26
+ print(result)
27
+ ```
28
+
29
+ 支持以下情感分析任务
30
+ ```
31
+ ["四元组(对象 | 观点 | 方面 | 极性)",
32
+ '二元组(对象 | 观点)',
33
+ '三元组(对象 | 观点 | 方面)',
34
+ '三元组(对象 | 观点 | 极性)',
35
+ '三元组(对象 | 方面 | 极性)',
36
+ '二元组(方面 | 极性)',
37
+ '二元组(观点 | 极性)',
38
+ '单元素(极性)']
39
+ ```
40
+
41
+ 可以增加额外条件来控制答案的生成,例如:
42
+
43
+ 答案风格控制,希望抽取的观点为整句话or缩减为几个词:\
44
+ (观点尽量短)\
45
+ (观点可以较长)\
46
+ (对较长观点进行概括) 注意此条件可能使答案中出现与原文不同的词
47
+
48
+ 可以对指定的方面做情感分析:
49
+ (方面选项:商品/物流/商家/平台)
50
+
51
+ 情感对象target可能为null,表示文本中未明确给出
52
+ 可以允许模型自动猜测为null的对象:
53
+ (补全null)
54
+
55
+ support the following sentiment analysis tasks
56
+ ```
57
+ ["quadruples (target | opinion | aspect | polarity)",
58
+ "quadruples (target | opinion | aspect | polarity)",
59
+ 'pairs (target | opinion)',
60
+ 'triples (target | opinion | aspect)',
61
+ 'triples (target | opinion | polarity)',
62
+ 'triples (target | aspect | polarity)',
63
+ 'pairs (aspect | polarity)',
64
+ 'pairs (target | polarity)',
65
+ 'pairs (opinion | polarity)',
66
+ 'single (polarity)']
67
+ ```
68
+
69
+
70
+ 使用方法:
71
+ Usage
72
+ ```python
73
+ import torch
74
+ from transformers import T5Tokenizer, AutoModelForSeq2SeqLM
75
+
76
+ tokenizer = T5Tokenizer.from_pretrained("yuyijiong/T5-large-sentiment-analysis-Chinese-MultiTask")
77
+ model = AutoModelForSeq2SeqLM.from_pretrained("yuyijiong/T5-large-sentiment-analysis-Chinese-MultiTask", device_map="auto")
78
+ generation_config=GenerationConfig.from_pretrained("yuyijiong/T5-large-sentiment-analysis-Chinese-MultiTask")
79
+ text = '情感四元组(对象 | 观点 | 方面 | 极性)抽取任务(观点可以较长): [个头大、口感不错,就是个别坏了的或者有烂掉口子刻意用泥土封着,这样做不好。]'
80
+ input_ids = tokenizer(text,return_tensors="pt", padding=True)['input_ids'].cuda(0)
81
+ with torch.no_grad():
82
+ output = model.generate(input_ids=input_ids,generation_config=generation_config)
83
+ output_str = tokenizer.batch_decode(output, skip_special_tokens=True)
84
+ print(output_str)
85
+ ```
86
+
87
+ 用法示例
88
+ ```
89
+ Q:情感四元组(对象 | 观点 | 方面 | 极性)抽取任务(观点可以较长): [个头大、口感不错,就是个别坏了的或者有烂掉口子刻意用泥土封着,这样做不好。]
90
+ A:个头 | 大 | 商品#大小 | 积极 & 口感 | 不错 | 商品#口感 | 积极 & null | 个别坏了的或者有烂掉口子刻意用泥土封着,这样做不好 | 商品#新鲜程度 | 消极
91
+
92
+ Q:情感四元组(对象 | 观点 | 方面 | 极性)抽取任务(观点可以较长,补全null): [个头大、口感不错,就是个别坏了的或者有烂掉口子刻意用泥土封着,这样做不好。]
93
+ A:个头 | 大 | 商品#大小 | 积极 & 口感 | 不错 | 商品#口感 | 积极 & null (个别) | 有烂掉口子刻意用泥土封着,这样做不好 | 商品#新鲜程度 | 消极
94
+
95
+ Q:情感四元组(对象 | 观点 | 方面 | 极性)抽取任务(观点尽量短): [个头大、口感不错,就是个别坏了的或者有烂掉口子刻意用泥土封着,这样做不好。]
96
+ A:个头 | 大 | 商品#大小 | 积极 & 口感 | 不错 | 商品#口感 | 积极
97
+
98
+ Q:情感三元组(对象 | 观点 | 极性)抽取任务(观点可以较长,补全null): [个头大、口感不错,就是个别坏了的或者有烂掉口子刻意用泥土封着,这样做不好。]
99
+ A:个头 | 大 | 积极 & 口感 | 不错 | 积极 & null (花生) | 个别坏了的或者有烂掉口子刻意用泥土封着,这样做不好 | 消极
100
+
101
+ Q:判断以下评论的情感极性: [个头大、口感不错,就是个别坏了的或者有烂掉口子刻意用泥土封着,这样做不好。]
102
+ A:中性
103
+
104
+ Q:情感二元组(方面 | 极性)抽取任务(方面选项: 价格#性价比/价格#折扣/价格#水平/食品#外观/食物#分量/食物#味道/食物#推荐): [个头大、口感不错,就是个别坏了的或者有烂掉口子刻意用泥土封着,这样做不好。]
105
+ A:食物#分量 | 积极 & 食物#味道 | 中性
106
+
107
+ 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 .]
108
+ A:hot dogs | good | food#quality | pos & pork croquette sandwich | fantastic | food#quality | pos & bun | perfect | food#quality | pos
109
+ ```