自然语言处理(NLP)在旅游领域具有广泛的应用,其中之一是情感分析。情感分析是指通过计算机程序来识别文本中的情感倾向,分析人们对旅游目的地、酒店、餐厅、交通工具等的评价。这种技术可以帮助旅游公司、酒店、餐厅等机构了解消费者的需求和喜好,改善服务质量和提高客户满意度。
一个典型的旅游情感分析应用是在线评论分析。在线评论是消费者对旅游目的地、酒店、餐厅等的反馈,通过使用 NLP 技术,旅游公司和酒店等机构可以分析这些评论,了解消费者对服务质量、位置、价格、餐饮等的看法。这些信息可以帮助他们改善服务质量、提高客户满意度。
另一个应用是社交媒体情感分析。社交媒体是消费者展示旅游经历的主要渠道,通过使用 NLP 技术,旅游公司和酒店等机构可以分析消费者在社交媒体上发布的文本、和视频,了解消费者对旅游目的地、酒店、餐厅等的感受。这些信息可以帮助他们改善服务质量、提高客户满意度、扩大品牌知名度。
此外,NLP还可以用于预测未来趋势,通过分析历史数据来预测旅游需求、价格趋势等,进而帮助旅游公司和酒店等机构调量、提高客户满意度。
NLP技术还可以用于语音识别和语音合成,在旅游领域中应用于语音导航、语音查询等场景。例如,旅游公司可以开发一款语音导航应用,让游客在旅游中使用语音命令来获取信息和导航。
总之,NLP在旅游领域有着广泛的应用,它可以帮助旅游公司、酒店、餐厅等机构了解消费者的需求和喜好,改善服务质量和提高客户满意度。通过使用NLP技术,旅游行业可以更好地了解客户,并提供更好的服务和体验。
一、一般处理流程
语料获取 -> 文本预处理 -> 特征工程 -> 特征选择
1、语料获取
即需要处理的数据及用于模型训练的语料。
数据源可能来自网上爬取、资料积累、语料转换、OCR转换等,格式可能比较混乱。需要将url、时间、符号等无意义内容去除,留下质量相对较高的非结构化数据。
2、文本预处理
将含杂质、无序、不标准的自然语言文本转化为规则、易处理、标准的结构化文本。
①处理标点符号
可通过正则判定、现有工具(zhon包)等方式筛选清理标点符号。
②分词
将连续的自然语言文本,切分成具有语义合理性和完整性的词汇序列的过程。
一般看来英文较容易可通过空格符号分词,中文相对复杂,参考结巴分词、盘古分词、Ansj等工具。
常见的分词算法有:基于字符串匹配的分词方法、基于理解的分词方法、基于统计的分词方法和基于规则的分词方法,每种方法下面对应许多具体的算法。
③词性标注
为自然语言文本中的每个词汇赋予一个词性的过程,如名词、动词、副词等。可以把每个单词(和它周围的一些额外的单词用于上下文)输入预先训练的词性分类模型。
常用隐马尔科夫模型、N 元模型、决策树
④stop word
英文中含大量 a、the、and,中文含大量 的、是、了、啊,这些语气词、助词没有明显的实际意义,反而容易造成识别偏差,可适当进行过滤。
⑤词形还原
偏向于英文中,单数/复数,主动/被动,现在进行时/过去时/将来时等,还原为原型。
⑥统计词频
因为一些频率过高/过低的词是无效的,对模型帮助很小,还会被当做噪声,做个词频统计用于停用词表。
⑦给单词赋予id
给每一个单词一个id,用于构建词典,并将原来的句子替换成id的表现形式
⑧依存句法分析
通过分析句子中词与词之间的依存关系,从而捕捉到词语的句法结构信息(如主谓、动宾、定中等结构关系),并使用树状结构来表示句子的句法结构信息(如主谓宾、定状补等)。
3、特征工程
做完语料预处理之后,接下来需要考虑如何把分词之后的字和词语表示成计算机能够计算的类型。
如果要计算我们至少需要把中文分词的字符串转换成数字,确切的说应该是数学中的向量。有两种常用的表示模型分别是词袋模型和词向量。
①词向量
词向量是将字、词语转换成向量矩阵的计算模型。目前为止最常用的词表示方法是 One-hot,这种方法把每个词表示为一个很长的向量。
②词袋模型
即不考虑词语原本在句子中的顺序,直接将每一个词语或者符号统一放置在一个集合(如 list),然后按照计数的方式对出现的次数进行统计。统计词频这只是最基本的方式,TF-IDF 是词袋模型的一个经典用法。
常用的表示模型有:词袋模型(Bag of Word, BOW),比如:TF-IDF 算法;词向量,比如 one-hot 算法、word2vec 算法等。
4、特征选择
在文本挖掘相关问题中,特征工程也是必不可少的。在一个实际问题中,构造好的特征向量,是要选择合适的、表达能力强的特征。
举个自然语言处理中的例子来说,我们想衡量like这个词的极性(正向情感还是负向情感)。我们可以预先挑选一些正向情感的词,比如good。然后我们算like跟good的PMI,用到点互信息PMI这个指标来衡量两个事物之间的相关性。
特征选择是一个很有挑战的过程,更多的依赖于经验和专业知识,并且有很多现成的算法来进行特征的选择。目前,常见的特征选择方法主要有 DF、 MI、 IG、 CHI、WLLR、WFO 六种。
5、模型训练
在特征向量选择好了以后,接下来要做的事情是根据应用需求来训练模型,我们使用不同的模型,传统的有监督和无监督等机器学习模型,如 KNN、SVM、Naive Bayes、决策树、GBDT、K-means 等模型;深度学习模型比如 CNN、RNN、LSTM、 Seq2Seq、FastText、TextCNN 等。这些模型在分类、聚类、神经序列、情感分析等应用中都会用到。
当选择好模型后,则进行模型训练,其中包括了模型微调等。在模型训练的过程中要注意由于在训练集上表现很好,但在测试集上表现很差的过拟合问题以及模型不能很好地拟合数据的欠拟合问题。同时,也要防止出现梯度消失和梯度爆炸问题。
6、模型评估
在机器学习、数据挖掘、推荐系统完成建模之后,需要对模型的效果做评价。模型的评价指标主要有:错误率、精准度、准确率、召回率、F1 值、ROC 曲线、AUC 曲线等。
7、投产上线
模型的投产上线方式主要有两种:一种是线下训练模型,然后将模型进行线上部署提供服务;另一种是在线训练模型,在线训练完成后将模型 pickle 持久化,提供对外服务。
三、NLP应用方向
1、命名实体识别
指识别自然语言文本中具有特定意义的实体,主要包括人名、地名、机构名、时间日期等。
传统机器学习算法主要有HMM和CRF,深度学习常用QRNN、LSTM,当前主流的是基于bert的NER。
2、情感分析
文本情感分析和观点挖掘(Sentiment Analysis),又称意见挖掘(Opinion Mining)是自然语言处理领域的一个重要研究方向。简单而言,是对带有情感色彩的主观性文本进行分析、处理、归纳和推理的过程。
情感分析技术可以分为两类,一类是基于机器学习的方法,通过大量有标注、无标注的主观语料,使用统计机器学习算法,通过提取特征,进行文本情感分析。另一类是基于情感词典的方法,根据情感词典所提供的词的情感极性(正向、负向),从而进行不同粒度的(词语、短语、属性、句子、篇章)下的文本情感分析。
3、文章标签
文章标签是利用机器学习算法,对文章进行文字和语义的分析后,提取出若干个重要的词或者短语(关键短语)。关键短语是NLP基础的算法模块,有了关键短语,能为后续的搜索、推荐等更高级的应用提供有力的抓手。
适用场景:1、个性化推荐:通过对文章的标签计算,结合用户画像,精准的对用户进行个性化推荐;2、话题聚合:根据文章计算的标签,聚合相同标签的文章,便于用户对同一话题的文章进行全方位的信息阅读;3、搜索:使用中心词可以对query进行相似度计算、聚类、改写等,可以用于搜索相关性计算。
4、案件串并
①信息抽取
运用实体抽取、关系抽取,从案情中抽取关键信息,如从警情中可以抽取报警人项目、报警人电话、案发地址等信息
②实体对齐
相同的实体在不同的案情中会有不同的表述,会给串并带来困难。可针对地址、人名、组织名进行对齐处理。
③文本聚类
对于关键片段类信息,无法像实体那样对齐,需要借助文本聚类技术进行关联。
④构建图谱
将信息抽取结果存入图谱。每个警情id对应一个节点,实体、属性、关键片段作为节点,对齐的实体、同一类的文本存为同一个节点。
除了来自于从警情中抽取的信息,还可以将其他警务系统中存在的结构化数据导入(如来自户籍信息的人物关系),从而丰富图谱。
⑤图谱检索
完成以上工作,即完成了案件串并的必要基础建设,接下来通过图谱的查询功能自动完成案件的串并。首先需要设定串并的条件,案件串并的条件在警务实战中已有很多的积累,如“具有相似的作案手段”,又如“相似作案手段,嫌疑人有共同联系人”,只需要将这些条件用图谱查询语言表达出来。
提供足够数据集。
数据标注员是数据标注公司最核心的岗位之一,主要工作是借助标注工具,对人工智能学习数据进行加工,数据一般为、视频、文本等,通过不断地拉框、标点等操作,为人工智能提供足够的数据集。
2022年,在CCTV-13《新闻直播间》“稳就业在行动”主题报道中,百度(山西)人工智能基础数据产业基地现代化的办公楼里,数据标注师听障孕妈妈袁琳娜正专注在电脑前,熟练地移动着鼠标为一张张激光雷达采集回来的画框,教AI认识人类世界。
数据标注员主要工作内容
1、熟悉标注工具和标注规范:数据标注员需要掌握相应的标注工具,如文本编辑器、图像标注工具、视频标注工具等,并熟悉标注规范,以确保标注的一致性和准确性。
2、理解数据集的类型和用途:数据标注员需要了解数据集的类型和用途,以便准确地标注数据,并根据标注需求对数据进行分类、筛选等处理。
3、标注数据:数据标注员需要按照标注规范,对给定的数据进行标注,如对文本进行分类、对图像进行物体检测和标记、对音频进行语音识别等。
当文章引用或借用的资料所在的著作第一次出现于注释中时,须将该书作者姓名、书名、出版地、出版者、出版年代及引用资料所在的页码一并注出。
作者姓名后面用冒号;著作名用书名号标出,书名号后加逗号;出版地后用间隔号(中圆点);出版社名称后加逗号;出版年代后加“版”字,再加逗号;页码后用句号。
著作者如系二人,作者姓名之间用顿号分隔,如:xxx、xxx;如系二人以上,可写出第一作者姓名,后面加“等”字省略其他作者,如:xxx等。
著作名如有副标题,则在书名号内以破折号将标题与副标题隔开。
论文的注释形式可以分为三种:夹注、脚注、尾注。
夹注是在正文需要注释的地方用括号夹在正文中间进行注释,注释的内容较少,文字较短时就可采用夹注。
例如:关于花岗岩的形成与演化问题,一直存在争议,这就是着名的granites and granites (有各种各样的花岗岩) (Read,1948) 。
社区是指建立在血缘、地缘、情感和自然意志之上的富有人情味和认同感的传统社会生活共同体(滕尼斯,1999) 。
脚注即在本页的最下端用一横线将正文隔开,把注释写在横线之下。采用脚注,便于读者阅读时两相对照,及时查看。
与其他的人工智能技术相比,情感分析(Sentiment Analysis)显得有些特殊,因为其他的领域都是根据客观的数据来进行分析和预测,但情感分析则带有强烈的个人主观因素。情感分析的目标是从文本中分析出人们对于实体及其属性所表达的情感倾向以及观点,这项技术最早的研究始于2003年Nasukawa和Yi两位学者的关于商品评论的论文。
随着推特等社交媒体以及电商平台的发展而产生大量带有观点的内容,给情感分析提供了所需的数据基础。时至今日,情感识别已经在多个领域被广泛的应用。例如在商品零售领域,用户的评价对于零售商和生产商都是非常重要的反馈信息,通过对海量用户的评价进行情感分析,可以量化用户对产品及其竞品的褒贬程度,从而了解用户对于产品的诉求以及自己产品与竞品的对比优劣。在社会舆情领域,通过分析大众对于社会热点事件的点评可以有效的掌握舆论的走向。在企业舆情方面,利用情感分析可以快速了解社会对企业的评价,为企业的战略规划提供决策依据,提升企业在市场中的竞争力。在金融交易领域,分析交易者对于股票及其他金融衍生品的态度,为行情交易提供辅助依据。
目前,绝大多数的人工智能开放平台都具备情感分析的能力,如图所示是玻森中文语义开放平台的情感分析功能演示,可以看出除了通用领域的情感分析外,还有汽车、厨具、餐饮、新闻和微博几个特定领域的分析。
那么到底什么是情感分析呢?从自然语言处理技术的角度来看,情感分析的任务是从评论的文本中提取出评论的实体,以及评论者对该实体所表达的情感倾向,自然语言所有的核心技术问题,例如:词汇语义,指代消解,此役小气,信息抽取,语义分析等都会在情感分析中用到。因此,情感分析被认为是一个自然语言处理的子任务,我们可以将人们对于某个实体目标的情感统一用一个五元组的格式来表示:(e,a,s,h,t)
以图为例,e是指某餐厅,a为该餐厅的性价比属性,s是对该餐厅的性价比表示了褒义的评价,h为发表评论者本人,t是19年7月27日。所以这条评论的情感分析可以表示为五元组(某餐厅,性价比,正向褒义,评论者,19年7月27日)。
情感分析根据处理文本颗粒度的不同,大致可以分为三个级别的任务,分别是篇章级、句子级和属性级。我们分别来看一下。
1 篇章级情感分析
篇章级情感分析的目标是判断整篇文档表达的是褒义还是贬义的情感,例如一篇书评,或者对某一个热点时事新闻发表的评论,只要待分析的文本超过了一句话的范畴,即可视为是篇章级的情感分析。
对于篇章级的情感分析而言有一个前提假设,那就是全篇章所表达的观点仅针对一个单独的实体e,且只包含一个观点持有者h的观点。这种做法将整个文档视为一个整体,不对篇章中包含的具体实体和实体属性进行研究,使得篇章级的情感分析在实际应用中比较局限,无法对一段文本中的多个实体进行单独分析,对于文本中多个观点持有者的观点也无法辨别。
例如评价的文本是:“我觉得这款手机很棒。”评价者表达的是对手机整体的褒义评价,但如果是:“我觉得这款手机拍照功能很不错,但信号不是很好”这样的句子,在同一个评论中出现了褒义词又出现了贬义词,篇章级的分析是无法分辨出来的,只能将其作为一个整体进行分析。
不过好在有很多的场景是不需要区分观点评价的实体和观点持有者,例如在商品评论的情感分析中,可以默认评论的对象是被评论的商品,评论的观点持有者也是评论者本人。当然,这个也需要看被评论的商品具体是什么东西,如果是亲子旅游这样的旅游服务,那么评论中就很有可能包含一个以上的观点持有者。
在实际工作中,篇章级的情感分析无法满足我们对于评价更细致,如果需要对评论进行更精确,更细致的分析,我们需要拆分篇章中的每一句话,这就是句子级的情感分析研究的问题。
2 句子级情感分析
与篇章级的情感分析类似,句子级的情感分析任务是判断一个句子表达的是褒义还是贬义的情感,虽然颗粒度到了句子层级,但是句子级分析与篇章级存在同样的前提假设是,那就是一个句子只表达了一个观点和一种情感,并且只有一个观点持有人。如果一个句子中包含了两种以上的评价或多个观点持有人的观点,句子级的分析是无法分辨的。好在现实生活中,绝大多数的句子都只表达了一种情感。
既然句子级的情感分析在局限性上与篇章级是一样的,那么进行句子级的情感分析意义何在呢?关于这个问题,需要先解释一下语言学上主观句与客观句的分别。在我们日常用语当中,根据语句中是否带有说话人的主观情感可以将句子分为主观句和客观句,例如:“我喜欢这款新手机。”就是一个主观句,表达了说话人内心的情感或观点,而:“这个APP昨天更新了新功能。”则是一个客观句,陈述的是一个客观事实性信息,并不包含说话人内心的主观情感。通过分辨一个句子是否是主观句,可以帮助我们过滤掉一部分不含情感的句子,让数据处理更有效率。
但是在实操过程中,我们会发现这样的分类方法似乎并不是特别准确,因为一个主观句也可能没有表达任何的情感信息,知识表达了期望或者猜测,例如:“我觉得他现在已经在回家的路上了。”这句话是一个主观句,表达了说话人的猜测,但是并没有表达出任何的情感。而客观句也有可能包含情感信息,表明说话者并不希望这个事实发生,例如:“昨天刚买的新车就被人刮花了。”这句话是一个客观句,但结合常识我们会发现,这句话中其实是包含了说话人的负面情感。
所以,仅仅对句子进行主客观的分类还不足以达到对数据进行过滤的要求,我们需要的是对句子是否含有情感信息进行分类,如果一个句子直接表达或隐含了情感信息,则认为这个句子是含有情感观点的,对于不含情感观点的句子则可以进行过滤。目前对于句子是否含有情感信息的分类技术大多都是采用有监督的学习算法,这种方法需要大量的人工标注数据,基于句子特征来对句子进行分类。
总之,我们可以将句子级的情感分析分成两步,第一步是判断待分析的句子是否含有观点信息,第二步则是针对这些含有观点信息的句子进行情感分析,发现其中情感的倾向性,判断是褒义还是贬义。关于分析情感倾向性的方法与篇章级类似,依然是可以采用监督学习或根据情感词词典的方法来处理,我们会在后续的小节详细讲解。
句子级的情感分析相较于篇章级而言,颗粒度更加细分,但同样只能判断整体的情感,忽略了对于被评价实体的属性。同时它也无法判断比较型的情感观点,例如:“A产品的用户体验比B产品好多了。”对于这样一句话中表达了多个情感的句子,我们不能将其简单的归类为褒义或贬义的情感,而是需要更进一步的细化颗粒度,对评价实体的属性进行抽取,并将属性与相关实体之间进行关联,这就是属性级情感分析。
3 属性级情感分析
上文介绍的篇章级和句子级的情感分析,都无法确切的知道评价者喜欢和不喜欢的具体是什么东西,同时也无法区分对某一个被评价实体的A属性持褒义倾向,对B属性却持贬义倾向的情况。但在实际的语言表达中,一个句子中可能包含了多个不同情感倾向的观点,例如:“我喜欢这家餐厅的装修风格,但菜的味道却很一般。”类似于这样的句子,很难通过篇章级和句子级的情感分析了解到对象的属性层面。
为了在句子级分析的基础上更加细化,我们需要从文本中发现或抽取评价的对象主体信息,并根据文本的上下文判断评价者针对每一个属性所表达的是褒义还是贬义的情感,这种就称之为属性级的情感分析。属性级的情感分析关注的是被评价实体及其属性,包括评价者以及评价时间,目标是挖掘与发现评论在实体及其属性上的观点信息,使之能够生成有关目标实体及其属性完整的五元组观点摘要。具体到技术层面来看,属性级的情感分析可以分为以下6个步骤:
关于文本中的实体抽取和指代消解问题,我们已经在知识图谱的相关章节中做了介绍,这里就不再赘述。针对篇章级、句子级、属性级这三种类型的情感分析任务,人们做了大量的研究并提出了很多分类的方法,这些方法大致可以分为基于词典和基于机器学习两种,下面我们进行详细的讲解。
做情感分析离不开情感词,情感词是承载情感信息最基本的单元,除了基本的词之外,一些包含了情感含义的短语和成语我们也将其统称为情感词。基于情感词典的情感分析方法,主要是基于一个包含了已标注的情感词和短语的词典,在这个词典中包括了情感词的情感倾向以及情感强度,一般将褒义的情感标注为正数,贬义的情感标注为负数。
具体的步骤如图所示,首先将待分析的文本先进行分词,并对分词后的结果做去除停用词和无用词等文本数据的预处理。然后将分词的结果与情感词典中的词进行匹配,并根据词典标注的情感分对文本进行加法计算,最终的计算结果如果为正则是褒义情感,如果为负则是贬义情感,如果为0或情感倾向不明显的得分则为中性情感或无情感。
情感词典是整个分析流程的核心,情感词标注数据的好坏直接决定了情感分类的结果,在这方面可以直接采用已有的开源情感词典,例如BosonNLP基于微博、新闻、论坛等数据来源构建的情感词典,知网(Hownet)情感词典,台湾大学简体中文情感极性词典(NTSUSD),snownlp框架的词典等,同时还可以使用哈工大整理的同义词词林拓展词典作为辅助,通过这个词典可以找到情感词的同义词,拓展情感词典的范围。
当然,我们也可以根据业务的需要来自己训练情感词典,目前主流的情感词词典有三种构建方法:人工方法、基于字典的方法和基于语料库的方法。对于情感词的情感赋值,最简单的方法是将所有的褒义情感词赋值为+1,贬义的情感词赋值为-1,最后进行相加得出情感分析的结果。
但是这种赋值方式显然不符合实际的需求,在实际的语言表达中,存在着非常多的表达方式可以改变情感的强度,最典型的就是程度副词。程度副词分为两种,一种是可以加强情感词原本的情感,这种称之为情感加强词,例如“很好”相较于“好”的情感程度会更强烈,“非常好”又比“很好”更强。另外一种是情感减弱词,例如“没那么好”虽然也是褒义倾向,但情感强度相较于“好”会弱很多。如果出现了增强词,则需要在原来的赋值基础上增加情感得分,如果出现了减弱词则需要减少相应的情感得分。
另一种需要注意的情况是否定词,否定词的出现一般会改变情感词原本的情感倾向,变为相反的情感,例如“不好”就是在“好”前面加上了否定词“不”,使之变成了贬义词。早期的研究会将否定词搭配的情感词直接取相反数,即如果“好”的情感倾向是+1,那么“不好”的情感倾向就是-1。但是这种简单粗暴的规则无法对应上真实的表达情感,例如“太好”是一个比“好”褒义倾向更强的词,如果“好”的值为+1,那么“太好”可以赋值为+3,加上否定词的“不太好”变成-3则显然有点过于贬义了,将其赋值为-1或者-05可能更合适。
基于这种情况,我们可以对否定词也添加上程度的赋值而不是简单的取相反数,对于表达强烈否定的词例如“不那么”赋值为±4,当遇到与褒义词的组合时褒义词则取负数,与贬义词的组合则取正数,例如贬义词“难听”的赋值是-3,加上否定词变成“不那么难听”的情感得分就会是(-3+4=1)。
第三种需要注意的情况是条件词,如果一个条件词出现在句子中,则这个句子很可能不适合用来做情感分析,例如“如果我明天可以去旅行,那么我一定会非常开心。”,在这句话中有明显的褒义情感词,但是因为存在条件词“如果”,使得这个句子的并没有表达观点持有者的真实情感,而是一种假设。
除了条件句之外,还有一种语言表达也是需要在数据预处理阶段进行排除的,那就是疑问句。例如“这个餐厅真的有你说的那么好吗?”,虽然句子中出现了很强烈的褒义情感词“那么好”,但依然不能将它分类为褒义句。疑问句通常会有固定的结尾词,例如“……吗?”或者“……么?”,但是也有的疑问句会省略掉结尾词,直接使用标点符号“?”,例如“你今天是不是不开心?”,这个句子中含有否定词和褒义词组成的“不开心”,但不能将其分类为贬义情感。
最后一种需要注意的情况是转折词,典型词是“但是”,出现在转折词之前的情感倾向通常与转折词之后的情感倾向相反,例如:“我上次在这家酒店的住宿体验非常好,但是这次却让我很失望。”在这个转折句中,转折词之前的“非常好”是一个很强的褒义词,但真实的情感表达却是转折词之后的“很失望”,最终应该将其分类为贬义情感。当然,也存在出现了转折词,但语句本身的情感并没有发生改变的情况,例如“你这次考试比上次有了很大的进步,但是我觉得你可以做得更好”,这里的转折词没有转折含义,而是一种递进含义。在实际操作中,我们所以需要先判断转折句真实的情感表达到底是哪个,才能进行正确的分析计算。
构建情感词典是一件比较耗费人工的事情,除了上述需要注意的问题外,还存在精准度不高,新词和网络用语难以快速收录进词典等问题。同时基于词典的分析方法也存在很多的局限性,例如一个句子可能出现了情感词,但并没有表达情感。或者一个句子不含任何情感词,但却蕴含了说话人的情感。以及部分情感词的含义会随着上下文语境的变化而变化的问题,例如“精明”这个词可以作为褒义词夸奖他人,也可以作为贬义词批评他人。
尽管目前存在诸多问题,但基于字典的情感分析方法也有着不可取代的优势,那就是这种分析方法通用性较强,大多数情况下无需特别的领域数据标注就可以分析文本所表达的情感,对于通用领域的情感分析可以将其作为首选的方案。
我们在机器学习算法的章节介绍过很多分类算法,例如逻辑回归、朴素贝叶斯、KNN等,这些算法都可以用于情感识别。具体的做法与机器学习一样需要分为两个步骤,第一步是根据训练数据构建算法模型,第二步是将测试数据输入到算法模型中输出对应的结果,接下来做具体的讲解。
首先,我们需要准备一些训练用的文本数据,并人工给这些数据做好情感分类的标注,通常的做法下,如果是褒义和贬义的两分类,则褒义标注为1,贬义标注为0,如果是褒义、贬义和中性三分类,则褒义标注为1,中性标注为0,贬义标注为-1
在这一环节中如果用纯人工方法来进行标注,可能会因为个人主观因素对标注的结果造成一定影响,为了避免人的因素带来的影响,也为了提高标注的效率,有一些其他取巧的方法来对数据进行自动标注。比如在电商领域中,商品的评论除了文本数据之外通常还会带有一个5星的等级评分,我们可以根据用户的5星评分作为标注依据,如果是1-2星则标注为贬义,如果是3星标注为中性,4-5星标注为褒义。又比如在社区领域中,很多社区会对帖子有赞和踩的功能,这一数据也可以作为情感标注的参考依据。
第二步是将标注好情感倾向的文本进行分词,并进行数据的预处理,前文已经对分词有了很多的介绍,这里就不再过多的赘述。第三步是从分词的结果中标注出具备情感特征的词,这里特别说一下,如果是对情感进行分类,可以参考情感词典进行标注,也可以采用TF-IDF算法自动抽取出文档的特征词进行标注。如果分析的是某个特定领域的,还需要标注出特定领域的词,例如做商品评价的情感分析,需要标注出商品名称,品类名称,属性名称等。第四步根据分词统计词频构建词袋模型,形成特征词矩阵,如表所示。在这一步可以根据业务需要给每个特征词赋予权重,并通过词频乘以权重得到特征词分数。最后一步就是根据分类算法,将特征词矩阵作为输入数据,得到最终的分类模型。
当训练好分类模型之后,就可以对测试集进行分类了,具体的流程与建模流程类似,先对测试的文本数据进行分词并做数据预处理,然后根据特征词矩阵抽取测试文本的特征词构建词袋矩阵,并将词袋矩阵的词频数据作为输入数据代入之前训练好的模型进行分类,得到分类的结果。
采用基于机器学习的方法进行情感分析有以下几个不足之处,第一是每一个应用领域之间的语言描述差异导致了训练得到的分类模型不能应用与其他的领域,需要单独构建。第二是最终的分类效果取决于训练文本的选择以及正确的情感标注,而人对于情感的理解带有主观性,如果标注出现偏差就会对最终的结果产生影响。
除了基于词典和基于机器学习的方法,也有一些学者将两者结合起来使用,弥补两种方法的缺点,比单独采用一种方法的分类效果要更好,另外,也有学者尝试使用基于LSTM等深度学习的方法对情感进行分析,相信在未来,情感分析会应用在更多的产品中,帮助我们更好的理解用户需求,提升用户使用智能产品的体验。
随着深度神经网络等算法的应用,情感分析的研究方向已经有了非常大的进展,但依然存在着一些难题是目前尚未解决的,在实操过程中需特别注意以下几种类型数据:
情绪轮在用户体验设计上被广泛的应用,很多情感化设计都是基于情绪轮进行的。但是在人工智能领域,将情绪进行多分类比情感分析的三分类任务要难得多,目前大多数分类方法的结果准确性都不到50%。这是因为情绪本身包含了太多的类别,而且不同的类别之间又可能具有相似性,一个情绪词在不同的语境下有可能表达的是不同的情绪类别,算法很难对其进行分类。即使是人工对文本进行情绪类别标注也往往效果不佳,因为情绪是非常主观性的,不同的人对不同的文本可能产生不同的理解,这使得人工标注情绪类比的过程异常困难。如何让机器可以理解真实的情绪目前还是一个未能攻克的难题。
就是给上的物体拉框框,只要会用电脑就能干。
电脑屏上的里,三三两两的人在操场上,或是在跳绳,或是在围观。何信要做的是用鼠标将正在跳绳的人框出来。“说出来你可能都不相信,就是画这一个框。”“好比你现在打开电脑,然后摁住鼠标右键拉一下,在桌面上就是一个框就是3分钱”。
数据标注员是近两年为了帮助人工智能训练数据应运而生的新兴职业,主要根据不同的任务需求对图像、声音、文字等进行不同方式的标注。 在AI技术逐渐兴起的背景下,各种AI落地应用也都应运而生,不仅提高了办事效率,也为企业或个人节省了成本。
在数据标注员诞生之初,标注员都需要通过繁琐的步骤接收大批量数据,然后寻找合适的第三方标注工具进行非规范化的标注,最终将标注好的数据再交至客户手中,整个过程下来会耗费大量的人力物力,而且效率和标注质量的问题也很难剔除干净。
不仅如此,由于标注人员的增加和数据需求无法形成正比,标注市场上形成了供过于求的现象,不少标注团队和人员处于无“活”可接的待业状态。
欢迎分享,转载请注明来源:浪漫分享网
评论列表(0条)