Попытка использовать HPSG PET Parser - PullRequest
8 голосов
/ 13 октября 2010

Привет. Я пытаюсь использовать парсер PET , но документации, предоставленной для использования, недостаточно.Может кто-нибудь указать мне хорошую статью или учебник по использованию ПЭТ?Поддерживает ли он utf-8?

Ответы [ 2 ]

11 голосов
/ 27 февраля 2011

Чтобы использовать анализатор PET, сначала вам нужно загрузить грамматику для интересующего вас языка. Грамматика должна быть написана на языке TDL, как это используется в консорциуме DELPH-IN ( вики здесь ). Большие совместимые грамматики доступны для нескольких языков, включая английский, японский и немецкий. Также доступны более мелкие грамматики, и вы можете написать свою собственную.

Для этого и для работы с этими грамматиками лучше всего подойдет книга Энн Копестак, "Внедрение грамматик типизированной структуры элементов" (CSLI 2002). Книга предоставляет подробное введение в TDL и грамматики, подобные этим, которые функционируют посредством объединения типизированных структур признаков. Грамматики поддерживают двунаправленное отображение между синтаксисом (поверхностные строки) и семантикой («значение», представленное в соответствии с MRS Копестаке - Семантика минимальной рекурсии ). Обратите внимание, что это точные грамматики, что означает, что они, как правило, менее терпимы к неграмотным вводам, чем статистические системы.

Английская грамматика ресурсов (ERG) - это большая грамматика английского языка, которая охватывает широкий круг вопросов общего характера. Это открытый исходный код, и вы можете скачать его с сайта. Онлайн-демо, работающее на анализаторе PET, можно найти здесь .

Анализатор PET запускается в два этапа. Первый, называемый flop , создает «скомпилированную» версию грамматики. Второй шаг - фактический анализ, который использует программу cheap . Вам нужно будет получить эти два двоичных файла PET для вашего Linux-компьютера или собрать их самостоятельно. Этот шаг может быть нелегким, если вы не знакомы с созданием программного обеспечения в Linux. PET не работает на Windows (или Mac, насколько мне известно).

Бег флоп легко. Просто перейдите в каталог / erg и введите:

$ flop english.tdl

Это создаст файл english.grm . Теперь вы можете разобрать предложения, набрав cheap :

$ echo the child has the flu. | cheap --mrs english.grm

В этом примере создается одно семантическое представление предложения в формате MRS (семантика минимальной рекурсии):

 [ LTOP: h1
   INDEX: e2 [ e SF: PROP TENSE: PRES MOOD: INDICATIVE PROG: - PERF: - ]
   RELS: <
          [ _the_q_rel<-1:-1>
            LBL: h3
            ARG0: x6 [ x PERS: 3 NUM: SG IND: + ]
            RSTR: h5
            BODY: h4 ]
          [ "_child_n_1_rel"<-1:-1>
            LBL: h7
            ARG0: x6 ]
          [ "_have_v_1_rel"<-1:-1>
            LBL: h8
            ARG0: e2
            ARG1: x6
            ARG2: x9 [ x PERS: 3 NUM: SG ] ]
          [ _the_q_rel<-1:-1>
            LBL: h10
            ARG0: x9
            RSTR: h12
            BODY: h11 ]
          [ "_flu_n_1_rel"<-1:-1>
            LBL: h13
            ARG0: x9 ] >
   HCONS: < h5 qeq h7 h12 qeq h13 > ]

Книга Копестаке объясняет специфический синтаксис и лингвистический формализм, используемые в грамматиках, которые совместимы с PET. Он также служит руководством пользователя для системы LKB с открытым исходным кодом, которая является более интерактивной системой, которая также может анализировать эти грамматики. В дополнение к синтаксическому анализу LKB может делать обратное: генерировать предложения из семантических представлений MRS. В настоящее время LKB поддерживается только в Linux / Unix. На самом деле существует всего четыре механизма обработки грамматики, соответствующих DELPH-IN, включая LKB и PET.

Для Windows есть согласен , многопоточный парсер / генератор здесь ), который я разработал для .NET; он также поддерживает генерацию и анализ. Если вам нужно работать с грамматикой в ​​интерактивном режиме, вы можете рассмотреть возможность использования LKB или accept в дополнение к PET или вместо него. Интерфейсы интерактивного клиента для согласны в основном основаны на WPF, но движок и простой консольный клиент могут работать на любой платформе Mono.

ACE - это еще одна система синтаксического анализа и генерации, совместимая с DELPH-IN, с открытым исходным кодом, разработанная для высокой производительности и доступная для Linux и MacOS.

LKB написан на Лиспе, тогда как PET и ACE - это C / C ++, поэтому последние являются более быстрыми анализаторами для производственного использования. согласен также намного быстрее, чем LKB, но становится быстрее, чем PET, при разборе сложных предложений, где накладные расходы из согласен с параллелизмом без блокировки амортизируются.

[25.11.2011, редактирование: согласен теперь поддерживает генерацию и анализ]

0 голосов
/ 08 января 2011

PET поддерживает UTF-8, в зависимости от того, как он был настроен при компиляции.В дополнение к вики-странице также посмотрите или отправьте вопрос в список рассылки .

Существует несколько методов ввода, я бы порекомендовал FSC (XML) или YY (s-exp) за то, что самый современный.Я не знаю ни одного короткого учебного пособия, но вы также можете посмотреть на Heart of Gold для полного комплексного пакета NLP, где PET является компонентом.

Вы анализируете с помощьюERG

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