Униграмма — элементарный токен в обработке текста¶
Униграмма (от лат. unus — «один» и греч. γράμμα — «буква, знак») — термин из области обработки естественного языка (NLP), обозначающий единичный токен: отдельное слово, число, символ или субсловную единицу, выделенную из текста при токенизации. Униграммы являются базовым строительным блоком статистических моделей языка и широко используются в задачах классификации текста, машинного перевода, поиска и генерации.
¶Определение и место в обработке текста
При анализе текста алгоритмы разбивают его на последовательности токенов — процесс называется токенизацией. В зависимости от выбранного подхода токеном может стать:
- целое слово с учётом пунктуации («кот», «кот.»);
- слово без знаков препинания;
- субсловная единица (морфема, подслово вроде BPE-токенов);
- отдельный символ.
Всё, что выделено в результате такой сегментации, и образует униграммы. Двухсловные последовательности называются биграммами, трёхсловные — триграммами; в целом последовательность из n элементов — это n-грамма. Униграмма — это случай n = 1.
¶Униграммы в языковых моделях
Классическая статистическая модель языка оценивает вероятность последовательности слов $w_1, w_2, \dots, w_N$ как произведение условных вероятностей:
$$P(w_1, \dots, w_N) = \prod_{i=1}^{N} P(w_i \mid w_1, \dots, w_{i-1})$$
При гипотезе независимости слов (модель униграммы) выражение упрощается до:
$$P(w_1, \dots, w_N) = \prod_{i=1}^{N} P(w_i)$$
То есть вероятность всей последовательности рассматривается как произведение вероятностей отдельных слов, каждое из которых оценивается по частоте его появления в обучающем корпусе. Такая модель не учитывает контекст и порядок слов, однако она тривиально обучается, не требует больших объёмов памяти и до сих пор применяется как baseline и как компонент более сложных систем.
¶Применение
¶Наивный Байес для классификации текста
Наиболее известное применение униграмм — наивный байесовский классификатор. В этой модели текст представляется как «мешок униграмм» (bag of words): каждое слово рассматривается независимо, а вероятность текста принадлежать к классу $c$ вычисляется как:
$$P(c \mid w_1, \dots, w_n) \propto P(c) \prod_{i=1}^{n} P(w_i \mid c)$$
Такой подход показывает удовлетворительные результаты в задачах спам-фильтрации, автоматической категоризации новостей и тонального анализа отзывов, особенно при ограниченных обучающих данных.
¶Мешок слов (Bag of Words)
Представление «мешок слов» строится именно на подсчёте частотности униграмм в документе. Документ векторизуется в виде, где каждая координата соответствует одному уникальному слову словаря, а значение — число вхождений этого слова в документ. Метод широко применяется в информационном поиске и как признаковый набор для классических машинно-обучающих моделей.
¶Статистический машинный перевод
В ранних системах статистического машинного перевода (IBM-модели 1990-х годов) униграммы использовались для оценки лексической трансляции: вероятность перевода слова-источника в конкретное слово приёмника оценивалась по параллельному корпусу без учёта контекста. Модель униграммы была первым шагом в этой линейке моделей, за которой последовали биграммные и более сложные модели.
¶Субсловные модели
В языках с богатой морфологией (русский, финский, турецкий) словарь слов-униграмм может достигать сотен тысяч и миллионов элементов, что приводит к проблеме разреженности данных. Для её решения текст разбивают на субсловные униграммы — морфемы или подслова, получаемые алгоритмами вроде Byte Pair Encoding (BPE) или WordPiece. Такие модели используются в современных нейросетевых архитектурах, включая трансформеры.
¶Ограничения
Основной недостаток униграммных моделей — игнорирование контекста. Слова «банк» (финансовое учреждение) и «банк» (берег реки) в модели униграммы неразличимы, так как считаются одним и тем же токеном. Аналогично не учитываются согласование, управление и другие синтаксические связи. Для учёта контекста используются биграммы, триграммы и более длинные n-граммы, а в современных системах — нейросетевые модели с механизмом внимания (transformer-архитектуры), которые моделируют зависимости между всеми словами текста.
Несмотря на ограничения, униграммы сохраняют практическое значение: они используются как признаки в гибридных системах, в предобработке текста, для оценки частотности лексики и в учебных целях для иллюстрации принципов статистического моделирования языка.
¶Историческая справка
Идея разложения языковых вероятностей на произведение вероятностей отдельных слов восходит к работам Андрея Маркова старшего, который в 1913 году при анализе стихотворения А. С. Пушкина «Евгений Онегин» исследовал цепи зависимостей между буквами, демонстрируя переход от независимых символов (модель Бернулли) к цепям первого порядка. В лингвистике идеи униграммного моделирования развивал Джордж Ципф, сформулировавший закон обратной связи между частотой слова и его длиной. В вычислительной лингвистике униграммные модели получили широкое распространение в 1980–1990-е годы с развитием корпусной лингвистики и статистического машинного перевода.
Источники:
- Manning C. D., Schütze H. Foundations of Statistical Natural Language Processing. — MIT Press, 1999.
- Jurafsky D., Martin J. H. Speech and Language Processing. — 3rd ed. — Prentice Hall, 2024.
- Марков А. А. Исследование одного случая статистического учёта литературного стиля // Известия Отделения русского языка и словесности Императорской Академии наук. — 1913.
- Зарва В. В. Основы обработки естественных языков. — М.: Весь Мир, 2022.
