Przygotowanie polskiego modelu word2vec z wykorzystaniem korpusu OpenSubtitles

Jednym z częstych zagadnień związanych z Machine Learning jest budowa tzw. word embedding, czyli sposobu reprezentacji wyrazów w postaci liczbowej. Technika ta pojawiła się na początku lat 2000 za sprawą serii prac Yoshuy Bengio, jednak prawdziwy jej rozkwit nastąpił w 2013 roku za sprawą publikacji prac zespołu google pod przewodnictwem Tomasa Mikolova. Zespół opracował a następnie udoskonalił metodę zapisu znaczenia słów w postaci wektorów w wielowymiarowej przestrzeni. Typowo stosowane są przestrzenie 100 i 300 wymiarowe. Zapis ten określony został mianem word2vec.  Do jego stworzenia stosuje się dwie metody Continuous Bag of Words (CBoW) oraz Continuous skip-gram. W pierwszej z nich model przewiduje aktualnie uczone słowo na podstawie słów otaczających bez uwzględnienia kolejności (bag of words). W drugiej model wykorzystuje aktualne słowo do prognozowania słów otaczających, przy czym słowom bliższym przyporządkowana jest wyższa waga. Według autorów CBOW jest szybszy ale algorytm skip-gram osiąga lepsze rezultaty dla rzadszych słów.


Reprezentacja wektorowa słów word2vec posiada  bardzo ciekawą cechę, mianowicie pozwala ona przeprowadzać na słowach operacje arytmetyczne. Przykładowo:

brat - mężczyzna + kobieta = siostra

W powyższym wyrażeniu w słowie brat odjęty zostanie  aspekt męski a dodany kobiecy co powoduje że w wyniku tej operacji otrzymujemy słowo siostra. Czytaj dalej Przygotowanie polskiego modelu word2vec z wykorzystaniem korpusu OpenSubtitles