CN109982128A - 视频的弹幕生成方法、装置、存储介质和电子装置 - Google Patents
视频的弹幕生成方法、装置、存储介质和电子装置 Download PDFInfo
- Publication number
- CN109982128A CN109982128A CN201910209561.5A CN201910209561A CN109982128A CN 109982128 A CN109982128 A CN 109982128A CN 201910209561 A CN201910209561 A CN 201910209561A CN 109982128 A CN109982128 A CN 109982128A
- Authority
- CN
- China
- Prior art keywords
- barrage
- target
- scene
- history
- word
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/488—Data services, e.g. news ticker
- H04N21/4884—Data services, e.g. news ticker for displaying subtitles
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种视频的弹幕生成方法、装置、存储介质和电子装置。其中,该方法包括:获取当前时刻在目标客户端上所显示的目标视频的第一场景信息,其中,第一场景信息用于指示目标视频所处的播放场景;获取目标数据库中与第一场景信息匹配的目标历史弹幕,其中,目标数据库中存储的历史弹幕包括在当前时刻之前,与多个客户端播放的视频相关联的弹幕;将获取到的目标历史弹幕与目标视频共同显示在目标客户端上。本发明解决了相关技术中生成的弹幕与视频的场景的相关性低的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种视频的弹幕生成方法、装置、存储介质和电子装置。
背景技术
目前,直播平台通过弹幕机器人来智能发送弹幕,通常通过弹幕机器人插件将预设弹幕集合中的有限数量的弹幕随机重复发送。
上述方法虽然可以实现自动发送弹幕,但是预设弹幕集合中的有限数量的弹幕比较固定,难以结合具体的视频场景,弹幕缺乏多样性、发送频率也不够智能,存在生成的弹幕与视频的场景的相关性低的技术问题。
针对上述的生成的弹幕与视频的场景的相关性低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种视频的弹幕生成方法、装置、存储介质和电子装置,以至少解决相关技术中生成的弹幕与视频的场景的相关性低的技术问题。
根据本发明实施例的一个方面,提供了一种视频的弹幕生成方法。该方法包括:获取当前时刻在目标客户端上所显示的目标视频的第一场景信息,其中,第一场景信息用于指示目标视频所处的播放场景;获取目标数据库中与第一场景信息匹配的目标历史弹幕,其中,目标数据库中存储的历史弹幕包括在当前时刻之前,与多个客户端播放的视频相关联的弹幕;将获取到的目标历史弹幕与目标视频共同显示在目标客户端上。
根据本发明实施例的另一方面,还提供了一种视频的弹幕生成装置。该装置包括:第一获取单元,用于获取当前时刻在目标客户端上所显示的目标视频的第一场景信息,其中,第一场景信息用于指示目标视频所处的播放场景;第二获取单元,用于获取目标数据库中与第一场景信息匹配的目标历史弹幕,其中,目标数据库中存储的历史弹幕包括在当前时刻之前,与多个客户端播放的视频相关联的弹幕;显示单元,用于将获取到的目标历史弹幕与目标视频共同显示在目标客户端上。
可选地,在获取目标数据库中与第一场景信息匹配的目标历史弹幕之前,该方法还包括:获取目标客户端在当前时刻之前的第一时间段内显示的弹幕的第一数量;根据第一数量和目标客户端在包括当前时刻的第二时间段内需要显示的第二数量确定目标历史弹幕的目标数量,其中,第二数量通过对历史弹幕的数量和历史弹幕在目标客户端上显示的时刻进行拟合得到;获取目标数据库中与第一场景信息匹配的目标历史弹幕包括:获取目标数据库中与第一场景信息匹配的目标数量的目标历史弹幕。
根据本发明实施例的另一方面,还提供了一种存储介质,其特征在于,存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行本发明实施例的方法。
根据本发明实施例的另一方面,还提供了一种电子装置。该电子装置包括存储器和处理器,其特征在于,存储器中存储有计算机程序,处理器被设置为通过计算机程序执行本发明实施例的方法。
在本发明实施例中,获取当前时刻在目标客户端上所显示的目标视频的第一场景信息,其中,第一场景信息用于指示目标视频所处的播放场景;获取目标数据库中与第一场景信息匹配的目标历史弹幕,其中,目标数据库中存储的历史弹幕包括在当前时刻之前,与多个客户端播放的视频相关联的弹幕;将获取到的目标历史弹幕与目标视频共同显示在目标客户端上。也就是说,结合目标视频的第一场景信息确定与目标视频的场景相关的弹幕生成方法,获取目标数据库中与第一场景信息匹配的目标历史弹幕,并将获取到的目标历史弹幕自动显示在目标客户端上,达到了自动生成目标视频的弹幕的目的,避免了由于采用预设有限弹幕文本集合,随机重复发送弹幕,使得生成的弹幕与视频的场景的相关性低,从而实现了提高生成的弹幕与视频的场景的相关性的技术效果,进而解决了相关技术中生成的弹幕与视频的场景的相关性低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种视频的弹幕生成方法的硬件环境的示意图;
图2是根据本发明实施例的一种视频的弹幕生成方法的流程图;
图3是根据本发明实施例的一种的基于混合策略的智能弹幕生成系统的示意图;
图4是根据本发明实施例的一种创建索引的方法的流程图;
图5是根据本发明实施例的一种加入倒排索引的示意图;
图6是根据本发明实施例的另一种加入倒排索引的示意图;
图7是根据本发明实施例的一种混合调度策略的示意图;
图8是根据本发明实施例的一种真实弹幕量-时间拟合曲线;
图9是根据本发明实施例的一种开启视频弹幕生成功能的场景示意图;
图10是根据本发明实施例的一种关闭视频弹幕生成功能的场景示意图;
图11是根据本发明实施例的另一种开启视频弹幕生成功能的场景示意图;
图12是根据本发明实施例的另一种开启视频弹幕生成功能的场景示意图;
图13A是根据本发明实施例的一种发送真实弹幕语义的示意图;
图13B根据本发明实施例的一种符合真实弹幕语义的下文回复的示意图;
图14A是根据本发明实施例的另一种发送真实弹幕语义的示意图;
图14B是根据本发明实施例的另一种发送真实弹幕语义的示意图;
图15是根据本发明实施例的一种视频的弹幕生成装置的示意图;以及
图16是根据本发明实施例的一种电子装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种视频的弹幕生成方法的实施例。
可选地,在本实施例中,上述视频的弹幕生成方法可以应用于如图1所示的由服务器102和终端104所构成的硬件环境中。如图1所示,服务器102通过网络与终端104进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端104并不限定于PC、手机、平板电脑等。本发明实施例的视频的弹幕生成方法可以由服务器102来执行,也可以由终端104来执行,还可以是由服务器102和终端104共同执行。其中,终端104执行本发明实施例的视频的弹幕生成方法也可以是由安装在其上的客户端来执行。
图2是根据本发明实施例的一种视频的弹幕生成方法的流程图。如图2所示,该方法可以包括以下步骤:
步骤S202,获取当前时刻在目标客户端上所显示的目标视频的第一场景信息。
在本申请步骤S202提供的技术方案中,获取当前时刻在目标客户端上所显示的目标视频的第一场景信息,其中,第一场景信息用于指示目标视频所处的播放场景。
在该实施例中,目标视频可以为直播视频,比如应用于直播平台的游戏直播视频。目标客户端为播放直播视频的客户端,比如游戏客户端。获取当前时刻在目标客户端上所显示的目标视频的第一场景信息,该第一场景信息用于指示目标视频所处的播放场景,可以包括目标视频所属的业务类型,比如,包括绝地求生(pubgm)业务类型、拳皇命运(kofmy)业务类型等,还可以包括主播信息,比如,包括主播的昵称、帐号等与目标视频场景相关性强的信息。
步骤S204,获取目标数据库中与第一场景信息匹配的目标历史弹幕。
在本申请步骤S204提供的技术方案中,在获取当前时刻在目标客户端上所显示的目标视频的第一场景信息之后,获取目标数据库中与第一场景信息匹配的目标历史弹幕,其中,目标数据库中存储的历史弹幕包括在当前时刻之前,与多个客户端播放的视频相关联的弹幕。可选地,历史弹幕包括在当前时刻之前,多个帐号分别通过登录的客户端发送的上述弹幕,每个帐号登录对应的一个客户端。
在该实施例中,目标数据库中存储有历史弹幕,也即,用户输入的弹幕通过时间积累存储在目标数据库中,从而形成了历史弹幕。可选地,在将用户输入的弹幕存储至目标数据库时,可以将弹幕的弹幕数据通过后台存储至Redis数据库中,将Redis数据库中的弹幕数据进行分词处理、词数统计,同时落地玩家昵称语料,将Redis中的弹幕数据落入底层存储(CDB),并且生成唯一的标识信息,该标识信息可以为ID,底层存储CDB可以是按日分表的,索引也是按日期创建存储的,查询时可以随机选择过去一天的数据来提升文本多样性,该实施例根据词数统计得到的数据创建词性分类,结合输入的原始弹幕数据和词性分类构建索引层的分类索引和倒排索引的二级索引结构,其中,索引层和CDB中存储的数据可以为在目标数据库中进行检索查询用到的热数据,可以将数据异步落地到公司级数据仓库(TDW)作为冷数据保存以供数据挖掘使用。
可选地,该实施例对用户输入的弹幕进行分词处理,在对用户弹幕进行分词处理之后,针对业务/主播进行全局词数统计,根据全局词数统计生成全局词性分类,从而可以实现给定一个分词,确定出它是哪个业务/主播的特征词,也即,给定分词得到其业务/主播的特征词,进而由分词扩展到句子,从弹幕中选出代表词来定义整体弹幕的业务/主播特征,从而给用户输入的弹幕打上标签,以在存储索引时使具有相同特征的弹幕能够聚集在一起,从而优化查询效率。
可选地,该实施例以代表词作为桶,仅将弹幕挂载到代表词下,从头向后遍历桶内的每一个链表节点,将用户输入的弹幕与每一个链表节点中所有已存在的弹幕(或者出于性能考虑可以只随机抽取其中一个弹幕)进行相似度的比较,可以通过Jaccard相似度来进行比较。
该实施例的Jaccard相似度为假定两个待比较的文本分词后的集合分别为A和B,那么定义Jaccard相似度:其中,两个完全不一致的文本其Jaccard相似度为0,相反两个完全一样的文本其Jaccard相似度为1,因此Jaccard相似度是一个介于0和1之间的数,去重的时候,可以根据实际需要决定一个合适的阈值,大于该阈值的都将被判定为相似文本。
当用户输入的弹幕与链表节点下已存在的弹幕相似时,可以加入该节点,否则继续指向下一个链表节点。如果到链表尾部时还没插入,则可以在桶内新创建一个链表节点,实现了倒排索引的目的。该实施例可以将用户输入的所有弹幕按照上述算法加入倒排索引,从而得到了包括多个代表词的代表词集合,将倒排索引得到的代表词集合,通过词性分类,反向存储,得到“业务——特征词集合”和“业务+房间——特征词集合”的映射,从而创建出分类索引。
举例而言,通过全局的词性分类,生成结构为“铁柱”——{“pubgm”:“1_0001”},表示“铁柱”是绝地求生的特征词,且是绝地求生业务下主播1_10001的特征词,“倍镜”——{“pubgm”:“”},表示“倍镜”只是绝地求生业务的特征词,则反向存储的结果为绝地求生业务的特征词集合是{“铁柱”,“倍镜”};绝地求生-1_10001对应的特征词集合是{“铁柱”}。
在将用户输入的弹幕存储至目标数据库成为历史弹幕之后,在历史弹幕积累的数量达到一定阈值的情况下,可以按照不同的弹幕生成策略从目标数据库中获取与第一场景信息匹配的目标历史弹幕,比如,可以在目标数据库中查询在历史时间段中与当前时刻相似的时刻出现的真实弹幕,将该真实弹幕作为与第一场景信息匹配的目标历史弹幕;还可以根据当前用户输入的真实弹幕在目标数据库中搜索与其匹配度最高的下文或回复,将其确定为目标历史弹幕;还可以在目标数据库中查询由运营人员事先配置生成的热门弹幕词汇;还可以通过上述分类索引一级查询目标视频的业务-主播下的特征词,再通过倒排索引二级查询相关历史弹幕,将查询到的历史弹幕确定为目标历史弹幕;还可以先通过分类索引一级查询目标视频的业务下的特征词,再通过倒排索引二级查询相关历史弹幕,将查询到的历史弹幕确定为目标历史弹幕;还可以先通过分类索引一级查询公共(Common)类型下的特征词,再通过倒排索引,二级查询相关历史弹幕,将查询到的历史弹幕确定为目标历史弹幕弹幕,其中,Common类型下的特征词不受目标视频的业务类型限制。
步骤S206,将获取到的目标历史弹幕与目标视频共同显示在目标客户端上。
在本申请步骤S206提供的技术方案中,目标数据库中与第一场景信息匹配的目标历史弹幕为当前时刻可以在目标客户端上与目标视频共同显示的弹幕,也即,为推送至与目标视频对应的直播间中的弹幕,该目标历史弹幕的文本内容丰富,当真实弹幕量已经足够多时,可以减少显示在目标客户端上的目标历史弹幕的数量,当有真实用户观看但真实弹幕量很少时,则可以增加显示在目标客户端上的弹幕数量,从而达到尽量模拟真实情况,智能生成弹幕,并且在提高直播/视频活跃度的基础上减少对用户的打扰的目的。
可选地,该实施例将查询到的每条目标历史弹幕与一个游戏昵称对应起来进行输出,以尽可能地模拟真实弹幕的显示。
该实施例在开启视频弹幕生成功能的情况下,执行该实施例的视频的弹幕的智能生成方法。
通过上述步骤S202至步骤S206,获取当前时刻在目标客户端上所显示的目标视频的第一场景信息,其中,第一场景信息用于指示目标视频所处的播放场景;获取目标数据库中与第一场景信息匹配的目标历史弹幕,其中,目标数据库中存储的历史弹幕包括在当前时刻之前,与多个客户端播放的视频相关联的弹幕;将获取到的目标历史弹幕与目标视频共同显示在目标客户端上。也就是说,结合目标视频的第一场景信息确定与目标视频的场景相关的弹幕生成方法,获取目标数据库中与第一场景信息匹配的目标历史弹幕,并将获取到的目标历史弹幕自动显示在目标客户端上,达到了自动生成目标视频的弹幕的目的,避免了由于采用预设有限弹幕文本集合,随机重复发送弹幕,使得生成的弹幕与视频的场景的相关性低,从而实现了提高生成的弹幕与视频的场景的相关性的技术效果,进而解决了相关技术中生成的弹幕与视频的场景的相关性低的技术问题。
作为一种可选的实施方式,获取目标数据库中与第一场景信息匹配的目标历史弹幕包括:获取与第一场景信息对应的多种弹幕生成方式;按照多种弹幕生成方式的优先级顺序分别在目标数据库中获取与第一场景信息对应的多组弹幕,其中,每组弹幕是按照一种弹幕生成方式在目标数据库中获取到的弹幕,目标历史弹幕包括被设置为按照优先级顺序显示的多组弹幕。
在该实施例中,在获取目标数据库中与第一场景信息匹配的目标历史弹幕时,可以获取与第一场景信息对应的多种弹幕生成方式,该多种弹幕生成方式也即不同维度下的弹幕查询策略,比如,包括相似性策略(similar),也即,每个主播都有自己固定的直播节奏,目标视频的当前场景很可能与过去的历史时刻相似,因此与该主播历史相似时刻的弹幕有较大概率适合当前场景,可以作为所要查询的目标历史弹幕;上下文策略(following),也即,根据当前真实弹幕在目标数据库中搜索与其匹配度最高的下文或回复,可以先将当前真实弹幕分词,再去倒排索引这些分词下的链表里查询与该弹幕相似的文本,再查找这些相似文本的下文,并结合当前语境(业务/主播)进行过滤,从而输出弹幕集合,将输出的弹幕集合中的弹幕作为所要查询的目标历史弹幕;热词策略(hotword),查询运营人员事先配置生成的热门弹幕词汇,将其作为将要和目标视频同时显示的弹幕;业务-主播策略(biz_room)为通过上述分类索引一级查询目标视频的业务-主播下的特征词,再通过倒排索引二级查询相关历史弹幕,将查询到的历史弹幕确定为目标历史弹幕,业务策略(biz)先通过分类索引一级查询目标视频的业务下的特征词,再通过倒排索引二级查询相关历史弹幕,将查询到的历史弹幕确定为目标历史弹幕,公共策略(Common)为通过分类索引一级查询公共Common类型下的特征词,再通过倒排索引,二级查询相关历史弹幕,将查询到的历史弹幕确定为目标历史弹幕弹幕。
可选地,上述业务-主播策略、业务策略、公共策略都是先从分类索引下查询到代表词集合,再从代表词集合中选取出一部分代表词来使用,其中,代表词为弹幕中可以与弹幕语境契合度较高的特征词,代表词集合包括多个代表词,可以从代表词集合中随机选取出一部分代表词,也可以根据代表词集合中的代表词的词频进行排序,选取词频较高的代表词,再根据选取出的代表词从倒排索引中查询不重复、多样化的文本,将其作为所要查询的目标历史弹幕。
该实施例的多种弹幕生成方式具有优先级顺序,比如,多种弹幕生成方式包括上述相似性策略、上下文策略、热词策略、业务-主播策略、业务策略、公共策略,则高多种弹幕的优先级顺序为按照相似性策略、上下文策略、热词策略、业务-主播策略、业务策略、公共策略进行排列。该实施例按照多种弹幕生成方式的优先级顺序分别在目标数据库中获取与第一场景信息对应的多组弹幕,每组弹幕是按照一种弹幕生成方式在目标数据库中获取到的弹幕,而目标历史弹幕包括被设置为按照优先级顺序显示的多组弹幕,进而将获取到的多组弹幕排序后输出,使其与目标视频共同显示在目标客户端上。
需要说明的是,上述优先级顺序仅为本发明实施例的一种举例,并不代表本发明实施例的优先级顺序仅为上述相似性策略、上下文策略、热词策略、业务-主播策略、业务策略、公共策略,任何可以实现按照多种弹幕生成方式分别在目标数据库中获取与第一场景信息对应的多组弹幕的优先级顺序都在该实施例的范围之内,此处不再一一举例说明。
下面对该实施例的多种弹幕生成方式进行介绍。
作为一种可选的实施方式,获取目标数据库中与第一场景信息匹配的目标历史弹幕包括:从第一场景信息中获取播放场景的第一场景标识信息;在目标数据库中确定与第一场景标识信息对应的第一特征词,其中,目标数据库中存储第一特征词和与第一特征词具有映射关系的第一历史弹幕集合,第一特征词与第一历史弹幕集合中弹幕的语义相匹配;将在第一历史弹幕集合中随机获取的目标数量的历史弹幕确定为目标历史弹幕;或者,第一历史弹幕集合中存在第一特征词的词频大于第一目标阈值的历史弹幕确定为目标历史弹幕。
在该实施例中,可以在第一弹幕生成方式下,从第一场景信息中获取播放场景的第一场景标识信息,该第一场景标识信息可以为目标视频的业务类型,比如绝地求生业务类型、拳皇命运类型等。在目标数据库中确定与第一场景标识信息对应的第一特征词,可以为通过分类索引一级查询目标视频所属的业务下的特征词。可选地,该实施例的第一特征词与第一历史弹幕集合中弹幕的语义相匹配,也即,第一特征词与第一历史弹幕集合中弹幕的语义具有更高的契合度,可以为目标视频所属业务的代表词集合中的代表词,可以从代表词集合中随机选取一部分代表词作为第一特征词,也可以根据代表词集合中的代表词的词频进行排序,选取词频较高的代表词作为第一特征词。
该实施例的目标数据库中存储第一特征词和与第一特征词具有映射关系的第一历史弹幕集合,可以通过目标数据结构中的链表结构的表头存储第一特征词,而通过链表结构的链表节点存储第一历史弹幕集合中的多条历史弹幕,其中,每个链表节点下的多条历史弹幕相似,每条弹幕具有唯一ID,该ID是原始数据插入数据库时生成的主键,该实施例可以通过倒排索引二级查询目标历史弹幕。该实施例在目标数据库中确定与第一场景标识信息对应的第一特征词之后,可以从与第一特征词对应的第一历史弹幕集合中随机获取目标数量的历史弹幕,该目标数量的历史弹幕可以来源于不同链表节点下的历史弹幕,从而不重复,并且多样化,将其确定为目标历史弹幕。可选地,该实施例从第一历史弹幕集合中选取的目标历史弹幕中包括第一特征词的词频大于目标阈值的弹幕。
可选地,该实施例的上述第一弹幕生成方式为业务策略。
作为一种可选的实施方式,获取目标数据库中与第一场景信息匹配的目标历史弹幕包括:从第一场景信息中获取播放场景下的主播帐号的属性信息,其中,主播帐号用于播放目标视频;在目标数据库中确定与属性信息对应的第二特征词,其中,目标数据库中存储第二特征词和与第二特征词具有映射关系的第二历史弹幕集合,第二特征词与第二历史弹幕集合中弹幕的语义相匹配;将在第二历史弹幕集合中随机获取的目标数量的历史弹幕确定为目标历史弹幕;或者,将第二历史弹幕集合中存在第二特征词的词频大于第一目标阈值的历史弹幕确定为目标历史弹幕。
在该实施例中,可以在第二弹幕生成方式下,从第一场景信息中获取播放场景下的主播帐号的属性信息,该主播帐号的属性信息可以为目标视频的主播的ID、昵称等与主播帐号相关的信息,其中,主播帐号用于播放目标视频。在目标数据库中确定与属性信息对应的第二特征词,可以为通过分类索引一级查询目标视频所属的业务下的主播帐号的特征词。可选地,该实施例的第二特征词与第二历史弹幕集合中弹幕的语义相匹配,也即,第二特征词与第二历史弹幕集合中弹幕的语义具有更高的契合度,可以为与目标视频所属业务下的主播帐号对应的代表词集合中的代表词,可以从该代表词集合中随机选取一部分代表词作为第二特征词,也可以根据代表词集合中的代表词的词频进行排序,选取词频较高的代表词作为第二特征词。
该实施例的目标数据库中存储第二特征词和与第二特征词具有映射关系的第二历史弹幕集合,可以通过目标数据结构中的链表结构的表头存储第二特征词,而通过链表结构的链表节点存储第二历史弹幕集合中的多条历史弹幕,其中,每个链表节点下的多条历史弹幕相似,可以通过倒排索引二级查询目标历史弹幕。在从第一场景信息中获取播放场景下的主播帐号的属性信息之后,可以从与第二特征词对应的第二历史弹幕集合中随机获取目标数量的历史弹幕,该目标数量的历史弹幕可以来源于不同链表节点下的历史弹幕,从而不重复,并且多样化,将其确定为目标历史弹幕。可选地,该实施例从第二历史弹幕集合中选取的目标历史弹幕中包括第二特征词的词频大于目标阈值的弹幕。
可选地,该实施例的上述第二弹幕生成方式为业务-主播策略。
作为一种可选的实施方式,获取目标数据库中与第一场景信息匹配的目标历史弹幕包括:在目标数据库中获取第一目标类型的第三特征词,其中,第一目标类型的第三特征词与多个场景信息相匹配,目标数据库中存储第三特征词和与第三特征词具有映射关系的第三历史弹幕集合,多个场景信息包括第一场景信息;将在第三历史弹幕集合中随机获取的目标数量的历史弹幕确定为目标历史弹幕;或者,将第三历史弹幕集合中存在第三特征词的词频大于第一目标阈值的历史弹幕确定为目标历史弹幕。
在该实施例中,在第三弹幕生成策略下,在目标数据库中获取第一目标类型的第三特征词,该第一目标类型可以为Common类型,比如,第一目标类型的第三特征词为“小姐姐”,其不属于任何业务的特征词,是一个普通词汇,可以与多个场景信息相匹配,也即,适用于多个业务。
该实施例的目标数据库中存储第三特征词和与第三特征词具有映射关系的第三历史弹幕集合,可以通过目标数据结构中的链表结构的表头存储第三特征词,而通过链表结构的链表节点存储第三历史弹幕集合中的多条历史弹幕,其中,每个链表节点下的多条历史弹幕相似,可以通过倒排索引二级查询目标历史弹幕。在从第一场景信息中获取播放场景下的主播帐号的属性信息之后,可以从与第三特征词对应的第三历史弹幕集合中随机获取目标数量的历史弹幕,该目标数量的历史弹幕可以来源于不同链表节点下的历史弹幕,从而不重复,并且多样化,将其确定为目标历史弹幕。可选地,该实施例从第三历史弹幕集合中选取的目标历史弹幕中包括第三特征词的词频大于目标阈值的弹幕。
可选地,该实施例的上述第三弹幕生成方式为公共策略。
作为一种可选的实施方式,获取目标数据库中与第一场景信息匹配的目标历史弹幕包括:获取与第一场景信息的相似度高于第二目标阈值的第二场景信息;在目标数据库中将与第二场景信息相匹配的历史弹幕确定为目标历史弹幕。
在该实施例中,每个主播帐号都有相对固定的直播节奏,比如,每晚18:00-24:00开播,或者周六、周日打巅峰赛等。在第四弹幕生成方式下,获取与第一场景信息的相似度高于第二目标阈值的第二场景信息,其中,第一场景信息和第二场景信息可以用于指示主播帐号的直播节奏。可选地,第一场景信息包括当前时刻,第二场景信息包括历史时间段内与当前时刻相似的时刻,比如,当前时刻为周一晚19:30,则历史时间段内与当前时刻相似的时刻可以为上周一晚19:30。在获取与第一场景信息的相似度高于第二目标阈值的第二场景信息之后,在目标数据库中获取与第二场景信息相匹配的历史弹幕,与第二场景信息相匹配的历史弹幕有较大概率适合目标视频的当前场景,将其确定为目标历史弹幕,进而与目标视频共同显示在目标客户端上。
可选地,上述第四弹幕生成方式为相似性策略。
作为一种可选的实施方式,获取目标数据库中与第一场景信息匹配的目标历史弹幕包括:当第一场景信息包括目标客户端在当前时刻显示的来自目标帐号的第一目标弹幕时,将目标数据库中与第一目标弹幕的语义相匹配的历史弹幕确定为目标历史弹幕。
在该实施例中,在第五弹幕生成方式下,目标客户端在当前时刻显示来自目标帐号的第一目标弹幕,也即,该第一目标弹幕为用户通过目标帐号输入的真实弹幕。在目标数据库中查找与第一目标弹幕的语义相匹配的历史弹幕,该与第一目标弹幕的语义相匹配的历史弹幕可以为与第一目标弹幕匹配度最高的下文或回复,比如,第一目标弹幕为“厉害厉害”,则与第一目标弹幕的语义相匹配的历史弹幕可以为“红点一直都很稳好吧”、“你也太能吃了吧”、“宝贝,晚上请他吃鸡”。
可选地,该实施例的目标数据库通过链表结构的表头存储代表词,而通过链表结构的链表节点存储包括代表词的多条弹幕,该代表词与多条弹幕的语境的契合度较高,其中,每个链表节点下的多条历史弹幕相似,每条历史弹幕都有一个唯一ID,这个ID是历史弹幕数据插入目标数据库时生成的主键,比如,将Redis数据库中的弹幕数据落入CDB存储,生成唯一ID,而Redis中的数据落入目标数据库时是上下文一起存进去的,其中包括具有匹配关系的一定数量的历史弹幕,比如,为上下文匹配关系的一定数量的历史弹幕,当从一个链表节点中确定出第一目标弹幕时,则可以从中获取与第一目标弹幕具有匹配关系的历史弹幕。该实施例利用倒排索引的链表结构与插入算法,并利用文本聚类的特点,可以提升查找与第一目标弹幕的语义相匹配的历史弹幕的性能。
举例而言,历史弹幕7、8、9是一组上下文,17、18、19是一组上下文,则从一个链表节点里取出7、17这两个文本时,可以利用SQL语句从目标数据库里找到对应的下文,也即,找到与7对应的8、9,找到与17对应的18、19。
作为一种可选的实施方式,在目标客户端在当前时刻显示来自目标帐号的第一目标弹幕之后,该方法还包括:对第一目标弹幕进行分词处理,得到多个目标分词;根据每个目标分词分别在多个播放场景中出现过的次数,确定第一目标分词为目标播放场景的特征词,其中,每个目标分词包括第一目标分词,多个播放场景包括目标播放场景;在目标播放场景的特征词与第一目标弹幕的语义相匹配的情况下,将目标播放场景的特征词确定为第一目标弹幕的特征词;将第一目标弹幕存储至目标数据库中与第一目标弹幕的特征词对应的弹幕集合中,其中,弹幕集合通过多个链表节点存储特征词与第一目标弹幕的特征词相同的多条历史弹幕,存储于同一目标链表节点中的第一目标弹幕与多条第一历史弹幕的相似度大于第三目标阈值,多个链表节点包括目标链表节点,多条历史弹幕包括多条第一历史弹幕。
在该实施例中,在目标客户端在当前时刻显示来自目标帐号的第一目标弹幕之后,需要将第一目标弹幕存储至目标数据库中。
该实施例对第一目标弹幕进行分词处理,得到多个目标分词,比如,第一目标弹幕为绝地求生业务中的“8倍镜在决赛圈中没用”,则多个目标分词为“倍镜”、“决赛圈”、“没用”;再比如,第二目标弹幕为拳皇命运中的“大门带霸体好点”,则多个目标分词为“大门”、“霸体”、“好点”。
在对第一目标弹幕进行分词处理,得到多个目标分词之后,可以确定每个目标分词在多个场景标识信息分别所指示的多个播放场景中出现过的次数。其中,多个场景标识信息可以为用于标识绝地求生业务场景对应的绝地求生业务标识、用于标识拳皇命运业务场景的拳皇命运业务标识。可选地,在对用户弹幕进行分词处理之后,针对业务/主播进行全局词数统计生成哈希映射,可以为分词->{业务:{主播ID:词数}}。比如,目标分词“倍镜”->{“pubgm”:{“1_1001”:1000,“1_1002”:900},{“kofmy”:{“1_1003”:1}},用于表示“倍镜”这个目标分词在“绝地求生”业务里共出现1900次,其中,包括在主播“1_1001”里出现了1000次和在主播“1_1002”里出现了900次,在“拳皇命运”业务里共出现1次,仅在主播“1_1003”里出现1次。
该实施例可以根据每个目标分词分别在多个场景标识信息所指示的播放场景中出现过的次数,进行全局词性分类,确定多个目标分词中的第一目标分词为目标播放场景的特征词,该目标播放场景可以由第二场景信息进行指示。
下面对该实施例的确定多个目标分词中的第一目标分词为目标播放场景的特征词的方法进行介绍。
在计算分析属于场景标识信息所指示的播放场景的特征词时,可以先词频统计哈希映射T={k1:v1,k2:v2},其中,k1、k2用于表示场景标识信息所指示的播放场景,比如,为业务的类型,v1、v2用于表示目标分词在对应场景标识信息下的总次数,比如,为目标分词在对应业务下的总次数;词频统计哈希映射归一化R={k1:tf_v1,k2:tf_v2},其中,tf_v1用于表示对v1进行归一化处理后的结果,tf_v2用于表示对v2进行归一化处理后的结果。权重总值TOTAL_WEIGHT==tf_v1+tf_v2,阈值THRESHOLD,则对于场景标识信息所指示的播放场景k(k为k1、k2),判断R[k]/TOTAL_WEIGHT是否大于等于阈值THRESHOLD,其中,R[k]为tf_v1、tf_v2。如果判断出R[k]/TOTAL_WEIGHT大于等于阈值THRESHOLD,则确定目标分词为场景标识信息所指示的播放场景k的特征词,否则,目标分词不是任何场景标识信息所指示的播放场景的特征词,而是属于公共(Commom)类型。
举例而言,对于目标分词“倍镜”,T={“pubgm”:1900,“kofmy”:1},因为不同场景标识信息所指示的播放场景的体量有差异,在不同场景标识信息所指示的播放场景进行比较时不能使用词数,需要先对词数进行归一化处理得到词频。该实施例采用的归一化方法为该分词在业务中出现的词数除以该业务下的总词数。比如,对T={“pubgm”:1900,“kofmy”:1}进行归一化处理之后,得到哈希值R={“pubgm”:0.017,“kofmy”:0.00001},也即,通过词频度量了目标分词在不同场景标识信息所指示的播放场景下出现的高频程度,可以取阈值THRESHOLD为0.8。因此对于“倍镜”在“pubgm”业务下的哈希值为0.017/(0.017+0.0001)=0.994,这个值大于阈值0.8,因此,确定目标分词“倍镜”为绝地求生业务pubgm的特征词。其中,目标分词“倍镜”也即上述第一目标分词,绝地求生业务也即上述第二场景信息所指示的目标播放场景。
通过该实施例的上述方法可以得到全局的词性分类,生成的结构可以为目标分词“倍镜”——{“pubgm”:“”},用于表示目标分词“倍镜”是属于第二场景标识信息所指示的“绝地求生”业务下的特征词。
在目标播放场景的特征词与第一目标弹幕的语义相匹配的情况下,将目标播放场景的特征词确定为第一目标弹幕的特征词,也即,第一目标弹幕的特征词也即代表词,该实施例可以给第一目标弹幕选举代表词,从而为第一目标弹幕打上标签,由目标分词扩展到第一目标弹幕,通过选举出的代表词来定义整条第一目标弹幕的业务/主播特征,这样在存储索引时使具有相同特征的弹幕能够聚集在一起,从而优化查询效率。
可选地,选举代表词的规则算法可以为弹幕分词列表[w0,w1,…],语境R=[业务,主播,发言时间,…],候选代表词C=nil,候选代表词的初始分数S=0。计算目标分词w在语境R下的分数。可选地,第一目标弹幕有其语境特征,比如,业务、主播,对第一目标弹幕的目标分词进行遍历,遍历前的基础分为0,比较每一个目标分词的业务-主播特性与第一目标弹幕的语境特征是否一致,如果一致则加分,比如,与第二场景信息所指示的播放场景一致加10分,与第二场景信息所指示的播放场景和主播特性均一致加100分,当分数比S大,将遍历到的目标分词作为候选代表词,并将S重新设置为遍历到的目标分词的分数,如果目标分词w与第一弹幕的语境有冲突则不加入索引,则退出,如果分数和S相同,则选择词频高的目标分词作为候选代表词,在遍历完成所有分词之后,将最后确定的候选代表词确定为第一目标弹幕的代表词。
在该实施例中,目标分词在语境下的分数是用来评价目标分词的业务/主播特征与弹幕语境的契合程度,与弹幕语境契合度越高的目标分词,其业务/主播特性就有更高几率代表整句的业务/主播特性。
举例而言,目标分词“倍镜”是属于第二场景标识信息所指示的播放场景的特征词,比如,为“绝地求生”业务的特征词,如果第二目标弹幕“8倍镜在决赛圈没用”是从“拳皇命运”直播间里发出的,那么目标分词与弹幕语境有冲突,这条第二目标弹幕不加入索引;如果第二目标弹幕“铁柱快捡这个8倍镜”是从主播铁柱的直播间发出的,那么目标分词“铁柱”与语境具有更高的契合度,应该成为该第二目标弹幕的代表词;如果第二目标弹幕“铁柱快捡这个8倍镜”是从第二场景标识信息所指示的目标播放场景下的其它房间发出的,比如,从“绝地求生”业务下的其它房间发出的,则目标分词“铁柱”、“倍镜”都是业务特征词,且与语境契合程度一样,则这时选举策略就要从其它维度(比如,词频)来进行比较,可以选择词频高的目标分词作为代表词。
该实施例在将播放场景的特征词确定为第一目标弹幕的特征词之后,将第一目标弹幕存储至目标数据库中与第一目标弹幕的特征词对应的弹幕集合中,其中,第一目标弹幕的特征词,也即第一目标弹幕的代表词,可以存储在目标数据库中的链表结构的表头,该表头用来索引(查找)链表的,该表头下的多个链表节点中存储的多条第一历史弹幕相似,其特征词与第一目标弹幕的特征词为相同的特征词,第一目标弹幕与目标链表节点中存储的任一历史弹幕的相似度大于第三目标阈值。可选地,多个链表节点存储多条历史弹幕的ID,每个链表节点存储相似历史弹幕的ID。
该实施例的第一目标弹幕与目标链表节点中存储的历史弹幕的相似度大于第三目标阈值,在对第一目标弹幕进行存储时,需要新建该目标链表节点以存储第一目标弹幕。可选地,在该实施例的倒排索引中,当第一目标弹幕与已建立的链表节点下存储的历史弹幕相似时,可以加入该链表节点,否则继续指向下一个链表节点。如果到链表尾部时还没插入,则可以在桶内新创建一个链表节点,作为上述目标链表节点,最终每一个链表节点中已存在的弹幕都是相似的。
可选地,该实施例将所有用户输入的弹幕按照上述算法加入倒排索引,同时得到了代表词集合。
在该实施例中的分类索引中,将上述倒排索引得到的代表词集合,根据词性分类,反向存储“业务——特征词集合”和“业务+房间——特征词集合”的映射,从而创建出分类索引。
举例而言,全局的词性分类,生成结构可以为“铁柱”——{“pubgm”:“1_0001”},用于表示“铁柱”是绝地求生业务的特征词,且是绝地求生业务下主播1_10001的特征词,“倍镜”——{“pubgm”:“”},用于表示“倍镜”只是绝地求生业务的特征词,则对其反向存储后,绝地求生业务的特征词集合是{“铁柱”,“倍镜”};绝地求生-1_10001对应的特征词集合是{“铁柱”}。
作为一种可选的实施方式,在目标客户端在当前时刻显示来自目标帐号的第一目标弹幕之后,该方法还包括:对第一目标弹幕进行分词处理,得到多个目标分词;根据每个目标分词分别在多个主播帐号所播放的播放场景中出现的次数,确定第二目标分词为目标主播帐号的特征词,其中,每个目标分词包括第二目标分词,多个主播帐号包括目标主播帐号;在目标主播帐号的特征词与第一目标弹幕的语义相匹配的情况下,将目标主播帐号的特征词确定为第一目标弹幕的特征词;将第一目标弹幕存储至目标数据库中与第一目标弹幕的特征词对应的弹幕集合中,其中,弹幕集合通过多个链表节点存储特征词与第一目标弹幕的特征词相同的多条历史弹幕,存储于同一目标链表节点中的第一目标弹幕与多条第二历史弹幕的相似度大于第三目标阈值,多个链表节点包括目标链表节点,多条历史弹幕包括多条第二历史弹幕。
该实施例在对第一目标弹幕进行分词处理,得到多个目标分词之后,根据每个目标分词分别在多个主播帐号所播放的播放场景中出现的次数,确定第二目标分词为目标主播帐号的特征词。
可选地,在计算出目标分词属于哪个场景标识信息所指示的播放场景的特征词之后,进一步计算该目标分词具体属于第二场景标识信息所指示的播放场景下哪个主播的特征词。可选地,主播维度词频哈希映射M={a1:v1,a2:v2},其中,a1、a2用于表示主播帐号,v1、v2用于表示目标分词在主播下的总次数。词在业务下总词频total=v1+v2。主播维度词频哈希映射归一化N(a)={a1:v1/total,a2:v2/total},阈值ANCHOR_THRESHOLD,判断目标分词属于哪个主播帐号a(a为a1、a2),可以判断N[a]是否大于等于阈值ANCHOR_THRESHOLD,其中,N[a]为v1/total、v2/total。如果判断出N[a]大于等于阈值ANCHOR_THRESHOLD,则确定目标分词属于主播帐号a的特征词,这里的目标分词即为上述第二目标分词,主播帐号a即为上述目标主播帐号。如果判断出N[a]小于阈值ANCHOR_THRESHOLD,目标分词不属于任何主播的特征词。
举例而言,“倍镜”是第二场景标识信息所指示的播放场景“绝地求生”的特征词,M={“1_1001”:1000,“1_1002”:900},根据算法归一化后得到N={“1_1001”:0.52,“1_1002”:0.48},哈希值度量了目标分词在不同主播房间出现的高频程度,可以取ANCHOR_THRESHOLD阈值0.7。则计算得到“倍镜”并不是“绝地求生”主播房间“1_1001”、“1_1002”的特征词,而是一个普遍词汇。而对于某些目标分词,比如,与主播名字、昵称相同的分词,则该目标分词很有大概率是属于该主播的特征词,比如,目标分词“铁柱”,M={“1_1001”:1000,“1_1002”:10},根据算法归一化后得到N={“1_1001”:0.991,“1_1002”:0.009},计算后可以得到“铁柱”是主播“1_1001”的特征词,这里的“铁柱”即为上述第二目标分词,主播“1_1001”即为上述目标主播帐号。
可选地,该实施例的上述方法可以得到全局的词性分类,生成的结构可以为目标分词“铁柱”——{“pubgm”:“1_0001”},用于表示目标分词“铁柱”是属于“绝地求生”业务下的主播“1_1001”的特征词。
在确定第二目标分词为目标主播帐号的特征词之后,在目标主播帐号的特征词与第一目标弹幕的语义相匹配的情况下,将目标主播帐号的特征词确定为第一目标弹幕的特征词,进而将第一目标弹幕存储至目标数据库中与第一目标弹幕的特征词对应的弹幕集合中,其中,弹幕集合通过多个链表节点存储特征词与第一目标弹幕的特征词相同的多条历史弹幕,存储于同一目标链表节点中的第一目标弹幕与多条第二历史弹幕的相似度大于第三目标阈值,多个链表节点包括目标链表节点,多条历史弹幕包括多条第二历史弹幕。
作为一种可选的实施方式,将第一目标弹幕的场景标识信息存储至目标数据库中与第一目标弹幕的特征词对应的弹幕集合中的目标链表节点中包括:遍历多个链表节点;在第一目标弹幕与遍历到的链表节点中存储的历史弹幕的相似度大于第三目标阈值的情况下,将遍历到的链表节点确定为目标链表节点,并将第一目标弹幕存储至目标链表节点中;在第一目标弹幕与遍历到的每个链表节点中存储的历史弹幕的相似度均不大于第三目标阈值的情况下,创建链表节点,将创建的链表节点确定为目标链表节点,并将第一目标弹幕存储至目标链表节点中。
在该实施例中,在与第一目标弹幕的特征词对应的弹幕集合中,遍历弹幕集合中已建立的多个链表节点,该第一目标弹幕的特征词可以代表词,从头向后遍历代表词对应的桶的每一个链表节点,将第一目标弹幕与每一个链表节点中所有已存在的历史弹幕(或者出于性能考虑可以只随机抽取其中一个历史弹幕)进行相似度的比较,可以通过Jaccard相似度来进行比较。在遍历到的链表节点中存储的历史弹幕的相似度大于第三目标阈值的情况下,将遍历到的链表节点确定为目标链表节点,并将第一目标弹幕存储至目标链表节点中,可选地,当第一目标弹幕与链表节点下已存在的任一历史弹幕相似时,则该链表节点为目标链表节点,可以加入该链表节点,否则继续指向下一个链表节点。如果到链表尾部时还没插入,则可以在桶内新创建一个链表节点,将该链表节点作为目标链表节点。根据上述数据加入链表的算法,最终每一个链表节点中已存在的弹幕都是相似的。
在该实施例中,历史弹幕只存储在代表词而非所有分词的桶下,不但减小了数据存储规模,而且每个桶下的所有历史弹幕都具有相似的业务/主播特性,从而更好地提高查询效率;该实施例使用倒排索引的词链表结构,不同链表节点间的历史弹幕虽然都包含相同的代表词,但不同链表节点间的历史弹幕不相似,从而达到了历史弹幕去重的效果;另外,同一个链表节点内的历史弹幕,都是相似的历史弹幕,从而达到弹幕聚类的效果,这种结构设计可以提升系统产生弹幕的多样性。
作为一种可选的实施方式,在对第一目标弹幕进行分词处理,得到多个目标分词之后,该方法还包括:确定多个目标分词中的第三目标分词为第一目标类型的特征词,其中,第一目标类型的特征词与多个场景信息相匹配,多个场景信息包括第一场景信息。
在该实施例中,在对第一目标弹幕进行分词处理,得到多个目标分词之后,多个目标分词中包括第三目标分词,该第三目标分词的类型可以为第一目标类型,比如Common类型,适用于任何场景信息所指示的播放场景,是一个普通词汇,不属于任何场景信息所指示的播放场景的特征词,比如,第三目标分词“小姐姐”——nil或{},则表示目标分词“小姐姐”不属于任何业务的特征词,而是一个普通词汇。
作为一种可选的实施方式,获取目标数据库中与第一场景信息匹配的目标历史弹幕包括:将目标数据库中与第一场景信息相关联的预定弹幕,确定为目标历史弹幕,其中,预定弹幕预先配置在目标数据库中。
在该实施例中,在目标数据库中可以预先配置预定弹幕,在第六弹幕生成方式下,将目标数据库中与第一场景信息相关联的预定弹幕,确定为目标历史弹幕。其中,预定弹幕可以为预先配置的热门句子,该热门句子可以是短句,也可以是长句。可选地,该实施例的预定弹幕还可以是预先设置的与某一场景相关联的热门词汇,比如与绝地求生场景相关联的“铁柱”、“倍镜”。可选地,查询运营人员根据目标视频的场景需要并结合业界流行的热门句子、热门词汇,事先在目标数据库中配置生成预定弹幕。
可选地,该实施例将与第一场景信息相关联的多个热门词汇所生成的弹幕,确定为目标历史弹幕,比如,多个热门词汇包括“铁柱”、“捡”、“倍镜”,则可以将“铁柱”、“捡”、“倍镜”生成的“铁柱捡倍镜”确定为目标历史弹幕。
作为一种可选的实施方式,在获取目标数据库中与第一场景信息匹配的目标历史弹幕之前,该方法还包括:获取目标客户端在当前时刻之前的第一时间段内显示的弹幕的第一数量;根据第一数量和目标客户端在包括当前时刻的第二时间段内需要显示的第二数量确定目标历史弹幕的目标数量,其中,第二数量通过对历史弹幕的数量和历史弹幕在目标客户端上显示的时刻进行拟合得到;获取目标数据库中与第一场景信息匹配的目标历史弹幕包括:获取目标数据库中与第一场景信息匹配的目标数量的目标历史弹幕。
在该实施例中,在目标数据库中对与第一场景信息匹配的目标历史弹幕进行查询的维度可以包括业务、主播、时间戳,查询数量。其中,查询数量决定了当前需要查询并推送多少目标历史弹幕到直播间,原则是尽量模拟真实情况,在提高直播/视频活跃度的基础上减少对用户的打扰。
获取目标客户端在当前时刻之前的第一时间段内显示的弹幕的第一数量,可以是主播直播间在当前时刻之前的短时间内实际产生的真实弹幕数量(记为B),也即,弹幕流量密度;根据第一数量和目标客户端在包括当前时刻的第二时间段内需要显示的第二数量确定目标历史弹幕的目标数量,该目标数量也即对目标历史弹幕进行查询的数量,可选地,该实施例根据对历史弹幕的数量和历史弹幕在目标客户端上显示的时刻进行拟合得到当前时刻的第二时间段内需要显示的第二数量,可以根据历史数据统计出各业务/主播的真实弹幕量-时间采样分布,进而拟合出真实弹幕量-时间曲线(是以业务、主播、时间为自变量的非线性函数),根据拟合曲线可以得到业务/主播房间在任意时刻附近短时间内理论弹幕量(记为A),那么任意时刻的对目标历史弹幕进行查询的数量近似等于f(A-B),f是加权函数。可选地,当真实弹幕量已经足够多时,说明直播间已经达到较高活跃度,则需要减少系统产生的弹幕数量,反之,当有真实用户观看但直播间却很冷清时,需要增加系统产生的较多的弹幕显示在目标客户端上,并且使得总弹幕量符合时间拟合曲线规律。
在确定了业务、主播、时间戳,查询数量之后,对于前文所述的多种弹幕生成方式按照一定优先级进行查询,比如,按照优先级从高到底依次为相似性策略、上下文策略、策略热词、业务-主播策略、业务策略、公共策略,并对查询到的结果排序后输出。可选地,该实施例将查询到的弹幕集合进行一个简单排序,并将每一条与一个游戏昵称对应起来进行输出。
该实施例的视频弹幕生成方法,针对“直播/视频弹幕”特定应用场景,为一种基于海量历史数据与多种策略相结合的技术方案,基于检索式模型提出一种“分类索引+倒排索引”的二级索引结构,并以此为基础实现了通过多种弹幕生成策略进行的多维度查询算法与混合调度策略,构建的弹幕生成系统具有与直播视频场景相关性强、文本内容多样丰富、发送频率符合自然人发送规律等特点,能够有效地活跃直播间氛围、提升真实玩家参与在线互动的热情。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
下面结合优选的实施例对本发明的技术方案进行说明。
该实施例基于检索式模型提出了一种“分类索引+倒排索引”的二级索引结构,并以此为基础实现了多种维度查询算法与混合调度策略,构建的弹幕生成系统具有与直播视频场景相关性强、文本内容多样丰富、发送频率符合自然人发送规律等特点。
该实施例的数据结构主要是指热数据用到的索引层(内存数据库)和底层存储(CDB),数据结构建立与数据流转过程如下图所示:
图3是根据本发明实施例的一种的基于混合策略的智能弹幕生成系统的示意图。如图3所示,
S1,用户输入的弹幕数据通过直播后台核心系统落入Redis数据库。
用户输入的弹幕指用户在直播间里实时发送的弹幕,通过用户发送的弹幕数据的累积,形成海量历史数据。
S2,对Redis数据库中的弹幕数据进行分词、词数统计,同时落地玩家昵称语料。
S3,将Redis数据库中的弹幕数据落入CDB存储,生成唯一ID。
S4,根据词数统计数据创建词性分类。
S5,结合弹幕数据和词性分类构建“分类索引+倒排索引”的二级索引结构。
S6,索引层与CDB中的数据都是检索查询用到的热数据,会将数据异步落地到公司级数据仓库(TDW)作为“冷数据”保存,以供数据挖掘使用。
下面对该实施例的创建“分类索引+倒排索引”二级索引结构的方法进行介绍。
图4是根据本发明实施例的一种创建索引的方法的流程图。如图4所示,该方法包括以下步骤:
步骤S401,全局次数统计。
以弹幕“8倍镜在决赛圈没用”为例进行说明(注:以下介绍中的数字只是为了说明技术方案并非真实数据)。
该实施例对用户弹幕进行分词处理,比如,用户弹幕为绝地求生业务中的“8倍镜在决赛圈中没用”,则分词为“倍镜”、“决赛圈”、“没用”;再比如,用户弹幕为拳皇命运中的“大门带霸体好点”,则分词为“大门”、“霸体”、“好点”。
在对用户弹幕进行分词处理之后,针对业务/主播进行全局词数统计生成哈希映射,可以为分词->{业务:{主播ID:词数}}。比如,分词“倍镜”->{“pubgm”:{“1_1001”:1000,“1_1002”:900},{“kofmy”:{“1_1003”:1}},用于表示“倍镜”这个分词在“绝地求生”业务里共出现1900次,其中,包括在主播“1_1001”里出现了1000次和在主播“1_1002”里出现了900次,在“拳皇命运”业务里共出现1次,仅在主播“1_1003”里出现1次。
步骤S402,全局词性分类。
该实施例根据全局词数统计生成全局词性分类,从而可以实现给定一个分词,确定出它是哪个业务/主播的特征词。
可选地,在计算分析属于哪个业务特征词时,可以先词频统计哈希映射T={k1:v1,k2:v2},其中,k1、k2用于表示业务的类型,v1、v2用于表示分词在对应业务下的总次数;词频统计哈希映射归一化R={k1:tf_v1,k2:tf_v2},其中,tf_v1用于表示对v1进行归一化处理后的结果,tf_v2用于表示对v2进行归一化处理后的结果。权重总值TOTAL_WEIGHT==tf_v1+tf_v2,阈值THRESHOLD,则对于业务k(k为k1、k2),判断R[k]/TOTAL_WEIGHT是否大于等于阈值THRESHOLD,其中,R[k]为tf_v1、tf_v2。如果判断出R[k]/TOTAL_WEIGHT大于等于阈值THRESHOLD,则确定分词为业务k的特征词,否则,分词不是任何业务的特征词,属于公共(Commom)类型。
举例而言,对于分词“倍镜”,T={“pubgm”:1900,“kofmy”:1},因为不同业务的体量有差异,在业务间进行比较时不能使用词数,需要先对词数进行归一化处理得到词频。该实施例采用的归一化方法为该分词在业务中出现的词数除以该业务下的总词数。对T={“pubgm”:1900,“kofmy”:1}进行归一化处理之后,得到哈希值R={“pubgm”:0.017,“kofmy”:0.00001},也即,通过词频度量了分词在不同业务下出现的高频程度,可以取阈值THRESHOLD为0.8。因此对于“倍镜”在“pubgm”业务下的哈希值为0.017/(0.017+0.0001)=0.994,这个值大于阈值0.8,因此,认为“倍镜”是业务绝地求生pubgm的特征词。
在计算出分词属于哪个业务特征词之后,进一步计算该分词具体属于该业务下哪个主播的特征词。可选地,主播维度词频哈希映射M={a1:v1,a2:v2},其中,a1、a2用于表示主播,v1、v2用于表示分词在主播下的总次数。词在业务下总词频total=v1+v2。主播维度词频哈希映射归一化N(a)={a1:v1/total,a2:v2/total},阈值ANCHOR_THRESHOLD,判断分词属于哪个主播a(a为a1、a2),可以判断N[a]是否大于等于阈值ANCHOR_THRESHOLD,其中,N[a]为v1/total、v2/total。如果判断出N[a]大于等于阈值ANCHOR_THRESHOLD,则确定分词属于主播a的特征词,否则,分词不属于任何主播的特征词。
举例而言,“倍镜”是业务“绝地求生”的特征词,M={“1_1001”:1000,“1_1002”:900},根据算法归一化后得到N={“1_1001”:0.52,“1_1002”:0.48},哈希值度量了分词在不同主播房间出现的高频程度,可以取ANCHOR_THRESHOLD阈值0.7。则计算得到“倍镜”并不是“绝地求生”主播房间“1_1001”、“1_1002”的特征词,而是一个普遍词汇。而对于某些分词,比如,与主播名字、昵称相同的分词,则该分词很有大概率是属于该主播的特征词,比如,分词“铁柱”,M={“1_1001”:1000,“1_1002”:10},根据算法归一化后得到N={“1_1001”:0.991,“1_1002”:0.009},计算后可以得到“铁柱”是主播“1_1001”的特征词。
通过该实施例的上述方法可以得到全局的词性分类,生成的结构可以如下:
分词“倍镜”——{“pubgm”:“”},用于表示分词“倍镜”是属于“绝地求生”业务下的特征词;
分词“铁柱”——{“pubgm”:“1_0001”},用于表示分词“铁柱”是属于“绝地求生”业务下的主播“1_1001”的特征词;
分词“小姐姐”——nil或{},用于表示分词“小姐姐”不属于任何业务的特征词,而是一个普通词汇。
步骤S403,为弹幕选取代表词。
该实施例可以给用户弹幕选举代表词,这一步的目的是为了给用户弹幕打上标签。步骤S402中的词性分类是给定分词得到其业务/主播的特征词,而该步骤时由分词扩展到弹幕,通过选举出的代表词来定义整条弹幕的业务/主播特征,这样在存储索引时使具有相同特征的弹幕能够聚集在一起,从而优化查询效率。
可选地,选举代表词的规则算法可以为弹幕分词列表[w0,w1,…],语境R=[业务,主播,发言时间,…],候选代表词C=nil,候选代表词初始分数S=0。计算分词w在语境R下的分数。可选地,每一条弹幕都有其语境特征,比如,业务、主播,对弹幕的分词进行遍历,遍历前的基础分为0,比较每一个分词的业务-主播特性与整条弹幕的语境特征是否一致,如果一致则加分,比如,与业务一致加10分,与业务和主播特性均一致加100分,当分数比S大,将遍历到的分词作为候选代表词,并将S重新设置为遍历到的分词的分数,如果分词w与弹幕语境有冲突则不加入索引,则退出,如果分数和S相同,则选择词频高的分词作为候选代表词,在遍历完成所有分词之后,将最后确定的候选代表词确定为弹幕的代表词。
在该实施例中,分词在语境下的分数是用来评价词的业务/主播特征与弹幕语境的契合程度,与弹幕语境契合度越高的分词,其业务/主播特性就有更高几率代表整句的业务/主播特性。
举例而言,“倍镜”是属于“绝地求生”业务的特征词,如果弹幕“8倍镜在决赛圈没用”是从“拳皇命运”直播间里发出的,那么分词与弹幕语境有冲突,这条数据不加入索引;如果弹幕“铁柱快捡这个8倍镜”是从主播铁柱的直播间发出的,那么分词“铁柱”与语境具有更高的契合度,应该成为该条弹幕的代表词;如果弹幕“铁柱快捡这个8倍镜”是从“绝地求生”业务下的其它房间发出的,则分词“铁柱”、“倍镜”都是业务特征词,且与语境契合程度一样,则这时选举策略就要从其它维度(比如,词频)来进行比较,可以选择词频高的分词作为代表词。
步骤S404,存储索引。
该实施例提出了“分类索引+倒排索引”二级索引结构,前所述步骤S401至步骤S403三个步骤为存储索引做好了准备工作,下面对该实施例的具体存储方案进行介绍。
首先,倒排索引,根据步骤S403可以得到弹幕的代表词,然后以代表词作为桶,仅将弹幕挂载到代表词下(而非所有分词),其中,桶是一个逻辑上的“容器”的概念,从实现上来说,可以理解为链表结构的表头,用来索引(查找)链表的。对包含该代表词的所有弹幕进行聚合,可以在桶内创建一个链表结构,每一个链表节点包含这些弹幕中相似弹幕的ID。
可选地,该实施例从头向后遍历桶内的每一个链表节点,将用户输入的弹幕与每一个链表节点中所有已存在的弹幕(或者出于性能考虑可以只随机抽取其中一个弹幕)进行相似度的比较,可以通过Jaccard相似度来进行比较,当用户输入的弹幕与链表节点下已存在的弹幕相似时,可以加入该节点,否则继续指向下一个链表节点。如果到链表尾部时还没插入,则可以在桶内新创建一个链表节点。根据上述数据加入链表的算法,最终每一个链表节点中已存在的弹幕都是相似的。
图5是根据本发明实施例的一种加入倒排索引的示意图。如图5所示,如果用户输入的第一个弹幕可以为“8倍镜在决赛圈没用”的代表词是“倍镜”,则将其ID1加入代表词为“倍镜”的桶中的一个第1个链表节点中。
图6是根据本发明实施例的另一种加入倒排索引的示意图。如图6所示,用户输入的第二个弹幕可以为“决赛圈8倍镜可以扔了”,其分词为[“决赛圈”,“倍镜”,“扔了”],其代表词也是“倍镜”,所以加入到代表词为“倍镜”的桶中,第一个链表节点里已经包含第一个弹幕的ID1,第一个弹幕与第二个弹幕间的Jaccard相似度为0.67(取0.5作为相似度阈值,大于0.5认为两个弹幕相似)判定二者相似,因此把第二个弹幕的ID2加入该第1个链表节点中,退出遍历。第三个弹幕可以为“捡了一个4倍镜”,其分词为[“捡了”,“倍镜”],其代表词也是“倍镜”,所以加入到代表词“倍镜”的桶中,与第1个链表节点里的弹幕进行比较(可以随机取ID1进行比较),第三个弹幕与第一个弹幕Jaccard相似度为0.25,小于阈值0.5,则确定第三个弹幕与第一个弹幕二者不相似,继续向后遍历,到链表尾部时,如果还没有插入进链表节点中,则可以在桶内新创建一个链表节点。
将所有的弹幕按照上述算法加入倒排索引,同时也得到了代表词集合。
在该实施例的分类索引中,将倒排索引得到的代表词集合,根据步骤S402的词性分类,反向存储“业务——特征词集合”和“业务+房间——特征词集合”的映射,从而创建出分类索引。
举例而言,全局的词性分类,生成结构例如“铁柱”——{“pubgm”:“1_0001”},“倍镜”——{“pubgm”:“”}表示“铁柱”是绝地求生的特征词,且是绝地求生业务下主播1_10001的特征词,“倍镜”只是绝地求生业务的特征词,则对其进行反向存储的结果为绝地求生业务的特征词集合是{“铁柱”,“倍镜”};绝地求生-1_10001对应的特征词集合是{“铁柱”}。
在该实施例中,弹幕ID只存储在代表词而非所有分词的桶下,这样不但减小了数据存储规模,而且每个桶下的所有弹幕都具有相似的业务/主播特性,从而更好地提高查询效率;另外,该实施例通过倒排索引的词链表结构,不同链表节点间的弹幕虽然都包含相同代表词,但不同链表节点间的弹幕不相似,从而达到文本去重的效果;同一个链表节点内的弹幕,都是相似弹幕,达到弹幕聚类的效果,这种结构设计提升了系统产生弹幕的多样性。
下面对该实施例的多种维度查询策略进行介绍。
表1多维度弹幕查询策略
在该实施例中,底层CDB存储是按日分表的,索引也是按日期创建存储的,查询时可以随机选择过去一天的数据来提升文本多样性。
相似性策略的依据是,每个主播都有自己固定的直播节奏,当前场景很可能与过去时间的某一历史时刻相似,每晚18:00-24:00开播、或者周六周日打巅峰赛等,因此该主播历史相似时刻的弹幕有较大概率适合于当前场景。比如,可以取7日前的当前时刻作为相似历史时刻,比如,现在是周一晚19:30,那么历史相似时刻指上周一晚19:30。
上下文策略,根据当前真实弹幕搜索与其匹配度最高的下文或回复,在具体实现上,可以先将弹幕分词,再去倒排索引这些分词下的链表里查询与该弹幕相似的文本,利用前文所述的倒排索引的链表结构与插入算法,并利用文本聚类的特点提升查找相似文本的性能,再查找这些相似文本的下文,并结合当前语境(业务/主播)进行过滤,从而得到输出集合。
在该实施例中,链表节点里有多个相似弹幕,每个弹幕都有一个唯一ID,这个ID是原始数据插入数据库时生成的主键,可以将Redis中的弹幕数据落入CDB存储,生成唯一ID,而Redis中的数据落入数据库时是上下文一起存进去的,比如,文本7,8,9是一组上下文,17,18,19是一组上下文,则从一个链表节点里取出7,17这两个文本时,可以利用SQL语句从数据库里找到它们对应的下文。
该实施例的“业务-主播”、“业务”、“公共”策略都是先从分类索引下查询到代表词集合,再从代表词集合中选取出一部分代表词来使用,那么从代表词集合中选取出一部分代表词可以是随机选取,也可以根据这个代表词集合中的代表词的词频排序,选取那些词频高的代表词,再根据代表词从倒排索引中查询不重复、多样化的文本,从而得到输出集合。
下面对该实施例的混合调度策略进行介绍。
图7是根据本发明实施例的一种混合调度策略的示意图。7如图所示,该实施例基于检索式模型,利用“分类索引+倒排索引”的二级索引结构,并以此为基础实现了多维弹幕查询算法(Query Dimension,简称为DQ),包括相似性策略、上下文策略、热词策略、业务-主播策略、业务策略、公共策略。最终通过混合策略将这些算法进行组合、对查询到的结果排序、输出。
在该实施例中,查询的维度主要可以包括业务、主播、时间戳,查询数量。其中,查询数量决定了当前需要查询并推送多少弹幕到直播间,原则是尽量模拟真实情况,在提高直播/视频活跃度的基础上减少对用户的打扰。
该实施例的查询数量可以由“真实弹幕量-时间拟合曲线”与直播间弹幕“流量密度”共同决定。
图8是根据本发明实施例的一种真实弹幕量-时间拟合曲线。如图8所示,横轴用于表示时间,纵轴用于表示真实弹幕数,真实弹幕数随着时间不断变化。该实施例根据历史数据可以统计出各业务/主播的真实弹幕量-时间采样分布,进而拟合出真实弹幕量-时间曲线(以业务、主播、时间为自变量的非线性函数)。
可选地,该实施例根据拟合曲线可以得到业务/主播房间在任意时刻附近短时间内理论弹幕量(记为A)。弹幕流量密度是指主播直播间在当前时刻之前的短时间内实际产生的真实弹幕数量(记为B)。那么任意时刻的查询数量近似等于f(A-B),f是加权函数,也即,当真实弹幕量已经足够多时,则说明直播间已经达到较高活跃度情况下需要减少系统产生的弹幕数量,反之,当有真实用户观看但直播间却很冷清时,需要增加系统产生的弹幕数量,并且使得总弹幕量符合时间拟合曲线规律。
在确定了业务、主播、时间戳,查询数量后,对于前文所述的多种维度策略按照一定优先级进行查询,比如,优先级从高到底依次为相似性策略、上下文策略、热词策略、业务-主播策略、业务策略、公共策略,并对查询到的结果进行排序,并将每一条与一个游戏昵称对应起来,进行输出。
本发明实施例的应用环境可以但不限于参照上述实施例中的应用环境,本实施例中对此不再赘述。本发明实施例提供了用于实施上述视频的弹幕生成方法的一种可选的具体应用。
该实施例的方案针对“直播/视频弹幕”这一特定应用场景,基于检索式模型设计、实现了一套数据结构,并基于该数据结构实现了多种维度查询算法与混合调度策略,从而构建出智能弹幕生成系统。系统具有与直播视频场景相关性强、文本内容多样丰富、发送频率符合自然人发送规律等特点。
图9是根据本发明实施例的一种开启视频弹幕生成功能的场景示意图。如图9所示,开启智能弹幕生成系统,智能生成了与绝地求生业务相关的弹幕,比如,生成了弹幕“好慢啊”、“分榜在哪里看来着”、“找新鲜感”、“无证驾驶”、“膜拜老司机”、“最近三蹦子变少了”、“老强不玩了他不就玩得少了”、“8.16号的不全呀”、“我还是”。
图10是根据本发明实施例的一种关闭视频弹幕生成功能的场景示意图。如图10所示,在与图9相同游戏同一个直播间,关闭视频弹幕生成功能之后,不智能生成任何弹幕。
图11是根据本发明实施例的另一种开启视频弹幕生成功能的场景示意图。如图11所示,开启智能弹幕生成系统,智能生成了与全军出击场景相关的弹幕,比如,生成了弹幕“M4不行啦”、“AK倍怎么压枪”、“4倍”、“我现在挺喜欢用UMP9”。
图12是根据本发明实施例的另一种开启视频弹幕生成功能的场景示意图。如图12所示,开启智能弹幕生成系统,智能生成了与拳皇场景相关的弹幕,比如,生成了弹幕“几十个热门碎片”、“5星大蛇的被动是啥意思”、“陈国汉专克大蛇追踪”、“罗伯特吧”。
图13A是根据本发明实施例的一种发送真实弹幕语义的示意图。如图13A所示,用户发送真实弹幕“好菜”。
图13B根据本发明实施例的一种符合真实弹幕语义的下文回复的示意图。如图13B所示,用户发送真实弹幕“好菜”之后,系统智能产生回复弹幕“我都听懂了”、“服了”、“好菜”、“里面的人傻傻的叼叼的”等。
图14A是根据本发明实施例的另一种发送真实弹幕语义的示意图。如图14A所示,用户发送真实弹幕“厉害厉害”。
图14B是根据本发明实施例的另一种发送真实弹幕语义的示意图。如图14B所示,在用户发送真实弹幕“厉害厉害”之后,系统智能产生回复弹幕“红点一直都很稳好吧”、“你也太能吃了吧”、“宝贝,晚上请他吃鸡”等。
需要说明的是,上述视频的弹幕智能生成的应用场景仅为本发明实施例的举例说明,并不代表本发明实施例的弹幕智能生成的应用场景仅为上述场景,任何可以通过该实施例的视频的弹幕生成方法实现的应用场景都在该实施例的范围之内,此处不再一一举例说明。
该实施例针对直播/视频弹幕这一特定应用场景,提供了一种基于海量历史数据与多种策略相结合的技术方案构建智能弹幕生成系统,模拟真人发送弹幕,能够有效地活跃直播间氛围、提升真实玩家参与在线互动的热情。
根据本发明实施例的另一方面,还提供了一种用于实施上述视频的弹幕生成方法的视频的弹幕生成装置。图15是根据本发明实施例的一种视频的弹幕生成装置的示意图。如图15所示,该视频的弹幕生成装置150可以包括:第一获取单元10、第二获取单元20和显示单元30。
第一获取单元10,用于获取当前时刻在目标客户端上所显示的目标视频的第一场景信息,其中,第一场景信息用于指示目标视频所处的播放场景。
第二获取单元20,用于获取目标数据库中与第一场景信息匹配的目标历史弹幕,其中,目标数据库中存储的历史弹幕包括在当前时刻之前,与多个客户端播放的视频相关联的弹幕。
显示单元30,用于将获取到的目标历史弹幕与目标视频共同显示在目标客户端上。
需要说明的是,该实施例中的第一获取单元10可以用于执行本申请实施例中的步骤S202,该实施例中的第二获取单元20可以用于执行本申请实施例中的步骤S204,该实施例中的显示单元30可以用于执行本申请实施例中的步骤S206。
该实施例结合目标视频的第一场景信息确定与目标视频的场景相关的弹幕生成方法,获取目标数据库中与第一场景信息匹配的目标历史弹幕,并将获取到的目标历史弹幕自动显示在目标客户端上,达到了自动生成目标视频的弹幕的目的,避免了由于采用预设有限弹幕文本集合,随机重复发送弹幕,使得生成的弹幕与视频的场景的相关性低,从而实现了提高生成的弹幕与视频的场景的相关性的技术效果,进而解决了相关技术中生成的弹幕与视频的场景的相关性低的技术问题。
此处需要说明的是,上述单元与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本发明实施例的又一方面,还提供了一种用于实施上述视频的弹幕生成方法的电子装置。
图16是根据本发明实施例的一种电子装置的结构框图。如图16所示,该电子装置包括存储器162和处理器164,该存储器中存储有计算机程序,该处理器被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器164可以被设置为通过计算机程序执行以下步骤:
S1,获取当前时刻在目标客户端上所显示的目标视频的第一场景信息,其中,第一场景信息用于指示目标视频所处的播放场景;
S2,获取目标数据库中与第一场景信息匹配的目标历史弹幕,其中,目标数据库中存储的历史弹幕包括在当前时刻之前,与多个客户端播放的视频相关联的弹幕;
S3,将获取到的目标历史弹幕与目标视频共同显示在目标客户端上。
可选地,本领域普通技术人员可以理解,图16所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图16其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图16中所示更多或者更少的组件(如网络接口等),或者具有与图16所示不同的配置。
其中,存储器162可用于存储软件程序以及模块,如本发明实施例中的人脸特征的处理方法和装置对应的程序指令/模块,处理器164通过运行存储在存储器162内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的视频的弹幕生成方法。存储器162可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其它非易失性固态存储器。在一些实例中,存储器162可进一步包括相对于处理器164远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器162具体可以但不限于用于存储目标数据库中与第一场景信息匹配的目标历史弹幕等信息。作为一种示例,如图16所示,上述存储器162中可以但不限于包括上述视频的弹幕生成装置900中的获取单元16、第二获取单元20和显示单元30。此外,还可以包括但不限于上述图像的场景识别装置中的其它模块单元,本示例中不再赘述。
上述的传输装置166用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置606包括一个网络适配器(NetworkInterface Controller,NIC),其可通过网线与其它网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置606为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器168,用于显示上述目标历史弹幕与目标视频;连接总线170,用于连接上述电子装置中的各个模块部件。
根据本发明的实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取当前时刻在目标客户端上所显示的目标视频的第一场景信息,其中,第一场景信息用于指示目标视频所处的播放场景;
S2,获取目标数据库中与第一场景信息匹配的目标历史弹幕,其中,目标数据库中存储的历史弹幕包括在当前时刻之前,与多个客户端播放的视频相关联的弹幕;
S3,将获取到的目标历史弹幕与目标视频共同显示在目标客户端上。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取与第一场景信息对应的多种弹幕生成方式;
S2,按照多种弹幕生成方式的优先级顺序分别在目标数据库中获取与第一场景信息对应的多组弹幕,其中,每组弹幕是按照一种弹幕生成方式在目标数据库中获取到的弹幕,目标历史弹幕包括被设置为按照优先级顺序显示的多组弹幕。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,从第一场景信息中获取播放场景的第一场景标识信息;
S2,在目标数据库中确定与第一场景标识信息对应的第一特征词,其中,目标数据库中存储第一特征词和与第一特征词具有映射关系的第一历史弹幕集合,第一特征词与第一历史弹幕集合中弹幕的语义相匹配;
S3,将在第一历史弹幕集合中随机获取的目标数量的历史弹幕确定为目标历史弹幕;或者,第一历史弹幕集合中存在第一特征词的词频大于第一目标阈值的历史弹幕确定为目标历史弹幕。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,从第一场景信息中获取播放场景下的主播帐号的属性信息,其中,主播帐号用于播放目标视频;
S2,在目标数据库中确定与属性信息对应的第二特征词,其中,目标数据库中存储第二特征词和与第二特征词具有映射关系的第二历史弹幕集合,第二特征词与第二历史弹幕集合中弹幕的语义相匹配;
S3,将在第二历史弹幕集合中随机获取的目标数量的历史弹幕确定为目标历史弹幕;或者,将第二历史弹幕集合中存在第二特征词的词频大于第一目标阈值的历史弹幕确定为目标历史弹幕。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在目标数据库中获取第一目标类型的第三特征词,其中,第一目标类型的第三特征词与多个场景信息相匹配,目标数据库中存储第三特征词和与第三特征词具有映射关系的第三历史弹幕集合,多个场景信息包括第一场景信息;
S2,将在第三历史弹幕集合中随机获取的目标数量的历史弹幕确定为目标历史弹幕;或者,将第三历史弹幕集合中存在第三特征词的词频大于第一目标阈值的历史弹幕确定为目标历史弹幕。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取与第一场景信息的相似度高于第二目标阈值的第二场景信息;
S2,在目标数据库中将与第二场景信息相匹配的历史弹幕确定为目标历史弹幕。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
当第一场景信息包括目标客户端在当前时刻显示的来自目标帐号的第一目标弹幕时,将目标数据库中与第一目标弹幕的语义相匹配的历史弹幕确定为目标历史弹幕。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在目标客户端在当前时刻显示来自目标帐号的第一目标弹幕之后,对第一目标弹幕进行分词处理,得到多个目标分词;
S2,根据每个目标分词分别在多个播放场景中出现过的次数,确定第一目标分词为目标播放场景的特征词,其中,每个目标分词包括第一目标分词,所述多个播放场景包括目标播放场景;
S3,在目标播放场景的特征词与第一目标弹幕的语义相匹配的情况下,将目标播放场景的特征词确定为第一目标弹幕的特征词;
S4,将第一目标弹幕存储至目标数据库中与第一目标弹幕的特征词对应的弹幕集合中,其中,弹幕集合通过多个链表节点存储特征词与第一目标弹幕的特征词相同的多条历史弹幕,存储于同一目标链表节点中的第一目标弹幕与多条第一历史弹幕的相似度大于第三目标阈值,或目标链表节点未存储有历史弹幕,多个链表节点包括目标链表节点,多条历史弹幕包括多条第一历史弹幕。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在目标客户端在当前时刻显示来自目标帐号的第一目标弹幕之后,对第一目标弹幕进行分词处理,得到多个目标分词;
S2,根据每个目标分词分别在多个主播帐号所播放的播放场景中出现的目标次数,确定第二目标分词为目标主播帐号的特征词,其中,每个目标分词包括第二目标分词,多个主播帐号包括目标主播帐号;
S3,在目标主播帐号的特征词与第一目标弹幕的语义相匹配的情况下,将目标主播帐号的特征词确定为第一目标弹幕的特征词;
S4,将第一目标弹幕存储至目标数据库中与第一目标弹幕的特征词对应的弹幕集合中的目标链表节点中,其中,弹幕集合通过多个链表节点存储特征词与第一目标弹幕的特征词相同的多条历史弹幕,存储于同一目标链表节点中的第一目标弹幕与多条第二目标链表节点中存储的历史弹幕的相似度大于第三目标阈值,多个链表节点包括目标链表节点,多条历史弹幕包括多条第二历史弹幕。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,遍历多个链表节点;
S2,在第一目标弹幕与遍历到的链表节点中存储的历史弹幕的相似度大于第三目标阈值的情况下,将遍历到的链表节点确定为目标链表节点,并将第一目标弹幕存储至目标链表节点中;
S4,在第一目标弹幕与遍历到的每个链表节点中存储的历史弹幕的相似度均不大于第三目标阈值的情况下,创建链表节点,将创建的链表节点确定为目标链表节点,并将第一目标弹幕存储至目标链表节点中。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
在对第一目标弹幕进行分词处理,得到多个目标分词之后,方确定多个目标分词中的第三目标分词为第一目标类型的特征词,其中,第一目标类型的特征词与多个场景信息相匹配,其中,多个场景信息包括第一场景信息。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
将目标数据库中与第一场景信息相关联的预定弹幕,确定为目标历史弹幕,其中,第二目标类型的第四特征词预先设置在目标数据库中。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在获取目标数据库中与第一场景信息匹配的目标历史弹幕之前,获取目标客户端在当前时刻之前的第一时间段内显示的弹幕的第一数量;
S2,根据第一数量和目标客户端在包括当前时刻的第二时间段内需要显示的第二数量确定目标历史弹幕的目标数量,其中,第二数量通过对历史弹幕的数量和历史弹幕在目标客户端上显示的时刻进行拟合得到;
S3,获取目标数据库中与第一场景信息匹配的目标数量的目标历史弹幕。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种视频的弹幕生成方法,其特征在于,包括:
获取当前时刻在目标客户端上所显示的目标视频的第一场景信息,其中,所述第一场景信息用于指示所述目标视频所处的播放场景;
获取目标数据库中与所述第一场景信息匹配的目标历史弹幕,其中,所述目标数据库中存储的历史弹幕包括在所述当前时刻之前,与多个客户端播放的视频相关联的弹幕;
将获取到的所述目标历史弹幕与所述目标视频共同显示在所述目标客户端上。
2.根据权利要求1所述的方法,其特征在于,获取目标数据库中与所述第一场景信息匹配的目标历史弹幕包括:
获取与所述第一场景信息对应的多种弹幕生成方式;
按照所述多种弹幕生成方式的优先级顺序分别在所述目标数据库中获取与所述第一场景信息对应的多组弹幕,其中,每组弹幕是按照一种所述弹幕生成方式在所述目标数据库中获取到的弹幕,所述目标历史弹幕包括被设置为按照所述优先级顺序显示的所述多组弹幕。
3.根据权利要求1所述的方法,其特征在于,获取目标数据库中与所述第一场景信息匹配的目标历史弹幕包括:
从所述第一场景信息中获取所述播放场景的第一场景标识信息;
在所述目标数据库中确定与所述第一场景标识信息对应的第一特征词,其中,所述目标数据库中存储所述第一特征词和与所述第一特征词具有映射关系的第一历史弹幕集合,所述第一特征词与所述第一历史弹幕集合中弹幕的语义相匹配;
将在所述第一历史弹幕集合中随机获取的目标数量的历史弹幕确定为所述目标历史弹幕;或者,将所述第一历史弹幕集合中存在所述第一特征词的词频大于第一目标阈值的历史弹幕确定为所述目标历史弹幕。
4.根据权利要求1所述的方法,其特征在于,获取目标数据库中与所述第一场景信息匹配的目标历史弹幕包括:
从所述第一场景信息中获取所述播放场景下的主播帐号的属性信息,其中,所述主播帐号用于播放所述目标视频;
在所述目标数据库中确定与所述属性信息对应的第二特征词,其中,所述目标数据库中存储所述第二特征词和与所述第二特征词具有映射关系的第二历史弹幕集合,所述第二特征词与所述第二历史弹幕集合中弹幕的语义相匹配;
将在所述第二历史弹幕集合中随机获取的目标数量的历史弹幕确定为所述目标历史弹幕;或者,将所述第二历史弹幕集合中存在所述第二特征词的词频大于第一目标阈值的历史弹幕确定为所述目标历史弹幕。
5.根据权利要求1所述的方法,其特征在于,获取目标数据库中与所述第一场景信息匹配的目标历史弹幕包括:
在所述目标数据库中获取第一目标类型的第三特征词,其中,所述第一目标类型的所述第三特征词与多个场景信息相匹配,所述目标数据库中存储所述第三特征词和与所述第三特征词具有映射关系的第三历史弹幕集合,所述多个场景信息包括所述第一场景信息;
将在所述第三历史弹幕集合中随机获取的目标数量的历史弹幕确定为所述目标历史弹幕;或者,将所述第三历史弹幕集合中存在所述第三特征词的词频大于第一目标阈值的历史弹幕确定为所述目标历史弹幕。
6.根据权利要求1所述的方法,其特征在于,获取目标数据库中与所述第一场景信息匹配的目标历史弹幕包括:
获取与所述第一场景信息的相似度高于第二目标阈值的第二场景信息;
在所述目标数据库中将与所述第二场景信息相匹配的历史弹幕确定为所述目标历史弹幕。
7.根据权利要求1所述的方法,其特征在于,获取目标数据库中与所述第一场景信息匹配的目标历史弹幕包括:
当所述第一场景信息包括所述目标客户端在所述当前时刻显示的来自目标帐号的第一目标弹幕时,将所述目标数据库中与所述第一目标弹幕的语义相匹配的历史弹幕确定为所述目标历史弹幕。
8.根据权利要求7所述的方法,其特征在于,在目标客户端在所述当前时刻显示来自目标帐号的第一目标弹幕之后,所述方法还包括:
对所述第一目标弹幕进行分词处理,得到多个目标分词;
根据每个所述目标分词分别在多个播放场景中出现过的次数,确定第一目标分词为目标播放场景的特征词,其中,每个所述目标分词包括所述第一目标分词,所述多个播放场景包括所述目标播放场景;
在所述目标播放场景的特征词与所述第一目标弹幕的语义相匹配的情况下,将所述目标播放场景的特征词确定为所述第一目标弹幕的特征词;
将所述第一目标弹幕存储至所述目标数据库中与所述第一目标弹幕的特征词对应的弹幕集合中,其中,所述弹幕集合通过多个链表节点存储特征词与所述第一目标弹幕的特征词相同的多条历史弹幕,存储于同一目标链表节点中的所述第一目标弹幕与多条第一历史弹幕的相似度大于第三目标阈值,所述多个链表节点包括所述目标链表节点,所述多条历史弹幕包括所述多条第一历史弹幕。
9.根据权利要求7所述的方法,其特征在于,在目标客户端在所述当前时刻显示来自目标帐号的第一目标弹幕之后,所述方法还包括:
对所述第一目标弹幕进行分词处理,得到多个目标分词;
根据每个所述目标分词分别在多个主播帐号所播放的播放场景中出现的次数,确定第二目标分词为目标主播帐号的特征词,其中,每个所述目标分词包括所述第二目标分词,所述多个主播帐号包括所述目标主播帐号;
在所述目标主播帐号的特征词与所述第一目标弹幕的语义相匹配的情况下,将所述目标主播帐号的特征词确定为所述第一目标弹幕的特征词;
将所述第一目标弹幕存储至所述目标数据库中与所述第一目标弹幕的特征词对应的弹幕集合中,其中,所述弹幕集合通过多个链表节点存储特征词与所述第一目标弹幕的特征词相同的多条历史弹幕,存储于同一目标链表节点中的所述第一目标弹幕与多条第二历史弹幕的相似度大于第三目标阈值,所述多个链表节点包括所述目标链表节点,所述多条历史弹幕包括所述多条第二历史弹幕。
10.根据权利要求8或9所述的方法,其特征在于,将所述第一目标弹幕的场景标识信息存储至目标数据库中与所述第一目标弹幕的特征词对应的弹幕集合中包括:
遍历所述多个链表节点;
在所述第一目标弹幕与遍历到的所述链表节点中存储的任一所述历史弹幕的相似度大于所述第三目标阈值的情况下,将遍历到的所述链表节点确定为所述目标链表节点,并将所述第一目标弹幕存储至所述目标链表节点中;
在所述第一目标弹幕与遍历到的每个所述链表节点中存储的任一所述历史弹幕的相似度均不大于所述第三目标阈值的情况下,创建链表节点,将创建的所述链表节点确定为所述目标链表节点,并将所述第一目标弹幕存储至所述目标链表节点中。
11.根据权利要求8或9所述的方法,其特征在于,在对所述第一目标弹幕进行分词处理,得到多个目标分词之后,所述方法还包括:
确定所述多个目标分词中的第三目标分词为第一目标类型的特征词,其中,所述第一目标类型的特征词与多个场景信息相匹配,所述多个场景信息包括所述第一场景信息。
12.根据权利要求1所述的方法,其特征在于,获取目标数据库中与所述第一场景信息匹配的目标历史弹幕包括:
将所述目标数据库中与所述第一场景信息相关联的预定弹幕,确定为所述目标历史弹幕,其中,所述预定弹幕预先配置在所述目标数据库中。
13.一种视频的弹幕生成装置,其特征在于,包括:
第一获取单元,用于获取当前时刻在目标客户端上所显示的目标视频的第一场景信息,其中,所述第一场景信息用于指示所述目标视频所处的播放场景;
第二获取单元,用于获取目标数据库中与所述第一场景信息匹配的目标历史弹幕,其中,所述目标数据库中存储的历史弹幕包括在所述当前时刻之前多个目标帐号分别通过登录的客户端发送的与所述客户端播放的视频相关联的弹幕,每个所述目标帐号登录对应的一个所述客户端;
显示单元,用于将获取到的所述目标历史弹幕与所述目标视频共同显示在所述目标客户端上。
14.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至12任一项中所述的方法。
15.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至12任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910209561.5A CN109982128B (zh) | 2019-03-19 | 2019-03-19 | 视频的弹幕生成方法、装置、存储介质和电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910209561.5A CN109982128B (zh) | 2019-03-19 | 2019-03-19 | 视频的弹幕生成方法、装置、存储介质和电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109982128A true CN109982128A (zh) | 2019-07-05 |
CN109982128B CN109982128B (zh) | 2020-11-03 |
Family
ID=67079561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910209561.5A Active CN109982128B (zh) | 2019-03-19 | 2019-03-19 | 视频的弹幕生成方法、装置、存储介质和电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109982128B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111294661A (zh) * | 2020-01-21 | 2020-06-16 | 上海米哈游天命科技有限公司 | 弹幕显示方法、装置、弹幕服务器设备及存储介质 |
CN111782323A (zh) * | 2020-06-29 | 2020-10-16 | 掌阅科技股份有限公司 | 弹幕获取方法、计算设备及计算机存储介质 |
CN111800668A (zh) * | 2020-07-15 | 2020-10-20 | 腾讯科技(深圳)有限公司 | 弹幕的处理方法、装置、设备及存储介质 |
CN113139377A (zh) * | 2021-04-26 | 2021-07-20 | 北京沃东天骏信息技术有限公司 | 推送信息的方法、装置、设备和计算机可读介质 |
CN113316015A (zh) * | 2021-05-26 | 2021-08-27 | 上海哔哩哔哩科技有限公司 | 弹幕处理方法、装置及系统 |
CN113365096A (zh) * | 2021-07-05 | 2021-09-07 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种直播间暖场方法及装置、存储介质及电子设备 |
CN114245222A (zh) * | 2021-12-16 | 2022-03-25 | 网易(杭州)网络有限公司 | 一种弹幕展示方法、装置、电子设备和介质 |
CN114550157A (zh) * | 2022-02-21 | 2022-05-27 | 上海哔哩哔哩科技有限公司 | 弹幕聚集识别方法以及装置 |
CN115174957A (zh) * | 2022-06-27 | 2022-10-11 | 咪咕文化科技有限公司 | 弹幕调用方法、装置、计算机设备及可读存储介质 |
CN115190339A (zh) * | 2022-09-13 | 2022-10-14 | 北京达佳互联信息技术有限公司 | 直播信息发送方法、装置、电子设备、存储介质 |
CN116055820A (zh) * | 2023-01-19 | 2023-05-02 | 北京新唐思创教育科技有限公司 | 事件处理方法、装置、设备及介质 |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104602098A (zh) * | 2015-01-04 | 2015-05-06 | 深圳市同洲电子股份有限公司 | 一种视频弹幕显示方法及其设备 |
CN105228013A (zh) * | 2015-09-28 | 2016-01-06 | 百度在线网络技术(北京)有限公司 | 弹幕信息处理方法、装置及弹幕视频播放器 |
CN105451087A (zh) * | 2015-12-14 | 2016-03-30 | 广州弹幕网络科技有限公司 | 弹幕信息的推送方法、终端、历史数据服务器及系统 |
CN106055707A (zh) * | 2016-06-28 | 2016-10-26 | 北京小米移动软件有限公司 | 弹幕显示方法及装置 |
CN106060593A (zh) * | 2016-05-18 | 2016-10-26 | 武汉斗鱼网络科技有限公司 | P2p直播中实现真实弹幕场景模拟反馈的方法及系统 |
CN106982387A (zh) * | 2016-12-12 | 2017-07-25 | 阿里巴巴集团控股有限公司 | 弹幕的显示、推送方法及装置及弹幕应用系统 |
EP3264783A1 (en) * | 2016-06-29 | 2018-01-03 | Nokia Technologies Oy | Rendering of user-defined messages having 3d motion information |
CN107592578A (zh) * | 2017-09-22 | 2018-01-16 | 广东欧珀移动通信有限公司 | 信息处理方法、装置、终端设备及存储介质 |
CN107608964A (zh) * | 2017-09-13 | 2018-01-19 | 上海六界信息技术有限公司 | 基于弹幕的直播内容的筛选方法、装置、设备及存储介质 |
CN107645686A (zh) * | 2017-09-22 | 2018-01-30 | 广东欧珀移动通信有限公司 | 信息处理方法、装置、终端设备及存储介质 |
CN107707987A (zh) * | 2017-10-19 | 2018-02-16 | 咪咕视讯科技有限公司 | 一种弹幕显示方法及装置、以及计算机可读存储介质 |
CN107743262A (zh) * | 2017-09-14 | 2018-02-27 | 阿里巴巴集团控股有限公司 | 一种弹幕显示方法和装置 |
CN108156508A (zh) * | 2017-12-28 | 2018-06-12 | 北京安云世纪科技有限公司 | 弹幕信息处理的方法、装置、移动终端、服务器及系统 |
US20180191987A1 (en) * | 2017-01-04 | 2018-07-05 | International Business Machines Corporation | Barrage message processing |
CN108513175A (zh) * | 2018-03-29 | 2018-09-07 | 网宿科技股份有限公司 | 一种弹幕信息的处理方法及系统 |
EP3373131A1 (en) * | 2017-03-10 | 2018-09-12 | Guangdong OPPO Mobile Telecommunications Corp., Ltd. | Method, device and non-transitory computer-readable storage medium for controlling frame rate of mobile terminal, and mobile terminal thereof |
CN108540826A (zh) * | 2018-04-17 | 2018-09-14 | 京东方科技集团股份有限公司 | 弹幕推送方法、装置、电子设备及存储介质 |
CN108924653A (zh) * | 2018-07-19 | 2018-11-30 | 武汉斗鱼网络科技有限公司 | 弹幕消息分发方法、装置、设备和存储介质 |
CN109145291A (zh) * | 2018-07-25 | 2019-01-04 | 广州虎牙信息科技有限公司 | 一种弹幕关键词筛选的方法、装置、设备及存储介质 |
CN109819342A (zh) * | 2017-11-22 | 2019-05-28 | 腾讯科技(深圳)有限公司 | 弹幕内容控制方法、装置、计算机设备和存储介质 |
-
2019
- 2019-03-19 CN CN201910209561.5A patent/CN109982128B/zh active Active
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104602098A (zh) * | 2015-01-04 | 2015-05-06 | 深圳市同洲电子股份有限公司 | 一种视频弹幕显示方法及其设备 |
CN105228013A (zh) * | 2015-09-28 | 2016-01-06 | 百度在线网络技术(北京)有限公司 | 弹幕信息处理方法、装置及弹幕视频播放器 |
CN105451087A (zh) * | 2015-12-14 | 2016-03-30 | 广州弹幕网络科技有限公司 | 弹幕信息的推送方法、终端、历史数据服务器及系统 |
CN106060593A (zh) * | 2016-05-18 | 2016-10-26 | 武汉斗鱼网络科技有限公司 | P2p直播中实现真实弹幕场景模拟反馈的方法及系统 |
CN106055707A (zh) * | 2016-06-28 | 2016-10-26 | 北京小米移动软件有限公司 | 弹幕显示方法及装置 |
EP3264783A1 (en) * | 2016-06-29 | 2018-01-03 | Nokia Technologies Oy | Rendering of user-defined messages having 3d motion information |
CN106982387A (zh) * | 2016-12-12 | 2017-07-25 | 阿里巴巴集团控股有限公司 | 弹幕的显示、推送方法及装置及弹幕应用系统 |
US20180191987A1 (en) * | 2017-01-04 | 2018-07-05 | International Business Machines Corporation | Barrage message processing |
EP3373131A1 (en) * | 2017-03-10 | 2018-09-12 | Guangdong OPPO Mobile Telecommunications Corp., Ltd. | Method, device and non-transitory computer-readable storage medium for controlling frame rate of mobile terminal, and mobile terminal thereof |
CN107608964A (zh) * | 2017-09-13 | 2018-01-19 | 上海六界信息技术有限公司 | 基于弹幕的直播内容的筛选方法、装置、设备及存储介质 |
CN107743262A (zh) * | 2017-09-14 | 2018-02-27 | 阿里巴巴集团控股有限公司 | 一种弹幕显示方法和装置 |
CN107645686A (zh) * | 2017-09-22 | 2018-01-30 | 广东欧珀移动通信有限公司 | 信息处理方法、装置、终端设备及存储介质 |
CN107592578A (zh) * | 2017-09-22 | 2018-01-16 | 广东欧珀移动通信有限公司 | 信息处理方法、装置、终端设备及存储介质 |
CN107707987A (zh) * | 2017-10-19 | 2018-02-16 | 咪咕视讯科技有限公司 | 一种弹幕显示方法及装置、以及计算机可读存储介质 |
CN109819342A (zh) * | 2017-11-22 | 2019-05-28 | 腾讯科技(深圳)有限公司 | 弹幕内容控制方法、装置、计算机设备和存储介质 |
CN108156508A (zh) * | 2017-12-28 | 2018-06-12 | 北京安云世纪科技有限公司 | 弹幕信息处理的方法、装置、移动终端、服务器及系统 |
CN108513175A (zh) * | 2018-03-29 | 2018-09-07 | 网宿科技股份有限公司 | 一种弹幕信息的处理方法及系统 |
CN108540826A (zh) * | 2018-04-17 | 2018-09-14 | 京东方科技集团股份有限公司 | 弹幕推送方法、装置、电子设备及存储介质 |
CN108924653A (zh) * | 2018-07-19 | 2018-11-30 | 武汉斗鱼网络科技有限公司 | 弹幕消息分发方法、装置、设备和存储介质 |
CN109145291A (zh) * | 2018-07-25 | 2019-01-04 | 广州虎牙信息科技有限公司 | 一种弹幕关键词筛选的方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
张晓勇: "基于SOA的直播互动平台的设计与实现", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111294661A (zh) * | 2020-01-21 | 2020-06-16 | 上海米哈游天命科技有限公司 | 弹幕显示方法、装置、弹幕服务器设备及存储介质 |
CN111782323A (zh) * | 2020-06-29 | 2020-10-16 | 掌阅科技股份有限公司 | 弹幕获取方法、计算设备及计算机存储介质 |
CN111782323B (zh) * | 2020-06-29 | 2021-06-29 | 掌阅科技股份有限公司 | 弹幕获取方法、计算设备及计算机存储介质 |
CN111800668B (zh) * | 2020-07-15 | 2024-06-07 | 腾讯科技(深圳)有限公司 | 弹幕的处理方法、装置、设备及存储介质 |
CN111800668A (zh) * | 2020-07-15 | 2020-10-20 | 腾讯科技(深圳)有限公司 | 弹幕的处理方法、装置、设备及存储介质 |
CN113139377A (zh) * | 2021-04-26 | 2021-07-20 | 北京沃东天骏信息技术有限公司 | 推送信息的方法、装置、设备和计算机可读介质 |
CN113316015A (zh) * | 2021-05-26 | 2021-08-27 | 上海哔哩哔哩科技有限公司 | 弹幕处理方法、装置及系统 |
CN113365096A (zh) * | 2021-07-05 | 2021-09-07 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种直播间暖场方法及装置、存储介质及电子设备 |
CN114245222A (zh) * | 2021-12-16 | 2022-03-25 | 网易(杭州)网络有限公司 | 一种弹幕展示方法、装置、电子设备和介质 |
CN114550157A (zh) * | 2022-02-21 | 2022-05-27 | 上海哔哩哔哩科技有限公司 | 弹幕聚集识别方法以及装置 |
CN115174957A (zh) * | 2022-06-27 | 2022-10-11 | 咪咕文化科技有限公司 | 弹幕调用方法、装置、计算机设备及可读存储介质 |
CN115174957B (zh) * | 2022-06-27 | 2023-08-15 | 咪咕文化科技有限公司 | 弹幕调用方法、装置、计算机设备及可读存储介质 |
CN115190339A (zh) * | 2022-09-13 | 2022-10-14 | 北京达佳互联信息技术有限公司 | 直播信息发送方法、装置、电子设备、存储介质 |
CN115190339B (zh) * | 2022-09-13 | 2024-04-30 | 北京达佳互联信息技术有限公司 | 直播信息发送方法、装置、电子设备、存储介质 |
CN116055820A (zh) * | 2023-01-19 | 2023-05-02 | 北京新唐思创教育科技有限公司 | 事件处理方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109982128B (zh) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109982128A (zh) | 视频的弹幕生成方法、装置、存储介质和电子装置 | |
US12032654B1 (en) | Real-time event transcription system and method | |
Xu et al. | Dynamically pruned message passing networks for large-scale knowledge graph reasoning | |
CN104601438B (zh) | 一种好友推荐方法和装置 | |
CN108595494A (zh) | 答复信息的获取方法及装置 | |
CN106730850B (zh) | 游戏对手匹配方法和装置 | |
CN109508789A (zh) | 预测手牌的方法、存储介质、处理器以及设备 | |
CN108268547A (zh) | 用户画像生成方法和装置 | |
CN110012060A (zh) | 移动终端的信息推送方法、装置、存储介质和服务器 | |
CN107103089A (zh) | 对象的匹配方法和装置 | |
CN113343089B (zh) | 用户召回方法及装置、设备 | |
CN110941769B (zh) | 目标帐号的确定方法和装置、电子装置 | |
CN105631749A (zh) | 基于统计数据的用户画像计算方法 | |
CN108452526A (zh) | 游戏故障原因的查询方法和装置、存储介质、电子装置 | |
CN102938121A (zh) | 一种商品信息投放方法和设备 | |
CN108521456B (zh) | 基于区块链的网络搭建大赛系统 | |
CN113244627B (zh) | 识别外挂的方法、装置、电子设备以及存储介质 | |
CN110288443A (zh) | 信息推送方法、装置、电子设备及计算机可读存储介质 | |
CN110465086B (zh) | 一种游戏物品展示方法、装置及存储介质 | |
CN105354343A (zh) | 基于远程对话的用户特征挖掘方法 | |
Ramalingam et al. | Efficient Player Prediction and Suggestion using Machine Learning for IPL Tournament | |
Randrianasolo | Predicting euro games using an ensemble technique involving genetic algorithms and machine learning | |
Berman et al. | Temporal match analysis and recommending substitutions in live soccer games | |
CN109660582A (zh) | 帐号信号的推送方法、装置、存储介质和电子设备 | |
CN105069064B (zh) | 词汇的获取方法及装置、推送方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |