Metin Sınıflandırması için Sözcük Torbası: Neden TFIDF yerine sadece kelime frekanslarını kullanmıyorsunuz?


24

Metin sınıflandırma için ortak bir yaklaşım, bir “sözcük çantası” ndan bir sınıflandırıcı yetiştirmektir. Kullanıcı sınıflandırılacak metni alır ve her nesnedeki kelimelerin sıklıklarını sayar, ardından elde edilen matrisi yönetilebilir bir büyüklükte tutmak için bir çeşit düzeltme yapılır.

Genellikle kullanıcıların TFIDF kullanarak kendi özellik vektörlerini oluşturduklarını görüyorum. Başka bir deyişle, yukarıda belirtilen metin frekansları, korpus içindeki kelimelerin sıklığına göre düşük ağırlıklıdır. TFIDF'nin, bir insan analistine göstermek için belirli bir belgenin 'en ayırt edici' kelimelerini seçmek için neden faydalı olacağını anladım. Ancak standart denetimli ML teknikleri kullanılarak yapılan metin kategorizasyonu durumunda, neden korpustaki belgelerin sıklığından zayıflama neden? Öğrencinin kendisi, her bir kelimeye / kelimelerin birleşimine atanmanın önemine karar vermeyecek mi? Eğer varsa, IDF'nin katma değerine ilişkin düşünceleriniz için minnettar olurum.

Yanıtlar:


29

Cevap çok açık: TF-IDF bazı denetimli yöntemlerle birleştirildiğinde basit terim frekanslarından daha iyi sonuçlar elde edebilir.

Kanonik örnek, belgeler arasındaki benzerliğin bir ölçümü olarak kosinüs benzerliğini kullanıyor. Belgelerin TF-IDF vektör temsili arasındaki açının kosinüsünü almak, yalnızca benzer TF'den daha yüksek hassasiyetle ilgili belgeleri başarıyla alabilir.

Bunun nedeni, IDF'nin ortak kelimelere verilen ağırlığı azaltması ve bir belgedeki alışılmadık kelimeleri vurgulamasıdır. Çoğu haber makalesi devekuşları ile ilgili değildir, bu nedenle "devekuşu" içeren bir haber makalesi olağandışıdır ve benzer belgeleri bulmaya çalışırken bunu bilmek isteriz.

Ancak standart denetimli ML teknikleri kullanılarak yapılan metin kategorizasyonu durumunda, neden korpustaki belgelerin sıklığından zayıflama neden? Öğrencinin kendisi, her bir kelimeye / kelimelerin birleşimine atanmanın önemine karar vermeyecek mi?

Bu, makine öğrenmede kilit bir noktayı göstermektedir: daha iyi özellikler daha akıllı bir algoritmayı geçme eğilimindedir. Bir ML aracı sadece giriş (ler) çıkış (lar) ile eşleştirmek için bir fonksiyon öğrenmeye çalışıyor . Eğer o kadar iyiyse, zaten temelde (veya ideal bir durumda, tam anlamıylay x y yxyxyy) o zaman görevi kendimiz ve fakir, çok çalışan bilgisayarlarımız üzerinde çok daha kolaylaştırdık! Bence bu alanın takdir edilemeyen bir bileşeni - insanlar etki alanlarından bağımsız oldukları için algoritmaları incelemek ve incelemek için çok zaman harcıyorlar, ancak verileriniz ve çözmeye çalıştığınız sorun hakkında daha fazla bilgi edinmek için yollar önerebilir görevi çok daha kolay hale getiren geliştirilmiş veri toplama veya veri sunumu - ve çok da süslü bir sofistike modeline gerek duyulmayacak kadar kolaydır.

Kolaylık sağlamak için çoğalttığım birkaç kaynak burada bulunabilir .

  • K. Sparck Jones. "Terim özgüllüğü ve geri alımdaki uygulamasının istatistiksel yorumu" Dokümantasyon Dergisi, 28 (1). 1972.

  • G. Salton ve Edward Fox ve Wu Harry Wu. Msgstr "Genişletilmiş Boolean bilgi alımı". ACM'nin İletişimi, 26 (11). 1983.

  • G. Salton ve MJ McGill. "Modern bilgi erişimine giriş". 1983

  • G. Salton ve C. Buckley. "Otomatik metin alımında terim ağırlıklandırma yaklaşımları". Bilgi İşlem ve Yönetimi, 24 (5). 1988'de tarif edilmiştir.

  • H. Wu ve R. Luk ve K. Wong ve K. Kwok. "TF-IDF terim ağırlıklarının uygunluk kararları alması olarak yorumlanması". Bilgi Sistemlerinde ACM İşlemleri, 26 (3). 2008.


User777 @ notu için teşekkürler! Takdir et. Bu yazılara bir göz atıyorum. TFIDF'den sadece TF'ye kadar tercihli olarak faydalanmayı umduğumuz genel algoritma sınıfları var mı?
shf8888

@ shf8888 Birinin daha iyi olduğu genel sınıflar olup olmadığından emin değilim. Mümkün! Bildiğim kadarıyla, NLP görevinde çalışan birisinin ilk refleksi, daha karmaşık bir modele geçmeden önce TF'yi ve ardından TF-IDF'yi temel yöntemler olarak denemektir. Bu şekilde, gittikçe daha karmaşık modeller kullanarak harcanan çaba için ne kadar arttırılmış performans aldığınızı ölçebilirsiniz.
Sycorax, Reinstate Monica’nın

Çok teşekkürler! Eh, "ampirik olarak TFIDF'in bazı algoritmalarla TF'ye göre daha yüksek performans sağlayabildiği" cevabı (eğer bir cümle özetime itiraz etmezseniz) kesinlikle benim açımdan iyi. Referanslar için teşekkürler.
shf8888

2

Tipik bir durumda, şirketinizde etiketli belgelerden çok daha fazla belge olabilir. Bu, tüm korpusu kullanırken IDF'nin çok daha doğru ve eksiksiz olarak hesaplanabileceği anlamına gelir.

Daha sonra, şu ana kadar elinize alabileceğiniz corpus'un tümünün etiketli veya etiketli alt kümenin “yeterince büyük” olduğu durumu göz önünde bulundurun. Bu durumda, TfIDF kullanılırken eğitim için ihtiyaç duyulan yineleme sayısı muhtemelen daha düşük olabilir çünkü öğrenme algoritmasının bu kadar çok şey öğrenmesi gerekmez.

Son olarak, bu aynı durumda, ayrıca sadece tf veya ayrı ayrı tf ve idf sağlayabilirsiniz (hatta tfidf de dahil). Bunun, örneğin karmaşık bir çekirdek işlevi kullanıldığında daha iyi sonuçlar doğurabileceğini düşünüyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.