Kelime çantası modeli

(Wikipedia)

Kelime çantası modeli doğal dil işleme ve enformasyon getiriminde kullanılan basitleştirici bir temsildir. Bu modelde bir metin (cümle ya da belge gibi bir metin) kelimelerinin çantası (çoklukümesi) halinde temsil edilir, çoksallık [multiplicity] saklanırken gramer ve hatta kelime sırası gözardı edilir. Kelime çantası modeli bilgisayarla görmede de kullanılmıştır.[1]

Kelime çantası modeli belge sınıflandırma yöntemlerinde yaygınca kullanılır: her kelimenin oluşu (sıklığı) sınıflandırıcı eğitilmesinde özellik olarak kullanılır.

Kelime çantasına dilbilimsel bağlamda erken bir atıf Zellig Harris’in Dağıtımsal Yapı üzerine 1954 makalesinde bulunabilir.[2]

İçindekiler
1) Örnek
2) Uygulama
3) N-gram modeli
4) Karım dolabı [Hashing trick]
5) Örnek kullanım: spam süzgeci
6) Kaynaklar

Örnek

Burada bir metin belgesini kelime çantası kullanarak modelliyoruz.

İşte iki tane basit metin belgesi:

(1) Can film seyretmeyi sever. Meryem de filmleri sever.

(2) Can futbol maçı seyretmeyi de sever.

Bu iki metin belgesine dayanarak şöyle bir liste oluşturulur:

[
"Can",
"film",
"futbol",
"maçı",
"seyretmeyi",
"sever",
"Meryem",
"de",
"filmleri"
]

Uygulama

Pratik kullanımda kelime çantası modeli çoğu zaman özellik üretme aracı olur.

Metni “kelime çantasına” dönüştürdükten sonra, metnin karakterini gösteren çeşitli nicelikler hesaplayabiliriz. Kelime çantası modelinden hesaplanan en yaygın karakteristik tipi ya da özellik, terim sıklığıdır, yani o terimin metinde kaç kez geçtiğidir. Yukarıdaki örnekte her bir ayrı kelimenin terim sıklıklarını şu iki listeyi oluşturarak kaydedebiliriz.

(1) [1, 1, 0, 0, 1, 2, 1, 1, 1]
(2) [1, 0, 1, 1, 1, 1, 0, 1, 0]

Listelerdeki her bir girdi listedeki mütekabil girdinin sayısını belirtir (buna histogram temsili de denir). Örneğin, birinci (belge 1’i temsil eden) listede, ilk iki girdi “1,1”dir. İlk girdi “Can” kelimesine tekabül eder, o da listedeki ilk kelimedir, ve değeri “1”dir çünkü “Can” birinci belgede 1 kere geçer. Bunun gibi, ikinci girdi “film” kelimesine tekabül eder, o da listedeki ikinci kelmedir, ve değeri “1”dir çünkü “film” ilk belgede 1 kere geçer. Bu liste (ya da vektör) temsili, kelimelerin kaynak cümlelerdeki sırasını muhafaza etmez, bu da kelime çantası modelinin temel özelliğidir. Bu tür temsillerin birçok başarılı uygulaması vardır, örneğin e-posta filtreleme.[1]

Fakat terim sıklıkları illa ki en iyi metin temsili değildir. “O”, “bir”, “ve” gibi yaygın kelimeler neredeyse her zaman metindeki en yüksek terim sıklığına sahiptir, demek ki çok sayıda olmak tekabül eden kelimenin daha önemli olduğunu göstermez. Bu problemi ele alarak terim sıklıklarını “normalleştirmenin” en sevilen yollarından birisi, terimleri belge sıklığının tersiyle ağırlıklandırmaktır, buna da tf-idf denir. Buna ek olarak, sınıflandırma amacına yönelik belgenin sınıf etiketini dikkate alan süpervizeli alternatifler geliştirilmiştir.[3] Son olarak, bazı problemlerde sıklıklar yerine ikili (varlık/yokluk ya da 1/0) ağırlıklar kullanılır. (Mesela WEKA makine öğrenmesi yazılım sisteminde bu seçenek konmuştur.)

N-gram modeli

Kelime çantası modeli sırasız bir belge temsilidir—kelimelerin sadece sayısına bakılır. Mesela yukarıdaki “Can film seyretmeyi sever. Meryem de filmleri sever” örneğinde, kelime çantası modeli bu metinde her cümlenin “sever” yüklemiyle bittiğini ortaya çıkarmayacaktır. Alternatif olarak, metindeki bu uzamsal enformasyonu saklamakta n-gram modeli kullanılabilir. Yukarıdaki aynı örneğe uygulanarak, bigram modeli metni şu birimlere çözdürecek ve her birimdeki terim sıklıklarını önceki gibi saklayacaktır.

[
"Can film",
"film seyretmeyi",
"seyretmeyi sever",
"Meryem de",
"de filmleri",
"filmleri sever"
]

Kavram olarak kelime çantası modelini n-gram modelin n=1 için özel durumu gibi görebiliriz. Daha detaylı tartışmalar dil modeli konusu altında okunabilir.

Karım dolabı [hashing trick]

Sözlük kullanımının yaygın bir alternatifi karım dolabıdır: kelimeler bir karım işleviyle [hashing function] doğrudan doğruya endekslere eşlenir.[4] Kelimelerin endekslere bir karım işleviyle doğrudan doğruya eşlenmesiyle, sözlüklerin saklanacağı belleğe hiç gerek kalmaz. Karım çakışmaları olduğunda çoğu zaman boşaltılmış bellekler kullanılıp hemen karım kovalarının sayısı çoğaltılır. Karım, pratikte, kelime çantası modellerinin kodlanmasını müthiş basitleştirir ve ölçeklenebilirliğini geliştirir.

Örnek kullanım: spam süzgeci

Bayesci spam süzgecinde, e-posta mesajı iki olasılık dağılımının birinden seçilen kelimelerin sırasız derlemesi gibi modellenir: biri spamleri, öbürü meşru e-postaları (“ham”) temsil eder. Kelimelerle dolu iki tane çanta hayal edin. Çantaların biri spam mesajlarda bulunan kelimelerle doludur, diğer çanta meşru e-postalarda bulunan kelimelerle doludur. Verilen herhangi bir kelimenin iki çantada da bulunması muhtemel olsa da, “spam” çantası “borsa”, “Viagra”, “satın al” gibi spamvari kelimeleri çok daha sıklıkla içerecektir, “ham” çantası ise kullanıcının arkadaşları ve işyeriyle ilgili kelimeleri daha çok içerecektir.

E-posta mesajını sınıflandırmak için, Bayesci spam süzgeci bu mesajın iki çantanın birinden rastgele dökülmüş bir kelimeler yığını olduğunu varsayar, ve Bayesci olasılıkları kullanarak hangi çantanın daha muhtemel olduğunu belirler.

Kaynaklar

[1] Sivic, Josef (April 2009). “Efficient visual search of videos cast as text retrieval”. IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 31, NO. 4. IEEE. ss. 591–605. http://www.di.ens.fr/~josef/publications/sivic09a.pdf.

[2] Harris, Zellig (1954). “Distributional Structure”. Word 10 (2/3): 146–62. “And this stock of combinations of elements becomes a factor in the way later choices are made … for language is not merely a bag of words but a tool with particular properties which have been fashioned in the course of its use”

[3] Youngjoong Ko (2012). “A study of term weighting schemes using class information for text classification”. SIGIR’12. ACM.

[4] Weinberger, K. Q.; Dasgupta A.; Langford J.; Smola A.; Attenberg, J. (2009). “Feature hashing for large scale multitask learning,”. Proceedings of the 26th Annual International Conference on Machine Learning: 1113–1120. arXiv:0902.2206.

Türkçesi: Işık Barış Fidaner

ç.n.:

Rivayete göre SPAM terimi SPICED HAM demekmiş ve Monty Python Flying Circus 25. bölümden geliyormuş

2 Comments

Filed under çeviri, bilim