3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
雷鋒網按:本文作者 grapeot,原載於知乎,雷鋒網獲授權轉載。聊天機器人部署了一周了。花了幾個小時的時間做了一些改動,有意思的部分主要有:和ElasticSearch和Kibana連了起來,現在有了實時監控和可視化了。能看到每小時平均有多少次自動回復,多少次看群里話嘮,多少次看標籤雲。令我意外的是已經過去一周了,可是大家的熱情仍然沒有消退。尤其是最簡單的自動回復功能,你提到「鴨哥」機器人就會自動回復「嘎?」。這麼簡單的功能我以為用戶會玩玩就膩了。但數據顯示,直到今天還有每小時30多次的峰值調戲量。甚至有個群一晚上刷了幾百個鴨哥。。真是不能隨便猜用戶喜歡什麼東西啊。。第二個改動就是把標籤雲的演算法從TF換成了TF-IDF。TF (Term-Frequency)就是最簡單的數詞頻,這是最簡單可靠的算標籤雲的方法,但有一個缺陷,如果沒有對一些無意義的虛詞做特殊處理的話,會很容易出現一些巨大但沒啥意義的詞。比如這個例子,「這個」,「就是」,「可以」等等。佔據了大量的空間,但沒啥信息量。而 IDF(Inverse-Document Frequency)則可以解決這個問題。它基本上代表了每個詞的信息量。IDF的基本思想是,如果一個詞在好多群裡面都有出現(比如「的」),那麼就對這個詞施加懲罰,讓它的權重變小。如果這個詞只在幾個群裡面出現(比如「社會主義」),那就讓它變大。這樣就能保證,面積最大的幾個詞不僅是大家經常說的,而且是最有信息量的。經過演算法的這個更改以後,我們對同一個群計算標籤雲,結果就變成了這樣:這個群最有特色的幾個詞一下就出來了。此外,我還試著把標點符號也加入到了計算裡面,結果很有意思。大多數的群的標籤雲裡面都是沒什麼標點符號的。原因很簡單。第一,聊天的時候以短句為主,後面本來就很少加標點,TF不高。第二所有群基本上用標點的頻率都差不多,所以標點的IDF也差不多。因此不會有標點特別大的情況出現。但我看到了兩個群有很大的標點出現。上面這個圖是科大的AI群。因為裡面經常進行一些大段的深入的討論,所以逗號,句號和頓號都非常明顯。而下面這個群,則是因為在聊買房,貸款,所以出現了百分號%。又因為這個符號在其他群里都沒有出現,所以IDF巨大。一下就搶佔了很大的空間。這也是為什麼裡面出現了房子,地主婆等關鍵字的原因。。所以在某種程度上,這個機器人已經可以理解大家說話的內容了。比如可以區分內容中獨特的部分。這對於分類,聚類等等進一步的應用都是非常有幫助的。如果你有什麼有意思的應用,也可以在評論中提出來,我們來幫你實現。雷鋒網相關閱讀:能理解聊天記錄的微信機器人 (一)能理解聊天記錄的微信機器人 (二)能理解聊天記錄的微信機器人 (四)

本文由yidianzixun提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦