以下脚本使用低于+ -4000行的文件进行标记注释非常精确和快速。 脚本挂起超过这个大约4000行。永远不要处理数据。 输入文件是纯文本,使用bash脚本在R脚本的参数中给出
#!/usr/bin/Rscript
require("NLP")
require("openNLP")
library(rJava)
args <- commandArgs(trailingOnly=TRUE)
s <- readLines(args)
s <- as.String(s)
sent_token_annotator <- Maxent_Sent_Token_Annotator()
#sent_token_annotator
word_token_annotator <- Maxent_Word_Token_Annotator()
#word_token_annotator
a2 <- annotate(s,
list(sent_token_annotator,
word_token_annotator))
#s[a2]
pos_tag_annotator <- Maxent_POS_Tag_Annotator()
pos_tag_annotator
a3 <- annotate(s, pos_tag_annotator, a2)
a3w <- subset(a3, type == "word")
tags <- sapply(a3w$features, "[[", "POS")
sprintf("%s/%s", s[a3w], tags)