本发明提出一种基于实时视频聊天场景的机器人互动方法。
背景技术:
随着视频直播的普及,直播行业飞速发展,主播给用户带来交友、娱乐的快乐。但是在一些冷门的时间点,主播缺少与观众的互动,使主播产生房间内没人的感觉,导致主播发言量少,进一步导致用户发言量少,房间长时间缺少互动。
本发明拟研究调动机器人与主播进行互动,进行房间气氛烘托,使主播感受房间气氛的活跃。本发明方法在大数据统计分析的基础上,通过分析直播间的历史文本聊天内容、主播发言内容及实时视频内容等多维数据特征,判断该主播房间场景,房间场景包括文字聊天主题,视频场景(根据视频的每一帧的内容分析当前主播正在做的事,如跳舞,不在麦前,发呆等),进而有针对性的发起和回复相应的聊天内容。
技术实现要素:
本发明的目的是针对现有技术的不足,提供了一种基于实时视频聊天场景的机器人互动方法。
本发明提出的技术方案为:
基于实时视频聊天场景的机器人互动方法包括如下步骤:
步骤1:实时获取视频聊天平台的主播视频数据、主播语音数据、房间内用户发言聊天数据;
步骤2:对主播语音数据进行转文字处理,对主播视频数据中的图像数据进行行为特征提取,特征提取可以基于深度卷积神经网络的视频图像内容检测算法,用于判断主播是否在画面里、衣着是否性感、衣服颜色和类型的识别、人物手势识别等;
步骤3:对房间活跃程度进行判断;判断是否为冷场房间;对非冷场房间的信息进行采集,对主播房间进行主题标记,上述信息可作为训练主题分别模型的训练样本,实时更新训练器,进行机器学习;并可作为历史库的资料(历史库中的语料为按主题分类、按时间排序的历史房间文字聊天记录),丰富历史库。
步骤4:对冷场房间状态进行分析,判断是否需要发起新话题或发起互动,需要发起新话题则执行步骤5,需要发起互动则执行步骤6;
步骤5:对房间文字主题进行判断,从与房间当前主题对应的主题语料库随机选择语料;
步骤6:根据当前视频场景,在与场景对应的主题语料库中随机输出语料,当前场景不明确时不输出语料;视频场景的确定根据视频的每一帧的内容分析当前主播正在做的事,如跳舞,不在麦前,发呆等,可以采用基于深度卷积神经网络的视频图像内容检测算法进行。
步骤7:根据当前主播发言内容,调用回答类算法,输出一条或多条语料;
步骤8:根据当前用户发言内容,随机调用回答类算法和附和类算法,输出一条或多条语料。
优选的,所述的步骤3中,对房间活跃程度进行判断具体为:对房间进行如下三项判断,
1)分析房间文本聊天条数是否小于设定阈值;
2)分析房间用户发言人数是否小于设定阈值;
3)分析房间主播发言条数是否小于设定阈值;
如果以上三项中的任何一项成立,则认为此房间为冷场房间。
优选的,所述的步骤4对冷场房间状态进行分析具体为:对冷场房间的历史信息进行分析,分析该房间之前有无机器人参与过互动;如有则选择发起互动,如没有则发起新话题。
优选的,所述的步骤5具体为:根据用户的发言内容,调用主题分类模型,分析房间当前主题,从发起话题语料库随机选择一个对应主题的语料;
优选的,所述的调用回答类算法为:调用人机对话算法,使用语料库(该与语料库中的语料可以为预先标记过准确性的用户历史一对一的聊天记录),获得一条或多条语料;任何能实现人机对话的算法、模块或语料库均适用于本步骤。
优选的,所述的调用附和类算法为:根据当前时间段内的用户的发言内容,调用预先训练好的主题分类模型判断当前场景的主题,模型只输出一个主题,再将用户的发言内容分词后向量化,与此主题历史库进行相似度计算,选择相似度最高的分组,从该分组中随机选择若干个非完全相同的语料作为互动的语料;
其中,两段文本生成的多维向量夹角越小则越相似,反之越不相似,其计算方法如公式(1.2)所示:
其中n为关键词总数,xi为第i个关键词在x样本出现的次数,yi为第i个关键词在y样本出现的次数。
优选的,所述的主题分类模型的主题分类方法为:
a:对历史用户发言进行主题分组,其中,一组用户发言可能有多个主题;主题分类结果为漂亮、唱歌、跳舞、礼物和其它共五类;
b.对历史用户发言做切分词处理,文本中的词作为分类特征,而且分类特征不考虑词出现的先后次序,只选择名词、动词作为分类特征词;将文本向量化,然后用于训练朴素贝叶斯分类器,建立主题分类模型;
c.对房间一定单位时间内的用户发言做切分词处理,提取分类特征词,并将文本向量化,利用步骤b得到的主题分类模型得到概率最大的主题类别,作为该单位时间内根据用户发言得到的当前场景的主题;
其中,多项式分布的朴素贝叶斯计算方法如公式(1.1)所示:
其中,p(xi|yk)为类别yk下的特征xi的取值条件概率;
本发明方法的主要思想是:基于海量聊天、视频图像数据,房间内主播及用户的行为判断,对基于匹配规则的人机对话算法进行改进,提出一种基于实时视频聊天场景的机器人互动方法,调动机器人与主播进行互动,进行房间气氛烘托,使主播感受房间气氛的活跃,进一步带动真实用户的目的。
附图说明
图1表示本发明的流程图。
具体实施方式
下面将结合附图对本发明加以详细说明,应指出的是,所描述的实例仅便于对本发明的理解,而对其不起任何限定作用。
如图1所示,基于实时视频聊天场景的机器人互动方法包括如下步骤:
1.获取视频聊天房间实时数据
数据来源于视频聊天房间实时产生的视频场景,主播发言内容,用户聊天文本。
2.对数据进行预处理
(1)对语音数据进行转文字处理;
对视频帧的图像数据进行特征提取,如人是否在画面里,衣着是否性感,衣服颜色、类型,手势识别等;可以采用基于深度卷积神经网络的视频图像内容检测算法进行。
(2)对文本聊天内容进行删除表情、垃圾信息等非有效数据。
表情:如/开心/、/疑惑/等;
垃圾信息:如广告(加q群706656022),欢迎语(欢迎进入10888房间)等。
3.对房间活跃程度进行判断
(1)分析房间文本聊天条数是否小于一定阈值;
(2)分析房间用户发言人数是否小于一定阈值;
(3)分析房间主播发言条数是否小于一定阈值。
如果命中了以上若干规则中的任何一条,则认为此房间冷场。
4.对冷场房间的历史信息进行分析:
分析该房间之前有无机器人参与过互动,如有则选择进行互动,如没有则发起新话题。
5.选择发起话题的语料
根据用户的发言内容,调用主题分类模型,分析房间当前主题,从发起话题语料库随机选择一个对应主题的语料;其中发起话题语料库的主题分类与主题语料库中的主题分类一致;发起话题语料库为主题语料库的一部分,其内容为主题语料库中各主题分类下适用于发起话题的语料。
6.根据当前视频场景发起互动语料
根据当前视频场景,视频场景的确定根据视频的每一帧的内容分析当前主播正在做的事,如跳舞,不在麦前,发呆等,可以采用基于深度卷积神经网络的视频图像内容检测算法进行。随机输出语料,当前场景不明确时不输出语料;
7.根据主播发言和用户发言内容选择互动的语料
互动的方法分为回答和附和两种,根据主播发言内容仅选择回答类,根据用户发言内容随机选择一种进行调用,输出一条或多条语料,为防止单句相似度高的巧合性,故发言条数必须大于一定阈值。
(1)回答:调用人机对话算法(使用直播间专用语料库)获得。如:主播说“我唱的怎么样啊”,机器人则回“非常好听”
(2)附和:根据当前时间段内的用户的发言内容,调用预先训练好的主题分类模型判断当前场景的主题,模型只输出一个主题,再通过与此主题历史库(为按主题分类,按时间排序的历史房间文字聊天记录)进行相似度计算,选择相似度最高的分组,从该分组中随机选择几个非完全相同的语料作为互动的语料。
其中模型设计方法如下:
a.主题分类
对房间一定单位时间内用户发言进行分组,对历史库进行人工标记,一组对话可能有多个主题,主题分类结果如下:
zt01漂亮:如包含关键字漂亮,美丽,性感;
zt02唱歌:如包含关键字主播唱一个,来一首;
zt03跳舞:如包含关键字跳,动起来;
zt04礼物:如包含关键字礼物,刷,中奖;
zt05其它
b.特征提取
用一组文本做切分词处理,文本中的词作为分类特征,而且分类特征不考虑词之间的位置关系也就是出现的先后次序,分类特征并不一定是一个词,且为了提高计算类别的效率,只统计出现的高频词,不是所有的高频词都作为分类依据,例如“的”这样的助词和标点符号往往不作为分类依据,只选择某些词性作为分类依据,比如说,只选择名词,动词作为分类特征词。将文本向量化,然后用于训练朴素贝叶斯分类器。
c.朴素贝叶斯分类器
多项式分布的朴素贝叶斯计算方法如公式(1.1)所示:
其中,
相似度计算方法如下:
a.算法原理:
对出现的关键词进行向量化处理,两段文本生成的多维向量夹角越小则越相似,反之越不相似,其计算方法如公式(1.2)所示:
其中n为关键词总数,xi为第i个关键字在x样本出现的次数,yi为第i个关键字在y样本出现的次数。
b.示例介绍:
在本发明的一个具体实施例中,某单位时间用户发言内容样本如表1.1所示:
表1.1用户发言内容样本
对用户发言内容进行关键词提取,用主题分类模型进行分类,最终此样本模型输出场景为跳舞。
该房间为需要机器人进行互动的房间,在该房间的附和过程如下:
将用户的发言与跳舞中的各个分组(为历史库跳舞类别下的各个已经标记的语料分组,本实施例仅以分组1和分组2两个分组进行比较说明)进行相似度比较。
历史库跳舞场景分组1如表1.2所示:
表1.2跳舞场景分组1
历史库跳舞场景分组2如表1.3所示:
表1.3跳舞场景分组2
关键词统计结果如表1.4所示:
表1.4关键词统计结果
相似度计算结果:
a.场景分组1与样本1的相似度s11计算结果:
b.场景分组2与样本1的相似度s12计算结果:
由于s11>s12,故随机选择分组1中与样本1不一样的语句进行发送,输出语料“好可爱的美女”,“美女跳个舞呗”。
以上方法,在实际视频直播平台环境下使用后,互动效果十分良好,主播的发言量明显提升,冷场次数明显减少。