基于人工智能的人机交互方法和装置技术领域
本申请涉及人工智能技术领域,尤其涉及一种基于人工智能的人机交互方法和装
置。
背景技术
人工智能(Artificial Intelligence,AI)是研究、开发用于模拟、延伸和扩展人
的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个
分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智
能机器,该领域的研究包括智能点餐机器人、语言识别、图像识别、自然语言处理和专家系
统等。
随着人工智能等技术的发展,人机交互系统已经以多种形式出现在人们的生活
中。比如在自然对话领域,机器可以与人进行对话,在智能客服领域,客服系统可以为人提
供服务。但是,目前的人机交互系统的流程通常是机器接收到人的问题(query)后,在数据
库查找相关的回答(reply)展现给用户。这种方式在本质上是检索,不具有人类之间对话时
的逻辑,无法实现真正的人类之间对话交互的效果。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请的一个目的在于提出一种基于人工智能的人机交互方法,该方法可
以使得机器以人类对话风格与人类进行对话交互,使得人机交互具有真正的人类之间对话
交互的效果。
本申请的另一个目的在于提出一种基于人工智能的人机交互装置。
为达到上述目的,本申请第一方面实施例提出的基于人工智能的人机交互方法,
包括:接收用户输入的问题;根据预先生成的模型,对所述问题进行处理,获取与所述问题
对应的具有人类对话风格的回答,所述模型是根据人类对话语料生成的;将所述回答反馈
给用户。
本申请第一方面实施例提出的基于人工智能的人机交互方法,通过预先生成的模
型得到与用户输入的问题对应的回答,该模型是根据人类对话语料生成的,该回答具有人
类对话风格,因此,机器能够以人类对话风格与人类进行对话交互,使得人机交互具有真正
的人类之间对话交互的效果。
为达到上述目的,本申请第二方面实施例提出的基于人工智能的人机交互装置,
包括:接收模块,用于接收用户输入的问题;获取模块,用于根据预先生成的模型,对所述问
题进行处理,获取与所述问题对应的具有人类对话风格的回答,所述模型是根据人类对话
语料生成的;反馈模块,用于将所述回答反馈给用户。
本申请第二方面实施例提出的基于人工智能的人机交互装置,通过预先生成的模
型得到与用户输入的问题对应的回答,该模型是根据人类对话语料生成的,该回答具有人
类对话风格,因此,机器能够以人类对话风格与人类进行对话交互,使得人机交互具有真正
的人类之间对话交互的效果。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变
得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得
明显和容易理解,其中:
图1是本申请一个实施例提出的基于人工智能的人机交互方法的流程示意图;
图2是本申请实施例中在训练过程中生成模型的流程示意图;
图3是本申请实施例中语料源的分类示意图;
图4是本申请实施例中一种预测模型的示意图;
图5是本申请实施例中另一种预测模型的示意图;
图6是本申请实施例中另一种预测模型的示意图;
图7是本申请实施例对应的一种总体架构图;
图8是本申请另一个实施例提出的基于人工智能的人机交互方法的流程示意图;
图9是本申请一个实施例提出的基于人工智能的人机交互装置的结构示意图;
图10是本申请另一个实施例提出的基于人工智能的人机交互装置的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终
相同或类似的标号表示相同或类似的模块或具有相同或类似功能的模块。下面通过参考附
图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。相反,本
申请的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同
物。
图1是本申请一个实施例提出的基于人工智能的人机交互方法的流程示意图。
如图1所示,本实施例包括:
S11:接收用户输入的问题(query)。
其中,用户可以以文本、语音或图片等形式输入问题。当问题不是文本形式时,可
以先对非文本形式的问题进行转换,将其转换为文本。具体采用的技术例如包括语音识别、
图片内容识别等转换技术,这些转换技术可以采用已有或将来出现的技术实现,在此不再
详细说明。
S12:根据预先生成的模型,对所述问题进行处理,获取与所述问题对应的具有人
类对话风格的回答,所述模型是根据人类对话语料生成的。
其中,可以在训练阶段生成上述的模型。在训练阶段,先收集大量的人类对话语
料,人类对话语料以组(pair)为单位,每组包括问题(query)和回答(answer),在训练时,以
语料中的query作为输入,训练模型,使得输出尽量与语料中对应的answer一致。由于该模
型是根据人类对话语料生成的,因此根据该模型对当前的问题进行处理后,得到的输出也
是具有人类对话风格的answer。
进一步的,上述的模型在具体实现时不限于一个,可以是多个,分别完成不同的功
能,以由用户输入的问题获取具有人类对话风格的回答。
S13:将所述回答反馈给用户。
在获取到回答后,可以将回答以语音形式播放给用户。
另外,如果获取的回答是文本形式,则可以通过语音合成等技术将其转换为语音。
本实施例中,通过预先生成的模型得到与用户输入的问题对应的回答,该模型是
根据人类对话语料生成的,该回答具有人类对话风格,因此,机器能够以人类对话风格与人
类进行对话交互,使得人机交互具有真正的人类之间对话交互的效果。
上一实施例描述了对话过程,在对话过程中会用到模型,该模型可以是在训练过
程中生成的,下面对训练过程中生成模型的流程进行描述。
图2是本申请实施例中在训练过程中生成模型的流程示意图。
本实施例中,以模型包括:映射关系、预测模型和语法模型为例。其中,映射关系用
于表明问题中的关键词与回答中的关键词之间的映射关系,预测模型用于根据上下文信息
在多种映射关系中确定出最优的一种映射关系,以及生成与确定出的映射关系中的关键词
匹配的搭配词,语法模型用于调整词条顺序,根据调整后的词条生成符合语法结构的句子。
如图2所示,本实施例包括:
S21:收集人类对话语料。
语料的选择可以基于所有带有人与人对话的地方,包含视频(电影、电视剧、动画
等)中的对话、文学作品(历史名著、推理小说、言情小说、网络小说等)中的对话、社交平台
(微博、贴吧、豆瓣等)中的对话、地方语言(东北话、北京话、广东话等)对话。
如图3所示,给出了语料源的分类,从而可以从多种语料源中收集到不同风格的语
料,并且同一种语料源可以带有一种或多种对话风格。视频中的对话随视频种类的变化对
话风格差异很大,喜剧片中的对话一般幽默诙谐、爱情片中的对话一般情深意浓、战争片中
的对话一般紧张激烈等;文学作品中的对话风格也随种类不同而不同,历史名著中的对话
一般带有某种历史背景的特色、推理小说对话逻辑严密、言情小说对话情感丰富等;网络社
交平台中的对话带有很多网络词汇,但是因为其本身就是人们的日常对话整体风格最贴近
人们的日常对话;地方语言对话包含各种地方方言,带有各种地方特色。
S22:提取人类对话语料中问题中的关键词及对应的回答中的关键词,根据提取的
关键词生成问题中的关键词与回答中的关键词之间的映射关系。
其中,对应一组人类对话语料,可以对其中的问题(简称为问)和回答(简称为答)
进行切词,得到问中的词条(term)和答中的词条,再在词条中确定出关键词(如根据出现概
率),再通过对大量语料的学习可以得到映射关系。
例如,一组问答如下:
问:忙了一天,终于下班了。
答:辛苦了,现在回家吗?
通过对问答分别进行切词并提取其中的关键词,可以得到问中的关键词包括:忙、
下班,而在答中的关键词包括:辛苦、回家,因此,可以建立“忙”与“辛苦”之间的映射关系,
“下班”与“回家”之间的映射关系。
上述的映射关系可以是一对多的,例如,另一组语料如下:
问:忙了一天,终于下班了。
答:休息一下,工作完成了吗?
类似上述处理,可以建立“忙”与“休息”之间的映射关系,“下班”与“工作”之间的
映射关系。
因此综合多种语料,可以建立“忙”与“辛苦”、“休息”之间的映射关系,“下班”与
“回家”、“工作”之间的映射关系。
在得到上述的映射关系后,可以以键值对(key、value)的方式存储下来。如key是
“忙”,value包括“辛苦”、“休息”。
由于语料可以来自不同的语料源,不同语料源可以具有不同的风格,因此可以形
成不同风格的映射关系。
例如,一个电视剧中的一组对话包括:
问:我在想关于考试的事情呢。
答:那就是在想怎么作弊?
问:你怎么老把我往坏处想呢?
答:让我往好处想也得给我机会啊!
根据上述语料,可以建立一组具有诙谐幽默风格的映射关系,如“想”与“想”之间
的映射关系,“考试”与“怎么作弊”之间的映射关系。
又例如,一个言情小说中的一组对话包括:
问:我在想关于考试的事情呢。
答:亲爱的,可是人家在想你呢。
根据上述语料,可以建立一组具有饱含情愫风格的映射关系,如“我”与“亲爱的”、
“人家”之间的映射关系,“想”与“想”之间的映射关系,“考试”与“你”之间的映射关系。
又例如,在普通社交平台上,一组对话包括:
问:我在想关于考试的事情呢。
答:关于考试的什么事儿呢?
根据上述语料,可以建立一组具有普通生活风格的映射关系,如“想”与“想”之间
的映射关系,“考试”与“什么”之间的映射关系。
又例如,在东北话中一组对话包括:
问:我在想关于考试的事情呢。
答:寻思啥呢,到考试就麻爪儿了吧?
根据上述语料,可以建立一组具有东北话风格的映射关系,如“想”与“寻思”之间
的映射关系,“考试”与“麻爪”之间的映射关系。
S23:从人类对话语料中获取问题中的关键词和回答中的关键词,以及上下文信
息,根据获取的关键词及上下文信息生成预测模型。
例如,问题中的关键词包括“忙”和“下班”,在一种语料中的上下文信息是“时间
晚”、“想回家”等,相应的回答经常会出现“辛苦”、“回家”,则预测模型中包括如图4所示的
问题、上下文信息、回答之间的对应关系。又例如,问题中的关键词包括“忙”和“下班”,在另
一种语料中的上下文信息是“工作多晚”、“领导催”等,相应的回答经常会出现“休息”、“工
作”、“完成”,则预测模型中包括如图5所示的问题、上下文信息、回答之间的对应关系。
图4-图5以逻辑上的关系进行了说明,但是预测模型中的上述关系不限于逻辑上
的,还可以是风格上的,比如,对应同样的问题“想”、“考试,”参见图6,在不同风格下,可以
对应不同的回答。
进一步的,预测模型不仅用于表示问题、上下文信息和回答之间的对应关系,还用
于学习搭配,以根据回答中的关键词对其进行补充,搭配出句子。比如根据问题和上下文信
息得到的回答包括“在、想、作弊”这些关键词,然后根据幽默诙谐的对话语料可以学习到相
应风格中的常用搭配“在想、怎么作弊”;而在言情小说里,同样可以抽出“人家、想”的关键
词,然后可以学到对应的富含情愫的搭配“亲爱的、想你”,最后学到这样一种包含情愫的搭
配方式。
S24:分析人类对话语料的语法结构,生成语法模型。
语法模型的本质就是一个语言模型,该模型会根据语料中的对话去学习人类说话
中的常用的语法结构,其主要原理是根据在对语料中对话pair预处理后的词性标注及序列
的顺序去学习人类对话中的习惯表达方式,包括一些连接词和助词的添加和补充。比如在
上文中当学习到“在想、怎么作弊”之后,语法模型去学习通过这两个短语去构建一个回答
的语法结构,从而学习到去添加“那就是”这样的连接词;再例如上文在言情小说里面的对
话,在reply中抽出与上文对应生成的“亲爱的、人家、想、你”之后,语法模型回去学习由这
些term到最终reply“亲爱的,可是人家想你了呢”的表达方式,从而去学到“可是、呢”这些
语气助词的使用,同时也学习到这种富含情愫的表达方式。在训练阶段,语法模型主要学习
语料中语言的结构顺序和表达方式,结构顺序的学习会保证句子基本通顺,而表达方式上
的学习也会随着语料风格的不同有所变化。
如上所示,在本实施例中可以生成映射关系、预测模型和语法模型,之后这些模型
用于对话阶段。
本实施例中,通过收集人类对话语料,可以基于人类对话语料训练生成模型,从而
使得机器学习到人类对话风格,在将模型应用到对话过程后,机器能够以人类对话风格与
人类进行对话交互,使得人机交互具有真正的人类之间对话交互的效果。
结合上述的对话过程和训练过程,如图7所示,给出了一个总体架构图。
下面结合图7所示的架构,对包括训练过程和对话过程的整个流程进行说明。
图8是本申请另一个实施例提出的基于人工智能的人机交互方法的流程示意图。
如图8所示,本实施例包括:
S801:收集人类对话语料。
S802:对人类对话语料进行预处理。
预处理可以包括:对人类对话语料中的问题和答案分别进行切词,选取关键词及
确定与每个关键词对应的标识(id),从而将词序列转换为id序列。
其中,可以获取包含词与标识之间对应关系的词典,根据该词典可以将词序列转
换为对应的id序列。
该步骤可以由图7所示的预处理模块执行。
S803:根据预处理后的人类对话语料,生成问题中的关键词与回答中的关键词之
间的映射关系,并存储该映射关系。
该步骤可以由图7所示的映射学习与存储模块执行。
具体的映射关系的生成流程可以参见上一实施例,在此不再详细说明。
另外,可以理解的是,由于在训练阶段进行了上述的预处理,因此上述的映射关系
可以是id之间的映射关系。
S804:根据预处理后的人类对话语料生成预测模型。
该步骤可以由图7所示的预测模块执行。
具体的生成预测模型的流程可以参见上一实施例,在此不再详细说明。
S805:根据预处理后的人类对话语料生成语法模型。
该步骤可以由图7所示的语法学习与控制模块执行。
具体的生成语法模型的流程可以参见上一实施例,在此不再详细说明。
S801-S805可以在训练阶段执行。
另外,各模块之间的交互可以由图7所示的主控系统执行。
S806:接收用户输入的问题。
S807:对用户输入的问题进行预处理。
预处理可以由预处理模块执行。具体的预处理流程可以参见上述训练阶段的相应
流程。
S808:根据映射关系,确定与用户输入的问题中的关键词对应的回答中的关键词。
其中,主控系统可以将预处理后问题传输给映射学习与存储模块,由映射学习与
存储模块根据自身存储的映射关系确定与预处理后的问题对应的回答中的关键词。
S809:根据预测模型,在确定出的关键词中选择最优的一组关键词,并根据选择的
一组关键词生成搭配词。
其中,主控系统可以从映射学习与存储模块获取到多组关键词,之后主控系统可
以将这多组关键词传输给预测模块,并且由上下文记忆模块获取到当前的上下文信息,预
测模块可以根据已生成的预测模型以及当前的上下文信息在多组关键词中选择出一组关
键词。
例如,根据映射关系可以确定出多组关键词,比如,问题中的关键词包括“忙”和
“下班”时,根据映射关系确定出的关键词可以包括“休息、工作、完成”和“辛苦,回家”,而在
该步骤中,根据预测模型以及当前的上下文信息可以在确定出的多组关键词中选择出最优
的一组关键词,例如,如果当前的上下文信息是“工作多,领导催”,则选择出的一组关键词
是“休息,工作,完成”,或者,如果当前的上下文信息是“时间晚、想回家”,则选择出的一组
关键词是“辛苦,回家”。
另外,预测模型还可以根据上下文信息确定当前的风格,再根据风格确定相应的
搭配词语,比如选择的一组关键词为“在、想”,如果当前风格是幽默诙谐的,则可以确定出
“在想、怎么作弊”这类的搭配词,或者,如果当前风格是饱含情愫,则可以确定出“亲爱的、
想你”这类的搭配词。
S810:根据语法模型对选择的一组关键词及生成的搭配词进行语法结构调整,得
到满足语法结构的句子。
其中,主控系统可以从预测模块获取关键词及搭配词,之后将其传输给语法学习
与控制模块,由语法学习与控制模块根据语法模型调整各词的顺序,以生成满足语法结构
的句子。语法学习与控制模块采用的语法模型可以是训练阶段根据人类对话语料生成的,
或者,也可以是根据开放接口从第三方获取的语法模型。
S811:将满足语法结构的句子作为回答反馈给用户。
例如,主控系统从语法学习与控制模块获取满足语法结构的句子,之后对该句子
进行语音合成,通过输出接口播放给用户。
进一步的,该方法还可以包括:
S812:根据与用户的交互对话,进行在线学习。
在与用户进行对话时,系统可以实时产生一些对话的语料,这些语料是包含着当
前用户的表达习惯和风格,因此,可以把一定时间内与用户对话的聊天记录作为语料去学
习用户的表达习惯。该模块主要是定时收集对话记录作为语料对系统各个模块进行实时重
训,在聊天记录使用中,用户的每一次输入对从相对机器上一句的回答来说也是一个
query,因此以机器上一步产生的回答作为query,以用户的输入作为answer作为一个个
pair进行重训,让系统在与用户对话的过程中去学习到用户的对话风格。该模块时一个可
插拔的模块,在接上该模块时模块比不断通过日志中用户与机器的对话进行学习,在拆卸
掉改模块时整个系统也能够正常运行。
进一步的,该方法还可以包括:
S813:通过开放接口调用其他系统或者被其他系统调用。
如图7所示,该系统还可以提供一些开放接口,这些开放接口是对外开放的调用接
口和拓展接口,调用接口可以使其他系统可以通过该接口直接调用本系统,而拓展接口可
以接入其他相关的模型或系统进行功能强化,比如语法学习模块可以调用其他一些成熟的
语言模型去强化系统中的语法学习和调整的功能。
本实施例中,通过收集人类对话语料,可以基于人类对话语料训练生成模型,从而
使得机器学习到人类对话风格,在将模型应用到对话过程后,机器能够以人类对话风格与
人类进行对话交互,使得人机交互具有真正的人类之间对话交互的效果。进一步的,通过在
线学习可以实时学习到新的数据,以提高人机交互效果。进一步的,通过开放接口可以被其
他系统调用或调用其他系统,更好的提供人机交互服务。
图9是本申请一个实施例提出的基于人工智能的人机交互装置的结构示意图。
如图9所示,该装置90包括:接收模块91、获取模块92和反馈模块93。
接收模块91,用于接收用户输入的问题;
获取模块92,用于根据预先生成的模型,对所述问题进行处理,获取与所述问题对
应的具有人类对话风格的回答,所述模型是根据人类对话语料生成的;
反馈模块93,用于将所述回答反馈给用户。
一些实施例中,所述模型包括:映射关系、预测模型和语法模型,所述映射关系用
于表明问题中的关键词与回答中的关键词之间的映射关系,所述预测模型用于根据上下文
信息在多种映射关系中确定出最优的一种映射关系,以及生成与确定出的映射关系中的关
键词匹配的搭配词,所述语法模型用于调整词条顺序,根据调整后的词条生成符合语法结
构的句子。
一些实施例中,参见图10,所述获取模块92包括:
映射子模块921,用于根据所述映射关系,确定与用户输入的问题中的关键词对应
的回答中的关键词;
预测子模块922,用于根据所述预测模型,在确定出的关键词中选择最优的一组关
键词,并根据选择的一组关键词生成搭配词;
语法分析子模块923,用于根据所述语法模型,对所述选择的一组关键词及生成的
搭配词进行语法结构调整,得到满足语法结构的句子,作为具有人类对话风格的回答。
一些实施例中,所述映射子模块还用于:提取人类对话语料中问题中的关键词及
对应的回答中的关键词,根据提取的关键词生成所述映射关系;或者,
一些实施例中,所述预测子模块还用于:提取人类对话语料中问题中的关键词及
对应的回答中的关键词,以及提取对应的上下文信息,根据提取的关键词和上下文信息,生
成所述预测模型;或者,
一些实施例中,所述语法分析子模块还用于:根据人类对话语料生成所述语法模
型,或者,通过开放接口从其他系统获取所述语法模型。
一些实施例中,参见图10,该装置90还包括:
预处理模块94,用于对所述问题进行预处理,以触发所述获取模块根据预先生成
的模型对预处理后的问题进行处理。
一些实施例中,参见图10,该装置90还包括:
在线学习模块95,用于根据与所述用户的交互对话,进行在线学习。
一些实施例中,参见图10,该装置90还包括:
开放接口96,用于为调用其他系统或被其他系统调用提供接口。
可以理解的是,本实施例的装置与上述方法实施例对应,具体内容可以参见方法
实施例的相关描述,在此不再详细说明。
本实施例中,通过收集人类对话语料,可以基于人类对话语料训练生成模型,从而
使得机器学习到人类对话风格,在将模型应用到对话过程后,机器能够以人类对话风格与
人类进行对话交互,使得人机交互具有真正的人类之间对话交互的效果。进一步的,通过在
线学习可以实时学习到新的数据,以提高人机交互效果。进一步的,通过开放接口可以被其
他系统调用或调用其他系统,更好的提供人机交互服务。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中
未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不
能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义
是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括
一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部
分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺
序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请
的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述
实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件
或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下
列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路
的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场
可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步
骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介
质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以
是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模
块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如
果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机
可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示
例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特
点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不
一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何
的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例
性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述
实施例进行变化、修改、替换和变型。