python⽤社交⽹络分析_⽤Python构建可扩展的社交媒体情感
分析服务
python⽤社交⽹络分析
本系列的提供了情绪分析⼯作原理的⼀些背景知识。 现在让我们研究如何将这些功能添加到设计中。
在Python中探索spaCy和vaderSentiment
先决条件
终端壳
Shell中的Python语⾔⼆进制⽂件(版本3.4+)
⽤于安装Python软件包的pip命令
(可选) 使您的⼯作与系统隔离
配置环境
在开始编写代码之前,您需要通过安装和软件包并下载语⾔模型来协助您的分析来设置Python环境。 值得庆幸的是,⼤多数这些操作相对容易从命令⾏完成。
在您的外壳中,键⼊以下命令以安装spaCy和vaderSentiment软件包:
pip install spacy vaderSentiment
命令完成后,安装spaCy可⽤于⽂本分析的语⾔模型。 以下命令将使⽤spaCy模块下载并安装英语语⾔ :
python -m spacy download en_core_web_sm
安装了这些库和模型之后,您就可以开始编码了。
做⼀个简单的⽂本分析
使⽤来编写⼀些将分析单个⽂本⽚段的代码。 ⾸先启动Python环境:
$ python
Python 3.6.8
( default
, Jan
31
2019
,
09 :
38 :
34
)
[ GCC 8.2.1
20181215
( Red Hat 8.2.1-
6
)
] on linux
Type
curl是什么命令"help"
,
"copyright"
,
"credits"
or
"license"
for more information.
>>>
(您的Python解释器版本打印可能与此不同。)1. 导⼊必要的模块:
>>>
import spacy
>>>
from vaderSentiment
import vaderSentiment
2. 从spaCy加载英语模型:
>>> english = spacy. load ( "en_core_web_sm" )
3. 处理⼀段⽂本。 这个例⼦显⽰了⼀个⾮常简单的句⼦,我们希望它会返回⼀个稍微积极的情绪:
>>> result = english ( "I like to eat applesauce with sugar and cinnamon." )
4. 从处理结果中收集句⼦。 SpaCy已经识别并处理了短语中的实体; 此步骤将为每个句⼦⽣成情感(即使在此⽰例中只有⼀个句
⼦):
>>> sentences = [ str ( s ) for s in result. sents ]
5. 使⽤vaderSentiments创建分析器:
>>> analyzer = vaderSentiment. SentimentIntensityAnalyzer ( )
6. 对句⼦进⾏情感分析:
>>> sentiment = [ analyzer. polarity_scores ( str ( s ) ) for s in sentences ]
现在,情感变量包含⽰例句⼦的极性得分。 打印出该值以查看其如何分析该句⼦。
>>>
print
( sentiment
)
[
{
'neg' :
0.0
,
'neu' :
0.737
,
'pos' :
0.263
,
'compound' :
0.3612
}
]
从表⾯上看,这是⼀个具有单个字典对象的数组。 如果有多个句⼦,那么每个句⼦都会有⼀个字典。 词典中有四个与不同类型的情感相对应的键。 neg键代表负⾯情绪,在此⽂本中没有报告,如0.0值所⽰。 neu键代表中性的情感,该评分获得了相当⾼的0.737分 (最⾼为1.0分 )。 pos键代表积极情绪,平均得分为0.263 。 最后, 复合键代表⽂本的总分。 得分范围从负到正,范围0.3612代表了积极⽅⾯。
要查看这些值如何变化,您可以使⽤已经输⼊的代码运⾏⼀个⼩型实验。 下⾯的块演⽰了对相似句⼦的情感分数的评估。
>>> result
= english
(
"I love applesauce!"
)
>>> sentences
=
[
str
( s
)
for s
in result.
sents
]
>>> sentiment
=
[ analyzer.
polarity_scores
(
str
( s
)
)
for s
in sentences
]
>>>
print
( sentiment
)
[
{
'neg' :
0.0
,
'neu' :
0.182
,
'pos' :
0.818
,
'compound' :
0.6696
}
]
您可以看到,通过将⽰例句⼦更改为压倒性的肯定,情感价值发⽣了巨⼤变化。
建⽴情感分析服务
现在,您已经组装了进⾏情感分析的基本构件,现在让我们将这些知识转换为简单的服务。
对于此演⽰,您将使⽤Python 创建⼀个 HTTP服务器。 该服务将接受英语⽂本数据并返回情感分析。 请注意,此⽰例服务仅⽤于学习所涉及的技术,⽽不是投⼊⽣产。
先决条件
终端壳
您的Shell中的Python语⾔⼆进制⽂件(版本3.4+)。
⽤于安装Python软件包的pip命令
curl命令
⽂字编辑器
(可选) 使您的⼯作与系统隔离
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论