基于用户兴趣学习的个性化广告推送方法与系统 技术领域 本发明涉及图像处理领域, 特别涉及一种基于用户兴趣学习的个性化广告推送方 法与系统。
背景技术 近年来, 互联网上的视频数目在迅速增加, 而这些海量视频的存在极大地促进了 在线视频广告等服务的发展。目前, 已经有多种基于不同准则将视频和广告关联的方法在 视频网站和视频播放软件中投入了使用。一般来说, 这些方法主要强调对预定义广告的推 送, 包括 :
1) 时域插入广告。如附图 1(a) 所示, 指在视频的开头缓冲、 中途暂停或结尾播放 一段预定义的广告, 形式可以为图片、 视频等。
2) 周边关联广告。如附图 1(b) 所示, 指当视频播放时, 在视频播放器的周边 ( 如 网页、 播放器边框 ) 显示预定义广告。
3) 部分叠加广告。 如附图 1(c) 所示, 指在视频的部分内容上叠加小型广告 ( 图片 或简单的 FLASH), 通常不影响视频主要部分。
目前, 以上三种广告推送的方法都得到了广泛的应用。然而这些广告推送的效果 并不理想, 比如第 1 种方法播放广告时, 用户常常处于浏览其他网页的状态, 降低了广告效 果; 第 2 种方法虽然干扰较小, 但广告常常被作为网页背景而忽视 ; 第 3 种方法则在一定程 度上影响了用户正常的观看体验。而最主要的问题在于, 上述推送的广告与内容的关联程 度一般较低, 且不能满足每个用户个性化的兴趣需求, 因此广告所达到的效果较差。
发明内容
本发明实施例提供一种基于用户兴趣学习的个性化广告推送方法和系统, 用以解 决现有的推送广告与内容的关联程度低, 且不能满足每个用户个性化兴趣需求的问题。
本发明实施例提供了一种基于用户兴趣学习的个性化广告推送方法, 包括 :
通过多任务排序学习得到多个用户兴趣模型 ;
根据所述用户兴趣模型, 在视频中提取兴趣物体 ;
提取所述兴趣物体的多种视觉特征, 根据所述视觉特征在广告库中检索相关的广 告信息。
本发明实施例还提供了一种基于用户兴趣学习的个性化广告推送系统, 包括 :
兴趣模型学习模块, 用于通过多任务排序学习得到多个用户兴趣模型 ;
兴趣物体提取模块, 用于根据所述用户兴趣模型, 在视频中提取兴趣物体 ;
广告检索模块, 用于提取所述兴趣物体的多种视觉特征, 根据所述视觉特征在广 告库中检索相关的广告信息。
由上述技术方案可知, 本发明实施例利用多任务排序学习算法获得用户兴趣模 型, 并在此基础上针对不同用户自动提取视频中的兴趣区域, 然后使用兴趣区域进行广告信息关联。通过这样的方式提供的广告不仅和视频内容紧密相关, 而且从一定程度上满足 了用户的个性化要求, 实现了个性化的广告推送。 附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本 发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以 根据这些附图获得其他的实施方式。
图 1 为现有的广告推送方法示意图 ;
图 2 为本发明实施例提供的基于用户兴趣学习的个性化广告推送方法流程示意 图;
图 3 为本发明实施例提供的用户兴趣模型学习流程示意图 ;
图 4 为本发明实施例提供的视频兴趣物体提取流程示意图 ;
图 5 为本发明实施例提供的在视频兴趣物体提取流程中获取的关键帧的兴趣度 分布示意图 ;
图 6 为本发明实施例提供的基于用户兴趣学习的个性化广告推送系统示意图 ; 图 7 为本发明实施例提供的基于图 6 所示系统的数据流动示意图 ; 图 8 为依据本发明实施例提供的方法和系统生成的广告推送效果示意图。具体实施方式
下面结合附图对本发明的具体实施例作进一步详细的说明。
在本发明提供的实施例中, 系统首先根据预先收集的内容各异的场景集合与用户 对这些场景的兴趣反馈, 采用一种多任务排序学习算法训练得到用户兴趣模型, 并同时得 到场景分类及用户分类。 包括场景底层视觉特征提取、 场景和用户初始随机分类、 兴趣模型 参数计算等步骤。 然后, 系统在播放视频的同时检测关键帧, 根据在模型学习过程中得到的 场景类别, 将关键帧所对应的场景分类, 再由各用户的兴趣模型分别计算生成兴趣度图。 最 后, 利用区域生长的方法, 从兴趣度图中生成一个兴趣度较高的区域作为兴趣物体, 并根据 其多种特征在广告信息库中检索相关广告, 最后输出带个性化广告的视频流。 其中, 兴趣物 体的特征反映物体不同角度不同层次的视觉特性, 包括但不限于颜色、 结构、 轮廓、 纹理特 征, 优选地, 本发明实施例中提取兴趣物体的 HSV 颜色直方图、 Gabor 直方图、 SIFT 直方图、 视纹特征。同时检索方法为一种快速匹配算法, 并且对于不同特征采取不同的匹配方法。
图 2 为本发明实施例提供的基于用户兴趣学习的个性化广告推送方法的流程示 意图。如图 2 所示, 本实施例可以包括以下步骤 :
步骤 201、 兴趣模型学习 : 通过多任务排序学习算法得到多个用户兴趣模型。
其中, 如图 3 所示, 该步骤进一步包括 :
步骤 2011、 获取各种场景以及用户对各场景的兴趣反馈。
具体地, 所述场景可以包括多个方面的主题, 比如广告、 新闻、 卡通、 电影等。用户 可以通过简单的交互, 在这些场景中标注出兴趣物体。由于即使在相同的场景中, 不同用 户的感兴趣点也不一样, 因此可以用如下方式来表征场景集合、 用户集合及它们之间的联系:
代表包含 K 个场景的场景集合, 其中 Sk 表示第 k 个场景 ; 代表包含 M 个用户的用户集合, 其中 Um 表示第 m 个用 两者之间的联系通过 表 示。 其 中 当且仅当户;
用 户 Um 对 场 景 Sk 进 行 了 交 互 并 标 注 出 兴 趣 物 体。 假 设 场 景 Sk 被 划 分 成 宏 块 的 集 合 则用户 Um 在场景 Sk 上标注的兴趣物体 系可以引出另一个二值集合 宏块 ski 属于用户标注的兴趣物体 其中 和场景 Sk 中宏块的关 当且仅当场景 Sk 中的第 i 个的一部分。
步骤 2012、 从局部和全局两方面提取各场景中各宏块的底层视觉特征。
具体地, 将每个场景划分成宏块的集合, 并计算每个宏块的底层视觉特征。 而整个 场景底层视觉特征可以通过组合宏块的底层视觉特征来得到。在一个实施例中, 可以将场 景划分成 16 乘 16 大小的宏块, 并提取多尺度多视觉通道中的局部对比度特征, 作为每个宏 块的底层视觉特征。 同时, 通过计算宏块与其所在的整个场景的多种视觉统计特性的差异, 以获得宏块的全局视觉特征。
对 于 宏 块 Ski, 设 xki 代 表 其 特 征 向 量, 那 么 对 于 一 个 场 景 Sk, 代表了其所有宏块的特征向量集合。利用该集合, 可以通过某种组合变换得 在一个实施例中, vk 定义为场景各宏 这个模型能到场景整体的特征向量 vk 和兴趣物体的特征向量块的特征向量的期望和标准差, 定义为兴趣物体内各宏块的特征向量的期望和标准差。 因此训练用户兴趣模型的任务就转变成寻找一个模型 ( 或函数 ) 根据场景 Sk 中, 不同的宏块 Ski 的特征向量 xki, 赋于其不同的实数值。 然后对该实数值进行 排序, 设排序结果为 πk(φ) = {φ(xk1), φ(xk2), ......φ(xkn)}, 那么最终目标就是减小 模型输出的排序结果 πk(φ) 和用户反馈的排序结果
的差距。步骤 2013、 将场景和用户随机进行初步分类。
具体地, 所述初步分类可以通过随机划分场景和用户聚类来进行。另一种直观的 方法是根据场景内容的相似性和用户兴趣反馈的相似性对场景和用户分别进行初步分类。 在本实施例中, 场景内容相似通过步骤 302 中得到的场景特征 vk 进行计算, 而用户兴趣相 似通过每个用户选取的兴趣物体特征 进行计算。 初步分类的结果用 α = {αki ∈ {0, 1}} 和 β = {βmj ∈ {0, 1}} 表示, αki = 1 当且仅当 Sk 为第 i 类场景, βmj = 1 当且仅当 Um 为 第 j 类用户。
步骤 2014、 根据两者分类结果, 初始化用户兴趣模型。
具体地, 初始化用户兴趣模型需要先构建待优化的目标函数。目标函数分为两部 分, 在本实施例中, 将其形式化为 :
αki ∈ {0, 1}, 对于任意 k, βmj ∈ {0, 1}, 对于任意 m。7102334118 A CN 102334134
说明书的惩罚损失。如果假设4/7 页其中是兴趣模型参数集合, 是场景分类集合, 是用户分类集合, 为根据先验知识确定 表示为经验损失,场景 Sk 由用户兴趣模型 φij 预测出的兴趣度图与用户 Um 的实际兴趣度图之间的差异, 则经 验损失可以定义为 :
在一个实施例中, 我们可以将定义为 :
其中,是一个线性的用户兴趣模型, 而为其参数向量。上式中, 如果 将其分为四类否则 [x]I = 0。同时, 对于惩罚损失 事件 x 成立, 则 [x]I = 1, 基于先验知识设定的惩罚项之和。即有 :
上式中, εs, εu, εd, εc 等四个加权系数根据在验证数据集上的效果设置。其 中, Ωs 指场景聚类惩罚, 主要计算场景与场景之间特征向量 vk 的差异, 当两个场景有着相 同内容但是却在不同场景分类里, 该惩罚值偏大。 在一个实施例中, 我们将场景聚类惩罚定 义为 :
其中,表示场景特征向量和 之间的余弦距离, [x]+ 表示 max(0, x)。Ωu 指用户聚类惩罚, 主要计算用户所选兴趣物体的特征 的差异, 当相同偏好的用户被分到不同类别时, 该惩罚值变大。在一个实施例中, 我们将用户聚类惩罚定义为 :
其中,表示用户 m0 和 m1 之间的相似度, 定义为 :
上式中, Ts 是一个预定义阈值 ;是一个常数, 用来将归一化到 [0, 1] 范围。Ωd 指模型差别惩罚, 主要计算不同模型在不同情况下的预测损失, 鼓励不同类别 用户模型给出不同的预测。这是因为对于同一类别用户模型, 在不同的场景类别下预测也 不相同。在一个实施例中, 我们将用户聚类惩罚定义为 :
Ωc 指模型复杂度惩罚, 通过计算模型参数模的总和得到, 当采取的模型复杂时,该部分较大。在一个实施例中, 我们将模型复杂度惩罚定义为 :
在模型更新过程中, 我们可以用该惩罚项控制用户和场景分类数, 可以避免产生 过于复杂的模型。
步骤 2015、 在得到的用户兴趣模型基础上依次更新场景分类和用户分类。
步骤 2016、 根据新的场景和用户的分类结果再次训练得到新的用户兴趣模型。
步骤 2017、 判断是否达到预定义迭代次数或目标函数小到一定值?如果是, 则执 行步骤 2018 ; 如果否, 则返回步骤 2015。
步骤 2018、 将最后一次迭代得到的用户兴趣模型, 以及场景与用户的类别作为最 终的用户兴趣模型, 以及场景与用户分类。
需要说明的是, 步骤 2014 中初步计算兴趣模型的依据是尽量减小经验损失。步骤 2015 中更新场景和用户分类是在得到的用户兴趣模型基础上进行的, 比如场景聚类更新可 以根据减小模型预测错误和提高场景之间内容相似性, 而用户聚类更新可以根据已知的兴 趣模型和提高用户之间的偏好相似性。 然后再次由新得到的两者分类计算新的用户兴趣模 型, 重复迭代更新的步骤, 直到满足定义的条件 ( 达到定义的次数或者目标函数值小到一 定程度 )。步骤 2018 之后, 得到的场景和用户分类以及用户兴趣模型就作为以后多任务提 取兴趣物体的依据。
步骤 202、 兴趣物体提取 : 根据用户兴趣模型, 在视频中提取兴趣物体。
其中, 如图 4 所示, 该步骤进一步包括 :
步骤 2021、 检测出视频流中代表性的关键帧作为一个关键场景。
具体地, 通过计算一个视频镜头内所有帧之间的相似度, 并寻找与其他帧相似度 最高的帧, 做为代表性的关键帧。
步骤 2022、 提取当前场景各宏块底层视觉特征并计算出场景整体底层视觉特征。
具体地, 使用和兴趣模型学习过程相同的底层视觉特征, 先分别提取出当前场景 每个宏块的底层视觉特征, 然后计算出场景整体底层视觉特征。 在本实施例中, 采取各宏块 特征的期望与标准方差作为场景整体特征。
步骤 2023、 根据整体底层视觉特征将场景分类。
具体地, 利用步骤 2022 中得到的整体底层视觉特征作为分类该场景的依据, 在已 知的场景类中选择最接近的一类。优选地, 可以训练一个支持向量机进行此分类工作。在 知道当前用户类别和场景类别的前提下, 利用已知的用户兴趣模型就可以对场景中每个宏 块的兴趣程度进行排序。
步骤 2024、 根据用户兴趣模型对场景各宏块的兴趣程度排序。
步骤 2025、 由排序结果映射成每个候选块的兴趣程度, 得到场景兴趣度分布。
具 体 地, 对 步 骤 2024 中 排 序 的 结 果 进 行 映 射, 以便转换成有利于兴趣度图 表示的数值范围, 比如转换为 [0, 1] 之间的小数。在一个实施例中, 对排序后的序号
...N-1} 进行映射, 采取一个值域为 [0, 1] 的四次方函数 Cn ∈ {0, 由此得到场景的兴趣度图, 如图 5 所示。
步骤 2026、 选取全局兴趣度最高的候选块。9进行此映射工作。102334118 A CN 102334134
说明书6/7 页步骤 2027、 用区域生长算法以此生成一块兴趣度较高区域。
需要说明的是, 本步骤中生成兴趣度较高区域的算法并不限于区域生长算法, 也 可以是其他算法。
步骤 2028、 由兴趣区域得到兴趣物体。
通过执行上述步骤, 用户感兴趣的物体被从视频中提取出。
步骤 203、 关联广告检索 : 提取出所述兴趣物体的多种视觉特征, 根据这些特征, 在广告库中检索相关的广告信息。
本发明实施例提供的基于用户兴趣学习的个性化广告推送方法, 利用多任务排序 学习算法获得用户兴趣模型, 并在此基础上针对不同用户自动提取视频中的兴趣区域, 然 后使用兴趣区域进行广告信息关联。通过这样的方式提供的广告不仅和视频内容紧密相 关, 而且从一定程度上满足了用户的偏好, 实现了个性化的广告推送。
如图 6 所示, 本发明实施例还提供了一种基于用户兴趣学习的个性化广告推送系 统, 包括 : 兴趣模型学习模块 61, 兴趣物体提取模块 62 和广告检索模块 63。其中, 兴趣模型 学习模块 61 用于通过多任务排序学习得到多个用户兴趣模型 ; 兴趣物体提取模块 62 用于 根据所述用户兴趣模型, 在视频中提取兴趣物体 ; 广告检索模块 63 用于提取所述兴趣物体 的多种视觉特征, 根据所述视觉特征在广告库中检索相关的广告信息。 进一步地, 所述兴趣模型学习模块 61 还可以包括以下子模块 :
特征提取子模块 611, 用于获取训练数据中的各种场景, 提取所述各场景中各宏块 的底层视觉特征 ;
初始化子模块 612, 用于根据所述底层视觉特征, 随机将用户和场景分别组合为多 个类别, 并为每类用户在每类场景上初始化一个兴趣模型 ;
优化子模块 613, 用于使用初始化后的兴趣模型在训练集上建立损失函数, 作为最 优化目标, 通过最优化算法, 最小化所述损失函数, 进而更新各个兴趣模型参数值, 优化用 户和场景的聚类划分 ;
结果获取子模块 614, 用于获取最终的用户和场景聚类以及多个用户兴趣模型。
进一步地, 所述兴趣物体提取模块 62 还可以包括以下子模块 :
关键帧检测子模块 621, 用于接收输入的视频流, 检测所述视频流中内容具有代表 性的关键帧 ;
特征计算子模块 622, 用于对每一个关键帧, 根据其宏块的底层视觉特征计算出该 关键帧对应场景的整体视觉特征 ;
场景归类子模块 623, 用于根据所述整体视觉特征, 将所述关键帧对应的场景归入 构建用户兴趣模型过程中所划分的场景类别中的其中一类 ;
兴趣度计算子模块 624, 用于根据用户兴趣模型, 计算所述关键帧所在场景的兴趣 度分布图 ;
区域生长子模块 625, 用于通过区域生长算法在所述兴趣度分布图上获得兴趣度 最高的区域, 作为兴趣物体。
图 7 为数据在本发明实施例提供的基于用户兴趣学习的个性化广告推送系统中 各模块之间的流动示意图, 以进一步说明本发明实施例提供的基于用户兴趣学习的个性化 广告推送系统中各模块的连接关系。如图 7 所示 :
在用户兴趣学习的过程中, 预定义场景集合和用户兴趣反馈数据流首先进入特征 提取子模块 611, 特征提取子模块 611 将提取得到的某种底层视觉特征和用户兴趣反馈一 起输入到初始化子模块 612, 初始化子模块 612 对用户和场景进行随机分类, 并根据分类结 果初始化最初的用户兴趣模型, 得到初步随机场景和用户分类及兴趣模型, 然后将这些结 果发送给优化子模块 613, 通过迭代算法进行优化, 以更新兴趣模型的参数, 并更新用户和 场景的分类, 直到达到预定的条件之后, 结果获取子模块 614 从最后的一次迭代结果获得 最终的用户分类结果和场景分类结果, 以及相应的用户兴趣模型 ; 在个性化广告推送过程 中, 关键帧检测子模块 621 接收输入视频流, 检测出内容具有代表性的关键帧, 将该关键帧 输出给特征计算子模块 622 进行关键帧对应场景的整体底层视觉特征计算, 计算出的特征 数据流伴随结果获取子模块 614 提供的信息分别流经场景归类子模块 623 与兴趣度计算子 模块 624, 生成关键帧所在场景的兴趣度分布图, 然后, 区域生长子模块 625 根据兴趣度分 布图输出兴趣物体给广告检索模块 63, 以提取多种视觉特征并检索广告信息库后最终输出 带有个性化广告的视频流。
本发明实施例提供的基于用户兴趣学习的个性化广告推送系统, 利用多任务排序 学习算法获得用户兴趣模型, 并在此基础上针对不同用户自动提取视频中的兴趣区域, 然 后使用兴趣区域进行广告信息关联。通过这样的方式提供的广告不仅和视频内容紧密相 关, 而且从一定程度上满足了用户的偏好, 实现了个性化的广告推送。 依据本发明实施例提供的方法和系统生成的广告推送结果如图 8 所示。
本领域普通技术人员可以理解 : 实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成, 前述的程序可以存储于一计算机可读取存储介质中, 该程序 在执行时, 执行包括上述方法实施例的步骤 ; 而前述的存储介质包括 : ROM、 RAM、 磁碟或者 光盘等各种可以存储程序代码的介质。
最后应说明的是 : 以上实施例仅用以说明本发明的技术方案, 而非对其限制 ; 尽 管参照前述实施例对本发明进行了详细的说明, 本领域的普通技术人员应当理解 : 其依然 可以对前述各实施例所记载的技术方案进行修改, 或者对其中部分技术特征进行等同替 换; 而这些修改或者替换, 并不使相应技术方案的本质脱离本发明各实施例技术方案的精 神和范围。