NLP文本情感分类传统模型+深度学习(demo)
文本情感分类:
文本情感分类(一):传统模型 摘自:http://spaces.ac.cn/index.php/archives/3360/
测试句子:工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作
分词工具 | 测试结果 |
结巴中文分词 | 工信处/ 女干事/ 每月/ 经过/ 下属/ 科室/ 都/ 要/ 亲口/ 交代/ 24/ 口/ 交换机/ 等/ 技术性/ 器件/ 的/ 安装/ 工作 |
中科院分词 | 工/n 信/n 处女/n 干事/n 每月/r 经过/p 下属/v 科室/n 都/d 要/v 亲口/d 交代/v 24/m 口/q 交换机/n 等/udeng 技术性/n 器件/n 的/ude1 安装/vn 工作/vn |
smallseg | 工信/ 信处/ 女干事/ 每月/ 经过/ 下属/ 科室/ 都要/ 亲口/ 交代/ 24/ 口/ 交换机/ 等/ 技术性/ 器件/ 的/ 安装/ 工作 |
Yaha 分词 | 工信处 / 女 / 干事 / 每月 / 经过 / 下属 / 科室 / 都 / 要 / 亲口 / 交代 / 24 / 口 / 交换机 / 等 / 技术性 / 器件 / 的 / 安装 / 工作 |
未重现实验,由于下载数据的原因(数据需要积分下载)
文本情感分类(二):深度学习模型 摘自:http://spaces.ac.cn/index.php/archives/3414/
词语的向量表示:二维向量就可以360度全方位旋转了,何况是更高维呢(实际应用中一般是几百维)
Word2Vec就是完成了上面所说的我们想要做的事情——用高维向量(词向量,Word Embedding)表示词语,
并把相近意思的词语放在相近的位置,而且用的是实数向量(不局限于整数)
而Word2Vec的实现,Google官方提供了C语言的源代码,读者可以自行编译。
而Python的Gensim库中也提供现成的Word2Vec作为子库(事实上,这个版本貌似比官方的版本更加强大)。
词向量可以方便做聚类,用欧氏距离或余弦相似度都可以找出两个具有相近意思的词语。
这就相当于解决了“一义多词”的问题(遗憾的是,似乎没什么好思路可以解决一词多义的问题。)
卷积神经网络(CNNs),它是神经网络的一种,专门用来处理矩阵输入的任务,能够将矩阵形式的输入编码为较低维度的一维向量,而保留大多数有用信息。
在自然语言处理中,通常用到的方法是递归神经网络或循环神经网络(都 叫RNNs)。它们的作用跟卷积神经网络是一样的,将矩阵形式的输入编码为较低维度的一维向量,而保留大多数有用信息。跟卷积神经网络的区别在于,卷积神 经网络更注重全局的模糊感知(好比我们看一幅照片,事实上并没有看清楚某个像素,而只是整体地把握图片内容),而RNNs则是注重邻近位置的重构,由此可 见,对于语言任务,RNNs更具有说服力(语言总是由相邻的字构成词,相邻的词构成短语,相邻的短语构成句子,等等,因此,需要有效地把邻近位置的信息进 行有效的整合,或者叫重构)。
说到模型的分类,可真谓无穷无尽。在RNNs这个子集之下,又有很多个变种,如普通的RNNs,以及GRU、LSTM等,读者可以参考Keras的官方文档:http://keras.io/models/,它是Python是一个深度学习库,提供了大量的深度学习模型,它的官方文档既是一个帮助教程,也是一个模型的列表——它基本实现了目前流行的深度学习模型。
Qu? 数据中哪里看到分类信息?