Python NLP将与以前的请求匹配

Python NLP将与以前的请求匹配,python,machine-learning,nlp,doc2vec,Python,Machine Learning,Nlp,Doc2vec,我正在处理一个我有以前请求历史记录的需求。请求可能类似于“向我发送一份..的报告”或“给我这个文档”,这将被分配给某个人,该人将做出响应 我需要建立一个应用程序,将分析以前的请求,如果一个新的请求到达,如果任何以前的请求匹配,那么我应该建议以前的请求的解决方案 我正在尝试使用Python实现上述功能,经过一些研究,我发现doc2vector是将以前的请求转换为向量并与新请求的向量匹配的方法之一。我想知道,这是正确的方法还是有更好的方法可用?有几种不同的方法可以解决您的问题。事实上,答案没有对错之

我正在处理一个我有以前请求历史记录的需求。请求可能类似于“向我发送一份..的报告”或“给我这个文档”,这将被分配给某个人,该人将做出响应

我需要建立一个应用程序,将分析以前的请求,如果一个新的请求到达,如果任何以前的请求匹配,那么我应该建议以前的请求的解决方案


我正在尝试使用Python实现上述功能,经过一些研究,我发现doc2vector是将以前的请求转换为向量并与新请求的向量匹配的方法之一。我想知道,这是正确的方法还是有更好的方法可用?

有几种不同的方法可以解决您的问题。事实上,答案没有对错之分,而是更符合你的数据、目标和预期结果的答案。举几个例子:

矢量化(doc2vec)

这种方法将使文档的矢量表示基于来自预训练源的单个单词矢量(这些所谓的嵌入可能更一般,在过于封闭的上下文中效果更差,或者更具体,更适合于特殊类型的文本)

为了将新请求与文档的此矢量表示匹配,新请求必须与密切相关的矢量表示共享单词,否则将无法工作

关键词匹配(或主题化)

一种更简单的方法,通过文档中更具代表性的关键字对文档进行分类(使用一些技术,例如,甚至更简单的单词分布)

要匹配新请求,必须包括文档的关键字

基于图形的方法

在我的硕士研究中,我使用这种方法来回答问题。在该模型中,每个文档都被建模为与其关键字(也是节点)相连的图节点。图中的每个单词都与其他单词相关,并构成一个网络,通过该网络可以访问文档

为了匹配一个新的请求,从请求中检索关键字,并使用多种网络遍历技术中的一种进行“扩散”,试图找到图中最接近的文档。你可以看到我是如何记录我的方法的。然而,这种方法要么需要一组已经存在的词间关系(对于更简单的方法),要么需要花费大量时间来注释词间关系

最后一句话

但是,如果您有兴趣将“本文件”匹配到“电子邮件5中的附件A”。那是另一个大问题。一个实际上没有解决的问题。您可以尝试在同一段落或短语内使用引用。但这对不同的文档(电子邮件)不起作用。如果你想在NLP(实际上是NLU——自然语言理解)中赢得一些名声,那就需要深入研究