文法誘導(または文法推論)[ 1 ]は、機械学習において、一連の観測データから形式文法(通常は書き換え規則や生成規則の集合、あるいは有限状態機械やオートマトンなど)を学習し、観測対象の特性を説明するモデルを構築するプロセスです。より一般的には、文法推論は、インスタンス空間が文字列、木、グラフなどの離散的な組み合わせオブジェクトで構成される機械学習の分野です。
文法推論は、1980年代以降、この問題に対する効率的なアルゴリズムが存在してきたため、さまざまなタイプの有限状態機械の学習という問題に重点が置かれることが多かった(これらのアプローチの詳細については、 「正規言語の誘導」の記事を参照)。
20世紀初頭以来、これらのアプローチは文脈自由文法や、多重文脈自由文法や並列多重文脈自由文法などのより豊かな形式体系の推論の問題に拡張されてきた。文法推論が研究されてきた他の文法クラスには、組み合わせカテゴリ文法[ 2 ] 、確率的文脈自由文法[ 3 ]、文脈文法、パターン言語などがある。
最も単純な学習形態は、学習アルゴリズムが対象言語から抽出された一連の例を受け取るだけのものです。目的は、その言語の例(そしてまれに、反例、つまりその言語に属さない例)からその言語を学習することです。しかし、他の学習モデルも研究されています。よく研究される代替案の1つは、Angluinによって導入された正確なクエリ学習モデルや最小限適切な教師モデルのように、学習者がメンバーシップクエリを要求できる場合です。[ 4 ]
文法推論にはさまざまな方法があります。古典的な文献としては、Fu (1977)とFu (1982)が挙げられます。Duda 、Hart 、 Stork (2001)もこの問題に短いセクションを割き、多くの参考文献を挙げています。彼らが提示する基本的な試行錯誤法については、以下で説明します。特に正規言語のサブクラスを推論するアプローチについては、 「正規言語の帰納」を参照してください。より新しい教科書としては、de la Higuera (2010) [ 1 ]があり、正規言語と有限状態オートマトンにおける文法推論の理論を扱っています。D'Ulizia、Ferri、Grifoni [ 5 ]は、自然言語の文法推論方法を調査した概説を提供しています。
Duda、Hart 、 Stork (2001)の第 8.7 節で提案されている方法は、文法規則(生成規則)を順次推測し、それらを肯定例と否定例に対してテストするというものです。規則セットは、各肯定例を生成できるように拡張されますが、与えられた規則セットが否定例も生成する場合は、その規則セットは破棄されなければなりません。この特定のアプローチは「仮説検定」と特徴づけられ、Mitchel のバージョン空間アルゴリズムといくらか類似しています。Duda 、Hart 、 Stork (2001)の本文には、このプロセスをうまく説明する簡単な例が示されていますが、このようなガイドなしの試行錯誤アプローチが、より深刻な問題に適用できるかどうかは疑問です。
進化アルゴリズムを用いた文法帰納法とは、何らかの進化プロセスを通して対象言語の文法表現を進化させるプロセスである。形式文法は、進化演算子を適用できる生成規則のツリー構造として容易に表現できる。このようなアルゴリズムは、ジョン・コザが先駆的に開発した遺伝的プログラミングのパラダイムに由来する。単純な形式言語に関する初期の研究では、遺伝的アルゴリズムのバイナリ文字列表現が用いられていたが、 EBNF言語で記述された文法の本質的に階層的な構造により、ツリー構造の方がより柔軟なアプローチとなった。
KozaはLispプログラムを木構造として表現した。彼は、標準的な木構造演算子の中に遺伝的演算子の類似点を見出すことができた。例えば、部分木の交換は、遺伝的交叉の対応するプロセス、すなわち遺伝コードの部分文字列を次世代の個体に移植するプロセスに相当する。適応度は、 Lispコードの関数の出力をスコアリングすることで測定される。木構造のLisp表現と、文法を木構造として表現することの間に同様の類似点があったため、遺伝的プログラミング技術を文法誘導に適用することが可能になった。
文法誘導の場合、サブツリーの移植は、ある言語の句を解析できるようにする生成規則の交換に対応します。文法の適合度演算子は、対象言語の文群を解析する際の文法の性能を測る何らかの尺度に基づいています。文法の木構造表現では、生成規則の終端記号は木の葉ノードに対応します。その親ノードは、規則セット内の非終端記号(例えば、名詞句や動詞句)に対応します。最終的に、ルートノードは文の非終端記号に対応する可能性があります。
すべての貪欲アルゴリズムと同様に、貪欲文法推論アルゴリズムは、その段階で最善と思われる決定を反復的に行います。通常、これらの決定は、新しいルールの作成、既存のルールの削除、適用するルールの選択、または既存のルールの統合といった事柄に関係します。「段階」と「最善」の定義には複数の方法があるため、貪欲文法推論アルゴリズムも複数存在します。
これらの文脈自由文法生成アルゴリズムは、読み取った記号ごとに判断を下します。
これらの文脈自由文法生成アルゴリズムは、まず与えられた記号列全体を読み込み、それから判断を開始します。
より最近のアプローチは、分布学習に基づいています。これらのアプローチを使用したアルゴリズムは、文脈自由文法と軽度に文脈依存的な言語の学習に適用され、これらの文法の大きなサブクラスに対して正しく効率的であることが証明されています。[ 8 ]
Angluin はパターンを「Σ からの定数記号と互いに素な集合からの変数記号の文字列」と定義しています。このようなパターンの言語は、その空でないすべての基本インスタンスの集合、つまり、その変数記号を定数記号の空でない文字列で一貫して置き換えることによって得られるすべての文字列の集合です。 [注 1 ] パターンは、入力文字列の有限集合に対して記述的であるとは、その言語が入力集合を包含するすべてのパターン言語の中で最小である場合(集合包含に関して)を指します。
アングルインは、与えられた入力文字列セットに対して、1 つの変数xにすべての記述パターンを計算する多項式アルゴリズムを提示している。[注 2 ] この目的のために、彼女は関連する可能性のあるすべてのパターンを表すオートマトンを構築している。x が唯一の変数であることに依存する単語の長さに関する高度な議論を使用することで、状態数を大幅に削減できる。[ 9 ]
Erlebachらは、Angluinのパターン学習アルゴリズムのより効率的なバージョンと並列化されたバージョンを提示している。[ 10 ]
有村らは、パターンの限定された和集合から得られる言語クラスは多項式時間で学習できることを示した。[ 11 ]
ウルフ・グレナンダー[ 12 ]によって定式化されたパターン理論は、世界の知識をパターンとして記述するための数学的形式体系である。他の人工知能のアプローチとは異なり、パターンを認識し分類するためのアルゴリズムや機械を規定することから始めるのではなく、パターンの概念を正確な言語で明確に表現し、再構築するための語彙を規定する。
新しい代数用語に加えて、その統計的手法は、以下の目的において斬新であった。
パターン理論は数学的な範囲が広く、代数学や統計学だけでなく、局所的な位相幾何学的性質や全体的なエントロピー的性質にも及ぶ。
文法誘導の原理は、自然言語処理の他の側面にも適用されており、意味解析[ 2 ] 、自然言語理解[ 13 ] 、例に基づく翻訳[ 14 ] 、言語習得[ 15 ] 、文法に基づく圧縮[ 16 ]、異常検出[ 17 ]など、多くの問題に適用されています。

文法ベースコードまたは文法ベース圧縮は、圧縮対象の文字列に対して文脈自由文法(CFG)を構築するという考えに基づいた圧縮アルゴリズムです。例としては、普遍的なロスレスデータ圧縮アルゴリズムなどがあります。[ 18 ]データシーケンスを圧縮するには文法に基づくコード変換文脈自由文法へ入力シーケンスに対する最小文法を見つける問題(最小文法問題)はNP困難であることが知られており[ 19 ] 、そのため理論的および実践的な観点から多くの文法変換アルゴリズムが提案されている。一般に、生成された文法は算術符号化などの統計的符号化器によってさらに圧縮されます。
QSMM – テンプレートによる文脈自由文法の誘導のための適応型パーサー