大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
在进行情感分析时,一个好的情感词典能够让我们的工作事半功倍,较为出名的情感词典有SentiWordNet,General Inquirer等,这篇博客将介绍另外一个出色情感词典,SenticNet。
简介
当谈论SenticNet时,我们正在谈论概念层面的情感分析,即通过语义和语言学来完成极性探测、情感识别等任务,而不是单纯的依靠词共现频率。SenticNet可以看作是以下其中一种:
1)一个概念层次的知识库
2)一个多学科的框架
3)一家私人公司
作为一个知识库,SenticNet提供了一组语义、情感、极性关联的100,000个自然语言概念。特别地,语义指与输入概念在语义上最相关的概念(比如,与输入概念共享最多语义特征的五个概念),情感指四个情感维度(Pleasantness, Attention, Sensitivity, and Aptitude)的情感值和-1到+1之间的情感极性值(其中,-1表示极度负向,+1表示极度正向)。该知识库可作为独立的XML文件免费下载,其最新版本(SenticNet5)也可作为API访问。
作为一个框架,SenticNet包含了一系列将常识推理、心理学、语言学和机器学习相结合的情感分析工具和技术。在这种情况下,SenticNet通常指senti computing,一种多学科范式,它超越了单纯的统计情感分析方法,通过关注自然语言概念的语义表示(semantic-preserving representation)和句子结构。
作为一家公司,SenticNet覆盖了概念层次情感分析的最新发现,以此为大型社交数据分析提供易用的、最先进的工具,从而在不同的领域,语言和形式下实现自动化任务,比如产品定位、趋势发现和社交媒体营销。
下载使用
SenticNet提供了各种类型、任务、语言的词典,都可以从该页面下载。
最新的SenticNet5包含100,000个自然语言概念,可以通过以下三种途径获取。
下载RDF/XML格式或者txt格式到本地
下载的senticnet-5.0包含以下三个重要文件:
senticnet5.py。文件形式如下:
首先定义了一个senticnet字典,关键字key是概念,值value是一个列表,元素依次是四个情感维度值、两个情绪标签、极性标签和极性值以及最相似的五个概念。
senticnet5.rdf.xml。以rdf的格式组织每一个概念,形式如下:
senticnet5.txt。仅仅展示了每个概念的极性和极性强度值,形式如下:
通过API访问
通过API获取指定概念的基本方法是:http://sentic.net/api/LANGUAGE/concept/CONCEPT_NAME,其中LANGUAGE指俩字母格式的目标语言,CONCEPT_NAME可以是单独的单词也可以是通过下划线连接的多个单词。更细粒度的方法可以分别获取语义、情感 、情绪标签和极性:
- http://sentic.net/api/LANGUAGE/concept/CONCEPT_NAME/semantics
- http://sentic.net/api/LANGUAGE/concept/CONCEPT_NAME/sentics
- http://sentic.net/api/LANGUAGE/concept/CONCEPT_NAME/moodtags
- http://sentic.net/api/LANGUAGE/concept/CONCEPT_NAME/polarity
其中polarity由value(正或负)和强度(-1到1之间的浮点数)组成,分别查询如下:
- http://sentic.net/api/LANGUAGE/concept/CONCEPT_NAME/polarity/value
- http://sentic.net/api/LANGUAGE/concept/CONCEPT_NAME/polarity/intensity
作为Python第三方类库调用
可以直接使用pip安装
pip install senticnet
也可以通过源码安装,在github或者Pypi上下载源码,然后采用如下命令安装。
python setup.py install
在windows上安装可能出现LINCENSE文件解码错误,这个时候用一个空的LINCENSE文件替换原文件即可。安装好后使用方法如下:
from senticnet.senticnet import SenticNet
sn = SenticNet() # 可以指定语言参数,不写默认英语
concept_info = sn.concept('love')
polarity_value = sn.polarity_value('love')
polarity_intense = sn.polarity_intense('love')
moodtags = sn.moodtags('love')
semantics = sn.semantics('love')
sentics = sn.sentics('love')
参考文献
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/172436.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...