【作者:吴斌,原文创作于2016-08-11,如今仍有较高参考价值,但不排除部分信息需要更新。文中有很多引用,不一一列举出处了。】

关于自然语言的实体提取,在自然语言处理的应用里面,是非常实用的技术。在实际项目中,粗略地讲,我认为有3种情况:1,规则明显,精度要求高,适合用规则模板做,比如:会议航班等日程识别提醒,地址识别。2,规则不明显,但是基本可以找到规律,适合用统计模型(CRF,HMM等)做,比如:人名识别,情感词情感对象识别。3,除了标点符号,找不到规则,那就用词典+规则做吧,比如:电影名,歌曲名识别。 所以,什么情况下的自然语言实体提取,使用什么样的技术,这也是需要仔细思考的问题,很难一概而论,哪个技术好。

1,3不用多说了,这里说一下2。目前最好用的实体抽取模型是CRF(条件随机场),具体应用中超过其他模型(如:HMM隐马尔科夫模型,不过HMM的运行效率高),而且超过深度学习的RNN模型,CRF主要优点是,它的核心其实是一种判别式的分类模型,同时考虑上下文关系的转移概率(分析上下文关系目前可用的只有线性马尔可夫链,更复杂的关系目前难以实用,所以条件随机场在实用中是简化版模型。),它可以使用很多特征来训练模型,而人工设计的特征在实体提取任务中,至关重要,特别是字典特征(比如中文名的百家姓词典,情感词词典),在模型中有着非常重要的作用。而使用RNN模型,单纯靠大量的标注数量来做模型训练的话,准确率上并没有优势,只是在召回率上有优势,而实际应用中,更看重准确率。细节可以看这个论文:http://anthology.aclweb.org/D/D14/D14-1080.pdf

舆情分析 或情感分析, 在自然语言处理领域是个主要的应用方向, 常见的情况是为某个公司或某个产品,根据舆情数据,分析出消费者的情感倾向,比如:根据商品评论数据,分析用户情感的倾向,正,负,中性。或者根据更大范围的数据,比如微博,搜索引擎的数据,来分析用户对产品的口碑,比如,百度就提供了"百度舆情"功能:http://yuqing.baidu.com/zhengwu 。这是个典型的分类问题,可以用统计模型做,也可以用规则+词典做。

但是,通常的舆情分析, 分类的粒度非常粗,只有指定的好、中、差几个类别,使用者获得的信息量其实是非常少的。一个产品的舆情评价是好或坏,使用者更想知道的是为什么好,为什么坏。而情感词,情感对象的自动提取,就可以很大程度上回答这个问题,比如自动提取这样的评论西信息:手机拍黑白照片效果: 很不错,手机的续航能力: 有待提高。(冒号前面的是情感对象,后面的是情感词。)  这样具体的正负观点,才是使用者真正想看到的信息,这些信息才有助于分析具体的产品问题和优缺点。

我在做电影评论的情感词和情感对象识别任务中,使用的CRF库是Mallet,这是JAVA的CRF库首选,而且开发者,就是CRF模型的发明者之一Andrew McCallum。这个库包含分类,CRF等很多功能,使用起来有一点门槛,细节可以查看其主页:http://mallet.cs.umass.edu/ ,我使用的是豆瓣点评的电影短评数据。电影评论中的情感词和情感对象抽取的例子:  剧情:不走心; 导演和编剧:实在是太渣;  丹尼尔的演出:中规中矩。更多例子见附件。

数据标注对所有统计学习的有监督学习算法都是非常重要的事情,而且,实体提取比其他任务的标注难度更大一些,因为判断实体数据本身就是比较复杂的事情。我的标注方法是自创的TCO(TargetCommentOther)标注法。标注对信息抽取非常重要,因为标注的方法决定了特征选取的方法,常见已有的标注法师BIO或IOE,其中“B”指标注实体开始字符,“I”指标注实体中间字符,“E”指标注实体结束字符,“O”指其他字符。比如,如果自动识别姓名通常使用BIO标注法,重点是标注名称的首字符,因为,“姓”可以从百家姓中识别。如果自动识别地名,公司名,一般用IOE标注法,重点识别尾字符,因为”路,街,道“,”公司“是重要特征。而我要识别的是个评论短语,最重要的是评论对象和情感词,而这些内容很多都不在首字符或尾字符,所以,我自创的TCO标注法,可以重点标注评论对象(Target),评论情感词(Comment,可以带正负向,比如Comment+,Comment-),标注举例:“这车开得像飞”标注为“OTTTCC”。同时,可以使用情感词词典之类的特征来训练模型,实践证明,词典特征对CRF的识别准确率提高有非常大的帮助。

如果按照每个字的label判断准确率统计是比较低的,如果按照整个情感对象+情感词一起来判断实体提取准确率,初步统计是区分情感倾向是87.3%,不区分情感倾向是93.2%,召回率低一些。   下面详细记录一些数据标注的经验:

首先,自然语言处理对于的情感表达,应该选择选择什么粒度?一般来说,篇章,段落级别会包含多个情感,不合适。词组级别,因为不好断句也不好操作。最合适的粒度是句子级别,以逗号,句号,感叹号,问号等分割,以每个句子为单位分析用户情感和情感对象比较合适。实际情况,有的情感表达会跨两个句子,但是这种情况实际上很少。

大多数时候,正负向的情感是容易辨认的,比如:剧情很好,喜欢这个主角,台词太烂,笑点没意思,等等。但是也有不少的情况,人也难以判断情感,对于NLP来说,下面这几个句子都是各有各的判断难点。

比如:“虽然没有绝美之城那般惊艳。”,是个比较句,是情感判断的难点,而且,“没有”与“惊艳”有正负情感抵消的意思,“虽然”,“那般”又有些许赞扬的意思,我的意见是做中性情感处理。

“形式感太强。”是反义句,“强”通常是正向情感词,这里却有反义的意思,“形式感”有一些的负面情感,但是需要仔细琢磨。我的意见是整句都是负面情感词。

“音乐无疑是影片的灵魂。”是比喻句,“灵魂”是个比喻,比喻是NLP最难处理的问题,我认为算作正面情感表达。这里“是灵魂”是正向情感词,“音乐”是情感对象词。

“我以为我再不会被清新细腻的爱情戏码打动了呢。”包含否定句,但是最后有个“呢”,前面有个“以为”,又变成了自问自答,变成了肯定句,而且句子中正负情感词“不会”,“清新细腻”,“打动”相互交织,判断难度也很大,我认为作为正面情感判断。

“比绝美之城直白好懂。”也是个比较句,通常“直白好懂”标注为正向情感,“比绝美之城”是情感对象,但是省略的主语。

“XXX贩卖一个巨大的无聊”这句话的情感不难判断,但是句子中有很多修饰词,“XXX”“贩卖”,“巨大的”都是修饰同一个词“无聊”,这对标注和识别是干扰,这种情况是比较常见的。我的意见是,标注时,必要的修饰保留(去掉后就改变意思或不完整了),无用的修饰去掉,上面可以仅标注“巨大的无聊”。

另外几个例子,自然语言中,一句话有时候会嵌套几层情感表达,此时对于情感识别也会面临难题,识别哪一层的情感?如果每层分解来识别,这会太复杂,我的意见是只识别最外面一层的情感。比如:“但看完之后还是被导演的一些天才表达折服。”  外层情感是:“被导演的一些天才表达:折服”。内层情感是:“表达:天才”。“精雕细作(到有点做作)的美感像行走真空般不实。”,外层情感是:“美感像行走真空般不实:精雕细作(到有点做作)”。内层情感是:“美感:像行走真空般不实”。这几个例子我认为取外层表达即可,因为外层表达可以抽取出比较详细具体的情感对象。

对于情感词和情感对象的抽取,不同于情感分类,必须区分哪个是情感词,哪个是情感对象。我使用的是CRF模型来做情感词和情感对象的抽取,效果还可以。但也有一些困难,CRF是判别式模型,数据标注的质量和数据标注的标准是很重要的,对于每个label(其实就是每个类别),都要有清晰的定界标准。但是有些词语是很难定界的,比如:“创意超级棒。”“这个片子的结尾很有创意。”“有创意的片子”,这里的“创意”是情感词,还是情感对象,较难区分,我的意见是按词性标注,第一个“创意”是名词都做情感对象标注,后两个“有创意”是形容词做情感词标注。另外,有时候“恐怖”是负向情感,比如:“这个角色丑的恐怖。”,有时候“恐怖”是正向情感,比如说的是恐怖片:“看结尾觉得真挺恐怖的。”这种情况只有看“恐怖”前后的搭配词和情感对象来判断了。还有,比较句,对于情感词和情感对象的提取是比较困难的,比如:“失孤比这部片好很多。”这句虽然有“好”字,但是全句情感却是负面情感,而且,情感对象难以把握,我的意见是:“失孤”作为情感对象,“比这部片好很多”做负面情感词标注。还有一些比较难标注的数据,需要逐个分析,比如:“喜欢林中小屋那一类的应该觉得对胃口”,这里其实没有明确指明电影中的对象,而且隐含的比喻,“林中小屋那一类的”,同时情感词也不是针对电影,而是针对喜欢此类电影的人,所以这里的Target主体不好标注,勉强可以把“喜欢林中小屋哪一类的”标为Target,把“应该觉得对胃口”标为Comment+。同时,Target里面有“喜欢”这个关键词,一般是在情感词词典里才出现的,放在Target里面也容易出问题,但是这也是无奈的地方。另一句,“要不是这两位演技还是不错真是看不下去”,这里面有正负两个情感,相对而言,我认为正面情感突出一些,即“这两位演技”标为Target,“还是不错”标为Comment+。对于“真是看不下去”,本来应该标Comment-的,但是句子里面缺乏主题对象,标了负向情感,对于抽取来说,就不好理解了,可以忽略此处,标为other。

关于自然语言的实体抽取和舆情分析技术相关推荐

  1. 网络舆情分析技术 读书笔记2

    网络舆情的信息采集 网络舆情分析,广义上包括从网络舆情的信息采集开始到最后舆情信息服务这一系列流程,首先是从互联网上采集舆情信息,对采集得到的web页面进行信息预处理,在预处理的基础上进行关键信息的抽 ...

  2. 网络舆情分析技术 读书笔记1

    针对网络舆情的研究主要集中在以下几个方面: 网络舆情的基础理论研究,主要包括网络舆情的概念解析.网络舆情的主体特征.网络舆情的表现特征等: 网络舆情的传播规律以及外部性研究,主要针对网络舆情的演化过程 ...

  3. 天涯论坛——python舆情分析汇总(四)

    基于天涯论坛的 "新冠疫情"舆情分析 完整数据和代码链接:https://download.csdn.net/download/weixin_43906500/14935218 1 ...

  4. 基于文本和图像的网络舆情分析方法研究

    基于文本和图像的网络舆情分析方法研究 一.舆情分析技术 (1)舆情数据采集与提取技术: (2)自动文摘技术: (3)事件发现与追踪技术: (4)舆情情感分析技术. 二.舆情情感分析模型 (1)基于知识 ...

  5. 2019年十大数据与分析技术趋势

    来自:GartnerInc 全球领先的信息技术研究和顾问公司Gartner指出,增强型分析(augmented analytics).持续型智能(continuous intelligence)与可解 ...

  6. Gartner:2019年十大数据与分析技术趋势

    来源:网络大数据 近日,全球领先的信息技术研究和顾问公司Gartner指出,增强型分析(augmented analytics).持续型智能(continuous intelligence)与可解释型 ...

  7. 舆情监测是什么技术,网络舆情监测技术操作规范?

    网络舆情监测是对互联网上公众的言论和观点进行监视和预测的行为,随着互联网的发展,舆情监测已经是企业日常重要工作,对于企业来说是非常重要的,接下来TOOM舆情监测带您了解舆情监测是什么技术,网络舆情监测 ...

  8. AIBlockChain:“知名博主独家讲授”人工智能创新应用竞赛【精选实战作品】之《基于计算机视觉、自然语言处理、区块链和爬虫技术的智能会议系统》软件系统案例的界面简介、功能介绍分享之总篇

    AI&BlockChain:"知名博主独家讲授"人工智能创新应用竞赛[精选实战作品]之<基于计算机视觉.自然语言处理.区块链和爬虫技术的智能会议系统>软件系统案 ...

  9. 文本分类模型_多标签文本分类、情感倾向分析、文本实体抽取模型如何定制?...

    文心(ERNIE)是依托百度深度学习平台飞桨打造的语义理解技术与平台,集先进的预训练模型.全面的NLP算法集.端到端开发套件和平台化服务于一体,为企业和开发者提供一整套NLP定制与应用能力.在2020 ...

最新文章

  1. linux的veth导致网络不通,linux的veth对网桥通信实验
  2. 搜索1008(二分)
  3. php 大数运算类,PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法
  4. Linux0.00 代码解析(二)
  5. 使用Logstash,JDBC将数据聚合并索引到Elasticsearch中
  6. IOS – OpenGL ES 调节图像对比度 GPUImageContrastFilter
  7. 标志寄存器_访问标志寄存器,并与寄存器B |交换标志寄存器F的内容 8085微处理器...
  8. div靠边隐藏_css如何隐藏div不占位置?
  9. Linux系统编程39:多线程之基于阻塞队列生产者与消费者模型
  10. 与gps优缺点_浅谈用于洒水车上的液位传感器和GPS模块
  11. 数学建模之图论——图与网络模型(一)(基本概念和最短路问题,附MATLAB源码)
  12. Android Fragment之间的跳转
  13. 不小心执行了rm -f,除了跑路,如何恢复?
  14. Python 3.65 安装geopandas
  15. linux docker 安装sql,CentOS7使用Docker安装SQL Server 2017
  16. thinkphp判断本地环境是否为SAE
  17. 安装时间大于30秒_高送转第一股秒板,封单金额近百亿!最新高送转潜力股名单曝光...
  18. 如何快速设计一款万能遥控器产品原型(SoC免开发)
  19. 圆柱体积怎么算立方公式_圆柱体积计算公式 怎么计算
  20. android后台定时执行任务,后台执行的定时任务

热门文章

  1. cocos creator大厅、子游戏实现方案
  2. 带你了解常见的9种大数据分析方法
  3. 开源是一种精神,但开源也是一剂慢性毒药
  4. 爱奇艺背后的“迷雾剧场”
  5. 中国电信次800M频段学习
  6. Win10关闭任务栏预览窗口
  7. 22考研英语复习学长攻略:英语做题的最优顺序
  8. Java 打印美国太平洋时间
  9. 企业不提供资源销售自己找客户难吗
  10. 超好看的PPT“组织架构图”模板