百度AI攻略:情感傾向分析

調用攻略(Python3)python

首先認證受權:json

在開始調用任何API以前須要先進行認證受權,具體的說明請參考:app

http://ai.baidu.com/docs#/Auth/topide

獲取Access Token測試

向受權服務地址https://aip.baidubce.com/oauth/2.0/token發送請求(推薦使用POST),並在URL中帶上如下參數:大數據

grant_type:?必須參數,固定爲client_credentials;優化

client_id:?必須參數,應用的API Key;ui

client_secret:?必須參數,應用的Secret Key;人工智能

例如:url

https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=Va5yQRHlA4Fq5eR3LT0vuXV4&client_secret=0rDSjzQ20XUj5itV6WRtznPQSzr5pVw2&

具體Python3代碼以下:

# -*- coding: utf-8 -*-

#!/usr/bin/env python

import urllib

import json

#client_id 爲官網獲取的AK, client_secret 爲官網獲取的SK

client_id =【百度雲應用的AK】

client_secret =【百度雲應用的SK】

#獲取token

def get_token():

    host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + client_id + '&client_secret=' + client_secret

    request = urllib.request.Request(host)

    request.add_header('Content-Type', 'application/json; charset=UTF-8')

    response = urllib.request.urlopen(request)

    token_content = response.read()

    if token_content:

        token_info = json.loads(token_content)

        token_key = token_info['access_token']

    return token_key

情感傾向分析接口調用:

詳細說明請參考:http://ai.baidu.com/docs#/NLP-API/57b9b630

接口描述

情感傾向分析接口(通用版):自動對包含主觀信息的文本進行情感傾向性判斷(積極、消極、中性),並給出相應的置信度。爲口碑分析、話題監控、輿情分析等應用提供基礎技術支持,同時支持用戶自行定製模型效果調優。

請求說明

HTTP方法: POST

請求URL: https://aip.baidubce.com/rpc/2.0/nlp/v1/sentiment_classify

URL參數:

參數 值

access_token 經過API Key和Secret Key獲取的access_token,參考「Access Token獲取」

Header以下:

參數 值

Content-Type application/json

Body請求示例:

{

"text": "蘋果是一家偉大的公司"

}

請求參數

參數 類型 描述 是否必填

text string 文本內容,最大2048字節

返回說明

參數 說明 描述

log_id uint64 請求惟一標識碼

sentiment int 表示情感極性分類結果,0:負向,1:中性,2:正向

confidence float 表示分類的置信度,取值範圍[0,1]

positive_prob float 表示屬於積極類別的機率 ,取值範圍[0,1]

negative_prob float 表示屬於消極類別的機率,取值範圍[0,1]

Python3調用代碼以下:

#調用情感分類接口       

def get_classify(content):

    print (content)

    token=get_token()

    url = 'https://aip.baidubce.com/rpc/2.0/nlp/v1/sentiment_classify'

    params = dict()

    params['text'] = content

    params = json.dumps(params).encode('utf-8')

    access_token = token

    url = url + "?access_token=" + access_token

    request = urllib.request.Request(url=url, data=params)

    request.add_header('Content-Type', 'application/json')

    response = urllib.request.urlopen(request)

    content = response.read()

    if content:

        content=content.decode('gb2312')

        #print (content)

        data = json.loads(content)

        data=data['items'][0]

        sentiment=data['sentiment']

        if sentiment==0:

            sentiment='負向'

        elif sentiment==1:

            sentiment='中性'

        else:

            sentiment='正向'

 

        print ('情感分類結果:',sentiment)

        print ('分類的置信度:',data['confidence'])

        print ('積極類別機率:',data['positive_prob'])

        print ('消極類別機率:',data['negative_prob'])

功能評測:

選用不一樣的數據對情感分類的準確性進行測試,具體的案例包括生活用語,文章,古詩等。具體案例以下:

test_list = [

            '今天真開心啊。',

            '最近事情太多了,好煩啊。',

            '會當凌絕頂,一覽衆山小。',

            '枯藤老樹昏鴉,小橋流水人家,古道西風瘦馬。夕陽西下,斷腸人在天涯。',

            '隨着大數據應用者的規模愈來愈大,人工智能愈來愈成爲一種主流',

            '讓咱們團結一心。',

            '你早上來晚了,他有點不高興。',

            '項目立刻就要成功了!',

            '你怎麼不早點來啊!',

            '祝你生日快樂!']

 

import datetime

print (datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))

for text in test_list:

    get_classify(text)

print (datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))

結果:

2019-04-17 10:27:04

今天真開心啊。

情感分類結果: 正向

分類的置信度: 0.150197

積極類別機率: 0.617589

消極類別機率: 0.382411

最近事情太多了,好煩啊。

情感分類結果: 中性

分類的置信度: 0.738756

積極類別機率: 0.513062

消極類別機率: 0.486938

會當凌絕頂,一覽衆山小。

情感分類結果: 正向

分類的置信度: 0.0787282

積極類別機率: 0.585428

消極類別機率: 0.414572

枯藤老樹昏鴉,小橋流水人家,古道西風瘦馬。夕陽西下,斷腸人在天涯。

情感分類結果: 正向

分類的置信度: 0.281931

積極類別機率: 0.676869

消極類別機率: 0.323131

隨着大數據應用者的規模愈來愈大,人工智能愈來愈成爲一種主流

情感分類結果: 正向

分類的置信度: 0.326132

積極類別機率: 0.696759

消極類別機率: 0.303241

讓咱們團結一心。

情感分類結果: 正向

分類的置信度: 0.0150585

積極類別機率: 0.556776

消極類別機率: 0.443224

你早上來晚了,他有點不高興。

情感分類結果: 負向

分類的置信度: 0.286418

積極類別機率: 0.321112

消極類別機率: 0.678888

項目立刻就要成功了!

情感分類結果: 正向

分類的置信度: 0.331586

積極類別機率: 0.699214

消極類別機率: 0.300786

你怎麼不早點來啊!

情感分類結果: 負向

分類的置信度: 0.638268

積極類別機率: 0.16278

消極類別機率: 0.83722

祝你生日快樂!

情感分類結果: 正向

分類的置信度: 0.0883195

積極類別機率: 0.589744

消極類別機率: 0.410256

2019-04-17 10:27:11

發如今10個測試案例中,有2個結果待商榷,分別是:

最近事情太多了,好煩啊。

情感分類結果: 中性

枯藤老樹昏鴉,小橋流水人家,古道西風瘦馬。夕陽西下,斷腸人在天涯。

情感分類結果: 正向

其餘的都比較準確,準確率爲80%左右。10個調用,用時7秒,每次調用0.7秒左右,速度較快。

應用前景:

文本糾錯有很廣闊的應用前景,包括:

評論分析與決策,經過對產品多維度評論觀點進行傾向性分析,給用戶提供該產品全方位的評價,方便用戶進行決策

評論分類,經過對評論進行情感傾向性分析,將不一樣用戶對同一事件或對象的評論內容按情感極性予以分類展現

輿情監控,經過對須要輿情監控的實時文字數據流進行情感傾向性分析,把握用戶對熱點信息的情感傾向性變化

產品建議:

建議針對口語化場景,古詩等內容進行優化。

相關文章
相關標籤/搜索