1
本文作者: AI研習(xí)社 | 2017-02-12 13:22 |
雷鋒網(wǎng)編者按:如何通過女友最近發(fā)布的微博內(nèi)容檢測(cè)她的情緒狀況?丁香園前端工程師DIYgod 給出了自己的解決方案。本文由原作者授權(quán)雷鋒網(wǎng)發(fā)布,轉(zhuǎn)載請(qǐng)聯(lián)系本人。原文地址
(微博檢測(cè)最終完成效果,雷鋒網(wǎng)注)
就是這樣,代碼寫好了,就差個(gè)女朋友了。
最后的效果就是檢測(cè)某一微博博主新發(fā)的微博,如果判斷為消極情緒就發(fā)出警告(手機(jī)通知、郵件通知、自動(dòng)發(fā)一條上圖那樣的微博之類的)。
項(xiàng)目地址:
https://github.com/DIYgod/Weibo2RSS 以 RSS 形式輸出消極情緒的微博
https://github.com/DIYgod/Text2Emotion 分析一句話的情緒值
使用方法:
消極情緒微博 RSS 配合 IFTTT 使用,具體設(shè)置如下圖,條件是 RSS 出現(xiàn)新內(nèi)容,行為是發(fā)一條微博通知(也可以改成手機(jī)通知或者郵件通知等)。
下面是我的開發(fā)過程。
一、分詞
這東西自己做不來,所以只好找現(xiàn)成的解決方案,找到了下面幾個(gè):
結(jié)巴中文分詞
哈工大語言技術(shù)平臺(tái)云
新浪云中文分詞
訊飛語言云
騰訊文智
除了騰訊文智其他都是免費(fèi)或者開源的,簡(jiǎn)單比較之后選擇了錘子 Big Bang 也在用的訊飛。
二、情緒分析
這個(gè)關(guān)鍵在于詞典,也是找現(xiàn)成的:
中文情感極性詞典 NTUSD
大連理工情感詞匯本體庫
大連理工的本體庫標(biāo)注了超過兩萬詞語,包括這些詞語詞性種類、情感類別、情感強(qiáng)度及極性等信息,像下面這樣:
看起來很不錯(cuò),就選擇了這個(gè)。
詞典下載下來是一個(gè) excel 表格,把它先另存為成 csv 格式,然后就可以導(dǎo)入到 mongodb 數(shù)據(jù)庫里了。
三、情緒值計(jì)算
把要分析的話進(jìn)行分詞處理,再把每個(gè)詞語的情緒值進(jìn)行累加,就可以得出一條微博的情緒值。
這里其實(shí)還有很多算法工作可以做,但簡(jiǎn)單起見,我只是進(jìn)行了累加。
然后寫完發(fā)現(xiàn)效果很差,原因是詞典內(nèi)容太少,很多詞語都沒有,所以很多句子根本判斷不出來。
最后廢棄了上面的所有東西,直接使用騰訊文智的收費(fèi)服務(wù)。。。
四、應(yīng)用到微博
抓取微博內(nèi)容的原理很簡(jiǎn)單,新浪微博的微博秀是不需要登錄就可以訪問的,直接使用 Node.js 解析頁面就可以拿到微博內(nèi)容。
然后對(duì)微博內(nèi)容進(jìn)行情緒值計(jì)算,把消極情緒的微博輸出成 RSS。
五、監(jiān)控
輸出成 RSS,監(jiān)控也容易了,其中 IFTTT 效果最佳,檢測(cè)到 RSS 有新內(nèi)容時(shí),可以觸發(fā)手機(jī)通知、郵件通知、發(fā)一條微博等行為。
以上,其實(shí)最大的問題還是:我差個(gè)女朋友。
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。