自然语言理解系统

montague-nlu的Python项目详细描述


蒙塔古

Build Status

一个实验性的自然语言理解系统。

与传统的机器学习nlu系统不同,montague使用形式语义来解释英语句子。

当蒙塔古读一个句子时,它会在词汇表中查找每个单词,用它的逻辑语言赋予它一个意义(一阶逻辑的扩展)。然后,它递归地将单词组合成短语并计算每个短语的含义。当句子被翻译成一个逻辑公式时,蒙太古根据它的世界模型来评价这个公式,以确定它的真值。

安装

$ pip3 install montague-nlu

或者,您可以使用setup.py

安装开发版本
$ git clone https://github.com/iafisher/montague.git
$ python3 setup.py develop --user

一旦这样做,您就可以使用Montague的命令行界面:

$ montague

限制

蒙塔古系统仍处于早期测试阶段,受到许多限制。

  • 蒙太古不懂句法。对两个短语进行分组的唯一标准是它们是否线性相邻以及它们的类型是否兼容。这就导致蒙太古去解释一些无意义的句子,比如“每个好东西都是孩子。”
  • 如果一个句子里有一个不在词典里的词,蒙塔古将无法解释它。
  • 形式语义的重要模块,如多个、时态、方面、θ角色、内涵性和索引类等,尚未实现。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
方法为什么这两个java程序的输出不同   Mockito的java局限性   java如何立即更改背景?   java R无法安装xlsxjars、64位Windows,但正在尝试加载i386   在Java8中,如果在流之前集合为null,如何返回false?   来自RecyclerView适配器的java开始片段   字符串中的java字符串分隔符。分裂法   java检查线程是否中断?   java如何使用ESAPI解决资源注入(URL)问题   java如何在JAXB中解组时忽略元素的属性   BuilderPattern中的java逻辑   用JUnit测试Spring控制器   如何在java中使用regex/pattern删除标记   concurrentmodification我得到以下异常:“java.util.ConcurrentModificationException”   java如何与纯客户端Spring引导应用程序交互   Java函数中的递归返回字节数组   java getResourceAsStream()返回null。未加载属性文件   java无法自动连接activiti RuntimeService   java如何从AsyncTask更改或设置listview的子项?