Я пытаюсь понять алгоритм CYK, но когда у меня есть неоднозначные предложения, это вызывает у меня проблемы. Также я не совсем понимаю, как определить начальное состояние разных слов. Например, данный глагол «забыл» может быть как VP , так и v ?
Я пытаюсь разобрать предложение: «Я забыл сумку с ракетками, которые я купил вчера», что можно понять двумя способами в зависимости от того, какую часть предложения yesterday
описывает. Это можно понимать как:
- Он купил сумку с ракетками, но вчера забыл их (вчера описывает "забыл")
- Вчера он купил сумку с ракетками, но забыл их (вчера описывает "купил")
До сих пор я пытался использовать следующую грамматику:
S -> NP VP
NP -> det n
NP -> NP PP
VP -> v NP
VP -> VP PP
PP -> prep NP
со следующим словарем:
det -> a
NP -> I
n -> rackets | bag
NP -> which (very much in doubt about this one)
prep -> of | yesterday
VP -> forgot | bought
v -> forgot | bought
Я также сомневаюсь в VP
s. Мой учитель показал мне несколько предыдущих примеров, где, например, слово saw
могло бы быть и VP и V , и я не совсем понимаю, когда что использовать.
Я попытался пропустить предложение: «Я видел девушку с телескопом», которое я правильно анализирую и получаю тот же результат, что и мои слайды:
но я до сих пор не знаю, как определить зеленые линии и красные линии в другом предложении и, таким образом, определить неоднозначность.
Может кто-нибудь объяснить мне алгоритм CYK с примерами выше?