CN105975530B - 基于聊天大数据知识库的机器人对话控制方法和系统 - Google Patents
基于聊天大数据知识库的机器人对话控制方法和系统 Download PDFInfo
- Publication number
- CN105975530B CN105975530B CN201610281403.7A CN201610281403A CN105975530B CN 105975530 B CN105975530 B CN 105975530B CN 201610281403 A CN201610281403 A CN 201610281403A CN 105975530 B CN105975530 B CN 105975530B
- Authority
- CN
- China
- Prior art keywords
- chat
- sentence
- sentences
- person
- reply
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及一种机器人对话控制方法和系统,从预设聊天大数据知识库中检索与输入语句匹配度最大且存在答复语句的语句作为检索结果语句,将检索结果语句的答复语句作为输出语句并输出。从包括多条类聊天语句以及多条聊天语句中至少一条聊天语句对应的答复语句的聊天大数据知识库中进行搜索,不再从根据人工制作的语句以及答复语句建立的数据库中进行搜索,从而获得的检索结果语句以及其对应的答复语句更符合实际用户聊天的语句,提高合理性和真实性,且匹配度越大聊天语句与输入语句越符合,采用与输入语句匹配度最大的检索结果语句对应的答复语句回复用户会更加合理和真实。
Description
技术领域
本发明涉及人工智能技术领域,特别涉及一种基于聊天大数据知识库的机器人对话控制方法和系统。
背景技术
随着机器人技术的快速发展,用户对聊天机器人功能的要求也越来越高。如果用户与聊天机器人聊天时,分不清聊天的对象是人还是聊天机器人,则能通过图灵测试,则说明该聊天机器人具备了人工智能,所以聊天机器人是人工智能的最重要内容之一。
现有聊天机器人,都是基于回复知识库对用户的输入语句进行恢复,知识库中的数据表一般包含两个基本字段,第一个字段是特征字符或词句,第二个字段是自动回复的内容,如图1所示。回复知识库中的内容需要人工增添或导入事先人工制作好的回复文本。人工制作回复知识库的成本非常高,而且无法罗列所有可能的自动回复的内容,因此导致了现有聊天机器人只能对用户的一些常用聊天输入语句进行有效的自动回复,而如果用户的其他聊天输入语句在回复知识库不存在相应特征字符或词句时,聊天机器人则不知道如何回答,而只能进行无效的自动回答,譬如回答“哦”等,如图2所示。而且因为回复知识库是人工构建的,并不是人们自然聊天中产生回复语句,所以有时只是构建者自己构造出来的回复语句,与人们真实的聊天回复语句有一定的差距,大大降低了机器人聊天回复的合理性和真实性。
发明内容
基于此,有必要针对机器人回复语句的合理性和真实性较低的问题,提供一种提高机器人回复语句的有效性和真实性的基于聊天大数据知识库的机器人对话控制方法和系统。
一种机器人对话控制方法,包括以下步骤:
获取输入语句;
从预设聊天大数据知识库中检索与所述输入语句匹配度最大且存在答复语句的聊天语句作为检索结果语句,其中,所述预设聊天大数据知识库包括多条聊天语句以及所述多条聊天语句中至少一条聊天语句对应的答复语句,且聊天语句与其对应的答复语句分行存储;
获取所述检索结果语句的答复语句作为输出语句;
将所述输出语句输出。
本发明还提供一种机器人对话控制系统,包括:
获取模块,用于获取输入语句;
第一检索模块,用于从预设聊天大数据知识库中检索与所述输入语句匹配度最大且存在答复语句的聊天语句作为检索结果语句,其中,所述预设聊天大数据知识库包括多条聊天语句以及所述多条聊天语句中至少一条聊天语句对应的答复语句,且聊天语句与其对应的答复语句分行存储;
第二检索模块,用于获取所述检索结果语句的答复语句作为输出语句;
输出模块,用于将所述输出语句输出。
上述机器人对话控制方法和系统,从预设聊天大数据知识库中检索与输入语句匹配度最大且存在答复语句的语句作为检索结果语句,并从预设聊天大数据知识库中获取检索结果语句的答复语句作为输出语句并输出。从包括多条聊天语句以及多条聊天语句中至少一条聊天语句对应的答复语句的聊天大数据知识库中进行搜索,不再是从根据人工制作的语句以及答复语句建立的数据库中进行搜索,获得的检索结果语句以及其对应的答复语句更符合实际中用户聊天的语句,从而更具有合理性和真实性,且检索结果语句是聊天语句中具有答复语句且与输入语句匹配度最大的语句,匹配度越大表示语句与输入语句更符合,从而机器人采用与输入语句匹配度最大的检索结果语句的答复语句作为回复语句回复用户会更加合理和真实。
附图说明
图1为现有机器人中回复知识库中内容导入图;
图2为现有机器人与用户交互的示意图;
图3为一种实施方式的机器人对话控制方法的流程图;
图4为另一种实施方式的机器人对话控制方法的流程图;
图5为另一种实施方式的机器人对话控制方法的流程图;
图6为另一种实施方式的机器人对话控制方法中步骤S810的子流程图;
图7为本发明机器人与用户交互的示意图;
图8为一种实施方式的机器人对话控制系统的模块图;
图9为另一种实施方式的机器人对话控制系统的模块图;
图10为另一种实施方式的机器人对话控制系统的模块图。
具体实施方式
请参阅图3,提供一种实施方式的机器人对话控制方法,包括以下步骤:
S200:获取输入语句。
在用户需要与机器人进行交互时,用户可向机器人输入语句,从而机器人可获取用户的输入语句,其中,输入语句可以是文字和语音,甚至可以是视频。在本实施例中,输入语句为语音。且输入语句可以是中文,也可以是英文或其他语言。机器人是指泛义的机器人,包括一切模拟人类行为或思想以及模拟其他生物的机械,也包括一些电脑程序,例如,qq聊天机器人程序等。
S400:从预设聊天大数据知识库中检索与输入语句匹配度最大且存在答复语句的聊天语句作为检索结果语句。
其中,预设聊天大数据知识库包括多条聊天语句以及多条聊天语句中至少一条聊天语句对应的答复语句。在本实施例中,聊天语句与其对应的答复语句分行存储。从预设聊天大数据知识库中检索出存在答复语句的聊天语句,并对检索出的存在答复语句的聊天语句进行筛选,获得与输入语句匹配度最大的聊天语句,将匹配度最大的聊天语句作为检索结果语句。其中,检索可通过调用聊天大数据知识库的搜索引擎自动完成的。
S600:获取检索结果语句的答复语句作为输出语句。
S800:将输出语句输出。
预设聊天大数据知识库的多条聊天语句中与用户的输入语句匹配度最大的聊天语句的答复语句即是对该用户的输入语句的较为合理和真实的回复。从而,在确定检索结果语句后,即可在预设聊天大数据知识库中检索出检索结果语句的答复语句作为输出语句,并将输出语句输出给用户,实现机器人与用户的交互。
上述机器人对话控制方法,从预设聊天大数据知识库中检索与输入语句匹配度最大且存在答复语句的语句作为检索结果语句,并从预设聊天大数据知识库中获取检索结果语句的答复语句作为输出语句并输出。从包括多条聊天语句以及多条聊天语句中至少一条聊天语句对应的答复语句的聊天大数据知识库中进行搜索,不再是从根据人工制作的语句以及答复语句建立的数据库中进行搜索,获得的检索结果语句以及其对应的答复语句更符合实际中用户聊天的语句,从而更具有合理性和真实性,且检索结果语句是聊天语句中具有答复语句且与输入语句匹配度最大的语句,匹配度越大表示语句与输入语句更符合,从而机器人采用与输入语句匹配度最大的检索结果语句的答复语句作为回复语句回复用户会更加合理和真实。
请参阅图4,在其中一个实施例中,从预设聊天大数据知识库中检索与输入语句匹配度最大且存在答复语句的聊天语句作为检索结果语句的步骤S400包括:
S410:从预设聊天大数据知识库中筛选存在答复语句的语句作为聊天语句集。
S420:通过编辑距离法或最大公共子串法对聊天语句集进行筛选,获得与输入语句匹配度最大的聊天语句,将匹配度最大的聊天语句作为检索结果语句。
其中,距离编辑法是指与输入语句匹配度最大的聊天语句转换为输入语句时所需的插入、删除和替换的总次数最少,最大公共子串法是指与输入语句匹配度最大的聊天语句与输入语句具有的最大公共子串最长。
预设聊天大数据知识库中的聊天语句中存在答复语句且与用户的输入语句匹配度最大的语句的即是该用户的输入语句的最为合理的回复,语句可以表示成字符串,语句匹配度的计算可以转化为字符串匹配度或相似度的计算,从而,进行匹配度计算的方法有多种,可以采用字符串匹配度或相似度算法,例如,编辑距离法,就是用来计算从原串转换到目标串所需要的最少的插入、删除和替换的数目,即检索输入语句中转换为输入语句时所需的插入、删除和替换的总次数最少的语句作为与输入语句匹配度最大的语句,显然当一个语句编辑为另一个语句所需的插入、删除和替换的次数越少,则匹配度越大。另一种方式是最大公共子串法,即两个语句的最大公共子串越长,则这两个语句匹配度越大。具体地,在获取与输入语句匹配度最大的聊天语句时,可忽略人称进行匹配,这样可减小匹配时间,提高匹配效率,在后续可根据输入语句的人称,以及与输入语句匹配度最大的聊天语句对应的回复语句的人称,对回复语句的人称进行变换输出,以提高输出语句的合理性。
请参阅图5,在其中一个实施例中,获取输入语句的步骤S200之前还包括:
S110:获取历史聊天记录。
S120:从历史聊天记录中获取多条聊天语句以及多条聊天语句中至少一条聊天语句对应的答复语句。
S130:将聊天语句以及与聊天语句对应的答复语句以文件的形式或以数据库的形式进行存储,构建预设聊天大数据知识库。
历史聊天记录为用户在过去长时间内进行聊天产生的语句记录,其中包括了多条聊天语句以及回复语句,即历史聊天记录是在海量的用户在过去长时间积累的大量的聊天数据的基础上形成的,即是根据大量历史聊天数据构建预设聊天大数据知识库,从而聊天语句和其对应的答复语句不再是人工制作的,是实际聊天过程中产生的,可提高聊天语句和其对应的答复语句的合理性和真实性。具体地,步骤130具体为将聊天语句以及与聊天语句对应的答复语句以文件的形式或以数据库的形式进行分行存储,构建预设聊天大数据知识库,即预设聊天大数据知识库可以用文本的形式对聊天语句与其对应的答复语句进行分行存储,也可以采用数据库的形式进行分行存储,每个聊天语句作为文件或数据库中的一行,一个聊天语句的前一个聊天语句则存储在该个聊天语句所在行的前一行,一个聊天语句的下一个聊天语句即是回复语句,则存储在该个聊天语句所在行的后一行。文件的形式包括文本文件的形式以及语音文件的形式。
预设聊天大数据知识库中的聊天语句获取范围包括人类对话数据或聊天数据,包括但不限于互联网聊天数据(例如,qq聊天数据、msn聊天数据以及skype聊天数据等)、移动互联网聊天数据(例如,微信聊天数据以及手机短信聊天数据等)、论坛聊天数据(例如,天涯聊天数据)、语音聊天数据(例如,电话聊天数据以及会议讨论数据),即历史聊天记录包括但不限于互联网聊天数据、移动互联网聊天数据、论坛聊天数据、语音聊天数据以及人机聊天记录,人机聊天记录为用户与机器人在聊天过程中的语句记录,其中,skype是全球免费的语音沟通软件,人类通过skype聊天产生的数据即为skype聊天数据,这些聊天数据可以是文本、语音以及视频等信息形式,这些聊天数据可以批量导入预设聊天大数据知识库,也可以实时增量式地追加到预设聊天大数据知识库。预设聊天大数据知识库具备人类聊天语句的检索引擎,该检索引擎能进行语句的模糊匹配,该检索引擎支持文本、语音及视频的检索和模糊匹配,通过该检索引擎可以从预设聊天大数据知识库的多条聊天语句中检索出与用户的输入语句匹配度最大的一个聊天语句。可以通过云存储和云计算技术来提高预设聊天大数据知识库及其检索引擎的速度,即将预设聊天大数据知识库进行云存储,预设聊天大数据知识库中的聊天语句是有序的,在某一段聊天语句中,大部分聊天语句都有答复语句,只有聊天结束时的最后一个聊天语句没有答复语句。
在其中一个实施例中,将输出语句输出的步骤S800包括:
S810:当检索结果语句的人称与输入语句的人称不同时,将输出语句的人称进行变换。
S820:将人称变换后的聊天输出语句输出。
为了确保机器人给用户的回复语句的合理性,需要对检索结果语句的人称与输入语句的人称进行一致性判断,由于检索结果语句的答复语句是对检索结果语句的回复,当检索结果语句和输入语句的人称不同时,可能会导致检索结果语句的答复语句作为输入语句的回复时人称不合理,从而,此时将输出语句进行人称变换后输出给用户,提高机器人回复的合理性。
请参阅图6,在其中一个实施例中,当检索结果语句的人称与输入语句的人称不同时,将输出语句的人称进行变换的步骤S810包括:
S811:当输入语句的主语为第一人称以及检索结果语句的主语为第二人称时,将输出语句中的主语变换为第二人称;
S812:当输入语句的宾语为第一人称以及检索结果语句的宾语为第二人称时,将输出语句中的宾语变换为第二人称;
S813:当输入语句的主语为第二人称以及检索结果语句的主语为第一人称时,将输出语句中的主语变换为第一人称;
S814:当输入语句的宾语为第二人称以及检索结果语句的宾语为第一人称时,将输出语句中的宾语变换为第一人称。当输入语句的主语的人称为第二人称,检索结果语句的主语的人称为第一人称时,将输出语句中主语的人称变换成第一人称后再输出。即通过人称变换使回复的输出语句更合理化,使对话合理化。例如,输入语句的主语的人称是我时,表示是用户自己,而与输入语句最匹配的检索结果语句中的主语的人称为你,按照人类实际聊天的情况,检索结果语句的答复语句是对检索结果语句的回复,检索结果语句的答复语句的人称一般为我,机器人在回复时,是对用户的回复,从而将输出语句中的主语的人称我变换成你,让回复变得合理。同理,当输入语句的主语的人称为第一人称,检索结果语句的主语的人称为第二人称时,将输出语句的主语的人称变换成第二人称后再输出,提高回复合理性。类似地,当输入语句的宾语的人称与检索结果语句的宾语的人称不同时,将输出语句的宾语的人称进行变换后再输出,以提高机器人回复合理性。
可以理解,当输入语句的宾语为第一人称以及检索结果语句的宾语为第二人称时,且当输出语句包括宾语时,将输出语句中的宾语变换为第二人称。当输入语句的宾语为第一人称以及检索结果语句的宾语为第二人称时,且当输出语句不包括宾语但包括主语时,将输出语句中的主语变换为第二人称。
当输入语句的宾语为第二人称以及检索结果语句的宾语为第一人称时,且当输出语句包括宾语时,将输出语句中的宾语变换为第一人称。当输入语句的宾语为第二人称以及检索结果语句的宾语为第一人称时,且当输出语句不包括宾语但包括主语时,将输出语句中的主语变换为第一人称。下面以一具体实施对上述基于大数据搜索的人工智能聊天机器人方法加以说明。请参阅图7,为机器人与人进行交流的示意图。
当用户跟机器人说“我肚子痛”,在预设聊天大数据知识库中检索到的最匹配的聊天语句有“我肚子痛,怎么办?”,从而将“我肚子痛,怎么办?”作为检索结果语句。然后,从预设聊天大数据知识库中检索出聊天语句为“我肚子痛,怎么办?”对应的下一聊天语句“怎么了,为什么肚子痛?着凉了吗?”回复给用户。
当用户跟机器人说“我忘记你的名字了”,在预设聊天大数据知识库中检索到的最匹配的聊天语句有“你想不起我的名字了吧?”,从预设聊天大数据知识库中检索与“你想不起我的名字了吧?对应的回复语句为“我的记性不如你好”作为输出语句,由于输入语句的主语为第一人称,但检索结果语句的主语为第二人称,将输出语句的主语变换为第二人称,输入语句的宾语为第二人称,但检索结果语句的宾语为第一人称,将输出语句的宾语变换为第一人称,从而将输出语句变换为“你的记性不如我好‘””输出回复给用户,以提高回复合理性。又或者,当用户跟机器人说“小明在找我”,在预设聊天大数据知识库中检索到的最匹配的聊天语句有“小王在找你”,从而将“小王在找你”作为检索结果语句。然后,从预设聊天大数据知识库中检索出聊天语句为“小王在找你”对应的下一聊天语句“好的,我现在就去”作为输出语句,检索结果语句与输入语句的人称是不同的,即输入语句的宾语为第一人称,检索结果语句的宾语为第二人称,由输出语句不包括宾语,只包括主语,从而,将输出语句的主语变换为第二人称,得到“好的,你现在就去”,然后回复给用户,提高回复合理性。
上述整个过程是机器人系统自动完成的。预设聊天大数据知识库中的聊天语句可来源于大数据(譬如,qq聊天数据、微信聊天数据、skype聊天数据、msn聊天数据、会议讨论数据、电话语音数据以及手机短信数据等),这些数据是在海量的人类在过去长时间积累的真实的聊天大数据的基础上形成的。随着人类聊天大数据越来越丰富,检索结果语句与用户的输入语句的匹配度必然越来越高,从而使得聊天机器人的回复也就越来越合理,越来越真实,越来越能提高图灵测试的通过率。因为用户一般来说也是人类,所以人类的聊天习惯和内容是相似的,所以从人类聊天大数据库中检索匹配的聊天语句是可行的方法,将人类真实的下一聊天语句回复给人类用户是提高回复合理性和真实性的有效方法。
请参阅图8,本发明还提供一种实施方式的机器人对话控制系统,包括:
获取模块200:用于获取输入语句。
在用户需要与机器人进行交互时,用户可向机器人输入语句,从而机器人可获取用户的输入语句,其中,输入语句可以是文字和语音,甚至可以是视频。在本实施例中,输入语句为语音。且输入语句可以是中文,也可以是英文或其他语言。机器人是指泛义的机器人,包括一切模拟人类行为或思想以及模拟其他生物的机械,也包括一些电脑程序,例如,qq聊天机器人程序等。
第一检索模块400:用于从预设聊天大数据知识库中检索与输入语句匹配度最大且存在答复语句的聊天语句作为检索结果语句。
其中,预设聊天大数据知识库包括多条聊天语句以及多条聊天语句中至少一条聊天语句对应的答复语句。在本实施例中,聊天语句与其对应的答复语句分行存储。从预设聊天大数据知识库中检索出存在答复语句的聊天语句,并对检索出的存在答复语句的聊天语句进行筛选,获得与输入语句匹配度最大的聊天语句,将匹配度最大的聊天语句作为检索结果语句。其中,检索可通过调用聊天大数据知识库的搜索引擎自动完成的。
第二检索模块600:用于获取检索结果语句的答复语句作为输出语句。
输出模块800:用于将输出语句输出。
预设聊天大数据知识库的多条聊天语句中与用户的输入语句匹配度最大的聊天语句的答复语句即是对该用户的输入语句的较为合理和真实的回复。从而,在确定检索结果语句后,即可在预设聊天大数据知识库中检索出检索结果语句的答复语句作为输出语句,并将输出语句输出给用户,实现机器人与用户的交互。
上述机器人对话控制系统,从预设聊天大数据知识库中检索与输入语句匹配度最大且存在答复语句的语句作为检索结果语句,并从预设聊天大数据知识库中获取检索结果语句的答复语句作为输出语句并输出。从包括多条聊天语句以及多条聊天语句中至少一条聊天语句对应的答复语句的聊天大数据知识库中进行搜索,不再是从根据人工制作的语句以及答复语句建立的数据库中进行搜索,获得的检索结果语句以及其对应的答复语句更符合实际中用户聊天的语句,从而更具有合理性和真实性,且检索结果语句是聊天语句中具有答复语句且与输入语句匹配度最大的语句,匹配度越大表示语句与输入语句更符合,从而机器人采用与输入语句匹配度最大的检索结果语句的答复语句作为回复语句回复用户会更加合理和真实。
请参阅图9,在其中一个实施例中,第一检索模块400包括:
第一筛选单元410:用于从预设聊天大数据知识库中筛选存在答复语句的语句作为聊天语句集。
第二筛选单元420:用于通过编辑距离法或最大公共子串法对聊天语句集进行筛选,获得与输入语句匹配度最大的聊天语句,将匹配度最大的聊天语句作为检索结果语句。
其中,与输入语句匹配度最大的聊天语句转换为输入语句时所需的插入、删除和替换的总次数最少,或者,与输入语句匹配度最大的聊天语句与输入语句具有的最大公共子串最长。
预设聊天大数据知识库中的聊天语句中存在答复语句且与用户的输入语句匹配度最大的语句的即是该用户的输入语句的最为合理的回复,语句可以表示成字符串,语句匹配度的计算可以转化为字符串匹配度或相似度的计算,从而,进行匹配度计算的方法有多种,可以采用字符串匹配度或相似度算法,例如,编辑距离法,就是用来计算从原串转换到目标串所需要的最少的插入、删除和替换的数目,即检索输入语句中转换为输入语句时所需的插入、删除和替换的总次数最少的语句作为与输入语句匹配度最大的语句,显然当一个语句编辑为另一个语句所需的插入、删除和替换的次数越少,则匹配度越大。另一种方式是最大公共子串法,即两个语句的最大公共子串越长,则这两个语句匹配度越大。具体地,在获取与输入语句匹配度最大的聊天语句时,可忽略人称进行匹配,这样可减小匹配时间,提高匹配效率,在后续可根据输入语句的人称,以及与输入语句匹配度最大的聊天语句对应的回复语句的人称,对回复语句的人称进行变换输出,以提高输出语句的合理性。
请参阅图10,在其中一个实施例中,上述机器人对话控制系统还包括:
记录获取模块110,用于获取历史聊天记录。
聊天语句获取模块120:用于从历史聊天记录中获取多条聊天语句以及多条聊天语句中至少一条聊天语句对应的答复语句。
构建模块130:用于将聊天语句以及与聊天语句对应的答复语句以文件的形式或以数据库的形式进行存储,构建预设聊天大数据知识库。
历史聊天记录为用户在过去长时间内进行聊天产生的语句记录,其中包括了多条聊天语句以及回复语句,即历史聊天记录是在海量的用户在过去长时间积累的大量的聊天数据的基础上形成的,即是根据大量历史聊天数据构建预设聊天大数据知识库,从而聊天语句和其对应的答复语句不再是人工制作的,是实际聊天过程中产生的,可提高聊天语句和其对应的答复语句的合理性和真实性。具体地,构建模块130具体用于将聊天语句以及与聊天语句对应的答复语句以文件的形式或以数据库的形式进行分行存储,构建预设聊天大数据知识库,即预设聊天大数据知识库可以用文本的形式对聊天语句与其对应的答复语句进行分行存储,也可以采用数据库的形式进行分行存储,每个聊天语句作为文件或数据库中的一行,一个聊天语句的前一个聊天语句则存储在该个聊天语句所在行的前一行,一个聊天语句的下一个聊天语句即是回复语句,则存储在该个聊天语句所在行的后一行。文件的形式包括文本文件的形式以及语音文件的形式。
预设聊天大数据知识库中的聊天语句获取范围包括人类对话数据或聊天数据,包括但不限于互联网聊天数据(例如,qq聊天数据、msn聊天数据以及skype聊天数据等)、移动互联网聊天数据(例如,微信聊天数据以及手机短信聊天数据等)、论坛聊天数据(例如,天涯聊天数据)、语音聊天数据(例如,电话聊天数据以及会议讨论数据),即历史聊天记录包括但不限于互联网聊天数据、移动互联网聊天数据、论坛聊天数据、语音聊天数据以及人机聊天记录,人机聊天记录为用户与机器人在聊天过程中的语句记录,其中,skype是全球免费的语音沟通软件,人类通过skype聊天产生的数据即为skype聊天数据,这些聊天数据可以是文本、语音以及视频等信息形式,这些聊天数据可以批量导入预设聊天大数据知识库,也可以实时增量式地追加到预设聊天大数据知识库。预设聊天大数据知识库具备人类聊天语句的检索引擎,该检索引擎能进行语句的模糊匹配,该检索引擎支持文本、语音及视频的检索和模糊匹配,通过该检索引擎可以从预设聊天大数据知识库的多条聊天语句中检索出与用户的输入语句匹配度最大的一个聊天语句。可以通过云存储和云计算技术来提高预设聊天大数据知识库及其检索引擎的速度,即将预设聊天大数据知识库进行云存储,预设聊天大数据知识库中的聊天语句是有序的,在某一段聊天语句中,大部分聊天语句都有答复语句,只有聊天结束时的最后一个聊天语句没有答复语句。
在其中一个实施例中,输出模块800包括:
人称变换单元810:用于当检索结果语句的人称与输入语句的人称不同时,将输出语句的人称进行变换。
输出单元820:用于将人称变换后的聊天输出语句输出。
为了确保机器人给用户的回复语句的合理性,需要对检索结果语句的人称与输入语句的人称进行一致性判断,由于检索结果语句的答复语句是对检索结果语句的回复,当检索结果语句和输入语句的人称不同时,可能会导致检索结果语句的答复语句作为输入语句的回复时人称不合理,从而,此时将输出语句进行人称变换后输出给用户,提高机器人回复的合理性。
在其中一个实施例中,人称变换单元810包括:
第一变换层,用于当输入语句的主语为第一人称以及检索结果语句的主语为第二人称时,将输出语句中的主语变换为第二人称;
第二变换层,用于当输入语句的宾语为第一人称以及检索结果语句的宾语为第二人称时,将输出语句中的宾语变换为第二人称;
第三变换层,用于当输入语句的主语为第二人称以及检索结果语句的主语为第一人称时,将输出语句中的主语变换为第一人称;
第四变换层,用于当输入语句的宾语为第二人称以及检索结果语句的宾语为第一人称时,将输出语句中的宾语变换为第一人称。当输入语句的主语的人称为第二人称,检索结果语句的主语的人称为第一人称时,将输出语句中主语的人称变换成第一人称后再输出。即通过人称变换使回复的输出语句更合理化,使对话合理化。例如,输入语句的主语的人称是我时,表示是用户自己,而与输入语句最匹配的检索结果语句中的主语的人称为你,按照人类实际聊天的情况,检索结果语句的答复语句是对检索结果语句的回复,检索结果语句的答复语句的人称一般为我,机器人在回复时,是对用户的回复,从而将输出语句中的主语的人称我变换成你,让回复变得合理。同理,当输入语句的主语的人称为第一人称,检索结果语句的主语的人称为第二人称时,将输出语句的主语的人称变换成第二人称后再输出,提高回复合理性。类似地,当输入语句的宾语的人称与检索结果语句的宾语的人称不同时,将输出语句的宾语的人称进行变换后再输出,以提高机器人回复合理性。
可以理解,当输入语句的宾语为第一人称以及检索结果语句的宾语为第二人称时,且当输出语句包括宾语时,将输出语句中的宾语变换为第二人称。当输入语句的宾语为第一人称以及检索结果语句的宾语为第二人称时,且当输出语句不包括宾语但包括主语时,将输出语句中的主语变换为第二人称。
当输入语句的宾语为第二人称以及检索结果语句的宾语为第一人称时,且当输出语句包括宾语时,将输出语句中的宾语变换为第一人称。当输入语句的宾语为第二人称以及检索结果语句的宾语为第一人称时,且当输出语句不包括宾语但包括主语时,将输出语句中的主语变换为第一人称。以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (6)
1.一种机器人对话控制方法,其特征在于,包括以下步骤:
获取输入语句;所述输入语句包括文字、语音和视频;
预设聊天大数据知识库中的聊天语句获取范围包括人类对话数据或聊天数据,包括但不限于互联网聊天数据、移动互联网聊天数据、论坛聊天数据、语音聊天数据;
每个聊天语句作为文件或数据库中的一行,一个聊天语句的前一个聊天语句则存储在该个聊天语句所在行的前一行,一个聊天语句的下一个聊天语句即是答复语句,则存储在该个聊天语句所在行的后一行;
在聊天语句中,只有聊天结束时的最后一个聊天语句没有答复语句,大部分聊天语句都有答复语句;
从预设聊天大数据知识库中检索与所述输入语句匹配度最大且存在答复语句的聊天语句作为检索结果语句,其中,所述预设聊天大数据知识库包括多条聊天语句以及所述多条聊天语句中至少一条聊天语句对应的答复语句,聊天语句是有序的且聊天语句与其对应的答复语句分行存储;
在获取与所述输入语句匹配度最大且存在答复语句的聊天语句时,忽略人称进行匹配;
预设聊天大数据知识库具备人类聊天语句的检索引擎,该检索引擎支持文本、语音及视频的检索和模糊匹配;通过云存储和云计算技术提高预设聊天大数据知识库及其检索引擎的速度;获取所述检索结果语句的答复语句作为输出语句;
将所述输出语句输出;所述将所述输出语句输出的步骤包括:
当所述检索结果语句的人称与所述输入语句的人称不同时,将所述输出语句的人称进行变换;
将所述人称变换后的所述输出语句输出;
所述当所述检索结果语句的人称与所述输入语句的人称不同时,将所述输出语句的人称进行变换的步骤包括:
当所述输入语句的主语为第一人称以及所述检索结果语句的主语为第二人称时,将所述输出语句中的主语变换为第二人称;
当所述输入语句的宾语为第一人称以及所述检索结果语句的宾语为第二人称时,将所述输出语句中的宾语变换为第二人称;
当所述输入语句的主语为第二人称以及所述检索结果语句的主语为第一人称时,将所述输出语句中的主语变换为第一人称;
当所述输入语句的宾语为第二人称以及所述检索结果语句的宾语为第一人称时,将所述输出语句中的宾语变换为第一人称;
当输入语句的宾语为第一人称,检索结果语句的宾语为第二人称,若输出语句不包括宾语,只包括主语,则将输出语句的主语变换为第二人称;
所述获取输入语句的步骤之前还包括:
获取历史聊天记录;历史聊天记录包括互联网聊天数据、移动互联网聊天数据、论坛聊天数据、语音聊天数据以及人机聊天记录;
从所述历史聊天记录中获取多条聊天语句以及所述多条聊天语句中至少一条聊天语句对应的答复语句;
将所述聊天语句以及与所述聊天语句对应的答复语句以文件的形式或以数据库的形式进行存储,构建所述预设聊天大数据知识库。
2.根据权利要求1所述的机器人对话控制方法,其特征在于,所述从预设聊天大数据知识库中检索与所述输入语句匹配度最大且存在答复语句的聊天语句作为检索结果语句的步骤包括:
从所述预设聊天大数据知识库中筛选存在答复语句的语句作为聊天语句集;
通过编辑距离法或最大公共子串法对所述聊天语句集进行筛选,获得与所述输入语句匹配度最大的聊天语句,将所述匹配度最大的聊天语句作为所述检索结果语句。
3.一种机器人对话控制系统,其特征在于,包括:
获取模块,用于获取输入语句;所述输入语句包括文字、语音和视频;
第一检索模块,用于从预设聊天大数据知识库中检索与所述输入语句匹配度最大且存在答复语句的聊天语句作为检索结果语句,其中,所述预设聊天大数据知识库包括多条聊天语句以及所述多条聊天语句中至少一条聊天语句对应的答复语句,聊天语句是有序的且聊天语句与其对应的答复语句分行存储;
每个聊天语句作为文件或数据库中的一行,一个聊天语句的前一个聊天语句则存储在该个聊天语句所在行的前一行,一个聊天语句的下一个聊天语句即是答复语句,则存储在该个聊天语句所在行的后一行;
在聊天语句中,只有聊天结束时的最后一个聊天语句没有答复语句,大部分聊天语句都有答复语句;
预设聊天大数据知识库中的聊天语句获取范围包括人类对话数据或聊天数据,包括但不限于互联网聊天数据、移动互联网聊天数据、论坛聊天数据、语音聊天数据;
第二检索模块,用于获取所述检索结果语句的答复语句作为输出语句;
输出模块,用于将所述输出语句输出;
所述输出模块包括:
人称变换单元,用于当所述检索结果语句的人称与所述输入语句的人称不同时,将所述输出语句的人称进行变换;
输出单元,用于将所述人称变换后的所述输出语句输出;
所述人称变换单元包括:
第一变换层,用于当所述输入语句的主语为第一人称以及所述检索结果语句的主语为第二人称时,将所述输出语句中的主语变换为第二人称;
第二变换层,用于当所述输入语句的宾语为第一人称以及所述检索结果语句的宾语为第二人称时,将所述输出语句中的宾语变换为第二人称;
第三变换层,用于当所述输入语句的主语为第二人称以及所述检索结果语句的主语为第一人称时,将所述输出语句中的主语变换为第一人称;
第四变换层,用于当所述输入语句的宾语为第二人称以及所述检索结果语句的宾语为第一人称时,将所述输出语句中的宾语变换为第一人称;
当输入语句的宾语为第一人称,检索结果语句的宾语为第二人称,若输出语句不包括宾语,只包括主语,则将输出语句的主语变换为第二人称;
还包括:
记录获取模块,用于获取历史聊天记录;历史聊天记录包括互联网聊天数据、移动互联网聊天数据、论坛聊天数据、语音聊天数据以及人机聊天记录;聊天语句获取模块,用于从所述历史聊天记录中获取多条聊天语句以及所述多条聊天语句中至少一条聊天语句对应的答复语句;
构建模块,用于将所述聊天语句以及与所述聊天语句对应的答复语句以文件的形式或以数据库的形式进行存储,构建所述预设聊天大数据知识库。
4.根据权利要求3所述的机器人对话控制系统,其特征在于,所述第一检索模块包括:
第一筛选单元,用于从所述预设聊天大数据知识库中筛选存在答复语句的语句作为聊天语句集;
第二筛选单元,用于通过编辑距离法或最大公共子串法对所述聊天语句集进行筛选,获得与所述输入语句匹配度最大的聊天语句,将所述匹配度最大的聊天语句作为所述检索结果语句。
5.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序实现权利要求1至2中任一项所述方法的步骤。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至2中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610281403.7A CN105975530B (zh) | 2016-04-29 | 2016-04-29 | 基于聊天大数据知识库的机器人对话控制方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610281403.7A CN105975530B (zh) | 2016-04-29 | 2016-04-29 | 基于聊天大数据知识库的机器人对话控制方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105975530A CN105975530A (zh) | 2016-09-28 |
CN105975530B true CN105975530B (zh) | 2021-10-01 |
Family
ID=56993512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610281403.7A Active CN105975530B (zh) | 2016-04-29 | 2016-04-29 | 基于聊天大数据知识库的机器人对话控制方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105975530B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649280B (zh) * | 2017-02-13 | 2019-07-09 | 长沙军鸽软件有限公司 | 一种创建共享语料库的方法 |
CN106886439B (zh) * | 2017-02-15 | 2020-03-10 | 郑州云海信息技术有限公司 | 一种对scm安全基线知识库进行快速初始化的方法 |
US11253778B2 (en) | 2017-03-01 | 2022-02-22 | Microsoft Technology Licensing, Llc | Providing content |
CN106951491A (zh) * | 2017-03-14 | 2017-07-14 | 广东工业大学 | 一种应用于机器人的智能对话控制方法及装置 |
US10581765B2 (en) * | 2017-04-03 | 2020-03-03 | Microsoft Technology Licensing, Llc | Conversation bot discovery and response fusion |
CN107133349B (zh) * | 2017-05-24 | 2018-02-23 | 北京无忧创新科技有限公司 | 一种对话机器人系统 |
CN110019695A (zh) * | 2017-08-07 | 2019-07-16 | 芋头科技(杭州)有限公司 | 一种自动聊天响应方法 |
CN107291960B (zh) * | 2017-08-07 | 2021-01-01 | 大国创新智能科技(东莞)有限公司 | 基于大数据与小数据相关分析实现对话的方法和系统 |
CN110209761B (zh) * | 2018-02-07 | 2021-06-29 | 刘劲彤 | 一种物品管理的语音交互方法及系统 |
CN110224919A (zh) * | 2018-03-02 | 2019-09-10 | 汪俊霞 | 一种准真人聊天机器人 |
CN110321728A (zh) * | 2018-03-31 | 2019-10-11 | 汇银宝网络技术股份有限公司 | 一种用户自助咨询方法 |
CN108818531A (zh) * | 2018-06-25 | 2018-11-16 | 珠海格力智能装备有限公司 | 机器人的控制方法和装置 |
CN109214854A (zh) * | 2018-07-10 | 2019-01-15 | 淘度客电子商务股份有限公司 | 一种应用于电商平台的用户自助服务方法 |
CN109726265A (zh) * | 2018-12-13 | 2019-05-07 | 深圳壹账通智能科技有限公司 | 辅助聊天的信息处理方法、设备及计算机可读存储介质 |
CN110377712B (zh) * | 2019-07-12 | 2023-05-16 | 腾讯科技(深圳)有限公司 | 一种智能会话切换方法、装置、设备及存储介质 |
CN113535980A (zh) * | 2021-07-20 | 2021-10-22 | 南京市栖霞区民政事务服务中心 | 一种基于人工智能的智慧社区知识库体系的快速建立方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101431573B (zh) * | 2007-11-08 | 2013-02-20 | 上海撼世网络科技有限公司 | 通过人机交互技术实现自动客户服务的方法和设备 |
-
2016
- 2016-04-29 CN CN201610281403.7A patent/CN105975530B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105975530A (zh) | 2016-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105975530B (zh) | 基于聊天大数据知识库的机器人对话控制方法和系统 | |
CN107229684B (zh) | 语句分类方法、系统、电子设备、冰箱及存储介质 | |
CN108345690B (zh) | 智能问答方法与系统 | |
WO2018036555A1 (zh) | 会话处理方法及装置 | |
CN109658928A (zh) | 一种家庭服务机器人云端多模态对话方法、装置及系统 | |
Caminero-Gil et al. | Data-driven discourse modeling for semantic interpretation | |
CN108509638B (zh) | 一种问题提取方法及电子设备 | |
CN105930367B (zh) | 智能聊天机器人控制方法及控制装置 | |
CN105512228A (zh) | 一种基于智能机器人的双向问答数据处理方法和系统 | |
CN106934068A (zh) | 机器人基于环境上下文的语义理解的方法 | |
CN103593412B (zh) | 一种基于树形结构问题的应答方法及系统 | |
CN108846138B (zh) | 一种融合答案信息的问题分类模型构建方法、装置和介质 | |
CN111368538A (zh) | 语音交互方法、系统、终端及计算机可读存储介质 | |
CN104991943A (zh) | 音乐搜索方法及装置 | |
CN105653673B (zh) | 信息搜索方法及装置 | |
CN108304424B (zh) | 文本关键词提取方法及文本关键词提取装置 | |
CN101330432A (zh) | 一种实现在线问答的系统和方法 | |
CN110377745B (zh) | 信息处理方法、信息检索方法、装置及服务器 | |
CN110781280A (zh) | 基于知识图谱的语音辅助方法及装置 | |
KR101891498B1 (ko) | 대화형 ai 에이전트 시스템에서 멀티 도메인 인텐트의 혼재성을 해소하는 멀티 도메인 서비스를 제공하는 방법, 컴퓨터 장치 및 컴퓨터 판독가능 기록 매체 | |
CN102543076A (zh) | 用于语音输入法的语音训练方法及相应的系统 | |
CN112527983A (zh) | 一种个性化政务人机自然交互服务系统 | |
CN117056479A (zh) | 基于语义解析引擎的智能问答交互系统 | |
CN108306813B (zh) | 会话消息的处理方法、服务器及客户端 | |
CN112966076A (zh) | 智能问答问题的生成方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |