AI分析:微信熱文有什麼特點?兼談中文分詞算法

 

 

 

我們能在朋友圈看到的許多傳閱多的公衆號文章,通常都是閱讀量達到10萬以上的熱文。即使是討論同樣的事情,爲什麼這些文章能夠被廣泛傳閱從而讓你忍不住點進去?我們不妨用大數據加上AI的方法來分析一下這個問題。

 

爲了回答這個問題,我們需要介紹一下中文分詞這個AI相關的語言處理技巧。對分析結果更感興趣的讀者可以直接跳到文章後面部分先睹爲快。

 

 

AI原理:

 

漢語裏面的單個漢字在語境中有很多歧義,只有組合成詞語以後,才更加有意義。這個是漢語和英語不一樣的一個地方。3000多個漢字就能組合非常非常多的詞彙,從而幫助我們表達。我們個人閱讀句子時候,會自然而然的把字分成詞語,但是在計算機算法裏面,必須要從新學習這個技巧。

 

按照從易到難的順序有下面幾種技術來分詞:

  1. 使用預先準備的詞典,查找詞典,把句子中的詞彙找到
  2. 使用AI中的HMM算法
  3. 使用AI中的CRF算法
  4. 使用AI中的RNN/LSTM等深度學習算法

 

詞典的方法比較好理解。假如我們預先收集了所有的中文詞彙,那麼對於任何一個新的句子,我們要做的就是把句子的各種詞的組合拿到詞典裏面去驗證,如果正好在詞典裏面找到了這個詞,那說明測試的詞彙是正確的。 這個方法的運用難點在於計算的效率。如果每次拿到一個新的疑似詞彙,都和詞典的詞挨個比較,那麼是相當花費時間的。計算機學科裏面講求算法的時間複雜度。簡單來說,如果循環一次數據能搞定的事情,就絕對不會循環兩次。因此詞典應該實現做好索引,從而使得尋找某個詞時候,我們能夠用一次查找(幾乎)的時間就準確回答出這個詞到底在不在詞典裏面。

 

假設我們要對 "李白不是我。”這個句子進行分詞,找到其中的所有詞彙,使用詞典找詞彙的算法步驟如下。

  1. 假設詞典裏面的詞的最長長度爲M, 那麼從句子的最開始,數M個漢字出來,拿到詞典裏面去比對,看看這個詞是否存在。
  2. 如果該詞存在,那麼記錄下來。同時從第M+1個漢字開始重複上述過程。
  3. 如果該詞不存在,從句子最開始數M-1個漢字出來,重新去詞典裏面比較。
  4. 如果M減小到1以後(即句子的第一個字),那顯然該字只能單獨成詞。這個時候我們把這個單詞記錄下來。然後從句子的第二字開始重複上述過程。
  5. 重複以上過程,直到整個句子分析完成。

 

以上面的句子爲例,當我們比較長度爲2個字的詞時候,我們應該找到“李白”這個詞。然後,我們從“不”開始,能找到“不是”第二個詞。最後我們會找到“我”這個詞。

其餘的分詞方法爲AI相關算法。一般來說,AI算法需要大量的標籤,即大量經過人工加註標籤的句子。瞭解AI算法訓練過程的人可能會覺的頭疼。這麼多詞語意味着成千上萬的標籤,AI算法對上萬的標籤進行分類。其實分詞的標註技巧在於,並不要求算法直接學會辨別出各種各樣的詞彙,而是隻需要學會在句子中判斷哪裏是一個的詞的開始(B),詞的中間(I),次的結尾(E),和單獨成詞 (S)四種情況。這樣就把問題大大簡化爲4中學習情況。比如下面的表示:

句子: 李太白不是我。

標籤: B  I  E  B E S

 

有了無數這樣人工標註好的句子,就可以讓機器學習算法去自動學習了。一旦學好,對於新的句子,算法可以判斷每個字屬於詞首,詞中,詞尾等性質,自然我們也就分好了詞。所有B和E中間的字都屬於一個詞。

 

 

HMM (Hidden Markov Chain) 隱藏馬科夫鏈條算法,是一種機器學習算法。對於判斷句子中每個詞的性質特別合適。其原理是假設每一個字都有n個不同隱藏(未知)的狀態,並且有可以測量的表現形式,這個表現形式只依賴這個字的隱藏狀態和前面一些字的隱藏狀態(最簡單的情況,只依賴於當前這個字和前面一個字的隱藏狀態)。對於分詞應用而言,HMM的隱藏狀態就是B,I,E,S中的一種,表現形式就是我們看到的是哪個漢字。HMM的訓練非常簡單,維特比(Viterbi)算法可以快速給出答案。

 

CRF(Conditional Random Field) 算法和HMM最大的區別在於,HMM有條件獨立的假設,並且當前的節點只依賴於之前的節點。而CRM去掉這些假設,並且可以考慮更多的特徵組合,包括後面的節點信息,因而效果通常更好。

 

深度學習中的循環神經網絡結構(如RNN, 或者LSTM)在特徵組合上更加靈活,預測效果會更上一層樓。

 

 

 

 

分析結果

 

  1.  

這些熱文的第一個特點是文章內容有趣。怎麼纔能有趣呢? 看讀者一般喜歡什麼主題。比如說60%的讀者喜歡娛樂相關內容,那麼跟你也基本上有60%的可能性會點擊娛樂性相關的文章。

 

如上圖所示,前10大主題依次是:(1)社會話題,(2)時事話題,(3)國際話題,(4)健康話題(5)情感話題,(6)財經話題,(7)文化話題,(8)娛樂話題,(9)體育話題,(10)教育話題。其中“社會”和“時事”兩個主題加起來佔比接近50%。這樣10大主題比例是否接近你的閱讀習慣呢?

 

 

 

 

 

 

2.

這些文章的第二個特點是引人注目的標題。爲了達到最大化吸引讀者點擊的目的,公衆號的作者們,絕對是付出了“兩句三年得,一吟淚雙流”的艱辛努力。

 

閱讀這些熱文的標題,首先讓人印象深刻的是標點符號的運用。經過簡單統計,筆者發現居然有一半左右的熱文標題用了感嘆號! 另外接近20%的人喜歡用問號。 插一句,筆者自我檢查發現,感嘆號用的不多,不過問號好像常用。看來筆者的風格還不是最俗(熱)。

      

感嘆號 !

50% 使用比例

問號 ?

20% 使用比例

 

 

 

第二,我們看看這些熱文的標題字數多少,是否有規律可循。

標題的長度分佈如下圖, 從下圖可以看出,一般標題的長度在20個字左右。看來取標題不能太長,也不能太短。不過20個字來說,感覺還是偏長的。看來,標題裏面要把事情講的恰到好處,既不能拖沓也不能透露太多,字數的把握是個技巧。從分佈來看,有的文章標題超過了60個字!

 

 

第三,我們運用中文分詞的技術,來看看這些標題都用了哪些耳熟能詳的詞彙?

我們感興趣的是哪些有意思的詞彙出現熱文標題裏面呢? 答案是一些副詞和形容詞等詞彙。常見的詞彙,排名靠前的一些例子如下:

 

什麼

最新

這些

我們

這樣

爲什麼

剛剛

如何

今天

網友

真的

一定

終於

到底

緊急

注意

搞笑

突然

好消息

突發

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章