2011-01-05 5 views
6

Мне удалось создать распознаватель Earley, все работает отлично. У меня все правильные наборы ситуаций. Но я могу использовать его только для того, чтобы решить, принято ли слово грамматикой. Как заставить его разбираться? Мне нужна статья или объяснение, мне кажется, что мне нужно создавать ассоциации в ситуациях, которые создавали новые ситуации. Любая помощь будет оценена по достоинству.Распознаватель Earley для анализатора Earley

Моя реализация она основана именно на: http://www.cs.uvic.ca/~nigelh/Publications/PracticalEarleyParsing.pdf

+1

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

+0

Я добавил ссылку на pdf – dfens

+0

Возможно, вы захотите посмотреть на [Marpa] (https://metacpan.org/pod/Marpa::R2). Это парсер с открытым исходным кодом Earlery, у которого есть C-конец и Perl-интерфейс. – hippietrail

ответ

1

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

Я действительно рекомендую отличную книгу Клааса Сиккеля «Схемы анализа» для теоретической стороны вещей.

2

Простая генерация леса из распознавателей Earley сложна. Существует такая статья «Распознавание не разобрано - синтаксический анализ в стиле SPPF из кубических распознавателей», который объясняет , что версия анализатора Эрли неверна, а затем показывает, как сгенерировать разбор леса с помощью распознавателей Earley.

http://www.sciencedirect.com/science/article/pii/S0167642309000951

 Смежные вопросы

  • Нет связанных вопросов^_^