弹幕的发布方法、模型生成方法及装置与流程

文档序号:20949280发布日期:2020-06-02 20:02阅读:364来源:国知局
弹幕的发布方法、模型生成方法及装置与流程

本发明涉及网络直播技术领域,特别是涉及一种直播间弹幕的发布方法及装置、一种话题弹幕模型的生成方法及装置、一种弹幕生成模型的生成方法及装置、一种装置以及一种机器可读介质。



背景技术:

随着网络视频技术的发展,网络直播越来越普遍,为了更好的满足用户需求,增设有弹幕功能,即用户在观看直播的过程中,可以针对直播内容发布并共享自身的观点、感想和需求,以与主播、其他用户进行交流。

当前直播场景下,用户发送弹幕成为直播中不可缺少的一个环节,这关系到用户与主播的互动性,用户与用户的互动性。但在当下多人观看的直播场景,用户在直播间发送的弹幕比较孤立,部分新主播直播间弹幕量比较稀少,这种情况会导致直播间用户发弹幕氛围低下,互相之间的互动性较差,影响直播效果。



技术实现要素:

本发明实施例是提供一种直播间弹幕的发布方法,以解决直播间中弹幕量少,互动性不高的问题。

相应的,本发明实施例还提供了一种直播间弹幕的发布装置,用以保证上述方法的实现及应用。

为了解决上述问题,本发明实施例公开了一种直播间弹幕的发布方法,包括:

获取目标弹幕;

自动生成与所述目标弹幕对应的跟随弹幕;

发布所述跟随弹幕。

可选地,所述自动生成与所述目标弹幕对应的跟随弹幕,包括:

根据预设的弹幕生成模型生成与所述目标弹幕对应的跟随弹幕。

可选地,所述目标弹幕包括:直播间中第一预设时间段内的第一历史弹幕数据,所述根据预设的弹幕生成模型生成与所述目标弹幕对应的跟随弹幕,包括:

将所述第一历史弹幕数据输入所述弹幕生成模型,自动生成所述第一历史弹幕数据对应的所述第一跟随弹幕。

可选地,所述目标弹幕包括:从预设的话题弹幕列表中提取的话题弹幕,所述根据预设的弹幕生成模型生成与所述目标弹幕对应的跟随弹幕,包括:

将所述话题弹幕输入所述弹幕生成模型,自动生成与所述话题弹幕对应的第二跟随弹幕;

所述发布所述跟随弹幕,包括:

发布所述话题弹幕,以及与所述话题弹幕对应的第二跟随弹幕。

可选地,所述弹幕生成模型通过如下方式生成:

获取第二预设时间段内的第二历史弹幕数据;

根据所述第二历史弹幕数据,确定弹幕训练样本;

根据所述弹幕训练样本,生成所述弹幕生成模型。

可选地,所述根据所述第二历史弹幕数据,确定弹幕训练样本,包括:

获取所述第二历史弹幕数据中的第一弹幕;

确定所述第二历史弹幕数据中与所述第一弹幕的关系满足预设条件的第二弹幕;

将所述第一弹幕和所述第二弹幕作为所述弹幕训练样本。

可选地,所述确定所述第二历史弹幕数据中与所述第一弹幕的关系满足预设条件的第二弹幕,包括:

获取所述第一弹幕的发布时刻;

从所述第二历史弹幕数据中,提取在所述发布时刻之后的预设时间段内的弹幕,作为所述第二弹幕。

可选地,所述确定所述第二历史弹幕数据中与所述第一弹幕的关系满足预设条件的第二弹幕,包括:

从所述第二历史弹幕数据中,提取与所述第一弹幕之间的字符匹配度大于预设阈值的弹幕,作为所述第二弹幕。

可选地,所述获取所述第二历史弹幕数据中的第一弹幕,包括:

过滤所述第二历史弹幕数据中的资源标识,和/或,表情符号,得到所述第一弹幕。

可选地,所述根据所述弹幕训练样本,生成所述弹幕生成模型,包括:

将所述第一弹幕与所述第二弹幕输入预设的初始弹幕生成模型,生成与所述第一弹幕和所述第二弹幕对应的第一预测值;

将所述第一预测值与预设的第一参考值进行比对,并根据比对结果对所述初始弹幕生成模型进行反向训练。

可选地,所述话题弹幕列表通过如下方式生成:

获取第三历史弹幕数据;

将所述第三历史弹幕数据输入预设的话题弹幕模型,生成所述话题弹幕列表。

可选地,所述话题弹幕模型通过如下方式生成:

根据所述第三历史弹幕数据,确定话题训练样本;

将所述话题训练样本输入所述话题弹幕模型,生成与所述话题训练样本对应的第二预测值;

将所述第二预测值与预设的第二参考值进行比对,并根据比对结果对所述话题弹幕模型进行反向训练。

可选地,所述话题训练样本包括正样本与负样本,所述根据所述第三历史弹幕数据,确定话题训练样本,包括:

将所述第三历史弹幕数据中包含预设字段的弹幕标记为所述正样本;

将所述第三历史弹幕数据中不包含所述预设字段的弹幕标记为所述负样本。

可选地,所述第一预设时间段包括直播间开播至当前时刻的时间段,以及直播间当前时刻之前的预设时间段中的至少一种。

可选地,所述第二预设时间段包括直播间的历史直播时间段,以及直播间当前时刻之前的预设时间段中的至少一种。

本发明实施例还公开了一种弹幕生成模型的训练方法,包括:

获取第二预设时间段内的第二历史弹幕数据;

根据所述第二历史弹幕数据,确定弹幕训练样本;

根据所述弹幕训练样本,生成所述弹幕生成模型。

可选地,所述根据所述第二历史弹幕数据,确定弹幕训练样本,包括:

获取所述第二历史弹幕数据中的第一弹幕;

确定所述第二历史弹幕数据中与所述第一弹幕的关系满足预设条件的第二弹幕;

将所述第一弹幕和所述第二弹幕作为所述弹幕训练样本。

可选地,所述确定所述第二历史弹幕数据中与所述第一弹幕的关系满足预设条件的第二弹幕,包括:

获取所述第一弹幕的发布时刻;

从所述第二历史弹幕数据中,提取在所述发布时刻之后的预设时间段内的弹幕,作为所述第二弹幕。

可选地,所述确定所述第二历史弹幕数据中与所述第一弹幕的关系满足预设条件的第二弹幕,包括:

从所述第二历史弹幕数据中,提取与所述第一弹幕之间的字符匹配度大于预设阈值的弹幕,作为所述第二弹幕。

可选地,所述获取所述第二历史弹幕数据中的第一弹幕,包括:

过滤所述第二历史弹幕数据中的资源标识,和/或,表情符号,得到所述第一弹幕。

可选地,所述根据所述弹幕训练样本,生成所述弹幕生成模型,包括:

将所述第一弹幕与所述第二弹幕输入预设的初始弹幕生成模型,生成与所述第一弹幕与所述第二弹幕对应的第一预测值;

将所述第一预测值与预设的第一参考值进行比对,并根据比对结果对所述初始弹幕生成模型进行反向训练。

可选地,所述将所述第一弹幕与所述第二弹幕输入预设的初始弹幕生成模型,生成与所述第一弹幕与所述第二弹幕对应的第一预测值,包括:

将所述第一弹幕与所述第二弹幕输入预设的初始弹幕生成模型进行迭代,并计算每次迭代后的初始弹幕生成模型的多个损失函数;

所述将所述第一预测值与预设的第一参考值进行比对,并根据比对结果对所述初始弹幕生成模型进行反向训练,包括:

当迭代后的初始弹幕生成模型的多个损失函数均最小化时,停止迭代,生成目标弹幕生成模型。

可选地,所述弹幕生成模型包括第一输入层以及第二输入层,与所述第一输入层连接的预设数目的第一线性层,与所述第二输入层连接的预设数目的第二线性层,分别与所述第一线性层以及所述第二线性层连接的语义编解码层,与所述语义编解码层连接的连接层,与所述连接层连接的第三线性层,与所述第三线性层连接的softmax层,以及与所述softmax层连接的多个输出节点;所述softmax层用于将所述第三线性层的输出结果进行转换,并将转换后的输出结果分别输出至多个所述输出节点。

可选地,所述将所述第一序列向量与所述第二序列向量输入预设的初始弹幕生成模型进行迭代,并计算每次迭代后的初始弹幕生成模型的多个损失函数,包括:

将所述第一弹幕输入所述第一输入层生成第一序列向量,以及将所述第二弹幕输入所述第二输入层生成第二序列向量;

通过所述预设数目的第一线性层每一神经元的激活函数,对所述第一序列向量逐层进行映射,并将最后一层线性层生成的第一输出向量传输至所述语义编解码层;

通过所述预设数目的第二线性层每一神经元的激活函数,对所述第二序列向量逐层进行映射,并将最后一层线性层的第二输出向量传输至所述语义编解码层;

将所述第一输出向量与所述第二输出向量输入所述语义编解码层,生成目标输出向量;

通过所述连接层对所述目标输出向量进行矩阵转换,生成目标序列向量;

通过预设数目的第三线性层每一神经元的激活函数,对所述目标序列向量逐层进行映射,并将最后一层线性层的输出结果传输至所述softmax层;

通过所述softmax层采用所述输出结果,和与所述输出结果对应的多个损失函数,进行误差计算,生成多个梯度值。

可选地,所述语义编解码层包括次级编码层、第一次级解码层、注意力分配层以及第二次级解码层,所述将所述第一输入向量与所述第二输出向量输入所述语义编码层,生成目标输入向量,包括:

将所述第一输出向量输入所述次级编码层进行编码,生成编码向量;

将所述编码向量与所述第二输出向量输入所述第一次级解码层进行解码,生成解码向量;

将所述编码向量与所述解码向量输入所述注意力分配层进行注意力分配,生成注意力分配值;

将所述注意力分配值输入所述第二次级解码层进行解码,生成与所述第一输出向量以及所述第二输出向量对应的目标输出向量。

可选地,所述当迭代后的弹幕生成模型的多个损失函数均最小化时,停止迭代,生成目标弹幕生成模型,包括:

通过所述输出节点判断所述多个梯度值是否满足预设阈值条件;

若否,则根据所述多个梯度值更新所述每一神经元的激活函数的参数,继续迭代所述弹幕生成模型;

若是,则生成所述目标弹幕生成模型。

本发明实施例还公开了一种话题弹幕模型的训练方法,包括:

获取第三历史弹幕数据;

根据所述第三历史弹幕数据,确定话题训练样本;

将所述话题训练样本输入所述话题弹幕模型,生成与所述话题训练样本对应的第二预测值;

将所述第二预测值与预设的第二参考值进行比对,并根据比对结果对所述话题弹幕模型进行反向训练。

可选地,所述话题训练样本包括正样本与负样本,所述根据所述第三历史弹幕数据,确定话题训练样本,包括:

将所述第三历史弹幕数据中包含预设字段的弹幕标记为所述正样本;

将所述第三历史弹幕数据中不包含所述预设字段的弹幕标记为所述负样本。

可选地,所述第三历史弹幕数据包括不同类别直播间的历史弹幕数据,或相同类别直播间的历史弹幕数据。

可选地,所述将所述话题训练样本输入所述话题弹幕模型,生成与所述话题训练样本对应的第二预测值,包括:

将所述正样本与所述负样本输入预设的初始话题弹幕模型,并计算每次迭代后的初始话题弹幕模型的多个损失函数;

所述将所述第二预测值与预设的第二参考值进行比对,并根据比对结果对所述话题弹幕模型进行反向训练,包括:

当迭代之后的初始话题弹幕模型的多个损失函数均最小化时,停止迭代,生成所述目标话题弹幕模型。

可选地,所述初始话题弹幕模型包括输入层,与所述输入层连接的预设数目的第一线性层,与所述第一线性层连接的序列编码层,与所述序列编码层连接的注意力分配层,与所述注意力分配层连接的连接层,与所述连接层连接的第二线性层,与所述第二线性层连接的输出层,以及与所述输出层连接的多个输出节点;其中,所述输出层用于将所述第二线性层的输出结果进行映射,并将映射后的输出结果分别输入至所述多个输出节点。

可选地,所述将所述正样本与所述负样本输入预设的初始话题弹幕模型,并计算每次迭代后的初始话题弹幕模型的多个损失函数,包括:

将所述正样本与所述负样本输入所述输入层,生成话题训练向量;

通过所述预设数目的第一线性层每一神经元的激活函数,对所述话题训练向量进行逐层映射,并最后一层线性层生成的第一输出向量传输至所述序列编码层;

通过所述序列编码层对所述第一输出向量进行编码,并将所述序列编码层生成的第二输出向量传输至所述注意力分配层;

通过所述注意力分配层对所述第二输出向量进行矩阵变换,并将所述注意力分配层生成的第三输出向量传输至所述连接层;

通过所述连接层对所述第三输出向量进行维度连接,并将所述连接层生成的目标输出向量传输至所述第二线性层;

通过所述第二线性层每一神经元的激活函数,将所述目标输出向量进行映射,并将所述第二线性层的输出结果传输至所述输出层;

通过所述输出层采用所述输出结果,和与所述输出结果对应的多个损失函数,进行误差计算,生成多个梯度值。

可选地,所述当迭代之后的初始话题弹幕模型的多个损失函数均最小化时,停止迭代,生成所述目标话题弹幕模型,包括:

通过所述输出节点判断所述多个梯度值是否满足预设阈值条件;

若否,则根据所述多个梯度值更新所述每一神经元的激活函数的参数,继续迭代所述初始话题弹幕模型;

若是,则生成所述目标话题弹幕模型。

本发明实施例还公开了一种直播间弹幕的发布装置,包括:

目标弹幕获取模块,用于获取目标弹幕;

跟随弹幕生成模块,用于自动生成与所述目标弹幕对应的跟随弹幕;

弹幕发布模块,用于发布所述跟随弹幕。

可选地,所述跟随弹幕生成模块具体用于:

根据预设的弹幕生成模型生成与所述目标弹幕对应的跟随弹幕。

可选地,所述目标弹幕包括:直播间中第一预设时间段内的第一历史弹幕数据,所述跟随弹幕生成模块包括:

第一跟随弹幕生成子模块,用于将所述第一历史弹幕数据输入所述弹幕生成模型,自动生成所述第一历史弹幕数据对应的所述第一跟随弹幕。

可选地,所述目标弹幕包括:从预设的话题弹幕列表中提取的话题弹幕,所述跟随弹幕生成模块包括:

第二跟随弹幕生成子模块,用于将所述话题弹幕输入所述弹幕生成模型,自动生成与所述话题弹幕对应的第二跟随弹幕;

所述弹幕发布模块具体用于:

发布所述话题弹幕,以及与所述话题弹幕对应的第二跟随弹幕。

可选地,所述弹幕生成模型通过如下方式生成:

第一数据获取模块,用于获取第二预设时间段内的第二历史弹幕数据;

第一样本确定模块,用于根据所述第二历史弹幕数据,确定弹幕训练样本;

第一模型生成模块,用于根据所述弹幕训练样本,生成所述弹幕生成模型。

可选地,所述第一样本确定模块包括:

第一弹幕获取子模块,用于获取所述第二历史弹幕数据中的第一弹幕;

第二弹幕确定子模块,用于确定所述第二历史弹幕数据中与所述第一弹幕的关系满足预设条件的第二弹幕;

训练样本确定子模块,用于将所述第一弹幕和所述第二弹幕作为所述弹幕训练样本。

可选地,所述第二弹幕确定子模块具体用于:

获取所述第一弹幕的发布时刻;

从所述第二历史弹幕数据中,提取在所述发布时刻之后的预设时间段内的弹幕,作为所述第二弹幕。

可选地,所述第二弹幕确定子模块具体用于:

从所述第二历史弹幕数据中,提取与所述第一弹幕之间的字符匹配度大于预设阈值的弹幕,作为所述第二弹幕。

可选地,所述第一弹幕获取子模块具体用于:

过滤所述第二历史弹幕数据中的资源标识,和/或,表情符号,得到所述第一弹幕。

可选地,所述第一模型生成模块包括:

第一预测值生成子模块,用于将所述第一弹幕与所述第二弹幕输入预设的初始弹幕生成模型,生成与所述第一弹幕和所述第二弹幕对应的第一预测值;

第一模型训练子模块,用于将所述第一预测值与预设的第一参考值进行比对,并根据比对结果对所述初始弹幕生成模型进行反向训练。

可选地,所述话题弹幕列表通过如下方式生成:

第二数据获取模块,用于获取第三历史弹幕数据;

弹幕列表生成模块,用于将所述第三历史弹幕数据输入预设的话题弹幕模型,生成所述话题弹幕列表。

可选地,所述话题弹幕模型通过如下方式生成:

第二样本确定模块,用于根据所述第三历史弹幕数据,确定话题训练样本;

预测值生成模块,用于将所述话题训练样本输入所述话题弹幕模型,生成与所述话题训练样本对应的第二预测值;

第二模型训练模块,用于将所述第二预测值与预设的第二参考值进行比对,并根据比对结果对所述话题弹幕模型进行反向训练。

可选地,所述话题训练样本包括正样本与负样本,所述第二样本确定模块包括:

正样本标记子模块,用于将所述第三历史弹幕数据中包含预设字段的弹幕标记为所述正样本;

负样本标记子模块,用于将所述第三历史弹幕数据中不包含所述预设字段的弹幕标记为所述负样本。

可选地,所述第一预设时间段包括直播间开播至当前时刻的时间段,以及直播间当前时刻之前的预设时间段中的至少一种。

可选地,所述第二预设时间段包括直播间的历史直播时间段,以及直播间当前时刻之前的预设时间段中的至少一种。

本发明实施例还公开了一种弹幕生成模型的训练装置,包括:

第一数据获取模块,用于获取第二预设时间段内的第二历史弹幕数据;

第一样本确定模块,用于根据所述第二历史弹幕数据,确定弹幕训练样本;

第一模型训练模块,用于根据所述弹幕训练样本,生成所述弹幕生成模型。

可选地,所述第一样本确定模块包括:

第一弹幕获取子模块,用于获取所述第二历史弹幕数据中的第一弹幕;

第二弹幕确定子模块,用于确定所述第二历史弹幕数据中与所述第一弹幕的关系满足预设条件的第二弹幕;

训练样本确定子模块,用于将所述第一弹幕和所述第二弹幕作为所述弹幕训练样本。

可选地,所述第二弹幕确定子模块具体用于:

获取所述第一弹幕的发布时刻;

从所述第二历史弹幕数据中,提取在所述发布时刻之后的预设时间段内的弹幕,作为所述第二弹幕。

可选地,所述第二弹幕确定子模块具体用于:

从所述第二历史弹幕数据中,提取与所述第一弹幕之间的字符匹配度大于预设阈值的弹幕,作为所述第二弹幕。

可选地,所述第一弹幕获取子模块具体用于:

过滤所述第二历史弹幕数据中的资源标识,和/或,表情符号,得到所述第一弹幕。

可选地,所述第一模型生成模块包括:

第一预测值生成子模块,用于将所述第一弹幕与所述第二弹幕输入预设的初始弹幕生成模型,生成与所述第一弹幕和所述第二弹幕对应的第一预测值;

第一模型训练子模块,用于将所述第一预测值与预设的第一参考值进行比对,并根据比对结果对所述初始弹幕生成模型进行反向训练。

可选地,所述第一预测值生成子模块具体用于:

将所述第一弹幕与所述第二弹幕输入预设的初始弹幕生成模型进行迭代,并计算每次迭代后的初始弹幕生成模型的多个损失函数;

所述第一模型训练子模块具体用于:

当迭代后的初始弹幕生成模型的多个损失函数均最小化时,停止迭代,生成目标弹幕生成模型。

可选地,所述弹幕生成模型包括第一输入层以及第二输入层,与所述第一输入层连接的预设数目的第一线性层,与所述第二输入层连接的预设数目的第二线性层,分别与所述第一线性层以及所述第二线性层连接的语义编解码层,与所述语义编解码层连接的连接层,与所述连接层连接的第三线性层,与所述第三线性层连接的softmax层,以及与所述softmax层连接的多个输出节点;所述softmax层用于将所述第三线性层的输出结果进行转换,并将转换后的输出结果分别输出至多个所述输出节点。

可选地,所述第一预测值生成子模块具体用于:

将所述第一弹幕输入所述第一输入层生成第一序列向量,以及将所述第二弹幕输入所述第二输入层生成第二序列向量;

通过所述预设数目的第一线性层每一神经元的激活函数,对所述第一序列向量逐层进行映射,并将最后一层线性层生成的第一输出向量传输至所述语义编解码层;

通过所述预设数目的第二线性层每一神经元的激活函数,对所述第二序列向量逐层进行映射,并将最后一层线性层的第二输出向量传输至所述语义编解码层;

将所述第一输出向量与所述第二输出向量输入所述语义编解码层,生成目标输出向量;

通过所述连接层对所述目标输出向量进行矩阵转换,生成目标序列向量;

通过预设数目的第三线性层每一神经元的激活函数,对所述目标序列向量逐层进行映射,并将最后一层线性层的输出结果传输至所述softmax层;

通过所述softmax层采用所述输出结果,和与所述输出结果对应的多个损失函数,进行误差计算,生成多个梯度值。

可选地,所述语义编解码层包括次级编码层、第一次级解码层、注意力分配层以及第二次级解码层,所述第一预测值生成子模块具体用于:

将所述第一输出向量输入所述次级编码层进行编码,生成编码向量;

将所述编码向量与所述第二输出向量输入所述第一次级解码层进行解码,生成解码向量;

将所述编码向量与所述解码向量输入所述注意力分配层进行注意力分配,生成注意力分配值;

将所述注意力分配值输入所述第二次级解码层进行解码,生成与所述第一输出向量以及所述第二输出向量对应的目标输出向量。

可选地,所述第一模型训练模块具体用于:

通过所述输出节点判断所述多个梯度值是否满足预设阈值条件;

若否,则根据所述多个梯度值更新所述每一神经元的激活函数的参数,继续迭代所述弹幕生成模型;

若是,则生成所述目标弹幕生成模型。

本发明实施例还公开了一种话题弹幕模型的训练装置,包括:

第二数据获取模块,用于获取第三历史弹幕数据;

第二样本确定模块,用于根据所述第三历史弹幕数据,确定话题训练样本;

预测值生成模块,用于将所述话题训练样本输入所述话题弹幕模型,生成与所述话题训练样本对应的第二预测值;

第二模型训练模块,用于将所述第二预测值与预设的第二参考值进行比对,并根据比对结果对所述话题弹幕模型进行反向训练。

可选地,所述话题训练样本包括正样本与负样本,所述第二样本确定模块包括:

正样本确定子模块,用于将所述第三历史弹幕数据中包含预设字段的弹幕标记为所述正样本;

负样本确定子模块,用于将所述第三历史弹幕数据中不包含所述预设字段的弹幕标记为所述负样本。

可选地,所述第三历史弹幕数据包括不同类别直播间的历史弹幕数据,或相同类别直播间的历史弹幕数据。

可选地,所述预测值生成模块具体用于:

将所述正样本与所述负样本输入预设的初始话题弹幕模型,并计算每次迭代后的初始话题弹幕模型的多个损失函数;

第二模型训练模块具体用于当迭代之后的初始话题弹幕模型的多个损失函数均最小化时,停止迭代,生成所述目标话题弹幕模型。

可选地,所述初始话题弹幕模型包括输入层,与所述输入层连接的预设数目的第一线性层,与所述第一线性层连接的序列编码层,与所述序列编码层连接的注意力分配层,与所述注意力分配层连接的连接层,与所述连接层连接的第二线性层,与所述第二线性层连接的输出层,以及与所述输出层连接的多个输出节点;其中,所述输出层用于将所述第二线性层的输出结果进行映射,并将映射后的输出结果分别输入至所述多个输出节点。

可选地,所述预测值生成模块具体用于:

将所述正样本与所述负样本输入所述输入层,生成话题训练向量;

通过所述预设数目的第一线性层每一神经元的激活函数,对所述话题训练向量进行逐层映射,并最后一层线性层生成的第一输出向量传输至所述序列编码层;

通过所述序列编码层对所述第一输出向量进行编码,并将所述序列编码层生成的第二输出向量传输至所述注意力分配层;

通过所述注意力分配层对所述第二输出向量进行矩阵变换,并将所述注意力分配层生成的第三输出向量传输至所述连接层;

通过所述连接层对所述第三输出向量进行维度连接,并将所述连接层生成的目标输出向量传输至所述第二线性层;

通过所述第二线性层每一神经元的激活函数,将所述目标输出向量进行映射,并将所述第二线性层的输出结果传输至所述输出层;

通过所述输出层采用所述输出结果,和与所述输出结果对应的多个损失函数,进行误差计算,生成多个梯度值。

可选地,第二模型训练模块具体用于:

通过所述输出节点判断所述多个梯度值是否满足预设阈值条件;

若否,则根据所述多个梯度值更新所述每一神经元的激活函数的参数,继续迭代所述初始话题弹幕模型;

若是,则生成所述目标话题弹幕模型。

本发明实施例还公开了一种装置,包括:

一个或多个处理器;和

其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如上所述的一个或多个的方法。

本发明实施例还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如上所述的一个或多个的方法。

本发明实施例包括以下优点:

在本发明实施例中,通过获取直播间中的目标弹幕,接着自动生成与目标弹幕对应的跟随弹幕,从而在直播间中发布跟随弹幕,从而通过弹幕机器人发送弹幕,提高网络直播间的互动性,促进了用户之间的交流,主播与用户之间的交流,同时提高直播间的热度。

附图说明

图1是本发明的一种直播间弹幕的发布方法实施例一的步骤流程图;

图2是本发明的一种直播间弹幕的发布方法实施例二的步骤流程图;

图3是本发明的一种直播间弹幕的发布方法实施例三的步骤流程图;

图4是本发明实施例中弹幕机器人的示意图;

图5是本发明的一种弹幕生成模型的生成方法实施例的步骤流程图;

图6是本发明的一种弹幕生成模型的生成方法实施例中模型训练示意图一;

图7是本发明的一种弹幕生成模型的生成方法实施例中模型训练示意图二;

图8是本发明的一种话题弹幕模型的生成方法实施例的步骤流程图;

图9是本发明的一种话题弹幕模型的生成方法实施例中模型训练示意图;

图10是本发明的一种直播间弹幕的发布装置实施例的结构框图;

图11是本发明的一种弹幕生成模型的生成方法实施例的结构框图;

图12是本发明的一种话题弹幕模型的生成方法实施例的结构框图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

参照图1,示出了本发明的一种直播间弹幕的发布方法实施例一的步骤流程图,具体可以包括如下步骤:

步骤101,获取目标弹幕;

随着网络视频技术的发展,网络直播越来越普遍,为了更好的满足用户需求,网络直播间(下述直播间)增设有弹幕功能,即用户在观看直播的过程中,可以针对直播内容发布并共享自身的观点、感想和需求,以与主播、其他用户进行交流。

作为一种示例,在弹幕量较少或互动氛围低的网络直播间中,如新主播的直播间,或主播开始直播初期,直播间中的弹幕量比较稀少,这种情况下容易导致直播间用户发弹幕氛围低下,主播与用户、用户与用户之间的互动性较差,影响直播效果。则为了营造一种良好且互动性强的直播氛围,可以通过在直播间中设置弹幕机器人,当检测到弹幕发布时间点时,可以在直播间中发布弹幕,模拟真实用户发布弹幕,从而提高直播间的互动性。

在本发明实施例中,可以通过在直播间中配置微服务,从而在主播进行直播的过程中,对网络直播间的弹幕状态进行监控,进而通过微服务确定当前直播间的弹幕状态,如弹幕量的多少、弹幕的合法性等。

在具体实现中,对于主播而言,可以通过客户端进行直播,对于用户而言,则可以通过客户端观看直播,其中,主播使用的客户端可以为直播客户端,用户使用的客户端可以为观看客户端,则可以在直播客户端中配置微服务,对已经开播的主播所在为直播间的弹幕进行监控,从而获取当前网络直播间的弹幕。

具体的,用户可以通过观看客户端观看主播在主播客户端中的直播内容,接着针对直播内容发布并共享自身的观点、感想和需求,实现用户与主播之间的互动,用户与用户之间的互动。

在客户端的内容展示界面中,可以设置有弹幕区域,弹幕区域可以为展示界面中弹幕展示的区域,其可以为视频播放区域的全部区域,也可以为视频播放区域的部分区域,如上方区域,中间区域,以及下方区域等,用户可以根据自身需求进行设置。则可以通过在客户端中设置框架,搭建弹幕机器人服务,对网络直播间中的弹幕状态进行监控,从而获取当前直播间的弹幕状态,如可以在直播客户端中通过nameko微服务搭建弹幕机器人服务,获取弹幕状态。其中,弹幕机器人可以通过监控视频播放界面中弹出的弹幕,还可以监控弹幕发布列表中的弹幕滚动状态,从而确定当前直播间的弹幕状态,进而获取目标弹幕。

步骤102,自动生成与所述目标弹幕对应的跟随弹幕;

在一种示例中,当弹幕机器人监测到直播间中弹幕量较少或互动氛围较低时,可以从获取目标弹幕,如从直播间中的历史弹幕数据中提取弹幕,以便根据该目标弹幕发布跟随弹幕。

步骤103,发布所述跟随弹幕。

当弹幕机器人生成跟随弹幕后,可以在直播间中目标弹幕发布跟随弹幕,从而与主播或直播间中的真实用户进行互动,提高直播间的弹幕互动率,以及弹幕和主播的互动率,提高直播间的热度。

在本发明实施例中,通过获取直播间中的目标弹幕,接着自动生成与目标弹幕对应的跟随弹幕,从而在直播间中发布跟随弹幕,从而通过弹幕机器人发送弹幕,提高网络直播间的互动性,促进了用户之间的交流,主播与用户之间的交流,同时提高直播间的热度。

参照图2,示出了本发明的一种直播间弹幕的发布方法实施例二的步骤流程图,具体可以包括如下步骤:

步骤201,获取直播间中第一预设时间段内的第一历史弹幕数据;

在本发明实施例中,弹幕机器人可以根据弹幕的发布时序,提取第一预设时间段内的若干条目标弹幕,以使弹幕机器人发布弹幕,与直播间中的真实用户进行交流,提高直播间的互动性与热度。

在本发明实施例的一种示例中,目标弹幕可以包括直播间当前时刻之前的预设时间段中的历史弹幕数据。具体的,弹幕机器人可以设置一弹幕阈值,当直播间中的弹幕的数量小于该弹幕阈值时,则触发自动发布弹幕,接着可以从直播间的所有弹幕中,提取距离当前时间点最近的若干条目标弹幕,以便进行弹幕发布。如当前时刻为17:08:45,则根据发布时序,提取距离当前时间点最近的3条弹幕,作为目标弹幕。

在本发明实施例的另一种示例中,目标弹幕可以包括直播间开播至当前时刻的时间段内的历史弹幕数据。具体的,弹幕机器人可以设置一弹幕阈值,当直播间中的弹幕的数量小于该弹幕阈值时,则触发自动发布弹幕,接着可以从直播间的所有弹幕中,提取播间开播至当前时刻的时间段内的若干条目标弹幕,以便进行弹幕发布。如开播时刻为13:02:03,当前时刻为17:08:45,则可以从13:02:03至17:08:45该时间段内,提取n条弹幕,作为目标弹幕。

此外,还可以设置一时间阈值,并根据该时间阈值与当前时刻,确定弹幕发布区间,接着从该发布区间中随机抽取若干条弹幕作为目标弹幕。如当前时刻为17:08:45,时间阈值为3分钟,则发布区间可以为17:05:45-17:08:45,接着弹幕机器人可以从该发布区间中,随机抽取3条弹幕,作为目标弹幕。

步骤202,将所述第一历史弹幕数据输入所述弹幕生成模型,自动生成所述第一历史弹幕数据对应的所述第一跟随弹幕;

在具体实现中,弹幕机器人得到目标弹幕后,可以分别将各条目标弹幕输入预设的弹幕生成模型中,自动生成针对目标弹幕的第一跟随弹幕。

在本发明实施例的一种可选实施例中,可以通过如下步骤生成弹幕生成模型:

步骤s11,获取第二预设时间段内的第二历史弹幕数据;

步骤s12,根据所述第二历史弹幕数据,确定弹幕训练样本;

步骤s13,根据所述弹幕训练样本,生成所述弹幕生成模型。

在具体实现中,第二历史弹幕数据可以包括第二预设时间段内用户在特定类型的网络直播间中发布的第一历史弹幕数据。则当获取了第一历史弹幕数据后,可以对第一历史弹幕数据进行预处理,包括过滤资源标识、表情符号以及纯数字弹幕等等。当预处理完毕后,可以从第二历史弹幕数据中获取第一弹幕,并确定第二历史弹幕数据中与第一弹幕的关系满足预设条件的第二弹幕,然后将第一弹幕与第二弹幕作为弹幕训练样本。

在一种示例中,可以先获取第一弹幕的发布时刻,然后从第二历史弹幕数据中,提取在发布时刻之后的预设时间段内的弹幕,作为所述第二弹幕。

在另一种示例中,可以从第二历史弹幕数据中,提取与第一弹幕之间的字符匹配度大于预设阈值的弹幕,作为所述第二弹幕。

在另一种示例中,可以先获取第一弹幕的发布时刻,然后从第二历史弹幕数据中,提取在发布时刻之后的预设时间段内与第一弹幕之间的字符匹配度大于预设阈值的弹幕,作为所述第二弹幕。

当得到第一弹幕与第二弹幕后,可以将两者输入预设的初始弹幕生成模型,生成与第一弹幕和第二弹幕对应的第一预测值,并将第一预测值与第二参考值进行比对,并根据比对结果对初始弹幕生成模型进行反向训练,从而生成弹幕生成模型。

在训练过程中,可以将弹幕生成模型的多个损失函数作为弹幕生成模型的监督和指导。其中,多个损失函数包括基于不同跟随弹幕的损失函数,如跟随弹幕①、跟随弹幕②、跟随弹幕③以及跟随弹幕n等等,则多个损失函数可以包括跟随弹幕①的预测值一,跟随弹幕②的预测值二,跟随弹幕③的预测值三以及跟随弹幕n的预测值m等对应的损失函数。

在具体实现中,可以设置模型迭代的停止条件为:弹幕生成模型的多个损失函数最小化,当弹幕生成模型的多个损失函数都最小化时,停止迭代弹幕生成模型,并生成对应的弹幕生成模型。

在本发明实施例的一种示例中,当得到与第二历史弹幕数据后,可以对第二历史弹幕数据进行过滤资源标识、表情符号以及纯数字弹幕等预处理,得到原始弹幕。接着将每个直播间中的每一条不重复弹幕标记为序列a,并提取与其在同一直播间发布的、非同一用户发布的,且发送后30秒内的、弹幕相似值大于0.1小于0.5的弹幕,标记为序列b,然后将序列a和序列b组成训练弹幕样本对,从而可以对多条训练弹幕样本对进行向量化,并输入弹幕生成模型进行模型迭代,从而生成目标跟对弹幕模型。

步骤203,发布所述第一跟随弹幕。

在具体实现中,当弹幕机器人生成第一跟随弹幕后,可以将第一跟随弹幕发布与直播间中,与主播或直播间中的真实用户进行互动,提高直播间的弹幕互动率,以及弹幕和主播的互动率,提高直播间的热度。

在本发明实施例的一种示例中,直播间中的弹幕机器人可以获取目标弹幕,如提取直播间当前时刻之前的3分钟内的弹幕,“主播技术好棒”、“主播操作真强”等等,然后将这些弹幕输入弹幕生成模型,从而生成包括但不限于的跟随弹幕“主播操作666”、“主播操作行云流水”等等,并发布于直播间中,从而提高网络直播间的互动性,促进了用户之间的交流,主播与用户之间的交流,同时提高直播间的热度。

在本发明实施例中,通过获取直播间中的目标弹幕,接着自动生成与目标弹幕对应的跟随弹幕,从而在直播间中发布跟随弹幕,从而通过弹幕机器人发送弹幕,提高网络直播间的互动性,促进了用户之间的交流,主播与用户之间的交流,同时提高直播间的热度。

参照图3,示出了本发明的一种直播间弹幕的发布方法实施例三的步骤流程图,具体可以包括如下步骤:

步骤301,从预设的话题弹幕列表中提取的话题弹幕;

在本发明实施例中,弹幕机器人可以从预设的话题弹幕列表中,提取针对该网络直播间的话题弹幕,以在直播间中无弹幕或弹幕较少的情况下,由弹幕机器人发布弹幕,提高直播间的热度。

在具体实现中,弹幕状态可以包括直播间中有弹幕,以及直播间中无弹幕,则当监听到直播间中无弹幕时,可以从预设的话题弹幕列表中,提取针对该直播间的话题弹幕,作为目标弹幕,并在该直播间中进行发布。其中,话题弹幕列表可以为通过预设话题弹幕模型生成的弹幕列表。

具体的,弹幕机器人可以从预设的话题弹幕列表中,提取针对该直播间的话题弹幕,从而弹幕机器人可以根据直播间的弹幕状态,从话题弹幕列表中提取对应的话题弹幕,以进行发布。

在本发明实施例的一种可选实施例中,话题弹幕列表可以通过如下方式生成:获取第三历史弹幕数据,然后将第三历史弹幕数据输入预设的话题弹幕模型,生成话题弹幕列表。

在具体实现中,第三历史弹幕数据可以为相同类别直播间中的历史弹幕数据,也可以为不同类别直播间中的历史弹幕数据。则弹幕机器人可以根据历史弹幕数据的不同,生成不同的话题弹幕列表,如生成适用于任意类别直播间的话题弹幕列表,或生成适用于特定类别的话题弹幕列表,包括游戏直播间、美食直播间等等。

在本发明实施例的另一中可选实施例中,话题弹幕模型可以通过如下方式生成:

步骤s21,获取第三历史弹幕数据;

步骤s22,根据所述第三历史弹幕数据,确定话题训练样本;

步骤s23,将所述话题训练样本输入所述话题弹幕模型,生成与所述话题训练样本对应的第二预测值;

步骤s24,将所述第二预测值与预设的第二参考值进行比对,并根据比对结果对所述话题弹幕模型进行反向训练。

在具体实现中,可以对第三历史弹幕数据进行人工标记,将包含预设字段的弹幕标记为所述正样本,不包含所述预设字段的弹幕标记为所述负样本。

在一种示例中,可以从离线数据库中获取网络直播间的第三历史弹幕数据,并对第三历史弹幕数据进行预处理,包括过滤网页链接、表情符号以及过滤纯数字弹幕后,提取包含预设字段的弹幕作为原始问题库。具体的,可以将不需要依赖于上下文,可以随时在直播间作为问题提出的弹幕标记为正样本,如将同时包含“主播”和“?”等关键词的弹幕标记为正样本,将未同时包含“主播”和“?”等关键词的弹幕标记为负样本,如负样本可以为“???”、“主播真棒”等等,确定话题训练样本,从而通过将弹幕标记为正负样本,有利于后续对话题弹幕模型进行训练,提高训练的效率,以及模型预测的准确度。

当得到话题训练样本之后,可以将话题训练样本输入初始话题弹幕模型,生成与话题训练样本对应的第二预测值,并将第二预测值与第二参考值进行比对,然后根据比对结果对初始话题弹幕模型进行反向训练,从而生成话题弹幕模型。

在训练过程中,将初始话题弹幕模型的多个损失函数作为初始话题弹幕模型的监督和指导。其中,多个损失函数包括基于不同话题弹幕的损失函数,如话题弹幕①、话题弹幕②、话题弹幕③以及话题弹幕n等等,则多个损失函数可以包括话题弹幕①的预测值一,话题弹幕②的预测值二,话题弹幕③的预测值三以及话题弹幕n的预测值m等对应的损失函数。

在具体实现中,可以设置模型迭代的停止条件为:初始话题弹幕模型的多个损失函数最小化,当初始话题弹幕模型的多个损失函数都最小化时,停止迭代初始话题弹幕模型,并生成对应的目标话题弹幕模型。

当生成话题弹幕模型之后,可以将第三历史弹幕数据输入目标话题弹幕模型,进行分值判断,选取分值大于0.5的话题弹幕加入种子话题集,生成话题弹幕列表。

在本发明实施例的一种示例中,当得到历史弹幕数据,进行过滤网页链接、表情符号以及纯数字弹幕等等预处理。接着可以对预处理后的弹幕数据进行人工标记,对于每一个直播类型,只需标记一次。其中,标记规则为:若该条问题弹幕符合本类型直播间内容,且此问题无上下文依赖,如将同时包含“主播”与“?”等关键词的弹幕标记为正样本,否则标记为负样本。可以从预处理后的弹幕数据中,提取若干条弹幕进行人工标记,正样本与负样本占一半,然后将标记好的样本进行向量化,并输入初始话题弹幕模型进行迭代,直至生成目标话题弹幕模型。

步骤302,将所述话题弹幕输入所述弹幕生成模型,自动生成与所述话题弹幕对应的第二跟随弹幕;

在具体实现中,弹幕机器人从话题弹幕列表中提取了针对网络直播间的话题弹幕后,可以将话题弹幕输入至弹幕生成模型,并自动生成与话题弹幕对应的第二跟随弹幕,以在发布话题弹幕后,发布用于跟随话题弹幕的跟随弹幕。

步骤303,发布所述话题弹幕,以及与所述话题弹幕对应的第二跟随弹幕。

在本发明实施例中,当确定话题弹幕与第二跟随弹幕后,可以将话题弹幕与第二跟随弹幕发布于当前的直播间中,从而通过弹幕机器人自动监听、自动发布弹幕,提高直播间的弹幕互动率,以及弹幕与主播的互动率,进而提高直播间的热度。

在本发明实施例的一种示例中,可以在游戏直播间中配置微服务搭建弹幕机器人,通过弹幕机器人监听直播间的弹幕状态,当监听到弹幕状态为当前直播间中无弹幕时,如视频播放界面中无弹幕发布,或弹幕列表中无弹幕等等,弹幕机器人可以从预设的话题弹幕列表中,提取针对该直播间的话题弹幕,如“主播,这个技能可以怎么点?”、“主播,这个副本可以怎么打?”等,并确定与话题弹幕对应的跟随弹幕,如“先点1技能,再点2技能”,“躲避小怪,直接打boss”等等。接着弹幕机器人可以为先将话题弹幕发布于直播间中,并在一定的时间间隔后,发布跟随弹幕,如先发布“主播,这个技能可以怎么点?”,并相隔一定时间间隔后,发布“先点1技能,再点2技能”,从而当主播见到话题弹幕时,则进行回应,同时用户也可以发布针对该话题弹幕的评论弹幕,一方面提高了主播与弹幕的互动率,另一方面提高了用户与弹幕的互动率,大大提高了直播间的气氛。

在本发明实施例中,通过获取直播间中的目标弹幕,接着自动生成与目标弹幕对应的跟随弹幕,从而在直播间中发布跟随弹幕,从而通过弹幕机器人发送弹幕,提高网络直播间的互动性,促进了用户之间的交流,主播与用户之间的交流,同时提高直播间的热度。

为了使本领域技术人员能够更好地理解本申请实施例,下面通过一个例子对本申请实施例加以说明:

参考图4所示为本发明实施例中弹幕机器人的示意图,可以包括弹幕机器人的模型训练流程,以及服务流程。具体的,可以先从数据库中获取弹幕数据,弹幕数据可以不同类型的直播间的历史弹幕数据,对历史弹幕数据进行网页链接过滤、表情符号过滤以及纯数字弹幕过滤等预处理,得到原始弹幕数据。

在模型训练过程中,一方面可以从原始弹幕数据中可以对预处理后的弹幕数据进行人工标记,对于每一个直播类型,只需标记一次。其中,标记规则为:若该条问题弹幕符合本类型直播间内容,且此问题无上下文依赖,如将同时包含“主播”与“?”等关键词的弹幕标记为正样本,否则标记为负样本。如人工标记正样本1000条与负样本1000条,接着将标记后的弹幕输入初始话题弹幕模型进行模型训练,得到训练后的目标话题弹幕模型,然后可以将原始弹幕数据输入目标话题弹幕模型,进行预测值判断,并选取预测值大于0.5的问题弹幕作为话题弹幕,从而生成话题弹幕列表。另一方面,可以将原始弹幕数据中每个直播间中的每一条不重复弹幕标记为序列a,并提取与其在同一直播间发布的、非同一用户发布的,且发送后30秒内的、弹幕相似值大于0.1小于0.5的弹幕,标记为序列b,然后将序列a和序列b组成训练弹幕样本对,从而可以将训练弹幕样本对输入弹幕生成模型进行模型训练,从而生成弹幕生成模型。

并且,可以通过nameko微服务搭建线上弹幕机器人服务,从而通过线上微服务对直播间的弹幕状态进行监听。具体的,可以在微服务中可以设置如下参数:设置需要部署弹幕机器人的直播间的标识,如直播房间号;设置弹幕发布的间隔时长,如设置3秒、4秒以及5秒等的间隔时长;设置是否在超过预设的发布弹幕间隔时长时,无可跟随弹幕的情况下,从话题弹幕列表中提取话题弹幕进行发送;设置微服务的服务模式,服务模式可以包括3个浮点数,浮点数之和为1,分别可以包括greedy模式、beam-search模式以及sample模式,其中,greedy模式可以为1对1模式,如在模型中输入一条问题弹幕,可以得到一条话题弹幕,beam-search模式与sample模式可以为1对多,或多对多模式,如在模型中输入一条问题弹幕,可以得到多条话题弹幕,或在模型中输入多条问题弹幕,可以得到多条话题弹幕,从而可以通过不同的服务模式,生成不同数量级的弹幕,可以适应于不同的弹幕需求,兼容性强。

此外,该微服务可以同时监听需要部署弹幕机器人的房间的弹幕状态,并采用event-hub队列订阅的形式,在需要生成跟随弹幕的时间点,选取离当前时间最近的若干条用户发送的弹幕作为待跟随弹幕,输入弹幕生成模型,生成与待跟随弹幕语义相近的跟随弹幕,并进行发布。若设定了在超过弹幕发送间隔无弹幕可跟随时,触发发布话题弹幕,则在超过弹幕发送间隔时长时会随机从话题弹幕列表中选取一条话题弹幕,并将该话题弹幕发布于直播间中。进一步,还可以将话题弹幕输入至弹幕生成模型中,生成针对话题弹幕的跟随弹幕,如回答弹幕,或评论弹幕,并将跟随弹幕发布于直播间中,营造一种“自问自答”的弹幕交流方式,进一步提高了网络直播间的互动性,且促进了用户之间的交流,主播与用户之间的交流,同时提高直播间的热度。

参照图5,示出了本发明的一种生成弹幕模型的生成方法实施例的步骤流程图,具体可以包括如下步骤:

步骤501,获取第二预设时间段内的第二历史弹幕数据;

在具体实现中,第二历史弹幕数据可以包括预设时间段内不同用户在特定类型的网络直播间中发送的历史弹幕数据,如可以包括在某游戏直播间中,一个月内用户发布的弹幕数据,或某美食直播间中,一周内用户发布的弹幕数据。

弹幕生成模型可以为基于直播场景特性所搭建的attentionencoder-decoderseq2seq(sequencetosequence)神经网络语言生成模型,可以包括第一输入层以及第二输入层,与所述第一输入层连接的预设数目的第一线性层,与所述第二输入层连接的预设数目的第二线性层,分别与所述第一线性层以及所述第二线性层连接的语义编解码层,与所述语义编解码层连接的连接层,与所述连接层连接的第三线性层,与所述第三线性层连接的softmax层,以及与所述softmax层连接的多个输出节点;所述softmax层用于将所述第三线性层的输出结果进行转换,并将转换后的输出结果分别输出至多个所述输出节点。其中,各个输出节点可以输出与直播间中的弹幕对应的跟随弹幕。

步骤502,根据所述第二历史弹幕数据,确定弹幕训练样本;

在具体实现中,可以对获取的历史弹幕数据进行网页链接、表情符号以及纯数字弹幕等的过滤,并根据处理后的历史弹幕数据,确定针对弹幕生成模型的训练样本对。

在本发明实施例的一种可选实施例中,步骤502可以包括如下子步骤:

获取所述第二历史弹幕数据中的第一弹幕;确定所述第二历史弹幕数据中与所述第一弹幕的关系满足预设条件的第二弹幕;将所述第一弹幕和所述第二弹幕作为所述弹幕训练样本。

在具体实现中,可以对历史弹幕数据进行正则过滤,如过滤资源标识、表情符号以及纯数字弹幕等,过滤后按照时间先后顺序对弹幕进行排序,得到第一弹幕。接着对所有第一弹幕进行逐条遍历,并确定与第一弹幕对应的第二弹幕。

在一种示例中,可以先获取第一弹幕的发布时刻,然后从第二历史弹幕数据中,提取在发布时刻之后的预设时间段内的弹幕,作为所述第二弹幕。

在另一种示例中,可以从第二历史弹幕数据中,提取与第一弹幕之间的字符匹配度大于预设阈值的弹幕,作为所述第二弹幕。

在另一种示例中,可以先获取第一弹幕的发布时刻,然后从第二历史弹幕数据中,提取在发布时刻之后的预设时间段内与第一弹幕之间的字符匹配度大于预设阈值的弹幕,作为所述第二弹幕。

在一种示例中,预设阈值可以0.1,第一弹幕与第二弹幕之间的字符匹配度可以通过如下公式进行计算:

score=0.5*(第一匹配度预测值)+0.5*(第二匹配度预测值)

其中,第一匹配度预测值可以为bleuunigramprecisionscore文本相似度预测值;第二匹配度预测值可以为bleubigramprecisionscore,bleu可以为bilingualevaluationunderstudy,一种可以用于评估机器翻译效果的方法,则第一匹配预测值可以表征弹幕单字匹配的一元预测值,第二匹配度预测值可以表征弹幕双字匹配的二元预测值。

例如,用户一发布了弹幕a,“今天我吃了一顿海鲜”,用户二发布了弹幕b,“我今天是吃了牛肉”。其中,弹幕b发布时间为弹幕a发布后的30秒内。则根据上述公式,单字匹配的是“今”、“天”、“我”、“吃”、“了”,单字匹配结果包括5个相同的字,第一匹配度预测值为0.556。进行双字匹配的过程可以为:弹幕a对应双字包括“今天”、“天我”、“我吃”、“吃了”、“了一”、“一顿”、“顿海”、“海鲜”,弹幕b对应双字包括“我今”、“今天”、“天是”、“是吃”、“吃了”、“了牛”、“牛肉”,双字匹配的结果包括“今天”以及“吃了”,第二匹配度预测值为0.250,最后得到字符匹配度为0.405,即可以将弹幕a与弹幕b组成弹幕样本对。

步骤503,根据所述弹幕训练样本,生成所述弹幕生成模型。

在具体实现中,可以将第一弹幕与第二弹幕输入预设的初始弹幕生成模型,生成与第一弹幕与第二弹幕对应的第一预测值,然后将第一预测值与预设的第一参考值进行比对,并根据比对结果对初始弹幕生成模型进行反向训练。

在本发明实施例的一种可选实施例中,可以将第一弹幕与第二弹幕输入预设的初始弹幕生成模型进行迭代,并计算每次迭代后的初始弹幕生成模型的多个损失函数,然后当迭代后的初始弹幕生成模型的多个损失函数均最小化时,停止迭代,生成目标弹幕生成模型。

在具体实现中,可以在弹幕生成模型中,输入第一弹幕与第二弹幕进行迭代,并计算每次迭代后的弹幕生成模型的多个损失函数,其中,多个损失函数包括基于不同跟随弹幕的损失函数,如跟随弹幕①、跟随弹幕②、跟随弹幕③以及跟随弹幕n等等,则多个损失函数可以包括跟随弹幕①的预测值一,跟随弹幕②的预测值二,跟随弹幕③的预测值三以及跟随弹幕n的预测值m等对应的损失函数。

具体的,可以将第一弹幕输入弹幕生成模型中的第一输入层,生成第一序列向量,以及将第二弹幕输入第二输入层,生成第二序列向量。接着通过所述预设数目的第一线性层每一神经元的激活函数,对所述第一序列向量逐层进行映射,并将最后一层线性层生成的第一输出向量传输至所述语义编解码层;通过所述预设数目的第二线性层每一神经元的激活函数,对所述第二序列向量逐层进行映射,并将最后一层线性层的第二输出向量传输至所述语义编解码层;将所述第一输出向量与所述第二输出向量输入所述语义编解码层,生成目标输出向量;通过所述连接层对所述目标输出向量进行矩阵转换,生成目标序列向量;通过预设数目的第三线性层每一神经元的激活函数,对所述目标序列向量逐层进行映射,并将最后一层线性层的输出结果传输至所述softmax层;通过所述softmax层采用所述输出结果,和与所述输出结果对应的多个损失函数,进行误差计算,生成多个梯度值。

其中,语义编解码层可以基于注意力机制的编解码层,其可以包括次级编码层、第一次级解码层、注意力分配层以及第二次级解码层,则可以将第一输出向量输入次级编码层进行编码,生成编码向量;将编码向量与第二输出向量输入第一次级解码层进行解码,生成解码向量;将编码向量与解码向量输入注意力分配层进行注意力分配,生成注意力分配值;将注意力分配值输入第二次级解码层进行解码,生成与第一输出向量以及第二输出向量对应的目标输出向量。

在本发明实施例的一种示例中,弹幕生成模型可以包括12层第一线性层、12层第二线性层以及12层语义编解码层,输出节点可以根据服务模式,输出不同数量的跟随弹幕,如服务模式为greedy模式时,可以输出1队1的跟随弹幕,服务模式为beam-search模式或sample模式时,可以输出1对多,或多对多的跟随弹幕。

需要说明的是,本发明实施例包括但不限于上述示例,本领域技术人员在本发明实施例的思想指导下,可以根据实际情况设置弹幕生成模型的隐藏层数目,以及输出节点的数目,本发明实施例对此不作限制。

在具体实现中,当迭代后的弹幕生成模型的多个损失函数均最小化时,可以停止模型的迭代,从而生成弹幕生成模型。

具体的,可以通过各个输出节点判断多个梯度值是否满足预设阈值条件;若否,则根据多个梯度值更新每一神经元的激活函数的参数,继续迭代弹幕生成模型;若是,则生成弹幕生成模型。

其中,对激活函数的参数更新,可以是基于梯度下降策略,以目标梯度方向对参数进行更新。在具体实现中,可以预设一学习率,控制每一轮迭代中参数的更新步长,从而最终得到弹幕生成模型。此外,在实际中由于损失函数的最小值往往难以达到,则还可以通过设置迭代次数对模型迭代进行控制,损失函数达到预期值,或基本保持不变时,即可以视为模型训练结束。

在本发明实施例的一种示例中,如图6所示,示出了本发明的一种跟随模型的生成方法实施例中模型训练示意图一,具体可以包括如下过程:

s011:表示训练弹幕样本对中第一弹幕序列sequencea的one-hot;

s012:表示训练弹幕样本对中第二弹幕序列sequenceb的one-hot,在这里对个sequenceb末尾加上一个“eostag”用于标记sequenceb结束;

s013:将s011中sequencea的one-hot,通过word-embedding映射为向量。其中embedding-matrix维度选取为(c+2)×200,其中c为所有训练弹幕样本对中的唯一字符个数,多出的2行向量分别为用于模型mini-batchtraining的“paddingtag”和在s012流程中描述的“eostag”,每一个唯一的字符对应矩阵当中一行;

s014:将s011中sequenceb的one-hot,通过word-embedding映射为向量。这里embedding-matrix复用s013中的矩阵;

s015:通过s013得到的sequencea的向量;

s016:通过s013得到的sequenceb的向量;

s017:sequencea的12层线性映射层,激活函数选取为gelu(gaussianerrorlinearunit,高斯误差线性单元);

s018:sequenceb的12层线性映射层,激活函数选取为gelu;

s019:multihead-attentoinencoder-decode模块(语义编解码层),这里有12层独立的该模块,模块的详细组成由图6所示;

s020:连接层。将s019流程得到12×k×200维度的矩阵,其中k为该样本输出序列长度,将这个三维矩阵的第一维链接为第三维,得到k×2400维的二维矩阵;

s021:线性映射层。对s020流程得到的矩阵进行线性映射,映射到(c+1)维度,c为s013流程中定义的唯一字符个数,这里激活函数选取为gelu。

s022:由s021流程得到的生成序列向量;

s023:对s022流程的生成序列向量进行softmax操作;

s024:预测服务过程。对应微服务中定义的“sample”服务模式,按照s023流程得到的概率向量进行采样。预测时,输入sequencea和空序列sequenceb,生成预测序列的第一个字符的概率分布,按这个概率分布采样,得到一个字符,并将这个字符写入sequenceb以生成第二个字符,重复此步骤直至遇到预测字符为“eostag”或者预测字符序列长度等于50。对于每次生成的字符序列,计算评分score,公式为score=其中possibility_of_character_i为生成的序列第i个字符在采样时刻的概率。并行进行10次预测序列生成,选取score最大的5条预测序列,从中随机1条作为最终生成弹幕;

s025:预测服务过程。对应微服务中定义的“greedy”和“beam-search”模式。对由s023流程得到的概率向量进行argmax操作,得到每个概率向量最大概率值所对应的序号。在“greedy”模式下,仅取当前概率向量最大概率值所对应的序号,在“beam-search”模式下选取top5最大概率所对应的序号,这里采用top5-beam-search得到最终生成的序列。top5选取的score定义同s024流程中score的定义;

s026:将s024流程得到的序列标号反映射为字符,并连接起来得到输出弹幕;

s027:将s025流程得到的序列标号反映射为字符,并连接起来得到输出弹幕。

其中,如图7所示,示出了本发明的一种弹幕生成模型的生成方法实施例中模型训练示意图二,具体的,语义编解码层运行包括如下流程:

s028:为s017流程中12个sequencea中某一个作为输入,送入某一层attentionencoder-decoder中。

s029:为s018流程中12个sequenceb中某一个作为输入,送入某一层attentionencoder-decoder中。

s030:bi-directional-lstm(longshort-termmemory,长短期记忆人工神经网络),输入为s028流程得到的序列向量。由forwardlstm和backwardlstm组成,输出为两个lstm每个时刻的输出,记为forwardsequencea和backwardsequencea。

s031:将s030流程得到的序列向量forwardsequencea中最后一个向量,插入到s029流程中得到的序列向量的最前面。

s032:将s030流程得到的forwardsequencea和backwardsequencea对应时刻加和,得到encoded-sequencea向量,送入流程s033。

s033:attentionlayer。以流程s034与和流程s032的输出作为输入,其中流程s034输出记为m1,s032输出记为m2,则attentionlayer的输出为output=softmax(m1·m2t)m2。

s034:lstm层。输入为s031流程的输出。

s035:为s033流程输出,为k×200矩阵,其中k为sequenceb的长度。

s036:lstm层。作为decoder,输入为s036流程的输出,输出k×200维度的矩阵,其中k为sequenceb长度。

s037:为单个attention-encoder-decoder输出向量。

通过上述流程s011至s037可以完成对弹幕生成模型的训练,从而得到弹幕生成模型。

在本发明实施例的另一种示例中,当得到与历史弹幕数据后,可以对历史弹幕数据进行过滤网页链接、表情符号以及纯数字弹幕等预处理,得到原始弹幕。接着将每个直播间中的每一条不重复弹幕标记为序列a,并提取与其在同一直播间发布的、非同一用户发布的,且发送后30秒内的、弹幕相似值大于0.1小于0.5的弹幕,标记为序列b,然后将序列a和序列b组成训练弹幕样本对,从而可以对多条训练弹幕样本对进行向量化,并输入弹幕生成模型进行模型迭代,从而生成目标跟对弹幕模型。

需要说明的是,本发明实施例包括但不限于上述示例,可以理解的是,在本发明实施例的思想指导下,本领域技术人员可以根据实际情况进行设置,本发明对此不作限制。

在本发明实施例中,通过获取第二预设时间段内的第二历史弹幕数据,根据所述第二历史弹幕数据,接着确定弹幕训练样本,然后根据所述弹幕训练样本,生成所述弹幕生成模型,从而根据历史弹幕数据,确定训练弹幕样本对,并采用该训练弹幕样本对弹幕生成模型进行训练,并利用训练后的弹幕生成模型,生成与用户发布的弹幕相关的弹幕,进而促进用户之间的交流,主播与用户之间的交流,提高了直播间的热度。

参照图8,示出了本发明的一种话题弹幕模型的生成方法实施例的步骤流程图,具体可以包括如下步骤:

步骤801,获取第三历史弹幕数据;

在具体实现中,训练弹幕数据可以包括不同用户在不同类别或相同类别的网络直播间中发送的历史弹幕数据。初始话题弹幕模型可以为attention-lstm模型,其可以包括输入层,与所述输入层连接的预设数目的第一线性层,与所述第一线性层连接的序列编码层,与所述序列编码层连接的注意力分配层,与所述注意力分配层连接的连接层,与所述连接层连接的第二线性层,与所述第二线性层连接的输出层,以及与所述输出层连接的多个输出节点;其中,所述输出层用于将所述第二线性层的输出结果进行映射,并将映射后的输出结果分别输入至所述多个输出节点。

步骤802,根据所述第三历史弹幕数据,确定话题训练样本;

在具体实现中,可以对第三历史弹幕数据进行人工标记,将包含预设字段的弹幕标记为所述正样本,不包含所述预设字段的弹幕标记为所述负样本。

在一种示例中,可以从离线数据库中获取网络直播间的第三历史弹幕数据,并对第三历史弹幕数据进行预处理,包括过滤网页链接、表情符号以及过滤纯数字弹幕后,提取包含预设字段的弹幕作为原始问题库。具体的,可以将不需要依赖于上下文,可以随时在直播间作为问题提出的弹幕标记为正样本,如将同时包含“主播”和“?”等关键词的弹幕标记为正样本,将未同时包含“主播”和“?”等关键词的弹幕标记为负样本,如负样本可以为“???”、“主播真棒”等等,确定话题训练样本,从而通过将弹幕标记为正负样本,有利于后续对话题弹幕模型进行训练,提高训练的效率,以及模型预测的准确度。

步骤803,将所述话题训练样本输入所述话题弹幕模型,生成与所述话题训练样本对应的第二预测值;

步骤804,将所述第二预测值与预设的第二参考值进行比对,并根据比对结果对所述话题弹幕模型进行反向训练。

在本发明实施例的一种可选实施例中,可以将所述正样本与所述负样本输入预设的初始话题弹幕模型,并计算每次迭代后的初始话题弹幕模型的多个损失函数,然后当迭代之后的初始话题弹幕模型的多个损失函数均最小化时,停止迭代,生成所述目标话题弹幕模型。

在具体实现中,可以在初始话题弹幕模型中,输入正样本与负样本进行迭代,并计算每次迭代后的初始话题弹幕模型的多个损失函数。其中,多个损失函数包括基于不同话题弹幕的损失函数,如话题弹幕①、话题弹幕②、话题弹幕③以及话题弹幕n等等,则多个损失函数可以包括话题弹幕①的预测值一,话题弹幕②的预测值二,话题弹幕③的预测值三以及话题弹幕n的预测值m等对应的损失函数。

具体的,可以将正样本与负样本输入初始话题弹幕模型的输入层进行向量化,生成话题训练向量。接着可以通过所述预设数目的第一线性层每一神经元的激活函数,对所述话题训练向量进行逐层映射,并最后一层线性层生成的第一输出向量传输至所述序列编码层;通过所述序列编码层对所述第一输出向量进行编码,并将所述序列编码层生成的第二输出向量传输至所述注意力分配层;通过所述注意力分配层对所述第二输出向量进行矩阵变换,并将所述注意力分配层生成的第三输出向量传输至所述连接层;通过所述连接层对所述第三输出向量进行维度连接,并将所述连接层生成的目标输出向量传输至所述第二线性层;通过所述第二线性层每一神经元的激活函数,将所述目标输出向量进行映射,并将所述第二线性层的输出结果传输至所述输出层;通过所述输出层采用所述输出结果,和与所述输出结果对应的多个损失函数,进行误差计算,生成多个梯度值。

在本发明实施例的一种示例中,初始话题弹幕模型可以包括10层第一线性层,10层序列编码层,10层注意力分配层,以及10层连接层。

需要说明的是,本发明实施例包括但不限于上述示例,本领域技术人员在本发明实施例的思想指导下,可以根据实际情况设置话题弹幕模型的隐藏层数目,以及输出节点的数目,本发明实施例对此不作限制。

在具体实现中,当迭代后的初始话题弹幕模型的多个损失函数均最小化时,可以停止模型的迭代,从而生成目标话题弹幕模型。

具体的,可以通过各个输出节点判断多个梯度值是否满足预设阈值条件;若否,则根据多个梯度值更新每一神经元的激活函数的参数,继续迭代初始话题弹幕模型;若是,则生成目标话题弹幕模型。

其中,对激活函数的参数更新,可以是基于梯度下降策略,以目标梯度方向对参数进行更新。在具体实现中,可以预设一学习率,控制每一轮迭代中参数的更新步长,从而最终得到目标话题弹幕模型。

在本发明实施例的一种示例中,在模型训练过程中,话题弹幕模型的输出节点可以包括正样本对应的正向概率值,以及负样本对应的负向概率值,其中,将大于0.5的值确定为正向概率值,将小于0.5的值确定为负向概率值。则将正样本与负样本输入初始话题弹幕模型进行训练,并设置一参考值(如0.9、0.99、0.999、0.9999等),从而基于梯度下降策略,以参考值与训练过程中输出的预测值进行比对,然后根据比对结果对模型参数进行反向调整,不断优化模型,当模型的损失函数满足参考值,或不再下降时,即完成模型训练,得到目标话题弹幕模型。

在本发明实施例的另一种示例中,如图9所示,示出了本发明的一种话题弹幕模型的生成方法实施例中模型训练示意图,具体可以包括如下流程:

s038(未在图中展示):表示从历史弹幕数据中提取的原始问题库,并对原始问题库中问题弹幕进行人工标记后,得到的标记正样本与负样本的one-hot。

s039:将s038中标记弹幕样本的one-hot,通过word-embedding映射为向量。这里embedding-matrix维度选取为(c+1)×200,其中c为所有出现在s006流程获得样本中的唯一字符个数,多出的1行向量为用于模型mini-batchtraining的“paddingtag”。

s040:通过s040得到的记弹幕样本的向量表示。

s041:有10层线性映射组成的多层线性映射层,这里激活函数选择gelu。

s042:10个独立的bi-directional-lstm作为序列编码层,输入为s042的输出。生成输出大小与s042相同。

s043:attentionmatrix(注意力分配层),大小为10×200,输入s045流程,作为s043的匹配矩阵,其中每一行为对应s043流程输出的attentionvector。

s044:注意力分配层。假设s043流程其中一层的输出为mi(i∈1,2…,10),mi大小为k×200,其中k为s039输入序列长度;假设s044中定义的注意力矩阵一行为ni(i∈1,2…,10),ni大小为1×200;则s045输出其中一层为大小为1×200。

s045:为s045流程的输出,由于有10层,所以此处输出大小为10×200。

s046:连接层。输入为s046流程的输出,在第二个维度进行连接,此层输出大小为1×2000。

s047:线性映射层。将2000维映射为1维。

s048:逻辑斯蒂函数映射层。将s048输出的1维标量映射为0-1之间的概率值。

通过上述流程s038至s048可以完成对初始话题弹幕模型的训练,从而得到目标话题弹幕模型。

在本发明实施例的一种示例中,当得到历史弹幕数据,进行过滤网页链接、表情符号以及纯数字弹幕等等预处理。接着可以对预处理后的弹幕数据进行人工标记,对于每一个直播类型,只需标记一次。其中,标记规则为:若该条问题弹幕符合本类型直播间内容,且此问题无上下文依赖,如将同时包含“主播”与“?”等关键词的弹幕标记为正样本,否则标记为负样本,从而可以从预处理后的弹幕数据中,提取若干条弹幕进行人工标记,正样本与负样本占一半,然后将标记好的样本进行向量化,并输入初始话题弹幕模型进行迭代,直至生成目标话题弹幕模型。

在本发明实施例中,通过获取第三历史弹幕数据,接着根据所述第三历史弹幕数据,确定话题训练样本,然后将所述话题训练样本输入所述话题弹幕模型,生成与所述话题训练样本对应的第二预测值,并将所述第二预测值与预设的第二参考值进行比对,并根据比对结果对所述话题弹幕模型进行反向训练,从而根据直播间的历史弹幕数据,对初始话题弹幕模型进行训练,得到目标话题弹幕模型,然后可以根据目标话题弹幕模型生成话题弹幕列表,进而从话题弹幕列表中随机抽取一条弹幕进行发布,促进用户之间的交流,主播与用户之间的交流,提高了直播间的热度。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

参照图10,示出了本发明的一种直播间弹幕的发布装置实施例一的结构框图,具体可以包括如下模块:

目标弹幕获取模块1001,用于获取目标弹幕;

跟随弹幕生成模块1002,用于自动生成与所述目标弹幕对应的跟随弹幕;

弹幕发布模块1003,用于发布所述跟随弹幕。

在本发明实施例的一种可选实施例中,所述跟随弹幕生成模块1002具体用于:

根据预设的弹幕生成模型生成与所述目标弹幕对应的跟随弹幕。

在本发明实施例的一种可选实施例中,所述目标弹幕包括:直播间中第一预设时间段内的第一历史弹幕数据,所述跟随弹幕生成模块1002包括:

第一跟随弹幕生成子模块,用于将所述第一历史弹幕数据输入所述弹幕生成模型,自动生成所述第一历史弹幕数据对应的所述第一跟随弹幕。

在本发明实施例的一种可选实施例中,所述目标弹幕包括:从预设的话题弹幕列表中提取的话题弹幕,所述跟随弹幕生成模块1002包括:

第二跟随弹幕生成子模块,用于将所述话题弹幕输入所述弹幕生成模型,自动生成与所述话题弹幕对应的第二跟随弹幕;

所述弹幕发布模块1003具体用于:

发布所述话题弹幕,以及与所述话题弹幕对应的第二跟随弹幕。

在本发明实施例的一种可选实施例中,所述弹幕生成模型通过如下方式生成:

第一数据获取模块,用于获取第二预设时间段内的第二历史弹幕数据;

第一样本确定模块,用于根据所述第二历史弹幕数据,确定弹幕训练样本;

第一模型生成模块,用于根据所述弹幕训练样本,生成所述弹幕生成模型。

在本发明实施例的一种可选实施例中,所述第一样本确定模块包括:

第一弹幕获取子模块,用于获取所述第二历史弹幕数据中的第一弹幕;

第二弹幕确定子模块,用于确定所述第二历史弹幕数据中与所述第一弹幕的关系满足预设条件的第二弹幕;

训练样本确定子模块,用于将所述第一弹幕和所述第二弹幕作为所述弹幕训练样本。

在本发明实施例的一种可选实施例中,所述第二弹幕确定子模块具体用于:

获取所述第一弹幕的发布时刻;

从所述第二历史弹幕数据中,提取在所述发布时刻之后的预设时间段内的弹幕,作为所述第二弹幕。

在本发明实施例的一种可选实施例中,所述第二弹幕确定子模块具体用于:

从所述第二历史弹幕数据中,提取与所述第一弹幕之间的字符匹配度大于预设阈值的弹幕,作为所述第二弹幕。

在本发明实施例的一种可选实施例中,所述第一弹幕获取子模块具体用于:

过滤所述第二历史弹幕数据中的资源标识,和/或,表情符号,得到所述第一弹幕。

在本发明实施例的一种可选实施例中,所述第一模型生成模块包括:

第一预测值生成子模块,用于将所述第一弹幕与所述第二弹幕输入预设的初始弹幕生成模型,生成与所述第一弹幕和所述第二弹幕对应的第一预测值;

第一模型训练子模块,用于将所述第一预测值与预设的第一参考值进行比对,并根据比对结果对所述初始弹幕生成模型进行反向训练。

在本发明实施例的一种可选实施例中,所述话题弹幕列表通过如下方式生成:

第二数据获取模块,用于获取第三历史弹幕数据;

弹幕列表生成模块,用于将所述第三历史弹幕数据输入预设的话题弹幕模型,生成所述话题弹幕列表。

在本发明实施例的一种可选实施例中,所述话题弹幕模型通过如下方式生成:

第二样本确定模块,用于根据所述第三历史弹幕数据,确定话题训练样本;

预测值生成模块,用于将所述话题训练样本输入所述话题弹幕模型,生成与所述话题训练样本对应的第二预测值;

第二模型训练模块,用于将所述第二预测值与预设的第二参考值进行比对,并根据比对结果对所述话题弹幕模型进行反向训练。

在本发明实施例的一种可选实施例中,所述话题训练样本包括正样本与负样本,所述第二样本确定模块包括:

正样本标记子模块,用于将所述第三历史弹幕数据中包含预设字段的弹幕标记为所述正样本;

负样本标记子模块,用于将所述第三历史弹幕数据中不包含所述预设字段的弹幕标记为所述负样本。

在本发明实施例的一种可选实施例中,所述第一预设时间段包括直播间开播至当前时刻的时间段,以及直播间当前时刻之前的预设时间段中的至少一种。

在本发明实施例的一种可选实施例中,所述第二预设时间段包括直播间的历史直播时间段,以及直播间当前时刻之前的预设时间段中的至少一种。

参照图11,示出了本发明的一种弹幕生成模型的生成装置实施例的结构框图,具体可以包括如下模块:

第一数据获取模块1101,用于获取第二预设时间段内的第二历史弹幕数据;

第一样本确定模块1102,用于根据所述第二历史弹幕数据,确定弹幕训练样本;

第一模型训练模块1103,用于根据所述弹幕训练样本,生成所述弹幕生成模型。

在本发明实施例的一种可选实施例中,所述第一样本确定模块1102包括:

第一弹幕获取子模块,用于获取所述第二历史弹幕数据中的第一弹幕;

第二弹幕确定子模块,用于确定所述第二历史弹幕数据中与所述第一弹幕的关系满足预设条件的第二弹幕;

训练样本确定子模块,用于将所述第一弹幕和所述第二弹幕作为所述弹幕训练样本。

在本发明实施例的一种可选实施例中,所述第二弹幕确定子模块具体用于:

获取所述第一弹幕的发布时刻;

从所述第二历史弹幕数据中,提取在所述发布时刻之后的预设时间段内的弹幕,作为所述第二弹幕。

在本发明实施例的一种可选实施例中,所述第二弹幕确定子模块具体用于:

从所述第二历史弹幕数据中,提取与所述第一弹幕之间的字符匹配度大于预设阈值的弹幕,作为所述第二弹幕。

在本发明实施例的一种可选实施例中,所述第一弹幕获取子模块具体用于:

过滤所述第二历史弹幕数据中的资源标识,和/或,表情符号,得到所述第一弹幕。

在本发明实施例的一种可选实施例中,所述第一模型生成模块包括:

第一预测值生成子模块,用于将所述第一弹幕与所述第二弹幕输入预设的初始弹幕生成模型,生成与所述第一弹幕和所述第二弹幕对应的第一预测值;

第一模型训练子模块,用于将所述第一预测值与预设的第一参考值进行比对,并根据比对结果对所述初始弹幕生成模型进行反向训练。

在本发明实施例的一种可选实施例中,所述第一预测值生成子模块具体用于:

将所述第一弹幕与所述第二弹幕输入预设的初始弹幕生成模型进行迭代,并计算每次迭代后的初始弹幕生成模型的多个损失函数;

所述第一模型训练子模块具体用于:

当迭代后的初始弹幕生成模型的多个损失函数均最小化时,停止迭代,生成目标弹幕生成模型。

在本发明实施例的一种可选实施例中,所述弹幕生成模型包括第一输入层以及第二输入层,与所述第一输入层连接的预设数目的第一线性层,与所述第二输入层连接的预设数目的第二线性层,分别与所述第一线性层以及所述第二线性层连接的语义编解码层,与所述语义编解码层连接的连接层,与所述连接层连接的第三线性层,与所述第三线性层连接的softmax层,以及与所述softmax层连接的多个输出节点;所述softmax层用于将所述第三线性层的输出结果进行转换,并将转换后的输出结果分别输出至多个所述输出节点。

在本发明实施例的一种可选实施例中,所述第一预测值生成子模块具体用于:

将所述第一弹幕输入所述第一输入层生成第一序列向量,以及将所述第二弹幕输入所述第二输入层生成第二序列向量;

通过所述预设数目的第一线性层每一神经元的激活函数,对所述第一序列向量逐层进行映射,并将最后一层线性层生成的第一输出向量传输至所述语义编解码层;

通过所述预设数目的第二线性层每一神经元的激活函数,对所述第二序列向量逐层进行映射,并将最后一层线性层的第二输出向量传输至所述语义编解码层;

将所述第一输出向量与所述第二输出向量输入所述语义编解码层,生成目标输出向量;

通过所述连接层对所述目标输出向量进行矩阵转换,生成目标序列向量;

通过预设数目的第三线性层每一神经元的激活函数,对所述目标序列向量逐层进行映射,并将最后一层线性层的输出结果传输至所述softmax层;

通过所述softmax层采用所述输出结果,和与所述输出结果对应的多个损失函数,进行误差计算,生成多个梯度值。

在本发明实施例的一种可选实施例中,所述语义编解码层包括次级编码层、第一次级解码层、注意力分配层以及第二次级解码层,所述第一预测值生成子模块具体用于:

将所述第一输出向量输入所述次级编码层进行编码,生成编码向量;

将所述编码向量与所述第二输出向量输入所述第一次级解码层进行解码,生成解码向量;

将所述编码向量与所述解码向量输入所述注意力分配层进行注意力分配,生成注意力分配值;

将所述注意力分配值输入所述第二次级解码层进行解码,生成与所述第一输出向量以及所述第二输出向量对应的目标输出向量。

在本发明实施例的一种可选实施例中,所述第一模型训练模块1103具体用于:

通过所述输出节点判断所述多个梯度值是否满足预设阈值条件;

若否,则根据所述多个梯度值更新所述每一神经元的激活函数的参数,继续迭代所述弹幕生成模型;

若是,则生成所述目标弹幕生成模型。

参照图12,示出了本发明的一种话题弹幕模型的生成装置实施例的结构框图,具体可以包括如下模块:

第二数据获取模块1201,用于获取第三历史弹幕数据;

第二样本确定模块1202,用于根据所述第三历史弹幕数据,确定话题训练样本;

预测值生成模块1203,用于将所述话题训练样本输入所述话题弹幕模型,生成与所述话题训练样本对应的第二预测值;

第二模型训练模块1204,用于将所述第二预测值与预设的第二参考值进行比对,并根据比对结果对所述话题弹幕模型进行反向训练。

在本发明实施例的一种可选实施例中,所述话题训练样本包括正样本与负样本,所述第二样本确定模块1202包括:

正样本标记子模块,用于将所述第三历史弹幕数据中包含预设字段的弹幕标记为所述正样本;

负样本标记子模块,用于将所述第三历史弹幕数据中不包含所述预设字段的弹幕标记为所述负样本。

在本发明实施例的一种可选实施例中,所述第三历史弹幕数据包括不同类别直播间的历史弹幕数据,或相同类别直播间的历史弹幕数据。

在本发明实施例的一种可选实施例中,所述预测值生成模块1203具体用于:

将所述正样本与所述负样本输入预设的初始话题弹幕模型,并计算每次迭代后的初始话题弹幕模型的多个损失函数;

第二模型训练模块1204具体用于当迭代之后的初始话题弹幕模型的多个损失函数均最小化时,停止迭代,生成所述目标话题弹幕模型。

在本发明实施例的一种可选实施例中,所述初始话题弹幕模型包括输入层,与所述输入层连接的预设数目的第一线性层,与所述第一线性层连接的序列编码层,与所述序列编码层连接的注意力分配层,与所述注意力分配层连接的连接层,与所述连接层连接的第二线性层,与所述第二线性层连接的输出层,以及与所述输出层连接的多个输出节点;其中,所述输出层用于将所述第二线性层的输出结果进行映射,并将映射后的输出结果分别输入至所述多个输出节点。

在本发明实施例的一种可选实施例中,所述预测值生成模块1203具体用于:

将所述正样本与所述负样本输入所述输入层,生成话题训练向量;

通过所述预设数目的第一线性层每一神经元的激活函数,对所述话题训练向量进行逐层映射,并最后一层线性层生成的第一输出向量传输至所述序列编码层;

通过所述序列编码层对所述第一输出向量进行编码,并将所述序列编码层生成的第二输出向量传输至所述注意力分配层;

通过所述注意力分配层对所述第二输出向量进行矩阵变换,并将所述注意力分配层生成的第三输出向量传输至所述连接层;

通过所述连接层对所述第三输出向量进行维度连接,并将所述连接层生成的目标输出向量传输至所述第二线性层;

通过所述第二线性层每一神经元的激活函数,将所述目标输出向量进行映射,并将所述第二线性层的输出结果传输至所述输出层;

通过所述输出层采用所述输出结果,和与所述输出结果对应的多个损失函数,进行误差计算,生成多个梯度值。

在本发明实施例的一种可选实施例中,第二模型训练模块1204具体用于:

通过所述输出节点判断所述多个梯度值是否满足预设阈值条件;

若否,则根据所述多个梯度值更新所述每一神经元的激活函数的参数,继续迭代所述初始话题弹幕模型;

若是,则生成所述目标话题弹幕模型。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本发明实施例还提供了一种装置,包括:

一个或多个处理器;和

其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行本发明实施例所述的方法。

本发明实施例还提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行本发明实施例所述的方法。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的一种直播间弹幕的发布方法和一种直播间弹幕的发布装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1