新聞聚合,提取可讀的主題如何實現?

類似於網易聚合閱讀,如何將很多關於文章、馬伊琍的新聞報道聚合在一起,提取「文章馬伊琍離婚」這種可讀性熱點話題呢?

________________________________________________________________________________

修正一下,聚類演算法是一定需要的,將多條新聞聚合成一個個簇。之後,最困難的地方,在於如何將一個個的簇用簡短而可讀的短句描述(可以理解為聚類中心描述)。當然,整個過程最好是全自動。假定已有充足的文本素材、分類後的訓練樣本等等等等...


從Research角度的答案:

新聞聚合+提取關鍵句子為 多文本摘要技術。

多文本摘要技術在學術界有個很有名的系統叫做MEAD,是Radev開發的。

Dragomir Radev

他的基於質心摘要演算法和LexRank都是多文本摘要方面里程碑式的貢獻。不過也很遺憾,多文本摘要目前試用的文體也一般只是新聞了。

技術細節:

1. 聚類

新聞的聚類比較簡單,他這裡採用的是基於質心的聚類演算法。

foreach(var 文檔 in 所有文檔)
if(和某個類的質心相似度小於某個閾值(質心用本類中所有文章的tfidf向量表示))
加入這個類,調整質心
else
自己獨立

當然,聚類方法還有很多:

例如Kmeans,信任傳播聚類,譜聚類,非負矩陣分解,層次聚類。經我實驗,雖然不同的聚類演算法那會有一些差別,但是依靠換演算法想有實際提升不靠譜,主要得看你那個相似度矩陣怎麼算。算的好,所有都可以解。當然,算新聞的相似度太簡單了,但是要算微博的就難了。這樣我們就形成了樓主所說的相似新聞聚類。

2. 為句子打分,輸出

在MEAD系統裡面有4個分好像,和質心相似度,位置得分(越靠前越高),和第一句的相似程度(因為新聞都是第一句是中心句子),和已輸出的句子算相似度。

此處你可以隨意添加自己想要的特徵,來給句子得分,例如LexRank得分。

之後將文章按照打分排序,從高到低,開始輸出。不過每次輸出之後都要調整得分,因為已經輸出的句子多了,所以第四個得分就變了。

PS:

MEAD是提供下載的http://www.summarization.com/mead/ Perl語言我記得


人工編輯即可,每天的新聞也不多,對聚合結果用人工編輯一下主題,雇一人低工資即可搞定。


從我理解的角度補充下@張晨 的答案。

這個流程是這樣的:

  1. 先是提取關鍵詞

  2. 然後會是機器+人工,關聯關鍵詞(具體怎麼選取關鍵詞,來自於源源不斷的熱門事件)

  3. 最後編輯修正一個可讀的文案顯示出來,比如「文章馬伊俐離婚」

後兩項基本要靠人工來做。當然,也可以機器來做,就是結果不見得會更好。更多的是機器準備好,人工做一個干預挑揀審核二次加工的工作

另外,這個新聞聚合有很大的滯後,基本上熱點出來之後,做一個全方位的聚合,而且這個聚合只是把文章堆在一塊,效果就那樣,這種效果某種意義上跟你拿關鍵詞去做搜索差不太多


LDA演算法,先對文章進行分詞,詞典應該是含有明顯意思的詞語,然後把文章和詞映射到k維上,k就是聚合的類,每個類可以通過該維度下的排名前幾的詞得到主題


不太清楚題主是要自動摘要還是文章聚合。

譬如像網易這樣,「文章馬伊利離婚」這句話的抽取就是文本自動摘要研究的問題。但是我想網易應該是做人工摘要的。因為文章自動摘要尤其是中文自動摘要的技術難度很大,效果並不好。一般來說方法包括中心句提取等等。

當然,從多篇文章中抽取共同話題比單篇文章的自動摘要更容易些。可以先對每一篇文章進行關鍵詞抽取。然後尋找這些文章的共同關鍵詞等。但是想要把關鍵片語成語義通順的一句話或者一個詞就比較難了。

也可以分別尋找所有文章里的中心句,在中心句里找一個最能概括所有文章的一個中心句。比如說,找一個覆蓋最多公共關鍵詞的句子。

文章聚合則稍微簡單一點,一般的流程是先分詞,提取關鍵詞(使用TF-IDF等方法),建立索引等。比較類似於搜索引擎。此外還可以通過關鍵詞計算文本相似度等方法,找到與某一篇文章相似的文章,使用的方法包括餘弦距離、歐式距離、kNN等等。

總之在這方面的技術細節很多,入門的話,可以閱讀一下《集體智慧編程》這本書的相關內容。

另外我想要指出的是,目前的自然語言處理,演算法的作用只是一部分(甚至在某些時候都不是主要成分),另一個關鍵的部分就是語料的搜集和處理。很多時候原始數據的積累決定了結果的好壞。就比如尋找文章中心句和關鍵詞自動抽取方面,就需要預先有互聯網大規模的詞頻數據作為基礎。再比如,對聚合出來的文章進行排序,也需要考慮文章來源的歷史文章質量,引用次數等。因此對於這樣的系統想要快速起步達到很好的效果是不現實的。


猜測是提取新聞關鍵詞+文章點擊率吧


推薦閱讀:

數據分析師(CDA)和數據項目分析師(CPDA)的區別?在認證方面有什麼不同嗎?
大數據 預測未來,在哪些領域已經有非常準確的結果?
大數據真的有意義么?
如何評價文章《為什麼用蘋果手機的人去莆田系醫院治不好病》?
如何學習特徵工程?

TAG:RSS | 數據挖掘 | 機器學習 | 新聞聚合 | 自然語言處理 |