Как использовать OpenNLP для получения POS-тегов в R?
Вот код R:
library(NLP)
library(openNLP)
tagPOS <- function(x, ...) {
s <- as.String(x)
word_token_annotator <- Maxent_Word_Token_Annotator()
a2 <- Annotation(1L, "sentence", 1L, nchar(s))
a2 <- annotate(s, word_token_annotator, a2)
a3 <- annotate(s, Maxent_POS_Tag_Annotator(), a2)
a3w <- a3[a3$type == "word"]
POStags <- unlist(lapply(a3w$features, `[[`, "POS"))
POStagged <- paste(sprintf("%s/%s", s[a3w], POStags), collapse = " ")
list(POStagged = POStagged, POStags = POStags)}
str <- "this is a the first sentence."
tagged_str <- tagPOS(str)
Выход:
tagged_str $ POStagged [1] "этот / DT является / VBZ a / DT первым / DT первым / предложение JJ / NN ./."
Теперь я хочу извлечь из предложенного выше предложения только NN слово, т. Е. Предложение, и хочу сохранить его в переменной. Может ли кто-нибудь помочь мне с этим.