6

この回答は、パーサージェネレーターを使用して、テキストを調べて関心のあるパターンを探す良い例を示しています。その例では、製品価格です。

トレーニング例 (ドキュメント + 必要な情報) を指定して文法を生成するツールを知っている人はいますか? いくつかの論文を見つけましたが、ツールはありませんでした。ANTLRドキュメントを少し調べましたが、文法を扱っています。「レコグナイザー」は、トレーニング例ではなく、文法を入力として受け取ります。

4

2 に答える 2

3

これは機械学習の問題です。せいぜい近似値を得ることができます。しかし、ツールをリリースするどころか、誰もこれをうまくやったとは思いません。(私は人々がコンピューター言語の文法を構築するために何をしているかを積極的に追跡しており、このアイデアは何度も提案されていますが、有用な実装はまだ見たことがありません)。

問題は、固定された例のセットに対して、膨大な数の可能な文法があることです。単純なものを構築するのは簡単です。固定された例のセットに対して、各例を認識するための 1 つの規則を持つ文法を提案するだけです。それは機能しますが、ほとんど役に立ちません。問題は、これを一般化できる方法はいくつあり、どれが最適かということです。実際、あなたの次の新しい例は、構造の面で完全な驚きになる可能性があるため、知ることはできません. (理論の定義: 言語とは、それを構成する一連の文です)。

言語の語彙素を学習するという、より単純な問題についてはまだ話しませんでした。浮動小数点数の正当な文字列とは何かを学ぶためにどのように提案しますか?

于 2011-03-29T16:07:30.733 に答える
2

これを行うツールの 1 つがNLTKです。私はそれを強くお勧めします。それを扱った O'Reilly の本はオンラインで無料で入手できます。構文解析、文法の学習などのためのツールがあります。唯一の欠点は、主に生産ツールではなく研究であるため、パフォーマンスに重点が置かれていないことです。

NLTK は、ラベル付けされたトレーニング サンプルから文法を構築できます。これは、まさにあなたが求めているものです。素晴らしいドキュメントと本をご覧ください。(私の最後の経験では、Jython を介して JVM で問題なく動作していました。)

于 2011-05-23T11:52:37.160 に答える