机器辅助对话系统、方法及装置与流程

文档序号:20195917发布日期:2020-03-27 20:09阅读:207来源:国知局
机器辅助对话系统、方法及装置与流程

本公开涉及人工智能领域,具体地涉及机器辅助对话系统、方法及装置。



背景技术:

人机对话具有广泛的应用范畴,包括教育、医疗、统计等等领域。

以医疗领域为例,大量的患者就诊导致医院一直超负荷运行,医生无法及时为病人提供诊断,给就诊人员以效率低下的感觉。在就诊过程中,一方面,患者希望能够得到快速的治疗,以缓解身体的不适症状。然而另一方面,医生需要深入了解患者的病情,才能够给予合理的治疗方案,这就使得医生需要花费大量的时间和患者交流,以引导患者描述自己的病情。

在医生与患者交流病情的过程中,医生只能和一位患者交流,而其他患者需要在诊疗室外面排队等候。



技术实现要素:

根据本公开的一个方面,提供一种机器辅助对话系统,包括:

语义框架装置,配置成提供一个或多个对话主题;

知识库存储器,配置成存储语义知识信息,该语义知识信息包括至少一组内容相关联的字、词、短语、句、段落或其组合;以及,

对话管理装置,配置成:根据该语义框架装置提供的对话主题来主持对话过程,其中该主持对话过程包括基于从该知识库存储器中获取到的语义知识信息生成该一个或多个对话主题中任一个主题的一个或多个问题表达语句,以及,响应于预设的对话结束条件而确定当前的对话主题已完成,结束当前对话主题。

在一些实施例中,主持对话过程包括根据接收到的回答表达语句和从该知识库存储器中获取到的语义知识信息生成下一轮对话的问题表达语句。

在一些实施例中,根据接收到的回答表达语句和从该知识库存储器中获取到的语义知识信息生成下一轮对话的问题表达语句进一步包括:根据接收到的回答表达语句,依据该语义知识信息中的上下文语义和/或句法结构,提取出该回答表达语句中的关键词,并根据该回答表达语句中的关键词以及预设的语句生成模板,生成一个或多个问题表达语句。

在一些实施例中,该对话结束条件包括以下任意一个:

该对话管理装置接收到的回答表达语句中含有预设的结束关键词,

或者含有与该结束关键词符合预设匹配关系的字、词、短语、句或其组合;

或者,该对话管理装置在当前的对话主题下所生成问题表达语句的次数达到了预设值,且已在预设时长内接收到与最新生成的表达语句相应的回答表达语句;

或者,该对话管理装置在当前的对话主题下生成问题表达语句的次数达到了预设值,且在最新的问题表达语句生成并发送后未接收到回答表达语句达到预设的时长;

或者该语义框架装置提供的一个或多个对话主题均已完成;或者未收到任何回答表达语句达预设时间段;

或者连续预设次数未收到与问题表达语句的关键词关联的回答表达语句。

在一些实施例中,该对话主题包括问诊对话主题;该语义知识信息包括医学语义知识信息;该问题表达语句包括问诊语句;该回答表达语句包括作为被问诊者的用户提供的回答表达语句。

在一些实施例中,机器辅助对话系统进一步包括:人机接口,配置成响应于对话管理装置的控制而向用户呈现一个或多个对话主题下的一个或多个问题表达语句,以及从用户收集一个或多个回答表达语句。

在一些实施例中,该对话管理装置进一步包括映射子装置,配置成将回答表达语句中的词映射为对应的术语表述。

在一些实施例中,该映射子装置进一步包括:词向量计算器,配置成计算词语集合中每个词语的词向量,其中,预定的术语表述的集合以及该回答表达语句中的词的集合均是该词语集合的真子集;相似度计算器,配置成:针对该回答表达语句中的词,根据其词向量和该术语表述的集合中所有术语表述的词向量,分别计算该词和每个该术语表述的相似度;以及替换器,配置成响应于计算得到的相似度满足阈值条件,将对应的回答表达语句中的词替换为对应的术语表述。

在一些实施例中,该词向量计算器进一步配置成:设定该词语集合中每个词语表示成一个多维高斯分布,将该多维高斯分布的均值作为该词语的词向量。

在一些实施例中,该词向量计算器进一步配置成通过以下方式计算该词语集合中每个词语的词向量:设定该词语集合中每个词语w表示成一个多维高斯分布f(w)~n(μw,∑w),其中μw和∑w分别是表示词语w的多维高斯分布的均值和协方差,∑w是对角矩阵,

l(w,cp,cn)=max(0,1-s(w,cp)+s(w,cn))(1)

其中,词语cp和词语cn均是该词语集合中的元素,词语cp表示该机器辅助对话系统的所有用户的所有用户的所有回答表达语句中出现在词语w的上下文中的词语,词语cn表示在该机器辅助对话系统的所有回答表达语句中未出现在词语w的上下文中的词语,函数s(.,.)表示相似度计算函数,给定词语w1和w2,则w1和w2之间的相似度计算如下:

其中,tr()表示对矩阵求迹,∑-1表示矩阵的逆,det表示求行列式的值,d表示和μ以及∑无关的常数,

将(2)式代入(1)式,求出l最小时词语w的高斯分布均值μw、词语cp的高斯分布均值cp以及词语cn的高斯分布均值cn,分别作为各个词语w、cp和cn的词向量,重复上述步骤直至得出词语集合中所有词的词向量。

在一些实施例中,该词向量计算器进一步配置成:将词语-词语矩阵分解,至少部分地基于显式语义分析将词语映射到潜在语义空间,得到该词语在该潜在语义空间中的向量以作为该词语的词向量。

在一些实施例中,该词向量计算器进一步配置成:通过以下方式计算该词语集合中每个词语的词向量:

m≈ptw(3)

v={v1,v2,...,vm}表示该词语集合,vi、vj(1≤i,j≤m)表示单个词语,m∈rm×m,表示词语-词语矩阵,mi,j是词语vj在词语vi中的词频-逆文档频率权重,ei,j是词语vi和vj之间的相似度,||·||2f是frobenius范数,α和λ是预先设定的非负参数,p∈rk×m,w∈rk×m,r是实数,根据式(3)和式(4),使用随机梯度下降方法在式(4)取最小的情况下计算出p,从而得到词语vi的词向量pi,词语vj的词向量pj。在一些实施例中,该相似度满足阈值条件包括:该回答表达语句中的词的词向量与该术语表述的词向量的余弦相似度大于或等于预定阈值。

在一些实施例中,该机器辅助对话系统还包括报告生成装置,配置成基于该对话内容和经该映射子装置处理的回答表达语句生成报告。

根据本公开的另一方面,提供一种机器辅助对话方法,用于本公开前述方面的系统,该机器辅助对话方法包括:根据该语义框架装置提供的对话主题来主持对话过程,其中该主持对话过程包括基于从该知识库存储器中获取到的语义知识信息生成该一个或多个对话主题中任一个主题的一个或多个问题表达语句,以及响应于预设的对话结束条件而确定当前的对话主题已完成,结束当前对话主题。

在一些实施例中,该主持对话过程包括基于接收到的回答表达语句生成一个或多个问题表达语句。

在一些实施例中,根据接收到的回答表达语句和从该知识库存储器中获取到的语义知识信息生成下一轮对话的问题表达语句,包括:根据接收到的回答表达语句,依据该语义知识信息中的上下文语义和/或句法结构,提取出该回答表达语句中的关键词,并根据该回答表达语句中的关键词以及预设的语句生成模板,生成一个或多个问题表达语句。

在一些实施例中,该对话结束条件包括以下任意一个:

该对话管理装置接收到的回答表达语句中含有预设的结束关键词,

或者含有与该结束关键词符合预设匹配关系的字、词、短语、句或其组合;

或者,该对话管理装置在当前的对话主题下所生成问题表达语句的次数达到了预设值,且已在预设时长内接收到与最新生成的表达语句相应的回答表达语句;

或者,该对话管理装置在当前的对话主题下生成问题表达语句的次数达到了预设值,且在最新的问题表达语句生成并发送后未接收到回答表达语句达到预设的时长;

或者该语义框架装置提供的一个或多个对话主题均已完成;

或者未收到任何回答表达语句达预设时间段;或者连续预设次数未收到与问题表达语句的关键词关联的回答表达语句。

在一些实施例中,该对话主题包括问诊对话主题;该语义知识信息包括医学语义知识信息;该问题表达语句包括问诊语句;该回答表达语句包括作为被问诊者的用户提供的回答表达语句。

在一些实施例中,该机器辅助对话方法进一步包括:向用户呈现一个或多个对话主题下的一个或多个问题表达语句,以及从用户收集一个或多个回答表达语句。

在一些实施例中,该机器辅助对话方法还包括:将回答表达语句中的词映射为对应的术语表述。

在一些实施例中,该映射进一步包括:计算词语集合中每个词语的词向量,其中,预定的术语表述的集合以及该回答表达语句中的词的集合均是该词语集合的真子集;针对该回答表达语句中的词,根据其词向量和该术语表述的集合中所有术语表述的词向量,分别计算该词和每个该术语表述的相似度;以及响应于计算得到的相似度满足阈值条件,将对应的回答表达语句中的词替换为对应的术语表述。

在一些实施例中,该计算词语集合中每个词语的词向量进一步包括:设定该词语集合中每个词语w表示成一个多维高斯分布f(w)~n(μw,∑w),其中μw和∑w分别是表示词语w的多维高斯分布的均值和协方差,∑w是对角矩阵,

l(w,cp,cn)=max(0,1-s(w,cp)+s(w,cn))(1)

其中,词语cp和词语cn均是该词语集合中的元素,词语cp表示所有用户的所有回答表达语句中出现在词语w的上下文中的词语,词语cn表示所有回答表达语句中未出现在词语w的上下文中的词语,函数s(.,.)表示相似度计算函数,给定词语w1和w2,则w1和w2之间的相似度计算如下:

其中,tr()表示对矩阵求迹,∑-1表示矩阵的逆,det表示求行列式的值,d表示和μ以及∑无关的常数,

将(2)式代入(1)式,使用随机梯度下降方法求出l最小时词语w的高斯分布均值μw、词语cp的高斯分布均值cp以及词语cn的高斯分布均值cn,分别作为各个词语w、cp和cn的词向量,重复上述步骤直至得出词语集合中所有词的词向量。

在一些实施例中,该计算词语集合中每个词语的词向量进一步包括:将词语-词语矩阵分解,至少部分地基于显式语义分析将词语映射到潜在语义空间,得到该词语在该潜在语义空间中的向量以作为该词语的词向量。

在一些实施例中,该计算词语集合中每个词语的词向量进一步包括:

m≈ptw(3)

v={v1,v2,...,vm}表示该词语集合,vi、vj(1≤i,j≤m)表示单个词语,m∈rm×m,表示词语-词语矩阵,mi,j是词语vj在词语vi中的词频-逆文档频率权重,ei,j是词语vi和vj之间的相似度,||·||2f是frobenius范数,α和λ是预先设定的非负参数,p∈rk×m,w∈rk×m,r是实数,根据式(3)和式(4),在式(4)取最小的情况下计算出p,从而得到词语vi的词向量pi,词语vj的词向量pj。

在一些实施例中,该相似度满足阈值条件包括:该回答表达语句中的词的词向量与该术语表述的词向量的余弦相似度大于或等于预定阈值。

在一些实施例中,该的机器辅助对话方法还包括:基于该对话内容和经映射处理的回答表达语句生成报告。

根据本公开的又一方面,提供一种映射装置,用于将表达语句中的词映射为对应语义知识信息的术语表述,包括:词向量计算器,配置成计算词语集合中每个词语的词向量,其中,预定的术语表述的集合以及该回答表达语句中的词的集合均是该词语集合的真子集;相似度计算器,配置成:针对该回答表达语句中的词,根据其词向量和该术语表述的集合中所有术语表述的词向量,分别计算该词和每个该术语表述的相似度;以及替换器,配置成响应于计算得到的相似度满足阈值条件,将对应的回答表达语句中的词替换为对应的术语表述。

在一些实施例中,该词向量计算器进一步配置成:将词语-词语矩阵分解,至少部分地基于显式语义分析将词语映射到潜在语义空间,得到该词语在该潜在语义空间中的向量以作为该词语的词向量。

在一些实施例中,该词向量计算器进一步配置成:通过以下方式计算该词语集合中每个词语的词向量:

m≈ptw(3)

v={v1,v2,...,vm}表示该词语集合,vi、vj(1≤i,j≤m)表示单个词语,m∈rm×m,表示词语-词语矩阵,mi,j是词语vj在词语vi中的词频-逆文档频率权重,ei,j是词语vi和vj之间的相似度,||·||2f是frobenius范数,α和λ是预先设定的非负参数,p∈rk×m,w∈rk×m,r是实数,根据式(3)和式(4),在式(4)取最小的情况下计算出p,从而得到词语vi的词向量pi,词语vj的词向量pj。

在一些实施例中,该相似度满足阈值条件包括:该回答表达语句中的词的词向量与该术语表述的词向量的余弦相似度大于或等于预定阈值。

在一些实施例中,该映射装置进一步配置成基于自然语言处理来识别该回答表达语句中的词。

在一些实施例中,将表达语句中的词映射为对应的术语表述包括如下步骤:计算词语集合中每个词语的词向量,其中,预定的术语表述的集合以及该回答表达语句中的词的集合均是该词语集合的真子集;针对该回答表达语句中的词,根据其词向量和该术语表述的集合中所有术语表述的词向量,分别计算该词和每个该术语表述的相似度;以及响应于计算得到的相似度满足阈值条件,将对应的回答表达语句中的词替换为对应的术语表述。

在一些实施例中,该词向量计算器进一步配置成:将词语-词语矩阵分解,至少部分地基于显式语义分析将词语映射到潜在语义空间,得到该词语在该潜在语义空间中的向量以作为该词语的词向量。

在一些实施例中,该词向量计算器进一步配置成:通过以下方式计算该词语集合中每个词语的词向量:

m≈ptw(3)

v={v1,v2,...,vm}表示该词语集合,vi、vj(1≤i,j≤m)表示单个词语,m∈rm×m,表示词语-词语矩阵,mi,j是词语vj在词语vi中的词频-逆文档频率权重,ei,j是词语vi和vj之间的相似度,||·||2f是frobenius范数,α和λ是预先设定的非负参数,p∈rk×m,w∈rk×m,r是实数,根据式(3)和式(4),在式(4)取最小的情况下计算出p,从而得到词语vi的词向量pi,词语vj的词向量pj。

在一些实施例中,该相似度满足阈值条件包括:该回答表达语句中的词的词向量与该术语表述的词向量的余弦相似度大于或等于预定阈值。

在一些实施例中,该映射方法进一步包括基于自然语言处理来识别该回答表达语句中的词。

根据本公开的另一个方面,提供了一种机器辅助对话装置,包括:i/o接口,用于接收用户输入并向用户提供输出;处理器;以及存储器,其上存储有计算机可执行指令,该指令当在该处理器中执行时使得实现本公开的一个或多个机器辅助对话方法。

根据本公开的再一个方面,提供了一种其上存储计算机可执行指令的计算机可读存储介质,该指令当由计算设备执行时,使得该计算设备实现本公开的一个或多个机器辅助对话方法。

根据本公开的再一方面,提供一种映射装置,包括处理器;存储器,其上存储有计算机可执行指令,该指令当在该处理器中执行时使得实现本公开的一个或多个映射方法。

附图说明

图1示例性地绘出根据本公开一些实施例的机器辅助对话系统的示意图。

图2示例性地绘出根据本公开一些实施例的机器辅助对话系统的对话管理装置的框图。

图3示例性地绘出根据本公开一些实施例的根据所述语义框架装置提供的对话主题来主持对话过程的示意流程图。

图4示例性地绘出根据本公开一些实施例的映射方法的示意流程图。

图5示例性地绘出根据本公开一些实施例的机器辅助对话装置的示意图。

具体实施方式

以下将参照附图更充分地描述本公开实施例,在附图中示出了本公开实施例。然而,可以用很多不同形式来实施本公开,并且本公开不应理解为受限于在此所阐述的实施例。在全文中,使用相似的标号表示相似的元件。

在此所使用的术语仅用于描述特定实施例的目的,而并非意欲限制本公开。如在此所使用的那样,单数形式的“一个”、“这个”意欲同样包括复数形式,除非上下文清楚地另有所指。还应当理解,当在此使用时,术语“包括”指定出现所声明的特征、整体、步骤、操作、元件和/或组件,但并不排除出现或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。

除非另外定义,否则在此所使用的术语(包括技术术语和科学术语)具有与本公开所属领域的普通技术人员所共同理解的相同意义。在此所使用的术语应解释为具有与其在该说明书的上下文以及有关领域中的意义一致的意义,而不能以理想化的或过于正式的意义来解释,除非在此特意如此定义。

在本公开中,“预设”、“预定”等可以是将值、参数等条件预先存储在机器辅助对话系统中,还可以是将一组或多组、参数等条件预先存储在机器辅助对话系统中并在使用时进行选择,还可以是可选择地在使用时将值、参数等条件输入到机器辅助对话系统中,还可以是实时地或定期地更新存储在机器辅助对话系统中的值、参数等条件。

下面将结合附图,参照本公开的实施例描述本公开。

需注意,本公开在预问诊的上下文中进行描述,然而可以设想的是,本公开的实施例不限于应用于预问诊,而是可以应用于通过人机对话收集信息的任何应用场景中。

图1示例性地绘出根据本公开至少一个实施例的机器辅助对话系统的示意图。在所示的机器辅助对话系统100中,包括语义框架装置101、知识库存储器102和对话管理装置103。

其中,语义框架装置101配置成提供一个或多个对话主题。

例如,以医疗领域为例,医生问诊时关注的内容,包括患者姓名,性别,年龄,主诉,现病史,既往史以及过敏史等。

其中,知识库存储器102,配置成存储语义知识信息,所述语义知识信息包括至少一组内容相关联的字、词、短语、句、段落或其组合。

其中,对话管理装置103配置成根据语义框架装置101确定的一个或多个对话主题来主持对话过程。当基于预设的对话结束条件而确定当前的对话主题已完成,则结束当前对话主题,否则需要继续主持对话,将所有的询问和答复信息收集工作完成。

例如,以医疗领域为例,对话过程可以包括询问患者姓名,性别,年龄,主诉,现病史,既往史以及过敏史等,并基于所询问的问题,收集患者的答复信息。

例如,知识库存储器102存储的语义知识信息是医学信息。医学信息例如可以包括各种疾病症状的描述信息、疾病的名称、疾病的病因、疾病的治疗方法、治疗疾病的药物信息等中的至少一种。

对话管理装置103可以根据一个或多个预定对话主题进行询问,对话管理装置103可以从知识库存储器102获取一个或多个预定对话主题的一个或多个问题表达语句进行询问。

在一些实施例中,对话管理装置103可以基于接收到的回答表达语句来生成一个或多个问题表达语句。对话管理装置103可以从知识库存储器102中存储的语义知识信息中找出需要细化的问题内容。

例如,以医学信息至少包括疾病的名称和疾病症状的描述信息为例。当用户输入的主诉是“咳嗽”时,对话管理装置103可以继续问,“何时开始咳嗽的?”、“是否与咳嗽病人有过接触?”,是阵发性还是持续性,有无咳痰表现、白天咳嗽为主还是夜晚咳嗽为主、有无咽痛表现等,从而生成相关对话主题的一个或多个问题表达语句。在一个示例中,对话管理装置103根据接收到的回答表达语句“最近有点咳嗽”,依据所述语义知识信息中的上下文语义和/或句法结构,提取出所述回答表达语句中的关键词“咳嗽”,并根据所述回答表达语句中的关键词“咳嗽”以及预设的语句生成模板,进而生成一个或多个问题表达语句。

本公开实施例的技术方案,借助于知识库存储器中的语义知识信息,可以大大提高机器辅助对话系统的对话效率和对话精细度,从而产生参考价值高的对话记录。

可选地,上述对话结束条件可以是:对话管理装置103接收到的回答表达语句中含有预设的结束关键词,或者含有与所述结束关键词符合预设匹配关系的字、词、短语、句或其组合。

例如,回答表达语句中出现“已经清楚完整的描述了疾病的症状”。

可选地,上述对话结束条件可以是:对话管理装置103在当前的对话主题下所生成问题表达语句的次数达到了预设值,且已在预设时长内接收到与最新生成的表达语句相应的回答表达语句。

例如,在当前的对话主题下,对话管理装置103预设的问题深度为10(即进行10轮对话),回答表达语句针对10轮对话中的每轮的问题均进行了回复。

可选地,上述对话结束条件还可以是:对话管理装置103在当前的对话主题下生成问题表达语句的次数达到了预设值,且在最新的问题表达语句生成并发送后未接收到回答表达语句达到预设的时长。

例如,在当前的对话主题下,对话管理装置103预设的问题深度为10(即进行10轮对话),在最新的问题表达语句生成并发送(即第10轮的问题表达语句)后,未在预设时长,例如2min内,收到针对第10轮的问题表达语句进行回复的回答表达语句。

可选地,上述对话结束条件也可以是:所述语义框架装置提供的一个或多个对话主题均已完成。

例如,语义框架装置提供了三个对话主题,每个对话主题中的每轮问题表达语句均收到了回答。

可选地,上述对话结束条件也可以是:未收到任何回答表达语句达预设时间段。

例如,在当前的对话主题下,对话管理装置103预设的问题深度为10(即进行10轮对话),在第5轮的问题表达语句生成并发送后,未在预设时长,例如3min内,收到针对第10轮的问题表达语句进行回复的回答表达语句,这可能是由于进行多轮对话后问题表达语句的精度和内容超出了当前用户的知识范畴导致其无法回复,或者预设的问题深度过高,当前对话主题无需进行如此多轮对话即已经清楚完整的给出了回答表达语句。

可选地,上述对话结束条件也可以是:连续预设次数未收到与问题表达语句的关键词关联的回答表达语句。

例如,针对多个问题表达语句中的关键词“咳嗽”,多次回答表达语句中的内容是旅游、驾驶、游泳等与咳嗽无关的描述。

在一些实施例中,机器辅助对话系统100还包括人机接口104,人机接口104配置成响应于对话管理装置的控制而向用户呈现基于所述对话主题下的一个或多个问题表达语句,并收集回答表达语句。

例如,呈现问题表达语句可以是以语音的形式,或界面显示的形式,或语音结合界面显示的形式等等。

例如,收集回答表达语句可以是通过识别用户的语音输入,或者用户在显示界面上的输入,或者上述二者的结合的方式等来进行。

例如,显示界面上的输入可以是对选项的选择,例如通过选择“男”或“女”来输入性别,也可以是文字输入,例如通过语音回复“男”或“女”,在此不做限定。

在一些实施例中,机器辅助对话系统100还包括报告生成装置105,配置成基于对话内容和回答表达语句生成报告。该报告可以包括语义框架装置101确定的一个或多个对话主题。

以医学对话主题为例,所述报告可以包括例如患者姓名,性别,年龄,主诉,现病史,既往史以及过敏史等,以及用户针对这些问题内容提供的输入。所生成的报告可以打印出来和/或发送到医生的医疗信息系统中。

例如,在一个医学对话主题中,生成的报告如下:

性别:女

年龄:18

主诉:咳嗽一天,咳嗽呈阵发性、连生性,以夜晚咳嗽为主,无咳痰。

通过生成和/或打印报告,可以辅助医生进行诊断,提高就诊流程的效率。

图2示例性地绘出根据本公开一些实施例的机器辅助对话系统的对话管理装置的框图。

如图1所示的对话管理装置103,进一步包括映射子装置1031,配置成将回答表达语句中的词映射为对应语义知识信息的术语表述。

容易理解,在机器辅助对话工作过程中,用户,例如患者,其给出的回复可能是口语化的,而非专业的科学术语描述,这可能影响对话记录或者报告的可读性或专业性,因此,映射为对应语义知识信息的术语表述可以解决或改善这个问题。

具体地,映射子装置1031进一步包括:词向量计算器10311、相似度计算器10312和替换器10313。其中词向量计算器10311配置成计算词语集合中每个词语的词向量,其中,词语集合包括预定的术语表述的集合以及机器辅助对话系统所服务的用户的答复中的词的集合。相似度计算器10312配置成:针对所述回答表达语句中的词,根据其词向量和所述术语表述的集合中所有术语表述的词向量,分别计算该词和每个所述术语表述的相似度。替换器10313,配置成响应于计算得到的相似度满足阈值条件,将对应的回答表达语句中的词替换为对应语义知识信息的术语表述。

在一些实施例中,映射子装置1031进一步包括自然语言处理器10314,配置成基于自然语言处理来识别回答表达语句中的词。例如可以通过基于词干提取(stemming)或词形还原(lemmatisation)的方法进行英文分词,例如可以通过机械分词算法(基于字符串匹配的分词方法)、基于n元语法的统计分词算法、基于隐马尔可夫模型的分词算法、基于条件随机场的分词算法等方法进行中文分词等,以便将多个词汇组成的序列切分成一个一个单独的词。

例如,将“我拉肚子厉害”划分成“我”、“拉肚子”和“厉害”三个词。当然,除了该示例,可以采用本领域任何其他适当的方式对回答表达语句中的句子进行划分,识别成各个词,例如基于上下文以及数据库匹配来识别。在此不做限定。

在一个示例中,可以对所有识别出来的词进行筛选,将口语表述筛选出来,例如上句中的“拉肚子”,只对该词的词向量进行映射处理。

在一个示例中,可以不做任何筛选,对所有识别出来的词进行映射处理,当然,有些词例如“我”并没有相似度高的专业术语,则该词映射处理的结果可以是不做任何替换。

关于词向量的计算方式,在本公开的一个实施例中,设定词语集合中每个词语表示成一个多维高斯分布,将该多维高斯分布的均值作为该词语的词向量。

例如,设定词语集合中每个词语w表示成一个多维高斯分布f(w)~n(μw,∑w),其中μw和∑w分别是表示词语w的多维高斯分布的均值和协方差,为了简化模型和运算,∑w是对角矩阵。需要对每个词语对应的多位高斯分布的均值和方差求解。本公开采用的是对目标函数应用随机梯度下降方法来求解。这里将损失函数定义为目标函数。损失函数l(.,.,.)表达如下:

l(w,cp,cn)=max(0,1-s(w,cp)+s(w,cn))(1)

其中,词语cp和词语cn均是词语集合中的元素,词语cp表示机器辅助对话系统100的所有用户的所有回答表达语句中出现在词语w的上下文中的词语,词语cn表示在所述机器辅助对话系统的所有回答表达语句中未出现在词语w的上下文中的词语,函数s(.,.)表示相似度计算函数,给定词语w1和w2,则w1和w2之间的相似度计算如下:

其中,tr()表示对矩阵求迹,∑-1表示矩阵的逆,det表示求行列式的值,d表示和μ以及∑无关的常数,

通过设计最优化损失函数l(.,.,.),使得出现在w上下文中的词语和w的相似度至少要比没有出现在w上下文中的词语和w的相似度要高。

将(2)式代入(1)式,求出(例如使用随机梯度下降方法)l最小时词语w的高斯分布均值μw、词语cp的高斯分布均值cp以及词语cn的高斯分布均值cn,分别作为各个词语w、cp和cn的词向量,重复上述步骤直至得出词语集合中所有词的词向量。

在本公开的实施例中,词向量的计算所依托的数据样本是机器辅助对话系统100所收到的所有回答表达语句。容易理解,需要有一定累计量的回答表达语句作为数据样本,越大量越好。系统100初期可以预存一些系统测试得到的回答表达语句作为该样本或者通过相关领域的技术专家选择的回答表达语句作为该样本。随着系统的使用,样本得到扩充。设定预定的术语表述也包含在该样本中。

关于词向量的计算方式,在本公开的另一个实施例中,将词语-词语矩阵分解,至少部分地基于显式语义分析将词语映射到潜在语义空间,得到该词语在该潜在语义空间中的向量以作为该词语的词向量。显式语义分析(explicitsemanticanalysis,简称esa)通过将词语映射到一个高维的语义概念空间上,每个单词的语义表示是一个高维向量,而对应的每一个维就是语义概念空间中的概念(concept)。esa方法通过比较与词相关的维基文档的权重向量来计算相似度。

以维基百科作为高维语义概念空间为例,每个维基百科中的概念都由出现在这个文章中的词向量来表示,向量的矢量是通过tf-idf(termfrequency-inversedocumentfrequency,词频-逆文件频率)模型得出的权值,这些权值表明了词和概念之间联系的紧密度。

容易理解,高维语义概念空间并不仅限于维基百科,诸如百度百科、互动百科、wolfram|alpha等知识库均可适用。

本公开的一个实施例应用esa方法进行词语的映射,其具体过程为:

以矩阵m表示词语-词语矩阵,矩阵m可以分解为两个k阶矩阵的乘积如下:

m≈ptw(3)

m∈rm×m,mi,j是词语vj在词语vi中的tf-idf(词频-逆文档频率)权重,矩阵p中的第i列是第i个词语在潜在语义空间中的向量表示。p∈rk×m,w∈rk×m,设计如下目标函数来求p和w:

其中v={v1,v2,...,vm}表示所述词语集合,vi、vj(1≤i,j≤m)表示单个词语,ei,j是词语vi和vj之间的相似度(例如基于维基百科的相似度等),||·||2f是frobenius范数,α和λ是预先设定的非负参数,α用于控制显式语义分析结果重要度,λ用来控制p和w的大小。||p||f2+||w||f2用来避免过拟合,p∈rk×m,w∈rk×m,r是实数,根据式(3)和式(4),(使用随机梯度下降方法)在式(2)取最小的情况下计算出p,从而得到词语vi的词向量pi,词语vj的词向量pj。

具体计算p时需先将式(2)对p和w求偏导数:

基于式子(5)和(6),使用随机梯度下降方法可求得p,即各词语在潜在语义空间中的向量表示。

通过上述方法获取词语的向量,词语vi的词向量为pi,vj的词向量为pi,如果vi和vj这两个词的词向量的相似度pitpi≥δ(δ是预先设定的阈值),则认为vi和vj表达相同的意思。这样就可以把回答表达语句中的口语表述vi替换成术语表述vj。

在本公开的实施例中,描述了使用随机梯度下降sgd的方法进行求解,这仅是示意性的,其他的通过迭代求解方法,例如批量梯度下降bgd、小批量梯度下降mbgd、共轭梯度法、拟牛顿法亦可适用于本公开。

其中,计算相似度时,可采用cosine、cityblock、euclidean、mahalanobis、minkowski、chebychev等各种相似度计算方法。

在本公开的一个实施例中,vi和vj这两个词的词向量的相似度采用cosine相似度。

在本公开的实施例中,使用了词向量计算器、相似度计算器、替换器、自然语言处理器等概念,这些功能模块是功能实体,不一定必须与物理或逻辑上独立的实体相对应。对于这些功能实体的实现,即可以采用处理器可以通过运行软件以执行计算机指令的形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中可编程地实现这些功能实体。

通过上述公开的映射方法,有助于提高对话记录的可读性和专业性。

如上所示,本公开的实施例以在机器辅助对话系统中使用的映射子装置说明了其在机器辅助对话中实现口语与术语的转换,容易理解,其并不限于上述所描述的具体用途,还可以广泛的适用于各种人机对话应用(例如语言翻译、医疗问诊、虚拟助手等)中。

相应的,本公开的实施例还提供了一种映射装置,用于在人机对话过程中将口语转换为术语(书面语言,包括对应于人机对话场景的术语的语义知识信息的知识库,该知识库中可包含至少一组与人机对话场景内容相关联的字、词、短语、句、段落或其组合),以准确和清晰的理解用户的意图。

该映射装置的逻辑结构设计可参考上述的映射子装置1031所描述。

该映射装置的物理实体结构设计可参考附图5所示。

在本公开的实施例中,使用了装置、子装置等(语义框架装置、知识库存储器、对话管理装置、映射子装置等)概念,这些功能模块是功能实体,不一定必须与物理或逻辑上独立的实体相对应。对于这些功能实体的实现,即可以采用处理器可以通过运行软件以执行计算机指令的形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中可编程地实现这些功能实体。

相应的,本公开的实施例还提供了一种映射方法,用于在人机对话过程中将口语转换为术语(书面语言,包括对应于人机对话场景的术语的语义知识信息的知识库,该知识库中可包含至少一组与人机对话场景内容相关联的字、词、短语、句、段落或其组合),以准确和清晰的理解用户的意图。

该映射方法的工作流程可参考上述的映射子装置1031的工作流程所描述。

图3示例性地绘出根据本公开一个实施例的根据所述语义框架装置提供的对话主题来主持对话过程300的示意流程图。该机器辅助对话方法采用如图1所描述的机器辅助对话装置。该方法包括:在步骤300,根据所述语义框架装置提供的对话主题来主持对话过程。在步骤301中,基于从所述知识库存储器中获取到的语义知识信息生成所述一个或多个对话主题中任一个主题的一个或多个问题表达语句。在步骤302中,根据接收到的回答表达语句和从所述知识库存储器中获取到的语义知识信息生成下一轮对话的问题表达语句。

在一些实施例中,在步骤302的子步骤3021,根据接收到的回答表达语句,依据所述语义知识信息中的上下文语义和/或句法结构,提取出所述回答表达语句中的关键词。

在一些实施例中,在步骤302的子步骤3022,根据所述回答表达语句中的关键词以及预设的语句生成模板,生成一个或多个问题表达语句。

在一些实施例中,可以根据知识库存储器102中的语义知识信息细化对话过程。

例如,该语义知识信息是医学信息,当用户输入的主诉是“咳嗽”时,则可以从知识库存储器102中存储的信息中找出需要细化的问诊内容,例如与咳嗽相关的语义知识是咳嗽的临床表现包括咳嗽是阵发性还是持续性,有无咳痰表现、白天咳嗽为主还是夜晚咳嗽为主、有无咽痛表现等,则可以根据这些信息生成相关的问题表达语句。

通过借助于知识库存储器102中的语义知识信息,可显著提高机器辅助对话方法的对话精细度,同时可能降低用户的对话难度,从而产生参考价值高的对话记录。

在步骤303中,向用户呈现基于所述对话内容的问题,并收集回答表达语句。该呈现可以是以语音的形式,或界面显示的形式,或语音结合界面显示的形式等等。该收集可以是通过识别用户的语音输入,或者用户在显示界面上的输入,或者上述二者的结合的方式等来进行。显示界面上的输入可以是对选项的选择,例如通过选择“男”或“女”来输入性别,也可以是文字输入,在此不做限定。

在一些实施例中,在步骤304中,基于自然语言处理来识别回答表达语句中的词,以便例如将“我拉肚子厉害”划分成“我”、“拉肚子”和“厉害”三个词。当然,除了该示例,可以采用本领域任何其他适当的方式对回答表达语句中的句子进行划分,识别成各个词,例如基于上下文以及数据库匹配来识别。在此不做限定。在一个示例中,可以对所有识别出来的词进行筛选,将口语表述筛选出来,例如上句中的“拉肚子”,只对该词的词向量进行映射处理。在一个示例中,可以不做任何筛选,对所有识别出来的词进行映射处理,当然,有些词例如“我”并没有相似度高的专业术语,则该词映射处理的结果可以是不做任何替换。

在一些实施例中,在步骤305中,将回答表达语句中的词映射为对应的术语表述。从而将用户在回答表达语句中的非专业表述,例如口语,转换为专业的术语表达,以提高对话记录或者报告的可读性或专业性。

在步骤306中,响应于预设的对话结束条件而确定当前的对话主题已完成,结束当前对话主题。

例如,上述对话结束条件可以是:对话管理装置103接收到的回答表达语句中含有预设的结束关键词,或者含有与所述结束关键词符合预设匹配关系的字、词、短语、句或其组合。

例如,上述对话结束条件可以是:对话管理装置103在当前的对话主题下所生成问题表达语句的次数达到了预设值,且已在预设时长内接收到与最新生成的表达语句相应的回答表达语句。

例如,上述对话结束条件还可以是:对话管理装置103在当前的对话主题下生成问题表达语句的次数达到了预设值,且在最新的问题表达语句生成并发送后未接收到回答表达语句达到预设的时长。

例如,上述对话结束条件也可以是:所述语义框架装置提供的一个或多个对话主题均已完成。

例如,上述对话结束条件也可以是:未收到任何回答表达语句达预设时间段。

例如,上述对话结束条件也可以是:连续预设次数未收到与问题表达语句的关键词关联的回答表达语句。

在一些实施例中,在步骤307中,基于对话内容和回答表达语句生成报告。该报告可以包括确定的一个或多个对话主题,

以问诊为例,所述报告可以包括例如患者姓名,性别,年龄,主诉,现病史,既往史以及过敏史等,以及用户针对这些问题提供的回答。所生成的报告可以打印出来和/或发送到医生的医疗信息系统中。

例如,在一个医学对话主题中,生成的报告如下:

性别:女

年龄:18

主诉:咳嗽一天,咳嗽呈阵发性、连生性,以夜晚咳嗽为主,无咳痰。

通过生成和/或打印报告,可以辅助医生进行诊断,提高就诊流程的效率。

图4示例性地绘出根据本公开一个实施例的映射方法的示意流程图。在步骤401中,计算词语集合中每个词语的词向量,其中,词语集合包括预定的术语表述的集合以及机器辅助对话系统所服务的用户的答复中的词的集合。在步骤402中,针对所述回答表达语句中的词,根据其词向量和所述术语表述的集合中所有术语表述的词向量,分别计算该词和每个所述术语表述的相似度。在步骤403中,响应于计算得到的相似度满足阈值条件,将对应的回答表达语句中的词替换为对应语义知识信息的术语表述。

在一个实施例中,本公开采用的是相似度是词向量的余弦(cosine)相似度。其它的相似度计算方法也可适用于本公开的实施例,例如cityblock、euclidean、mahalanobis、minkowski、chebychev等相似度计算方法。

词语vi的词向量为pi,vj的词向量为pi,如果vi和vj这两个词的词向量的相似度pitpi≥δ(δ是预先设定的阈值),则认为vi和vj表达相同的意思。这样就可以把回答表达语句中的口语表述vi替换成术语表述vj。关于词向量的计算方式,在上面结合图2已经做了详细的描述,在此不做赘述。

通过这种方式,有助于提高对话记录的可读性和专业性。

将明白和意识到:在此描述的主题的各方面并不受所示的动作的限制和/或并不受动作的顺序的限制。在一些实施例中,这些动作按照一种顺序发生。然而,在其他实施例中,这些动作可以并行发生、按照另一顺序发生和/或与在此没有呈现和描述的其他动作一起发生。此外,并不是所有示出的动作都是实现根据在此描述的主题的各方面的方法所需要的。此外,本领域技术人员将明白和意识到:该方法能够或者经由状态图表示为一系列相关的状态或表示为事件。

图5示例性地绘出根据本公开另一个实施例的机器辅助对话系统的示意图,其包括代表可以实现本文描述的各种技术的一个或多个系统和/或设备的示例计算设备500。计算设备500可以是例如终端设备、片上系统、和/或任何其它合适的计算设备或计算系统。

如图示的示例计算设备500包括彼此通信耦合的处理器件501、存储器件502。

进一步的,还可以包括i/o(输入/输出)接口。

尽管未示出,但是计算设备500还可以包括系统总线或其他数据和命令传送系统,其将各种组件彼此耦合。系统总线可以包括不同总线结构的任何一个或组合,所述总线结构诸如存储器总线或存储器控制器、外围总线、通用串行总线、和/或利用各种总线架构中的任何一种的处理器或局部总线。还构思了各种其他示例,诸如控制和数据线。

处理器件501代表使用硬件执行一个或多个操作的功能。因此,处理器件501包括一个或多个处理器5011。处理器5011可以是中央处理器(cpu)或者现场可编程逻辑阵列(fpga)或者单片机(mcu)或者数字信号处理器(dsp)或者专用集成电路(asic)等具有数据处理能力和/或程序执行能力的逻辑运算器件。

在本公开的实施例中,处理器5011不受其形成的材料或其中采用的处理机构的限制。例如,处理器可以由(多个)半导体和/或晶体管(例如,电子集成电路(ic))组成。

在本公开的实施例中,存储器件502被图示为包括一个或多个存储器/存储装置5021。存储器/存储装置5021表示与一个或多个计算机可读介质相关联的存储器/存储容量。存储器/存储装置5021可以包括易失性介质(诸如随机存取存储器(ram))和/或非易失性介质(诸如只读存储器(rom)、闪存、光盘、磁盘等)。存储器/存储装置5021可以包括固定介质(例如,ram、rom、固定硬盘驱动器等)以及可移动介质(例如,闪存、可移动硬盘驱动器、光盘等)。

存储器件502并非限制于上述实施例所描述的。其它类型的存储器件502的实现结构,例如基于云计算环境提供的虚拟存储资源,也可以适用于本公开的实施例。

在本公开的实施例中,i/o接口代表允许用户向计算设备500键入命令和信息并且还允许使用各种输入/输出设备将信息呈现给用户和/或其他组件或设备的功能。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风(例如,用于语音输入)、扫描仪、触摸功能(例如,被配置为检测物理触摸的容性或其他传感器)、相机(例如,可以采用可见或不可见的波长(诸如红外频率)将不涉及触摸的运动检测为手势)等等。输出设备的示例包括显示设备(例如,显示器或投影仪)、扬声器、打印机、网卡、无线网卡、蓝牙模组、触觉响应设备等。因此,计算设备500可以以下面进一步描述的各种方式进行配置以支持用户交互。

本文可以在软件硬件元件或程序模块的一般上下文中描述各种技术。一般地,这些模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元素、组件、数据结构等。本文所使用的术语“模块”,“功能”和“组件”一般表示软件、固件、硬件或其组合。本文描述的技术的特征是与平台无关的,意味着这些技术可以在具有各种处理器的各种计算平台上实现。

所描述的模块和技术的实现可以存储在某种形式的计算机可读介质上或者跨某种形式的计算机可读介质传输。计算机可读介质可以包括可由计算设备500访问的各种介质。作为示例而非限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。

与单纯的信号传输、载波或信号本身相反,“计算机可读存储介质”是指能够持久存储信息的介质和/或设备,和/或有形的存储装置。因此,计算机可读存储介质是指非信号承载介质。计算机可读存储介质包括诸如易失性和非易失性、可移动和不可移动介质和/或以适用于存储信息(诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其他数据)的方法或技术实现的存储设备之类的硬件。计算机可读存储介质的示例可以包括但不限于ram、rom、eeprom、闪存或其它存储器技术、cd-rom、数字通用盘(dvd)或其他光学存储装置、硬盘、盒式磁带、磁带,磁盘存储装置或其他磁存储设备,或其他存储设备、有形介质或适于存储期望信息并可以由计算机访问的制品。

“计算机可读信号介质”是指被配置为诸如经由网络将指令发送到计算设备500的硬件的信号承载介质。信号介质典型地可以将计算机可读指令、数据结构、程序模块或其他数据体现在诸如载波、数据信号或其它传输机制的调制数据信号中。信号介质还包括任何信息传递介质。术语“调制数据信号”是指以这样的方式对信号中的信息进行编码来设置或改变其特征中的一个或多个的信号。作为示例而非限制,通信介质包括诸如有线网络或直接连线的有线介质以及诸如声、rf、红外和其它无线介质的无线介质。

前述的组合也可以用于实现本文所述的各种技术和模块。因此,可以将软件、硬件或程序模块和其它程序模块实现为在某种形式的计算机可读存储介质上和/或由一个或多个处理器5011体现的一个或多个指令和/或逻辑。计算设备500可以被配置为实现与软件和/或硬件模块相对应的特定指令和/或功能。

本文描述的技术可以由计算设备500的这些各种配置成支持,并且不限于本文所描述的技术的具体示例。所述处理器件501和存储器件502还可以通过使用分布式系统在“云”上全部或部分地实现。

基于上述的计算设备,本公开的实施例还提供了一种机器辅助对话装置,包括:i/o接口,用于接收输入并提供输出;处理器;以及存储器,其上存储有计算机可执行指令,所述指令当在所述处理器中执行时使得实现如根据图3和/或4所描述的方法。

本公开的实施例还提供了一种其上存储计算机可执行指令的计算机可读存储介质,所述指令当由计算设备执行时,使得所述计算设备实现如根据图3和/或4所描述的方法。

在本文的讨论中,描述了各种不同的实施例。应当领会和理解,本文描述的每个实施例可以单独使用或与本文所述的一个或多个其他实施例相关联地使用。

根据本公开的实施例,在预问诊的情形下,能够帮助医生提前获取患者的病情,优化患者的就医流程,提高对话记录的可读性和专业性,提高医生的诊断效率。

虽然已经结合具体实施例描述了本公开,但是本领域技术人员将理解,可以做出许多改变和修改,并且可以对其元件进行等效替换,而不背离本公开的真正范围。此外,可以做出许多修改来使本公开的教导与特定情况适配,而不背离其中心范围。因此,本公开并不限于这里作为实现本公开而构思的最佳模式而公开的特定实施例,相反本公开包括落入所附权利要求书范围内的所有实施例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1