Algorytmy osadzania słów pod względem wydajności


11

Próbuję osadzić około 60 milionów fraz w przestrzeni wektorowej , a następnie obliczyć podobieństwo między nimi. Używam sklearn's CountVectorizerz niestandardową wbudowaną funkcją tokenizera, która produkuje unigramy i bigramy. Okazuje się, że aby uzyskać sensowne reprezentacje, muszę pozwolić na ogromną liczbę kolumn, liniowych w liczbie wierszy. Prowadzi to do niewiarygodnie rzadkich matryc i zabija wydajność. Nie byłoby tak źle, gdyby było tylko około 10 000 kolumn, co moim zdaniem jest całkiem rozsądne w przypadku osadzania słów.

Zastanawiam się nad próbą użycia Google'a, word2vecponieważ jestem prawie pewien, że powoduje on znacznie mniejsze wymiary i gęstsze osadzanie. Ale czy są jeszcze jakieś osadzenia, które na pierwszy rzut oka mogą uzasadniać? Kluczowym wymaganiem byłaby możliwość skalowania około 60 milionów fraz (wierszy).

Jestem całkiem nowy w dziedzinie osadzania słów, więc każda rada by pomogła.

Powinienem również dodać, że już używam dekompozycji wartości pojedynczej, aby poprawić wydajność.


Używasz Spark?
eliasah

1
To jeden z powodów, dla których zasugerowałem na początku Spark. Przepraszam, rozmawiam przez telefon. Nie mam dostępu do żadnych odniesień dotyczących wstępnego osadzania technik PCA.
eliasah

1
Nie jestem pewien, czy jest to przesada z taką ilością danych.
eliasah

1
Usunięcie zbędnych tokenów nie powinno znacznie zmniejszać wymiaru, ponieważ pracujesz nad tekstami. Biorąc pod uwagę słownik 150000 słów, usunięcie słów stop na przykład przyniosłoby ci kilkadziesiąt. To nie pomoże.
eliasah

1
W przeciwnym razie warto rozważyć modelowanie tematów za pomocą ukrytego alokacji Dirichleta, aby zmniejszyć rozmiar wektora tekstu na frazę.
eliasah

Odpowiedzi:


3

Ostatnio pracowano nad dynamicznym przypisywaniem wymiaru word2vec (pomiń gram) za pomocą maszyn Boltzmanna. Sprawdź ten artykuł:

„Nieskończone osadzanie słów” -Nalsnick, Ravi

Podstawową ideą jest pozwolenie, aby Twój zestaw treningowy dyktował wymiar twojego modelu word2vec, co jest karane przez termin regulacyjny związany z rozmiarem wymiaru.

Powyższy artykuł robi to dla słów i byłbym ciekawy, jak dobrze radzi sobie z frazami.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.