nlp - 将一阶逻辑表达式映射到数据库条目(从 FOL 表达式中提取信息)

标签 nlp nltk context-free-grammar first-order-logic

我正在 build 一个 问答 系统仅限于医疗查询。我使用一阶逻辑(FOL)来表示提出的问题。我已经设法使用 NLTK BOOK 中概述的过程得出了一个 FOL 表达式。 .

例如,对于这样的问题:

What are the symptoms of diabetes?



,我得到了一个看起来像这样的表示:

WHQ(list,exists y.(symptoms(y) & refersTo(y,diabetes)))



在这里,总部表示问题是什么问题; 列表表示输出必须是某种值列表; y 是一些映射到 的值(变量)症状 .

我的问题是,
  • 这种方法(或表示)有效吗?
  • 考虑到 FOL 表达式是有效的,我将如何“以编程方式”映射此 FOL 表达式以检索 回答 从数据库?

  • 任何额外的见解将不胜感激。

    谢谢你。

    最佳答案

    有一个 paper (合着)讨论同一问题。表示是与 FOL 相关的 DRS。然后将表示转换为 SQL。一些谓词也必须被表示。虽然本文侧重于比较和评估,但也涵盖了事实性问题。

    关于nlp - 将一阶逻辑表达式映射到数据库条目(从 FOL 表达式中提取信息),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10040169/

    相关文章:

    java - 使用 NLTK 使用 MaltParser 解析多个句子

    python - NLTK 包和其他依赖项出现错误

    python - 使用 python 序列化语料库

    python - regexp_tokenize 和阿拉伯文本

    python - 在 python 中从树构建语法

    java - CYK算法伪代码混淆

    linux - 我如何通过文本文件编写 hunpos 脚本?

    database - 知识库和数据库的区别

    python - 句子结构识别 - spacy

    parsing - LL-1 解析器 : Is the FOLLOW-Set really necessary?