私はsyntaxnetをインストールしました。付属のデモスクリプトを使ってパーサを実行することができました。理想的には、私はPythonから直接実行したいと思います。 私が見つけた唯一のコードは、このでした:Syntaxnet/Parsey McParseface python API
完全な災害である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を直接呼び出す方法はありますか?
EDIT-syntaxnet/demo.shを開いて読むのはなぜ簡単ではないのですか?
このシェルスクリプトは、pythonスクリプトとして書かれた2つのpythonスクリプト(parser_evalとconll2tree)を呼び出し、複数のエラーを引き起こすことなくpythonモジュールにインポートすることはできません。近くに見ると、スクリプトに似たレイヤーとネイティブコードが追加されます。これらの上位層は、Pythonコンテキストですべてを実行するためにリファクタリングする必要があります。そのような変更を加えた誰かがsyntaxnetをフォークしたことはありませんか?
ヒント:オープンsyntaxnet/demo.shファイルを、それを読んで。 – RAVI
@RAVIはまだ誰もしていないのですか? – zvisofer
demo.shを開こうとしましたか?非常に小さなシェルスクリプトです。これは、parser_evalとconll2treeを使用します。必要なパラメータを使用してこれらのファイルをインポートして呼び出すことができます。 – RAVI