Почему в сглаживании n-грам модели в NLP мы не учитываем токены начала и конца предложения?

Вопрос или проблема

Изучая сглаживание Add-1, я заметил, что мы каким-то образом добавляем 1 к каждому слову в нашем словаре, но не учитываем начало и конец предложения как два слова в словаре. Позвольте мне привести пример для объяснения.

Пример:

Предположим, у нас есть корпус из трех предложений:

Джон прочитал Моби Дика“, “Мэри прочитала другую книгу” и “Она прочитала книгу от Шер“.

После обучения нашей биграммной модели на этом корпусе из трех предложений, нам нужно оценить вероятность предложения “Джон прочитал книгу”, то есть найти $P(Джон\; прочитал\; книгу)$

Чтобы различить, как Джон появляется где угодно в предложении и его появление в начале, и аналогично для книги, appearing at the end, мы лучше пытаемся найти $P(<s>Джон\; прочитал\; книгу<\backslash s>)$, после введения двух дополнительных слов $<s>$ и $<\backslash s>$, указывая начало предложения и конец предложения соответственно.

Наконец, мы приходим к

$P(<s>Джон\; прочитал\; книгу<\backslash s>)$ как
$P(Джон|<s>)P(прочитал|Джон)P(книгу|прочитал)P(<\backslash s>|книгу)=\frac{1}{3}\frac{1}{1}\frac{2}{3}\frac{1}{2}\frac{1}{2}$

Мой вопрос:
Теперь, чтобы найти $P(Шер\; прочитал\; книгу)$, используя сглаживание Add-1 (сглаживание Лапласа), разве нам не следует добавить слово ‘Шер’, которое появляется в начале предложения? И к этому, мы должны добавить $<s>$ и $<\backslash s>$ в наш словарь. С этим наше вычисление становится:

$P(Шер|<s>)P(прочитал|Шер)P(книгу|прочитал)P(<\backslash s>|книгу)=\frac{0+1}{3+13}\frac{0+1}{1+13}\frac{2+1}{3+13}\frac{1+1}{2+13}\frac{1+1}{2+13}$

Число 13, добавленное к каждому числителю, связано с количеством уникальных слов в словаре, в котором 11 английских слов из нашего корпуса из 3 предложений плюс 2 токена – начало и конец предложения. В некоторых местах я вижу, что к числителю добавляется 11 вместо 13. Явно что-то упускаю здесь.

Это зависит от определения словаря (V).

Большинство учебных примеров включает только слова в словаре для простоты. Теги начала и конца предложений также могут быть включены в словарь.

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

Ответ или решение

Сглаживание модели n-грамм в NLP, особенно с использованием метода добавления 1 (сглаживание Лапласа), является важным шагом в решении проблем, связанных с низкой частотой или отсутствием определенных последовательностей слов в обучающем корпусе. В вашем вопросе поднимается очень важный момент, касающийся обработки токенов начала и конца предложения, которые мы иногда не учитываем в определении словаря.

Ответ на вопрос

Во-первых, определение словаря (V) в контексте n-грамм моделирования может варьироваться в зависимости от подхода, который использует исследователь или разработчик. В простых учебных примерах и базовых реализациях часто рассматриваются только словоформы, встречающиеся в корпусе, чтобы избежать усложнения. Однако это не означает, что токены <s> (начало предложения) и </s> (конец предложения) не могут быть включены в словарь.

Почему не рассматриваются токены начала и конца предложения

  1. Сложность моделирования: Если токены <s> и </s> включаются в словарь, это может привести к большему количеству вычислений и усложнению модели, особенно при оценке вероятностей, где основное внимание уделяется словам. Простой подход часто используется для первоначальной иллюстрации принципов работы n-грамм.

  2. Вариативность определения словаря: В некоторых системах n-грамм можно просто игнорировать <s> и </s> при вычислении вероятности, рассматривая их как служебные элементы. Если они не играют критической роли для задачи, это может облегчить реализацию и понимание.

  3. Альтернативные подходы: В некоторых случаях исследователи могут использовать различные методы обработки, включая другие техники смягчения, которые менее чувствительны к значению начала и конца предложения, такие как сглаживание Кудера-Рича или более продвинутые нейросетевые модели.

Учет токенов в словаре

Если вы решите учитывать токены <s> и </s> в словаре, вы должны гарантировать, что они правильно включены в процесс обучения. Это значит, что ваша формула для расчета вероятностей станет более комплексной, как вы и описали. В таком случае количество уникальных слов в словаре будет включать все слова корпуса плюс два дополнительных токена, что даст вам 11 (в вашем примере) + 2 = 13.

Почему может возникнуть путаница с числом 11 и 13

Если в некоторых случаях вы видите, что к числителю добавляется 11 вместо 13, это может быть связано с неявным исключением токенов <s> и </s> из учета в конкретном контексте. Нужно убедиться, что в каждом конкретном случае четко обозначено, какие токены были включены в словарь.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...