人机对话异常检测系统及方法与流程

文档序号:12609368阅读:721来源:国知局
人机对话异常检测系统及方法与流程

本发明涉及的是一种信息处理领域的技术,具体是一种人机对话异常检测系统及方法。



背景技术:

自从Siri在iPhone4s及iPad3问世以来,人机对话系统迅速吸引了大众的注意力,从一开始的好奇、试用、调戏,到对其回答不了问题或者答非所问后的失望和放弃。尽管体验不能让人满意,Siri推出后市场的剧烈反响,体现出大众对人工智能的期望很高,苹果、Google、微软、亚马逊等国际巨头相继投入大量资源研究与Siri相似的产品。

人机对话系统的核心在于机器能够在建好的系统框架下,根据事先的数据训练或学习,自动对用户提出的问题进行理解和分析,并给出有意义的回复。限于现有语音及语义理解技术的发展水平,机器尚无法通过训练或学习完全达到和人一样的理解和表达能力。所以,现阶段比较有实际应用价值的应用在于任务型对话系统,即限定在某一个或多个垂直领域,同时进行异常检测,在机器无法正常回复用户的情况下调整回复策略和内容。

随着语音处理及自然语言理解技术的发展,目前的人机对话系统已经显示出一定的智能性,但仍然不具备与人完全自然交流的能力,经常听不懂用户的提问,或者答非所问。因此,我们发明了一种人机对话系统中的异常检测方法,能够在机器无法回答用户问题时给出反馈,并切换到人工回复模式,由人来回答问题用户问题,实现会话任务。同时,保持检测状态,在机器可以自动回答的情况下再切回到自动回复模式,从而在保障较好用户体验的情况下实现对话交互,完成会话任务。

现有人机对话系统的问题主要有:

1、不可靠,在现有人机对话系统里,不能判断机器的回答何时会在什么样的条件下出现什么样的问题,不具备可靠性,从而无法在有准确性要求的任务场景下使用。

2、用户体验差,即使在对准确性没有苛刻要求的场景下使用,机器回答答非所问,而又没有任何干预或补救措施,会大大降低用户体验,甚至被弃用。



技术实现要素:

本发明针对现有技术存在的上述不足,提出一种人机对话异常检测系统及方法,能够在检测到机器无法正常回复用户(即出现异常)的情况下,调整回复策略和内容,从而完成对话任务。

本发明是通过以下技术方案实现的:

本发明涉及一种人机对话异常检测系统包括:语音识别模块(ASR模块)、语音合成模块(TTS模块)、语义识别模块(SLU模块)、对话状态跟踪模块(DST模块)、对话决策模块(DM模块)、数据库查询模块(DATA模块)、自然语言生成模块(NLG模块)、异常检测模块(DAD模块)及异常处理模块,其中:ASR模块将用户输入统一为字符数据后输出至SLU模块,SLU模块通过对字符数据中的语义进行提取后输出提取结果至DST模块,DST模块结合对话上文估计用户的意图并将最可能的用户意图传至DATA模块进行数据库查询,DATA模块将查询的结果返回给DST模块,DST模块将估计的用户意图和数据库查询结果传给DM模块,DM生成语义级用户回复并传给NLG模块,NLG模块将语义级回复转换为自然语言回复并传给异常检测模块,异常检测模块获取之前各个模块(ASR、SLU、DST、DM、NLG)的输出并进行异常检测,在检测到异常时,异常检测模块首先向TTS模块报警,TTS模块根据异常发生与否输出对应的语音提示,同将将将音频及ASR、DST、NLG三个模块的的输出传给异常处理模块;如果没有检测到异常,则直接将NLG的结果传给TTS模块。

所述的异常处理模块包括:用户意图校正模块(H-DST模块)及用户回复校正模块(H-NLG模块)。具体校正过程如下:

1)H-DST模块:人工客服首先根据对对话历史判断DST的对话状态跟踪的结果是否正确,如果正确,则进入H-NLG步骤,否则进行修改意图并重新查询数据库;

2)H-NLG模块:如果H-DST步骤中客服更改了用户意图,则系统重新生成自动回复候选。客服判断NLG自动生成的回复候选是否合理,如果合理,则确认后将其发送给TTS模块;如果不合理,客服进行修改,将修改后的消息发给TTS模块。

本发明涉及上述系统的人机对话异常检测方法,可以是基于规则的检测方法;也可以是基于机器学习的方法,该方法首先通过收集历史对话数据并进行标注,利用标注好的数据对异常检测模型进行训练,在收到实时对话数据时利用训练好的异常检测模型进行异常检测并获得结果。

所述的基于规则的方法中预设规则包括但不限于:检测到预设的关键词、对话时长超过限制。

所述的基于机器学习的异常检测模型,通过以下方式进行建立:

1)收集历史对话数据:收集包括文字信息、语音识别模块(ASR模块)、语义解析模块(SLU模块)、对话状态跟踪模块(DST模块)、对话决策模块(DM模块)、自然语言生成模块(NLG模块)的历史对话数据。

2)制定数据标注规则:分别标注用户输入和系统的回复中任一是否有异常,当任何一个产生异常,则判定该交互回合异常。优选地,当用户的话是异常的时候,系统的回复一般都为异常,但是,当系统的回复还算合理的话,系统的回复就不标注为异常。

3)进行数据标注:采用通用的数据标注方法进行标注。

4)对标注出的异常数据进行特征提取,用于异常检测的特征包括:ASR特征、SLU特征、DM对话状态特征、DM对话决策特征、NLG特征。

所述的对异常检测模型进行训练是指:通过将异常检测问题最终归结为二分类问题(1代表有异常,0代表没有异常),并利用机器学习模型,例如支持向量机(SVM)或者神经网络,训练一个二分类器,即异常检测模型。

附图说明

图1为本发明异常检测方法示意图;

图2为本发明系统示意图。

具体实施方式

如图1所示,本实施例涉及一种人机对话异常检测系统,包括:语音识别模块(ASR模块)、语音合成模块(TTS模块)、语义识别模块(SLU模块)、对话状态跟踪模块(DST模块)、对话决策模块(DM模块)、数据库查询模块(DATA模块)、自然语言生成模块(NLG模块)以及异常检测模块(DAD模块)及异常处理模块,其中:ASR模块将用户输入统一为字符数据后输出至SLU模块,SLU模块通过对字符数据中的语义进行提取后输出提取结果至DST模块,DST模块结合对话上文估计用户的意图并将最可能的用户意图传至DATA模块进行数据库查询,DATA模块将查询的结果返回给DST模块,DST模块将估计的用户意图和数据库查询结果传给DM模块,DM生成语义级用户回复并传给NLG模块,NLG模块将语义级回复转换为自然语言回复并传给异常检测模块,异常检测模块获取之前各个模块(ASR、SLU、DST、DM、NLG)的输出并进行异常检测,在检测到异常时,异常检测模块向TTS模块报警,TTS模块根据异常发生与否输出对应的语音提示,同将将将音频及ASR、DST、NLG三个模块的的输出传给异常处理模块;如果没有检测到异常,则直接将NLG的结果传给TTS模块。

所述的异常检测模块与NLG模块、TTS模块及异常处理模块相连;异常处理模块与TTS模块及异常检测模块相连。

所述的异常处理模块包括:用户意图校正模块(H-DST模块)及用户回复校正模块(H-NLG模块)。具体校正过程如下:

1)H-DST模块:人工客服首先根据对对话历史判断DST的对话状态跟踪的结果是否正确,如果正确,则进入H-NLG步骤,否则进行修改意图并重新查询数据库;

2)H-NLG模块:如果H-DST步骤中客服更改了用户意图,则系统重新生成自动回复候选。客服判断NLG自动生成的回复候选是否合理,如果合理,则确认后将其发送给TTS模块;如果不合理,客服进行修改,将修改后的消息发给TTS模块。

如图2所示,本实施例涉及上述系统的人机对话异常检测方法,可以是基于规则的检测方法;也可以是基于机器学习的方法,包括:首先通过收集历史对话数据并进行标注,利用标注好的数据对异常检测模型进行训练,在收到实时对话数据时利用训练好的异常检测模型进行异常检测并获得结果。

所述的基于规则的方法中预设规则包括但不限于:检测到预设的关键词、对话时长超过限制。

所述的基于机器学习的异常检测模型,通过以下方式进行建立:

1)收集历史对话数据:收集包括文字信息、语音识别模块(ASR模块)、语义解析模块(SLU模块)、对话状态跟踪模块(DST模块)、对话决策模块(DM模块)、自然语言生成模块(NLG模块)的历史对话数据。

2)制定数据标注规则:分别标注用户输入和系统的回复中任一是否有异常,当任何一个产生异常,则判定该交互回合异常。优选地,当用户的话是异常的时候,系统的回复一般都为异常,但是,当系统的回复还算合理的话,系统的回复就不标注为异常。

3)进行数据标注:采用通用的数据标注方法进行标注。

4)对标注出的异常数据进行特征提取:用于异常检测的特征包括:ASR特征、SLU特征、DST对话状态特征、DM对话决策特征、NLG特征,其中:

i)ASR特征是指:将ASR结果中候选文本按置信度从大到小排序,取前N个候选,提取特征:文本的平均长度、N个置信度(共N+1种特征)。

ii)SLU特征是指:将SLU结果中候选对话动作按置信度从大到小排序,取前N个候选,提取特征:每种对话动作出现在候选列表中的置信度、每种语义槽出现在候选列表中的置信度。

iii)DM对话状态特征是指:将DST的结果中每种语义槽的候选值列表按置信度从大到小排列,对于每个语义槽提取特征:取前M个置信度。

iv)DM对话决策特征是指:从DM的输出提取的特征包括:系统的回复的对话动作中各种动作类型及语义槽是否出现,如果出现就为1,否则就为0;当前的对话轮次(turn)

v)NLG特征是指:从NLG的输出提取的特征包括:系统的回复是否和上一次重复,如果重复则为1,否则为0。

所述的对异常检测模型进行训练是指:通过将异常检测问题最终归结为二分类问题(1代表有异常,0代表没有异常),并利用机器学习模型,例如支持向量机(SVM)或者神经网络训练一个二分类器,即异常检测模型。

上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。

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