搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
羊村懒王
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
经典应用丨光伏行业扫码追溯新标杆,海康机器人AI智能读码器!
2
【Android 11】使用Android Studio调试系统应用之Settings移植(四):编译SettingsLib模块、导入子模块、解决编译错误_编译android setting
3
Vite是如何用Esbuild 来提升性能的?_vite esbuild
4
用C#实现实时监测文件夹,把word/excel/ppt自动转为pdf_c# 监控excel文件程序
5
deepfacelive实时换脸教程(2024最新版)_real-time face swap for pc streaming or video call
6
Java开发技术知识图谱_java服务端研发知识图谱 pdf
7
免费的AI文案生成器有哪些?AI文案生成器排行榜
8
操作系统实践之路——六、内存(3.如何实现内存页的分配与释放?)
9
计算机网络——数据链路层(差错控制)
10
基于SSM的红色文化展示小程序系统设计与实现【包调试】_基于ssm框架的“小红书”设计与实现
当前位置:
article
> 正文
技术改变生活——用HanLP来协助处理现实中问题_hanlp 情感分析
作者:羊村懒王 | 2024-04-03 16:05:36
赞
踩
hanlp 情感分析
此例是我之前在学习
nlp
过程中的一个demo项目,并使用了HanLP官网提供的API接口实现功能,具体需求如下:
1 .项目背景
平时收集了一下客户对于餐馆的评价,这些数据一方面可以让每一位用户清楚地看到每个商家所提供的服务质量,同时让一个商家也意识到自己的问题所在。 但是面对大量的评论数据,如何让一个用户或者商家能够更方便地看到全貌呢? 这就是本项目中需要解决的问题。
目标是将这些评价数据进行分类,比如分成满意或者不满意,这一类基于用户评价的情感极性分析系统,来策划餐馆满意菜品的推荐、用倾向性分析来帮助商家从大量评论中挖掘有价值的信息,更好的认识服务的特色点,不足点。以及提高创收利润。
2 .查看数据。
评价数据的抽样:
可以看到
数据集
中有餐馆的id编号,以及对餐馆的评价分数(总体评分、环境、口味、服务)
3. 数据清洗:
在
语料库
中找到我们感兴趣的东西,把不感兴趣的、视为噪声的内容清洗掉,比如从网络上爬取的乱码、时间戳等文本(上面用户点评的数据已经经过了数据清洗)
4. 分词:
中文文本通常是一批短文本或者是长文本,比如:一篇文章摘要、一则简讯快报、一个段落等,一般在此类文本中句子之间的字和词是连续的,有一定的含义。但是在我们进行文本处理的时候,更多的希望可以处理文本的粒度为最小的字为单位,所以这个时候就需要用到分词来进行对文本的全部分词。
简单好用的中文分词利器:HanLP 。HanLP从v1.7版起独立运作,由自然语义(青岛)科技有限公司作为项目主体,主导后续版本的开发,并拥有后续版本的版权。授权协议为 Apache License 2.0,可免费用做商业用途。
目前
HanLP
官网测试版注册账号,并可以免费调用API接口,采用了开源
HanLP
的最新技术,功能完全一致,采用上亿文字的通用语料库训练生成,能够解决一般情况下大多数的NLP开发需要。
调用了
HanLP
的多语言分词下的标准分词,
该接口返回的是json数据格式,使用java函数进行对用户点评数据的遍历分词,得到结果如下(满意+抱怨点评):
5. 词性标注
词性标注是为句子中每个单词预测一个词性标签的任务,提供词语的抽象表示,便于进行更深层次的文本挖掘处理,无需担心新词发现、歧义消除等问题。
设计需求如下:考虑使用该接口功能获得用户点评数据中的词性,然后编写函数将词性为形容词adj的单词进行文本挖掘,再对这些形容词语(好古老、复古、实惠、略贵、爽口,极其粗鲁等)的处理(如进行词频统计,生成词云)来对用户对餐馆的点评描述可视化,以此做倾向性分析来改善餐馆的服务质量等提升。
另外词性标注还可以作词语的消除歧义,
有效剔除“噪音“误导,比如
对“他马上功夫很好”这句话,该模型通过识别该句话的语境和上下文特征,对“马上”二字进行分开识别成“马n/上l”,而不是识别成“马上n”。
6. 词频统计(词云展示)
如上面在
词性标注
提取到adj形容词后,对该用户点评数据中形容词进行了词频的统计,并对其词云化展示,得到结果如下:
7.命名实体识别
命名实体识别,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等,进而挖掘各实体间的关系。
设计需求如下:尝试对用户点评文本数据中的
菜品名称
进行命名实体识别,然后对识别后的
菜品名称
进行后续的分析(对餐厅菜系菜品的推荐、对现已有的菜品质量进行评定审核等)
在对用户点评数据进行
菜品名称
识别时,
HanLP关于ner接口有
中国人名识别、日本人名识别、机构识别、地名识别、音译人名识别、深度学习命名实体识别等,不过对于
菜品名称
的命名实体标注需要对语料进行自定义标注,HanLP也提供了中文语料库标注:
可使用该
语料标注
规范的进行语料标注,正确理解NLP中词性定义。这其中涉及中文环境中的分词与词性内容:
标注符号中有14项非常见标注符号,包括:“nr”、“ns”、“nt”、“nz”、“m”、“q”、“t”、“r”、“b”、“i”、“L”、“j”、“g”、“x”。如以下人名/nr的标注和 成语/i 习用语/l的标注等。
添加自己的用户点评生语料数据进行菜品名称标注:
进入标注系统:
领取设定的
菜品名称
任务:
进入自定义标注语料:
上示意图中下半部分已经使用HanLP标注系统自动化标注完毕,上半部分是可选择的词性标签。利用可选择词性标签对下半部分的语句进行自定义化标注。我对
nz其他专名
(
菜品名称
)进行了语料的标注,得到如下符合我要求的自定义语料库:
还可以子账户标注完之后,使用主账户进行二次审核,进行驳回或者通过。
在审核通过之后即可标注为成熟语料库,对语料进行打包,送入模型训练。
模型训练
是
HanLP
特有的定制化功能服务,无需复杂的环境搭建与编程,直接调用HanLP算法,训练专属私有模型。
进行菜品名称标注模型训练:
在经过了调用虚拟机训练任务后,模型训练完毕,在模型管理分栏中得到最新训练的算法模型。
获取API功能是将模型生成私有API接口进行调用,只有本账号能够查阅并使用。
调用了
HanLP
的命名实体识别API
(菜品名称)接口
,对用户点评数据进行了NER识别,得到如下的分析结果:
对
慕斯蛋糕甜而不腻好吃!!烧鸡饭的鸡肉很香!!爱了爱了
得到"nature":"food"的命名实体识别结果: 慕斯蛋糕 、 烧鸡饭 。
编写函数依次对用户点评数据进行输入,调用HanLP API接口来进行命名实体识别可以很方便快捷的对所需要的实体进行识别,列出了用户点评数据中某料理店的菜品名称如下:
不同于常规的人名、地名、机构名的实体,使用HanLP进行了自定义化的NER命名实体识别,这样做可以更有效的个性化定制提取,还可以对此类菜品名称后续进行更多的下游任务如餐厅菜系菜品的推荐,对餐厅菜品营销的策略等等。当然,还可以对医疗文本数据中的药品名、疾病名、医疗器械名等进行个性化NER命名实体识别。
8.依存句法分析
依存句法分析是识别语句中词与词之间的依存关系,并揭示其句法结构,包括主谓关系、动宾关系、核心关系等。
设计需求如下:根据目标提取用户评价,作为此系统的使用者-餐厅管理经营者,因为用户评价是多维度的,比起一个大体的评价,商家更希望获得一些更加具体的信息,比如商家想获得用户对新来的蛋糕面点师傅手艺看法,明天想获取用户对餐厅服务员服务态度的评价等,这类更多细节具体的信息。
以上这类更加细节具体的用户数据,可以通过依存句法分析从技术上实现,如:
这家店 的 甜点 真不错 并且 小姐姐的服务态度很热情 。
使用依存句法分析后可以根据
aspect来切分目标提取用户评价,
如
果
aspect==甜点, 分析结果就获得
[ /K ,这家/L ,店/E ,的/L ,甜点/A ,真/K ,不错/A , /A] 甜点 - 不错 。
如果aspect==服务
分析结果就获得
[ /K ,小姐姐/K ,的/L ,服务/L ,态度/L ,很/L ,热情/L , /A] 服务态度 - 热情
得到词与词之间的依存关系,并从其中获取到之间的结构联系。
调用了HanLP依存句法分析API接口后通过分析得到如下结果:
最终得到 甜品- 不错 、 服务态度 - 热情 此类具体的用户评价信息,为商家了解生意产品提供直观性说明。
9.情感分析
文本分类的应用场景非常广泛,常见的情感分析是其一个子集,涵盖垃圾邮件过滤、垃圾评论过滤、自动标签,舆情分析、改进服务及产品、了解用户的体验等任何需要自动归档文本的场合。
设计需求如下:用户的评论是商家服务质量的反馈,如何在大量的评论数据中帮助商家意识到自己的问题,提高用户的满意度具有经济价值,这就是本博客中尝试解决的问题。使用HanLP接口做词性标注、命名实体识别,最终搭建一套基于用户评价的情感分类系统,以期帮助商家从大量评论中挖掘有价值的信息,更好的认识服务的特色点,不足点。
同样的HanLP提供了更为方便系统的情感分析API调用。
在进行情感分析输入数据之前要对文本数据进行分词、词性标注、命名实体识别、依存句法分析管道式操作。以上已经对用户评价数据进行了处理,对用户评价数据中抽取样例,
这家店 的 甜点 真不错 并且 小伙子的服务态度很热情 。
调用HanLP情感分析API后,得到如下结果:
这家店 的 甜点 真不错 并且 小伙子的服务态度很热情 。
情感极性是 【正面】
什么服务态度,点餐半个小时才上菜,下次再也不来吃了。
情感极性是 【负面】
显然的,对于情感分析模型HanLP已经训练好,只需要将用户评价的数据作为输入,输出值即正负情感极性,对于商家收取到的用户平均数据时,可调用该API接口做正负极性的二分类数据,将正面评价数据进行数据挖掘分析,对用户点赞的内容继续推广、 将负面评价的数据分析后,对用户提出的意见内容进行整改,同时也意识到自己的问题所在。
10.总结和思考
1. 在处理此项目需求时,考虑面对众多文本处理的步骤,繁琐且无专业性知识难以编程。在此项目完毕后,对使用工具HanLP的API调用好感倍增,较之前科研的nlp项目从零搭建模型环境、处理数据、模型训练、结果分析而言,用HanLP的API的感觉像是一把锋利的奥卡姆剃刀 ————如无必要 勿增实体,直接API调用来实现用户的需求 ,简单高效的感觉再好不过了。
2. 在设计该项目时,对于使用API接口调用,原始生文本的完整正确性对于模型结果影响因子较大,在尝试多次调用试验后得到上文的输出json数据,再进行编程对json数据处理后才能得到符合项目需求的数据。
3.另,对于其中处理的一些错误点(如对于菜品名称的NER命名实体识别,狮子头、绝代双骄、蚂蚁上树等自定义实体),只是使用通用性的API接口来调用,难免有所缺失,需要在该特定领域建立自己的技术模型,为特定场景下的更好体验,使用语料管理工具生成自己独有的语料库,并使用模型训练工具生成自己的专属模型才能更好的自定义化用户需求。此博客使用HanLP的API来实现餐厅用户评价情感分析系统项目,结果初步成型,但精度未够,记录在案。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/羊村懒王/article/detail/356116
推荐阅读
article
HanLP
基于
SVM
支持向量机
训练
ChnSentiCorp
情感
分析...
支持向量机进行分类
训练
,有关于。_chnsenticorpchnsenticorp ...
赞
踩
article
NLP预处理之
分词
工具的
使
用
(
jieba
,
hanlp
)_自选语料
、
语料清洗
、
使
用
用
jieba
或han...
介绍常
用
的
分词
技术,
jieba
,
hanlp
,紧接着介绍了命名实体识别和词性标注任务_自选语料
、
语料清洗
、
使
用
用
jieba
...
赞
踩
article
NLP之
分词
jieba
、
HanLP
、中科院
nlp
ir_
nlp
jieba
ha
nlp
...
目前主流的
分词
有
jieba
、哈工大LTP、中科院计算所NLPIR、清华大学THULAC和FoolNLTK、
HanLP
ji...
赞
踩
article
jieba
&
hanlp
(
分词
、
命名
实体
识别
、词性标注)_
jieba
命名
实体
识别
...
jieba
分词
:按照字序列的一定顺序重新组合作用:帮助人更好的理解文字的意思
jieba
通常有三种用法:精确模式, 全模式...
赞
踩
article
HanLP
-
简单
使用...
面向生产环境的多语种自然语言处理工具包_hanlphanlp 目录 简介 轻量级RESTful ...
赞
踩
article
hanlp
安装
命令_
hanlp
安装
...
问题处理_
hanlp
安装
hanlp
安装
一、
hanlp
1.x版本 #普通
安装
方式pip inst...
赞
踩
article
HanLP
自然语言
处理使用总结...
/ 对于系统中已有的词性,可以直接获取 Nature pcNature = Nature . fromString("n...
赞
踩
article
jieba
分词、关键词提取使用;
hanlp
分词、词性、ner使用_
jieba
.
analyse
.ex...
load_userdictkey自己添加关键词文件cut_all=False或Truek表示精准或者默认
analyse
....
赞
踩
article
(
Python
,
Hanlp
,
Neo4j
)基于电影图谱
搭建
微信问答机器人(一)_
neo4j
智能
客服
...
近期着手在构建毕业设计系统,由于早期时间偶然接触到一个公众号推送关于人工
智能
客服
的信息,心血来潮也想自己
搭建
一个。在经历...
赞
踩
article
hanlp
训练模型_五款
中文
分词
工具在线PK:
Jieba
,
SnowNLP
, PkuSeg, T...
最近玩公众号会话停不下来:玩转腾讯词向量:Game of Words(词语的加减游戏),准备把NLP相关的模块搬到线上,...
赞
踩
article
【
HanLP
】
--
自然语言
处理
场景
应用
_
hanlp
的
应用
场景
...
HanLP
是由一系列模型与算法组成的工具包,主要功能包括分词、词性标注、关键词提取、自动摘要、依存句法分析、命名实体识...
赞
踩
article
python
中
Hanlp
的使用
_
python
hanlp
...
# -*- coding: utf-8 -*from jpype import *startJVM(getDefault...
赞
踩
article
chatgpt
赋能
python
:
Python
安装
HanLP
:一个强大的
NLP
工具_
python
ha...
本文由
chatgpt
生成,文章没有在
chatgpt
生成的基础上进行任何的修改。以上只是
chatgpt
能力的冰山一角。作为...
赞
踩
article
Python
实战 | 进阶
中文
分词
之
HanLP
词典
分词
(下)_
print
(
"
p:
%.
2f
r:...
中文
分词
“准确率”如何计算?看这篇就够了!_
print
(
"
p:
%.
2f
r:
%.
2f
f1:
%.
2f
"
%
eval
....
赞
踩
相关标签
hanlp
自然语言处理
python
nlp
java
jieba
人工智能
hanlp 训练模型
chatgpt
计算机
中文分词
Python入门
HanLP 词典分词