首页> 中国专利> 自然语言识别模型生成、自然语言处理方法及设备

自然语言识别模型生成、自然语言处理方法及设备

摘要

本说明书一个或多个实施例提供一种自然语言识别模型生成、自然语言处理方法及设备,方法包括:获取训练模型的训练后的权重参数、以及训练训练模型使用的字典;训练模型为基于第一编程语言构建的神经网络模型;将权重参数转化为第一预设格式的数据;将字典转化为第二预设格式的数据;将第一预设格式的数据和第二预设格式的数据载入基于第二编程语言编写的推理模型中,得到自然语言识别模型;可见,本方案中,自然语言识别模型是由推理模型载入权重参数和字典得到的,由于推理模型不涉及训练过程,推理模型的数据量小于训练模型,进而减少了自然语言识别模型的数据量。

著录项

  • 公开/公告号CN113111642A

    专利类型发明专利

  • 公开/公告日2021-07-13

    原文格式PDF

  • 申请/专利权人 京东方科技集团股份有限公司;

    申请/专利号CN202010032878.9

  • 发明设计人 梁天新;

    申请日2020-01-13

  • 分类号G06F40/279(20200101);G06F40/242(20200101);

  • 代理机构11403 北京风雅颂专利代理有限公司;

  • 代理人张聪聪

  • 地址 100015 北京市朝阳区酒仙桥路10号

  • 入库时间 2023-06-19 11:49:09

说明书

技术领域

本说明书一个或多个实施例涉及自然语言技术领域,尤其涉及一种自然语言识别模型生成、自然语言处理方法及设备。

背景技术

自然语言处理(NLP,Natural Language Processing)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。目前,各种电子设备,比如,手机、电脑、车载设备、智能家居等等,都需要与用户进行交互,交互过程通常都涉及自然语言处理。

一些相关方案中,通常基于编程语言(如BASIC、JAVA、C、C++、python等)构建神经网络,然后通过语料数据对该神经网络进行训练得到识别模型,将该识别模型配置到电子设备中,该识别模型可以对用户的语言进行解析处理。

但是,识别模型数据量较大,占用电子设备的内存量较大,进而会降低电子设备的响应速度。

发明内容

有鉴于此,本说明书一个或多个实施例的目的在于提出一种自然语言识别模型生成、自然语言处理方法及设备,以减少自然语言识别模型的数据量。

基于上述目的,本说明书一个或多个实施例提供了一种自然语言识别模型生成方法,包括:

获取训练模型的训练后的权重参数、以及训练所述训练模型使用的字典;所述训练模型为基于第一编程语言构建的神经网络模型;

将所述权重参数转化为第一预设格式的数据;

将所述字典转化为第二预设格式的数据;

将所述第一预设格式的数据和所述第二预设格式的数据载入基于第二编程语言编写的推理模型中,得到自然语言识别模型。

可选的,所述将所述权重参数转化为第一预设格式的数据,包括:

将所述权重参数转化为PB模型文件;

将所述PB模型文件转化为.lite格式的文件,作为第一预设格式的数据。

可选的,所述第二预设格式的数据为.pkl格式的字典;

所述将所述第一预设格式的数据和所述第二预设格式的数据载入基于第二编程语言编写的推理模型中,得到自然语言识别模型,包括:

基于BERT模型,通过CUDA配置NAIDIA程序,作为推理模型;

将所述.lite格式的文件和所述.pkl格式的字典载入所述推理模型,得到自然语言识别模型。

可选的,所述获取训练模型的训练后的权重参数、以及训练所述训练模型使用的字典,包括:

获取语料数据以及所述语料数据对应的字典;

对所述语料数据进行增强处理,得到增强处理后的语料数据;

基于所述增强处理后的语料数据及所述字典,对训练模型进行训练,得到训练完成的权重参数。

可选的,所述对所述语料数据进行增强处理,得到增强处理后的语料数据,包括:

采用如下任意一种或多种增强方式,对所述语料数据进行增强处理,得到增强处理后的语料数据:

将所述语料数据中的关键词进行同义词替换;

按照预设删除方式,删除所述语料数据中的非关键词;

按照预设插入方式,在所述语料数据中插入关键词;

按照预设位置互换方式,将所述语料数据中的关键词互换位置。

基于上述目的,本说明书一个或多个实施例还提供了一种自然语言处理方法,包括:

获取待处理自然语言;

对所述待处理自然语言进行泛化处理,得到泛化后的语言;所述泛化后的语言中包括识别出的实体和意图;

将所述泛化后的语言输入至基于权利要求1-5任意一项得到的自然语言识别模型,所述自然语言识别模型基于正向样例输出意图标识;

基于所述意图标识和所述实体,获取所述待处理自然语言对应的回复信息。

可选的,所述基于所述意图标识和所述实体,获取所述待处理自然语言对应的回复信息,包括:

在预设数据库中,查找所述意图标识和所述实体对应的回复信息。

可选的,所述方法还包括:

若所述自然语言识别模型未输出意图标识,则将所述待处理自然语言添加至所述正向样例中。

基于上述目的,本说明书一个或多个实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任意一种自然语言识别模型生成方法、或者任意一种自然语言处理方法。

基于上述目的,本说明书一个或多个实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述任意一种自然语言识别模型生成方法、或者任意一种自然语言处理方法。

本发明所示实施例中,获取训练模型的训练后的权重参数、以及训练训练模型使用的字典;训练模型为基于第一编程语言构建的神经网络模型;将权重参数转化为第一预设格式的数据;将字典转化为第二预设格式的数据;将第一预设格式的数据和第二预设格式的数据载入基于第二编程语言编写的推理模型中,得到自然语言识别模型;可见,本方案中,自然语言识别模型是由推理模型载入权重参数和字典得到的,由于推理模型不涉及训练过程,推理模型的数据量小于训练模型,进而减少了自然语言识别模型的数据量。

附图说明

为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种自然语言识别模型生成方法的流程示意图;

图2为本发明实施例提供的一种自然语言处理方法的流程示意图;

图3为本发明实施例提供的一种具体实施方式示意图;

图4为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。

需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。

为了达到上述目的,本发明实施例提供了一种自然语言识别模型生成、自然语言处理方法及设备,该方法可以应用于各种电子设备,具体不做限定。下面首先对自然语言识别模型生成方法进行详细介绍。

图1为本发明实施例提供的一种自然语言识别模型生成方法的流程示意图,包括:

S101:获取训练模型的训练后的权重参数、以及训练该训练模型使用的字典;该训练模型为基于第一编程语言构建的神经网络模型。

举例来说,第一编程语言可以为python或者JAVA等高级语言,具体不做限定。

一种情况下,可以先基于第一编程语言构建神经网络模型,作为初始训练模型,也就是待训练的训练模型。然后基于语料数据及语料数据对应的字典,对该初始训练模型进行训练,得到训练完成的训练模型。获取该训练完成的训练模型的权重参数,也就是训练模型的训练后的权重参数。

一种实施方式中,S101可以包括:获取语料数据以及所述语料数据对应的字典;对所述语料数据进行增强处理,得到增强处理后的语料数据;基于所述增强处理后的语料数据及所述字典,对训练模型进行训练,得到训练完成的权重参数。

本实施方式中,对语料数据进行增强处理,可以获得更丰富的语料数据,利用更丰富的语料数据对训练模型进行训练,训练结果的准确度更高。

举例来说,可以采用如下任意一种或多种增强方式,对所述语料数据进行增强处理,得到增强处理后的语料数据:

将所述语料数据中的关键词进行同义词替换;

按照预设删除方式,删除所述语料数据中的非关键词;

按照预设插入方式,在所述语料数据中插入关键词;

按照预设位置互换方式,将所述语料数据中的关键词互换位置。

一般来说,语料数据中通常包括实体和意图,语料数据中的关键词可以理解为实体的代称。上述对语料数据进行增强处理的过程中,可以不改变语料数据中的意图。

上述预设删除方式可以为随机删除,或者也可以为其他删除方式,具体不做限定。上述预设插入方式可以为随机插入,或者也可以为其他插入方式,具体不做限定。上述预设位置互换方式可以为随机选择两个位置进行互换,具体不做限定。

S102:将该权重参数转化为第一预设格式的数据。

S102中对权重参数进行格式转化,一方面,将权重参数转化为推理模型能够读取的格式,另一方面,可以对权重参数进行合并、删减等处理,减少权重参数的数据量。

一种实施方式中,S102可以包括:将所述权重参数转化为PB模型文件;将所述PB模型文件转化为.lite格式的文件,作为第一预设格式的数据。

将权重参数转化为PB(ProtocolBuffer,协议缓冲))模型文件,可以理解为:将权重参数固化到图文件中,以及合并一些基础计算,删除反向传播相关计算等等。这样,可以减少权重参数的数据量。

.lite格式的文件为一种更轻量的格式文件,将PB模型文件进一步转化为.lite格式的文件,进一步减少了权重参数的数据量。

S103:将该字典转化为第二预设格式的数据。

上述对训练模型进行训练过程中,使用到了字典,字典可以理解为语料数据的目录。S103中对字典进行格式转化,可以将字典转化为推理模型能够读取的格式。一种实施方式中,可以将字典转化为.pkl格式。

S104:将第一预设格式的数据和第二预设格式的数据载入基于第二编程语言编写的推理模型中,得到自然语言识别模型。

举例来说,第二编程语言可以为C语言,可以基于CUDA(Compute Unified DeviceArchitecture,网络统一计算架构)平台编写推理模型。CUDA是显卡厂商NVIDIA推出的运算平台。一方面,该推理模型不涉及训练过程,推理模型的数据量小于训练模型。另一方面,基于CUDA平台编写的推理模型贴近NVIDIA硬件的底层语言,运行速度快。

一种实施方式中,S104可以包括:基于BERT模型,通过CUDA配置NAIDIA程序,作为推理模型;将所述.lite格式的文件和所述.pkl格式的字典载入所述推理模型,得到自然语言识别模型。

一种情况下,上述内容中的训练模型可以为基于BERT(Bidirectional EncoderRepresentations from Transformers,双向转换器的编码器)模型编写的;这种情况下,可以通过CUDA配置BERT-NAIDIA程序代码,也就是通过CUDA按照BERT模型重构程序代码,作为推理模型。

训练模型和推理模型可以理解为“同源异构”的模型,同源是指二者都基于BERT模型编写,异构是指二者的编写语言及模型结构均不同。

上述内容中,将训练后的权重参数转化为.lite格式,将字典转化为.pkl格式,基于CUDA平台编写的推理模型可以读取并载入.lite格式和.pkl格式的数据。推理模型载入权重参数和字典后,便得到了自然语言识别模型。

一种情况下,训练模型的语料数据中可以包括正向样例和负向样例。正向样例中可以包括分类后的数据,负向样例可以理解为不能归入这些分类数据的其他数据。举例来说,假设正向样例中包括A、B、C、D四种类型的数据,不能归为这四种类型的数据即为负向样例;训练后的训练模型可以识别A、B、C、D四种类型的数据。这种情况下,自然语言识别模型可以读取正向样例,以进行自然语言的识别。

应用本发明所示实施例,第一方面,自然语言识别模型是由推理模型载入权重参数和字典得到的,由于推理模型不涉及训练过程,推理模型的数据量小于训练模型,进而减少了自然语言识别模型的数据量。第二方面,一种实施方式中,对语料数据进行增强处理,可以获得更丰富的语料数据,利用更丰富的语料数据对训练模型进行训练,训练结果的准确度更高。

下面介绍自然语言处理方法,图2为本发明实施例提供的一种自然语言处理的流程示意图,包括:

S201:获取待处理自然语言。

应用上述实施例中得到的自然语言识别模型,可以回答用户提出的问题。S201中的待处理自然语言可以为用户提出的问题。用户可以以文本形式提出问题,也可以以语音形式提出问题,具体不做限定。如果用户以语音形式提出问题,可以将该语音问题转化为文本形式的自然语言。

S202:对待处理自然语言进行泛化处理,得到泛化后的语言;所述泛化后的语言中包括识别出的实体和意图。

泛化处理可以理解为标准化处理、或者归一化处理,比如,可以抽取出自然语言中的实体和意图。可以理解,S201中获取的自然语言中携带有实体和意图,S202中可以识别出该自然语言的实体和意图。

S203:将泛化后的语言输入至自然语言识别模型,自然语言识别模型基于正向样例输出意图标识。

S203中的自然语言识别模型可以为上述内容中的任意一种自然语言识别模型。如上所述,训练模型的语料数据中可以包括正向样例和负向样例,自然语言识别模型可以读取正向样例,以进行自然语言的识别。自然语言识别模型的输出结果包括意图标识。

S204:基于该意图标识和该实体,获取待处理自然语言对应的回复信息。

一种实施方式中,S204可以包括:在预设数据库中,查找所述意图标识和所述实体对应的回复信息。举例来说,该预设数据库可以为Neo4j数据库,或者也可以为其他数据库,具体不做限定。可以将查找到的回复信息通过各种形式反馈给用户,比如文字形式、语音形式等等,具体不做限定。

一种实施方式中,如果自然语言识别模型未输出意图标识,可以将待处理自然语言添加至正向样例中。

将待处理自然语言添加至正向样例后,再获取到相同或相似的语言时,自然语言识别模型便可以基于新的正向样例,输出意图标识。进一步的,将待处理自然语言添加至正向样例后,下次再遇到用户提问相同或相似的问题,便可以对用户的问题进行答复。

可见,本实施方式中,遇到用户提问自然语言识别模型不能处理的问题时,不需要重新训练该识别模型,只需要将该问题添加至正向样例,下次再遇到用户提问相同或相似的问题,便可以对用户的问题进行答复。一方面,实现了识别模型的实时更新,提高了识别模型的识别率及健壮性;另一方面,不需要对识别模型重新进行训练,节省了计算资源。

下面参考图3介绍一种具体的实施方式:

在电子设备1中,使用python语言基于BERT模型编写训练模型。电子设备1获取语料数据,语料数据包括正向样例和负向样例;电子设备1可以对语料数据进行增强处理,基于增强后的语料数据、以及语料数据对应的字典对训练模型进行训练。电子设备1将训练模型的训练后的权重参数转化为PB模型文件,然后将该PB模型文件和该字典发送至电子设备2。

电子设备2可以为NVIDIA硬件设备。在电子设备2中,通过CUDA配置BERT-NAIDIA程序代码,也就是通过CUDA按照BERT模型重构程序代码,作为推理模型。该推理模型不涉及训练过程,推理模型的数据量小于训练模型。

电子设备2将电子设备1发送的PB模型文件转化为.lite格式,将电子设备1发送的字典转化为.pkl格式。基于CUDA平台编写的推理模型可以读取并载入.lite格式和.pkl格式的数据。推理模型载入.lite格式和权重参数和.pkl格式的字典后,便得到了自然语言识别模型。

此外,电子设备1还将正向样例发送至电子设备2,电子设备2中的自然语言识别模型基于该正向样例进行自然语言识别。

电子设备2可以为手机、电脑、车载设备、智能家居设备等各种电子设备,电子设备2可以回答用户提出的问题。电子设备2可以在离线状态下回答用户提出的问题。

电子设备2接收到用户提出的问题(待处理自然语言)后,对该问题进行泛化处理,通过泛化处理,可以识别出问题中的意图和实体。将泛化后的问题输入自然语言识别模型,自然语言识别模型基于正向样例,对该泛化后的问题进行识别,输出意图标识。然后在Neo4j数据库中,查找该意图标识和该实体对应的回复信息。可以将查找到的回复信息通过各种形式反馈给用户,比如文字形式、语音形式等等,具体不做限定。

如果自然语言识别模型未输出意图标识,可以将该问题添加至正向样例中。这样,下次再遇到用户提问相同或相似的问题时,自然语言识别模型便可以基于新的正向样例,输出意图标识,进而,便可以对用户的问题进行答复。

应用本发明所示实施例,第一方面,自然语言识别模型是由推理模型载入权重参数和字典得到的,由于推理模型不涉及训练过程,推理模型的数据量小于训练模型,进而减少了自然语言识别模型的数据量;将该自然语言识别模型配置到电子设备中,占用电子设备的内存量较小,进而提高了电子设备的响应速度。

第二方面,基于CUDA平台编写的推理模型贴近NVIDIA硬件的底层语言,运行速度快,在与用户进行问答交互的过程中,响应速度快。

第三方面,上述一种实施方式中,遇到用户提问自然语言识别模型不能处理的问题时,不需要重新训练该识别模型,只需要将该问题添加至正向样例,下次再遇到用户提问相同或相似的问题,便可以对用户的问题进行答复。既实现了识别模型的实时更新,提高了识别模型的识别率及健壮性;而且不需要对识别模型进行重新训练,节省了计算资源。

第四方面,一些情况下,不同的硬件或者软件场景中,需要使用不同的编程语言,而使用不同编程语言得到的识别模型不兼容。比如,基于python语言得到的识别模型不能应用于使用C语言的场景中,如果需要在C语言的场景中进行自然语言识别,只能重新训练得到适用于C语言的识别模型,训练过程耗费较多计算资源。而应用本方案,可以将基于第一编程语言(比如python)得到的训练模型的训练后的权重参数、以用训练该训练模型使用的字典,载入基于第二编程语言(比如C语言)编写的推理模型中,得到自然自然语言识别模型;也就是说,在使用第二编程语言场景下,不需要重新训练得到识别模型,只需要载入权重参数和字典即可,省去了训练过程,节省了计算资源。

需要说明的是,本说明书一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

与上述方法实施例相对应,本发明实施例还提供了一种电子设备,如图4所示,包括存储器402、处理器401及存储在存储器402上并可在处理器401上运行的计算机程序,所述处理器执行所述程序时实现如上述任意一种自然语言识别模型生成方法、或者任意一种自然语言处理方法。

处理器401可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。

存储器402可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器402可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器402中,并由处理器401来调用执行。

需要说明的是,尽管上述设备仅示出了处理器401和存储器402,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。

本发明实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述任意一种自然语言识别模型生成方法、或者任意一种自然语言处理方法。。

本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。

另外,为简化说明和讨论,并且为了不会使本说明书一个或多个实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本说明书一个或多个实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本说明书一个或多个实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本说明书一个或多个实施例。因此,这些描述应被认为是说明性的而不是限制性的。

尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。

本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号