专利名称:一种主题对话方法和装置的制作方法
技术领域:
本申请涉及计算机技术领域,特别是涉及ー种主题对话方法和装置。
背景技术:
对话系统是ー种能够与人通过自然语言进行交互的电子系统,由人输入自然语言,系统理解后再做出自然语言的回应。比如用户输入文字信息,电子系统中虚拟的机器人针对文字信息与用户进行交互。现有技术中,大致存在两种对话系统一是基于问答对的对话系统基于问答对的对话系统就是指通过预先设定好的问答对来存储的知识的对话系统,在用户提问后,从问答对知识库中选取出最匹配的问题,然 后以该问题的答案做回答。基于问答对的对话系统,对于不同的数据来源有不同的应用,比如,垂直领域中以人工编辑为数据来源的常用于客服类的对话系统;以用户数据为数据来源的常用于娱乐类的聊天系统;以已有问答社区的资源为数据来源的常用于回答公共知识。基于问答对的对话系统大致实现方式如下I、建立知识库通过“人工编辑”、“用户数据”、“问答社区”等知识来源(问答对来源)中的ー个或几个来建立索引库,建立时需要对问题进行语义关键词的提取再做索引,形成知识库;2、用户查询当输入用户查询后,先将该用户查询转换为语义指紋,再从知识库中检索出与其语义相似度大于一定阈值的问题,并获取该问题对应的答案;3、生成答案如果检索出用户查询对应的答案,则输出给用户,否则按预设的流程或答案对用户进行反馈。对于此类对话系统,由于基干“人工编辑”、“用户数据”、“问答社区”等方式获得的问题及答案数量非常有限,对于常见问题可以较好地回答,但对于生僻问题往往效果不佳,同时对用户查询进行的语义解析还不成熟,步骤复合且各项操作都没有较理想的解析精度,只能简单的匹配问题来寻找答案,对话的回合之间相对独立,匹配往往不准确,无法根据用户输入进行相关话题的互动交流。ニ是基于具体服务的对话系统这种对话系统往往基于某些特定应用进行构建,故并不能充分理解用户的意图,只是根据规则或者模型判断出用户需要的应用,提取出有价值的关键词,并直接调用对应的函数,由该特定服务来返回結果,比如天气预报,信息查询等应用。此种对话系统大致实现方式如下I、设定应用类型和应用模块定义需要支持的应用类型,建立相应的功能模块和接ロ,并建立用于需求识别的统计模型和/或规则模型。其中,各应用模块中也以用户查询中的关键词建立索引,并与相应答案进行对应。2、用户查询当用户输入查询后,利用已经设定好的规则模型和/或统计模型判断用户对应的应用类型并提取出相应的关键词,发送给对应的应用模块,应用模块依据关键词匹配相应的答案,然后返回結果。此类对话系统只是基于特定类型的应用,比如天气预报等服务,其知识范围仅限于指定的应用领域,并且仅是简单的基于获得的关键词将对应的答案返回给用户,但当用户与对话系统之间对话回合增多时,对话回合之间则缺乏连贯性,往往造成回话表达的语义与输入查询不一致,即“机器听不懂人话”,同样使用户无法基于相关话题与对话系统进行互动交流。
发明内容
本申请所要解决的技术问题是提供ー种主题对话方法和装置,通过对话回合之间的主题准确理解输入的自然语言文本的语义,并结合相应主题进行匹配分析,从而形成回话,使用户与对话系统之间的交流连贯,匹配准确,形成相关话题的互动交流。为了解决上述问题,本申请公开了ー种主题对话方法,包括 步骤110、解析首次输入的自然语言文本中各词所属的词性,确认对应匹配的第一语义表达式;步骤120、针对所述第一语义表达式在结构化知识库中进行匹配分析,得到对应所述第一语义表达式对应的回话表达式,并确认当前回合的会话主题;步骤130、根据当前回合的回话表达式和所述当前回合的会话主题,生成自然语言回话进行返回;步骤140、解析再次输入的自然语言文本中各词所属的词性,结合前一回合的会话信息确认对应匹配的第二语义表达式;步骤150、针对所述第二语义表达式在结构化知识库中进行匹配分析,得到对应所述第二语义表达式对应的回话表达式,结合前一回合的会话信息确认当前回合的会话主题;转到步骤130,直至无自然语言文本输入。优选的,还包括基于当前回合的会话主题从结构化知识库中匹配分析相关的候选会话主題。优选的,所述从结构化知识库中匹配分析相关的候选会话主题包括结合用户的个性化信息和/或预置的系统偏好信息,与当前回合的会话主题在结构化知识库中进行匹配分析,得到相应符合用户个性化信息和/或系统偏好信息的候选会话主題。优选的,还包括根据当前回合的回话表达式和所述候选会话主题,或者根据当前回合的回话表达式、所述候选会话主题和所述当前回合的会话主题,生成自然语言回话返回至用户端。优选的,还包括若当前回合的会话主题不符合预置的系统偏好信息时,根据当前回合的回话表达式和所选择的候选会话主题生成自然语言回话返回至用户端。优选的,还包括将所述当前回合的会话主题对应的关键词输入结构化知识库,检索获得与当前回合的回话表达式相关的候选回话表达式;结合当前回合的回话表达式,及所述当前回合的会话主题对应的关键词,从候选回话表达式中选取对应的关键词作为候选会话主題。优选的,将所述当前回合的会话主题对应的关键词输入结构化知识库,检索获得与当前回合的回话表达式相关的候选回话表达式包括将所述当前回合的会话主题对应的关键词输入结构化知识库,检索包含所述关键词的第三回话表达式;计算所述第三回话表达式与当前回合的回话表达式的相关性,将相关性大于阈值的第三回话表达式作为候选回话表达式。优选的,所述将相关性大于阈值的第三回话表达式作为候选回话表达式进ー步包括
将所述同一知识类别的第三回话表达式进行排序;选择排序靠前的至少ー个第三回话表达式作为候选回话表达式。优选的,还包括从候选回话表达式中,选取与所述当前回合的会话主题对应的关键词在当前回合的回话表达式中的相同词性对应的数据内容作为候选会话主題。优选的,解析所述输入的自然语言文本中各词所属的词性,包括遍历实体词表,将所述自然语言文本转换为既定格式;标记所述转换后的自然语言文本中各实体词所属的词性;所述词性包括实体词、属性词、属性词对应的属性值。优选的,所述结合前一回合的会话信息确认当前回合的会话主题包括结合前一回合的会话信息中的会话主题和/或候选会话主题确认当前回合的会话主題。优选的,还包括通过从全网的各网页中提取的实体词、所述实体词对应的属性词和属性值构建所述结构化知识库。优选的,所述结构化知识库构建时包括针对抓取的同一知识类别的各知识网站,利用相应知识网站的解析模板解析各知识网站的网页内容,获得实体词及与实体词相应的属性词和属性值;针对同一实体词,以实体词、实体词对应的属性词、属性词对应的属性值的数据结构存入结构化知识库。相应的,本申请还公开了ー种主题对话装置,包括第一解析模块,用于解析首次输入的自然语言文本中各词所属的词性,确认对应匹配的第一语义表达式;第一联想模块,用于针对所述第一语义表达式在结构化知识库中进行匹配分析,得到对应所述第一语义表达式对应的回话表达式,并确认当前回合的会话主题;答案生成模块,用于根据当前回合的回话表达式和所述当前回合的会话主题,生成自然语言回话进行返回;第二解析模块,用于解析再次输入的自然语言文本中各词所属的词性,结合前一回合的会话信息确认对应匹配的第二语义表达式;第二联想模块,用于针对所述第二语义表达式在结构化知识库中进行匹配分析,得到对应所述第二语义表达式对应的回话表达式,结合前一回合的会话信息确认当前回合的会话主题;转到答案生成模块,直至无自然语言文本输入。优选的,所述联想模块还用于基于当前回合的会话主题从结构化知识库中匹配分析相关的候选会话主題。优选的,还包括用户个性化信息记录模块,用于记录用户个性化信息;进ー步的,所述联想模块还用于结合用户的个性化信息,与当前回合的会话主题从结构化知识库中进行匹配分析,得到相应的符合用户个性化信息的候选会话主題;和/或系统性格模块,用于记录预置的系统偏好信息;进ー步的,所述联想模块还用于结合预置的系统的偏好信息,与当前回合的会话 主题从结构化知识库中进行匹配分析,得到相应的符合系统的偏好信息的候选会话主題。优选的,所述答案生成模块还用于根据当前回合的回话表达式和所述候选会话主题,或者根据当前回合的回话表达式、所述候选会话主题和所述当前回合的会话主题,生成自然语言回话返回至用户端。与现有技术相比,本申请包括以下优点在本申请中,首先,基于结构化知识库和已记录的前一回合对话的上下文中的信息,将用户输入的自然语言文本解析为能在结构化知识库中匹配答案的语义表达式,并将所述语义表达式在所述结构化知识库中进行匹配查找,得到相应的回话表达式,从而准确解析用户输入的自然语言文本;其次,基于所述语义表达式及查询得到的对应的回话表达式,和所述记录的前一回合对话的会话信息,确认当前回合的会话主题,从而在结构化知识库中生成相应答案并输出。本申请中,用户基于会话主题与对话系统进行交流,则对话回合之间能够保持连贯性,使对话系统产生的回话对应的语义与用户的输入查询一致,且回话能够结合会话主题反问用户,达到使对话系统能够模拟真人进行聊天的效果,井能准确、连贯地响应用户的输入查询,与用户形成互动。
图I是本申请一种主题对话方法实施例一的流程不意图;图2是本申请优选的一种构建结构化数据库的流程示意图;图3是本申请一种主题对话方法实施例ニ的流程不意图;图4是本申请优选的从第二回合开始的ー种主题对话方法实施例三的流程示意图;图5是本申请ー种主题对话装置的结构示意图;图6是本申请ー种主题对话装置的结构示意图。
具体实施例方式为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本申请作进一步详细的说明。本申请利用预先基于全网中以实体词、属性词、属性值为基础构建的结构化知识库和前一回合的会话信息,精确分析用户每回合输入的自然语言文本,并记录对话回合的会话主題,由此可基于用户毎回合的会话主題,选择相关的话题进行回答,如此,即可连贯地与用户进行沟通,对话回合之间主题相互联系,使对话系统达到模拟真人进行聊天的效果,井能准确、连贯地响应用户的输入查询,与用户形成互动。參照图1,示出了本申请ー种主题对话方法的流程示意图实施例一,具体可以包括步骤110、解析首次输入的自然语言文本中各词所属的词性,确认对应匹配的第一语义表达式;步骤120、针对所述第一语义表达式在结构化知识库中进行匹配分析,得到对应所述第一语义表达式对应的回话表达式,并确认当前回合的会话主题;步骤130、根据当前回合的回话表达式和所述当前回合的会话主题,生成自然语言回话返回至用户端; 步骤140、解析再次输入的自然语言文本中各词所属的词性,结合前一回合的会话信息确认对应匹配的第二语义表达式;步骤150、针对所述第二语义表达式在结构化知识库中进行匹配分析,得到对应所述第二语义表达式对应的回话表达式,结合前一回合的会话信息确认当前回合的会话主题;转到步骤130,直至无自然语言文本输入。本申请还包括步骤100,通过从全网的各网页中提取的实体词、所述实体词对应的属性词和属性值进行构建所述结构化知识库。本申请的结构化知识库一般根据全网数据中抓取的结构化数据进行分析构建。结构化知识库的组织结构,从描述结构上来讲,结构化知识库是由实体,属性,属性值进行结构化存储而成的I、实体对应的ー个具体的个体,在明星类别中,比如刘德华,张柏芝,林青霞等,也包含一些宽泛的代表类别的个体,比如人,电影明星,歌手等。2、属性就是实体所包含的特性,除了包含属性名称外,每个属性还有ー个反应属性值类型的类型变量,比如[身高长度],[年龄整数],[出生日期日期],[配偶人名]等°3、属性值与属性对应的值,比如174cm(身高),87kg(体重),朱丽倩(刘德华配偶)等,这部分也就是知识库中的知识。属性值还会记录知识的来源,用于帮助用户判断知识的可靠性。通过上述组织结构对每类知识进行结构化处理,即可得到精确的结构化知识。所述结构化知识库从全网中提取的实体词,所述实体词对应的属性词和属性值进行构建。优选的,參照图2,从各信息中提取的实体词,所述实体词对应的属性词和属性值构建所述结构化知识库的步骤包括步骤S110,针对抓取的同一知识类别的各知识网站,利用相应知识网站的解析模板解析各知识网站的网页内容,获得实体词及与实体词相应的属性词和属性值;针对同一知识类别,其提供该类别知识的各种网站,可能以不同的内容构建其该知识类别的网页;那么可获取各网站该知识类别相应的解析模板,解析各网页内容,获得实体词,及与实体词相应的属性词和属性值。
优选的,针对抓取的同一知识类别的各网页内容,利用相应网页的解析模板解析各网页内容,获得实体词, 及与实体相应的属性词和属性值的步骤包括步骤S111,对抓取的同一知识类别各知识网站,利用该类别的各种子挖掘各知识网站的内容存放格式,获取各知识网站的解析模板;为了保证知识的精确性,本申请一般抓取全网中的垂直知识网站的网页,比如明星类,那么可选择明星类网站。在实际中,各种网站往往已基于客观类别分类完毕,在ー些“网址导航”类的页面中,如http://123. sogou. com,往往将全网中的网站基于其主营内容进行客观分类,如[商城]类别下为淘宝商城、当当购物、新蛋商城、V+名品、苏宁易购等等。对于每一知识类,一般可选择该知识类领域里具有代表性的,排序靠前的和内容丰富的网站。比如明星类网站,可选取搜狐明星库,新浪明星库,网易明星库,腾讯明星库等网站。对于ー特定知识类别,根据该类别知识的知识描述形式,可人工获取小数据分析出种子的种子属性,用于获取该知识类别各网站的解析模板。在分析得到“种子”后,对抓取一网站的一个或几个网页内容,将“种子”即种子属性和种子属性值与网页内容进行匹配,当种子属性命中吋,则将网页内容被种子属性匹配上的内容标记为“种子属性”,当命中种子属性值时,则将网页内容被种子属性值匹配上的内容标记为“种子属性值”,然后分析所述标记,即可挖掘该知识网站的各页面的内容存放格式,然后基于该内容存放格式即可获得网站解析模板。在实际中,每个网站的解析模板有相应网站的网址进行标记。当对于抓取的网址,首先根据标记的网址与抓取的网址进行比较,采用匹配上的网址的解析模板对抓取的网址的内容进行解析。所述的解析模板包括解析范围,待解析的与种子属性对应的种子属性的位置,相应种子属性值对应的种子属性值的位置。步骤S112,针对所述每一知识网站,利用相应知识网站的解析模板,解析出所述知识网站内与种子属性对应的第一属性词,及与所述第一属性词相应的第一属性值;比如前述搜狐明星库网站的解析模板,对搜狐明星资料库的各网页内容进行解析,解析出各网页中与种子的种子属性对应的第一属性词,及该网页内容中与所述第一属性词相应的第一属性值。实际中第一属性词与种子属性是相同的。步骤S113,选取各种子属性中与实体词相关的种子属性,将所述与实体词相关的种子属性相应的第一属性词的第一属性值作为实体词;比如姓名对应实体词,解析得到的第一属性词为“姓名”,那么姓名的对应的第一属性值“林志颖”即为实体词。步骤S114,选取各种子属性中与属性词相关的种子属性,将所述与属性词相关的种子属性相应的第一属性词作为属性词,将相应第一属性值作为属性值;tヒ如“性別”对应属性词,解析得到的第一属性词为“性别”时,将“性別”作为该实体的属性词,相应的第一属性值“男”作为属性值。步骤Slll至S114,是为了节省获取成本,以最小的人工成本获得各网页内容的实体词,及与实体词相应的属性词和属性值即先选择领域知识网站,之后挖掘网站的解析模板,再用解析模板解析网站内全部页面信息,获取原始垂直知识,之后再把原始知识利用类别对应的实体模板(比如购物模板、汽车模板)整理成结构化数据。在前述步骤Slll至S114构建结构化知识库时,可构建实体词表、属性词表、停用词表、疑问词表和语义模板表等表。其中,对于结构化知识库中存储的第一属性词,所述属性词表中包括所述第一属性词的同义词。比如,对于前述例子中,结构化知识库中,对于明星类,以第一属性词“年龄”存储属性值即年龄大小,那么在建立属性词表时,可将“年龄”的同义词“年纪”加入属性词表中,并可与年龄进行对应。步骤120,针对网页内容中的同一实体词,以实体词、属性词、属性值结构存入结构化知识库。 针对同一实体词,以实体词、实体词对应的属性词、属性词对应的属性值的数据结构存入结构化知识库。比如,ー显示明星“林志颖”个人资料的网页可解析得到[实体词-林志颖],[属性词-性別]-[属性值-男],[属性-生日]-[属性值-1974-10-15]等以实体词、属性词、属性值的三元组数据存入结构化知识库。另外,为了优化结构化知识库,本申请可根据全网用户的用户行为进行更新维护。针对所述结构化知识库中每ー实体的属性值,根据用户的触发信息进行优化;即利用用户的主动触发信息对结构化知识库进行优化和修正,主动触发信息就是本申请在展示的位置让用户可以根据自己的满意程度做反馈,如果有较多的用户反映不满意,则需要关注;特别是对于有多条结果的属性,可以让用户选择认可哪ー个答案,由此对结构化知识库的各条信息提供可信度的依据,进而经分析判断后,更新结构化知识库中对应实体的属性值。和/或,针对所述结构化知识库中各实体属性值,根据分析用户的搜索行为日志得到的所述属性值的可信度对结构化知识库中的实体的属性值进行优化。本申请也可以利用被动信息对结构化知识库进行优化和修正,被动信息就是当用户输入查询后的一系列操作,比如是否点击其他结果,页面停留时间,捜索的后续行为等,以此来挖掘数据的可信度信息,由此对结构化知识库的各条信息提供可信度的依据,进而经分析判断后,更新结构化知识库中对应实体的属性值。基于构建的结构化知识库,下面详细描述本申请的步骤,參照图I :步骤110、解析首次输入的自然语言文本中各词所属的词性,确认对应匹配的第一语义表达式;当用户需要进行查询或者交流吋,则会输入自然语言文本,本申请则可接受所述自然语言文本。优选的,本申请的用户还可输入语音,即在步骤110之前还包括接收用户输入的语音,并将所述语音识别为对应的自然语言文本,并解析所述自然语言文本中各词所属的词性,从而确认自然语言文本对应匹配的第一语义表达式。解析所述自然语言文本中各词所属的词性,包括步骤S11,通过实体识别模型,将所述自然语言文本中符合实体识别模型的词串转换为标准格式;其中实体识别模型为通过规则模型识别出“时间”,“日期”,“数字”,“价格”,“长度”,“重量”,等类型的信息,并转换为标准格式。比如,自然语言文本为“刘德华ー米八么? ”,那么通过实体识别模型可将数字“ー米ノV”识别为身高,即将“刘德华一米八么? ”转换为标准格式为“刘德华的身高为180cm ”。步骤S12,解析所述转换后的自然语言文本中各词所属的词性;所述词性包括实体词、属性词、属性词对应的属性值;
解析所述转换后的自然语言文本中各词所属的词性时包括步骤Al,针对所述自然语言文本,遍历实体词表,获得各实体词;在本申请中,在解析所述自然语言文本中各词的词性时,需要首先利用实体词表,标注自然语言文本中的实体词,利用实体词所属类别确定后续的属性词、疑问词的范围,提高解析效率。比如解析出实体词为刘德华,则确定自然语言文本所属类别为明星类,则在明星类范围内标注后续的属性词、疑问词等。步骤A2,根据各实体词所属类别,遍历相应类别中的属性词表、疑问词表和特殊疑问模板表,标注自然语言文本中的各属性词、各疑问词;在实体词所属范围内,利用属性词表、疑问词表和特殊疑问模板表,获得属性词、和/或疑问词。另外本申请中还存在停用词表,用于标注停用词。其中停用词为完全没有意思的词或本身有语义,但不会影响问题的主要意思的词,比如“的”,“目前”,“你知道”,“能否告诉我”,“详细”等。其中属性词表中包括属性词和其同义词,“身高I高度” ,“体重重量I分量”,“出生日期I生日I出生日”,“职业I工作I职位”等。另外,还可标注疑问词等,例如“是什么”,“叫什么”,“有哪些”等。比如对于前述“刘德华的身高为180 ”,解析该自然语言文本中各词的词性,< 实体词I刘德华 >〈停用词I的 >〈属性词I身高 >〈属性值1180X疑问句 >。其中属性值为在对应确认属性词后,可将跟随属性词的名词作为该属性词的属性值。那么,比如用户输入第一回合对话为“你知道北京有什么特色菜好吃的吗”,被标注为“[停用词I你知道][城市I北京][疑问词I有什么][属性词I特色菜好吃的][疑问词I吗?]”然后,根据所述词性确认自然语言文本对应匹配的第一语义表达式。在本申请中,预设了语义模板库,将标注完词性的自然语言文本在语义模板库中的各模型中进行匹配分析,即可确认自然语言文本对应匹配的第一语义表达式。比如前述“[停用词I你知道][城市I北京][疑问词I有什么][属性词I美食][疑问词I吗?] ”,则得到的第一语义表达式为[く实体I北京 >〈属性词I特色 >〈属性值I >]。步骤120、针对所述第一语义表达式在结构化知识库中进行匹配分析,得到对应所述第一语义表达式对应的回话表达式,并确认当前回合的会话主题;比如将其识别为语义表达式[く实体I北京X属性词I特色菜X属性值I >],通过该语义表达式通过后续步骤查询结构化数据库得到回话表达式[〈实体I北京〉〈属性词I特色菜 >〈属性值I北京烤鸭>]。那么即可根据回话表达式[〈实体I北京〉〈属性词I特色菜〉〈属性值I北京烤鸭>]确认当前回合的会话主題,即从三个词性对应的数据结构中选择ー个词性数据结构或者几个词性数据结构的组合的关键词作为主題。比如,本申请对[〈实体I北京〉〈属性词特色菜 >〈属性值I北京烤鸭 >]选择,本实施例中,选取〈属性值I北京烤鸭 > 作为主題,则当前回合的会话主题对应的关键词为“北京烤鸭”。在用户与本系统第一回合对话时,可从所述回话表达式中根据预置规则随机选择一个或者多个词性的词作为当前回合的会话主题对应的关键词。比如直接选择实体作为当前回合的会话主题对应的关键词;当属性值对应在结构化知识库中为实体词时,选择属性值为当前回合的会话主题对应的关键词;当属性值对应在结构化知识库中不为实体词时,可选择“属性词+属性值”作为当前回合的会话主题对应的关键词;或者当“实体+属性词”对应在结构化知识库中的回话表达式不唯一时,可选择“实体+属性词”作为当前回合的会话主题对应的关键词等等。步骤130、根据当前回合的回话表达式和所述当前回合的会话主题,生成自然语言回话返回至用户端;比如对于前述回话表达式[く实体I北京X属性词I特色菜X属性值I北京烤鸭〉],属性值“北京烤鸭”为当前回合的会话主题对应的关键词,根据回话表达式和关键词,通过调用预存的回话模板输出“嗯.· ·北京烤鸭挺好吃的,你吃过吗? ”。在本申请中,对应每个知识类别的结构化信息,针对该类别的属性构造了相应的回话模板;当然,还可设置各类别公用的属性对应的回话模板,还可针对所有不可识别情况设置的普适的回话模板。本申请中,根据所述语义表达式和相应回话表达式可以确定当前用户询问的对象 是什么,比如语义表达式〈实体词I北京 >〈属性词I特色菜 >〈属性值I >和回话表达式〈实体词I北京〉〈属性词I特色菜〉〈属性值I北京烤鸭〉,则确定当前用户询问的对象为北京烤鸭。步骤140、解析再次输入的自然语言文本中各词所属的词性,结合前一回合的会话信息确认对应匹配的第二语义表达式;tヒ如,针对在前一回合的回话中“嗯...北京烤鸭挺好吃的,你吃过吗?”,用户第二回合输入的自然语言文本为“没有,好吃? ”,那么首先自然语言文本解析为[く实体Inullx属性词I评价>〈属性值I >],之后通过已记录根据结合前一回合的会话信息,即前一回合的会话主題“北京烤鸭”,补全得到第二语义表达式[く实体I北京烤鸭 >〈属性词I评价 >〈属性值I >,即通过前一回合的语义表达式、前一回合的会话主题等将所述自然语言文本解析为对应匹配的第二语义表达式;使用户和机器人之间的会话一直围绕相同或相关的主题进行,从而保证了会话的连续性和相关性。步骤150、针对所述第二语义表达式在结构化知识库中进行匹配分析,得到对应所述第二语义表达式对应的回话表达式,结合前一回合的会话信息确认当前回合的会话主题;转到步骤130,直至无自然语言文本输入。比如,前述第二语义表达式[く实体I北京烤鸭X属性词I评价X属性值I >输入结构化知识库进行匹配分析获得[〈实体I北京烤鸭 >〈属性词I评价 >〈属性值19. 7>,前一回合的会话信息中记录的会话主题对应的关键词为北京烤鸭,而得到的回话表达式中也有“北京烤鸭”,则当前回合的会话主题对应的关键词不变,仍为“北京烤鸭”。由于此时对话没有结束,则转到步骤130继续对话,即根据当前回合的回话表达式和所述当前回合的会话主題,生成自然语言回话返回至用户端。在本申请中,所述前一回合的会话信息可包括前一回合的语义表达式,前一回合的回话表达式,前一回合的会话主題。所述结合前一回合的会话信息确认当前回合的会话主题包括结合前一回合的会话信息中的语义表达式,和/或回话表达式,和/或会话主题确认当前回合的会话主題。比如,前一回合的会话主题为〈属性值I北京烤鸭 >,而当前回合解析用户输入的自然语言文本得到的语义表达式为[く实体I北京烤鸭 >〈属性词I评价 >〈属性值I >,将前一回合的会话主题与当前回合的语义表达式中的词进行匹配,将匹配上的关键词及对应的词性作为当前回合的会话主題。当前回合中,可对会话主題“北京烤鸭”进行回答,在结构化知识库中查找〈实体I北京烤鸭〉的某个属性或者某个属性值与用户交流。比如,对话系统在回答[く实体I北京烤鸭 >〈属性词I评价 >〈属性值I >时,还可根据北京烤鸭的〈属性词I做法〉生成自然语言与用户进行交流,从而将当前回合的会话主题改为“烤鸭做法”。參照图3,示出了本申请ー种主题对话方法的流程示意图实施例ニ,具体可以包括步骤P110、解析首次输入的自然语言文本中各词所属的词性,确认对应匹配的第ー语义表达式;步骤P120、针对所述第一语义表达式在结构化知识库中进行匹配分析,得到对应所述第一语义表达式对应的回话表达式,并确认当前回合的会话主题;
步骤P110、P120与实施例一中步骤110、步骤110类似,不再详述。步骤P123,基于当前回合的会话主题从结构化知识库中匹配分析相关的候选会话主题;在确定了当前回合的会话主题后,即可基于当前回合的会话主题从结构化知识库中匹配分析相关的候选会话主題。比如当前回合的会话主题为“北京烤鸭”,则可从结构化知识库中匹配分析与“北京烤鸭”相关的各种信息为候选会话主题,比如北京烤鸭的“原料”,北京烤鸭的“做法”,卖北京烤鸭的“饭店”等等。进ー步优选的,基于当前回合的会话主题从结构化知识库中匹配分析相关的候选会话主题包括结合用户的个性化信息,和当前回合的会话主题从结构化知识库中匹配分析,得到符合用户个性化信息的候选会话主題。和/或,结合预置的系统的偏好信息,和当前回合的会话主题从结构化知识库中匹配分析,得到符合系统的偏好信息的候选会话主題。在本实施例中可记录用户的个性化信息,比如,用户自身信息和用户偏好信息,用户自身信息是以用户为ー个实体,建立用户的各项属性,当用户在问答中包含属性中的对应值的时候,则记录在模块中。用户偏好信息则是记录用户对所有知识库中的实体的态度,用一些标记和等级来定义,比如,“喜欢电影”、“对狗过敏”、“非常讨厌越南菜”等。那么在匹配查询得到候选会话主题时,可根据用户的个性化信息和用户个性化信息匹配得到相关类别的各候选会话主题,比如匹配用户喜好指数最大的候选会话主题,避免匹配到用户不喜欢的候选会话主题。在本申请中,本系统自身也可设置性格模块,即选择对话系统自身预置偏好信息,实现对结构化知识库中各种实体的偏好、态度,以及对各种属性对应的概念和相应的属性值区间的偏好等。比如,对实体〈汽车 > 的偏好,对某些属性值条件下的实体[く汽车 >〈颜色〉〈黄色〉]的偏好。那么系统会筛选符合其偏好的候选会话主题,比如会主动选择黄色汽车为候选会话主題。优选的,所述基于当前回合的会话主题从结构化知识库中匹配分析相关的候选会话主题包括
步骤S31,将所述当前回合的会话主题对应的关键词输入结构化知识库,检索获得与当前回合的回话表达式相关的候选回话表达式;如当前回合的会话主题对应的关键词为“北京烤鸭”,则可将“北京烤鸭”在结构化知识库中匹配分析,得到相关的第三回话表达式为候选。比如检索到第三回话表达式1、く实体I北京烤鸭>-ーく属性词I原料>-ーく属性值I鸭子>,2、〈实体I全聚德>---く属性词I北京特色菜>---く属性值I北京烤鸭 > ;那么可将第三回话表达式〈实体I北京烤鸭>---〈属性词I原料〉---〈属性值I鸭子〉作为候选回话表达式,也可将第三回话表达式<实体I全聚德>---く属性词I北京特色菜>---く属性值I北京烤鸭 > 作为候选回话表达式。优选的,将所述当前回合的会话主题对应的关键词输入结构化知识库,检索获得与当前回合的回话表达式相关的候选回话表达式包括将所述当前回合的会话主题对应的关键词输入结构化知识库,检索包含所述关键词的第三回话表达式; 计算所述第三回话表达式与当前回合的回话表达式的相关性,将相关性大于阈值的第三回话表达式作为候选回话表达式。比如,检索得到第三回话表达式〈实体I北京烤鸭X属性词I供应餐馆X属性值全聚德 > 等等。而当前的第三回话表达式为〈实体I北京 >〈属性词I特色菜 >〈属性值北京烤鸭〉,则相同词为“北京”、“北京烤鸭”,那么同时出现的词在当前的第三回话表达式
信息中出现的占比为2/3,在检索得到的第三回话表达式中出现的占比为1/3,实体词“北京”,和实体词北京烤鸭的相似度为50%,那么最终相关性可为2/3+1/3+50%= 1.5。如果存在多个第三回话表达式,那么将大于阈值的第三回话表达式作为候选回话表达式。在其他实施例中,本申请还可采用其他方式计算相关性,通过关键词模型进行第三回话表达式的匹配,根据表达式中的各关键词所对应的分值得到第三表达式对应的总分值,将分值最高的第三回话表达式最为候选回话表达式,本申请不对其加以限制。优选的,所述将相关性大于阈值的第三回话表达式作为候选回话表达式进ー步包括I、将所述同一知识类别的第三回话表达式进行排序;2、选择排序靠前的至少ー个第三回话表达式作为候选回话表达式。对于同一知识类别的第三回话表达式,比如第三回话表达式〈实体I北京烤鸭X属性词I供应餐馆 >〈属性值I全聚德 > 和〈实体I北京烤鸭 >〈属性词I供应餐馆 >〈属性值I便宜坊〉等,均属于〈实体I北京烤鸭〉对应的供应餐馆,那么可对这些第三回话表达式进行排序。比如按照对各供应餐馆的评价排序等。然后从排完序的第三回话表达式中选择排序靠前的至少ー个第三回话表达式作为候选回话表达式即可,本实施例中,选择第三回话表达式〈实体I北京烤鸭 >〈属性词I供应餐馆 >〈属性值I全聚德 > 作为候选回话表达式。步骤S32,结合当前回合的回话表达式,及当前回合的会话主题对应的关键词,从候选回话表达式中选取候选会话主题对应的关键词作为候选会话主題。比如,前述当前回合的回话表达式为[〈实体I北京〉〈属性词I特色菜〉〈属性值北京烤鸭 >],当前回合的会话主题对应的关键词为“北京烤鸭”,对于候选回话表达式〈实体I北京烤鸭 >〈属性词I供应餐馆 >〈属性值I全聚德 >,那么将〈属性值I全聚德 > 作为候选会话主題。在从候选回话表达式中选取候选会话主题时,优选的,从候选回话表达式中,选取与所述当前回合的会话主题对应的关键词在当前回合的回话表达式中的相同词性对应的数据内容作为候选会话主題。tヒ如,前述当前回合的回话表达式为[く实体I北京X属性词I特色菜X属性值北京烤鸭〉],当前回合的会话主题对应的关键词为“北京烤鸭”,其在当前回合的回话表
达式中的词性为“属性值”,而候选回话表达式为〈实体词I北京烤鸭>〈属性词I供应餐馆>〈属性值I全聚德〉,那么可选择与词性“属性值”相同词性对应的数据内容“全聚德”作为候选会话主題。在其他实施例中,也可选择与词性“属性值”相应或者相异的词性对应的数据内容,如属性词中的数据内容“供应餐馆”作为候选会话主題。还可选择所述回话表达式中,与当前主题关键词不同的关键词或者关键词组合作为候选会话主題。
步骤P130、単独根据当前回合的回话表达式,或者,根据当前回合的回话表达式和所述当前回合的会话主题,或者,根据当前回合的回话表达式和所述候选会话主题,或者,根据当前回合的回话表达式、所述候选会话主题和所述当前回合的会话主题,生成自然语言回话返回至用户端。其中,単独根据当前回合的回话表达式,或者根据当前回合的回话表达式和所述当前回合的会话主题,与步骤130所述类似,在此不在详述。对于“根据当前回合的回话表达式和所述候选会话主題”,比如当前回合的回话表达式为[く实体I北京〉〈属性词I特色〉〈属性值I北京烤鸭〉,候选会话主题为“全聚德”。那么可调用回话模板,生成自然语言“知道啊,北京烤鸭很有特色。全聚德你知道吗? ”。在其他实施例中,如果选择与词性“属性值”相应或者相异的词性对应的数据内容“供应餐馆”作为候选会话主题,则那么可调用回话模板,生成自然语言“知道啊,北京烤鸭很有特色。附近就有一个不错的餐馆,有兴趣么? ”。对于“根据当前回合的回话表达式、所述候选会话主题和所述当前回合的会话主題”,比如当前的回话表达式为[く实体I北京 >〈属性词I特色 >〈属性值I北京烤鸭 >,候选会话主题为“全聚德”,当前回合会话主题为“北京烤鸭”,那么可调用回话模板,生成自然语言“知道啊,北京烤鸭很不错。全聚德的北京烤鸭你吃过吗? ”。优选的,所述根据当前回合的回话表达式、所述候选会话主题和所述当前回合的会话主题,生成自然语言回话返回至用户端包括若当前回合的会话主题不符合预置的系统偏好信息时,根据当前回合的回话表达式和所选择的候选会话主题生成自然语言回话返回至用户端。当本系统存在自身的偏好信息时,则在回答用户问题时,则可根据自身的偏好信息选择是否主动切换到候选会话主题与用户进行交流。即根据设置的系统偏好信息,来决定是否主动切换到选取候选会话主題。如判断切換到候选会话主題,则结合当前回合的回话表达式生成带有回问句式的自然语言回话,所述回问句式根据候选会话主题调用回话模板得到。如此,对话系统的回话内容除回答用户的提问外,还带有与提问答案相关的回问句式,真实地模拟了真人聊天的效果。比如,系统偏好信息被用户设置为“学究型”,则结构化数据库中查询“北京烤鸭”得到的候选会话主题为“历史”、“做法”、“流派”和“名店”;根据系统偏好信息选择候选会话主题为“历史”,则结合当前回合的回话表达式生成带有回问句式的自然语言回话“嗯...北京烤鸭挺好吃的,你知道它的历史么? ”步骤P140、解析再次输入的自然语言文本中各词所属的词性,结合前一回合的会话信息确认对应匹配的第二语义表达式;本步骤与实施例一中的步骤140类似,在此不再详述。步骤P150、针对所述第二语义表达式在结构化知识库中进行匹配分析,得到对应所述第二语义表达式对应的回话表达式,结合前一回合的会话信息确认当前回合的会话主题;转到步骤P123,直至无自然语言文本输入,对话中止。本步骤中,针对所述第二语义表达式在结构化知识库中进行匹配分析,得到对应所述第二语义表达式对应的回话表达式与实施例一中步骤150所述类似,在此不再详述。
在本实施例中,所述前一回合的会话信息除了包括前一回合的语义表达式、前一回合的回话表达式、前一回合的会话主题之外,在前一回合存在候选会话主题时,则还包括前一回合的候选会话主題。在步骤P150中,存在候选会话主题时,结合前一回合的会话信息中的会话主题和/或候选会话主题确认当前回合的会话主題。比如,前一回合的会话主题为“北京”、候选会话主题为“北京烤鸭”,而本回合解析用户输入的自然语言文本对应的语义表达式为[く实体I北京烤鸭 >〈属性词I评价 >〈属性值I >,将会话主题和候选会话主题分别匹配[く实体I北京烤鸭 >〈属性词I评价>〈属性值I >,即将[〈实体I北京烤鸭〉作为当前回合的会话主題。基于该会话主题对应的关键词在结构化知识库中继续进行联想查找,即输入结构化知识库查找候选会话主題,或是统计全网内文本中与“北京烤鸭”共现频率最高的关键词。比如,供应“北京烤鸭”的餐馆作为候选会话主题,或者与“北京烤鸭”原料相同的鸭子一一“填鸭“作为候选会话主题等。即选择当前回合的会话主题对应关键词在结构化知识库中的实体词、属性词、属性值其中之一或者几种的组合作为候选会话主題。參照图4,其示出了本申请进ー步优选的从第二回合开始的ー种主题对话方法实施例三的流程示意图。由前述可知构建的结构化知识库可存储的以“实体词-属性词-属性值”的三元数据结构的表达式。在此基础之上,从第二回合对话开始的ー种主题对话方法具体可以包括步骤310,接收用户的自然语言文本;比如前一回合对话为“用户华山有什么好吃的?系统很多呢,比如羊肉泡馍,知道’同盛祥’么? ”而本回合用户输入“那是什么呀? ”步骤320,结合已记录的前一回合对话的会话信息,将所述自然语言文本解析为语义表达式;所述会话信息包括会话主题对应的关键词,语义表达式及对应的回话表达式,与所述会话主题对应的关键词相关的候选三元组信息、及从候选三元组中选择的候选会话主题对应的关键词。前一回合的会话信息包括第一语义表达式く实体I华山>ーく属性词I美食>-<属性值I >;回话表达式〈实体I华山く属性词I美食く属性值I羊肉泡馍>,会话主题华山;候选回话表达式〈实体I羊肉泡馍〈属性词I供应餐馆〈属性值同盛祥〉;候选会话主题同盛祥,其中,候选会话主題“同盛祥“通过候选回话表达式〈实体I羊肉泡馍く属性词I供应餐馆く属性值I同盛祥 > 获得。那么本回合系统首先将“那是什么呀? ”进行解析,首先将“那是什么呀? ”解析为<实体I同盛祥く属性词I类别く属性值I >。优选的,结合已记录的前一回合对话的会话信息,将所述自然语言文本解析为语义表达式包括通过实体识别模型,将所述自然语言文本中符合实体识别模型的词串转换为标准格式;解析所述转换后的自然语言文本中各词所属的词性;所述词性包括实体词、属性词、属性词对应的属性值;根据所述自然语言文本中各词所属的词性、前一回合对话的上下文中的信息,确认自然语言文本对应匹配的语义表达式;所述语义表达式由包括实体词、属性 词、属性词对应的属性值三元数据结构组成。步骤330,将所述语义表达式输入结构化知识库进行匹配分析,获取与语义表达式相匹配的第一三元组信息;所述结构化知识库中存储以实体词、属性词、属性值为三元结构
的第一三元组信息;在本申请中,一个语义表达式可能在结构化知识库中匹配出多个三元组信息,那么可根据预设规则从其中选择ー个或者几个作为第一三元组信息。将所述〈实体I同盛祥>ーく属性词I功能>ーく属性值I >输入结构化知识库进行匹配分析,获得第一三元组信息〈实体I同盛祥>--く属性词I类别>--く属性值I餐馆〉。步骤340,基于所述记录的前一回合对话的会话信息,所述第一三元组信息,确认当前回合的会话主题对应的关键词;如前所述,将前一回合的会话主题“华山“和前一回合的候选会话主題“同盛祥”与第一三元组信息〈实体I同盛祥>--く属性词I功能>--く属性值I餐馆 > 进行匹配,发现候选会话主題“同盛祥”匹配上,则将当前回合的会话主题确认为“同盛祥”。那么会话主题即从前一回合的“华山”转变为当前回合的“同盛祥”,使用户觉得对话系统中的“人,,十分健谈,可继续有效的进行多回合沟通。步骤350,结合用户的个性化信息,将所述当前回合的会话主题对应的关键词输入结构化知识库,检索获得与第一三元组信息和用户个性化信息相关的候选三元组信息;和/或,结合预置的系统的偏好信息,将所述主题对应的关键词输入结构化知识库,检索获得与第一三元组信息相关的,并符合系统偏好信息的候选三元组信息;在检索候选三元组信息过程中可包括步骤S251,结合用户的个性化信息和/或预置的系统的偏好信息,将所述当前回合的会话主题对应的关键词输入结构化知识库,检索包含所述会话主题对应的关键词的三元组信息;比如会话主题对应的关键词“汽车”作为检索关键词,用户不喜欢日本车,而系统不喜欢蓝色车,那么将“汽车”输入结构化知识库,检索所有不为日本车,或者也不是蓝色车的“汽车”的三元组信息。
步骤S252,计算所述检索得到的三元组信息与所述第一三元组信息的相关性;本实施例中,计算所述三元组信息中与第一三元组信息同时出现的词在第一三元组信息中和检索得到的三元组信息中各自的占比;然后可比较相同词性结构中的各词相似程度。本步骤将步骤S312将第三回话表达式替换为三元组信息后,即类似,在此不再详述。步骤S253,选择将相关性 大于阈值的三元组信息作为候选三元组信息。可设置ー个相关性阈值,当相关性大于所述相关性阈值时,则将检索得到的三元组信息作为候选三元组信息。其中,在从相关性大于所述相关性阈值的三元组信息中进行选择时,优先选择同一类别的三元组信息作为候选三元组信息。步骤360,结合第一三元组信息及当前回合的会话主题对应的关键词,从候选三元组信息中选取候选会话主题对应的关键词;步骤370,结合所述语义表达式,第一三元组信息、候选三元组信息,候选会话主题对应的关键词,系统的偏好信息,调用相应的回话模板生成自然语言文本;其中,若第一三兀组信息不符合系统偏好信息时,根据候选会话主题对应的关键词及对应的候选三元组信息,选择相应的回话模板生成自然语言文本。步骤380,将所述自然语言文本返回至用户端。当本系统存在自身的偏好信息时,则在回答用户问题时,则可根据自身的偏好信息选择是否切換到候选会话主题与用户进行交流。即根据系统本身对主题的偏好分值,来决定是不是要切換到其他相关的候选会话主題,如果不存在阈值的系统偏好信息,则采用随机生成的方式确定要主动切换到其他相关的候选会话主題。基于前述步骤,对于图4,在此以ー组实例分析说明实施例的执行过程(I)用户你知道北京有什么特色好吃的吗?(2)对话系统知道啊,北京烤鸭你吃过吗?(3)用户没有,好吃?(4)对话系统大家的评价都很高,老字号的全聚德你知道吗?(5)用户知道了(6)对话系统还有便宜坊,大童烤鸭,鸭王烤鸭也都很有名啊,值得ー试。上面的六句对话的处理过程如下(I)该句话是用户的第一回合对话,本系统记录的前一回合对话的上下文信息为空。在步骤310中,接收“你知道北京有什么特色好吃的吗? ”在步骤320中,结合实体词表、属性词表、停用词表、实体识别模型等,将“你知道北京有什么特色好吃的吗? ”标注为“[停用词I你知道][城市I北京][疑问词I有什么][属性词I美食][疑问词I吗?]”;然后将“[停用词I你知道][城市I北京][疑问词I有什么][属性词I美食][疑问词I吗?]”与语义模板库进行匹配分析,解析得到语义表达式[〈实体I北京〉〈属性词I特色菜X属性值I >],其中语义表达式的问题类型为疑问句。在步骤330中,将[く实体I北京X属性词I特色菜X属性值I >]输入结构化知识库进行匹配分析,获取与语义表达式相匹配的第一三元组信息,获取得到[く实体北京〉〈属性词I特色菜〉〈属性值I北京烤鸭〉],即得到相应属性值为“北京烤鸭”。在步骤340中,因为记录的前一回合的会话信息为空,那么从[〈实体I北京〉〈属性词I特色菜〉〈属性值I北京烤鸭〉]随机寻找ー个词性结构或者几个词性结构的词作为当前回合的会话主题对应的关键词,比如选择了〈属性值I北京烤鸭 > 作为当前回合的会话主题对应的关键词。在步骤350中,从用户的个性化信息中没有发现对〈属性值I评价 > 的偏好属性值为大于8. 0,那么将会话主题对应的关键词“北京烤鸭”输入结构化知识库中查询,查询包括“北京烤鸭”的所有候选三元组信息吋,如果将〈属性值I评价 > 低于8. O的候选三元组信息过滤。通过前面描述的方法原理,在结构化知识库中获得ー个与[く实体I北京X属性词I特色菜 >〈属性值I北京烤鸭 >]和用户个性化信息相关的候选三元组信息[く实体北京烤鸭 >〈属性词I供应餐馆 >〈属性值I全聚德>]。 在步骤360中,第一三元组信息为[く实体I北京X属性词I特色菜X属性值北京烤鸭 >],当前回合对话的会话主题对应的关键词为〈属性值I北京烤鸭 >],那么从候选三元组信息[く实体I北京烤鸭 >〈属性词I供应餐馆 >〈属性值I全聚德 >]中,可保存主题关键词不变。在步骤370中,结合所述语义表达式[く实体I北京X属性词I特色菜X属性值 >],第一三元组信息[く实体I北京 >〈属性词I特色菜 >〈属性值I北京烤鸭 >],候选
三元组信息[く实体I北京烤鸭 >〈属性词I供应餐馆 >〈属性值I全聚德 >],候选会话主题对应的关键词〈实体I北京烤鸭〉,可选择对应的回话模板生成自然语言,即步骤380,将所述自然语言文本返回至用户端,得到(2)。(2) “知道啊,北京烤鸭你吃过吗? ”。(3)用户输入“没有,好吃? ”即再次转到步骤310,进行下一次循环首先被标注为[语义块I没有][属性词I好吃][疑问词I吗?],再进ー步解为语义表达式[く实体Inullx属性词I评价>〈属性值I >,那么根据已记录的前一回合的上下文信息,即记录的前一回合的主题对应的关键词“北京烤鸭”将[く实体Inullx属性词I评价 >〈属性值
>补全为[く实体I北京烤鸭 >〈属性词I评价 >〈属性值I >,将其输入结构化知识库获取三元组信息为[く实体I北京烤鸭 >〈属性词I评价 >〈属性值|9. 7>(其中,该评价值大于8. 0,符合用户的个性化信息中的偏好,因此没被过滤)。前一回合记录的主题对应的关键词为“北京烤鸭”,而得到的三元组信息中也有“北京烤鸭”,那么主题对应的关键词不变。基于该主题对应的关键词可继续进行联想查找,即输入结构化知识库查找候选三元组信息,比如查找得到各第三回话表达式〈实体词I北京烤鸭 >〈属性词I供应餐馆X属性值I全聚德 >,〈实体词I北京烤鸭 >〈属性词I供应餐馆 >〈属性值I大童烤鸭 >,〈实体词I北京烤鸭 >〈属性词I供应餐馆 >〈属性值I便宜坊 >,< 实体词I北京烤鸭 >〈属性词I供应餐馆X属性值I鸭王烤鸭〉等,从中选择了相同类别的三元组信息,即前述属性均为供应餐馆的三元组信息。此时对于同一类别的三元组信息,需要对其进行排序,则可对三元组信息中不同的词进行排序操作,在上述三元组信息中则对属性值全聚德、大童烤鸭、便宜坊、鸭王烤鸭等进行操作,由于无法直接排序,所以将这些词输入结构化知识库查询其评价,得到评价值,然后基于这些评价值进行排序,排序完毕得到〈实体词I北京烤鸭 >〈属性词I供应餐馆X属性值I全聚德〉排序第一。则可选择〈实体词I北京烤鸭X属性词I供应餐馆X属性值I全聚德 > 作为候选三元组信息,并从中随机选择了 “全聚德”作为候选会话主题对应的关键词。则基于当前回合的第一三元组信息的属性词,候选三元组信息的属性词选择回话模板,结合候选会话主題“全聚德”生成自然语言(4)返回。(4)大家的评价都很高,老字号的全聚德你知道吗?(5)用户输入“知道了”,即当用户输入无用的语义信息的自然语言文本时,获取前一回合对话的会话信息,根据前一回合对话的会话主题对应的关键词在结构化知识库中匹配,得到相应的候选三元组信息后调用相应的回话模板生成自然语言文本。标注用户的输 入[语义段I知道了],解析为语义表达是[NULL],没有有用的语义信息,所以为了将对话继续下去我们先从记忆模块获取上一次对话的会话信息,也就是查询语义表达式[く实体北京烤鸭 >〈属性词I评价 >〈属性值I >]、三元组信息[く实体I全聚德 >〈属性词I评价X属性值|9. 7>],和会话主题对应的关键词“北京烤鸭”,可继续将“北京烤鸭”输入结构化知识库查询相关的候选三元组信息,比如还是搜索到候选三元组信息〈实体词I北京烤鸭X属性词I供应餐馆 >〈属性值I全聚德 >,< 实体词I北京烤鸭 >〈属性词I供应餐馆X属性值I大童烤鸭 >,< 实体词I北京烤鸭 >〈属性词I供应餐馆 >〈属性值I便宜坊>,〈实体词I北京烤鸭 >〈属性词I供应餐馆 >〈属性值I鸭王烤鸭〉,则可将选取候选三元组信息中选取候选会话主题对应的各关键词,得到“全聚德”、“便宜坊”、“大董烤鸭”,“鸭王烤鸭”,将除“全聚德“外的关键词“便宜坊”、“大董烤鸭”,“鸭王烤鸭”也调用相应回话模板生成自然语言(6)。(6)还有便宜坊,大童烤鸭,鸭王烤鸭也都很有名啊,值得ー试。參照图5,其示出了本申请ー种主题对话装置的结构示意图,包括第一解析模块410,用于解析首次输入的自然语言文本中各词所属的词性,确认对应匹配的第一语义表达式;第一联想模块420,用于针对所述第一语义表达式在结构化知识库中进行匹配分析,得到对应所述第一语义表达式对应的回话表达式,并确认当前回合的会话主題;答案生成模块430,用于根据当前回合的回话表达式和所述当前回合的会话主題,生成自然语言回话返回至用户端;第二解析模块440,用于解析再次输入的自然语言文本中各词所属的词性,结合前一回合的会话信息确认对应匹配的第二语义表达式;第二联想模块450,用于针对所述第二语义表达式在结构化知识库中进行匹配分析,得到对应所述第二语义表达式对应的回话表达式,结合前一回合的会话信息确认当前回合的会话主题;转到答案生成模块430,直至无自然语言文本输入。优选的,所述联想模块还用于基于当前回合的会话主题从结构化知识库中匹配分析相关的候选会话主題。优选的,还包括
用户个性化信息记录模块,用于记录用户个性化信息;进ー步的,所述联想模块还用于结合用户的个性化信息,与当前回合的会话主题从结构化知识库中进行匹配分析,得到相应的符合用户个性化信息的候选会话主題;和/或系统性格模块,用于记录预置的系统偏好信息;进ー步的,所述联想模块还用于结合预置的系统的偏好信息,与当前回合的会话主题从结构化知识库中进行匹配分析,得到相应的符合系统的偏好信息的候选会话主題。优选的,所述答案生成模块还用于根据当前回合的回话表达式和所述候选会话主题,或者根据当前回合的回话表达式、所述候选会话主题和所述当前回合的会话主题,生成自然语言回话返回至用户端。參照图6,其示出了本申请ー种主题对话装置的结构示意图,包括 查询解析模块510,包括第一解析模块,用于解析首次输入的自然语言文本中各词所属的词性,确认对应匹配的第一语义表达式;和,第二解析模块,用于解析再次输入的自然语言文本中各词所属的词性,结合前一回合的会话信息确认对应匹配的第二语义表达式;联想模块520,包括第一联想模块,用于针对所述第一语义表达式在结构化知识库中进行匹配分析,得到对应所述第一语义表达式对应的回话表达式,并确认当前回合的会话主题;第二联想模块,用于针对所述第二语义表达式在结构化知识库中进行匹配分析,得到对应所述第二语义表达式对应的回话表达式,结合前一回合的会话信息确认当前回合的会话主题;转到答案生成模块530,直至无自然语言文本输入。答案生成模块530,用于根据当前回合的回话表达式和所述当前回合的会话主題,生成自然语言回话返回至用户端;记忆模块540,用于记录前一回合的会话信息;结构化知识库550,用于进行所述匹配分析。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处參见方法实施例的部分说明即可。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相參见即可。最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另ー个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。以上对本申请所提供的ー种主题对话方法和装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书自然语言文本不应理解为对本申请的限制。
权利要求
1.ー种主题对话方法,其特征在于,包括 步骤110、解析首次输入的自然语言文本中各词所属的词性,确认对应匹配的第一语义表达式; 步骤120、针对所述第一语义表达式在结构化知识库中进行匹配分析,得到对应所述第一语义表达式对应的回话表达式,并确认当前回合的会话主题; 步骤130、根据当前回合的回话表达式和所述当前回合的会话主题,生成自然语言回话进行返回; 步骤140、解析再次输入的自然语言文本中各词所属的词性,结合前一回合的会话信息确认对应匹配的第二语义表达式; 步骤150、针对所述第二语义表达式在结构化知识库中进行匹配分析,得到对应所述第ニ语义表达式对应的回话表达式,结合前一回合的会话信息确认当前回合的会话主题;转到步骤130,直至无自然语言文本输入。
2.根据权利要求I所述的方法,其特征在于,还包括 基于当前回合的会话主题从结构化知识库中匹配分析相关的候选会话主題。
3.根据权利要求2所述的方法,其特征在于,所述从结构化知识库中匹配分析相关的候选会话主题包括 结合用户的个性化信息和/或预置的系统偏好信息,与当前回合的会话主题在结构化知识库中进行匹配分析,得到相应符合用户个性化信息和/或系统偏好信息的候选会话主题。
4.根据权利要求2或3所述的方法,其特征在于,还包括 根据当前回合的回话表达式和所述候选会话主题,或者根据当前回合的回话表达式、所述候选会话主题和所述当前回合的会话主题,生成自然语言回话返回至用户端。
5.根据权利要求3所述的方法,其特征在于,还包括 若当前回合的会话主题不符合预置的系统偏好信息时,根据当前回合的回话表达式和所选择的候选会话主题生成自然语言回话返回至用户端。
6.根据权利要求2或3所述的方法,其特征在于,还包括 将所述当前回合的会话主题对应的关键词输入结构化知识库,检索获得与当前回合的回话表达式相关的候选回话表达式; 结合当前回合的回话表达式,及所述当前回合的会话主题对应的关键词,从候选回话表达式中选取对应的关键词作为候选会话主題。
7.根据权利要求6所述的方法,其特征在干,将所述当前回合的会话主题对应的关键词输入结构化知识库,检索获得与当前回合的回话表达式相关的候选回话表达式包括 将所述当前回合的会话主题对应的关键词输入结构化知识库,检索包含所述关键词的第三回话表达式; 计算所述第三回话表达式与当前回合的回话表达式的相关性,将相关性大于阈值的第三回话表达式作为候选回话表达式。
8.根据权利要求7所述的方法,其特征在于,所述将相关性大于阈值的第三回话表达式作为候选回话表达式进ー步包括 将所述同一知识类别的第三回话表达式进行排序;选择排序靠前的至少ー个第三回话表达式作为候选回话表达式。
9.根据权利要求7或8所述的方法,其特征在于,还包括 从候选回话表达式中,选取与所述当前回合的会话主题对应的关键词在当前回合的回话表达式中的相同词性对应的数据内容作为候选会话主题。
10.根据权利要求I所述的方法,其特征在于,解析所述输入的自然语言文本中各词所属的词性,包括 遍历实体词表,将所述自然语言文本转换为既定格式; 标记所述转换后的自然语言文本中各实体词所属的词性;所述词性包括实体词、属性词、属性词对应的属性值。
11.根据权利要求2所述的方法,其特征在于,所述结合前一回合的会话信息确认当前回合的会话主题包括 结合前一回合的会话信息中的会话主题和/或候选会话主题确认当前回合的会话主题。
12.根据权利要求I所述的方法,其特征在于,还包括 通过从全网的各网页中提取的实体词、所述实体词对应的属性词和属性值构建所述结构化知识库。
13.根据权利要求12所述的方法,其特征在于,所述结构化知识库构建时包括 针对抓取的同一知识类别的各知识网站,利用相应知识网站的解析模板解析各知识网站的网页内容,获得实体词及与实体词相应的属性词和属性值; 针对同一实体词,以实体词、实体词对应的属性词、属性词对应的属性值的数据结构存入结构化知识库。
14.ー种主题对话装置,其特征在于,包括 第一解析模块,用于解析首次输入的自然语言文本中各词所属的词性,确认对应匹配的第一语义表达式; 第一联想模块,用于针对所述第一语义表达式在结构化知识库中进行匹配分析,得到对应所述第一语义表达式对应的回话表达式,并确认当前回合的会话主题; 答案生成模块,用于根据当前回合的回话表达式和所述当前回合的会话主题,生成自然语言回话进行返回; 第二解析模块,用于解析再次输入的自然语言文本中各词所属的词性,结合前一回合的会话信息确认对应匹配的第二语义表达式; 第二联想模块,用于针对所述第二语义表达式在结构化知识库中进行匹配分析,得到对应所述第二语义表达式对应的回话表达式,结合前一回合的会话信息确认当前回合的会话主题;转到答案生成模块,直至无自然语言文本输入。
15.根据权利要求14所述的系统,其特征在于,所述联想模块还用于 基于当前回合的会话主题从结构化知识库中匹配分析相关的候选会话主題。
16.根据权利要求15所述的系统,其特征在于,还包括 用户个性化信息记录模块,用于记录用户个性化信息; 进ー步的,所述联想模块还用于结合用户的个性化信息,与当前回合的会话主题从结构化知识库中进行匹配分析,得到相应的符合用户个性化信息的候选会话主題;和/或系统性格模块,用于记录预置的系统偏好信息; 进ー步的,所述联想模块还用于结合预置的系统的偏好信息,与当前回合的会话主题从结构化知识库中进行匹配分析,得到相应的的符合系统的偏好信息的候选会话主題。
17.根据权利要求15或16所述的系统,其特征在于,所述答案生成模块还用于根据当前回合的回话表达式和所述候选会话主题,或者根据当前回合的回话表达式、所述候选会话主题和所述当前回合的会话主题,生成自然语言回话返回至用户端。
全文摘要
本申请提供了一种主题对话方法和装置,涉及计算机技术领域。方法包括解析首次输入的自然语言文本,确认第一语义表达式;针对第一语义表达式匹配分析,得到回话表达式,并确认当前回合的会话主题;根据回话表达式和当前回合的会话主题生成自然语言回话进行返回;解析再次输入的自然语言文本,确认第二语义表达式;针对第二语义表达式进行匹配分析,得到回话表达式,确认当前回合的会话主题;转到下一回合对话直至结束。本申请使用户基于会话主题与对话系统进行交流,使对话回合之间保持连贯性,回话对应的语义与用户的输入查询一致,且结合会话主题反问用户,使对话系统模拟真人聊天,准确连贯地响应用户的自然语言输入查询,与用户积极互动。
文档编号G06F17/28GK102866990SQ20121029792
公开日2013年1月9日 申请日期2012年8月20日 优先权日2012年8月20日
发明者张帆 申请人:北京搜狗信息服务有限公司, 北京搜狗科技发展有限公司