首页 情感透析文章正文

如何做中文文本的情感分析?

情感透析 2025年09月12日 21:13 1 aaron

  本次给大家分享两种实现中文文本情感分析的方式,之一种是借助百度AI平台的文本情感分析,第二种是使用snownlp的文本情感分析。

  使用百度AI平台的文本情感分析主要分为两个步骤,之一步是创建一个账号,第二步是根据SDK调用平台提供的API函数进行情感分析。

  跳转到登陆界面,输入账号密码后,跳转到管理界面,此时我们点击自然语言处理。进入到自然语言处理应用界面。

  创建好后,进入到应用列表中,记下来AppID、API Key、Secret Key这三个参数的值。在后面对API进行调用的时候需要用到这三个参数。

  有关百度AI平台的自然语言处理的SDK(Software Development Kit)文档见如下网址:

  这份SDK文档,包括了词法分析、词向量表示、词义相似度、短文本相似度、评论观点抽取、情感倾向分析、文章标签、文章分类、文本纠错、中文分词、词性标注、新闻摘要、地址识别等常用NLP功能。有关这些功能的使用,我们后面再来写图文进行详细介绍,下面只介绍情感分析功能。

  安装好后,我们就可以调用API函数来对包含主观观点信息的文本进行情感极性类别(积极、消极、中性)的判断了,代码如下:

  sentimentClassify(text)函数:用于对文本的情感分析,参数text是进行分析的文本内容(GBK编码),更大2048字节。

  u实际上,他们能当上中医,还得西医给他们体检合格了才能入职。中医理论不能指导中医入职体检,\

  u中医术语不能用于中医入职体检报告,甚至中医死了,他的死亡证明也和中医理论与术语没什么关系。\

  #[{positive_prob:1.76205e-05,confidence:0.999961,negative_prob:0.999982,sentiment:0}]

  Python有一个第三方库snownlp,它是专门用来处理中文文本内容的库,有中文分词(s.words)、词性标注(s.tags)、情感分析(s.sentiments)、提取关键词(s.keywords())等功能。

  安装好后,我们就可以调用函数来对包含主观观点信息的文本进行情感分析了,它会计算出文本语义接近积极的概率,越接近0情感表现越消极,越接近1情感表现越积极。代码如下:

  u实际上,他们能当上中医,还得西医给他们体检合格了才能入职。中医理论不能指导中医入职体检,\

  u中医术语不能用于中医入职体检报告,甚至中医死了,他的死亡证明也和中医理论与术语没什么关系。\

  我们看到snownlp的情感分析结果与百度AI的情感分析结果相反。所以,在实际的项目中,需要根据实际的数据重新训练情感分析的模型。

  C:\ProgramData\Anaconda3\Lib\site-packages\snownlp

  sentiments目录下有5个文件,其中__init__.py是程序,neg.txt和pos.txt分别是消极和积极语料库(也就是用来训练的数据集)sentiment.marshal.3和sentiment.marshal是训练保存的模型。(python2保存的是sentiment.marshal;python3保存的是sentiment.marshal.3)。

  data_path=os.path.join(os.path.dirname(os.path.abspath(__file__)),

  ret,prob=self.classifier.classify(self.handle(sent))#调用贝叶斯中的classify ***

  neg_docs=codecs.open(neg_file,r,utf-8).readlines()

  pos_docs=codecs.open(pos_file,r,utf-8).readlines()

  从上述的代码中,classify函数和train函数是两个核心的函数,其中,train函数用于训练一个情感分类器,classify函数用于预测。在这两个函数中,都同时使用到的handle函数,handle函数的主要工作为:对输入文本分词和去停用词。

  了解snownlp的语料库以及训练的代码之后,就可以用自己的语料库进行训练了。训练的过程大致分为如下的几个步骤:

  训练完成后,可以把sentiment.marshal复制到sentiments目录下替换原来的或者改变读取模型的路径。

  #data_path=os.path.join(os.path.dirname(os.path.abspath(__file__)),

  本文介绍了两种对文本进行情感分析的方式,大家可以根据自身喜好来进行选择。百度AI的自然语言处理和snownlp库,不止这一种功能,后面我会写一系列图文来介绍它们的使用 *** 。

标签: 百度情感分析

发表评论

智杖百科 备案号:皖ICP备2023023635号 智杖百科 xml | txt