算法专家解读 | 开放搜索教育搜题能力和实践

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
推荐全链路深度定制开发平台,高级版 1个月
智能开放搜索 OpenSearch向量检索版,4核32GB 1个月
简介: 达摩院算法专家--徐光伟(昆卡)聚焦在线教育行业的拍照搜题场景,介绍如何应用开放搜索来构建更高搜索性能及搜题准确率的搜题系统,从而助力在线教育行业客户掌握更高层次用户体验的获客工具。

讲师:徐光伟(昆卡)--阿里云达摩院算法专家

视频地址:https://developer.aliyun.com/live/246649

教育搜题解决方案地址:https://www.aliyun.com/page-source/data-intelligence/activity/edusearch

开放搜索简介-引擎优势

开放搜索(OpenSearch)是基于阿里巴巴自主研发的大规模分布式搜索引擎搭建的一站式智能搜索业务开发平台,通过内置各行业的查询语义理解、机器学习排序算法等能力,提供充分开放的算法及引擎能力,助力开发者快速搭建更高性能、更高搜索基线效果的智能搜索服务。

其搜索引擎采用阿里自研的整套搜索工程体系-AIOS系统,支撑着阿里系包含淘宝、天猫、lazada、闲鱼、优酷、菜鸟、盒马等全部的搜索场景,在稳定性和工程效率上都是行业领先水平。

AI?OS1.0

会场

Lazada

天猫

拍立淘

淘宝

DLTrainings

Open

ES

闲鱼

AIRec

AE

优酷

&Olap

Search

Jarvis,MobileAI-os

KMonitor

Drogo

AutoUmars

CloudConsoles

AOP

Hawkeye

RankingProducts

Torch

RTP

DII

HA3

TPP

iGraph

SP

PAI-TF

WSearch

Dolphin

AutoScale

RecRecall

Search

Interence

AIOps

Blink

Sophon

Blink

Store

Sync

CM2

lndexlib

BuildService

Service

Carbon

Bahamut

NativeYarn

Swift

StatelessServiceLayer

Suez.AIOnlineFramework

DeployExpress

AIOnlineServing

TisPlus.consoeftorEnoneers

OfflineinOnline

Themis

HippoOnlineElasticSchduig(Migratingoarn)

(HippoConsole)

Sigma,UniversalBatchResourceAllocation

开放搜索简介-算法优势

开放搜索(OpenSearch)在算法上集成达摩院NLP(自然语言处理)团队的核心技术,NLP Foundations 中的词法分析、句法分析、语义分析、文本分析、deep learning 技术都处于业界领先。通过对各行业智能语言处理的深入研究,在开放搜索的行业应用中产品化落地。


NLP-ENabledAlibabaDigitalBusinessOperatingSstem

NLP

NLP

Rccommen

Customcr

Personal

Engincering

NewRctail

Advcrtising

Search

Logistics

Medical

Financc

Servicc

Applications

dation

Asistant

Visualization

Requiremcnts

ContentScarch

KnowledgeGraph

TextUndcrstanding

Anti-Spam

MachineTranslation

QucstionAnswcring

Management

Rccommendation

NLP

SocialMedia

Uscr

TextGencration

DialogChatbot

DiscourscAnalysis

ScntimcntAnalysis

ImagctoText

Analysis

Techniqucs

Managcmcnt

Knowledge

Language

CrossLiNgUalIR

AddressParsing

IntcntionDetcction

TopicDetection

Idcntification

Reasoning

Monitoring

DecpLeamming

SyntacticalAnalysis

SemanticAnalysis

LexicalAnalysis

TextAnalysis

Systcm

Maintenance

Depende-

Word2

Eycnt

Constitu-

Classificat

Graph2

Tokeniza

SRL

POS

Clustcring

WSD

Vec

VEC

Mining

tion

ncy

ency

ion

NLP

Annotation

Parsing

Parsing

Foundations

Center

Hicrarchical

Scmantic

Topic

Spelling

Bchavior

Intcntion

PretrainedLanguagc

NER

Rcprescntation

Classification

Modcl

Check

Clustering

Model

Model

Tnining

Ccntcr

NLP

Knowledge

Multilingual

Tokcn&POS

Multilingual

Entity

Domain

Muluilingual

Evaluation

Language

Graph

Trccbank

Dictionary

KnowledyeBasc

Corpus

Data

Corpus

Data

Corpus

Ccntcr

达摩院NLP算法加持的智能搜索系统

教育搜题-业务背景

近几年在线教育行业飞速发展,根据2020中国移动互联网教育学习APP行业月活用户规模TOP10的统计,月活前十中针对K12教育的APP有6个,具备搜题场景的APP有5个;说明了搜题功能在教育行业的的重要性。

(数据来源:QuestMobile<2020中国移动互联网年度大报告>)


工具型的产品能力,它是用来帮助产品获得大量的用户和流量,从而为其他的业务提供变现能力。在线教育行业中拍照搜题作为产品掠取流量最重要的工具,抓住了家长、学生辅导和解题上需求,为其他的业务变现提供源源不断的流量。正是由于这样的定位,搜题的准确性和效率变得更加重要,将直接影响品牌的口碑和用户粘性。

教育搜题-业务特点

算法需求

海量题库

场景丰富

需要强大的算法算力支撑,提升

覆盖不同阶段学习,用户场景越

海量题库且持续增长,数据库

搜题准确性

来越丰富,学科分类众多

压力大

依赖多模态搜索能力来解决图文

存在高峰时段集中,用户搜索

数据越来越复杂,搜索存在跨学

搜索需求

科错误

并发量大

依赖多语言处理能力来处理英语

搜索延迟直接影响用户体验

等其他语言搜题需求

海量题库

客户的题库一般都是千万甚至亿级别,而且还在快速持续的增长。同时搜题业务存在比较明显的高峰现象。在平时的晚上787到8点,尤其是周末的最后一天或者是节假日的最后一天。QPS存在很明显的高峰,具备高弹性和低延迟的云搜索,云搜索能力就成为了客户的首选。

场景丰富

搜题的场景越来越丰富,涵盖不同的年级,比如低年级出现比较多的像看图识字、连线题等,这种需要图片信息的,还有包含不同的学科,现在已有的学科已经超过10个,这些丰富的场景都会对搜索效果产生影响。

算法需求

因为搜集产品一般只会展现top 3到top5的1个结果,对于准确性的要求极高,同时还会依赖一些多模态和多元的算法能力来解决图文搜索和多元处理的需求。

开放搜索如何提供精准高效、稳定的一站式搜题解决方案

OpenSearch

文档召回

干预功能

题库

引肇索引

查询分析理解

输入交互

批量配置

题目文本

API

词权重

文本索引

教育行业分词器

同义词

搜索框

题目图片

干预词典

拼写纠错

类目预测

OCR识别

图片向量素引

同义词

Query改写

词权重

公式索引

学科

拼写纠错

难度

...

召回结果

排序定制

质量分

文本相关性(精排)

文本召回(祖排)

向量召回(祖排)

热度

类目相关性(精排)

图片相关性(精排)

语义相关性(精排)

业务运营报表

  • 左边:用户拍照题目,经过OCR识别之后的文本,通过中间的开放搜索(OpenSearch )引擎得到Top 3-5的召回结果进行展示;
  • 右边:客户题库,开放搜索会严格保证客户数据的安全和隐私;
  • 中间:开放搜索(Open Search )引擎部分包含了文档召回、排序定制和干预功能三大模块

开放搜索Query处理流程

Query处理流程:

类目预测

Tem分析

OCR结果

Query改写

查询Query

query处理

分词/去停用词

同义词改写

学科预测

纠错/关键词识别

类目改写

题型预测

命名实体识别

意图改写

查询语义理解

案例说明:

教育搜题定制分词器

搜题场景分词难点:

  1. 英文题目,ocr 识别之后的空格缺失;
  2. 数学题目latex公式表示之后的切分;


解决方法:

  • 针对第一个问题,收集千万级K12英文语料训练语言模型,即便对超长的英文连写也可以精准切分;

  • 针对第二个问题,利用开放搜索自带的分词干预能力将latex表示中的运算符号预处理;

   

类目预测-学科、题型分类

什么是类目预测?

  简单来说,用户输入一个query,查询得到一批商品,通过计算每一个商品所属的类目与query之间的相关度,只要商品的排序公式中引用了这个相关度,那么对于这个商品来说,它所属的类目与query的相关度越高,它的排序公式的计算结果就获得了越高的排序得分,从而这个商品就会排在越前面。


教育行业中的应用

  • 结合输⼊的图⽚信息和OCR识别之后的结果预测输⼊题⽬的学科类别、题目类型;
  • 预测各⽂本⽚段的字段类型(题干描述、选项等等);

词权重分析

功能介绍:该功能主要分析了查询中每一个词在文本中的重要程度,并将其量化成权重,权重较低的词可能不会参与召回。这样可以避免当用户输入的查询词中包含一些权重低的词时,仍然按用户输入的查询词限制召回,导致命中结果过少。

功能用途Query丢词、改写、文本相关性分析;


1. 基于用户行为生成训练数据

首先是基于querydock 点击行为去构建点击图,然后利用vpc 计算法得到TOM 之间的一个重要度偏训

2. 词权重模型训练

  • 在进行规划之后得到训练数据利用序列标注模型去预测每一个特用的权重;
  • 预测标签(7,4,1), 分值越⾼表⽰term的重要性越⼤, 召回结果更准确;


示例:

35的因数有(),100以内24的倍数有

query

()

17111111417

41

对应权重分

11

此题目中"因数"和"倍数"的权重分最高7分,参与召回的权重也就最高,其次是"35"

和"24*为4分,其他权重分为1分的,不参与召回

Query改写-干预功能

开放搜索除了已经内置的这些算法能力同时还支持用户的批量干预::词典、拼写纠错,同义词,词权重等;


示例:

  1. OCR识别可能会把一些非题目要素识别进来干扰query分析的结果,这时候可以使用词权重干预的方式保证非题目要素字段被打标成低权重,保证召回和排序效果;
  2. 用户可以自定义同义词来扩召回,例如“立方米” -> “吨”;

教育搜题排序定制

系统开放了两阶段排序过程:基础排序和业务排序,即粗排和精排;基础排序即是海选,从检索结果中快速找到质量高的文档,取出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倍以上。

-1...1

cosine-simlu,

0.8

0.6

QPYHeaY

0.4

pooling

pooling

tentOR

0.2

BERT

BERT

textAND

SimiloritySearch

textAnD+SimilaritySearch

---

SentenceA

SentenceB

0.0

MWW

numoftopkinSimilaritySearch

效果:

  1. 召回率达到OR逻辑
  2. 准确性超出OR逻辑3%-5%
  3. 整体召回doc数量减少40倍,latency降低10倍以上

多路召回-文本向量多路召回

多路召回优势:

   文本召回和语义向量召回的结合在搜题场景已经验证有效,开放搜索的多路召回架构还将有更多的使用空间:图片向量召回、公式召回、个性化召回

   除了开放搜索内置的向量模型,我们也将支持客户自己的向量索引,欢迎客户和我们一起深耕搜题算法优化。

搜题案例效果展示

案例1:搜题query:"张慧研所指与小磁大概相近的是乐府之音

开放搜索召回结果

旧版自建召回结果

张惠言所指与"小词"大概相近的是

某歌舞团独唱演员张慧月工资

top1

乐府之音.

5800元,2006年6月,张慧参加

了该团在上海的3场演出,得到

3800元报酬...

张慧研对音乐的喜好源于...

张惠言所指与"小词"大概相近的是

top2

乐府之音.0

下列选项中属于张惠言所指与"小

下列文献中,属于张慧老师在中

top3

词"大概相近的是0.

国音乐期刊上发表文章的引证

文献是

案例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%;
  • 业务高峰期秒级平滑扩容,解决高并发搜索需求;

如果您对搜索与推荐相关技术感兴趣,欢迎加入钉钉群内交流

image.png

【开放搜索】新用户活动:阿里云实名认证用户享1个月免费试用

https://free.aliyun.com/product/opensearch-free-trial

目录
相关文章
|
4天前
|
算法 决策智能
基于禁忌搜索算法的VRP问题求解matlab仿真,带GUI界面,可设置参数
该程序基于禁忌搜索算法求解车辆路径问题(VRP),使用MATLAB2022a版本实现,并带有GUI界面。用户可通过界面设置参数并查看结果。禁忌搜索算法通过迭代改进当前解,并利用记忆机制避免陷入局部最优。程序包含初始化、定义邻域结构、设置禁忌列表等步骤,最终输出最优路径和相关数据图表。
|
2月前
|
存储 人工智能 自然语言处理
算法、系统和应用,三个视角全面读懂混合专家(MoE)
【8月更文挑战第17天】在AI领域,混合专家(MoE)模型以其独特结构成为推动大型语言模型发展的关键技术。MoE通过动态选择专家网络处理输入,实现条件计算。稀疏型MoE仅激活部分专家以减少计算负担;软MoE则加权合并专家输出提升模型稳定性。系统层面,MoE优化计算、通信与存储,利用并行化策略提高效率。在NLP、CV、推荐系统等领域展现强大应用潜力,但仍面临训练稳定性、可解释性等挑战。[论文链接: https://arxiv.org/pdf/2407.06204]
189 63
|
17天前
|
大数据 UED 开发者
实战演练:利用Python的Trie树优化搜索算法,性能飙升不是梦!
在数据密集型应用中,高效搜索算法至关重要。Trie树(前缀树/字典树)通过优化字符串处理和搜索效率成为理想选择。本文通过Python实战演示Trie树构建与应用,显著提升搜索性能。Trie树利用公共前缀减少查询时间,支持快速插入、删除和搜索。以下为简单示例代码,展示如何构建及使用Trie树进行搜索与前缀匹配,适用于自动补全、拼写检查等场景,助力提升应用性能与用户体验。
35 2
|
5天前
|
存储 算法 C++
【搜索算法】 跳马问题(C/C++)
【搜索算法】 跳马问题(C/C++)
|
5天前
|
人工智能 算法 Java
【搜索算法】数字游戏(C/C++)
【搜索算法】数字游戏(C/C++)
|
1月前
|
数据采集 算法 物联网
【算法精讲系列】阿里云百炼SFT微调实践分享
本内容为您提供了百炼平台SFT微调的实践案例,帮助您方便并快速借助模型微调定制化您自己的专属模型。
|
2月前
|
DataWorks 算法 调度
B端算法实践问题之配置脚本以支持blink批处理作业的调度如何解决
B端算法实践问题之配置脚本以支持blink批处理作业的调度如何解决
32 1
|
2月前
|
SQL 算法 Serverless
B端算法实践问题之使用concat_id算子获取用户最近点击的50个商品ID如何解决
B端算法实践问题之使用concat_id算子获取用户最近点击的50个商品ID如何解决
18 1
|
2月前
|
存储 SQL 消息中间件
B端算法实践问题之设计一套实时平台能力如何解决
B端算法实践问题之设计一套实时平台能力如何解决
32 1
|
2月前
|
存储 SQL 算法
B端算法实践问题之Blink在实时业务场景下的优势如何解决
B端算法实践问题之Blink在实时业务场景下的优势如何解决
35 1

相关产品

  • 智能开放搜索 OpenSearch