SentencePiece Nedir?
Yayın: · Son güncelleme:
SentencePiece Nedir? Kısaca
SentencePiece, metni önceden kelimelere ayırmadan ham hâliyle işleyen, boşluğu da özel bir sembolle token olarak ele alan ve BPE ya da unigram yöntemiyle alt kelime sözlüğü oluşturan dilden bağımsız bir tokenizasyon aracıdır.

SentencePiece, Google araştırmacıları tarafından 2018'de tanıtılan açık kaynaklı bir alt kelime tokenizasyon kütüphanesidir. En önemli özelliği, metni dile özgü kurallar uygulamadan, ham hâliyle işleyebilmesidir.
SentencePiece nedir?
Birçok klasik tokenizer, önce metni boşluklara göre kelimelere ayırır, sonra bu kelimeleri alt parçalara böler. Bu yaklaşım Japonca veya Çince gibi kelimeler arasında boşluk kullanmayan dillerde sorun çıkarır. SentencePiece ise metni bir karakter dizisi olarak görür ve boşluğu da sıradan bir karakter gibi ele alır.
Boşluk, genellikle "▁" sembolüyle gösterilir. Örneğin "Merhaba dünya" ifadesi "▁Merhaba", "▁dün", "ya" gibi parçalara bölünebilir. Bu sayede tokenizasyon tamamen geri döndürülebilir: Token'lar birleştirildiğinde orijinal metin, boşluklarıyla birlikte aynen elde edilir.
Nasıl çalışır?
SentencePiece tek bir algoritma değil, bir çerçevedir. İki ana alt kelime yöntemini destekler:
- Byte Pair Encoding: Sık geçen çiftleri adım adım birleştirir.
- Unigram dil modeli: Geniş bir aday sözlükle başlar ve metni en iyi açıklamaya en az katkı sağlayan parçaları budayarak sözlüğü küçültür.
Model doğrudan ham metinden eğitilir ve istenen sözlük büyüklüğü baştan belirlenir. Sözlükte bulunmayan nadir karakterler için bayta geri düşme seçeneği de vardır.
Neden tercih edilir?
- Dilden bağımsızdır; tek bir tokenizer ile çok dilli modeller eğitilebilir.
- Ön işleme adımlarını azaltır ve eğitimle kullanım arasında tutarlılık sağlar.
- T5 gibi pek çok açık model tarafından kullanılmıştır.
Yine de sözlük, eğitim verisindeki dil dağılımını yansıtır; az temsil edilen dillerde metin daha fazla token'a bölünebilir.
Sıkça Sorulan Sorular
SentencePiece'teki ▁ işareti ne anlama gelir?
▁ işareti, metindeki boşluğu temsil eder ve genellikle bir kelimenin başladığını gösterir. Bu sayede token'lar birleştirildiğinde orijinal metin boşluklarıyla birlikte geri elde edilir.
SentencePiece ile BPE aynı şey mi?
Hayır. BPE bir algoritmadır, SentencePiece ise BPE ve unigram gibi algoritmaları ham metin üzerinde uygulayan bir tokenizasyon aracıdır.