Phi*_*hil 4 nlp google-natural-language natural-language-processing
我希望能够找到具有相同含义的句子.我有一个查询语句,以及数百万个其他句子的长列表.句子是单词,或称为符号的特殊类型的单词,它只是一种象征着被讨论的对象的单词.
例如,我的查询语句是:
示例:将(x)添加到(y)给出(z)
可能存在我的数据库中已存在的句子列表,例如:1.(x)和(y)的总和是(z)2.(x)加(y)等于(z)3.(x)乘以by(y)不等于(z)4.(z)是(x)和(y)的总和
该示例应匹配我的数据库1,2,4中的句子,但不匹配3.此外,句子匹配应该有一些权重.
它不仅仅是数学句子,它可以根据单词的含义与任何其他句子进行比较.我需要一些方法来对句子和许多其他句子进行比较,以找到具有封闭相对含义的句子.即基于其含义的句子之间的映射.
谢谢!(标签是语言设计,因为我无法创建任何新标签)
首先:你想要解决的是一个非常棘手的问题.根据数据集中的内容,它可能是AI完整的.
你需要你的程序知道或学习add,plus和sum引用相同的概念,而multipets是一个不同的概念.您可以通过测量WordNet/FrameNet中单词'synsets之间的距离来实现此目的,但如果您不想找到乘法,则必须非常精确地计算距离.否则,您可能需要手动建立一些单词概念映射(例如{'add' : 'addition', 'plus' : 'addition', 'sum' : 'addition', 'times' : 'multiplication'}).
如果你想要完整的句子语义,你还需要解析句子并从解析树/依赖图中导出意义.在斯坦福分析器是用于分析一个流行的选择.
你也可以在Question Answering研究中找到这个问题的灵感.在那里,一种常见的方法是解析句子,然后将解析树的片段存储在索引中并通过常见的搜索引擎技术(例如,在Lucene中实现的tf-idf)搜索它们.这也会给你每个句子的分数.
| 归档时间: |
|
| 查看次数: |
4474 次 |
| 最近记录: |