一种问答系统评价方法和装置与流程

文档序号:15797640发布日期:2018-11-02 21:11阅读:169来源:国知局
一种问答系统评价方法和装置与流程
本发明涉及计算机领域,尤其涉及一种问答系统评价方法、装置、电子设备和可读存储介质。
背景技术
在人机交互过程中通常需要使用问答系统(questionanswersystem,qa)。问答系统又称人机对话系统(human-machineconversation,hmc),是指这样的一个机器系统:能够对于用户通过自然语言输入的问句,给出简洁、准确、人性化的回答,这种回答通常是指一小段文本。现有的问答系统,大致可以分为:聊天机器人、基于知识库的问答系统、问答式检索系统、基于自由文本的问答系统等。基于知识库的问答系统为拥有一个或多个知识库,并利用检索、推理等技术,来理解与求解用户问题的问答系统,也被称为基于知识库的智能问答系统。在对基于知识库的智能问答系统进行评价时,准确率、召回率是目前广泛应用于问答系统的两个度量值,用来评价问答系统的质量。其中准确率是回答正确问题数与回答上的问题总数的比率,衡量的是问答系统的查准率;召回率是指回答正确问题数和测试集中所有正确回答问题数的比率,衡量的是问答系统的查全率。其定义为:正确率=回答正确问题条数/回答上的问题总数召回率=回答正确问题条数/测试集中所有正确回答问题数其中,两者取值在0和1之间,数值越接近1,查准率或查全率就越高。现有技术中的问答系统评价方法主要有人工标注和用户评价两种,其中,人工标注的步骤为:1.通过网络搜索或聊天记录提取等方式,生成待测试集;2.利用问答系统回答测试问题集中的问题,将答案附加到对应问题后,形成待标注数据;3.标注人员对步骤2中生成的待标注数据进行判别,标注每个答案为正确或错误;4.利用步骤3中的数据计算准确率和召回率。用户评价系统的步骤为:1.用户使用问答系统进行提问;2.展示完问题后,向用户发送评价邀请,由其选择问题答案是否正确;3.若步骤2中用户进行了选择,则将本次会话和用户选择进行记录;4.利用步骤3中的数据计算准确率和召回率。现有技术的方案中存在如下缺点:1.在每次知识库调整后均需重新生成测试集;2.标注人员在短时间内处理大量数据,可能因个人主观意图等因素引入错误;3.邀评场景可能存在多轮问答,无法准确判断用户的评价针对哪个问答对;4.邀评用户可能因个人主观意图、情绪因素等对问答效果进行错误评判;5.仅判断问题和答案,无法排除由于知识库编写质量较差而导致不匹配的情况,给问答系统的评测带来额外因素。技术实现要素:有鉴于此,本发明实施例提供一种问答系统评价方法、装置、电子设备和可读存储介质,能够提供一种更节省人工、准确率更高的测试集生成方式;排除由于知识库编写质量造成的评测异常;并且测试集可随时、自动地更新,并能被应用于现有的问答系统评价体系中。为实现上述目的,根据本发明实施例的一个方面,提供了一种问答系统评价方法。本发明实施例一种问答系统评价方法包括:根据用户输入,通过邀评概率计算搜集测试语料;利用所述测试语料,通过聚类对问答系统进行测试;根据测试结果更新知识库。可选地,根据用户输入,通过邀评概率计算搜集测试语料包括:接收用户从问答系统人机界面输入的第一问题,并将所述第一问题通过测试数据生成系统转发至问答系统;从所述问答系统获取对应于所述第一问题的第二问题和答案,对所述第二问题进行所述邀评概率计算;如果邀评概率小于阈值,则将所述第二问题和答案返回给所述问答系统人机界面进行展示,并且测试语料搜集过程结束;否则从测试语料库中随机抽取与所述第一问题相似而与所述第二问题不同的一个或多个问题,将所述一个或多个问题与所述第二问题进行乱序排列,以获得第三问题,将所述第三问题返回给所述问答系统人机界面进行展示;将用户在所述问答系统人机界面上的操作结果反馈给测试数据生成系统,以更新所述测试语料库。可选地,将用户在所述问答系统人机界面上的操作结果反馈给测试数据生成系统,以更新所述测试语料库包括:若用户点击某个具体问题,且用户点击的问题为所述第二问题,则将所述第一问题、所述第二问题存入测试语料库,记为匹配正确;向问答系统人机问答系统人机界面返回与所述第二问题对应的答案以进行展示;若用户点击某个具体问题,且用户点击的问题不为所述第二问题,则将所述第一问题、所述第二问题存入测试语料库,记为匹配错误;同时将所述第一问题、用户点击的问题也存入测试语料库,记为匹配正确;向问答系统人机问答系统人机界面返回用户点击问题的答案以进行展示;若用户输入新的问题或用户未进行任何操作,则将所述第一问题、所述第二问题存入测试语料库,记为匹配错误。可选地,通过以下公式进行所述邀评概率计算:ο=ν(s)*ν(a)*ν(c)*ν(e)*ν(q)其中:n(x)为符合正态分布的函数,其值为非负,且在x=0时最大,在x=1时最小;s为所述第一问题和所述第二问题的相似度,其值为[0-1],值越大则表示两个问题越相似;a为所述第一问题和所述第二问题在测试语料库中的正确率,其值为[0-1],值越大则表示正确率越高;c为该用户近期被邀评的次数,其值为[0-1],值越大则表示该用户近期被邀评的次数越多;q为所述第一问题近期被邀评的次数,其值为[0-1],值越大则表示该问题近期被邀评的次数越多。可选地,利用测试语料,通过聚类对问答系统进行测试包括:从测试语料库的标注问答集中抽取满足导出条件的语料集;对所述语料集按照用户的问题进行聚类;对每一个聚类结果,再按照与所述问题对应的答案进行二次聚类;对每一个二次聚类的结果,统计被标注为正确的记录占二次聚类结果的记录总数的比例,若所述比例大于预定值则将二次聚类结果标记为正确,否则标记为错误;若与所述问题对应的答案为空,或者二次聚类结果的记录总数小于预定值,则忽略所述二次聚类结果;对二次聚类结果计算准确率和召回率。可选地,所述问答系统评价方法还包括:在所述问答系统首次运行或发生重大修改以及所述知识库被重置后,对测试语料库进行初始化为实现上述目的,根据本发明实施例的另一方面,提供了一种问答系统评价装置。本发明的一种问答系统评价装置包括:搜集模块,用于根据用户输入,通过邀评概率计算搜集测试语料;测试模块,用于利用所述测试语料,通过聚类对问答系统进行测试;更新模块,用于根据测试结果更新知识库。可选地,所述搜集模块还用于:接收用户从问答系统人机界面输入的第一问题,并将所述第一问题通过测试数据生成系统转发至问答系统;从所述问答系统获取对应于所述第一问题的第二问题和答案,对所述第二问题进行所述邀评概率计算;如果邀评概率小于阈值,则将所述第二问题和答案返回给所述问答系统人机界面进行展示,并且测试语料搜集过程结束;否则从测试语料库中随机抽取与所述第一问题相似而与所述第二问题不同的一个或多个问题,将所述一个或多个问题与所述第二问题进行乱序排列,以获得第三问题,将所述第三问题返回给所述问答系统人机界面进行展示;将用户在所述问答系统人机界面上的操作结果反馈给测试数据生成系统,以更新所述测试语料库。可选地,所述搜集模块还用于:若用户点击某个具体问题,且用户点击的问题为所述第二问题,则将所述第一问题、所述第二问题存入测试语料库,记为匹配正确;向问答系统人机问答系统人机界面返回与所述第二问题对应的答案以进行展示;若用户点击某个具体问题,且用户点击的问题不为所述第二问题,则将所述第一问题、所述第二问题存入测试语料库,记为匹配错误;同时将所述第一问题、用户点击的问题也存入测试语料库,记为匹配正确;向问答系统人机问答系统人机界面返回用户点击问题的答案以进行展示;若用户输入新的问题或用户未进行任何操作,则将所述第一问题、所述第二问题存入测试语料库,记为匹配错误。可选地,通过以下公式进行所述邀评概率计算:ο=ν(s)*ν(a)*ν(c)*ν(e)*ν(q)其中:n(x)为符合正态分布的函数,其值为非负,且在x=0时最大,在x=1时最小;s为所述第一问题和所述第二问题的相似度,其值为[0-1],值越大则表示两个问题越相似;a为所述第一问题和所述第二问题在测试语料库中的正确率,其值为[0-1],值越大则表示正确率越高;c为该用户近期被邀评的次数,其值为[0-1],值越大则表示该用户近期被邀评的次数越多;q为所述第一问题近期被邀评的次数,其值为[0-1],值越大则表示该问题近期被邀评的次数越多。可选地,所述测试模块还用于:从测试语料库的标注问答集中抽取满足导出条件的语料集;对所述语料集按照用户的问题进行聚类;对每一个聚类结果,再按照与所述问题对应的答案进行二次聚类;对每一个二次聚类的结果,统计被标注为正确的记录占二次聚类结果的记录总数的比例,若所述比例大于预定值则将二次聚类结果标记为正确,否则标记为错误;若与所述问题对应的答案为空,或者二次聚类结果的记录总数小于预定值,则忽略所述二次聚类结果;对二次聚类结果计算准确率和召回率。可选地,所述问答系统评价装置还包括:初始化模块,用于在所述问答系统首次运行或发生重大修改以及所述知识库被重置后,对测试语料库进行初始化为实现上述目的,根据本发明实施例的再一方面,提供了一种实现问答系统评价方法的电子设备。本发明实施例的一种电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的问答系统评价方法。为实现上述目的,根据本发明实施例的又一方面,提供了一种计算机可读介质。本发明实施例的一种计算机可读介质存储计算机程序,所述计算机程序被处理器执行时实现本发明实施例的问答系统评价方法。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明附图用于更好地理解本发明,不构成对本发明的不当限定。其中:图1是根据本发明实施例的问答系统评价方法的主要步骤的示意图;图2是根据本发明实施例的问答系统评价方法的实现框架的示意图;图3是根据本发明实施例的问答系统评价方法中的测试语料搜集流程图;图4是根据本发明实施例的问答系统评价装置的示意图;图5是实现本发明实施例的问答系统评价方法的电子设备的计算机系统的结构示意图。具体实施方式以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。图1是根据本发明实施例的问答系统评价方法的主要步骤的示意图。如图1所示,本发明实施例的一种问答系统评价方法主要包括如下步骤:步骤s10:根据用户输入,通过邀评概率计算搜集测试语料;步骤s20:利用所述测试语料,通过聚类对问答系统进行测试;以及步骤s30:根据测试结果更新知识库。图2是根据本发明实施例的问答系统评价方法的实现框架的示意图。如图2所示,其中的问答系统及知识库的设计不在本发明要求保护的范围内,对它们的实现流程本文不做描述,但其应具备实现以下功能的步骤:1.知识库应该是一个问答对的集合,每个问答对应包含一个自然语言表述的文本(问题)和与该文本对应的另一个自然语言表述的文本(答案);2.知识库中的问题不应重复,且每个问题有且仅有一个答案;3.问答系统应能接收一个自然语言表述的文本作为输入(问题),并返回一个问答对,每个问答对应包含一个自然语言表述的文本(问题)和与该文本对应的另一个自然语言表述的文本(答案);4.在步骤3中,返回的问答对应来自于知识库,且其在知识库中也具备对应关系;5.在步骤3中,允许问答系统返回空或特殊值作为对输入无法应对的标识;6.在步骤3中,问答系统(应答系统与问答系统相同吗?)的返回应具备可重复性(即,在系统未发生改变的情况下,输入相同的问题,应得到相同的输出)。如图2所示的问答系统评价方法的实现框架的示意图中和包括如下部分:知识库抽取系统,用于将知识库中的数据抽取到测试语料库中。测试数据生成系统,用于根据用户行为生成测试数据,其具体功能参见后文主体业务流程。测试语料库,其为一个扩展的知识库系统,其包含以下几个部分:知识库问题集,用以跟踪知识库的变化,其主要内容如下:字段含义问答库编号问题对应问答库中的编号问题内容问题的具体内容标注问答集,用于记录生成的标注数据,其主要内容如下:问答系统人机界面:又称用户界面或用户界面,用于在问答系统、测试数据生成系统与用户之间进行信息传递,其具备以下三个功能:1.接收用户的自然语言输入,并将其发送给测试数据生成系统;2.接收测试数据生成系统的输出,将其呈现给用户;3.支持对多问题答案的呈现和交互。其中,对多问题答案的呈现和交互包括如下步骤:1.支持在一个回答里展现多个问题,格式类似如下:2.支持对步骤1中展现的每个问题进行交互(点击操作);3.当用户对步骤1中展现的问题进行交互后,将点击问题发送给测试数据生成系统,并接受测试数据生成系统的返回以进行呈现。根据本发明实施例的问答系统评价方法的主要流程步骤包括:1.初始化测试语料库;2.搜集测试语料;3.利用测试语料库对问答系统进行测试;4.测试完成后,可以根据测试效果更新知识库,然后重复步骤2-3。以下对每个步骤做具体说明。测试语料库初始化流程,包括:在首次运行系统、问答系统发生重大修改以及知识库重置后,需运行本流程,即清空测试语料库的知识库问题集;清空测试语料库的标注问答集;从知识库中获取所有的问题集,将其加入测试语料库的知识库问题集。图3是根据本发明实施例的问答系统评价方法中的测试语料搜集流程图。测试语料搜集部分的流程步骤如下:1.问答系统人机界面接收到用户提出的问题后,将问题发送给测试数据生成系统;2.测试数据生成系统将步骤1中的问题发送给问答系统,获得问答系统中的对应的问题和答案;3.测试数据生成系统进行邀评概率计算,若该计算的值小于设定的阈值,则将步骤2中的问题和答案返回给问答系统人机界面进行展示,流程结束;其中,所述阈值可以根据问答系统的要求预先加以设定或可以在问答系统的使用过程中,根据使用情况加以设定。其中,邀评概率o的计算公式如下:ο=ν(s)*ν(a)*ν(c)*ν(e)*ν(q)其中:n(x)为一个符合正态分布的函数,其值非负,且在x=0时最大,x=1时最小;s为步骤1中的问题和步骤2中的问题的相似度,其值为[0-1],值越大则表示两个问题越相似;a为步骤1中的问题和步骤2中的问题在测试语料库中的正确率,其值为[0-1],值越大则表示正确率越高;c为该用户近期被邀评的次数,其值为[0-1],值越大则表示该用户近期被邀评的次数越多;q为步骤1中的问题近期被邀评的次数,其值为[0-1],值越大则表示该问题近期被邀评的次数越多。4.测试数据生成系统从测试语料库中随机抽取与步骤1中的问题相似而与步骤2中的问题不同另的问题,将其与步骤2中的问题进行乱序排列后返回给问答系统人机界面进行展示;5.问答系统人机界面将步骤4中的问题进行展示;6.问答系统人机界面根据用户的操作,将结果反馈给测试数据生成系统以更新测试语料库,其中测试数据生成系统根据反馈结果执行以下步骤:a)若用户点击某个具体问题,且用户点击的问题为步骤2中的问题,则将步骤1中的问题、步骤2中的问题存入测试语料库,记为匹配正确;向问答系统人机界面返回步骤2中的答案以进行展示;流程结束;b)若用户点击某个具体问题,且用户点击的问题不为步骤2中的问题,则将步骤1中的问题、步骤2中的问题存入测试语料库,记为匹配错误;同时将步骤1中的问题、用户点击的问题也存入测试语料库,记为匹配正确;向问答系统人机界面返回用户点击问题的答案以进行展示;流程结束;c)若用户输入新的问题,则将步骤1中的问题、步骤2中的问题存入测试语料库,记为匹配错误;d)若用户未进行任何操作就离开问答系统,则将步骤1中的问题、步骤2中的问题存入测试语料库,记为匹配错误。问答系统测试流程,即在需要使用测试语料对问答系统进行测试时运行本流程,其包括如下步骤:1.根据导出条件,从测试语料库的标注问答集集中抽取满足条件的语料集,其中假设测试语料库中的标注问答集是带有一定的搜索信息的(例如:创建时间、更新时间、关键字等),所以,这里的导出条件为搜索信息的一个范围(例如:创建时间大于2017-01-01);2.对所述语料集按照用户的问题进行聚类;3.对所述语料集的每一个聚类结果,再按照与所述问题对应的答案进行二次聚类;4.对每一个二次聚类的结果,统计其标注为正确的记录占二次聚类结果的记录总数的比例,若所述比例大于预定值则将二次聚类结果标记为正确,否则标记为错误;若与所述问题对应的答案为空,或者二次聚类结果的记录总数小于预定值,则忽略所述二次聚类结果;5.对二次聚类结果计算准确率和召回率:数据定义如下:回答上的问题总数=步骤4中问答来源为问答系统的二次聚类结果数量;回答正确问题数=步骤4中问答来源为问答系统,且标记为正确的二次聚类结果数量;测试集中所有正确回答问题数=步骤4中标记为正确的二次聚类结果数量。本发明中提及的聚类涉及将物理或抽象对象的集合分成由类似的对象组成的多个类的过程。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。针对本发明,聚类的对象为自然语言组成的文本,相似的定义为两个文本拥有相同的语义。根据本发明实施例的问答系统评价方法的主要流程步骤还可以包括如测试语料库同步的附加业务流程,其中:定期或在知识库发生重大变化后运行如下流程,其包括如下步骤:1.从知识库中获取最新的问题集;2.将步骤1中生成的问题集与测试语料库的知识库问题集进行比对,根据比对结果进行以下处理:a)知识库中存在而测试语料库中不存在,将该问题添加到测试语料库;b)知识库中不存在而测试语料库中存在,从测试语料库中删除该问题,将该问题加入已删除问题集;c)知识库中和测试语料库中均存在,但二者问题不一致:修改测试语料库中问题使其与知识库一致,将该问题加入已删除问题集;d)知识库中和测试语料库中均存在且二者问题一致,不作处理。3.对于步骤2中生成的已删除问题集,删除测试语料库的标注问答集中对应的记录。图4是根据本发明实施例的问答系统评价装置的示意图。如图4所示,据本发明实施例的问答系统评价装置40包括:搜集模块41,用于根据用户输入,通过邀评概率计算搜集测试语料;测试模块42,用于利用所述测试语料,通过聚类对问答系统进行测试;更新模块43,用于根据测试结果更新知识库。根据本发明的实施例,本发明还提供了一种电子设备和一种可读存储介质。本发明的电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行本发明所提供的问答系统评价方法。本发明的计算机可读介质,所述计算机可读介质存储计算机指令,所述计算机指令用于使所述计算机执行本发明所提供的问答系统评价方法。下面参考图5,其示出了适于用来实现本申请实施例的终端设备的计算机系统500的结构示意图。图5示出的终端设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。如图5所示,计算机系统500包括中央处理单元(cpu)501,其可以根据存储在只读存储器(rom)502中的程序或者从存储部分508加载到随机访问存储器(ram)503中的程序而执行各种适当的动作和处理。在ram503中,还存储有系统500操作所需的各种程序和数据。cpu501、rom502以及ram503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。以下部件连接至i/o接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至i/o接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(cpu)501执行时,执行本申请的系统中限定的上述功能。需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1