could not find function tagPOS

前端 未结 1 1723
爱一瞬间的悲伤
爱一瞬间的悲伤 2020-12-18 07:04

Trying to tag a sentence using openNLP.

library(openNLP)
str <- \"this is a the first sentence.\"
tagged_str <-  tagPOS(str)

Getting

相关标签:
1条回答
  • 2020-12-18 07:11

    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.

    0 讨论(0)
提交回复
热议问题