Kısa metin kümelemesi için iyi bir yöntem nedir?


15

Metin kümeleme sorunu üzerinde çalışıyorum. Veriler birkaç cümle içerir. Kısa metinde yüksek doğruluğa ulaşan iyi bir algoritma var mı?

İyi referanslar verebilir misiniz?

KMeans, spektral kümeleme gibi algoritmalar bu problem için iyi sonuç vermez.

Yanıtlar:


10

Bu çoğunlukla ne kadar "en son teknoloji" (SOTA) ile ne kadar derine gitmek istediğinize (pun amaçlı ...) bağlıdır.

Eğer word2vec, Eldiven veya fastText tarafından sağlanan sadece sığ kelime düğünleriyle yaşayabilirseniz, Word Mover Mesafesinin (WMD [evet, gerçekten ...]) belge mesafelerini ölçmek için güzel bir işlev olduğunu düşünüyorum [1] . Hatta geçmişte bu mesafe ölçüsü için "öğreticiler" sağlayan birkaç Python Notebook gördüm, bu yüzden gerçekten kolay.

Bununla birlikte, SOTA ile daha fazla ilgileniyorsanız, cümlelerinizden bir konu modeli öğrenen bir çeşit tekrarlayan ağ kullanarak derin (dizi gösterimi) öğrenmeye bakmanız gerekecektir. Kelimelerin (anlamsal) düğünlerini bütünleştirmenin yanı sıra, bu yaklaşımlar bağımlılıkları kullanarak konu temsillerini öğrenerek [iyi, eski] “kelime torbası” yaklaşımının ötesine geçer.cümle içindeki kelimelerin. Örneğin, Cümle Düzeyi Tekrarlayan Konu Modeli (SLRTM), daha geleneksel LDA (Blei ve arkadaşları tarafından) veya LSA (Landauer ve arkadaşları) fikirlerine dayanan oldukça ilginç bir derin, tekrarlayan modeldir, ancak sadece bir arXiv makalesi (bu nedenle, hakem değerlendirmesi yapılmayan araştırmalarla ilgili tüm varsayılan "tuzdan tahliye al uyarıları" uygulanmalıdır ...) [2]. Daha azı, bu tavşan deliğinden aşağı inmek istiyorsanız, kağıdın birçok mükemmel işaretçisi ve araştırmanızı başlatmak için referansları vardır.

Son olarak, bunların sırasıyla kelime torbası ve dizi modelleri için üzerinde anlaşılan en iyi performans gösteren yöntemler olduğunu iddia etmediğim açıklığa kavuşturulmalıdır. Ama sizi "en iyi" SOTA'nın ne olabileceğine oldukça yaklaştırmalılar ve en azından mükemmel bir başlangıç ​​noktası olarak hizmet etmelidirler.

[1] Matt J. Kusner ve diğ. Word Yerleştirmelerinden Belge Mesafelerine.32. Uluslararası Makine Öğrenimi Konferansı Bildirileri, JMLR, 2015.

[2] Fei Tian ve diğ. SLRTM: Konuların Kendileri için Konuşmasına İzin Vermek. arXiv 1604.02038, 2016.


word2vec denedim ve kısa metin için iyi performans göstermiyor.
Meraklısı

Emin olmak için: Yukarıdaki cevabım kısa metin kümelemesi için word2vec (tek başına) kullanılmasını önermez. Aksine, WMD (gömülü vektörler üzerinden) ve / veya Derin Öğrenme yöntemlerinin kullanılmasını önerir. (Yine de, kendi vektörlerinizi eğitebiliyorsanız , en azından "uygulanabilir bir prototip" için Yumuşak Kosinüs Benzerliğini kullanarak, yalnızca onlarla çok iyi sonuçlar elde edersiniz .)
fnl

-1

https://github.com/RandyPen/TextCluster
Bu, kısa metne özgü, KMeans vs.'den daha iyi performans gösteren bir Küme yöntemidir. Gizli değişken sayısını ayarlamanıza gerek yoktur.
Temel fikir cümleyi kelimelere dönüştürmektir. Sonra metin bileşenine göre farklı bir kovaya yönlendirin. Her grupta, cümle ile grup arasındaki benzerliği hesaplayın. Benzerlik puanı belirli bir değerden yüksekse, bu cümleyi o bölüme ekleyin, yoksa sonraki bölümü arayın.

temel


Cevabınızı detaylandırmanız gerekiyor. Sadece bir bağlantıyı gösterme.
Michael R. Chernick
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.