2

我正在尝试将 conll 格式的数据转换为 spacy 的 json 格式来训练模型。

我正在使用 spacy 的转换。我试过这个命令

      python -m spacy convert conll_dataset.tsv /Users/user/docs -t json -c ner

我收到一个值错误。

     ValueError: [E177] Ill-formed IOB input detected: in

我删除了数据集中所有出现的“in”并再次尝试,然后我得到了同样的错误,只是略有变化。

     ValueError: [E177] Ill-formed IOB input detected: an

帮我解决这个问题。我的数据集看起来像这样

     Abhishek   Name
     Jha    Name
     Application    Designation
     Development    Designation
     Associate  Designation

我正在使用 spacy 2.3.2

4

1 回答 1

0

IOB 格式意味着标签要么是空白的,要么是“O”,或者像“B-PERSON”。这是用于 CoNLLu 文件中 IOB 标记的格式。您的标签“in”和“an”不是该格式,因此它们无效。

我不确定您的数据是什么格式,但它看起来不像普通的 CoNLL 数据,特别是如果它实际上以制表符开头并且这不是偶然的。您应该能够通过在每个标签或其他内容前添加“I-”来将第二列转换为 IOB 标签,但存在合并相邻实体的风险。查看示例数据以了解 spaCy 的预期。

于 2021-10-12T08:28:14.443 回答