2014-09-12 6 views
4

Я проходил через Пролог. Я хочу использовать его для обработки естественного языка. Я наткнулся на эту статью за natural language processing with Prolog in the IBM Watson system. Как указано в документе, я хочу попробовать это каким-то образом. Теперь мне было интересно, какую из реализаций Prolog использовать. Я наткнулся на все эти Comparison onto Prolog onto wiki which is stated in this link. Итак, какая из этих реализаций может использоваться для использования NLP на Ubunutu. Также тот, который легко интегрируется с python и хорош в скорости. Кто-нибудь когда-либо работал над любой из этих реализаций. Хорошо ли SWI-Prolog?, который пролог будет полезен в моем случае

Справка приветствуется. Thankz :)

+1

Мне нравится этот рассказ о watson. Действительно хорошая ссылка! И SWI-Prolog это не только «хорошо». Отлично! – CapelliC

+0

@CapelliC: ya это действительно приятно. Из этой ссылки wiki я получил то, что swi-prolog поддерживает большинство вещей, таких как веб-магазины Rdf. Главной задачей является скорость. Это лучше в скорости тоже? Спасибо за ур ответить :) – Gunjan

+1

В моем ограниченном опыте, SWI-пролог действительно «достаточно быстро». Например, qcompile позволяет загружать на мою действительно маленькую машину полностью проиндексированный Wordnet3 (более 800K записей) менее чем за 10 секунд – CapelliC

ответ

4

ProNTo это первое, что вам нужно знать/читать, , если вы уже знаете и привержены Prolog.

Wordnet имеет «готовый к использованию» интерфейс Prolog. Опять же, , если вы знаете свой путь в Прологе. Трудно найти подходящее месторасположение сайта, откуда скачать SW ...

Attempto - на мой взгляд самый интересный ресурс - но он принимает CNL, а не НЛП. В любом случае, в SWI-Prolog развивался синтаксический анализатор.

В целом, если вы серьезно относитесь к НЛП, взгляните на Grammatical Framework.

Если вы знаете Python, вы, конечно, в курсе NLTK (но я не назвал бы это верное решение NLP ...)

Alpino это NLP пакет реальной жизни, разработанный в SWI-Prolog, но только для голландцев. Lookup в github для ресурсов Python.

+1

Alpino был разработан в SICStus, а затем портирован в SWI. – false

+1

То же самое для попытки. – false

+1

@false: спасибо, я не знал об этом – CapelliC

5

Система Watson, о которой вы упомянули, как и многие другие системы НЛП, была разработана в соответствии с ISO SICStus Prolog. В своем most recent version 4.3 SICStus содержит компилятор JIT, который включен по умолчанию и работает полностью прозрачно. predicate propertiesjittable и jitted - единственный способ увидеть, что джиттер присутствует —, за исключением улучшения производительности. Помимо основной функциональности ISO, SICStus предлагает freeze/2 и dif/2 с 1985 года; с CLP (Q) и CLP (FD), добавленными несколькими годами позже. Единственным недостатком SICStus является его pricing.

SWI-Prolog в отличие от этого является бесплатным, но гораздо более изменчивым. Самая новая версия, SWI7 is no longer ISO conforming и разрывает несколько соглашений, за которыми следовали все основные системы Prolog от Prolog I (Marseille) и DECsystem 10 Prolog (Эдинбург).

Итак, для начала, вы, вероятно, поделитесь SWI, но если дело пойдет по-деловому, вы переключитесь на SICStus.

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