作者回复: 你写得很清晰。这的确是可行的方法。至于排序的问题,我们有没有优化的空间呢?比如说将用户看作是一个文档,身上的标签看作是文档中的关键词,那么使用第11讲的内容能否优化?
作者回复: 你的想法很好。“相同标签越多,相似度越高”,这个思路是可行的。其实这就是求集合相似度的Jaccard距离,它的计算公式是“集合交集元素个数”除以“集合并集个数”。包括你用位图来实现,的确是一种高性能的实现。 当然,对于“a,b”和“a,b,c,d,e,f,g,h”求相似度,用我文中说的bm25算法也是可行的。因为bm25算法会考虑到文章的长度问题。
作者回复: 其实总结得蛮好的,这样的总结,也说明了你有自己的思考和理解。尤其是最后,你说了该怎么去设计key,以及怎么进行分片,这些都是值得深思的问题,这一点我很赞同。而且从这个点再往下挖,就会回到我们在专栏开始不久时,提到的如何用深度学习来构建索引的问题。相信你现在再去想这个问题,就会有不一样的视角了。 还有,进阶篇的这一系列内容,的确还有一条暗线在串联着,我在结束语时会揭晓。