CN105955949A - 基于大数据搜索的幽默型机器人对话控制方法和系统 - Google Patents
基于大数据搜索的幽默型机器人对话控制方法和系统 Download PDFInfo
- Publication number
- CN105955949A CN105955949A CN201610281505.9A CN201610281505A CN105955949A CN 105955949 A CN105955949 A CN 105955949A CN 201610281505 A CN201610281505 A CN 201610281505A CN 105955949 A CN105955949 A CN 105955949A
- Authority
- CN
- China
- Prior art keywords
- statement
- search results
- search
- read
- subject
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种机器人对话控制方法和系统,将根据输入语句进行搜索的搜索结果中与输入语句匹配度最大的前m条语句分别作为m条第一语句,再将主语属性分别与每条第一语句合并得到m条合并语句,分别根据每条第一语句对应以及与每条第一语句对应的合并语句,计算每条第一语句的幽默性参数,并将幽默性参数最大的第一语句作为输出语句输出。第一语句的合理幽默性参数越大,第一语句越幽默,将幽默性参数最大的第一语句作为输出语句输出,确保了输出语句的幽默性,且由于第一语句是与输入语句匹配度较大的语句,确保了第一语句的合理性,输出语句是从第一语句中筛选出,确保了输出语句的合理性,从而确保了输出语句既合理又幽默。
Description
技术领域
本发明涉及人工智能技术领域,特别涉及一种机器人对话控制方法和系统。
背景技术
随着机器人技术的快速发展,用户对机器人功能的要求也越来越高。幽默感是智慧机器人的最重要内容之一。
现有机器人与用户交谈时,要么从离线对话数据库或互联网对话数据库中模糊搜索出与用户语句匹配度最大的语句的回复语句进行回复,所以可以做到回复尽量准确,但缺乏幽默感。要么故意从离线对话数据库或互联网对话数据库中模糊搜索出与用户语句匹配度最小的语句的回复语句进行回复,貌似很幽默,但回复“牛头不对马嘴”,显然不是真正的幽默,因为不能把胡言乱语当成是一种幽默,从而,导致机器人在与用户交谈合理时回复的语句缺乏幽默感。
发明内容
基于此,有必要针对机器人交谈时合理性与幽默感之间存在矛盾的问题,提供一种保持机器人谈话合理性的同时,提高机器人谈话的幽默感的机器人对话控制方法和系统。
一种机器人对话控制方法,包括以下步骤:
获取输入语句;
根据所述输入语句进行搜索,获得搜索结果;
筛选所述搜索结果中与所述输入语句匹配度最大的前m条语句分别作为m条第一语句,其中,所述m为正整数;
获取所述输入语句的主语属性;
将所述主语属性分别与每条所述第一语句进行合并,得到分别与所述第一语句对应的m条合并语句;
分别根据每条第一语句以及与所述每条第一语句对应的所述合并语句,计算所述每条第一语句的幽默性参数,并将所述幽默性参数最大的所述第一语句作为输出语句输出。
本发明还提供一种机器人对话控制系统,包括:
输入语句获取模块,用于获取输入语句;
搜索模块,用于根据所述输入语句进行搜索,获得搜索结果;
第一筛选模块,用于筛选所述搜索结果中与所述输入语句匹配度最大的前m条语句分别作为m条第一语句,其中,所述m为正整数;
属性获取模块,用于获取所述输入语句的主语属性;
合并模块,用于将所述主语属性分别与每条所述第一语句进行合并,得到分别与所述第一语句对应的m条合并语句;
第二筛选模块,用于分别根据每条第一语句以及与所述每条第一语句对应的所述合并语句,计算所述每条第一语句的幽默性参数,并将所述幽默性参数最大的所述第一语句作为输出语句输出。
上述机器人对话控制方法和系统,通过根据输入语句进行搜索,将搜索结果中与输入语句匹配度最大的前m条语句作为m条第一语句,从而确保m条语句与输入语句之间最匹配,确保第一语句的合理性。获取输入语句的主语属性,将主语属性分别与每条第一语句合并,获得m条合并语句,分别根据每条第一语句以及与每条第一语句对应的合并语句,计算每条第一语句的幽默性参数,并将幽默性参数最大的第一语句作为输出语句输出。第一语句的幽默性参数越大,第一语句越幽默,将幽默性参数最大的第一语句作为输出语句输出,确保了输出语句的幽默性,且由于第一语句是与输入语句匹配度较大的语句,确保了第一语句的合理性,输出语句是从第一语句中筛选出,确保了输出语句的合理性,从而确保了输出语句既合理又幽默,即确保机器人回复的合理性的同时提高了与机器人交互的幽默感,即利于机器人的智慧化和幽默化。
附图说明
图1为一种实施方式的机器人对话控制方法的流程图;
图2为另一种实施方式的机器人对话控制方法的流程图;
图3为另一种实施方式的机器人对话控制方法的流程图;
图4为另一种实施方式的机器人对话控制方法中步骤S400的子流程图;
图5为用户与机器人交互的示意图;
图6为一种实施方式的机器人对话控制系统的模块图;
图7为另一种实施方式的机器人对话控制系统的模块图;
图8为另一种实施方式的机器人对话控制系统的模块图;
图9为另一种实施方式的机器人对话控制系统中主语属性获取模块400的子模块图。
具体实施方式
请参阅图1,提供一种实施方式机器人对话控制方法,具体提供一种基于大数据搜索的幽默型机器人对话控制方法,包括以下步骤:
S100:获取输入语句。
S200:根据输入语句进行搜索,获得搜索结果。
在本实施例中,机器人是指泛义的机器人,包括一切模拟人类行为或思想以及模拟其他生物的机械,也包括一些电脑程序,例如,聊天机器人程序等。在用户需要与机器人进行交互时,用户可向机器人输入语句,从而机器人可获取用户的输入语句,其中,输入语句可以是文字和语音,甚至可以是视频。在本实施例中,输入语句为语音,根据输入语句进行搜索,可获得搜索结果以及与输入语句对应的搜索结果数量,搜索结果的数量较大,搜索结果的数量即是与输入语句对应的搜索结果数量。其中,搜索结果中包括多条语句,搜索结果中语句的条数即是搜索结果的数量,搜索出的这些语句与输入语句相关。
S300:筛选搜索结果中与输入语句匹配度最大的前m条语句分别作为m条第一语句。
其中,m为正整数。由于根据输入语句进行搜索时,可能会获得较多的搜索结果,有些搜索结果可能不太合理,对全部的数据进行处理时会浪费较多时间,从而需要对搜索结果进行筛选,筛选出较为合理的语句,一般情况下,与输入语句匹配度较大的语句较合理,从而筛选出搜索结结果中与输入语句匹配度最大的前m条语句分别作为m条第一语句。具体地,可根据预设排序规则对搜索结果进行排序,获得搜索列表,预设排序规则可采用匹配度从大到小规则,也可采用相似度从大到小规则等,从而可从搜索列表获取前m条语句作为第一语句,即与输入语句匹配度最大的前m条语句是指将与输入语句匹配度按从大到小的顺序排序,排在最前的m条语句。大数据搜索引擎自身具有对应的预设排序规则,例如,百度大数据搜索引擎具有对应的预设排序规则,当获取输入语句通过百度大数据搜索引擎进行搜索时,根据其对应的预设排序规则会对搜索结果进行排序获得搜索列表显示在页面上,用户在页面上看到的搜索列表即为根据自身携带的预设排序规则对搜索结果进行排序后的结果。
S400:获取输入语句的主语属性。
S500:将主语属性分别与每条第一语句进行合并,得到分别与第一语句对应的m条合并语句。
有多少条第一语句,则对应得到相应数量的合并语句,在本实施例中,有m条第一语句,从而得到m条合并语句,即当对第一语句进行筛选,更新第一语句后,第一语句的数量发生变化,对应的合并语句的数量也对应发生变化。有m条第一语句,将主语属性分别与每条第一语句进行合并,得到m条合并语句,每条合并语句都对应有一条第一语句,即一条第一语句对应有一条合并语句,例如,有3条第一语句,分别为A、B、C,主语属性为D,将主语属性分别与每条第一语句进行合并,即是将D分别与A、B、C合并,得到3条合并语句分别为AD、BD、CD,这3条合并语句是分别和第一语句对应的,即合并语句AD对应第一语句A,合并语句BD对应第一语句B,合并语句CD对应第一语句C。当输入语句的主语为“我”或没有主语,主语属性为用户属性。当输入语句的主语为“您”或“你”,主语属性为机器人属性。当输入语句的主语为“他”,主语属性为男性。当输入语句的主语为“她”,主语属性为男性。输入语句的主语也可以是任何人、任何物或任何事,主语属性则是相应人的属性、相应物的属性或相应事的属性。语句和主语可以是中文,也可以是英文或其他语言。
获取输入语句的主语的属性的方式可以是查询用户的注册信息,也可以是弹出对话框询问用户,例如,用户输入青年男性,则主语属性为青年男性,也可以是其他交互方式获取或查询方式获取。输入语句的主语包括但不限于“我”、“你”、“您″他”、“她”、具体人名以及动物名。如果输入语句没有主语,则输入语句的主语默认为“我”。获取输入语句的主语属性,将主语属性分别与每条第一语句合并得到m条合并语句之后,可分别根据每条合并语句进行搜索,获得与合并语句对应的搜索结果数量。
S600:分别根据每条第一语句以及与每条第一语句对应的合并语句,计算每条第一语句的幽默性参数,并将幽默性参数最大的第一语句作为输出语句输出。
由于合并语句是通过第一语句和主语属性合并得到的,每条第一语句有其对应的第一语句,从而分别根据每条第一语句以及与每条第一语句对应的合并语句,可计算得到每条第一语句的幽默性参数,并将幽默性参数最大的第一语句作为输出语句输出。在本实施例中,第一语句的幽默性参数由第一语句的搜索结果数量以及与第一语句对应的合并语句的搜索结果数量共同决定的,即第一语句的幽默性参数是与第一语句的搜索结果数量以及与第一语句对应的合并语句的搜索结果数量相关。合并语句的搜索结果数量相对于第一语句的搜索结果数量越小,或第一语句的搜索结果数量相对于合并语句的搜索结果数量越大,第一语句作为输出语句输出给用户越幽默,第一语句的幽默性参数越大。搜索结果数量与合理等级对应,第一语句的搜索结果数量越大,第一语句越合理,合理等级越大,合并语句的搜索结果数量越大,合并语句越合理,合理等级越大,当合并语句的搜索结果数量越小,合并语句越不合理,由于合并语句为第一语句与主语属性合并得到的,合并语句越不合理说明第一语句相对于主语属性越不合理,对应的第一语句作为用户的回复语句则越幽默,即第一语句越合理,合并语句越不合理,第一语句的幽默性参数越大。例如,当第一语句的搜索结果数量较大,该第一语句较合理,然而,此时,与该第一语句对应的合并语句的搜索结果数量较小,该合并语句较不合理,说明第一语句相对于主语属性是较不合理,但第一语句本身是较合理,从而将该第一语句作为输出语句输出会较幽默,即该第一语句的幽默性参数较大,同时第一语句又较合理,从而通过将幽默性参数最大的第一语句输出既合理又幽默。
可以理解,第一语句的幽默性参数还可由第一语句的搜索结果数量在第一语句的总搜索结果数量中的比重以及与第一语句对应的合并语句的搜索结果数量在合并语句的总搜索数量中的比重共同决定的,即第一语句的幽默性参数是与第一语句的搜索结果数量在第一语句的总搜索结果数量中的比重以及与第一语句对应的合并语句的搜索结果数量在合并语句的总搜索数量中的比重相关。合并语句的搜索结果数量所占比重相对于第一语句的搜索结果数量所占比重越小,或第一语句的搜索结果数量所占比重相对于合并语句的搜索结果数量所占比重越大,第一语句作为输出语句输出给用户越幽默,即幽默性参数越大。第一语句的总搜索结果数量为每条第一语句的搜索结果数量的总数,合并语句的总搜索结果数量为每条合并语句的搜索结果数量的总数,占的比重越大,合理等级越大。
上述机器人对话控制方法,通过根据输入语句进行搜索,将搜索结果中与输入语句匹配度最大的前m条语句作为m条第一语句,从而确保m条语句与输入语句之间最匹配,确保第一语句的合理性。获取输入语句的主语属性,将主语属性分别与每条第一语句合并,获得m条合并语句,分别根据每条第一语句以及与每条第一语句对应的合并语句,计算每条第一语句的幽默性参数,并将幽默性参数最大的第一语句作为输出语句输出。第一语句的幽默性参数越大,第一语句越幽默,将幽默性参数最大的第一语句作为输出语句输出,确保了输出语句的幽默性,且由于第一语句是与输入语句匹配度较大的语句,确保了第一语句的合理性,输出语句是从第一语句中筛选出,确保了输出语句的合理性,从而确保了输出语句既合理又幽默,即确保机器人回复的合理性的同时提高了与机器人交互的幽默感,即利于机器人的智慧化和幽默化。
请参阅图2,在其中一个实施例中,分别根据每条第一语句以及与第一语句对应的合并语句,计算每条第一语句的幽默性参数,并将幽默性参数最大的第一语句作为输出语句输出的步骤S600包括:
S610:分别根据每条第一语句进行搜索,获得搜索结果数量作为第一语句的搜索结果数量。
获得m条第一语句后,分别根据每条第一语句进行搜索,获得搜索结果数量作为第一语句的搜索结果数量,搜索结果数量是根据第一语句搜索得到的,从而搜索结果数量是和第一语句对应的,即获得与第一语句对应的搜索结果数量,有m条第一语句,搜索m次,获得m个搜索结果数量,每个搜索结果数量对应一条第一语句,即由于有m条第一语句,根据每条第一语句进行搜索,从而可获得m个搜索结果数量分别作为第一语句的搜索结果数量,单个搜索结果数量作为单条第一语句的搜索结果数量。例如,有2条第一语句分别为A和B,根据第一语句A进行搜索,得到搜索结果数量为30,根据第一语句B进行搜索,得到搜索结果数量为10,分别进行了2次搜索,获得2个搜索结果数量分别30和10,将该2个搜索结果数量分别作为第一语句的搜索结果数量,30是对应第一语句A的,10对应第一语句B的。搜索是调用搜索引擎自动完成的或是对预设大数据的搜索,从第一语句对应的搜索结果数量的大小可知人们对第一语句的认同度,搜索结果数量越大表示人们对第一语句的认同度越高,则该第一语句越合理,第一语句的合理等级越大,即第一语句的搜索结果数量与第一语句的合理性是对应的,将第一语句的搜索结果数量作为第一语句的合理性参数,第一语句的搜索结果数量越大,第一语句的合理性参数越大。
S620:分别根据每条合并语句进行搜索,获得搜索结果数量作为合并语句的搜索结果数量。
具体地,获取输入语句的主语属性,将主语属性分别与每条第一语句合并得到m条合并语句,分别根据每条合并语句进行搜索,搜索结果数量作为合并语句的搜索结果数量,即获得与合并语句对应的搜索结果数量。有m条合并语句,搜索m次,获得m个搜索结果数量,每个搜索结果数量对应一条合并语句,即由于有m条合并语句,根据每条合并语句进行搜索,从而可获得m个搜索结果数量分别作为合并语句的搜索结果数量,单个搜索结果数量作为单条合并语句的搜索结果数量。从合并语句对应的搜索结果数量的大小可知人们对合并语句的认同度,数量越小,则表示人们对该合并语句的认同度越低,则该合并语句越不合理,合并语句的合理等级越小,即合并语句的搜索结果数量与合并语句的合理性是对应的,将合并语句的搜索结果数量作为合并语句的合理性参数,合并语句的搜索结果数量越大,合并语句的合理性参数越大。
S630:分别计算每条第一语句的搜索结果数量和与每条第一语句对应的合并语句的搜索结果数量的比值,以获得每条第一语句的幽默性参数。
每条第一语句有其对应的一条合并语句,例如,2条第一语句分别为A和B,第一语句A对应的合并语句为AD,第一语句B对应的合并语句为BD,计算第一语句A的搜索结果数量和与第一语句A对应的合并语句AD的搜索结果数量的比值,获得第一语句A的幽默性参数,计算第一语句B的搜索结果数量和与第一语句B对应的合并语句BD的搜索结果数量的比值,获得第一语句B的幽默性参数,从而,分别计算每条第一语句的搜索结果数量和与每条第一语句对应的合并语句的搜索结果数量的比值,即可获得条第一语句的幽默性参数。
S640:将最大幽默性参数对应的第一语句作为输出语句输出。
可以理解,第一语句的搜索结果数代表的是人们对第一语句的认同度,即第一语句的合理性,合并语句对应的搜索结果数量代表的是人们对合并语句的认同度,即合并语句的合理性。第一语句对应的搜索结果数量越大则越合理,合并语句对应的搜索结果数量越小则对应的合并语句越不合理,合并语句越幽默,如果某第一语句的搜索结果数量越大,其对应的合并语句的搜索结果数量越小,则表示该第一语句的搜索结果数量和与该第一语句对应的合并语句的搜索结果数量得到的比值越大,则表明该第一语句的合理性与对应的合并语句的合理性的对比度越大,本质上是表明该第一语句的合理性与对对应主语而言的合理性的对比度越大,也就是说该第一语句虽然合理,但不符合对应主语的属性,该第一语句对用户而言也就最幽默,从而,将第一语句的搜索结果数量和与第一语句对应的合并语句的搜索结果数量的比值作为第一语句的幽默性参数,即可将第一语句的合理性参数与对应合并语句的合理性的比值作为幽默性参数,将幽默性参数最大的语句作为输出语句输出,从而,确保输出语句的合理性的同时,也提高了与机器人交互的幽默感,即利于机器人的智慧化和幽默化。即满足回复合理性,又满足幽默感。由于第一语句有m条,对应的合并语句有m条,即每条第一语句有其对应的一条合并语句,从而分别计算每条第一语句的搜索结果数量和与每条第一语句对应的合并语句的搜索结果数量的比值,可获得每条第一语句的幽默性参数。
另外,第一语句的幽默性参数还可通过计算第一语句的搜索结果数在第一语句的总搜索结果数量中的比重与对应合并语句的搜索结果数在合并语句的总搜索结果数量中的比重的比值获得。可将第一语句的搜索结果数在第一语句的总搜索结果数量中的比重作为第一语句的合理性参数,将合并语句的搜索结果数在合并语句的总搜索结果数量中的比重作为合并语句的合理性参数,所占比重越大,越合理,合理性参数越大,将第一语句的合理性参数与合并语句的合理性参数的比值作为第一语句的幽默型参数。
在其中一个实施例中,将主语属性分别与每条第一语句进行合并,得到m条合并语句的步骤S500之前还包括:
分别根据每条第一语句进行搜索,获得搜索结果数量作为第一语句的搜索结果数量;
筛选第一语句中搜索结果数量最大的前n条语句,以更新第一语句。
即分别根据每条第一语句进行搜索,获得与第一语句对应的搜索结果数量,再筛选第一语句中搜索结果数量最大的前n条语句,以更新第一语句。此时,将主语属性分别与每条第一语句进行合并,得到m条合并语句的步骤S500具体为将主语属性分别与每条第一语句进行合并,得到n条合并语句,其中,n为小于m的正整数,在筛选出搜索结果中与输入语句匹配度最大的前m条语句,将m条语句作为m条第一语句后,可根据每条第一语句进行搜索,获得与第一语句对应的搜索结果数量,即分别将第一语句作为大数据搜索引擎的输入进行搜索,可获得与第一语句对应的搜索结果数量。即将m条第一语句作为大数据搜索引擎的m次输入进行m次搜索,得到m个搜索结果数量。然而,m个搜索结果数量有大有小,为了进一步确保后续输出语句的合理性以及减少后续处理工作量,在将主语属性分别与每条第一语句合并之前,对m条第一语句进行筛选,从m条第一语句中再筛选出搜索数量最大的前n条第一语句,将该n条第一语句作为更新语句,得到更新的第一语句,更新后的第一语句是在m条第一语句中搜索结果数量较大的,搜索结果数量越大也就表示该语句越被人们认同,即越合理,更新后的n条第一语句再分别与主语属性进行合并,得到n条合并语句。具体地,可对m条第一语句对应的m个搜索结果数量从大到小进行排序,本质上是对人们对m条第一语句的认同度进行排序,从而也是对m条第一语句的合理性进行排序,前n个搜索结果数量对应的n条第一语句作为后续与主语属性合并的语句,显然这样得到的n条第一语句是m条第一语句中合理性最高的n条语句。
在其中一个实施例中,分别根据每条第一语句进行搜索,获得搜索结果数量作为第一语句的搜索结果数量的步骤S610具体为:
分别根据每条第一语句,对预设大数据进行搜索或通过搜索引擎进行搜索,获得搜索结果数量作为第一语句的搜索结果数量。
即分别根据每条第一语句,对预设大数据进行搜索或通过搜索引擎进行搜索,可获得与第一语句对应的搜索结果数量。其中,预设大数据包括互联网中产生的语句数据、预设有语句的数据库数据以及预设有语句的文件数据,搜索引擎包括互联网搜索引擎和离线搜索引擎。具体地,通过调用搜索引擎自动完成搜索时,互联网搜索引擎包括但不限于baidu(百度)搜索引擎、google(谷歌)搜索引擎和gfsoso(谷粉搜搜)搜索引擎等,搜索引擎还包括局域网搜索引擎、基于数据仓库或数据库的离线搜索引擎以及机器人自带的搜索引擎。
在其中一个实施例中,分别根据每条合并语句进行搜索,获得搜索结果数量作为合并语句的搜索结果数量的步骤S620具体为:
分别根据每条合并语句,对预设大数据进行搜索或通过搜索引擎进行搜索,获得搜索结果数量作为合并语句的搜索结果数量。
即分别根据每条合并语句,对预设大数据进行搜索或通过搜索引擎进行搜索,可获得与合并语句对应的搜索结果数量。
在其中一个实施例中,根据输入语句进行搜索,获得搜索结果的步骤S200具体为:
根据输入语句,对预设大数据进行搜索或通过搜索引擎进行搜索,获得搜索结果。
在其中一个实施例中,根据输入语句,对预设大数据进行搜索或通过搜索引擎进行搜索,获得搜索结果的步骤包括:
提取输入语句的关键词;
根据关键词对预设大数据进行搜索或通过搜索引擎进行搜索,获得搜索结果,并对搜索结果中关键词进行标记。
在机器人获取输入语句后,对该输入语句进行分词,可获得候选词,可根据候选词的重要程度,从候选词中选取出关键词,以提取输入语句的关键词,例如,输入语句为“关键词怎么提取”时,提取的关键词可为“关键词”以及“提取”。根据该关键词进行搜索,即输入语句的关键词为大数据搜索引擎对用户的输入语句进行分词后得到的多个词,根据关键词对预设大数据进行搜索或通过搜索引擎进行搜索,获得搜索结果,在搜索结果中包含有该输入语句的关键词。在搜索结果中对关键词进行标记,以突出关键词在搜索结果中的位置,由于机器人后续进行处理后回复给用户的是搜索结果中的某一条语句,从而通过标记关键词,可便于用户查看输入语句。具体地,标记包括颜色标记、加粗标记以及下划线标记等。
请参阅图3,在其中一个实施例中,将最大幽默性参数对应的第一语句作为输出语句输出的步骤S640包括:
S641:将最大幽默性参数对应的第一语句作为输出语句;
S642:将输出语句进行人称变换后输出。
由于机器人是对用户的输入语句的回复,获得的输出语句是与输入语句相关联的语句,然而,输入语句是用户输入的,为进一步提高机器人对用户回复的合理性,将输出语句的人称进行变换后再输出。
在其中一个实施例中,将输出语句进行人称变换后输出的步骤S642包括:
根据预设人称变换规则,对输出语句中的第一人称和第二人称分别进行变换,获得人称变换后的输出语句;
将人称变换后的输出语句输出。
其中,预设人称变换规则包括第一人称变换为第二人称和第二人称变换为第一人称,具体地,是对输出语句中的人称分别进行单次变换,即输出语句中的第一人称变换为第二人称后不再进行变换,输出语句中的第二人称变换为第一人称后不再进行变换,例如,输出语句为“我找你有事情”,分别对其中的第一人称和第二人称分别进行单次变换,即将我进行单次变换为你,将你进行单次变换为我,从而人称变换后的输出语句为“你找我有事情”。输入语句是用户对机器人所讲的话语,或向机器人输入的文字或视频,在本实施例中,输入语句为用户的语音,其中,人称变换将输出语句中的第一人称和第二人称分别进行变换,即第一人称变换成第二人称,第二人称变为第一人称,即第一人称包括我,第二人称包括你和您,变换过程即为将“我”变换为“你”、“你”变换为“我”、“您”变换为“我”,实现机器人对用户的回复。
请参阅图4,在其中一个实施例中,获取输入语句的主语属性的步骤S400包括:
S410:当输入语句没有主语或其主语为第一人称时,通过用户注册信息或对话框中的属性输入获取输入语句的主语属性;
S420:当输入语句的主语为第二人称时,通过机器人注册信息或对话框中的属性输入获取输入语句的主语属性;
S430:当输入语句的主语为第三人称时,通过对话框中的属性输入或将输入语句的主语作为电子词典或搜索引擎的输入进行搜索,获取输入语句的主语属性。
例如,当输入语句的主语为“我”时,对应的属性为用户属性,用户在与机器人交互之前,首先需要在机器人中进行用户注册,获得用户注册信息,其中包括用户的属性等信息,例如,一名女子进行注册时,需要获取用户的姓名、年龄和性别属性等信息,比如,年轻女性是该女子注册的性别属性,从而可更具注册信息获得该年轻女性这一信息,从而获得输入语句的主语属性,或者可以通过弹出对话框的形式询问用户,用户在对话框中输入主语属性,从而获得输入语句的主语属性。当输入语句没有主语时,默认主语为“我”。当输入语句的主语为您或你时,对应的是机器人属性,机器人的属性信息是预先在机器人中已注册,即机器人注册信息,可根据机器人的注册信息可获取主语属性,或可通过对话框中的属性输入获取主语属性。当主语为第三人称时,可通过对话框中的属性输入获取主语信息,也可通过搜索电子词典或搜索引擎获得主语属性,例如,当输入语句的主语为“他”,主语属性为男性,当语句的主语为“她”,主语属性为女性。
下面以一具体实施对上述机器人对话控制方法加以说明。在本实施例中,m取值为50,n取值为9,请参阅图5,为幽默型智慧机器人与人进行交流的示意图。
首先,接收用户的输入语句,例如“我肚子痛”。
将用户的输入语句“我肚子痛”作为搜索引擎http://www.gfsoso.net的输入进行搜索,获得搜索列表,搜索列表是已经根据匹配度从大到小进行排序后的结果,筛选出搜索列表中前50条语句作为50条第一语句,该50条语句中含有输入语句的关键词,并对50条语句中的关键词进行颜色标记。
从50条第一语句中通过搜索引擎筛选出一个输出语句,该输出语句的合理性与该输出语句对输入语句的主语属性而言的不合理性的对比度最大。即作为输出语句的第一语句的搜索结果数量和与该输出语句对应的合并语句的搜索结果数量的比值最大,将该输出语句作为输出语句输出给用户,具体步骤如下:
将50条第一语句作为大数据搜索引擎的50次输入进行50次搜索,得到50条搜索结果数量。
将50条搜索结果数量从大到小进行排序,选出排序后的序列中前9条搜索结果数量对应的9条第一语句,序列中前9条搜索结果数量对应的9条第一语句以及对应的搜索结果数量如下。
我肚子痛是不是怀孕了(搜索结果数量为6280000)。
我肚子痛,每个月月经过后就开始(搜索结果数量为2880000)。
我肚子痛,也胃痛(搜索结果数量为1960000)。
更年期肚子胀痛(搜索结果数量为1940000)。
我肚子痛,拉肚子(搜索结果数量为1380000)。
笑得我肚子痛(搜索结果数量为1170000)。
我肚子痛,想解大手(搜索结果数量为486000)。
我肚子痛,要上厕所大便(搜索结果数量为368000)。
我肚子痛的很厉害,痛的冒汗,是不是肠胃炎(搜索结果数量为27100)。
获取输入语句的主语属性,当用户跟机器人说“我肚子痛”,这里的主语是“我”,所以主语属性是用户属性。机器人可以通过查询用户注册信息来获取用户属性,例如,男性。机器人也可以通过对话框方式向用户询问来获取用户属性,例如,用户在对话框中输入年轻男性,则获取的主语属性为年轻男性。机器人也可以通过“眼睛”即摄像头来识别用户属性,机器人也可以通过其他方式来获取用户属性。若获取的用户属性是“年轻男性”,将输入语句的主语属性“年轻男性”分别与上述9条第一语句合并获得9条合并语句,该9条合并语句分别与上述9条第一语句是一一对应的,9条合并语句如下。
我肚子痛是不是怀孕了+年轻男性。
我肚子痛,每个月月经过后就开始+年轻男性。
我肚子痛,也胃痛+年轻男性。
更年期肚子胀痛+年轻男性。
我肚子痛,拉肚子+年轻男性。
笑得我肚子痛+年轻男性。
我肚子痛,想解大手+年轻男性。
我肚子痛,要上厕所大便+年轻男性。
我肚子痛的很厉害,痛的冒汗,是不是肠胃炎+年轻男性。
将上述9条合并语句作为大数据搜索引擎https://www.baidu.com的9次输入进行9次搜索,得到9条合并语句对应的搜索结果数量,9条合并语句以及合并语句对应的搜索结果数量如下。
我肚子痛是不是怀孕了+年轻男性(搜索结果数量为60700)。
我肚子痛,每个月月经过后就开始+年轻男性(搜索结果数量为80700)。
我肚子痛,也胃痛+年轻男性(搜索结果数量为272000)。
更年期肚子胀痛+年轻男性(搜索结果数量为42200)。
我肚子痛,拉肚子+年轻男性(搜索结果数量为526000)。
笑得我肚子痛+年轻男性(搜索结果数量为129000)。
我肚子痛,想解大手+年轻男性(搜索结果数量为180000)。
我肚子痛,要上厕所大便+年轻男性(搜索结果数量为137000)。
我肚子痛的很厉害,痛的冒汗,是不是肠胃炎+年轻男性(搜索结果数量为9630)。
将9条第一语句对应的搜索结果数量分别除以与9条第一语句对应的合并语句的搜索结果数量,得到9个商数,计算结果如下。
我肚子痛是不是怀孕了(搜索结果数量为6280000)。
我肚子痛是不是怀孕了+年轻男性(搜索结果数量为60700)。
6280000/60700=103.46。
我肚子痛,每个月月经过后就开始(搜索结果数量为2880000)。
我肚子痛,每个月月经过后就开始+年轻男性(搜索结果数量为80700)。
2880000/80700=35.69。
我肚子痛,也胃痛(搜索结果数量为1960000)。
我肚子痛,也胃痛+年轻男性(搜索结果数量为272000)。
1960000/272000=7.21。
更年期肚子胀痛(搜索结果数量为1940000)。
更年期肚子胀痛+年轻男性(搜索结果数量为42200)。
1940000/42200=45.97。
我肚子痛,拉肚子(搜索结果数量为1380000)。
我肚子痛,拉肚子+年轻男性(搜索结果数量为526000)。
1380000/526000=1.90。
笑得我肚子痛(搜索结果数量为1170000)。
笑得我肚子痛+年轻男性(搜索结果数量为129000)。
1170000/129000=9.07。
我肚子痛,想解大手(搜索结果数量为486000)。
我肚子痛,想解大手+年轻男性(搜索结果数量为180000)。
486000/180000=2.7。
我肚子痛,要上厕所大便(搜索结果数量为368000)。
我肚子痛,要上厕所大便+年轻男性(搜索结果数量为137000)。
368000/137000=2.69。
我肚子痛的很厉害,痛的冒汗,是不是肠胃炎(搜索结果数量为27100)。
我肚子痛的很厉害,痛的冒汗,是不是肠胃炎+年轻男性(搜索结果数量为9630)。
27100/9630=2.81。
将上述9个商数中最大商数对应的第一语句作为输出语句,对输出语句进行人称变换后,作为输出语句输出。即在9条第一语句中选择最大商数对应的第一语句作为输出语句。
例如,上述9条第一语句中“我肚子痛是不是怀孕了”的搜索结果数量与其对应的合并语句“我肚子痛是不是怀孕了+年轻男性”的搜索结果数量的比值最大,从而,选出最大商数对应的第一语句:我肚子痛是不是怀孕了,即选出第一语句中的“我肚子痛是不是怀孕了”作为输出语句。
将输出语句进行人称变换后输出给用户。例如,将上述“我肚子痛是不是怀孕了”进行人称变换后输出,即将其中的我变换成你,得到:你肚子痛是不是怀孕了,输出给用户,实现机器人与用户之间的交互。
上述整个过程全部是机器人系统自动完成的,搜索引擎(例如google、gfsoso、baidu等)是在海量的用户在过去长时间积累的大数据的基础上形成的,某输入对应的搜索结果数量越多,则表明该输入的内容越合理,某输入对应的搜索结果数量越少,则表明该输入的内容越不合理。可以理解的是,将m个第一搜索结果数量从大到小进行排序,选出序列中前n个第一搜索结果数量对应的n条第一语句作为n条输出语句,保证了机器人对用户的输入语句所做回复的合理性。同样,可以理解的是,将n个商数中最大商数对应的第一搜索结果数量对应的输出语句,作为输出语句,保证了机器人对用户的输入语句所做回复的幽默性,因为商数最大,则表明机器人回复的合理性与机器人回复对于用户的不合理性的对比度最大,则对该用户而言最为幽默。例如,在上例中,用“你肚子痛是不是怀孕了”作为“我肚子痛”的回复是合理的,因为怀孕的确可能会引起肚子痛,但因为年轻男性不可能会怀孕,所以这个回复就显得特别幽默。
在大数据搜索引擎中,由后台大数据的数据量的变化,不同时间搜到得到的结果数会有所波动,这种波动反映出人们对某一话语的认同度的真实变化,不但不影响本发明的使用,反而更能使得本发明的方法能真实地反映人们对某一话语的认同度。大数据搜索引擎后台的大数据日益增多,搜索结果就越来越能反映出人们对某一话语的认同度,从而可以依据大数据搜索引擎的结果来判断某话语的合理性和不合理性,进而从中选出幽默的话语来与用户交流。
请参阅图6,本发明还提供一种实施方式的机器人对话控制系统,具体提供一种基于大数据搜索的幽默型机器人对话控制系统,包括:
输入语句获取模块100,用于获取输入语句。
搜索模块200,用于根据输入语句进行搜索,获得搜索结果。
在本实施例中,机器人是指泛义的机器人,包括一切模拟人类行为或思想以及模拟其他生物的机械,也包括一些电脑程序,例如,聊天机器人程序等。在用户需要与机器人进行交互时,用户可向机器人输入语句,从而机器人可获取用户的输入语句,其中,输入语句可以是文字和语音,甚至可以是视频。在本实施例中,输入语句为语音,根据输入语句进行搜索,可获得搜索结果以及与输入语句对应的搜索结果数量,搜索结果的数量较大,搜索结果的数量即是与输入语句对应的搜索结果数量。其中,搜索结果中包括多条语句,搜索结果中语句的条数即是搜索结果的数量,搜索出的这些语句与输入语句相关。
第一筛选模块300,用于筛选搜索结果中与输入语句匹配度最大的前m条语句分别作为m条第一语句。
其中,m为正整数。由于根据输入语句进行搜索时,可能会获得较多的搜索结果,有些搜索结果可能不太合理,对全部的数据进行处理时会浪费较多时间,从而需要对搜索结果进行筛选,筛选出较为合理的语句,一般情况下,与输入语句匹配度较大的语句较合理,从而筛选出搜索结结果中与输入语句匹配度最大的前m条语句分别作为m条第一语句。具体地,可根据预设排序规则对搜索结果进行排序,获得搜索列表,预设排序规则可采用匹配度从大到小规则,也可采用相似度从大到小规则等,从而可从搜索列表获取前m条语句作为第一语句,即与输入语句匹配度最大的前m条语句是指将与输入语句匹配度按从大到小的顺序排序,排在最前的m条语句。大数据搜索引擎自身具有对应的预设排序规则,例如,百度大数据搜索引擎具有对应的预设排序规则,当获取输入语句通过百度大数据搜索引擎进行搜索时,根据其对应的预设排序规则会对搜索结果进行排序获得搜索列表显示在页面上,用户在页面上看到的搜索列表即为根据自身携带的预设排序规则对搜索结果进行排序后的结果。
主语属性获取模块400,用于获取输入语句的主语属性。
合并模块500,用于将主语属性分别与每条第一语句进行合并,得到分别与第一语句对应的m条合并语句。
有多少条第一语句,则对应得到相应数量的合并语句,在本实施例中,有m条第一语句,从而得到m条合并语句,即当对第一语句进行筛选,更新第一语句后,第一语句的数量发生变化,对应的合并语句的数量也对应发生变化。有m条第一语句,将主语属性分别与每条第一语句进行合并,得到m条合并语句,每条合并语句都对应有一条第一语句,即一条第一语句对应有一条合并语句,例如,有3条第一语句,分别为A、B、C,主语属性为D,将主语属性分别与每条第一语句进行合并,即是将D分别与A、B、C合并,得到3条合并语句分别为AD、BD、CD,这3条合并语句是分别和第一语句对应的,即合并语句AD对应第一语句A,合并语句BD对应第一语句B,合并语句CD对应第一语句C。当输入语句的主语为“我”或没有主语,主语属性为用户属性。当输入语句的主语为“您”或“你”,主语属性为机器人属性。当输入语句的主语为“他”,主语属性为男性。当输入语句的主语为“她”,主语属性为男性。输入语句的主语也可以是任何人、任何物或任何事,主语属性则是相应人的属性、相应物的属性或相应事的属性。语句和主语可以是中文,也可以是英文或其他语言。
获取输入语句的主语的属性的方式可以是查询用户的注册信息,也可以是弹出对话框询问用户,例如,用户输入青年男性,则主语属性为青年男性,也可以是其他交互方式获取或查询方式获取。输入语句的主语包括但不限于“我”、“你”、“您″他”、“她”、具体人名以及动物名。如果输入语句没有主语,则输入语句的主语默认为“我”。获取输入语句的主语属性,将主语属性分别与每条第一语句合并得到m条合并语句之后,可分别根据每条合并语句进行搜索,获得与合并语句对应的搜索结果数量。
第二筛选模块600,用于分别根据每条第一语句以及与每条第一语句对应的合并语句,计算每条第一语句的幽默性参数,并将幽默性参数最大的第一语句作为输出语句输出。
由于合并语句是通过第一语句和主语属性合并得到的,每条第一语句有其对应的第一语句,从而分别根据每条第一语句以及与每条第一语句对应的合并语句,可计算得到每条第一语句的幽默性参数,并将幽默性参数最大的第一语句作为输出语句输出。在本实施例中,第一语句的幽默性参数由第一语句的搜索结果数量以及与第一语句对应的合并语句的搜索结果数量共同决定的,即第一语句的幽默性参数是与第一语句的搜索结果数量以及与第一语句对应的合并语句的搜索结果数量相关。合并语句的搜索结果数量相对于第一语句的搜索结果数量越小,或第一语句的搜索结果数量相对于合并语句的搜索结果数量越大,第一语句作为输出语句输出给用户越幽默,第一语句的幽默性参数越大。搜索结果数量与合理等级对应,第一语句的搜索结果数量越大,第一语句越合理,合理等级越大,合并语句的搜索结果数量越大,合并语句越合理,合理等级越大,当合并语句的搜索结果数量越小,合并语句越不合理,由于合并语句为第一语句与主语属性合并得到的,合并语句越不合理说明第一语句相对于主语属性越不合理,对应的第一语句作为用户的回复语句则越幽默,即第一语句越合理,合并语句越不合理,第一语句的幽默性参数越大。例如,当第一语句的搜索结果数量较大,该第一语句较合理,然而,此时,与该第一语句对应的合并语句的搜索结果数量较小,该合并语句较不合理,说明第一语句相对于主语属性是较不合理,但第一语句本身是较合理,从而将该第一语句作为输出语句输出会较幽默,即该第一语句的幽默性参数较大,同时第一语句又较合理,从而通过将幽默性参数最大的第一语句输出既合理又幽默。
可以理解,第一语句的幽默性参数还可由第一语句的搜索结果数量在第一语句的总搜索结果数量中的比重以及与第一语句对应的合并语句的搜索结果数量在合并语句的总搜索数量中的比重共同决定的,即第一语句的幽默性参数是与第一语句的搜索结果数量在第一语句的总搜索结果数量中的比重以及与第一语句对应的合并语句的搜索结果数量在合并语句的总搜索数量中的比重相关。合并语句的搜索结果数量所占比重相对于第一语句的搜索结果数量所占比重越小,或第一语句的搜索结果数量所占比重相对于合并语句的搜索结果数量所占比重越大,第一语句作为输出语句输出给用户越幽默,即幽默性参数越大。第一语句的总搜索结果数量为每条第一语句的搜索结果数量的总数,合并语句的总搜索结果数量为每条合并语句的搜索结果数量的总数,占的比重越大,合理等级越大。
上述机器人对话控制系统,通过根据输入语句进行搜索,将搜索结果中与输入语句匹配度最大的前m条语句作为m条第一语句,从而确保m条语句与输入语句之间最匹配,确保第一语句的合理性。获取输入语句的主语属性,将主语属性分别与每条第一语句合并,获得m条合并语句,分别根据每条第一语句以及与每条第一语句对应的合并语句,计算每条第一语句的幽默性参数,并将幽默性参数最大的第一语句作为输出语句输出。第一语句的幽默性参数越大,第一语句越幽默,将幽默性参数最大的第一语句作为输出语句输出,确保了输出语句的幽默性,且由于第一语句是与输入语句匹配度较大的语句,确保了第一语句的合理性,输出语句是从第一语句中筛选出,确保了输出语句的合理性,从而确保了输出语句既合理又幽默,即确保机器人回复的合理性的同时提高了与机器人交互的幽默感,即利于机器人的智慧化和幽默化。
请参阅图7,在其中一个实施例中,第二筛选模块600包括:
搜索单元610,用于分别根据每条第一语句进行搜索,获得搜索结果数量作为第一语句的搜索结果数量,分别根据每条合并语句进行搜索,获得搜索结果数量作为合并语句的搜索结果数量。
获得m条第一语句后,分别根据每条第一语句进行搜索,获得搜索结果数量作为第一语句的搜索结果数量,搜索结果数量是根据第一语句搜索得到的,从而搜索结果数量是和第一语句对应的,即获得与第一语句对应的搜索结果数量,有m条第一语句,搜索m次,获得m个搜索结果数量,每个搜索结果数量对应一条第一语句,即由于有m条第一语句,根据每条第一语句进行搜索,从而可获得m个搜索结果数量分别作为第一语句的搜索结果数量,单个搜索结果数量作为单条第一语句的搜索结果数量。例如,有2条第一语句分别为A和B,根据第一语句A进行搜索,得到搜索结果数量为30,根据第一语句B进行搜索,得到搜索结果数量为10,分别进行了2次搜索,获得2个搜索结果数量分别30和10,将该2个搜索结果数量分别作为第一语句的搜索结果数量,30是对应第一语句A的,10对应第一语句B的。搜索是调用搜索引擎自动完成的或是对预设大数据的搜索,从第一语句对应的搜索结果数量的大小可知人们对第一语句的认同度,搜索结果数量越大表示人们对第一语句的认同度越高,则该第一语句越合理,第一语句的合理等级越大,即第一语句的搜索结果数量与第一语句的合理性是对应的,将第一语句的搜索结果数量作为第一语句的合理性参数,第一语句的搜索结果数量越大,第一语句的合理性参数越大。
具体地,获取输入语句的主语属性,将主语属性分别与每条第一语句合并得到m条合并语句,分别根据每条合并语句进行搜索,搜索结果数量作为合并语句的搜索结果数量,即获得与合并语句对应的搜索结果数量。有m条合并语句,搜索m次,获得m个搜索结果数量,每个搜索结果数量对应一条合并语句,即由于有m条合并语句,根据每条合并语句进行搜索,从而可获得m个搜索结果数量分别作为合并语句的搜索结果数量,单个搜索结果数量作为单条合并语句的搜索结果数量。从合并语句对应的搜索结果数量的大小可知人们对合并语句的认同度,数量越小,则表示人们对该合并语句的认同度越低,则该合并语句越不合理,合并语句的合理等级越小,即合并语句的搜索结果数量与合并语句的合理性是对应的,将合并语句的搜索结果数量作为合并语句的合理性参数,合并语句的搜索结果数量越大,合并语句的合理性参数越大。
计算单元620,用于分别计算每条第一语句的搜索结果数量和与每条第一语句对应的合并语句的搜索结果数量的比值,以获得每条第一语句的幽默性参数。
每条第一语句有其对应的一条合并语句,例如,2条第一语句分别为A和B,第一语句A对应的合并语句为AD,第一语句B对应的合并语句为BD,计算第一语句A的搜索结果数量和与第一语句A对应的合并语句AD的搜索结果数量的比值,获得第一语句A的幽默性参数,计算第一语句B的搜索结果数量和与第一语句B对应的合并语句BD的搜索结果数量的比值,获得第一语句B的幽默性参数,从而,分别计算每条第一语句的搜索结果数量和与每条第一语句对应的合并语句的搜索结果数量的比值,即可获得条第一语句的幽默性参数。
筛选单元630,用于将最大幽默性参数对应的第一语句作为输出语句输出。
可以理解,第一语句的搜索结果数代表的是人们对第一语句的认同度,即第一语句的合理性,合并语句对应的搜索结果数量代表的是人们对合并语句的认同度,即合并语句的合理性。第一语句对应的搜索结果数量越大则越合理,合并语句对应的搜索结果数量越小则对应的合并语句越不合理,合并语句越幽默,如果某第一语句的搜索结果数量越大,其对应的合并语句的搜索结果数量越小,则表示该第一语句的搜索结果数量和与该第一语句对应的合并语句的搜索结果数量得到的比值越大,则表明该第一语句的合理性与对应的合并语句的合理性的对比度越大,本质上是表明该第一语句的合理性与对对应主语而言的合理性的对比度越大,也就是说该第一语句虽然合理,但不符合对应主语的属性,该第一语句对用户而言也就最幽默,从而,将第一语句的搜索结果数量和与第一语句对应的合并语句的搜索结果数量的比值作为第一语句的幽默性参数,即可将第一语句的合理性参数与对应合并语句的合理性的比值作为幽默性参数,将幽默性参数最大的语句作为输出语句输出,从而,确保输出语句的合理性的同时,也提高了与机器人交互的幽默感,即利于机器人的智慧化和幽默化。即满足回复合理性,又满足幽默感。由于第一语句有m条,对应的合并语句有m条,即每条第一语句有其对应的一条合并语句,从而分别计算每条第一语句的搜索结果数量和与每条第一语句对应的合并语句的搜索结果数量的比值,可获得每条第一语句的幽默性参数。
另外,第一语句的幽默性参数还可通过计算第一语句的搜索结果数在第一语句的总搜索结果数量中的比重与对应合并语句的搜索结果数在合并语句的总搜索结果数量中的比重的比值获得。可将第一语句的搜索结果数在第一语句的总搜索结果数量中的比重作为第一语句的合理性参数,将合并语句的搜索结果数在合并语句的总搜索结果数量中的比重作为合并语句的合理性参数,所占比重越大,越合理,合理性参数越大,将第一语句的合理性参数与合并语句的合理性参数的比值作为第一语句的幽默型参数。
在其中一个实施例中,上述机器人对话控制系统还包括:
第三筛选模块,用于分别根据每条第一语句进行搜索,获得搜索结果数量作为第一语句的搜索结果数量;筛选第一语句中搜索结果数量最大的前n条语句,以更新第一语句,其中,n为小于m的正整数。
即分别根据每条第一语句进行搜索,获得与第一语句对应的搜索结果数量,再筛选第一语句中搜索结果数量最大的前n条语句,以更新第一语句。在筛选出搜索结果中与输入语句匹配度最大的前m条语句,将m条语句作为m条第一语句后,可根据每条第一语句进行搜索,获得与第一语句对应的搜索结果数量,即分别将第一语句作为大数据搜索引擎的输入进行搜索,可获得与第一语句对应的搜索结果数量。即将m条第一语句作为大数据搜索引擎的m次输入进行m次搜索,得到m个搜索结果数量。然而,m个搜索结果数量有大有小,为了进一步确保后续输出语句的合理性以及减少后续处理工作量,在将主语属性分别与每条第一语句合并之前,对m条第一语句进行筛选,从m条第一语句中再筛选出搜索数量最大的前n条第一语句,将该n条第一语句作为更新语句,得到更新的第一语句,更新后的第一语句是在m条第一语句中搜索结果数量较大的,搜索结果数量越大也就表示该语句越被人们认同,即越合理,更新后的n条第一语句再分别与主语属性进行合并,得到n条合并语句。具体地,可对m条第一语句对应的m个搜索结果数量从大到小进行排序,本质上是对人们对m条第一语句的认同度进行排序,从而也是对m条第一语句的合理性进行排序,前n个搜索结果数量对应的n条第一语句作为后续与主语属性合并的语句,显然这样得到的n条第一语句是m条第一语句中合理性最高的n条语句。
在其中一个实施例中,搜索单元610具体用于分别根据每条第一语句,对预设大数据进行搜索或通过搜索引擎进行搜索,获得搜索结果数量作为第一语句的搜索结果数量;分别根据每条合并语句,对预设大数据进行搜索或通过搜索引擎进行搜索,获得搜索结果数量作为合并语句的搜索结果数量。
即分别根据每条第一语句,对预设大数据进行搜索或通过搜索引擎进行搜索,可获得与第一语句对应的搜索结果数量,分别根据每条合并语句,对预设大数据进行搜索或通过搜索引擎进行搜索,可获得与合并语句对应的搜索结果数量。其中,预设大数据包括互联网中产生的语句数据、预设有语句的数据库数据以及预设有语句的文件数据,搜索引擎包括互联网搜索引擎和离线搜索引擎。具体地,通过调用搜索引擎自动完成搜索时,互联网搜索引擎包括但不限于baidu(百度)搜索引擎、google(谷歌)搜索引擎和gfsoso(谷粉搜搜)搜索引擎等,搜索引擎还包括局域网搜索引擎、基于数据仓库或数据库的离线搜索引擎以及机器人自带的搜索引擎。
在其中一个实施例中,搜索模块200具体用于根据输入语句,对预设大数据进行搜索或通过搜索引擎进行搜索,获得搜索结果。
在其中一个实施例中,搜索模块200包括:
提取单元,用于提取输入语句的关键词;
结果搜索单元,用于根据关键词对预设大数据进行搜索或通过搜索引擎进行搜索,获得搜索结果,并对搜索结果中关键词进行标记。
在机器人获取输入语句后,对该输入语句进行分词,可获得候选词,可根据候选词的重要程度,从候选词中选取出关键词,以提取输入语句的关键词,例如,输入语句为“关键词怎么提取”时,提取的关键词可为“关键词”以及“提取”。根据该关键词进行搜索,即输入语句的关键词为大数据搜索引擎对用户的输入语句进行分词后得到的多个词,根据关键词对预设大数据进行搜索或通过搜索引擎进行搜索,获得搜索结果,在搜索结果中包含有该输入语句的关键词。
在搜索结果中对关键词进行标记,以突出关键词在搜索结果中的位置,由于机器人后续进行处理后回复给用户的是搜索结果中的某一条语句,从而通过标记关键词,可便于用户查看输入语句。具体地,标记包括颜色标记、加粗标记以及下划线标记等。
请参阅图8,在其中一个实施例中,筛选单元630包括:
语句筛选单元631,用于将最大幽默性参数对应的第一语句作为输出语句;
人称变换单元632,用于将输出语句进行人称变换后输出。
由于机器人是对用户的输入语句的回复,获得的输出语句是与输入语句相关联的语句,然而,输入语句是用户输入的,为进一步提高机器人对用户回复的合理性,将输出语句的人称进行变换后再输出。
在其中一个实施例中,人称变换单元622包括:
转换单元,用于根据预设人称变换规则,对输出语句中的第一人称和第二人称分别进行变换,获得人称变换后的输出语句;
输出单元,用于将人称变换后的输出语句输出。
其中,预设人称变换规则包括第一人称变换为第二人称和第二人称变换为第一人称,具体地,是对输出语句中的人称分别进行单次变换,即输出语句中的第一人称变换为第二人称后不再进行变换,输出语句中的第二人称变换为第一人称后不再进行变换,例如,输出语句为“我找你有事情”,分别对其中的第一人称和第二人称分别进行单次变换,即将我进行单次变换为你,将你进行单次变换为我,从而人称变换后的输出语句为“你找我有事情”。输入语句是用户对机器人所讲的话语,或向机器人输入的文字或视频,在本实施例中,输入语句为用户的语音,其中,人称变换将输出语句中的第一人称和第二人称分别进行变换,即第一人称变换成第二人称,第二人称变为第一人称,即第一人称包括我,第二人称包括你和您,变换过程即为将“我”变换为“你”、“你”变换为“我”、“您”变换为“我”,实现机器人对用户的回复。
请参阅图9,在其中一个实施例中,主语属性获取模块400包括:
第一属性获取单元410,用于当输入语句没有主语或其主语为第一人称时,通过用户注册信息或对话框中的属性输入获取输入语句的主语属性;
第二属性获取单元420,用于当输入语句的主语为第二人称时,通过机器人注册信息或对话框中的属性输入获取输入语句的主语属性;
第三属性获取单元430,用于当输入语句的主语为第三人称时,通过对话框中的属性输入或将输入语句的主语作为电子词典或搜索引擎的输入进行搜索,获取输入语句的主语属性。
例如,当输入语句的主语为“我”时,对应的属性为用户属性,用户在与机器人交互之前,首先需要在机器人中进行用户注册,获得用户注册信息,其中包括用户的属性等信息,例如,一名女子进行注册时,需要获取用户的姓名、年龄和性别属性等信息,比如,年轻女性是该女子注册的性别属性,从而可更具注册信息获得该年轻女性这一信息,从而获得输入语句的主语属性,或者可以通过弹出对话框的形式询问用户,用户在对话框中输入主语属性,从而获得输入语句的主语属性。当输入语句没有主语时,默认主语为“我”。当输入语句的主语为您或你时,对应的是机器人属性,机器人的属性信息是预先在机器人中已注册,即机器人注册信息,可根据机器人的注册信息可获取主语属性,或可通过对话框中的属性输入获取主语属性。当主语为第三人称时,可通过对话框中的属性输入获取主语信息,也可通过搜索电子词典或搜索引擎获得主语属性,例如,当输入语句的主语为“他”,主语属性为男性,当语句的主语为“她”,主语属性为女性。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种机器人对话控制方法,其特征在于,包括以下步骤:
获取输入语句;
根据所述输入语句进行搜索,获得搜索结果;
筛选所述搜索结果中与所述输入语句匹配度最大的前m条语句分别作为m条第一语句,其中,所述m为正整数;
获取所述输入语句的主语属性;
将所述主语属性分别与每条所述第一语句进行合并,得到分别与所述第一语句对应的m条合并语句;
分别根据每条第一语句以及与所述每条第一语句对应的所述合并语句,计算所述每条第一语句的幽默性参数,并将所述幽默性参数最大的所述第一语句作为输出语句输出。
2.根据权利要求1所述的机器人对话控制方法,其特征在于,所述分别根据每条第一语句以及与所述每条第一语句对应的所述合并语句,计算所述每条第一语句的幽默性参数,并将所述幽默性参数最大的所述第一语句作为输出语句输出的步骤包括:
分别根据每条所述第一语句进行搜索,获得搜索结果数量作为所述第一语句的搜索结果数量;
分别根据每条所述合并语句进行搜索,获得搜索结果数量作为所述合并语句的搜索结果数量;
分别计算每条第一语句的搜索结果数量和与所述每条第一语句对应的所述合并语句的搜索结果数量的比值,以获得所述每条第一语句的所述幽默性参数;
将最大所述幽默性参数对应的所述第一语句作为输出语句输出。
3.根据权利要求2所述的机器人对话控制方法,其特征在于,所述分别根据每条所述第一语句进行搜索,获得搜索结果数量作为所述第一语句的搜索结果数量的步骤具体为:
分别根据每条所述第一语句,对预设大数据进行搜索或通过搜索引擎进行搜索,获得搜索结果数量作为所述第一语句的搜索结果数量,其中,所述预设大数据包括互联网中产生的语句数据、预设有语句的数据库数据以及预设有语句的文件数据,所述搜索引擎包括互联网搜索引擎和离线搜索引擎;
分别根据每条所述合并语句进行搜索,获得搜索结果数量作为所述合并语句的搜索结果数量的步骤具体为:
分别根据每条所述合并语句,对所述预设大数据进行搜索或通过所述搜索引擎进行搜索,获得搜索结果数量作为所述合并语句的搜索结果数量。
4.根据权利要求1所述的机器人对话控制方法,其特征在于,
所述根据所述输入语句进行搜索,获得搜索结果的步骤具体为:
根据所述输入语句,对预设大数据进行搜索或通过搜索引擎进行搜索,获得搜索结果,其中,所述预设大数据包括互联网产生的语句数据、预设有语句的数据库数据以及预设有语句的文件数据,所述搜索引擎包括互联网搜索引擎和离线搜索引擎。
5.根据权利要求1所述的机器人对话控制方法,其特征在于,所述获取所述输入语句的主语属性的步骤包括:
当所述输入语句没有主语或其主语为第一人称时,通过用户注册信息或对话框中的属性输入获取所述输入语句的主语属性;
当所述输入语句的主语为第二人称时,通过机器人注册信息或对话框中的属性输入获取所述输入语句的主语属性;
当所述输入语句的主语为第三人称时,通过对话框中的属性输入或将所述输入语句的主语作为电子词典或搜索引擎的输入进行搜索,获取所述输入语句的主语属性。
6.一种机器人对话控制系统,其特征在于,包括:
输入语句获取模块,用于获取输入语句;
搜索模块,用于根据所述输入语句进行搜索,获得搜索结果;
第一筛选模块,用于筛选所述搜索结果中与所述输入语句匹配度最大的前m条语句分别作为m条第一语句,其中,所述m为正整数;
属性获取模块,用于获取所述输入语句的主语属性;
合并模块,用于将所述主语属性分别与每条所述第一语句进行合并,得到分别与所述第一语句对应的m条合并语句;
第二筛选模块,用于分别根据每条第一语句以及与所述每条第一语句对应的所述合并语句,计算所述每条第一语句的幽默性参数,并将所述幽默性参数最大的所述第一语句作为输出语句输出。
7.根据权利要求6所述的机器人对话控制系统,其特征在于,所述第二筛选模块包括:
搜索单元,用于分别根据每条所述第一语句进行搜索,获得搜索结果数量作为所述第一语句的搜索结果数量,分别根据每条所述合并语句进行搜索,获得搜索结果数量作为所述合并语句的搜索结果数量;
计算单元,用于分别计算每条第一语句的搜索结果数量和与所述每条第一语句对应的所述合并语句的搜索结果数量的比值,以获得所述每条第一语句的所述幽默性参数;
筛选单元,用于将最大所述幽默性参数对应的所述第一语句作为输出语句输出。
8.根据权利要求7所述的机器人对话控制系统,其特征在于,所述搜索单元具体用于分别根据每条所述第一语句,对预设大数据进行搜索或通过搜索引擎进行搜索,获得搜索结果数量作为所述第一语句的搜索结果数量,分别根据每条所述合并语句,对所述预设大数据进行搜索或通过所述搜索引擎进行搜索,获得搜索结果数量作为所述合并语句的搜索结果数量,其中,所述预设大数据包括互联网产生的语句数据、预设有语句的数据库数据以及预设有语句的文件数据,所述搜索引擎包括互联网搜索引擎和离线搜索引擎。
9.根据权利要求6所述的机器人对话控制系统,其特征在于,所述搜索模块具体用于根据所述输入语句,对预设大数据进行搜索或通过搜索引擎进行搜索,获得搜索结果,其中,所述预设大数据包括互联网产生的语句数据、预设有语句的数据库数据以及预设有语句的文件数据,所述搜索引擎包括互联网搜索引擎和离线搜索引擎。
10.根据权利要求6所述的机器人对话控制系统,其特征在于,所述属性获取模块包括:
第一属性获取单元,用于当所述输入语句没有主语或其主语为第一人称时,通过用户注册信息或对话框中的属性输入获取所述输入语句的主语属性;
第二属性获取单元,用于当所述输入语句的主语为第二人称时,通过机器人注册信息或对话框中的属性输入获取所述输入语句的主语属性;
第二属性获取单元,用于当所述输入语句的主语为第三人称时,通过对话框中的属性输入或将所述输入语句的主语作为电子词典或搜索引擎的输入进行搜索,获取所述输入语句的主语属性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610281505.9A CN105955949B (zh) | 2016-04-29 | 2016-04-29 | 基于大数据搜索的幽默型机器人对话控制方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610281505.9A CN105955949B (zh) | 2016-04-29 | 2016-04-29 | 基于大数据搜索的幽默型机器人对话控制方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105955949A true CN105955949A (zh) | 2016-09-21 |
CN105955949B CN105955949B (zh) | 2018-05-29 |
Family
ID=56913300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610281505.9A Active CN105955949B (zh) | 2016-04-29 | 2016-04-29 | 基于大数据搜索的幽默型机器人对话控制方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105955949B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107291960A (zh) * | 2017-08-07 | 2017-10-24 | 大国创新智能科技(东莞)有限公司 | 基于大数据与小数据相关分析实现幽默的方法和系统 |
CN107480291A (zh) * | 2017-08-28 | 2017-12-15 | 大国创新智能科技(东莞)有限公司 | 基于幽默生成的情感交互方法和机器人系统 |
CN107564542A (zh) * | 2017-09-04 | 2018-01-09 | 大国创新智能科技(东莞)有限公司 | 基于幽默识别的情感交互方法和机器人系统 |
CN108090174A (zh) * | 2017-12-14 | 2018-05-29 | 北京邮电大学 | 一种基于系统功能语法的机器人应答方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102866990A (zh) * | 2012-08-20 | 2013-01-09 | 北京搜狗信息服务有限公司 | 一种主题对话方法和装置 |
US20140129651A1 (en) * | 2012-11-08 | 2014-05-08 | Ilya Gelfenbeyn | Human-assisted chat information system |
CN103970743A (zh) * | 2013-01-24 | 2014-08-06 | 北京百度网讯科技有限公司 | 一种在搜索中的个性化信息推荐方法、系统及搜索引擎 |
CN103995870A (zh) * | 2014-05-21 | 2014-08-20 | 百度在线网络技术(北京)有限公司 | 交互式搜索方法和装置 |
CN104239340A (zh) * | 2013-06-19 | 2014-12-24 | 北京搜狗信息服务有限公司 | 搜索结果筛选方法与装置 |
CN104714954A (zh) * | 2013-12-13 | 2015-06-17 | 中国电信股份有限公司 | 基于上下文理解的信息搜索方法和系统 |
CN104754110A (zh) * | 2013-12-31 | 2015-07-01 | 广州华久信息科技有限公司 | 一种基于机器语音对话的情感发泄方法及手机 |
US20150371627A1 (en) * | 2013-01-25 | 2015-12-24 | Postech Academy-Industry Foundation | Voice dialog system using humorous speech and method thereof |
-
2016
- 2016-04-29 CN CN201610281505.9A patent/CN105955949B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102866990A (zh) * | 2012-08-20 | 2013-01-09 | 北京搜狗信息服务有限公司 | 一种主题对话方法和装置 |
US20140129651A1 (en) * | 2012-11-08 | 2014-05-08 | Ilya Gelfenbeyn | Human-assisted chat information system |
CN103970743A (zh) * | 2013-01-24 | 2014-08-06 | 北京百度网讯科技有限公司 | 一种在搜索中的个性化信息推荐方法、系统及搜索引擎 |
US20150371627A1 (en) * | 2013-01-25 | 2015-12-24 | Postech Academy-Industry Foundation | Voice dialog system using humorous speech and method thereof |
CN104239340A (zh) * | 2013-06-19 | 2014-12-24 | 北京搜狗信息服务有限公司 | 搜索结果筛选方法与装置 |
CN104714954A (zh) * | 2013-12-13 | 2015-06-17 | 中国电信股份有限公司 | 基于上下文理解的信息搜索方法和系统 |
CN104754110A (zh) * | 2013-12-31 | 2015-07-01 | 广州华久信息科技有限公司 | 一种基于机器语音对话的情感发泄方法及手机 |
CN103995870A (zh) * | 2014-05-21 | 2014-08-20 | 百度在线网络技术(北京)有限公司 | 交互式搜索方法和装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107291960A (zh) * | 2017-08-07 | 2017-10-24 | 大国创新智能科技(东莞)有限公司 | 基于大数据与小数据相关分析实现幽默的方法和系统 |
CN107480291A (zh) * | 2017-08-28 | 2017-12-15 | 大国创新智能科技(东莞)有限公司 | 基于幽默生成的情感交互方法和机器人系统 |
JP2019040605A (ja) * | 2017-08-28 | 2019-03-14 | 大国創新智能科技(東莞)有限公司 | ユーモア生成に基づく感情対話方法とロボットシステム |
CN107480291B (zh) * | 2017-08-28 | 2019-12-10 | 大国创新智能科技(东莞)有限公司 | 基于幽默生成的情感交互方法和机器人系统 |
CN107564542A (zh) * | 2017-09-04 | 2018-01-09 | 大国创新智能科技(东莞)有限公司 | 基于幽默识别的情感交互方法和机器人系统 |
CN107564542B (zh) * | 2017-09-04 | 2020-08-11 | 大国创新智能科技(东莞)有限公司 | 基于幽默识别的情感交互方法和机器人系统 |
CN108090174A (zh) * | 2017-12-14 | 2018-05-29 | 北京邮电大学 | 一种基于系统功能语法的机器人应答方法及装置 |
CN108090174B (zh) * | 2017-12-14 | 2022-01-07 | 北京邮电大学 | 一种基于系统功能语法的机器人应答方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105955949B (zh) | 2018-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105912712B (zh) | 基于大数据的机器人对话控制方法和系统 | |
CN111026842B (zh) | 自然语言处理方法、自然语言处理装置及智能问答系统 | |
CN105975531A (zh) | 基于对话知识库的机器人对话控制方法和系统 | |
CN106484664B (zh) | 一种短文本间相似度计算方法 | |
CN108874959B (zh) | 一种基于大数据技术的用户动态兴趣模型建立方法 | |
CN102866990B (zh) | 一种主题对话方法和装置 | |
CN107301168A (zh) | 智能机器人及其情绪交互方法、系统 | |
CN109033135A (zh) | 一种面向软件项目知识图谱的自然语言查询方法及系统 | |
CN105955949A (zh) | 基于大数据搜索的幽默型机器人对话控制方法和系统 | |
CN107967261A (zh) | 智能客服中交互式问句语义理解方法 | |
CN110990590A (zh) | 一种基于强化学习和迁移学习的动态金融知识图谱构建方法 | |
CN106095833A (zh) | 人机对话内容处理方法 | |
CN105975530A (zh) | 基于聊天大数据知识库的机器人对话控制方法和系统 | |
CN109710935B (zh) | 一种基于文物知识图谱的博物馆导览与知识推荐方法 | |
CN106601237A (zh) | 交互式语音应答系统及其语音识别方法 | |
CN104715047A (zh) | 一种社交网络数据采集与分析系统 | |
CN109063000A (zh) | 问句推荐方法、客服系统以及计算机可读存储介质 | |
CN105912645A (zh) | 一种智能问答方法及装置 | |
CN107861944A (zh) | 一种基于Word2Vec的文本标签提取方法及装置 | |
CN109597894A (zh) | 一种关联模型生成方法及装置、一种数据关联方法及装置 | |
CN114580362B (zh) | 一种回标文件生成系统及其方法 | |
CN107564542A (zh) | 基于幽默识别的情感交互方法和机器人系统 | |
Pallagani et al. | A generic dialog agent for information retrieval based on automated planning within a reinforcement learning platform | |
JP2020144440A (ja) | 類似画像検索装置、類似画像検索方法および類似画像検索プログラム | |
Díaz et al. | A comparative approach between different computer vision tools, including commercial and open-source, for improving cultural image access and analysis |
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 |