一种健康问答模型的训练、健康问答方法及相关装置与流程

文档序号:33271402发布日期:2023-02-24 18:29阅读:43来源:国知局
一种健康问答模型的训练、健康问答方法及相关装置与流程

1.本发明涉及健康的技术领域,尤其涉及一种健康问答模型的训练、健康问答方法及相关装置。


背景技术:

2.在健康领域的智能客服场景下,多会提供智能问答,用户的意图被识别出来,并且给出最接近的标准答案,可以快速帮助用户自主解决一些重复或常见的问题,例如,营养素的功效,营养素的使用说明,等等。
3.基于孪生句向量变换器的双向编码器(sentence-bert)是目前是智能问答主流的召回模型之一,其提前针对知识库计算向量,从而快速响应的召回任务,节约大量推理时间。
4.一方面,健康领域中关于问答的数据量稀少,因而sentence-bert对于健康领域的适应性较差,从而导致召回的答案准确率较低。
5.另一方面,由于在健康领域中产品、疾病、营养素等实体词迭代迅速,为了理解新的实体词,每间隔一定的时间开发人员重新训练sentence-bert,由于标注量较大,使得训练sentence-bert的成本较高、效率较低。


技术实现要素:

6.本发明提供了一种健康问答模型的训练、健康问答方法及相关装置,以解决如何提高sentence-bert召回答案的准确率、提高sentence-bert适配新的实体词的效率。
7.根据本发明的一方面,提供了一种健康问答模型的训练方法,所述方法包括:
8.s101:采集多个样本,每个样本包括健康问题信息,健康答案信息,所述健康问题信息中包含健康实体词的问题关键词,所述健康答案信息中包含健康实体词的答案关键词;
9.s102:将所述健康问题信息与所述健康答案信息输入基于孪生句向量变换器的双向编码器中初步编码,得到中间层输出的问题中间向量与答案中间向量;
10.s103:将所述问题中间向量转换为受所述问题关键词控制的问题关键向量;
11.s104:将所述答案中间向量转换为受所述答案关键词控制的答案关键向量;
12.s105:将所述问题关键向量与所述答案关键向量输入所述基于孪生句向量变换器的双向编码器中继续完成编码,得到问题目标向量与答案目标向量;
13.s106:根据所述问题目标向量与所述答案目标向量将所述基于孪生句向量变换器的双向编码器训练为健康问答模型。
14.根据本发明的另一方面,提供了一种健康问答方法,所述方法包括:
15.s201:加载属于基于孪生句向量变换器的双向编码器的健康问答模型;
16.s202:若接收到客户端输入的健康问题信息,则从所述健康问题信息中提取包括健康实体词的问题关键词;
17.s203:将所述健康问题信息输入所述健康问答模型中初步编码,得到中间层输出的问题中间向量;
18.s204:将所述问题中间向量转换为受所述问题关键词控制的问题关键向量;
19.s205:将所述问题关键向量输入所述健康问答模型中继续完成编码,得到问题目标向量;
20.s206:根据所述问题关键向量与预设的答案关键向量召回用于解答所述健康问题信息的所述健康答案信息,所述答案关键向量编码自健康问答信息及所述健康答案信息中包含健康实体词的答案关键词;
21.s207:将用于解答所述健康问题信息的所述健康答案信息推送至所述客户端进行显示。
22.根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
23.至少一个处理器;以及
24.与所述至少一个处理器通信连接的存储器;其中,
25.所述存储器存储有可被所述至少一个处理器执行的计算机程序及健康问答模型,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的健康问答模型的训练方法或者健康问答方法。
26.根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序及健康问答模型,所述计算机程序用于使处理器执行时实现本发明任一实施例所述的健康问答模型的训练方法或者健康问答方法。
27.在本实施例中,采集多个样本,每个样本包括健康问题信息,健康答案信息,健康问题信息中包含健康实体词的问题关键词,健康答案信息中包含健康实体词的答案关键词;将健康问题信息与健康答案信息输入基于孪生句向量变换器的双向编码器中初步编码,得到中间层输出的问题中间向量与答案中间向量;将问题中间向量转换为受问题关键词控制的问题关键向量;将答案中间向量转换为受答案关键词控制的答案关键向量;将问题关键向量与答案关键向量输入基于孪生句向量变换器的双向编码器中继续完成编码,得到问题目标向量与答案目标向量;根据问题目标向量与答案目标向量将基于孪生句向量变换器的双向编码器训练为健康问答模型。本实施例通过引入包含健康实体词的问题关键词、答案关键词训练基于孪生句向量变换器的双向编码器,让基于孪生句向量变换器的双向编码器的注意力更加集中到包含健康实体词的问题关键词、答案关键词上,提高了基于孪生句向量变换器的双向编码器在健康领域的适应性,从而提高答案召回的准确率,并且,通过自定义编码问题关键向量、答案关键向量的结构,在更新迭代健康实体词重新训练基于孪生句向量变换器的双向编码器时,可以有效减少标注量,从而降低训练基于孪生句向量变换器的双向编码器的成本,提高训练基于孪生句向量变换器的双向编码器的效率。
28.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
29.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于
本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
30.图1是根据本发明实施例一提供的一种健康问答模型的训练方法的流程图;
31.图2是根据本发明实施例一提供的一种sentence-bert的结构示意图;
32.图3是根据本发明实施例一提供的一种引入关键词的sentence-bert的结构示意图;
33.图4是根据本发明实施例一提供的一种生成问题目标向量的流程示意图;
34.图5是根据本发明实施例一提供的一种输出层的结构示意图;
35.图6是根据本发明实施例一提供的一种生成答案目标向量的流程示意图;
36.图7是根据本发明实施例一提供的一种输出层的结构示意图;
37.图8是根据本发明实施例二提供的一种健康问答方法的流程图;
38.图9是根据本发明实施例三提供的一种健康问答模型的训练装置的结构示意图;
39.图10是根据本发明实施例四提供的一种健康问答装置的结构示意图;
40.图11是实现本发明实施例五提供的一种电子设备的结构示意图。
具体实施方式
41.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
42.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
43.实施例一
44.图1为本发明实施例一提供的一种健康问答模型的训练方法的流程图,本实施例可适用于融入包含健康实体词的关键词将sentence-bert训练为健康问答模型的情况,该方法可以由健康问答模型的训练装置来执行,该健康问答模型的训练装置可以采用硬件和/或软件的形式实现,该健康问答模型的训练装置可配置于电子设备中。如图1所示,该方法包括:
45.步骤s101、采集多个样本。
46.在本实施例中,可以通过第三方公开的数据集、网站日志文件积累等方式采集多个样本,每个样本均为五元组,该五元组包括健康问题信息,健康答案信息,健康问题信息中包含健康实体词的问题关键词,健康答案信息中包含健康实体词的答案关键词,健康问题信息与健康答案信息之间的真实相似度。
47.其中,健康问题信息为与健康相关的问题,例如,“不同维生素可以一起吃吗?”。
48.健康答案信息为用于解答健康问题信息的、与健康相关的答案,例如,“不同类营养素有需要可以搭配一起补充,同类营养素同时食用不宜超过推荐量哦。如:维生素c片是补充维生素c,b族维生素片是补充维生素b族,是属于不同类的维生素,这两款产品就可以搭配一起补充。”。
49.健康实体词为与健康相关的实体词,包括营养素的名称(如维生素d)、营养品的名称(如蛋白粉)、疾病的名称(如骨质疏松),等等;
50.问题关键词为健康问题信息中的关键词,答案关键词为健康答案信息中的关键词,一般情况下,问题关键词、答案关键词除了包含一个或多个健康实体词之外,还包含表示意图的词、表示情感的词,等等,在某些情况中,问题关键词、答案关键词包含的健康实体词为空,本实施例对此不加以限制。
51.在具体实现中,样本的类型可以包括正样本、负样本,在正样本中,健康答案信息可准确地解答健康问题信息提出的疑问,在负样本中,健康答案信息并不能准确地解答健康问题信息提出的疑问。
52.在制作正本时,可以通过第三方公开的数据集、网站日志文件积累等方式获取相互匹配的健康问题信息、健康答案信息,所谓相互匹配,可以指健康答案信息准确地解答健康问题信息提出的疑问。
53.对于健康问题信息、健康答案信息,可以通过统计的方式从健康问题信息、健康答案信息中总结出关键词的词表,标准的实体词及其同义词的词表,停用词的词表,通过不断迭代优化来动态扩充这些词表。
54.其中,停用词为一些对内容理解无效的词与符号,如语气词、标点符号等。
55.此时,可对健康问题信息、健康答案信息执行如下至少一种预处理:
56.1、去除停用词
57.使用停用词的词表构建正则表达式,将正则表达式与健康问题信息、健康答案信息进行匹配,将健康问题信息、健康答案信息中出现的停用词删除。
58.2、提取关键词
59.使用关键词的词表、实体词的词表建立字典树,使用字典树从健康问题信息中提取含健康实体词的关键词,作为问题关键词,使用字典树从健康答案信息中提取含健康实体词的关键词,作为答案关键词。
60.3、归一化
61.将同义词的词表与关键词(问题关键词、答案关键词)中的实体词进行匹配,将属于同义词的实体词映射为标准的实体词。
62.对健康问题信息与健康答案信息之间配置趋向相似度上限值(即1)的数值(如1),作为实际相似度。
63.此时,可将相互匹配的健康问题信息与健康答案信息、问题关键词、答案关键词、实际相似度构建为正样本。
64.在制作负样本时,除了直接构建相互不匹配的健康问题信息与健康答案信息,将相互不匹配的健康问题信息与健康答案信息、问题关键词、答案关键词、实际相似度构建为负样本之外,还可以对正样本进行负采样制作负样本,以提高制作负样本的效率,提高健康
问答模型的鲁棒性。
65.在一种制作负样本的方式中,从当前正样本中采样健康问题信息及问题关键词,从除当前正样本之外的其他正样本中随机负采样k(k为正整数)个健康答案信息及答案关键词,那么,当前正样本中的健康问题信息与其他正样本中的健康答案信息相互不匹配。
66.对健康问题信息与健康答案信息之间配置趋向相似度下限值(即0)的数值(如0.03),作为实际相似度。
67.将来源于当前正样本的健康问题信息及问题关键词,来源于其他正样本的健康答案信息及答案关键词、实际相似度构建为负样本。
68.在另一种制作负样本的方式中,从当前正样本中采样健康问题信息及问题关键词,针对当前正样本选定第一目标样本,第一目标样本为与当前正样本具有相同问题关键词的其他正样本,从第一目标样本中随机负采样k(k为正整数)个健康答案信息及答案关键词,那么,当前正样本中的健康问题信息与第一目标样本中的健康答案信息相互不匹配,并且,当前正样本中的健康问题信息与第一目标样本中的健康问题信息具有一定的相似性。
69.在第一数值与第二数值之间取最小者,作为健康问题信息与健康答案信息之间的实际相似度,其中,第一数值趋向相似度上限值(即1),如0.95,第二数值为对当前正样本与第一目标样本之间在问题关键词和/或答案关键词重合的数量取指定的第一比例(第一比例小于1,如0.25)。
70.将来源于当前正样本的健康问题信息及问题关键词,来源于第一目标样本的健康答案信息及答案关键词、实际相似度构建为负样本。
71.在又一种制作负样本的方式中,从当前正样本中采样健康答案信息及答案关键词,针对当前正样本选定第二目标样本,第二目标样本为与当前正样本具有相同答案关键词的其他正样本,从第二目标样本中随机负采样k(k为正整数)健康问题信息及问题关键词,那么,当前正样本中的健康答案信息与第二目标样本中的健康问题信息相互不匹配,并且,当前正样本中的健康答案信息与第二目标样本中的健康答案信息具有一定的相似性。
72.在第三数值与第四数值之间取最小者,作为健康问题信息与健康答案信息之间的实际相似度,其中,第三数值趋向上限值(即1),如0.95,第四数值为对当前正样本与第二目标样本之间在问题关键词和/或答案关键词重合的数量取指定的第二比例(第二比例小于1,如0.25)。
73.将来源于第二目标样本的健康问题信息及问题关键词,来源于当前正样本的健康答案信息及答案关键词、实际相似度构建为负样本。
74.当然,上述制作样本的方式只是作为示例,在实施本实施例时,可以根据实际情况设置其它制作样本的方式,本实施例对此不加以限制。另外,除了上述制作样本的方式外,本领域技术人员还可以根据实际需要采用其它制作样本的方式,本实施例对此也不加以限制。
75.步骤s102、将健康问题信息与健康答案信息输入基于孪生句向量变换器的双向编码器中初步编码,得到中间层输出的问题中间向量与答案中间向量。
76.如图2所示,sentence-bert是基于预训练过的bert(bidirectionalencoder representationfromtransformers,来自编码-解码架构的双向编码器)的孪生网络,bert是基于多层的双向transformer(编码-解码架构)建立的。
77.在sentence-bert中,将句子(sentencea、sentenceb)对输入到参数共享的两个bert中,bert输出句子的所有字向量传入pooling(池化层)进行池化操作(如平均池化操作,在句子长度这个维度上对所有字向量求均值),获取到每个句子的句向量(u,v)表示,并使用余弦值等函数计算相似度(sim(u,v))。
78.在本实施例中,如图3所示,将健康问题信息与健康答案信息分别输入sentence-bert中的两个通道中初步编码,得到sentence-bert的中间层的隐层输出,即,对健康问题信息编码的向量,作为问题中间向量h_question_middle∈rb×
max_seq
×
hidden
,以及,对健康答案信息编码的向量,作1368为答案中间向量h_answer_middle∈rb×
max_seq
×
hidden
,其中,b为批大小(batchsize),max_seq为最大序列长度,hidden为隐层长度。
79.其中,中间层为sentence-bert的参数共享的两个bert中任一层,例如,某个sentence-bert的参数共享的两个bert中具有十二层transformer,中间层可以为第六层transformer,中间层也可以为第十二层transformer,等等。
80.在具体实现中,如图4所示,将健康问题信息输入预设的第一分词器(如bert-tokenlizer)中进行处理,获得第一数字序列input_ids、第一分片序列segment_ids与第一掩码序列mask_ids,以满足bert的输入规范。
81.如图6所示,将健康答案信息输入预设的第一分词器(如bert-tokenlizer)中进行处理,获得第二数字序列input_ids、第二分片序列segment_ids与第二掩码序列mask_ids,以满足bert的输入规范。
82.如图4与图6所示,将第一数字序列input_ids、第一分片序列segment_ids与第一掩码序列mask_ids,以及,第二数字序列input_ids、第二分片序列segment_ids与第二掩码序列mask_ids输入基于孪生句向量变换器的双向编码器(sentence-bert)中的两个通道进行初步编码,得到中间层输出的问题中间向量h_question_middle与答案中间向量h_answer_middle。
83.步骤s103、将问题中间向量转换为受问题关键词控制的问题关键向量。
84.在本实施例中,如图3所示,可以参照问题关键词对问题中间向量h_question_middle进行编码,增加问题关键词对问题中间向量h_question_middle的重要程度,从而将问题中间向量h_question_middle转换为受问题关键词控制的问题关键向量h_q。
85.在本发明的一个实施例中,步骤s103可以包括如下步骤:
86.步骤s1031、将问题中间向量转换为问题查询向量、问题索引向量与问题内容向量。
87.在本实施例中,如图4所示,对问题中间向量h_question_middle进行编码,转换为问题查询向量q_question、问题索引向量k_question与问题内容向量v_question,以满足第一自注意力层(self-attention)的输入规范。
88.在具体实现中,对问题中间向量h_question_middle进行线性变换,生成第一查询矩阵(q矩阵,即一组qurey集合组成的矩阵)、第一索引矩阵(k矩阵,即一组key集合组成的矩阵)、第一内容矩阵(v矩阵,一组value集合组成的矩阵)。
89.将问题中间向量h_question_middle与第一查询矩阵(q矩阵)相乘,得到问题查询向量q_question。
90.将问题中间向量h_question_middle与第一索引矩阵(k矩阵)相乘,得到问题索引
向量k_question。
91.将问题中间向量h_question_middle与第一内容矩阵(v矩阵)相乘,得到问题内容向量v_question。
92.步骤s1032、对问题关键词进行编码,得到第一词索引向量、第一词内容向量。
93.在本实施例中,如图4所示,对问题关键词进行编码,得到第一词索引向量k_qe、第一词内容向量v_qe,使得第一词索引向量k_qe、第一词内容向量v_qe与问题索引向量k_question、问题内容向量v_question处于同一向量空间中,以便进行融合。
94.在具体实现中,如图4所示,将问题关键词输入预设的第二分词器中进行处理,获得第三数字序列keyword_input_ids、第三分片序列keyword_segment_ids与第三掩码序列keyword_mask_ids。
95.其中,第二分词器为针对含有健康实体词的关键词训练的分词器,例如,在bert-tokenlizer中添加实体词的词表训练的分词器。
96.将第三数字序列keyword_input_ids、第三分片序列keyword_segment_ids与第三掩码序列keyword_mask_ids输入预设的词向量矩阵中进行处理,得到隐层输出的问题关键向量h_q_keyword’∈rb×
max_seq
×
hidden

97.将问题关键向量h_q_keyword’输入预设的问题索引矩阵w_k_qe∈r
hidden
×
hidden
中进行处理,得到第一词索引向量k_qe。
98.将第一词索引向量k_qe输入预设的问题内容矩阵v_k_qe∈r
hidden
×
hidden
中进行处理,得到第一词内容向量v_qe∈rb×
max_seq
×
hidden

99.步骤s1033、将问题索引向量与第一词索引向量融合为第一目标索引向量。
100.在本实施例中,如图4所示,可以通过线性或非线性下的相加、相乘或拼接等方式对问题索引向量k_question与第一词索引向量k_qe进行融合,得到第一目标索引向量kq。
101.在一个示例中,可以将第一词索引向量k_qe乘以预设的第一超参数,获得第一调权索引向量,将第一调权索引向量与问题索引向量k_question拼接为第一目标索引向量kq∈rb×
2*max_seq
×
hidden
,那么,这个融合的过程表示为kq=[λqe
·
k_qe,k_question],其中,λqe为第一超参数,λqe∈[0,1]。
[0102]
步骤s1034、将问题内容向量与第一词内容向量融合为第一目标内容向量。
[0103]
在本实施例中,如图4所示,可以通过线性或非线性下的相加、相乘或拼接等方式对问题内容向量v_question与第一词内容向量v_qe进行融合,得到第一目标内容向量vq。
[0104]
在一个示例中,可以将第一词内容向量v_qe乘以预设的第一超参数,获得第一调权内容向量,将第一调权内容向量与问题内容向量v_question拼接为第一目标内容向量vq∈rb×
2*max_seq
×
hidden
,那么,这个融合的过程表示为vq=[λqe
·
v_qe,v_question],其中,λqe为第一超参数,λqe∈[0,1]。
[0105]
步骤s1035、将问题查询向量、第一目标索引向量与第一目标内容向量输入预设的第一自注意力层进行处理,得到问题候选向量。
[0106]
在本实施例中,如图4所示,将问题查询向量q_question、第一目标索引向量kq与第一目标内容向量vq输入预设的第一自注意力层进行处理,得到问题候选向量a_q。
[0107]
第一自注意力层属于自注意力机制(self-attention),又称内部注意力机制,是一种将单个序列的不同位置关联起来以计算同一序列的表示的注意力机制(attention)的
一种。
[0108]
以kqv模型来解释attention机制:
[0109]
假定输入为q(query,查询),memory中以键值对(key/value,k/v,又称索引/内容)形式存储上下文,那么注意力机制是query到一系列键值对上的映射函数。
[0110]
注意力机制本质上是为序列中每个元素都分配一个权重系数,即软寻址,如果序列中每一个元素都以键值对形式存储,那么注意力机制则通过计算q和k的相似度来完成寻址。q和k计算出来的相似度反映了取出来的v值的重要程度,即权重,然后加权求和就得到了attention值。
[0111]
selfattention在kqv模型中的特殊点在于q=k=v,其是文本和文本自己求相似度再和文本本身相乘计算得来。
[0112]
进一步而言,第一自注意力层的处理过程如下:
[0113][0114]
其中,a_q为问题候选向量,q为问题查询向量q_question,k为第一目标索引向量kq,v为第一目标内容向量vq,d为特征的维度。
[0115]
步骤s1036、从问题候选向量中提取特征,得到问题关键向量。
[0116]
在本实施例中,如图4所示,将问题候选向量a_q输入到输出层中提取高维度的特征,得到问题关键向量h_q。
[0117]
在一种输出层的示例中,如图5所示,输出层包括三个全连接层(fullyconnected layers,fc),分别为第一问题全连接层dense1

、第二问题全连接层dense2

、第三问题全连接层dense3


[0118]
在本示例中,将问题候选向量a_q输入预设的第一问题全连接层dense1

中映射为第一问题特征向量,使用sigmoid(s型生长函数,将任意数值转换为概率(0-1))等激活函数对第一问题特征向量进行激活。
[0119]
若完成激活第一问题特征向量,则将第一问题特征向量输入预设的第二问题全连接层dense2

中映射为第二问题特征向量,使用relu(rectifiedlinearunit,整流线性单元)等激活函数对第二问题特征向量进行激活。
[0120]
若完成激活第二问题特征向量,则将第二问题特征向量输入预设的第三问题全连接层dense3

中映射为第三问题特征向量,使用sigmoid等激活函数对第三问题特征向量进行激活,得到问题关键向量h_q。
[0121]
在本示例中,提取问题关键向量h_q的过程表示如下:
[0122]
h_q=sigmoid(dense3

(relu(dense2

(sigmoid(dense1

(a_q))))))
[0123]
其中,dense1

为第一问题全连接层,dense2

为第二问题全连接层,dense3

为第三问题全连接层,sigmoid与relu均为激活函数。
[0124]
步骤s104、将答案中间向量转换为受答案关键词控制的答案关键向量。
[0125]
在本实施例中,如图3所示,可以参照答案关键词对答案中间向量h_answer_middle进行编码,增加答案关键词对答案中间向量h_answer_middle的重要程度,从而将答案中间向量h_answer_middle转换为受答案关键词控制的答案关键向量h_a。
[0126]
在本发明的一个实施例中,步骤s104可以包括如下步骤:
[0127]
步骤s1041、将答案中间向量转换为答案查询向量、答案索引向量、答案内容向量。
[0128]
在本实施例中,如图6所示,对答案中间向量h_answer_middle进行编码,转换为答案查询向量q_answer、答案索引向量k_answer、答案内容向量v_answer,以满足第二自注意力层(self-attention)的输入规范。
[0129]
在具体实现中,对答案中间向量h_answer_middle进行线性变换,生成第二查询矩阵(q矩阵,即一组qurey集合组成的矩阵)、第二索引矩阵(k矩阵,即一组key集合组成的矩阵)、第二内容矩阵(v矩阵,一组value集合组成的矩阵)。
[0130]
将答案中间向量h_answer_middle与第二查询矩阵(q矩阵)相乘,得到答案查询向量q_answer。
[0131]
将答案中间向量h_answer_middle与第二索引矩阵(k矩阵)相乘,得到答案索引向量k_answer。
[0132]
将答案中间向量h_answer_middle与第二内容矩阵(v矩阵)相乘,得到答案内容向量v_answer。
[0133]
步骤s1042、对答案关键词进行编码,得到第二词索引向量、第二词内容向量。
[0134]
在本实施例中,如图6所示,对答案关键词进行编码,得到第二词索引向量k_ae、第二词内容向量v_ae,使得第二词索引向量k_ae、第二词内容向量v_ae与答案查询向量q_answer、答案索引向量k_answer、答案内容向量v_answer处于同一向量空间中,以便进行融合。
[0135]
在具体实现中,如图6所示,将答案关键词输入预设的第二分词器中进行处理,获得第四数字序列keyword_input_ids、第四分片序列keyword_segment_ids与第四掩码序列keyword_mask_ids。
[0136]
将第四数字序列keyword_input_ids、第四分片序列keyword_segment_ids与第四掩码序列keyword_mask_ids输入预设的词向量矩阵中进行处理,得到隐层输出的答案关键向量h_a_keyword’∈rb×
max_seq
×
hidden

[0137]
将答案关键向量h_a_keyword’输入预设的答案索引矩阵w_k_ae∈r
hidden
×
hidden
中进行处理,得到第二词索引向量k_ae。
[0138]
将第二词索引向量k_ae输入预设的答案内容矩阵v_k_ae∈r
hidden
×
hidden
中进行处理,得到第二词内容向量v_ae∈rb×
max_seq
×
hidden

[0139]
步骤s1043、将答案索引向量与第二词索引向量融合为第二目标索引向量。
[0140]
在本实施例中,如图6所示,可以通过线性或非线性下的相加、相乘或拼接等方式对答案索引向量k_answer与第二词索引向量k_ae进行融合,得到第二目标索引向量ka。
[0141]
在一个示例中,将第二词索引向量k_ae乘以预设的第二超参数,获得第二调权索引向量,将第二调权索引向量与答案索引向量k_answer拼接为第二目标索引向量ka∈
[0142]
rb×
2*max_seq
×
hidden
,那么,这个融合的过程表示为ka=[λae
·
k_ae,k_answer],其中,λae为第二超参数,λae∈[0,1]。
[0143]
步骤s1044、将答案内容向量与第二词内容向量融合为第二目标内容向量。
[0144]
在本实施例中,如图6所示,可以通过线性或非线性下的相加、相乘或拼接等方式对答案内容向量v_answer与第二词内容向量v_ae进行融合,得到第二目标内容向量va。
[0145]
在一个示例中,可以将第二词内容向量v_ae乘以预设的第二超参数,获得第二调
权内容向量,将第二调权内容向量与答案内容向量v_answer拼接为第二目标内容向量va∈rb×
2*max_seq
×
hidden
,那么,这个融合的过程表示为va=[λae
·
v_ae,v_answer],其中,λae为第二超参数,λae∈[0,1]。
[0146]
步骤s1045、将答案查询向量、第二目标索引向量与第二目标内容向量输入预设的第二自注意力层进行处理,得到答案候选向量。
[0147]
在本实施例中,如图6所示,将答案查询向量q_answer、第二目标索引向量ka与第二目标内容向量va输入预设的第二自注意力层进行处理,得到答案候选向量a_a。
[0148]
第二自注意力层属于自注意力机制(self-attention),第二自注意力层的处理过程如下:
[0149][0150]
其中,a_a为答案候选向量,q为答案查询向量q_answer,k为第二目标索引向量ka,v为第二目标内容向量va,d为特征的维度。
[0151]
步骤s1046、将答案候选向量中提取特征,得到答案关键向量。
[0152]
在本实施例中,如图6所示,将答案候选向量a_a输入到输出层中提取高维度的特征,得到答案关键向量h_a。
[0153]
在一种输出层的示例中,如图7所示,输出层包括三个全连接层,分别为第一答案全连接层dense 1、第二答案全连接层dense2、第三答案全连接层dense3。
[0154]
在本示例中,将答案候选向量a_a输入预设的第一答案全连接层dense1中映射为第一答案特征向量,使用sigmoid等激活函数对第一答案特征向量进行激活。
[0155]
若完成激活第一答案特征向量,则将第一答案特征向量输入预设的第二答案全连接层dense2中映射为第二答案特征向量,使用relu等激活函数对第二答案特征向量进行激活。
[0156]
若完成激活第二答案特征向量,则将第二答案特征向量输入预设的第三答案全连接层dense3中映射为第三答案特征向量,使用sigmoid等激活函数对第三答案特征向量进行激活,得到答案关键向量h_a。
[0157]
在本示例中,提取答案关键向量h_a的过程表示如下:
[0158]
h_a=sigmoid(dense3(relu(dense2(sigmoid(dense1(a_a))))))
[0159]
其中,dense 1为第一答案全连接层,dense2为第二答案全连接层,dense3为第三答案全连接层,sigmoid与relu均为激活函数。
[0160]
步骤s105、将问题关键向量与答案关键向量输入基于孪生句向量变换器的双向编码器中继续完成编码,得到问题目标向量与答案目标向量。
[0161]
如图3所示,一方面,将问题关键向量h_q重新输入sentence-bert中继续完成剩余的编码,从而输出问题目标向量h1q,另一方面,将答案关键向量h_a重新输入sentence-bert中继续完成剩余的编码,从而输出答案目标向量hla。
[0162]
步骤s106、根据问题目标向量与答案目标向量将基于孪生句向量变换器的双向编码器训练为健康问答模型。
[0163]
在本实施例中,可以根据问题目标向量h1q与答案目标向量h1a对sentence-bert进行训练,在完成训练时,sentence-bert记为健康问答模型,健康问答模型用于推理健康
问题信息与健康答案信息之间的相似度。
[0164]
在本发明的一个实施例中,步骤s106可以包括如下步骤:
[0165]
步骤s1061、基于问题目标向量与答案目标向量计算健康问题信息与健康答案信息之间的预测相似度。
[0166]
在本实施例中,如图3所示,将问题目标向量h1q与答案目标向量h1a进行比较,从而推理健康问题信息与健康答案信息之间的匹配程度,记为预测相似度sim(h1q,h1a)。
[0167]
示例性地,可以计算问题目标向量h1q与答案目标向量h1a之间的余弦值,表示如下:
[0168][0169]
其中,scos为余弦值,||||为取模运算。
[0170]
使用sigmoid等激活函数对余弦值进行激活,得到健康问题信息与健康答案信息之间的预测相似度。
[0171]
在使用sigmoid激活时,预测相似度表示如下:
[0172][0173]
其中,scos

为预测相似度,scos为余弦值。
[0174]
当然,上述计算预测相似度的方法只是作为示例,在实施本实施例时,可以根据实际情况设置其它计算预测相似度的方法,例如,余弦值、欧氏距离,等等,本实施例对此不加以限制。另外,除了上述计算预测相似度的方法外,本领域技术人员还可以根据实际需要采用其它计算预测相似度的方法,本实施例对此也不加以限制。
[0175]
步骤s1062、基于预测相似度与真实相似度计算损失值。
[0176]
针对同一对健康问题信息与健康答案信息,既有已标准的相似度(即真实相似度),由于推理的相似度(即预测相似度),此时,可以将真实相似度与预测相似度代入预设的损失函数中,计算预测相似度与真实相似度之间在某个上的差异,记为损失值loss。
[0177]
示例性地,计算预测相似度与真实相似度之间的均方误差(mse),作为损失值,表示为lmse=||scos'-s||2,其中,lmse为损失值,scos

为预测相似度,s为真实相似度,||||2为均方误差。
[0178]
进一步而言,均方误差又称为二次损失,l2损失(meansquareerror,quadraticloss,l2loss),mse是真实相似度与预测相似度之间距离平方之和。
[0179]
当然,上述损失函数只是作为示例,在实施本实施例时,可以根据实际情况设置其它损失函数,例如,平均绝对误差(mae),等等,本实施例对此不加以限制。另外,除了上述损失函数外,本领域技术人员还可以根据实际需要采用其它损失函数,本实施例对此也不加以限制。
[0180]
步骤s1063、按照损失值更新基于孪生句向量变换器的双向编码器。
[0181]
在sentence-bert中完成正向传播之后,可以对sentence-bert进行反向传播,将损失值代入sgd(stochastic gradient descent,随机梯度下降)、adam(adaptive momentum,自适应动量)等优化算法中,分别计算sentence-bert中参数的梯度,分别按照该梯度更新sentence-bert中的参数。
[0182]
步骤s1064、判断是否满足预设的训练条件;若是,则执行步骤s1065,若否,则返回执行步骤s102至步骤s105。
[0183]
步骤s1065、将基于孪生句向量变换器的双向编码器输出为健康问答模型。
[0184]
在本实施例中,可以预先针对训练sentence-bert设置训练条件,作为停止训练sentence-bert的条件,例如,迭代的次数达到阈值,损失值连续多次的变化幅度小于某个阀值,等等,在每轮迭代训练中,判断是否满足训练条件。
[0185]
如果满足训练条件,则可以认为确认完成训练,将sentence-bert(含参数)输出为sentence-bert。
[0186]
如果未满足训练条件,则可以进入下一轮迭代训练,重新执行步骤s102至步骤s105,如此循环迭代训练,直至满足训练条件。
[0187]
在本实施例中,采集多个样本,每个样本包括健康问题信息,健康答案信息,健康问题信息中包含健康实体词的问题关键词,健康答案信息中包含健康实体词的答案关键词;将健康问题信息与健康答案信息输入基于孪生句向量变换器的双向编码器中初步编码,得到中间层输出的问题中间向量与答案中间向量;将问题中间向量转换为受问题关键词控制的问题关键向量;将答案中间向量转换为受答案关键词控制的答案关键向量;将问题关键向量与答案关键向量输入基于孪生句向量变换器的双向编码器中继续完成编码,得到问题目标向量与答案目标向量;根据问题目标向量与答案目标向量将基于孪生句向量变换器的双向编码器训练为健康问答模型。本实施例通过引入包含健康实体词的问题关键词、答案关键词训练基于孪生句向量变换器的双向编码器,让基于孪生句向量变换器的双向编码器的注意力更加集中到包含健康实体词的问题关键词、答案关键词上,提高了基于孪生句向量变换器的双向编码器在健康领域的适应性,从而提高答案召回的准确率,并且,通过自定义编码问题关键向量、答案关键向量的结构,在更新迭代健康实体词重新训练基于孪生句向量变换器的双向编码器时,可以有效减少标注量,从而降低训练基于孪生句向量变换器的双向编码器的成本,提高训练基于孪生句向量变换器的双向编码器的效率。
[0188]
实施例二
[0189]
图8为本发明实施例二提供的一种健康问答方法的流程图,本实施例可适用于通过在属于sentence-bert的健康问答模型中融入包含健康实体词的关键词、召回答案的情况,该方法可以由健康问答装置来执行,该健康问答模型的训练装置可以采用硬件和/或软件的形式实现,该健康问答装置可配置于电子设备中。如图8所示,该方法包括:
[0190]
步骤s201、加载属于基于孪生句向量变换器的双向编码器的健康问答模型。
[0191]
在实际应用中,可以应用本发明任一实施例所述的健康问答模型的训练方法将sentence-bert训练为健康问答模型,在健康问答模型在性能通过评估时,部署线上运行,此时,可将健康问答模型加载至内存运行。
[0192]
步骤s202、若接收到客户端输入的健康问题信息,则从健康问题信息中提取包括健康实体词的问题关键词。
[0193]
在本实施例中,用户可以使用账号、密码等方式登录客户端,也可以使用临时的身份信息登录客户端,该客户端可以为浏览器、购物应用、即时通讯工具,等等。
[0194]
用户可以通过客户端进入人工客服等系统,输入健康问题信息,在接收到健康问题信息时,可以使用由关键词的词表、实体词的词表建立的字典树从健康问题信息中提取
含健康实体词的关键词,作为问题关键词。
[0195]
步骤s203、将健康问题信息输入健康问答模型中初步编码,得到中间层输出的问题中间向量。
[0196]
在本实施例中,将健康问题信息输入健康问答模型的其中一个通道初步编码,得到健康问答模型的中间层的隐层输出,即,对健康问题信息编码的向量,作为问题中间向量。
[0197]
在具体实现中,将健康问题信息输入预设的第一分词器(如bert-tokenlizer)中进行处理,获得第一数字序列、第一分片序列与第一掩码序列,以满足bert的输入规范。
[0198]
将第一数字序列、第一分片序列与第一掩码序列输入基于健康问答模型的其中一个通道进行初步编码,得到中间层输出的问题中间向量。
[0199]
步骤s204、将问题中间向量转换为受问题关键词控制的问题关键向量。
[0200]
在本实施例中,可以参照问题关键词对问题中间向量进行编码,增加问题关键词对问题中间向量的重要程度,从而将问题中间向量转换为受问题关键词控制的问题关键向量。
[0201]
在本发明的一个实施例中,步骤s204可以包括如下步骤:
[0202]
步骤s2041、将问题中间向量转换为问题查询向量、问题索引向量与问题内容向量。
[0203]
在具体实现中,对问题中间向量生成第一查询矩阵、第一索引矩阵、第一内容矩阵;将问题中间向量分别与第一查询矩阵、第一索引矩阵、第一内容矩阵相乘,得到问题查询向量、问题索引向量与问题内容向量。
[0204]
步骤s2042、对问题关键词进行编码,得到第一词索引向量、第一词内容向量。
[0205]
在具体实现中,将问题关键词输入预设的第二分词器中进行处理,获得第三数字序列、第三分片序列与第三掩码序列;将第三数字序列、第三分片序列与第三掩码序列输入预设的词向量矩阵中进行处理,得到问题关键向量;将问题关键向量输入预设的问题索引矩阵中进行处理,得到第一词索引向量;将第一词索引向量输入预设的问题内容矩阵中进行处理,得到第一词内容向量。
[0206]
步骤s2043、将问题索引向量与第一词索引向量融合为第一目标索引向量。
[0207]
在具体实现中,将第一词索引向量乘以预设的第一超参数,获得第一调权索引向量;将第一调权索引向量与问题索引向量拼接为第一目标索引向量。
[0208]
步骤s2044、将问题内容向量与第一词内容向量融合为第一目标内容向量。
[0209]
在具体实现中,将第一词内容向量乘以预设的第一超参数,获得第一调权内容向量;将第一调权内容向量与问题内容向量拼接为第一目标内容向量。
[0210]
步骤s2045、将问题查询向量、第一目标索引向量与第一目标内容向量输入预设的第一自注意力层进行处理,得到问题候选向量。
[0211]
步骤s2046、从问题候选向量中提取特征,得到问题关键向量。
[0212]
在具体实现中,将问题候选向量输入预设的第一问题全连接层中映射为第一问题特征向量;对第一问题特征向量进行激活;若完成激活第一问题特征向量,则将第一问题特征向量输入预设的第二问题全连接层中映射为第二问题特征向量;对第二问题特征向量进行激活;若完成激活第二问题特征向量,则将第二问题特征向量输入预设的第三问题全连
接层中映射为第三问题特征向量;对第三问题特征向量进行激活,得到问题关键向量。
[0213]
步骤s205、将问题关键向量输入健康问答模型中继续完成编码,得到问题目标向量。
[0214]
将问题关键向量重新输入健康问答模型中继续完成剩余的编码,从而输出问题目标向量。
[0215]
步骤s206、根据问题关键向量与预设的答案关键向量召回用于解答健康问题信息的健康答案信息。
[0216]
在实际应用中,可以应用本发明任一实施例的健康问答模型的训练方法将sentence-bert训练为健康问答模型,在训练完成时,已经将健康问答信息及健康答案信息中包含健康实体词的答案关键词编码为答案关键向量,即,答案关键向量编码自健康问答信息及健康答案信息中包含健康实体词的答案关键词。
[0217]
那么,根据问题目标向量与答案目标向量从所有健康答案信息中召回用于解答当前健康问题信息的健康答案信息。
[0218]
在具体实现中,基于问题关键向量与预设的答案关键向量计算健康问题信息与健康答案信息之间的相似度。
[0219]
示例性地,可以计算问题目标向量与答案目标向量之间的余弦值,使用sigmoid等激活函数对余弦值进行激活,得到健康问题信息与健康答案信息之间的相似度。
[0220]
召回多个相似度最高的健康答案信息,作为用于解答健康问题信息的健康答案信息。
[0221]
步骤s207、将用于解答健康问题信息的健康答案信息推送至客户端进行显示。
[0222]
对于用于解答健康问题信息的健康答案信息,可以按照相似度进行排序,将用于解答当前健康问题信息的健康答案信息推送至客户端,客户端显示用于解答当前健康问题信息的健康答案信息,供用户浏览。
[0223]
在本发明实施例中,由于训练健康问答模型、生成问题关键向量、生成答案关键向量、计算健康问题信息与健康答案信息之间的相似度等过程与实施例一的应用基本相似,所以描述的比较简单,相关之处参见实施例一的部分说明即可,本实施例在此不加以详述。
[0224]
在本实施例中,加载属于基于孪生句向量变换器的双向编码器的健康问答模型;若接收到客户端输入的健康问题信息,则从健康问题信息中提取包括健康实体词的问题关键词;将健康问题信息输入健康问答模型中初步编码,得到中间层输出的问题中间向量;将问题中间向量转换为受问题关键词控制的问题关键向量;将问题关键向量输入健康问答模型中继续完成编码,得到问题目标向量;根据问题关键向量与预设的答案关键向量召回用于解答健康问题信息的健康答案信息,答案关键向量编码自健康问答信息及健康答案信息中包含健康实体词的答案关键词;将用于解答健康问题信息的健康答案信息推送至客户端进行显示。本实施例通过引入包含健康实体词的问题关键词、答案关键词,让健康问答模型的注意力更加集中到包含健康实体词的问题关键词、答案关键词上,提高了基于孪生句向量变换器的双向编码器在健康领域的适应性,从而提高答案召回的准确率。
[0225]
在一项试验中,在不融入包含健康实体词的关键词(即问题关键词、答案关键词)的基础下,得到排序最高的十个健康答案信息,召回率为75%左右,其中有40%的未被召回的健康问题信息中,是因为无法识别包含健康实体词的关键词,融入包含健康实体词的关
键词后,得到排序最高的十个健康答案信息,召回率提高了5.5%。
[0226]
实施例三
[0227]
图9为本发明实施例三提供的一种健康问答模型的训练装置的结构示意图。如图9所示,该装置包括:
[0228]
样本采集模块901,用于采集多个样本,每个所述样本包括健康问题信息,健康答案信息,所述健康问题信息中包含健康实体词的问题关键词,所述健康答案信息中包含健康实体词的答案关键词;
[0229]
初步编码模块902,用于将所述健康问题信息与所述健康答案信息输入基于孪生句向量变换器的双向编码器中初步编码,得到中间层输出的问题中间向量与答案中间向量;
[0230]
问题关键向量转换模块903,用于将所述问题中间向量转换为受所述问题关键词控制的问题关键向量;
[0231]
答案关键向量转换模块904,用于将所述答案中间向量转换为受所述答案关键词控制的答案关键向量;
[0232]
继续编码模块905,用于将所述问题关键向量与所述答案关键向量输入所述基于孪生句向量变换器的双向编码器中继续完成编码,得到问题目标向量与答案目标向量;
[0233]
健康问答模型训练模块906,用于根据所述问题目标向量与所述答案目标向量将所述基于孪生句向量变换器的双向编码器训练为健康问答模型。
[0234]
本发明实施例所提供的健康问答模型的训练装置可执行本发明任意实施例所提供的健康问答模型的训练方法,具备执行健康问答模型的训练方法相应的功能模块和有益效果。
[0235]
实施例四
[0236]
图10为本发明实施例四提供的一种健康问答装置的结构示意图。如图10所示,该装置包括:
[0237]
健康问答模型加载模块1001,用于加载属于基于孪生句向量变换器的双向编码器的健康问答模型;
[0238]
问题关键词提取模块1002,用于若接收到客户端输入的健康问题信息,则从所述健康问题信息中提取包括健康实体词的问题关键词;
[0239]
初步编码模块1003,用于将所述健康问题信息输入所述健康问答模型中初步编码,得到中间层输出的问题中间向量;
[0240]
问题关键向量转换模块1004,用于将所述问题中间向量转换为受所述问题关键词控制的问题关键向量;
[0241]
继续编码模块1005,用于将所述问题关键向量输入所述健康问答模型中继续完成编码,得到问题目标向量;
[0242]
健康答案信息召回模块1006,用于根据所述问题关键向量与预设的答案关键向量召回用于解答所述健康问题信息的所述健康答案信息,所述答案关键向量编码自健康问答信息及所述健康答案信息中包含健康实体词的答案关键词;
[0243]
健康答案信息推送模块1007,用于将用于解答所述健康问题信息的所述健康答案信息推送至所述客户端进行显示。
[0244]
本发明实施例所提供的健康问答装置可执行本发明任意实施例所提供的健康问答方法,具备执行健康问答方法相应的功能模块和有益效果。
[0245]
实施例五
[0246]
图11示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
[0247]
如图11所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(rom)12、随机访问存储器(ram)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序及本发明任一实施例所述的健康问答模型,处理器11可以根据存储在只读存储器(rom)12中的计算机程序或者从存储单元18加载到随机访问存储器(ram)13中的计算机程序及本发明任一实施例所述的健康问答模型,来执行各种适当的动作和处理。在ram13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、rom12以及ram13通过总线14彼此相连。输入/输出(i/o)接口15也连接至总线14。
[0248]
电子设备10中的多个部件连接至i/o接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0249]
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,如健康问答模型的训练方法或健康问答方法。
[0250]
在一些实施例中,健康问答模型的训练方法或健康问答方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由rom12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到ram13并由处理器11执行时,可以执行上文描述的健康问答模型的训练方法或健康问答方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行健康问答模型的训练方法或健康问答方法。
[0251]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至
少一个输出装置。
[0252]
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0253]
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0254]
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0255]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
[0256]
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
[0257]
实施例六
[0258]
本发明实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序及本发明任一实施例所述的健康问答模型,该计算机程序在被处理器执行时实现如本发明任一实施例所提供的健康问答模型的训练方法或健康问答方法。
[0259]
计算机程序产品在实现的过程中,可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言,诸如java、smalltalk、c++,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序
设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0260]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
[0261]
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1