R - Package tm - 词干提取后哪些术语对应于每个公共根?

R - Package tm - Which terms correspond to each common root after stemming?

创建语料库,定义停用词,清理完成(删除标点符号、删除数字、降低...)。

语料库现已准备好进行词干提取。该功能已正确执行并且一切正常,但是...

我需要知道每个共同词根的词干是什么。可以使用 tm 包吗?还是其他套餐?

例如,TermA1、TermA2、TermB1、TermB2、TermB3,它们都被提取到 Term 并且我的新语料库反映了只有 学期。但是,我还需要知道哪些词与每个根词相关联,因此最佳输出应该是:

Term     Stemm
TermA1   Term
TermA2   Term
TermB1   Term
TermB2   Term
TermB3   Term
...
WordA1   Word
WordB1   Word
WordB2   Word
WordB3   Word
WordC1   Word

在 tm 包中有函数 stemCompletion 允许您完成给定特定词典的每个词干词。

要获得输出,请执行以下操作:

library(tm)
data("crude")
words <- stemCompletion(c("compan", "entit", "suppl"), crude)
stemmed <-  names(words)
stemcomp <- unname(words)
data.table(stemmed, stemcomp)

参考文献:stemCompletion {tm}

[更新:更多德语单词]

我试过这个来验证德语元音的行为:

library(SnowballC)
library(tm)
library(data.table)

text <- c("für", "aktuelle", "Nachrichten", "und", "Themen", "Bilder",
       "und", "Videos", "aus", "den", "Bereichen", "News", "Wirtschaft","Politik","können", "Fremdschämen", "Lebensmüde", "Erklärungsnot")

stem <- stemmed <- wordStem(text, language = "porter")
completed <- stemCompletion(stemmed, text)
comparison <- data.table(text, stemmed, completed)

在 table 比较中,您可以看到带有德语元音的原始单词未被提取词干,但是,如果您尝试使用 [=12= 来完成某个给定的词干,例如 "f" ] 你会得到正确的词"für"。 这很奇怪,也许你可以从这里开始并尝试找到一些解决方法。