CN105930367B - 智能聊天机器人控制方法及控制装置 - Google Patents
智能聊天机器人控制方法及控制装置 Download PDFInfo
- Publication number
- CN105930367B CN105930367B CN201610226768.XA CN201610226768A CN105930367B CN 105930367 B CN105930367 B CN 105930367B CN 201610226768 A CN201610226768 A CN 201610226768A CN 105930367 B CN105930367 B CN 105930367B
- Authority
- CN
- China
- Prior art keywords
- chat
- sentence
- user
- users
- 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/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90332—Natural language query formulation or dialogue systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种基于智能聊天机器人控制方法及控制装置,该方法包括以下步骤:获取第一用户的用户输入语句,将用户输入语句与聊天数据库中的语句进行匹配,获取聊天数据库中的匹配度最大,且最大匹配度大于预设值的第一聊天语句;若第一聊天语句存在下一聊天语句,则将下一聊天语句作为机器人输出语句反馈给第一用户;若第一聊天语句不存在下一聊天语句,则将第一用户的用户输入语句作为新话题的机器人输出语句发送到N个第二用户,接收N个第二用户返回的回复语句,将回复语句作为给第一用户的机器人输出语句反馈给第一用户。本发明还提供相应的智能聊天机器人控制装置。本发明使聊天机器人具备人工智能,提高图灵测试通过率。
Description
技术领域
本发明涉及聊天机器人技术领域,特别是涉及一种智能聊天机器人控制方法及控制装置。
背景技术
聊天机器人是人工智能的最重要内容之一。随着机器人技术的快速发展,用户对聊天机器人的功能要求也越来越高。如果用户与聊天机器人聊天时,分不清聊天的对象是人还是聊天机器人,则聊天机器人能通过图灵测试,说明该聊天机器人具备了人工智能。
如图1所示,传统聊天机器人都是基于聊天数据库构建的,聊天数据库中的数据表一般包含两个基本字段,第一个字段是特征字符或词句,第二个字段是自动回复的内容。聊天数据库中的内容需要人工增添或导入预先人工制作好的回复文本。人工制作聊天数据库的成本非常高,而且无法罗列所有可能的自动回复的内容,因此导致了现有聊天机器人只能对用户的一些常用用户输入语句进行有效的自动回复,而如果用户的其他用户输入语句在聊天数据库不存在相应特征字符或词句时,聊天机器人则不知道如何回答,而只能进行无效的自动回答,譬如回答“哦”等,如图2所示。并且,因为聊天数据库是人工构建的,并不是人们自然聊天中产生下一聊天语句,所以有时只是构建者自己构造出来的下一聊天语句,与人们真实的聊天中产生的下一聊天语句有一定的差距,以这样的人工构造出来的下一聊天语句,很难通过图灵测试。
综上所述,由于受完全聊天数据库的局限性限制,传统聊天机器人存在图灵测试通过率低的技术问题。
发明内容
基于此,有必要针对传统聊天机器人存在的图灵测试通过率低的技术问题,提供一种智能聊天机器人控制方法及控制装置。
根据本发明的一个方面,提供一种智能聊天机器人控制方法,包括以下步骤:
获取第一用户的用户输入语句,将所述用户输入语句与聊天数据库中的语句进行匹配,获取所述聊天数据库中的匹配度最大,且最大匹配度大于预设值的第一聊天语句;
若所述第一聊天语句存在下一聊天语句,则将所述下一聊天语句作为机器人输出语句反馈给所述第一用户;
若所述第一聊天语句不存在下一聊天语句,则将所述第一用户的用户输入语句作为新话题的机器人输出语句发送到N个第二用户,接收所述N个第二用户返回的回复语句,将所述回复语句作为给第一用户的机器人输出语句反馈给第一用户。
在其中一个实施例中,所述将所述第一用户的用户输入语句作为新话题的机器人输出语句发送到N个第二用户,接收所述N个第二用户返回的回复语句,将所述回复语句作为机器人输出语句反馈给第一用户的步骤,包括:
将所述第一用户的用户输入语句作为新话题的机器人输出语句发送到N个第二用户,接收所述N个第二用户中最先返回的回复语句,将所述最先返回的回复语句作为机器人输出语句反馈给第一用户。
在其中一个实施例中,在所述将所述第一用户的用户输入语句作为新话题的机器人输出语句发送到N个第二用户,接收所述N个第二用户中最先返回的回复语句,将所述最先返回的回复语句作为机器人输出语句反馈给第一用户的步骤之后还包括以下步骤:
将所述第一用户的用户输入语句和最先返回的回复语句做为连续的两个聊天语句存储到聊天数据库中。
在其中一个实施例中,所述方法还包括:
若在预设时间内未收到所述第二用户的回复语句,则重新选取N个第三用户,将所述第一用户的用户输入语句作为新话题的机器人输出语句发送到所述第三用户,接收所述第三用户返回的回复语句,将所述回复语句作为机器人输出语句反馈给第一用户。
在其中一个实施例中,所述若所述第一聊天语句不存在下一聊天语句,则将所述第一用户的用户输入语句作为新话题的机器人输出语句发送到N个第二用户,接收所述N个第二用户返回的回复语句,将所述回复语句作为给第一用户的机器人输出语句反馈给第一用户的步骤中,所述第二用户为当前没有加入聊天的用户,其中,N的取值为当前没有加入聊天的用户数目与当前正在参与聊天的用户数目的比值。
根据本发明的另一个方面,还提供一种智能聊天机器人控制装置,包括:
聊天数据库,用于存储经验聊天语句,所述经验聊天语句包括第一聊天语句和第一聊天语句的下一个聊天语句;
检索匹配模块,分别与聊天数据库和选取模块连接,用于获取第一用户的用户输入语句,将所述用户输入语句与聊天数据库中的语句进行匹配,获取所述聊天数据库中的匹配度最大且匹配度大于预设值的第一聊天语句;若所述第一聊天语句存在下一聊天语句,则将所述下一聊天语句作为机器人输出语句反馈给所述第一用户;若所述第一聊天语句不存在下一聊天语句,则发送选取指令至选取模块;
选取模块,与所述检索匹配模块连接,用于接收选取指令,接收到选取指令后选取N个第二用户;
学习模块,与所述选取模块连接,用于将所述第一聊天语句作为新话题的机器人输出语句发送到N个第二用户;以及,
练习模块,用于接收所述N个第二用户返回的回复语句,将所述回复语句作为给第一用户的机器人输出语句反馈给第一用户。
在其中一个实施例中,所述练习模块接收所述N个第二用户中最先返回的回复语句,将所述最先返回的回复语句作为机器人输出语句反馈给第一用户。
在其中一个实施例中,所述智能聊天机器人控制装置还包括时限模块,所述时限模块预先记录预设时间,若在预设时间内未收到所述第二用户的回复语句,则所述时限模块发出回复超时指令至所述选取模块,所述选取模块接收到超时指令后重新选取N个第三用户。
在其中一个实施例中,所述智能聊天机器人控制装置还包括存储模块,所述存储模块用于将所述第一用户的用户输入语句和最先返回的回复语句做为连续的两个聊天语句存储到聊天数据库中。
在其中一个实施例中,所述选取模块包括:
聊天统计模块,用于获取当前没有加入聊天的用户数目;
空闲统计模块,用于获取当前正在参与聊天的用户数目;
比值模块,用于计算当前没有加入聊天的用户数目与当前正在参与聊天的用户数目的比值,得到N取值;以及,
随机选取模块,用于从没有加入聊天的用户中随机选取N个第二用户。
上述的智能聊天机器人控制方法及智能聊天机器人控制装置实现了聊天机器人自主学习聊天,对于第一用户发送来的一个用户输入语句,当在聊天数据库中检索不到符合匹配度要求的聊天语句时将第一用户的用户输入语句作为新话题的机器人输出语句发送给N个第二用户,并将N个第二用户对机器人输出语句最先回复的用户输入语句作为给第一用户回复的机器人输出语句。与现有技术相比,本发明极大提高了聊天机器人回复的类人性、合理性及真实性,使得聊天机器人具备人工智能,大大提高了图灵测试的通过率。
附图说明
图1是现有基于聊天数据库构建的聊天机器人的聊天数据库示意图;
图2是现有基于聊天数据库构建的聊天机器人与用户的聊天示意图;
图3是一个实施例中智能聊天机器人控制方法的流程原理图;
图4是一个实施例中应用智能聊天机器人控制方法与用户聊天的聊天示意图;
图5是一个实施例中智能聊天机器人控制装置的结构原理图;
图6是一个实施例中选取模块的结构原理图;
图7是一个实施例中智能聊天机器人系统的结构原理图。
具体实施方式
请参阅图3,一种智能聊天机器人控制方法,包括以下步骤:
步骤102:获取第一用户的用户输入语句,将用户输入语句与聊天数据库中的语句进行匹配,获取聊天数据库中的匹配度最大,且最大匹配度大于预设值的第一聊天语句。
具体的,获取一个第一用户发送来的用户输入语句,从聊天数据库中检索与该用户输入语句匹配度最大,且最大匹配度大于K%的存在下一个聊天语句的第一聊天语句。
其中,K大于0。可以理解的是假如K=0,那么就是随意地从聊天数据库中取出一个聊天语句,是毫无意义的;K的取值越大,则检索成功的可能性越小;当K太大,会导致检索失败的太多,从而使得太多的第一聊天语句需要执行自主学习聊天的步骤,会给系统带来太大压力;K越小,则得到的第一聊天语句与用户输入语句的匹配度越小;然而,如果K太小,又会导致得到的机器人输出语句往往与用户输入语句“牛头不对马嘴”;所以,K需要取恰当的值,使得用户对回复的输出聊天语句满意,同时使得系统的运行压力不会太大。在一个较佳实施例中,K的取值为50~100,优选地,K的默认取值为70。
用户的用户输入语句可以是文字,也可以是语音,甚至可以是视频。在一个较佳实施例中,检索通过调用聊天数据库的检索引擎完成。聊天数据库的所有聊天语句中与用户的用户输入语句匹配度最大的一个聊天语句的下一个聊天语句显然是该用户的该用户输入语句的最为合理的回复,语句可以表示成字符串,语句匹配度的计算可以转化为字符串匹配度或相似度的计算,可以采用已有的字符串匹配度或相似度算法,譬如Edit距离法(编辑距离,就是用来计算从原串(s)转换到目标串(t)所需要的最少的插入,删除和替换的数目。显然当一个语句编辑为另一个语句所需的最少的插入,删除和替换的数目越小,则匹配度越大)、最大公共子串LCS法(显然两个语句的最大公共子串越长,则这两个语句匹配度越大)等,在此不予赘述。
步骤104:若第一聊天语句存在下一聊天语句,则将下一聊天语句作为机器人输出语句反馈给第一用户。
具体的,第一聊天语句是从聊天数据库的所有聊天语句中检索出与用户的用户输入语句匹配度满足上述步骤102中的匹配度要求的聊天语句,获取第一聊天语句后,从聊天数据库中检索第一聊天语句对应的下一聊天语句。若第一聊天语句存在下一聊天语句,则将下一聊天语句作为对第一用户的机器人输出语句发送给第一用户。将机器人输出语句输出给第一用户的方式可以是文本的方式,也可以是语音的方式,也可以是视频的方式,还可以是其他方式,譬如,以表情的方式。
步骤106:若第一聊天语句不存在下一聊天语句,则将第一用户的用户输入语句作为新话题的机器人输出语句发送到N个第二用户,接收N个第二用户返回的回复语句,将回复语句作为给第一用户的机器人输出语句反馈给第一用户。
具体的,若第一聊天语句不存在下一聊天语句,则进行自主学习聊天,将用户输入语句作为新话题的机器人输出语句发送给N个第二用户寻求回复,并将得到的回复用户输入语句作为对第一用户的机器人输出语句发送给第一用户。如果第一聊天语句存在下一聊天语句,说明聊天数据库中存在满足匹配度要求的回复语句,因此,不需要进行自主学习聊天。当第一聊天语句不存在下一聊天语句,说明在聊天数据库中找不到对第一用户的用户输入语句合适的回复,所以需要进行自主学习聊天。
本实施例的智能聊天机器人控制方法,在聊天数据库中检索不到符合匹配度要求的聊天语句时进行自主学习聊天,通过将第一用户的用户输入语句作为新话题的机器人输出语句发送给N个第二用户来寻求回复。该方法极大地提高了聊天机器人回复的类人性、合理性及真实性,使得聊天机器人具备人工智能,大大提高了图灵测试的通过率。
在一个实施例中,步骤106包括:将第一用户的用户输入语句作为新话题的机器人输出语句发送到N个第二用户,接收N个第二用户中最先返回的回复语句,将最先返回的回复语句作为机器人输出语句反馈给第一用户。
具体的,N个第二用户对机器人输出语句回复的先后次序会有不同,为了使得第一用户等待回复的时间最短,将最先回复的用户输入语句作为给第一用户回复的机器人输出语句。如果有两个以上用户同时对机器人输出语句进行了回复,则选取其中一个聊天回复语句做为给第一用户回复的机器人输出语句。具体可以根据实际需要设定选取原则,如可以随机选择其中一个聊天回复语句做为给第一用户回复的机器人输出语句,还可以选择其中最长的一个聊天回复语句做为给第一用户回复的机器人输出语句等,本实施例对此并不做具体限定。
在一个实施例中,步骤106之后还包括以下步骤:将第一用户的用户输入语句和最先返回的回复语句做为连续的两个聊天语句存储到聊天数据库中。
具体地,将第一用户的用户输入语句和最先返回的回复语句做为连续的两个聊天语句存储到聊天数据库中,即将第一用户的用户输入语句和最先回复的用户输入语句做为经验聊天语句存储至聊天数据库中,以丰富聊天数据库的内容。
本实施例中,为了提高以后从聊天数据库中直接检索出与用户的用户输入语句匹配的机会,将自主学习得到的聊天语句做为经验聊天语句存储至数据库以丰富聊天数据库的内容。当用户将来的某个用户输入语句与通过自主学习聊天增加到聊天数据库中的聊天语句最大匹配度大于K%时,则可以将聊天数据库中的该个聊天语句的下一个聊天语句直接作为用户的该个用户输入语句的回复,而无需再进行自主学习聊天,有助于减小系统压力且提高回复用户的速度。
在一个实施例中,步骤106还包括以下步骤:若在预设时间内未收到第二用户的回复语句,则重新选取N个第三用户,将第一用户的用户输入语句作为新话题的机器人输出语句发送到第三用户,接收第三用户返回的回复语句,将回复语句作为机器人输出语句反馈给第一用户。
具体的,预设时间为t秒。当N个第二用户都没有在预设时间t秒内回复,则重新选取N个第三用户进行自主学习寻求回复。当N个第二用户都没有在限定的时间t秒内回复,那么就应该重新选取其他一些用户来重新寻求回复,否则第一用户一直等不到回复语句会以为聊天机器人已经放弃聊天。进一步地,t为大于0的自然数,具体可根据实际应用情况任意设定t的取值。在其中一个实施例中,t的取值为(1~60)s。如果t越大则等待的时间越长,如果t越小则等待的时间越短。如果t太大则会让第一用户等待回复的时间太长,如果t太小则会导致另m个用户来不及回复聊天机器人,因此,t应取合适的时间长度。一个较佳实施例中,由于一般N个第二用户中任一用户敲字回复需要3秒的时间,因此,设置t的取值为3秒。然而,需要说明的是,本实施例中,t的取值为3秒只是一个实施例,并不用于限定本发明。
在一个实施例中,若在预设时间t秒内有多个第二用户返回了回复语句,则接收所有第二用户返回的回复语句,并分别将第一用户的用户输入语句和接收到的各回复语句作为连续的两个聊天语句加入到聊天数据库中。本实施例中,将自主学习聊天过程中在预设时间内得到的所有第二用户回复语句均作为经验聊天语句存储至聊天数据库中丰富聊天数据库的内容。如上所述,通过将自主学习聊天得到的用户回复语句做为经验聊天语句存储至聊天数据库中,能够丰富聊天数据的内容,进而提高以后从聊天数据库中直接检索出与对用户的用户输入语句匹配的机会,减小系统压力,提高回复用户的速度。
在一个实施例中,上述的第二用户为当前没有加入聊天的用户,其中,N的取值为当前没有加入聊天的用户数目与当前正在参与聊天的用户数目的比值。其中,N个第二用户的选取具体包括以下步骤:
首先,获取当前没有加入聊天的用户数目N1。
其次,获取当前正在参与聊天的用户数目N2。
最后,从没有加入聊天的用户中随机选取N个第二用户。
进一步的,上述的第三用户为当前没有加入聊天的用户,且尚未被选取过做为第二用户的用户,在N个第三用户的选取过程中,最后从当前没有加入聊天,且尚未被选取过做为第二用户的用户中随机选取N个第三用户,其它步骤均与上述N个第二用户的选取过程相同,在此不予赘述。
本实施例中,为减轻系统压力并提高计算效率,设置N取值为当前没有加入聊天的用户数目N1与当前正在参与聊天的用户数目N2的比值。但是,需要说明的是,本发明并不限定于此,例如N的数量还可以随机选取,因此,以上采用N取值为当前没有加入聊天的用户数目N1与当前正在参与聊天的用户数目N2的比值只是一个实施例,并不用于限定本发明。
以下结合具体实施例对应用上述的智能聊天机器人控制方法与用户聊天的过程进行详细说明。为方便说明,本实施例中以K取70,预设时间t为3秒进行说明。
如图4所示,其为一实施例中应用智能聊天机器人控制方法与用户聊天的聊天示意图。
当第一用户跟智能聊天机器人说“我肚子好痛”,智能聊天机器人在聊天数据库中检索到最大匹配的聊天语句有“我肚子痛”,匹配度大于70%,从而将“我肚子痛”作为第一聊天语句。然后,从聊天数据库中检索出聊天语句为“我肚子痛,怎么办?”对应的下一聊天语句“怎么了,为什么肚子痛?着凉了吗?”回复给用户U。
当第一用户跟聊天机器人说“小王在找你”,智能聊天机器人在聊天数据库中没有检索到与“小王在找你”匹配度大于70%的聊天语句。此时,智能聊天机器人进行自主学习聊天,智能聊天机器人获取当前没有加入聊天的用户数目N1=3000,获取当前正在参与聊天的用户数目N2=1000,计算从没有与智能聊天机器人聊天的用户中随机选取3个第二用户,将第一用户的用户输入语句作为新话题的机器人输出语句发送到第二用户。其中一个用户最先回复“哪个小王?”,回复时间为2秒,在限定的3秒之内,所以智能聊天机器人将“哪个小王?”回复给用户U,并将“小王在找你”、“哪个小王?”作为连续的聊天语句加入到聊天数据库中,当其它两个第二用户也在3s内回复时,也将相应聊天语句加入到聊天数据库里。
上述的整个过程全部是智能聊天机器人自动完成的。智能聊天机器人向多用户自主学习,得到的回复给用户的语句实际上是其他用户回复给机器人的语句,所以虽然是聊天机器人与用户聊天,本质上是不同用户之间在聊天,但用户感觉到是聊天机器人在与自己聊天,所以聊天机器人的回复非常合理,非常真实,从而能够通过图灵测试;随着聊天机器人向多用户自主学习,聊天数据库会越来越丰富,第一聊天语句与用户的用户输入语句的匹配度必然越来越高,从而使得聊天机器人的回复也就越来越合理,越来越真实,越来越能提高图灵测试的通过率。
具体的,本实施例的智能聊天机器人是泛义的机器人,包括能与用户对话的一切模拟人类行为或思想以及模拟其他生物的机械,也包括有些电脑程序,譬如qq聊天机器人程序等。
请参阅图5,基于上述的智能聊天机器人控制方法,本发明还提供一种智能聊天机器人控制装置,包括聊天数据库502、检索匹配模块504、选取模块506、学习模块508、练习模块510、时限模块512和存储模块514。其中:
聊天数据库502用于存储经验聊天语句,经验聊天语句包括第一聊天语句和第一聊天语句的下一个聊天语句。
具体的,聊天数据库502中的聊天语句是有序的,大部分聊天语句都有下一个聊天语句,只有聊天结束时的最后一个聊天语句没有下一个聊天语句。聊天数据库502可以用文本的形式对聊天数据进行分行存储,也可以采用数据表的形式进行分行存储,每个聊天语句作为文本文件或数据表中的一行,按照人类聊天的实际顺序,对聊天语句进行按序存储。一个聊天语句的前一个聊天语句则存储在该个聊天语句所在行的前一行,一个聊天语句的后一个聊天语句则存储在该个聊天语句所在行的后一行。聊天数据库502中的数据采集范围包括聊天数据,包括聊天机器人的聊天数据或人类聊天数据,这些数据可以是文本、语音、视频等信息形式,这些数据可以批量导入聊天数据库502,也可以实时增量式地追加进聊天数据库502。
检索匹配模块504分别与聊天数据库502和选取模块506连接,用于获取第一用户的用户输入语句,将用户输入语句与聊天数据库中的语句进行匹配,获取聊天数据库中的匹配度最大且匹配度大于预设值的第一聊天语句;若第一聊天语句存在下一聊天语句,则将下一聊天语句作为机器人输出语句反馈给第一用户;若第一聊天语句不存在下一聊天语句,则发送选取指令至选取模块。
具体的,检索匹配模块504从聊天数据库502中检索与第一用户的用户输入语句匹配度最大且最大匹配度大于K%的第一聊天语句。一个实施例中,K的取值为50~100,在一个优选的实施例中,K的默认取值为70。
本实施例中,检索匹配模块504为集成在聊天数据库502中的检索引擎,该检索引擎能进行语句的模糊匹配,支持文本、语音及视频的检索和模糊匹配,通过检索引擎可以从聊天数据库502的所有聊天语句中检索出与用户的用户输入语句匹配度最大的一个聊天语句。在一个实施例中,还可以通过云存储和云计算技术来提高聊天数据库502及其检索引擎的速度。
选取模块506与检索匹配模块504连接,用于接收选取指令,接收到选取指令后选取N个第二用户。
学习模块508与选取模块506连接,用于将第一聊天语句作为新话题的机器人输出语句发送到N个第二用户。
练习模块510用于接收N个第二用户返回的回复语句,将回复语句作为给第一用户的机器人输出语句反馈给第一用户。
具体的,练习模块510接收N个第二用户中最先返回的回复语句,将最先返回的回复语句作为机器人输出语句反馈给第一用户。
时限模块512分别与选取模块506和练习模块510连接,时限模块512预先记录预设时间,若在预设时间内练习模块510未收到第二用户的回复语句,则时限模块512发出回复超时指令至选取模块506,选取模块506接收到超时指令后重新选取N个第三用户。
存储模块514分别与聊天数据502和练习模块510连接,存储模块514用于将第一用户的用户输入语句和最先返回的回复语句做为连续的两个聊天语句存储到聊天数据库502中。
具体的,存储模块514将第一用户的用户输入语句和最先回复的用户输入语句做为经验聊天语句存储至聊天数据库502中,以丰富聊天数据库502的内容。进一步的,存储模块514将预设时间内得到的所有第二用户回复语句均作为经验聊天语句存储至聊天数据库中丰富聊天数据库的内容。若在预设时间t秒内有多个第二用户返回了回复语句,则联系模块510接收所有第二用户返回的回复语句,存储模块514分别将第一用户的用户输入语句和接收到的各回复语句作为连续的两个聊天语句加入到聊天数据库中。
如图6所示,在一个实施例中,上述的选取模块506包括:
聊天统计模块506a,用于获取当前没有加入聊天的用户数目。
空闲统计模块506b,用于获取当前正在参与聊天的用户数目。
比值模块506c,用于计算当前没有加入聊天的用户数目与当前正在参与聊天的用户数目的比值,得到N取值。
具体的,为避免比值结果出现小数影响选取,在一个实施例中,对比值结果向上取整,得到N取值。
随机选取模块506d,用于从没有加入聊天的用户中随机选取N个第二用户。
进一步的,随机选取模块506还用于选取N个第三用户,当N个第二用户都没有在预设时间t秒内回复时,随机选取模块506重新选取N个第三用户进行自主学习寻求回复。第三用户为当前没有加入聊天的用户,且尚未被选取过做为第二用户的用户。当选取N个第三用户时,随机选取模块506d从当前没有加入聊天,且尚未被选取过做为第二用户的用户中随机选取N个第三用户。
请参阅图7,基于上述的智能聊天机器人控制装置,本发明又提供一种智能聊天系统,包括多个用户和若干上述的基于自主学习的智能聊天机器人,智能聊天机器人与各用户之间通信连接。
本实施例的基于自主学习的智能聊天系统可以包括一个智能聊天机器人也可以包括多个智能聊天机器人,具体智能聊天机器人的结构及工作原理已有详尽描述,在此不予赘述。每个智能聊天机器人有多个用户聊天,聊天机器人与用户之间的通过互联网、移动互联网、局域网、云、物联网或社交网络通信连接。
在人工智能的发展中,自主学习能力是机器人转向智能的一个重要方向,当机器真正具备了自主学习的能力,机器将不再是机器。聊天机器人要想通过图灵测试,就必须使得自身的聊天语句与人类聊天语句非常像、甚至相同,然而,传统聊天机器人并没有将用户的聊天语句用于自主学习。上述的智能聊天机器人控制方法、智能聊天机器人控制装置及智能聊天系统实现了聊天机器人自主学习聊天,对于第一用户发送来的一个用户输入语句,当在聊天数据库中检索不到符合匹配度要求的聊天语句时将第一用户的用户输入语句作为新话题的机器人输出语句发送给N个第二用户,并将N个第二用户对机器人输出语句最先回复的用户输入语句作为给第一用户回复的机器人输出语句。与现有技术相比,本发明极大提高了聊天机器人回复的类人性、合理性及真实性,使得聊天机器人具备人工智能,大大提高了图灵测试的通过率。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (6)
1.一种智能聊天机器人控制方法,其特征在于,包括以下步骤:
获取第一用户的用户输入语句,将所述用户输入语句与聊天数据库中的语句进行匹配,获取所述聊天数据库中的匹配度最大,且最大匹配度大于预设值的第一聊天语句;所述用户输入语句包括文字、语音、视频;
若所述第一聊天语句存在下一聊天语句,则将所述下一聊天语句作为机器人输出语句反馈给所述第一用户;
若所述第一聊天语句不存在下一聊天语句,则进行自主学习聊天,将所述第一用户的用户输入语句作为新话题的机器人输出语句发送到N个第二用户,接收所述N个第二用户返回的回复语句,根据设定选取原则从回复语句中选取其中一个回复语句,将选取的回复语句作为给第一用户的机器人输出语句反馈给第一用户;所述第二用户为当前没有加入聊天的用户,其中,N的取值为当前没有加入聊天的用户数目与当前正在参与聊天的用户数目的比值,对比值结果向上取整,得到N取值;将所述第一用户的用户输入语句和最先返回的回复语句作为连续的两个聊天语句存储到聊天数据库中;当某个用户输入语句与增加到聊天数据库中的聊天语句匹配度时,则可以将聊天数据库中的该个聊天语句的下一个聊天语句直接作为用户的该个用户输入语句的回复;
若在预设时间内未收到所述第二用户的回复语句,则重新选取N个第三用户,将所述第一用户的用户输入语句作为新话题的机器人输出语句发送到所述第三用户,接收所述第三用户返回的回复语句,将所述回复语句作为机器人输出语句反馈给第一用户,其中,所述第二用户为当前没有加入聊天的用户,所述第三用户为当前没有加入聊天的用户,且尚未被选取过作为所述第二用户的用户。
2.根据权利要求1所述的智能聊天机器人控制方法,其特征在于,所述将所述第一用户的用户输入语句作为新话题的机器人输出语句发送到N个第二用户,接收所述N个第二用户返回的回复语句,将所述回复语句作为机器人输出语句反馈给第一用户的步骤,包括:
将所述第一用户的用户输入语句作为新话题的机器人输出语句发送到N个第二用户,接收所述N个第二用户中最先返回的回复语句,将所述最先返回的回复语句作为机器人输出语句反馈给第一用户。
3.一种智能聊天机器人控制装置,其特征在于,包括:
聊天数据库,用于存储经验聊天语句,所述经验聊天语句包括第一聊天语句和第一聊天语句的下一个聊天语句;
检索匹配模块,分别与聊天数据库和选取模块连接,用于获取第一用户的用户输入语句,所述用户输入语句包括文字、语音、视频,将所述用户输入语句与聊天数据库中的语句进行匹配,获取所述聊天数据库中的匹配度最大且匹配度大于预设值的第一聊天语句;若所述第一聊天语句存在下一聊天语句,则将所述下一聊天语句作为机器人输出语句反馈给所述第一用户;若所述第一聊天语句不存在下一聊天语句,则发送选取指令至选取模块;
选取模块,与所述检索匹配模块连接,用于接收选取指令,接收到选取指令后选取N个第二用户;
学习模块,与所述选取模块连接,用于进行自主学习聊天,将所述第一聊天语句作为新话题的机器人输出语句发送到N个第二用户;以及,
练习模块,用于接收所述N个第二用户返回的回复语句,根据设定选取原则从回复语句中选取其中一个回复语句,将选取的回复语句作为给第一用户的机器人输出语句反馈给第一用户;
还包括时限模块,所述时限模块预先记录预设时间,若在预设时间内未收到所述第二用户的回复语句,则所述时限模块发出回复超时指令至所述选取模块,所述选取模块接收到超时指令后重新选取N个第三用户,其中,所述第二用户为当前没有加入聊天的用户,所述第三用户为当前没有加入聊天的用户,且尚未被选取过作为所述第二用户的用户;
存储模块,所述存储模块用于将所述第一用户的用户输入语句和最先返回的回复语句作为连续的两个聊天语句存储到聊天数据库中;当某个用户输入语句与增加到聊天数据库中的聊天语句匹配度时,则可以将聊天数据库中的该个聊天语句的下一个聊天语句直接作为用户的该个用户输入语句的回复;
所述选取模块包括:
聊天统计模块,用于获取当前没有加入聊天的用户数目;
空闲统计模块,用于获取当前正在参与聊天的用户数目;
比值模块,用于计算当前没有加入聊天的用户数目与当前正在与参与聊天的用户数目的比值,得到N取值,对比值结果向上取整,得到N取值;
随机选取模块,用于从没有加入聊天的用户中随机选取N个第二用户。
4.根据权利要求3所述的智能聊天机器人控制装置,其特征在于,所述练习模块接收所述N个第二用户中最先返回的回复语句,将所述最先返回的回复语句作为机器人输出语句反馈给第一用户。
5.一种存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时可实现如权利要求1-2任一项所述的智能聊天机器人控制方法。
6.一种终端设备,包括存储介质,处理器及存储在存储介质上并可以在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1-2任一项所述的智能聊天机器人控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610226768.XA CN105930367B (zh) | 2016-04-12 | 2016-04-12 | 智能聊天机器人控制方法及控制装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610226768.XA CN105930367B (zh) | 2016-04-12 | 2016-04-12 | 智能聊天机器人控制方法及控制装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105930367A CN105930367A (zh) | 2016-09-07 |
CN105930367B true CN105930367B (zh) | 2020-06-09 |
Family
ID=56838915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610226768.XA Active CN105930367B (zh) | 2016-04-12 | 2016-04-12 | 智能聊天机器人控制方法及控制装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105930367B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107016070B (zh) * | 2017-03-22 | 2020-06-02 | 北京光年无限科技有限公司 | 一种用于智能机器人的人机对话方法及装置 |
US10636418B2 (en) | 2017-03-22 | 2020-04-28 | Google Llc | Proactive incorporation of unsolicited content into human-to-computer dialogs |
US9865260B1 (en) | 2017-05-03 | 2018-01-09 | Google Llc | Proactive incorporation of unsolicited content into human-to-computer dialogs |
US10742435B2 (en) * | 2017-06-29 | 2020-08-11 | Google Llc | Proactive provision of new content to group chat participants |
US10318927B2 (en) | 2017-07-17 | 2019-06-11 | ExpertHiring, LLC | Method and system for managing, matching, and sourcing employment candidates in a recruitment campaign |
CN110019700B (zh) * | 2017-09-13 | 2023-01-17 | 阿里巴巴集团控股有限公司 | 数据处理方法和设备 |
KR101854576B1 (ko) * | 2017-11-10 | 2018-05-03 | 베스핀글로벌 주식회사 | 챗봇 기반 클라우드 관리 시스템 및 그의 운영 방법 |
CN109465823B (zh) * | 2018-11-06 | 2022-03-18 | 泰康保险集团股份有限公司 | 智能机器人控制方法及装置、电子设备、存储介质 |
CN110059000A (zh) * | 2019-03-15 | 2019-07-26 | 深圳壹账通智能科技有限公司 | 聊天剧本测试控制方法、装置、计算机设备及存储介质 |
CN111027976B (zh) * | 2019-11-13 | 2022-06-14 | 支付宝(杭州)信息技术有限公司 | 一种获取欺诈方的交易身份信息的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101076060A (zh) * | 2007-03-30 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 一种聊天机器人系统及自动聊天方法 |
CN101431573A (zh) * | 2007-11-08 | 2009-05-13 | 上海赢思软件技术有限公司 | 通过人机交互技术实现自动客户服务的方法和设备 |
CN103390047A (zh) * | 2013-07-18 | 2013-11-13 | 天格科技(杭州)有限公司 | 聊天机器人知识库及其构建方法 |
CN105068661A (zh) * | 2015-09-07 | 2015-11-18 | 百度在线网络技术(北京)有限公司 | 基于人工智能的人机交互方法和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008191748A (ja) * | 2007-02-01 | 2008-08-21 | Oki Electric Ind Co Ltd | ユーザ間コミュニケーション方法、ユーザ間コミュニケーションプログラム、ユーザ間コミュニケーション装置 |
US20140122407A1 (en) * | 2012-10-26 | 2014-05-01 | Xiaojiang Duan | Chatbot system and method having auto-select input message with quality response |
-
2016
- 2016-04-12 CN CN201610226768.XA patent/CN105930367B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101076060A (zh) * | 2007-03-30 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 一种聊天机器人系统及自动聊天方法 |
CN101431573A (zh) * | 2007-11-08 | 2009-05-13 | 上海赢思软件技术有限公司 | 通过人机交互技术实现自动客户服务的方法和设备 |
CN103390047A (zh) * | 2013-07-18 | 2013-11-13 | 天格科技(杭州)有限公司 | 聊天机器人知识库及其构建方法 |
CN105068661A (zh) * | 2015-09-07 | 2015-11-18 | 百度在线网络技术(北京)有限公司 | 基于人工智能的人机交互方法和系统 |
Non-Patent Citations (1)
Title |
---|
基于自然语言理解的自动应答技术及应用研究;王智慧;《中国优秀硕士学位论文全文数据库信息科技辑》;20090715(第7期);第I138-1231页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105930367A (zh) | 2016-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105930367B (zh) | 智能聊天机器人控制方法及控制装置 | |
CN110209897B (zh) | 智能对话方法、装置、存储介质及设备 | |
CN107506823B (zh) | 一种用于对话生成的混合神经网络模型的构建方法 | |
CN109643325B (zh) | 在自动聊天中推荐朋友 | |
CN105095182B (zh) | 一种回复信息推荐方法及装置 | |
CN109635083B (zh) | 一种用于搜索ted演讲中话题式查询的文档检索方法 | |
CN105975530B (zh) | 基于聊天大数据知识库的机器人对话控制方法和系统 | |
CN106952646A (zh) | 一种基于自然语言的机器人交互方法和系统 | |
CN105677872B (zh) | 一种题目搜索方法、题目搜索装置及学习设备 | |
CN110334190A (zh) | 一种面向开放域对话系统的回复自动生成方法 | |
CN108846138B (zh) | 一种融合答案信息的问题分类模型构建方法、装置和介质 | |
US20150302101A1 (en) | Generating snippets for prominent users for information retrieval queries | |
CN109032381A (zh) | 一种基于上下文的输入方法、装置、存储介质及终端 | |
CN109002515A (zh) | 一种智能应答的方法和装置 | |
WO2024103609A1 (zh) | 一种对话模型的训练方法及装置、对话响应方法及装置 | |
CN107679225B (zh) | 一种基于关键词的回复生成方法 | |
CN112581203A (zh) | 在会话中提供解释性产品推荐 | |
WO2014117490A1 (zh) | 一种从视频库推荐视频的方法、装置 | |
JP6853752B2 (ja) | 対話シナリオコーパスの作成支援システム | |
Rahane et al. | Artificial intelligence based solarbot | |
CN110111010A (zh) | 一种基于众智网络的问答任务分配方法及系统 | |
CN110413627B (zh) | 一种信息优化方法、装置、服务器及存储介质 | |
CN117421416B (zh) | 交互检索方法、装置和电子设备 | |
CN110020007A (zh) | 机器人交互控制方法及装置、存储介质、服务器 | |
Balali et al. | A supervised approach for reconstructing thread structure in comments on blogs and online news agencies |
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 |