Я установил синтаксическую сеть и могу запустить парсер с предоставленной демонстрацией script. В идеале я хотел бы запустить его прямо из 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).
Как я могу напрямую обращаться к API-интерфейсам python, не просматривая сценарии оболочки, стандартный ввод-вывод и т.д.
EDIT - Почему это не так просто, как открытие synaxnet/demo.sh и чтение его?
Эта оболочка script вызывает два сценария python (parser_eval и conll2tree), которые написаны как скрипты python и не могут быть импортированы в модуль python без возникновения нескольких ошибок. Более пристальный взгляд дает дополнительные script -подобные слои и собственный код. Эти верхние уровни необходимо реорганизовать, чтобы запустить все это в контексте python. Разве никто не разветвлял синтаксис с такой модификацией или намеревался сделать это?