2011-12-22 2 views
1

Кто-нибудь знает реализацию Java Constraint Grammar для обработки естественного языка? Я знаю реализацию VISL CG3, то есть на C++, и я мог бы связать ее с Java, но было бы проще, если бы я смог найти реализацию Java, поскольку она будет интегрирована в устаревший Java-код. Это будет использоваться в Portuguese open source grammar checker и должно быть совместимо с лицензией LGPL.Есть ли реализация Java Grammar Constraint?

+0

Когда я увидел этот вопрос, я вспомнил вас. Когда я увидел, кто его опубликовал, у меня был сюрприз, именно вы его разместили. :) –

+0

Привет Виктор :) – wcolen

ответ

1

Посмотрите на JAPE: Regular Expressions over Annotations. Формализм, основанный на CPSL (COMMON PATTERN SPECIFICATION LANGUAGE) в старом проекте TIPSTER.

Это неправда, зависящая от контекста (поскольку должна быть грамматика контекста), но с ней можно связать контекстно-зависимые вещи. Это бесплатный и открытый исходный код. И имеет много примеров Java.

XTDL from SPROUT project также стоит посмотреть. Не уверен, что это бесплатно или нет.

+0

Спасибо! Выглядит многообещающе! – wcolen

+0

Я читаю документацию JAPE. Мне нужно проверить, можно ли его использовать для вывода парсера (древовидная структура). Некоторые правила будут проверять отношения между родительскими и дочерними узлами. Также я не смог найти отдельную версию Jape. Ящик должен быть небольшим, а gate-core.jar превышает 4.8 МБ. – wcolen

+0

JAPE не работает с древовидными структурами. Вместо того, чтобы строить сложные деревья, он воспроизводит мелкую обработку и использует преимущества простоты. Он принимает аннотации (Java-класс gate.Annotation) в качестве входных терминалов, сопоставляет их с шаблонами, подобными регулярному выражению (левые стороны правил), и если совпадение найдено, выдает выходные аннотации. Работа выполняется по этапам, где каждая фаза (набор правил) обрабатывает аннотации, сделанные предыдущими этапами, для создания (или удаления) других аннотаций. Первые аннотации, созданные Tokenizer из текста документа. – andrey

1

Я не уверен, что вы ищете регулярное выражение над семантическими графами и древовидными структурами. Если это так, вы можете проверить Tregex and Semgrex, который соответствует диаграммам зависимостей Stanford и составляющим деревьям.

+0

Спасибо, Кенстон. Очень хороший проект. К сожалению, это GPL, и я не могу использовать его в контролерах грамматики с открытым исходным кодом LGPL. – wcolen

1

Я не пробовал Graph-Expression, но на сайте говорится, что он предоставляет язык для «структуры соответствия - можно построить синтаксическое дерево на основе соответствия». Я думаю, что это сопоставимо с JAPE (как он заявляет на сайте: «быстрый - он работает быстрее, чем самый близкий к нему проект Jape sensorducer (gate.ac.uk)»). И я предполагаю, что он может обрабатывать графики, что-то, что JAPE может не понравиться.

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