找出最负面的消费者评价

介绍

我们随机在天猫上抽取100条关于某化妆品的评论作为分析数据,利用情感分析引擎来分析这100条数据,并且根据负面概率从大到小排序。 负面概率结果为 0 到 1 之间的数值,通常负面概率大于 0.6 以上时,我们可以认定这条数据为负面。对于 0.4-0.6 之间的数据为模糊地带,由用户对这个区间的结果做判断,取一个相对的值,大于这个值的数据为负面。

Python 调用示例

请先下载测试数据:

text_sentiment.txt

# -*- coding: utf-8 -*-
from __future__ import print_function, unicode_literals
import json
import requests


HEADERS = {'X-Token': 'YOUR_API_TOKEN'}
SENTIMENT_URL = 'http://api.bosonnlp.com/sentiment/analysis'


def main():
    print('读入数据...')
    with open('text_sentiment.txt', 'rb') as f:
        docs = [line.decode('utf-8') for line in f if line]
    print('正在上传数据...')
    for i in xrange(0, len(docs), 100):
        data = docs[i:i + 100]
        all_proba = requests.post(SENTIMENT_URL, headers=HEADERS,
                                  data=json.dumps(data).encode('utf-8')).json()
        text_with_proba = zip(data, all_proba)
        sort_text = sorted(text_with_proba, key=lambda x: x[1][1], reverse=True)
        for text, sentiment in sort_text:
            print(sentiment, text)


if __name__ == '__main__':
    main()

查看完整的情感分析结果样例:sentiment_result.txt