リンク文法(LG) は、Davy Temperley とDaniel Sleatorによる構文理論で、句構造階層で構成要素を構築するのではなく、単語のペア間の関係を構築します。リンク文法は依存文法に似ていますが、依存文法にはヘッド依存関係が含まれるのに対し、リンク文法ではヘッド依存関係はオプションです (リンクは方向を示す必要はありません)。[ 1 ] カラー多平面リンク文法 (CMLG) は、単語のペア間の交差関係を可能にする LG の拡張です。[ 2 ]単語間の関係はリンクタイプで示されるため、リンク文法は特定のカテゴリ文法と密接に関連しています。
例えば、英語のような主語-動詞-目的語の語順を持つ言語では、動詞は主語関係を形成するために左に移動し、目的語関係を形成するために右に移動します。名詞は主語関係を完成させるために右に移動し、目的語関係を完成させるために左に移動します。
ペルシア語のような主語-目的語-動詞の語順を持つ言語では、動詞は目的語を形成するために左方向を参照し、主語を形成するためにさらに左方向を参照します。名詞は主語と目的語の両方の語順において右方向を参照します。
リンク文法は、文中の単語をカテナに似たリンクで接続します。カテナや従来の依存文法とは異なり、主語依存関係のマーキングはほとんどの言語で任意であり、自由語順言語(トルコ語、[ 3 ]フィンランド語、ハンガリー語など)でのみ必須となります。つまり、英語では主語と動詞の関係は「明白」であり、主語はほぼ常に動詞の左側にあるため、依存関係を特に示す必要はありません。主語と動詞の倒置の場合は、別のリンクタイプが使用されます。自由語順言語では、これはもはや成り立たず、主語と動詞の間のリンクには、どちらの単語がどちらであるかを示す明示的な方向矢印を含める必要があります。
リンク文法は、単語間の循環関係を許容するという点で、従来の依存文法とは異なります。例えば、文の主要動詞、主要主語、そして主語と動詞の間のリンクを示すリンクが存在する場合があります。これらの3つのリンクは、このようにしてサイクル(この場合は三角形)を形成します。サイクルは、そうでなければ曖昧になりうる構文解析を制約するのに役立ちます。サイクルは、文の許容される構文解析の集合を「絞り込む」のに役立ちます。
例えば、パースでは
+---->WV--->+ +--Wd--+-Ss-+--Pa--+ | | | | 左壁彼は速く走る
LEFT-WALL は文の開始、つまりルートノードを示します。方向付きWVリンク (矢印付き) は文の主要動詞を指し、これは Wall-Verb リンクです。[ 4 ] Wd リンク (ここでは矢印なしで描かれています) は文の主要名詞 (主語) を示します。リンクタイプWdは、それがウォール (W) に接続していることと、文が宣言文 (小文字の "d" サブタイプ) であることを示しています。[ 5 ] Ssリンクは主語と動詞の関係を示します。小文字の "s" は主語が単数であることを示しています。[ 6 ] WV、Wd、Ss リンクはサイクルを形成していることに注意してください。Pa リンクは動詞を補語に接続します。小文字の "a" は、この場合それが述語形容詞であることを示しています。 [ 7 ]
構文解析は、パズルピース(個々の単語を表す)からジグソーパズル(解析された文を表す)を組み立てることになぞらえて行われます。[ 8 ] [ 9 ] 言語は、単語と各単語が持つことができる「ジグソーパズルの形状」のセットからなる辞書または語彙によって表現されます。形状は、リンクタイプの「コネクタ」と、右または左を示す方向指示子+または-によって示されます。たとえば、他動詞は、左側(" - ")に主語(" S ")接続を形成でき、右側(" + ")に目的語(" O ")接続を形成できることを示すコネクタS- および O+ を持つことができます。同様に、普通名詞は、左側(" D- ")で限定詞に接続でき、右側(" S+ ")で動詞に接続するときに主語として機能できることを示すコネクタD- および S+を持つことができます。構文解析とは、S+コネクタがS-コネクタに接続できることを識別し、2つの単語間に「S」リンクを形成することです。すべてのコネクタが接続されると、構文解析は完了します。
特定の単語には、数十個または数百個の許容されるパズル形状(「分離要素」と呼ばれる)が存在する可能性があります。たとえば、多くの動詞は任意に他動詞である場合があり、そのためO+コネクタは任意になります。そのような動詞は、本質的に任意である副詞的修飾語(Eコネクタ)を取ることもあります。より複雑な動詞には、間接目的語、または助詞や前置詞のための追加のコネクタがある場合があります。したがって、構文解析の一部には、単語に対して 1 つの固有の分離要素を選択することも含まれます。最終的な構文解析では、その分離要素のすべてのコネクタを満たす(接続する)必要があります。 [ 10 ]
コネクタには、ヘッド依存インジケータhおよびdが含まれる場合もあります。この場合、ヘッドインジケータを含むコネクタは、依存インジケータを含むコネクタ(または hd インジケータのないコネクタ)にのみ接続できます。これらのインジケータが使用される場合、リンクにはリンク方向を示す矢印が付けられます。[ 9 ]
最近の拡張機能により、リトアニア語のように語順に関する制約がほとんどない、あるいは全くない言語におけるコネクタの指定が簡素化されました。また、連結形態論を持つ言語のサポートを容易にするための拡張機能も用意されています。
構文解析アルゴリズムでは、最終的なグラフが平面グラフ、つまりリンクが交差しないことも要求されます。[ 9 ]この制約は、ほとんどの言語において、ほぼすべての状況で依存関係リンクが実際に交差しないという経験的な心理言語学的証拠に基づいています。[ 11 ] [ 12 ]フィンランド語や英語など、まれな例外もあります。これらの例外は、このような状況を捉えるために、より複雑で選択的なコネクタタイプを導入することによってのみ、リンク文法で解析できます。
コネクタにはオプションの浮動小数点コストマークアップがあり、一部のコネクタは他のコネクタよりも「安価」に使用できるため、特定の構文解析が他の構文解析よりも優先されます。[ 9 ] つまり、構文解析の総コストは、使用されたコネクタの個々のコストの合計です。最も安価な構文解析は、最も可能性の高い構文解析を示します。これは、複数の曖昧な構文解析の構文ランキングに使用されます。コストがコネクタにローカルであり、アルゴリズムのグローバルなプロパティではないという事実は、本質的にマルコフ的な性質を持っています。[ 13 ] [ 14 ] [ 15 ] [ 16 ] [ 17 ] [ 18 ]
連結に対数尤度を割り当てることで、連結文法は述語と引数の関係における意味的な選択を実現できる。つまり、構文的には正しいものの、極めて起こりにくい構文が存在する。このように、連結文法は演算子文法に存在するいくつかの概念を具現化している。
コストは加算性を持つため、確率の対数(対数尤度は加算性を持つため)のように振る舞い、あるいはエントロピー(エントロピーは加算性を持つため)のように振る舞います。このため、リンク文法は隠れマルコフモデルやビタビアルゴリズムなどの機械学習手法と互換性があります。なぜなら、リンクコストはマルコフネットワークやベイジアンネットワークにおけるリンクの重みに対応するからです。
リンク文法のリンク型は、型理論の意味での型と理解できる。[ 9 ] [ 19 ] 実際には、リンク文法は、前群文法などの特定の(非対称な)コンパクトな閉圏の内部言語をモデル化するために使用できる。この意味で、リンク文法はいくつかの圏論的文法と同型または準同型であるように見える。したがって、たとえば、圏論的文法では、名詞句「the bad boy」は次のように記述できる。
一方、リンク文法における対応する選言子は次のようになる。
評価:D+ 悪い:A+ 男の子:D- & A-;
ランベック計算の縮約規則(推論規則)は、リンク文法におけるコネクタの接続に対応付けられます。+と- の方向指示子は、範疇文法のスラッシュとバックスラッシュに対応します。最後に、1 文字の名前AとD は、 NP/Nなど、より冗長な型に対するラベル、あるいは「読みやすい」記憶術名として理解できます。
ここでの主な違いは、範疇文法には、基本型(NPやNなど)から新しい型( NP/Nなど)を作成するために使用できる、スラッシュとバックスラッシュという2つの型コンストラクタがある点です。リンク文法では型コンストラクタの使用を省略し、代わりに、簡潔で覚えやすいニーモニックを持つ、はるかに大きな基本型セットを定義します。
SVO言語の基本的なルールファイルは次のようになります。
<限定詞> D+; <名詞-主語> {D−} & S+; <名詞-目的語> {D−} & O−; <動詞> S− & {O+}; したがって、英語の文「少年は絵を描いた」は次のようになります。
+-----O-----+ +-D-+--S--+ +--D--+ | | | | | 少年は絵を描いた
中国語にも同様の解析が適用される。[ 20 ]
逆に、ヌル主語SOV言語のルールファイルは、以下のリンクで構成される可能性があります。
<名詞-主語> S+; <名詞-目的語> O+; <動詞> {O−} & {S−}; 簡単なペルシア語の文、man nAn xordam (من نان خوردم) 「パンを食べました」は次のようになります: [ 21 ] [ 22 ] [ 23 ]
+-----S-----+ | +--O--+ | | | 男 nAn xordam
VSO の順序も同様に対応可能で、アラビア語などにも適用できます。[ 24 ]
連結形態論を持つ多くの言語では、語幹は文法的な役割を果たさず、文法は接尾辞によって決定されます。したがって、ロシア語では、文「вверху плыли редкие облачка」は次のように解析される可能性があります。[ 25 ] [ 26 ]
+------------Wd-----------+---------------SIp---------------+ | +----------EI------+ +----------アピ------+ | | +--LLCZD-+ +-LLAQZ+ +--LLCAO-+ | | | | | | | | 左壁 вверху.e плы.= =ли.vnndpp ре.= =дкие.api облачк.= =а.ndnpi
'.vnndpp' のような添え字は、文法カテゴリーを示すために使用されます。主要なリンクである Wd、EI、SIp、Api は接尾辞同士を結び付けます。原則として、文の構造を変えることなく、他の語幹をここに配置することも可能です。Api リンクは形容詞を示し、SIp は主語と動詞の倒置を示し、EI は修飾語です。Wd リンクは中心名詞を示すために使用されますが、この文では中心動詞は示されていません。LLXXX リンクは、語幹を接尾辞に結び付けるためだけに使用されます。
リンク文法は、隣接する単語間の音韻的一致を示すこともできます。例えば:
+---------Ost--------+ +------>WV------>+ +------Ds**x-----+ +----Wd---+-Ss*b-+ +--PHv-+----A----+ | | | | | | 左壁は、抽象的な概念です。
ここでは、接続詞「PH」を使用して、「abstract」の前に出現できる限定詞を制限しています。これにより、この文で限定詞「a」を使用することが効果的にブロックされ(コストが高くなり)、一方「an」へのリンクは安価になります。その他のリンクは、おおよそ前の例と同じです。Sは主語、Oは目的語、Dは限定詞を表します。「WV」リンクは主要動詞を示し、「W」リンクは主要名詞を示します。大文字のリンクタイプの後に続く小文字は、タイプを細分化するために使用されます。たとえば、Dsは単数名詞にのみ接続でき、Ssは単数主語にのみ接続でき、Osは単数目的語に接続できます。PHvの小文字のvは「母音」を表し、Wdの小文字のdは平叙文を表します。
ベトナム語の文「Bữa tiệc hôm qua là một thành công lớn」-「昨日のパーティーは大成功でした」は次のように解析できます: [ 27 ]

| リンク文法パーサー | |
|---|---|
| 開発者 | OpenCog |
| リリース | 1991年10月 (1991-10)[ 1 ] |
| 安定放出 | |
| 執筆 | C++(元々はC言語) |
| オペレーティング·システム | クロスプラットフォーム |
| プラットフォーム | GNU |
| タイプ | 自然言語処理 |
| ライセンス | LGPLv2 |
| Webサイト | opencog.github.io/link-grammar-website/ |
| リポジトリ |
|
リンク文法構文解析器は、 C 言語で書かれた自然言語処理ライブラリです。LGPLライセンスで利用可能です。この解析器[ 30 ]は開発中のプロジェクトです。最近のバージョンには、文の網羅性の向上、ロシア語、ペルシア語、アラビア語のサポート、ドイツ語、ヘブライ語、リトアニア語、ベトナム語、トルコ語のプロトタイプ、Python、Java、Common LISP、AutoIt、OCamlのプログラミング API、 Perl [ 31 ]、Ruby [ 32 ]、JavaScript node.js [ 33 ]のサードパーティバインディングが含まれています。
現在進行中の主要な取り組みは、教師なし学習アルゴリズムを使用して新しい言語の文法と形態論を学習するプロジェクトです。[ 34 ] [ 35 ]
英語のリンク解析プログラムとルールおよび単語リストは、標準的なLinuxディストリビューション(例えばDebianパッケージ)に含まれているが、その多くは何年も前のものだ。[ 36 ]

無料のワードプロセッサであるAbiWord [ 30 ]は、リンク文法を使用してリアルタイムで文法チェックを行います。どこにもリンクできない単語は緑色で下線が引かれます。
リンク文法ライブラリの上に構築された意味関係抽出器 RelEx [ 37 ]は、文中の単語間の意味関係を明示することで依存文法出力を生成します。その出力は、意味テキスト理論の SSyntR と DSyntR の中間のレベルに分類できます。また、フレーミング/グラウンディング、照応解決、ヘッドワード識別、語彙チャンキング、品詞識別、およびエンティティ、日付、金額、性別などのタグ付けを含むタグ付けも提供します。スタンフォード構文解析器[ 38 ]および Penn Treebank [ 39 ]と互換性のあるPOS タグ付けと互換性のある依存出力を生成するための互換モードも含まれています。
リンク文法は、生物医学テキスト[ 40 ] [ 41 ]やニュース記事[ 42 ]で説明されている出来事の情報抽出、英語からドイツ語、トルコ語、インドネシア語[ 43 ]、ペルシア語[ 44 ] [ 45 ]への実験的な機械翻訳システムにも使用されています。
リンク文法リンク辞書は、NLGen [ 46 ] 、 NLGen2 [ 47 ]、microplanner/surreal [ 48 ]という 3 つの異なる自然言語生成システムの構文の正しさを生成および検証するために使用されます。また、 OpenCog AI プロジェクトの NLP パイプラインの一部としても使用されます。