Trying to tag a sentence using openNLP.
library(openNLP)
str <- "this is a the first sentence."
tagged_str <- tagPOS(str)
Getting the following error:
Error: could not find function "tagPOS"
Any suggestions? Thanks.
I think tagPOS
is not a built in function of any of the package, so you'll have to add the function.
Here is the R Code:
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)
Output:
> tagged_str
$POStagged
[1] "this/DT is/VBZ a/DT the/DT first/JJ sentence/NN ./."
$POStags
[1] "DT" "VBZ" "DT" "DT" "JJ" "NN" "."
Hope this helps.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With