主题-情感识别的比赛

来源:互联网 发布:近十年最流行网络语 编辑:程序博客网 时间:2024/05/17 04:29

这几天在做那个比赛,,做的有点晚了,只能粗糙的做一下子了。现将所做的过程,边记录边思考一下。

首先工具要得力,搜索了一下,可能有点不全,对于我而言,最适合本次比赛的无疑是snownlp以及jieba,先说snownlp,之后说jieba的使用。

对于snownlp,我是直接pip的,我的python版本是2.7的,pip install snownlp。

from snownlp import SnowNLP

在SnowNLP中,属性值有:

words 用于得到分词,在这里使用的是自带的字典来处理的sentiments 得到情感为积极的分数[0,1],越接近1说明更积极,越接近0说明越消极pinyin 得到句子中的每个词的拼音形式han 可以将繁体字转变为简体的标准的汉字形式keywords(n) 可以提取出文本中的前n个关键词summary(n) 可以利用n个句子来总结文本的形式sentences 可以把文本来划分为句子

简单的进行测试:
在我这边,需要将xlsx格式的数据导入,然后我的目标是将每一行的文本进行切分为一段一段的文本,所以就是利用到了sentences的操作,效果如下:

text: 收到了,太实惠了,买了一大箱,以后继续购买,送货速度快服务也好sentences: 收到了           太实惠了           买了一大箱           以后继续购买           送货速度快服务也好

对每一条评论中的子句来进行分词处理,并且得到其词性,对于其中的形容词是最有可能情感词,对于其中识别出来的情感词处理,对于子句中的名词来作为最有可能为主题词的部分,对于情感部分,有子句的情感来给出。
先测试一下,这种情况下的好坏。
呜呼,我好像有点想多哦,对于每一个子句而言,怎么匹配情感词与主题呢?这是一个巨大的问题,具体来说,应该会用到了句法和语义依存的分析情况。

在这里,我已经尝试着用了snownlp和jieba分词,因为jieba分词比较准确,我还是采用了jieba分词以及构建训练得到的外部的字典来对句子进行分词。

import jiebajieba.load_userdict('dictionary_train.txt')import jieba.posseg as psegseg_lists = pseg.cut(text_split)

此时的text_split为需要进行分词的子句部分。

需要对子句进行句法分析。首先明确,什么是依存句法分析?在这里,我参考大神的博客,具体贴出地址:http://blog.csdn.net/jiangjingxuan/article/details/54729126
依存句法分析,是指语句中的成分之间的依赖关系。
语义依存分析,是主要关注句子的语义的问题。
语义依存分析注重实词之间的逻辑关系,而依存句法主要强调的是助词,介词的作用。
一般而言是对依存句法分析和语义依存相结合使用。在这里我们采用pyplt来进行处理。
首先,pip install pyplt
其次,到官网来下载ltp model(需要注意版本)
也可以从百度云下载https://pan.baidu.com/share/link?shareid=1988562907&uk=2738088569&errno=0&errmsg=Auth%20Login%20Sucess&&bduss=&ssnerror=0&traceid=#list/path=/
然后,进行简单的测试。

今日进行简单的更新,昨晚真的做的有点心累,因为LTP下载的时候,我下载的比较慢,自己一直没能运行成功,急躁,难以平复自己的心情,但今天,又再一次理顺思路然后就可以得到解决了。
在这里,我的电脑是win32系统,装的64位的python2.7版本,这边pyplt的版本是0.1.9.1, 对应的ltp模型是3.3.1版本。

阅读全文
0 0
原创粉丝点击