对python借助百度云API对评论进行观点抽取的方法详解

yipeiwu_com6年前Python基础

通过百度云API接口抽取得到产品评论的观点,也掠去了很多评论中无用的内容以及符号,为后续进行文本主题挖掘或者规则的提取提供基础。

工具

1、百度云账号,申请应用接口(自然语言处理)

2、python3.5

以下是百度接口提供的说明:

python借助百度云API对评论进行观点抽取

python借助百度云API对评论进行观点抽取

我们使用到的可选值是13,kindle属于3C产品。

python借助百度云API对评论进行观点抽取

下面是代码示例:

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对评论进行观点抽取

可以看到,现在抽取出来的评论部分内容都是具有一定观点倾向的,大部分没有什么含义的评论内容已经被除去,这对后面的分析有一定的帮助。

以上这篇对python借助百度云API对评论进行观点抽取的方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

shell命令行,一键创建 python 模板文件脚本方法

写 python 文件时,每个文件开头都必须注明版本和编码。每次我 touch 文件之后粘贴这两句话让我不胜其烦。 由于我没有安装 python 的 IDE 工具,也没有为 vim 安装...

Python中 传递值 和 传递引用 的区别解析

Python中 传递值 和 传递引用 的区别解析

对于不可变类型传递值(不会影响原数据)   不可变类型 对于可变类型传递引用(会影响原数据)   不可变类型传递引用 python3不可变类型 Number(数...

python操作mysql中文显示乱码的解决方法

本文实例展示了一个脚本python用来转化表配置数据xml并生成相应的解析代码。 但是在中文编码上出现了乱码,现将解决方法分享出来供大家参考。 具体方法如下: 1. Python文件设置...

Django工程的分层结构详解

Django工程的分层结构详解

前言 传统上我们都知道在Django中的MTV模式,具体内容含义我们再来回顾一下: M:是Model的简称,它的目标就是通过定义模型来处理和数据库进行交互,有了这一层或者这种类型的对象...

Python解决线性代数问题之矩阵的初等变换方法

定义一个矩阵初等行变换的类 class rowTransformation(): array = ([[],[]]) def __init__(self,array):...