数据科学工程师面试宝典系列---旅游评论数据中的自然语言处理

来源:互联网 发布:js获取table高度 编辑:程序博客网 时间:2024/06/11 21:57

NLP的工作

训练中文分词模型;比如jieba、ncej(java分词);

训练中文词性分析模型;名词、形容词、副词、否定词;分词是基础;

评论数据的印象提取(情感分析);关键词分析和聚合;

基于word2vec的推荐引擎和简易分类器;谷歌的工具,把文本生成词向量;

All in Python;


中文分词

自己训练模型的原因:

容易改进,根据效果修正训练集

旅游数据的独特性,可以专门针对旅游文本的特点加以训练风景,人文,地理,美食

自定义分词的粒度,盐焗/大虾  东方/明珠  上海/体育场

在实践中学习

机器学习的思想:利用已经分好词的文本训练模型,然后输入一句话进行分词测试;自己的训练集有限;

原理:

将标注问题,转化为分类问题。任何一个单独的字都可以分为四类:词首、词中、词尾、单字。

考虑字的上下文关系,扩展特征。

使用CRF算法,得到最终分类器。(条件随机场,包含最大熵和隐码的特点)

例子:

这  是  人类  有史以来  预报  到  的  太阳系  天体  重大  碰撞  现象   (训练集里已经分好词的句子)


S:单字 B:开头 E:结尾 M:词中


使用CRF++(CRFPP)进行分类器的训练

在应用程序中使用CRF++的Python接口进行分词。(还有Java接口)

其他工作:

自定义词典的加入;(当判断的概率很低时,才使用自定义词典)

当predict概率值偏小的情况;

混合模型;

语料库下载:数据堂;


中文词性




首先要判断是词首、词中还是词尾;然后判断属于哪个词性;


评论数据的印象提取

基本思路:

1.预处理,停用词,无意义词的去除;

2.提取出含有名词和形容词的组合;

3.根据自定义的规则进行印象的提取;

4.相近印象的合并。(好吃=美味)

例如:淘宝天猫的评论归纳。


首先进行分词和词性标注,ST停用词(表示没有意义的),最后合并。


用word2vec做文本分类和关联推荐

word2vec是一个将单词转换成向量形式的工具。其利用深度学习的思想,可以通过训练,把对文本内容的处理简化为K维向量空间中的向量运算,而向量空间上的相似度可以用来表示文本语义上的相似度。

word2vec输出的词向量可以被用来做很多NLP相关的工作,比如聚类。找同义词、词性分析等等。如果换个思路,把词当做特征,那么word2vec就可以把特征映射到K维向量空间,可以为文本数据寻求更加深层次的特征表示。

词袋模型在高维情况下不可行;

word2vec是无监督的;

利用词向量可以计算一些距离,进行聚类等运算;

步骤:

(1)使用爬虫将互联网上的旅游评论数据抓取下来;(和自己的评论数据合并,得到较大的样本集)

(2)使用分词软件将所有的数据分词;

(3)使用word2phrase进行高频词语的合并(东方明珠电视塔);

(4)使用word2vec训练生成模型;

(5)在应用程序中使用word2vec的Python接口。



word2vec作为关联推荐

0 0