Как мы находим «фирменные слова» автора

Хочется для каждого автора показать слова, которые звучат именно как он. Наивные способы не работают:

«Самые частые слова» — у всех получится «который», «это», «назвать». Скучно и одинаково.
«Слова только у него» — это почти всегда опечатки и случайные редкости, а не стиль.

Идея: сравнить автора со всеми остальными

Мы берём, как часто слово встречается у автора, и сравниваем с тем, как часто оно встречается во всём остальном корпусе. Слово «фирменное», если у автора оно идёт заметно чаще, чем в среднем по ЧГК. Формально это логарифм отношения шансов (log-odds): насколько сдвинуты шансы встретить слово у автора против всех прочих.

Поправка на редкость: приор

У редких слов отношение шансов «скачет»: одно-два употребления — и слово будто бы уникальное. Чтобы этого не было, мы добавляем мягкий приор (метод Monroe, Colaresi & Quinn, 2008, «Fightin' Words»): как будто заранее видели каждое слово чуть-чуть, пропорционально его общей частоте. Затем делим сдвиг на его погрешность и получаем z-оценку: насколько надёжно слово отличает автора. Чем выше z, тем «фирменнее».

z > 3
уверенный маркер
×N
сколько раз у автора
ещё у K
у скольких других авторов встречается

Две колонки: стиль и темы

Слова-маркеры мы делим на два вида по грамматике (через морфоанализатор pymorphy3):
Темы — имена, фамилии, города, организации: о чём автор любит спрашивать (Плутарх, Тэтчер, Ливерпуль).
Слова-маркеры — нарицательная лексика: как он пишет (у Бориса Бурды это «каковой», «весьма», «совершенно» — его фирменный высокий штиль).

Тем же методом (log-odds) считаем фирменные обороты — словосочетания из 2 и 3 слов, характерные для автора (у Бурды «представьте себе», «без труда догадаетесь», «пролетарии всех стран соединяйтесь»). Общие для всего ЧГК штампы сюда не лезут: они не отличают автора.

Мелочь по чистоте данных: белорусские и украинские вопросы отсеиваем по буквам і/ї/є/ґ/ў, снимаем знаки ударения перед разбором, а имена/места сверх этого прошли отдельный аудит (LLM-агенты разметили обрывки, отчества и бренды-не-места, они в стоп-листе).

Родственные авторы

На сайте можно переключать 4 способа искать похожих (селектор «соседи:» на главной), потому что «похожи» бывает разное:

По лексикестилевой отпечаток: вектор слов, которыми автор выделяется (те же z-оценки weighted log-odds по нарицательной лексике), косинус. Сравниваем характерность, а не объём, поэтому плодовитые авторы не липнут ко всем.
По манере (Delta) — классическая стилометрия (Burrows/Eder): берём частоты самых частых, в основном служебных слов, z-нормируем каждое по всем авторам и считаем косинус. Это «как устроена речь», почти без влияния темы.
По буквосочетаниям — профиль символьных 3-грамм (буквенных троек с границами слов), tf-idf + косинус. Устойчивый к теме почерк на уровне морфологии.
По смыслу (нейросеть)doc2vec (Paragraph Vectors): небольшая нейросеть, которую мы обучаем локально на нашем корпусе (без внешних моделей). Каждый автор получает вектор-эмбеддинг, соседи по косинусу. Ближе к «про одно и то же / общее семантическое поле».

Интересно, что соседи по разным способам часто разные: это и есть разные грани «похожести».

Честные оговорки

Метрика ловит разнообразие и характерность словаря, а не «ум» или качество вопросов. Темы часто отражают эрудиционные пристрастия автора, а не стиль. А в корпусе последних лет есть белорусские и украинские вопросы: часть шумных слов оттуда.

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