数据推荐方法、装置、计算机设备以及存储介质
本申请要求于2020年3月2日提交国家知识产权局、申请号为202010137638.5、申请名称为“数据推荐方法、装置、计算机设备以及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及互联网技术领域,尤其涉及数据推荐方法、装置、计算机设备以及存储介质。
背景技术
随着数据信息化的发展,数据量增长快速,用户使用资讯类应用软件查看多媒体信息的频率日益增加,在用户查看多媒体信息时,资讯类应用软件还可以为该用户提供感兴趣推荐信息,如用户在使用资讯类应用软件播放新闻短视频时,可以在新闻短视频播放过程中为该用户推荐感兴趣的商品。
发明内容
本申请实施例一方面提供了一种数据推荐方法,由计算机设备执行,包括:
获取多媒体数据对应的第一标签集合;该第一标签集合包括用于表征多媒体数据的内容属性的标签;
获取待推荐数据集合,获取待推荐数据集合中所包含的待推荐数据对应的第二标签集合;该第二标签集合包括用于表征待推荐数据的内容属性的标签;
获取标签树;该标签树包括具有树形层级关系的至少两个标签,至少两个标签包括第一标签集合中的标签,以及第二标签集合中的标签;
根据第一标签集合中的标签在标签树中的标签位置,以及第二标签集合中的标签在标签树中的标签位置,确定第一标签集合和第二标签集合之间的集合相似度;
根据集合相似度,从待推荐数据集合中确定与多媒体数据相匹配的目标推荐数据。
本申请实施例一方面提供了一种数据推荐装置,包括:
第一获取模块,用于获取多媒体数据对应的第一标签集合;该第一标签集合包括用于表征多媒体数据的内容属性的标签;
第二获取模块,用于获取待推荐数据集合,获取待推荐数据集合中所包含的待推荐数据对应的第二标签集合;该第二标签集合包括用于表征待推荐数据的内容属性的标签;
第三获取模块,用于获取标签树;该标签树包括具有树形层级关系的至少两个标签,至少两个标签包括第一标签集合中的标签,以及第二标签集合中的标签;
第一确定模块,用于根据第一标签集合中的标签在标签树中的标签位置,以及第二标签集合中的标签在标签树中的标签位置,确定第一标签集合和第二标签集合 之间的集合相似度;
第二确定模块,用于根据集合相似度,从待推荐数据集合中确定与多媒体数据相匹配的目标推荐数据。
本申请实施例一方面提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得计算机设备执行本申请实施例中一方面中方法的步骤。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,使得包括该处理器的计算机设备执行如本申请实施例中一方面中方法的步骤。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请实施例提供的一种网络架构图;
图2a和图2b是本申请实施例提供的一种数据推荐场景示意图;
图3是本申请实施例提供的一种数据推荐方法的流程示意图;
图4是本申请实施例提供的一种标签树的示意图;
图5是本申请实施例提供的一种确定集合相似度的示意图;
图6是本申请实施例提供的一种数据推荐系统的结构示意图;
图7a和图7b是本申请实施例提供的一种数据推荐场景示意图;
图8是本申请实施例提供的一种数据推荐装置的结构示意图;
图9是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、 分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本申请实施例提供的方案涉及人工智能领域下属的计算机视觉技术(Computer Vision,CV)、语音技术(Speech Technology)以及自然语言处理(Nature Language processing,NLP)。
计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
语音技术的关键技术有自动语音识别技术(ASR)和语音合成技术(TTS)以及声纹识别技术。让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音成为未来最被看好的人机交互方式之一。
自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。
一般而言,可以从大量的商品数据中随机选择商品,并在用户查看多媒体数据时向该用户推荐上述随机选择的商品。然而,用户往往会选择自己感兴趣的多媒体数据进行查看,在为该用户随机推荐商品的过程中,容易造成推荐的商品与用户所查看的多媒体数据相差太大,会降低推荐商品的准确度。
有鉴于此,本申请实施例提供了一种数据推荐方法、装置、计算机设备以及存储介质,可以提高数据推荐的准确性。
请参见图1,是本申请实施例提供的一种网络架构图。该网络架构可以包括服务器10d以及多个终端设备(如图1所示,具体包括终端设备10a、终端设备10b以及终端设备10c),服务器10d可以通过网络与每个终端设备进行数据传输。
以终端设备10a为例,用户在终端设备10a中的资讯类应用中查看多媒体数据时,终端设备10a可以获取该用户正在查看的多媒体数据,并将获取到的多媒体数据发送至服务器10d。在服务器10d接收到终端设备10a发送的多媒体数据后,服务器10d可以通过网络模型(包括图像识别模型、文本识别模型、文本转换模型等,图像识别模型可以用于识别图像数据中的对象,文本识别模型可以用于提取文本数据中所包含的内容属性,文本转换模型可以用于将音频数据转换成文本数据)提取用于表征多媒体数据的内容属性的标签,根据提取到的标签获取多媒体数据对应的 待推荐数据集合,进而可以通过网络模型提取待推荐数据集合中每个待推荐数据分别对应的标签;通过获取标签数据,根据多媒体数据对应的标签在标签树中的位置,以及待推荐数据对应的标签在标签树中的位置,确定多媒体数据与待推荐数据集合中每个待推荐数据之间的相似度,进而可以根据相似度从待推荐数据集合中确定与多媒体数据相匹配的目标推荐数据。
当然,若终端设备10a集成了图像识别、文本识别、文本转换等功能,也可以直接由终端设备10a中的网络模型提取多媒体数据中的标签,以及待推荐数据集合中每个待推荐数据中所包含的标签,根据标签计算多媒体数据与待推荐数据之间的相似度,进而根据相似度确定出针对用户的目标推荐数据。可以理解地,本申请实施例提出的数据推荐方案可以由计算机设备中的一个计算机程序(包括程序代码)执行,例如该数据推荐方案由一个应用软件执行,应用软件的客户端可以检测用户针对多媒体数据的行为(如播放视频、点击查看新闻资讯等行为),由该应用软件的后台服务器确定出与该多媒体数据相匹配的目标推荐数据。下述均以终端设备如何确定多媒体数据对应的目标推荐数据为例进行说明。
其中,终端设备10a、终端设备10b以及终端设备10c等可以包括手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备(例如智能手表、智能手环等)等。
请参见图2a和图2b,是本申请实施例提供的一种数据推荐场景示意图。如图2a所示,终端设备10a中可以安装资讯类应用软件(该资讯类应用软件中包括文字类资讯、图像类资讯,视频类资讯等),当用户在终端设备10a中查看视频类资讯(如用户选择播放视频20a)时,终端设备10a可以获取该用户正在播放的视频20a以及该视频20a对应的标题20b。可以理解的是,用户在终端设备10a中播放视频20a时,可以在终端设备10a的播放界面中显示当前播放的视频20a、该视频20a对应的标题20b以及该视频20a对应的行为统计数据(如视频20a对应的评论数、点赞数等)。
为了获得用于表征视频20a的内容属性的标签,终端设备10a可以将视频20a中所包含的音频与动画进行分离,进而可以将视频20a中所包含的动画进行分帧处理,得到该视频20a对应的多帧图像;终端设备10a可以将视频20a中所包含的音频进行语音计算,将视频20a中的音频转换成文本。在本申请实施例中,若视频20a中不包含音频,则终端设备10a无需对视频20a进行音频与动画分离,以及音频转换等操作。
由于音频转换成的文本与标题20b均为中文描述的文本,中文语句中没有分隔符来分离语句中的词,因此还需要终端设备10a采用中文分词算法对音频转换成的文本与标题20b分别进行分词处理,得到音频转换成的文本与标题20b分别对应的字符集合。例如,标题20b为:“开着自家汽车出去兜兜风,真是舒服”,采用中文分词算法对标题20b进行分词所得到的字符集合包括:“开着”、“自家”、“汽车”、“兜兜风”、“真”、“是”、“舒服”。其中,中文分词算法可以为基于词典的分词算法、 基于统计的分词算法等,这里不做限定。
由于标题20b所对应的字符集合是采用自然语言描述的,因此终端设备10a可以基于词嵌入(Word Embedding),将字符集合中的每个字符转换为计算机能够理解的词向量,即为字符的一种数值化表示方式,将每个字符转化为固定长度的向量表示。在本申请实施例中,终端设备10a可以将字符集合中的每个字符对应的词向量进行拼接,组合成标题20b对应的文本矩阵。其中,词向量拼接的顺序可以按照字符在标题20b中的位置来确定。
终端设备10a可以获取图像识别模型20c和文本识别模型20d,图像识别模型20c可以提取图像数据中所包含物体的特征,并识别出所识别物体对应的标签;文本识别模型20d可以提取文本数据中的语义特征,并识别出文本数据所对应的标签。图像识别模型包括但不限于:卷积神经网络模型、深度神经网络模型;文本识别模型包括但不限于卷积神经网络模型、循环神经网络模型、深度神经网络模型等。
终端设备10a可以将视频20a对应的多帧图像分别输入至图像识别模型20c中,根据图像识别模型20c提取图像中所包含的内容特征,并对所提取到的内容特征进行识别,确定该内容特征与图像识别模型20c中多个属性标签之间的匹配概率值,根据匹配概率值确定内容特征所属的标签,终端设备10a从多帧图像中所获取到的标签包括:轿车、驾驶员、驾驶;将标题20b以及视频20a中的音频所转换成的文本分别输入至文本识别模型20d,根据文本识别模型20d,可以从标题20b以及音频所转换成的文本中提取视频20a对应的标签:汽车,当然,在文本识别模型20d中也可以确定标签“汽车”对应的匹配概率值。终端设备10a可以将上述图像识别模型20c所提取的标签,以及文本识别模型20d所提取的标签确定为视频20a对应的标签集合a,该标签集合a中可以包括:轿车、驾驶员、驾驶以及汽车,此时的标签集合a也可以称为视频20a对应的内容标签画像。
终端设备10a可以获取关系映射表,终端设备10a可以从关系映射表中获取标签集合a所对应的推荐行业为:汽车行业20e。终端设备10a可以获取上述用户(即在终端设备10a中播放视频10a的用户)对应的用户画像,根据标签集合a与用户画像,在推荐数据库中进行检索,进而可以从推荐数据库中检索出与用户画像相匹配且属于汽车行业20e的业务数据,作为视频20a对应的待推荐数据,将待推荐数据添加至待推荐数据集合20f。其中,关系映射表可以用于存储多媒体数据标签与推荐行业(也可以称为推荐类型)之间的映射关系,该关系映射表可以预先构建,并将预先构建好的关系映射表存储在本地中。当然,还可以将预先构建好的关系映射表存储至云服务器、云存储空间、服务器等。用户画像可以表示为根据用户的属性、用户偏好、生活习惯、用户行为等信息抽象出来的标签化用户模型。推荐数据库中包括所有用于推荐的业务数据(如广告数据)。
终端设备10a可以获取待推荐数据集合20f中的每个待推荐数据分别对应的标签集合,即待推荐数据集合20f中的每个待推荐数据均可以对应一个标签集合,如待推荐数据集合20f中包括待推荐数据1、待推荐数据2、待推荐数据3以及待推荐 数据4等数据时,可以获取到待推荐数据1对应的标签集合为:标签集合1,待推荐数据2对应的标签集合为:标签集合2,待推荐数据3对应的标签集合为:标签集合3,待推荐数据4对应的标签集合为:标签集合4,等等。
可以理解的是,对于推荐数据库中所包含的每个业务数据,均可以包括图像数据和标题,终端设备10a可以预先根据图像识别模型20c和文本识别模型20d,从每个业务数据中提取出相应的标签,得到每个业务数据分别对应的标签集合,并将业务数据以及该业务数据对应的标签集合进行存储。当终端设备10a确定出视频20a对应的待推荐数据集合20f后,可以直接从存储的所有标签集合中获取待推荐数据集合20f中的每个待推荐数据分别对应的标签集合。当然,当存在新的业务数据添加至推荐数据库时,终端设备10a可以根据图像识别模型20c和文本识别模型20d,从新添加的业务数据中提取出相应的标签,得到该新添加的业务数据所对应的标签集合并进行存储;当从推荐数据库中删除某业务数据时,可以从存储的标签集合中删除上述业务数据对应的标签数据。换言之,根据推荐数据库中所包含的业务数据,实时更新所存储的标签集合。
终端设备10a可以获取预先构建的汽车行业标签树20h,该汽车行业标签树20h是通过归纳总结汽车行业中的标签,按照至少四个维度(人,物体,事件,场景)所构建而成的。汽车行业标签树20h中包括具有树形结构的至少两个标签,汽车行业标签树20h中包括待推荐数据对应的标签集合中的标签,汽车行业标签树20h可以包括:汽车品牌、汽车类型、汽车服务等;其中,汽车类型可以包括:轿车、越野车、跑车、商务车、面包车等;按照上述至少四个维度,轿车类型中的人体可以包括:驾驶员、乘客、维修工等,轿车类型中的物体即为轿车,轿车类型中的场景可以包括:4S店、车展、车库、停车场、维修厂等,轿车类型中的事件可以包括:驾驶、维修等。终端设备10a可以获取汽车行业标签树20h中每两个相邻的标签之间的向量相似度,将相邻的两个标签之间的向量相似度确定为上述相邻的两个标签之间的边权重。汽车行业标签树20h中两个相邻标签之间的向量相似度可以通过将标签转换成向量,并计算两个向量之间的距离来确定。
终端设备10a可以根据标签集合a中的标签在汽车行业标签树20h中的标签位置,以及待推荐数据对应的标签集合中的标签在汽车行业标签树20h中的标签位置,确定标签集合a中的标签与待推荐数据对应标签集合中的标签在汽车行业标签树20h中的标签路径,进而通过转换函数,将标签路径中所包含的边权重映射成一个数值,进而将该数值与上述两个标签分别对应的置信度(此处的置信度是指图像识别模型20c或者文本识别模型20d预测相应标签时的匹配概率值)进行累乘,得到两个标签之间的单位相似度。例如,标签集合a中的标签1与标签集合1中的标签2之间的单位相似度计算过程包括:在汽车行业标签树20h中确定标签1与标签2之间的标签路径,通过一个转换函数,将该标签路径中所包含的边权重映射成一个数值,将该数值、标签1对应的置信度以及标签2对应的置信度进行累乘,可以得到标签1与标签2之间的单位相似度。根据单位相似度,可以确定标签集合a与待 推荐数据对应的标签集合之间的集合相似度,如标签集合a与标签集合1之间的集合相似度为:相似度1,标签集合a与标签集合2之间的集合相似度为:相似度2等。终端设备10a可以按照集合相似度从大到小的顺序,对待推荐数据集合20f中所包含的待推荐数据进行排序,从排序后的待推荐数据集合20f中确定与视频20a相匹配的目标推荐数据20j。
如图2b所示,终端设备10a在确定出视频20a对应的目标推荐数据20j后,可以在视频20a中的播放页面中显示目标推荐数据20j。用户可以在视频20a的播放页面中点击目标推荐数据20j,查看目标推荐数据20j的详情信息。当然,终端设备10a可以从排序后的待推荐数据集合20f中选择前K(此处的K为大于或等于1的正整数)个待推荐数据,作为与视频20a相匹配的K个目标推荐数据,终端设备10a可以在视频20a的播放页面中依次展示K个目标推荐数据,如根据视频20a的总时长,平均分配每个目标推荐数据分别对应的展示时长,并按照K个目标推荐数据的排序顺序在播放页面中进行展示;或者可以根据视频20a中正在播放的画面内容确定K个目标推荐数据分别对应的展示顺序和展示时长,这里不做具体限定。
请参见图3,是本申请实施例提供的一种数据推荐方法的流程示意图。如图3所示,该数据推荐方法可以包括以下步骤:
步骤S101,获取多媒体数据对应的第一标签集合;该第一标签集合包括用于表征多媒体数据的内容属性的标签。
具体的,当用户在终端设备的资讯类应用中查看多媒体数据(如上述图2a所对应实施例中的视频20a)时,终端设备(如上述图2a所对应实施例中的终端设备10a)可以获取该用户正在查看的多媒体数据,将多媒体数据输入网络模型中,通过网络模型从多媒体数据中提取内容特征,并对内容特征进行识别,获取内容特征所属的标签,将识别得到的标签添加至第一标签集合。换言之,第一标签集合中包括用于表征多媒体数据的内容属性的标签。其中,多媒体数据包括视频、图像、文本、音频中的至少一种数据类型,如多媒体数据可以为视频数据(如新闻短视频等),或者图像数据(如活动宣传图片等),或者文本数据(如电子书籍、文章等)。
当多媒体数据包括视频数据、音频数据(即上述视频数据中的语音)以及文本数据(即上述视频数据对应的标题)时,终端设备在获取到多媒体数据后,可以对多媒体数据中的视频数据进行分帧处理,得到该视频数据对应的至少两个图像数据,将至少两个图像数据输入至图像识别模型(如上述图2a所对应实施例中的图像识别模型20c),在图像识别模型中获取上述至少两个图像数据分别对应的标签;终端设备可以将视频数据中的文本数据输入至文本识别模型,在文本识别模型中获取文本数据对应的标签;将上述至少两个图像数据分别对应的标签,以及文本数据对应的标签,添加至第一标签集合。对于视频中所包含的语音数据,终端设备可以通过语音识别技术将音频数据转换成文本,并将转换后的文本输入文本识别模型中,通过文本识别模型获取转换后的文本对应的标签,将转换后的文本所对应的标签添加至第一标签集合。
视频数据是由连续的多帧图像构成的,根据视频数据中每秒钟时间里传输的图片帧数,可以将视频数据进行分帧处理,得到视频数据对应的至少两个图像数据。在本申请实施例中,终端设备也可以从视频数据中抽取一部分图像,即每隔一段时间从视频数据中抽取一帧图像,如每0.5秒抽取一帧图像,进而得到视频数据对应的至少两个图像数据。
在本申请实施例中,以图像识别模型是卷积神经网络为例,对至少两个图像数据的标签提取过程进行具体说明:将至少两个图像数据分别输入卷积神经网络中,根据卷积神经网络中的卷积层从图像数据中获取内容特征,进而通过卷积神经网络中的分类器对内容特征进行识别,确定内容特征与分类器中多种属性特征之间的匹配概率值(也可以称为置信度),将最大匹配概率值对应的属性特征所属的标签确定为图像数据对应的标签。其中,卷积神经网络中可以包括多个卷积层和多个池化层,卷积层与池化层进行交替连接,通过卷积层的卷积运算以及池化层的池化运算,可以提取出图像数据中的内容特征。卷积层对应至少一个卷积核(kernel,也可以称为滤波器,或者称为感受野),卷积运算是指卷积核与位于输入矩阵不同位置的子矩阵进行矩阵乘法运算,卷积运算后的输出矩阵的行数H
out和列数W
out是由输入矩阵的大小、卷积核的大小、步长(stride)以及边界填充(padding)共同决定的,即H
out=(H
in-H
kernel+2*padding)/stride+1,W
out=(W
in-W
kernel+2*padding)/stride+1。H
in,H
kernel分别表示输入矩阵的行数和卷积核的行数;W
in,W
kernel分别表示输入矩阵的列数和卷积核的列数。根据池化层对卷积层的输出矩阵进行池化运算,池化运算是指对提取出来的输出矩阵进行聚合统计,池化运算可以包括平均池化运算和最大池化运算。平均池化运算方法是在输出矩阵的每一个行(或者是列)中计算出一个平均数值代表该行(或者列);最大池化运算是在输出矩阵的每一个行(或者是列)中提取出最大数值代表该行(或者列)。
对于视频数据中所包含的音频数据,首先可以将音频数据中的静音进行切除,对切除静音的音频数据进行声音分帧,即使用移动窗口函数将切除静音的音频数据切分为一帧一帧的音频,每帧音频的长度可以为一个固定值(如25毫秒),且每两帧音频之间可以存在交叠;进而可以提取每帧音频中所包含的特征,即将每帧音频转换成包含声音信息的多维向量;随后,可以对每帧音频分别对应的多维向量进行解码,得到音频数据对应的文本。
终端设备可以将多媒体数据中的文本数据(包括视频数据的标题和音频数据转换成的文本)划分为多个单位字符,并将每个单位字符转换为单位词向量。终端设备可以基于隐马尔科夫模型(Hidden Markov Model,HMM)对文本数据对应的词序列进行标注,进而根据标注序列对文本数据进行切分,得到多个单位字符。HMM可以由一个五元组来描述:观测序列、隐藏序列、隐藏态起始概率(即起始概率)、隐藏态之间转换概率(即转移概率)和隐藏态表现为观测值的概率(即发射概率)。其中,起始概率、转移概率和发射概率可以通过大规模语料统计来得到。从隐藏态初始状态出发,计算下一个隐藏态的概率,并依次计算后面所有的隐藏态转移概率, 最终将概率最大的隐藏状态序列确定为隐藏序列,即序列标注结果。例如,文本数据为“我们是中国人”,基于HMM可以得到序列标注结果为:BESBME(B代表该字是词语中的起始字,M代表是词语中的中间字,E代表是词语中的结束字,S则代表是单字成词),由于句尾只可能为E或者S,所以得到的切词方式为:BE/S/BME,进而得到文本数据“我们是中国人”的切词方式为:我们/是/中国人,得到的多个单位字符分别为:“我们”、“是”、“中国人”。当然,文本数据也可以是采用英文等语言描述的,那么文本数据对应的词序列中,单词之间以空格作为自然分界符,可以直接进行切分,处理过程比较简单。
随后,终端设备可以从字符词袋中查找出每个单位字符对应的独热码(one-hot code)。其中,字符词袋中包括文本数据中的一系列单位字符,以及每个单位字符分别对应的独热码,独热码是向量中只包含一个1,其余均为0的向量。如上述实例,文本数据对应的多个单位字符分别为:“我们”、“是”、“中国人”,字符词袋中仅包含上述三个单位字符时,单位字符“我们”在字符词袋中的独热码可以表示为:[1,0,0];单位字符“是”在字符词袋中的独热码可以表示为:[0,1,0];单位字符“中国人”在字符词袋中的独热码可以表示为:[0,0,1]。可见,若直接使用独热码作为单位字符的单位词向量表示,无法学习到每个单位字符之间的关系(如在文本数据中的位置以及语义等关系),且在字符词袋中包含很多单位字符时,使用独热码表示的单位词向量的维数会很大。因此,终端设备可以获取单位词向量转换模型,将高维度的独热码,降低为低维度的词向量,基于单位词向量转换模型中的隐含层对应的权重矩阵,将输入的第一初始向量与该权重矩阵相乘,相乘后得到的向量即为单位字符对应的单位词向量。其中,单位词向量转换模型可以是根据word2vec(词向量转换模型)、GloVe(词嵌入工具)训练得到的,权重矩阵的行数等于独热码的维数,权重矩阵的列数等于单位词向量的维数。例如,单位字符对应的独热码的大小为:1×100,权重矩阵的大小为:100×10,则单位词向量的大小为:1×10。
终端设备可以将文本数据中每个单位字符分别对应的词向量输入文本识别模型(如上述图2a所对应实施例中的文本识别模型20d)中,根据文本识别模型可以从输入的词向量中提取语义特征,通过对语义特征进行识别,可以得到语义特征所属的标签,即文本数据对应的标签。当然,通过文本识别模型也可以获取文本数据所属标签对应的匹配概率值,也可以称为置信度。
终端设备可以将至少两个图像数据分别对应的标签与文本数据对应的标签,都添加至第一标签集合,该第一标签集合即为多媒体数据对应的标签集合。
步骤S102,获取待推荐数据集合,获取待推荐数据集合中所包含的待推荐数据对应的第二标签集合;该第二标签集合包括用于表征待推荐数据的内容属性的标签。
具体的,终端设备可以获取多媒体数据对应的目标用户,获取目标用户对应的用户画像,根据用户画像与推荐类型,在推荐数据库中进行数据检索,将检索得到的业务数据确定为待推荐数据,将待推荐数据添加至待推荐数据集合,从推荐数据 标签库中获取待推荐数据对应的标签,添加至第二标签集合。其中,推荐数据库包括用于推荐的所有业务数据;推荐数据标签库用于存储推荐数据库中的业务数据对应的标签;业务数据可以是指用于推荐的商品数据、电子读物、音乐数据等;推荐类型可以是指业务数据对应的行业类型,如教育行业、汽车行业、服装行业等;用户画像可以是指基于用户偏好、用户行为等信息所确定的,例如业务数据为商品数据时,用户画像可以基于用户偏好以及用户在电商平台中的购买、浏览、关注等信息所确定。
应当理解的是,终端设备可以预先构建所有多媒体数据标签与推荐类型之间的关系映射表,在获取到多媒体数据对应的第一标签集合后,可以根据该第一标签集合,从关系映射表中获取与第一标签集合对应的推荐类型,进而可以从推荐数据库中获取与用户画像相匹配且属于上述推荐类型的业务数据作为待推荐数据,并将获取到的所有待推荐数据构成待推荐数据集合。在获取到待推荐数据集合后,可以从推荐数据标签库中直接获取待推荐数据集合中的待推荐数据所对应的标签,以得到每个待推荐标签数据分别对应的第二标签集合。例如,若第一标签集合中包括汽车标签,则终端设备可以根据关系映射表,将第一标签集合映射到汽车行业,即第一标签集合对应的推荐类型为汽车行业;根据汽车行业和用户画像,对推荐数据库进行检索,将推荐数据库中与用户画像相匹配且行业为“汽车行业”的业务数据构成待推荐数据集合,此时待推荐数据集合中所包含的业务数据即为待推荐数据;进而可以从推荐数据标签库中获取待推荐数据对应的第二标签集合。
为了提高数据推荐的效率,终端设备可以预先提取推荐数据库中所包含的业务数据对应的标签,并将每个业务数据分别对应的标签存储至推荐数据标签库,该推荐数据标签库可以存储在终端设备本地中,也可以将推荐数据标签库存储在数据库中,还可以将推荐数据标签库存储在用于数据推荐的服务器、云服务器、云存储空间、存储空间等设备中。业务数据中也可以包音频、图像、文本中的至少一种数据类型,对于业务数据中所包含的图像数据,可以将图像数据输入至图像识别模型,通过图像识别模型从图像数据中提取相应的标签;对于业务数据中所包含的文本数据(可以包括上述图像数据的标题,若业务数据中包括音频数据,可以将音频数据转换成文本数据),可以将文本数据输入至文本识别模型,通过文本识别模型从文本数据中提取相应的标签,将图像识别模型和文本识别模型所提取到的同一业务数据的标签进行存储。其中,音频数据转文本数据的过程、图像识别模型以及文本识别模型提取标签的过程均可以参考上述步骤S101中的描述,这里不再进行赘述。
在本申请实施例中,当推荐数据库中添加了新的业务数据时,终端设备可以获取新业务数据对应的标签,并将新业务数据对应的标签存储至推荐数据标签库;当推荐数据库中删除了某业务数据(如该业务数据已经从电商平台中下架)时,终端设备可以从推荐数据标签库中将该业务数据对应的标签进行删除。
在本申请实施例中,终端设备也可以在获取到多媒体数据对应的待推荐数据集合后,通过图像识别模型和文本识别模型提取待推荐数据集合中的每个待推荐数据 分别对应的第二标签集合,即终端设备可以实时提取待推荐数据对应的标签。
步骤S103,获取标签树;该标签树包括具有树形层级关系的至少两个标签,至少两个标签包括第一标签集合中的标签以及第二标签集合中的标签。
具体的,终端设备在获取到多媒体数据对应的第一标签集合以及待推荐数据集合中所包含的待推荐数据对应的第二标签集合后,可以获取标签树(如上述图2a所对应实施例中的汽车行业标签树20h)。该标签树中可以包括具有树形层级关系的至少两个标签,标签树所包含的至少两个标签中可以包括第一标签集合中的标签以及第二标签集合中的标签。换言之,终端设备可以用树形结构来表征上述至少两个标签,树形结构具有数据存储冗余度小、直观性强、检索遍历过程简单高效的特点。标签树可以是指包含多个业务行业的标签体系,也可以是指某个单一业务行业的标签体系。
请一并参见图4,是本申请实施例提供的一种标签树的示意图。如图4所示,以教育类的标签树为例进行说明。可以按照至少四个维度(人体,物品,事件,场景)对教育行业下的标签进行梳理,得到教育行业标签树。在教育行业标签树中,可以包括职业教育(非学历机构)、早期教育、基础教育(非学历教育)、才艺培训(非学历机构)、学历教育(学历机构)以及教育综合平台职业教育(非学历结构)等父节点标签;职业教育(非学历机构)节点标签可以包括电子商务、办公软件、互联网技术编程、影音制作/平面设计、职业管理、投资理财以及其它技能培训等子节点标签;每个子节点标签均可以包括人体、物品、事件以及场景等至少四个维度下的标签,如职业管理节点标签下可以包括职业规划、就业指导、职场技能、企业培训以及创业指导等标签,按照人体、物品、事件以及场景等至少四个维度,职业规划、就业指导、职场技能、企业培训以及创业指导等标签对应的人体包括培训者、被培训者等,对应的物体可以包括正装、简历、获奖证书等,对应的场景可以包括会议室、培训室等,对应的事件可以包括交谈面试等。教育行业标签树中的职业教育(非学历机构)、早期教育、基础教育(非学历教育)、才艺培训(非学历机构)、学历教育(学历机构)以及教育综合平台职业教育(非学历结构)等父节点标签均可以包括上述至少四个维度下的标签。
在本申请实施例中,在创建了标签树后,可以通过客户端将标签树上传至区块链网络,由区块链网络中的区块链节点将标签树打包成区块并写入区块链中。终端设备可以从区块链中读取标签树。区块链中所存储的标签树不可篡改,可以提高标签树的稳定性以及有效性。
其中,区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链在本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理 模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
步骤S104,根据第一标签集合中的标签在标签树中的标签位置,以及第二标签集合中的标签在标签树中的标签位置,确定第一标签集合和第二标签集合之间的集合相似度。
具体的,终端设备可以根据第一标签集合中的标签在标签树中的标签位置,以及第二标签集合中的标签在标签树中的标签位置,确定第一标签集合与第二标签集合之间的集合相似度。在本申请实施例中,当标签树为包含多个业务行业的标签体系时,终端设备可以从关系映射表中提取出第一标签集合对应的推荐类型(也可以称为与第一标签集合相匹配的业务行业),根据推荐类型,从标签树中确定与推荐类型对应的子标签树,根据第一标签集合中的标签在子标签树中的标签位置,以及第二标签集合中的标签在子标签树中的标签位置,确定第一标签集合和第二标签集合之间的集合相似度。例如,假设标签树中包括汽车行业、教育行业、服装行业以及饮品行业等多个行业中的标签,当从关系映射表中获取到与第一标签集合相匹配的推荐类型为汽车行业时,终端设备可以从标签树中确定汽车行业对应的子标签树,该子标签树中所包含的标签均为汽车行业中的标签元素。
下面对第一标签集合和第二标签集合之间的集合相似度的计算过程进行具体说明。
终端设备可以获取标签树中所包含的标签,生成标签树中每个标签分别对应的词向量,进而获取标签树中相邻的两个标签对应的词向量之间的向量相似度,将向量相似度确定为标签树中相邻的两个标签之间的边权重。换言之,由于标签树中所包含的标签为自然语言描述的文本字符串,则终端设备可以基于词嵌入(Word Embedding),将标签树中所包含的所有标签均转换为相应的词向量,通过计算词向 量之间的向量相似度,得到标签树中每两个相邻的标签之间的边权重。标签树中每两个相邻的标签之间的边权重是保持固定不变的。例如,标签树中包括汽车标签和跑车标签,可以将汽车标签映射成词向量v1,将跑车标签映射成词向量v2,通过计算词向量v1和词向量v2之间的向量相似度,可以得到汽车标签和跑车标签之间的边权重。其中,计算向量相似度的方法包括但不限于:曼哈顿距离(Manhattan Distance)、欧氏距离(Euclidean Distance)、余弦相似度(Cosine Similarity)、马氏距离(Mahalanobis Distance)。
在本申请实施例中,标签树可以表示为:
其中,T
AC表示为标签树,X可以表示为标签树T
AC中所包含的节点标签的总数量,t
x可以表示为标签树T
AC中的任一节点标签,wt
x可以表示为节点标签t
x对应的重要性权重,
可以表示为节点标签t
x与节点标签t
r之间的边权重,节点标签t
x与节点标签t
r为标签树T
AC中的相邻节点标签。
第一标签集合可以表示为:CL={(c
i,wc
i)|i=1,2,…,n},其中,CL表示为多媒体数据对应的第一标签集合,n可以表示为第一标签集合CL中所包含的标签的总数量,c
i可以表示为第一标签集合CL中的任一标签,wc
i可以表示为第一标签集合CL中标签c
i对应的置信度。
待推荐数据集合中可以包括k个待推荐数据,每个待推荐数据均可以对应一个第二标签数据集合,即终端设备可以获取k个第二标签数据集合,可以表示为{S
k|k=1,2,…,},k为正整数。对于第二标签数据集合S
k,可以表示为:S
k={t
j|t
j∈T
AC,j=1,2,…,m},其中,m可以表示为第二标签集合S
k中所包含的标签的总数量,第二标签集合S
k中所包含的标签t
j均属于标签树T
AC。需要说明的是,标签树T
AC中节点标签对应的重要性权重与k个第二标签集合中标签对应的置信度相关联。换言之,在计算第一标签集合CL和第二标签集合S
k之间的集合相似度时,标签树T
AC中节点标签的重要性权重由第二标签集合S
k中所包含的标签对应的置信度所确定。举例来说,标签树T
AC中包括6个节点标签(即X=6),该6个节点标签节点分别为:标签t
1、标签t
2、标签t
3、标签t
4、标签t
5以及标签t
6;第二标签集合S
k中包括3个标签(即m=3),该3个标签分别为:标签t
1、标签t
3以及标签t
5;在计算第一标签集合CL和第二标签集合S
k之间的集合相似度时,此时标签树T
AC中的标签t
1、标签t
3以及标签t
5分别对应的重要性权重即为第二标签集合S
k中3个标签分别对应的置信度,标签树T
AC中的标签t
2、标签t
4以及标签t
6对应的重要性权重为0。因此,计算第一标签集合CL与不同的第二标签集合之间的集合相似度时,对于第一标签集合CL中的标签c
i与第二标签集合S
k中的标签t
j,当标签c
i与标签树T
AC中的某节点标签相同时,可以根据标签c
i在标签树T
AC中的标签位置,以及标签t
j在标签树T
AC中的标签位置,在标签树T
AC中确定标签c
i与标签t
j之间的标签路径,根据标签路径所包含的边权重、标签c
i对应的置信度(也可以称为第一置信度,此处的第一置信度是为了与标签t
j对应的置信度进行区分)以及标签t
j对应的置信度(也可以称为第二置信度),得到标签c
i与标签t
j的单位相似度(即两个标签之间的相似度)。当标签c
i与 标签树T
AC中节点标签t
x相同时,标签c
i与标签t
j之间的单位相似度的计算方式如公式(1)表示:
其中,F(c
i,t
j)可以表示为标签c
i与标签t
j之间的单位相似度,
可以表示为标签c
i与标签t
j在标签树T
AC中的标签路径集合,在该标签路径集合
中可以包括p条标签路径,
表示为标签c
i与标签t
j之间的第q条标签路径,标签路径
由标签t
j与节点标签t
x(即标签c
i在标签树T
AC中对应的节点标签)之间的边权重构成;
用于表示标签c
i与标签树T
AC之间的从属关系,当标签c
i属于标签树T
AC时,
为1;当标签c
i不属于标签树T
AC时,
为0,表明在标签树T
AC中不存在标签c
i与标签t
j之间的路径,即此时的标签c
i可能属于其余标签树,在其余标签树中,同样可以根据公式(1)确定标签c
i与其余标签树中的节点标签之间的单位相似度;f(·)表示转换函数,转换函数f(·)的主要作用在于将路径标签所包含的边权重进行累乘,即将路径标签所包含的边权重映射成一个数值,也可以称为路径权重。通过计算标签c
i对应的置信度、标签t
j对应的置信度以及每条标签路径分别对应的路径权重三者之间的乘积,可以得到p个计算结果,终端设备可以从p个计算结果中选择最大值作为标签c
i与标签t
j之间的单位相似度。
为了计算第一标签集合CL与第二标签集合S
k之间的集合相似度,终端设备需要根据上述公式(1),计算第一标签集合CL中的每个标签与第二标签集合S
k中的每个标签之间的单位相似度,进而可以从标签c
i与第二标签集合S
k的所有标签之间的单位相似度中,选择最大的单位相似度作为标签c
i与第二标签集合S
k之间关联权重,具体可以如公式(2)所示:
F(c
i,S
k)=max{F(c
i,t
j)|t
j∈S
k,j=1,2,…,m} (2)
其中,F(c
i,S
k)表示标签c
i与第二标签集合S
k之间关联权重。例如,当第二标签集合S
k中包括标签t
1、标签t
2以及标签t
3三个标签时,通过公式(1)计算得到第一标签集合CL中的标签c
1与标签t
1之间的单位相似度为:相似度1,标签c
1与标签t
2之间的单位相似度为:相似度2,标签c
1与标签t
3之间的单位相似度为:相似度3;根据上述公式(2)可以从相似度1、相似度2以及相似度3中选择最大值作为标签c
1与第二标签集合S
k之间的关联权重。
在计算出第一标签集合CL中的每个标签分别与第二标签集合S
k之间的关联权重后,终端设备可以将第一标签集合CL中的每个标签分别与第二标签集合S
k之间的关联权重进行累加,将累加之后的值确定为第一标签集合CL与第二标签集合S
k之间的集合相似度,具体可以如公式(3)所示:
F(CL,S
k)=sum{F(c
i,S
k)|c
i∈CL,i=1,2,…,n} (3)
其中,F(CL,S
k)表示第一标签集合CL与第二标签集合S
k之间的集合相似度。例如,当第一标签集合CL中包括标签c
1、标签c
2以及标签c
3三个标签时,根据上述公式(2)可以计算得到标签c
1与第二标签集合S
k之间的关联权重为:权重1,标签c
2与 第二标签集合S
k之间的关联权重为:权重2,标签c
3与第二标签集合S
k之间的关联权重为:权重3,终端设备可以将权重1、权重2以及权重3进行累加,将累加之后的值作为第一标签集合CL与第二标签集合S
k之间的集合相似度。
根据上述公式(1)、公式(2)以及公式(3),可以确定第一标签集合CL分别与k个第二标签集合之间的集合相似度。
请一并参见图5,是本申请实施例提供的一种确定集合相似度的示意图。如图5所示,多媒体数据对应的标签集合为第一标签集合CL,该第一标签集合CL中包括n个标签,分别表示为标签c
1、标签c
2、…、标签c
n,其中,标签c
1对应的置信度为wc
1、标签c
2对应的置信度为wc
2、…、标签c
n对应的置信度为wc
n;在多媒体数据对应的待推荐数据集合中可以包括k个待推荐数据,每个推荐数据均对应一个标签集合,第二标签集合S
k中包括m个标签,分别表示为标签t
1、标签t
2、…、标签t
m,其中,标签t
1对应的置信度为wt
1、标签t
2对应的置信度为wt
2、…、标签t
m对应的置信度为wt
m。终端设备可以根据上述公式(1)计算第一标签集合CL中的每个标签分别与第二标签集合S
k中的m个标签之间的单位相似度,如标签c
1与标签t
1之间的单位相似度、标签c
1与标签t
2之间的单位相似度、标签c
1与标签t
m之间的单位相似度等。
终端设备可以根据上述公式(2)确定第一标签集合CL中的每个标签分别与第二标签集合S
k之间的相似度(此时的相似度也可以称为相关权重),如标签c
1与第二标签集合S
k之间的相关权重,标签c
2与第二标签集合S
k之间的相关权重,标签c
n与第二标签集合S
k之间的相关权重等,进而可以根据上述公式(3)确定第一标签集合CL与第二标签集合S
k之间的集合相似度,此时的集合相似度即为多媒体数据与第二标签集合S
k对应的待推荐数据之间的相似度。终端设备可以根据上述处理过程确定多媒体数据分别与待推荐数据集合中的每个待推荐数据之间的相似度。
步骤S105,根据集合相似度,从待推荐数据集合中确定与多媒体数据相匹配的目标推荐数据。
具体的,终端设备可以根据集合相似度,将待推荐数据集合中满足预设条件的待推荐数据作为与多媒体数据相匹配的目标推荐数据,其中,预设条件可以包括但不限于:预设的数量条件(如目标推荐数据的数量不超过10),预设的相似度阈值条件(如集合相似度大于或等于0.8)。
终端设备可以根据集合相似度,对待推荐数据集合中所包含的待推荐数据按照集合相似度从大到小的顺序进行排序,从排序后的待推荐数据中,按照排序顺序获取目标推荐数据,将目标推荐数据展示给所述多媒体数据对应的目标用户。当然,目标推荐数据可以是指待推荐数据集合中具有最大集合相似度的待推荐数据,也可以是指排序后的待推荐数据集合中的前L个待推荐数据,L为大于1的正整数。
在本申请实施例中,多媒体数据为视频数据的场景下,终端设备可以实时检测目标用户的行为操作,当终端设备检测到目标用户针对视频数据的播放操作时,可以获取目标用户所播放的视频数据,在确定出与视频数据相匹配的目标推荐数据后, 可以在该视频数据的播放页面中显示目标推荐数据。对于视频播放页面中所显示的目标推荐数据,目标用户可以在播放页面中点击查看所展示的目标推荐数据的详情信息。
请参见图6,是本申请实施例提供的一种数据推荐系统的结构示意图。当数据推荐方案应用在短视频随播广告推荐场景中时,数据推荐系统可以分为:生成内容标签画像、生成广告标签画像、内容标签-广告标签的相似度计算以及基于内容画像的行业检索。内容标签画像与广告标签画像均是基于同一个标签体系(即标签树),不同的行业可以具有不同的标签体系。
如图6所示,广告画像的生成过程可以包括:获取广告库图片30a,通过图像识别模型对广告库图片30a进行广告特征抽取30b,得到广告库图片30a对应的广告标签,通过广告标签通道30c将提取到的广告标签生成广告库图片30a对应的广告画像,并进行广告画像存储30d。其中,广告标签通道(pipeline)30c可以用于按照标签体系中的人体、物体、场景以及事件等维度对广告标签进行整理,生成广告库图片30a对应的广告画像,并执行广告画像存储30d过程;广告库图片30a即为广告库中所存储的广告图片,广告库可以用于存储所有广告数据。在本申请实施例中,广告数据除了以图片形式进行存储外,还可以包括文本形式的标题描述。对于广告数据中的标题描述,可以通过文本识别模型从标题中提取出广告数据对应的广告标签,将标题中提取出的广告标签与上述广告库图片30a对应的广告标签一同生成广告画像,并进行广告画像存储30d。
内容画像的生成过程可以包括:获取内容数据/文本+短视频30e,通过图像识别模型对短视频进行内容特征抽取30f,提取出短视频中的内容特征,通过文本识别模型对内容数据/文本进行内容特征抽取30f,提取出内容数据/文本中的内容特征,将短视频中的内容特征与内容数据/文本中的内容特征均进行内容特征存储30h。将内容数据/文本+短视频30e对应的内容特征输入内容数据回归器(content profile svr)30j中,根据内容数据回归器30j,可以确定内容数据/文本+短视频30e对应的内容标签,并生成相对应的内容画像。内容更新通道(pipeline)30g可以用于对图像识别模型和文本识别模型所提取到的内容特征进行筛选与合并,得到针对内容数据/文本+短视频30e的更准确的内容特征,并执行内容特征存储30h过程。
基于内容画像的行业检索包括:推荐设备30k可以根据内容标签-行业映射表30i,将内容数据/文本+短视频30e对应的内容标签映射到广告行业中,即从内容标签-行业映射表30i中查询与内容标签相对应的目标广告行业。将广告库中满足用户画像并且属于目标广告行业的广告确定为待推荐广告,将所有待推荐广告构成待推荐广告集合。可以从所存储的广告画像中直接获取待推荐广告对应的广告标签。
内容标签-广告标签相关性表30m中以键值对(key-value)的数据结构存储有所有内容标签与广告标签之间的相关性(即内容标签与广告标签之间的相似度,可以根据上述公式(1)计算得到),通过校准回归器(calibration svr)30n查询内容数据/文本+短视频30e对应的内容标签与待推荐广告对应的广告标签之间的相关性,可以 得到内容数据/文本+短视频30e与待推荐广告之间的相似度(可以根据上述公式(2)和公式(3)计算得到),此时的相似度即为待推荐广告的得分30q,根据每个待推荐广告的得分30q,对所有待推荐广告进行重排序,从重排序的待推荐广告中确定用于展示的目标广告。推荐设备30k可以用于为用户推荐与查看内容具有强相关关系的广告,可以提高所推荐广告与内容数据/文本+短视频30e之间的匹配度。推荐设备(mixer)30k可以是指具有推荐功能的服务器、计算机程序(程序代码)、智能终端、云服务器、客户端等。
请一并参见图7a和图7b,是本申请实施例提供的一种数据推荐场景示意图。如图7a所示,终端设备10a中可以安装资讯类应用软件(该资讯类应用软件中包括文字类资讯、图像类资讯和视频类资讯等),当用户在终端设备10a中查看文本类资讯(如用户选择浏览文章40a)时,终端设备10a可以获取该用户正在浏览的文章40a(包括文章40a的文章标题和文章内容)。由于文章40a中为中文描述的文本信息,因此终端设备10a可以对文章40a中所包含的文本进行分词处理,将文章40a中所包含的文本划分为多个单位字符,每个单位字符可以是指一个独立的字,也可以是指一个词组。
终端设备10a可以基于词嵌入(Word Embedding),将分词之后的多个单位字符均转换为词向量,即将自然语言描述的单位字符转换为计算机能够理解的词向量。终端设备10a可以获取文本识别模型40b,文本识别模型40b可以提取文章40a中的语义特征,并识别出文章40a所对应的标签。文本识别模型包括但不限于卷积神经网络模型、循环神经网络模型、深度神经网络模型等。
随后,终端设备10a可以将文章40a对应的词向量输入文本识别模型40b中,根据文本识别模型40b,可以从输入的词向量中提取出文章40a对应的语义特征,确定该语义特征与文本识别模型40b中多个属性特征(一种属性特征对应一种标签)之间的匹配概率值,根据匹配概率值确定语义特征所属的标签,进而可以确定文章40a对应的第一标签集合包括:护肤品、女人、护肤三个标签。
终端设备10a可以获取关系映射表,从关系映射表中获取第一标签集合所对应的推荐行业为:护肤行业。终端设备10a可以获取上述用户(即在终端设备10a中浏览文章40a的用户)对应的用户画像,根据第一标签集合与用户画像,在广告库中进行检索,进而可以从广告库中检索出与用户画像相匹配且属于护肤行业的所有广告,作为文章40a对应的待推荐广告,将待推荐广告组成待推荐广告集合40d,该待推荐广告集合40d中可以包括广告1、广告2以及广告3。其中,关系映射表可以用于存储文章标签与广告行业之间的映射关系,该关系映射表可以预先构建,并将预先构建好的关系映射表进行存储。
终端设备10a可以获取待推荐广告集合40d中的每个待推荐广告分别对应的标签集合,如广告1对应的标签集合为:标签集合1,广告2对应的标签集合为:标签集合2,广告3对应的标签集合为:标签集合3。可以理解的是,广告库中的所有广告均可以基于图像识别模型、文本识别模型预先提取相应的标签,得到广告库中 每个广告分别对应的标签集合。
终端设备10a可以获取预先构建的护肤行业标签树40e,护肤行业标签树40e的结构形式可以参见上述图4所对应的实施例,这里不再赘述。终端设备10a可以根据护肤行业标签树40e、第一标签集合中的标签所对应的匹配概率值(即置信度)以及待推荐广告的标签集合中标签所对应的匹配概率值,确定第一标签集合中的每个标签分别与待推荐广告的标签集合中每个标签之间的单位相似度(可以根据上述公式(1)计算得到),根据单位相似度,可以确定第一标签集合中的每个标签分别与标签集合1、标签集合2以及标签集合3之间的关联权重(可以根据上述公式(2)计算得到),如标签“护肤品”与标签集合1之间的关联权重为:权重1,标签“女人”与标签集合1之间的关联权重为:权重2,标签“护肤”与标签集合1之间的关联权重为:权重3;进一步地,终端设备可以将权重1、权重2以及权重3相加,将相加之后得到的数值作为第一标签集合与标签集合1之间的集合相似度;同理,可以得到第一标签集合与标签集合2之间的集合相似度,得到第一标签集合与标签集合3之间的集合相似度。若第一标签集合与标签集合1之间的集合相似度最大,则可以将标签集合1对应的广告1确定为与文章40a相匹配的目标推荐广告。
如图7b所示,终端设备10a在确定出文章40a对应的目标推荐广告为广告1后,可以在文章40a中的浏览页面中显示广告1。用户可以在文章40a的浏览页面中点击广告1,查看广告1的详情信息。
本申请实施例可以通过获取多媒体数据对应的第一标签集合,该第一标签集合中所包含的标签均可以用于表征多媒体数据的内容属性,获取多媒体数据对应的待推荐数据集合,并获取待推荐数据集合中所包含的待推荐数据对应的第二标签集合,该第二标签集合中的标签均可以用于表征待推荐数据的内容属性;进而可以获取标签树,根据第一标签集合中的标签在标签树中的标签位置,以及第二标签集合中的标签在标签树中的标签位置,确定第一标签集合和第二标签集合之间的集合相似度,根据集合相似度可以从待推荐数据集合中确定与多媒体数据相匹配的目标推荐数据。可见,本申请实施例可以从多媒体数据中提取出第一标签集合,从待推荐数据中提取出第二标签集合,并基于预先构建的标签树计算第一标签集合与第二标签集合之间的相似度,进而确定出与多媒体数据相匹配的目标推荐数据,可以增强目标推荐数据与多媒体数据之间的匹配度,进而可以提高推荐数据的准确性。
请参见图8,是本申请实施例提供的一种数据推荐装置的结构示意图。该数据推荐装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该数据推荐装置为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。如图8所示,该数据推荐装置1可以包括:第一获取模块10、第二获取模块11、第三获取模块12、第一确定模块13和第二确定模块14;
第一获取模块10,用于获取多媒体数据对应的第一标签集合;该第一标签集合包括用于表征多媒体数据的内容属性的标签;
第二获取模块11,用于获取待推荐数据集合,获取待推荐数据集合中所包含的 待推荐数据对应的第二标签集合;该第二标签集合包括用于表征待推荐数据的内容属性的标签;
第三获取模块12,用于获取标签树;该标签树包括具有树形层级关系的至少两个标签,至少两个标签包括第一标签集合中的标签,以及第二标签集合中的标签;
第一确定模块13,用于根据第一标签集合中的标签在标签树中的标签位置,以及第二标签集合中的标签在标签树中的标签位置,确定第一标签集合和第二标签集合之间的集合相似度;
第二确定模块14,用于根据集合相似度,从待推荐数据集合中确定与多媒体数据相匹配的目标推荐数据。
其中,第一获取模块10、第二获取模块11、第三获取模块12、第一确定模块13和第二确定模块14的具体功能实现方式可以参见上述图3所对应实施例中的步骤S101-步骤S105,这里不再进行赘述。
请一并参见图8,该数据推荐装置1还包括:业务数据输入模块15、标签存储模块16和推荐数据展示模块17;
业务数据输入模块15,用于获取推荐数据库中所包含的业务数据,将业务数据输入至图像识别模型;
标签存储模块16,用于从图像识别模型中获取业务数据对应的标签,将业务数据对应的标签存储至推荐数据标签库;
推荐数据展示模块17,用于当检测到目标用户针对视频数据的播放操作时,将目标推荐数据推荐给目标用户,在视频数据的播放页面中显示目标推荐数据。
其中,业务数据输入模块15和标签存储模块16的具体功能实现方式可以参见上述图3所对应实施例中的步骤S102,推荐数据展示模块17的具体功能实现方式可以参见上述图3所对应实施例中的步骤S105,这里不再进行赘述。
请一并参见图8,多媒体数据包括视频数据以及该视频数据对应的文本数据时,第一获取模块10可以包括:分帧单元101、图像识别单元102、文本识别单元103、标签添加单元104;
分帧单元101,用于获取多媒体数据,对多媒体数据中的视频数据进行分帧处理,得到视频数据对应的至少两个图像数据;
图像识别单元102,用于将至少两个图像数据输入至图像识别模型,在图像识别模型中获取至少两个图像分别对应的标签;
文本识别单元103,用于将多媒体数据中的文本数据输入至文本识别模型,在文本识别模型中获取文本数据对应的标签;
标签添加单元104,用于将至少两个图像分别对应的标签,以及文本数据对应的标签,添加至第一标签集合。
其中,分帧单元101、图像识别单元102、文本识别单元103、标签添加单元104的具体功能实现方式可以参见上述图3所对应实施例中的步骤S101,这里不再进行赘述。
请一并参见图8,第二获取模块11可以包括:用户画像获取单元111、检索单元112、标签获取单元113;
用户画像获取单元111,用于获取多媒体数据对应的目标用户,获取目标用户对应的用户画像;
检索单元112,用于根据用户画像和推荐类型,在推荐数据库中进行检索,将检索得到的业务数据确定为待推荐数据,将待推荐数据添加至待推荐数据集合;推荐数据库包括用于推荐的业务数据;
标签获取单元113,用于从推荐数据标签库中获取待推荐数据对应的标签,添加至第二标签集合;推荐数据标签库用于存储推荐数据库中的业务数据对应的标签。
其中,用户画像获取单元111、检索单元112、标签获取单元113的具体功能实现方式可以参见上述图3所对应实施例中的步骤S102,这里不再进行赘述。
请一并参见图8,第一确定模块13可以包括:类型确定单元131、标签树确定单元132、位置确定单元133、选择单元134、单位相似度确定单元135、关联权重确定单元136、集合相似度确定单元137;
类型确定单元131,用于获取关系映射表,从关系映射表中获取第一标签集合对应的推荐类型;关系映射表用于存储至少两个标签与推荐类型之间的映射关系;
标签树确定单元132,用于根据推荐类型,从标签树中确定推荐类型对应的子标签树;
位置确定单元133,用于根据第一标签集合在子标签树中的标签位置,以及第二标签集合在子标签树中的标签位置,确定第一标签集合和第二标签集合之间的集合相似度;
选择单元134,用于获取第一标签集合中的标签c
i,获取第二标签集合S
k;i为小于或者等于第一标签集合中的标签数量的正整数,k为小于或者等于待推荐数据的数量的正整数;
单位相似度确定单元135,用于根据标签c
i在标签树中的标签位置,以及第二标签集合S
k所包含的标签在标签树中的标签位置,确定标签c
i与第二标签集合S
k中每个标签之间的单位相似度;
关联权重确定单元136,用于将最大的单位相似度确定为标签c
i与第二标签集合S
k之间的关联权重;
集合相似度确定单元137,用于将第一标签集合中每个标签分别与第二标签集合S
k之间的关联权重进行累加,得到第一标签集合与第二标签集合S
k之间的集合相似度。
其中,类型确定单元131、标签树确定单元132、位置确定单元133、选择单元134、单位相似度确定单元135、关联权重确定单元136、集合相似度确定单元137的具体功能实现方式可以参见上述图3所对应实施例中的步骤S104,这里不再进行赘述。
请一并参见图8,单位相似度确定单元135可以包括:获取子单元1351、路径 确定子单元1352、边权重获取子单元1353;
获取子单元1351,用于获取第二标签集合S
k中的标签t
j;j为小于或者等于第二标签集合S
k中标签数量的正整数;
路径确定子单元1352,用于根据标签c
i在标签树中的标签位置,以及标签t
j在标签树中的标签位置,在标签树中确定标签c
i与标签t
j之间的标签路径;
边权重获取子单元1353,用于获取标签树中两个相邻的标签之间的边权重,根据标签路径中所包含的边权重,确定标签c
i与标签t
j之间的单位相似度。
其中,获取子单元1351、路径确定子单元1352、边权重获取子单元1353的具体功能实现方式可以参见上述图3所对应实施例中的步骤S104,这里不再进行赘述。
请一并参见图8,边权重获取子单元1353可以包括:转换子单元13531、边权重确定子单元13532、路径权重确定子单元13533、置信度获取子单元13534、乘积子单元13535;
转换子单元13531,用于获取标签树中所包含的标签,生成标签树中每个标签分别对应的词向量;
边权重确定子单元13532,用于获取标签树中两个相邻的标签对应的词向量之间的向量相似度,将向量相似度确定为标签树中两个相邻的标签之间的边权重;
路径权重确定子单元13533,用于根据标签路径中所包含的边权重,确定标签路径对应的路径权重;
置信度获取子单元13534,用于获取标签c
i对应的第一置信度,获取标签t
j对应的第二置信度;
乘积子单元13535,用于将第一置信度、第二置信度以及路径权重进行乘积运算,得到标签c
i与标签t
j之间的单位相似度。
其中,转换子单元13531、边权重确定子单元13532、路径权重确定子单元13533、置信度获取子单元13534、乘积子单元13535的具体功能实现方式可以参见上述图3所对应实施例中的步骤S104,这里不再进行赘述。
请一并参见图8,第二确定模块14可以包括:排序单元141、推荐数据选取单元142;
排序单元141,用于根据集合相似度,对待推荐数据集合中所包含的待推荐数据进行排序;
推荐数据选取单元142,用于从排序后的待推荐数据中,按照排序顺序获取目标推荐数据,将目标推荐数据展示给多媒体数据对应的目标用户。
其中,排序单元141、推荐数据选取单元142的具体功能实现方式可以参见上述图3所对应实施例中的步骤S105,这里不再进行赘述。
本申请实施例可以通过获取多媒体数据对应的第一标签集合,该第一标签集合中所包含的标签均可以用于表征多媒体数据的内容属性,获取多媒体数据对应的待推荐数据集合,并获取待推荐数据集合中所包含的待推荐数据对应的第二标签集合,该第二标签集合中的标签均可以用于表征待推荐数据的内容属性;进而可以获取标 签树,根据第一标签集合中的标签在标签树中的标签位置,以及第二标签集合中的标签在标签树中的标签位置,确定第一标签集合和第二标签集合之间的集合相似度,根据集合相似度可以从待推荐数据集合中确定与多媒体数据相匹配的目标推荐数据。可见,本申请实施例可以从多媒体数据中提取出第一标签集合,从待推荐数据中提取出第二标签集合,并基于预先构建的标签树计算第一标签集合与第二标签集合之间的相似度,进而确定出与多媒体数据相匹配的目标推荐数据,可以增强目标推荐数据与多媒体数据之间的匹配度,进而可以提高推荐数据的准确性。
请参见图9,是本申请实施例提供的一种计算机设备的结构示意图。如图9所示,该计算机设备1000可以包括:处理器1001、网络接口1004和存储器1005,此外,上述计算机设备1000还可以包括:用户接口1003和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1004可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图9所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在如图9所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以使计算机设备1000实现:
获取多媒体数据对应的第一标签集合;该第一标签集合包括用于表征多媒体数据的内容属性的标签;
获取待推荐数据集合,获取待推荐数据集合中所包含的待推荐数据对应的第二标签集合;该第二标签集合包括用于表征待推荐数据的内容属性的标签;
获取标签树;该标签树包括具有树形层级关系的至少两个标签,至少两个标签包括第一标签集合中的标签,以及第二标签集合中的标签;
根据第一标签集合中的标签在标签树中的标签位置,以及第二标签集合中的标签在标签树中的标签位置,确定第一标签集合和第二标签集合之间的集合相似度;
根据集合相似度,从待推荐数据集合中确定与多媒体数据相匹配的目标推荐数据。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3所对应实施例中对数据推荐方法的描述,也可执行前文图8所对应实施例中对数据推荐装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的数据推荐装置1所执行的计算机程序, 且计算机程序包括程序指令,当处理器执行程序指令时,能够使包括该处理器的计算机设备执行前文图3所对应实施例中对数据推荐方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可被部署在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链系统。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储存储器(Read-Only Memory,ROM)或随机存储存储器(Random Access Memory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。