讲师:徐光伟(昆卡)--阿里云达摩院算法专家
视频地址:https://developer.aliyun.com/live/246649
教育搜题解决方案地址:https://www.aliyun.com/page-source/data-intelligence/activity/edusearch
开放搜索简介-引擎优势
开放搜索(OpenSearch)是基于阿里巴巴自主研发的大规模分布式搜索引擎搭建的一站式智能搜索业务开发平台,通过内置各行业的查询语义理解、机器学习排序算法等能力,提供充分开放的算法及引擎能力,助力开发者快速搭建更高性能、更高搜索基线效果的智能搜索服务。
其搜索引擎采用阿里自研的整套搜索工程体系-AIOS系统,支撑着阿里系包含淘宝、天猫、lazada、闲鱼、优酷、菜鸟、盒马等全部的搜索场景,在稳定性和工程效率上都是行业领先水平。
开放搜索简介-算法优势
开放搜索(OpenSearch)在算法上集成达摩院NLP(自然语言处理)团队的核心技术,NLP Foundations 中的词法分析、句法分析、语义分析、文本分析、deep learning 技术都处于业界领先。通过对各行业智能语言处理的深入研究,在开放搜索的行业应用中产品化落地。
教育搜题-业务背景
近几年在线教育行业飞速发展,根据2020中国移动互联网教育学习APP行业月活用户规模TOP10的统计,月活前十中针对K12教育的APP有6个,具备搜题场景的APP有5个;说明了搜题功能在教育行业的的重要性。
(数据来源:QuestMobile<2020中国移动互联网年度大报告>)
工具型的产品能力,它是用来帮助产品获得大量的用户和流量,从而为其他的业务提供变现能力。在线教育行业中拍照搜题作为产品掠取流量最重要的工具,抓住了家长、学生辅导和解题上需求,为其他的业务变现提供源源不断的流量。正是由于这样的定位,搜题的准确性和效率变得更加重要,将直接影响品牌的口碑和用户粘性。
教育搜题-业务特点
海量题库
客户的题库一般都是千万甚至亿级别,而且还在快速持续的增长。同时搜题业务存在比较明显的高峰现象。在平时的晚上787到8点,尤其是周末的最后一天或者是节假日的最后一天。QPS存在很明显的高峰,具备高弹性和低延迟的云搜索,云搜索能力就成为了客户的首选。
场景丰富
搜题的场景越来越丰富,涵盖不同的年级,比如低年级出现比较多的像看图识字、连线题等,这种需要图片信息的,还有包含不同的学科,现在已有的学科已经超过10个,这些丰富的场景都会对搜索效果产生影响。
算法需求
因为搜集产品一般只会展现top 3到top5的1个结果,对于准确性的要求极高,同时还会依赖一些多模态和多元的算法能力来解决图文搜索和多元处理的需求。
开放搜索如何提供精准高效、稳定的一站式搜题解决方案
- 左边:用户拍照题目,经过OCR识别之后的文本,通过中间的开放搜索(OpenSearch )引擎得到Top 3-5的召回结果进行展示;
- 右边:客户题库,开放搜索会严格保证客户数据的安全和隐私;
- 中间:开放搜索(Open Search )引擎部分包含了文档召回、排序定制和干预功能三大模块;
开放搜索Query处理流程
查询语义理解
案例说明:
教育搜题定制分词器
搜题场景分词难点:
- 英文题目,ocr 识别之后的空格缺失;
- 数学题目latex公式表示之后的切分;
解决方法:
- 针对第一个问题,收集千万级K12英文语料训练语言模型,即便对超长的英文连写也可以精准切分;
- 针对第二个问题,利用开放搜索自带的分词干预能力将latex表示中的运算符号预处理;
类目预测-学科、题型分类
什么是类目预测?
简单来说,用户输入一个query,查询得到一批商品,通过计算每一个商品所属的类目与query之间的相关度,只要商品的排序公式中引用了这个相关度,那么对于这个商品来说,它所属的类目与query的相关度越高,它的排序公式的计算结果就获得了越高的排序得分,从而这个商品就会排在越前面。
教育行业中的应用
- 结合输⼊的图⽚信息和OCR识别之后的结果预测输⼊题⽬的学科类别、题目类型;
- 预测各⽂本⽚段的字段类型(题干描述、选项等等);
词权重分析
功能介绍:该功能主要分析了查询中每一个词在文本中的重要程度,并将其量化成权重,权重较低的词可能不会参与召回。这样可以避免当用户输入的查询词中包含一些权重低的词时,仍然按用户输入的查询词限制召回,导致命中结果过少。
功能用途: Query丢词、改写、文本相关性分析;
1. 基于用户行为生成训练数据
首先是基于querydock 点击行为去构建点击图,然后利用vpc 计算法得到TOM 之间的一个重要度偏训
2. 词权重模型训练
- 在进行规划之后得到训练数据利用序列标注模型去预测每一个特用的权重;
- 预测标签(7,4,1), 分值越⾼表⽰term的重要性越⼤, 召回结果更准确;
示例:
Query改写-干预功能
开放搜索除了已经内置的这些算法能力同时还支持用户的批量干预::词典、拼写纠错,同义词,词权重等;
示例:
- OCR识别可能会把一些非题目要素识别进来干扰query分析的结果,这时候可以使用词权重干预的方式保证非题目要素字段被打标成低权重,保证召回和排序效果;
- 用户可以自定义同义词来扩召回,例如“立方米” -> “吨”;
教育搜题排序定制
系统开放了两阶段排序过程:基础排序和业务排序,即粗排和精排;基础排序即是海选,从检索结果中快速找到质量高的文档,取出TOP N个结果再按照精排进行精细算分,最终返回最优的结果给用户。为了实现更细粒度的排序效果,结合排序表达式(Ranking Formula)可以为应用自定义搜索结果排序方式 。
多路召回-语义向量召回
为什么搜题要做多路召回?
教育拍照搜题场景相比网页/电商的文本搜索有显著差异:
- 搜索query特别长:常规检索term数上限30,搜题需要放到100;
- 搜索query是由拍照OCR识别之后得到的文本,关键term的识别错误会严重影响召回排序;
纯文本查询方案
1. OR逻辑查询
- 为了降低无结果率,搜题客户常见的系统是基于ES默认的OR逻辑,latency高,计算消耗大;
- OpenSearch也支持OR逻辑,针对latency高可以通过并行seek的方式优化,但整体计算消耗仍然高;
2. AND逻辑查询
- 采用通用的query分析模块,无结果率高,整体准确性不如OR逻辑;
- 针对教育领域优化定制的query分析模块,大幅提高效果,准确性接近OR逻辑;
如何去兼顾计算消耗和搜索准确性那?我们在此引入了文本向量检索
文本向量检索
目标:通过文本向量检索扩召回,结合AND逻辑查询,做到latency和计算消耗低于OR逻辑的情况下准确性更高;
向量召回采用目前最先进的BERT模型,其中针对教育搜题做的特别优化有:
- BERT模型采用达摩院自研的StructBERT,并针对教育行业定制模型;
- 向量检索引擎采用达摩院自研的proxima引擎,准确性和运行速度远超开源系统;
- 训练数据可以基于客户的搜索日志不断积累,效果持续提升;
这个图我们可以看到有一项召回,在召回率上已经达到凹逻辑。同时在准确性上现在超出2逻辑3到5个点,整体的召回到数减少40倍的情况下,latency 可以降低10倍以上。
效果:
- 召回率达到OR逻辑
- 准确性超出OR逻辑3%-5%
- 整体召回doc数量减少40倍,latency降低10倍以上
多路召回-文本向量多路召回
多路召回优势:
文本召回和语义向量召回的结合在搜题场景已经验证有效,开放搜索的多路召回架构还将有更多的使用空间:图片向量召回、公式召回、个性化召回。
除了开放搜索内置的向量模型,我们也将支持客户自己的向量索引,欢迎客户和我们一起深耕搜题算法优化。
搜题案例效果展示
案例1:搜题query:"张慧研所指与小磁大概相近的是乐府之音
案例2:搜题Query: “如图是由一些相同的小正方体搭成的几何体从三个不同方向看得到的形状图,则搭成这样的几何体需要__个小正方体
最佳实践 – 开放搜索对比开源/自建优势
1、某K12教育客户: 某在线教育平台,主打K12教育,用户数千万级别,题库量8千万左右且持续增加,由自建题库和第三方题库两部分组成,之前通过OCR+自建ES搜索服务实现拍照搜索功能,面临的主要问题是搜索准确率待优化提升,降低搜索延迟等问题。
客户反馈:
- 搜题准确率绝对值提升5%;
- 延时从100ms-300ms降到稳定50ms;
- 离线数据同步大于4000TPS;
2、某高职教育客户:某聚焦在大学生搜题领域的在线教育公司,产品DAU300W,月活1000W,业务高峰期日均搜题PV过亿。
客户反馈:
- 对比自建系统高峰搜索耗时>2s,开放搜索稳定搜索耗时50ms,同比下降40倍;
- TOP5题目搜索准确率平均提升2.4%;
- 搜索无结果率从高于40%降低至不到1%;
- 业务高峰期秒级平滑扩容,解决高并发搜索需求;
如果您对搜索与推荐相关技术感兴趣,欢迎加入钉钉群内交流
【开放搜索】新用户活动:阿里云实名认证用户享1个月免费试用