【发布时间】:2015-01-29 11:55:16
【问题描述】:
这个问题可能与 Lemmatizer in R or python (am, are, is -> be?) 重复,但我再次添加它,因为前一个问题已关闭,说它太宽泛,唯一的答案效率不高(因为它为此访问一个外部网站,这太慢了,因为我有非常大的语料库无法找到它的引理)。所以这个问题的一部分会和上面提到的问题类似。
根据维基百科,词形还原定义为:
语言学中的词形还原(或词形还原)是将单词的不同变形形式组合在一起的过程,以便可以将它们作为单个项目进行分析。
在 R 中对词形还原的简单 Google 搜索仅指向 R 的包 wordnet。当我尝试此包时,期望字符向量 c("run", "ran", "running") 输入到词形还原函数在c("run", "run", "run"),我看到这个包只通过各种过滤器名称和字典提供类似于grepl功能的功能。
wordnet 包中的示例代码,其中最多包含 5 个以“car”开头的单词,正如过滤器名称所解释的那样:
filter <- getTermFilter("StartsWithFilter", "car", TRUE)
terms <- getIndexTerms("NOUN", 5, filter)
sapply(terms, getLemma)
以上内容不是我正在寻找的词形还原。我正在寻找的是,使用R 我想找到单词的真正根源:(例如,从c("run", "ran", "running") 到c("run", "run", "run"))。
【问题讨论】:
-
抱歉,但我认为这是“寻找包或工具”——不是试图解决特定的编程问题。也许您可以在计算语言学/文本挖掘论坛上提问?
-
我认为这个问题与接近的典型包/工具搜索问题略有不同。它询问如何在 R 中执行词形还原,这是一个编程问题。 @StrikeR:我建议您更改最后一行“Is there ...”以避免这个问题被关闭。
-
@ChthonicProject 感谢您的建议。进行了相应的更改。
-
这不是编程问题。编程部分有一个简单的答案 - 查找/创建字典并执行查找。
-
@eddi 我不同意您关于这不是编程问题的评论。在您的评论中,您假设只有一种使用字典查找的词形还原形式,但还有其他基于规则的形式。所以,我猜编程部分并不像你想象的那么简单。我对任何可以执行词形还原的答案都很好,特别是在 R 中,无论是基于字典还是基于规则。但唯一的限制是,处理一个巨大的文本语料库不应该很慢。
标签: r nlp lemmatization