公司背景
虫虫音乐是一家版权乐谱分发平台,致力于专业打造音乐教育和乐谱版权登记发行,拥有强大的年轻用户群体,为不同的音乐爱好者提供学习和出售作品的平台,提供了上传乐谱、版权登记、发行出售等服务。
搜索业务背景
客户痛点:
- 当前搜索服务依赖于传统数据库,存在模糊查询不够灵活,性能一般问题,导致搜索召回效果不好,搜索成功率<70%, 用户体验欠佳;
- 搜索效果的优化,需要专业的算法工程师,自行实现开发成本较高;
- 重点面向专业的音乐人士,搜索流量占站内流量较高比重,打造高质量的搜索效果对业务至关重要;
客户需求:
- 乐谱搜索的形式较为多样,用户可以通过"曲谱名称","歌手名称",“作者”,“调性”,"难易度"等多维度从乐谱库中进行复合搜索,例如: 后来 完整指法 C调 刘若英 初学者优先;
- 提供query改写功能,如拼写纠错、同义词等;
- 可对召回的结果更细粒度的打分,并以文档得分对召回结果排序展示;
- 提高搜索召回点击率,提升业务转化能力;
开放搜索解决方案:
搜索服务架构图:
搜索能力解析
1. 查询语义理解:
• 开放搜索具备通用行业分词能力,预设好的query改写功能配置简单易上手,无需开发,使用方便,可快速响应搜索优化需求;
• 自定义词权重干预词典,满足同一字段多个分词参与召回的权重高低不同的业务需求,提高用户搜索成功率;
例如:同一query中曲谱的名字:“后来”,曲谱的调性:“C调”,曲谱的作者:“刘若英”,可以自定义干预分词的term的权重;
2. 排序优化:
无需依赖开发工程师,也可以使用表达式实时调整排序结果;
• 基础排序(粗排):即是海选,从检索结果中快速找到质量高的文档,取出TOP N个结果再按照精排进行精细算分,基础排序对性能影响比较大;
• 业务排序(精排):对最终排序效果影响比较大,对粗排的结果做更精细筛选,支持任意复杂的表达式和语法;
• 相关函数应用
static_bm25:静态文本相关性,用于衡量query与文档的匹配度
normalize :归一化函数,根据不同的算分将数值归一化至[0, 1]
first_phase_score : 获取粗排表达式最终计算分值
3. 搜索引导功能:
对业务目标转化起到很好的铺垫作用;
• 下拉提示:搜索中引导功能,在用户输入查询词的过程中,基于用户文档内容的query智能抽取,智能推荐候选query,提高用户输入效率,帮助用户尽快找到想要的内容。
• 热词:搜索前引导功能,热词处于搜索引擎整个工作流程的最上游,越上游的环节,对于达成业务目标有着越重要的决定作用,结合运营策略对提升业务目标可以有比较大的发挥空间.
热词模型配置流程:内置成熟高级算法功能,无需自行编写定制;
客户心声
使用开放搜索后,不仅满足了业务的搜索需求,还提升了用户体验,从而实现业务目标的快速转化;
- 相比之前,搜索成功率从70%提高到了97%,精准命中用户需求;
- CTR增长超过150%;
- 从数据库迁移到OpenSearch后,搜索速度得到了1倍以上的提升;
- 大大提升了数据库的性能,减轻了数据库压力;
- 团队无需再配置工程架构类开发和系统运维,降低了人力成本,省心省力;
以上就是影音行业“虫虫音乐”在阿里云开放搜索上的应用实践,如果您对搜索与推荐相关技术感兴趣,欢迎加入钉钉群内交流~
【开放搜索】新用户活动:阿里云实名认证用户享1个月免费试用https://free.aliyun.com/product/opensearch-free-trial