发明内容
本发明所解决的技术问题是提供一种筛选问答对并实时更新问答库的方法及系统,能够提高问答库的覆盖率、问答库的质量,并能实现问答库的增量、实时更新。
所述方法步骤如下:
步骤1,将客服聊天记录解析成标准格式的聊天记录;
步骤2,从标准格式的聊天记录中筛选出问答对;
步骤3,根据问答对的问题和答案,检查合法问答对库中是否存储有相同的合法问答对,若是,执行步骤4;否则,执行步骤5;
步骤4,更新所述合法问答对库中所述合法问答对的统计信息,并更新与所述合法问答对对应的复述问答对库中的复述问答对的统计信息,结束处理;
步骤5,根据所述问答对中的问题和答案,查找复述问答组库中的复述问题组和复述答案组,得到与问答对对应的问题ID和答案ID,根据问题ID和答案ID,检查复述问答对库中是否存储有问题ID和答案ID组成的复述问答对,若是,执行步骤6;否则,执行步骤7;
步骤6,根据所述问答对中的问题和答案在合法问答对库中创建新的合法问答对,并更新与新的合法问答对对应的复述问答对库中的复述问答对的统计信息,结束处理;
步骤7,计算问答对中问题和答案的匹配程度值,将所述匹配程度值与预设阈值相比较,根据比较结果创建新的创建新的合法问答对或候选问答对,结束处理。
本发明提供的一种筛选问答对并实时更新问答库的系统,所述系统包括对话解析模块、问答对筛选模块、重复检测模块、合法问答对更新模块、复述问答对处理模块、复述问答对更新模块和匹配程度值计算模块;
所述对话解析模块,用于将客服聊天记录解析成标准格式的聊天记录;
所述问答对筛选模块,用于从标准格式的聊天记录中筛选出问答对;
所述重复检测模块,用于根据问答对的问题和答案,检查合法问答对库中是否存储有相同的合法问答对,若是,将所述问答对发送到合法问答对更新模块;否则,将其发送到复述问答对处理模块;
所述合法问答对更新模块,用于更新所述合法问答对库中所述合法问答对的统计信息,并更新与所述合法问答对对应的复述问答对库中的复述问答对的统计信息;
所述复述问答对处理模块,用于根据所述问答对中的问题和答案,查找复述问答组库中的复述问题组和复述答案组,得到与问答对对应的问题ID和答案ID,根据问题ID和答案ID,检查复述问答对库中是否存储有问题ID和答案ID组成的复述问答对,若是,将所述问答对发送到复述问答对更新模块;否则,将其发送到匹配程度值计算模块;
所述复述问答对更新模块,用于根据所述问答对中的问题和答案在合法问答对库中创建新的合法问答对,并更新与新的合法问答对对应的复述问答对库中的复述问答对的统计信息;
所述匹配程度值计算模块,用于计算问答对中问题和答案的匹配程度值,将所述匹配程度值与预设阈值相比较,根据比较结果创建新的合法问答对或候选问答对;
本发明的有益效果是:通过上述方法和系统,本发明能够从已有的客服聊天记录中自动筛选问答对并构建问答库,无需人工干预,并能够随着时间的推移和聊天记录的增加自动、实时更新问答库。同时,能够在不降低问答库覆盖率的前提下将问答库中的问答对规模控制在合理范围内。
本发明利用获取的客服聊天记录自动从中抽取问答对,实现问答对的增量更新,从而实现问答库的自动获取,自动维护,使该问答库可以快速迁移到不同领域,可移植性更强,适用范围广。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
本发明的处理流程如图1所示。
本发明所述系统的输入是客服聊天记录,输出则是对问答库的更新。
步骤1,将客服聊天记录解析成标准格式的聊天记录。
具体为,从客服聊天记录中抽取后续过程中需要的对话属性信息。
对话属性信息包括对话的内容、对话发起的时间、对话的类型和/或客服所属的商家。上述解析出的对话属性信息,在后续步骤4、步骤6和步骤8中会进行相应的更新。
其中,解析对话的类型主要是区分咨询者和客服的发言。对话发起的时间具体指的是问题出现的时间。解析客服所属的商家是为了避免在自动问答系统中出现一个厂家的回答回答另一个厂家的问题。
合法问答库存储合法问答对ID、问题、答案和合法问答对的统计信息,所述合法问答对的统计信息包括合法问答对出现的次数,厂家,时间,对应的复述问答对的ID;
另外,步骤1中还可以对客服聊天记录标准化,目的是去除不必要的噪音,优化问答对的筛选效果,提高问答对筛选质量。具体为,将客服聊天记录标准化是过滤掉聊天记录中的空格和/或标点符号,将链接地址和/或数字替换成统一的标识符,例如,将数字替换成字母D,链接地址替换成httpurl等。
步骤2,从标准格式的聊天记录中筛选出问答对。通过此步骤,筛选出的问答对是问题来自于咨询者的发言,答案来自于客服的发言,答案的时间晚于问题的时间。
步骤3,根据问答对的问题和答案,检查合法问答对库中是否存储有相同的合法问答对,若是,执行步骤4;否则,执行步骤5。
查重的目的是对以前已经处理过的问答对不再做二次处理,只更新合法问答对、对应的复述问答对的统计信息即可。步骤4具体为,更新所述合法问答对库中所述合法问答对的统计信息,并更新与所述合法问答对对应的复述问答对库中的复述问答对的统计信息。
合法问答对库存储合法问答对ID、问题、答案和合法问答对的统计信息,所述合法问答对的统计信息包括出现的次数,厂家,会话发起的时间和对应的复述问答对的ID等;其中,问答对出现的次数的计算方式是按照问答对出现的次数计算的,出现一次将问答对的出现次数自动加1,出现几次加几。
复述问答组库存储复述问答组ID、复述问答组类型和复述问答组内容;复述问答组的类型包括复述问题组和复述答案组;每组复述问题组中存储有若干个问题,所述若干个问题为语义相同的问题;每组复述答案组中存储有若干个答案,所述若干个答案为语义相同的答案;
复述问答对库存储复述问答对ID、复述问题组ID、复述答案组ID和复述问答对的统计信息,所述复述问答对的统计信息包括出现的次数、厂家、会话发起的时间等。
对以前没有处理过的问答对,执行步骤5,根据所述问答对中的问题和答案,查找复述问答组库中的复述问题组和复述答案组,得到与问答对对应的问题ID和答案ID,根据问题ID和答案ID,检查复述问答对库中是否存储有问题ID和答案ID组成的复述问答对,若是,执行步骤6;否则,执行步骤7。
对以前未处理过,但组成过复述问答对的问答对,执行步骤6,根据所述问答对中的问题和答案在合法问答对库中创建新的合法问答对,并更新与新的合法问答对对应的复述问答对库中的复述问答对的统计信息。
对以前未处理过,又没有组成过复述问答对的问答对,执行步骤7,计算问答对中问题和答案的匹配程度值,目的是过滤掉问题和答案联系不紧密的问答对,将所述匹配程度值与预设阈值相比较,匹配根据比较结果创建新的合法问答对或候选问答对。
可以采用已有的计算句子相似度(向量空间模型,语法结构距离等)的方法,来计算问题和答案的匹配程度值,其中一种具体实现方式是:
(1)对词和句子进行分词,
(2)计算两个句子中共同出现的词的数量N1;
(3)计算两个句子词的共同的数量N2;
(4)使用N1/N2表示两个句子的匹配程度;
(5)计算出的匹配程度取值在0-1之间。
通过以上方法计算出问题和答案的匹配程度值,将匹配程度值与预设的阈值相比较,如果匹配程度值大于预设阈值,则执行步骤8;否则,执行步骤9;
步骤8,通过三个条件判断之后,发现合法问答对库、复述问答组库和复述问答对库都没有该问答对时,就要在这三个库中进行创建。即根据所述问答对中的问题和答案在合法问答对库中创建新的合法问答对,同时在复述问答组库中创建新的复述问题组和复述答案组,并根据新的复述问题组中的问题ID和复述答案组的答案ID在复述问答对库中创建新的复述问答对,将新的合法问答对链接到新的复述问答对。
步骤9,将所述问答对作为候选问答对存储到候选问答对库中,以备后续实时学习新的对话记录。
候选问答对库存放检测出来的非问答语句及其相关信息,包括ID、内容和厂家;
可选的,在进行阈值比较之后,还可以对步骤5中问题ID和答案ID没有组成过复述问答对的问答对,作进一步处理,根据复述问题组和复述答案组同时出现的频率和相对概率对所述问答对进行有效性检测。
可以采取多种方法进行有效性检测,如相关性计算,互信息等方法,这里列举最简单的采用频率和相对频率的方法:
(1)对于候选问答对库存储的候选问答对中的问题和答案所属的复述问题组和复述答案组;
(2)定期统计每一个复述问题组ID出现的次数Nqi,每一个答案复述组ID出现的次数Nai,统计问题复述组和答案复述组共同出现的次数Nqai,
(3)当Nqi大于给定阈值,并且Nai大于给定频率时,计算Nqai/(Nqi*Nai),当计算结果大于某一阈值时,则认为该候选问答对有效。
若有效,则执行步骤8;否则,检测所述问答对中的问题和答案是否为非问答语句,若是非问答语句,则丢弃所述问答对;否则,执行步骤9。
通过上述方法,本发明能够从已有的客服聊天记录中自动获取问答对,无需人工干预,并随着时间的推移和聊天记录的增加自动更新问答库。同时,本发明能够在不降低问答库覆盖率的前提下,将问答库中的问答对规模控制在合理范围内。
进一步,本发明还可以对从步骤2中筛选出的问答对进行过滤处理,目的是过滤掉其中的非问答语句。在客服聊天记录中包含了一些和上下文无关的非问答语句,比如当前主打活动介绍或者因为咨询人员太多而插入的缓和时间的语句,这些语句要么在一段时间内每个会话中都会出现,要么他们的上下文无任何规律可循。利用这些特点,将非问答语句过滤掉。
相应的,步骤3可以是对步骤2筛选出的问答对进行重复检测,也可以是对过滤后的问答对进行重复检测。
通过上述方法筛选出的问答对质量更高。首先,在问答对筛选时根据所述问题和所述答案的匹配程度来筛选,过滤掉问题和答案联系不紧密的问答对,去除了不必要的噪音,优化了问答对的筛选效果。
其次,通过上述方法提取出的问答库的覆盖率更高。根据问题和答案分别组织复述,在确定问题和答案的有效性时不是根据答案出现的频率,而是根据问题和答案的复述组共同出现的频率来进行计算,这种方法能够大大提高问答库的覆盖率。
再次,本发明提出的技术方案,能够对客服聊天记录实时进行学习,这保证了知识库的实时更新性。在业务密集的时间段,如十一促销等活动中尤其重要。
本发明的系统结构图如图2所示。
该系统包括对话解析模块1、问答对筛选模块2、重复检测模块3、合法问答对更新模块4、复述问答对处理模块5、复述问答对更新模块6、匹配程度值计算模块7、问答对创建模块8和候选问答对存储模块9。
对话解析模块1,用于将客服聊天记录解析成标准格式的聊天记录。
问答对筛选模块2,用于从标准格式的聊天记录中筛选出问答对。
通过问答对筛选模块2筛选出的问答对,问题是来自于咨询者的发言,答案是来自于客服的发言,答案的时间晚于问题的时间的问答对。
重复检测模块3,用于根据问答对的问题和答案,检查合法问答对库中是否存储有相同的合法问答对,若是,将所述问答对发送到合法问答对更新模块4;否则,将其发送到复述问答对处理模块5。
合法问答对更新模块4,用于更新所述合法问答对库中所述合法问答对的统计信息,并更新与所述合法问答对对应的复述问答对库中的复述问答对的统计信息。所述问答对的统计信息包括所述合法问答对出现的次数和会话发起的时间、厂家和对应的复述问答对ID等。
复述问答对处理模块5,用于根据所述问答对中的问题和答案,查找复述问答组库中的复述问题组和复述答案组,得到与问答对对应的问题ID和答案ID,根据问题ID和答案ID,检查复述问答对库中是否存储有问题ID和答案ID组成的复述问答对,若是,将所述问答对发送到复述问答对更新模块6;否则,将其发送到匹配程度值计算模块7。
复述问答对更新模块6,用于根据所述问答对中的问题和答案在合法问答对库中创建新的合法问答对,并更新与新的合法问答对对应的复述问答对库中的复述问答对的统计信息。所述复述问答对的相关信息包括所述复述问答对对应的合法问答对出现的次数和会话发起的时间、使用的公司集合等
匹配程度值计算模块7,用于计算问答对中问题和答案的匹配程度值,将所述匹配程度值与预设阈值相比较,根据比较结果创建新的合法问答对或候选问答对。
当匹配程度值大于预设阈值,将所述问答对发送到问答对创建模块8;否则,将其发送到候选问答对存储模块9;
问答对创建模块8,用于根据所述问答对中的问题和答案在合法问答对库中创建新的合法问答对,同时在复述问答组库中创建新的复述问题组和复述答案组,并根据新的复述问题组中的问题ID和复述答案组的答案ID在复述问答对库中创建新的复述问答对,将新的合法问答对链接到新的复述问答对;
候选问答对存储模块9,用于将所述问答对作为候选问答对,并存储到候选问答对库中,以备后续实时学习新的对话记录。
该系统还包括有效性检测模块10,用于在阈值比较之后,对复述问答对处理模块5中问题ID和答案ID没有组成过复述问答对的问答对,作进一步处理,
根据复述问题组和复述答案组同时出现的频率和相对概率对所述问答对进行有效性检测,若有效,则将所述问答对发送到问答对创建模块8;
否则,检测所述问答对中的问题和答案是否为非问答语句,若是非问答语句,则丢弃所述问答对;否则,将所述问答对发送到候选问答对存储模块9。
该系统还包括问答对过滤模块20,用于对从聊天记录中筛选出的问答对作进一步过滤处理。在客服聊天记录中包含了与上下文无关的非问答语句,通过问答对过滤模块20将这些非问答语句筛选出来。
该系统还包括问答库更新模块,用于对问答库进行实时更新。
通过上述系统,本发明能够从已有的客服聊天记录中自动获取问答对并构建问答库,不需要人工干预,并且可增量更新。并能够随着时间的推移和聊天记录的增加,能够自动更新问答库,同时,本发明能够在不降低问答库覆盖率的前提下将问答库中的问答对规模控制在合理范围内。
本发明利用已有的客服聊天记录从中自动提取出的问答对质量更高、构建的问答库的覆盖率更高,并能够对客服聊天记录实时进行学习,保证了知识库的实时更新性。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。