【问题标题】:How to tell if two natural language queries have the same meaning如何判断两个自然语言查询是否具有相同的含义
【发布时间】:2019-04-10 13:45:50
【问题描述】:

我正在构建一个系统来将自然语言问题转换为 SQL 查询。现在我正在实施的是对自然语言问题的重构,使其更加结构化,以便我可以更轻松地将其转换为 sql 语句。

重组后的语言将遵循以下规则:

他们想做的事。 “查找”“列表”“给予” 他们希望我们检索前的属性。来自 sql 模式的表属性 他们希望我们匹配的实体

这种重构语言很棒,可以很容易地转换为 SQL,但问题是我正在创建所有名词块和实体的大型组合,这意味着很多句子。未来的发展将有助于最大限度地减少这些,但这是以后的事情。

所以我需要从大量的句子中找出与原始查询最相似的句子。

所以我的问题是,你会推荐什么样的相似函数?前任。解析树结构、语义和句法相似度...

感谢您的帮助,我正在为开源构建这个,所以任何帮助都是为了一个好的事业

【问题讨论】:

  • 这些查询将以只读权限运行,对吗?如果是这样,您可能需要明确指定以防止数据库安全人员拿着干草叉和手电筒出现在您家门口。

标签: nlp word2vec spacy dependency-parsing


【解决方案1】:

您尝试过 spaCy 的 .similarity 方法吗?您可以使用 spaCy 的管道非常快速地获取所有查询的 nlp 对象。然后你会按照nlp_original_query.similarity(nlp_other_query) 的方式做一些事情。使用它来比较查询/关键字的相似性,我取得了很大的成功。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-14
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-12
    • 2011-03-24
    相关资源
    最近更新 更多