Хочется для каждого автора показать слова, которые звучат именно как он. Наивные способы не работают:
• «Самые частые слова» — у всех получится «который», «это», «назвать». Скучно и одинаково.
• «Слова только у него» — это почти всегда опечатки и случайные редкости, а не стиль.
Мы берём, как часто слово встречается у автора, и сравниваем с тем, как часто оно встречается во всём остальном корпусе. Слово «фирменное», если у автора оно идёт заметно чаще, чем в среднем по ЧГК. Формально это логарифм отношения шансов (log-odds): насколько сдвинуты шансы встретить слово у автора против всех прочих.
У редких слов отношение шансов «скачет»: одно-два употребления — и слово будто бы уникальное. Чтобы этого не было, мы добавляем мягкий приор (метод Monroe, Colaresi & Quinn, 2008, «Fightin' Words»): как будто заранее видели каждое слово чуть-чуть, пропорционально его общей частоте. Затем делим сдвиг на его погрешность и получаем z-оценку: насколько надёжно слово отличает автора. Чем выше z, тем «фирменнее».
Слова-маркеры мы делим на два вида по грамматике (через морфоанализатор 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.