作者:王新欣
整理:AIFounder
AI算法在云音乐搜索的应用
分为几大模块
分别为歌曲、UGC歌单、评论、社区Mlog、视频、直播
1 用户需求仅仅是一首歌曲?
2 如何理解用户并匹配?
3 如何给用户更好的资源?
4 如何给业务赋能?
基于以上的内容,本文会着重介绍两大模块
1 Query的理解
2 排序模型
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 传统相关性匹配
特点:
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
2.3.1 基于深度模型的语义表征
2.3.2 基于深度模型的语义表征
2.3.3 基于深度模型的语义表征
示例 :
一、背景:1 时序模型特点:刻画 “事件”演进,理解用户兴趣变更;将NLP“时序” 学习,迁移到CTR;不同模型刻画程度不同 2 类似商品,用户的听歌时序,也是在不断演进的 二、优化几点Tip: 1 从用户的角度出发,可以建多条不同兴趣的队列,也可以给业务建 兴趣队列 2 时间的选取上可以进行细分 3 将时间分桶,进行位置“表征”
第一版,点击率1%,收藏率1.5%提升。
背景:1 某场景的体验优化,同时要兼顾业务A的产出 2 效果与业务在一个空间下,差异性:多了一个业务侧的用 户画像、Item画像 3 同样是CTR到CVR的转化,典型的CVR样本稀疏
历程:
样本采取上的改进:
模型改造:
具有区分度:
背景:
1 云音乐内容类型多,用户不同意图、不同时刻,对内容的 需求不同,需要让用户偏好的资源排在首屏、第二屏
2 多内容,具有区分度,又有关联性。内容彼此比较有难度
3 综合页的内容排序具有流量分配的作用。提高效能的同时 也能为业务赋能
多内容排序实例
问题:
用户行为序列是否需要区分不同资源类型?
用户行为序列是否需要区分不同的消费类型?
Transformer Layer Position Embedding表达?
不同模块特征表达, User-Model共享?
实践:
1 User-Model的共享,采用MV-DNN
2 Position Embedding采用logtime的离散化embedding表达
3 序列:用户搜下下的资源消费行为序列+全站消费序列、中长期序列表达
4 采用统一的序列建模,保证资源序列的完整性
内循环(算法体系)带动外循环(业务体系)
原文:https://www.cnblogs.com/lalala-py/p/14408011.html