使用 DNN 的项目到项目推荐

数据挖掘 神经网络 推荐系统 余弦距离
2022-03-03 06:39:37

我是 DNN 的新手,仍在学习,需要使用 DNN 构建基于项目到项目内容的推荐。例如,假设我有一列字符串,其中每一行代表一个文档,我需要计算该列的余弦相似度并推荐相似的文档。

id   document

1     "hi this document is about science"

2     "hi this document is about wars"  
3     "This document is about peace"

现在需要根据文档和列进行训练,并推荐与给定文档相似的所有文档。我已经通过在 ML 中使用余弦相似度解决了这个问题,现在想在 DNN(深度神经网络)中实现相同的目标。我在网上花了很多时间,他们都在谈论使用 userId、评级、标题的电影评级。我只有一个专栏文档的问题如何在 DNN 中实现这一点?

1个回答

为了能够比较字符串/单词或文档,需要将数据转换为计算机可以理解的格式,向量。

谷歌有一个很好的关于通用句子编码器的句子相似性指南,你可以按照它解释如何从他们已经训练过的神经网络生成一个向量。

他们所做的以及您可以尝试的是使用余弦相似度来比较向量。将一个句子向量与所有其他向量进行比较,并找到最接近的。

我在这里添加Annoy,因为我发现它使用起来非常直观,并且您可以获得n 个最接近的项目。