如何做到這一點是目前(2013年發佈)有點混亂,因爲有兩個不同的標誌爲兩個不同的實現DocumentReaderAndWriter
實現。抱歉。
在CoNLLDocumentReaderAndWriter
中找到了對不同IOB樣式最靈活的支持。你可以擁有它,而它是閱讀與標誌文件被喜歡你的例子複姓前綴(B-BRAND)做任何IOB/IOE/...註釋映射到任何其他:
-entitySubclassification IOB2
產生的標籤集然後用於訓練和分類。這些選項記錄在CoNLLDocumentReaderAndWriter
的entitySubclassify()
方法中:IOB1,IOB2,IOE1,IOE2,SBIEO,IO。您可以在Tjong Kim Sang and Veenstra 1999中找到關於IOB1與IOB2的討論。默認情況下,表示被映射回IOB1輸出,因爲這是在CoNLL conlleval
程序中使用默認的,但你可以把它作爲你它的標誌映射到:
-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
這是我們在分佈式模型使用。你得到的選擇是不同的,稍微有限。你有這兩個標誌:
-mergeTags
將是純( 「品牌」)或CoNLL樣( 「I-BRAND」)標籤,將它們映射到一個前綴少IO標籤( 「品牌」)並將其用於培訓和分類。
-iobTags
可以採用普通(「BRAND」)或CoNLL-like(「I-BRAND」)標籤並將它們映射到IOB2。
在序列模型中,對於任何標籤計劃等IOB2的,標籤是不同的類。這就是這些標籤計劃的工作原理。 「I-」,「B-」等的特殊解釋留給人類觀察者和實體級評估軟件。所包含的評估軟件只能使用IOB1,IOB2或前綴IO編碼。
Manning教授,我很好奇IOB編碼與2016年的IO編碼相比如何。我在2012年看到你在NLP課堂上說過:https://youtu.be/mbMrRT5Osbk?t = 6m27s –