基于人工智能的人机交互方法和系统
专利
《基于人工智能的人机交互方法和系统》是百度在线网络技术(北京)有限公司于2015年9月7日申请的专利,该专利申请号为2015105633382,公布号为CN105068661A,公布日为2015年11月18日,发明人是王海峰、吴华、田浩、赵世奇、孙雯玉、吴甜、忻舟、马艳军、吕雅娟。
专利背景
人工智能(Artificial Intelligence)是计算机科学的一个分支,英文缩写为AI,是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。
随着科技的不断进步,搜索引擎已成为人们生活中必不可少的部分,并日趋智能化。截至2015年9月7日,传统的搜索引擎的交互方式是用户输入搜索关键字,搜索引擎返回与用户需求相关的搜索结果,并按照相关性由高到低的顺序排序。用户可浏览和点击搜索结果,并从中选择感兴趣或有需求的信息和内容。其中,有的搜索引擎利用了框计算技术与知识图谱技术。框计算技术主要是搜索引擎针对用户输入的查询关键词直接提供结果或者服务。例如:用户在搜索引擎中搜索“北京天气”、“人民币美元汇率”、“五一放假”等关键字,都可以在搜索结果页面的最顶端展现结果。而知识图谱技术旨在将与用户需求相关的知识组织并展现成一张“知识图”,以满足用户对背景知识的需求以及延伸的需求。例如搜索“刘德华”,通过知识图谱技术,搜索引擎可展现刘德华的身高、生日、影视作品等背景知识,以及“张学友”、“朱丽倩”等其他相关人物。
另外,有的搜索系统还可以基于自然语言,通过与用户进行交互问答的方式,向用户提供所需的资源。例如:在智能手机端,用户可以通过如:苹果siri、谷歌google now、百度语音助手等移动应用来获取所需资源。上述应用主要通过语音作为载体,以自然语言的形式向系统发出本地服务、网上搜索等指令,并以语音播报的形式向用户反馈结果。此外,用户还可以向深度问答系统提问,获得相应的答案。例如“黄河流经哪几个省”、“英国的首都是哪座城市”等。
截至2015年9月7日,在实现《基于人工智能的人机交互方法和系统》过程中,发明人发现相关技术中至少存在如下问题:当前系统只能用于回答相关知识库中已存在的简单问题,而对于复杂度较高、时效性强、与用户主观观点相关的深度问题等,则很难做出有效回答。对于基于自然语言的搜索系统,在当前话题结束后,系统需要继续等待用户提出的下一个话题,然后再进行回答。由于缺乏话题之间的关联的信息,系统无法主动地延续或者引导出新的话题,无法像人与人之间那样进行持续地交互,缺乏主动性和联想力。
发明内容
专利目的
《基于人工智能的人机交互方法和系统》旨在至少在一定程度上解决相关技术中的技术问题之一。为此,该发明的一个目的在于提出一种基于人工智能的人机交互方法,该方法能够基于自然语言进行多轮交互及搜索,将人机交互系统从工具化转变为拟人化的智能系统。
《基于人工智能的人机交互方法和系统》的第二个目的在于提出一种基于人工智能的人机交互系统。
技术方案
为了实现专利目的,《基于人工智能的人机交互方法和系统》第一方面实施例提出了一种基于人工智能的人机交互方法,包括:接收用户通过应用终端输入的输入信息;根据所述用户的输入信息获取所述用户的意图信息,并根据所述意图信息将所述输入信息分发至至少一个交互服务子系统;接收所述至少一个交互服务子系统返回的返回结果;以及按照预设的决策策略根据所述返回结果生成用户返回结果,并将所述用户返回结果提供至所述用户。
《基于人工智能的人机交互方法和系统》第二方面实施例提出了一种基于人工智能的人机交互系统,包括:第一接收子系统,用于接收用户通过应用终端输入的输入信息;分发子系统,用于根据所述用户的输入信息获取所述用户的意图信息,并根据所述意图信息将所述输入信息分发至至少一个交互服务子系统;第二接收子系统,用于接收所述至少一个交互服务子系统返回的返回结果;生成子系统,用于按照预设的决策策略根据所述返回结果生成用户返回结果;以及提供子系统,用于将所述用户返回结果提供至所述用户。
改善效果
《基于人工智能的人机交互方法和系统》实施例的基于人工智能的人机交互系统,包含以下优点:(1)实现了人机交互系统从工具化转变为拟人化,通过聊天、搜索等服务,让用户在智能交互的过程中获得轻松愉悦的交互体验,而不再仅仅是搜索和问答。(2)从关键词形式的搜索改进为基于自然语言的搜索,用户可以使用灵活自如的自然语言来表达需求,多轮的交互过程更接近人与人之间的交互体验。(3)实现从用户主动搜索演变为全天候的陪伴式服务,基于用户的个性化模型可以随时随地为用户提供推荐等服务。
附图说明
图1是根据《基于人工智能的人机交互方法和系统》一个实施例的基于人工智能的人机交互方法的流程图。
图2是根据《基于人工智能的人机交互方法和系统》一个实施例的按照预设的决策策略根据返回结果生成用户返回结果的流程图。
图3是根据《基于人工智能的人机交互方法和系统》一个实施例的需求满足服务子系统执行步骤的流程图。
图4是根据《基于人工智能的人机交互方法和系统》一个实施例的垂类服务模块执行步骤的流程图。
图5是根据《基于人工智能的人机交互方法和系统》一个实施例的与用户进行至少一轮的交互得到用户需要的查询结果的具体过程的流程图。
图6是根据《基于人工智能的人机交互方法和系统》一个实施例的获取对应查询词的相关信息的过程的流程图。
图7是包含查询词的相关信息的用户界面的示意图一。
图8是包含查询词的相关信息的用户界面的示意图二。
图9是包含查询词的相关信息的用户界面的示意图三。
图10是包含查询词的相关信息的用户界面的示意图四。
图11是根据《基于人工智能的人机交互方法和系统》一个实施例的聊天服务子系统执行步骤的流程图。
图12是根据《基于人工智能的人机交互方法和系统》一个实施例的引导和推荐服务子系统执行步骤的流程图。
图13是根据《基于人工智能的人机交互方法和系统》一个实施例的话题图谱的效果示意图。
图14是根据《基于人工智能的人机交互方法和系统》一个实施例的网络文本数据为半结构化数据时的效果示意图。
图15是根据《基于人工智能的人机交互方法和系统》一个实施例的网络文本数据为结构化数据时的效果示意图。
图16是根据《基于人工智能的人机交互方法和系统》一个实施例的获取用户浏览行为数据的效果示意图。
图17是根据《基于人工智能的人机交互方法和系统》一个实施例的建立话题图谱的效果示意图。
图18是根据《基于人工智能的人机交互方法和系统》一个实施例的基于人工智能的人机交互系统的结构示意图一。
图19是根据《基于人工智能的人机交互方法和系统》一个实施例的生成子系统的结构示意图一。
图20是根据《基于人工智能的人机交互方法和系统》一个实施例的生成子系统的结构示意图二。
图21是根据《基于人工智能的人机交互方法和系统》一个实施例的基于人工智能的人机交互系统的结构示意图二。
图22是根据《基于人工智能的人机交互方法和系统》一个实施例的基于人工智能的人机交互系统的结构示意图三。
图23是根据《基于人工智能的人机交互方法和系统》一个实施例的基于人工智能的人机交互系统的结构示意图四。
图24是根据《基于人工智能的人机交互方法和系统》一个实施例的需求满足服务子系统的结构示意图。
图25是根据《基于人工智能的人机交互方法和系统》一个实施例的垂类服务模块的结构示意图。
图26是根据《基于人工智能的人机交互方法和系统》一个实施例的交互子模块的结构示意图一。
图27是根据《基于人工智能的人机交互方法和系统》一个实施例的交互子模块的结构示意图二。
图28是根据《基于人工智能的人机交互方法和系统》一个实施例的第四获取单元的结构示意图。
图29是根据《基于人工智能的人机交互方法和系统》一个实施例的深度问答服务模块的结构示意图。
图30是根据《基于人工智能的人机交互方法和系统》一个实施例的生成子模块的结构示意图一。
图31是根据《基于人工智能的人机交互方法和系统》一个实施例的生成子模块的结构示意图二。
图32是根据《基于人工智能的人机交互方法和系统》一个实施例的生成子模块的结构示意图三。
图33是根据《基于人工智能的人机交互方法和系统》一个实施例的信息搜索服务模块的结构示意图一。
图34是根据《基于人工智能的人机交互方法和系统》一个实施例的信息搜索服务模块的结构示意图二。
图35是根据《基于人工智能的人机交互方法和系统》一个实施例的聊天服务子系统的结构示意图一。
图36是根据《基于人工智能的人机交互方法和系统》一个实施例的聊天服务子系统的结构示意图二。
图37是根据《基于人工智能的人机交互方法和系统》一个实施例的基于搜索的聊天模块的结构示意图。
图38是根据《基于人工智能的人机交互方法和系统》一个实施例的富知识聊天模块的结构示意图。
图39是根据《基于人工智能的人机交互方法和系统》一个实施例的基于画像的聊天模块的结构示意图一。
图40是根据《基于人工智能的人机交互方法和系统》一个实施例的基于画像的聊天模块的结构示意图二。
图41是根据《基于人工智能的人机交互方法和系统》一个实施例的聊天服务子系统的结构示意图三。
图42是根据《基于人工智能的人机交互方法和系统》一个实施例的聊天服务子系统的结构示意图四。
图43是根据《基于人工智能的人机交互方法和系统》一个实施例的聊天服务子系统的结构示意图五。
图44是根据《基于人工智能的人机交互方法和系统》一个实施例的聊天服务子系统的结构示意图六。
图45是根据《基于人工智能的人机交互方法和系统》一个实施例的引导和推荐服务子系统的结构示意图一。
图46是根据《基于人工智能的人机交互方法和系统》一个实施例的引导和推荐服务子系统的结构示意图二。
图47是根据《基于人工智能的人机交互方法和系统》一个实施例的引导和推荐服务子系统的结构示意图三。
技术领域
《基于人工智能的人机交互方法和系统》涉及人工智能技术领域,尤其涉及一种基于人工智能的人机交互方法和系统。
权利要求
1、一种基于人工智能的人机交互方法,其特征在于,包括以下步骤:接收用户通过应用终端输入的输入信息;根据所述用户的输入信息获取所述用户的意图信息,并根据所述意图信息将所述输入信息分发至至少一个交互服务子系统;接收所述至少一个交互服务子系统返回的返回结果;以及按照预设的决策策略根据所述返回结果生成用户返回结果,并将所述用户返回结果提供至所述用户;所述交互服务子系统包括需求满足服务子系统、引导和推荐服务子系统和聊天服务子系统中的一种或多种;所述方法,还包括:所述需求满足服务子系统获取用户输入的问题信息;所述需求满足服务子系统根据所述问题信息获取用户的用户需求信息;所述需求满足服务子系统根据所述用户需求信息将所述问题信息分发至对应的至少一个问答服务模块;以及所述需求满足服务子系统接收所述至少一个问答服务模块返回的问答结果,并对所述问答结果进行决策以确定最终的问答结果;所述问答服务模块包括阿拉丁服务模块、垂类服务模块、深度问答服务模块和信息搜索服务模块;所述方法,还包括:所述深度问答服务模块接收所述问题信息;所述深度问答服务模块根据所述问题信息获取对应的问题类型;所述深度问答服务模块根据所述问题类型选择对应的问答模式,并根据选择的答案生成模式和所述问题信息生成对应的问答结果。
2、如权利要求1所述的方法,其特征在于,所述将所述用户返回结果提供至所述用户具体包括:将所述用户返回结果转化为自然语言并播报给所述用户。
3、如权利要求1所述的方法,其特征在于,还包括:接收用户的定制任务信息;以及根据所述定制任务信息将所述输入信息分发至至少一个交互服务子系统。
4、如权利要求1所述的方法,其特征在于,所述应用终端包括PC端、移动终端或智能机器人。
5、如权利要求1所述的方法,其特征在于,如果所述用户返回结果包括执行指令,则所述方法还包括:将所述执行指令发送至对应的执行子系统,并通过所述执行子系统进行执行。
6、如权利要求1所述的方法,其特征在于,所述按照预设的决策策略根据所述返回结果生成用户返回结果具体包括:获取所述输入信息的需求分析特征;获取所述交互服务子系统返回的返回结果的置信度特征、所述用户的对话交互信息的上下文特征以及所述用户的个性化模型特征;根据所述需求分析特征、所述返回结果的置信度特征、所述用户的对话交互信息的上下文特征以及所述用户的个性化模型特征对所述返回结果进行决策以确定所述用户返回结果。
7、如权利要求6所述的方法,其特征在于,所述需求分析特征、所述返回结果的置信度特征、所述用户的对话交互信息的上下文特征以及所述用户的个性化模型特征分别对应有各自的决策权重。
8、如权利要求7所述的方法,其特征在于,还包括:根据所述用户的日志基于增强学习模型对所述需求分析特征、所述返回结果的置信度特征、所述用户的对话交互信息的上下文特征以及所述用户的个性化模型特征的决策权重进行训练。
9、如权利要求1所述的方法,其特征在于,还包括:获取与所述用户交互的交互上文信息;根据所述交互上文信息对所述输入信息进行补全。
10、如权利要求1所述的方法,其特征在于,当所述问题类型为实体类型时,所述根据选择的答案生成模式和所述问题信息生成对应的问答结果具体包括:根据所述问题信息生成实体类问题信息;基于搜索引擎抓取的摘要和历史展现日志对所述实体类问题信息进行扩展以生成同族实体问题信息簇,其中,所述同族实体问题信息簇分别对应候选答案;从所述同族实体问题信息簇分别对应候选答案中抽取候选实体;计算所述候选实体的置信度;以及将所述置信度大于预设置信度阈值的候选实体作为问答结果进行反馈。
11、如权利要求1所述的方法,其特征在于,当所述问题类型为观点类型时,所述根据选择的答案生成模式和所述问题信息生成对应的问答结果具体包括:获取所述问题信息对应的候选答案;对所述候选答案进行切分以生成多个候选答案短句;对所述多个候选答案短句进行聚合以生成观点聚合簇;判断所述观点聚合簇的观点类型;根据所述观点类型从所述观点聚合簇中选择出答案观点,并生成所述答案观点对应的摘要;对所述答案观点进行评分,并将评分大于预设评分阈值的答案观点作为问答结果进行反馈。
12、如权利要求11所述的方法,其特征在于,所述对所述多个候选答案短句进行聚合以生成观点聚合簇具体包括:提取所述多个候选答案短句中的关键词;计算每两个所述关键词之间的向量夹角和/或语义相似度;对所述向量夹角小于预设角度或语义相似度大于预设阈值的所述候选答案进行聚合以生成观点聚合簇。
13、如权利要求1所述的方法,其特征在于,当所述问题类型为片段类型时,所述根据选择的答案生成模式和所述问题信息生成对应的问答结果具体包括:获取所述问题信息对应的候选答案;对所述候选答案进行切分以生成多个候选答案短句;对所述多个候选答案短句进行重要度打分以生成所述候选答案短句对应的短句重要度特征;根据所述短句重要度特征生成答案摘要;根据所述答案摘要的短句重要度特征对答案质量进行打分,并根据打分结果对候选答案进行排序;将排序结果作为问答结果进行反馈。
14、如权利要求13所述的方法,其特征在于,所述根据所述答案摘要的短句重要度特征对答案质量进行打分具体包括:根据所述答案摘要的短句重要度特征、答案权威性、问题信息的相关性和答案的丰富度对答案质量进行打分。
15、如权利要求13所述的方法,其特征在于,所述根据打分结果对候选答案进行排序具体包括:获取用户的行为数据;以及根据所述用户的行为数据和所述打分结果对所述候选答案进行排序。
16、如权利要求1-15任一项所述的方法,其特征在于,还包括:所述信息搜索服务模块接收所述问题信息;所述信息搜索服务模块根据所述问题信息进行搜索以生成多个候选网页;所述信息搜索服务模块对所述候选网页进行篇章分析以生成对应的摘要,并将摘要作为问答结果进行反馈。
17、如权利要求16所述的方法,其特征在于,所述对候选网页进行篇章分析以生成对应的摘要具体包括:对所述候选网页进行篇章分析以生成对应的候选篇章;对所述候选篇章中的句子进行打分排序;以及根据打分排序结果生成所述摘要。
18、如权利要求17所述的方法,其特征在于,所述根据打分排序结果生成所述摘要具体包括:获取用户的需求场景信息;根据所述需求场景信息和所述打分排序结果生成所述摘要。
19、如权利要求17所述的方法,其特征在于,还包括:对多个候选篇章的信息进行聚合。
20、如权利要求1所述的方法,其特征在于,还包括:所述聊天服务子系统接收用户输入的输入信息;所述聊天服务子系统将所述输入信息分发至聊天服务模块;所述聊天服务子系统接收多个聊天服务模块返回的候选回复,其中,所述候选回复具有对应的置信度;所述聊天服务子系统基于所述置信度对所述候选回复进行排序,并根据排序结果生成聊天信息,并向所述用户提供所述聊天信息。
21、如权利要求20所述的方法,其特征在于,在所述接收用户输入的输入信息之后,还包括:对所述输入信息进行纠错和/或改写。
22、如权利要求20所述的方法,其特征在于,在所述接收用户输入的输入信息之后,还包括:对所述输入信息进行领域分析以获取所述输入信息对应的领域,其中,根据所述输入信息对应的领域将所述输入信息分发至具有相同或相近似领域的聊天服务模块。
23、如权利要求20所述的方法,其特征在于,在所述接收用户输入的输入信息之后,还包括:获取与所述用户聊天的上文信息;根据所述上文信息判断所述输入信息与所述上文信息的依赖关系是否大于预设关系阈值;以及如果大于所述预设关系阈值,则根据所述上文信息对所述输入信息进行补全。
24、如权利要求23所述的方法,其特征在于,还包括:根据所述上文信息获取所述用户当前的话题信息。
25、如权利要求20所述的方法,其特征在于,所述聊天服务模块包括基于搜索的聊天模块、富知识聊天模块、基于画像的聊天模块和基于众包的聊天模块中的一种或多种。
26、如权利要求25所述的方法,其特征在于,还包括:所述基于搜索的聊天模块对所述输入信息进行切词以生成多个聊天短句;所述基于搜索的聊天模块根据所述多个聊天短句查询聊天语料库以生成多个聊天语料上句,以及所述多个聊天语料上句对应的多个聊天语料下句;所述基于搜索的聊天模块对所述多个聊天语料上句进行过滤;所述基于搜索的聊天模块对过滤之后的聊天语料上句对应的聊天语料下句进行分类;以及所述基于搜索的聊天模块对分类之后的所述聊天语料下句进行重排序,并根据排序结果生成所述候选回复。
27、如权利要求26所述的方法,其特征在于,所述基于搜索的聊天模块对所述多个聊天语料上句进行过滤具体包括:计算所述输入信息与所述多个聊天语料上句之间的相似度;如果所述相似度小于第一预设相似度阈值,则将对应的聊天语料上句过滤;以及如果所述相似度大于或等于所述第一预设相似度阈值,则将对应的聊天语料上句保留。
28、如权利要求26所述的方法,其特征在于,所述对过滤之后的聊天语料上句对应的聊天语料下句进行分类具体包括:计算所述输入信息与所述多个聊天语料下句之间的相似度;以及根据所述相似度对所述多个聊天语料下句进行分类。
29、如权利要求28所述的方法,其特征在于,所述输入信息与所述多个聊天语料下句之间的相似度包括:所述输入信息与所述聊天语料下句之间字面的相似度;或者,所述输入信息与所述聊天语料下句基于深度神经网络训练得到的相似度;或者,所述输入信息与所述聊天语料下句基于机器翻译模型训练得到的相似度。
30、如权利要求26所述的方法,其特征在于,所述对分类之后的所述聊天语料下句进行重排序具体包括:根据所述用户聊天的上文信息获取所述用户的聊天属性;根据所述聊天属性对所述分类之后的所述聊天语料下句进行重排序。
31、如权利要求25所述的方法,其特征在于,还包括:所述富知识聊天模块根据所述输入信息生成搜索词,并根据所述搜索词进行搜索以生成多个搜索结果;所述富知识聊天模块对所述多个搜索结果进行句子抽取,以获取候选句子集合;所述富知识聊天模块对所述候选句子集合中的句子进行改写以生成所述候选回复。
32、如权利要求31所述的方法,其特征在于,所述候选句子集合中的句子与所述搜索词的相似度大于第二预设相似度阈值。
33、如权利要求31所述的方法,其特征在于,还包括:根据所述用户的聊天属性对所述候选句子集合中的句子进行重排序。
34、如权利要求25所述的方法,其特征在于,还包括:所述基于画像的聊天模块获取所述用户的聊天语境;所述基于画像的聊天模块根据所述聊天语境判断是否满足收集条件;如果判断满足所述收集条件,则向所述用户发送问题;接收所述用户根据所述问题的回答信息,并根据所述回答信息对用户画像模型进行更新。
35、如权利要求25所述的方法,其特征在于,还包括:所述基于画像的聊天模块获取所述用户的聊天内容;所述基于画像的聊天模块根据所述聊天内容提取用户画像数据;所述基于画像的聊天模块根据提取的所述用户画像数据对用户画像模型进行更新。
36、如权利要求25所述的方法,其特征在于,还包括:所述基于众包的聊天模块判断所述输入信息是否适合众包完成;如果判断适合众包完成,则将所述输入信息分发至对应的执行者;接收所述执行者的回复信息,并对所述回复信息进行质量判断;如果满足质量要求,则将所述回复信息作为所述候选回复。
37、如权利要求20所述的方法,其特征在于,还包括:判断所述输入信息是否属于无实际内容的聊天信息;如果判断是属于无实际内容的聊天信息,则获取当前话题;根据所述当前话题生成引导话题;以及根据所述引导话题生成所述候选回复。
38、如权利要求20所述的方法,其特征在于,所述基于所述置信度对所述候选回复进行排序具体包括:获取所述用户的所述输入信息的特征;以及基于所述输入信息的特征和所述置信度对所述候选回复进行排序。
39、如权利要求1所述的方法,其特征在于,还包括:所述引导和推荐服务子系统接收用户输入的交互信息,并根据所述交互信息确定当前话题;所述引导和推荐服务子系统基于话题图谱获得多个与所述当前话题相关的待选引导话题,其中,所述话题图谱包括多个话题及所述话题之间的关联关系;所述引导和推荐服务子系统获取所述用户的用户画像数据;以及所述引导和推荐服务子系统根据所述用户画像数据从所述多个与所述当前话题相关的待选引导话题中选择引导话题,并向所述用户反馈所述引导话题。
40、如权利要求39所述的方法,其特征在于,在所述引导和推荐服务子系统基于话题图谱获得多个与所述当前话题相关的待选引导话题之前,还包括:建立所述话题图谱。
41、如权利要求40所述的方法,其特征在于,所述建立所述话题图谱具体包括:获取话题关联数据;以及根据所述话题关联数据建立所述话题图谱。
42、如权利要求41所述的方法,其特征在于,所述获取话题关联数据,具体包括:获取网络文本数据;当所述网络文本数据为非结构化数据时,基于实体提取和句法分析获取所述话题关联数据;或者当所述网络文本数据为半结构化数据时,基于页面结构分析、标签提取、实体识别获取所述话题关联数据;或者当所述网络文本数据为结构化数据时,从知识图谱中获取所述话题关联数据。
43、如权利要求41所述的方法,其特征在于,所述获取话题关联数据,包括:获取所述用户的搜索行为数据,并根据所述搜索行为数据获取对应的搜索对象,以及根据所述搜索对象生成所述话题关联数据;或者获取所述用户的浏览行为数据,并根据所述浏览行为数据获取对应的浏览对象,根据所述浏览对象生成所述话题关联数据。
44、如权利要求41所述的方法,其特征在于,所述根据所述话题关联数据建立所述话题图谱,具体包括:通过RandomWalk算法、关联分析算法、协同过滤算法中的一种或多种,根据所述话题关联数据建立所述话题图谱。
45、如权利要求39所述的方法,其特征在于,所述根据所述交互信息确定当前话题,具体包括:对所述交互信息进行需求识别以及相关性计算以确定所述当前话题。
46、如权利要求39所述的方法,其特征在于,所述引导和推荐服务子系统根据所述用户画像数据从所述多个与所述当前话题相关的待选引导话题中选择引导话题,并向所述用户反馈所述引导话题,具体包括:根据所述用户画像数据和所述交互信息的上下文信息确定所述用户的意图信息;根据所述用户的意图信息从所述多个与所述当前话题相关的待选引导话题中选择引导话题,并向所述用户反馈所述引导话题。
47、如权利要求39所述的方法,其特征在于,还包括:对所述交互信息进行解析,并获取所述交互信息中的关键字段,所述关键字段包括时间信息、地点信息、提醒事件的一种或多种;根据所述关键字段建立提醒信息;当所述时间信息达到预设时间时,向用户发送所述提醒信息。
48、如权利要求1所述的方法,其特征在于,还包括:如果在网络资源中不存在满足所述用户需求的所述用户返回结果,则记录所述用户的输入信息;以预设周期监控所述网络资源中是否存在满足所述用户需求的所述用户返回结果;当所述用户返回结果存在时,将所述用户返回结果提供至所述用户。
49、如权利要求1所述的方法,其特征在于,还包括:所述垂类服务模块获取用户输入的查询词;所述垂类服务模块确定所述查询词属于的垂类;所述垂类服务模块在所述查询词属于的垂类中,与用户进行至少一轮的交互,得到用户需要的查询结果,其中,每轮交互时,展示给用户的信息包括:对应查询词的查询结果,以及,引导信息。
50、根据权利要求49所述的方法,其特征在于,所述查询词是自然语言表示的,所述在所述查询词属于的垂类中,与用户进行至少一轮的交互,得到用户需要的查询结果,包括:将所述查询词解析为所述查询词属于的垂类的垂类知识体系能够表示的结构化信息;根据所述结构化信息、所述垂类知识体系,以及,所述查询词属于的垂类的垂类资源库,获取相关信息,所述相关信息包括:对应所述查询词的查询结果,以及,引导信息;向用户展示所述查询结果和所述引导信息;在用户根据所述引导信息再次输入查询词后,重复上述根据查询词获取相关信息的流程,直至得到用户需要的查询结果。
51、根据权利要求50所述的方法,其特征在于,所述根据所述结构化信息、所述垂类知识体系,以及,所述查询词属于的垂类的垂类资源库,获取相关信息,包括:根据所述结构化信息和用户前一次的状态信息,更新用户的当前状态信息;根据所述垂类知识体系和所述垂类资源库,生成所述当前状态信息对应的候选动作;根据预设模型在所述候选动作中选择与所述当前状态信息匹配程度大于设定值的预设个数的候选动作,将选择的候选动作作为相关信息。
52、根据权利要求51所述的方法,其特征在于,还包括:根据用户的反馈更新预设模型的参数,以便在参数不同时选择不同的候选动作。
53、根据权利要求51所述的方法,其特征在于,还包括:根据用户的偏好或者交互历史,获取用户的初始化状态信息。
54、根据权利要求51所述的方法,其特征在于,所述候选动作包括:满足用户需求的动作,或者,进一步澄清用户需求的动作,或者,为用户需求提供横向或纵向的引导信息,其中,用户需求根据查询词确定,所述满足用户需求的动作,或者,进一步澄清用户需求的动作在被选择后作为查询结果,为用户需求提供横向或纵向的引导信息在被选择后作为引导信息。
55、根据权利要求50所述的方法,其特征在于,还包括:获取所述查询词属于的垂类的结构化资源和非结构化资源,将所述结构化资源和所述非结构化资源组成所述垂类资源库,其中,所述结构化资源是从多个对应的垂类网站抓取整合数据后得到的全亮数据资源,所述非结构化资源根据用户查询词或互联网文本挖掘得到的结构化资源的补充或扩展信息。
56、根据权利要求49-55任一项所述的方法,其特征在于,所述获取用户输入的查询词,包括:获取用户以文本、语音或图像输入的查询词。
57、根据权利要求56所述的方法,其特征在于,所述确定所述查询词属于的垂类,包括:基于机器学习方式,或者,基于模式解析方式,确定所述查询词属于的垂类。
58、一种基于人工智能的人机交互系统,其特征在于,包括:第一接收子系统,用于接收用户通过应用终端输入的输入信息;分发子系统,用于根据所述用户的输入信息获取所述用户的意图信息,并根据所述意图信息将所述输入信息分发至至少一个交互服务子系统;第二接收子系统,用于接收所述至少一个交互服务子系统返回的返回结果;生成子系统,用于按照预设的决策策略根据所述返回结果生成用户返回结果;以及提供子系统,用于将所述用户返回结果提供至所述用户;所述交互服务子系统包括需求满足服务子系统、引导和推荐服务子系统和聊天服务子系统中的一种或多种;所述需求满足服务子系统,具体包括:第三获取模块,用于获取用户输入的问题信息;第四获取模块,用于根据所述问题信息获取用户的用户需求信息;第一分发模块,用于根据所述用户需求信息将所述问题信息分发至对应的至少一个问答服务模块;以及第二决策模块,用于接收所述至少一个问答服务模块返回的问答结果,并对所述问答结果进行决策以确定最终的问答结果;所述问答服务模块包括阿拉丁服务模块、垂类服务模块、深度问答服务模块和信息搜索服务模块;所述深度问答服务模块,具体包括:第一接收子模块,用于接收所述问题信息;第一获取子模块,用于根据所述问题信息获取对应的问题类型;生成子模块,用于根据所述问题类型选择对应的问答模式,并根据选择的答案生成模式和所述问题信息生成对应的问答结果。
59、如权利要求58所述的系统,其特征在于,所述提供子系统,具体用于:将所述用户返回结果转化为自然语言并播报给所述用户。
60、如权利要求58所述的系统,其特征在于,还包括:所述第一接收子系统,还用于接收用户的定制任务信息;以及所述分发子系统,还用于根据所述定制任务信息将所述输入信息分发至至少一个交互服务子系统。
61、如权利要求58所述的系统,其特征在于,所述应用终端包括PC端、移动终端或智能机器人。
62、如权利要求58所述的系统,其特征在于,所述系统还包括:发送子系统,当所述用户返回结果包括执行指令时,将所述执行指令发送至对应的执行子系统;所述执行子系统执行所述执行指令。
63、如权利要求58所述的系统,其特征在于,所述生成子系统,具体包括:第一获取模块,用于获取所述输入信息的需求分析特征;第二获取模块,用于获取所述交互服务子系统返回的返回结果的置信度特征、所述用户的对话交互信息的上下文特征以及所述用户的个性化模型特征;第一决策模块,用于根据所述需求分析特征、所述返回结果的置信度特征、所述用户的对话交互信息的上下文特征以及所述用户的个性化模型特征对所述返回结果进行决策以确定所述用户返回结果。
64、如权利要求63所述的系统,其特征在于,所述需求分析特征、所述返回结果的置信度特征、所述用户的对话交互信息的上下文特征以及所述用户的个性化模型特征分别对应有各自的决策权重。
65、如权利要求64所述的系统,其特征在于,所述生成子系统还包括:训练模块,用于根据所述用户的日志基于增强学习模型对所述需求分析特征、所述返回结果的置信度特征、所述用户的对话交互信息的上下文特征以及所述用户的个性化模型特征的决策权重进行训练。
66、如权利要求58所述的系统,其特征在于,所述系统还包括:补全子系统,用于获取与所述用户交互的交互上文信息,并根据所述交互上文信息对所述输入信息进行补全。
67、如权利要求58所述的系统,其特征在于,当所述问题类型为实体类型时,所述生成子模块,具体包括:第一生成单元,用于根据所述问题信息生成实体类问题信息;扩展单元,用于基于搜索引擎抓取的摘要和历史展现日志对所述实体类问题信息进行扩展以生成同族实体问题信息簇,其中,所述同族实体问题信息簇分别对应候选答案;抽取单元,用于从所述同族实体问题信息簇分别对应候选答案中抽取候选实体;第一计算单元,用于计算所述候选实体的置信度;以及第一反馈单元,用于将所述置信度大于预设置信度阈值的候选实体作为问答结果进行反馈。
68、如权利要求58所述的系统,其特征在于,当所述问题类型为观点类型时,所述生成子模块,具体包括:第一获取单元,用于获取所述问题信息对应的候选答案;第一切分单元,用于对所述候选答案进行切分以生成多个候选答案短句;第一聚合单元,用于对所述多个候选答案短句进行聚合以生成观点聚合簇;判断单元,用于判断所述观点聚合簇的观点类型;选择单元,用于根据所述观点类型从所述观点聚合簇中选择出答案观点,并生成所述答案观点对应的摘要;评分反馈单元,用于对所述答案观点进行评分,并将评分大于预设评分阈值的答案观点作为问答结果进行反馈。
69、如权利要求68所述的系统,其特征在于,所述第一聚合单元,具体用于:提取所述多个候选答案短句中的关键词,并计算每两个所述关键词之间的向量夹角和/或语义相似度,以及对所述向量夹角小于预设角度或语义相似度大于预设阈值的所述候选答案进行聚合以生成观点聚合簇。
70、如权利要求58所述的系统,其特征在于,当所述问题类型为片段类型时,所述生成子模块,具体包括:第二获取单元,用于获取所述问题信息对应的候选答案;第二切分单元,用于对所述候选答案进行切分以生成多个候选答案短句;打分单元,用于对所述多个候选答案短句进行重要度打分以生成所述候选答案短句对应的短句重要度特征;第二生成单元,用于根据所述短句重要度特征生成答案摘要;第一排序单元,用于根据所述答案摘要的短句重要度特征对答案质量进行打分,并根据打分结果对候选答案进行排序;第二反馈单元,用于将排序结果作为问答结果进行反馈。
71、如权利要求70所述的系统,其特征在于,所述打分单元,具体用于:根据所述答案摘要的短句重要度特征、答案权威性、问题信息的相关性和答案的丰富度对答案质量进行打分。
72、如权利要求70所述的系统,其特征在于,所述第一排序单元,具体用于:获取用户的行为数据,并根据所述用户的行为数据和所述打分结果对所述候选答案进行排序。
73、如权利要求58-72任一项所述的系统,其特征在于,所述信息搜索服务模块,具体包括:第二接收子模块,用于接收所述问题信息;第一搜索子模块,用于根据所述问题信息进行搜索以生成多个候选网页;分析反馈子模块,用于对所述候选网页进行篇章分析以生成对应的摘要,并将摘要作为问答结果进行反馈。
74、如权利要求73所述的系统,其特征在于,分析反馈子模块,具体包括:分析单元,用于对候选网页进行篇章分析以生成对应的候选篇章;第二排序单元,用于对所述候选篇章中的句子进行打分排序;以及第三生成单元,用于根据打分排序结果生成摘要。
75、如权利要求74所述的系统,其特征在于,所述第三生成单元,具体用于:获取用户的需求场景信息,并根据所述需求场景信息和所述打分排序结果生成所述摘要。
76、如权利要求74所述的系统,其特征在于,所述分析反馈子模块,还包括:第二聚合单元,用于对多个候选篇章的信息进行聚合。
77、如权利要求58所述的系统,其特征在于,所述聊天服务子系统,具体包括:第一接收模块,用于接收用户输入的输入信息;第二分发模块,用于将所述输入信息分发至聊天服务模块;第二接收模块,用于接收多个聊天服务模块返回的候选回复,其中,所述候选回复具有对应的置信度;排序模块,用于基于所述置信度对所述候选回复进行排序,并根据排序结果生成聊天信息,并向所述用户提供所述聊天信息。
78、如权利要求77所述的系统,其特征在于,还包括:纠错模块,用于在所述接收用户输入的输入信息之后,对所述输入信息进行纠错和/或改写。
79、如权利要求77所述的系统,其特征在于,还包括:分析模块,用于在所述接收用户输入的输入信息之后,对所述输入信息进行领域分析以获取所述输入信息对应的领域;所述第二分发模块,用于根据所述输入信息对应的领域将所述输入信息分发至具有相同或相近似领域的聊天服务模块。
80、如权利要求77所述的系统,其特征在于,还包括:第五获取模块,用于在所述接收用户输入的输入信息之后,获取与所述用户聊天的上文信息;第一判断模块,用于根据所述上文信息判断所述输入信息与所述上文信息的依赖关系是否大于预设关系阈值;以及补全模块,用于当所述输入信息与所述上文信息的依赖关系大于所述预设关系阈值时,根据所述上文信息对所述输入信息进行补全。
81、如权利要求80所述的系统,其特征在于,还包括:第六获取模块,用于根据所述上文信息获取所述用户当前的话题信息。
82、如权利要求77所述的系统,其特征在于,所述聊天服务模块包括基于搜索的聊天模块、富知识聊天模块、基于画像的聊天模块和基于众包的聊天模块中的一种或多种。
83、如权利要求82所述的系统,其特征在于,所述基于搜索的聊天模块,具体包括:切词子模块,用于对所述输入信息进行切词以生成多个聊天短句;查询子模块,用于根据所述多个聊天短句查询聊天语料库以生成多个聊天语料上句,以及所述多个聊天语料上句对应的多个聊天语料下句;过滤子模块,用于对所述多个聊天语料上句进行过滤;分类子模块,用于对过滤之后的聊天语料上句对应的聊天语料下句进行分类;以及第一重排序子模块,用于对分类之后的所述聊天语料下句进行重排序,并根据排序结果生成所述候选回复。
84、如权利要求83所述的系统,其特征在于,所述过滤子模块,具体包括:第二计算单元,用于计算所述输入信息与所述多个聊天语料上句之间的相似度;过滤单元,用于如果所述相似度小于第一预设相似度阈值,则将对应的聊天语料上句过滤;以及保留单元,用于如果所述相似度大于或等于所述第一预设相似度阈值,则将对应的聊天语料上句保留。
85、如权利要求83所述的系统,其特征在于,所述分类子模块,具体包括:第三计算单元,用于计算所述输入信息与所述多个聊天语料下句之间的相似度;以及分类单元,用于根据所述相似度对所述多个聊天语料下句进行分类。
86、如权利要求85所述的系统,其特征在于,所述输入信息与所述多个聊天语料下句之间的相似度包括:所述输入信息与所述聊天语料下句之间字面的相似度;或者,所述输入信息与所述聊天语料下句基于深度神经网络训练得到的相似度;或者,所述输入信息与所述聊天语料下句基于机器翻译模型训练得到的相似度。
87、如权利要求83所述的系统,其特征在于,所述第一重排序子模块,具体包括:第三获取单元,用于根据所述用户聊天的上文信息获取所述用户的聊天属性;重排序单元,用于根据所述聊天属性对所述分类之后的所述聊天语料下句进行重排序。
88、如权利要求82所述的系统,其特征在于,所述富知识聊天模块,具体包括:第二搜索子模块,用于根据所述输入信息生成搜索词,并根据所述搜索词进行搜索以生成多个搜索结果;抽取子模块,用于对所述多个搜索结果进行句子抽取,以获取候选句子集合;改写子模块,用于对所述候选句子集合中的句子进行改写以生成所述候选回复。
89、如权利要求88所述的系统,其特征在于,所述候选句子集合中的句子与所述搜索词的相似度大于第二预设相似度阈值。
90、如权利要求88所述的系统,其特征在于,还包括:第二重排序子模块,用于根据所述用户的聊天属性对所述候选句子集合中的句子进行重排序。
91、如权利要求82所述的系统,其特征在于,所述基于画像的聊天模块,具体包括:第二获取子模块,用于获取所述用户的聊天语境;第一判断子模块,用于根据所述聊天语境判断是否满足收集条件;发送子模块,用于如果判断满足所述收集条件,则向所述用户发送问题;第一更新子模块,用于接收所述用户根据所述问题的回答信息,并根据所述回答信息对用户画像模型进行更新。
92、如权利要求82所述的系统,其特征在于,所述基于画像的聊天模块,具体包括:第三获取子模块,用于获取所述用户的聊天内容;提取子模块,用于根据所述聊天内容提取用户画像数据;第二更新子模块,用于根据提取的所述用户画像数据对用户画像模型进行更新。
93、如权利要求82所述的系统,其特征在于,所述基于众包的聊天模块,具体用于:判断所述输入信息是否适合众包完成,如果判断适合众包完成,则将所述输入信息分发至对应的执行者,以及接收所述执行者的回复信息,并对所述回复信息进行质量判断,如果满足质量要求,则将所述回复信息作为所述候选回复。
94、如权利要求77所述的系统,其特征在于,所述聊天服务子系统,还包括:第二判断模块,用于判断所述输入信息是否属于无实际内容的聊天信息;第七获取模块,用于如果判断是属于无实际内容的聊天信息,则获取当前话题;第一生成模块,用于根据所述当前话题生成引导话题;以及第二生成模块,用于根据所述引导话题生成所述候选回复。
95、如权利要求77所述的系统,其特征在于,所述排序模块,具体用于:获取所述用户的所述输入信息的特征,并基于所述输入信息的特征和所述置信度对所述候选回复进行排序。
96、如权利要求58所述的系统,其特征在于,所述引导和推荐服务子系统,具体包括:确定模块,用于接收用户输入的交互信息,并根据所述交互信息确定当前话题;获得模块,用于基于话题图谱获得多个与所述当前话题相关的待选引导话题,其中,所述话题图谱包括多个话题及所述话题之间的关联关系;第八获取模块,用于获取所述用户的用户画像数据;以及反馈模块,用于根据所述用户画像数据从所述多个与所述当前话题相关的待选引导话题中选择引导话题,并向所述用户反馈所述引导话题。
97、如权利要求96所述的系统,其特征在于,还包括:建立模块,用于在所述引导和推荐服务子系统基于话题图谱获得多个与所述当前话题相关的待选引导话题之前,建立所述话题图谱。
98、如权利要求97所述的系统,其特征在于,所述建立模块,具体包括:第四获取子模块,用于获取话题关联数据;以及建立子模块,用于根据所述话题关联数据建立所述话题图谱。
99、如权利要求98所述的系统,其特征在于,所述第四获取子模块,具体用于:获取网络文本数据;当所述网络文本数据为非结构化数据时,基于实体提取和句法分析获取所述话题关联数据;或者当所述网络文本数据为半结构化数据时,基于页面结构分析、标签提取、实体识别获取所述话题关联数据;或者当所述网络文本数据为结构化数据时,从知识图谱中获取所述话题关联数据。
100、如权利要求98所述的系统,其特征在于,所述第四获取子模块,具体用于:获取所述用户的搜索行为数据,并根据所述搜索行为数据获取对应的搜索对象,以及根据所述搜索对象生成所述话题关联数据;或者获取所述用户的浏览行为数据,并根据所述浏览行为数据获取对应的浏览对象,根据所述浏览对象生成所述话题关联数据。
101、如权利要求98所述的系统,其特征在于,所述建立子模块,具体用于:通过RandomWalk算法、关联分析算法、协同过滤算法中的一种或多种,根据所述话题关联数据建立所述话题图谱。
102、如权利要求96所述的系统,其特征在于,所述确定模块,具体用于:对所述交互信息进行需求识别以及相关性计算以确定所述当前话题。
103、如权利要求96所述的系统,其特征在于,所述反馈模块,具体用于:根据所述用户画像数据和所述交互信息的上下文信息确定所述用户的意图信息,以及根据所述用户的意图信息从所述多个与所述当前话题相关的待选引导话题中选择引导话题,并向所述用户反馈所述引导话题。
104、如权利要求96所述的系统,其特征在于,还包括:解析模块,用于对所述交互信息进行解析,并获取所述交互信息中的关键字段,所述关键字段包括时间信息、地点信息、提醒事件的一种或多种;建立提醒模块,用于根据所述关键字段建立提醒信息;提醒模块,用于当所述时间信息达到预设时间时,向用户发送所述提醒信息。
105、如权利要求58所述的系统,其特征在于,还包括:记录子系统,用于如果在网络资源中不存在满足所述用户需求的所述用户返回结果,则记录所述用户的输入信息;监控子系统,用于以预设周期监控所述网络资源中是否存在满足所述用户需求的所述用户返回结果;提供子系统,还用于当所述用户返回结果存在时,将所述用户返回结果提供至所述用户。
106、如权利要求58所述的系统,其特征在于,所述垂类服务模块,具体包括:第五获取子模块,用于获取用户输入的查询词;确定子模块,用于确定所述查询词属于的垂类;交互子模块,用于在所述查询词属于的垂类中,与用户进行至少一轮的交互,得到用户需要的查询结果,其中,每轮交互时,展示给用户的信息包括:对应查询词的查询结果,以及,引导信息。
107、根据权利要求106所述的系统,其特征在于,所述查询词是自然语言表示的,所述交互子模块,具体包括:解析单元,用于将所述查询词解析为所述查询词属于的垂类的垂类知识体系能够表示的结构化信息;第四获取单元,用于根据所述结构化信息、所述垂类知识体系,以及,所述查询词属于的垂类的垂类资源库,获取相关信息,所述相关信息包括:对应所述查询词的查询结果,以及,引导信息;展示单元,用于向用户展示所述查询结果和所述引导信息;第五获取单元,用于在用户根据所述引导信息再次输入查询词后,重复上述根据查询词获取相关信息的流程,直至得到用户需要的查询结果。
108、根据权利要求107所述的系统,其特征在于,所述第四获取单元,具体包括:更新子单元,用于根据所述结构化信息和用户前一次的状态信息,更新用户的当前状态信息;生成子单元,用于根据所述垂类知识体系和所述垂类资源库,生成所述当前状态信息对应的候选动作;匹配子单元,用于根据预设模型在所述候选动作中选择与所述当前状态信息匹配程度大于设定值的预设个数的候选动作,将选择的候选动作作为相关信息。
109、根据权利要求108所述的系统,其特征在于,还包括:更新参数单元,用于根据用户的反馈更新预设模型的参数,以便在参数不同时选择不同的候选动作。
110、根据权利要求108所述的系统,其特征在于,还包括:获取子单元,用于根据用户的偏好或者交互历史,获取用户的初始化状态信息。
111、根据权利要求108所述的系统,其特征在于,所述候选动作包括:满足用户需求的动作,或者,进一步澄清用户需求的动作,或者,为用户需求提供横向或纵向的引导信息,其中,用户需求根据查询词确定,所述满足用户需求的动作,或者,进一步澄清用户需求的动作在被选择后作为查询结果,为用户需求提供横向或纵向的引导信息在被选择后作为引导信息。
112、根据权利要求107所述的系统,其特征在于,还包括:组成单元,用于获取所述查询词属于的垂类的结构化资源和非结构化资源,将所述结构化资源和所述非结构化资源组成所述垂类资源库,其中,所述结构化资源是从多个对应的垂类网站抓取整合数据后得到的全亮数据资源,所述非结构化资源根据用户查询词或互联网文本挖掘得到的结构化资源的补充或扩展信息。
113、根据权利要求106-112任一项所述的系统,其特征在于,所述第五获取子模块,具体用于:获取用户以文本、语音或图像输入的查询词。
114、根据权利要求106-113任一项所述的系统,其特征在于,所述确定子模块,具体用于:基于机器学习方式,或者,基于模式解析方式,确定所述查询词属于的垂类。
实施方式
下面详细描述《基于人工智能的人机交互方法和系统》的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的模块或具有相同或类似功能的模块。下面通过参考附图描述的实施例是示例性的,旨在用于解释该发明,而不能理解为对该发明的限制。
图1是根据该发明一个实施例的基于人工智能的人机交互方法的流程图。如图1所示,基于人工智能的人机交互方法可包括:
S1、接收用户通过应用终端输入的输入信息。其中,应用终端可包括PC端、移动终端或智能机器人。输入信息可以是文本信息、图像信息或语音信息。
S2、根据用户的输入信息获取用户的意图信息,并根据意图信息将输入信息分发至至少一个交互服务子系统。其中,交互服务子系统可包括需求满足服务子系统、引导和推荐服务子系统和聊天服务子系统等。在该发明的一个实施例中,可根据用户的输入信息获取用户的意图信息,然后根据意图信息将输入信息分发至上述的交互服务子系统。另外,还可接收用户的定制任务信息,并根据定制任务信息将输入信息分发至至少一个交互服务子系统。例如:有的用户的任务只进行搜索,则可只需定制需求满足服务子系统;有的用户的任务既需要搜索,又需要进行聊天,则可定制需求满足服务子系统和聊天服务子系统,以上均可根据用户实际需求进行定制。
S3、接收至少一个交互服务子系统返回的返回结果。
S4、按照预设的决策策略根据返回结果生成用户返回结果,并将用户返回结果提供至用户。
具体地,如图2所示,按照预设的决策策略根据返回结果生成用户返回结果可包括以下步骤:
S41、获取输入信息的需求分析特征。
S42、获取交互服务子系统返回的返回结果的置信度特征、用户的对话交互信息的上下文特征以及用户的个性化模型特征。
S43、根据需求分析特征、返回结果的置信度特征、用户的对话交互信息的上下文特征以及用户的个性化模型特征对返回结果进行决策以确定用户返回结果。
具体地,对返回结果进行决策以确定用户返回结果主要基于以下几个特征:1、需求分析特征,通过对用户的问题信息进行需求分析,可选择更符合用户需求的问答服务模块提供的问答结果。2、问答结果置信度特征,每个问答服务模块提供的问答结果均具有置信度,可选择置信度高的问答结果。3、用户的对话交互信息的上下文特征,可选择更符合上下文信息的问答结果。4、用户的个性化模型特征,可选择更符合用户个性化需求的问答结果。其中,需求分析特征、问答结果的置信度特征、用户的对话交互信息的上下文特征以及用户的个性化模型特征分别对应有各自的决策权重。基于以上特征对问答结果进行决策,从而确定最终的问答结果。在确定最终的问答结果后,可反馈给用户,从而满足用户的需求。其中,问答结果可通过语音播报的方式,亦可以通过屏幕显示的方式反馈给用户。采用语音播报的方式使得人机交互的过程更加简便、自然。
另外,还可根据用户的日志基于增强学习模型对需求分析特征、问答结果的置信度特征、用户的对话交互信息的上下文特征以及用户的个性化模型特征的决策权重进行训练,从而为用户提供更符合用户需求的问答结果。其中,需求分析特征、返回结果的置信度特征、用户的对话交互信息的上下文特征以及用户的个性化模型特征分别对应有各自的决策权重。在生成用户返回结果之后,可将用户返回结果转化为自然语言并播报给用户。当然,也可直接将用户返回结果对应的文本展现给用户。
在该发明的一个实施例中,如果用户返回结果中包括有执行指令,则可将执行指令发送至对应的执行子系统,并通过执行子系统进行执行。其中,执行指令可包括但不仅限于硬件动作指令、播放音乐指令以及朗读故事指令等。举例来说,硬件动作指令主要针对智能机器人,智能机器人可具有头部、躯干、四肢等硬件组成部件,因此可执行诸如“点点头”、“笑一下”、“举起手来”等操控智能机器人硬件组成部件的指令。播放音乐指令通常可包括开始播放、停止播放、上一首、下一首、大点声、声音小一点等。注:用户对于特定类型或风格等音乐的搜索(如“适合睡前听的音乐”、“周杰伦好听的歌”等)并不属于播放音乐指令。朗读故事指令主要针对的是面向儿童的应用,如智能机器人需要代替父母给儿童讲故事。与播放音乐指令类似,对特定主题、人物、情节等的故事进行搜索也不属于朗读故事指令。
此外,在接收用户通过应用终端输入的输入信息之后,还可获取与用户交互的交互上文信息,然后可根据交互上文信息对输入信息进行补全。具体地,在多轮交互过程中,用户通常会基于对话上文省略输入信息中的一部分内容,因此需要对输入信息进行补全,从而澄清用户的需求。例如:对话上文为“北京有什么小吃?”,而输入信息为“那特产呢?”,则需要对输入信息进行补全,生成新的问题信息“北京有什么特产?”。
在该发明的实施例中,如果在网络资源中不存在满足用户需求的用户返回结果,则可记录用户的输入信息,然后以预设周期监控网络资源中是否存在满足用户需求的用户返回结果,并当用户返回结果存在时,可将用户返回结果提供至用户。举例来说,用户搜索一部刚上映的电影,但是网络资源中并没有相应资源,则可记录下该用户这一需求,并按照一定周期搜索网络资源中是否出现相应资源。当搜索到相应资源后,可将该资源推送给用户,即实现异步需求满足。
如图3所示,需求满足服务子系统可执行以下步骤:
S31、获取用户输入的问题信息。其中,问题信息可以是文字信息,也可以是语音信息。例如,用户输入的问题信息“北京有什么小吃?”。
S32、根据问题信息获取用户的用户需求信息。具体地,可对问题信息进行需求分析,从而获取用户的用户需求信息。举例来说,用户需求信息可以为垂类需求、阿拉丁需求、深度问答需求、信息搜索需求等。
S33、根据用户需求信息将问题信息分发至对应的至少一个问答服务模块。其中,问答服务模块可包括阿拉丁服务模块、垂类服务模块、深度问答服务模块和信息搜索服务模块。
在该发明的一个实施例中,当用户需求信息为阿拉丁需求时,可将问题信息分发至阿拉丁服务模块;当用户需求信息为垂类需求时,可将问题信息分发至垂类服务模块;当用户需求信息为深度问答需求时,可将问题信息分发至深度问答服务模块;当用户需求信息为信息搜索需求时,可将问题分发至信息搜索服务模块。
其中,阿拉丁服务是能够为用户需求提供精准满足的一类服务的统称,例如美元兑换人民币、2015年春节放假等。举例来说,用户的问题信息为“刘德华的老婆是谁?”,则可对该问题信息进行分析,可分析出需求类型为“人物”,查询主体为“刘德华”,查询属性为“老婆”,并可将查询属性进行归一,将查询属性归一为“妻子”。然后搜索并获得结果字段为“朱丽倩”,再基于自然语言生成技术(Natural Language Generation)生成问答结果“刘德华的老婆是朱丽倩”。再例如:用户的问题信息为“北京明天热吗?”,通过搜索并获得结果字段为“35摄氏度”,可基于常识知识库和预设的规则,生成问答结果“明天天气很热,最高温度为35摄氏度,建议注意防暑降温。”其中,常识知识库可包括常识类知识,如温度高于30摄氏度属于天气热。
垂类服务是针对垂类需求进行多轮交互的服务,例如“订机票”等。垂类服务主要通过对话控制技术(Dialogue Management)和对话策略技术(Dialogue Policy),对用户的需求进行澄清,从而向用户提供满足用户需求的问答结果。举例来说,用户的问题信息为“北京到上海的机票”,则可对该问题信息进行分析,然后向用户反问“您的出发日期是哪天?”,用户回答“明天”,然后继续反问“您对航空公司是否有要求?”等,逐步澄清用户的需求,并最终返回满足用户需求的问答结果。
S34、接收至少一个问答服务模块返回的问答结果,并对问答结果进行决策以确定最终的问答结果。其中,对问答结果进行决策以确定最终的问答结果的实现方法与步骤S43中对返回结果进行决策以确定用户返回结果的实现方法运用的技术手段一致。
具体地,如图4所示,垂类服务模块可执行以下步骤:
S331,获取用户输入的查询词。在该发明的一个实施例中,用户可通过多种方式输入查询词,例如,用户可以以文本、语音或图像输入查询词。在用户通过语音或者图像输入时,可将输入的语音或者图像转换为用户方便理解的自然语言的查询词,并在交互界面上显示对应的文本。例如,在用户通过语音方式输入查询词后,可基于语言模型将用户输入的语音转换为对应的文本,并以自然语言的形式在交互界面上显示用户输入的查询词。
S332,确定查询词属于的垂类。具体地,在获得用户输入的查询词后,需要确定查询词属于的垂类,以方便后续在查询词属于的垂类下,与用户进行交互,或者获得查询词的相关信息。截至2015年9月7日,可通过多种方式确定查询词所属的垂类,用户可根据实际需求进行选择,举例说明如下:
(1)基于机器学习方式确定查询词属于的垂类。
具体地,首先从搜索引擎日志(包含语音搜索)中挖掘和标注与垂类相关的查询(query),构建垂类相关的训练数据集合,然后对训练数据提取特征,训练机器学习分类器(例如最大熵模型、支持向量机)根据提取到的特征对垂类需求查询进行分类,以确定查询词语与垂类的对应关系,并保存查询词语与垂类的对应关系。
注:在分类的过程中,对于多个垂类,可以采用所有类别统一模型多分类,也可以采用每个垂类单独模型二分类,最后统一决策。具体而言,在获得查询词后,可通过查询词与垂类的对应关系确定查询词对应的垂类。例如,在接收到用户输入的查询词为“天蚕土豆的小说”后,由于查询词中包含作者名,小说等词,通过机器学习方式可确定该查询词对应的垂类为小说垂类。
(2)基于模式解析方式确定查询词属于的垂类。
为了可以基于模式解析方式确定查询词属于的垂类,在确定查询词属于的垂类之前,针对每类垂类(例如小说垂类,美食垂类、地点垂类、餐馆垂类等),可构建关键词列表,并保存垂类与关键词之间的对应关系。在接收到用户输入的查询词后,可基于分词、命名实体识别等技术,对查询中的实体和关键词进行解析,并用解析结果匹配垂直类别的模式集合,如果匹配成功,则发到对应的垂直类别。
以找餐馆垂类为例:假定用户当前输入的查询词为“三里屯附近安静的餐厅”,首先对这个query做分词、命名实体识别等基础词法分析,通过分析可确定该query对应的模式为:【地点】_【风格】_【餐厅】。每个类别单独挖掘模式集合。也就是说,对于待分发的query,首先,通过分词、命名实体识别等基础词法分析方式对query进行分析,然后将分析结果与垂直类别的模式集合进行匹配,如果匹配成功,则分发到对应的垂直类别。
S333,在查询词属于的垂类中,与用户进行至少一轮的交互,得到用户需要的查询结果,其中,每轮交互时,展示给用户的信息包括:对应查询词的查询结果,以及,引导信息。在该发明的一个实施例中,在查询词属于的垂类中,与用户进行至少一轮的交互得到用户需要的查询结果的具体过程,如图5所示,可以包括:
S3331,将查询词解析为查询词属于的垂类的垂类知识体系能够表示的结构化信息。其中,每种垂类的垂类知识体系是预先建立的,垂类知识体系是基于垂直类别结构化网页提供的信息和用户需求表示体系建立起来的。其中,用户需求表示体系是用户需求的语义表示体系,具体地,可从用户需求表示体系中挖掘出语义和结构知识。
注:用户需求是根据查询词确定的。也就是说,用户需求表示体系中包含大量与用户需求对应的查询词,通过对查询词进行分析,可从中获得查询词的语义和结构知识。每种垂类的垂类知识体系的结构形式不同,下面举例说明一下垂类知识体系的结构形式。
例如,餐馆垂类的垂类知识体系的结构形式如表1所示。
通过表1可以看出,餐馆垂类的垂类知识体系中包含各餐馆相关的位置、菜系、口味、环境等多个维度信息,以及各维度可能的取值。
S3332,根据结构化信息、垂类知识体系,以及,查询词属于的垂类的垂类资源库,获取相关信息。其中,相关信息可以包括但不限于对应查询词的查询结果和引导信息。
在该发明的一个实施例中,为了可以获得查询词属于的垂类的垂类资源,步骤S3332之前,还可以获取查询词属于的垂类的结构化资源和非结构化资源,并将结构化资源和非结构化资源组成垂类资源库。其中,结构化资源是从多个对应的垂类网站抓取整合数据后得到的全量数据资源,非结构化资源根据用户查询词或互联网文本挖掘得到的结构化资源的补充或扩展信息。
下面以小说为例说明根据小说垂类的结构化资源和非结构化姿态组成小说垂类的垂类资源的过程。
通常垂直类别的结构化资源呈现复杂的体系结构,在组成小说垂类的垂类资源的过程中,可先获取小说垂类的结构化资源,具体地,可通过抓取起点中文网、纵横中文网、晋江、红袖、17K小说网、小说阅读网等主流中文小说网站上小说的信息建立全量数据资源。
然后,对于小说垂类的非结构化资源,可获取小说名、作者、类别、标签词、资源满足链接、小说简介、小说周边和百科信息等资源,并对所获得的上述资源进行整合。最后可将整合后的资源和上述全量数据资源保存至垂类资源库,以完成小说垂类的垂类资源的入库。其中,针对其他垂类,获取其对应的垂类资源的过程与获得小说垂类的垂类资源的过程相同。
在该发明的一个实施例中,获取对应查询词的相关信息的过程,如图6所示,可以包括:
S33321,根据结构化信息和用户前一次的状态信息,更新用户的当前状态信息。根据垂类场景中的常见对话流程,实现对话系统的状态空间构建和交互策略初始化。具体地,在用户第一次输入查询次后,可根据用户的偏好或者交互历史获取用户的初始化状态信息。
S33322,根据垂类知识体系和垂类资源库,生成当前状态信息对应的候选动作。其中,上述候选动作可以包括:满足用户需求的动作,或者,进一步澄清用户需求的动作,或者,为用户需求提供横向或纵向的引导信息。其中,用户需求根据查询词确定。
S33323,根据预设模型在候选动作中选择与当前状态信息匹配程度较高的预设个数的候选动作,将选择的候选动作作为相关信息。
具体地,在当前状态信息对应的候选动作后,可基于预设模型例如P O M D P(partially observable Markov decision processes,部分可见马尔科夫决策过程)模型从多个候选动作中选择与当前状态信息匹配程度较高的预设个数的候选动作,并将选择的候选动作作为查询词的查询结果和引导信息返回给用户,用户所使用的具有对话功能的应用程序的当前界面中显示查询词的查询结果和引导信息。其中,满足用户需求的动作,或者,进一步澄清用户需求的动作在被选择后作为查询结果,为用户需求提供横向或纵向的引导信息在被选择后作为引导信息。其中,预设个数是预先设定的,例如,预设个数为5,假定根据垂类知识体系和垂类资源库,生成当前状态信息的候选动作为10,此时,可通过POMDP模型选择出与当前状态信息匹配程度较高的5个候选动作,并将选择的候选动作作为相关信息返回给用户。
S3333,向用户展示查询结果和引导信息。
S3334,在用户根据引导信息再次输入查询词后,重复上述根据查询词获取相关信息的流程,直至得到用户需要的查询结果。
在该发明的一个实施例中,还可以根据用户的反馈更新预设模型的参数,以便在参数不同时选择不同的候选动作。也就是说,在用户再次输入查询词后,可根据用户再次输入的查询词调整预设模型的参数,以使预设模型根据调整后的参数为用户选择不同的候选动作。即根据当前状态信息提供引导信息和满足信息,不同状态信息对应的引导信息和满足信息不同,系统会根据当前状态信息和用户需求提供最优的满足信息和引导信息,以引导用户查询垂类信息。
例如,当前用户输入的查询词为“西餐厅”,可确定该查询词对应的垂类为美食垂类,同时通过查询词可确定当前用户的用户需求是找一家西餐厅吃饭,由于时根据查询词不能确定用户需要什么类型的西餐厅,此时,根据垂类知识体系和垂类资源库可多种候选动作,并通过POMDP模型选择出与当前状态信息匹配程度较高的13个候选动作,并将选择的13个候选动作为查询的相关信息返回给用户。其中,当前用户的当前界面中显示的查询结果如图7所示,根据查询词不能确定用户需要什么类型的西餐厅,此时,可引导用户提供更加详细的第一引导信息,并提供与第一引导信息相对应的可能的回答,即第二引导信息,以方便用户选择或者输入。其中,用户还可通过点击下一条指示按键查看与第一指导信息相对应的其他回答。在用户点击“请客户吃饭后”,可根据用户当前输入的查询词确定符合用户需求的一家餐馆,并获得与当前查询词的查询结果和引导信息,其中,包含当前查询词的相关信息的界面,如图8所示,此时,用户可根据引导信息,进步一提问更多关于餐馆的问题,如是否有wifi,是否方便停车等问题。
再例如,如果当前用户输入的查询词为“天蚕土豆的小说”,在接收到用户的查询词后,通过语义分析可确定查询词中包含小说作者的名称,根据查询词可确定查询词对应的垂类为小说垂类,同时通过查询词可确定用户是想要根据作者名查询图书,可根据作者名获得对应的候选动作,并在用户所使用的应用程序中显示查询词对应的相关信息,包含查询词的相关信息的界面形式如图9所示,此时,用户可根据需求点击对应的书名。另外,用户还以通过点击第一按键,进行账号登录,或者清空消息记录。
再例如,如果当前用户输入的查询词为“好吃的韩国烤肉”,在接收到用户输入的查询词后,可将查询词对应的垂类为餐馆美食垂类,具体而言,可将查询词解析为垂类知识体系能够表示的结构化信息,并根据结构化信息、垂类知识体系和查询词属于的垂类的垂类资源库获取查询词对应的查询结果和引导信息,并将所获得的查询词的查询结果和引导信息返回给用户,其中,包含查询词的相关信息的用户界面,如图10所示,此时,用户可根据引导信息另选一个,也可以根据需求直接确定这家店。另外,用户还可通过点击下一条提示按键查看其他引导信息。
综上可知,该实施例的基于人工智能的信息查询方法具有以下有益效果:(1)与通过搜索引擎查找相比,在查询过程中,该实施例的信息查询方式不需要用户对垂直类别有较深的了解,通过多轮交互的方式,引导用户准确描述需求,并根据需求为用户提供对应的查询结果和引导信息。(2)对比垂类网站浏览方式,该实施例的信息查询方式,不需要用户浏览大量的网页,且无需人工过滤无用的信息,该查询方式智能过滤无用的信息,仅为用户提供与查询词的相关信息。(3)对比相关的对话系统,该实施例的信息查询方式,针对垂直类别资源结构的复杂性做特定处理,产生基于垂类实体结构的状态空间,可以对垂类内的深层次问题进行满足,并通过引导信息提示用户再次输入查询词,以进行下一轮的查询,也就是说,该实施的信息查询方式通过显示引导信息可有效引导用户提供正确的问题。
深度问答服务为针对用户输入的问题信息,基于深入的语义分析和知识挖掘技术,从而为用户提供精准的问答结果的服务。当用户需求信息为深度问答需求时,深度问答服务模块可接收问题信息,并根据问题信息获取对应的问题类型,然后根据问题类型选择对应的问答模式,以及根据选择的答案生成模式和问题信息生成对应的问答结果。其中,问题类型可包括实体类型、观点类型和片段类型。
更具体地,当问题类型为实体类型时,可根据问题信息生成实体类问题信息,并基于搜索引擎抓取的摘要和历史展现日志对实体类问题信息进行扩展以生成同族实体问题信息簇。其中,同族实体问题信息簇分别对应候选答案。然后从同族实体问题信息簇分别对应候选答案中抽取候选实体,再计算候选实体的置信度,以及将置信度大于预设置信度阈值的候选实体作为问答结果进行反馈。举例来说,问题信息为“刘德华老婆是谁?”,候选答案为“其实早在九二年时就有报道,刘德华和朱丽倩已经在加拿大秘密注册结婚…”,其中,候选实体为“刘德华”、“朱丽倩”、“加拿大”。然后基于实体知识库和问答语义匹配模型计算各候选实体的置信度,可计算出候选实体“朱丽倩”的置信度大于预设置信度阈值,则可确定“朱丽倩”为问答结果。另外,还可将候选答案中首次出现“朱丽倩”的分句作为答案摘要。
当问题类型为观点类型时,可获取问题信息对应的候选答案,并对候选答案进行切分以生成多个候选答案短句,然后对多个候选答案短句进行聚合以生成观点聚合簇。具体地,可根据短句中词汇的IDF(反文档频率)得分提取候选答案短句中的关键词,并对包含否定词的关键词进行泛化并生成否定标签,然后基于否定标签将关键词用向量进行表示,计算每两个关键词之间的向量夹角和/或语义相似度,然后对向量夹角小于预设角度或语义相似度大于预设阈值的候选答案进行聚合以生成观点聚合簇。
在此之后,可判断观点聚合簇的观点类型。其中,观点可包括是非类、评价类、建议类等。具体地,可通过预先设定的规则或者基于统计模型确定观点聚合簇的观点类型。然后根据观点类型从对应的观点聚合簇中选择出答案观点。其中,选择答案观点的规则可包括但不仅限于选取信息覆盖最全面的答案观点、选取IDF*log(IDF)值最低的答案观点和选取在候选答案对应的文章中出现次数最多的答案观点。其中,IDF为反文档频率。在此之后,可生成答案观点对应的摘要,然后可对答案观点进行评分,并将评分大于预设评分阈值的答案观点作为问答结果进行反馈。举例来说,问题信息为“怀孕注意事项”,其中一个候选答案为“怀孕时应谨守医、多、战原则,亦即定期看医师,多卧床休息,战胜自己的不良习惯。”,可将该候选答案切分为“怀孕时应谨守医、多、战原则”、“亦即定期看医师”、“多卧床休息”、“战胜自己的不良习惯”四个候选答案短句。然后可将候选答案短句中重复的内容或者近似的内容进行聚合生成观点聚合簇,并选出答案观点。之后,可根据信息丰富度、论据充分度、信息冗余度等对答案观点进行评分,并将评分大于预设评分阈值的答案观点作为问答结果进行反馈。此外,在选出答案观点后,可获取其在来源文章中所在的句子,然后按照预定长度截取句子,从而生成该答案观点对应的摘要。之后可根据内容丰富度、答案权威性对摘要进行排序。
当问题类型为片段类型时,可获取问题信息对应的候选答案,并对候选答案进行切分以生成多个候选答案短句,然后对多个候选答案短句进行重要度打分以生成候选答案短句对应的短句重要度特征,并根据短句重要度特征生成答案摘要,然后可根据答案摘要的短句重要度特征、答案权威性、问题信息的相关性和答案的丰富度对答案质量进行打分。其中,短句重要度特征可包括聚合特征、相关度特征、类型特征和问题答案匹配度特征。其中,聚合特征用于衡量短句的重复度,例如:词向量质心特征、NGram(计算出现概率)特征、Lexrank(多文本自动摘要)特征等。类型特征为问题的类型特征,如WHAT(什么)类型、WHY(为什么)类型、HOW(如何)类型等。答案权威性为答案来源的网站的权威度。在此之后,可获取用户的行为数据,然后根据用户的行为数据和打分结果对候选答案进行排序,最终将排序结果作为问答结果进行反馈。其中,用户的行为数据是可包括用户对问答结果的点击行为、在问答结果上停留的时间、通过当前的问答结果跳转至其他问答结果等用户的历史行为信息。
当用户需求信息为信息搜索需求时,信息搜索服务模块可接收问题信息,并根据问题信息进行搜索以生成多个候选网页,然后对候选网页进行篇章分析以生成对应的候选篇章。具体地,可对候选网页进行篇章内容抽取、篇章主题分割和篇章关系分析生成对应的候选篇章。其中,篇章内容抽取主要为识别候选网页的正文部分,删除与用户需求信息无关的内容。篇章主题分割为对篇章的主题结构进行分析,可将篇章划分为多个子主题。篇章关系分析为分析篇章中多个子主题之间的关系,例如并列关系等。在生成候选篇章之后,可对候选篇章中的句子进行打分排序。其中,打分排序主要基于句子在候选篇章中的重要度以及句子与用户需求信息之间的相关度。在此之后,可获取用户的需求场景信息,并根据需求场景信息和打分排序结果生成摘要,最终将摘要作为问答结果进行反馈。其中场景信息可包括移动终端场景、电脑场景。当场景信息为移动终端场景时,则可对句子进行压缩简写,使生成的摘要尽量简明扼要;当场景信息为电脑场景时,可对句子进行拼接融合,使得生成的摘要详细清楚。当然,生成候选篇章时,由于候选篇章中的内容均与用户需求信息具有相关性,则可能会有重复或互补的内容,则需要对多个候选篇章的信息进行聚合。
如图11所示,聊天服务子系统可执行以下步骤:
S51、接收用户输入的输入信息。其中,输入信息可以是语音信息,也可以是文本信息。在接收用户输入的输入信息之后,可对输入信息进行纠错和/或改写,用于纠正输入信息中的错别字,改写不规则的口语化表达等。另外,还可获取与用户聊天的上文信息,然后根据上文信息判断输入信息与上文信息的依赖关系是否大于预设关系阈值。如果大于预设关系阈值,则可根据上文信息对输入信息进行补全,从而保证人机聊天的流畅度。具体地,对输入信息进行补全可包括指代消解。举例来说,输入信息为“他结婚了么?”,则可根据上文信息“刘德华”将输入信息中的“他”替代为“刘德华”。对输入信息进行补全还可包括省略补全。举例来说,上文信息“刘德华老婆叫朱丽倩。”,输入信息为“我不认识。”,则可将输入信息补全为“我不认识朱丽倩。”。此外,还可根据上文信息获取用户当前的话题信息,以便后续聊天服务模块对聊天话题进行引导。
S52、将输入信息分发至聊天服务模块。具体地,可对输入信息进行领域分析以获取输入信息对应的领域。然后,可根据输入信息对应的领域将输入信息分发至具有相同或相近似领域的聊天服务模块。其中,聊天服务模块可包括基于搜索的聊天模块、富知识聊天模块、基于画像的聊天模块和基于众包的聊天模块中的一种或多种。具体地,基于搜索的聊天模块可对输入信息进行切词以生成多个聊天短句,然后可根据多个聊天短句查询聊天语料库从而生成多个聊天语料上句和多个聊天语料上句对应的多个聊天语料下句。其中,聊天语料库为预先建立,语聊来源可包括但不限于贴吧等论坛数据中的“发帖-回帖”、微博中的“博文-回复”、问答社区中的“问题-答案”等。
在此之后,可对多个聊天语料上句进行过滤。具体地,可计算输入信息与多个聊天语料上句之间的相似度。如果相似度小于第一预设相似度阈值,则可将对应的聊天语料上句过滤;如果相似度大于或等于第一预设相似度阈值,则可将对应的聊天语料上句保留。
在对聊天语料上句进行过滤之后,可对过滤之后的聊天语料上句对应的聊天语料下句进行分类。具体地,计算输入信息与多个聊天语料下句之间的相似度,并根据相似度基于GBDT(梯度升压决策树,Gradient Boost Decision Tree)、SVM(支持向量机,Support Vector Machine)等机器学习模型对多个聊天语料下句进行分类。其中,输入信息与多个聊天语料下句之间的相似度可以是输入信息与聊天语料下句之间字面的相似度,也可以是输入信息与聊天语料下句基于深度神经网络训练得到的相似度,也可以是输入信息与聊天语料下句基于机器翻译模型训练得到的相似度。应当理解的是,该实施例中输入信息与多个聊天语料下句之间的相似度以及GBDT、SVM等机器学习模型为公知技术。
然后基于搜索的聊天模块可对分类之后的聊天语料下句进行重排序,并根据排序结果生成候选回复。具体地,可根据用户聊天的上文信息获取用户的聊天属性,再根据聊天属性对分类之后的聊天语料下句基于学习排序模型(Learning-To-Rank)进行重排序。其中,聊天属性可包括聊天的场合如时间地点等、聊天的趣味性、聊天的风格等。当然,聊天属性不仅限于从用户聊天的上文信息中获取,也可以根据用户长期的历史聊天记录获取。应当理解的是,该实施例中学习排序模型为公知技术。
富知识聊天模块可根据输入信息生成搜索词,并根据搜索词进行搜索以生成多个搜索结果,然后对多个搜索结果进行句子抽取,以获取与搜索词的相似度大于第二预设相似度阈值的句子的候选句子集合。在此之后,可对候选句子集合中的句子进行改写以生成候选回复。此外,还可根据用户的聊天属性对候选句子集合中的句子进行重排序。举例来说,输入信息为“希望有机会能到富士山旅游”,可对输入信息进行解析并生成对应的搜索词“富士山、旅游”,然后根据搜索词获得多个搜索结果,并抽取与搜索词相似度高的句子。其中,有的句子可能包括如“记者了解到”等明显节选自网页文本,因此需要对这些句子进行改写,使其更加流畅,更像自然语言聊天的句子,最终生成的候选回复为“富士山由于天气原因,一年中只有规定的夏季的一段时间可以登山”,相对于传统的回复“我也想去富士山,一起吧。”,具有一定的知识性,且具有一定时效性,可使用户能在聊天过程中获取有用的知识。
为了更好地实现拟人化,以及为用户提供个性化服务,人机聊天系统可设定自身的属性、状态、兴趣等,即系统画像模型。还可设定用户的属性、状态、兴趣等,即用户画像模型。当然,在面对不同的用户时,使用的系统画像模型可以是同一个,也可以针对每个用户均可设置与之对应的系统画像模型。系统画像模型和用户画像模型均基于画像知识图谱。画像知识图谱是一个层次化的知识体系。举例来说,“家庭成员”节点可包括“兄弟姐妹”和“父母”两个子节点,“父母”子节点包括“父亲”和“母亲”两个子节点。每个节点均对应有多个输入信息模板簇,例如“你父亲是谁”、“谁是你父亲”、“你的父亲叫什么”属于同一个输入信息模板簇。每个输入信息模板簇对应一个或多个候选回复。输入信息模板簇和候选回复可包含变量,例如兴趣、爱好、嗜好对应同一属性“INTEREST”,而“INTEREST”的属性值可包括爬山、音乐、读书、运动等。
具体地,基于画像的聊天模块可获取用户的聊天语境,并根据聊天语境判断是否满足收集条件。如果判断满足收集条件,则可向用户发送问题。在此之后,可接收用户根据问题的回答信息,并根据回答信息对用户画像模型进行更新。例如:在与用户聊电影相关的话题时,可向用户发送问题“你喜欢什么电影?”或者用户问人机聊天系统“你喜欢吃什么?”,人机聊天系统可反问用户“你喜欢吃什么?”,在用户回答后,可基于用户的回答信息对用户画像模型进行更新,更加符合用户个性化的需求。
此外,基于画像的聊天模块还可获取用户的聊天内容,并根据聊天内容提取用户画像数据,然后根据提取的用户画像数据对用户画像模型进行更新。例如:用户在聊天过程中说道“我没事的时候喜欢爬爬山、钓钓鱼。”,可提取用户画像数据“爱好爬山、爱好钓鱼”,从而对用户画像模型进行更新。同时,可基于用户画像数据抽取合适的答案,向用户返回合适的回答信息。
众包(crowdsourcing)是一种将特定任务外包给互联网中非特定用户的方法,对于人机聊天中,机器难以回答的问题,可分发给执行者在线地实时地进行人工回复,从而满足用户的实际需求。
具体地,基于众包的聊天模块可判断输入信息是否适合众包完成,例如用户情绪低落需要安慰等,则适合众包完成。例如用户的输入信息中包含有个人身份信息、密码、电话等隐私信息,则不适合众包完成。
如果判断适合众包完成,则可将输入信息分发至对应的执行者。当然,同时也可将上文信息一同发送给执行者,执行者可根据上文信息和输入信息进行回复。然后基于众包的聊天模块可接收执行者的回复信息,并对回复信息进行质量判断。如果满足质量要求,则将回复信息作为候选回复。例如:回复信息中如果包含低俗、反动、色情内容,则质量不过关。或者执行者回复的时间超过了预定时长,则该执行者的回复信息将不被采用,同时可将该回复信息保存至聊天语料库中。
在此之外,还可判断输入信息是否属于无实际内容的聊天信息,如“呵呵”、“hoho”等。如果判断是属于无实际内容的聊天信息,则可获取当前话题,即基于话题模型(Topic Model)根据历史聊天记录计算出当前话题。在获取当前话题之后,可基于话题聊天图谱根据当前话题生成引导话题。其中,话题聊天图谱是一个以话题为节点的有向图。例如,如图2所示,节点“休闲”可指向节点“看电影”和节点“听歌”,则说明可从话题“休闲”引导至话题“看电影”或者话题“听歌”。话题“看电影”和话题“听歌”均具有一定的引导概率,可根据引导概率实现话题的引导,从而保证引导话题的多样性。
然后,可根据引导话题生成候选回复。具体地,可基于自然语言生成模型(Natural Language Generation),生成候选回复的模板,将引导话题填充至该模板中生成候选回复;也可以选取包含引导话题的句子作为候选回复,从而实现对用户进行主动地聊天话题引导。
S53、接收多个聊天服务模块返回的候选回复。其中,候选回复具有对应的置信度。
S54、基于置信度对待选回复进行排序,并根据排序结果生成聊天信息,并向用户提供聊天信息。具体地,可获取用户的输入信息的特征,并基于输入信息的特征和置信度对待选回复进行排序。其中,输入信息的特征可包括分类特征、字面特征、话题特征等。置信度越高,则待选回复质量越好,可按照置信度从高到低的顺序对待选回复进行排序,最终向用户提供符合用户需求的聊天信息。
另外,还可通过增强学习模型(Reinforcement Learning)根据用户的反馈信息进行更新,从而能够为用户提供更满意的聊天信息。例如:在回复用户的聊天信息中添加评论按钮如“赞”或“踩”以收集用户的反馈信息;或者基于情感分析技术,对用户在聊天中的输入信息进行分析,从而获得用户的评价,例如:“你真智能”等;或者通过记录与用户聊天的交互次数,判断用户的满意度。
如图12所示,引导和推荐服务子系统可执行以下步骤:
S61、接收用户输入的交互信息,并根据交互信息确定当前话题。具体地,可先接收用户输入的交互信息例如:“盗梦空间好看吗?”,然后对该交互信息进行需求识别以及相关性计算,从而确定当前话题为“盗梦空间评价”。
S62、基于话题图谱获得多个与当前话题相关的待选引导话题。其中,话题图谱可包括多个话题及话题之间的关联关系。具体地,可基于预先建立的话题图谱获取多个与当前话题相关的待选引导话题。例如:当前话题为“盗梦空间评价”,则可根据话题图谱获取多个与“盗梦空间评价”相关的引导话题如“诺兰导演的电影”、“莱昂纳多主演的电影”等,及它们与“盗梦空间评价”之间的关联关系。
S63、获取用户的用户画像数据。其中,用户画像数据为用户的属性、状态、兴趣等数据的集合,可通过用户主动输入或者根据用户的历史交互记录获取,然后对其进行整合,从而生成关于用户的个性化的用户画像数据。
S64、根据用户画像数据从多个与当前话题相关的待选引导话题中选择引导话题,并向用户反馈引导话题。具体地,可根据用户画像数据和交互信息的上下文信息确定用户的意图信息,然后根据用户的意图信息从多个与当前话题相关的待选引导话题中选择引导话题,并向用户反馈引导话题。
举例来说,引导话题可以是当前话题的延伸。例如:交互信息为“鸡肉怎么做?”,则当前话题可为“鸡肉的做法”。当前话题交互结束后,可对当前话题延伸,结合用户画像数据如“用户为孕妇”,则可向用户反馈引导话题“孕妇如何吃鸡肉比较好”。
当然,引导话题也可以是基于当前话题的推荐。例如:交互信息为“盗梦空间好看吗?”,则当前话题可为“盗梦空间评价”。当前话题交互结束后,可基于当前话题,并结合用户画像数据如“用户喜欢看电影”,则可向用户反馈引导话题“诺兰的电影”。
而当无法根据用户画像数据和交互信息的上下文信息确定用户的意图信息时,则需要对用户的意图信息进行澄清。例如:交互信息为“去故宫怎么走?”,而北京、沈阳和台北都有“故宫”,因此需要对用户的意图信息进行澄清,可根据交互信息向用户返回意图澄清的问句“请问您是要去哪个故宫?”。
另外,在步骤S62之前,还可执行步骤S65。
S65、建立话题图谱。如图13所示,话题图谱中的一个节点表示用户提出的一个话题或一个需求,每个节点中可包含有对应话题的回复和满足用户需求的资源,而有关联的节点之间可通过边进行关联,从而形成网状的话题图谱。具体地,建立话题图谱的方法如下:可获取话题关联数据,然后根据话题关联数据建立话题图谱。更具体地,获取话题关联数据可分为两种情况。
第一种情况:可先获取网络文本数据,并从网络文本数据中获取话题关联数据。其中,网络文本数据可分为非结构化数据、半结构化数据和结构化数据。
当网络文本数据为非结构化数据时,可基于实体提取和句法分析获取话题关联数据。其中,非结构化数据可包括新闻、论坛、博客、视频等。例如:对于网络文本数据“最受瞩目的诺贝尔文学奖花开有主,法国人莫迪亚诺成为新科幸运者。当然,多次提名总是和诺奖失之交臂的村上春树还是那个“离诺奖最近的人”。中国诗人北岛,也只是让国人狂热了一回。”,可基于实体提取技术提取实体信息“诺贝尔文学奖”、“法国人莫迪亚诺”、“村上春树”、“中国诗人北岛”,并基于句法分析获知上述实体信息之间存在关联。更进一步地,还可分析出法国人莫迪亚诺是诺贝尔文学奖获得者,村上春树和中国诗人北岛没有获得诺贝尔文学奖等。
当网络文本数据为半结构化数据时,基于页面结构分析、标签提取、实体识别获取话题关联数据。其中,半结构化数据可包括维基百科、百度百科等百科数据,或者专题数据等。例如:如图14所示,可基于页面结构分析、标签提取、实体识别,获取“德约科维奇”的“场下生活”包括“家庭生活”和“慈善活动”。
当网络文本数据为结构化数据时,从知识图谱中获取话题关联数据。其中,结构化数据可包括知识图谱数据。例如:如图15所示,电影“盗梦空间”和电影“星际穿越”的导演为“克里斯托弗.诺兰”。
第二种情况:可先获取用户的搜索行为数据或浏览行为数据,然后根据搜索行为数据或浏览行为数据生成话题关联数据。具体地,可获取用户的搜索行为数据,并根据搜索行为数据获取对应的搜索对象,然后根据搜索对象生成话题关联数据。例如:用户连续搜索了“诺兰”、“诺兰的电影”和“克里斯蒂安.贝尔”,则可对上述话题进行关联,从而生成话题关联数据。
当然,也可以获取用户的浏览行为数据,并根据浏览行为数据获取对应的浏览对象,根据浏览对象生成话题关联数据。例如:如图16所示,可将用户浏览网页时点击的多个新闻或视频进行关联,从而生成话题关联数据。
在获取话题关联数据之后,可通过RandomWalk算法、关联分析算法、协同过滤算法中的一种或多种,根据话题关联数据建立话题图谱。举例来说,如图17所示,q1、q2、q3以及q1’、q2’、q3’、q4’为话题,d1、d2、d3和d4为资源数据。从图13中可知,资源数据d1和d2与话题q1相关联;资源数据d1、d2、d3与话题q2相关联;资源数据d4与话题q3相关联,具有关联关系的话题和资源数据之间用实线相连。基于RandomWalk算法可迭代计算出话题q1和资源数据d3之间具有关联关系,它们之间用虚线相连。而话题q1’为用户在浏览了资源数据d1或d4后,根据资源数据d1或d4发出的话题,它们之间的关联关系具有顺序关系。同理,话题q2’为根据资源数据d2发出的话题,话题q3’为根据资源数据d2或d3发出的话题,话题q4’为根据资源数据d3或d4发出的话题。进一步地,可推导出话题q1和话题q1’具有关联关系,话题q1和话题q2’具有关联关系等,最终建立如图13所示的话题图谱。
另外,引导和推荐服务子系统还可对交互信息进行解析,并获取交互信息中的关键字段。其中,关键字段可包括时间信息、地点信息、提醒事件的一种或多种。然后可根据关键字段建立提醒信息,在当时间信息达到预设时间时,可向用户发送提醒信息。举例来说,假设用户的交互信息为“明天晚上6点提醒我写工作计划”,则可解析出时间信息“2015年8月8日18:00”,提醒事件是“写工作计划”。当达到这个时间时,可对用户进行提醒。
该发明实施例的基于人工智能的人机交互方法,包含以下优点:(1)实现了人机交互系统从工具化转变为拟人化,通过聊天、搜索等服务,让用户在智能交互的过程中获得轻松愉悦的交互体验,而不再仅仅是搜索和问答。(2)从关键词形式的搜索改进为基于自然语言的搜索,用户可以使用灵活自如的自然语言来表达需求,多轮的交互过程更接近人与人之间的交互体验。(3)实现从用户主动搜索演变为全天候的陪伴式服务,基于用户的个性化模型可以随时随地为用户提供推荐等服务。
为实现上述目的,该发明还提出一种基于人工智能的人机交互系统。图18是根据该发明一个实施例的基于人工智能的人机交互系统的结构示意图一。如图18所示,该基于人工智能的人机交互系统可包括:第一接收子系统10000、分发子系统20000、交互服务子系统30000、第二接收子系统40000、生成子系统50000和提供子系统60000。第一接收子系统10000可接收用户通过应用终端输入的输入信息。其中,应用终端可包括PC端、移动终端或智能机器人。输入信息可以是文本信息、图像信息或语音信息。
分发子系统20000可根据用户的输入信息获取用户的意图信息,并根据意图信息将输入信息分发至至少一个交互服务子系统30000。其中,交互服务子系统可包括需求满足服务子系统31000、聊天服务子系统32000和引导和推荐服务子系统33000。在该发明的一个实施例中,分发子系统20000可根据用户的输入信息获取用户的意图信息,然后根据意图信息将输入信息分发至上述的交互服务子系统30000。另外,第一接收子系统10000还可接收用户的定制任务信息,分发子系统20000可根据定制任务信息将输入信息分发至至少一个交互服务子系统30000。例如:有的用户的任务只进行搜索,则可只需定制需求满足服务子系统;有的用户的任务既需要搜索,又需要进行聊天,则可定制需求满足服务子系统和聊天服务子系统,以上均可根据用户实际需求进行定制。
第二接收子系统40000可接收至少一个交互服务子系统30000返回的返回结果。生成子系统50000可按照预设的决策策略根据返回结果生成用户返回结果。提供子系统60000可将用户返回结果提供至用户。
如图19所示,生成子系统50000可包括第一获取模块51000、第二获取模块52000、第一决策模块53000。第一获取模块51000可获取输入信息的需求分析特征。第二获取模块52000可获取交互服务子系统返回的返回结果的置信度特征、用户的对话交互信息的上下文特征以及用户的个性化模型特征。第一决策模块53000可根据需求分析特征、返回结果的置信度特征、用户的对话交互信息的上下文特征以及用户的个性化模型特征对返回结果进行决策以确定用户返回结果。
具体地,对返回结果进行决策以确定用户返回结果主要基于以下几个特征:1、需求分析特征,通过对用户的问题信息进行需求分析,可选择更符合用户需求的问答服务模块提供的问答结果。2、问答结果置信度特征,每个问答服务模块提供的问答结果均具有置信度,可选择置信度高的问答结果。3、用户的对话交互信息的上下文特征,可选择更符合上下文信息的问答结果。4、用户的个性化模型特征,可选择更符合用户个性化需求的问答结果。其中,需求分析特征、问答结果的置信度特征、用户的对话交互信息的上下文特征以及用户的个性化模型特征分别对应有各自的决策权重。基于以上特征对问答结果进行决策,从而确定最终的问答结果。在确定最终的问答结果后,可反馈给用户,从而满足用户的需求。其中,问答结果可通过语音播报的方式,亦可以通过屏幕显示的方式反馈给用户。采用语音播报的方式使得人机交互的过程更加简便、自然。
另外,如图20所示,生成子系统50000还可训练模块54000。训练模块54000可根据用户的日志基于增强学习模型对需求分析特征、问答结果的置信度特征、用户的对话交互信息的上下文特征以及用户的个性化模型特征的决策权重进行训练,从而为用户提供更符合用户需求的问答结果。
在生成用户返回结果之后,提供子系统60000可将用户返回结果转化为自然语言并播报给用户。当然,也可直接将用户返回结果对应的文本展现给用户。
在该发明的一个实施例中,如图21所示,基于人工智能的人机交互系统还可包括发送子系统70000和执行子系统80000。
如果用户返回结果中包括有执行指令,发送子系统70000可将执行指令发送至对应的执行子系统80000,执行子系统80000可执行该执行指令。其中,执行指令可包括但不仅限于硬件动作指令、播放音乐指令以及朗读故事指令等。举例来说,硬件动作指令主要针对智能机器人,智能机器人可具有头部、躯干、四肢等硬件组成部件,因此可执行诸如“点点头”、“笑一下”、“举起手来”等操控智能机器人硬件组成部件的指令。播放音乐指令通常可包括开始播放、停止播放、上一首、下一首、大点声、声音小一点等。注:用户对于特定类型或风格等音乐的搜索(如“适合睡前听的音乐”、“周杰伦好听的歌”等)并不属于播放音乐指令。朗读故事指令主要针对的是面向儿童的应用,如智能机器人需要代替父母给儿童讲故事。与播放音乐指令类似,对特定主题、人物、情节等的故事进行搜索也不属于朗读故事指令。
在该发明的一个实施例中,如图22所示,基于人工智能的人机交互系统还可包括补全子系统90000。
在接收用户通过应用终端输入的输入信息之后,补全子系统90000可获取与用户交互的交互上文信息,然后可根据交互上文信息对输入信息进行补全。具体地,在多轮交互过程中,用户通常会基于对话上文省略输入信息中的一部分内容,因此需要对输入信息进行补全,从而澄清用户的需求。例如:对话上文为“北京有什么小吃?”,而输入信息为“那特产呢?”,则需要对输入信息进行补全,生成新的问题信息“北京有什么特产?”。
在该发明的实施例中,如图23所示,基于人工智能的人机交互系统还可包括记录子系统100000和监控子系统110000。
如果在网络资源中不存在满足用户需求的用户返回结果,记录子系统100000可记录用户的输入信息,然后监控子系统110000以预设周期监控网络资源中是否存在满足用户需求的用户返回结果,并当用户返回结果存在时,提供子系统60000可将用户返回结果提供至用户。举例来说,用户搜索一部刚上映的电影,但是网络资源中并没有相应资源,则可记录下该用户这一需求,并按照一定周期搜索网络资源中是否出现相应资源。当搜索到相应资源后,可将该资源推送给用户,即实现异步需求满足。
如图24所示,需求满足服务子系统31000可包括第三获取模块31100、第四获取模块31200、第一分发模块31300、问答服务模块31400和第二决策模块31500。第三获取模块31100可获取用户输入的问题信息。其中,问题信息可以是文字信息,也可以是语音信息。例如,用户输入的问题信息“北京有什么小吃?”。第四获取模块31200可根据问题信息获取用户的用户需求信息。具体地,可对问题信息进行需求分析,从而获取用户的用户需求信息。举例来说,用户需求信息可以为垂类需求、阿拉丁需求、深度问答需求、信息搜索需求等。第一分发模块31300可根据用户需求信息将问题信息分发至对应的至少一个问答服务模块31400。其中,问答服务模块可包括阿拉丁服务模块31410、垂类服务模块31420、深度问答服务模块31430和信息搜索服务模块31440。
在该发明的一个实施例中,当用户需求信息为阿拉丁需求时,可将问题信息分发至阿拉丁服务模块31410;当用户需求信息为垂类需求时,可将问题信息分发至垂类服务模块31420;当用户需求信息为深度问答需求时,可将问题信息分发至深度问答服务模块31430;当用户需求信息为信息搜索需求时,可将问题分发至信息搜索服务模块31440。
其中,阿拉丁服务是能够为用户需求提供精准满足的一类服务的统称,例如美元兑换人民币、2015年春节放假等。举例来说,用户的问题信息为“刘德华的老婆是谁?”,则阿拉丁服务模块31410可对该问题信息进行分析,可分析出需求类型为“人物”,查询主体为“刘德华”,查询属性为“老婆”,并可将查询属性进行归一,将查询属性归一为“妻子”。然后搜索并获得结果字段为“朱丽倩”,再基于自然语言生成技术(N a tural Lang uage Generation)生成问答结果“刘德华的老婆是朱丽倩”。再例如:用户的问题信息为“北京明天热吗?”,通过搜索并获得结果字段为“35摄氏度”,可基于常识知识库和预设的规则,生成问答结果“明天天气很热,最高温度为35摄氏度,建议注意防暑降温。”其中,常识知识库可包括常识类知识,如温度高于30摄氏度属于天气热。
垂类服务是针对垂类需求进行多轮交互的服务,例如“订机票”等。垂类服务主要通过对话控制技术(Dialogue Management)和对话策略技术(Dialogue Policy),对用户的需求进行澄清,从而向用户提供满足用户需求的问答结果。举例来说,用户的问题信息为“北京到上海的机票”,则可对该问题信息进行分析,然后向用户反问“您的出发日期是哪天?”,用户回答“明天”,然后继续反问“您对航空公司是否有要求?”等,逐步澄清用户的需求,并最终返回满足用户需求的问答结果。
如图25所示,垂类服务模块31420可包括第五获取子模块31421、确定子模块31422和交互子模块31423。第五获取子模块31421可获取用户输入的查询词。
在该发明的一个实施例中,用户可通过多种方式输入查询词,例如,用户可以以文本、语音或图像输入查询词。
在用户通过语音或者图像输入时,可将输入的语音或者图像转换为用户方便理解的自然语言的查询词,并在交互界面上显示对应的文本。例如,在用户通过语音方式输入查询词后,可基于语言模型将用户输入的语音转换为对应的文本,并以自然语言的形式在交互界面上显示用户输入的查询词。
确定子模块31422可确定查询词属于的垂类。具体地,在获得用户输入的查询词后,需要确定查询词属于的垂类,以方便后续在查询词属于的垂类下,与用户进行交互,或者获得查询词的相关信息。截至2015年9月7日,可通过多种方式确定查询词所属的垂类,用户可根据实际需求进行选择,举例说明如下:
(1)基于机器学习方式确定查询词属于的垂类。
具体地,首先从搜索引擎日志(包含语音搜索)中挖掘和标注与垂类相关的查询(query),构建垂类相关的训练数据集合,然后对训练数据提取特征,训练机器学习分类器(例如最大熵模型、支持向量机)根据提取到的特征对垂类需求查询进行分类,以确定查询词语与垂类的对应关系,并保存查询词语与垂类的对应关系。
注:在分类的过程中,对于多个垂类,可以采用所有类别统一模型多分类,也可以采用每个垂类单独模型二分类,最后统一决策。具体而言,在获得查询词后,可通过查询词与垂类的对应关系确定查询词对应的垂类。例如,在接收到用户输入的查询词为“天蚕土豆的小说”后,由于查询词中包含作者名,小说等词,通过机器学习方式可确定该查询词对应的垂类为小说垂类。
(2)基于模式解析方式确定查询词属于的垂类。
为了可以基于模式解析方式确定查询词属于的垂类,在确定查询词属于的垂类之前,针对每类垂类(例如小说垂类,美食垂类、地点垂类、餐馆垂类等),可构建关键词列表,并保存垂类与关键词之间的对应关系。在接收到用户输入的查询词后,可基于分词、命名实体识别等技术,对查询中的实体和关键词进行解析,并用解析结果匹配垂直类别的模式集合,如果匹配成功,则发到对应的垂直类别。
以找餐馆垂类为例:假定用户当前输入的查询词为“三里屯附近安静的餐厅”,首先对这个query做分词、命名实体识别等基础词法分析,通过分析可确定该query对应的模式为:【地点】_【风格】_【餐厅】。每个类别单独挖掘模式集合。也就是说,对于待分发的query,首先,通过分词、命名实体识别等基础词法分析方式对query进行分析,然后将分析结果与垂直类别的模式集合进行匹配,如果匹配成功,则分发到对应的垂直类别。
交互子模块31423可在查询词属于的垂类中,与用户进行至少一轮的交互,得到用户需要的查询结果,其中,每轮交互时,展示给用户的信息包括:对应查询词的查询结果,以及,引导信息。
在该发明的一个实施例中,如图26所示,交互子模块31423可以包括:解析单元314231、第四获取单元314232、展示单元314233和第五获取单元314234。解析单元314231可将查询词解析为查询词属于的垂类的垂类知识体系能够表示的结构化信息。其中,每种垂类的垂类知识体系是预先建立的,垂类知识体系是基于垂直类别结构化网页提供的信息和用户需求表示体系建立起来的。其中,用户需求表示体系是用户需求的语义表示体系,具体地,可从用户需求表示体系中挖掘出语义和结构知识。
注:用户需求是根据查询词确定的。也就是说,用户需求表示体系中包含大量与用户需求对应的查询词,通过对查询词进行分析,可从中获得查询词的语义和结构知识。
每种垂类的垂类知识体系的结构形式不同,下面举例说明一下垂类知识体系的结构形式。例如,餐馆垂类的垂类知识体系的结构形式如表1所示。通过表1可以看出,餐馆垂类的垂类知识体系中包含各餐馆相关的位置、菜系、口味、环境等多个维度信息,以及各维度可能的取值。
第四获取单元314232可根据结构化信息、垂类知识体系,以及,查询词属于的垂类的垂类资源库,获取相关信息。其中,相关信息可以包括但不限于对应查询词的查询结果和引导信息。
在该发明的一个实施例中,如图27所示,交互子模块31423还可以包括组成单元314235。
为了可以获得查询词属于的垂类的垂类资源,组成单元314235可以获取查询词属于的垂类的结构化资源和非结构化资源,并将结构化资源和非结构化资源组成垂类资源库。其中,结构化资源是从多个对应的垂类网站抓取整合数据后得到的全量数据资源,非结构化资源根据用户查询词或互联网文本挖掘得到的结构化资源的补充或扩展信息。
下面以小说为例说明根据小说垂类的结构化资源和非结构化姿态组成小说垂类的垂类资源的过程。
通常垂直类别的结构化资源呈现复杂的体系结构,在组成小说垂类的垂类资源的过程中,可先获取小说垂类的结构化资源,具体地,可通过抓取起点中文网、纵横中文网、晋江、红袖、17K小说网、小说阅读网等主流中文小说网站上小说的信息建立全量数据资源。
然后,对于小说垂类的非结构化资源,可获取小说名、作者、类别、标签词、资源满足链接、小说简介、小说周边和百科信息等资源,并对所获得的上述资源进行整合。最后可将整合后的资源和上述全量数据资源保存至垂类资源库,以完成小说垂类的垂类资源的入库。其中,针对其他垂类,获取其对应的垂类资源的过程与获得小说垂类的垂类资源的过程相同。
在该发明的一个实施例中,如图28所示,第四获取单元314232可以包括更新子单元3142321、生成子单元3142322和匹配子单元3142323。更新子单元3142321可根据结构化信息和用户前一次的状态信息,更新用户的当前状态信息。根据垂类场景中的常见对话流程,实现对话系统的状态空间构建和交互策略初始化。具体地,在用户第一次输入查询次后,可根据用户的偏好或者交互历史获取用户的初始化状态信息。
生成子单元3142322可根据垂类知识体系和垂类资源库,生成当前状态信息对应的候选动作。其中,上述候选动作可以包括:满足用户需求的动作,或者,进一步澄清用户需求的动作,或者,为用户需求提供横向或纵向的引导信息。其中,用户需求根据查询词确定。
匹配子单元3142323可根据预设模型在候选动作中选择与当前状态信息匹配程度较高的预设个数的候选动作,将选择的候选动作作为相关信息。具体地,在当前状态信息对应的候选动作后,可基于预设模型例如P O M D P(partially observable Markov decision processes,部分可见马尔科夫决策过程)模型从多个候选动作中选择与当前状态信息匹配程度较高的预设个数的候选动作,并将选择的候选动作作为查询词的查询结果和引导信息返回给用户,用户所使用的具有对话功能的应用程序的当前界面中显示查询词的查询结果和引导信息。其中,满足用户需求的动作,或者,进一步澄清用户需求的动作在被选择后作为查询结果,为用户需求提供横向或纵向的引导信息在被选择后作为引导信息。其中,预设个数是预先设定的,例如,预设个数为5,假定根据垂类知识体系和垂类资源库,生成当前状态信息的候选动作为10,此时,可通过POMDP模型选择出与当前状态信息匹配程度较高的5个候选动作,并将选择的候选动作作为相关信息返回给用户。
展示单元314233可向用户展示查询结果和引导信息。
第五获取单元314234可在用户根据引导信息再次输入查询词后,重复上述根据查询词获取相关信息的流程,直至得到用户需要的查询结果。
在该发明的一个实施例中,还可以根据用户的反馈更新预设模型的参数,以便在参数不同时选择不同的候选动作。也就是说,在用户再次输入查询词后,可根据用户再次输入的查询词调整预设模型的参数,以使预设模型根据调整后的参数为用户选择不同的候选动作。即根据当前状态信息提供引导信息和满足信息,不同状态信息对应的引导信息和满足信息不同,系统会根据当前状态信息和用户需求提供最优的满足信息和引导信息,以引导用户查询垂类信息。
例如,当前用户输入的查询词为“西餐厅”,可确定该查询词对应的垂类为美食垂类,同时通过查询词可确定当前用户的用户需求是找一家西餐厅吃饭,由于时根据查询词不能确定用户需要什么类型的西餐厅,此时,根据垂类知识体系和垂类资源库可多种候选动作,并通过POMDP模型选择出与当前状态信息匹配程度较高的13个候选动作,并将选择的13个候选动作为查询的相关信息返回给用户。其中,当前用户的当前界面中显示的查询结果如图7所示,根据查询词不能确定用户需要什么类型的西餐厅,此时,可引导用户提供更加详细的第一引导信息,并提供与第一引导信息相对应的可能的回答,即第二引导信息,以方便用户选择或者输入。其中,用户还可通过点击下一条指示按键查看与第一指导信息相对应的其他回答。在用户点击“请客户吃饭后”,可根据用户当前输入的查询词确定符合用户需求的一家餐馆,并获得与当前查询词的查询结果和引导信息,其中,包含当前查询词的相关信息的界面,如图8所示,此时,用户可根据引导信息,进步一提问更多关于餐馆的问题,如是否有wifi,是否方便停车等问题。
再例如,如果当前用户输入的查询词为“天蚕土豆的小说”,在接收到用户的查询词后,通过语义分析可确定查询词中包含小说作者的名称,根据查询词可确定查询词对应的垂类为小说垂类,同时通过查询词可确定用户是想要根据作者名查询图书,可根据作者名获得对应的候选动作,并在用户所使用的应用程序中显示查询词对应的相关信息,包含查询词的相关信息的界面形式如图9所示,此时,用户可根据需求点击对应的书名。另外,用户还以通过点击第一按键,进行账号登录,或者清空消息记录。
再例如,如果当前用户输入的查询词为“好吃的韩国烤肉”,在接收到用户输入的查询词后,可将查询词对应的垂类为餐馆美食垂类,具体而言,可将查询词解析为垂类知识体系能够表示的结构化信息,并根据结构化信息、垂类知识体系和查询词属于的垂类的垂类资源库获取查询词对应的查询结果和引导信息,并将所获得的查询词的查询结果和引导信息返回给用户,其中,包含查询词的相关信息的用户界面,如图10所示,此时,用户可根据引导信息另选一个,也可以根据需求直接确定这家店。另外,用户还可通过点击下一条提示按键查看其他引导信息。
综上可知,该实施例的基于人工智能的信息查询方法具有以下有益效果:(1)与通过搜索引擎查找相比,在查询过程中,该实施例的信息查询方式不需要用户对垂直类别有较深的了解,通过多轮交互的方式,引导用户准确描述需求,并根据需求为用户提供对应的查询结果和引导信息。(2)对比垂类网站浏览方式,该实施例的信息查询方式,不需要用户浏览大量的网页,且无需人工过滤无用的信息,该查询方式智能过滤无用的信息,仅为用户提供与查询词的相关信息。(3)对比相关的对话系统,该实施例的信息查询方式,针对垂直类别资源结构的复杂性做特定处理,产生基于垂类实体结构的状态空间,可以对垂类内的深层次问题进行满足,并通过引导信息提示用户再次输入查询词,以进行下一轮的查询,也就是说,该实施的信息查询方式通过显示引导信息可有效引导用户提供正确的问题。
在该发明的一个实施例中,如图29所示,深度问答服务模块31430可包括第一接收子模块31431、第一获取子模块31432、生成子模块31433。具体地,深度问答服务为针对用户输入的问题信息,基于深入的语义分析和知识挖掘技术,从而为用户提供精准的问答结果的服务。当用户需求信息为深度问答需求时,第一接收子模块31431可接收问题信息,第一获取子模块31432根据问题信息获取对应的问题类型,然后生成子模块31433根据问题类型选择对应的问答模式,以及根据选择的答案生成模式和问题信息生成对应的问答结果。其中,问题类型可包括实体类型、观点类型和片段类型。更具体地,当问题类型为实体类型时,如图30所示,生成子模块31433可包括第一生成单元314331、扩展单元314332、抽取单元314333、第一计算单元314334和第一反馈单元314335。
第一生成单元314331可根据问题信息生成实体类问题信息,扩展单元314332基于搜索引擎抓取的摘要和历史展现日志对实体类问题信息进行扩展以生成同族实体问题信息簇。其中,同族实体问题信息簇分别对应候选答案。然后抽取单元314333从同族实体问题信息簇分别对应候选答案中抽取候选实体,第一计算单元314334计算候选实体的置信度,第一反馈单元314335将置信度大于预设置信度阈值的候选实体作为问答结果进行反馈。举例来说,问题信息为“刘德华老婆是谁?”,候选答案为“其实早在九二年时就有报道,刘德华和朱丽倩已经在加拿大秘密注册结婚…”,其中,候选实体为“刘德华”、“朱丽倩”、“加拿大”。然后基于实体知识库和问答语义匹配模型计算各候选实体的置信度,可计算出候选实体“朱丽倩”的置信度大于预设置信度阈值,则可确定“朱丽倩”为问答结果。另外,还可将候选答案中首次出现“朱丽倩”的分句作为答案摘要。
当问题类型为观点类型时,如图31所示,生成子模块31433可包括第一获取单元314336、第一切分单元314337、第一聚合单元314338、判断单元314339、选择单元3143310、评分反馈单元3143311。第一获取单元314336可获取问题信息对应的候选答案,第一切分单元314337对候选答案进行切分以生成多个候选答案短句,然后第一聚合单元314338对多个候选答案短句进行聚合以生成观点聚合簇。具体地,可根据短句中词汇的IDF(反文档频率)得分提取候选答案短句中的关键词,并对包含否定词的关键词进行泛化并生成否定标签,然后基于否定标签将关键词用向量进行表示,计算每两个关键词之间的向量夹角和/或语义相似度,然后对向量夹角小于预设角度或语义相似度大于预设阈值的候选答案进行聚合以生成观点聚合簇。
在此之后,判断单元314339可判断观点聚合簇的观点类型。其中,观点可包括是非类、评价类、建议类等。具体地,可通过预先设定的规则或者基于统计模型确定观点聚合簇的观点类型。然后选择单元3143310根据观点类型从对应的观点聚合簇中选择出答案观点。其中,选择答案观点的规则可包括但不仅限于选取信息覆盖最全面的答案观点、选取IDF*log(IDF)值最低的答案观点和选取在候选答案对应的文章中出现次数最多的答案观点。其中,IDF为反文档频率。在此之后,可生成答案观点对应的摘要,然后可对答案观点进行评分,并将评分大于预设评分阈值的答案观点作为问答结果进行反馈。举例来说,问题信息为“怀孕注意事项”,其中一个候选答案为“怀孕时应谨守医、多、战原则,亦即定期看医师,多卧床休息,战胜自己的不良习惯。”,可将该候选答案切分为“怀孕时应谨守医、多、战原则”、“亦即定期看医师”、“多卧床休息”、“战胜自己的不良习惯”四个候选答案短句。然后可将候选答案短句中重复的内容或者近似的内容进行聚合生成观点聚合簇,并选出答案观点。之后,评分反馈单元3143311可根据信息丰富度、论据充分度、信息冗余度等对答案观点进行评分,并将评分大于预设评分阈值的答案观点作为问答结果进行反馈。此外,在选出答案观点后,可获取其在来源文章中所在的句子,然后按照预定长度截取句子,从而生成该答案观点对应的摘要。之后可根据内容丰富度、答案权威性对摘要进行排序。
当问题类型为片段类型时,如图32所示,生成子模块31433可包括第二获取单元3143312、第二切分单元3143313、打分单元3143314、第二生成单元3143315、第一排序单元3143316、第二反馈单元3143317。第二获取单元3143312可获取问题信息对应的候选答案,第二切分单元3143313对候选答案进行切分以生成多个候选答案短句,然后打分单元3143314对多个候选答案短句进行重要度打分以生成候选答案短句对应的短句重要度特征,第二生成单元3143315根据短句重要度特征生成答案摘要,然后第一排序单元3143316可根据答案摘要的短句重要度特征、答案权威性、问题信息的相关性和答案的丰富度对答案质量进行打分。其中,短句重要度特征可包括聚合特征、相关度特征、类型特征和问题答案匹配度特征。其中,聚合特征用于衡量短句的重复度,例如:词向量质心特征、NGram(计算出现概率)特征、Lexrank(多文本自动摘要)特征等。类型特征为问题的类型特征,如WHAT(什么)类型、WHY(为什么)类型、HOW(如何)类型等。答案权威性为答案来源的网站的权威度。在此之后,可获取用户的行为数据,然后根据用户的行为数据和打分结果对候选答案进行排序,最终第二反馈单元3143317将排序结果作为问答结果进行反馈。其中,用户的行为数据是可包括用户对问答结果的点击行为、在问答结果上停留的时间、通过当前的问答结果跳转至其他问答结果等用户的历史行为信息。
在该发明的一个实施例中,如图33所示,信息搜索服务模块31440可包括第二接收子模块31441、第一搜索子模块31442和分析反馈子模块31443。其中,分析反馈子模块31443可包括分析单元314431、第二排序单元314432和第三生成单元314433。
当用户需求信息为信息搜索需求时,第二接收子模块31441可接收问题信息,第一搜索子模块31442根据问题信息进行搜索以生成多个候选网页,然后分析反馈子模块31443的分析单元314431可对候选网页进行篇章分析以生成对应的候选篇章。具体地,可对候选网页进行篇章内容抽取、篇章主题分割和篇章关系分析生成对应的候选篇章。其中,篇章内容抽取主要为识别候选网页的正文部分,删除与用户需求信息无关的内容。篇章主题分割为对篇章的主题结构进行分析,可将篇章划分为多个子主题。篇章关系分析为分析篇章中多个子主题之间的关系,例如并列关系等。在生成候选篇章之后,第二排序单元314432可对候选篇章中的句子进行打分排序。其中,打分排序主要基于句子在候选篇章中的重要度以及句子与用户需求信息之间的相关度。在此之后,第三生成单元314433可获取用户的需求场景信息,并根据需求场景信息和打分排序结果生成摘要,最终将摘要作为问答结果进行反馈。其中场景信息可包括移动终端场景、电脑场景。当场景信息为移动终端场景时,则可对句子进行压缩简写,使生成的摘要尽量简明扼要;当场景信息为电脑场景时,可对句子进行拼接融合,使得生成的摘要详细清楚。
如图34所示,分析反馈子模块31443还可包括第二聚合单元314434。具体地,生成候选篇章时,由于候选篇章中的内容均与用户需求信息具有相关性,则可能会有重复或互补的内容,则需要第二聚合单元314434对多个候选篇章的信息进行聚合。
第二决策模块31500可接收至少一个问答服务模块返回的问答结果,并对问答结果进行决策以确定最终的问答结果。
如图35所示,聊天服务子系统32000可包括第一接收模块32100、第二分发模块32200、聊天服务模块32300、第二接收模块32400和排序模块32500。
第一接收模块32100用于接收用户输入的输入信息。其中,输入信息可以是语音信息,也可以是文本信息。第二分发模块32200用于将输入信息分发至聊天服务模块32300。第二接收模块32400用于接收多个聊天服务模块32300返回的候选回复。其中,候选回复具有对应的置信度。排序模块32500用于基于置信度对待选回复进行排序,并根据排序结果生成聊天信息,并向用户提供聊天信息。具体地,排序模块32500可获取用户的输入信息的特征,并基于输入信息的特征和置信度对待选回复进行排序。其中,输入信息的特征可包括分类特征、字面特征、话题特征等。置信度越高,则待选回复质量越好,可按照置信度从高到低的顺序对待选回复进行排序,最终向用户提供符合用户需求的聊天信息。
如图36所示,聊天服务模块32300可包括基于搜索的聊天模块32310、富知识聊天模块32320、基于画像的聊天模块32330和基于众包的聊天模块32340。
其中,如图37所示,基于搜索的聊天模块32310可包括切词子模块32311、查询子模块32312、过滤子模块32313、分类子模块32314和第一重排序子模块32315。其中,过滤子模块32313可包括第二计算单元323131、过滤单元323132、保留单元323133,分类子模块32314可包括第三计算单元323141、分类单元323142,第一重排序子模块32315可包括第三获取单元323151和重排序单元323152。具体地,切词子模块32311可对输入信息进行切词以生成多个聊天短句,然后查询子模块32312可根据多个聊天短句查询聊天语料库从而生成多个聊天语料上句和多个聊天语料上句对应的多个聊天语料下句。其中,聊天语料库为预先建立,语聊来源可包括但不限于贴吧等论坛数据中的“发帖-回帖”、微博中的“博文-回复”、问答社区中的“问题-答案”等。
在此之后,过滤子模块32313可对多个聊天语料上句进行过滤。具体地,第二计算单元323131可计算输入信息与多个聊天语料上句之间的相似度。如果相似度小于第一预设相似度阈值,则过滤单元323132可将对应的聊天语料上句过滤;如果相似度大于或等于第一预设相似度阈值,则保留单元323133可将对应的聊天语料上句保留。
在对聊天语料上句进行过滤之后,分类子模块32314可对过滤之后的聊天语料上句对应的聊天语料下句进行分类。具体地,第三计算单元323141可计算输入信息与多个聊天语料下句之间的相似度,分类单元323142根据相似度基于G BDT(梯度升压决策树,Gradient Boost Decision Tree)、SVM(支持向量机,Support Vector Machine)等机器学习模型对多个聊天语料下句进行分类。其中,输入信息与多个聊天语料下句之间的相似度可以是输入信息与聊天语料下句之间字面的相似度,也可以是输入信息与聊天语料下句基于深度神经网络训练得到的相似度,也可以是输入信息与聊天语料下句基于机器翻译模型训练得到的相似度。应当理解的是,该实施例中输入信息与多个聊天语料下句之间的相似度以及GBDT、SVM等机器学习模型为公知技术。
然后第一重排序子模块32315可对分类之后的聊天语料下句进行重排序,并根据排序结果生成候选回复。具体地,第三获取单元323151可根据用户聊天的上文信息获取用户的聊天属性,重排序单元323152根据聊天属性对分类之后的聊天语料下句基于学习排序模型(Learning-To-Rank)进行重排序。其中,聊天属性可包括聊天的场合如时间地点等、聊天的趣味性、聊天的风格等。当然,聊天属性不仅限于从用户聊天的上文信息中获取,也可以根据用户长期的历史聊天记录获取。应当理解的是,该实施例中学习排序模型为公知技术。
如图38所示,富知识聊天模块32320可包括第二搜索子模块32321、抽取子模块32322、改写子模块32323和第二重排序子模块32324。具体地,第二搜索子模块32321可根据输入信息生成搜索词,并根据搜索词进行搜索以生成多个搜索结果,然后抽取子模块32322对多个搜索结果进行句子抽取,以获取与搜索词的相似度大于第二预设相似度阈值的句子的候选句子集合。在此之后,改写子模块32323可对候选句子集合中的句子进行改写以生成候选回复。此外,第二重排序子模块32324可根据用户的聊天属性对候选句子集合中的句子进行重排序。举例来说,输入信息为“希望有机会能到富士山旅游”,可对输入信息进行解析并生成对应的搜索词“富士山、旅游”,然后根据搜索词获得多个搜索结果,并抽取与搜索词相似度高的句子。其中,有的句子可能包括如“记者了解到”等明显节选自网页文本,因此需要对这些句子进行改写,使其更加流畅,更像自然语言聊天的句子,最终生成的候选回复为“富士山由于天气原因,一年中只有规定的夏季的一段时间可以登山”,相对于传统的回复“我也想去富士山,一起吧。”,具有一定的知识性,且具有一定时效性,可使用户能在聊天过程中获取有用的知识。
如图39所示,基于画像的聊天模块32330可包括第二获取子模块32331、第一判断子模块32332、发送子模块32333、第一更新子模块32334。
为了更好地实现拟人化,以及为用户提供个性化服务,人机聊天系统可设定自身的属性、状态、兴趣等,即系统画像模型。还可设定用户的属性、状态、兴趣等,即用户画像模型。当然,在面对不同的用户时,使用的系统画像模型可以是同一个,也可以针对每个用户均可设置与之对应的系统画像模型。系统画像模型和用户画像模型均基于画像知识图谱。画像知识图谱是一个层次化的知识体系。举例来说,“家庭成员”节点可包括“兄弟姐妹”和“父母”两个子节点,“父母”子节点包括“父亲”和“母亲”两个子节点。每个节点均对应有多个输入信息模板簇,例如“你父亲是谁”、“谁是你父亲”、“你的父亲叫什么”属于同一个输入信息模板簇。每个输入信息模板簇对应一个或多个候选回复。输入信息模板簇和候选回复可包含变量,例如兴趣、爱好、嗜好对应同一属性“INTEREST”,而“INTEREST”的属性值可包括爬山、音乐、读书、运动等。
具体地,第二获取子模块32331可获取用户的聊天语境,第一判断子模块32332根据聊天语境判断是否满足收集条件。如果判断满足收集条件,则发送子模块32333可向用户发送问题。在此之后,第一更新子模块32334可接收用户根据问题的回答信息,并根据回答信息对用户画像模型进行更新。例如:在与用户聊电影相关的话题时,可向用户发送问题“你喜欢什么电影?”或者用户问人机聊天系统“你喜欢吃什么?”,人机聊天系统可反问用户“你喜欢吃什么?”,在用户回答后,可基于用户的回答信息对用户画像模型进行更新,更加符合用户个性化的需求。
此外,如图40所示,基于画像的聊天模块32330还可包括第三获取子模块32335、提取子模块32336、第二更新子模块32337。
具体地,第三获取子模块32335可获取用户的聊天内容,提取子模块32336根据聊天内容提取用户画像数据,然后第二更新子模块32337根据提取的用户画像数据对用户画像模型进行更新。例如:用户在聊天过程中说道“我没事的时候喜欢爬爬山、钓钓鱼。”,可提取用户画像数据“爱好爬山、爱好钓鱼”,从而对用户画像模型进行更新。同时,可基于用户画像数据抽取合适的答案,向用户返回合适的回答信息。
众包(crowdsourcing)是一种将特定任务外包给互联网中非特定用户的方法,对于人机聊天中,机器难以回答的问题,可分发给执行者在线地实时地进行人工回复,从而满足用户的实际需求。具体地,基于众包的聊天模块32340可判断输入信息是否适合众包完成,例如用户情绪低落需要安慰等,则适合众包完成。例如用户的输入信息中包含有个人身份信息、密码、电话等隐私信息,则不适合众包完成。
如果判断适合众包完成,则基于众包的聊天模块32340可将输入信息分发至对应的执行者。当然,同时也可将上文信息一同发送给执行者,执行者可根据上文信息和输入信息进行回复。然后基于众包的聊天模块可接收执行者的回复信息,并对回复信息进行质量判断。如果满足质量要求,则将回复信息作为候选回复。例如:回复信息中如果包含低俗、反动、色情内容,则质量不过关。或者执行者回复的时间超过了预定时长,则该执行者的回复信息将不被采用,同时可将该回复信息保存至聊天语料库中。
另外,如图41所示,聊天服务子系统32000还可包括纠错模块32600。纠错模块32600用于在接收用户输入的输入信息之后,对输入信息进行纠错和/或改写,用于纠正输入信息中的错别字,改写不规则的口语化表达等。
另外,如图42所示,聊天服务子系统32000还可包括分析模块32700。分析模块32700用于在接收用户输入的输入信息之后,对输入信息进行领域分析以获取输入信息对应的领域,然后第二分发模块32200可根据输入信息对应的领域将输入信息分发至具有相同或相近似领域的聊天服务模块。
另外,如图43所示,聊天服务子系统32000还可包括第五获取模块32800、第一判断模块32900、补全模块321000。第五获取模块32800用于在接收用户输入的输入信息之后,获取与用户聊天的上文信息,并根据上文信息获取用户当前的话题信息。然后,第一判断模块32900可根据上文信息判断输入信息与上文信息的依赖关系是否大于预设关系阈值。在依赖关系大于预设关系阈值时,补全模块321000可根据上文信息对输入信息进行补全,从而保证人机聊天的流畅度。具体地,对输入信息进行补全可包括指代消解。举例来说,输入信息为“他结婚了么?”,则可根据上文信息“刘德华”将输入信息中的“他”替代为“刘德华”。对输入信息进行补全还可包括省略补全。举例来说,上文信息“刘德华老婆叫朱丽倩。”,输入信息为“我不认识。”,则可将输入信息补全为“我不认识朱丽倩。”。
此外,如图44所示,聊天服务子系统32000还可包括第二判断模块321100、第七获取模块321200、第一生成模块321300和第二生成模块321400。第二判断模块321100用于判断输入信息是否属于无实际内容的聊天信息,如“呵呵”、“hoho”等。如果判断是属于无实际内容的聊天信息,则第七获取模块321200可获取当前话题,即基于话题模型(Topic Model)根据历史聊天记录计算出当前话题。在获取当前话题之后,第一生成模块321300可基于话题聊天图谱根据当前话题生成引导话题。其中,话题聊天图谱是一个以话题为节点的有向图。例如,节点“休闲”可指向节点“看电影”和节点“听歌”,则说明可从话题“休闲”引导至话题“看电影”或者话题“听歌”。话题“看电影”和话题“听歌”均具有一定的引导概率,可根据引导概率实现话题的引导,从而保证引导话题的多样性。然后,第二生成模块321400可根据引导话题生成候选回复。具体地,可基于自然语言生成模型(Natural Language Generation),生成候选回复的模板,将引导话题填充至该模板中生成候选回复;也可以选取包含引导话题的句子作为候选回复,从而实现对用户进行主动地聊天话题引导。
如图45所示,引导和推荐服务子系统33000可包括:确定模块33100、获得模块33200、第八获取模块33300和反馈模块33400。确定模块33100用于接收用户输入的交互信息,并根据交互信息确定当前话题。具体地,确定模块33100可先接收用户输入的交互信息例如:“盗梦空间好看吗?”,然后对该交互信息进行需求识别以及相关性计算,从而确定当前话题为“盗梦空间评价”。获得模块33200用于基于话题图谱获得多个与当前话题相关的待选引导话题。其中,话题图谱可包括多个话题及话题之间的关联关系。具体地,获得模块33200可基于预先建立的话题图谱获取多个与当前话题相关的待选引导话题。例如:当前话题为“盗梦空间评价”,则可根据话题图谱获取多个与“盗梦空间评价”相关的引导话题如“诺兰导演的电影”、“莱昂纳多主演的电影”等,及它们与“盗梦空间评价”之间的关联关系。第八获取模块33300用于获取用户的用户画像数据。其中,用户画像数据为用户的属性、状态、兴趣等数据的集合,可通过用户主动输入或者根据用户的历史交互记录获取,然后对其进行整合,从而生成关于用户的个性化的用户画像数据。反馈模块33400用于根据用户画像数据从多个与当前话题相关的待选引导话题中选择引导话题,并向用户反馈引导话题。具体地,反馈模块33400可根据用户画像数据和交互信息的上下文信息确定用户的意图信息,然后根据用户的意图信息从多个与当前话题相关的待选引导话题中选择引导话题,并向用户反馈引导话题。
举例来说,引导话题可以是当前话题的延伸。例如:交互信息为“鸡肉怎么做?”,则当前话题可为“鸡肉的做法”。当前话题交互结束后,可对当前话题延伸,结合用户画像数据如“用户为孕妇”,则可向用户反馈引导话题“孕妇如何吃鸡肉比较好”。
当然,引导话题也可以是基于当前话题的推荐。例如:交互信息为“盗梦空间好看吗?”,则当前话题可为“盗梦空间评价”。当前话题交互结束后,可基于当前话题,并结合用户画像数据如“用户喜欢看电影”,则可向用户反馈引导话题“诺兰的电影”。
而当无法根据用户画像数据和交互信息的上下文信息确定用户的意图信息时,则需要对用户的意图信息进行澄清。例如:交互信息为“去故宫怎么走?”,而北京、沈阳和台北都有“故宫”,因此需要对用户的意图信息进行澄清,可根据交互信息向用户返回意图澄清的问句“请问您是要去哪个故宫?”。
另外,如图46所示,引导和推荐服务子系统33000还可包括建立模块33500。建立模块33500用于建立话题图谱。话题图谱中的一个节点表示用户提出的一个话题或一个需求,每个节点中可包含有对应话题的回复和满足用户需求的资源,而有关联的节点之间可通过边进行关联,从而形成网状的话题图谱。具体地,建立模块33500可包括第四获取子模块33510和建立子模块33520。第四获取子模块33510可获取话题关联数据。第四获取子模块33510获取话题关联数据可分为两种情况。
第一种情况:可先获取网络文本数据,并从网络文本数据中获取话题关联数据。其中,网络文本数据可分为非结构化数据、半结构化数据和结构化数据。当网络文本数据为非结构化数据时,可基于实体提取和句法分析获取话题关联数据。其中,非结构化数据可包括新闻、论坛、博客、视频等。例如:对于网络文本数据“最受瞩目的诺贝尔文学奖花开有主,法国人莫迪亚诺成为新科幸运者。当然,多次提名总是和诺奖失之交臂的村上春树还是那个“离诺奖最近的人”。中国诗人北岛,也只是让国人狂热了一回。”,可基于实体提取技术提取实体信息“诺贝尔文学奖”、“法国人莫迪亚诺”、“村上春树”、“中国诗人北岛”,并基于句法分析获知上述实体信息之间存在关联。更进一步地,还可分析出法国人莫迪亚诺是诺贝尔文学奖获得者,村上春树和中国诗人北岛没有获得诺贝尔文学奖等。当网络文本数据为半结构化数据时,基于页面结构分析、标签提取、实体识别获取话题关联数据。其中,半结构化数据可包括维基百科、百度百科等百科数据,或者专题数据等。例如:可基于页面结构分析、标签提取、实体识别,获取“德约科维奇”的“场下生活”包括“家庭生活”和“慈善活动”。当网络文本数据为结构化数据时,从知识图谱中获取话题关联数据。其中,结构化数据可包括知识图谱数据。例如:电影“盗梦空间”和电影“星际穿越”的导演为“克里斯托弗.诺兰”。
第二种情况:可先获取用户的行为数据,然后根据行为数据生成话题关联数据。其中,行为数据可包括搜索行为数据和浏览行为数据。具体地,可获取用户的搜索行为数据,并根据搜索行为数据获取对应的搜索对象,然后根据搜索对象生成话题关联数据。例如:用户连续搜索了“诺兰”、“诺兰的电影”和“克里斯蒂安.贝尔”,则可对上述话题进行关联,从而生成话题关联数据。
当然,也可以获取用户的浏览行为数据,并根据浏览行为数据获取对应的浏览对象,根据浏览对象生成话题关联数据。例如:可将用户浏览网页时点击的多个新闻或视频进行关联,从而生成话题关联数据。
在获取话题关联数据之后,建立子模块33520可通过RandomWalk算法、关联分析算法、协同过滤算法中的一种或多种,根据话题关联数据建立话题图谱。
举例来说,如图17所示,q1、q2、q3以及q1’、q2’、q3’、q4’为话题,d1、d2、d3和d4为资源数据。从图13中可知,资源数据d1和d2与话题q1相关联;资源数据d1、d2、d3与话题q2相关联;资源数据d4与话题q3相关联,具有关联关系的话题和资源数据之间用实线相连。基于RandomWalk算法可迭代计算出话题q1和资源数据d3之间具有关联关系,它们之间用虚线相连。而话题q1’为用户在浏览了资源数据d1或d4后,根据资源数据d1或d4发出的话题,它们之间的关联关系具有顺序关系。同理,话题q2’为根据资源数据d2发出的话题,话题q3’为根据资源数据d2或d3发出的话题,话题q4’为根据资源数据d3或d4发出的话题。进一步地,可推导出话题q1和话题q1’具有关联关系,话题q1和话题q2’具有关联关系等,最终建立如图13所示的话题图谱。
另外,如图47所示,引导和推荐服务子系统33000还可包括解析模块33600、建立提醒模块33700和提醒模块33800。具体地,解析模块33600可对交互信息进行解析,并获取交互信息中的关键字段。其中,关键字段可包括时间信息、地点信息、提醒事件的一种或多种。然后建立提醒模块33700可根据关键字段建立提醒信息,在当时间信息达到预设时间时,提醒模块33800可向用户发送提醒信息。举例来说,假设用户的交互信息为“明天晚上6点提醒我写工作计划”,则可解析出时间信息“2015年8月8日18:00”,提醒事件是“写工作计划”。当达到这个时间时,可对用户进行提醒。
该发明实施例的基于人工智能的人机交互系统,包含以下优点:(1)实现了人机交互系统从工具化转变为拟人化,通过聊天、搜索等服务,让用户在智能交互的过程中获得轻松愉悦的交互体验,而不再仅仅是搜索和问答。(2)从关键词形式的搜索改进为基于自然语言的搜索,用户可以使用灵活自如的自然语言来表达需求,多轮的交互过程更接近人与人之间的交互体验。(3)实现从用户主动搜索演变为全天候的陪伴式服务,基于用户的个性化模型可以随时随地为用户提供推荐等服务。
《基于人工智能的人机交互方法和系统》术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在该发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在《基于人工智能的人机交互方法和系统》说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,该领域的技术人员可以将该说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了《基于人工智能的人机交互方法和系统》的实施例,可以理解的是,上述实施例是示例性的,不能理解为对该发明的限制,该领域的普通技术人员在该发明的范围内可以对上述实施例进行变化、修改、替换和变型。
专利荣誉
2021年6月24日,《基于人工智能的人机交互方法和系统》获得第二十二届中国专利金奖。
最新修订时间:2021-08-20 19:16
目录
概述
专利背景
参考资料