自然语言处理方法及装置与流程

文档序号:12666009阅读:286来源:国知局
自然语言处理方法及装置与流程

本发明涉及信息处理领域,具体而言,涉及一种自然语言处理方法及装置。



背景技术:

在科技发展的今天,信息迅速膨胀,自然语言理解技术已成为人们日常生活以及科技产业关注的焦点,它也是衡量机器智能化的一个重要指标。近年来随着机器学习技术的发展以及深度学习技术应用的普及,自然语言技术也开始应用于多个领域(如,搜索、问答、对话机器人等),提高机器对自然语言的理解能力,从而降低人机沟通的门槛。

但是,随着自然语言理解技术的普及,不同的行业都会面临一个共同的问题,深度学习需要特定领域庞大的语料作驱动。对于不同的应用领域来说,如何获取有效的数据,成为问题的核心。大部分任务在创建之初并没有可供使用的特定语料,因此很难在特定的领域实现不同人机的对话;同时对于自然语言的处理,也无法准确确定自然语言处理结果,向终端等设备呈现的结果也不准确,导致在人机沟通的过程中降低用户的体验感。

在聊天机器人领域,可分为open域和close域(又叫任务驱动)的聊天机器人,其中,自然语言存在多变性和抽象性,在任务驱动聊天机器人方面,其中一种是基于深度学习技术,通过模拟整个对话过程,实现人机交互。但是此种方案需要大量的语料做驱动,对于项目初创阶段,如果没有好的资源依托很难得到满意的结果。另外一种方案是偏向于应用的对话服务机器人,该方案通过自身产品的优势(如百度、Google有庞大的后台语料数据库)或者常年在自然语言方面的积累(小型机器人对话),挖掘大量的实体构建实体关系库,但是实体关系库中的资源一般都是不公开的,其他企业很难利用这方面的优势去构建符合企业自身的产品,而且该类产品的应用领域也是有限的。也无法通过自然语言的对话实现人机顺畅的交互。

针对上述的无法准确确定自然语言对应的信息的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种自然语言处理方法及装置,以至少解决无法准确确定自然语言对应的信息的技术问题。

根据本发明实施例的一个方面,提供了一种自然语言处理方法,包括:接收第一语句,其中,所述第一语句为自然语言表达的语句;提取所述第一语句的一个或多个关键词;查找到所述一个或多个关键词对应的信息或命令;呈现所述信息或所述命令的执行结果。

进一步地,提取所述第一语句的一个或多个关键词包括:对所述第一语句进行分词得到多个词语;使用所述多个词语与预先配置的多个模板进行匹配,其中,所述模板是指由多个语义元组成的连贯语义模式,每个所述语义元有预先设定的与所述模板对应的语义贡献度,所述语义元是指具有相同或近似语义的关键词集合;从所述多个模板中获取第一模板,所述第一模板是指与所述多个词语部分或全部语义关联度最高的模板;获取所述多个词语中与所述第一模板中的语义元匹配成功的词语,将所述匹配成功的词语作为关键词。

进一步地,在查找到所述一个或多个关键词对应的信息或命令之后,所述方法还包括:在所述信息或所述命令的执行结果不唯一的情况下,呈现提示信息,其中,所述提示信息用于指示输入属性参数;接收第二语句,并从所述第二语句中获取属性参数;呈现所述信息或所述命令的执行结果包括:根据所述属性参数呈现所述信息或所述命令的执行结果。

进一步地,所述一个或多个关键词包括:用于查找信息或命令的第一关键词、和用于标识属性参数的第二关键词,查找到所述一个或多个第一关键词对应的信息或命令包括:根据所述第一关键词查找与所述第一关键词对应的信息或命令,其中,所述第二关键词作为所述信息或命令的属性参数。

进一步地,根据所述第一关键词查找与所述第一关键词对应的信息或命令包括:使用所述第一关键词,作为预先配置的至少一个决策的输入;获取所述至少一个决策中的最优决策对应的信息或命令。

根据本发明实施例的另一方面,还提供了一种自然语言处理装置,包括:接收单元,用于接收第一语句,其中,所述第一语句为自然语言表达的语句;提取单元,用于提取所述第一语句的一个或多个关键词;查找单元,用于查找到所述一个或多个关键词对应的信息或命令;第一呈现单元,用于呈现所述信息或所述命令的执行结果。

进一步地,所述提取单元包括:分词模块,用于对所述第一语句进行分词得到多个词语;匹配模块,用于使用所述多个词语与预先配置的多个模板进行匹配,其中,所述模板是指由多个语义元组成的连贯语义模式,每个所述语义元有预先设定的与所述模板对应的语义贡献度,所述语义元是指具有相同或近似语义的关键词集合;第一获取模块,用于从所述多个模板中获取第一模板,所述第一模板是指与所述多个词语部分或全部语义关联度最高的模板;第二获取模块,用于获取所述多个词语中与所述第一模板中的语义元匹配成功的词语,将所述匹配成功的词语作为关键词。

进一步地,所述装置还包括:第二呈现单元,用于在查找到所述一个或多个关键词对应的信息或命令之后,所述信息或所述命令的执行结果不唯一的情况下,呈现提示信息,其中,所述提示信息用于指示输入属性参数;接收第二语句,并从所述第二语句中获取属性参数;所述第一呈现单元包括:呈现模块,用于根据所述属性参数呈现所述信息或所述命令的执行结果。

进一步地,所述一个或多个关键词包括:用于查找信息或命令的第一关键词、和用于标识属性参数的第二关键词,所述查找单元包括:查找模块,用于根据所述第一关键词查找与所述第一关键词对应的信息或命令,其中,所述第二关键词作为所述信息或命令的属性参数。

进一步地,所述查找模块包括:使用子模块,用于使用所述第一关键词,作为预先配置的至少一个决策的输入;获取子模块,用于获取所述至少一个决策中的最优决策对应的信息或命令。

在本发明实施例中,可以利用服务设备接收第一语句,其中,该第一语句可以为自然语言表达的语句,在接收到第一语句后,可以提取第一语句的一个或多个关键词,并查找到一个或多个关键词对应的信息或命令,最后,可以在显示界面中呈现该信息或命令的执行结果。本发明实施例可以根据通过分析自然语言所表述的语句,提取出关键词,并根据该关键词查找到语句对应的信息,可以较为准确的得出自然语言对应的信息或命令,解决无法准确确定自然语言对应的信息的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种可选的自然语言处理方法的流程图一;

图2是根据本发明实施例的一种可选的自然语言处理方法的流程图二;

图3是根据本发明实施例的一种可选的自然语言处理示意图一;

图4是根据本发明实施例的一种可选的自然语言处理示意图二;

图5是根据本发明实施例的一种可选的自然语言处理示意图三;以及

图6是根据本发明实施例的另一种可选的自然语言处理装置的结构图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本发明实施例,提供了一种自然语言处理的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的一种可选的自然语言处理方法的流程图一,如图1所示,该方法包括如下步骤:

步骤S102,接收第一语句,其中,第一语句为自然语言表达的语句;

步骤S104,提取第一语句的一个或多个关键词;

步骤S106,查找到一个或多个关键词对应的信息或命令;

步骤S108,呈现信息或命令的执行结果。

通过上述实施例,可以利用服务设备(如机器人)接收第一语句,其中,该第一语句可以为自然语言表达的语句,在接收到第一语句后,可以提取第一语句的一个或多个关键词,并查找到一个或多个关键词对应的信息或命令,最后,可以在显示界面中呈现该信息或命令的执行结果。本发明实施例可以根据通过分析自然语言所表述的语句,提取出多个关键词,并根据该关键词查找到语句对应的信息或命令,可以较为准确的得出自然语言对应的信息或命令,解决无法准确确定自然语言对应的信息的技术问题。

可选的,上述实施例的服务设备可以是机器人、终端等可以实现人机交互的设备,该服务设备可以接收用户发出的语音或接收用户输入的语句。其中,终端可以是智能手机、电脑等设备,在终端中可以安装用于实现人机交互的应用,用户可以通过向该应用输入自然语言,得到想要的结果,例如,用户输入“查看周杰伦个人资料”,该终端应用可以查找到“周杰伦”的个人资料,并将该个人资料在终端显示界面呈现出来。可选的,服务设备可以实现与用户进一步交互,在用户输入自然语言后,通过分析自言语言的内容,向用户发出一定的信息,通过不断地交互,得出用户想要的结果。

优选的,服务设备可以是聊天机器人。

其中,用户输入的自然语言可以包括多种内容,用户输入的内容可以是希望服务设备做的动作,如用户输入“开启音乐”,则服务设备可以将音乐应用打开;用户输入的内容也可以是查询语言,如用户输入“查询张三资料”,则服务设备在接收到该查询语言后,将“张三”资料呈现给用户。

可选的,在步骤S102提供的技术方案中,接收第一语句,其中,第一语句为自然语言表达的语句。对于该第一语句,可以是用户输入的自然语言。其中,自然语言可以包括多种情况,如,一个词、一句话、一个公式、数字等内容,不同的自然语言表达的内容也不同。

另一种可选的实施方式,在接收第一语句后,可以查询用户使用权限,并判断用户是否有查找信息的权限。其中,该权限可以包括一级权限、二级权限、三级权限等,其中,一级权限可以是普通用户使用的权限,普通用户在输入相关信息后,服务设备可以获取到其权限是一级权限,可以做基本的查询、交互、开启应用、关闭应用、关闭普通设备等操作;二级权限可以是管理者的权限,二级权限可以用户开启或关闭核心设备、查询内部人员的基本信息等操作;三级权限可以是服务设备维护人员的权限,三级权限可以对服务设备的服务内容做修改。其中,在输入相关信息进入服务设备时,服务设备可以验证用户输入的内容是否正确,若不正确,则用户不可以进行任何操作,若正确,用户可以做其权限之内的操作。其中,相关信息可以包括用户的用户名、密码等内容。

在步骤S104提供的技术方案中,提取第一语句的一个或多个关键词。第一语句中可以包括多个词语,其中,可以有一个或多个关键词是第一语句的核心词语,该关键词是用户想要进行相关操作的词语,例如,第一语句是“预定会议室”,则其中“会议室”可以是关键词。在提取关键词的过程中,可以先对第一语句进行分词,将第一语句中的多个词语拆分开,如在“预定会议室”中,可以分出“预定”“会议室”两个词语,可以通过词法分析,得到多个关键词。

其中,在提取第一语句中关键词的时候,可以预先对第一语句进行分词,例如,接收到的第一语句为“预定明天下午两点会议室”,在分词后,可以得到“预订”、“明天”、“下午”、“两点”、以及“会议室”这几个词语,可选的,分词操作可以是依据常见的词法搭配进行词块聚合,从而得到不同的词语。根据上述的实施方式,可以得到三个词块,包括“预订”、“明天下午两点”以及“会议室”三个词块,其中,可以对多个词语与预先配置的多个模板进行匹配。

其中,上述的第一语句可以为任务语句,即用户可以通过终端设备输入相应的语句,该语句中包含了一定的任务,例如,用户通过终端输入“预定会议室”,这里需要服务设备完成该任务。服务设备在接收到任务后,可以通过寻找任务对应的模板来完成相应的任务,模板中可以有对应的语义元;其中,一个任务可以包括多个模板,一个模板中可以包括多个语义元,每个语义元是一类词语的集合。该语义元可以包括多种,例如,在“预定会议室”这个任务中,在对该任务分词后,可以得到多个任务标识,如“预定”“会议”“会议室”,可以在服务设备中查找到3个模板,分别为模板A、模板B以及模板C,其中,该任务和模板A的语义元“保留”语义关联度为0.2,和模板A的语义元“会议”语义关联度为0.6;在模板B中,该任务和模板B的语义元“保留”语义关联度为0.2,和模板B的语义元“时间”和语义关联度为0.05,和模板B的语义元“地点”语义关联度为0.05,和模板B的语义元“会议”语义关联度为0.6,和模板B的语义元“主题”语义关联度为0.05;在模板C中,该任务和模板C的语义元“保留”语义关联度为0.2,和模板C的语义元“时间”和语义关联度为0.04,和模板C的语义元“去向”语义关联度为0.02,和模板C的语义元“结束时间”语义关联度为0.04,和模板C的语义元“地点”语义关联度为0.05,和模板C的语义元“主题”语义关联度为0.05,和模板C的语义元“会议”语义关联度为0.6。

对于上述实施方式,在语义元“保留”中,可以包括“预定”、“预订”、“预约”、“开个”等词语,在语义元“会议”中,可以包括“会议室”、“会议”、“会”、“到”、“至”等词语,在语义元“地点”中,可以包括“海口”、“三亚”、“西安”、“贵州”、“天津”、“南昌”等词语;在语义元“时间”中,可以包括多个时间段等。

在步骤S106提供的技术方案中,查找到一个或多个关键词对应的信息或命令。即在服务设备中可以预先存储可供用户查询的信息或内容,在分析出第一语句中的关键词后,可以查找到是否存在与关键词对应的信息或命令。这里的信息或命令可以是预先存储的内容,其中,预先存储的内容可以包括各种词语以及与该词语对应的信息和命令,也可以存储与该信息或命令对应的结果;可选的,在预先存储的内容中可以包括多个模板,模板中可以存储各个关键词和语义元,也可以存储与关键词对应的执行结果。预先存储的内容可以存储在存储介质(例如,硬盘)中。

可选的,关键词与预先存储的内容包含的信息或命令可以是相同的,也可以是不同;关键词与预先存储的内容中包含的信息或命令可以是一一对应的,例如,关键词是“长城”,预先存储的内容中包含的信息可以是“长城”的资料。其中,根据关键词查找对应的信息或命令时,可以判断是否存在对应的信息或命令,若判断出预先存储的内容中存在与关键词对应的信息或内容时,将该信息或内容对应的执行结果找到。

在步骤S108提供的技术方案中,呈现信息或命令的执行结果。在查找到关键词对应的信息或命令后,并根据该信息或命令找出与之对应的执行结果,将该执行结果通过服务设备的显示设备呈现出来。该执行结果可以是用户需要的资料;也可以是服务设备与用户的进一步交互,该交互可以是向用户提供选择信息,也可以是询问用户关于关键词的对应的信息。例如,用户发出“预定出租车”,服务设备可以向用户提供出租车的类型,也可以进一步询问用户“预定几点的出租车”等信息。

另一种可选的实施方式,提取第一语句的一个或多个关键词包括:对第一语句进行分词得到多个词语;使用多个词语与预先配置的多个模板进行匹配,其中,模板是指由多个语义元组成的连贯语义模式,每个语义元有预先设定的与模板对应的语义贡献度,语义元是指具有相同或近似语义的关键词集合;从多个模板中获取第一模板,第一模板是指与多个词语部分或全部语义关联度最高的模板;获取多个词语中与第一模板中的语义元匹配成功的词语,将匹配成功的词语作为关键词。

其中,在提取到第一语句的多个词语后,可以将提取到的各个词语与预先配置的模板进行匹配,在本发明实施方式中,模板可以是多个语义元组成的连贯语义模式,语义元中有多个词语,将含义相近或相同的词语集合在一个模板中,例如,“地域”和“区域”的含义比较接近,则可以将这两个词语集合在一个模板的语义元中。

可选的,在模板中的各个语义元可以组合为一个连贯语义,在一个模板中的多个语义元之间可以是不相同的,例如,在一个模板中包含“预定”语义元、“时间”语义元以及“会议室”语义元,这个模板可以为“预定会议室”模板。其中,预先存储的模板的数量可以是多个,每个模板的功能也不同,例如,“预定会议”模板和“取消会议”模板,每个模板中的语义元可以有相同的部分,也有不相同的部分,如在“预定会议”模板中包含了“预定”语义元、“时间”语义元、“会议室”语义元;而“取消会议”模板中包含“取消”语义元以及“会议室”语义元,这里“会议室”语义元是相同的,“取消”和“预定”是不相同的语义元。

另一种可选的实施方式,在从多个模板中获取第一模板,第一模板是指与多个词语部分或全部语义关联度最高的模板。可以是将提取到的多个关键词中各个关键词与模板中的词语语义关联度较高的关键词提取出来,然后,可以将语义关联度最高的模板提取出来。这里的语义关联度可以是指在将提取到的多个关键词与模板中的词语匹配时获取到的,其中,语义关联度可以是不同的,例如,提取出的“预定”和“会议室”两个关键词和“预定会议”模板的中“预定”“会议室”的词语语义关联度分别为0.9和0.8,则可以得到“预定”的语义关联度最高。

可选的,获取多个词语中与第一模板中的语义元匹配成功的词语,将匹配成功的词语作为关键词。在本发明实施方式中,从第一语句提取出的多个关键词可以分别与第一模板中的语义元匹配,若匹配成功,则可以将匹配成功的词语作为关键词。其中,在匹配时,可以根据语义关联度来判断是否成功,例如,若语义关联度超过50%,则可以判断出词语和模板中的语义元匹配成功。

可选的,模板可以是提前设置的,其可以预先存储在服务设备中,每个语义元可以对应一个该领域词典或者检测识别算法,其中,领域词典可以包括语义元所在领域的多个词语,例如,“预定”中词典可以包括“召开”和“预定”等词语;对于检测识别算法,其可以为检测第一语句中的各个词语的算法,并在检测到第一语句的多个词语后,识别出第一语句的多个词语。在模板中可以配置多个词语,模板中的每个语义元可以和关键词所在模板对应有一个语义相关度,每个语义元或者词语和其它词语或者语义元的关联度可以是不同的,该语义关联度的确定可以是根据词语的使用频率确定的,例如,在“取消”这个词语多次使用后,可以在模板中设置“取消”和“取消会议”的语义关联度为0.9,而“小会”的使用频率不高,可以设置“小会”和“会议”的语义关联度为0.4。其中,在对第一语句进行分词后,可以将分词词语的一个或多个词语与模板中词语匹配,这里,可以将提取出的词语分别和模板进行匹配,得到分词词语和模板的语义关联度。

另一种可选的实施方式,可以结合模板中的各个词语和第一语句的语义关联度,得到该模板与第一语句的语义关联度。例如,有两个模板分别为“开会”模板和“取消开会”模板,其中,“开会”模板中可以包含各个词语的语义关联度,如果提取到第一语句中有“预定”和“会议”两个词,“预定”和模板中的“召开”的语义关联度为20%,“会议”和模板中的“小会”语义关联度为0.6,此时,可以分析出提取出的第一语句的关键词和“开会”模板的语义关联度为0.8。若“开会”模板和其它模板比较得到与各个关键词的语义关联度最高,此时,可以使用该“开会”模板。但是,若第一关键词中有“取消”和“会议”两个词,在将第一语句的各个关键词与这两个模板匹配时,得到关键词“取消”和“取消会议”模板中的“取消”两个词的语义关联度为95%,此时,可以使用该“取消会议”模板。

另一种可选的实施方式,每个模板可以对应有一个或多个信息或命令,该信息或命令可以包括向终端发送询问信息,该询问信息可以包括一个或多个选项。其中,终端可以为智能终端,例如,智能手机、PC、以及智能机器人。终端可以显示该询问信息。

可选的,在查找到一个或多个关键词对应的信息或命令之后,方法还包括:在信息或命令的执行结果不唯一的情况下,呈现提示信息,其中,提示信息用于指示输入属性参数;接收输入的属性参数;呈现信息或命令的执行结果包括:根据属性参数呈现信息或命令的执行结果。

其中,对于信息或命令的执行结果不唯一的情况,可以是第一语句有多个执行结果,可以是第一语句中有需要服务设备执行与第一关键词的属性词对应的操作,这时,服务设备可以根据关键词内容,确定关键词的提示信息,该提示信息可以包括多个属性参数,属性参数可以是对第一关键词的各个属性进行限定的参数。其中,属性可以包括多个,例如,时间、地点、以及时间段等。例如,用户说“我要开会”,可以确定关键词为“开会”,这时,可以确定出其属性包括:时间、地点、时间段以及人数,服务设备可以根据该属性和第一关键词输出对应的询问信息,例如,服务设备发出“什么时间开会?”或者“开会的地点是什么?”。用户在接收到询问信息后,可以说出对应的属性参数,例如,用户说出“开会时间在下午两点到四点”,此时,服务设备可以接收该属性参数,并根据属性参数呈现信息或命令的执行结果,这里的属性参数可以包括多个。例如,服务设备向用户发出“什么时间开会”、“什么地点开会”、“开会人数”,用户分别给出了“下午两点到四点开会”“在海南三亚开会”“有100人参加会议”三个属性参数,则服务设备可以根据多个属性参数,输出一个总的执行结果,服务设备可以输出“预定可容纳100人的会议室,在下午两点到四点在海南三亚开会”的执行结果。

可选的,呈现信息或命令的执行结果包括:在信息中包括一个或多个选项的情况下,呈现一个或多个选项;在呈现一个或多个选项之后,方法还包括:接收第二语句;从第二语句提取关键词,获取关键词指示的选项对应的信息或命令,呈现该选项对应的信息或者该选项对应的命令的执行结果。

其中,在查找到的信息中可以包括多个选项,该多个选项可以是供用户选择的内容,例如,用户输入“到古都旅游”,服务设备可以呈现出来询问语句,如“到哪个古都”,并将可选的古都选择项呈现给用户,以供用户选择,该多个选择项可以包括西安、北京、洛阳、开封等。

可选的,查找到一个或多个关键词对应的信息或命令包括:一个或多个关键词包括:用于查找信息或命令的第一关键词、和用于标识属性参数的第二关键词,查找到一个或多个第一关键词对应的信息或命令包括:根据第一关键词查找与第一关键词对应的信息或命令,其中,第二关键词作为信息或命令的属性参数。

可选的,第一语句中可以包括该用于查找信息或命令的第一关键词和用于标识属性参数的第二关键词,并根据该查找信息或命令的关键词查找与用于标识属性参数的关键词对应的信息或命令。例如,用户说:“我要今天下午2点至3点在第一会议室开会,请帮我预定会议室”,这里,用户的语句(即第一语句)中包括了多个属性参数,服务设备可以根据用户发出的语句,得到与第一语句对应的信息或命令。服务设备可以根据用户上述语句,查看第一会议室在下午2点到3点是否其他人已经预定过了,若没有人预定,则可以输出“可以预定”,若下午2点到3点已经有人预定第一会议室,则服务设备可以输出“对不起,您无法预定该第一会议室,已经有客户预定该第一会议室”的信息。

另一种可选的实施方式,在向用户呈现多个选项之后,可以接收用户输入的第二语句,该第二语句可以是用户重新输入的与第一语句完全不同的语句,也可以是在第一语句的基础上再次输入相关语句,以获取更多的信息,该第二语句中可以包括多个关键词,服务设备可以向用户呈现根据该关键词查找出的对应信息或命令,并呈现出相应的执行结果。服务设备可以不断地接收各个语句,并根据各个语句向用户呈现出对应的执行结果,直到用户发出“关闭服务设备”或“退出”等离开命令,该服务设备可以执行该命令,并不再向该用户提供相应的服务。

可选的,至少根据关键词从预先存储的内容中查找到关键词对应的信息或命令包括:在第一语句中存在属性词的情况下,根据属性词和关键词输出与信息或命令对应的结果,其中,属性词用于对关键词进行相应的说明。

对于上述实施例,可以是用户发出的语句中包括关键词与属性词,例如,服务设备接收到“调取李四资料”,可以先对该语句进行分词,得到“调取”、“李四”、“资料”,在分词后,可以确定“李四”为关键词,“调取”和“资料”为该关键词的属性词,通过该关键词和属性词可以得出服务设备的任务是将“李四”的资料查找出来,并呈现给用户。

可选的,服务设备接收到的语句可以包括各个任务,即用户希望得到某个结果,在用户输入各个语句的过程中,就包含了相应的任务,如上述实施例的语句中“调取资料”可以是该语句中包含的任务,服务设备在接收到该任务后,将任务对应的执行结果呈现给用户,并进一步与用户实现交互。

在另一种可选的实施方式中,在对第一语句进行分词的过程中,可以将第一语句中包含的特殊词以及关键词提取出来,该特殊词可以包括专有名词和量词。对于专有名词,可以包括:时间、地点、人名、机构名等,对于量词,可以包括:数字、长度、重量词、高度词等。对于提取出的关键词,可以是各种类型的,包括上述的特殊词。在对第一语句分词后,可以根据常见的词法对各个词语进行词块聚合,得到相应的关键词和特殊词,该词块聚合可以是对各个词语之间进行组合。可选的,在提取关键词的过程中,可以与预先存储的模板进行比对,该模板中可以包含各个重要的词语,若在对第一语句分词后得到的词语中有一个词语与模板中存储的一个语义元的语义关联度高,则可以确定该词语为关键词。

可选的,根据第一关键词查找与第一关键词对应的信息或命令包括:使用第一关键词,作为预先配置的至少一个决策的输入;获取至少一个决策中的最优决策对应的信息或命令。

可选的,在第一语句分词后的每个词和模板匹配的过程中,每个语义元都有具体的识别方式,例如,可以建立一个该领域的词典,在建立该领域词典后,可以通过查询词典的方式,识别出模板中的语义元;也可以是通过特殊的识别算法,识别出语义元。若被识别出属于某个语义元,可以计算出该词在模板中的语义关联度,并通过模板确定该语义元属于属性词,确定该词语为对应语义元的关键词。

另一种可选的实施方式,从第一语句中提取模板中存在的词作为关键词还包括:确定第一语句中的一个或多个词与模板中的存在的词的语义关联度;判断第一语句中的一个或多个词中是否存在语义关联度大于等于第一阈值的词;若判断出存在语义关联度大于等于第一阈值的词语,确定词语为关键词。

可选的,对于上述实施例的各个语义元的识别可以是在对第一语句分词后,确定各个词语与各个模板中的各个语义元的是否匹配。例如,服务设备接收到“我下午要开会”,在分词后得到“我”“下午”“要”“开会”四个词,在确定关键词的过程中,可以在模板中找到“会议”,其中“会议”和“开会”很接近,而其它词没有对应的匹配词,则可以确定“开会”语义关联度最高。则根据该语义关联度确定“开会”为关键词。

另一种可选的实施方式,可以在对第一语句的各个词与模板中的词进行匹配后,对第一语句进行正序和逆序扫描,或者对第一语句进行匹配搜索。其中,对第一语句进行正序和逆序扫描,可以是将第一语句重新分词,也可以是将第一语句中的各个词语重新排序,这样可以将重新排序的词与模板中的各个词做比较,得到语义关联度较高的词语。在对第一语句进行匹配搜索时,可以是将第一语句中的各个词语重新匹配,得到新的语句,再对该语句进行搜索,或者再次与模板中的各个词进行匹配,查找语义关联度较高的词语。

另一种可选的实施方式,判断第一语句中的一个或多个词中是否存在语义关联度大于等于第一阈值的词语包括:判断第一语句中是否存在唯一的语义关联度大于等于第一阈值的词语;若判断出存在唯一的语义关联度大于等于第一阈值的词语,确定词语为关键词;若判断出存在多个词语的语义关联度大于等于第一阈值,确定语义关联度最高的两个词语。该第一阈值可以是提前设置的数值,例如,0.5,只有在语义关联度大于等于该第一阈值的情况下,该词语才可以确定为关键词,若第一语句中的各个词语都低于该词语,则可以确定查找不出与第一语句对应的信息或命令,向服务设备的显示界面显示出的也可以是“查找不到结果”的语句。

其中,在第一语句的各个词语中有多个词语的语义关联度高于第一阈值,则可以对超过该第一阈值的各个词语做进一步的判断,提取出语义关联度最高的两个词语,如,服务设备接收到“查找张三李四资料”,其中“张三”的语义关联度为0.8,“李四”的语义关联度为0.85,其它词的语义关联度较低,则可以提取出“张三”和“李四”这两个词。可选的,确定语义关联度最高的两个词语包括:判断两个词语对应的语义关联度的绝对值是否低于等于第二阈值;若判断出两个词语对应的语义关联度的绝对值低于等于第二阈值,无法确定核心关键词。其中,该第二阈值可以是预先设置的,例如,将第二阈值设置为0.1,若判断出两个词语的语义关联度的绝对值低于该第二阈值,则可以确定这两个词语都可以作为关键词。在呈现给用户的执行结果时,可以向用户发出查找哪一个词,也可以是将这两个词语的执行结果都呈现给用户。

根据本发明实施方式,可以先接收第一语句,对第一语句分词得到多个词语,这里,可以进一步进行词法分析,依据常见的词法搭配进行词块聚合,并识别出时间、地点、人名、机构名等专有名词以及量词,然后,可以使用多个词语与预先配置的多个模板进行匹配;其中,在该实施方式中,可以将多个词语与定义的所有模板分别进行匹配。

可选的,在提取关键词时,可以先定位一个核心词,基于核心词向右向左进行匹配,该核心词的确定可以根据模板来确定,不同模板对应不同的核心词,每个核心词对应的词典词语也会不同,每个模板都会对应有一个核心词,多个词语在模板的核心词词典中有对应的词语,即为核心词。模板由若干个语义元组成,每个语义元都有一个权重代表该语义元对模板的语义贡献度,在匹配过程中引入三个指标来衡量多个词语和模板的语义关联度:分别为多个词语与(一个)模板中被成功匹配上的语义元的语义贡献度的和语义贡献度的和占所在模板所有语义元语义贡献度的总和的百分比以及多个词语中被成功识别匹配上对应语义元的词语,关于第一语句中的语义贡献度总和,占多个词语关于第一语句语义贡献度总和的百分比(该语义贡献度的计算可以通过统计方法实现)。

可选的,可以获取语义关联度最高的模板(即第一模板),根据多个词语与各个模板的语义关联度,对模板进行排序,获取语义关联度最高的模板作为第一模板。模板的排序过程中,为了避免语义关联度求取的偏差,在对模板进行比较排序的过程中,如果两个模板对应语义关联度的距离差距小于某一阈值,则认为两个模板的语义关联度相当。对于第一模板的选择,若出现上述两个模板语义关联度相当的情况,需要进一步对上述多个词语进行句法分析,解析出多个词语间的语法依存关系,并根据被成功匹配上的词语之间的修饰与被修饰的关系,获取与核心词相关的属性词,省略不相关的词,重新计算语义关联度,进行比较。可选的,获取多个词语中与第一模板中的语义元匹配成功的词语,作为的一个或多个关键词,然后,可以从预先存储的内容中查找到一个或多个第一关键词对应的信息或命令,呈现信息或命令的执行结果。

下面是根据本发明的具体实施例。

本发明实施例提供了一种应用于特定领域聊天机器人的自然语言理解方法,不仅能够在语料资料不足的情况下,对自然语言进行合理的语义解析,定位用户的需求,作出准确的决策,并且能够解析句子中词与词之间的语义关联,准确跟踪任务状态。其中,服务设备是聊天机器人,第一语句是查询语句,用户可以是管理员,关键词为核心词。

图2是根据本发明实施例的一种可选的自然语言处理方法的流程图二,如图2所示,该方法包括如下步骤:

步骤S201,接收查询语句。如图3所示,在用户启动该聊天机器人(将该聊天机器人命名为bimbot)后,用户可以输入相关信息,聊天机器人对用户输入的信息进行验证,得到用户输入的验证信息是否正确,若正确,可以进入如图3所示的初始界面,也可以得到用户的权限信息,即用户可以做的操作有哪些,若用户输入的语句中超出了用户本身的权限,则可以向用户发出“您的权限不到,无法为您进行相关服务”的语句。

可选的,初始界面中,可以显示出用户可以做的基本操作。如用户输入“严洁”,聊天机器人可以将“严洁”的相关资料呈现出来,供用户查看。在初始界面还可以显示出当前时间,让用户实时知道时间信息。在聊天机器人的显示界面可以显示出可供用户输入语句的输入框,用户可以在该输入框输入查询语句或者其它语句。

步骤S203,对查询语句进行分词。根据常见的词法搭配进行词块聚合,识别出查询语句中的专有名词或量词,其中,专有名词可以包括包含时间、地点、人名、机构名等,量词可以包括数字、重量、长度等。

步骤S205,确定查询语句中的核心词。

在确定核心词之前,判断查询语句是否存在核心词,若存在核心词,以该核心词为起点向左向右搜索进行词块匹配;若不存在核心词,可以分别对查询语句进行正序和逆序扫描、匹配搜索,找到一个或多个任务核心词。

其中,在进行词块匹配的过程中,针对各个领域的任务类型,可以引入词网,建立各个任务核心词与其他词的语义关联度。若查询语句是特殊语句,可以对该特殊语句进行相应的语义识别,对于不同查询语句的语境进行特殊定制。

可选的,在匹配过程中,引入三个相关指标:决定命中分数总和、查询语句与核心词的公共部分在对应核心词的模板中的占比以及查询语句与核心词的公共部分在对应查询语句中的占比(根据核心词分析计算查询语句中各个词语的重要度)

如图4所示,用户输入“预定会议室”,聊天机器人可以分析出“会议室”为核心词,该语句中还包括用户要进行的会议操作,在确定出核心词后,可以确定出与该核心词相关的属性词,在图4所示的内容中,确定出属性词有时间、地点、时间段、人数等属性词,将属性词与核心词中的任务类型显示的结果做比较,得出向用户发出“指定会议时间”的结果,并列举出相关时间例子。在接收到用户的语句后,可以再次发出与核心词相关的语句,在图4所示的内容,聊天机器人发出“请问预定哪个会议室”的语句,该语句中包括核心词与地点属性词,还向用户提供了可供用户选择的地点选项。

步骤S207,根据核心词确定对应的模板。

可选的,在确定查询语句的核心词后,可以确定查询语句的任务类型,可选的,在对查询语句分词时,会出现偏差,可以对该偏差值设定一个阈值,若偏差值低于等于该阈值,可以认为无法确定该查询语句的任务类型,可以将该阈值设置为T。例如,若查询语句中有两个任务类型A和B,且任务类型A与任务类型B的绝对值低于等于T,则认为结果无法区分,即任务类型属于A和B的无法确认,这时,可以发送一个任务类型给用户,让用户做出选择,也可以将两个任务类型对应的执行结果找到。

可选的,在确定出任务类型后,可以根据任务类型和核心词所在的语义元得到该查询语句对应的模板。

步骤S209,输出与模板对应的执行结果。

其中,该结果中可以包括供用户选择的选项,例如,选择会议的时间、地点。用户可以根据服务设备(即聊天机器人)提供的选项,选择一个执行结果。

可选的,可以基于核心词关联块,提取关键词的相关属性,并计算与核心词的语义关联度。另一种可选的实施方式,可以基于查询语句的语法结构,进行属性关系分析;也可以针对每一个属性,调用特定的识别方法,确定查询语句中的核心词或者查询语句所属的任务类型。

可选的,在计算查询语句中的各个词语与核心词的关联度在查询语句中的语义重要度的时候,可以依据核心词区域在查询语句中的占比,或者核心词与动词的搭配,以及查询语句中的语义扮演的角色计算出查询语句中核心词的语义重要度。

对于属性词中的时间词可以时间实体识别,并提取连续时间词块,也可以结合句法依存关系和时间词的类别(如年、月、日、小时、分钟)确认单位时间词块。可选的,对于时间词还可以定位具体时间,在如图4所示的内容,根据会议与时间词搭配原则确认会议的属性。其中,搭配原则可以包括:准确精度为小时、将来一周内的时间。另一种可选的,在对属性词中的地点进行定位的时候,可以在有多个地点词出现时,根据地点词的位置关系、句法依存关系以及固定词搭配确定是否属于核心词的属性词。

在图5所示的示意图中,聊天机器人与用户进行进一步地交互,包括向用户发出“请问预定多长时间的会议室”的语句,以及可供用户进行选择的选项,用户可以在查看到这些内容后,发出与之对应的语句。若用户在输入语句的过程中受到干扰,发出错误信息,则聊天机器人可以发出“输入信息有误,请重新输入”的语句。在接收到用户发出的信息后,可以向用户发出与核心词对应的信息或命令语句,以及与该信息或命令的执行结果,如图5中,聊天机器人发出“会议的主题是什么”,用户在输入与该语句对应的内容后,可以将与核心词对应的所有结果显示出来。例如,在图3到图5中,核心词可以为会议室,则可以向用户输入的预定会议室地理位置,以及预定的时间段、参加会议的人数、会议的主题等内容。这样,用户可以通过该聊天机器人得到相应的结果,使得用户与该聊天机器人的交互更加流畅,用户的体验感也会有相应的上升。

本发明实施例可以在每个环节对核心词或者属性词跟踪过程中,针对不同的领域以及不同的语言处理模块处理机制各不相同。可以在缺乏语料的情况下,自主构建特定领域对话机器人系统,结合人工规则和自然语言技术解决方案,能做到不强依赖与特定语料,同时结合通用自然语言处理技术实现对自然语言语义层面的解析,实现无界限的人机对话系统。

图6是根据本发明实施例的另一种可选的自然语言处理装置的结构图,如图6所示,该装置包括:接收单元61,用于接收第一语句,其中,第一语句为自然语言表达的语句;提取单元63,用于提取第一语句的一个或多个关键词;查找单元65,用于查找到一个或多个关键词对应的信息或命令;呈现单元67,用于呈现信息或命令的执行结果。

通过上述实施例,可以利用服务设备中接收单元61接收第一语句,其中,该第一语句可以为自然语言表达的语句,在接收到第一语句后,可以通过提取单元63提取第一语句中的一个或多个关键词,并通过查找单元65查找到一个或多个关键词对应的信息或命令,最后,可以通过呈现单元67在显示界面中呈现该信息或命令的执行结果。本发明实施例可以根据通过分析自然语言所表述的语句,提取出关键词,并根据该关键词查找到语句对应的信息,可以较为准确的得出自然语言对应的信息或命令,解决无法准确确定自然语言对应的信息的技术问题。

可选的,提取单元包括:分词模块,用于对第一语句进行分词得到多个词语;匹配模块,用于使用多个词语与预先配置的多个模板进行匹配,其中,模板是指由多个语义元组成的连贯语义模式,每个语义元有预先设定的与模板对应的语义贡献度,语义元是指具有相同或近似语义的关键词集合;第一获取模块,用于从多个模板中获取第一模板,第一模板是指与多个词语部分或全部语义关联度最高的模板;第二获取模块,用于获取多个词语中与第一模板中的语义元匹配成功的词语,将匹配成功的词语作为关键词。

另一种可选的实施方式,装置还包括:第二呈现单元,用于在查找到一个或多个关键词对应的信息或命令之后,信息或命令的执行结果不唯一的情况下,呈现提示信息,其中,提示信息用于指示输入属性参数;接收第二语句,并从第二语句中获取属性参数;第一呈现单元包括:呈现模块,用于根据属性参数呈现信息或命令的执行结果。

其中,一个或多个关键词包括:用于查找信息或命令的第一关键词、和用于标识属性参数的第二关键词,查找单元包括:查找模块,用于根据第一关键词查找与第一关键词对应的信息或命令,其中,第二关键词作为信息或命令的属性参数。

可选的,查找模块包括:使用子模块,用于使用第一关键词,作为预先配置的至少一个决策的输入;获取子模块,用于获取至少一个决策中的最优决策对应的信息或命令。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1