如何在Spyder Notebook中调用Spacy的Displacy渲染依存句法可视化图
Spyder中使用Spacy Displacy展示依存句法图的解决方案
Displacy生成的是HTML格式的可视化内容,Spyder默认运行环境不支持直接渲染该内容,可任选以下三种方案解决:
方案1:直接在浏览器中预览(最通用,无需修改Spyder配置)
将displacy.render替换为displacy.serve方法,代码示例:
import spacy nlp = spacy.load('en_core_web_sm') from spacy import displacy doc = nlp(u'This is a short text.') # 运行后控制台会提示访问本地端口,默认是http://localhost:5000 displacy.serve(doc, style='dep', options={'distance':110})
运行后打开浏览器访问提示的本地地址即可看到可视化结果,按Ctrl+C可终止本地服务。
方案2:在Spyder的IPython控制台内直接显示
需要先开启Spyder的富文本渲染支持:
- 打开Spyder顶部菜单栏的「工具」→「偏好设置」→「IPython控制台」→「显示」标签页
- 勾选「在控制台中显示富文本输出」,保存设置后重启IPython控制台
修改代码如下,手动调用IPython的渲染方法显示内容:
import spacy from spacy import displacy from IPython.display import HTML nlp = spacy.load('en_core_web_sm') doc = nlp(u'This is a short text.') html = displacy.render(doc, style='dep', options={'distance':110}, jupyter=True) display(HTML(html))
方案3:保存为本地HTML文件查看
将生成的可视化内容导出为本地HTML文件,随时打开查看:
import spacy nlp = spacy.load('en_core_web_sm') from spacy import displacy doc = nlp(u'This is a short text.') html_content = displacy.render(doc, style='dep', options={'distance':110}) # 将HTML内容写入本地文件 with open("依存句法可视化结果.html", "w", encoding="utf-8") as f: f.write(html_content)
运行后到代码的工作目录下找到导出的HTML文件,双击用浏览器打开即可查看。
内容的提问来源于stack exchange,提问作者cagatay.e.sahin
相关产品推荐
相关产品推荐

