当前位置:   article > 正文

Python人工智能(自学)应用一.自然语言处理(4)_python安装aipnlp

python安装aipnlp

API实现情感分析

目录

API实现情感分析

一.引入

二.步骤

(1)安装百度的Python SDK

(2)注册百度账号

(3)创建自然语言处理应用

(4)创建NLP客户端

(5)调用“情感倾向分析” 接口

(6)处理结果


一.引入

之前我们搭建了一个人工智能系统来判断评价的正负面性。
这也让我们意识到搭建并训练模型是很不容易的,每一个步骤都需要谨慎地反复调试才能研发成功。好在我们可以站在前人的肩膀上,借助 SDK(软件开发工具包),来实现一些人工智能应用。

SDK,即Software Development Kit,中文意思为软件开发工具包。
可以这么理解,辅助开发某一类软件或新功能的相关文档、代码范例和工具的集合都可以叫做SDK。

举个例子:

手机每天都会收到许多来自APP或系统的新闻推送、促销活动广告等等,它们大多都属于法规条文里规定的“第三方应用或服务”。
正是这些集成在APP里的第三方工具包,能够协助APP更加高效率、低成本地实现注入支付、广告等一系列功能。
SDK就是这个例子里说到的第三方应用或服务。

SDK的出现就是为了减少程序员的工作量。
但它作为一个全封闭的程序包,要与我们的程序进行联通,只能通过一个小小接口,也就是API。

API,即Application Programming Interface,中文意思为应用程序编程接口。
其实就是别人已经写好的、可以实现特定功能的函数。
我们无需访问源码,或理解其内部工作机制的细节。 

当我们想实现某个功能,但又不想耗费大量时间亲自研发,就可以选择SDK。
我们不需要知道SDK内部究竟是如何工作的,只需要清楚如何有效地调用对应的API接口,来实现不同的功能 

了解什么是SDK后,我们就可以寻找一个针对于Python开发者的SDK,来高效完成自然语言处理中的情感分析任务。
经过一番考虑,我们最终选择了百度AI开放平台

二.步骤

(1)安装百度的Python SDK

和使用第三方模块一样,在调用百度AI平台所提供的接口前,我们需要在终端里安装百度的Python SDK。只需在终端中通过代码 pip install baidu-aip 进行安装即可。
aip可以理解为AI Program,也就是人工智能程序,那么baidu-aip即是百度AI程序。

(2)注册百度账号

调用百度SDK,除开需要在终端里进行安装外,还得有一个百度账号。
一般百度账号都是通用的,如果没有可以在平台控制台里点击【立即注册】,根据提示填写相关信息完成注册。

(3)创建自然语言处理应用

平台控制台页面点击左上角的蓝色菜单按钮,我们可以在【产品服务】里找到【自然语言处理】板块,它提供了自然语言处理所需的各种接口。

 进入【自然语言处理】页面以后,点击【应用列表】,我们需要通过【创建应用】功能,创建一个私人使用的自然语言处理应用。

在【创建应用】页面,输入应用名称和应用描述,其他默认即可:
1. 为你的应用设定名称;
2. 对应用进行简短的描述;
3. 填写完毕后,选择【立即创建】完成操作。
 

 创建成功后:
通过【查看应用详情】可以看到AppID、API Key和Secret Key。
通过【查看文档】可以获得该接口的官方使用说明文档。

(4)创建NLP客户端

什么是自然语言处理客户端?

在调用相关接口前,我们需要创建一个自然语言处理的Python SDK客户端,也就是AipNlp
它为使用自然语言处理的开发人员提供了一系列的交互方法。
这些方法包括但不限于评论观点抽取、情感倾向分析等功能,只要安装了baidu-aip,即可使用。

 

  1. # 从aip中导入AipNlp
  2. from aip import AipNlp
  3. """ 你的 APPID AK SK """
  4. APP_ID = "248002"
  5. API_KEY = "K9fmfNl0qFs4n7ME"
  6. SECRET_KEY = "iBlCDWhsOoeDUAhTqe"
  7. # 将密钥信息传递给AipNlp生成客户端,并将结果存储在client中
  8. client = AipNlp(APP_ID, API_KEY, SECRET_KEY)
  9. # 输出client进行查看
  10. print(client)

创建好NLP客户端后,就可以通过 AipNlp 来调用各类自然语言处理的接口方法,实现相应的功能。
图中展示了官方文档里记录的一些接口方法,这里我们不做讨论

(5)调用“情感倾向分析” 接口

为什么选择「情感倾向分析」接口?

「情感倾向分析(sentimentClassify)」接口会判断文本信息的情感极性类别(积极、消极、中性),并给出对应的可信度。
请求sentimentClassify接口只需一个参数:text,字符串格式的文本内容。

下面是一个简单的示例:
对一条电视机评价"电视的音质很差,声音很小"调用sentimentClassify接口。
会返回一个字典,其中主要记录了【调用接口信息】与【情感分析结果】。

我们关注的主要是【情感分析结果】,也就是该评价:
属于积极类别的概率(positive_prob),约0.02%
分类结果的可信度(confidence),约99.95%
属于消极类别的概率(negative_prob),约99.98%
情感分类的结果(sentiment),0表示负向,1表示中性,2表示正向 

  1. # 将评论存储在变量text中
  2. text = "电视的音质很差,声音很小"
  3. # 调用情感倾向分析sentimentClassify接口
  4. result = client.sentimentClassify(text)
  5. # 输出结果
  6. print(result)

(6)处理结果

我们先来看一下输出的结果究竟是怎样的一个结构。
result这个字典一共有三个键,分别是:log_id、text和items。
log_id的值是在请求接口时返回的标识码。
text是我们输入的评价内容。
items存储的是情感分析结果,是我们最感兴趣的部分。 

要访问我们最感兴趣的情感分析结果,可以先通过result["items"]来访问items这个键所对应的值。
返回的是一个列表,该列表中仅有一个元素,是一个字典。 

我们继续通过列表的索引,也就是[0],就能访问到存储了情感分析结果的字典。

  1. # 将result["items"][0]存储在变量ret中
  2. ret = result["items"][0]
  3. # 输出ret
  4. print(ret)


为了方便调用,我们将result["items"][0]存储在了变量ret里,并输出进行查看。

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/534740
推荐阅读
相关标签
  

闽ICP备14008679号