富田がGLRを作成し、Earleyを使用しなかったのはなぜですか?


11

Earleyの構文解析を見ると、非常にエレガントに見えますが、なぜGLR手法が人気になるのでしょうか。富田がGLRを作成したEarley解析の何が問題であったか知っていますか?パフォーマンス?これらの議論に関する出版物は高く評価されています。


5
GLRでは、文法の一部を決定論的に解析できます。たとえば、このアイデアが採用されているElkhound(scottmcpeak.com/elkhound)を参照してください。ただし、自然言語の場合、GLRがEarleyより優れていることは明らかではありません。
シルヴァン

1
@Sylvain:私への答えのように聞こえる...
ジョシュアグロチョウ2015年

回答:


5

遅くならないよりはましです。

私が正しく理解している場合、Earleyはトップダウンであり、特定のS(i)でのすべてのプロダクションのEarleyアイテムの作成に時間とメモリを費やします。これは、自然言語の場合、S(0)で、文を開始する可能性のあるすべての単語についてEarleyアイテムを作成およびチェックすることを意味します。

しかし、GLRはボトムアップであるため、効率的にハッシュされたテーブル/状態のルックアップを想定すると、最初のトークンは一定の時間で次の遷移を選択します。

これは、膨大な数の異なるプロダクションを持つ自然言語に特に当てはまります。しかし、プロダクションのセットが非常に少ないため、プログラミング言語にはあまり意味がありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.