必威体育Betway必威体育官网
当前位置:首页 > IT技术

(NLP) 淘宝评论处理(1)--工具库介绍

时间:2019-10-28 10:43:29来源:IT技术作者:seo实验室小编阅读:72次「手机版」
 

淘宝评论

#文章大纲及涉及的工具

最近在接触自然语言处理的项目,对目前的情况做一个总结:

  • 项目目标
  • 相关工具库
  • 自然语言处理的基本流程
  • 进一步处理及相关的算法和知识
  • 目前的进展以及所面临的问题

##项目目标

淘宝商品的评论进行归纳,为每条评论进行关键短语的提取,并将关键短语进行聚类标签化。为每个评论打标签。并对评论进行情感分析。


##相关工具库

这里为大家介绍一下我在项目中接触的几个工具库,其中的介绍都是个人理解,难免有错误,望请大家海涵并指正。

###Pandas

强大的数据分析库,在项目中主要使用DataFrame的数据格式来对项目中的数据进行存储及操作。DataFrame(DF)的形式如同字典,操作的时候主要通过索引来提取数据。在提取列数据时,使用的方法为df.iloc[i,j]df.loc[i][j],是通过索引进行定位来提取,之前的ix方法被系统提示避免使用,因为后期的版本可能不再支持这种方法。DataFrame的to_csv/read_csv/read_table/to_sql/read_sql来进行数据的读入和写入也是特别的方便。

###mysqldb

链接数据库的模块,这里使用的MySQL。这里建议自己写成一个模块,这样调用起来比较方便。

###Jieba

NLP一个相关的库出现了——Jieba(结巴)分词库。这个主要是用来进行分词的工具库。其中有两种分词的命令,一种是jieba.cut,另一种是Jieba.posseg.cut。其中第一个是默认的分词方法,第二个可以在切分后标注词性(flag)。这两种切词模式切出来的都不是直接的字符串,结果是各自存储格式,需要使用for将结果循环出来。这里推荐使用列表推导式,代码间接,运行较快。另外,使用Jieba进行分词的时候可以自定义词典,这样可以自定义一些新词。在Jieba库中有自带的关键词提取方法,其中使用的算法是TF-IDF和TEXTRANK两个算法。其中TF-IDF使用的IDF是Jieba自带的一个字典,其中定义好常用字的IDF。在应用的时候可以根据自己的需求来修改库中的代码中的字典路径,指向自定义的IDF。不过个人觉得比较适用于文章类的关键字提取,针对于评论语句,感觉不是很好。TEXTPRANK算法主要是根据前后词的关系来进行输出,同样在评语中的应用也不是很理想。

###SNOWNLP

中文分词的一个开源的工具库,主要做的是网络购物方向的中文处理工具。其中包括中文分词,情感分析等。其中情感分析主要是根据当前库中收录好的词语进行的评分。其中也有关键字提取,同样个人觉得结果不理想。网上对SnowNLP的评测是针对与电商购物的处理比较准确,其他方面较差。

###HANLP

一个开源的中文处理工具库,其代码是用java写的,所以在使用的时候需要在本机上安装Java环境和jpype库。[插入一句,安装中可能遇到各种各样的坑,网上大部分都有解释,不过这里要说2点:1. Java环境使用java8(目前最新的是10),太新的话hanlp会报错,其中有些文件和文件位置不一样(当初我就是追新,结果各种报错)。2. 如果是从官网下载的话,记得下载相应的java程序包,要不然只有空架子,没有什么内容。]

Hanlp可以做中文分词,词性标注和词语相似度比较,依句法分析和词与词之间的语义距离等。在使用依句法分析的时候,结果是一个java的文件,需要使用循环才可以将内容取出。这里的词语相似度主要是依据源文件中的近义词词典来进行的判断。由于词典年代较远,有些词汇还是无法正确识别的。

###Stanford Corenlp

斯坦福自然语言处理工具,其中包括对简体中文处理包,其中包括分词,标注词性,依句法分析,语义分析。其中依句法分析生成的是句法树。在使用的时候遇到的最大问题是不知道如何将句法树解析出来。该工具应该是目前中文处理比较好的。

###Gensim

主要使用库中的word2Vec模型,该模型是谷歌的来源的一个工具模型,用处是对文档建立词向量。具体的原理在后文详细阐述。该库中还有Doc2vec,是一个基于Word2vec的基础上进行的改进模型,也是用来建立词向量。最初word2vec中使用的功能是来计算词之间的相似度,由于感觉Hanlp中的相似度无法计算一些新词的相似度,所以考虑使用评论文本来训练个模型,使相似度的计算更为准确,而后想根据词向量对短语做聚类,效果不太理想,可能是训练时样本不够大。Python3中的导入训练好的模型需要使用model中的keyedvector的方法进行导入。

###numpy

Python的数学工具库,其中包括常用的数学公式及矩阵,在使用算法模型时,有些需要将数据转为矩阵。

###Scikit-learn

目前最常用的机器学习库。库里包含了常用是机器学习算法。主要用使用了dbscan对词向量进行聚类,但是效果不佳。

###matplotlib

Python的作图工具库,功能强大,项目中做词云

###Wordclound

做词云用的工具库,也算是经常会用的一种工具库。

文章最后发布于: 2018-08-19 21:29:35

相关阅读

淘宝退货上传什么凭证?如何处理?

现在越来越多人都越来越喜欢网购,马爸爸的淘宝可以说是网购平台中的权威代表了。网购的便利之处在于不用出门送货到家,不喜欢不合适

怎么查淘宝宝贝url链接?在哪查找?

淘宝url链接其实就是宝贝的链接,最近有很多的商家问小编这个链接该如何去获取,获取了后对一些设置会有所帮助,为了解决大家的问题,小

淘宝为什么会降权?被降权了怎么办?

如果在淘宝有了一定经历的商家来说,就很有可能在这个里面遇到过降权的情况,然后这个情况导致的后果也是可大可小的,那么淘宝为什么会

淘宝优惠券是怎么设置的?你知道吗?

我想大家都在淘宝上买过东西吧,当然很多买家都知道有些产品是隐藏淘宝优惠券的,慢慢的现在也出现了淘宝优惠券群主了。但是很多的淘

从线下到线上,谁会成为房地产电商时代的“淘宝”?

以前房地产的场景似乎只在线下,但随着互联网产品的加入,房地产场景也发生于线上。在这一行业,有哪些产品值得关注呢?一、行业现状与趋

分享到:

栏目导航

推荐阅读

热门阅读