更多深度文章,请关注云计算频道:https://yq.aliyun.com/cloud
作者介绍:Kamil Sindi、Nir Yungster,数据科学家
Linkedin:https://www.linkedin.com/in/kamilsindi/zh-cn
Linkedin:https://www.linkedin.com/in/nir-yungster-b5367b37/zh-cn
JW Player为视频发布商提供的核心服务之一是可提供更高参与度,观看时间和观看者保留率的重要推荐。 对于使用此服务的数千个发布商,这直接转化为增加的广告费用,因此是我们的数据科学团队的算法改进的主要焦点。
由于我们没有收到观众的明确反馈关于他们是否喜欢一段内容或他们喜欢的程度,因此我们的工作依赖于构建隐式信号,并使用它们将用户和媒体相互关联。 通常,我们通过媒体被共同观看(即由同一观看者观看)来推断媒体之间的关联。合理的下一步是使用像关联规则挖掘(Association Rule Mining)这样的信号转化为“喜欢X也喜欢Y”的人的推荐,或者使用一种协同过滤方法与潜在的代表观众和视频生成个性化推荐。
我们可以将参数超出查看行为的参数无缝集成到我们的推荐引擎(如视频和用户元数据)中,并且它提供了一个灵活的平台,可以适应我们服务的广泛发布商。 另外,这种移位还给予我们克服许多推荐算法的缺点的机会:即在近似实时地以在线方式更新表示的同时学习内容之间的非对称关联(例如在情景视频的情况下)的缺点。
为此,由Bryan Perozzi等人开发的称为DeepWalk的算法通过学习图中的节点的向量表示来实现上述目标。 在我们的例子中的节点是单独的视频,它们之间通过共边看频率和近因加权。然而,没有限制要求图形是对称的,事实上,我们通过使边缘定向来保持共同观察行为的连续性。 换句话说,如果观看者观看媒体A,接着观看媒体B,则我们将从节点A向节点B添加定向权重,而不是相反。
DeepWalk通过以预定数量的步骤从每个节点随机游走来学习这些表象。它巧妙地将每次运行作为一个可以送入一个单词表示算法的“句子”,如由Mikolov等人开发的Word2Vec。
DeepWalk作者有一个很好的Python实现,但不幸的是,它有点过时(2014年),不容易使用在线学习。为了帮助大家,我们开发了一个基于Cython的DeepWalk实现,具有以下功能:
•关联图表示为存储器效率的稀疏矩阵。 使用稀疏矩阵具有两个优点:一.我们可以基于时间衰减不断地更新权重。二.我们可以使用存储器视图在Cython中进行随机游走,这比在Python中的数量级更快。
•该模型可以在线训练,很大程度上得益于GENSIM近期发布的允许在线学习Word2vec。
我们在GitHub上以jwalk开源实现。随着复制deepwalk这个最初的目标,我们最终希望添加其他超级参数来控制如何实现运行,以Ad2a Grover等人的Node2Vec类似的方式。
以上为译文
文章原标题《Vectorizing Videos: Leveraging DeepWalk for Video Recommendations》,作者:Kamil Sindi & Nir Yungster,译者:tiamo_zn
文章为简译,更为详细的内容,请查看原文