R(NLP软件包)中的方法注释是否已被弃用或替换?

时间:2019-03-27 07:17:56

标签: r opennlp rjava magrittr

我正在关注本文https://mylearnmachinelearning.com/category/linear-regression/,以创建命名实体提取器。根据需要,我已经安装了所有openNLPNLPrJavamagrittropenNLPmodels.en软件包。除了使用此功能 annotations 以外,其他一切都已按计划进行。

 # Extract entities from an AnnotatedPlainTextDocument
     entities <- function(doc, kind) {
     s <- doc$content
     a <- annotations(doc)[[1]] #Point of error
     if(hasArg(kind)) {
         k <- sapply(a$features, `[[`, "kind")
         s[a[k == kind]]
     } else {
         s[a[a$type == "entity"]]
     }
 }

使用以下方法:

entities(text_doc, kind = "person")

问题是,即使RStudio中的智能感知似乎也不知道任何功能 annotations 。它显示annotationannotateannotations_in_spans,但不显示但没有annotations

甚至还有一个YouTube video演示了相同的内容。奇怪的是,他在那里可以使用annotations

打包版本:

  1. openNLP:v0.2-6

  2. openNLPmodels.zh:v1.5-1

  3. rJava-v0.9-9

  4. magrittr-v1.5

  5. NLP-v0.2-0

3 个答案:

答案 0 :(得分:2)

在早期版本的annotations程序包中,AnnotatedPlainTextDocument方法与类型NLP的对象相关联。

Here is the documentation(版本0.1-11)。

The latest NLP version是0.2-0。

The method for AnnotatedPlainTextDocument现在称为annotation(末尾没有's')。从文档看来,主要区别在于它返回一个Annotation对象,而不是Annotation对象的列表。

答案 1 :(得分:1)

函数annotations位于许多软件包中,请参见此处: https://www.rdocumentation.org/search?q=annotations

虽然可能不是最好的方法,但是如果您在不知道该功能属于哪个程序包的情况下查找特定功能,则本站点可能会帮助您找到这样的程序包。

答案 2 :(得分:0)

尝试:

# Extract entities from an AnnotatedPlainTextDocument
         entities <- function(doc, kind) {
         s <- doc$content
         a <- annotation(doc)
         if(hasArg(kind)) {
             k <- sapply(a$features, `[[`, "kind")
             s[a[k == kind]]
         } else {
             s[a[a$type == "entity"]]
         }
     }