Andrew Krizhanovsky edited WVR.tex  almost 8 years ago

Commit id: cbe567168553c37edc3942bd9448285b08ff66db

deletions | additions      

       

\section{Векторное представление слов: блеск и нищета построения нейронных сетей инструментом word2vec}  Идея векторного представления слов с помощью нейронных сетей получила мощный толчок благодаря работам чешского ученого Томаса Миколова (\cite{Mikolov2012}, \cite{Mikolov2011} \cite{Mikolov_2011}  + todo ref статья 2013 г.:см. Литература № 3). Главное достоинство работы Т.~Миколова в том, что он разработал инструмент \textit{word2vec} для создания моделей нейронных сетей (далее будем их называть \textit{NN-моделями}) на основе текстов корпусов. Забегая вперед можно сказать, что, с нашей точки зрения, не меньший вклад сделали и отечественные ученые Андрей Кутузов и Елизавета Кузьменко, которые приготовили с помощью word2vec NN-модели для русского языка на основе ряда корпусов. Свой инструмент они назвали RusVectores~\cite{Kutuzov_2015}. Бедность подхода, предложенного Т.~Миколовым в том, что поиск осмысленных пар семантических отношений работает только на некоторых ярких примерах ($queen - woman + man \approx king$). Малейшее отклонение в сторону даёт неудовлетворительные результаты. Слабость математической стороны работ Т.~Миколова была подмечена в недавней работе Голдберга и Леви (todo см. Литература № 4). 

Задача векторного представления слов состоит в построении линейного отображения   $L: D \rightarrow \mathbb{R}^N$,  где $N<<|D|$, а вектор $v=L(w), w \in D$, $v$ имеет компоненты $v_j \in \mathbb{R}$. Эот процесс называется рапсределенным (distributed) векторным представлением слов (cite). (todo cite).  Цель его состоит в замене очень "тощего" множества $D \in \mathbb{R}^{|D|}$, в которое входят веторы с нулевым взаимным скалярным произведением, на некоторое подмножество из $\mathbb{R}^N$, векторы которого расположены таким образом, что их компоненты позволяют использовать скалярное произведение нормированных векторов в качестве меры их похожести (similarity), что принято в соотвествующих задачах обработки языков. Полагая что линейное отображение $L$ реализуется с помощью матрицы $W$, получаем $v=Ww$, прчем для нахождении матрицы $W$ используют различные методы, в частности, основанные на нейронных сетях. Наибольшую популярность в самое последнее время приобрели CBOW и Skip-gram методы, предложенные в (todo ref Mikolov 2013) и являющиеся, по сути, модификацией метода максимального правдоподобия.   При этом в методе Skip-gram матрица $W$ максимизирует функцию $F(W)$ вида   $$