Сумма всех биграмм, начинающихся с определенного слова, должна равняться количеству униграмм для этого слова? - PullRequest
0 голосов
/ 07 сентября 2018

В этой главе (в конце страницы 4) Стэнфордской книги по обработке естественного языка говорится:

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

Книга оставляет читателю, почему это так, как упражнение, но я не понимаю, почему это так.
Например, в следующем корпусе:

  • Мяч красный.
  • Все шары красные.

Насколько я понимаю, слово красный встречается дважды в униграммах, но вовсе не является первым элементом биграммы?

Я что-то упустил, что конец предложения используется в качестве токена? (но тогда проблема возникает для триграмм?)

Ответы [ 2 ]

0 голосов
/ 09 сентября 2018

Если вы читаете примечание 2 в конце страницы 4 цитируемого документа, оно гласит:

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

При чтении рассматриваемой страницы также становится ясно, что автор выполняет группировку по нграмм, принимая во внимание начальные и конечные символы для каждого предложения, которые называются соответственно <s> и <\s>.

Если вы вычисляете распределение униграмм и биграмм в двух предложениях, которые вы предоставили в качестве примера, вы должны сначала добавить начальный и конечный символы, затем сгруппировать по униграммам и биграммам, а затем проверить, не является ли len(bigram[red]) == len(unigram[red])

Если вы используете в качестве регулярного выражения 'w+' и добавляете начальный и конечный символы, предложенные автором, то два примера предложения будут разбиты на токены следующим образом:

'<s>', 'A', 'ball', 'is', 'red', '<\s>'
'<s>', 'All', 'balls', 'are', 'red', '<\s>'

Биграммы, начинающиеся с «красный», («красный», «<\ s>») в предложении 1 и снова («красный», «<\ s> ') в предложении 2, всего 2 биграммы , Символы, содержащие «красный», - это («красный») в предложении 1 и еще раз («красный») в предложении 2, всего два символа. Таким образом, общее количество униграмм, содержащих «красный», совпадает с количеством биграмм, первым элементом которых является «красный».

0 голосов
/ 08 сентября 2018

Вы правы. Первоначальное утверждение не совсем верно, если вы не включите биграммы, такие как <'red', '.'> или <'red', '_EOS_'>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...