Открыть сервис

Юниграмма в обработке естественного языка

Юниграмма (от англ. unigram — «одна грамма») — в компьютерной лингвистике и обработке естественного языка последовательность из одного токена (слова, символа или морфемы), рассматриваемая как неделимая единица анализа. Юниграммы представляют собой частный случай n-грамм, где n равно единице, и служат базовым уровнем статистического моделирования текста, на основе которого строятся более сложные модели — биграммы, триграммы и N-граммы высших порядков.

Определение и базовые понятия

Понятие юниграммы неразрывно связано с концепцией n-грамм — непрерывных последовательностей из n элементов текста. Если биграмма — это пара соседних слов, а триграмматройка, то юниграмма — это одиночный элемент. В большинстве практических задач под юниграммой понимают отдельное слово, однако в зависимости от токенизации элементами могут выступать символы, слоги, знаки препинания или морфемы.

Ключевое свойство юниграмм — отсутствие контекста. В отличие от моделей, учитывающих предыдущие или последующие слова, юниграммный подход рассматривает каждую единицу текста изолированно. Это упрощение одновременно является и преимуществом (простота вычислений, устойчивость к разреженности данных), и недостатком (потеря синтаксической и семантической информации).

Юниграммная модель языка

Юниграммная модель — простейшая вероятностная модель последовательности слов. Вероятность предложения в такой модели вычисляется как произведение вероятностей каждого отдельного слова, входящего в него:

P(w₁, w₂, …, wₘ) = P(w₁) × P(w₂) × … × P(wₘ)

Вероятность каждого слова P(wᵢ) оценивается на основе частоты его встречаемости в обучающем корпусе текстов. Такой подход игнорирует порядок слов и синтаксические связи, что делает модель статистически грубой, но чрезвычайно эффективной с вычислительной точки зрения.

Юниграммная модель часто используется как базовая линия (baseline) при оценке качества более сложных языковых моделей. Если модель, учитывающая контекст, не превосходит юниграммную по метрикам перплексии или точности, это свидетельствует о неэффективности усложнения.

Применение юниграмм

Информационный поиск

В классическом векторном представлении текста «мешок слов» (bag-of-words) документ описывается вектором частот юниграмм. Каждое слово корпуса соответствует отдельному измерению пространства, а значение — частоте или TF-IDF-весу. Несмотря на появление более совершенных эмбеддингов, юниграммные представления остаются стандартом для задач классификации текстов, кластеризации и поиска дубликатов благодаря простоте и интерпретируемости.

Сентимент-анализ

Анализ тональности текста часто опирается на словари тональных слов — по сути, списки юниграмм с эмоциональной окраской. Наличие в тексте слов типа «отлично», «плохо», «ужасно» позволяет с приемлемой точностью определять общую тональность сообщения без учёта синтаксических конструкций.

Автодополнение и проверка орфографии

Системы автозамены на мобильных устройствах используют частотные словари юниграмм для ранжирования кандидатов при исправлении опечаток. Наиболее частотное слово, близкое к введённому по расстоянию Левенштейна, предлагается пользователю в первую очередь.

Криптография и стеганография

Частотный анализ юниграмм — классический метод взлома шифров подстановки. В русском языке, например, самые частотные юниграммы — гласные «о», «е», «а», что позволяет сопоставлять символы шифротекста с буквами открытого текста.

Ограничения юниграммного подхода

Главный недостаток юниграмм — неспособность различать значения многозначных слов. Слово «ключ» в юниграммной модели одинаково представлено и в контексте «гаечный ключ», и в контексте «музыкальный ключ». Омонимия и полисемия требуют учёта окружающих слов, то есть биграмм и триграмм.

Кроме того, юниграммная модель не улавливает идиоматические выражения и устойчивые сочетания. Фраза «бить баклуши» в юниграммном представлении теряет смысловую целостность и воспринимается как набор unrelated слов.

Разреженность данных — ещё одна проблема: в любом корпусе значительная доля слов встречается лишь однажды (hapax legomena), что приводит к нулевым вероятностям для не встреченных в обучающей выборке последовательностей.

Сравнение с n-граммами высших порядков

При увеличении n модель учитывает всё более широкий контекст, но цена этого — экспоненциальный рост числа возможных комбинаций и усиление проблемы разреженности. Для русского языка с его богатой морфологией и свободным порядком слов биграммы дают существенное улучшение по сравнению с юниграммами, однако триграммы и выше часто не оправдывают вычислительных затрат из-за ограниченного прироста качества.

Современные нейросетевые языковые модели (трансформеры) используют принципиально иной подход — контекстные эмбеддинги, где представление слова зависит от всего окружающего предложения. Тем не менее юниграммные статистики продолжают применяться в качестве признаков при обучении таких моделей и для интерпретации их поведения.

Юниграммы в русском языке

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

Частотные списки русских юниграмм стабильно возглавляют предлоги, союзы и частицы: «и», «в», «не», «на», «что», «с», «по». Служебные слова составляют около половины любого текста, что делает их малоинформативными для задач классификации — поэтому на практике их отфильтровывают как стоп-слова.

Роль в современных технологиях

В задачах автоматического распознавания речи юниграммные веса используются в акустических моделях для оценки фонемных последовательностей. В машинном переводе статистические юниграммные таблицы соответствий применяются на начальных этапах выравнивания параллельных корпусов. В биоинформатике по аналогии с лингвистикой юниграммами называют отдельные нуклеотиды или аминокислоты при анализе последовательностей ДНК и белков.

Таким образом, юниграмма остаётся фундаментальным, простейшим элементом статистического анализа текста, который, несмотря на кажущуюся примитивность, продолжает использоваться в широком спектре прикладных задач — от поисковых систем до систем автоматической обработки естественного языка.

Источники

  • 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., 2023.
  • Шаров С. А. Частотный словарь современного русского языка. — 2013.
Загружаем BFOmetr…