哪个prolog实现对我的情况有帮助

时间:2014-09-12 10:54:10

标签: prolog nlp

我正在经历Prolog。我想用它来进行自然语言处理。我在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好吗?

帮助表示赞赏。谢谢:)

2 个答案:

答案 0 :(得分:5)

您提到的Watson系统,与许多其他NLP系统一样,是在符合ISO SICStus Prolog的ISO中开发的。在其most recent version 4.3中,SICStus包含一个JIT编译器,该编译器默认启用并完全透明地工作。 predicate properties jittablejitted是唯一可以看到抖动存在的方法 - 除了性能改进之外。除ISO核心功能外,SICStus自1985年左右开始提供freeze/2dif/2;几年后加入了CLP(Q)和CLP(FD)。 SICStus的一个缺点就是它 pricing

相比之下,SWI-Prolog是免费的,但更不稳定。最新版本SWI7 is no longer ISO conforming打破了Prolog I(马赛)和DECsystem 10 Prolog(爱丁堡)所有主要Prolog系统遵循的几个惯例。

所以,作为一个开始,你可能会选择SWI,但如果事情变得严重,那么你会转而使用SICStus。

答案 1 :(得分:4)

ProNTo这是你应该知道/阅读的第一件事,如果你已经知道并致力于Prolog。

Wordnet已准备好使用' Prolog界面。再次,如果你知道你在Prolog中的方式。从下载SW ...

的位置找到合适的站点位置有点困难 在我看来,

Attempto是最有趣的资源 - 但它需要CNL,而不是NLP。 无论如何,解析器是在SWI-Prolog中开发的。

总的来说,如果您对NLP很认真,请查看Grammatical Framework

如果你了解Python,你当然知道NLTK(但我不会称之为真正的NLP解决方案......)

Alpino它是一个真实的NLP包,由SWI-Prolog开发,但仅限荷兰语。 github中的Lookup用于Python资源。