作者:王新欣

整理:AIFounder

AI算法在云音乐搜索的应用

一、云音乐介绍

1.1 关于云音乐

1.2 云音乐-内容

分为几大模块

分别为歌曲、UGC歌单、评论、社区Mlog、视频、直播

1.3 云音乐-搜索

1 用户需求仅仅是一首歌曲?

2 如何理解用户并匹配?

3 如何给用户更好的资源?

4 如何给业务赋能?

1.4 云音乐搜索框架概览

基于以上的内容,本文会着重介绍两大模块

1 Query的理解

2 排序模型

二、Query理解体系 - 搜索的基石

2.1 Query理解体系的演进

2.1.1 意图识别:深度学习对意图识别的完善

为什么做意图识别?不同意图,对应不同的域,召回的内容相关与否,直接影响用户体验云音乐query意图占比 6月份为例,当时,依然有51%的query意图不明

云音乐的Query量千万级别,人工标注耗时耗力 ,如何快速扩展?需要借助技术来实现

2.1.2 意图识别 - 扩展样本

举例:

2.1.3 意图识别 - 在线识别

线上预测:TextCnn , Fasttext, LSTM, RCNN, C-LSTM , XLNet +TextCNN ,Bert +ABSA

使用:Fasttext.

优点:鲁棒性更强,速度快,精度高。

2.1.4 使用异质图网络HGAT做意图识别

步骤:

1、通过用户行为,异质图构建

2、使用Bert进行初始化

3、使用邻居节点表示当前节点

4、节点分类

 

2.1.5 Tag类示例

2.2 相关性计算、匹配

2.2 传统相关性匹配

特点:

1)纯字面匹配 - 无法得到语义层面的信息

2)引擎侧可以支持一定模糊度 - 但泛化能力较差,人工经验多

3)经常会出现召回的内容差的情况

4)排序侧,人工设计特征:字段、匹配度等

2.3 基于点击的相关性演进

2.3.2 基于点击的相关性—Graph Embedding

 

  • Graph Embedding简述

    • 目标:节点以低维稠密向量的形式进行表达

    • 认为:图中相似,映射到低维度空间相似

    • 图中每个圆圈代表一个节点

  • 音乐搜索场景的应用

    • query和item抽象为图中的节点,通过用户行为连接

    • 应用:

2.3.2 Graph Embedding —Node2vec

那该怎么控制走向呢?

游走结果示例:

2.3.2 Graph Embedding —Node2vec

基于边的权重进行随机游走

一、过程 对每个节点n有 Repeat 1 以n0为初始点,根据边的权重选择一个与之连接的节点neighbor1 加入walk中

2 以walk队列中最后的那个作为起始,持续1的动作

3 根据指定条件终止

二、权重计算 (共同决定:希望walk节点内聚,相关性高 ) α: 控制广度、深度优先的偏执系数 α

w:实现差异化的节点与节点之间的权重w

深、广度作用:

深度优先:防止walk掉头,促使walk走向更远的地方 广度优先:促进游走不断的回头,去访问上一步结点的其他邻居结点(云音乐)

2.3.2 Graph Embedding —Node2vec

使用word2vec训练节点向量

总结

1、假设节点、query分布一致,符合模型 理论基础,适合Emb计算

2、转成word2vec计算embedding,获取 相关性

3、霍夫曼树层次softmax的分类树,减少 分类的所需的资源

4、与DeepWalk相比,因为边的权重控制, 模型受离群点影响小,更具内聚性

2.3.2 Graph Embedding —Node2vec

3 表征:基于深度模型的语义表征

2.3.1 基于深度模型的语义表征

2.3.2 基于深度模型的语义表征

2.3.3 基于深度模型的语义表征

示例 :

三、内容体系

3.1 排序模型演进

3.2排序模型—深度时序模型

一、背景:1 时序模型特点:刻画 “事件”演进,理解用户兴趣变更;将NLP“时序” 学习,迁移到CTR;不同模型刻画程度不同 2 类似商品,用户的听歌时序,也是在不断演进的 二、优化几点Tip: 1 从用户的角度出发,可以建多条不同兴趣的队列,也可以给业务建 兴趣队列 2 时间的选取上可以进行细分 3 将时间分桶,进行位置“表征”

第一版,点击率1%,收藏率1.5%提升。

3.3 排序模型—联合学习

背景:1 某场景的体验优化,同时要兼顾业务A的产出 2 效果与业务在一个空间下,差异性:多了一个业务侧的用 户画像、Item画像 3 同样是CTR到CVR的转化,典型的CVR样本稀疏

历程:

样本采取上的改进:

模型改造:

具有区分度:

3.4排序模型—多资源排序

背景:

1 云音乐内容类型多,用户不同意图、不同时刻,对内容的 需求不同,需要让用户偏好的资源排在首屏、第二屏

2 多内容,具有区分度,又有关联性。内容彼此比较有难度

3 综合页的内容排序具有流量分配的作用。提高效能的同时 也能为业务赋能

多内容排序实例

3.5 排序模型—多资源排序(BST-MVDNN)

问题:

  1. 用户行为序列是否需要区分不同资源类型?

  2. 用户行为序列是否需要区分不同的消费类型?

  3. Transformer Layer Position Embedding表达?

  4. 不同模块特征表达, User-Model共享?

3.6排序模型—多资源排序(BST-MVDNN)

实践:

1 User-Model的共享,采用MV-DNN

2 Position Embedding采用logtime的离散化embedding表达

3 序列:用户搜下下的资源消费行为序列+全站消费序列、中长期序列表达

4 采用统一的序列建模,保证资源序列的完整性

四、思考

内循环(算法体系)带动外循环(业务体系)

4.1 内循环带动外循环

4.2 内循环

4.3 外循环

AI算法在云音乐搜索的应用相关推荐

  1. 音乐雷达 shazam算法_shazam等音乐搜索应用程序的工作背后,创建您自己的音乐搜索应用程序...

    音乐雷达 shazam算法 Ever wondered how your favorite music searching app works?. Well, this is the correct ...

  2. 预测《权游》角色生死,AI算法魔力何在?

    早在2016年,<权力的游戏>第六季播出之前,慕尼黑工业大学(TUM)的学生就开发了一款AI应用程序,来预测剧中人物的存活情况. 近两年之后,<权力的游戏>第八季,也就是最后一 ...

  3. 阅面携手英特尔发布“繁星”的背后,是AI算法“端”和“云”之争

    随着端算力的提升,云主要的作用一定会回归它的本质,就是存储. 今年11月,阅面科技与英特尔发布"繁星"系列产品,集成了传感器.ISP,并在Intel Movidius芯片100 G ...

  4. 腾讯AI Lab「云深」与成都先导合作「AI+药物」,发布骨架跃迁新算法

    感谢阅读腾讯AI Lab微信号第131篇文章.本文将介绍腾讯AI Lab「云深」联合成都先导发布骨架跃迁新算法,实验合成7个有效化合物. 腾讯AI Lab「云深」平台在药物发现 AI 算法研究领域取得 ...

  5. (只此一篇便绝b能懂的)五子棋AI算法原理,博弈树、极大极小搜索、αβ剪枝

    我在最近撰写五子棋AI程序设计报告时,翻阅了很多的资料博客,但却发现大佬们的博客,没有一篇是能让我只看它就能理解全部的AI算法.在看了众多博客后,我终于对博弈树.极大极小搜索.αβ剪枝恍然大悟,其实这 ...

  6. 象棋ai算法(极小-极大值搜索、负极大值函数、Alpha-Beta剪枝算法、渴望算法)

    ai的思考过程是怎样的?自然就是遍历所有的可能,找出相对最好的一种着法.我们首先要实现这个功能,之后再优化算法,使得效率更高. 本文介绍的算法: 极小-极大值搜索 负极大值函数 Alpha-Beta剪 ...

  7. python算法教程百度云_如何用免费GPU学习AI算法?这篇算法资源大集锦别错过

    飞桨开发者投稿 上一次写了篇薅GPU百度AI Studio计算资源的文章,收到很多AI算法初学者私信,问我能不能补充一些AI Studio的学习资源.有求必应向来是我的风格,于是我加入了AI Stud ...

  8. 近200万奖金!仅限在校生!DIGIX全球校园AI算法大赛来了

    Datawhale赛事 主办方:江苏省人工智能学会.华为 2021 DIGIX全球校园AI算法精英大赛由江苏省人工智能学会.华为终端云服务.华为南京研究所共同举办.大赛自2019年启动以来,将AI理论 ...

  9. 艰难就业季,2020 AI算法岗春招汇总 面经大全来了!!!

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 受疫情影响,很多家企业纷纷推迟复工.但是,今年的春招并没有因此耽搁,很多企业纷纷发 ...

最新文章

  1. 自动换行的draw2d标签
  2. 如何从机器学习数据中获取更多收益 1
  3. 什么是真正的架构设计?
  4. 指令寻址方式与数据寻址方式
  5. flume简介(大数据技术)
  6. 在阿里淘系6个月能有哪些收获成长?
  7. Android RecyclerView(九)滑动监听综述
  8. difftime C语言,C语言中difftime函数如何使用time_t*
  9. 数据结构(C++)—— 向量(Vector)
  10. [转载] 20个常用Python库及200个第三方库
  11. 大话西游版《我叫小沈阳》
  12. 计算机专业初试,2019初试-计算机专业基础综合-考试大纲
  13. 扫描无法传送到计算机,文件无法从复印机扫描到电脑?可能是以下操作您没有注意到...
  14. Xuxiang Qi--Deep Learning based Semantic Labelling of 3D Point Cloud in Visual SLAM
  15. html地图导航代码例子,js 实现百度地图导航例子
  16. CC++:计算某年某月的1号是星期几
  17. keep怎么生成运动轨迹_KEEP的另类使用技巧——旅行记录
  18. 锵锵三人行:AWS,下个路口见
  19. CF1284E·New Year and Castle Construction
  20. 常见安全产品系统默认口令

热门文章

  1. Jenkins-API
  2. Android Hander post与sendMessage的区别
  3. Python中partial的使用
  4. 2021年全球无线天线收入大约6724.2百万美元,预计2028年达到14740百万美元
  5. The Thirty-fifth Of Word-Day
  6. python爬虫需要cookie_python爬虫(六) Cookie
  7. UVA10635--Prince and Princess
  8. Java学习-数据操作高级篇
  9. Linux | 文件类型说明
  10. 参数估计(二)----极大后验概率估计