文章目录
搜索相关性定义
在搜索场景中,相关性定义如下:
对于给定的query和候选Doc,判断二者之间的相关性。
相关性反映了排序的精度,通过对相关性信息进行建模,将其作为特征传入到排序模型,提升搜索模型的排序能力。
相关性计算方法主要分为两种计算方法。
字面相关性
早期的相关性匹配主要是根据Term的字面匹配度来计算相关性,如字面命中、覆盖程度、TFIDF、BM25等。字面匹配的相关性特征在美团搜索排序模型中起着重要作用,但字面匹配有它的局限,主要表现在:
- 词义局限:字面匹配无法处理同义词和多义词问题,如在美团业务场景下“宾馆”和“旅店”虽然字面上不匹配,但都是搜索“住宿服务”的同义词;而“COCO”是多义词,在不同业务场景下表示的语义不同,可能是奶茶店,也可能是理发店。
- 结构局限:“蛋糕奶油”和“奶油蛋糕”虽词汇完全重合,但表达的语义完全不同。 当用户搜“蛋糕奶油”时,其意图往往是找“奶油”,而搜“奶油蛋糕”的需求基本上都是“蛋糕”。
为了解决上述问题,开始了语义相关性的探索。
语义相关性
业界工作包括传统语义匹配模型和深度语义匹配模型。
1 传统语义相关性模型
- 隐式模型:将Query、Doc都映射到同一个隐式向量空间,通过向量相似度来计算Query-Doc相关性,例如使用主题模型LDA将Query和Doc映射到同一向量空间。
- 翻译模型:通过翻译模型将Doc进行翻译改写在和Query进行匹配。