Istnieją różne modele do pomiaru podobieństwa, takie jak word2vec lub rękawicy, ale wydaje aby wyglądać bardziej na korpus, który zawiera społeczne, nieformalne frazy, takie jak "lol".
Jednak zamierzam wywołać word2vec, ponieważ prowadzi do tego, co moim zdaniem jest odpowiedzią na twoje pytanie.
Podstawową koncepcją word2vec (i innych modeli osadzania słów, takich jak rękawiczki) jest reprezentacja słów w przestrzeni wektorowej, która zawiera relacje między wyrazami. To bardzo dobrze nadaje się do pomiaru podobieństwa, ponieważ wektory mają dużo ustalonej matematyki. Możesz przeczytać więcej o technicznych szczegółach word2vec w oryginalnym paper,, ale całkiem lubię this blog post, ponieważ jest dobrze napisany i zwięzły.
Ponownie, ponieważ word2vec jest tylko modelem, musisz sparować go z odpowiednim zestawem treningowym, aby uzyskać pożądany zakres.W Internecie poruszają się wstępnie wyszkolone modele, takie jak this bunch.. Zestaw treningowy pozwala na wyszukiwanie większej liczby terminów niż modelu.
Z pewnością możesz użyć tych wstępnie wyszkolonych modeli, jeśli mają zwroty społeczne, takie jak te, których szukasz. Jeśli jednak nie widzisz modelu, który został przeszkolony w zakresie odpowiedniego korpusu, możesz samodzielnie ćwiczyć model. Proponuję Twittera lub Wikipedii dla corporów (zestawy treningowe) i implementacji word2vec w gensim
jako modelu osadzania słów.
Jaką podobieństwa próbujesz obliczyć? Semantyczne podobieństwo? Nie będzie można go obliczyć bez jakiejś bazy danych znaczeń słów (takich jak WordNet). – BrenBarn
Co masz na myśli? Korzystam już z WordNet, podobieństwo jest obliczane za pomocą podobieństwa Wu-Palmer. Proszę uważnie przeczytać kod. –
Spójrz na zadanie STS: http://alt.qcri.org/semeval2016/task1/ I bezwstydna wtyczka: https://github.com/alvations/stasis – alvas