【NLP教學】用python呼叫百度AI開放平臺進行情感傾向分析

2023-04-25 21:00:54

一、背景

Hi,大家!我是 @馬哥python說 ,一名10年程式猿。

今天我來演示一下:通過百度AI開放平臺,利用python呼叫百度介面進行中文情感傾向分析,並得出情感極性分為積極、消極還是中性以及置信度結果。

二、操作步驟

首先,開啟百度AI首頁:百度AI開放平臺-全球領先的人工智慧服務平臺

在頂部選單,依次選擇:開放能力->語言與知識->語言理解->情感傾向分析,如圖所示:

在服務列表中,選擇"情感傾向分析",點選開通(我的已經開通了):

通過檢視技術檔案(https://ai.baidu.com/ai-doc/NLP/zk6z52hds)得知,請求服務需要用access_token,而想到得到access_token,又得需要API Key和Secret Key,想到得到Key就得建立應用,因此,梳理思路如下:

建立應用,得到API Key和Secret Key
利用Key,得到access_token
有了access_token,向情感分析介面傳送請求,得到返回結果

2.1 建立應用

開啟應用列表(百度智慧雲-登入),點選建立應用:

選擇"自然語言處理",點選建立:

建立成功之後,會得到 AppID、API Key、Secret Key三個關鍵資訊:

2.2 獲取token

開啟鑑權認證頁面,我們直接用python程式碼獲取token:

client_id代入API Key,client_secret代入Secret Key,程式碼執行結果:

返回結果中的access_token就是了。

2.3 情感傾向分析

獲取到token之後,呼叫情感傾向分析介面,程式碼如下:

輸入文字:我今天太傷心了,因為我摔了一跤,嗚嗚嗚

輸出結果:置信度0.831307,消極概率0.924088,積極概率0.0759116,因此判定結果為消極。

再測試一個:

輸入文字:我可太喜歡看《狂飆》這部電視劇了,演技全員線上!!

輸出結果:置信度0.999714,消極概率0.00012881,積極概率0.999871,因此判定結果為積極。

下面,咱們測試一個較長的輸入文字:

輸入文字:很多人是不能理解那些上有老下有小的人的,特別是家裡有嚴重基礎疾病的至親。我不怕我自己面對新冠,但是我媽媽去年確診肺癌,切了大半個肺,現在正在治療中,一點感冒就讓她無比痛苦,我怎麼敢讓她去面對新冠病毒?那些自己得了新冠又不戴口罩在公共場合瀟灑快樂的人,請多去為那些弱勢群體想想吧,因為總有一天你也極有可能成為他們中的一員,你才能明白那種生命不能承受之重。

輸出結果:置信度0.814589,消極概率0.916565,積極概率0.0834351,因此判定結果為消極。

三、其他情感分析

其他python中文情感分析庫,比如snownlp應用我之前寫的比較多,準確率有待考證。

如果你覺得準確率低,百度還提供了自訓練模型的EasyDL平臺供使用,無程式碼開發經驗也可訓練模型,很方便。

另外,阿里、騰訊、華為等AI開放平臺也有對標的介面服務,大家可以試試看。

四、講解視訊

同步講解視訊:【NLP教學】python呼叫百度API介面實現情感傾向分析