Contents
相似搜索问题的背景
相似搜索在业务里的场景:图片相似搜索,衍生的业务:拍照购物,截图搜电影、盗版图查找;文本相似搜索:智能搜索引擎,推荐系统,问答机器人,机翻;声音相似搜搜:听歌识曲等
相似搜索要解决的关键问题
相似搜索无非就是为了 “搜的像”,并且同时尽可能的 “搜的快”,简单说关键问题就是要解决 准和快。
那么问题来了,人类可以直观的看出两个图片或者两句话的像不像,怎么做到的呢?凭感觉!对的,就是搭眼一看,下意识的我们就能得出像不像的结论。
然而计算机没办法凭感觉,它能做的是加减乘除、与或非,所以像不像的这个问题,交给计算机解决前,首先要量化。
这个量化又包括两个方面,一方面是要量化参考物,另一方面要量化两个参考物之间的相似度。举个例子,假设我们可以把m张图片通过某种途径分别用一个数字表示n1、n2… nm,任意两张图之间的相似程度,我们用他们的差的绝对值 |na-nb| 来表示,值越小的就表示越像。
如此一来,量化参考物就是直接拿图的编号作为定量表示,两张图之间的相似程度,或者叫距离,就用两个图的定量的差的绝对值表示。如果我们想搜索和k号图最像的图片,只需要在所有图片中和nk计算下绝对值差,取出最小的就是最像的,这当然是一种量化相似度的方式,但是却没有太多实际意义,也就必然导致了搜出来的图不像。
(注:上面我们一直叫定量表示,定量其实就是个确定的量,一个数字或者一列数字,[1],[1,2,3,4,5]这样,拿到数学里说,可以当做是1维、2维、n维空间里的坐标,再考虑上原点,这个定量不就是n维空间里的向量了嘛)
为什么不像?原因肯定是出在量化的方式不合理,那怎样才能得到更好的量化表示呢?
接下来的内容,我会先从文本和图片的相似搜索原理开始介绍,讲述常见的相似模型,过程中会涉猎到部分机器学习或者深度学习的内容,当然都是科普性质的,深入的我也不懂哈哈:),这部分也就是对应着上面搜的像的问题;然后就是另外一个关键问题,也就是搜得快的问题