banner
DIYgod

Hi, DIYgod

写代码是热爱,写到世界充满爱!
github
twitter
follow
bilibili
telegram
email
steam
playstation
nintendo switch

女朋友的微博情緒監控

weibo-negative

就是這樣,程式碼寫好了,就差個女朋友了。

最後的效果就是檢測某一微博博主新發的微博,如果判斷為消極情緒就發出警告(手機通知、郵件通知、自動發一條上圖那樣的微博之類的)。

專案地址#

https://github.com/DIYgod/Weibo2RSS 以 RSS 形式輸出消極情緒的微博

https://github.com/DIYgod/Text2Emotion 分析一句話的情緒值

使用方法#

消極情緒微博 RSS 配合 IFTTT 使用,具體設置如下圖,條件是 RSS 出現新內容,行為是發一條微博通知(也可以改成手機通知或者郵件通知等)。

negtivewbifttt

 

開發過程#

下面是我的開發過程。

一、分詞#

這東西自己做不來,所以只好找現成的解決方案,找到了下面幾個:

結巴中文分詞

哈工大語言技術平台雲

新浪雲中文分詞

訊飛語言雲

騰訊文智

除了騰訊文智其他都是免費或者開源的,簡單比較之後選擇了錘子 Big Bang 也在用的訊飛。

二、情緒分析#

這個關鍵在於詞典,也是找現成的:

中文情感極性詞典 NTUSD

大連理工情感詞彙本體庫

大連理工的本體庫標註了超過兩萬詞語,包括這些詞語詞性種類、情感類別、情感強度及極性等信息,像下面這樣:

dllgemotion

看起來很不錯,就選擇了這個。

詞典下載下來是一個 excel 表格,把它先另存為成 csv 格式,然後就可以導入到 mongodb 數據庫裡了。

mongoimport -d emotion -c emo --type csv --headerline --file emotion.csv

三、情緒值計算#

把要分析的話進行分詞處理,再把每個詞語的情緒值進行累加,就可以得出一條微博的情緒值。

這裡其實還有很多算法工作可以做,但簡單起見,我只是進行了累加。

然後寫完發現效果很差,原因是詞典內容太少,很多詞語都沒有,所以很多句子根本判斷不出來。

 

最後廢棄了上面的所有東西,直接使用騰訊文智的收費服務。。。

四、應用到微博#

抓取微博內容的原理很簡單,新浪微博的微博秀是不需要登錄就可以訪問的,直接使用 Node.js 解析頁面就可以拿到微博內容。

然後對微博內容進行情緒值計算,把消極情緒的微博輸出成 RSS。

五、監控#

輸出成 RSS,監控也容易了,其中 IFTTT 效果最佳,檢測到 RSS 有新內容時,可以觸發手機通知、郵件通知、發一條微博等行為。

 

以上,其實最大的問題還是:我差個女朋友。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。