0

私は、クローズドコンテキストで特定のアクションを抽出できるソリューションを開発しようとしています。

たとえば、映画のチケットを予約する場合、ユーザーが次のように言った場合:

「明日の夜、映画館に行きたいのですが、カサブランカになります。最後の列に行きたいのですが」

映画の名前、希望の座席、投影の日付と時間などを取得するための文法を設計しました。

しかし、そのようなソリューションを開発するためにANTLRについて考えましたが、それがそのような機能を備えているかどうか、つまり、いくつかのルートシンボルを定義できるかどうかはわかりません。

4

2 に答える 2

3

ANTLR には、文法のあいまいさに対処する方法があります。これらのメソッドは ANTLR 4 で改善されていますが、あいまいな言語 (特に人間の言語) を処理する場合、ANTLR がそのタスクに適さなくなることが避けられない 1 つの大きな制限に直面します。

ANTLR は最終的に、複数の潜在的なオプションの中から 1 つの特定のオプションが正しいソリューションであると判断することで、あいまいさを解決します。この解決は ANTLR を使用した解析プロセスの非常に早い段階で行われるため、この意思決定プロセスにセマンティック ロジックを組み込むことは非常に困難です (構文のみを含むロジックとは対照的に)。

編集: NLP のコンテキストで ANTLR 4 について特に興味深い点の 1 つは、ANTLR 4 が拡張遷移ネットワークをパーサーの基礎として使用しているという事実です。自然言語処理で使用するためにそれを変更することが可能であることはどこかで知っていますが、これまでのところ、それを機能させる方法はわかりませんでした. 参照: 私は ANTLR 4 ランタイムの最適化されたバージョンを開発しました。これは現在、参照ブランチよりわずかに遅れていますが、この夏の後半に追いつく予定です。

于 2012-07-04T15:31:40.597 に答える
2

ANTLR は、人間の言語を解析するのにはあまり適していません。人間の言語はあいまいすぎます。代わりにNLPを試してください。自然言語処理ツールキットのリストは次のとおりです。

于 2012-07-03T08:24:16.770 に答える