技术改变生活——用HanLP来协助处理现实中问题

 

此例是我之前在学习nlp过程中的一个例子,需求如下:

     平时收集了一下客户对于餐馆的评价,目标是将这些评价数据进行分类,比如分成满意或者不满意,这一类简单的客户评价情感极性分析,来策划餐馆满意菜品的推荐、用倾向性分析来改善餐馆的服务质量,以及提高创收利润。

1 .首先来查看一下收集到的评价数据。评价数据的抽样:

技术改变生活——用HanLP来协助处理现实中问题

技术改变生活——用HanLP来协助处理现实中问题

可以看到数据集中有餐馆的id编号,以及对餐馆的评价分数(总体评分、环境、口味、服务)

 

 

2. 数据清洗:

       在语料库中找到我们感兴趣的东西,把不感兴趣的、视为噪声的内容清洗掉,比如从网络上爬取的乱码、时间戳等文本(上面用户点评的数据已经经过了数据清洗)

3. 分词:

       中文文本通常是一批短文本或者是长文本,比如:一篇文章摘要、一则简讯快报、一个段落等,一般在此类文本中句子之间的字和词是连续的,有一定的含义。但是在我们进行文本处理的时候,更多的希望可以处理文本的粒度为最小的字为单位,所以这个时候就需要用到分词来进行对文本的全部分词。

       简单好用的中文分词利器:HanLP 。HanLP从v1.7版起独立运作,由自然语义(青岛)科技有限公司作为项目主体,主导后续版本的开发,并拥有后续版本的版权。授权协议为 Apache License 2.0,可免费用做商业用途。 

       目前HanLP官网测试版注册账号,并可以免费调用API接口,采用了开源HanLP的最新技术,功能完全一致,采用上亿文字的通用语料库训练生成,能够解决一般情况下大多数的NLP开发需要。

       调用了HanLP的多语言分词下的标准分词,

技术改变生活——用HanLP来协助处理现实中问题

     该接口返回的是json数据格式,使用java函数进行对用户点评数据的遍历分词,得到结果如下(满意+抱怨点评):

技术改变生活——用HanLP来协助处理现实中问题

 技术改变生活——用HanLP来协助处理现实中问题

 4. 词性标注

       词性标注是为句子中每个单词预测一个词性标签的任务,提供词语的抽象表示,便于进行更深层次的文本挖掘处理,无需担心新词发现、歧义消除等问题。

       我考虑使用该接口功能获得用户点评数据中的词性,然后编写函数将词性为形容词adj的单词进行文本挖掘,再对这些形容词语(好古老、复古、实惠、略贵、爽口等)的处理(如进行文本聚类)来对用户对餐馆的点评描述分为几个大类,考虑做倾向性分析来改善餐馆的服务质量等提升。    

 

技术改变生活——用HanLP来协助处理现实中问题

 

另外词性标注还可以作词语的消除歧义,有效剔除“噪音“误导,比如对“他马上功夫很好”这句话,该模型通过识别该句话的语境和上下文特征,对“马上”二字进行分开识别成“马n/上l”,而不是识别成“马上n”。

 

5. 文本聚类

如上面在词性标注提取到adj形容词后,对该用户点评数据中形容词进行了HanLP的文本聚类API接口,使用了K-means聚类对形容词语进行了聚簇聚类,得到结果如下: