根据上下文识别不相关的查询

时间:2017-02-22 06:27:05

标签: text-mining

我正在使用R / Python从单个查询中提取关键短语。

但是,有什么方法可以检测查询在特定上下文中是否有效? 在此处查找示例场景:

Query1 = 'I need to order a birthday cake. Cherry topped vanilla cream over chocolate.'
Query2 = 'I wish to have a butterscotch cake with caramel sauce on top.'
Query3 = 'I need to throw my chocolate wrapper into the dustbin.'

假设上下文是Cake自定义,假设Query1Query2有效,但Query3不是。 Query3显然不是蛋糕定制,而前两个查询是关于蛋糕定制的。

如果我想在关键短语提取步骤之前消除无效查询。欢迎采取任何方式帮助。

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以考虑将某些群集作为预处理步骤。对查询进行聚类,以使群集中的查询看起来不相关。要比较群集查询,可以使用TF-IDF权重使用“Bag-of-Word”模型生成一些查询表示,然后使用余弦相似性找出哪些查询类似。

如果您对高级方法感兴趣,那么您可以考虑深度学习技巧。有许多深度学习技术可以用来完成这种任务。但为了简单起见,您可以训练深度神经网络来生成查询/句子表示。

实际上你并不需要这样做,因为有许多预先训练过的模型。例如,skip-thought vectors可以为您的查询生成句子表示(向量)。然后,您可以使用它来比较群集查询。