N-gram

Hesaplamalı dilbilim ve olasılık alanlarında, bir ***n***-gram (bazen **Q-gram** olarak da adlandırılır), belirli bir metin veya konuşma örneğinden *n* öğenin bitişik bir dizisidir. Öğeler uygulamaya göre fonemler, heceler, harfler, kelimeler veya baz çiftleri olabilir. *n*-gramlar tipik olarak bir metinden veya konuşma korpusundan toplanır. Öğeler kelimeler olduğunda, -gramlar *zona* olarak da adlandırılabilir.

Latin sayısal önekleri kullanıldığında, 1 boyutundaki bir *n*-gram "unigram" olarak adlandırılır; boyut 2 bir "bigram"dır (veya daha az yaygın olarak bir "digram"); boyut 3 bir "trigram" dır. İngilizce ana sayılar bazen kullanılır, örneğin "dört gram", "beş gram" vb. Hesaplamalı biyolojide, bilinen boyuttaki bir polimer veya oligomer, "monomer", "dimer", "trimer", "*tetramer*", "pentamer" vb. veya İngilizce ana sayılar, "one-mer", "two-mer", "three-mer" vb.

## Uygulamalar
Bir n-gram modeli, (n − 1) düzeyli Markov modeli biçiminde böyle bir dizideki bir sonraki öğeyi tahmin etmeye yönelik bir tür olasılıksal dil modelidir. *n*-gram modelleri artık olasılık, iletişim teorisi, hesaplamalı dilbilim (Örneğin, istatistiksel doğal dil işleme ), hesaplamalı biyoloji (örneğin, biyolojik dizi analizi) ve veri sıkıştırmada yaygın olarak kullanılmaktadır. *n*-gram modellerinin (ve bunları kullanan algoritmaların) iki avantajı basitlik ve ölçeklenebilirliktir - daha büyük *n* ile bir model, iyi anlaşılmış bir uzay-zaman dengesi ile daha fazla bağlam depolayabilir ve küçük deneylerin verimli bir şekilde ölçeklenmesini sağlar.

## Örnekler

Şekil 1 birkaç örnek diziyi ve karşılık gelen 1-gram, 2-gram ve 3-gram dizilerini göstermektedir.

İşte diğer örnekler; bunlar Google *n*-gram korpusundan kelime düzeyinde 3 gram ve 4 gramdır (ve göründükleri sayı sayılarıdır).

3 gram

* seramik koleksiyon parçaları (55)
* seramik koleksiyon parçaları para cezası (130)
* (52) tarafından toplanan seramikler
* seramik koleksiyon çömlekleri (50)
* seramik koleksiyon yemek pişirme (45)

4 gram

* gelen olarak hizmet et (92)
* kuluçka makinesi olarak hizmet et (99)
* bağımsız olarak hizmet et (794)
* indeks olarak hizmet et (223)
* gösterge görevi görür (72)
* gösterge görevi görür (120)

## ''n''-gram modelleri
Bir **''n''-gram modeli** dizileri, özellikle doğal diller, *n*-gramların istatistiksel özelliklerini kullanarak modeller.

Bu fikrin izini Claude Shannon'ın bilgi teorisindeki çalışmasıyla bir deneye kadar takip etmek mümkündür. Shannon şu soruyu sordu: bir harf dizisi verildiğinde (örneğin, "eski için" dizisi), bir sonraki harfin olasılığı nedir? Eğitim verilerinden, büyüklük geçmişi verilen bir sonraki harf için bir olasılık dağılımı elde edilebilir. n: *a* = 0.4, *b* = 0.00001, *c* = 0, ....; tüm olası "sonraki harflerin" olasılıklarının toplamı 1.0'dır.

Daha kısaca, bir *n*-gram modeli tahmin eder x_i dayalı x_{i-(n-1)}, \dots, x_{i-1} . Olasılık açısından, bu P(x_i \mid x_{i-(n-1)}, \dots, x_{i-1}) . Dil modelleme için kullanıldığında, bağımsızlık varsayımları yapılır, böylece her kelime yalnızca son *n'ye* bağlıdır.&nbsp;-&nbsp;1 kelime. Bu Markov modeli, gerçek temel dilin bir yaklaşımı olarak kullanılır. Bu varsayım önemlidir, çünkü dil modelini verilerden tahmin etme problemini büyük ölçüde basitleştirir. Ek olarak, dilin açık doğası nedeniyle, dil modelinin bilmediği kelimeleri birlikte gruplamak yaygındır.

Basit bir *n*-gram dil modelinde, önceki birkaç kelimeye (bigram modelinde bir kelime, trigram modelinde iki kelime, vb.) koşullu bir kelimenin olasılığının, kategorik bir dağılımın ardından tanımlanabileceğini unutmayın. (genellikle kesin olmayan bir şekilde "çok terimli dağılım" olarak adlandırılır).

Pratikte, olasılık dağılımları, görünmeyen kelimelere veya *n*-gramlara sıfır olmayan olasılıklar atanarak düzeltilir; bkz. yumuşatma teknikleri.

Sözdizimsel *n*-gramların başka bir türü, metnin konuşma bölümü dizilerinden çıkarılan sabit uzunlukta bitişik örtüşen alt diziler olarak tanımlanan konuşma bölümü *n*-gramlarıdır. Konuşma bölümü *n*-gramlarının, en yaygın olarak bilgi almada olmak üzere birkaç uygulaması vardır.

## Ayrıca bakınız

* kollokasyon
* Gizli Markov modeli
* n-tuple
* dize çekirdeği
* MinHash
* Özellik çıkarma
* En uzun ortak alt dize sorunu

## Uygulamalar ve düşünceler
*n*-gram modelleri istatistiksel doğal dil işlemede yaygın olarak kullanılmaktadır. Konuşma tanımada, sesbirimler ve sesbirim dizileri bir *n*-gram dağılımı kullanılarak modellenir. Ayrıştırma için kelimeler, her *n*-gram *n* kelimeden oluşacak şekilde modellenir. Dil tanımlaması için, farklı diller için karakter/grafem dizileri (*örneğin*, alfabenin harfleri) modellenmiştir. Karakter dizileri için, "günaydın"dan oluşturulabilen 3 gram (bazen "trigram" olarak anılır) "goo", "ood", "od", "dm", "mo", "mor" şeklindedir. " vb., boşluk karakterini gram olarak sayma (bazen bir metnin başı ve sonu, "_ ⁠_g", "_go", "ng_" ve "g_ ⁠_" eklenerek açıkça modellenir). Kelime dizileri için, "köpek kokarca gibi kokuyordu" dan üretilebilecek trigramlar (zona) "# köpek", "köpek kokuyordu", "köpek kokuyordu", "gibi kokuyordu", "gibi bir kokarca" ve "bir kokarca #".

## Ayrıca bakınız

* kollokasyon
* Gizli Markov modeli
* n-tuple
* dize çekirdeği
* MinHash
* Özellik çıkarma
* En uzun ortak alt dize sorunu

## Konuyla ilgili yayınlar

* Christopher D. Manning, Hinrich Schütze, *İstatistiksel Doğal Dil İşlemenin Temelleri*, MIT Press: 1999.ISBN'si&nbsp; .
* 
* Frederick J. Damerau, *Markov Modelleri ve Dil Teorisi* . Mouton. Lahey, 1971.
* 
*

## Kaynakça

## Dış bağlantılar

* Google'ın Google Kitaplar ''n''-gram görüntüleyicisi  ve Web ''n''-gram veritabanı  (Eylül 2006)
* Microsoft'un web ''n'' -gram hizmeti 
* STATOPERATOR N-gram Alexa Top 1M'deki her alan için Proje Ağırlıklı ''n'' -gram görüntüleyici 
* 425 milyon kelime Corpus of Contemporary American English'ten en sık kullanılan 2,3,4,5 gram 1.000.000 
* Peachnote'un müzik ngram görüntüleyicisi 
* Stokastik Dil Modelleri ( ''n''-Gram) Belirtimi  (W3C)
* Michael Collins'in ''n'' -Gram Dil Modelleri üzerine notları 
* OpenRefine: Derinlemesine Kümeleme