本发明实施例涉及数据处理的技术领域,尤其涉及一种词云图生成方法、装置、设备和存储介质。
背景技术:
直播业务不断发展,随着观看直播的人数持续增长,观众通过在直播间进行弹幕发送,以便与主播进行交流的情况也越来越普遍。通过统计海量弹幕数据,可以得出观众对直播内容的反馈,也可以反映主播的用户画像。
但现有的关于弹幕数据的应用还是较为缺乏。一方面,现有的弹幕数据的表现形式较为单一,如弹幕数据只是在直播时以滚动的形式进行展示。另一方面,现有的弹幕数据虽然能反映主播的用户画像,但还是偏向于直播平台对主播的后台分析,缺乏一种应用将弹幕数据与主播或直播内容建立显性的联系。
技术实现要素:
本发明提供一种词云图生成方法、装置、设备和存储介质,以实现丰富弹幕数据的表现形式和增加主播和观众的交流渠道,以进一步达到增加关注度和点击率的效果。
第一方面,本发明实施例提供了一种词云图生成方法,该方法包括:
获取在直播节目内发布或对主播发布的弹幕数据;
从所述弹幕数据中提取有效的目标关键词;
确定待生成的词云图的预设形状样式;
将所述目标关键词转化为具有所述预设形状样式的词云图。
进一步的,从所述弹幕数据中提取有效的目标关键词,包括:
对所述弹幕数据进行预提取处理,以得到原始关键词;
根据预设过滤条件对所述原始关键词进行过滤处理,以得到有效的目标关键词。
进一步的,确定待生成的词云图的预设形状样式,包括:
接收主播客户端针对所述弹幕数据的词云图生成指令;
从所述词云图生成指令提取待生成的词云图的预设形状样式。
进一步的,将所述目标关键词转化为具有所述预设形状样式的词云图,包括:
生成符合所述预设形状样式的底图;
将所述目标关键词转换为符合预设字体样式的字体图;
将所述字体图合并至所述底图,以生成所述词云图。
进一步的,生成符合所述预设形状样式的底图,包括:
判断在磁盘中是否存储有符合所述预设形状样式的底图;
若是,则从所述磁盘中读取所述底图,并在缓存中转换为二进制格式;
若否,则在缓存中生成符合所述预设形状样式的、且格式为二进制的底图。
进一步的,在缓存中生成符合所述预设形状样式的、且格式为二进制的底图,包括:
根据所述预设形状样式确定底图的形状、线条颜色和填充颜色;
根据所述底图的形状确定画布的大小;
根据所述底图的线条颜色和填充颜色,在所述画布上绘制所述底图,以生成格式为二进制的所述底图。
进一步的,将所述目标关键词转换为符合预设字体样式的字体图,包括:
统计所述目标关键词的频率;
根据所述频率与所述目标关键词的词面积的正相关关系,确定底图面积中可分配给所述目标关键词的词面积;
确定所述目标关键词的字体类型和字体颜色;
将所述目标关键词转换为符合所述字体类型和字体颜色、且占有所述词面积的字体图。
进一步的,确定所述目标关键词的字体类型和字体颜色,包括:
确定所述目标关键词的字体类型;
针对每个所述目标关键词,在预设的颜色空间中选择一颜色,以对所述目标关键词分配字体颜色。
进一步的,将所述字体图合并至所述底图,以生成所述词云图,包括:
将所述字体图按照面积进行排序;
按照所述排序从当前剩余未填充的所述字体图中选择待填充的字体图;
将所述待填充的字体图填充至底图中未被填充的空位;
判断是否还具有未填充的所述字体图;
若是,则按照所述排序从当前剩余未填充的所述字体图中选择待填充的字体图;
若否,则完成生成所述词云图。
进一步的,将所述待填充的字体图填充至底图中未被填充的空位,包括:
确定所述待填充的字体图的放置角度为设定的角度;
在底图中搜索能容纳以所述放置角度放置的所述待填充的字体图的空位;
判断是否存在所述空位;
若是,则将所述待填充的字体图填充至所述空位;
若否,则调整所述放置角度,并在底图中搜索能容纳以所述放置角度放置的所述待填充的字体图的空位。
进一步的,在将所述目标关键词转化为具有所述预设形状样式的词云图之后,包括:
接收分享指令;
根据所述分享指令将所述词云图进行分享。
第二方面,本发明实施例还提供了一种词云图生成装置,该装置包括:
弹幕数据获取模块,用于获取在直播节目内发布或对主播发布的弹幕数据;
目标关键词提取模块,用于从所述弹幕数据中提取有效的目标关键词;
预设形状样式确定模块,用于确定待生成的词云图的预设形状样式;
词云图转化模块,用于将所述目标关键词转化为具有所述预设形状样式的词云图。
第三方面,本发明实施例还提供了一种词云图生成设备,该设备包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面中任一所述的词云图生成方法。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面中任一所述的词云图生成方法。
本发明实施例的技术方案,通过获取在直播节目内发布或对主播发布的弹幕数据;从所述弹幕数据中提取有效的目标关键词;确定待生成的词云图的预设形状样式;将所述目标关键词转化为具有所述预设形状样式的词云图,由此,弹幕数据不仅仅可以滚动的方式呈现给观众,还可以以词云图的方式进行展示,解决因弹幕数据表现形式单一的问题,丰富了弹幕数据的表现形式;而且由于该目标关键词是弹幕数据中的有效词语,可以体现直播节目质量或主播用户画像,从而建立了弹幕数据与直播节目或主播的显性联系,进而观众可以通过该词云图了解直播节目或主播,从而达到增加主播或者直播节目的关注度和点击率的效果。
附图说明
图1为本发明实施例一提供的一种词云图生成方法的流程图;
图2为本发明实施例二提供的一种词云图生成方法的流程图;
图3为本发明实施例三提供的一种词云图生成方法的流程图;
图4为本发明实施例四提供的一种词云图生成装置的结构示意图;
图5为本发明实施例五提供的一种词云图生成设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种词云图生成方法的流程图,本实施例可适用于直播领域的弹幕处理情况,本实施例对应用场景不作限定,只要实现将提取的有效的目标关键词生成具有预设形状样式的词云图即可。该方法可以由词云图生成设备来执行,词云图生成设备可以是电脑,手机和平板等。实施例中,以词云图生成设备为电脑为例,进行描述。该词云图生成方法具体包括如下步骤:
s110、获取在直播节目内发布或对主播发布的弹幕数据。
本实施例对应用场景不作限定,可以是直播或者短视频播放的应用场景,只要满足有弹幕数据即可。本实施例以直播为例进行说明,该词云图生成方法可以由主播客户端执行。弹幕数据是直播过程中,观众针对直播节目发布的评论。本实施例中的弹幕数据可以是一场直播节目内发布的弹幕数据;也可以是针对一个主播上传的多场直播节目内发布的弹幕数据。
进一步的,本实施例对弹幕数据的获取方式不作限定,可以是直播平台在接收到观众发送的弹幕数据后,将弹幕数据存储于直播平台服务器中,在需要使用弹幕数据时,进行读取即可。
本实施例对弹幕数据的获取时机不作限定,可以是在主播需要生成词云图时进行获取。
s120、从所述弹幕数据中提取有效的目标关键词。
本实施例中,弹幕数据为文本数据;有效的目标关键词是弹幕数据中能体现直播节目质量或主播用户画像的词语,其中,用户画像指的是根据用户社会属性、生活习惯和直播节目内容等信息而抽象出的一个标签化的用户模型。
本实施例对如何提取有效的目标关键词不作限定,可以是使用自然语言处理的方法进行提取,具体的,可以使用提取关键词的算法实现。
在一实施例中,从直播平台服务器中获取弹幕数据后,使用提取关键词的方式从所述弹幕数据中提取出体现直播节目质量或主播用户画像的词语,作为有效的目标关键词。
s130、确定待生成的词云图的预设形状样式。
本实施例中,词云图是目标关键词组合而成的图像。本实施例对图像不作限定,可以是二维图像或者是三维图像,本实施例以词云图是二维图像为例进行说明。
进一步的,预设形状样式用于限定目标关键词在词云图中的组合方式,具体的,可以规定每个目标关键词的字体颜色、字体类型和字体大小;还可以规定所有目标关键词的分布位置等。其中,规定所有目标关键词的分布位置可以是规定所有目标关键词分布在预设的形状范围中。
本实施例对如何确定预设形状样式不作限定,预设形状样式可以是由用户自定义确定或者从词云图生成设备提供的预设形状样式中选取。
在一实施例中,词云图生成设备根据用户的选择指令从预设形状样式集合中确定待生成的词云图的预设形状样式。
s140、将所述目标关键词转化为具有所述预设形状样式的词云图。
本实施例对如何将目标关键词转化为具有所述预设形状样式的词云图不作限定。
在一实施例中,目标关键词按照预设形状样式规定的分布位置进行分布,并设置每个目标关键词的字体颜色、字体类型和字体大小,以生成词云图。
本实施例的技术方案,通过获取在直播节目内发布或对主播发布的弹幕数据;从所述弹幕数据中提取有效的目标关键词;确定待生成的词云图的预设形状样式;将所述目标关键词转化为具有所述预设形状样式的词云图,由此,弹幕数据不仅仅可以滚动的方式呈现给观众,还可以将弹幕数据以词云图的方式进行展示,解决因弹幕数据表现形式单一的问题,丰富了弹幕数据的表现形式;而且由于该目标关键词是弹幕数据中的有效词语,可以体现直播节目质量或主播用户画像,从而建立了弹幕数据与直播节目或主播的显性联系,进而观众可以通过该词云图了解直播节目或主播,从而达到增加主播或者直播节目的关注度和点击率的效果。
实施例二
图2为本发明实施例二提供的一种词云图生成方法的流程图。
本实施例在上述实施例的基础上进一步细化,该词云图生成方法具体包括如下步骤:
s201、获取在直播节目内发布或对主播发布的弹幕数据。
s202、对所述弹幕数据进行预提取处理,以得到原始关键词。
本实施例中,预提取处理用于在弹幕数据中提取出原始关键词。原始关键词是弹幕数据中提取出的体现直播节目质量或主播用户画像的词语。本实施例对预提取处理的具体实施方式不作限定,可以是使用自然语言处理的方法进行提取。具体的,可以使用提取关键词的算法实现,如采用tf-idf、topic-model和textrank等常见算法。
在一实施例中,所述预提取处理还包括分词处理和/或去除停用词处理。
在从弹幕数据中提取原始关键词之前,需要对弹幕数据进行分词处理。具体的,中文分词(chinesewordsegmentation)指的是将一个汉字序列切分成一个个单独的词。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。
进一步的,停用词可以是人类语言中包含的功能词,这些功能词极其普遍,与其他词相比,功能词没有什么实际含义。由于原始关键词是弹幕数据中提取出的体现直播节目质量或主播用户画像的词语,而使用关键词提取算法提取出的原始关键词可能存在有停用词,不具备实际意义或不具备代表性。所以本实施例中,预提取处理还包括去除停用词处理,以使得保留的原始关键词能更充分的体现直播节目质量或主播用户画像。
s203、根据预设过滤条件对所述原始关键词进行过滤处理,以得到有效的目标关键词。
本实施例中,预设过滤条件用于进一步过滤掉不能体现直播节目质量或主播用户画像的原始关键词,以得到有效的目标关键词。
在一实施例中,该预设过滤条件可以是过滤掉无效字母、投票数字、弹幕抽奖和不文明用语等。
s204、接收主播客户端针对所述弹幕数据的词云图生成指令。
本实施例中,词云图生成指令用于触发生成词云图。本实施例对如何接收生成词云图生成指令不作限定,可以是在主播客户端为主播提供接口,以在需要生成词云图时,触发生成所述词云图生成指令。
在一实施例中,主播客户端检测用户操作,并根据用户操作生成词云图生成指令。
需要注意的是,步骤s204可以在步骤s201之前执行,即接收主播客户端针对所述弹幕数据的词云图生成指令,根据所述词云图生成指令,获取在直播节目内发布或对主播发布的弹幕数据。步骤s204在步骤s201之前执行,可以限定获取弹幕数据的时机;而步骤s204在步骤s201之后执行,则可以提前存储用于体现直播节目质量或主播用户画像的目标关键词,在需要生成词云图时,直接读取即可,提高生成词云图的速度。
s205、从所述词云图生成指令提取待生成的词云图的预设形状样式。
本实施例中,词云图生成指令中带有表示预设形状样式的参数。
在一实施例中,若词云图生成指令是由主播客户端为主播提供的接口所生成。则该接口还可以用于设置预设形状样式,进一步的,该接口可以是以图形界面的形式呈现。具体的,该接口可以用于设置词云图中的底图,该底图用于限制目标关键词的分布位置,即将目标关键词分布于底图中。进一步的,还可以设置每个目标关键词的字体颜色、字体类型和字体大小等。
s206、生成符合所述预设形状样式的底图。
本实施例对底图的具体形状不作限定,可以是心型、五角星等常见几何形状,也可以是图标,还可以是以文字为底图的形状。
s207、将所述目标关键词转换为符合预设字体样式的字体图。
本实施例中,预设字体样式用于规定每个目标关键词的字体颜色、字体类型和字体大小等。可以是由用户自定义设置,如从预设形状格式的参数中获得;也可以是默认设置,无需用户进行另外设置。
s208、将所述字体图合并至所述底图,以生成所述词云图。
本实施例中,将字体图填充进底图限定的形状范围中,以使得生成的词云图以底图的形状进行呈现。如底图为心型,则目标关键词对应的字体图分布在心型的内部,使得生成的词云图为心型。
s209、接收分享指令。
本实施例中,主播客户端还可以提供界面用于响应用户操作以接收分享指令。该分享指令设置有分享目标和分享对象。
s210、根据所述分享指令将所述词云图进行分享。
在一实施例中,根据所述分享指令,将所述词云图作为分享对象;将所述分享对象分享至分享目标。
在一实施例中,根据所述分享指令,合并主播图标、二维码和所述词云图,以生成分享对象;将所述分享对象进行分享。
本实施例通过获取在直播节目内发布或对主播发布的弹幕数据;对所述弹幕数据进行预提取处理,以得到原始关键词;根据预设过滤条件对所述原始关键词进行过滤处理,以得到有效的目标关键词;接收主播客户端针对所述弹幕数据的词云图生成指令;从所述词云图生成指令提取待生成的词云图的预设形状样式;生成符合所述预设形状样式的底图;将所述目标关键词转换为符合预设字体样式的字体图;将所述字体图合并至所述底图,以生成所述词云图;接收分享指令;根据所述分享指令将所述词云图进行分享,由此,弹幕数据不仅仅可以滚动的方式呈现给观众,还可以将弹幕数据以词云图的方式进行展示,解决因弹幕数据表现形式单一的问题,丰富了弹幕数据的表现形式;而且由于对弹幕数据进行预提取处理和过滤处理,使得提取出的目标关键词可以充分体现直播节目质量或主播用户画像,从而建立了弹幕数据与直播节目或主播的显性联系,进而提供分享方式,以使得观众可以通过该词云图了解直播节目或主播,从而达到增加主播或者直播节目的关注度和点击率的效果。
实施例三
图3为本发明实施例三提供的一种词云图生成方法的流程图。
本实施例在上述实施例的基础上进一步细化,该词云图生成方法具体包括如下步骤:
s301、获取在直播节目内发布或对主播发布的弹幕数据。
s302、从所述弹幕数据中提取有效的目标关键词。
s303、确定待生成的词云图的预设形状样式。
本实施例中,预设形状样式用于限定目标关键词在词云图中的组合方式,具体的,可以规定每个目标关键词的字体颜色、字体类型和字体大小;还可以规定所有目标关键词的分布位置等。
s304、判断在磁盘中是否存储有符合所述预设形状样式的底图。
若是,则执行步骤s305;若否,则执行步骤s306。
本实施例中,可以根据预设形状样式对应的名称在磁盘中进行底图的搜索。
s305、从所述磁盘中读取所述底图,并在缓存中转换为二进制格式。
本实施例中,若磁盘中存储有符合所述预设形状样式的底图,则将该底图从磁盘中读取至缓存中,以进行词云图的生成。本实施例中在缓存中将读取的底图转换为二进制格式,方便计算机对底图的分析和处理。
s306、在缓存中生成符合所述预设形状样式的、且格式为二进制的底图。
本实施例中,若磁盘中未存储有符合所述预设形状样式的底图,则直接在缓存中生成底图,以进行词云图的生成。
本实施例对如何生成符合所述预设形状样式的、且格式为二进制的底图不作限定,本实施例将通过举例进行说明。
在一实施例中,将步骤s306进一步细化为步骤s3061-s3063:
s3061、根据所述预设形状样式确定底图的形状、线条颜色和填充颜色。
本实施例中,预设形状样式还用于规定底图的形状、线条颜色和填充颜色。可以由用户进行设置。
在一实施例中,若预设形状样式中底图的形状为文字,还需要在主播客户端提供的接口中输入该文字;若预设形状样式中的底图的形状为图标,则需要在主播客户端提供的接口中导入该图标;若预设形状样式中的底图的形状为几何图形,则需要在主播客户端提供的接口中设置该几何图形的参数,如形状为长方形,则设置长和宽。
s3062、根据所述底图的形状确定画布的大小。
本实施例中,画布用于绘制底图,在进行绘制之前,根据底图的形状确定画布的大小。
s3063、根据所述底图的线条颜色和填充颜色,在所述画布上绘制所述底图,以生成格式为二进制的所述底图。
本实施例中,底图为二进制格式,可以根据预设形状样式确定底图的线条颜色和填充颜色。
s307、统计所述目标关键词的频率。
本实施例中,针对每个目标关键词的频率,其计算方式为每个目标关键词的数量与目标关键词的总数之比。
s308、根据所述频率与所述目标关键词的词面积的正相关关系,确定底图面积中可分配给所述目标关键词的词面积。
本实施例中,目标关键词的频率越高,则表示该目标关键词越能体现直播节目质量或主播用户画像。进一步的,将频率与目标关键词的词面积设置为正相关关系,可以使得频率越高的目标关键词,其对应的词面积越大,在词云图中越显眼。
在一实施例中,目标关键词的词面积为目标关键词的频率与底图面积的乘积。
s309、确定所述目标关键词的字体类型和字体颜色。
本实施例中,将步骤s309进一步细化为步骤s3091-s3092:
s3091、确定所述目标关键词的字体类型。
s3092、针对每个所述目标关键词,在预设的颜色空间中选择一颜色,以对所述目标关键词分配字体颜色。
本实施例中,在预设的颜色空间中随机选择一颜色,分配给每个目标关键词,使得目标关键词在词云图中以不同的颜色进行展示,以避免目标关键词以同一颜色进行展示而造成无法区分的问题。另外,通过预设的颜色空间,也可以保证词云图的基本色调在预设的范围,如将心型的词云图,限制在红色的颜色区间。
s310、将所述目标关键词转换为符合所述字体类型和字体颜色、且占有所述词面积的字体图。
s311、将所述字体图按照面积进行排序。
本实施例中,以字体图对应的词面积从大到小的顺序将字体图填充至底图所限制的形状范围内。
s312、按照所述排序从当前剩余未填充的所述字体图中选择待填充的字体图。
本实施例中,按顺序确定待填充的字体图,直到所有字体图都被填充入底图所限定的形状范围中为止。
s313、将所述待填充的字体图填充至底图中未被填充的空位。
本实施例对如何将字体图填充至底图不作限定,本实施例以举例的方式进行说明。
在一实施例中,将步骤s313进一步细化为步骤s3131-s3135:
s3131、确定所述待填充的字体图的放置角度为设定的角度。
本实施例中,设定的角度为待填充的字体图的初始放置角度,本实施例对设定的角度不作限定,可以设置为45°、90°或其他角度。
s3132、在底图中搜索能容纳以所述放置角度放置的所述待填充的字体图的空位。
本实施例中,能容纳待填充的字体图的空位,表示将待填充的字体图填充如该空位时,不会与已填充的字体图重叠,且不会超出底图所限定的形状范围之外。
本实施例中,将所述待填充的字体图以设定的放置角度进行放置,并在底图中进行遍历搜索,以确定是否存在能容纳待填充的字体图的空位,即执行步骤s3133。
s3133、判断是否存在所述空位。
若是,则执行步骤s3134;若否,则执行步骤s3135。
s3134、将所述待填充的字体图填充至所述空位。
s3135、调整所述放置角度。
本实施例中,若在底图中无法搜索到能容纳待填充的字体图的空位,则调整待填充的字体图的放置角度,并继续执行步骤s3132。
本实施例对如何调整放置角度不作限定,可以是增加或减少一设定的角度阈值。
s314、判断是否还具有未填充的所述字体图。
若是,则执行步骤s312;若否,则执行步骤s315。
s315、完成生成所述词云图。
本实施例中,可以是新建一字体图层,用于填充字体图。在将字体图填充入该字体图层时,将字体图限制在底图所限定的形状范围内,并在所有字体图填充完毕后,将该填充有字体图的字体图层与底图的图层进行合并,以完成生成词云图的操作。
s316、接收分享指令。
s317、根据所述分享指令将所述词云图进行分享。
本实施例通过获取在直播节目内发布或对主播发布的弹幕数据;从所述弹幕数据中提取有效的目标关键词;确定待生成的词云图的预设形状样式;判断在磁盘中是否存储有符合所述预设形状样式的底图;若是,则从所述磁盘中读取所述底图,并在缓存中转换为二进制格式;若否,则在缓存中生成符合所述预设形状样式的、且格式为二进制的底图;统计所述目标关键词的频率;根据所述频率与所述目标关键词的词面积的正相关关系,确定底图面积中可分配给所述目标关键词的词面积;确定所述目标关键词的字体类型和字体颜色;将所述目标关键词转换为符合所述字体类型和字体颜色、且占有所述词面积的字体图;将所述字体图按照面积进行排序;按照所述排序从当前剩余未填充的所述字体图中选择待填充的字体图;将所述待填充的字体图填充至底图中未被填充的空位;判断是否还具有未填充的所述字体图;若是,则按照所述排序从当前剩余未填充的所述字体图中选择待填充的字体图;若否,则完成生成所述词云图;接收分享指令;根据所述分享指令将所述词云图进行分享,由此,弹幕数据不仅仅可以滚动的方式呈现给观众,还可以将弹幕数据以词云图的方式进行展示,解决因弹幕数据表现形式单一的问题,丰富了弹幕数据的表现形式;而且由于从弹幕数据提取出的目标关键词可以充分体现直播节目质量或主播用户画像,从而建立了弹幕数据与直播节目或主播的显性联系,进而提供分享方式,以使得观众可以通过该词云图了解直播节目或主播,从而达到增加主播或者直播节目的关注度和点击率的效果。另外,将频率与目标关键词的词面积设置为正相关关系,可以使得频率越高的目标关键词,其对应的词面积越大,在词云图中越显眼,使得目标关键词的显示具有侧重点,方便观众快速了解直播节目质量或主播用户画像。
实施例四
图4为本发明实施例四提供的一种词云图生成装置的结构示意图,本实施例可适用于直播领域的弹幕处理情况,本实施例对应用场景不作限定,只要实现将提取的有效的目标关键词生成具有预设形状样式的词云图即可。该装置可以集成于词云图生成设备中,词云图生成设备可以是电脑,手机和平板等。实施例中,以词云图生成设备为电脑为例,进行描述。
该词云图生成装置具体包括如下结构:弹幕数据获取模块410、目标关键词提取模块420、预设形状样式确定模块430和词云图转化模块440。
弹幕数据获取模块410,用于获取在直播节目内发布或对主播发布的弹幕数据。
目标关键词提取模块420,用于从所述弹幕数据中提取有效的目标关键词。
预设形状样式确定模块430,用于确定待生成的词云图的预设形状样式。
词云图转化模块440,用于将所述目标关键词转化为具有所述预设形状样式的词云图。
本实施例的技术方案,通过获取在直播节目内发布或对主播发布的弹幕数据;从所述弹幕数据中提取有效的目标关键词;确定待生成的词云图的预设形状样式;将所述目标关键词转化为具有所述预设形状样式的词云图,由此,弹幕数据不仅仅可以滚动的方式呈现给观众,还可以以词云图的方式进行展示,解决因弹幕数据表现形式单一的问题,丰富了弹幕数据的表现形式;而且由于该目标关键词是弹幕数据中的有效词语,可以体现直播节目质量或主播用户画像,从而建立了弹幕数据与直播节目或主播的显性联系,进而观众可以通过该词云图了解直播节目或主播,从而达到增加主播或者直播节目的关注度和点击率的效果。
在上述技术方案的基础上,目标关键词提取模块420,包括:
原始关键词提取子模块,用于对所述弹幕数据进行预提取处理,以得到原始关键词。
过滤子模块,用于根据预设过滤条件对所述原始关键词进行过滤处理,以得到有效的目标关键词。
在上述技术方案的基础上,预设形状样式确定模块430,包括:
词云图生成指令接收子模块,用于接收主播客户端针对所述弹幕数据的词云图生成指令。
预设形状样式确定子模块,用于从所述词云图生成指令提取待生成的词云图的预设形状样式。
在上述技术方案的基础上,词云图转化模块440,包括:
底图生成子模块,用于生成符合所述预设形状样式的底图。
字体图生成子模块,用于将所述目标关键词转换为符合预设字体样式的字体图。
词云图生成子模块,用于将所述字体图合并至所述底图,以生成所述词云图。
在上述技术方案的基础上,底图生成子模块,包括:
底图储存判断单元,用于判断在磁盘中是否存储有符合所述预设形状样式的底图。
底图读取单元,用于若在磁盘中存储有符合所述预设形状样式的底图,则从所述磁盘中读取所述底图,并在缓存中转换为二进制格式。
底图生成单元,用于若在磁盘中未存储有符合所述预设形状样式的底图,则在缓存中生成符合所述预设形状样式的、且格式为二进制的底图。
在上述技术方案的基础上,底图生成单元,包括:
底图样式确定子单元,用于根据所述预设形状样式确定底图的形状、线条颜色和填充颜色。
画布大小确定子单元,用于根据所述底图的形状确定画布的大小。
底图绘制子单元,用于根据所述底图的线条颜色和填充颜色,在所述画布上绘制所述底图,以生成格式为二进制的所述底图。
在上述技术方案的基础上,字体图生成子模块,包括:
词频统计单元,用于统计所述目标关键词的频率。
词面积确定单元,用于根据所述频率与所述目标关键词的词面积的正相关关系,确定底图面积中可分配给所述目标关键词的词面积;
字体样式确定单元,用于确定所述目标关键词的字体类型和字体颜色。
字体图生成单元,用于将所述目标关键词转换为符合所述字体类型和字体颜色、且占有所述词面积的字体图。
在上述技术方案的基础上,字体样式确定单元,包括:
字体类型确定子单元,用于确定所述目标关键词的字体类型。
字体颜色确定子单元,用于针对每个所述目标关键词,在预设的颜色空间中选择一颜色,以对所述目标关键词分配字体颜色。
在上述技术方案的基础上,词云图生成子模块,包括:
排序单元,用于将所述字体图按照面积进行排序。
待填充字体图选择单元,用于按照所述排序从当前剩余未填充的所述字体图中选择待填充的字体图。
填充单元,用于将所述待填充的字体图填充至底图中未被填充的空位。
填充判断单元,用于判断是否还具有未填充的所述字体图;若是,则按照所述排序从当前剩余未填充的所述字体图中选择待填充的字体图;若否,则完成生成所述词云图。
在上述技术方案的基础上,填充单元,包括:
角度确定子单元,用于确定所述待填充的字体图的放置角度为设定的角度。
空位搜索子单元,用于在底图中搜索能容纳以所述放置角度放置的所述待填充的字体图的空位。
空位判断子单元,用于判断是否存在所述空位。
填充子单元,用于若存在所述空位,则将所述待填充的字体图填充至所述空位。
角度调整子单元,用于若不存在所述空位,则调整所述放置角度,并在底图中搜索能容纳以所述放置角度放置的所述待填充的字体图的空位。
在上述技术方案的基础上,所述词云图生成装置,还包括:
分享指令接收模块,用于在将所述目标关键词转化为具有所述预设形状样式的词云图之后,接收分享指令。
分享模块,用于根据所述分享指令将所述词云图进行分享。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
实施例五
图5为本发明实施例五提供的一种词云图生成设备的结构示意图。如图5所示,该词云图生成设备包括:处理器50、存储器51、输入装置52以及输出装置53。该词云图生成设备中处理器50的数量可以是一个或者多个,图5中以一个处理器50为例。该词云图生成设备中存储器51的数量可以是一个或者多个,图5中以一个存储器51为例。该词云图生成设备的处理器50、存储器51、输入装置52以及输出装置53可以通过总线或者其他方式连接,图5中以通过总线连接为例。实施例中,词云图生成设备可以是电脑,手机和平板等。实施例中,以词云图生成设备为电脑为例,进行描述。
存储器51作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明任意实施例所述的词云图生成方法对应的程序指令/模块(例如,词云图生成装置中的弹幕数据获取模块410、目标关键词提取模块420、预设形状样式确定模块430和词云图转化模块440)。存储器51可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器51可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器51可进一步包括相对于处理器50远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置52可用于接收输入的数字或者字符信息,以及产生与词云图生成设备的用户设置以及功能控制有关的键信号输入,还可以是用于获取图像的摄像头以及获取音频数据的拾音设备。输出装置53可以包括扬声器等音频设备。需要说明的是,输入装置52和输出装置53的具体组成可以根据实际情况设定。
处理器50通过运行存储在存储器51中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的词云图生成方法。
实施例六
本发明实施例六还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种词云图生成方法,包括:
获取在直播节目内发布或对主播发布的弹幕数据;
从所述弹幕数据中提取有效的目标关键词;
确定待生成的词云图的预设形状样式;
将所述目标关键词转化为具有所述预设形状样式的词云图。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的词云图生成方法操作,还可以执行本发明任意实施例所提供的词云图生成方法中的相关操作,且具备相应的功能和有益效果。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是机器人,个人计算机,服务器,或者网络设备等)执行本发明任意实施例所述的词云图生成方法。
值得注意的是,上述词云图生成装置中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。