如何在使用 Spacy NER 预测命名实体的同时从文本中删除 html 标记,并使用 html 标记再次以原始格式显示



我正在使用 Spacy NER 从文本中识别命名实体,但我有整个 HTML 页面作为输入,所以我如何从文本中删除所有 html 标签,只将没有 html 标签的原始文本提供给 NER 模型进行预测,预测后如何显示带有 HTML 标签的相同文本?

我尝试xml.etree.ElementTree删除HTML标签,这给了我没有html标签的文本,但是在预测之后,我如何以原始格式显示带有所有html标签的文本。

import xml.etree.ElementTree
def remove_html_tags(text):
"""Remove html tags from a string"""
return ''.join(xml.etree.ElementTree.fromstring(text).itertext())

有什么方法可以再次使用原始 html 标签显示此文本,或者 Spacy 在预测命名实体时具有忽略 html 标签的任何功能?

我知道这是懒惰的方式,但您可以将 html 页面的第一个条件保存在某处。

我不认为 spacy 有这样的功能......但你可以保存 xml 元素树,然后只是将文本传递给空间...某些版本:

root = xml.etree.ElementTree.fromstring(text)
doc = nlp(root.itertext())

最新更新