一种基于自然语言实时场景生成的聊天机器人
技术领域
本发明涉及聊天机器人
技术领域
,特别涉及一种基于自然语言实时场景生成的聊天机器人。背景技术
自然语言处理(NLP)是计算机科学,人工智能,语言学关注计算机和人类(自然)语言之间的相互作用的领域。因此,自然语言处理是与人机交互的领域有关的。在自然语言处理面临很多挑战,包括自然语言理解,因此,自然语言处理涉及人机交互的面积。在NLP诸多挑战涉及自然语言理解,即计算机源于人为或自然语言输入的意思,和其他涉及到自然语言生成。主流聊天机器人以文字为聊天内容,进行单一维度的对话。
聊天机器人是一个用来模拟人类对话或聊天的程序。聊天机器人的NLP技术主要用于生成人机对话。但是传统的聊天机器人对话模态单一,信息量少,多运用于客服、日常助理等实用类场景。
发明内容
本发明的目的就在于为了解决上述聊天机器人在人机对话时对话模态单一以及信息量少的问题而提供一种基于自然语言实时场景生成的聊天机器人,具有采用剧本式语言对场景、表情、动作和对话进行虚拟化,场景化,使人机对话更加丰富的优点。
本发明通过以下技术方案来实现上述目的,一种基于自然语言实时场景生成的聊天机器人,包括:
输入模块,用于接收用户输入的人机对话指令;
语法解析模块,用于对人机对话指令进行语法解析,通过将指令分解为聊天部分和场景部分使自然语言处理模块识别和处理;
所述自然语言处理模块,包括分析模型和处理模型,其中所述分析模型对聊天部分和场景部分进行特征分析识别,所述处理模型通过将识别的特征作为输入端进行运行,并输出处理的结果;
反馈模块,用于向用户展示人机对话的结果。
优选的,所述自然语言处理模块和反馈模块之间还连接有虚拟场景生成模块和语法整合模块;
所述虚拟场景生成模块用于生成场景部分的实时场景;
所述语法整合模块用于整合聊天部分的聊天结果。
优选的,所述虚拟场景生成模块由3D生成引擎驱动。3D生成引擎根据NLP分析结果生成3D场景,3D人物的语言、表情和动作。
优选的,所述自然语言处理模块包括场景语言NLP模型、表情语言NLP模型、动作语言NLP模型和对话语言NLP模型,其中场景语言NLP模型用于处理场景部分的对话指令,表情语言NLP模型、动作语言NLP模型和对话语言NLP模型用于处理聊天部分的对话指令。
优选的,所述场景语言NLP模型与虚拟场景生成模块连接,表情语言NLP模型、动作语言NLP模型和对话语言NLP模型与语法整合模块连接。
优选的,所述输入模块包括聊天输入和场景输入,其中聊天输入用于输入剧本式语言,场景输入用于输入场景描述,所述剧本式语言通过使用剧本式语法供语法解析模块解析,场景描述通过描述语法供语法解析模块解析。
优选的,所述语法解析模块的解析方法包括:
获取输入模块的人机对话指令;
将指令分为场景、表情、动作和对话四个部分;
提取每个部分的词语转发给自然语言处理模块。
与现有技术相比,本发明的有益效果是:通过使用剧本式语言作为输入指令的方式,利用自然语言处理模块分解剧本式语言中的场景、表情、动作和对话,使人机对话具备虚拟化场景和虚拟化人物动作,提高了人机对话交流的丰富性。
附图说明
图1为本发明的整体系统组成结构示意图。
图2为本发明的自然语言处理模块内部模型组成示意图。
图3为本发明的输入模块组成示意图。
图4为本发明的语法解析模块解析方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1所示,一种基于自然语言实时场景生成的聊天机器人,包括:
输入模块,用于接收用户输入的人机对话指令,输入模块如图3所示,所述输入模块包括聊天输入和场景输入,其中聊天输入用于输入剧本式语言,场景输入用于输入场景描述,所述剧本式语言通过使用剧本式语法供语法解析模块解析,场景描述通过描述语法供语法解析模块解析,剧本式语言通过特定语法表达场景、动作和表情,示例:(给你一个白眼),括号内为表情,特定语法包括但不限于小括号、中括号、大括号、星号、下划线、引号、专有名词,其中小括号、中括号、大括号、星号、引号、专有名词用作表示聊天部分,下划线表示场景部分,因此通过特定语法可方便语法解析模块对输入的对话指令进行分解。
语法解析模块,用于对人机对话指令进行语法解析,通过将指令分解为聊天部分和场景部分使自然语言处理模块识别和处理,如图4所示,所述语法解析模块的解析方法包括:
步骤S1、获取输入模块的人机对话指令,人机对话指令通过输入模块按照剧本式语言的特定语法进行输入;
步骤S2、将指令分为场景、表情、动作和对话四个部分,例如将括号内的内容解析为表情,星号内的内容解析为动作,下划线内容解释为场景描述,通过特定的语法,可以方便分解指令,有利于方便后续的自然语言处理模块的处理;
步骤S3、提取每个部分的词语转发给自然语言处理模块,通过对括号内的内容、星号内的内容和下划线内容进行提取,转发给自然语言处理模块进行处理,使自然语言处理模块可以输出每个内容的结果。
所述自然语言处理模块,包括分析模型和处理模型,其中所述分析模型对聊天部分和场景部分进行特征分析识别,所述处理模型通过将识别的特征作为输入端进行运行,并输出处理的结果,所述自然语言处理模块和反馈模块之间还连接有虚拟场景生成模块和语法整合模块,所述虚拟场景生成模块用于生成场景部分的实时场景,所述语法整合模块用于整合聊天部分的聊天结果,所述虚拟场景生成模块由3D生成引擎驱动,场景属于开放式,非预置,实时生成。不需要用户手动编程,也不使用预制场景,通过3D生成引擎驱动可对场景内容指令进行实时场景生成。例如,“场景:花瓣雨;地点:马路;时间:缺省”,3D生成引擎就生成马路上的花瓣雨飘洒。如图2所示,所述自然语言处理模块包括场景语言NLP模型、表情语言NLP模型、动作语言NLP模型和对话语言NLP模型,其中场景语言NLP模型用于处理场景部分的对话指令,表情语言NLP模型、动作语言NLP模型和对话语言NLP模型用于处理聊天部分的对话指令,所述场景语言NLP模型与虚拟场景生成模块连接,表情语言NLP模型、动作语言NLP模型和对话语言NLP模型与语法整合模块连接,通过场景语言NLP模型、表情语言NLP模型、动作语言NLP模型和对话语言NLP模型可对语法解析模块解析的指令内容进行结果输出,例如但不限于,用户输入(给你一个白眼),表情语言NLP模型输出(给你一个微笑)。用户输入语句“我爱你”,对话语言NLP模型输出文字“我知道”,因此通过自然语言处理模块可输出虚拟的场景、动作、表情和文字,从而展示给用户时更加的丰富。
反馈模块,用于向用户展示人机对话的结果,在聊天界面,语法整合模块将语法整合生成的结果进行用户反馈,将动作、表情和语言按照特定的语法反馈给用户。例如,动作直接反馈为带括号的语句:(给你一个微笑)。特定语法包括但不限于小括号、中括号、大括号、星号、下划线、引号等,同时调整虚拟形象的动作、表情以及虚拟环境。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。