Garfield
YZF Admin
FastText embedding’leri bir kelimeyi yalnızca tek bir kelime vektörüyle temsil etmez; kelimenin karakter alt dizilerinden, yani alt kelime parçalarından, öğrenilen vektörleri de kullanır. Bir kelimenin embedding’i, kelime vektörüyle karakter n-gram vektörlerinin birleştirilmesiyle oluşturulur. Böylece model, eğitimde görmediği veya nadir gördüğü bir kelime için bile benzer yazım parçalarından anlamlı bir temsil üretebilir.
FastText bir kelimenin başına ve sonuna sınır işaretleri ekleyerek karakter dizisini işler. Örneğin varsayımsal olarak
Örneğin 3 karakter uzunluğundaki parçalar arasında şunlar bulunabilir:
Karakter n-gram’ları öğrenilmiş vektörlerle temsil edilir; bunlar dilbilgisel kök veya eklerle aynı olmak zorunda değildir. Sözlükteki bir kelime için FastText, kelimenin ana vektörünü ve alt kelime vektörlerini birleştirir. Sözlük dışında kalan bir kelimenin kendine ait öğrenilmiş ana vektörü bulunmaz; temsil, karakter parçalarının vektörlerinden oluşturulur. Basitleştirilmiş biçimde bunu şöyle düşünebilirsiniz:
Bu toplam çoğunlukla bir normalleştirme katsayısıyla ölçeklenir. Uygulamanın ayrıntısına göre vektörlerin saklanma ve hesaplanma biçimi değişebilir; önemli olan, temsilin yalnızca bütün kelimeye değil, onu oluşturan karakter parçalarına da dayanmasıdır.
Örneğin model eğitim sırasında
Bu durum özellikle şu tür kelimelerde avantaj sağlar:
Bu tablonun arkasındaki önemli ayrım şudur: FastText, yeni kelimenin anlamını doğrudan sözlükten bulmaz. Yalnızca yazı biçimindeki ortak parçaları kullanarak bir temsil tahmin eder. Bu nedenle biçimsel benzerlik ile anlamsal benzerlik her zaman aynı değildir.
Varsayımsal bir eğitim kümesinde
Beklenen sonuç,
Klasik kelime tabanlı embedding yöntemlerinde her kelime için ayrı bir vektör tutulur. Sözlükte bulunmayan bir kelime için doğrudan öğrenilmiş bir kelime vektörü sağlanamaz. FastText ise kelimenin alt parçalarını da sakladığı için sözlükte bulunmayan kelimelerde daha esnek davranır.
Ancak FastText’in avantajı sınırsız değildir. Tamamen farklı yazılan eş anlamlı kelimelerin ilişkisi yalnız karakter ortaklığıyla açıklanamaz; FastText bu tür ilişkileri eğitim bağlamlarından öğrenebilir, fakat her eş anlamlı çift için başarı garanti edilmez. Ayrıca yazım hataları, çok uzun kelimeler, farklı alfabeler veya dilin biçimbilimsel yapısı sonuçları etkileyebilir. Alt kelimeler yazım bilgisini güçlendirir; bağlamdan gelen anlam bilgisinin yerini tamamen almaz.
FastText embedding’i şu üç bilginin birleşimi olarak düşünebilirsiniz:
Alt kelime temsili nasıl oluşturulur?
FastText bir kelimenin başına ve sonuna sınır işaretleri ekleyerek karakter dizisini işler. Örneğin varsayımsal olarak
elma kelimesi <elma> biçiminde düşünülebilir. Daha sonra bu diziden belirli uzunluklardaki karakter n-gram’ları çıkarılır. N-gram, kelimenin ardışık karakterlerinden oluşan kısa parçadır.Örneğin 3 karakter uzunluğundaki parçalar arasında şunlar bulunabilir:
<elelmlmama>
Karakter n-gram’ları öğrenilmiş vektörlerle temsil edilir; bunlar dilbilgisel kök veya eklerle aynı olmak zorunda değildir. Sözlükteki bir kelime için FastText, kelimenin ana vektörünü ve alt kelime vektörlerini birleştirir. Sözlük dışında kalan bir kelimenin kendine ait öğrenilmiş ana vektörü bulunmaz; temsil, karakter parçalarının vektörlerinden oluşturulur. Basitleştirilmiş biçimde bunu şöyle düşünebilirsiniz:
kelime_vektörü + alt_kelime_1_vektörü + alt_kelime_2_vektörü + ...Bu toplam çoğunlukla bir normalleştirme katsayısıyla ölçeklenir. Uygulamanın ayrıntısına göre vektörlerin saklanma ve hesaplanma biçimi değişebilir; önemli olan, temsilin yalnızca bütün kelimeye değil, onu oluşturan karakter parçalarına da dayanmasıdır.
Bu yöntem görülmemiş kelimelerde neden işe yarar?
Örneğin model eğitim sırasında
kitaplık, kitapçı ve kitaplar kelimelerini görmüş, fakat kitapçımız kelimesini görmemiş olsun. FastText, yeni kelime için tamamen rastgele veya boş bir temsil üretmek yerine kitap, kitapç, apçı ve benzeri ortak karakter parçalarının vektörlerinden yararlanabilir.Bu durum özellikle şu tür kelimelerde avantaj sağlar:
| Durum | Alt kelime yaklaşımının katkısı |
|---|---|
| Çekimli kelimeler | Ortak kök veya ek parçaları temsilin paylaşılmasını sağlar. |
| Nadir kelimeler | Kelime çok az görülse bile karakter parçaları başka kelimelerden öğrenilmiş olabilir. |
| Yeni türetilmiş kelimeler | Benzer yazım kalıpları kullanılarak yaklaşık bir vektör üretilebilir. |
| Yazım varyasyonları | Ortak karakter dizileri bazı benzerlikleri koruyabilir. |
Basit bir örnekle sonuç nasıl yorumlanır?
Varsayımsal bir eğitim kümesinde
oyuncu, oyuncular ve oyunculuk kelimeleri bulunsun. Model bu kelimelerde ortak olan karakter dizileri için vektörler öğrenir. Eğitim verisinde oyuncumuz hiç geçmese bile FastText, bu kelimenin alt parçalarını çıkarıp mevcut vektörlerle birleştirebilir.Beklenen sonuç,
oyuncumuz için kullanılabilir bir embedding elde edilmesidir. Bu, modelin kelimenin cümledeki doğru anlamını kesin olarak bildiğini kanıtlamaz. Eğer oyuncu ve aynı karakter parçalarını taşıyan özel bir ürün adı farklı anlamdaysa, karakter benzerliği yanıltıcı olabilir. Bu yüzden üretilen embedding’i benzerlik araması, sınıflandırma veya başka bir görevde kullanırken sonuçları görev verisi üzerinde ayrıca değerlendirmek gerekir.Word2Vec yaklaşımından temel farkı
Klasik kelime tabanlı embedding yöntemlerinde her kelime için ayrı bir vektör tutulur. Sözlükte bulunmayan bir kelime için doğrudan öğrenilmiş bir kelime vektörü sağlanamaz. FastText ise kelimenin alt parçalarını da sakladığı için sözlükte bulunmayan kelimelerde daha esnek davranır.
Ancak FastText’in avantajı sınırsız değildir. Tamamen farklı yazılan eş anlamlı kelimelerin ilişkisi yalnız karakter ortaklığıyla açıklanamaz; FastText bu tür ilişkileri eğitim bağlamlarından öğrenebilir, fakat her eş anlamlı çift için başarı garanti edilmez. Ayrıca yazım hataları, çok uzun kelimeler, farklı alfabeler veya dilin biçimbilimsel yapısı sonuçları etkileyebilir. Alt kelimeler yazım bilgisini güçlendirir; bağlamdan gelen anlam bilgisinin yerini tamamen almaz.
Kısaca nasıl düşünülmeli?
FastText embedding’i şu üç bilginin birleşimi olarak düşünebilirsiniz:
- Kelime sözlükte bulunuyorsa, bütününe ait öğrenilmiş vektör.
- Kelimenin karakter n-gram’larına ait vektörler.
- Bu vektörlerin birleştirilmesiyle elde edilen son temsil.