分布式会话方法、装置、计算机设备及存储介质与流程

文档序号:27250190发布日期:2021-11-03 20:25阅读:125来源:国知局
分布式会话方法、装置、计算机设备及存储介质与流程

1.本发明涉及人工智能的语音语义技术领域,尤其涉及一种分布式会话方法、装置、计算机设备及存储介质。


背景技术:

2.在对话机器人技术体系下,最关键的三个因素是人工、数据和算法。对话对于人类来说是一种天生的能力,而对于人工智能来说却代表了最高水平的进展,包括微软、谷歌、苹果等巨头都在布局对话机器人。
3.传统对话机器中后台的数据,是依赖数据库的会话存储。即对话机器人的后台中所存储会话数据为对话机器人提供数据源,但由于对话机器人的后台的存储能力以及相关网络环境限制,导致数据量较小,无法在后台中存储海量数据。因数据量不够,导致对话机器人可能不能针对用户发送的对话做出准确的回复。而且因为对话机器人的后台处理能力有限,也无法在同一时刻针对大量用户端发送的对话作出快速回复。


技术实现要素:

4.本发明实施例提供了一种分布式会话方法、装置、计算机设备及存储介质,旨在解决现有技术中对话机器人因后台处理能力有限,无法在同一时刻针对大量用户端发送的对话作出快速回复的问题。
5.第一方面,本发明实施例提供了一种分布式会话方法,应用于p2p分布式集群,其包括:
6.响应于会话指令,根据所述会话指令获取待回复问题集,及所述待回复问题集包括待回复问题的问题文本数据;其中,所述待回复问题集包括至少一个待回复问题;
7.对所述问题文本数据进行自然语言处理,得到所述问题文本数据的语义表达特征;
8.获取用户请求在所述p2p分布式集群中部署网络地址转换协议;
9.将所述问题文本数据的语义表达特征发送至所述p2p分布式集群中进行数据检索,得到所述语义表达特征的答案数据;
10.将所述答案数据根据所相应待回复问题的问题类型转化为输出答案数据;以及
11.将所述输出答案数据发送至用户端。
12.第二方面,本发明实施例提供了一种分布式会话装置,应用于p2p分布式集群,其包括:
13.待回复问题集获取单元,用于响应于会话指令,根据所述会话指令获取待回复问题集,及所述待回复问题集包括待回复问题的问题文本数据;其中,所述待回复问题集包括至少一个待回复问题;
14.语义特征获取单元,用于对所述问题文本数据进行自然语言处理,得到所述问题文本数据的语义表达特征;
15.协议部署单元,用于获取用户请求在所述p2p分布式集群中部署网络地址转换协议;
16.答案数据获取单元,用于将所述问题文本数据的语义表达特征发送至所述p2p分布式集群中进行数据检索,得到所述语义表达特征的答案数据;
17.答案转换单元,用于将所述答案数据根据所相应待回复问题的问题类型转化为输出答案数据;以及
18.答案数据发送单元,用于将所述输出答案数据发送至用户端。
19.第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的分布式会话方法。
20.第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的分布式会话方法。
21.本发明实施例提供了一种分布式会话方法、装置、计算机设备及存储介质,在p2p分布式集群中每一集群节点中均部署有知识库,p2p分布式集群中任意一个集群节点在分配到根据问题匹配答复的任务时均可进行处理,这一过程中充分利用到了p2p分布式集群的分布式处理能力,提升了数据处理效率。
附图说明
22.为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
23.图1为本发明实施例提供的分布式会话方法的应用场景示意图;
24.图2为本发明实施例提供的分布式会话方法的流程示意图;
25.图3为本发明实施例提供的分布式会话装置的示意性框图;
26.图4为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
27.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
28.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
29.还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
30.还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是
指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
31.请参阅图1和图2,图1为本发明实施例提供的分布式会话方法的应用场景示意图;图2为本发明实施例提供的分布式会话方法的流程示意图,该分布式会话方法应用于p2p分布式集群中任意一个集群节点(每一集群节点均可以视为一个服务器,p2p分布式集群可视为服务器集群)中,该方法通过安装于服务器中的应用软件进行执行。
32.如图2所示,该方法包括步骤s101~s106。
33.s101、响应于会话指令,根据所述会话指令获取待回复问题集,及所述待回复问题集包括待回复问题的问题文本数据。
34.在本实施例中,为了更清楚的理解本技术的技术方案,下面对所涉及的执行主体进行详细介绍。本技术p2p分布式集群中任意一个集群节点为执行主体来描述技术方案。
35.p2p分布式集群,其中包括多个集群节点,每一集群节点对一个服务器,故其可以视为一个服务器集群,相较于单个服务器,其处理能力更优。在p2p分布式集群中的每一集群节点中均部署有知识库,p2p分布式集群中任意一个集群节点在分配到根据问题匹配答复的任务时均可进行处理,这一过程中充分利用到了p2p分布式集群的分布式处理能力,提升了数据处理效率。
36.用户端,其为用户所使用的智能终端(如智能手机、平板电脑、笔记本电脑等),用户在本地启动搭载了智能对话机器人的应用程序后,可在对应的用户交互界面上输入待回复问题并发送至p2p分布式集群进行答案数据匹配,以完成智能会话过程。
37.其中,会话指令包括模型训练启动标识值(如该模型训练启动标识值标识为模型训练启动标识值=1);其中,所述待回复问题集包括至少一个待回复问题,所述待回复问题的问题类型为文本类型问题或者是语音类型问题。以一个用户端a为例,当用户端a编辑了待答复问题a后是先发送至p2p分布式集群其中一个集群节点1,由集群节点1实现待回复问题的接收过程。更具体的,为了更加快速的实现上述问题接收过程,在每一集群节点中均存储了用户访问历史数据表(用户访问历史数据表的有效时间可以设置为1周、1个月、1个季度等,用户访问历史数据表的有效时间根据上述设置的有效时间不断更新,例如将有效时间设置为1周,2020年第2自然周对应的周一凌晨时该用户访问历史数据表自动更新为2020年第1自然周所保存的数据,并将2020年第1自然周之前的所有历史数据删除),其中用户访问历史数据表中每一条用户访问历史数据对应用户上次初始连接的集群节点唯一标识码、用户端唯一设备标识码、和历史访问时间。这样每一个用户端可能会在用户访问历史数据表查询到对应的历史访问记录,并直接再次连接该历史访问记录对应的集群节点,提高连接配对的效率。
38.在一实施例中,步骤s101包括:
39.当检测到用户端上传的待答复问题,获取用户端的用户端唯一设备标识码;
40.获取已存储的用户访问历史数据表,在所述用户访问历史数据表中筛选具有所述用户端唯一设备标识码的用户历史访问数据,作为目标用户历史访问数据;
41.当所述目标用户历史访问数据不为空值,获取所述目标用户历史访问数据中的目标集群节点唯一标识码和目标历史访问时间,由目标集群节点唯一标识码得到第一目标集群节点,由所述第一目标集群节点接收待答复问题;
42.当所述目标用户历史访问数据为空值,在所述用户访问历史数据表中随机获取一
个集群节点唯一标识码作为第二目标集群节点,由第二目标集群节点接收待答复问题。
43.在本实施例中,为了提高p2p分布式集群接收待答复问题的效率,一般是依据用户端上一次访问的集群节点为接收待答复问题的集群节点,这样当用户端上一次访问过p2p分布式集群中的某一目标集群节点,此次用户端再次访问并上传待答复问题时,优先上传至该目标集群节点。当用户端上一次未访问过p2p分布式集群中的任意一个目标集群节点,此次则在用户访问历史数据表中随机获取一个集群节点唯一标识码作为第二目标集群节点,由第二目标集群节点接收待答复问题。
44.在每一待回复问题由相应的集群节点接收后,在对应的集群节点中可以对待回复问题进行问题文本数据的获取,这是因为有些待回复问题是以语音的方式发送,这就需要在对应的集群节点中将所有语音类型问题由语音识别模型(如n

gram模型,即多元模型等模型)进行语音识别处理,得到对应的问题文本数据。通过这一统一的问题数据类型转换过程,便于后续进行答案匹配的过程。
45.s102、对所述问题文本数据进行自然语言处理,得到所述问题文本数据的语义表达特征。
46.在本实施例中,当p2p分布式集群中有集群节点接收到了待回复问题集后,可以通过本地存储的已训练的nlp模型对问题文本进行自然语言理解的处理,从而得到与每一个问题文本数据分别对应的语义表达特征。
47.其中,自然语言处理(nlp,nlp全称是naturallanguageprocessing)是使用自然语言同计算机进行通讯的技术,因为处理自然语言的关键是要让计算机“理解”自然语言,所以自然语言处理又叫做自然语言理解(nlu,nlu全称是natural languageunderstanding)。故对每一个问题文本数据进行自然语言理解处理,也可理解为通过nlp技术对问题文本进行自然语言理解从而得到对应的语义表达特征。
48.在一实施例中,以一个问题文本数据进行自然语言理解处理得到对应的语义表达特征为例,步骤s102包括:
49.将问题文本数据进行处理,得到词嵌入向量;
50.将问题文本进行句法分析,得到句法分析结果向量;
51.将所述词嵌入向量与所述句法分析结果向量进行组合,得到问题文本数据的语义表达特征。
52.在本实施例中,以一个问题文本数据进行自然语言理解处理得到对应的语义表达特征时,可以理解为获取该问题文本对应的语义向量,为了更充分的挖掘文本中更多维度的信息,可以对问题文本依次于概率统计分词模型对问题文本进行文本分词得到文本分词结果,通过词频

逆向文件频率模型对文本分词结果进行关键词抽取得到对应的关键词集合,将关键词集合中每一关键词通过word2vec模型(是一种词向量转换模型)对应转化为词向量后,结合每一词向量对应的权重值进行加权求和,即可得到该语料对应的词嵌入向量。
53.对问题文本进行句法分析时,可采用浅层语法分析,浅层句法分析将句法分析分解为两个主要子任务,一个是语块的识别和分析,另一个是语块之间的依附关系分析。其中,语块的识别和分析是主要任务。
54.基本名词短语(basenp)是语块中的一个重要类别,它指的是简单的、非嵌套的名词短语,不含有其他子项短语,并且basenp之间结构上是独立的,base np识别就是从句子
中识别出所有的basenp。basenp的表示方法有两种,一种是括号分隔法,一种是iob标注法。括号分隔法就是将basenp用方括号界定边界,内部的是basenp,外部的不属于basenp。iob标注法中,字母b表示basenp的开端,i表示当前词语在basenp内,o表示词语位于basenp之外。例如某一问题文本经过句法分析后得到的结果是形容词+名词+动词,则对应可以将这3个词性转化为对应的词性编码(例如名称对应词性编码1,动词对应词性编码2等),最终可以得到句法分析结果向量。最后例如将为1*100列向量的词嵌入向量与为1*3列向量的句法分析结果向量进行组合,得到了包括多维度信息的语义表达特征。
55.s103、获取用户请求在所述p2p分布式集群中部署网络地址转换协议。
56.在本实施例中,为了更加高效的使p2p分布式集群基于分布式网络的特点快速的处理基于问题文本得到输出答案数据,需要预先根据用户端的用户请求部署对应的网络地址转换协议,通过这一用户端网络地址转换协议,可以实现用户端快速的与p2p分布式集群中目标节点快速交互以得到处理结果,从而提高通信效率。
57.在一实施例中,步骤s103包括:
58.获取接收所述问题文本数据的当前目标集群节点;其中,将p2p分布式集群中的所述当前目标集群节点进行移除后得到当前其他集群节点集群;
59.当当前目标集群节点接收到用户端发送的第一用户请求,获取第一集群节点ip地址和第一集群节点端口号;
60.当确定所述第一集群节点ip地址与所述当前目标集群节点的当前集群节点ip地址相同,且确定所述第一集群节点端口号与所述当前目标集群节点的当前端口号相同,获取所述第一用户请求的第一公共ip地址;
61.当确定所述第一用户请求的第一公共ip地址不是p2p分布式集群的标准公共ip地址,将所述第一公共ip地址转换为所述标准公共ip地址;
62.当当前其他集群节点集群未接收到第二用户请求且当前目标集群节点接收到第三用户请求,获取所述第三用户请求的第三公共ip地址;
63.当确定所述第三公共ip地址与所述标准公共ip地址相同,获取当前目标集群节点的当前端口号集合,将第四用户请求发送至所述当前端口号集合中各端口号;
64.当确定所述当前端口号集合中各端口号接收到所述第四用户请求,在所述当前目标集群节点中部署限制圆锥形网络地址转换协议;
65.当确定所述当前端口号集合中有端口号未接收到所述第四用户请求,在所述当前目标集群节点中部署限制端口网络地址转换协议。
66.在本实施例中,由于p2p分布式集群中包括多个集群节点,接收了回复问题集的节点并不一定进一步处理生成答复数据,此时为了更加高效的对生成答复数据生成进行分布式处理,需要经过以下过程:
67.先在p2p分布式集群中进行第一次测试,即获取所述第一用户请求对应的第一集群节点ip地址和第一集群节点端口号,并确定所述第一用户请求中第一集群节点ip地址与所述当前目标集群节点的当前集群节点ip地址是否相同,且确定所述第一用户请求中第一集群节点端口号与所述当前目标集群节点的当前端口号是否相同,当确定所述第一用户请求中第一集群节点ip地址与所述当前目标集群节点的当前集群节点ip地址相同,且确定所述第一用户请求中第一集群节点端口号与所述当前目标集群节点的当前端口号相同,表示
第一次测试通过,此时以获取所述第一用户请求的第一公共ip地址并切换为p2p分布式集群的标准公共ip地址;
68.然后在p2p分布式集群中进行第二次测试和第三次测试,即确定当前其他集群节点集群是否接收到用户端发送的第二用户请求(即进行第二次测试),且当前目标集群节点是否接收到用户端发送的第三用户请求(即进行第三次测试),当当前其他集群节点集群未接收到用户端发送的第二用户请求且当前目标集群节点接收到用户端发送的第三用户请求,表示通过第二次测试未通过且第三次测试通过,直接获取所述第三用户请求的第三公共ip地址;
69.之后再参考第一次测试进行第四次测试,即确定当前目标集群节点的当前端口号集合中各端口号是否接收到所述第四用户请求,当确定当前目标集群节点的当前端口号集合中各端口号接收到所述第四用户请求,表示第四次测试通过,此时在当前目标集群节点中部署限制圆锥形网络地址转换协议(限制圆锥形网络地址转换协议即restrictedconenat);
70.当第四次测试未通过即当确定当前目标集群节点的当前端口号集合中有端口号未接收到所述第四用户请求,则在所述当前目标集群节点中部署限制端口网络地址转换协议(限制端口网络地址转换协议即restrictedportnat)。通过上述不断进行端口测试而进行确定最终协议部署的过程,能不断优化集群节点之间的通讯协议,从而实现最佳的数据传输方式,提高数据传输效率。
71.在一实施例中,所述当当前其他集群节点集群未接收到第二用户请求且当前目标集群节点接收到第三用户请求,获取所述第三用户请求的第三公共ip地址之后之后,还包括:
72.当确定所述第三用户请求的第三公共ip地址与所述标准公共ip地址不相同,在所述当前目标集群节点中部署对称式网络地址转换协议。
73.在本实施例中,当确定所述第三用户请求的第三公共ip地址与所述标准公共ip地址不相同,表示第三次测试之后需要及时调整p2p分布式集群中部署的网络地址转换协议,此时为了确保数据传输效率,在所述当前目标集群节点中部署对称式网络地址转换协议(即symmetricnat)。
74.在一实施例中,所述当当前其他集群节点集群未接收到第二用户请求且当前目标集群节点接收到第三用户请求,获取所述第三用户请求的第三公共ip地址之前,还包括:
75.当当前其他集群节点集群接收到第二用户请求,在当前其他集群节点集群中均部署完全圆锥形网络地址转换协议。
76.在本实施例中,当当前其他集群节点集群接收到用户端发送的第二用户请求表示第二测试通过,此时为了确保数据传输效率,在所述当前目标集群节点中部署完全圆锥形网络地址转换协议(即fullconenat)
77.在一实施例中,所述当当前目标集群节点接收到用户端发送的第一用户请求,获取第一集群节点ip地址和第一集群节点端口号之后,还包括:
78.当确定所述第一用户请求的第一公共ip地址是p2p分布式集群的标准公共ip地址,获取所述当前目标集群节点的当前防火墙状态;
79.当所述当前其他集群节点集群未接收到第五用户请求,将所述当前防火墙状态转
化为开放网络状态;
80.当所述当前其他集群节点集群接收到第五用户请求,在所述当前其他集群节点集群的集群节点中均部署对称式防火墙。
81.在本实施例中,第一次测试通过之后且在第二次测试之前,还需确定所述第一用户请求的第一公共ip地址是否是p2p分布式集群的标准公共ip地址,通过这一判断来确定在p2p分布式集群中个集群节点中部署的防火墙状态。当确定所述第一用户请求的第一公共ip地址是p2p分布式集群的标准公共ip地址,获取当前目标集群节点的当前防火墙状态。此时可以再进行第五次测试,即确定当前其他集群节点集群是否接收到用户端发送的第五用户请求,当当前其他集群节点集群未接收到用户端发送的第五用户请求表示未通过第五次测试,此时将当前防火墙状态转化为开放网络状态;当当前其他集群节点集群接收到用户端发送的第五用户请求表示通过第五次测试,此时在当前其他集群节点集群中均部署对称式防火墙。通过新增的一次测试,又有效的调整了整个p2p分布式集群中防火墙状态,使得整个p2p分布式集群始终处于处理数据的最优状态。
82.s104、将所述问题文本数据的语义表达特征发送至所述p2p分布式集群中进行数据检索,得到所述语义表达特征的答案数据。
83.在本实施例中,由于在p2p分布式集群已根据当前具体情况调整部署了对应的网络地址转换协议,使得整个p2p分布式集群处于最优状态,此时可将每一个问题文本数据分别对应的语义表达特征分发至p2p分布式集群中对应的集群节点中进行答案检索或者答案匹配,从而生成答案数据。由于采用分布式处理的方式,并不是集中于一台服务器上进行数据处理过程,极大地提高了效率。
84.其中,以在一个集群节点中根据问题文本数据对应的语义表达特征获取答案时,可以计算问题文本数据对应的语义表达特征与答案库中各答案文本的语义向量之间的余弦相似度,以与语义表达特征具有最大余弦相似度值的语义向量对应的文本作为答案数据。
85.s105、将所述答案数据根据所相应待回复问题的问题类型转化为输出答案数据。
86.在本实施例中,由于用户端初始向p2p分布式集群发送的待回复问题有可能是文本类型问题,也有可能是语音类型问题,此时为了根据初发送的待回复问题的问题类型相应进行回复,此时可以进行如下处理:当待回复问题的问题类型是语音类型问题,将答案数据对应的文本进行人声拟合输出语音类型的输出答案数据;当待回复问题的问题类型是文本类型问题,则直接将答案数据不作任何转化直接作为输出答案数据。通过这一转换过程,有效确保了与用户发送信息的类型保持一致性。
87.s106、将所述输出答案数据发送至用户端。
88.在本实施例中,当在p2p分布式集群中完成了对输出答案数据的获取后,由对应的集群节点将输出答案数据发送至相应用户端,以及时提醒用户查看答复内容。
89.该方法实现了p2p分布式集群中任意一个集群节点在分配到根据问题匹配答复的任务时均可进行处理,充分利用到了p2p分布式集群的分布式处理能力,提升了数据处理效率。
90.本发明实施例还提供一种分布式会话装置,该分布式会话装置用于执行前述分布式会话方法的任一实施例。具体地,请参阅图3,图3是本发明实施例提供的分布式会话装置
的示意性框图。该分布式会话装置100可以配置于服务器中。
91.如图3所示,分布式会话装置100包括:待回复问题集获取单元101、语义特征获取单元102、协议部署单元103、答案数据获取单元104、答案转换单元105、答案数据发送单元106。
92.待回复问题集获取单元101,用于响应于会话指令,根据所述会话指令获取待回复问题集,及所述待回复问题集包括待回复问题的问题文本数据;其中,所述待回复问题集包括至少一个待回复问题。
93.在本实施例中,以一个用户端a为例,当用户端a编辑了待答复问题a后是先发送至p2p分布式集群其中一个集群节点1,由集群节点1实现待回复问题的接收过程。更具体的,为了更加快速的实现上述问题接收过程,在每一集群节点中均存储了用户访问历史数据表(用户访问历史数据表的有效时间可以设置为1周、1个月、1个季度等,用户访问历史数据表的有效时间根据上述设置的有效时间不断更新,例如将有效时间设置为1周,2020年第2自然周对应的周一凌晨时该用户访问历史数据表自动更新为2020年第1自然周所保存的数据,并将2020年第1自然周之前的所有历史数据删除),其中用户访问历史数据表中每一条用户访问历史数据对应用户上次初始连接的集群节点唯一标识码、用户端唯一设备标识码、和历史访问时间。这样每一个用户端可能会在用户访问历史数据表查询到对应的历史访问记录,并直接再次连接该历史访问记录对应的集群节点,提高连接配对的效率。
94.在一实施例中,待回复问题集获取单元101包括:
95.唯一设备标识码获取单元,用于当检测到用户端上传的待答复问题,获取用户端的用户端唯一设备标识码;
96.目标用户历史访问数据获取单元,用于获取已存储的用户访问历史数据表,在所述用户访问历史数据表中筛选具有所述用户端唯一设备标识码的用户历史访问数据,作为目标用户历史访问数据;
97.第一接收控制单元,用于当所述目标用户历史访问数据不为空值,获取所述目标用户历史访问数据中的目标集群节点唯一标识码和目标历史访问时间,由目标集群节点唯一标识码得到第一目标集群节点,由所述第一目标集群节点接收待答复问题;
98.第二接收控制单元,用于当所述目标用户历史访问数据为空值,在所述用户访问历史数据表中随机获取一个集群节点唯一标识码作为第二目标集群节点,由第二目标集群节点接收待答复问题。
99.在本实施例中,为了提高p2p分布式集群接收待答复问题的效率,一般是依据用户端上一次访问的集群节点为接收待答复问题的集群节点,这样当用户端上一次访问过p2p分布式集群中的某一目标集群节点,此次用户端再次访问并上传待答复问题时,优先上传至该目标集群节点。当用户端上一次未访问过p2p分布式集群中的任意一个目标集群节点,此次则在用户访问历史数据表中随机获取一个集群节点唯一标识码作为第二目标集群节点,由第二目标集群节点接收待答复问题。
100.在每一待回复问题由相应的集群节点接收后,在对应的集群节点中可以对待回复问题进行问题文本数据的获取,这是因为有些待回复问题是以语音的方式发送,这就需要在对应的集群节点中将所有语音类型问题由语音识别模型(如n

gram模型,即多元模型等模型)进行语音识别处理,得到对应的问题文本数据。通过这一统一的问题数据类型转换过
程,便于后续进行答案匹配的过程。
101.语义特征获取单元102,用于对所述问题文本数据进行自然语言处理,得到所述问题文本数据的语义表达特征。
102.在本实施例中,当p2p分布式集群中有集群节点接收到了待回复问题集后,可以通过本地存储的已训练的nlp模型对问题文本进行自然语言理解的处理,从而得到与每一个问题文本数据分别对应的语义表达特征。
103.其中,自然语言处理(nlp,nlp全称是naturallanguageprocessing)是使用自然语言同计算机进行通讯的技术,因为处理自然语言的关键是要让计算机“理解”自然语言,所以自然语言处理又叫做自然语言理解(nlu,nlu全称是natural languageunderstanding)。故对每一个问题文本数据进行自然语言理解处理,也可理解为通过nlp技术对问题文本进行自然语言理解从而得到对应的语义表达特征。
104.在一实施例中,以一个问题文本数据进行自然语言理解处理得到对应的语义表达特征为例,语义特征获取单元102包括:
105.词嵌入向量获取单元,用于将问题文本数据进行处理,得到词嵌入向量;
106.句法分析结果向量获取单元,用于将问题文本进行句法分析,得到句法分析结果向量;
107.向量拼接单元,用于将所述词嵌入向量与所述句法分析结果向量进行组合,得到问题文本数据的语义表达特征。
108.在本实施例中,以一个问题文本数据进行自然语言理解处理得到对应的语义表达特征时,可以理解为获取该问题文本对应的语义向量,为了更充分的挖掘文本中更多维度的信息,可以对问题文本依次于概率统计分词模型对问题文本进行文本分词得到文本分词结果,通过词频

逆向文件频率模型对文本分词结果进行关键词抽取得到对应的关键词集合,将关键词集合中每一关键词通过word2vec模型(是一种词向量转换模型)对应转化为词向量后,结合每一词向量对应的权重值进行加权求和,即可得到该语料对应的词嵌入向量。
109.对问题文本进行句法分析时,可采用浅层语法分析,浅层句法分析将句法分析分解为两个主要子任务,一个是语块的识别和分析,另一个是语块之间的依附关系分析。其中,语块的识别和分析是主要任务。
110.基本名词短语(basenp)是语块中的一个重要类别,它指的是简单的、非嵌套的名词短语,不含有其他子项短语,并且basenp之间结构上是独立的,base np识别就是从句子中识别出所有的basenp。basenp的表示方法有两种,一种是括号分隔法,一种是iob标注法。括号分隔法就是将basenp用方括号界定边界,内部的是basenp,外部的不属于basenp。iob标注法中,字母b表示basenp的开端,i表示当前词语在basenp内,o表示词语位于basenp之外。例如某一问题文本经过句法分析后得到的结果是形容词+名词+动词,则对应可以将这3个词性转化为对应的词性编码(例如名称对应词性编码1,动词对应词性编码2等),最终可以得到句法分析结果向量。最后例如将为1*100列向量的词嵌入向量与为1*3列向量的句法分析结果向量进行组合,得到了包括多维度信息的语义表达特征。
111.协议部署单元103,用于获取用户请求在所述p2p分布式集群中部署网络地址转换协议。
112.在本实施例中,为了更加高效的使p2p分布式集群基于分布式网络的特点快速的
处理基于问题文本得到输出答案数据,需要预先根据用户端的用户请求部署对应的网络地址转换协议,通过这一用户端网络地址转换协议,可以实现用户端快速的与p2p分布式集群中目标节点快速交互以得到处理结果,从而提高通信效率。
113.在一实施例中,协议部署单元103包括:
114.第一执行单元,用于获取接收所述问题文本数据的当前目标集群节点;其中,将p2p分布式集群中的所述当前目标集群节点进行移除后得到当前其他集群节点集群;
115.第二执行单元,用于当当前目标集群节点接收到用户端发送的第一用户请求,获取第一集群节点ip地址和第一集群节点端口号;
116.第三执行单元,用于当确定所述第一集群节点ip地址与所述当前目标集群节点的当前集群节点ip地址相同,且确定所述第一集群节点端口号与所述当前目标集群节点的当前端口号相同,获取所述第一用户请求的第一公共ip地址;
117.第四执行单元,用于当确定所述第一用户请求的第一公共ip地址不是p2p分布式集群的标准公共ip地址,将所述第一公共ip地址转换为所述标准公共ip地址;
118.第五执行单元,用于当当前其他集群节点集群未接收到第二用户请求且当前目标集群节点接收到第三用户请求,获取所述第三用户请求的第三公共ip地址;
119.第六执行单元,用于当确定所述第三公共ip地址与所述标准公共ip地址相同,获取当前目标集群节点的当前端口号集合,将第四用户请求发送至所述当前端口号集合中各端口号;
120.第七执行单元,用于当确定所述当前端口号集合中各端口号接收到所述第四用户请求,在所述当前目标集群节点中部署限制圆锥形网络地址转换协议;
121.第八执行单元,用于当确定所述当前端口号集合中有端口号未接收到所述第四用户请求,在所述当前目标集群节点中部署限制端口网络地址转换协议。
122.在本实施例中,由于p2p分布式集群中包括多个集群节点,接收了回复问题集的节点并不一定进一步处理生成答复数据,此时为了更加高效的对生成答复数据生成进行分布式处理,需要经过以下过程:
123.先在p2p分布式集群中进行第一次测试,即获取所述第一用户请求对应的第一集群节点ip地址和第一集群节点端口号,并确定所述第一用户请求中第一集群节点ip地址与所述当前目标集群节点的当前集群节点ip地址是否相同,且确定所述第一用户请求中第一集群节点端口号与所述当前目标集群节点的当前端口号是否相同,当确定所述第一用户请求中第一集群节点ip地址与所述当前目标集群节点的当前集群节点ip地址相同,且确定所述第一用户请求中第一集群节点端口号与所述当前目标集群节点的当前端口号相同,表示第一次测试通过,此时以获取所述第一用户请求的第一公共ip地址并切换为p2p分布式集群的标准公共ip地址;
124.然后在p2p分布式集群中进行第二次测试和第三次测试,即确定当前其他集群节点集群是否接收到用户端发送的第二用户请求(即进行第二次测试),且当前目标集群节点是否接收到用户端发送的第三用户请求(即进行第三次测试),当当前其他集群节点集群未接收到用户端发送的第二用户请求且当前目标集群节点接收到用户端发送的第三用户请求,表示通过第二次测试未通过且第三次测试通过,直接获取所述第三用户请求的第三公共ip地址;
125.之后再参考第一次测试进行第四次测试,即确定当前目标集群节点的当前端口号集合中各端口号是否接收到所述第四用户请求,当确定当前目标集群节点的当前端口号集合中各端口号接收到所述第四用户请求,表示第四次测试通过,此时在当前目标集群节点中部署限制圆锥形网络地址转换协议(限制圆锥形网络地址转换协议即restrictedconenat);
126.当第四次测试未通过即当确定当前目标集群节点的当前端口号集合中有端口号未接收到所述第四用户请求,则在所述当前目标集群节点中部署限制端口网络地址转换协议(限制端口网络地址转换协议即restrictedportnat)。通过上述不断进行端口测试而进行确定最终协议部署的过程,能不断优化集群节点之间的通讯协议,从而实现最佳的数据传输方式,提高数据传输效率。
127.在一实施例中,分布式会话装置100还包括:
128.第九执行单元,用于当确定所述第三用户请求的第三公共ip地址与所述标准公共ip地址不相同,在所述当前目标集群节点中部署对称式网络地址转换协议。
129.在本实施例中,当确定所述第三用户请求的第三公共ip地址与所述标准公共ip地址不相同,表示第三次测试之后需要及时调整p2p分布式集群中部署的网络地址转换协议,此时为了确保数据传输效率,在所述当前目标集群节点中部署对称式网络地址转换协议(即symmetricnat)。
130.在一实施例中,分布式会话装置100还包括:
131.第十执行单元,用于当当前其他集群节点集群接收到第二用户请求,在当前其他集群节点集群中均部署完全圆锥形网络地址转换协议。
132.在本实施例中,当当前其他集群节点集群接收到用户端发送的第二用户请求表示第二测试通过,此时为了确保数据传输效率,在所述当前目标集群节点中部署完全圆锥形网络地址转换协议(即fullconenat)
133.在一实施例中,分布式会话装置100,还包括:
134.第十一执行单元,用于当确定所述第一用户请求的第一公共ip地址是p2p分布式集群的标准公共ip地址,获取所述当前目标集群节点的当前防火墙状态;
135.第十二执行单元,用于当所述当前其他集群节点集群未接收到第五用户请求,将所述当前防火墙状态转化为开放网络状态;
136.第十三执行单元,用于当所述当前其他集群节点集群接收到第五用户请求,在所述当前其他集群节点集群的集群节点中均部署对称式防火墙。
137.在本实施例中,第一次测试通过之后且在第二次测试之前,还需确定所述第一用户请求的第一公共ip地址是否是p2p分布式集群的标准公共ip地址,通过这一判断来确定在p2p分布式集群中个集群节点中部署的防火墙状态。当确定所述第一用户请求的第一公共ip地址是p2p分布式集群的标准公共ip地址,获取当前目标集群节点的当前防火墙状态。此时可以再进行第五次测试,即确定当前其他集群节点集群是否接收到用户端发送的第五用户请求,当当前其他集群节点集群未接收到用户端发送的第五用户请求表示未通过第五次测试,此时将当前防火墙状态转化为开放网络状态;当当前其他集群节点集群接收到用户端发送的第五用户请求表示通过第五次测试,此时在当前其他集群节点集群中均部署对称式防火墙。通过新增的一次测试,又有效的调整了整个p2p分布式集群中防火墙状态,使
得整个p2p分布式集群始终处于处理数据的最优状态。
138.答案数据获取单元104,用于将所述问题文本数据的语义表达特征发送至所述p2p分布式集群中进行数据检索,得到所述语义表达特征的答案数据。
139.在本实施例中,由于在p2p分布式集群已根据当前具体情况调整部署了对应的网络地址转换协议,使得整个p2p分布式集群处于最优状态,此时可将每一个问题文本数据分别对应的语义表达特征分发至p2p分布式集群中对应的集群节点中进行答案检索或者答案匹配,从而生成答案数据。由于采用分布式处理的方式,并不是集中于一台服务器上进行数据处理过程,极大地提高了效率。
140.其中,以在一个集群节点中根据问题文本数据对应的语义表达特征获取答案时,可以计算问题文本数据对应的语义表达特征与答案库中各答案文本的语义向量之间的余弦相似度,以与语义表达特征具有最大余弦相似度值的语义向量对应的文本作为答案数据。
141.答案转换单元105,用于将所述答案数据根据所相应待回复问题的问题类型转化为输出答案数据。
142.在本实施例中,由于用户端初始向p2p分布式集群发送的待回复问题有可能是文本类型问题,也有可能是语音类型问题,此时为了根据初发送的待回复问题的问题类型相应进行回复,此时可以进行如下处理:当待回复问题的问题类型是语音类型问题,将答案数据对应的文本进行人声拟合输出语音类型的输出答案数据;当待回复问题的问题类型是文本类型问题,则直接将答案数据不作任何转化直接作为输出答案数据。通过这一转换过程,有效确保了与用户发送信息的类型保持一致性。
143.答案数据发送单元106,用于将所述输出答案数据发送至用户端。
144.在本实施例中,当在p2p分布式集群中完成了对输出答案数据的获取后,由对应的集群节点将输出答案数据发送至相应用户端,以及时提醒用户查看答复内容。
145.该装置实现了p2p分布式集群中任意一个集群节点在分配到根据问题匹配答复的任务时均可进行处理,充分利用到了p2p分布式集群的分布式处理能力,提升了数据处理效率。
146.上述分布式会话装置可以实现为计算机程序的形式,该计算机程序可以在如图4所示的计算机设备上运行。
147.请参阅图4,图4是本发明实施例提供的计算机设备的示意性框图。该计算机设备500是服务器,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
148.参阅图4,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括存储介质503和内存储器504。
149.该存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行分布式会话方法。
150.该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
151.该内存储器504为存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行分布式会话方法。
152.该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图4中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发
明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
153.其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现本发明实施例公开的分布式会话方法。
154.本领域技术人员可以理解,图4中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图4所示实施例一致,在此不再赘述。
155.应当理解,在本发明实施例中,处理器502可以是中央处理单元(central processingunit,cpu),该处理器502还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegrated circuit,asic)、现成可编程门阵列(field

programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
156.在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质,也可以为易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本发明实施例公开的分布式会话方法。
157.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
158.在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
159.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
160.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以
是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
161.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括当干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

onlymemory)、磁碟或者光盘等各种可以存储程序代码的介质。
162.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1