Elasticsearch中more_like_this que
2014-12-10 本文已影响744人
朱小虎XiaohuZhu
Neil Zhu,简书ID Not_GOD,University AI 创始人 & Chief Scientist,致力于推进世界人工智能化进程。制定并实施 UAI 中长期增长战略和目标,带领团队快速成长为人工智能领域最专业的力量。
作为行业领导者,他和UAI一起在2014年创建了TASA(中国最早的人工智能社团), DL Center(深度学习知识中心全球价值网络),AI growth(行业智库培训)等,为中国的人工智能人才建设输送了大量的血液和养分。此外,他还参与或者举办过各类国际性的人工智能峰会和活动,产生了巨大的影响力,书写了60万字的人工智能精品技术内容,生产翻译了全球第一本深度学习入门书《神经网络与深度学习》,生产的内容被大量的专业垂直公众号和媒体转载与连载。曾经受邀为国内顶尖大学制定人工智能学习规划和教授人工智能前沿课程,均受学生和老师好评。
大家有发现最近的发布文章,会进入新的推荐投稿专题这个页面吧,结果展示的专题是你可能会投稿的那些专题(若没有合适的就会返回自己创建或者参与编辑的专题),当然还可以搜索大概知晓名称的那些专题。
推荐投稿.jpg
这里头就有ES(或者更准确滴说是Lucene)的more_like_this查询在起作用。
思想其实很简单,通过文章内容的相似性找到类似的文章,然后将这些相似的文章所在的专题作为备选项。
最后就是使用备选项的专题作为最终的结果让用户进行投稿了。
伪代码如下:
current_article = A
similar_articles = more_like_this(current_article)
choices=set()
for article in similar_articles:
choices.add(articles.collections)
这其实也可以看作协同过滤(collaborative filtering)的一种应用场景了。