- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想获取一组英语句子并将它们转换为一组关系。例如
“飞行员驾驶飞机。”将映射到类似以下关系:
flies(pilot, airplane)
“鲍勃是爱丽丝和道格的父亲。”将映射到
father(Bob, Alice)
father(Bob, Doug)
我知道我以前见过一个Python库可以做这样的事情,但尽管我进行了所有搜索,我还是找不到它。我以前从未做过 NLP 编程,所以我可能用错了术语。抱歉。
更新:这不是生成 Prolog 的努力,而是生成有关话语宇宙的二进制(和其他)事实。然后可以将这些事实插入到对象角色模型中,并帮助生成数据库模式。上面的“flies”事实只是为了说明,对输出的语法没有要求。它只需是常规输出即可。
用语言学术语来说,我想我希望看到一个动词短语和两个名词短语来捕获二元事实。这些结构的方式并不像能够以自动方式识别结构那么重要。
最佳答案
您似乎正在将自然语言转换为 Prolog(XSB?)。一般来说,没有简单(甚至相当困难)的方法来自动化此过程。然而,对于像您问题中的简单句子,您需要使用类型依赖解析。这将为您提供主语、宾语和动词。一旦有了这些,您就可以编写一个简单的脚本来获取元组。
Python 的自然语言工具包 (NLTK) 不支持类型依赖。 (参见 this answer
斯坦福大学的解析器将帮助您(正如 Prateek 在评论中提到的那样)。请注意,您需要使用类型化依赖项。
您的例句“飞行员驾驶飞机。”将产生
det(pilot-2, A-1)
nsubj(flies-3, pilot-2)
root(ROOT-0, flies-3)
det(airplane-5, an-4)
dobj(flies-3, airplane-5)
root
是谓语(主要动词),nsubj
表示主语,dobj
表示直接宾语。
希望这有帮助:-)
关于python - 自然语言到二进制事实,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19861816/
我正在尝试使用以下命令通过 ansible 收集服务器 list : ansible all -m setup -a --tree facts/ 但这会在facts文件夹下为每个主机生成很多操作系统单
我决定学习 prolog 只是为了好玩,我正在看一些视频教程。我也在互联网上搜索了一些问题试图解决,但找不到解决方法。 我能够在纸上解决这个难题,但无法将其传递到代码中。 问题: I have 8 c
我正在通过DRT(规则模板)读取Excel表,然后通过Java类中的静态方法将其转换为类的对象。并将其插入到工作内存中。这样,工作内存就会被 Excel 表格中的所有事实填满。 现在,我通过 sess
我确信这非常简单,但我显然没有用谷歌搜索正确的东西。在几个单元测试相关的博客中,我看到了几个方法被赋予的属性 [fact] ,但我似乎无法弄清楚这意味着什么。示例: public class Some
我想知道这些术语之间的区别: 事实 仿函数 谓词。 规则 在Prolog中。 如果我写:brother(john, jack).这是事实吗?或谓词? 最佳答案 从 ISO/IEC 13211-1 Fi
问题 为什么选择 Ansible 事实,例如 ansible_distribution在角色部分不可用? --- - name: Test hosts: all tasks: - na
puppet 事实看起来像这样: processors => {"models"=>["AMD Opteron(tm) Processor 6172", "AMD Opteron(tm) Proces
在做了一些研究之后,我对 Prolog 以非常简单的方式表达查询的能力感到惊讶,几乎就像口头告诉机器该做什么一样。发生这种情况是因为我对工作中的 Propel 和 PHP 感到非常厌烦。 所以,我一直
我想生成一个密码和其他一些不存在的值。 像这样的东西: - name: Retrieve or generate my_password generated_fact: shell: so
我需要从 SEC 10-K 文件中获取一些事实,例如毛收入、毛利润、毛利率、营业费用等以及相应的上下文。 对于像 https://www.sec.gov/Archives/edgar/data/131
我是 puppet 新手,并计划在我们的环境中实现它。 我有在不同版本的 Redhat 上运行的 puppet 代理。 现在,我计划从 puppet master 推送存储库文件,我需要您的指导来实现
我是 puppet 新手,并计划在我们的环境中实现它。 我有在不同版本的 Redhat 上运行的 puppet 代理。 现在,我计划从 puppet master 推送存储库文件,我需要您的指导来实现
是否可以使用通常包含在 ansible_facts 中的内容?在 Ansible 临时命令中? 例如,我有一个位于 /tmp/myFile 的文件。在我所有的服务器上,我想做: ansible all
获得正确的术语是成功传达概念的一部分,当在 SO 中使用错误的术语时,带有 Prolog 标签的受访者会很好地指出错误。 在阅读 William F. Clocksin 于 1997 年 ( Worl
上下文:我的系统包含来自不同存储 Controller 的磁盘组合,因此每种类型的磁盘都有不同的用途。我是 ansible 的新手,我一边学习一边学习。编写一个剧本,从每种类型的 Controller
我是数据仓库的新手,我希望有一个关于构建星型模式的简单问题: 如果我有一个事实表,其中事实记录自然与单个维度具有一对多关系,那么如何建模星型模式来支持这一点?例如: 事实表:销售点条目(衡量标准是美元
我正在用 Idris 编写一个基本的 monadic 解析器,以适应与 Haskell 的语法和差异。我有基本的工作,但我坚持尝试为解析器创建 VerifiedSemigroup 和 Verified
我的应用程序需要足够的准确性,但 Google Places 按类别过滤的准确性似乎很差。所以我正在考虑迁移到 Factual API。大家用过吗?您如何看待它的准确性? 另一方面,我需要知道到某个地
我是一名优秀的程序员,十分优秀!