開始使用免費開始

詞幹化與詞幹補全入門

另一個實用的前處理步驟是「詞幹化」(word-stemming)與「詞幹補全」(stem completion)。詞幹化會把字詞還原到共同的詞根,讓跨文件的一致性更高。例如,"computational"、"computers" 和 "computation" 的詞幹都是 "comput"。但因為 "comput" 不是實際存在的字,我們希望把它補回成可辨識的字詞,讓 "computational"、"computers"、"computation" 都能對應到像 "computer" 這樣的正常詞。這個還原步驟稱為詞幹補全。

tm 套件提供 stemDocument() 函式來取得字詞的詞根。這個函式可以接收字元向量並回傳字元向量,或接收 PlainTextDocument 並回傳 PlainTextDocument

例如,

stemDocument(c("computational", "computers", "computation"))

會回傳 "comput" "comput" "comput"

你將使用 stemCompletion() 把這些詞根還原成已知的詞。stemCompletion() 接受一個字元向量與一個補全字典。補全字典可以是字元向量或 Corpus 物件。無論哪種形式,在我們的例子中,補全字典都需要包含 "computer" 這個字,這樣所有的 "comput" 才能被正確還原。

本練習屬於課程

R 的 Bag-of-Words 文本探勘

檢視課程

練習說明

  • 建立名為 complicate 的向量,依序包含 "complicated"、"complication"、"complicatedly"。
  • complicate 的詞幹化結果儲存到物件 stem_doc
  • 建立只包含一個字詞 "complicate" 的 comp_dict
  • stemCompletion() 套用在 stem_doc 上建立 complete_text,並使用 comp_dict 作為參考語料來進行補全。
  • 在主控台列印 complete_text

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Create complicate
complicate <- ___

# Perform word stemming: stem_doc
stem_doc <- ___

# Create the completion dictionary: comp_dict
comp_dict <- ___

# Perform stem completion: complete_text 
complete_text <- ___

# Print complete_text
complete_text
編輯並執行程式碼