我正在使用Spacy在笔记本中可视化NERs,如下所示:
import spacy
from spacy import displacy
text = "When Sebastian Thrun started working on self-driving cars at Google in 2007, few people outside of the company took him seriously."
nlp = spacy.load("en_core_web_sm")
doc = nlp(text)
displacy.render(doc, style="ent")(这是spacy文档中的示例)
结果:

到目前一切尚好。
问题是,是否可以访问HTML对象本身,而不仅仅是呈现它,以便通过HTML向其添加功能。更确切地说,我正在寻找的是一种在单击每个人的“按钮”时触发函数的方法。我正在寻找的这项工作是为了在jupyter集线器中工作,即Jupyter实验室,所以使用任何webframe的解决方案,如streamlit或flask或任何可以在本地服务器上运行的解决方案都超出了范围。
谢谢。
编辑1:如果您在Jupyter实验室中使用以下代码,则可以获得纯HTML:
displacy.render(doc, style="ent", jupyter'False'))你会得到:
'<div class="entities" style="line-height: 2.5; direction: ltr">When \n<mark class="entity" style="background: ....... etc....</div>'这个想法是改变按钮:

...into可点击按钮。
我猜方法是解析HTML的add clickable按钮,然后用ipywidgets jslink之类的东西做点什么。
发布于 2021-09-30 16:41:29
您可以使用ipywidgets:
from ipywidgets import interact_manual
@interact_manual
def html():
path="file_name.html"
Html_file= open(path,"w")
Html_file.write(displacy.render(doc, style="ent"))
Html_file.close()当您按下按钮时,这将把输出保存为html文件。
https://stackoverflow.com/questions/69391542
复制相似问题