İçeriğe geç
parazade
Yapay Zeka

N-gram Nedir?

Yayın: · Son güncelleme:

N-gram Nedir? Kısaca

N-gram, bir metindeki ardışık n adet kelime ya da karakterden oluşan dizidir; örneğin iki kelimelik diziye bigram, üç kelimelik diziye trigram denir ve bu diziler dil modellemede ve metin analizinde kullanılır.

N-gram nedir?
İçindekiler
  1. N-gram nedir?
  2. N-gram dil modelleri nasıl çalışır?
  3. Nerelerde kullanılır?

N-gram, bir metin içinde art arda gelen n adet öğeden (kelime, karakter ya da token) oluşan dizidir. Basit ama güçlü bir fikirdir ve doğal dil işlemenin klasik yapı taşlarından biridir.

N-gram nedir?

"Bugün hava çok güzel" cümlesini kelime düzeyinde inceleyelim:

  • Unigram (n=1): "Bugün", "hava", "çok", "güzel"
  • Bigram (n=2): "Bugün hava", "hava çok", "çok güzel"
  • Trigram (n=3): "Bugün hava çok", "hava çok güzel"

Aynı fikir karakterlere de uygulanabilir: "kedi" kelimesinin karakter bigramları "ke", "ed", "di" şeklindedir.

N-gram dil modelleri nasıl çalışır?

Bir n-gram dil modeli, bir kelimenin olasılığını yalnızca önceki n-1 kelimeye bakarak tahmin eder. Örneğin bir trigram modeli "hava çok" ifadesinden sonra "güzel" kelimesinin gelme olasılığını, büyük bir metin koleksiyonunda bu üçlünün ne sıklıkla geçtiğini sayarak hesaplar.

Bu yaklaşımın iki temel sınırı vardır:

  • Kısa bağlam: Model, n kelimeden daha eski bilgiyi göremez.
  • Veri seyrekliği: n büyüdükçe birçok dizi eğitim verisinde hiç geçmez ve olasılığı sıfır çıkar. Bunu hafifletmek için yumuşatma (smoothing) teknikleri kullanılır.

Günümüzün büyük dil modelleri çok daha uzun bağlamı sinir ağlarıyla işler, ancak "sıradaki öğeyi tahmin etme" fikri n-gram modellerinden miras kalmıştır.

Nerelerde kullanılır?

N-gram'lar hâlâ birçok yerde işe yarar: otomatik tamamlama ve yazım önerisi, dil tespiti, kelime torbası gibi metin temsillerinin zenginleştirilmesi, intihal ve tekrar eden içerik tespiti ile BLEU ve ROUGE gibi metin değerlendirme metriklerinin hesaplanması.

Sıkça Sorulan Sorular

Bigram ve trigram ne demek?

Bigram, metinde art arda gelen iki öğeden oluşan dizidir; trigram ise üç öğeden oluşur. Örneğin "yapay zekâ modeli" bir kelime trigramıdır.

N-gram modelleri neden yerini sinir ağlarına bıraktı?

N-gram modelleri yalnızca kısa bir bağlama bakabilir ve görmediği dizilerde zorlanır. Sinir ağı tabanlı modeller ise çok daha uzun bağlamı kullanabilir ve benzer kelimeler arasında genelleme yapabilir.

İlgili terimler

Dil Modeli(Language Model)Dil modeli, bir dizideki kelimelerin ya da token'ların olasılığını tahmin eden yapay zekâ modelidir. En yaygın biçimiyle, verilen metinden sonra hangi kelimenin gelme ihtimalinin yüksek olduğunu hesaplar. Otomatik tamamlama, çeviri ve sohbet asistanlarının temelinde dil modelleri bulunur.Kelime Torbası(Bag of Words)Kelime torbası (bag of words), bir metni kelimelerin sırasını yok sayıp yalnızca hangi kelimenin kaç kez geçtiğini sayarak sayısal bir vektöre dönüştüren, metin sınıflandırmada kullanılan klasik temsil yöntemidir.BLEU(BLEU Score)BLEU, makine çevirisi gibi otomatik üretilen bir metnin, bir veya daha fazla insan referans çevirisiyle kelime ve kelime öbeği (n-gram) düzeyinde ne kadar örtüştüğünü 0 ile 1 (ya da 0-100) arasında ölçen değerlendirme metriğidir.Otomatik Tamamlama(Autocomplete)Otomatik tamamlama, kullanıcı yazmaya başladığında kelimenin, arama sorgusunun ya da cümlenin devamını tahmin ederek öneren özelliktir; geçmiş verilerden ve dil modellerinden yararlanarak yazmayı hızlandırır.TokenToken, yapay zekâ dil modellerinin metni işlerken kullandığı en küçük birimdir; bir kelime, kelimenin bir parçası ya da bir noktalama işareti olabilir. Modellerin hızı, bağlam penceresi ve kullanım ücretleri genellikle token sayısıyla ölçülür.Büyük Dil Modeli(Large Language Model)Büyük dil modeli (LLM), çok büyük miktarda metinle eğitilen ve bir metnin devamında hangi parçanın geleceğini tahmin ederek yazı üreten yapay zekâ modelidir. Sohbet asistanları, kod yardımcıları ve özetleme araçlarının temelinde bu modeller bulunur.