Jaka jest dobra metoda grupowania krótkich tekstów?

15

Pracuję nad problemem klastrowania tekstu. Dane zawierają kilka zdań. Czy istnieje dobry algorytm, który osiąga wysoką dokładność w przypadku krótkiego tekstu?

Czy możesz podać dobre referencje?

Algorytmy takie jak KMeans, grupowanie widmowe nie działają dobrze w przypadku tego problemu.

użytkownik3108764
źródło

Odpowiedzi:

10

Zależy to przede wszystkim od tego, ile chcesz najnowocześniejszego (SOTA), od tego, jak głęboko chcesz zejść (gra słów zamierzona ...).

Jeśli możesz żyć tylko z płytkimi osadzeniami słów dostarczonymi przez word2vec, Glove lub fastText, myślę, że Word Mover Distance (WMD [tak, naprawdę ...]) to miła funkcja do pomiaru (krótkich) odległości dokumentów [1] . W przeszłości widziałem nawet kilka zeszytów Pythona, które zawierają „samouczki” do pomiaru odległości, więc naprawdę łatwo jest zacząć.

Jednakże, jeśli jesteś bardziej zainteresowany SOTA, będziesz musiał przyjrzeć się głębokiemu uczeniu się (reprezentacja sekwencji), używając pewnego rodzaju sieci powtarzalnej, która uczy się modelu tematu z twoich zdań. Oprócz integrowania (semantycznego) osadzania słów, podejścia te wykraczają poza [dobre, stare] podejście „work-of-words” poprzez uczenie się reprezentacji tematów przy użyciu zależnościsłów w zdaniu [s]. Na przykład model powtarzalnego poziomu zdania (SLRTM) jest dość interesującym głębokim, powtarzalnym modelem opartym na pomysłach bardziej tradycyjnej LDA (autorstwa Blei i wsp.) Lub LSA (Landauer i wsp.), Ale to tylko arXiv papier (więc powinny obowiązywać wszystkie domyślne „ostrzeżenia o stosowaniu soli” na temat badań nie recenzowanych) ... [2]. Niemniej jednak papier ma wiele doskonałych wskazówek i odniesień do rozpoczęcia badań, jeśli chcesz zejść do tej króliczej nory.

Na koniec należy wyjaśnić, że nie twierdzę, że są to uzgodnione najskuteczniejsze metody odpowiednio dla worków słów i modeli sekwencji. Ale powinny zbliżyć cię do tego, co może być „najlepszym” SOTA, a przynajmniej powinno być doskonałym punktem wyjścia.

[1] Matt J. Kusner i in. Od osadzania słów do odległości dokumentów. Materiały z 32. międzynarodowej konferencji na temat uczenia maszynowego, JMLR, 2015.

[2] Fei Tian i in. SLRTM: Pozwól, aby tematy same za siebie przemawiały. arXiv 1604.02038, 2016.

fnl
źródło
próbowałem word2vec i nie działa dobrze w przypadku krótkiego tekstu.
Entuzjasta
Tylko dla pewności: moja powyższa odpowiedź nie zaleca używania word2vec (sama) do grupowania krótkich tekstów. Zamiast tego zaleca stosowanie metod WMD (zamiast wektorów osadzonych) i / lub metod głębokiego uczenia. (Jednak jeśli potrafisz trenować własne wektory, osiągniesz z nimi bardzo dobre wyniki, korzystając z miękkiego podobieństwa kosinusowego, przynajmniej w przypadku „wykonalnego prototypu”)
fnl
-1

https://github.com/RandyPen/TextCluster
Jest to metoda klastrowa specyficzna dla krótkiego tekstu, która przewyższa KMeans itp. Nie ma potrzeby ustawiania ukrytej liczby zmiennych.
Podstawową ideą jest tokenizowanie zdania na słowa. Następnie przejdź do innego segmentu zgodnie z komponentem tekstowym. W każdym segmencie oblicz podobieństwo zdania i segmentu. Jeśli wynik podobieństwa jest wyższy niż określona wartość, dodaj to zdanie do tego segmentu, w przeciwnym razie wyszukaj następny segment.

podstawowy

randy Pen
źródło
Musisz rozwinąć swoją odpowiedź. Nie cytuj tylko linku.
Michael R. Chernick,