【问题标题】:Wordnet Lemmatizer for R用于 R 的 Wordnet 词形还原器
【发布时间】:2013-02-19 07:39:53
【问题描述】:

我想使用wordnet 词形还原器对a 中的单词进行词形还原

> a<-c("He saw a see-saw on a sea shore", "she is feeling cold")
> a
[1] "He saw a see-saw on a sea shore" "she is feeling cold"  

我将a 转换为语料库并执行预处理步骤(如停用词删除、词形还原等)

> a <- Corpus(VectorSource(a))

我想通过以下方式进行词形还原,

> filter <- getTermFilter("ExactMatchFilter", a, TRUE)
> terms <- getIndexTerms("NOUN", 1, filter)
> sapply(terms, getLemma)

但我收到此错误

> filter <- getTermFilter("ExactMatchFilter", a, TRUE)
Error in .jnew(paste("com.nexagis.jawbone.filter", type, sep = "."), word,  : 
  java.lang.NoSuchMethodError: <init>

我的想法是对整个语料库进行词形还原,而不是一个单词,如何实现?

【问题讨论】:

  • 不完全确定使用 R 与 WordNet 或任何 NLP 工具进行交互,但我在这里要做的是使用 rpy 来完成 R 业务并使用 NLTK 来处理 WordNet/lemmatization 的东西。除非您的代码出于某种原因必须在 R 中,否则这可行。

标签: r nlp wordnet lemmatization


【解决方案1】:

把你的代码放在一个循环中,你可以试试这样:

       lapply(a,function(x){
            x.filter <- getTermFilter("ExactMatchFilter", x, TRUE))
            terms <- getIndexTerms("NOUN", 1, x.filter)
            sapply(terms, getLemma)
         })

【讨论】:

  • 出于某种原因,这段带有 OP 数据的代码给了我一个包含两个空列表元素的列表。我错过了什么?
猜你喜欢
  • 2018-01-05
  • 1970-01-01
  • 1970-01-01
  • 2015-09-10
  • 1970-01-01
  • 1970-01-01
  • 2014-05-24
  • 1970-01-01
相关资源
最近更新 更多