中文文本情感分析

  目前就中文情感分析方面,我感觉我们国内的一些企业搞的免费的接口不太好,比如说百度的API,我使用了一些感觉非常差劲效果,虽然可以免费很多次,但是最终得出的结果不敬人意,很多都是中立的语句,对我们调查分析产生了很大的误导。

 现在我发现了用TextBlob来对我们爬取的评论和回答进行进行情感分析。

TextBlob是一个用于处理文本数据的Python库,它将NLTKPattern两者很好地配合。它提供了一个一致的 API,用于深入研究常见的自然语言处理 (NLP) 任务,例如词性标记、名词短语提取、情绪分析等。

但是这个是一个对英文文本情感分析。

所以我需要对中文文本进行翻译,目前翻译的软件我觉得有道词典的效果就很不错。所以我先用有道词典的API翻译,再使用TextBlob进行情感分析。

代码部分如下:

# -*- coding: utf-8 -*-
"""
Created on Mon Mar  6 23:25:34 2023

@author: TXS
"""
import pandas as  pd
from textblob import TextBlob
from translate import Translator
import time

import json
import requests

# 翻译函数,word 需要翻译的内容
def translate(word):
    # 有道词典 api
    url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=null'
    # 传输的参数,其中 i 为需要翻译的内容
    key = {
        'type': "AUTO",
        'i': word,
        "doctype": "json",
        "version": "2.1",
        "keyfrom": "fanyi.web",
        "ue": "UTF-8",
        "action": "FY_BY_CLICKBUTTON",
        "typoResult": "true"
    }
    # key 这个字典为发送给有道词典服务器的内容
    response = requests.post(url, data=key)
    # 判断服务器是否相应成功
    if response.status_code == 200:
        # 然后相应的结果
        return response.text
    else:
        print("有道词典调用失败")
        # 相应失败就返回空
        return None




data1 = pd.read_excel('557665216--海天酱油为啥突然翻车了.xlsx')
data2 = pd.read_excel('557679215--海天声明称「用食品添加剂误导消费者认为中国食品比外国食品差是不明真相别有用心」哪些信息值得关注.xlsx')
data3 = pd.read_excel('557861088--如何看待媒体谈海天酱油事件消费者对食品添加剂的使用有哪些误解.xlsx')
data4 = pd.read_excel('558022684--你还会买海天酱油吗.xlsx')
data5 = pd.read_excel('558176809--行业人士称海天事件将让中国酱油行业提前年进入零添加剂时代你认可吗追求零添加有无意义.xlsx')


negative_prob=[]
positive_prob=[]

for i in data5['回答内容']:
    
    list_trans = translate(i)
    result = json.loads(list_trans)
    t = result['translateResult'][0][0]['tgt']
    blob = TextBlob(t)
    sentiment = blob.sentiment.polarity
    time.sleep(0.5) 
    negative_prob.append(sentiment)



#    print(na)
 #   print(po)

    na_data = pd.DataFrame(negative_prob)


    data5['消极']=na_data

    data5.to_csv('data5.csv',encoding="utf_8_sig")

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值