首页 > 寻求商品排序方法

寻求商品排序方法

如题:
有以下数据

排序结果:

双汇Q趣玉米风味
双汇Q趣孜然风味
双汇QQ糖
双汇牛肉
双汇泡面
双双

这些都是一个分类,很多童鞋说 分类,录入商品的时候,不可能太细分那么多分类的,所以在查出来一些没能分好类的商品的时候,智能显示在一起

就是转化成拼音的首写字母

SHQQYMFW
SHQQZRFW
SHQQT
SHPM
SS

排序目的:相似度越高的放在一起。。

有没人做过类似的东西,或者有更优秀的商品排序方式的推荐,目的是为了让用户更加方便,体验更好。


你得有个参照物才能排序, 你连 query 都没有怎么叫相似度高呢? 比如用户搜索某个 query 的时候, 和 query 相似度最高的排在最上面, 这样才叫排序. 这样的算法就是信息检索中的排序算法, 高级的算法需要使用 Learning to Rank, 这去要用到自然语言处理, 中文分词, Word2Vec, 机器学习之类的知识. 最简单的算法就是 TF-IDF 给每个结果一个相似值, 中文分个词就可以套进去算, 最相似的排上面. 其实还有更简单的, 先分词, 分词完了生成一个矩阵M, 每行就是每个要排序的item (记为 i), 每列是一个不重复的词j, M_{ij} = i 中 j 出现的次数

火腿 双汇 方便面
双汇火腿 1 1 0
双汇方便面 0 1 1

然后用欧几里得距离就可以算出来"双汇火腿"和"双汇方便面"的相似度

如果没有 query, 那就算是聚类, 最简单的就是办法是 K-means, 简单的说就是初始随机 k 个中心点, 计算所有item 到每个中心点的距离(相似度), 然后将每个item 分配给最近的中心点进行分类. 紧接着用分配好的每个分类重新计算中心点, 然后再计算每个 item 到每个中心点的距离..反复循环直到每个迭代都不再明显变化.

说白了只要搞明白相似度的算法, 就容易了

【热门文章】
【热门文章】