微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 R 中使用 openNLP 命名实体:我做错了什么?

如何解决在 R 中使用 openNLP 命名实体:我做错了什么?

我一直在尝试使用 R 中的文本挖掘/NLP/预处理。我一直在尝试让 NEE/NER 处理一段简单的文本。

这是正文

“Hocutt 推销循证伦理。对于喜欢旧类型的观众来说,这是一种强药,基于直觉、个人敏感性以及对正确处方的深刻感受。可能会转述休谟的观众,并通过吟诵“没有应该来自是的”来否认证据的效用;再有,你的论点将被视为另一种自然主义谬论而被驳回。休谟指出,在没有解释的情况下,在每一个道德调查中都可以找到从是的到应该的无处不在的推论:但是“有必要。 . .应该给出一个理由”(Hume,in Hocutt,2000,p. 43)。大多数读者得出的结论是“No oughts from is's”。时期。但是,如果不是来自 is's,那么应该从哪里出现?还剩下什么?价值观?但是那些因人而异,它们是什么以及它们如何不同是事实本身。我们如何构建/实现普遍的伦理?甚至只是局部的?对休谟的有效关注的过度反应发起了哲学家在寻找无动力的价值。”

library(methods)
library(rJava)
library(NLP)
library(openNLP)
library(openNLPmodels.en)
library(coreNLP)
library(magrittr)
library(topicmodels)
library(tm)
library(snowballC)

输入选项卡中的文本

txt <- readLines(
        'stdin'
)
txt <- paste(
    txt,collapse = " "
)
txt <- as.String(
    txt
)

sntTkn <- Maxent_Sent_Token_Annotator()
wrdTkn <- Maxent_Word_Token_Annotator()
posTag <- Maxent_POS_Tag_Annotator()

sWTkn <- annotate(
    txt,list(
        sntTkn,wrdTkn
))
sWTknPosTag <- annotate(
    txt,list(
    sntTkn,wrdTkn,posTag
))

persEnt <- Maxent_Entity_Annotator(
    kind = "person"
)
locEnt <- Maxent_Entity_Annotator(
    kind = 'location'
)
orgEnt <- Maxent_Entity_Annotator(
    kind = 'organization'
)
dateEnt <- Maxent_Entity_Annotator(
    kind = 'date'
)

pipeline <- list(
    sntTkn,posTag,persEnt,locEnt,orgEnt,dateEnt
)
pip <- annotate(
    txt,pipeline
)
txtDoc <- AnnotatedplainTextDocument(
    txt,pip
)

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']]
    }
}

entities(
    txtDoc,kind = "person"
)

输出

Warning message:
In readLines("stdin") : incomplete final line found on 'stdin'
character(0)

我一直在按照此视频中的说明进行操作:

https://youtu.be/0lpQludiI-0

而且我一直在使用这个应用程序:

https://apps.apple.com/us/app/r-programming-compiler/id1158038782

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。