通过百度云api接口抽取得到产品评论的观点,也掠去了很多评论中无用的内容以及符号,为后续进行文本主题挖掘或者规则的提取提供基础。
工具
1、百度云账号,申请应用接口(自然语言处理)
2、python3.5
以下是百度接口提供的说明:
我们使用到的可选值是13,kindle属于3c产品。
下面是代码示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
from aip import aipnlp
import csv
import pandas as pd
from pandas.core.frame import dataframe
""" 你的 appid ak sk """
app_id = '********'
api_key = '********'
secret_key = '********'
client = aipnlp(app_id, api_key, secret_key)
# 导入评论数据文件,并找到第13列(12行)的评论内容提取出来
def output():
urls = []
with open ( 'e:\\tb_iphone8.csv' , "r" ) as f:
reader = csv.reader(f)
for row in reader:
urls.append(row[ 12 ])
return urls
# 通过百度云提供的api对评论观点进行提取
def commenttag():
x = output()
all = {}
abst = ''
for i in range ( 10560 ):
text = x[i]
""" 调用评论观点抽取 """
""" 如果有可选参数 """
# 可选参数为13表示利用了3c产品的语料库
options = {}
options[ "type" ] = 13
""" 带参数调用评论观点抽取 """
result = client.commenttag(text, options)
print (result)
if "error_code" in result.keys():
abst + = ''
all [ 'abstract' ] = abst
else :
data = result[ 'items' ]
items = data[ 0 ]
abst + = items[ 'abstract' ]
all [ 'abstract' ] = abst
return abst
if __name__ = = '__main__' :
all = commenttag()
print ( all )
|
得到的结果如下:
可以看到,现在抽取出来的评论部分内容都是具有一定观点倾向的,大部分没有什么含义的评论内容已经被除去,这对后面的分析有一定的帮助。
以上这篇对python借助百度云api对评论进行观点抽取的方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/AnthonyHDM/article/details/78957315