Stanford nlp 如何在Stanford NER中使用IOB标签?
似乎有一些不同的设置:Stanford nlp 如何在Stanford NER中使用IOB标签?,stanford-nlp,named-entity-recognition,Stanford Nlp,Named Entity Recognition,似乎有一些不同的设置: iobtags iobTags entitySubclassification (IOB1 or IOB2?) evaluateIOB 我应该使用哪种设置,以及如何正确使用它 我试着这样贴标签: 1997 B-DATE volvo B-BRAND wia64t B-MODEL highway B-TYPE tractor I-TYPE 但在培训输出上,似乎认为B型和I型是不同的课程 我使用的是2013-11-12版本 如何做到这一点目前(2013版)有点混
iobtags
iobTags
entitySubclassification (IOB1 or IOB2?)
evaluateIOB
我应该使用哪种设置,以及如何正确使用它
我试着这样贴标签:
1997 B-DATE
volvo B-BRAND
wia64t B-MODEL
highway B-TYPE
tractor I-TYPE
但在培训输出上,似乎认为B型和I型是不同的课程
我使用的是2013-11-12版本 如何做到这一点目前(2013版)有点混乱,因为两个不同的
DocumentReaderAndWriter
实现有两组不同的标志。对不起
对不同IOB样式最灵活的支持可以在CoNLLDocumentReaderAndWriter
中找到。你可以让它映射任何IOB/IOE/。。。在读取带有以下标志的文件时,通过连字符前缀(如示例(B品牌))对任何其他文件进行注释:
-entitySubclassification IOB2
然后将生成的标签集用于训练和分类。这些选项记录在CoNLLDocumentReaderAndWriter
的entitysubclass()
方法中:IOB1、IOB2、IOE1、IOE2、SBIEO、IO。您可以在中找到关于IOB1与IOB2的讨论。默认情况下,表示在输出时映射回IOB1,因为这是CoNLLconlleval
程序中使用的默认值,但您可以使用以下标志将其保留为映射到的值:
-retainEntitySubclassification
要使用此DocumentReaderAndWriter
,您可以发出如下训练命令:
java8 -mx6g edu.stanford.nlp.ie.crf.CRFClassifier -prop conll.crf.chris2009.prop -readerAndWriter edu.stanford.nlp.sequences.CoNLLDocumentReaderAndWriter -entitySubclassification iob2
或者,ColumnDocumentReaderAndWriter
是我们在分布式模型中使用的默认DocumentReaderAndWriter
。你可以从中得到不同的选择,而且有点有限。您有以下两个标志:
将使用普通(“品牌”)或类似CoNLL(“I-BRAND”)的标签,并将其向下映射到一个无前缀IO标签(“品牌”),并将其用于培训和分类-mergeTags
可以使用普通(“品牌”)或类似CoNLL(“I品牌”)的标签,并将它们映射到IOB2-iobTags
在序列模型中,对于像IOB2这样的任何标签方案,标签都是不同的类。这就是这些标签方案的工作原理。“I-”和“B-”等的特殊解释留给人类观察者和实体级评估软件。随附的评估软件仅适用于IOB1、IOB2或无前缀IO编码 曼宁教授,我很好奇IOB编码与2016年的IO编码相比如何。我看到2012年你在NLP课上说过: