2

以下のJavaコードでスタンフォードパーサーを使用して、文を解析し、解析スコアを取得できます

LexicalizedParser lp = LexicalizedParser.loadModel(
    "edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz"
);

lp.setOptionFlags(new String[]{"-maxLength", "80", "-retainTmpSubcategories"});

String sent = "My name is Rahul";
Tree parse = (Tree) lp.apply(sent);
double score = parse.score();

スタンフォード パーサーによって与えられたこの解析スコアを使用して、文の文法性をチェックする方法はありますか?

ありがとう。

4

2 に答える 2

4

@kutschkemとは対照的に、答えは難しい「いいえ」ではなく、非常に慎重な「多分」だと思います。これは間違いなく活発な研究分野です。長さで正規化された解析スコア (確率内) が二峰性分布を示すことを示す (未発表の) 作業を見てきました。手動で注釈を付けた「悪い」文は一般的に低いピークに落ち、「良い」文は高いピークに落ちます。これは 1 つの特定のコーパス (私の記憶が正しければツイートのコーパス) に関するものであり、他の場所で複製されているかどうかはわかりません。

より一般的には、構文解析情報は文法の分類に非常に役立ちますが、おそらく唯一の分類機能ではありません。Joel Tetrault と彼が ETS で一緒に働いた研究チームの研究のいくつかを見ることができるかもしれません。ダブリンの Jennifer Foster も、この分野でいくつかの作業を行っています。彼らの論文 (および参考文献) を読むと、すぐに始めることができます。

しかし、(残念ながら) 有用な分類子を構築することは、単に内部の解析スコアを抽出するほど簡単ではありません。

于 2013-04-04T05:47:48.017 に答える