有了词典如何用的问题?
在知乎和csdn,以及小伙伴的思路后,整理如下:
一大用途:基于词典的情感分析——情感词典用来判断情感。
链接
算法逻辑
Step 1:读取评论数据,对评论进行分句(分句主要以特定的标点符号为主)。
Step 2:将结巴词典和所有情感词典做并集,得出新的分词词典。
Step 3:查找分句的情感词,记录正面还是负面,以及位置。
Step 4:在情感词前查找程度词,找到就停止搜寻。为程度词设权值,乘以情感值。
Step 5:在情感词前查找否定词,找完全部否定词,若数量为奇数,乘以-1,若为偶数, 乘以 1。
Step 6:找出感叹号和问好等重要的标点符合
- 判断分句结尾是否有感叹号,有叹号则往前寻找情感词,有则相应的情感值+2。
- 判断分句结尾是否有问好,有问号该句判断为负面值+2。
Step 7:计算完一条评论所有分句的情感值([正面分值, 负面分值]),用数组(list) 记录起来。
Step 8:计算每条评论中每一个分句的的正面情感均值与负面情感均值,然后比较正面情感总和与负面情感总和,较大的一个即为所得情感倾向。
二大用途:基于词典的中文分词
- 正向匹配:词典为:【我,苹果,想,吃,今天,发放,可以】。
第一步:求出字典中词的最大长度 word_length。在这个例子中,最大长度的词只有两个字,因此,word_length = 2。
第二步:对句子进行切分,切分结果为:【我想|吃苹果】。
第三步:拿【我想】去和字典中的词进行匹配。
第四步:字典中没有【我想】这个词。因此将斜杠往左移动一位。此时切分结果为:【我|想吃苹果】。
第五步:拿【我】去和字典中的词进行匹配。字典中存在【我】这个词。因此得到一个切分结果【我】。
第六步:把句子中的【我】字去掉,此时的句子为:【想吃苹果】。
第七步:重复上述的过程,最后会得到的切分结果为:【我,想,吃,苹果】。
————————————————
版权声明:本文为CSDN博主「推荐算法研究僧」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/harleyrecsys/article/details/125253491
2.逆向最大匹配法
3.双向最大匹配法
假设我们有两种切法:
【自然|语言|处理|是|人工|智能|的|一个|重要|分支】
【自然语言处理|是|人工智能|的|一个|重要|分支】
很显然,第二种切法,把【自然语言处理】和【人工智能】看做是一个词要更准确些,也更符合人对句子的理解。