输出结果为conll格式(POS-tagging,stanford pos tagger)

时间:2013-09-22 21:00:41

标签: nlp stanford-nlp pos-tagger output-formatting outputformat

我正在尝试使用Stanford POS-tagger,我想询问是否可以解析(实际上只有pos标签就足够了)英文文本并以conll格式输出结果。有这样的选择吗?

我正在使用完整的3.2.0版本的Stanford pos tagger

非常感谢

1 个答案:

答案 0 :(得分:3)

说到CONLL格式,我认为你的意思是CONLL2000分块任务格式:

   He        PRP  B-NP
   reckons   VBZ  B-VP
   the       DT   B-NP
   current   JJ   I-NP
   account   NN   I-NP
   deficit   NN   I-NP
   will      MD   B-VP
   narrow    VB   I-VP
   to        TO   B-PP
   only      RB   B-NP
   #         #    I-NP
   1.8       CD   I-NP
   billion   CD   I-NP
   in        IN   B-PP
   September NNP  B-NP
   .         .    O

CONLL分块任务格式有三列:

  1. token(即字)
  2. POS标记
  3. BIO(开头,内部,外部)块/短语标签
  4. 可悲的是,如果你使用stanford MaxEnt标记器,只会提供tokenPOS信息,但没有BIO块信息

    java -cp stanford-postagger.jar edu.stanford.nlp.tagger.maxent.MaxentTagger -model models/left3words-wsj-0-18.tagger -textFile short.txt -outputFormat tsv 2> /dev/null
    

    使用上面的命令,Stanford POS标记器已经为您提供了制表符分隔格式,只是它没有第3列(参见http://nlp.stanford.edu/software/pos-tagger-faq.shtml):

       He        PRP
       reckons   VBZ
       the       DT
       ...
    

    要获得BIO列,您需要

    • 统计chunker
    • 完整解析器

    请参阅http://www-nlp.stanford.edu/links/statnlp.html获取chunker / parser的列表,如果你想坚持使用stanford工具,我建议使用stanford解析器,但它会为你提供括号中的解析格式,你必须对它进行一些后处理将其转换为CONLL2000格式,请参阅http://nlp.stanford.edu/software/lex-parser.shtml