如何解决ValueError:[E177]检测到格式错误的IOB输入:A?

2024-10-01 11:20:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图将conll格式的数据转换为spacy的json格式来训练模型

我正在使用spacy的convert进行同样的转换。我试过这个命令

      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


Tags: 数据jsonconvertinputspacy格式错误valueerror
1条回答
网友
1楼 · 发布于 2024-10-01 11:20:19

IOB格式表示标签为空白,“O”或类似“B-PERSON”。这是CoNLLu文件中IOB标记使用的格式。您的标记“in”和“an”不是该格式,因此它们无效

我不确定您的数据是什么格式,但它看起来不像正常的CoNLL数据,特别是如果它实际上是以选项卡开头的,而且这不是偶然的。您应该能够将第二列转换为IOB标记,通过在每个标记或其他标记前面加上“I-”,可能会合并相邻的实体。查看example data以了解spaCy的期望

相关问题 更多 >