一種基于新聞文本的話題提取方法
【技術領域】
[0001] 本發明涉及自然語言處理,人工智能領域,具體涉及一種基于新聞文本的話題提 取方法。
【背景技術】
[0002] 隨著互聯網的普及,人們獲取信息的方式越來越多,網絡逐漸成為社會中各種信 息的載體。特別是隨著中國經濟的不斷發展,網上新聞產品逐漸成為人們獲取信息的重要 渠道,越來越多的人通過網絡獲取實時新聞及其相關信息。Web文本已成為我們獲取信息的 重要來源,每天都有大量的新聞熱點產生,如何從海量的新聞文本中獲取當前討論的熱點 話題已經成為新聞文本處理必備的基礎技術。
[0003] -般的文本聚類技術大多采用機器學習算法中的自動文本聚類方法,首先對文本 進行預處理,將文本表示成特征詞的向量表示,然后根據文本的相似性進行聚類。對文本進 行聚類多采用single-pass算法,K最鄰近結點算法(KNN),k-means算法等。這些聚類算 法都存在著各種各樣的缺點,single-pass算法與文章輸入的順序相關性很大;KNN算法則 存在時間復雜度較高;而k-means算法則必須提前確定聚類個數,但是這點通常是比較困 難的。并且這些算法在聚類完成以后得到的聚類結果往往不知所云,我們無法用具體的詞 匯或內容來表示聚類結果。
【發明內容】
[0004] 大多數網絡新聞產品往往只是簡單地將實時新聞報道或信息展現給用戶,很難對 新聞按照內容進行組織歸類,而且通過人工的方式來提取當前熱點新聞是一件非常繁瑣和 困難的事情。本發明基于文本主題詞的提取算法,通過熱點詞組合的聚類技術來獲取當前 文本集合的熱點話題。用兩個熱點主題詞表示一個話題,即克服了一個熱點詞表示話題的 片面性,同時又將相關的文章進行了聚合。
[0005] 本文提供了一種文本聚類的方法,用于提取當前文本集合的熱點話題,幫助用戶 更好的掌握當前新聞的熱點。從互聯網上采集近期的新聞文本,然后通過主題詞提取算法, 從各篇文章中提取出主題詞形成該文章的主題詞序列,通過各篇文章的主題詞序列綜合計 算出當前文本集合的熱點主題詞序列,并用熱點主題詞組合的方式表示熱點話題;一般兩 個熱點主題詞就可以表示當前的一個熱點話題。如:"⑶P"和"增速",通過這兩個詞我們 就可以知道當前討論的一個熱點是與我國的GDP增長速度相關的新聞話題。
[0006] 上述發明包括如下步驟:
[0007] 步驟1 :通過人工添加或新詞識別的方法,構建新聞領域詞典,確保提取的詞語能 夠覆蓋到新聞領域的常用詞和新詞。
[0008] 步驟2 :文本預處理。對當前新聞文本集合中所有文本進行分詞處理,并進行停用 詞過濾,得到分詞后的包含詞語和詞性的分詞序列向量。
[0009] 步驟3 :統計詞語頻率,文檔頻率,以及每篇文章中每個詞語在文章中首次出現的 位置。
[0010] 步驟4 :根據詞語權重抽取每篇文章的主題詞。文章的主題詞定義為通過一定方 式從文章標題和內容中抽取出來的,能夠簡要精準地表達該文章主要思想的詞語集合。詞 語權重計算過程為:根據統計信息計算文章中各個詞語的權重,詞語的權重代表了詞語在 文章中的表達性重要程度,每個詞語對文章的權重影響由兩部分組成,可表示為,
[0011] ff (t, d) = a*norm (ffa (t, d)) +b*norm (ffb (t, d))
[0012] 式中:W (t, d)表示詞語t在文章 d中的權重;a, b表示權重系數,其中a+b = 1 ;norm表示歸一化處理,norm(Wa(t, d))表示詞頻,文檔頻率和詞性對詞語權重影響, norm(Wb(t,d))表示詞語長度和詞語位置對詞語權重影響。具體過程如下:
[0013] 步驟401 :首先計算每篇文章中各個詞的詞頻,文檔頻率和詞性對文章的影響權 重
[0014] ffa (t, d) = log2 (tf (t, d)) *log2 (Nd/nt) *ff (POS (t))
[0015] 式中:tf(t,d)表示詞語t在文檔d中出現的頻率;Nd表示文檔集合中文檔數目, \表示包含該詞語的文檔數目;W(P0S(t))表示詞語t的詞性權重,當詞性為名詞時權重為 2,當詞性為用戶自定義時權重為1. 8,當詞性為動詞時權重為1. 5,其余詞性權重為1 ;
[0016] 步驟402 :計算詞語長度和詞語在文章中首次出現的位置對詞語權重影響
[0017] ffb(t, d) = len (t) *ff (pos (t, d))
[0018] 式中:len(t)表示詞語t的長度;W(pos(t, d))表示詞語t在文章 d中的位置權 重,W(pos(t,d)) = (N_firstpos(t))/N,其中 N 為文章詞語總數,firstpos(t)表示詞語 t 在文章中首次出現的位置。
[0019] 步驟403 :對詞語權重兩部分分別進行歸一化處理如下:
[0022] 步驟404 :計算出詞語在文章中的權重
[0023] ff (t, d) = a*norm (ffa (t, d)) +b*norm (ffb (t, d))
[0024] 步驟5 :對每篇文章中詞語進行權重降序排列,提取出前六個作為主題詞,一般情 況下,從標題中提取三個,從正文中提取三個,如果標題中提取詞語數目達不到三個,則剩 余的從正文中補足。然后對這些詞進行過濾,如果一個詞語包含另一個詞語則將權重較小 的詞語刪除,并進行補全,將最終的六個詞語作為該文章的主題詞序列
[0025] Topt(d) = {tt1; tt2, tt3, tt4, tt5, tt6}
[0026] 步驟6 :提取當前新聞文本集合熱點主題詞序列。對所有文章的六個主題詞按照 相同詞語權重相加的方式,獲取到文本集合中所有主題詞的權重,然后將所有主題詞按照 權重值進行降序排列,得到文本集合的熱點主題詞序列:
[0027] HotT = {hti, ht2, ···, htk}, k = 1, 2, . . . , m
[0028] 其中,m表示熱點詞主題序列的大小。
[0029] 步驟7 :將排好序的熱點主題詞序列HotT中的第一個詞語hh作為熱點話題的第 一個線索詞,對文章進行聚類。其步驟如下
[0030] 步驟701 :根據hh找到文章主題詞序列中包含這個詞的文章集合
[0032] 式中表示包含線索詞hh的第i篇文章。
[0033] 步驟702 :按照步驟6中文章主題詞序列權重相加合并的方式提取文章集合 HotTDSeh*的主題詞集合,取出權重值最大的前5個詞
[0035] 步驟703 :取出FHotTSeti的第一個詞/<作為第二個線索詞與hh組合形成一個 熱點話題主題詞表達向量。
[0036] 步驟704 :找出#與hh組成的熱點話題的相關文章集合。
[0037] 首先,將文章主題詞序列中同時包含/<與hh的文章加入到話題相關文章集合 中。
[0038] 然后,將文章主題詞序列中包含hh,文章標題包含/<的文章,或者主題詞序列中 包含./^,文章標題中包含文章加入到話題相關文章集合中。
[0039] 最后,將文章主題詞序列中包含hh,文章內容中包含/#并且其權重大于閾值 Vth(根據經驗選取Vth= 0. 3)的文章或者主題詞序列中包含身;而文章內容中包含匕^并且 其權重大于閾值Vth的文章加入到話題相關文章集合中。
[0040] 將所有已經加入到當前話題相關文章集合中的文章進行標記,以后不再對這些文 章進行聚類處理。
[0041] 步驟705 :分別將FHotTSeti中剩下的其它四個詞語和ht 3且成熱點話題主題詞表 達向量,按照步驟704進行熱點話題聚類,找出熱點話題的相關文章集合。
[0042] 步驟8 :取出HotT中的第二個詞語ht2作為新的熱點話題的第一個線索詞,然后 按照步驟7對ht2進行熱點話題聚類。不同的是對于第二個熱點主題詞ht 2,當我們獲取了
后,由這五個詞分別和ht2組成的熱點話題主題詞表 達向量進行聚類時,我們首先要判斷其是否和已有的表達向量相同,如果相同則不需要再 進行處理,否則繼續對該話題進行聚類。
[0043] 步驟9 :對后面的第3至η個(η彡m)熱點詞分別按步驟8進行處理,得到最終的 話題聚類結果,然后按照聚類得到的話題集合中包含的文章數目進行降序排列,得到基于 當前新聞文本集合的最終的多個熱點話題文本集合,并且每個話題對應一個熱點話題主題 詞表達向量,由兩個主題詞構成。η根據實際數據進行調整。
[0044] 本發明首先根據新聞文本中詞語的詞頻、詞性、文檔頻率和詞語在新聞文本中首 次出現的位置,綜合計算出詞語在文章中的權重;之后根據詞語在文章中的權重排序分別 在每篇文章中提取了六個主題詞來表達文章的主要思想;然后通過主題詞集合的權重排序 獲取了新聞文本集合的熱點主題詞序列,依序從熱點主題詞序列中取出熱點主題詞作為話 題線索詞進行相關文章的凝聚,按照兩個主題詞進行組合來表達一個熱點話題的方式進行 聚類;最后將所有文章凝聚到相應的話題相關文章集合當中,通過兩個主題詞,我們可以大 致了解熱點話題所講的內容,避免了一般文本聚類后各聚類結果不知所云的情況,更加符 合人們的思維習慣。
【附圖說明】
[0045] 圖1為本發明"一種基于新聞文本的話題提取方法"的流程圖。
【具體實施方式】
[0046] 下面結合附圖和【具體實施方式】對本發明"一種基于新聞文本的話題提取方法"作 進一