升级时间:2022年5月13日 重大提示:此前在集搜客官网和其他媒体上发布的关于情感分析的算法都将作废,今后的软件版本都将采用本文介绍的算法。 1. 情感分析算法升级的原因 用户反馈老版本的情感分析不准确,主要出现在这些情形: 1. 出现否定词的时候,情感倾向反转不对 2. 出现程度词的时候,情感打分不合适。 3. 情感词有重叠的时候 这次升级以后,用户添加自定义情感词的时候,可以加单字的情感词、程度词、否定词,因为单字匹配到的概率大大提高,往往会与多字的词发生重叠识别,老版本会分析出很不准确的结果。新版本对这种情况也做了改进。 2. 新旧版本没有变化的方面 情感分析的时候,会把一条正文切分成句子,先给每条句子打分,然后所有句子的结果加在一起就是一条正文的打分。根据下列标点符号切句子: 1. 中文句号和英文点号 2. 半角或全角问号 3. 半角或全角感叹号 4. 半角或全角分号 5. 竖线符号 6. tab制表符 如果用户导入的内容存于excel中,那么excel的一个单元格的内容称为一条正文;如果用户导入的内容存于txt或者word中,通常一个文档整体作为一条正文,但是,有可能会根据换行符等符号进行拆分,所以,如果要完全可控,应该使用excel格式。 情感分析结束以后,能导出两个结果文件,一个是句子情感分析结果,一个是正文情感分析结果。 3. 新旧版本变化部分 3.1 关于程度词和否定词的匹配 旧版情感分析时,如果匹配到程度词,那么对整个句子的情感得分进行倍乘,如果匹配到否定词,就对整个句子的情感倾向进行反转。这个简单算法会造成分析结果不准确。新版进行了彻底的升级。 首先,程度词和否定词只做局部的情感倾向和打分调整。
例如,下图这个句子: 首先提示一下,缺省的情感词典中没有单字否定词,要得到上图的结果,需要用户加入否定词“不”。 可以看到,识别出两个“不”字,都在情感词右边,符合第二种情况,那么,与“友好”这个词比较更近的“不”字用于否定“友好”,造成极性反转。而更远的那个“不”并没有相邻的可进行反转的情感词,就被放弃了。总体识别为负面。 另外也应该意识到,本算法基于情感词匹配,而不是基于语义分析,针对上述例句做的分析,结果看起来是对了,实际上跟真正的语义有偏离。 3.2 怎样设置权值 无论是情感词,还是程度词,还是否定词,都需要设置权值。 情感词的权值好理解
本质上说,否定词和程度词虽然名字不一样,实际上归为同一类。
4. 情感分析得分的计算公式 从上面文字可以看出,新版本的情感分析得分不再能用单个公式进行计算,而是需要一个算法,有以下步骤:
一句话概括新算法特点:很显然,老算法的否定词和程度词是对整个句子进行情感反转或加倍,而新算法的否定词和程度词只给相邻情感词反转或加倍。 5. 总结 了解了情感分析算法以后,可以有针对性地添加自己的情感词典,可以达到微调打分的目的。 |
Lj001129: 请问目前软件内的词典中 负面情感词都是-1,正面情感词都是+1吗?那如果句子中有中立情感词,是跳过不计还是? ...
Fuller_fenci_8: 程度词不匹配具体每个词,而是对整个句子的分析结果翻倍
15964002091: 我想问下这个算法是从右边第一个词开始,是先识别情感词还是先识别程度词,是以程度词为中心向左右搜索还是以情感词为中心呢。 ...