有几种方法可以将文本转换为数据。最流行的方法之一是文本矢量化,即将文本转换为数字表示的过程。有几种方法可以实现文本矢量化,如二进制、词频、词袋(BoW)、词频(L1)、归一化词频(L2)、归一化TF-IDF和Word2Vec12。
另一种方法是命名实体识别(NER),这是一种信息提取的子任务,旨在定位文本中的命名实体,并将其分类为预定义的类别,如人名、组织、地点、医疗代码、时间表达式、数量、货币值、百分比等
文本分类是另一种专注于将非结构化文本体分类到预定义类中的方法。
情绪分析是另一种方法,涉及确定文本中表达的情绪或观点。
最后,您还可以使用GPT-3将非结构化数据转换为表格数据。
来源 | 雪晴数据网
利用机器学习可以很方便的做情感分析。本篇文章将介绍在R语言中如何利用机器学习方法来做情感分析。在R语言中,由Timothy PJurka开发的情感分析以及更一般的文本挖掘包已经得到了很好的发展。你可以查看下sentiment包以及梦幻般的RTextTools包。实际上,Timothy还写了一个针对低内存下多元Logistic回归(也称最大熵)的R包maxtent。
然而,RTextTools包中不包含朴素贝叶斯方法。e1071包可以很好的执行朴素贝叶斯方法。e1071是TU Wien(维也纳科技大学)统计系的一门课程。这个包的主要开发者是David Meyer。
我们仍然有必要了解文本分析方面的知识。用R语言来处理文本分析已经是公认的事实(详见R语言中的自然语言处理)。tm包算是其中成功的一部分:它是R语言在文本挖掘应用中的一个框架。它在文本清洗(词干提取,删除停用词等)以及将文本转换为词条-文档矩阵(dtm)方面做得很好。这里是对它的一个介绍。文本分析最重要的部分就是得到每个文档的特征向量,其中词语特征最重要的。当然,你也可以将单个词语特征扩展为双词组,三连词,n-连词等。在本篇文章,我们以单个词语特征为例做演示。
注意,在R中用ngram包来处理n-连词。在过去,Rweka包提供了函数来处理它,感兴趣的可以查看这个案例。现在,你可以设置RTextTools包中create_matrix函数的参数ngramLength来实现它。
第一步是读取数据:
创建词条-文档矩阵:
现在,我们可以用这个数据集来训练朴素贝叶斯模型。注意,e1071要求响应变量是数值型或因子型的。我们用下面的方法将字符串型数据转换成因子型:
测试结果准确度:
显然,这个结果跟python得到的结果是相同的(这篇文章是用python得到的结果)。
其它机器学习方法怎样呢?
下面我们使用RTextTools包来处理它。
首先,指定相应的数据:
其次,用多种机器学习算法训练模型:
现在,我们可以使用训练过的模型做测试集分类:
准确性如何呢?
得到模型的结果摘要(特别是结果的有效性):
结果的交叉验证:
结果可在我的Rpub页面找到。可以看到,maxent的准确性跟朴素贝叶斯是一样的,其它方法的结果准确性更差。这是可以理解的,因为我们给的是一个非常小的数据集。扩大训练集后,利用更复杂的方法我们对推文做的情感分析可以得到一个更好的结果。示例演示如下:
推文情感分析
数据来自victornep。victorneo展示的是用python对推文做情感分析。这里,我们用R来处理它:
读取数据:
首先,尝试下朴素贝叶斯
然后,尝试其他方法:
这里,我们也希望得到正式的测试结果。包括:
1analytics@algorithm_summary:包括精确度,召回率,准确率,F-scores的摘要
2analytics@label_summary:类标签摘要
3analytics@document_summary:所有数据和得分的原摘要
4analytics@ensemble_summary:所有 精确度/覆盖度 比值的摘要
现在让我们看看结果:
与朴素贝叶斯方法相比,其它算法的结果更好,召回精度高于095。结果可在Rpub查看
原文链接:http://wwwxueqingcc/cms/article/107
一、一般处理流程
语料获取 -> 文本预处理 -> 特征工程 -> 特征选择
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对应一个节点,实体、属性、关键片段作为节点,对齐的实体、同一类的文本存为同一个节点。
除了来自于从警情中抽取的信息,还可以将其他警务系统中存在的结构化数据导入(如来自户籍信息的人物关系),从而丰富图谱。
⑤图谱检索
完成以上工作,即完成了案件串并的必要基础建设,接下来通过图谱的查询功能自动完成案件的串并。首先需要设定串并的条件,案件串并的条件在警务实战中已有很多的积累,如“具有相似的作案手段”,又如“相似作案手段,嫌疑人有共同联系人”,只需要将这些条件用图谱查询语言表达出来。
想要做好舆情信息工作主要分为以下几方面:
(一)、建立组织保障机制
网络舆情和网络信息安全工作一样,都应实行属地管理和一把手负责制,采取“谁运营谁负责、谁主管谁负责、谁使用谁负责”的办法实行责任追究制。要在进一步提高认识的基础上,把网络舆情信息工作纳入宣传思想工作总体安排,精心部署,狠抓落实。要制定各种规章制度规范网络行为。要明确一位领导同志具体分管网络舆情信息工作,同时确定一名同志为舆情信息员负责网络舆情的日常监测,每天或每周按部门对网络舆情进行分类整理,针对各部门的情况,提供简单的舆情监测分析报告,及时向各职能部门进行反馈。
(二)、建立技术保障机制
网络技术手段是实现网络舆论管理的一个有效措施,常用的网络技术手段包括对IP地址的监测、跟踪、封杀;网管的全天候值班监测,对负面消息进行及时清除;运用智能型软件进行敏感词组的自动过滤;对论坛发帖的延时审查及发布;对国外敏感网站浏览限制;论坛、博客、播客实行实名认证制度等。各个网站和互联网运营商都要严格按照国家有关互联网信息安全的相关法律法规建立技术保障措施,确保网络信息安全。
(三)、建立日常工作机制
1、网络信息发布
“互联网让每一个人都变成了信息的发布者,而且可以不经过审查。”一位传媒研究者称,“一方面,这可以让信息更加公开透明;同时,由于鱼龙混杂,你无法分辨它的真假。而对那些年轻的网民来说,情绪非常容易被煽动。” 正是如此,网站一定要严把信息发布关,要建立网络信息发布的审核制度,规范信息审核流程,实行专人负责。网站开办的BBS论坛、博客、播客等交互栏目,必须实行“实名注册”并落实专人管理,严格执行先审后贴制度。
2、网络舆情引导
网络舆情引导就是对监测到的网络舆情动向,通过网络信息评论员进行网络舆论导向,发挥“舆论领袖”的积极作用,对日常舆情进行引导。一方面可以开展即时性评论,及时跟帖批驳反面声音;另一方面可以通过发帖、跟帖发表引导性评论,发布正面观点。根据传播学规律,“舆论领袖”在影响受众的态度方面作用明显,尤其当网络出现海量信息时,网民往往会无所适从
乐思舆情:在正面引导的同时,各版主还要严格审核有关信息,对恶意信息立即删除,对情绪偏激的帖子作缓冲处理。在把关中,切忌简单粗暴地删帖,要注重运用动之以情、晓之以理的引导艺术,使网民产生理性和情感上的认同与共鸣,从而形成网上正面言论强势。
自然语言处理(NLP)在旅游领域具有广泛的应用,其中之一是情感分析。情感分析是指通过计算机程序来识别文本中的情感倾向,分析人们对旅游目的地、酒店、餐厅、交通工具等的评价。这种技术可以帮助旅游公司、酒店、餐厅等机构了解消费者的需求和喜好,改善服务质量和提高客户满意度。
一个典型的旅游情感分析应用是在线评论分析。在线评论是消费者对旅游目的地、酒店、餐厅等的反馈,通过使用 NLP 技术,旅游公司和酒店等机构可以分析这些评论,了解消费者对服务质量、位置、价格、餐饮等的看法。这些信息可以帮助他们改善服务质量、提高客户满意度。
另一个应用是社交媒体情感分析。社交媒体是消费者展示旅游经历的主要渠道,通过使用 NLP 技术,旅游公司和酒店等机构可以分析消费者在社交媒体上发布的文本、和视频,了解消费者对旅游目的地、酒店、餐厅等的感受。这些信息可以帮助他们改善服务质量、提高客户满意度、扩大品牌知名度。
此外,NLP还可以用于预测未来趋势,通过分析历史数据来预测旅游需求、价格趋势等,进而帮助旅游公司和酒店等机构调量、提高客户满意度。
NLP技术还可以用于语音识别和语音合成,在旅游领域中应用于语音导航、语音查询等场景。例如,旅游公司可以开发一款语音导航应用,让游客在旅游中使用语音命令来获取信息和导航。
总之,NLP在旅游领域有着广泛的应用,它可以帮助旅游公司、酒店、餐厅等机构了解消费者的需求和喜好,改善服务质量和提高客户满意度。通过使用NLP技术,旅游行业可以更好地了解客户,并提供更好的服务和体验。
本文可以学习到以下内容:
数据及源码地址: https://giteecom/myrensheng/data_analysis
小凡,用户对耳机商品的评论信息,你有没有什么好的办法分析一下?经理来向小凡请教问题。
嗯,小凡想了一会儿
我想到了两种分析方法:
经理听完,甚是欣慰,便让小凡着手分析用户的评论数据。
数据解释:
小凡使用百度飞浆(paddlepaddle)模型库中的情感分析模型,将评论数据(content)转化为情感类别积极1,消极0
一、window10+anaconda3的安装命令:
二、安装预训练模型应用工具 PaddleHub
可以看到,大约 60% 的用户给出好评
用户的评论内容多集中在配置、音质等主题上
这里使用百度飞浆的LAC分词模型
分析结束后,小凡总结出以下结论:
小凡将结论汇报给经理,和经理一起想出一个可行的方案解决目前存在的问题。
文档分析问题分类有文本分类、实体识别、模式挖掘问题。
1、文本分类问题:文本分类是将文本内容划分到预定义的若干个类别中的过程。这种分类问题是基于文本本身的特征构建模型,例如基于词频、n-gram、主题模型等技术。
2、实体识别问题:实体识别是指从文本中寻找并标注出人名、地名、组织机构等实体,实体识别属于信息抽取的一部分。
3、模式挖掘问题:模式挖掘是从数据中寻找有用的模式或规律,以支持知识发现和预测性分析的过程。在文本分析中,模式挖掘也可以应用于发现文本特征、主题词、情感极性等。
在实际应用中,不同的分类问题往往会交叉应用。例如,在情感分析中,需要进行文本分类来确定情感类型,同时也需要进行实体识别来提取情感对象的名称。
欢迎分享,转载请注明来源:浪漫分享网
评论列表(0条)