國
立 政 治 大 學
‧
Na tiona
l Ch engchi University
29
程式語言所編寫的開源中文斷詞程式,所使用的演算法是基於字典樹(Trie)
結構來生成句子中文字所有可能成詞的情況,然後使用動態規劃來找出最 大機率的路徑,此路徑就是基於詞頻的最大斷詞結果。結巴在找新詞的方 法則使用基於隱馬爾可夫模型(Hidden Markov Model)的 Viterbi 動態規 劃演算法做中文分詞,除了有 新詞的 識別 能力,同時支援繁簡中文斷詞 , 亦可添加自定義詞典以確保更高的正確率,故本研究採用結巴作為我們斷 詞的工具。
要處理的文本有兩部分,一為推文內文,取自 tweets 資料表的 text 欄 位;二為網頁標籤內容。將兩者資料從資料庫取出後,利用正規表示式
(Regular Expression)去除內含的網址,再放入結巴做斷詞的處理,並去 除標點符號、停用詞(Stop Words)等雜訊,最後將斷詞結果回存進資料 庫,以便接下來做推文分群和詞語共現網絡的分析。
圖 19. 文本處理流程圖
4.3 推文分群
由於本研究為了測試從廣泛的資料中,找出關鍵議題事件的能力,我們選 擇了台灣的繁體與簡體中文作為資料集的蒐集關鍵字。因此我們認為,直
‧
展歷程。我們參考 S. Phuvipadawat 等人追蹤 Twitter 上即時新聞的研究[15],採 用他們推文分群(grouping)的演算法,協助我們將資料集中的推文分群。為了分群,我們需要量化推文間的相似程度,以下為計算兩推文的相
其中用到了由 G. Salton 等人所提出的 TF-IDF(Term Frequency - Inverse Document Frequency)[22]統計方法,在資 訊檢索 ( Information Retrieval) 領域中 , 常用來評 估一個 詞彙 對於一個 文件集的重要程度。 將 其拆成兩部分,詞頻(Term Frequency,TF)是指一個詞彙於文件中出現 的頻率,為了避免單純使用詞彙次數會出現的偏差,除以文件中的詞彙總 數來標準化數值。逆向文件頻率(Inverse Document Frequency,IDF)是 用來表示一個詞彙在整個文件庫的普遍重要程度。如果包含某個詞彙的文
‧ 國
立 政 治 大 學
‧
Na tiona
l Ch engchi University
31
而boost(𝑡𝑡)則是用來提升特定字詞比重的數值,判別特定字詞的方法為 命名實體識別(Named Entity Recognition,NER),是指從文本中識別具有 特定類別的實體(通常是名詞),例如人名、地名、機構名、專有名詞等。
我們採用由 Stanford 大學自然語言研究小組所公開的 Stanford Named Entity Recognizer( NER)[26]來找出特定字詞,它是一 個以 Java 語言實做 出來的函式庫套件,主要是用做英文的命名實體識別,於 2012 年起支援 中文的識別。
圖 10 為 Stanford NER 視窗版對於英文文本的分析範例,可以看到找 出了一些人名、地名與組織名 稱等實體,這些名詞我們將 乘上一個權重,
以期提高比較推文間相似程度的準確度。
‧
本系統利用到的視覺化圖表共有四大項:字雲(word cloud)、名詞共現網 絡圖(noun co-word)、推文時序分布折線圖以及推文時間軸的關鍵推文大 事記。