592
京東網上商城
【玩轉數據係列十一】機器學習PAI眼中的《人民的名義》
一、背景
最近熱播的反腐神劇“人民的名義”掀起來一波社會輿論的高潮,這部電視劇之所能得到廣泛的關注,除了老戲骨們精湛的演技,整部劇出色的劇本也起到了關鍵的作用。筆者在平日追劇之餘,也嚐試通過機器學習算法對人民的名義的部分劇集文本內容進行了文本分析,希望從數據的角度得到一些輸入。
本文使用阿裏雲機器學習PAI,主要針對以下幾個方麵進行了實驗:
- 分詞以及詞頻統計
- 每一章的關鍵詞提取
- 每一章的文本摘要
- 每一章文本之間的相似度分析
實驗流程以及數據可以在阿裏雲機器學習PAI的社區直接使用,隻要點擊“去PAI平台創建”按鈕即可在自己的項目下生成實驗。社區部分截圖:
社區地址:https://yq.aliyun.com/articles/75305
二、數據集介紹
數據源:本文數據為人民的名義部分劇集文本,一共分成1-9個章節。
具體字段如下:
字段名 | 含義 | 類型 | 描述 |
---|---|---|---|
id | 文章唯一標識 | string | 文章標識 |
content | 文章內容 | string | 部分劇集內容 |
三、數據探索流程
1.分詞以及停用詞
分詞是文本分析的基礎,但是在“人民的名義”這樣的文本中會有很多特有名詞,是分詞算法很難區分的。比如“侯亮平”、“沙瑞金”、“大風廠”等,所以我們需要在split word組件中加入一個詞庫,幫助分詞組件可以對人名做正確的分詞處理。加入的詞庫fufeitest.splite_w如下圖:
另外,文本中一些“的”、“地”、“得”這樣的助詞以及各種標點符號也需要去掉,這些詞是沒有意義的,對文本分析有幹擾,這些詞可以通過“停用詞過濾”組件去除。最終通過分詞以及停用詞過濾組件操作之後,文本內容被整理成了如下圖形態:
2.關鍵詞提取及詞頻統計
通過“詞頻統計”組件可以查看每一章中各個詞語出現的頻率,如圖所示,id為1的文章中每個詞語出現的次數:
“關鍵詞”提取組件可以返回每個文章中關鍵的詞語以及權重,(如果我們在停用詞過濾那裏處理的更細致,這部分效果會更好),通過這個結果可以看到每一章的關鍵人物有哪些,以及他們的權重排名:
3.文本摘要
“文本摘要”組件可以幫助您快速的瀏覽每一章節的關鍵內容,返回的是全文最關鍵的句子,我這裏設置的是返回前三關鍵的句子:
截取的是第9章的摘要內容,如果看過這個劇,通過這個摘要可以大致了解到這是在講漢東省委關於幹部任用的會議的那一集。
4.相似文章分析
通過“Doc2Vec”組件可以將文本文章映射成高維向量化,將文本按照語義變成數學向量,結果如下:
然後可以通過"語義向量距離"組件挖掘出不同文章向量的距離,這裏麵的隱含關係是文章向量距離越近,那麼語義越相近。我們以第9章為例:
第9章與第8章的向量距離最小,言外之意就是這兩章的語義相近,這一點也比較容易理解,因為相連的兩章在意義上肯定上是有一定的關聯性。
四、總結
本文通過對“人民的名義”部分章節文本的分析,幫助大家了解機器學習PAI上麵的部分文本算法的用法。如果向更深入的了解相關的內容,歡迎到PAI的社區來討論,我們會定時組織活動。
社區:雲棲社區公眾號
產品頁:阿裏雲數加機器學習平台
最後更新:2017-05-03 18:00:53