【发布时间】:2017-05-11 19:35:54
【问题描述】:
我有一些 txt 文件,我需要将其转换为 CRF 模型的 IOB 格式。
使用 nltk tree2conlltags 我可以将标记化的、已标记的文本转换为我需要的 IOB 格式。
这样
("u'Is", 'JJ', u'O')
('Miami', 'NNP', u'B-PERSON')
('playing', 'NN', u'O')
('in', 'IN', u'O')
('Washigthon', 'NNP', u'B-GPE')
('this', 'DT', u'O')
('month', 'NN', u'O')
('?', '.', u'O')
但问题是作为输出我得到一个单词作为一个元素,但我需要一个句子作为元素。
我也尝试先将文本分成句子然后标记它们,所以我会保存句子 boundAries,但 nltk pos tagger 不接受列表类型数据。
也许有一种全新的方法来获得我需要的格式,或者
【问题讨论】:
-
如果你想每个句子有一个元素,那么你的标签是什么?显然,您不需要 PoS 标签和命名实体,因为它们在句子级别没有多大意义。请向我们展示一个输出应该是什么样子的示例。
-
另外,为什么你的第一个令牌是
"u'Is"?看起来像是在输入字符串上调用了某处repr()。 -
我想要一个句子作为元素,但我仍然需要所有 postagging 和 ner 标签,因为我需要它们用于条件随机字段,我不太明白为什么第一个标记“是”是一个问题,它只是一个句子的开头
-
请编辑您的问题以显示数据应如何显示的示例。对于第一个标记:如果您看不到它不是
"Is",而是实际上是"u'Is"(引号内带有“u”),那么没关系。
标签: python nltk pos-tagger crf