Добавлена академическая LaTeX-презентация на 27 слайдов
This commit is contained in:
9
lab1/.gitignore
vendored
9
lab1/.gitignore
vendored
@@ -9,3 +9,12 @@ __pycache__/
|
|||||||
!/results/README.md
|
!/results/README.md
|
||||||
|
|
||||||
/presentation/preview/
|
/presentation/preview/
|
||||||
|
|
||||||
|
/presentation/latex/*.aux
|
||||||
|
/presentation/latex/*.log
|
||||||
|
/presentation/latex/*.nav
|
||||||
|
/presentation/latex/*.out
|
||||||
|
/presentation/latex/*.snm
|
||||||
|
/presentation/latex/*.toc
|
||||||
|
/presentation/latex/*.synctex.gz
|
||||||
|
/presentation/latex/preview/
|
||||||
|
|||||||
@@ -138,16 +138,29 @@ python -m stylometry.cli subgroup-report \
|
|||||||
|
|
||||||
## Презентация
|
## Презентация
|
||||||
|
|
||||||
Готовая презентация находится в `presentation/`:
|
Есть две версии:
|
||||||
|
|
||||||
- `stardew_stylometry.pptx` — редактируемая презентация на 32 слайда;
|
- **`presentation/stardew_stylometry.pptx`** — редактируемая PPTX-версия
|
||||||
- `stardew_stylometry.pdf` — версия для просмотра;
|
(30 слайдов после ручных правок);
|
||||||
- `presentation/README.md` — структура, сборка и редактирование;
|
- **`presentation/stardew_stylometry.pdf`** — PDF этой версии;
|
||||||
- `presentation/build_deck.py` — сборка PPTX;
|
- **`presentation/latex/stardew_stylometry.tex`** — академическая
|
||||||
- `presentation/make_slide_figures.py` — матрицы ошибок и диаграммы.
|
Beamer-версия;
|
||||||
|
- **`presentation/latex/stardew_stylometry.pdf`** — собранный PDF LaTeX-версии
|
||||||
|
(27 страниц).
|
||||||
|
|
||||||
Презентация разбита на три блока: корпус, методология, результаты. На каждом
|
LaTeX-версия содержит три блока на трёх докладчиков, фон и курицу на каждом
|
||||||
слайде есть фон и маленькая курица-пасхалка; на последнем слайде — мем.
|
слайде, титульную заставку, изображение персонажей, две круговые диаграммы,
|
||||||
|
матрицы ошибок, F-меры по персонажам, приложение с полной матрицей и финальный
|
||||||
|
мем. Формул почти нет: одна компактная запись обозначений на слайде постановки
|
||||||
|
задачи.
|
||||||
|
|
||||||
|
Сборка LaTeX:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd presentation/latex
|
||||||
|
xelatex stardew_stylometry.tex
|
||||||
|
xelatex stardew_stylometry.tex
|
||||||
|
```
|
||||||
|
|
||||||
## Конфигурация
|
## Конфигурация
|
||||||
|
|
||||||
|
|||||||
@@ -49,3 +49,17 @@ python presentation/build_deck.py
|
|||||||
потеряет ручные правки. Для точечной переработки первого блока использован
|
потеряет ручные правки. Для точечной переработки первого блока использован
|
||||||
`rework_block1.py`; перед повторным применением скрипта сделайте резервную
|
`rework_block1.py`; перед повторным применением скрипта сделайте резервную
|
||||||
копию PPTX.
|
копию PPTX.
|
||||||
|
|
||||||
|
## LaTeX-версия
|
||||||
|
|
||||||
|
Академическая Beamer-презентация:
|
||||||
|
|
||||||
|
- `latex/stardew_stylometry.tex` — исходник;
|
||||||
|
- `latex/stardew_stylometry.pdf` — собранный PDF, 27 страниц;
|
||||||
|
- сборка: `cd latex && xelatex stardew_stylometry.tex` (два прохода).
|
||||||
|
|
||||||
|
В LaTeX-версии три блока на трёх докладчиков, фон и курица на каждом слайде,
|
||||||
|
титульная заставка, изображение персонажей, две круговые диаграммы, матрицы
|
||||||
|
ошибок, F-меры по персонажам, приложение с полной матрицей и финальный мем.
|
||||||
|
Формул почти нет: одна компактная запись обозначений на слайде постановки
|
||||||
|
задачи.
|
||||||
|
|||||||
BIN
lab1/presentation/latex/stardew_stylometry.pdf
Normal file
BIN
lab1/presentation/latex/stardew_stylometry.pdf
Normal file
Binary file not shown.
879
lab1/presentation/latex/stardew_stylometry.tex
Normal file
879
lab1/presentation/latex/stardew_stylometry.tex
Normal file
@@ -0,0 +1,879 @@
|
|||||||
|
% !TeX program = xelatex
|
||||||
|
% Стилометрическая классификация реплик Stardew Valley — академическая Beamer-презентация.
|
||||||
|
% Сборка: xelatex stardew_stylometry.tex (два прохода) в каталоге latex/.
|
||||||
|
\documentclass[aspectratio=169,10pt]{beamer}
|
||||||
|
|
||||||
|
\usepackage{fontspec}
|
||||||
|
\usepackage[russian]{babel}
|
||||||
|
\babelfont{rm}{Liberation Sans}
|
||||||
|
\babelfont{sf}{Liberation Sans}
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{tikz}
|
||||||
|
\usetikzlibrary{calc}
|
||||||
|
\usepackage[most]{tcolorbox}
|
||||||
|
\usepackage{graphicx}
|
||||||
|
|
||||||
|
\graphicspath{{../images/}{../generated/}}
|
||||||
|
|
||||||
|
% ---------- Цвета: сдержанная академическая гамма ----------
|
||||||
|
\definecolor{cream}{RGB}{253,246,231}
|
||||||
|
\definecolor{inkbrown}{RGB}{62,42,26}
|
||||||
|
\definecolor{accent}{RGB}{140,95,45}
|
||||||
|
|
||||||
|
% ---------- Общий вид ----------
|
||||||
|
\usefonttheme{professionalfonts}
|
||||||
|
\setbeamertemplate{navigation symbols}{}
|
||||||
|
\setbeamertemplate{caption}{\raggedright\insertcaption\par}
|
||||||
|
\setbeamercolor{normal text}{fg=inkbrown}
|
||||||
|
\setbeamercolor{frametitle}{fg=inkbrown}
|
||||||
|
\setbeamercolor{structure}{fg=accent}
|
||||||
|
\setbeamercolor{itemize item}{fg=accent}
|
||||||
|
\setbeamercolor{itemize subitem}{fg=accent}
|
||||||
|
\setbeamercolor{itemize/enumerate body}{fg=inkbrown}
|
||||||
|
\setbeamercolor{enumerate item}{fg=accent}
|
||||||
|
\setbeamersize{text margin left=0.55cm, text margin right=0.55cm}
|
||||||
|
\setbeamertemplate{itemize item}{\textbullet}
|
||||||
|
\setbeamertemplate{itemize subitem}{--}
|
||||||
|
|
||||||
|
% ---------- Фон: изображение + маленькая курица на каждом слайде ----------
|
||||||
|
\usebackgroundtemplate{%
|
||||||
|
\begin{tikzpicture}[remember picture, overlay]
|
||||||
|
\node at (current page.center)
|
||||||
|
{\includegraphics[width=\paperwidth,height=\paperheight]{background.jpg}};
|
||||||
|
\node[anchor=south east, xshift=-2.5mm, yshift=1.5mm]
|
||||||
|
at (current page.south east)
|
||||||
|
{\includegraphics[height=0.65cm]{chicken.png}};
|
||||||
|
\end{tikzpicture}}
|
||||||
|
|
||||||
|
% ---------- Заголовок слайда: кремовая полоса во всю ширину ----------
|
||||||
|
\newlength{\sidemargin}
|
||||||
|
\setlength{\sidemargin}{0.55cm}
|
||||||
|
\setbeamertemplate{frametitle}{%
|
||||||
|
\nointerlineskip
|
||||||
|
\vspace*{-0.2mm}%
|
||||||
|
\hspace*{-\sidemargin}%
|
||||||
|
\begin{tcolorbox}[enhanced, width=\paperwidth, colback=cream, colframe=cream,
|
||||||
|
opacityback=0.90, arc=0mm, boxrule=0pt,
|
||||||
|
left=\sidemargin, right=\sidemargin, top=1.2mm, bottom=1.2mm,
|
||||||
|
before skip=0pt, after skip=2mm]
|
||||||
|
{\usebeamerfont{frametitle}\usebeamercolor[fg]{frametitle}\large\bfseries\insertframetitle}
|
||||||
|
\end{tcolorbox}}
|
||||||
|
|
||||||
|
% ---------- Кремовые панели для содержимого ----------
|
||||||
|
\tcbset{panelstyle/.style={enhanced, colback=cream, opacityback=0.90,
|
||||||
|
colframe=accent, opacityframe=0.65, boxrule=0.6pt, arc=1.4mm,
|
||||||
|
boxsep=1.2mm, top=1.4mm, bottom=1.4mm, left=2.4mm, right=2.4mm,
|
||||||
|
before skip=1.6mm, after skip=1.6mm}}
|
||||||
|
\newtcolorbox{panel}[1][]{panelstyle, #1}
|
||||||
|
|
||||||
|
% ---------- Кремовый бокс с изображением ----------
|
||||||
|
\newtcolorbox{imgbox}[1][]{enhanced, colback=cream, opacityback=0.90,
|
||||||
|
colframe=accent, opacityframe=0.65, boxrule=0.6pt, arc=1.4mm,
|
||||||
|
boxsep=0.8mm, top=0.8mm, bottom=0.8mm, left=0.8mm, right=0.8mm,
|
||||||
|
before skip=1.6mm, after skip=1.6mm, halign=center, #1}
|
||||||
|
|
||||||
|
% ---------- Титульный шаблон ----------
|
||||||
|
\title[Стилометрия реплик Stardew Valley]{Стилометрическая классификация реплик персонажей Stardew Valley}
|
||||||
|
\author{А.~А.~Аладьина \and В.~Н.~Копнин \and М.~В.~Савостиков}
|
||||||
|
\institute{ПИЭ-13МО}
|
||||||
|
|
||||||
|
\setbeamerfont{note page}{size=\footnotesize}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
% ==================== СЛАЙД: ТИТУЛ ====================
|
||||||
|
\begin{frame}[plain]
|
||||||
|
\begin{tikzpicture}[remember picture, overlay]
|
||||||
|
\node at (current page.center)
|
||||||
|
{\includegraphics[width=\paperwidth,height=\paperheight]{title.jpg}};
|
||||||
|
\node[anchor=south east, xshift=-2.5mm, yshift=1.5mm]
|
||||||
|
at (current page.south east)
|
||||||
|
{\includegraphics[height=0.65cm]{chicken.png}};
|
||||||
|
\end{tikzpicture}
|
||||||
|
\vspace*{-2.2cm}
|
||||||
|
\begin{center}
|
||||||
|
\begin{tcolorbox}[enhanced, width=0.92\paperwidth, colback=cream, opacityback=0.92,
|
||||||
|
colframe=cream, boxrule=0pt, arc=2mm, halign=center, boxsep=2mm]
|
||||||
|
{\large\bfseries Стилометрическая классификация реплик персонажей Stardew Valley}\\[2mm]
|
||||||
|
{\normalsize Можно ли различить голоса персонажей, если все реплики написаны одним автором?}\\[2.4mm]
|
||||||
|
\small А.~А.~Аладьина \quad·\quad В.~Н.~Копнин \quad·\quad М.~В.~Савостиков\\[0.8mm]
|
||||||
|
\footnotesize ПИЭ-13МО
|
||||||
|
\end{tcolorbox}
|
||||||
|
\end{center}
|
||||||
|
\note{Титул. Представление группы: Аладьина Анна Андреевна, Копнин Владислав
|
||||||
|
Николаевич, Савостиков Михаил Викторович, ПИЭ-13МО. Коротко: мы проверяем,
|
||||||
|
различимы ли речевые маски персонажей игры по одной реплике. Автор у всех
|
||||||
|
реплик один — это ключевой факт всей работы. Далее три блока: задача и
|
||||||
|
корпус, методология, результаты.}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
% ==================== БЛОК 1 ====================
|
||||||
|
\begin{frame}{Блок 1\ \ ·\ \ Задача и корпус}
|
||||||
|
\begin{center}
|
||||||
|
\begin{tcolorbox}[enhanced, width=0.86\paperwidth, colback=cream, opacityback=0.9,
|
||||||
|
colframe=cream, boxrule=0pt, arc=2mm, halign=center, boxsep=3mm]
|
||||||
|
{\large Блок 1}\\[1.5mm]
|
||||||
|
{\Large\bfseries Решаемая задача и корпус}\\[2mm]
|
||||||
|
\small Постановка задачи · сбор и очистка данных · характеристики корпуса\\[2.5mm]
|
||||||
|
{\bfseries Докладчик: А.~А.~Аладьина}
|
||||||
|
\end{tcolorbox}
|
||||||
|
\end{center}
|
||||||
|
\note{Блок\,1. Говорит А. А. Аладьина. План блока: что за задача мы решаем,
|
||||||
|
её формальная постановка, как собирали и чистили корпус, и какими
|
||||||
|
характеристиками он обладает.}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Задача и постановка}
|
||||||
|
\begin{columns}[T]
|
||||||
|
\begin{column}{0.49\textwidth}
|
||||||
|
\begin{panel}
|
||||||
|
\textbf{Решаемая задача}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Дано: 2005 коротких реплик, 34 персонажа, один автор.
|
||||||
|
\item Требуется: по одной реплике определить персонажа.
|
||||||
|
\item Каждый объект относится ровно к одному из 34 классов.
|
||||||
|
\item Это не авторская атрибуция: мы различаем \emph{речевые маски персонажей}, а не авторов.
|
||||||
|
\item Проверяется, статистически ли различимы эти маски.
|
||||||
|
\end{itemize}
|
||||||
|
\end{panel}
|
||||||
|
\end{column}
|
||||||
|
\begin{column}{0.49\textwidth}
|
||||||
|
\begin{panel}
|
||||||
|
\textbf{Компактная постановка}\\[1.2mm]
|
||||||
|
\centering
|
||||||
|
$D=\{(x_i,\,y_i)\}_{i=1}^{n},\quad n=2005,$\\[1mm]
|
||||||
|
$x_i$ — реплика, \ $y_i\in Y,\ |Y|=34,$\\[1mm]
|
||||||
|
$f\colon \Phi(x_i)\to Y$ — классификатор.\\[1.2mm]
|
||||||
|
\raggedright\small Ещё одна запись — критерий качества: усреднённая
|
||||||
|
F-мера по классам (macro-F1). Других формул в докладе не будет.
|
||||||
|
\end{panel}
|
||||||
|
\end{column}
|
||||||
|
\end{columns}
|
||||||
|
\note{Говорит А. А. Аладьина. Задача — многоклассовая классификация коротких
|
||||||
|
текстов: по одной реплике предсказать персонажа из 34 классов. Подчеркнуть:
|
||||||
|
это НЕ авторская атрибуция — все тексты написаны одним автором, и мы
|
||||||
|
проверяем различимость речевых масок. Формула одна и остаётся единственной
|
||||||
|
в докладе.}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Корпус: сбор, разметка, очистка}
|
||||||
|
\begin{columns}[T]
|
||||||
|
\begin{column}{0.33\textwidth}
|
||||||
|
\begin{panel}
|
||||||
|
\small\textbf{1. Сбор}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Реплики из диалогов игры.
|
||||||
|
\item Единица анализа — одна реплика.
|
||||||
|
\item 34 персонажа, тексты на английском.
|
||||||
|
\end{itemize}
|
||||||
|
\end{panel}
|
||||||
|
\end{column}
|
||||||
|
\begin{column}{0.33\textwidth}
|
||||||
|
\begin{panel}
|
||||||
|
\small\textbf{2. Разметка}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Метка — имя говорящего персонажа.
|
||||||
|
\item Ручная проверка реплики и метки.
|
||||||
|
\item Метаданные (пол, возраст, вид) хранятся отдельно.
|
||||||
|
\end{itemize}
|
||||||
|
\end{panel}
|
||||||
|
\end{column}
|
||||||
|
\begin{column}{0.33\textwidth}
|
||||||
|
\begin{panel}
|
||||||
|
\small\textbf{3. Очистка}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Нормализация Unicode.
|
||||||
|
\item Плейсхолдеры заменены нейтральными словами.
|
||||||
|
\item Пунктуация и регистр сохранены: это стилометрический сигнал.
|
||||||
|
\end{itemize}
|
||||||
|
\end{panel}
|
||||||
|
\end{column}
|
||||||
|
\end{columns}
|
||||||
|
\begin{panel}
|
||||||
|
\small \textbf{Ограничения данных:} правила ручной фильтрации
|
||||||
|
не сохранились; нет идентификаторов сцен.
|
||||||
|
\end{panel}
|
||||||
|
\note{Говорит А. А. Аладьина. Корпус собран из диалогов игры, разбит на
|
||||||
|
реплики, размечен именем говорящего. Очистка минимальная: нормализуем
|
||||||
|
символы, заменяем плейсхолдеры вида \texttt{<PLAYER>}, ничего не удаляем из
|
||||||
|
стилистических сигналов (пунктуация, регистр оставлены). Честно сказать про
|
||||||
|
ручную фильтрацию и отсутствие идентификаторов сцен.}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Персонажи корпуса}
|
||||||
|
\begin{center}
|
||||||
|
\begin{imgbox}
|
||||||
|
\includegraphics[height=0.6\textheight]{characters.png}
|
||||||
|
\end{imgbox}
|
||||||
|
\end{center}
|
||||||
|
\note{Говорит А. А. Аладьина. Все 34 персонажа: подростки и молодые взрослые,
|
||||||
|
взрослые, пожилые, дети и нелюди (Dwarf, Krobus, Wizard). Такая структура
|
||||||
|
потом поможет объяснить, где модель путается.}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Характеристики корпуса: классы}
|
||||||
|
\begin{columns}[T]
|
||||||
|
\begin{column}{0.42\textwidth}
|
||||||
|
\begin{imgbox}
|
||||||
|
\includegraphics[width=\linewidth]{replics-count.png}
|
||||||
|
\end{imgbox}
|
||||||
|
\end{column}
|
||||||
|
\begin{column}{0.57\textwidth}
|
||||||
|
\begin{panel}
|
||||||
|
\small
|
||||||
|
\begin{tabular}{@{}p{3.2cm}p{3.6cm}@{}}
|
||||||
|
\textbf{Реплик} & 2005\\[0.8mm]
|
||||||
|
\textbf{Персонажей} & 34\\[0.8mm]
|
||||||
|
\textbf{Максимум класса} & Abigail, 139\\[0.8mm]
|
||||||
|
\textbf{Минимум класса} & Mister Qi, 15\\[0.8mm]
|
||||||
|
\textbf{Точные дубли} & 0\\[0.8mm]
|
||||||
|
\textbf{Почти-дубли} & 13 пар, только внутри класса\\
|
||||||
|
\end{tabular}
|
||||||
|
\end{panel}
|
||||||
|
\begin{panel}
|
||||||
|
\small Дисбаланс почти десятикратный: от 15 до 139 реплик. Поэтому
|
||||||
|
доля правильных ответов обманчива; основная метрика — усреднённая
|
||||||
|
F-мера по классам.
|
||||||
|
\end{panel}
|
||||||
|
\end{column}
|
||||||
|
\end{columns}
|
||||||
|
\note{Говорит А. А. Аладьина. Диаграмма: сколько реплик у каждого персонажа.
|
||||||
|
Дисбаланс почти десятикратный (15–139). Точных дубликатов нет, 13 почти-дублей
|
||||||
|
— только внутри одного класса, то есть утечки между классами через
|
||||||
|
дубликаты нет.}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Характеристики корпуса: длина реплик}
|
||||||
|
\begin{columns}[T]
|
||||||
|
\begin{column}{0.42\textwidth}
|
||||||
|
\begin{imgbox}
|
||||||
|
\includegraphics[width=\linewidth]{median.png}
|
||||||
|
\end{imgbox}
|
||||||
|
\end{column}
|
||||||
|
\begin{column}{0.57\textwidth}
|
||||||
|
\begin{panel}
|
||||||
|
\begin{tabular}{@{}p{4.2cm}p{2.9cm}@{}}
|
||||||
|
\textbf{Средняя длина} & 19,1 слова\\[0.8mm]
|
||||||
|
\textbf{Медиана} & 17 слов\\[0.8mm]
|
||||||
|
\textbf{Диапазон} & 3–78 слов\\
|
||||||
|
\end{tabular}
|
||||||
|
\end{panel}
|
||||||
|
\begin{panel}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Короткие реплики дают мало стилометрических свидетельств.
|
||||||
|
\item Длина сама по себе — сильный, но опасный признак: она может
|
||||||
|
подменять «стиль» просто узнаванием персонажа.
|
||||||
|
\item Поэтому её вклад проверялся отдельно: с исключением
|
||||||
|
признаков длины и по группам длины.
|
||||||
|
\end{itemize}
|
||||||
|
\end{panel}
|
||||||
|
\end{column}
|
||||||
|
\end{columns}
|
||||||
|
\note{Говорит А. А. Аладьина. Средняя реплика — всего 19 слов, медиана 17,
|
||||||
|
диапазон 3–78. На таких коротких текстах признаки словарного богатства и
|
||||||
|
читаемости нестабильны — это одна из причин низких абсолютных значений
|
||||||
|
качества, о которых расскажет третий докладчик.}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
% ==================== БЛОК 2 ====================
|
||||||
|
\begin{frame}{Блок 2\ \ ·\ \ Методология}
|
||||||
|
\begin{center}
|
||||||
|
\begin{tcolorbox}[enhanced, width=0.86\paperwidth, colback=cream, opacityback=0.9,
|
||||||
|
colframe=cream, boxrule=0pt, arc=2mm, halign=center, boxsep=3mm]
|
||||||
|
{\large Блок 2}\\[1.5mm]
|
||||||
|
{\Large\bfseries Методология: как измеряем стиль}\\[2mm]
|
||||||
|
\small Признаки · LSA · классификаторы · схема проверки · метрики\\[2.5mm]
|
||||||
|
{\bfseries Докладчик: В.~Н.~Копнин}
|
||||||
|
\end{tcolorbox}
|
||||||
|
\end{center}
|
||||||
|
\note{Блок\,2. Говорит В. Н. Копнин. План блока: общая схема конвейера,
|
||||||
|
какие признаки строим, как работает LSA, какие модели сравнивали и как устроена
|
||||||
|
проверка, чтобы не обмануть себя.}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Общая схема}
|
||||||
|
\begin{panel}
|
||||||
|
\small
|
||||||
|
Реплика (текст персонажа) $\to$ очистка (Unicode, плейсхолдеры)
|
||||||
|
$\to$ токены и частеречная разметка (NLTK, Universal POS)
|
||||||
|
$\to$ признаки (ручные, n-граммы, LSA)
|
||||||
|
$\to$ модель (вероятности по 34 классам)
|
||||||
|
$\to$ проверка (5 блоков, повторы, метрики).
|
||||||
|
\end{panel}
|
||||||
|
\begin{columns}[T]
|
||||||
|
\begin{column}{0.49\textwidth}
|
||||||
|
\begin{panel}
|
||||||
|
\textbf{Что важно про схему}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Все обучаемые преобразования настраиваются только внутри
|
||||||
|
обучающих блоков.
|
||||||
|
\item Тестовые блоки не участвуют ни в настройке признаков, ни в
|
||||||
|
выборе параметров модели.
|
||||||
|
\end{itemize}
|
||||||
|
\end{panel}
|
||||||
|
\end{column}
|
||||||
|
\begin{column}{0.49\textwidth}
|
||||||
|
\begin{panel}
|
||||||
|
\textbf{Что такое «вектор признаков»}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Это не «понимание» текста, а числовое описание его
|
||||||
|
статистических свойств: длины, частоты, пунктуация, темы.
|
||||||
|
\end{itemize}
|
||||||
|
\end{panel}
|
||||||
|
\end{column}
|
||||||
|
\end{columns}
|
||||||
|
\note{Говорит В. Н. Копнин. Общий конвейер: текст превращается в цепочку
|
||||||
|
преобразований и в конце — в вектор чисел, по которому модель выбирает
|
||||||
|
класс. Ключевое правило: всё, что «учится» на данных, учится только на
|
||||||
|
обучающей части каждой проверки.}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Признаки: что именно считаем}
|
||||||
|
\begin{columns}[T]
|
||||||
|
\begin{column}{0.49\textwidth}
|
||||||
|
\begin{panel}
|
||||||
|
\small\textbf{Ручные признаки (454, в 11 группах)}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Длина: слова, символы, предложения.
|
||||||
|
\item Лексика и орфография: длины слов, апострофы, заглавные буквы.
|
||||||
|
\item Словарное богатство: на коротких репликах нестабильно.
|
||||||
|
\item Пунктуация: запятые, многоточия, восклицания.
|
||||||
|
\item Разговорные маркеры: смех, вежливость, сокращения.
|
||||||
|
\end{itemize}
|
||||||
|
\end{panel}
|
||||||
|
\end{column}
|
||||||
|
\begin{column}{0.49\textwidth}
|
||||||
|
\begin{panel}
|
||||||
|
\small\textbf{Функциональные слова и векторные блоки}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Функциональные слова: около 150 закрытых слов и 12 категорий;
|
||||||
|
местоимения 1-го, 2-го, 3-го лица.
|
||||||
|
\item Части речи и синтаксис-прокси: клаузы, союзы, вопросы.
|
||||||
|
\item Символьные n-граммы (2–5) и частеречные n-граммы (1–3) с TF-IDF.
|
||||||
|
\item LSA: сжатые векторы по словам, содержанию, POS и символам.
|
||||||
|
\end{itemize}
|
||||||
|
\end{panel}
|
||||||
|
\end{column}
|
||||||
|
\end{columns}
|
||||||
|
\note{Говорит В. Н. Копнин. Два семейства признаков. Первое — 454 ручных
|
||||||
|
признака: длины, пунктуация, разговорные маркеры, функциональные слова.
|
||||||
|
Второе — автоматические: символьные и частеречные n-граммы и векторные
|
||||||
|
блоки LSA. Стоп-слова и пунктуацию специально не удаляли — для стилометрии
|
||||||
|
это сигнал, а не шум.}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{LSA простыми словами}
|
||||||
|
\begin{columns}[T]
|
||||||
|
\begin{column}{0.49\textwidth}
|
||||||
|
\begin{panel}
|
||||||
|
\small\textbf{Идея}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Строим таблицу «реплика $\times$ слово», взвешиваем
|
||||||
|
частоты через TF-IDF.
|
||||||
|
\item Сжимаем таблицу до $k$ скрытых осей: каждая реплика
|
||||||
|
превращается в короткий вектор.
|
||||||
|
\item Оси не обязаны быть «темами»: их порядок и знак произвольны.
|
||||||
|
\end{itemize}
|
||||||
|
\end{panel}
|
||||||
|
\end{column}
|
||||||
|
\begin{column}{0.49\textwidth}
|
||||||
|
\begin{panel}
|
||||||
|
\small\textbf{Варианты LSA}
|
||||||
|
\begin{itemize}
|
||||||
|
\item \texttt{word} — лексика и тема.
|
||||||
|
\item \texttt{content} — содержание без служебных слов.
|
||||||
|
\item \texttt{fw} — функциональные слова и синтаксис.
|
||||||
|
\item \texttt{char} — морфология и пунктуация.
|
||||||
|
\item \texttt{pos} — частеречные последовательности.
|
||||||
|
\end{itemize}
|
||||||
|
\end{panel}
|
||||||
|
\end{column}
|
||||||
|
\end{columns}
|
||||||
|
\begin{panel}
|
||||||
|
$k$ подбирался в диапазоне 50–400; для \texttt{content}-LSA качество
|
||||||
|
устойчиво росло до 400.
|
||||||
|
Ключевой вопрос: LSA по содержательным словам ловит \emph{тему}, а не
|
||||||
|
только стиль.
|
||||||
|
\end{panel}
|
||||||
|
\note{Говорит В. Н. Копнин. LSA объясняем без формул: таблица частот —
|
||||||
|
взвешивание — сжатие до k осей — короткий вектор для каждой реплики.
|
||||||
|
Важно ограничение метода: оси формально не интерпретируются, а LSA по
|
||||||
|
содержательным словам может кодировать тему. Для этого мы и делали
|
||||||
|
несколько вариантов LSA, чтобы сравнить тематический и стилистический
|
||||||
|
вклад.}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Классификаторы}
|
||||||
|
\begin{columns}[T]
|
||||||
|
\begin{column}{0.49\textwidth}
|
||||||
|
\begin{panel}
|
||||||
|
\small\textbf{Линейные модели}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Логистическая регрессия: «признак $\times$ вес», затем
|
||||||
|
вероятности; редкие классы получают повышенные веса.
|
||||||
|
\item Линейный SVM: граница с максимальным зазором; часто силён
|
||||||
|
на тексте, но вероятностей не выдаёт.
|
||||||
|
\end{itemize}
|
||||||
|
\end{panel}
|
||||||
|
\end{column}
|
||||||
|
\begin{column}{0.49\textwidth}
|
||||||
|
\begin{panel}
|
||||||
|
\small\textbf{Деревья и ансамбли}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Случайный лес и ExtraTrees: сотни деревьев; у ExtraTrees
|
||||||
|
пороги выбираются случайно — меньше разброс.
|
||||||
|
\item Мягкое голосование: усредняем вероятности моделей.
|
||||||
|
\item Стековое объединение у нас переобучилось и оказалось хуже.
|
||||||
|
\end{itemize}
|
||||||
|
\end{panel}
|
||||||
|
\end{column}
|
||||||
|
\end{columns}
|
||||||
|
\begin{panel}
|
||||||
|
\small Сравнивали несколько семейств, чтобы вывод не зависел от одного
|
||||||
|
алгоритма: близкие результаты у разных моделей делают вывод надёжнее.
|
||||||
|
\end{panel}
|
||||||
|
\note{Говорит В. Н. Копнин. Логистическая регрессия — интерпретируемая
|
||||||
|
линейная база; SVM — сила на текстовых признаках, но без вероятностей;
|
||||||
|
деревья ловят нелинейные комбинации («многоточие + короткая реплика»), но
|
||||||
|
легко переобучаются на 2005 объектах. Лучший результат дало мягкое
|
||||||
|
голосование трёх моделей; стек был хуже — переобучился.}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Как проверяем}
|
||||||
|
\begin{columns}[T]
|
||||||
|
\begin{column}{0.49\textwidth}
|
||||||
|
\begin{panel}
|
||||||
|
\textbf{Схема оценки}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Стратифицированная перекрёстная проверка: 5 блоков, доли
|
||||||
|
классов внутри блоков сохраняются.
|
||||||
|
\item Повторяем 3–5 раз с разными разбиениями — оцениваем разброс.
|
||||||
|
\item Вложенная схема: внешние блоки — оценка, внутренние —
|
||||||
|
настройка параметров модели.
|
||||||
|
\item Отдельная отложенная выборка 80/20 для финальных кандидатов.
|
||||||
|
\end{itemize}
|
||||||
|
\end{panel}
|
||||||
|
\end{column}
|
||||||
|
\begin{column}{0.49\textwidth}
|
||||||
|
\begin{panel}
|
||||||
|
\textbf{Контроль ошибок исследователя}
|
||||||
|
\begin{itemize}
|
||||||
|
\item TF-IDF, сжатие и масштабирование обучаются только на
|
||||||
|
обучающих блоках — борьба с утечкой данных.
|
||||||
|
\item Контроль перестановкой меток дал 0,027–0,028 — воспроизведён
|
||||||
|
случайный уровень.
|
||||||
|
\item Почти-дубликаты находятся только внутри одного класса и
|
||||||
|
не пересекают обучение и тест.
|
||||||
|
\end{itemize}
|
||||||
|
\end{panel}
|
||||||
|
\end{column}
|
||||||
|
\end{columns}
|
||||||
|
\note{Говорит В. Н. Копнин. Схема: 5-блочная стратифицированная
|
||||||
|
перекрёстная проверка с повторами; вложенная — для честной настройки
|
||||||
|
параметров; отложенная выборка — дополнительная проверка. Отдельно
|
||||||
|
переставляли метки: качество упало до случайного уровня, значит сигнал
|
||||||
|
не в «утечке».}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Метрики: что и зачем}
|
||||||
|
\begin{panel}
|
||||||
|
\small
|
||||||
|
\begin{tabular}{@{}p{3.9cm}p{9.6cm}@{}}
|
||||||
|
\textbf{Метрика} & \textbf{Что показывает}\\[1mm]
|
||||||
|
\textbf{Macro-F1} & Средняя F-мера по 34 классам: каждый персонаж важен одинаково, включая редких. Основная метрика.\\[1mm]
|
||||||
|
\textbf{Доля правильных ответов} & Доля совпавших предсказаний; при дисбалансе обманчива: модель, всегда выбирающая частый класс, выглядит неплохо.\\[1mm]
|
||||||
|
\textbf{Сбалансированная доля} & Средняя полнота по классам: находит ли модель редких персонажей.\\[1mm]
|
||||||
|
\textbf{Тройка лучших (top-3)} & Истинный персонаж оказался в тройке наиболее вероятных ответов.\\[1mm]
|
||||||
|
\textbf{MCC / каппа} & Согласие с поправкой на случайное угадывание.\\[1mm]
|
||||||
|
\textbf{Матрица ошибок} & Кто с кем путается; подробнее — в блоке 3.\\
|
||||||
|
\end{tabular}
|
||||||
|
\end{panel}
|
||||||
|
\begin{panel}
|
||||||
|
Ориентиры при 34 классах: случайный уровень macro-F1 $\approx$ 0,029,
|
||||||
|
top-3 $\approx$ 0,088. Выводы опираемся на macro-F1, интервалы и матрицу ошибок.
|
||||||
|
\end{panel}
|
||||||
|
\note{Говорит В. Н. Копнин. Главная метрика — macro-F1: она равно
|
||||||
|
взвешивает все 34 класса, включая редких. Доля правильных ответов
|
||||||
|
обманчива при дисбалансе. Смысл всех остальных метрик — словесный, без
|
||||||
|
формул. Ориентиры случайного уровня уже озвучены — они пригодятся в
|
||||||
|
блоке 3.}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
% ==================== БЛОК 3 ====================
|
||||||
|
\begin{frame}{Блок 3\ \ ·\ \ Результаты}
|
||||||
|
\begin{center}
|
||||||
|
\begin{tcolorbox}[enhanced, width=0.86\paperwidth, colback=cream, opacityback=0.9,
|
||||||
|
colframe=cream, boxrule=0pt, arc=2mm, halign=center, boxsep=3mm]
|
||||||
|
{\large Блок 3}\\[1.5mm]
|
||||||
|
{\Large\bfseries Результаты и интерпретация}\\[2mm]
|
||||||
|
\small Оценки качества · вклад признаков · матрицы ошибок · ограничения · выводы\\[2.5mm]
|
||||||
|
{\bfseries Докладчик: М.~В.~Савостиков}
|
||||||
|
\end{tcolorbox}
|
||||||
|
\end{center}
|
||||||
|
\note{Блок\,3. Говорит М. В. Савостиков. План блока: главные числа, что даёт
|
||||||
|
качество, стиль или содержание, кого модель путает, как корректно читать
|
||||||
|
оценки, ограничения и выводы.}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Главный результат}
|
||||||
|
\begin{columns}[T]
|
||||||
|
\begin{column}{0.47\textwidth}
|
||||||
|
\begin{panel}
|
||||||
|
\small
|
||||||
|
\begin{tabular}{@{}p{3.5cm}r@{}}
|
||||||
|
\textbf{Мягкое голосование (5 блоков)} & 0,304\\
|
||||||
|
\textbf{ExtraTrees, char = 10\,000} & 0,276\\
|
||||||
|
\textbf{Вложенный выбор} & 0,275\\
|
||||||
|
\textbf{Отложенная выборка} & 0,333\\
|
||||||
|
\textbf{Перестановка меток} & 0,029\\
|
||||||
|
\end{tabular}
|
||||||
|
\end{panel}
|
||||||
|
\begin{panel}
|
||||||
|
\small Числа — macro-F1. Случайный уровень для 34 классов — 0,029;
|
||||||
|
контроль перестановкой меток вышел на этот уровень, значит сигнал
|
||||||
|
в данных, а не в утечке.
|
||||||
|
\end{panel}
|
||||||
|
\end{column}
|
||||||
|
\begin{column}{0.52\textwidth}
|
||||||
|
\begin{imgbox}
|
||||||
|
\includegraphics[width=\linewidth]{model_comparison.png}
|
||||||
|
\end{imgbox}
|
||||||
|
\end{column}
|
||||||
|
\end{columns}
|
||||||
|
\note{Говорит М. В. Савостиков. Главная цифра — macro-F1 0,304 для мягкого
|
||||||
|
голосования при 5-блочной проверке. Более консервативная оценка — 0,275:
|
||||||
|
там конфигурация выбиралась честно, внутри обучающей части каждого блока.
|
||||||
|
На отложенной выборке 0,333, но это одно разбиение. Суть: персонажи
|
||||||
|
действительно различимы.}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Что добавляет качество}
|
||||||
|
\begin{columns}[T]
|
||||||
|
\begin{column}{0.52\textwidth}
|
||||||
|
\begin{imgbox}
|
||||||
|
\includegraphics[width=\linewidth, height=0.55\textheight, keepaspectratio]{feature_progression.png}
|
||||||
|
\end{imgbox}
|
||||||
|
\end{column}
|
||||||
|
\begin{column}{0.47\textwidth}
|
||||||
|
\begin{panel}
|
||||||
|
\small
|
||||||
|
\begin{itemize}
|
||||||
|
\item Только длина: 0,035.
|
||||||
|
\item Ручные стилометрические признаки: 0,105.
|
||||||
|
\item $+$ символьные и частеречные n-граммы: 0,182.
|
||||||
|
\item $+$ content-LSA: 0,249.
|
||||||
|
\item ExtraTrees, char = 10\,000: 0,276.
|
||||||
|
\item Мягкое голосование: 0,304.
|
||||||
|
\end{itemize}
|
||||||
|
Итого: основной прирост — лексика, n-граммы и content-LSA;
|
||||||
|
«чистый синтаксис» (функциональные слова и POS-LSA) сам по себе
|
||||||
|
слаб — важный отрицательный результат.
|
||||||
|
\end{panel}
|
||||||
|
\end{column}
|
||||||
|
\end{columns}
|
||||||
|
\note{Говорит М. В. Савостиков. Прогрессия: вручную посчитанные признаки
|
||||||
|
дают 0,105, добавляются символьные n-граммы — 0,182, LSA по содержанию —
|
||||||
|
0,249, лучшая одиночная модель — 0,276, ансамбль — 0,304. Обратный вывод
|
||||||
|
важен тоже: признаки «чистого синтаксиса» сами по себе почти ничего не
|
||||||
|
дают.}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Стиль или содержание?}
|
||||||
|
\begin{columns}[T]
|
||||||
|
\begin{column}{0.5\textwidth}
|
||||||
|
\begin{imgbox}
|
||||||
|
\includegraphics[width=\linewidth, height=0.55\textheight, keepaspectratio]{topic_control.png}
|
||||||
|
\end{imgbox}
|
||||||
|
\end{column}
|
||||||
|
\begin{column}{0.49\textwidth}
|
||||||
|
\begin{panel}
|
||||||
|
\small
|
||||||
|
\begin{itemize}
|
||||||
|
\item Проверка: содержательные слова (существительные, глаголы,
|
||||||
|
прилагательные, наречия) заменены нейтральным маркером.
|
||||||
|
\item Исходный текст: 0,248; после маскирования: 0,113.
|
||||||
|
\item Падение более чем вдвое, но остаток 0,113 — в 3,9 раза
|
||||||
|
выше случайного уровня.
|
||||||
|
\end{itemize}
|
||||||
|
\textbf{Вывод контроля:} более половины качества даёт лексическое
|
||||||
|
\emph{содержание}; стилевой сигнал сохраняется, но слабее
|
||||||
|
тематического.
|
||||||
|
\end{panel}
|
||||||
|
\end{column}
|
||||||
|
\end{columns}
|
||||||
|
\note{Говорит М. В. Савостиков. Ключевой эксперимент: заменяем все
|
||||||
|
содержательные слова нейтральным маркером. Качество резко падает (0,248
|
||||||
|
становится 0,113). Тем не менее остаток — почти в четыре раза выше
|
||||||
|
случайного: какой-то стилевой компонент есть. Из этого следует главная
|
||||||
|
оговорка работы: мы не можем утверждать, что модель выучила «чистый
|
||||||
|
стиль» персонажей — основной вклад даёт тематический профиль.}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Матрица ошибок: как читать}
|
||||||
|
\begin{columns}[T]
|
||||||
|
\begin{column}{0.55\textwidth}
|
||||||
|
\begin{imgbox}
|
||||||
|
\includegraphics[width=\linewidth, height=0.66\textheight, keepaspectratio]{confusion_top12.png}
|
||||||
|
\end{imgbox}
|
||||||
|
\end{column}
|
||||||
|
\begin{column}{0.44\textwidth}
|
||||||
|
\begin{panel}
|
||||||
|
\begin{itemize}
|
||||||
|
\item \textbf{Строки} — истинный персонаж, \textbf{столбцы} —
|
||||||
|
предсказание; \textbf{диагональ} — верные ответы,
|
||||||
|
вне диагонали — ошибки.
|
||||||
|
\item Полная матрица 34$\times$34 нечитаема: показываем top-12;
|
||||||
|
полная — в приложении. Далее — пары ошибок.
|
||||||
|
\end{itemize}
|
||||||
|
\end{panel}
|
||||||
|
\begin{panel}
|
||||||
|
\small\textbf{Что видно:} крупная доля вне диагонали у многих строк —
|
||||||
|
редкие классы «утекают» в популярные.
|
||||||
|
\end{panel}
|
||||||
|
\end{column}
|
||||||
|
\end{columns}
|
||||||
|
\note{Говорит М. В. Савостиков. Обязательно проговорить, как читать матрицу:
|
||||||
|
строка — кто говорил на самом деле, столбец — кого предсказала модель,
|
||||||
|
диагональ — верные ответы, всё вне диагонали — ошибки. Полные 34 строки не
|
||||||
|
читаются на проекторе, поэтому top-12 + пары + полная матрица в приложении.}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Кого модель путает чаще всего}
|
||||||
|
\begin{columns}[T]
|
||||||
|
\begin{column}{0.52\textwidth}
|
||||||
|
\begin{imgbox}
|
||||||
|
\includegraphics[width=\linewidth, height=0.45\textheight, keepaspectratio]{confusion_pairs.png}
|
||||||
|
\end{imgbox}
|
||||||
|
\end{column}
|
||||||
|
\begin{column}{0.47\textwidth}
|
||||||
|
\begin{panel}
|
||||||
|
\small\textbf{Частые пары ошибок (число перепутанных реплик)}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Sebastian $\to$ Abigail: 65
|
||||||
|
\item Sebastian $\to$ Alex: 61
|
||||||
|
\item Abigail $\to$ Sebastian: 59
|
||||||
|
\item Abigail $\to$ Alex: 56
|
||||||
|
\end{itemize}
|
||||||
|
Основной клубок — молодые персонажи: Abigail, Alex, Sebastian,
|
||||||
|
Haley, Sam. Один автор и общие сюжетные контексты делают сходство
|
||||||
|
голосов ожидаемым: это не разные авторы. Это коллапс редких классов
|
||||||
|
в классы-аттракторы, а не «демографическая» путаница.
|
||||||
|
\end{panel}
|
||||||
|
\vspace{-1mm}
|
||||||
|
\end{column}
|
||||||
|
\end{columns}
|
||||||
|
\note{Говорит М. В. Савостиков. Самые частые пары: Sebastian и Abigail
|
||||||
|
путаются в обе стороны (65 и 59), Sebastian и Alex (61), Abigail и Alex
|
||||||
|
(56). Ошибки сконцентрированы вокруг группы молодых персонажей. Важно: это
|
||||||
|
стягивание предсказаний к популярным классам, а не доказательство, что эти
|
||||||
|
персонажи «говорят одинаково» — хотя перекрёстные путаницы Sebastian —
|
||||||
|
Abigail — Alex согласуются с их сходными масками.}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Классы-аттракторы}
|
||||||
|
\begin{columns}[T]
|
||||||
|
\begin{column}{0.47\textwidth}
|
||||||
|
\begin{panel}
|
||||||
|
\small\textbf{Классы-аттракторы}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Alex и Abigail собирают заметную долю \emph{чужих}
|
||||||
|
предсказаний: на разных повторах Abigail получает
|
||||||
|
порядка 10–18\,\% всех ответов при истинной доле
|
||||||
|
класса $\approx$ 6,9\,\%.
|
||||||
|
\item Коррекция априорных вероятностей классов
|
||||||
|
macro-F1 не улучшила и проблему не сняла.
|
||||||
|
\end{itemize}
|
||||||
|
\end{panel}
|
||||||
|
\end{column}
|
||||||
|
\begin{column}{0.52\textwidth}
|
||||||
|
\begin{imgbox}
|
||||||
|
\includegraphics[width=\linewidth, height=0.55\textheight, keepaspectratio]{hub_shares.png}
|
||||||
|
\end{imgbox}
|
||||||
|
\end{column}
|
||||||
|
\end{columns}
|
||||||
|
\begin{panel}
|
||||||
|
\small Диаграмма — доли предсказаний «аттракторных» классов
|
||||||
|
(hub-коллапс: редкие классы забираются популярными).
|
||||||
|
\end{panel}
|
||||||
|
\note{Говорит М. В. Савостиков. Проблема редких классов: модель
|
||||||
|
предсказывает популярные классы слишком часто — Abigail получает десятки
|
||||||
|
процентов всех ответов при истинной доле около 7\,\%. Простая коррекция
|
||||||
|
приоров не помогла.}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Персонажи: кто различается}
|
||||||
|
\begin{columns}[T]
|
||||||
|
\begin{column}{0.47\textwidth}
|
||||||
|
\begin{panel}
|
||||||
|
\small\textbf{Лучшие и худшие по F-мере}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Лучшие: Evelyn, Willy, Pam, Pierre, Leo.
|
||||||
|
\item Худшие: Kent, Wizard, Penny, Mister Qi, Leah, Abigail.
|
||||||
|
\item У редких классов — широкие интервалы оценок.
|
||||||
|
\item Мягкое голосование улучшает часть редких классов
|
||||||
|
(Wizard, Dwarf, Vincent), но Kent остаётся F1 = 0.
|
||||||
|
\end{itemize}
|
||||||
|
\end{panel}
|
||||||
|
\end{column}
|
||||||
|
\begin{column}{0.52\textwidth}
|
||||||
|
\begin{imgbox}
|
||||||
|
\includegraphics[width=\linewidth, height=0.6\textheight, keepaspectratio]{per_class_f1.png}
|
||||||
|
\end{imgbox}
|
||||||
|
\end{column}
|
||||||
|
\end{columns}
|
||||||
|
\note{Говорит М. В. Савостиков. Диаграмма: F-мера по каждому персонажу.
|
||||||
|
Лучшие — Evelyn, Willy, Pam, Pierre, Leo; худшие — Kent, Wizard, Penny,
|
||||||
|
Mister Qi, Leah, Abigail. Редкие классы имеют широкие доверительные
|
||||||
|
интервалы: для 15 реплик разброс оценок велик. Ансамбль прибавляет
|
||||||
|
отдельным редким классам, но Kent не находит никто.}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Что означают полученные оценки}
|
||||||
|
\begin{panel}
|
||||||
|
\small
|
||||||
|
\begin{itemize}
|
||||||
|
\item 0,30 macro-F1 при 34 классах — примерно \textbf{в 10 раз выше
|
||||||
|
случайного уровня} 0,029: устойчивый сигнал различимости.
|
||||||
|
\item Значение умеренное и это ожидаемо: реплики по $\sim$19 слов,
|
||||||
|
дисбаланс классов и общие темы не позволяют «узнать» персонажа
|
||||||
|
по одной фразе.
|
||||||
|
\item Умеренность объясняется \emph{условиями задачи}, а не тем, что
|
||||||
|
автор «не старался»: превышение случайного уровня как раз
|
||||||
|
говорит о намеренно созданных речевых масках.
|
||||||
|
\end{itemize}
|
||||||
|
\end{panel}
|
||||||
|
\begin{panel}
|
||||||
|
\small
|
||||||
|
\begin{itemize}
|
||||||
|
\item Мы решаем задачу «\emph{какой персонаж} говорит», а не
|
||||||
|
«\emph{он или не он} писал»: автор один.
|
||||||
|
\item И о «чистых» идиолектах говорить нельзя: основной вклад дают
|
||||||
|
лексико-тематический профиль и символьные n-граммы, а после
|
||||||
|
маскирования содержательных слов качество падает.
|
||||||
|
\end{itemize}
|
||||||
|
\end{panel}
|
||||||
|
\note{Говорит М. В. Савостиков — ключевой слайд по интерпретации. Проговорить
|
||||||
|
три пункта. (1) 0,304 при случайном 0,029 — это примерно десятикратное
|
||||||
|
превышение, то есть сигнал реальный. (2) Абсолютная величина умеренная из-за
|
||||||
|
коротких реплик, дисбаланса и общих тем — это свойства задачи, а не
|
||||||
|
«автор не пытался»; напротив, различимость масок подтверждает, что автор
|
||||||
|
сознательно делал разные голоса. (3) Мы определяем персонажа, а не
|
||||||
|
авторскую принадлежность: автор один. И мы не утверждаем, что выучили
|
||||||
|
«чистый стиль»: при маскировании содержания качество сильно падает.}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Ограничения}
|
||||||
|
\begin{columns}[T]
|
||||||
|
\begin{column}{0.49\textwidth}
|
||||||
|
\begin{panel}
|
||||||
|
\small\textbf{Данные}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Один корпус, одна игра, один автор; внешняя валидация
|
||||||
|
не проводилась.
|
||||||
|
\item Короткие реплики и сильный дисбаланс классов.
|
||||||
|
\item Ручная фильтрация корпуса невоспроизводима.
|
||||||
|
\item Нет идентификаторов сцен и диалогов.
|
||||||
|
\end{itemize}
|
||||||
|
\end{panel}
|
||||||
|
\end{column}
|
||||||
|
\begin{column}{0.49\textwidth}
|
||||||
|
\begin{panel}
|
||||||
|
\small\textbf{Методология}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Выбор признаков и ансамбля опирался на прошлые серии;
|
||||||
|
вложенная проверка снижает этот риск, но не устраняет.
|
||||||
|
\item Основной вклад — содержательные слова и тема.
|
||||||
|
\item Простая коррекция приоров не помогла редким классам.
|
||||||
|
\item Стек переобучается на малой выборке.
|
||||||
|
\end{itemize}
|
||||||
|
\end{panel}
|
||||||
|
\end{column}
|
||||||
|
\end{columns}
|
||||||
|
\note{Говорит М. В. Савостиков. Ограничения делим на две группы: свойства
|
||||||
|
данных (один корпус и один автор, дисбаланс, короткие реплики,
|
||||||
|
невоспроизводимая ручная фильтрация, нет сцен) и свойства метода
|
||||||
|
(частичный выбор конфигураций по прошлым сериям, тематический сигнал в
|
||||||
|
признаках, неудачи простых калибровок). Честное перечисление — часть
|
||||||
|
верификации, а не признание провала.}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Выводы}
|
||||||
|
\begin{panel}
|
||||||
|
\begin{itemize}
|
||||||
|
\item \textbf{Персонажи статистически различимы:} лучшая модель — 0,304
|
||||||
|
macro-F1, консервативная оценка — 0,275; случайный уровень — 0,029.
|
||||||
|
\item \textbf{Основной сигнал — лексико-тематический:} символьные
|
||||||
|
n-граммы и content-LSA дают основной прирост; функциональные слова
|
||||||
|
и частеречная LSA сами по себе слабы.
|
||||||
|
\item \textbf{После замены содержательных слов} качество падает с 0,248
|
||||||
|
до 0,113: содержание доминирует, но стилевой сигнал сохраняется.
|
||||||
|
\item \textbf{Главная проблема — редкие классы и классы-аттракторы;}
|
||||||
|
мягкое голосование помогает, но не решает её полностью.
|
||||||
|
\item \textbf{Корректная формулировка результата:} различимы речевые
|
||||||
|
маски по лексико-тематическому профилю; утверждение о «чистом
|
||||||
|
стиле» требует внешней валидации и тематического контроля.
|
||||||
|
\end{itemize}
|
||||||
|
\end{panel}
|
||||||
|
\note{Говорит М. В. Савостиков. Пять итоговых тезисов. Финальную формулировку
|
||||||
|
оставить точной: мы показали статистическую различимость речевых масок по
|
||||||
|
лексико-тематическому профилю; для более сильных утверждений — разные идиолекты,
|
||||||
|
применимость как инструмент — нужны внешний корпус, тематический контроль
|
||||||
|
и разметка сцен.}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
% ==================== ПРИЛОЖЕНИЕ ====================
|
||||||
|
\begin{frame}{Приложение: полная матрица ошибок 34$\times$34}
|
||||||
|
\begin{columns}[T]
|
||||||
|
\begin{column}{0.62\textwidth}
|
||||||
|
\begin{imgbox}
|
||||||
|
\includegraphics[width=\linewidth, height=0.6\textheight, keepaspectratio]{confusion_full34.png}
|
||||||
|
\end{imgbox}
|
||||||
|
\end{column}
|
||||||
|
\begin{column}{0.37\textwidth}
|
||||||
|
\begin{panel}
|
||||||
|
\small Раздаточный материал. Строки — истинные персонажи, столбцы —
|
||||||
|
предсказания; цвет — доля строки; диагональ — верные ответы. Тёмные
|
||||||
|
внедиагональные клетки — систематические ошибки (те же пары, что на
|
||||||
|
предыдущих слайдах).
|
||||||
|
\end{panel}
|
||||||
|
\end{column}
|
||||||
|
\end{columns}
|
||||||
|
\note{Приложение для вопросов и раздаточного материала. Если спросят про
|
||||||
|
конкретную пару персонажей — искать её в полной матрице: строки сортированы
|
||||||
|
по размеру класса, цвет кодирует долю строки. Кто говорит: отвечает
|
||||||
|
М. В. Савостиков (можно подключить В. Н. Копнина по вопросам валидации).}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Спасибо за внимание}
|
||||||
|
\begin{columns}[T]
|
||||||
|
\begin{column}{0.55\textwidth}
|
||||||
|
\begin{center}
|
||||||
|
\begin{tcolorbox}[enhanced, width=\linewidth, colback=cream, opacityback=0.9,
|
||||||
|
colframe=cream, boxrule=0pt, arc=2mm, boxsep=2.5mm]
|
||||||
|
{\large\bfseries Спасибо за внимание}\\[2mm]
|
||||||
|
Вопросы, обсуждение и предложения по экспериментам\\[2mm]
|
||||||
|
«Один автор — разные голоса»\\[2mm]
|
||||||
|
\small А.~А.~Аладьина · В.~Н.~Копнин · М.~В.~Савостиков
|
||||||
|
\end{tcolorbox}
|
||||||
|
\end{center}
|
||||||
|
\end{column}
|
||||||
|
\begin{column}{0.44\textwidth}
|
||||||
|
\begin{center}
|
||||||
|
\begin{imgbox}
|
||||||
|
\includegraphics[width=\linewidth, height=0.45\textheight, keepaspectratio]{meme.png}
|
||||||
|
\end{imgbox}
|
||||||
|
\end{center}
|
||||||
|
\end{column}
|
||||||
|
\end{columns}
|
||||||
|
\begin{tikzpicture}[remember picture, overlay]
|
||||||
|
\node[anchor=south east, xshift=-2.5mm, yshift=1.5mm]
|
||||||
|
at (current page.south east)
|
||||||
|
{\includegraphics[height=0.65cm]{chicken.png}};
|
||||||
|
\end{tikzpicture}
|
||||||
|
\note{Финальный слайд; мем как пасхалка. Говорят по очереди все:
|
||||||
|
А. А. Аладьина благодарит и передаёт слово для вопросов; по вопросам
|
||||||
|
корпуса отвечает Аладьина, по методологии — Копнин, по результатам —
|
||||||
|
Савостиков.}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\end{document}
|
||||||
Reference in New Issue
Block a user