Bağ grameri

**Bağ grameri** (Link grammar - LG), Davy Temperley ve Daniel Sleator tarafından geliştirilmiş sözdizimi teorisidir. Ağaç benzeri bir hiyerarşi içinde bileşenler oluşturmak yerine kelime çiftleri arasında ilişkiler oluşturur. İki temel parametresi vardır: yön ve mesafe. Link grammar, bağımsal dilbilgisine benzerlik gösterir ama bağımsal dilbilgisi tamlayan bağımlı bir ilişki içerir ve kelimeler arasında ilişki yönü yoktur. Colored Multiplanar Link Grammar (CMLG), kelime çiftleri arasında geçiş ilişkileri sağlayan bir LG uzantısıdır.

Örneğin İngilizce gibi bir özne-yüklem-nesne dilinde, yüklem bir özne bağlantısı oluşturmak için sola ve bir nesne bağlantısı oluşturmak için de sağa bakacaktır. İsimler, nesne bağlantısını tamamlamak için sağa veya özne bağlantısını tamamlamak için sola bakacaktır.

Türkçe gibi bir özne-nesne-yüklem dilinde, yüklem bir nesne bağlantısı oluşturmak için sola ve bir özne bağlantısı oluşturmak için daha sola bakacaktır. İsimlerse hem özne hem de nesne bağlantıları için sağa bakacaktır.

## Sözdizimi
Sağa doğru bağlantılar bir **+** olarak ve sola doğru bağlantılar da bir **-** ile temsil edilir. İsteğe bağlı bağlantılar **{…}** şeklinde çengelli parantez içinde bulunur. İstenmeyen bağlantılar herhangi bir sayıda köşeli parantez **[…]** içinde bulunur. Çoklu bağlantılar bir bağlaç **&** veya mantıksal ayırtım **or** ile birleştirilir. Her kural bir noktalı virgül **;** ile biter.

## Örnekler

### Örnek 1

Bir ÖYN dil için temel kural dosyası aşağıdaki gibi olabilir:

::     D+;
::    {D−} & S+;
::   {D−} & O−;
::       S−   &   {O+};

Böylece “The boy painted a picture” 'Çocuk bir resim çizdi' İngilizce cümlesi şu şekilde görünür:

            +-----O-----+
  +-D-+--S--+     +--D--+
  |   |     |     |     |
 The boy painted  a  picture

### Örnek 2

Bunun tersine gizli özneli ÖNY dil için bir kural dosyası aşağıdaki bağlantılardan oluşabilir:

::   S+;
::  O+;
::      {O−}   &   {S−};

Basit bir Farsça cümle olan man nAn xordam (من نان خوردم) 'Ben ekmeği yedim' şu şekilde görünür:

  +-----S-----+
  |     +--O--+
  |     |     |
 man   nAn xordam

### Örnek 3

Bir ÖNY dil olan Türkçe için kural dosyası aşağıdaki gibi olabilir:

::   S+;
::  O+;
::      {O−}   &   {S−};

Kadın portakalı yedi cümlesi de şu şekilde görünür:

   +---------S---------+
   |         +----O----+
   |         |         |
 Kadın   portakalı   yedi

## Uyarlamaları
Bağ grameri sözdizimi ayrıştırıcısı C ile yazılmış, GNU Genel Kamu Lisansı ile uyumlu BSD ile lisanslı, geliştirimi devam eden doğal dil işleme kütüphanesidir. Yeni sürümleri iyileştirilmiş cümle kapsama, çeşitli hata ve güvenlik düzeltmeleri ve Java dil bağlayıcıları içerir.

Kütüphanenin ayrıca Perl, Python, Ruby, OCaml ve .NET bağlayıcıları da bulunmaktadır. İngilizce kuralları ve kelime listelerini de içeren link-grammar programı Debian, Fedora gibi GNU/Linux dağıtımlarında paket olarak bulunabilir.

## Uygulamaları
Özgür kelime işlemci AbiWord anında dilbilgisi denetimi için Bağ Grameri kullanır. Hiçbir yere bağlantı kuramayan kelimelerin altı yeşil olarak çizilir.

Cümlelerdeki kelimeler arasındaki anlamsal ilişkileri ortaya çıkararak bağımsal dilbigisi çıktı üreten anlamsal ilişki çıkarıcı RelEx, link-grammar üstüne kuruludur.

Bağ grameri ayrıca biyomedikal metinlerden ve haberlerde açıklanan olaylardan bilgi ayıklamak ve İngilizceden Almanca ve Türkçeye deneysel makine çevirisi için de kullanılır.

Bağ grameri bağlantı sözlüğü iki farklı doğal dil üretim sistemi NLGen ve NLGen2'nun sözdizimsel doğruluğunu oluşturmak ve doğrulamak için kullanılır. Bağ grameri ayrıca OpenCog YZ projesinde DDİ ardışık düzeninin bir parçası olarak da kullanılır.

## Konuyla ilgili yayınlar
* Schneider, Gerold (1998). A Linguistic Comparison Constituency, Dependency, and Link Grammar. Yüksek Lisans Tezi, Zürih Üniversitesi. 26.12.2007'de alındı.
* Daniel Sleator ve Davy Temperly (1993). Parsing English with a Link Grammar. Üçüncü Uluslararası Ayrıştırma Teknolojileri Çalıştayı.
* Dennis Grinberg; John Lafferty ve Daniel Sleator (Eylül 1995). A robust parsing algorithm for link grammars. Dördüncü Uluslararası Ayrıştırma Teknolojileri Çalıştayı (Prag).

## Dış bağlantılar
* Esas Link Grammar sitesi (şu an yerine yeni proje sitesi gelmiştir)
** Çevrimiçi İngilizce gösterimi (eski ve güncel olmayan bir sürüm kullanılmaktadır, bu sürümden sonra birçok hata düzeltilmiştir)
* LinkGrammar-WN, Link Grammar ayrıştırıcısı için sözlük genişlemesi (güncel değildir, yerini link-grammar ayrıştırıcısına dahil edilen  son çalışmalar almıştır.)
* BioLG, Link Grammar ayrıştırıcısının biyomedikal alanı için uyarlanmış bir sürümüdür (pek çok şey içerir ama her şeyi değil, BioLG iyileştirmeleri ana link-grammar dağıtımına eklenmiştir).
* PyCon 2012'de Jeff Elmore tarafından yapılan Link Grammar ve Python ile cümle ayrıştırma sunumu.

### Dil eklentileri
* Arapça Bağ Grameri eklentisi (Kaynak paket)
* Farsça Bağ Grameri eklentisi
* Çevrimiçi Farsça Bağ Grameri gösterimi
* Rusça Bağ Grameri gösterimi
* Yüksek Lisans tezi olarak geliştirilen Türkçe Bağ Grameri eklentisi