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

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

1、创建相关新应用

首先,需要登录百度AI平台,创建一个关于自然语言处理技术的应用(领取免费额度),获得AppID、API Key和Secret Key如下:
创建NLP应用
然后下载Python的SDK,然后可以通过阅读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各类别,具体取值说明如下:
type参数类别
因为本文分析的是淘宝购物评论文本数据,所以该参数取值选择了12。其次,返回格式需要指定输入为UTF-8编码,对于调用后返回的参数,本文用到了prop、adj和sentiment三个参数,解释如下:
返回参数含义
具体实现代码如下:

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)

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

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Python 评论关键词提取自然语言算法可以通过以下步骤实现: 1. 数据收集:首先,需要收集评论的数据集。可以通过爬取网站上的商品评论,或者借助开放平台的API获取评论数据。 2. 数据清洗:对收集到的评论数据进行清洗,去除无关信息如标点符号、特殊字符、数字等,并进行分词处理。可以使用Python中的正则表达式库和分词库(例如jieba)来实现。 3. 停用词处理:去除常见的停用词,如“的”、“了”、“是”等。可以使用预先定义好的停用词列表进行去除操作。 4. 构建关键词词频统计模型:根据处理后的评论数据,构建关键词词频统计模型。可以使用Python中的字典或者Counter类实现,统计每个关键词出现的次数。 5. 关键词筛选:根据关键词的词频,筛选出出现频率较高的部分词汇作为关键词。可以根据经验设定一个阈值,选择在该阈值以上的关键词。 6. 关键词解析与可视化:将筛选出的关键词进行解析和整理,并根据需要进行可视化展示。可以使用Python中的数据处理和可视化库(如pandas、matplotlib、wordcloud)来完成。 需要注意的是,关键词提取是一个复杂的自然语言处理任务,结果的准确性和可靠性会受到数据质量、分词效果、停用词处理等多方面因素的影响。为了提高算法的准确性,可以考虑使用更先进的自然语言处理算法,如基于神经网络的词嵌入模型(如Word2Vec、BERT)等。 ### 回答2: Python 评论关键词提取是通过自然语言算法实现的一种技术。自然语言算法是一种研究人类语言的计算机技术,通过在计算机系统中模拟人类语言处理的方式,进行文本分析、语义理解和情感分析等任务。 在评论关键词提取中,Python 可以使用自然语言处理库(如NLTK、spaCy等)来实现该算法。首先,需要通过抓取评论数据,将评论文本保存下来。然后,使用自然语言算法对这些评论进行处理。 关键词提取的目标是从评论中找出最具有代表性的词语。这些词语可以反映出用户对商品的关注点、满意度、特点等。常见的关键词提取方法包括:词频统计、TF-IDF(词频-逆文档频率)、TextRank等。 通过 Python 编程,在评论进行关键词提取可以使用词频统计方法。具体步骤如下: 1. 首先,将评论文本进行分词处理,将文本拆分为一个个词语。 2. 接着,对每个词语进行词频统计,统计出每个词语在评论文本中出现的频率。 3. 根据词频排序,得到出现频率较高的词语,即为关键词。 4. 可以根据实际需求设置过滤词语的条件,如频率阈值、停用词等。 在使用自然语言算法进行关键词提取时,需要注意一些问题。例如,中文语境下的分词问题,可以选择合适的分词工具进行处理;同时,还需考虑到用户评论中的情感信息,可以使用情感分析的方法对评论进行情感判断,以更好地识别用户对商品的态度。 综上所述,Python 评论关键词提取主要依靠自然语言算法,通过分词、词频统计等方法,从评论文本中提取出具有代表性的关键词,从而帮助分析用户对商品的评价和需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值