下面是我如何幹掉我的語料庫和我的文檔。然而,例如「工作」和「工作」顯示了大量的時間,而且在我的分析中,這些對於所有意圖和目的來說顯然是相同的。有沒有一個包或一些代碼片段去除「-ed」結尾?謝謝!是否在stem中刪除「ed」結尾的文檔?
library(tm)
docs<-Corpus(DirSource(cname))
summary(docs)
library(SnowballC)
docs <- tm_map(docs, stemDocument)
下面是我如何幹掉我的語料庫和我的文檔。然而,例如「工作」和「工作」顯示了大量的時間,而且在我的分析中,這些對於所有意圖和目的來說顯然是相同的。有沒有一個包或一些代碼片段去除「-ed」結尾?謝謝!是否在stem中刪除「ed」結尾的文檔?
library(tm)
docs<-Corpus(DirSource(cname))
summary(docs)
library(SnowballC)
docs <- tm_map(docs, stemDocument)
這是一個更復雜的問題,你可能會想。
如果使用詞幹,那麼ed將從單詞中刪除,而不考慮詞的含義或上下文。所以你可以把許多過去時的單詞縮減爲單詞,或者複數單數。
但是,您也可能會丟失上下文。詞的真正根源,詞位,有它自己的意義,它有時在詞幹中丟失,因爲不同的詞從同一根發展而來。
想象一下,你去梗和刪除在S在複數:
所以在這句話...... 「她走得慢。」
和這句話...... 「他們來自各行各業。」
...你得到這個詞散步。
儘管它們是從相同的詞根演變而來,但它們具有不同的詞彙含義,並且第二個版本會產生上下文不匹配。
在這種情況下,詞形將是一個更好的選擇(如果算法對你的語料庫是固體和適當的),因爲它將保留兩個不同單詞的明顯相同性背後的詞位的潛在含義。
詞義化與使用上下文來試圖確定詞根的意義是什麼,它的詞位是否不同,而詞幹只是修剪回假定的詞根。
對於非常敏感的用途,可能有必要。但是,如果處理不當,它在大型語料庫中通常也不會更準確。
如果背景的重要性,嘗試WORDNET詞形還原包:
如果你需要的是詞幹,請嘗試使用最簡單的形式雪球,看它是否得到你想要的東西:
docsStemmed<-wordStem(docs, language = "english")
來自「SnowballC」包,請注意您的文檔必須位於一個字符向量中,以阻止這種方式返回另一個詞幹的向量。它應該刪除過去時的結局。如上所示,您可以使用tm
。
如果你沒有得到你想要的結果,你需要在發音之前修改語料庫。
一旦您獲得了正確的文檔結構,詞幹更加可靠。如果您需要tm
& SnowballC
幫助試圖通過此方法篩選和使用這些方法:要轉換
做搜索棧清晰度努力工作,或者只是想在Word中刪除編工作? –
這是一個很好的問題。我想我想讓他們成爲同一個詞。理想情況下,我希望刪除所有單詞的「ed」,如果問題再次出現,我不會重複計算根詞 – agunner