我想用 spaCy 在此处提供的代码保存 spaCy 的可视化:https ://spacy.io/usage/visualizers
这是我的代码:
nlp = spacy.load("en_core_web_sm")
doc = nlp(u"Autonomous cars shift insurance liability toward manufacturers")
svg = spacy.displacy.render(doc, style="dep")
output_path = Path(os.path.join("./", "sentence.svg"))
output_path.open('w', encoding="utf-8").write(svg)
Run Code Online (Sandbox Code Playgroud)
但是当我执行这段代码时,有一个错误:TypeError: write() 参数必须是 str,而不是 None
那么如何保存 spacy.displacy.render 的输出呢?我该如何解决这个错误?
在像 PyCharm 这样的 IDE 中执行时,问题中提供的代码工作正常。
但是,displacy.render()在 Jupyter 笔记本中的工作方式略有不同,请参阅此处和此处的文档:
如果您正在运行 Jupyter 笔记本,displaCy 将检测到这一点并以准备呈现和导出的格式返回标记。
您可以通过jupyter=False在render()调用中显式设置来覆盖此自动检测。