【发布时间】:2017-05-07 12:38:01
【问题描述】:
假设我们有一个包含 50 个句子的列表,并且我们有一个输入句子。如何从列表中选择最接近输入句子的句子?
我尝试了许多方法/算法,例如平均句子每个标记的 word2vec 向量表示,然后计算结果向量的余弦相似度。
例如,我希望算法在“书的定义是什么?”之间给出较高的相似度分数。和“请定义书”。
我正在寻找一种方法(可能是方法的组合) 1.寻找语义 2.寻找语法 3. 为具有不同角色的不同标记赋予不同的权重(例如,在第一个示例中,'what' 和 'is' 应该得到较低的权重)
我知道这可能有点笼统,但欢迎提出任何建议。
谢谢,
阿米尔
【问题讨论】:
-
这对于 Stack Overflow 来说太宽泛了。
-
一个难题。我建议解析 50 个句子并保留它们的解析树。然后解析传入的句子。对于这 50 个中的每一个,尽可能地比较两个解析树中具有相同“词性”的单词。给词根的匹配程度打分。但这个问题确实很开放,人们应该期望做很多实验才能获得最好的结果。
标签: machine-learning nlp semantics