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で行う必要があります)。
シェル スクリプトや標準 I/O などを介さずに、Python API を直接呼び出すにはどうすればよいですか?
編集 -なぜこれは syntaxnet/demo.sh を開いて読むのと同じくらい簡単ではないのですか?
このシェル スクリプトは、2 つの Python スクリプト (parser_eval と conll2tree) を呼び出します。これらは Python スクリプトとして記述されており、Python モジュールにインポートすると複数のエラーが発生します。よく見ると、スクリプトのようなレイヤーとネイティブ コードが追加されています。Python コンテキストですべてを実行するには、これらの上位レイヤーをリファクタリングする必要があります。誰もそのような変更を加えて syntaxnet をフォークしていませんか、そうするつもりですか?