基于话题的智能对话方法及系统的制作方法

文档序号:10724962阅读:376来源:国知局
基于话题的智能对话方法及系统的制作方法
【专利摘要】本发明提供一种基于话题的智能对话方法,首先获取用户输入的文本对话;然后对所述文本对话进行分词处理,获得多个对话分词;再分别计算每个所述对话分词的词向量;接下来,将所述词向量输入预先训练好的神经网络模型进行计算,获得所述文本对话的话题特征;然后根据所述文本对话的话题特征和所述文本对话的内容,查询针对所述文本对话的应答对话;最后输出所述应答对话。相较于现有技术,本发明利用分词技术和神经网络技术计算用户输入的文本对话的话题特征,从而能够更加准确的理解用户对话的意图,进而根据所述话题特征和所述文本会话的内容查询相应的应答对话,可以有效提升人机对话的准确率,提高用户体验。
【专利说明】
基于话题的智能对话方法及系统
技术领域
[0001]本发明涉及人机对话技术领域,具体涉及一种基于话题的智能对话方法和一种基于话题的智能对话系统。
【背景技术】
[0002]人机对话系统是当前研究的热点问题,其主要的目标是能够实现机器对自然语言的理解并像“人”一样和人进行对话。人机对话系统具有非常广泛的应用前景,如各种机器人的人机界面、智能客服系统、个人助理等。
[0003]现有技术中人机对话的实现主要是使用搜索引擎技术找寻对话的响应,例如使用数据库以及网络上的信息来回答用户的要求与对话。
[0004]但由于搜索引擎纯粹只是根据用户问句的字面含义搜索相关的回答或根据用户问句的字词匹配情况搜索相关的回答,而同一个问句可能在不同的场景下使用从而有不同的含义,因此,现有的人机对话系统往往不能理解用户的意图,从而导致答非所问,人机对话准确率较低,用户体验较差。

【发明内容】

[0005]针对现有技术中的缺陷,本发明提供一种基于话题的智能对话方法及系统,以解决现有人机对话系统准确率低、用户体验较差的问题。
[0006]第一方面,本发明提供的一种基于话题的智能对话方法,包括:
[0007]获取用户输入的文本对话;
[0008]对所述文本对话进行分词处理,获得多个对话分词;
[0009 ]分别计算每个所述对话分词的词向量;
[0010]将所述词向量输入预先训练好的神经网络模型进行计算,获得所述文本对话的话题特征;
[0011 ]根据所述文本对话的话题特征和所述文本对话的内容,查询针对所述文本对话的应答对话;
[0012]输出所述应答对话。
[0013]可选的,所述获取用户输入的文本对话,包括:
[0014]获取用户输入的语音会话;
[0015]采用语音转文字引擎将所述语音会话转换为文本会话;
[0016]所述输出所述应答对话,包括:
[0017]将所述应答对话采用文字转语音引擎转换为应答对话音频;
[0018]播放所述应答对话音频。
[0019]可选的,在将所述词向量输入预先训练好的神经网络模型进行计算前,还包括:
[0020]采用由多条具有不同话题特征的文本对话组成的对话样本对神经网络模型进行训练,获得预先训练好的神经网络模型。[0021 ]可选的,所述神经网络模型是由以下至少一种神经网络层组成的:
[0022]长短时记忆神经网络层、卷积神经网络层、线性神经网络层、逻辑回归神经网络层和柔性化最大值回归神经网络层。
[0023]可选的,所述对所述文本对话进行分词处理,获得多个对话分词,包括:
[0024]对所述文本对话采用ICTCLAS、IKAnalyzer、盘古分词、庖丁中文分词、LibMMSeg、?册(:們、!^130^、1111118684]_、81^11868、0^、50^、卩11(^1^1^和1(^0^54]_中的任一种分词工具进行分词处理,获得多个对话分词。
[0025]第二方面,本发明提供的一种基于话题的智能对话系统,包括:
[0026]会话获取模块,用于获取用户输入的文本对话;
[0027]会话分词模块,用于对所述文本对话进行分词处理,获得多个对话分词;
[0028]词向量计算模块,用于分别计算每个所述对话分词的词向量;
[0029]话题特征获取模块,用于将所述词向量输入预先训练好的神经网络模型进行计算,获得所述文本对话的话题特征;
[0030]应答对话查询模块,用于根据所述文本对话的话题特征和所述文本对话的内容,查询针对所述文本对话的应答对话;
[0031]应答对话输出模块,用于输出所述应答对话。
[0032]可选的,所述会话获取模块,包括:
[0033]语音会话获取单元,用于获取用户输入的语音会话;
[0034]语音会话转换单元,用于采用语音转文字引擎将所述语音会话转换为文本会话;
[0035]所述应答对话输出模块,包括:
[0036]应答对话转换单元,用于将所述应答对话采用文字转语音引擎转换为应答对话音频;
[0037]应答音频播放单元,用于播放所述应答对话音频。
[0038]可选的,所述基于话题的智能对话系统,还包括:
[0039]话题特征获取模块,用于采用由多条具有不同话题特征的文本对话组成的对话样本对神经网络模型进行训练,获得预先训练好的神经网络模型。
[0040]可选的,所述话题特征获取模块中使用的所述神经网络模型是由以下至少一种神经网络层组成的:
[0041]长短时记忆神经网络层、卷积神经网络层、线性神经网络层、逻辑回归神经网络层和柔性化最大值回归神经网络层。
[0042]可选的,所述会话分词模块,包括:
[0043]会话分词单元,用于对所述文本对话采用ICTCLAS、IKAnalyzer、盘古分词、庖丁中中的任一种分词工具进行分词处理,获得多个对话分词。
[0044]由上述技术方案可知,本发明提供的一种基于话题的智能对话方法,首先获取用户输入的文本对话;然后对所述文本对话进行分词处理,获得多个对话分词;再分别计算每个所述对话分词的词向量;接下来,将所述词向量输入预先训练好的神经网络模型进行计算,获得所述文本对话的话题特征;然后根据所述文本对话的话题特征和所述文本对话的内容,查询针对所述文本对话的应答对话;最后输出所述应答对话。相较于现有技术,本发明利用分词技术和神经网络技术计算用户输入的文本对话的话题特征,从而能够更加准确的理解用户对话的意图,进而根据所述话题特征和所述文本会话的内容查询相应的应答对话,可以有效提升人机对话的准确率,提高用户体验。
[0045]本发明提供的一种基于话题的智能对话系统,与上述基于话题的智能对话方法出于相同的发明构思,具有相同的有益效果。
【附图说明】
[0046]为了更清楚地说明本发明【具体实施方式】或现有技术中的技术方案,下面将对【具体实施方式】或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
[0047]图1示出了本发明第一实施例所提供的一种基于话题的智能对话方法的流程图;
[0048]图2示出了本发明第二实施例所提供的一种基于话题的智能对话系统的示意图。
【具体实施方式】
[0049]下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只是作为示例,而不能以此来限制本发明的保护范围。
[0050]需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
[0051]鉴于现有人机对话系统主要是使用搜索引擎技术找寻对话的响应,存在的不能理解用户的意图,从而导致答非所问,人机对话准确率较低,用户体验较差的问题,本发明提供一种基于话题的智能对话方法和一种基于话题的智能对话系统,以解决上述问题。下面结合附图对本发明的实施例进行说明。
[0052]图1示出了本发明第一实施例所提供的一种基于话题的智能对话方法的流程图。如图1所示,本发明第一实施例提供的一种基于话题的智能对话方法包括以下步骤:
[0053]步骤SlOl:获取用户输入的文本对话。
[0054]本步骤,可以直接获取用户输入的文本对话,以通过文本形式与用户进行对话。考虑到在智能机器人等领域应用时,用户往往是通过语音进行对话的,因此,在本发明提供的一个实施例中,所述获取用户输入的文本对话,包括:
[0055]获取用户输入的语音会话;
[0056]采用语音转文字引擎将所述语音会话转换为文本会话。从而可以实现与用户通过语音进行人机互动。
[0057]步骤S102:对所述文本对话进行分词处理,获得多个对话分词。
[0058]本步骤,可以采用ICTCLAS、IKAnalyzer、盘古分词、庖丁中文分词、LibMMSeg、?册(:們、!^130^、1111118684]_、81^11868、0^、50^、卩11(^1^1^和1(^0^54]_中的任一种分词工具对所述文本对话进行分词处理,从而获得多个对话分词。
[0059]步骤S103:分别计算每个所述对话分词的词向量。
[0060]步骤S104:将所述词向量输入预先训练好的神经网络模型进行计算,获得所述文本对话的话题特征。
[0061]为了获取用户输入的文本对话的话题特征,本步骤中,可以将所述词向量输入预先训练好的神经网络模型进行计算,获得所述文本对话的话题特征。其中,所述神经网络模型可以是由以下至少一种神经网络层组成的:
[0062]长短时记忆神经网络层、卷积神经网络层、线性神经网络层、逻辑回归神经网络层和柔性化最大值回归神经网络层。
[0063]由于神经网络模型在使用前需要进行充分的训练,以保证所述神经网络模型计算结果的准确性,因此,在本发明提供的一个实施例中,在将所述词向量输入预先训练好的神经网络模型进行计算前,还包括:
[0064]采用由多条具有不同话题特征的文本对话组成的对话样本对神经网络模型进行训练,获得预先训练好的神经网络模型。
[0065]步骤S105:根据所述文本对话的话题特征和所述文本对话的内容,查询针对所述文本对话的应答对话。
[0066]在获得所述文本会话的话题特征后,即可根据所述文本对话的话题特征和所述文本对话的内容,查询针对所述文本对话的应答对话。具体实施时,可以是预先将应答对话按照话题特征进行分类后储存在基于话题的应答对话数据库中,然后根据所述话题特征到相应的应答话题数据库中查询与所述文本对话的内容相对应的应答话题;也可以是在预先存储的应答对话数据库中,对每条应答对话添加一个话题特征属性,在需要查询时,根据所述话题特征属性和所述文本对话的内容在所述应答对话数据库中查询相应的应答对话。以上均为本发明实施例的可行实施方式,均在本发明的保护范围之内。
[0067]步骤S106:输出所述应答对话。
[0068]本步骤,可以直接以文本形式输出所述应答对话,考虑到语音对话的情形,在本发明提供的一个实施例中,所述输出所述应答对话,包括:
[0069]将所述应答对话采用文字转语音引擎转换为应答对话音频;
[0070]播放所述应答对话音频。
[0071]至此,通过步骤SlOl至步骤S106,完成了本发明第一实施例所提供的一种基于话题的智能对话方法的流程。相较于现有技术,本发明利用分词技术和神经网络技术计算用户输入的文本对话的话题特征,从而能够更加准确的理解用户对话的意图,进而根据所述话题特征和所述文本会话的内容查询相应的应答对话,可以有效提升人机对话的准确率,提尚用户体验。
[0072]在上述的第一实施例中,提供了一种基于话题的智能对话方法,与之相对应的,本申请还提供一种基于话题的智能对话系统。请参考图2,其为本发明第二实施例提供的一种基于话题的智能对话系统的示意图。由于系统实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的系统实施例仅仅是示意性的。
[0073]本发明第二实施例提供的一种基于话题的智能对话系统,包括:
[0074]会话获取模块101,用于获取用户输入的文本对话;
[0075]会话分词模块102,用于对所述文本对话进行分词处理,获得多个对话分词;
[0076]词向量计算模块103,用于分别计算每个所述对话分词的词向量;
[0077]话题特征获取模块104,用于将所述词向量输入预先训练好的神经网络模型进行计算,获得所述文本对话的话题特征;
[0078]应答对话查询模块105,用于根据所述文本对话的话题特征和所述文本对话的内容,查询针对所述文本对话的应答对话;
[0079]应答对话输出模块106,用于输出所述应答对话。
[0080]在本申请提供的一个实施例中,所述会话获取模块101,包括:
[0081]语音会话获取单元,用于获取用户输入的语音会话;
[0082]语音会话转换单元,用于采用语音转文字引擎将所述语音会话转换为文本会话。
[0083]在本申请提供的一个实施例中,所述应答对话输出模块106,包括:
[0084]应答对话转换单元,用于将所述应答对话采用文字转语音引擎转换为应答对话音频;
[0085]应答音频播放单元,用于播放所述应答对话音频。
[0086]在本申请提供的一个实施例中,所述基于话题的智能对话系统,还包括:
[0087]话题特征获取模块,用于采用由多条具有不同话题特征的文本对话组成的对话样本对神经网络模型进行训练,获得预先训练好的神经网络模型。
[0088]在本申请提供的一个实施例中,所述话题特征获取模块104中使用的所述神经网络模型是由以下至少一种神经网络层组成的:
[0089]长短时记忆神经网络层、卷积神经网络层、线性神经网络层、逻辑回归神经网络层和柔性化最大值回归神经网络层。
[0090]在本申请提供的一个实施例中,所述会话分词模块102,包括:
[0091]会话分词单元,用于对所述文本对话采用ICTCLAS、IKAnalyzer、盘古分词、庖丁中中的任一种分词工具进行分词处理,获得多个对话分词。
[0092]以上,为本发明第二实施例提供的一种基于话题的智能对话系统的实施例说明。
[0093]本发明提供的一种基于话题的智能对话系统与上述基于话题的智能对话方法出于相同的发明构思,具有相同的有益效果,此处不再赘述。
[0094]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0095]需要说明的是,附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0096]本发明实施例所提供的基于话题的智能对话系统可以是计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
[0097]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0098]在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0099]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0100]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0101]所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(R0M,Read-0nly Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0102]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
【主权项】
1.一种基于话题的智能对话方法,其特征在于,包括: 获取用户输入的文本对话; 对所述文本对话进行分词处理,获得多个对话分词; 分别计算每个所述对话分词的词向量; 将所述词向量输入预先训练好的神经网络模型进行计算,获得所述文本对话的话题特征; 根据所述文本对话的话题特征和所述文本对话的内容,查询针对所述文本对话的应答对话; 输出所述应答对话。2.根据权利要求1所述的基于话题的智能对话方法,其特征在于,所述获取用户输入的文本对话,包括: 获取用户输入的语音会话; 采用语音转文字引擎将所述语音会话转换为文本会话; 所述输出所述应答对话,包括: 将所述应答对话采用文字转语音引擎转换为应答对话音频; 播放所述应答对话音频。3.根据权利要求1所述的基于话题的智能对话方法,其特征在于,在将所述词向量输入预先训练好的神经网络模型进行计算前,还包括: 采用由多条具有不同话题特征的文本对话组成的对话样本对神经网络模型进行训练,获得预先训练好的神经网络模型。4.根据权利要求1所述的基于话题的智能对话方法,其特征在于,所述神经网络模型是由以下至少一种神经网络层组成的: 长短时记忆神经网络层、卷积神经网络层、线性神经网络层、逻辑回归神经网络层和柔性化最大值回归神经网络层。5.根据权利要求1所述的基于话题的智能对话方法,其特征在于,所述对所述文本对话进行分词处理,获得多个对话分词,包括: 对所述文本对话采用ICTCLAS、IKAnalyzer、盘古分词、庖丁中文分词、LibMMSeg、?册(:們、!^130^、1111118684]_、81^11868、0^、50^、卩11(^1^1^和1(^0^54]_中的任一种分词工具进行分词处理,获得多个对话分词。6.一种基于话题的智能对话系统,其特征在于,包括: 会话获取模块,用于获取用户输入的文本对话; 会话分词模块,用于对所述文本对话进行分词处理,获得多个对话分词; 词向量计算模块,用于分别计算每个所述对话分词的词向量; 话题特征获取模块,用于将所述词向量输入预先训练好的神经网络模型进行计算,获得所述文本对话的话题特征; 应答对话查询模块,用于根据所述文本对话的话题特征和所述文本对话的内容,查询针对所述文本对话的应答对话; 应答对话输出模块,用于输出所述应答对话。7.根据权利要求6所述的基于话题的智能对话系统,其特征在于,所述会话获取模块,包括: 语音会话获取单元,用于获取用户输入的语音会话; 语音会话转换单元,用于采用语音转文字引擎将所述语音会话转换为文本会话; 所述应答对话输出模块,包括: 应答对话转换单元,用于将所述应答对话采用文字转语音引擎转换为应答对话音频; 应答音频播放单元,用于播放所述应答对话音频。8.根据权利要求6所述的基于话题的智能对话系统,其特征在于,还包括: 话题特征获取模块,用于采用由多条具有不同话题特征的文本对话组成的对话样本对神经网络模型进行训练,获得预先训练好的神经网络模型。9.根据权利要求6所述的基于话题的智能对话系统,其特征在于,所述话题特征获取模块中使用的所述神经网络模型是由以下至少一种神经网络层组成的: 长短时记忆神经网络层、卷积神经网络层、线性神经网络层、逻辑回归神经网络层和柔性化最大值回归神经网络层。10.根据权利要求6所述的基于话题的智能对话系统,其特征在于,所述会话分词模块,包括: 会话分词单元,用于对所述文本对话采用ICTCLAS、IKAnalyzer、盘古分词、庖丁中文分词、LibMMSeg、PHPCWS、HTTPCWS、mmseg4j、smallseg、CRF、SCWS、FudanNLP 和 ICTCLAS4j中的任一种分词工具进行分词处理,获得多个对话分词。
【文档编号】G06N3/02GK106095834SQ201610383240
【公开日】2016年11月9日
【申请日】2016年6月1日 公开号201610383240.3, CN 106095834 A, CN 106095834A, CN 201610383240, CN-A-106095834, CN106095834 A, CN106095834A, CN201610383240, CN201610383240.3
【发明人】彭冠举
【申请人】竹间智能科技(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1