对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设计】。

相关文章

Django实战之用户认证(初始配置)

前两篇讲述了Django的理论,从这篇开始,我们真正进入Django实战部分,今天先从用户认证开始。 当大家平时打开一个网站时,第一步一般做什么?我猜大部分是先登录吧,所以我们就从用户认...

pygame游戏之旅 添加碰撞效果的方法

pygame游戏之旅 添加碰撞效果的方法

本文为大家分享了pygame游戏之旅的第7篇,供大家参考,具体内容如下 对car和障碍的宽高进行比较然后打印即可: if y < thing_starty + thing_he...

利用Python的装饰器解决Bottle框架中用户验证问题

首先来分析下需求,web程序后台需要认证,后台页面包含多个页面,最普通的方法就是为每个url添加认证,但是这样就需要每个每个绑定url的后台函数都需要添加类似或者相同的代码,但是这样做代...

Python之dict(或对象)与json之间的互相转化实例

在Python语言中,json数据与dict字典以及对象之间的转化,是必不可少的操作。 在Python中自带json库。通过import json导入。 在json模块有2个方法, lo...

python 全局变量的import机制介绍

python 全局变量的import机制介绍

先把有问题的代码晒一下: IServer.py from abc import ABCMeta, abstractmethod print __name__ class ISer...