我已经安装了 syntaxnet,并且能够使用提供的演示脚本运行解析器。理想情况下,我想直接从 python 运行它。我发现的唯一代码是:
import subprocess
import os
os.chdir(r"../models/syntaxnet")
subprocess.call([
"echo 'Bob brought the pizza to Alice.' | syntaxnet/demo.sh"
], shell = True)
这是一场彻底的灾难——效率低下且过于复杂(从 python 调用 python 应该用 python 完成)。
我怎样才能直接调用 python API,而不通过 shell 脚本、标准 I/O 等?
编辑 -为什么这不像打开 syntaxnet/demo.sh 并阅读它那么容易?
这个 shell 脚本调用了两个 python 脚本(parser_eval 和 conll2tree),它们被编写为 python 脚本,并且不能导入到 python 模块中而不会导致多个错误。仔细观察会产生额外的类似脚本的层和本机代码。为了在 python 上下文中运行整个事情,需要重构这些上层。没有人对语法网进行这样的修改或打算这样做吗?