Andrew Krizhanovsky reduce v at sim_i  almost 8 years ago

Commit id: 7fc61a09f1d5ef1f24a7119069352fe6dcff5d32

deletions | additions      

       

Рассмотрим какое-либо разбиение $p_i$ множества $S \setminus v$ на подмножества $S_1$ и $S_2$, т.е. $S \setminus v = S_1 \sqcup S_2$.  Обозначим $sim_i=sim\{ S_1, S_2 \}$,   $sim^1_i(v)=sim\{ $sim^1_i = sim\{  S_1 \cup v, S_2 \}$, $sim^2_i(v)=sim\{ $sim^2_i = sim\{  S_1, S_2 \cup v \}$. Введем функцию $r_v: P_v\rightarrow \{-1, 0, 1\}$ следующего вида:  $$  r_v (p_i) = \begin{cases}   \ \ -1, & sim^1_i(v) sim^1_i  < sim_i \bigwedge sim^2_i(v) sim^2_i  < sim_i, \\ \ \ 1, & sim^1_i(v) sim^1_i  > sim_i \bigwedge sim^1_i(v) sim^1_i  > sim_i, \\ \ \ 0, & (sim^1_i(v) (sim^1_i  - sim_i) \cdot (sim^2_i(v) (sim^2_i  - sim_i) < 0 \end{cases} $$   Функция $r_v$ определена для каждого разбиения и дает своего рода "кирпичики", из которых будет складываться ранг синонима.  Выражение   $(sim^1_i(v) $(sim^1_i  - sim_i) \cdot (sim^2_i(v) (sim^2_i  - sim_i) < 0$ эквивалентно и является компактной записью для   $(sim^1_i(v) $(sim^1_i  < sim_i \wedge sim^2_i(v) sim^2_i  > sim_i) \bigvee (sim^1_i(v) (sim^1_i  > sim_i \wedge sim^2_i(v) sim^2_i  < sim_i)$. Другими словами функция $r_v (p_i)$ дает значение $0$,   если добавление слова $v$ одному из элементов разбиения $p_i$ уменьшает (увеличивает) расстояние $sim_i$,   а добавление ко второму элементу~--- наоборот~--- увеличивает (уменьшает) расстояние $sim_i$. То есть элемент $v$ действует на множества в "противофазе". На рис.~\ref{fig:SynsetSetsRank} это разбиения 2 и 3.