python 利用百度API进行淘宝评论关键词提取

作者:Yuki-lsq 时间:2021-11-14 19:32:36 

目录
  • 1、创建相关新应用

  • 2、获取Access Token

  • 3、分析评论并进行观点抽取

  • 4、运行结果

利用百度API自然语言处理技术中的评论观点抽取方面,对淘宝购物的评论进行分析,把关键词进行提取,方便买家快速了解该商品的相关特点,具体实现过程如下:

1、创建相关新应用

首先,需要登录百度AI平台,创建一个关于自然语言处理技术的应用(领取免费额度),获得AppID、API Key和Secret Key如下:

python 利用百度API进行淘宝评论关键词提取

然后下载Python的SDK,然后可以通过阅读API的使用手册和自然语言处理技术的观点抽取相关案例:

python 利用百度API进行淘宝评论关键词提取

2、获取Access Token

使用百度API时需要先获取Access Token,并且需要用到上一步获取的参数API Key和Secret Key,在百度给出的使用说明中,建议用POST的方式对URL进行请求来获取access_token,同时可以加入Header,该方式支持UTF-8编码,具体实现代码如下:


import json
import time
import requests
from urllib.request import urlopen

#定义获取token函数
def get_token():
 req = Request(Token_url)
 req.add_header('Content-Type', 'application/json; charset=UTF-8')
 try:
   f = urlopen(req,timeout=5)
   result_str = f.read().decode('utf-8')
 except URLError as err:
   print(err)
 result = json.loads(result_str)
 #返回Access Token字符串
 return result['access_token']

3、分析评论并进行观点抽取

在获取Access Token后就可以使用百度API对评论进行分析并抽取关键词。在使用说明中,调用API时需要输入参数text和type,其中text为需要分析的文本,而type分成了13各类别,具体取值说明如下:

python 利用百度API进行淘宝评论关键词提取

因为本文分析的是淘宝购物评论文本数据,所以该参数取值选择了12。其次,返回格式需要指定输入为UTF-8编码,对于调用后返回的参数,本文用到了prop、adj和sentiment三个参数,解释如下:

python 利用百度API进行淘宝评论关键词提取

具体实现代码如下:


def analysis_comment(host,comment):
 #定义分析类别(购物)
 data = json.dumps(
   {
     "text":comment,
     "type":12
   })

request = Request(url=host,data=data.encode('utf-8'))
 request.add_header('Content-Type', 'application/json; charset=UTF-8')
 response = urlopen(request)
 content = response.read().decode('utf-8')
 rdata = json.loads(content)

print("--------------------------------------------------------------")
 print("评论:")
 print("  " + comment)
 print("\n评论关键字:")
 #把积极、中性、消极关键词分类出来并打印
 for item in rdata['items']:
   if item['sentiment'] == 2:
     print(u"  积极的评论关键词:" + item['prop'] + item['adj'])
   if item['sentiment'] == 1:
     print(u"  中性的评论关键词:" + item['prop'] + item['adj'])
   if item['sentiment'] == 0:
     print(u"  消极的评论关键词:" + item['prop'] + item['adj'])

4、运行结果

在对上述函数进行定义后,运行改代码,调用函数:


if __name__ == '__main__':
 #定义访问url(API Key和Secret Key换成自己的)
 Comment_url = "https://aip.baidubce.com/rpc/2.0/nlp/v2/comment_tag"
 Token_url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=your_API_Key&client_secret=your_Secret_Key"

A_t = get_token()
 host = Comment_url + "?charset=UTF-8&access_token="+A_t

comment1 = {"text":"版型不错,颜色很好看,面料非常舒服而且厚度适中"}
 comment2 = {"text":"上身效果一般,做工也一般,会有点起球,没有想象中好"}
 comment3 = {"text":"设计做工一点都不好,袖子特别长,衣服比例设计非常差,性价比不高"}
 comment1 = comment1["text"]
 comment2 = comment2["text"]
 comment3 = comment3["text"]

analysis_comment(host,comment1)
 analysis_comment(host,comment2)
 analysis_comment(host,comment3)

运行结果如下:

python 利用百度API进行淘宝评论关键词提取

然而,从结果中可以看出,在第二句评论中,“一般”这个词应该定义为中性,而该模型将其定义为消极,说明该模型在一定程度上仍存在一些瑕疵,这也是后期需要改进的地方。

来源:https://www.cnblogs.com/Ukiii/p/14580631.html

标签:python,百度api,淘宝,关键词提取
0
投稿

猜你喜欢

  • MySQL的root帐户密码重置方法

    2007-08-24 15:53:00
  • 开发心得--写给想学Javascript朋友的一点经验之谈

    2009-02-25 11:42:00
  • 静态页面实现文章点击数统计的js方法

    2008-01-23 19:17:00
  • 深入解答关于Python的11道基本面试题

    2021-11-13 00:34:51
  • Python中unittest的数据驱动详解

    2021-06-04 18:26:05
  • asp中将有双引号标题入库的方法

    2023-07-09 15:24:56
  • 全网首秀之Pycharm十大实用技巧(推荐)

    2023-08-09 16:11:00
  • 用XML创建可排序、分页的数据显示页面

    2008-04-22 18:25:00
  • golang高并发的深入理解

    2023-06-19 09:12:01
  • Python实现调用另一个路径下py文件中的函数方法总结

    2021-05-24 12:48:03
  • 如何在SQL Server数据库中加密数据

    2008-12-18 14:27:00
  • windows、linux下打包Python3程序详细方法

    2023-09-30 22:06:53
  • 将ASP纪录集输出成n列表格的方法

    2008-03-19 13:27:00
  • python计算程序开始到程序结束的运行时间和程序运行的CPU时间

    2023-08-04 02:11:09
  • python MultipartEncoder传输zip文件实例

    2022-04-20 07:22:57
  • Python数据结构与算法中的栈详解

    2023-09-28 17:16:14
  • 连接无法用于执行此操作。在此上下文中它可能已被关闭或无效

    2011-03-15 23:03:00
  • python 数据类型强制转换的总结

    2021-03-25 03:40:26
  • 《设计网事》前言

    2009-07-15 17:19:00
  • 如何处理包含JavaScript语句时的间隔符?

    2009-11-14 20:39:00
  • asp之家 网络编程 m.aspxhome.com