我正在做一个文本挖掘项目,试图清理文本-单数/复数形式的单词,不同时态的动词和拼写错误的单词。我的样本看起来如下:
test <- c("apple","apples","wife","wives","win","won","winning","winner","orange","oranges","orenge")我尝试在wordStem包中使用SnowballC函数。然而,结果是错误的:
"appl" "appl" "wife" "wive" "win" "won" "win" "winner" "orang" "orang" "oreng" 我想看到的是:
"apple" "apple" "wife" "wife" "win" "win" "win" "winner" "orange" "orange" "orange"发布于 2017-03-20 16:45:14
这就是波特·斯泰默的工作原理。其原因是它允许相当简单的规则来创建词干,而不必存储大量的英语词汇表。例如,我认为您不希望change和changing都去chang。似乎更自然的是,它们都应该向change靠拢。那么,你会制定一条规则,如果你把ing从一个单词的末尾取下来,你应该把e加回来来得到词干吗?那么clang和clanging会发生什么呢?波特斯泰默给了clang。添加e将给出非单词clange。要么您使用简单的处理规则,有时创建不是单词的词干,要么您必须包含大量的词汇表,并且有更复杂的规则,这些规则取决于单词是什么。Porter Stemmer使用简单的规则方法。
https://stackoverflow.com/questions/42908720
复制相似问题