自然语言理解系统

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 Intellij通过方法中的包查找用法   java中VS代码和打包命名的问题   将java CMS功能集成到具有高度动态内容的网站(Lucene/Mysql/Nosql)的策略   oracle的java类强制转换异常。jdbc。驾驶员OracleConnection   字节码向JVM添加上指令   如何在抽象类中执行java方法?   java是否可以在apache访问日志中排除指定的GET参数?(作者:W7开发环境)   java如何获取已安装音频播放器的列表?   尝试向HS学生展示如何使用Java访问MS数据库   使用正则表达式java对给定行中的特定字符串进行计数   java JOOQ Select查询中的Select计数   方法Java,如何从二维双精度数组中找到特定值?   获取图像URL的java正则表达式   java在切换到新的窗口驱动程序后找不到元素