掌桥专利:专业的专利平台
掌桥专利
首页

直播问答方法、装置、电子设备及计算机可读存储介质

文献发布时间:2024-04-18 19:58:53


直播问答方法、装置、电子设备及计算机可读存储介质

技术领域

本申请涉及多媒体技术及云技术领域,尤其涉及直播问答方法、装置、电子设备及计算机可读存储介质。

背景技术

随着多媒体技术和互联网的快速发展,看直播已经成为人们在线娱乐放松的主要形式之一,而随着直播技术的发展,许多行业也得到了更多样的表现形式,例如在线教育、在线销售、赛事直播等。

在目前直播过程中,通常会通过主播答复的方式答复观众提出的问题,或者通过预先设置多个问答对,通过相似度匹配的方式答复观众提出的问题。

但通过前者示出的方式,在问题较多的情况下,可能会造成延迟答复观众提出的问题的现象出现,导致观众接收到的数据和预期的数据不一致。而通过后者示出的方式,有时往往无法精确定位问题,导致答案的准确率不会太高,问题的泛化能力也有限,且需要不断地扩充相似问法。并且,无论是以上哪种方式,都难以联动被直播的对象的实时数据答复观众提出的问题,降低观众观看直播的体验感。

发明内容

本申请实施例提供了一种直播问答方法,以解决相关技术中,无法对询问的问题进行精准定位,难以联动被直播的对象的实时数据答复观众提出的问题,降低观众观看直播的体验感的技术问题。

相应的,本申请实施例还提供了一种直播问答装置、一种电子设备以及一种计算机可读存储介质,用以保证上述方法的实现及应用。

一方面,本申请实施例提供一种直播问答方法,该方法包括:

响应于询问请求,确定询问请求指示的被直播的目标对象、询问请求对应的目标实体和目标实体对应的待询问属性;

在目标对象对应的目标知识图谱中,以目标对象对应的第一实体为查找起点,基于目标实体与目标对象对应的第一实体之间的目标关系查找目标实体;确定目标实体的各第一属性中与待询问属性相匹配的目标属性,并基于目标属性的属性值,确定目标属性值;

基于目标属性值,得到询问请求对应的答复结果;

其中,目标知识图谱是基于目标对象的实时数据确定出的至少一个第一实体、各第一实体之间的第一关系、每个第一实体对应的第一属性以及分别对应每个第一实体的各第一属性的属性值生成的。

另一方面,本申请实施例提供了一种直播问答方法,包括:

获取询问语句,确定询问语句对应的被直播的目标对象、询问语句对应的目标实体和目标实体对应的目标属性;

基于目标对象、目标实体和目标属性,生成询问请求;

将询问请求发送至服务器,以指示服务器基于询问请求得到答复结果;

接收并输出服务器发送的答复结果。

另一方面,本申请实施例提供了一种直播问答装置,该装置包括:

询问请求响应模块,用于响应于询问请求,确定询问请求指示的被直播的目标对象、询问请求对应的目标实体和目标实体对应的待询问属性;

目标属性值确定模块,用于在目标对象对应的目标知识图谱中,以目标对象对应的第一实体为查找起点,基于目标实体与目标对象对应的第一实体之间的目标关系查找目标实体;确定目标实体的各第一属性中与待询问属性相匹配的目标属性,并基于目标属性的属性值,确定目标属性值;

答复结果确定模块,用于基于目标属性值,得到询问请求对应的答复结果。

其中,目标知识图谱是基于目标对象的实时数据确定出的至少一个第一实体、各第一实体之间的第一关系、每个第一实体对应的第一属性以及分别对应每个第一实体的各第一属性的属性值生成的。

另一方面,本申请实施例提供了一种直播问答装置,该装置包括:

询问语句获取模块,用于获取询问语句,确定询问语句对应的被直播的目标对象、询问语句对应的目标实体和目标实体对应的目标属性;

询问请求生成模块,用于基于目标对象、目标实体和目标属性,生成询问请求;

询问请求发送模块,用于将询问请求发送至服务器,以指示服务器基于询问请求得到答复结果;

答复结果接收模块,用于接收并输出服务器发送的答复结果。

另一方面,本申请实施例提供了一种电子设备,包括处理器和存储器,该处理器和存储器相互连接;

存储器用于存储计算机程序;

处理器被配置用于在调用计算机程序时,执行本申请实施例提供的直播问答方法。

另一方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行以实现本申请实施例提供的直播问答方法。

另一方面,本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序,上述计算机程序被处理器执行时实现本申请实施例提供的直播问答方法。

在本申请实施例中,通过基于被直播的对象(即目标对象)的实时数据确定出的至少一个第一实体、各第一实体之间的第一关系、每个第一实体的各第一属性以及分别对应每个第一实体的各第一属性的属性值生成该目标对象的对应的目标知识图谱,并响应于询问请求,确定询问请求指示的目标对象、目标实体和该目标实体对应的待询问属性,可以实现对询问请求的精准定位;在该目标对象对应的目标知识图谱中,以该目标对象对应的第一实体为查找起点,基于该目标实体与目标对象对应的第一实体之间的目标关系查找该目标实体,并基于该目标属性的属性值,确定目标属性值;基于该目标属性值,得到询问请求对应的答复结果。可以联动目标对象的实时数据,实现针对询问请求,精确确定出询问请求对应的答复结果,即“所问即所答”的效果,减少了观众端与直播端互动次数,提高观众观看直播的体验感。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了本申请实施例提供的实现直播问答系统的架构示意图;

图2示出了本申请实施例提供的一种直播问答方法的流程示意图;

图3示出了本申请实施例提供的一种知识图谱的结构示意图;

图4a示出了本申请实施例提供的一种直播问答方法中的应用场景示意图;

图4b示出了本申请实施例提供的另一种直播问答方法中的应用场景示意图;

图4c示出了本申请实施例提供的另一种直播问答方法中的应用场景示意图;

图5a示出了本申请实施例提供的另一种直播问答方法中的应用场景示意图;

图5b示出了本申请实施例提供的另一种直播问答方法中的应用场景示意图;

图6a示出了本申请实施例提供的另一种直播问答方法中的应用场景示意图;

图6b示出了本申请实施例提供的另一种直播问答方法中的应用场景示意图;

图6c示出了本申请实施例提供的另一种直播问答方法中的应用场景示意图;

图7a示出了本申请实施例提供的另一种直播问答方法中的应用场景示意图;

图7b示出了本申请实施例提供的另一种直播问答方法中的应用场景示意图;

图8示出了本申请实施例提供的另一种直播问答方法的流程示意图;

图9示出了本申请实施例提供的实现直播问答系统的交互示意图;

图10示出了本申请实施例提供的另一种直播问答方法的流程示意图;

图11示出了本申请实施例提供的另一种知识图谱的结构示意图;

图12示出了本申请实施例提供的另一种直播问答方法的流程示意图;

图13示出了本申请实施例提供的另一种直播问答方法的流程示意图;

图14示出了本申请实施例提供的一种直播问答装置的结构示意图;

图15示出了本申请实施例提供的另一种直播问答装置的结构示意图;

图16示出了本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例提供了一种直播问答方法,该直播问答方法可以应用于针对任一被直播的对象(即目标对象)的直播过程中,该目标对象可以包括但不限于商品、游戏比赛、体育竞赛等,本申请实施例对此不做限制。

其中,游戏可以为需要下载安装的游戏应用中的游戏,也可以是云游戏应用中的游戏,还可以是小程序中的游戏。具体的游戏类型可以包括但不限于对战类、动作类、冒险类、模拟类、角色扮演类、休闲类等类型的游戏。

该直播问答方法的执行主体可以是直播问答装置。该直播问答装置可以是服务器,用来在直播过程中,根据观看直播的用户(即观众)提出的询问请求,结合目标对象的实时数据,生成询问请求对应的答复结果。其中,该直播问答装置可以与观众终端对应的服务器相同,也可以不同,本申请实施例对此。该直播问答方法还可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。

如图1所示,以该直播问答装置为服务器,且该直播问答装置为与观众对应的终端或服务器不同为例,对该直播问答方法进行说明。通过观众对应的第一终端101接收到观众触发的询问语句,在第一终端101对应的第一服务器102中基于该询问语句生成询问请求,并通过第一服务器102将该询问请求发送至直播问答装置对应的第二服务器103。通过在第二服务器103从该目标对象的直播终端104获取目标对象的实时数据,基于该目标对象的实时数据生成目标知识图谱,并根据该目标知识图谱和询问请求,生成答复结果,并将该答复结果发送至第二服务器103,以通过第二服务器103发送至第一终端101,使得第一终端101将该答复结果显示给观众。

以上第一终端101和直播终端104均可以是智能手机、平板电脑、笔记本电脑及台式计算机等。在需要第一设备与第二设备进行交互时,只要二者为不同的设备即可,例如,可以设置第一终端和第二终端均为智能手机。

以上第一服务器102和第二服务器103均可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(ContentDelivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器或服务器集群。

本领域技术人员应能理解上述终端和服务器仅为举例,其他现有的或今后可能出现的终端或服务器如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

本申请实施例提供的直播问答方法还可以基于云技术(Cloud technology)实现,比如,在基于目标对象的实时数据生成目标知识图谱的过程中所涉及的数据计算可以采用云计算(Cloud computing)方式。其中,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。

如图2所示,该方法包括:

步骤S210:响应于询问请求,确定询问请求指示的被直播的目标对象、询问请求对应的目标实体和目标实体对应的待询问属性。

通常情况下,会将目标对象本身作为一个实体,则询问请求对应的目标实体即该询问请求中所涉及到的除目标对象对应的实体之外的其他实体。

在接收到询问请求后,可以询问请求的标识,例如直播号等,确定出目标对象。例如,在对战游戏中,目标对象可以为“XXX vs YYY”,其中,XXX和YYY分别表征对战双方的战队名称或所属俱乐部名称。

响应于询问请求,可以基于预设的解析方式(即标准算子模板,{"find":"@domain@","property":"@property@","entity":"@entity@"},其中,“@domain@”表征目标实体的主体,“@property@”表征目标属性,“@entity@”表征目标实体),对询问请求进行解析,得到目标对象、目标实体和待询问属性。

以询问请求为“xxx的身高是多少?”为例,解析得到的结果为{"find":"player","property":"height","entity":"xxx"}。

当然,所接收到的询问请求也可以是直接基于标准算子模板的语句,即{"find":"@domain@","property":"@property@","entity":"@entity@"}方式实现的语句。比如,{"find":"player","property":"height","entity":"xxx"},可以直接确定目标对象的主体为player,目标对象为xxx,目标属性为height。

步骤S220:在目标对象对应的目标知识图谱中,以目标对象对应的第一实体为查找起点,基于目标实体与目标对象对应的第一实体之间的目标关系查找目标实体;确定目标实体的各第一属性中与待询问属性相匹配的目标属性,并基于目标属性的属性值,确定目标属性值。

步骤S230:基于目标属性值,得到询问请求对应的答复结果。

其中,目标知识图谱是基于目标对象的实时数据确定出的至少一个第一实体、各第一实体之间的第一关系、每个第一实体对应的第一属性以及分别对应每个第一实体的各第一属性的属性值生成的。

针对一个数据对象,可以将该目标对象的每项实时数据的名称作为该目标对象的一个实体。各第一实体之间的第一关系,即目标对象的各项实时数据之间的关系。

对于每个实体,将该实体对应的实时数据中的数据类型作为该实体的属性,将该实体对应的实时数据中的数值作为对应属性的属性值。考虑到可能会存在多个实体都对应有同一数据类型的数据,在描述一个属性时,通常会描述为“针对某一实体的某一属性”。

当然,为了进一步丰富目标对象的目标知识图谱,也可以获取目标对象的基本数据,例如,一些固定的、关于对目标对象的描述信息,从而基于所获取的与当前目标对象关联的所有数据构建该目标对象对应的目标知识的图谱。

以目标对象为被直播的对战类游戏为例,该对战类游戏的目标知识图谱可以为游戏知识图谱。该对战类游戏的实时数据可以包括当前直播的对战类游戏的基本信息、当前直播的对战类游戏中每个战队的实时游戏数据(即每个战队控制的游戏角色的游戏数据)和每个战队中参赛选手(简称选手)的实时游戏数据(即每个选手控制的游戏角色的游戏数据)。

其中,当前直播的对战游戏的基本信息可以包括对战信息(例如XXX战队vs(即对战)YYY战队)、直播的开始时间(例如2022-03-22 18:00)、该对战游戏的参赛地点(例如城市A)、直播标识(例如直播号为1111)等。

一个战队的实时游戏数据可以包括该战队所有选手控制的游戏角色的总击杀数数值、总死亡数数值、总助攻数数值、总伤害值数值等。

一个选手的实时游戏数据可以包括该选手控制的游戏角色的击杀数数值、死亡数数值、助攻数数值、伤害值数值等。

目标对象的基本数据可以包括当前直播的游戏中对战游戏的对战双方战队的基本信息、每个战队中每个选手的基本信息、每个战队的赛季游戏数据(即每个战队中各战队成员在当前赛季控制的游戏角色的游戏数据)、每个战队中选手的赛季游戏数据(即在当前直播的游戏中的每个选手在当前赛季控制的游戏角色的游戏数据)等。

其中,一个战队的基本信息可以包括该战队的名称(比如所属的俱乐部)、主场、主教练、建队时间等。

一个选手的基本信息可以包括该选手的姓名、昵称、出生日期、该选手控制的游戏角色的上场位置等。其中,上场位置可以包括:TOP(上路位置、对抗路位置等)、jungle(打野位置)、mid(中路位置)、ADC(下路位置)、support(辅助位置)等。

一个战队的赛季游戏数据可以包括该战队的各战队成员在当前赛季控制的游戏角色在每场游戏中的总击杀数数值、总死亡数数值、总助攻数数值、总伤害值数值等。

一个选手的赛季游戏数据可以包括该选手在当前赛季控制的游戏角色在每场游戏中的总击杀数数值、总死亡数数值、总助攻数数值、总伤害值数值等。

基于上述数据,可以确定该对战类游戏的实体和各实体对应的属性如下:

赛程信息(对应于当前直播间对战游戏的基本信息),比如XXX vs YYY比赛,包含如下属性:比赛标识(例如直播号)、开始时间、地点、……。

战队信息(对应于当前直播的游戏中对战游戏的对战双方战队的基本信息):比如XXX俱乐部,包含如下属性:主场、主教练、建队时间、……。

选手信息(对应于每个战队中战队成员的基本信息),比如选手xxx,包含如下属性:出生日期、上场位置、姓名、……。

战队比赛实时(对应于当前直播的游戏中对战游戏中每个战队的实时游戏数据),比如直播号为1111的游戏直播中XXX战队的实时数据,包含如下属性:击杀数、死亡数、助攻数、……。

选手比赛实时(对应于每个战队中选手的实时游戏数据),比如直播号为1111的游戏直播中选手xxx的实时数据,包含如下属性:击杀数、死亡数、伤害值、……。

战队赛季(对应于每个战队的赛季游戏数据),比如XXX战队2022年赛季数据,包含如下属性:总击杀数、总死亡数、总助攻数、……。

选手赛季(对应于每个战队中选手的赛季游戏数据),比如选手xxx2022赛季数据,包含如下属性:总击杀数、总死亡数、场均伤害值(攻击输出强度)、经济(参赛选手控制的游戏角色在游戏中获得的奖励,例如金币等)……。

并且,在上述各实体之间,赛程信息与战队信息之间的关系即该比赛中的哪一方(比如,一般在对战游戏中包括红方和蓝方,可以用红方表示“XXX vs YYY”和“XXX战队”之间的关系)。在选手xxx参与当前的比赛时,用“上场选手”表征赛程信息与选手信息之间的关系。以此类推,采用“2022年赛季”表征“xxx”与“选手赛季”之间的关系,采用“所属俱乐部”表征“上场选手xxx”与“XXX俱乐部”之间的关系,采用“2022赛季”表征“XXX俱乐部”与“战队赛季”之间的关系,采用“实时数据”表征“xxx”与“选手比赛实时”之间的关系,采用“实时数据”表征“XXX俱乐部”与“战队比赛实时”之间的关系。

以属性为“选手xxx的伤害值”为例,若选手xxx的伤害值为10000,则可以确定该属性的属性值为“10000”。

在具体实施过程中,可以基于不同的方式生成并保存目标知识图谱,在确定目标对象的所有第一实体、每个第一实体对应的第一属性以及分别对应每个第一实体的各第一属性的属性值之后,可以构建实体、关系、属性、属性值之间的数据关系模型,保存至关系型数据库(例如mysql),具体可以按照以下格式进行表征:实体1---关系---实体2,实体1---属性---属性1,从而生成目标知识图谱。

也可以将第一实体、属性值作为节点,将第一关系、属性值作为有向边,基于连线成图的方式,将存在关系的第一实体进行连接,并用两个被连接的第一实体之间的连线表征这两个被连接的第一实体之间的第一关系;将各实体与对应的属性值进行连接,并用实体与属性值之间的连线表征该实体对应的属性,从而生成目标知识图谱。

作为一个示例,可以基于连线成图的方式,构建如图3所示的游戏知识图谱。

在对询问请求进行响应时,可以在目标知识图谱中,以目标对象对应的第一实体为查找起点,基于目标实体与目标对象对应的第一实体之间的目标关系确定出查找路径,直至查找到目标实体。在该目标实体的各第一属性中筛选出与待询问属性相匹配的目标属性,并基于目标属性的属性值,确定为询问请求对应的目标属性值。

在基于目标属性值,得到询问请求对应的答复结果时,可以直接将目标属性值作为答复结果,也可以根据实际需求确定具体确定答复结果的确认方式,从而确定出答复结果。

当然,若没有基于目标知识图谱确定出目标属性值(即reply_null),可以直接输出关于未查询到目标属性值的预设的答复结果,例如,“输出错误”、“我查了下,暂时没有找到相关信息哦”等。需要说明的是,该预设的答复结果可以根据实际情况进行设置,本申请实施例对此不做限制。通过设置预设的答复结果,还可以大大提高答复结果的趣味性。

在本申请实施例中,通过基于被直播的对象(即目标对象)的实时数据确定出的至少一个第一实体、各第一实体之间的第一关系、每个第一实体的各第一属性以及分别对应每个第一实体的各第一属性的属性值生成该目标对象的对应的目标知识图谱,并响应于询问请求,确定询问请求指示的目标对象、目标实体和该目标实体对应的待询问属性;在该目标对象对应的目标知识图谱中,以该目标对象对应的第一实体为查找起点,基于该目标实体与目标对象对应的第一实体之间的目标关系查找该目标实体,并基于该目标属性的属性值,确定目标属性值;基于该目标属性值,得到询问请求对应的答复结果。可以基于目标对象的实时数据,实现针对询问请求,精确确定出询问请求对应的答复结果,即“所问即所答”的效果,减少了观众端与直播端互动次数。

可选地,目标知识图谱是通过以下方式生成的:

基于目标对象的实时数据,确定出至少一个第一实体、各第一实体之间的第一关系、每个第一实体的各第一属性以及分别对应每个第一实体的各第一属性的属性值;

基于各第一实体之间的第一关系,对存在第一关系的第一实体进行关联存储;对于每个第一实体,基于第一实体的各第一属性,将第一实体和分别对应该第一实体的各第一属性的属性值进行关联存储;得到目标知识图谱。

如前文所记载的,可以通过构建实体、关系、属性、属性值之间的数据关系模型,对存在第一关系的第一实体进行关联存储,将第一实体和分别对应该第一实体的各第一属性的属性值进行关联存储,保存至关系型数据库(例如mysql),实现生成并保存目标知识图谱。例如,在基于mysql进行保存时,对应的存储方式可以为sql语句。

也可以将第一实体、属性值作为节点,将第一关系、属性值作为有向边,基于连线成图的方式生成目标知识图谱,从而实现生成并保存该目标知识图谱,例如,基于neo4j进行存储时,对应的存储方式可以为cypher语句。

当然,还可以基于JanusGraph(一个分布式,开源,可大规模扩展的图数据库),使用Gremlin语句,生成并保存该目标知识图谱。

通过该方式,可以精确实现生成并保存目标知识图谱。

可选地,上述方法还可以包括:

基于预设更新频率,获取目标对象的更新数据;

基于更新数据,确定待更新项;待更新项包括待更新第一实体、待更新第一关系、任一第一实体对应的待更新第一属性或任一第一属性对应的待更新属性值中的至少一项;

基于目标知识图谱的存储方式,将待更新项转换为存储方式对应的待更新项;

基于转换后的待更新项,对目标知识图谱进行更新,得到更新后的目标知识图谱。

在实际实施过程中,预设更新频率越高,所生成的目标知识图谱的实时性越强,对应的,生成并更新目标知识图谱所需的数据资源也越多,因此,可以根据实际需求设置预设更新频率。例如,可以设置预设更新频率可以为5-10秒。

通过基于目标知识图谱的存储方式,将待更新项转换为该存储方式对应的待更新项,并基于转换后的待更新项,对目标知识图谱进行更新,得到更新后的目标知识图谱,以基于更新后的目标知识图谱,实时确定答复结果,可以在提高实时性的同时,提高所更新的目标知识图谱的兼容性。

可选地,上述基于目标实体与目标对象对应的第一实体之间的目标关系查找目标实体之前,还可以包括:

基于目标知识图谱的存储方式,分别对目标对象、目标实体和待询问属性进行转换,得到对应于存储方式的转换后的目标对象、转换后的目标实体和转换后的待询问属性。

通过基于在基于目标实体与目标对象对应的第一实体之间的目标关系查找目标实体之前,基于目标知识图谱的存储方式,分别对目标对象、目标实体和待询问属性进行转换,可以实现对目标对象、目标实体和待询问属性的归一化处理,实现可以对接收到的不同形式的询问请求进行处理。

举例来讲,以上述询问请求为“xxx的身高是多少?”,所得到的解析结果为{"find":"player","property":"height","entity":"xxx"}为例,若目标知识图谱以关系数据库的方式进行存储,对应存储语言为sql语句,转换得到的结果为{select height fromplayer where name='xxx'}。

若目标知识图谱以neo4j的方式进行存储,对应存储语言为cypher语句,转换得到的结果为{match(e:player)where e.name='xxx'return e.height}。

可选地,上述确定目标实体的各第一属性中与待询问属性相匹配的目标属性,并基于目标属性的属性值,确定目标属性值,可以包括:

在目标实体的各第一属性中存在待询问属性时,将知识图谱中的待询问属性确定为目标属性,并将目标属性的属性值确定为目标属性值;

在目标实体的各第一属性中不存在待询问属性时,将目标知识图谱中待询问属性的关联属性确定为目标属性,并基于待询问属性与关联属性之间的关联关系,对目标属性的属性值转化得到目标属性值。

在该实现方式中,待询问属性和待询问属性的关联属性可以为针对同一属性的不同表现形式。例如,在目标实体为某一选手时,待询问属性可以为该选手的出生日期,待询问属性的关联属性可以为该选手的年龄,该关联关系可以表示为关联属性=当前日期-待询问属性。

作为一个示例,以游戏战队包括红方(XXX战队)和蓝方(YYY战队)为例,如图4a所示的场景(红方下路选手(ADC)对应的游戏角色在游戏过程中出现“五杀(即杀害了蓝方的五位选手对应的游戏角色)”)中,若想获取红方ADC选手的年龄,则可以如图4b所示,通过当前直播界面中触发语音输入控件,获取询问意图的“红方ADC选手的年龄多少”的询问语句。

在该直播问答方法的执行主体检测到询问语句后,直接基于游戏知识图谱,以“XXX战队对战YYY战队”为查找起点,基于“上场选手”的目标关系,查找到上场位置的“ADC”对应的目标实体“选手信息”,在确定该游戏知识图谱中不存在该询问语句中的待询问属性“年龄”,但存在待询问属性的关联属性“出生日期”时,可以基于当前时间(比如2022年2月1日)对该出生日期对应的属性值“2004年1月1日”进行转化,得到目标属性值“22岁”,并在观众终端以蒙层显示的方式输出答复结果为“红方ADC选手的年龄为22岁”。

当然,还可以进一步确定该目标实体的其他属性,比如姓名、所属战队、主要成就、上场位置等,通过游戏知识图谱,确定该红方ADC选手的姓名“xxx”、所属战队“XXX”、主要成就“2021常规赛MVP”、上场位置“ADC”,并在观众终端将所有信息以图表的形式显示在当前直播界面的蒙层上,如图4c所示,“红方ADC选手今年18岁,以下是他的详细信息:[姓名:xxx][出生日期:2004年1月1日][所属战队:XXX俱乐部][主要成就:2021常规赛MVP][上场位置:ADC]”。

通过该方式,可以在目标知识图谱中存在待询问属性时,基于该待询问属性的属性值获取到目标属性值,从而得到询问请求对应的答复结果,也可以在目标知识图谱中不存在待询问属性,但存在待询问属性的关联属性时,基于该关联属性的属性值和该关联属性和待询问属性之间的关联关系,对该关联属性的属性值转化得到目标属性值,从而得到询问请求对应的答复结果,实现精确确定出询问请求对应的答复结果。

可选地,上述方法还可以包括:

响应于询问请求,确定询问请求指示的询问类型;

上述基于目标属性值,得到询问请求对应的答复结果,可以包括以下至少一项:

若询问类型为查询类型,将目标属性值确定为答复结果;

若询问类型为比较类型且目标实体的个数包括至少两个,基于每个目标实体对应的目标属性值进行比较得到的结果,确定答复结果;

若询问类型为确认类型,基于目标属性值与预设属性值进行比较得到的结果,确定答复结果。

在询问请求为确定待询问属性的属性值的请求时,可以确定询问类型为查询类型,并可以基于上述方式,基于目标属性值确定答复结果。

在询问请求为针对待询问属性的属性值进行比较的请求时,若目标实体的个数包括至少两个且询问类型为比较类型,即多实体的比较问询,可以依次确定出每个目标实体对应的目标属性值,并将对每个目标实体对应的目标属性值进行比较,基于比较得到的结果,确定答复结果。

例如,在游戏过程中,若观众想了解当前比赛中,双方战队中两位选手控制的游戏角色的伤害值更高、双方战队哪个战队的排名更高、哪个战队的胜率更高等。则可以依次确定出每个选手对应的伤害值、排名、胜率等,并基于比较结果,确定答复结果。

作为另一个示例,如图4a所示的场景中,若想了解“xxx和yyy”控制的游戏角色谁的伤害值更高,则可以如图5a所示,通过当前直播界面中触发语音输入控件,获取询问意图为的“这场比赛xxx和yyy谁的伤害值更高”询问语句。可以针对当前所问的属性(即目标属性)“伤害值”,根据该游戏对应的游戏知识图谱,确定出当前比赛中选手xxx和选手yyy分别控制的游戏角色的伤害值,并对二者进行比较,确定出较高的伤害值对应的选手,直接输出“xxx的伤害值是12345,yyy的伤害值是8888,xxx的伤害更高一些”。

当然,由于该目标属性与当前游戏的伤害值、击杀数、死亡数、助攻值、经济等强相关,还可以通过游戏知识图谱,确定选手xxx的伤害值“12345”、击杀数“10”、死亡数“3”、助攻值“5”、经济“12345”,选手yyy的伤害值“8888”、击杀数“8”、死亡数“4”、助攻值“3”、经济“11111”,并将所有信息以图表的形式显示在当前直播界面的蒙层上。如图5b所示,在当前直播界面的蒙层上显示“xxx的伤害值是12345,yyy的伤害值是8888,xxx的伤害更高一些。左边显示:[姓名:xxx][伤害值:12345][击杀数:10][死亡数:3][助攻值:5][经济:15000];右边显示:[姓名:yyy][伤害值:8888][击杀数:8][死亡数:4][助攻值:3][经济:11111]”,便于用户了解关于所比较的两位选手的游戏内数据。

作为另一个示例,如图6a所示的场景中,在XXX战队对应的各游戏角色正在与YYY战队对应的各游戏角色战斗时,若想了解XXX战队的排名是多少,则可以如图6b所示,通过当前直播界面中触发语音输入控件,获取询问意图为“XXX战队的排名是多少”的询问请求,在该直播问答方法的执行主体检测到询问语句后,直接针对该询问语句中的目标属性,通过语音播报或者通过蒙层显示的方式输出答复结果为“XXX战队在2022春季常规赛中的排名为第3”,当然,如图6c所示,也可以根据显示当前赛季中各战队的排名表,并在该排名表中对XXX战队进行高亮显示,形成答复结果。

作为另一个示例,该方法还可以支持高阶推理问询,即需要多次比较,也可以作为比较类型,如图7a所示的场景中,在双方团战结束后,若观众想了解当前比赛中哪位选手控制的游戏角色的经济(即当前比赛中各选手控制的游戏角色的经济)最高、当前比赛中哪位选手的伤害值(即当前比赛中各选手控制的游戏角色的伤害值)最高等。以下以观众想了解当前比赛中哪位选手控制的游戏角色的伤害值最高为例进行说明。

若接收到询问意图为“这场比赛的谁的伤害值最高”的询问请求时,可以针对当前所问的属性(即目标属性)“伤害值”,确定出当前比赛中各选手控制的游戏角色的伤害值,并进行排序,确定出伤害值最高的游戏角色对应的选手“xxx”,直接输出“在这场正在进行的XXX vs YYY的比赛中,xxx的伤害值最高”。

当然,由于该目标属性与当前游戏中的伤害值、击杀数、死亡数、经济、承担伤害、所属战队、上场位置等数据强相关,还可以通过游戏知识图谱,确定该选手的伤害值“23456”、击杀数“10”、死亡数“2”、经济“15000”、承担伤害“2000”、所属战队“XXX”、上场位置“ADC”,并将所有信息以图表的形式显示在当前直播界面的蒙层上,如图7b所示,在当前直播界面的蒙层上显示“在这场正在进行的XXX vs YYY的比赛中,XXX战队的ADCxxx伤害最高,伤害值达到了23456。[姓名:xxx][伤害值:12345][击杀数:10][死亡数:2][经济:15000][承担伤害:2000]”,便于用户了解关于该选手的游戏内数据。

在询问请求为针对待询问属性的属性值进行的请求时,可以确定询问类型为确认类型,预设属性值可以为基于询问请求所指示的属性值,也可以为预先设置的属性值,本申请实施例对此不做限制。

例如,在询问请求为“xxx的伤害值是否达到了999”,则可以确定询问类型为确认类型,且预设属性值为999。根据该游戏对应的游戏知识图谱,确定选手xxx控制的游戏角色的伤害值为12345后,通过与999进行比较,确定xxx的伤害值达到了999,则可以确定答复结果为“xxx的伤害值达到了999”。

通过基于不同的询问类型,确定对应的答复结果,可以使得答复结果更加精确,并且,丰富了答复结果,提高了答复结果的趣味性。

可选地,上述将目标属性值确定为答复结果,可以包括:

确定目标属性的目标类型;

基于目标属性的目标类型和目标属性值,按照以下任一方式确定答复结果:

在目标类型为第一类型时,将目标属性值确定为答复结果;

在目标类型为第二类型时,基于目标属性值和目标属性对应的预设属性值阈值,确定目标属性值的等级;基于目标属性值和目标属性值的等级,确定答复结果;

在目标类型为第三类型时,获取目标实体的关联实体针对目标属性的关联属性值;基于目标属性值与关联属性值,确定答复结果。

在该实现方式中,可以基于一个属性对应的属性值是否为固定值(目标对象的静态数据)、是否与目标对象的实时数据(目标对象的动态0数据)相关,确定该属性的类型。

具体地,在一个属性对应的属性值为固定值,且与目标对象的实时数据无关的情况下,可以确定该属性的类型为第一类型(1st_direct,即一阶通用属性)。例如,该属性的属性值为该目标对象的基本信息、该目标对象的赛程信息等。可以直接将所确定的目标属性值确定为答复结果,例如,{entity(实体)}的{property1(属性1)}是{result}。

在一个属性对应的属性值为与目标对象的实时数据的情况下,可以确定该目标类型为第二类型(1st_direct_property1,即1阶定制属性)。比如,选手控制的英雄的伤害值、助攻数等。可以基于目标属性值和预设属性值阈值的比较结果,确定目标属性值的等级,从而基于该目标属性值和目标属性值的状态,确定答复结果。答复结果可以为{entity}的{property1}到达了{result},对应的目标属性值的状态为……。

以对战游戏中的伤害值为例,在确定出某选手控制的游戏角色的伤害值之后,在将所确定的伤害值与预设伤害值阈值进行比较,确定目标属性值的等级,从而确定所对应的游戏角色的状态。可以设置在预设伤害值阈值小于5000的情况下,确定为第一等级,对应的游戏角色的状态为发育中。在预设伤害值阈值为5000-12345的情况下,确定为第二等级,对应的游戏角色的状态为正常输出。在预设伤害值阈值大于12345的情况下,确定为第三等级,对应的游戏角色的状态为疯狂输出。

在询问请求为“xxx这场比赛伤害值”时,对应第二类型,具体对应1st_direct_damage,若所确定的xxx的伤害值为12345,大于12345,可以为第三等级,对应的游戏角色的状态为疯狂输出,输出可以xxx的目标伤害值为已经达到了12345,已经在疯狂输出了。

在一个属性对应的属性值为与目标对象的实时数据的情况下,且该属性值通常作为比较对象,通过与另一实体(即关联实体)的属性值进行比较,以预测最终的目标对象的状态的情况下,可以确定该属性的类型为第三类型(数值比较,即compare_num_diff),则可以基于目标实体的关联实体的关联属性值与目标属性值的比较结果,确定答复结果。例如,答复结果可以为“{entity1}的{property}是{result1},{entity2}的{property}是{result2},{bigger}的{property}比{smaller}{great}大”。

以对战游戏中的伤害值为例,在询问请求为“xxx这场比赛伤害值”时,在确定出某选手控制的游戏角色的伤害值之后,还可以通过游戏知识图谱,确定同样对战位置的选手yyy的伤害值是8888,则答复结果可以为“选手xxx这场比赛伤害值为12345,选手yyy的伤害值是8888,选手xxx这场比赛伤害值比选手yyy的伤害值高”。

当然,还可以进一步通过游戏知识图谱,确定选手xxx的击杀数“10”、死亡数“3”、助攻值“5”、经济“12345”,选手yyy的击杀数“8”、死亡数“4”、助攻值“3”、经济“11111”,并将所有信息以图表的形式显示在当前直播界面的蒙层上。如图X所示,在当前直播界面的蒙层上显示“xxx的伤害值是12345,xxx的伤害更高。左边显示:[姓名:xxx][伤害值:12345][击杀数:10][死亡数:3][助攻值:5][经济:12345];右边显示:[姓名:yyy][伤害值:8888][击杀数:8][死亡数:4][助攻值:3][经济:11111]”。

通过基于目标属性的目标类型和目标属性值,确定答复结果,可以使得所得到的答复结果更加清晰,更能符合用户的询问意图。

本申请实施例还提供了一种直播问答方法,该直播问答方法的执行主体可以是直播问答装置。该直播问答装置可以是终端或服务器,用来在直播过程中,接收观众输入的询问语句,确定询问语句对应的目标对象、目标实体、目标属性等,并基于目标对象、目标实体、目标属性等,生成询问请求,并发送至服务器,接收并输出服务器基于该询问请求得到的答复结果。其中,该直播问答方法还可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。

如图8所示,该方法包括:

步骤S810:获取询问语句,确定询问语句对应的被直播的目标对象、询问语句对应的目标实体和目标实体对应的目标属性。

该询问语句可以是通过响应于观众对观众终端的用户界面的输入控件的触发操作,获取得到的。其中,通过触发该输入控件,可以在观众终端的用户界面显示输入框或语音输入控件(即Voice User Interface,语音用户接口,用户可以通过语音来与设备交互)。

在显示输入框的情况下,可以通过获取用户输入的询问文本,得到询问语句。在显示语音输入控件的情况下,可以通过获取用户输入的语音,并将该语音转换为询问文本,得到询问语句。

步骤S820:基于目标对象、目标实体和目标属性,生成询问请求。

在该实现方式中,可以基于上述标准算子模板,基于目标对象、目标实体和目标属性,生成询问请求。

步骤S830:将询问请求发送至服务器,以指示服务器基于询问请求得到答复结果。

具体地,可以结合上述直播问答方法中确定答复结果的方式,得到答复结果。

步骤S840:接收并输出服务器发送的答复结果。

在接收到服务器发送的答复结果后,可以基于以下至少一种预设的输出方式输出答复结果:

对答复结果进行语音播报;

在观众终端的用户界面上对答复结果进行蒙层显示;

在观众终端的用户界面上对答复结果进行高亮显示。例如,在涉及到排名问题时,可以对当前目标实体的排名在排名表中的位置上进行高亮显示。

通过该方法,可以基于观众输入的询问语句,结合直播过程中目标对象的实时数据,建立目标知识图谱,准确地对观众输入的询问语句进行答复,提升智能直播问答系统的体验,达到“所文即所答”的效果,满足用户实时查询被直播的对象的数据,大大提升用户沉浸享受直播的体验。

为了更清楚地说明本申请实施例提供的直播问答方法,以下结合图9、图10、图11、图12和图13,以观众终端、直播终端(具体包括实时数据模块)和直播服务器(具体包括语义解析模块、知识问答服务模块、图谱代理服务模块(增删改查)、知识图谱存储模块、更新任务模块)构成的直播问答系统为例,询问文本为“xxx这场比赛伤害值”为例,对确定答复结果的说明如下:

其中,直播问答过程主要通过观众终端、语义解析模块、知识问答服务模块、图谱代理服务模块和知识图谱存储模块实现,如图9和图10所示,具体如下:

步骤1:观众终端响应于用户对用户界面中输入控件的输入操作,获取到用户输入文本“xxx这场比赛伤害值”,并将该用户输入文本发送至语义解析模块。

步骤2:语义解析模块解析该用户输入文本,得到语义解析结果(领域+意图+参数),具体为:[领域:videoGame]、[意图:search_real_time]、[参数:player=xxx,item=伤害]),并将语义解析结果发送至知识问答服务模块。

步骤3:知识问答服务模块对语义解析结果进行拼接,得到标准查询算子{"find":"player","property":"damage","entity":"xxx"}以及当前的比赛id[1111],并将标准查询算子发送至知识图谱存储模块。

步骤4:图谱代理服务模块根据标准查询算子以及当前的比赛id[1111]对应的游戏知识图谱的存储方式(例如,关系数据库,对应sql语句),生成对应该数据库的查询语句{select damage from player where name='xxx'},将数据库查询语句发送至游戏知识图谱存储模块。

步骤5:知识图谱存储模块根据数据库查询语句,调用游戏知识图谱,并基于以下方式,得到查询结果,并将查询结果发送至图谱代理服务模块。

如图11(横向填充部分)和图12所示,得到查询结果的方式为:

步骤(1)通过比赛id定位到目标对象对应的第一实体“XXX VS YYY比赛”;

步骤(2)通过比赛的“上场选手”关系,定位到选手比赛实体;

步骤(3)筛选选手比赛实体的姓名是“xxx”的实体;

步骤(4)通过“xxx”的实体得到目标属性“伤害值”的属性值是“12345”,因此最终的查询结果就是“12345”。

其中,在需要对查询结果进行二次处理(如,属性值转换)时,可以参照图13示出的查询方式。

步骤6:图谱代理服务模块对查询结果解析得到标准数据结果{"answer":"12345","property":"damage","entity":"xxx"},将标准数据结果发送至知识问答服务模块.

步骤7:知识问答服务模块根据标准数据结果,生成答复结果“xxx这场比赛伤害值为12345”,并将该答复结果发送至观众终端,以在观众终端的用户界面上显示该答复结果。

其中,目标知识图谱的生成及更新过程主要通过图谱代理服务模块、知识图谱存储模块、更新任务模块和实时数据获取模块实现,具体如下:

步骤8:更新任务模块,以5秒/次的频率(即loop定时执行),向实时数据获取模块发送实时数据获取请求。其中,更新任务模块可以为离线更新任务模块,也可以为在线更新任务模块,本申请实施例对此不做限制。

步骤9:实时数据模块将目标对象的实时数据发送至更新任务模块。

步骤10:更新任务模块基于标准查询算子对应的标准格式,对目标对象的实时数据进行处理,将处理后的标准写入算子发送至图谱代理服务模块。

步骤11:图谱代理服务模块根据加工后的标准写入算子,确定待更新项,并基于目标知识图谱的存储方式,将待更新项转换为对应于目标知识图谱的存储方式的数据库写入语句,并将数据库写入语句更新保存至知识图谱存储模块中的游戏知识图谱中。

基于与本申请实施例提供的第一种直播问答方法相同的原理,本申请实施例中还提供了一种直播问答装置。如图14所示,该装置140包括:

询问请求响应模块141,用于响应于询问请求,确定询问请求指示的被直播的目标对象、询问请求对应的目标实体和目标实体对应的待询问属性;

目标属性值确定模块142,用于在目标对象对应的目标知识图谱中,以目标对象对应的第一实体为查找起点,基于目标实体与目标对象对应的第一实体之间的目标关系查找目标实体;确定目标实体的各第一属性中与待询问属性相匹配的目标属性,并基于目标属性的属性值,确定目标属性值;

答复结果确定模块143,用于基于目标属性值,得到询问请求对应的答复结果。

其中,目标知识图谱是基于目标对象的实时数据确定出的至少一个第一实体、各第一实体之间的第一关系、每个第一实体对应的第一属性以及分别对应每个第一实体的各第一属性的属性值生成的。

可选地,上述目标属性值确定模块142在确定目标实体的各第一属性中与待询问属性相匹配的目标属性,并基于目标属性的属性值,确定目标属性值时,可以具体用于:

在目标实体的各第一属性中存在待询问属性时,将知识图谱中的待询问属性确定为目标属性,并将目标属性的属性值确定为目标属性值;

在目标实体的各第一属性中不存在待询问属性时,将目标知识图谱中待询问属性的关联属性确定为目标属性,并基于待询问属性与关联属性之间的关联关系,对目标属性的属性值转化得到目标属性值。

可选地,上述询问请求响应模块141还可以用于:

响应于询问请求,确定询问请求指示的询问类型;

上述答复结果确定模块143在基于目标属性值,得到询问请求对应的答复结果时,可以具体用于执行以下至少一项操作:

若询问类型为查询类型,将目标属性值确定为答复结果;

若询问类型为比较类型且目标实体的个数包括至少两个,基于每个目标实体对应的目标属性值进行比较得到的结果,确定答复结果;

若询问类型为确认类型,基于目标属性值与预设属性值进行比较得到的结果,确定答复结果。

可选地,上述答复结果确定模块143在将目标属性值确定为答复结果时,可以具体用于:

确定目标属性的目标类型;

基于目标属性的目标类型和目标属性值,按照以下任一方式确定答复结果:

在目标类型为第一类型时,将目标属性值确定为答复结果;

在目标类型为第二类型时,基于目标属性值和目标属性对应的预设属性值阈值,确定目标属性值的等级;基于目标属性值和目标属性值的等级,确定答复结果;

在目标类型为第三类型时,获取目标实体的关联实体针对目标属性的关联属性值;基于目标属性值与关联属性值,确定答复结果。

可选地,上述目标属性值确定模块142在基于目标实体与目标对象对应的第一实体之间的目标关系查找目标实体之前,还可以用于:

基于目标知识图谱的存储方式,分别对目标对象、目标实体和待询问属性进行转换,得到对应于存储方式的转换后的目标对象、转换后的目标实体和转换后的待询问属性。

可选地,上述装置还可以包括目标知识图谱生成模块,目标知识图谱生成模块用于通过以下方式生成目标知识图谱:

基于目标对象的实时数据,确定出至少一个第一实体、各第一实体之间的第一关系、每个第一实体的各第一属性以及分别对应每个第一实体的各第一属性的属性值;

基于各第一实体之间的第一关系,对存在第一关系的第一实体进行关联存储;对于每个第一实体,基于第一实体的各第一属性,将第一实体和分别对应该第一实体的各第一属性的属性值进行关联存储;得到目标知识图谱。

可选地,上述目标知识图谱生成模块还可以用于:

基于预设更新频率,获取目标对象的更新数据;

基于更新数据,确定待更新项;待更新项包括待更新第一实体、待更新第一关系、任一第一实体对应的待更新第一属性或任一第一属性对应的待更新属性值中的至少一项;

基于目标知识图谱的存储方式,将待更新项转换为存储方式对应的待更新项;

基于转换后的待更新项,对目标知识图谱进行更新,得到更新后的目标知识图谱。

本申请实施例的装置可执行本申请实施例所提供的方法,其实现原理相类似,本申请各实施例的装置中的各模块所执行的动作是与本申请各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。

在本申请实施例中,通过基于被直播的对象(即目标对象)的实时数据确定出的至少一个第一实体、各第一实体之间的第一关系、每个第一实体的各第一属性以及分别对应每个第一实体的各第一属性的属性值生成该目标对象的对应的目标知识图谱,并响应于询问请求,确定询问请求指示的目标对象、目标实体和该目标实体对应的待询问属性;在该目标对象对应的目标知识图谱中,以该目标对象对应的第一实体为查找起点,基于该目标实体与目标对象对应的第一实体之间的目标关系查找该目标实体,并基于该目标属性的属性值,确定目标属性值;基于该目标属性值,得到询问请求对应的答复结果。可以基于目标对象的实时数据,实现针对询问请求,精确确定出询问请求对应的答复结果,即“所问即所答”的效果,减少了观众端与直播端互动次数。

基于与本申请实施例提供的第二种直播问答方法相同的原理,本申请实施例中还提供了一种直播问答装置,如图15所示,该装置150包括:

询问语句获取模块151,用于获取询问语句,确定询问语句对应的被直播的目标对象、询问语句对应的目标实体和目标实体对应的目标;

询问请求生成模块152,用于基于目标对象、目标实体和目标属性,生成询问请求;

询问请求发送模块153,用于将询问请求发送至服务器,以指示服务器基于询问请求得到答复结果;

答复结果接收模块154,用于接收并输出服务器发送的答复结果。

本申请实施例的装置可执行本申请实施例所提供的方法,其实现原理相类似,本申请各实施例的装置中的各模块所执行的动作是与本申请各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。

通过该方法,可以基于观众输入的询问语句,结合直播过程中目标对象的实时数据,建立目标知识图谱,准确地对观众输入的询问语句进行答复,提升智能直播问答系统的体验,达到“所文即所答”的效果,满足用户实时查询被直播的对象的数据,大大提升用户沉浸享受直播的体验。

基于与本申请实施例提供的直播问答方法及装置相同的原理,本申请实施例中还提供了一种电子设备(如服务器),该电子设备可以包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行上述计算机程序以实现本申请任一可选实施例中提供的方法,具体可以执行直播问答方法一或直播问答方法二。

直播问答方法一为:

响应于询问请求,确定询问请求指示的目标对象、询问请求对应的目标实体和目标实体对应的待询问属性;目标对象为被直播的对象;

在目标对象对应的目标知识图谱中,以目标对象对应的第一实体为查找起点,基于目标实体与目标对象对应的第一实体之间的目标关系查找目标实体;确定目标实体的各第一属性中与待询问属性相匹配的目标属性,并基于目标属性的属性值,确定目标属性值;

基于目标属性值,得到询问请求对应的答复结果;

其中,目标知识图谱是基于目标对象的实时数据确定出的至少一个第一实体、各第一实体之间的第一关系、每个第一实体对应的第一属性以及分别对应每个第一实体的各第一属性的属性值生成的。

通过处理器执行该方法,通过基于被直播的对象(即目标对象)的实时数据确定出的至少一个第一实体、各第一实体之间的第一关系、每个第一实体的各第一属性以及分别对应每个第一实体的各第一属性的属性值生成该目标对象的对应的目标知识图谱,并响应于询问请求,确定询问请求指示的目标对象、目标实体和该目标实体对应的待询问属性;在该目标对象对应的目标知识图谱中,以该目标对象对应的第一实体为查找起点,基于该目标实体与目标对象对应的第一实体之间的目标关系查找该目标实体,并基于该目标属性的属性值,确定目标属性值;基于该目标属性值,得到询问请求对应的答复结果。可以基于目标对象的实时数据,实现针对询问请求,精确确定出询问请求对应的答复结果,即“所问即所答”的效果,减少了观众端与直播端互动次数。

直播问答方法二为:

获取询问语句,确定询问语句对应的目标对象、询问语句对应的目标实体和目标实体对应的目标属性;目标对象为被直播的对象;

基于目标对象、目标实体和目标属性,生成询问请求;

将询问请求发送至服务器,以指示服务器基于询问请求得到答复结果;

接收并输出服务器发送的答复结果。

通过处理器执行该方法,可以基于观众输入的询问语句,结合直播过程中目标对象的实时数据,建立目标知识图谱,准确地对观众输入的询问语句进行答复,提升智能直播问答系统的体验,达到“所文即所答”的效果,满足用户实时查询被直播的对象的数据,大大提升用户沉浸享受直播的体验。

参见图16,图16示出了本申请实施例提供的一种电子设备的结构示意图。如图16所示,本实施例中的电子设备1600可以包括:处理器1601,网络接口1604和存储器1605,此外,上述电子设备1600还可以包括:对象接口1603,和至少一个通信总线1602。其中,通信总线1602用于实现这些组件之间的连接通信。其中,对象接口1603可以包括显示屏(Display)、键盘(Keyboard),可选对象接口1603还可以包括标准的有线接口、无线接口。网络接口1604可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1605可以是高速RAM存储器,也可以是非易失性存储器(non-volatile memory,NVM),例如至少一个磁盘存储器。存储器1605可选的还可以是至少一个位于远离前述处理器1601的存储装置。如图16所示,作为一种计算机可读存储介质的存储器1605中可以包括操作系统、网络通信模块、对象接口模块以及设备控制应用程序。

在图16所示的电子设备1600中,网络接口1604可提供网络通讯功能;而对象接口1603主要用于为对象提供输入的接口;而处理器1601可以用于调用存储器1605中存储的设备控制应用程序,以实现:

在一些可行的实施方式中,上述处理器1601用于:

应当理解,在一些可行的实施方式中,上述处理器1601可以是中央处理单元(central processing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integratedcircuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。该存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。

具体实现中,上述电子设备1600可通过其内置的各个功能模块执行如上述图2或图8中各个步骤所提供的实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。

本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,被处理器执行以实现图2或图8中各个步骤所提供的方法,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。

上述计算机可读存储介质可以是前述任一实施例提供的直播问答装置或电子设备的内部存储单元,例如电子设备的硬盘或内存。该计算机可读存储介质也可以是该电子设备的外部存储设备,例如该电子设备上配备的插接式硬盘,智能存储卡(smart mediacard,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。上述计算机可读存储介质还可以包括磁碟、光盘、只读存储记忆体(read-only memory,ROM)或随机存储记忆体(random access memory,RAM)等。进一步地,该计算机可读存储介质还可以既包括该电子设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该电子设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。

本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序,上述计算机程序被处理器执行图2或图8中各个步骤所提供的方法。

本申请的权利要求书和说明书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。

此外,本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或电子设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或电子设备固有的其它步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

以上所揭露的仅为本申请较佳实施例而已,不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

相关技术
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 知识社区中预约问答的管理方法及其装置、电子设备、计算机可读介质
  • 模态框构建方法、装置、电子设备、计算机可读存储介质
  • 电子设备、音量调节方法及装置、计算机可读存储介质
  • 数据库同步恢复方法、装置、计算机可读存储介质和电子设备
  • 一种基于分差-时间函数算法的直播方法、赛事直播终端、电子设备及计算机可读存储介质
  • 问答方法、装置、电子设备及计算机可读存储介质
技术分类

06120116510134