Как работает каждый метод похожести

На странице Похожесть соседей можно искать четырьмя способами. Они меряют разные вещи, поэтому и соседи выходят разные. Вот что происходит под капотом.

способ 1

По лексике — стилевой отпечаток

Для автора берём слова, которыми он выделяется на фоне всех (z-оценки weighted log-odds по нарицательным словам), и складываем в вектор. Похожи те, у кого совпадают «фирменные» слова. Ловит: любимые слова и темы. Пример: у Бориса Бурды это «каковой», «весьма», «римлянин».

способ 2

По манере — Cosine Delta (стилометрия)

Классика определения авторства (Burrows/Eder). Берём самые частые слова, в основном служебные (предлоги, союзы, частицы: «который», «однако», «весьма», «на», «же»), считаем их доли и z-нормируем каждое слово по всем авторам. Косинус этих профилей. Ловит: синтаксический почерк — как человек строит фразу, почти без влияния темы. Два автора могут писать про совершенно разное, но одинаково злоупотреблять «однако» и «тем самым» — Delta их сроднит.

способ 3

По буквосочетаниям — символьные 3-граммы

Тот, который кажется «случайным». На самом деле нет. Мы режем каждое слово на тройки букв внахлёст, добавив границы слова. Слово «удав» превращается в: _уд, уда, дав, ав_. Так поступаем со всеми словами автора, считаем частоты троек, взвешиваем tf-idf и сравниваем косинусом.

Живое демо: введите слово, и увидите его 3-граммы (как их видит метод):

Что это ловит: не смысл и не конкретные слова, а морфологию и орфографию — какими суффиксами, приставками, окончаниями и буквосочетаниями автор пользуется чаще. Любитель причастий насобирает много вш, ющ; любитель превосходных степеней — ейш; кто-то пишет «ё», а кто-то «е». Поэтому соседи по «буквам» бывают неожиданными: метод глух к теме и значению и роднит людей по фактуре письма на уровне букв. Это грубее и «шумнее» остальных, зато устойчиво к тому, о чём человек пишет.

способ 4

По смыслу — doc2vec (нейросеть)

Небольшая нейросеть (Paragraph Vectors), которую мы обучаем локально на нашем корпусе. Она учится предсказывать слова автора и попутно выдаёт каждому автору вектор-эмбеддинг так, что близкие по смыслу оказываются рядом. Ловит: общее смысловое поле — про что и в каком контексте человек пишет.

Кратко в таблице

МетодЧто сравниваетВлияет ли темаНа что похоже
По лексикехарактерные слова (log-odds)да, частичнолюбимые слова и темы
По манере (Delta)частоты служебных словпочти нетсинтаксический почерк
По буквам (3-граммы)тройки буквнетморфология, орфография
По смыслу (нейро)эмбеддинг doc2vecда, сильносмысловое поле

Поэтому у одного и того же автора соседи по «лексике» и «смыслу» часто пересекаются (оба смотрят на содержание), а по «буквам» — совсем другие: это не баг, а другой срез похожести. Полные формулы — на странице Как считаем.

Данные и профили авторов: база вопросов ЧГК gotquestions.online. Метод «фирменных слов» — weighted log-odds (см. Как считаем). Дизайн — тема Pac-Man.