3

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

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

非常感谢

4

1 回答 1

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块/短语标签的(开始,内部,外部)

可悲的是,如果您使用 stanford MaxEnt 标记器,它只会为您提供tokenandPOS信息,但没有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 标记器已经为您提供了制表符分隔格式,只是它没有第三列(参见http://nlp.stanford.edu/software/pos-tagger-faq.shtml):

   He        PRP
   reckons   VBZ
   the       DT
   ...

要获得BIO列,您需要

  • 统计分块器或
  • 一个完整的解析器

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

于 2013-09-22T21:38:32.387 回答