效果提升28个点!基于领域预训练和对比学习SimCSE的语义检索
语义检索相比传统基于字面关键词的检索有诸多优势,广泛应用于问答、搜索系统中。今天小编就手把手带大家完成一个基于领域预训练和对比学习SimCSE的语义检索小系统。 所谓语义检索(也称基于向量的检索),是指检索系统不再拘泥于用户Query字面本身(例如BM25检索),而是能精准捕捉到用户Query背后的真正意图并以此来搜索,从而向用户返回更准确的结果。 最终可视化demo如下,一方面可以获取文本的向量表示;另一方面可以做文本检索,即得到输入Query的top-K相关文档! 语义检索,底层技术是语义匹配,是NLP最基础常见的任务之一。从广度上看,语义匹配可以应用到QA、搜索、推荐、广告等各大方向;从技术深度上看,语义匹配需要融合各种SOTA模型、双塔和交互两种常用框架的魔改、以及样本处理的艺术和各种工程tricks。 比较有趣的是,在查相关资料的时候,发现百度飞桨PaddleNLP最近刚开源了类似的功能,可谓国货之光!之前使用过PaddleNLP,基本覆盖了NLP的各种应用和SOTA模型,调用起来也非常方便,强烈推荐大家试试! 接下来基于PaddleNLP提供的轮子一步步搭建语义检索系统...