1

実際にクラス LibLinear.java(jar ファイル) を持ち、liblinear ツールキットの Java バージョンを呼び出す Malt Parser のソース コードを見ていると、ロジスティック回帰(-s 0)でliblinear(デフォルトではmaltパーサー)を使用してモデルをトレーニングすると、解析されたツリーの確率スコアが生成されるはずであるという情報にもかかわらず、確率を返すオプション/方法が見つかりません。

主な懸念事項は次のとおりです。Liblinear と Malt Parser の統合は、相互に予想される操作に影響を与えることなくスムーズに機能しますか?

Liblinear を個別に使用すると、データセットの確率出力が得られます。

liblinear-train -s 0 train_scale 

//ロジスティック回帰モデルを使用したトレーニング データ

liblinear-predict -b 1 test_scale train_scale.model test_scale_output 

//ラベルとクラスと確率出力。ここで -b 1 は、各データセットの確率を抽出します。

参照: https://stackoverflow.com/questions/28791352/how-to-get-probability-score-of-parsed-sentences-using-malt-parser

4

1 に答える 1

1

Malt パーサーは、トランジション システムと 2 つまたは 3 つのスタックに基づいて動作します。各ステップで、liblinear または libsvm を使用して遷移が予測されます。これらのモデルへの入力は、スタックの内容とマシンの現在の状態で構成されます。したがって、あるステップで決定を下すと、残りの可能な決定に影響します。ツリーの確率を計算するには、(合計が 1 になるように) すべてのツリーの集計された確率を計算する必要があり、これは実行不可能です。おそらく、ツリーまたは特定のアークの信頼スコアを計算できますが、それは信頼スコアであり、確率ではありません。そして、私の知る限り、maltparser はこれをそのままでは提供しません。ソースコードを変更する必要がありますが、それは可能だと思います

于 2016-10-12T15:28:55.143 に答える