【发布时间】:2021-10-12 08:07:24
【问题描述】:
在我的 spaCy 项目中,我想用文本、标签和空格初始化一个 Doc 对象。 然而 spaCy 不欣赏我提供标签的方式,并在以下错误消息中表明它缺乏欣赏:
doc = Doc(nlp.vocab, words=token_texts, ents=labels, spaces=whitespaces) File "spacy\tokens\doc.pyx", line 297, in spacy.tokens.doc.Doc.__init__ ValueError: [E177] Ill-formed IOB input detected: ('', 'O')
代码:
import spacy
from spacy.tokens import Doc
nlp = spacy.load("en_core_web_sm")
token_texts = ["I", "like", "potatoes", "!"]
labels = [("", "O"), ("", "O"), ("food", "I"), ("", "O")]
whitespaces = [True, True, False, False]
doc = Doc(nlp.vocab, words=token_texts, ents=labels, spaces=whitespaces)
有人知道如何准确地为银盘上的实体服务吗?
ent: 一个字符串列表,相同长度的单词,分配给 基于令牌的 IOB 标签。默认为无。可选[列表[str]]
类型提示List[str] 让我尝试["", "", "food", ""],但结果是相同的错误消息。
没有答案的 Stackoverflow 链接:
Convert NER SpaCy format to IOB format
Convert list of IOB formatted data to simple IOB formatted data
【问题讨论】: