fastText Nedir?
Yayın: · Son güncelleme:
fastText Nedir? Kısaca
fastText, kelimeleri karakter parçalarına (n-gram) bölerek vektör öğrenen bir kelime gömme yöntemi ve aynı adı taşıyan açık kaynak metin sınıflandırma kütüphanesidir. Eğitimde görmediği kelimelere de vektör üretebildiği için Türkçe gibi eklemeli dillerde avantaj sağlar.

fastText nedir?
fastText, Facebook'un yapay zekâ araştırma ekibinin (FAIR) 2016'da tanıttığı bir kelime temsil yöntemi ve kütüphanesidir. Word2Vec'in geliştiricilerinden Tomas Mikolov da ekipte yer aldı. Yöntem, Word2Vec fikrini temel alır ama önemli bir fark ekler: Kelimeyi bölünmez bir bütün olarak değil, karakter parçalarından oluşan bir yapı olarak görür.
Nasıl çalışır?
fastText her kelimeyi karakter n-gram'larına ayırır. Varsayımsal örnek: "evler" kelimesi, başına ve sonuna sınır işaretleri eklenerek "<ev", "evl", "vle", "ler", "er>" gibi üçerli parçalara bölünür; kelimenin kendisi de ayrıca eklenir.
- Her parçanın kendi vektörü öğrenilir.
- Kelimenin vektörü, parçalarının vektörlerinin toplamıdır.
- Eğitim, Word2Vec'teki skip-gram ya da CBOW yaklaşımlarıyla yapılır.
Neden Türkçe için önemli?
Türkçede tek bir kökten "evler", "evlerimiz", "evlerimizden" gibi çok sayıda biçim türer. Klasik kelime vektörleri bu biçimlerin her birini ayrı ve ilgisiz kelimeler gibi görür; nadir biçimler için iyi vektör öğrenemez. fastText ise ortak parçalar sayesinde bu kelimeler arasındaki ilişkiyi yakalar. Eğitimde hiç görülmemiş bir kelime için de parçalarından makul bir vektör üretebilir. Türkçe dahil çok sayıda dil için önceden eğitilmiş fastText vektörleri yayımlanmıştır.
Metin sınıflandırma
fastText kütüphanesi, kelime vektörlerinin yanında çok hızlı bir metin sınıflandırma aracı da sunar. Basit bir doğrusal model kullandığı için sıradan bir bilgisayarda bile büyük veri setleri hızla eğitilebilir. Spam tespiti, konu etiketleme ve dil tespiti gibi görevlerde güçlü bir referans yöntemdir.
Sınırları
fastText de her kelime biçimine bağlamdan bağımsız tek bir vektör verir; aynı kelimenin farklı cümlelerdeki farklı anlamlarını ayırt edemez. Karmaşık anlama görevlerinde Transformer tabanlı modeller genellikle daha iyi sonuç verir.
Sıkça Sorulan Sorular
fastText bilinmeyen kelimeler için nasıl vektör üretir?
Kelimeyi karakter parçalarına böler ve bu parçaların eğitimde öğrenilmiş vektörlerini toplar. Böylece daha önce hiç görülmemiş bir kelime için de anlamca makul bir vektör elde edilir.
fastText ile Word2Vec arasındaki fark nedir?
Word2Vec her kelimeyi bölünmez bir birim olarak ele alır. fastText ise kelimeyi karakter n-gram'larından oluşmuş kabul eder; bu da onu eklemeli diller ve nadir kelimeler için daha dayanıklı kılar.