詞幹化與詞幹補全入門
另一個實用的前處理步驟是「詞幹化」(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