我想不出更好的方法来解决以下问题......?想象一下,我有一张大桌子,其中的行和列是某种 ids .. 让我们说 book id
book_id-->1 2 3 .....
1 1 0.92 0.33
2
3
此表中的条目告诉您每本书的相似程度。所以从上表中......第 1 本书和第 2 本书的相似度指数为 0.92。
所以,我已经在银行端计算了这个......让我们说“n”个条目。
从 n+1 开始,数据是实时的。
所以我要做的第一步是填充这个新行。这是一个非常幼稚的方法。
i = 0; i < total_books ; i++
sim(book(n+1),book(i))
可以说计算任何书籍相似度的计算都非常快。但由于这必须发生“n”次,这加起来..
如果有“m”本新书,那么它是一个 n^2 操作(我认为)。是否有更好的算法/数据结构可以使这种计算可接受。
另外,只是为了补充一些背景。这种相似性只不过是两个向量之间的点积。(谷歌搜索余弦相似度会给出一个想法)。但它没什么特别的......只是在两个向量之间取点积......它会返回一个介于 0 和 1 之间的值。