Andrew Krizhanovsky edited section_Methods_of_word_vector__.tex  about 8 years ago

Commit id: 9ccf614dcf5c461ec09ac5739ffe38859437e214

deletions | additions      

       

Задача векторного представления слов состоит в построении линейного отображения   $L: D \rightarrow \mathbb{R}^N$,  где $N<<|D|$, а вектор $v=L(w), w \in D$ имеет компоненты $v_i \in \mathbb{R}$. Эот процесс называется рапсределенным (distributed) векторным представлением слов (cite). Цель его состоит в замене очень "тощего"  множества $D \in \mathbb{R}^{|D|}$, в которое входят веторы с нулевым взаимным скалярным произведением, на некоторое подмножество из $\mathbb{R}^N$, векторы которого расположены таким образом, что их компоненты позволяют использовать скалярное произведение нормированных векторов в качестве меры их похожести (similarity), что принято в соотвествующих задачах обработки языков. Полагая что линейное отображение $L$ реализуется с помощью матрицы $W$, получаем $v=Ww$, прчем для нахождении матрицы $W$ используют различные методы, в частности, основанные на нейронных сетях. Наибольшую популярность в самое последнее время приобрели CBOW и Skip-gram методы, предложенные в \cite{Mikolov_2012}, \cite{Mikolov_2011} и являющиеся, по сути, модификацией метода максимального правдоподобия.   При этом в методе Skip-gram матрица $W$ максимизирует функцию $F(W)$ вида   $$  F(W)=\frac{1}{T}\sum_{t=1}^T \sum_{-c\leq j\leq c, j\neq 0} \ln p(w_{t+j}|w_{t)}  $$  $$  p(w_{t+j}|w_t)=\frac{\exp u_{t+j}}{\sum_{i=1}^{|D|}\exp u_i}, \qquad u_i = (Ww_i, Ww_t)  $$  где $(\cdot, \cdot)$ -- символ скалярного произведения, $T$-- объем обучающего контекста. Здесь по слову  $w_(t)$ находится содержащий его контекст, составляющий "окно" размера $2c$. В методе CBOW (continuous bag of words), наоборот, по контексту находится слово, входящее в него.Для максимизации $F(W)$ используется метод стохастического градиентного спуска.  Введем обозначения для нормированных сумм векторов: $M((a_{i}),n)=\frac{\sum_{i=1}^n a_{i}}{||\sum_{i=1}^n a_{i}||}$, $M((a_{i}, v), n+1)=\frac{\sum_{i=1}^n a_{i}+v}{||\sum_{i=1}^n a_{i}+v||}$  Рассмотрим синсет $S=\{v_k, k=1,...,|S|$.  \begin{definition}  Внутренностью $Int S$ синсета $S$ называется множество всех векторов $v_l \in S$, удовлетворяющих условию   $$  $Int S$ = \{v_l \in S: (M((v_{i_s}),q)- M((V_{i_s}, v_l), n+1), M((v_{j_p}), r))<0\}  $$  для любых дизъюнктных разбиений $S\setminus \{v_l\}=\{v_{i_s}\}\sqcup \{v_{j_p}\},$   $ s=1,...,q,$ $ p=1,...,r,$ $q+r=|S|-1, \ i_s\neq j_p $.  \end{definition}.  Смысл определения состоит в том, что добавление вектора $v_l \in S$ в любое из двух подмножеств   множества $S\setminus \{v_l\}$, образующих его дизъюнктное разбиение, уменьшает расстояние между  этими подмножествами.  Определение ранга синонима $v\in S$.  Дизъюнктное разбиение на два множества будем называть разбиением. Пусть $P= \{p_i, i=1,...,2^{n-2}-1\}$ - множество всех пронумерованных каким-либо образом разбиений $(n-1)-$элементного множества $S\setminus v$.  Пусть $sim_i$ -- расстояние между элементами разбиения $p_i$, $sim_i(v,1), sim_i(v, 2)$ -- расстояния между одним из элементов разбиения и множеством, являющимся объединением другого элемента и слова $v$.  Введем функцию $r: P\rightarrow \{-1, 0, 1\}$. Пусть $r(p_i)=r_i$, где $r_i =-1, 1$ или 0, если добавление   слова $v$ к каждому из элементов разбиения $p_i$ увеличивает, уменьшает расстояние $sim_i$ или добавление к одному элементу увеличивает, а кдругому -- уменьшает расстояние $sim_i$, соответственно.  $$  rank\ v = \sum_{i=1}^{|S\setminus v|} r_i  $$  Утверждение. Если $v \in Int S$, то $rank\ v = d = 2^{n-2}-1$ -- число всех непустых дизъюнктных разбиений $(n-1)-$элементного множества $S\setminus v$, т.е. $rank\ v$ максимален.