相似度匹配案例

来源:13-5 -集群数据量预估

慕粉2040365749

2020-04-17

请教老师,有没有做过相似度匹配或者是推荐案例。我尝试10万*50万的数据,jieba+word2vec+余弦相似度+取top3的方案,笛卡尔积巨大,处理性能不佳。
之后作罢 采用了spark+es的方案,并行查es相似度前3,大概5分内能出结果。
机器是1台64 cores +128ram。
10万到50万数据中取每条记录的top3。
请教前者是否有合理的方案?是否是硬件资源不够?

写回答

1回答

Michael_PK

2020-04-17

硬件资源应该差不多了。但是你这直说了记录数,每条记录数多少,算法复杂度多少,都不太清楚,不太好评估

0
1
慕粉2040365749
每条记录其实就是个文本名称 20字以内。对比表也是。算法其实就是先把文本分词,再word2vec转向量之后,做余弦计算。类似阮一峰的这篇文章。http://www.ruanyifeng.com/blog/2013/03/cosine_similarity.html 只是好像通常用于单个文章或者长文本之间匹配,我这个是大批量计算。看起来效果是余弦计算和排序时间较长。向量维度大,余弦计算量也越大。另外就是笛卡尔积要10万*50万的两两计算相似度。 主要请教一下老师是否有见过这种案例,或者有没有好的思路。采用es 就是借助es有个相似度查询的比较快哈哈哈。 我是觉得可优化点在 单条匹配50万数据计算取top3.
2020-04-20
共1条回复

Python3实战Spark大数据分析及调度

使用Python3对Spark应用程序进行开发调优,掌握Azkaban任务调度

1046 学习 · 434 问题

查看课程