我有一个文本文件,我使用 SpaCy 创建了一个 DOC 对象:
doc = nlp.make_doc(raw_text)
对于这个 DOC 对象中的每个单词,我还有一个自定义 IOP 标签列表:
['O', 'B-PER', 'I-PER', 'O', 'O', 'O', 'O', 'B-DATE', 'I-DATE', 'I-DATE', 'I-DATE', 'I-DATE', 'O', 'O', 'O', 'O', 'O', 'B-ORG', 'I-ORG']
我想将这些标签中的每一个分配给 DOC 对象中的每个单词,并使用 DisplaCy 可视化结果(标签列表的长度等于 doc 对象的长度):
displacy.render(doc, style="ent", jupyter=True)
但是,我不知道如何实现这一点。当我有每个标签标签的开始和结束索引时,我已经使用了该doc.char_span
方法:
def Visulaizer(file_name, path):
nlp = spacy.blank("fa")
f = open(path+'/'+file_name+'.txt', 'r')
raw_text = f.read()
doc = nlp.make_doc(raw_text)
spans = tags
ents = []
for span_start, span_end, label in spans:
ent = doc.char_span(span_start, span_end, label=label)
if ent is None:
continue
ents.append(ent)
doc.ents = ents
displacy.render(doc, style="ent", jupyter=True)
visualized_data = Visulaizer('test', path)
如何更改我的代码以使其与我当前的设置相匹配?