Allen NLP Open IE 予測子モデルから (subject,relation,object) のタプル形式でクリーンなトリプルを抽出したいと思います。
現在、手順は次のとおりです。
OIE_output = predictor_OIE.predict(sentence=sent)
for verb in OIE_output['verbs']:
srl_output = predictor_OIE.make_srl_string(words,verb['tags'])
srl_output を印刷すると、次のような文内にタグが付けられます。
[ARG0: Raytheon Technologies Corporation が研究]、開発、および [V: 製造] [ARG1: 先端技術製品] [ARGM-LOC: 航空宇宙および防衛産業]、[C-ARG1: 航空機エンジン、アビオニクス、航空構造を含む、サイバーセキュリティ] [ARGM-ADV: 、ミサイル、防空システム、ドローン] .
問題は、このような例文を (主語、関係、目的語) の複数のタプルに変換するコードが見つからないことです。特に、ARGM-LOC や ARGM-ADV などの特殊なタイプのタグは、事態をさらに困難にします。
私はすでに時代遅れの Github リポジトリhttps://github.com/gabrielStanovsky/supervised_oie_wrapper (これらのタイプのタプルを完全には作成していません) を調べましたが、AllenNLP で見つけることができるこれに最も近い関数はmake_srl_string
メソッドでしたが、出力はタプルを作成するには、後処理が必要です。
AllenNLP Open IE モデルからタプルを作成するコードはありますか? そうでない場合は、これを機能として追加できますか?
詳細はgithub issue https://github.com/allenai/allennlp/issues/4857で説明