Andrew Krizhanovsky edited section_Thesaurus_expansion_algorithm_word2vec__.tex  about 8 years ago

Commit id: cc230f909d5a210c19617641598b0357d2866c9a

deletions | additions      

       

Благодаря интеграции данных корпусов (в модели, построенной программой word2vec) и тезаурусов (тезаурус Викисловаря) мы с минимальными усилиями получаем ответы на множество важных вопросов. Например, такая прикладная задача как поиск семантически близких слов:  Алгоритм проверки гипотезы (2)$\implies$(1):  \begin{enumerate}  \item Input data: $L$~--- list of synonyms (synset) (What about antonyms, hyponyms, hyperonyms?)  \item Split L to two subsets: $l_1$ and $l_2$. Известно, что оба этих списка являются синсетами (synset) для одного и того же слова $w$. (Можно рассмотреть аналогичные списки антонимов, гиперонимов...)  \item Обойти все слова в словаре. Для каждого слова $w$:  \item Вычислить расстояние между двумя подмножествами слов с помощью функции n_similarity так: $sim_0 = model.n\_similarity (l_1, l_2)$  \item То же, но заданное слово $w$ добавляется к первому подмножеству: $sim_1 = model.n\_similarity (l_1 + w, l_2)$  \item Ко второму: $sim_2 = model.n_similarity (l_1, l_2 + w)$  \item $if( sim_1 < sim_0 AND sim_2 < sim_0 ) then w \rightarrow L$ // Если добавление слова $w$ сближает подмножества, то это слово является синонимом (добавляем это слово в синсет $L$).  \end{enumerate}  \begin{definition}  Границей синсета $S$ называется множество $Bd S= S\setminus Int S$ (synset's edge)~$s$~--- это такие синонимы из $s$, добавление которых в любые непустые разбиения синсета не сближает средние вектора этих разбиений.  \end{definition}