CN111950295A - 一种训练自然语言处理模型的方法和系统 - Google Patents
一种训练自然语言处理模型的方法和系统 Download PDFInfo
- Publication number
- CN111950295A CN111950295A CN202010794536.0A CN202010794536A CN111950295A CN 111950295 A CN111950295 A CN 111950295A CN 202010794536 A CN202010794536 A CN 202010794536A CN 111950295 A CN111950295 A CN 111950295A
- Authority
- CN
- China
- Prior art keywords
- model
- language
- training
- updated
- natural language
- 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.)
- Pending
Links
- 238000012549 training Methods 0.000 title claims abstract description 163
- 238000003058 natural language processing Methods 0.000 title claims abstract description 109
- 238000000034 method Methods 0.000 title claims abstract description 77
- 230000008569 process Effects 0.000 claims abstract description 43
- 230000006870 function Effects 0.000 claims description 45
- 238000012545 processing Methods 0.000 claims description 41
- 239000013598 vector Substances 0.000 claims description 28
- 238000013145 classification model Methods 0.000 claims description 19
- 238000007781 pre-processing Methods 0.000 claims description 11
- 230000008451 emotion Effects 0.000 claims description 7
- 230000015654 memory Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 12
- 238000012986 modification Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 9
- 238000010801 machine learning Methods 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 230000002996 emotional effect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 238000012806 monitoring device Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000007935 neutral effect Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000010977 jade Substances 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Medical Informatics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Machine Translation (AREA)
Abstract
本申请实施例公开了一种训练自然语言处理模型方法及系统。所述方法包括:获取语言训练样本以及初始模型,所述初始模型包括第一模型以及第二模型,所述第一模型至少包含编码器,所述第二模型至少包含所述第一模型的编码器;以及利用所述语言训练样本,经过迭代训练过程训练所述初始模型以生成自然语言处理模型,其中,所述迭代训练过程包括一次或以上的迭代,所述编码器在每一次迭代中被更新两次。本申请在训练执行具体自然语言处理任务的第二模型时,先通过训练编码器的方式对语言训练样本进行预处理,可以解决自然语言处理过程中数据集较大的问题,提高训练效率以及准确率。
Description
技术领域
本申请涉及自然语言处理领域,特别涉及一种训练自然语言处理模型的方法和系统。
背景技术
近年来,自然语言处理(NLP,Natural Language Processing)作为研究人与计算机交互的语言问题的基础,其融合了语言学、计算机科学、数学科学等,也是人工智能的核心课题之一。
目前,在例如语义分析、情感分类等具体的自然语言处理任务中,通常需要将海量的输入文本或语音转换文本数据,影响自然语言处理系统的效率及性能。
发明内容
本申请实施例之一提供一种训练自然语言处理模型的方法,以提高自然语言处理模型的训练效果和/或训练效率。
本申请实施例之一提供一种训练自然语言处理模型的方法。该方法包括获取语言训练样本以及初始模型,所述初始模型包括第一模型以及第二模型,所述第一模型至少包含编码器,所述第二模型至少包括所述第一模型的编码器。该方法进一步包括利用所述语言训练样本,经过迭代训练过程训练所述初始模型以生成自然语言处理模型。其中,所述迭代训练过程包括一次或以上的迭代,所述编码器在第一次迭代中被更新两次。
本申请实施例之一提供一种训练自然语言处理模型的系统。所述系统包括获取模块和训练模块。所述获取模块用于获取语言训练样本以及初始模型,所述初始模型包括第一模型以及第二模型,所述第一模型至少包含编码器,所述第二模型至少包括所述第一模型的编码器。所述训练模块用于利用所述语言训练样本,经过迭代训练过程训练所述初始模型以生成自然语言处理模型。其中,所述迭代训练过程包括一次或以上的迭代,所述编码器在每一次迭代中被更新两次。
本申请实施例之一提供一种训练自然语言处理模型的装置,包括处理器,所述处理器用于执行上述训练自然语言处理模型的方法。
本申请实施例之一提供一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机执行上述训练自然语言处理模型方法。
附图说明
本申请将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本申请一些实施例所示的自然语言处理系统的应用场景示意图;
图2是根据本申请一些实施例所示的处理引擎的模块图;
图3是根据本申请一些实施例所示的训练自然语言处理模型的示例性流程图;
图4A是根据本申请一些实施例所示用于执行迭代训练过程中的一次当前迭代的示例性流程图;
图4B是根据本申请一些实施例所示的图4A中流程400的示例性示意图;
图5是根据本申请一些实施例所示的更新当前迭代中的第一模型的示例性流程图;以及
图6是根据本申请一些实施例所示的更新当前迭代中的第二模型的示例性流程图。
具体实施方式
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
图1是根据本申请一些实施例所示的自然语言处理系统100的应用场景示意图。
自然语言处理系统100可以用于自然语言处理领域。例如,自然语言处理系统100可以训练自然语言处理模型,例如语序确定模型、语言分类模型和语言预处理模型等模型。又例如,自然语言处理系统100可以应用自然语言处理模型执行诸如语言分类、语序确定、语言预处理等自然语言处理任务。自然语言处理系统100可以是用于各种领域,例如,处理各种情境中的自然语言。在一些实施例中,自然语言处理系统100可以应用于提供互联网服务的线上服务平台。例如,该自然语言处理系统100可以应用于提供运输服务的网约车平台,其中所述网约车平台可以提供诸如出租车呼叫、快车呼叫、专车呼叫、小巴呼叫、拼车、公交服务、司机雇佣和接送服务等运输服务。自然语言处理系统100可以生成适用于网约车平台的自然语言处理模型。此外地或可替代地,自然语言处理系统100可以应用该自然语言处理模型对网约车平台中生成的自然语言(例如,司机和乘客之间的通信记录、乘客提交的评价信息等)进行分析。又例如,该自然语言处理系统100还可以用于快递平台、外卖平台等。
如图1所示,所述自然语言处理系统100可以包括服务器110、网络120、终端130、存储设备140和数据源150。
在一些实施例中,服务器110可以是一个单个的服务器或者一个服务器群组。所述服务器群组可以是集中式的或分布式的(例如,服务器110可以是一个分布式的系统)。在一些实施例中,服务器110可以是本地的或远程的。例如,服务器110可以通过网络120访问存储在终端130、存储设备140和/或数据源150中的信息和/或数据。再例如,服务器110可以直接连接到终端130、存储设备140和/或数据源150以访问存储的信息和/或数据。在一些实施例中,服务器110可以从终端130、存储设备140和/或数据源150处获取用以训练初始模型的语言训练样本。在一些实施例中,服务器110可以在一个云平台上实现。仅仅作为示例,所述云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多重云等或上述举例的任意组合。
在一些实施例中,服务器110可以包括处理引擎112。处理引擎112可以执行一个或多个本申请实施例描述的功能。例如,处理引擎112可以利用语言训练样本训练初始模型,以生成自然语言处理模型。又例如,处理引擎112可以应用所述自然语言处理模型以执行特定的自然语言处理任务(例如,语言分类)。在一些实施例中,自然语言处理模型的生成和/或更新可以在某处理设备上执行,而自然语言处理模型的应用可以在另一处理设备上执行。在一些实施例中,自然语言处理模型的生成和/或更新可以在不同于自然语言处理系统100的系统的处理设备上或者不同于包括进行自然语言处理模型应用的处理引擎112的服务器上进行。例如,自然语言处理模型的生成和/或更新可以在供应商的第一系统上执行,该供应商提供和/或维护自然语言处理模型和/或可以使用语言训练样本来确定和/或更新自然语言处理模型。而基于提供的自然语言处理模型执行特定的自然语言处理任务可以在供应商的客户的第二系统上执行。在一些实施例中,可以响应于自然语言处理请求,对自然语言模型进行在线生成和/或更新。在一些实施例中,自然语言处理模型的生成和/或更新可以离线进行。
网络120可以促进信息和/或数据的交换。在一些实施例中,自然语言处理系统100中的一个或多个部件(例如,服务器110、终端130、存储设备140和/或数据源150等)可以通过网络120向自然语言处理系统100中的其他部件发送信息和/或数据。例如,服务器110可以通过网络120从终端130获取训练初始模型的语言训练样本。又例如,服务器110可以通过网络120从数据源150获取训练初始模型的语言训练样本。在一些实施例中,网络120可以是有线网络或无线网络中的任意一种,或其组合。例如,网络120可以包括电缆网络、有线网络、光纤网络、远程通信网络、内联网、互联网、局域网(LAN)、广域网(WAN)、无线局域网(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙网络、ZigBee网络、近场通讯(NFC)网络等或上述举例的任意组合。在一些实施例中,网络120可以包括一个或多个网络接入点。例如,网络120可以包括有线或无线网络接入点,如基站和/或互联网交换点120-1、120-2等。通过接入点,自然语言处理系统100的一个或多个部件可以连接到网络120以交换数据和/或信息。
在一些实施例中,终端130可以是用户终端,也可以是交通工具的内建装置。用户终端可以包括移动装置130-1、平板电脑130-2、膝上型电脑130-3等。在一些实施例中,移动装置130-1可以包括智能家居装置、可穿戴装置、智能行动装置、虚拟实境装置、增强实境装置等,或以上任意组合。在一些实施例中,智能家居装置可以包括智能照明装置、智能电器的控制装置、智能监测装置、智能电视、智能摄像机、对讲机等,或以上任意组合。在一些实施例中,可穿戴装置可包括智能手环、智能鞋袜、智能眼镜、智能头盔、智能手表、智能衣物、智能背包、智能配饰等,或以上任意组合。在一些实施例中,智能行动装置可以包括智能电话、个人数位助理(PDA)、游戏装置、导航装置、POS装置等,或其任意组合。在一些实施例中,虚拟实境装置和/或增强实境装置可以包括虚拟实境头盔、虚拟实境眼镜、虚拟实境眼罩、增强实境头盔、增强实境眼镜、增强实境眼罩等,或上述任意组合。在一些实施例中,交通工具的内建装置可以包括行车记录仪130-4、录音设备、监控设备等。在一些实施例中,终端130可以获取用于训练初始模型的语言训练样本发送至服务器110。例如,用户的智能电话可以将用户通过打字、语音等方式输入的自然语言发送至服务器110以作为语言训练样本。
在一些实施例中,存储设备140可以存储数据和/或信息。在一些实施例中,存储设备140可以存储从服务器110、终端130和/或数据源150获得的数据和/或信息。在一些实施例中,存储设备140可以存储供服务器110执行的指令或使用的数据和/或信息,服务器110可以通过执行所述指令或使用所述数据和/或信息以实现本申请描述的示例性方法。在一些实施例中,存储设备140可以与网络120连接以实现与自然语言处理系统100中的一个或多个其他部件(例如,服务器110、终端130、数据源150等)之间的通信。自然语言处理系统100中的一个或多个其他部件可以通过网络120访问存储在存储设备140中的数据和/或信息。在一些实施例中,存储设备140可以直接与自然语言处理系统100的一个或多个部件(例如,服务器110、终端130、数据源150等)连接或通信。在一些实施例中,服务器110、终端130和数据源150中可以分别设有存储设备140,也可以在自然语言处理系统100内单独设置独立的存储设备。例如,服务器110可以有集成的存储设备,也可以有独立设置的存储设备(如大数据服务器)。在一些实施例中,存储设备140可以包括大容量存储器、可移动存储器、挥发性读写存储器、随机存储器、只读存储器(ROM)等或上述举例的任意组合。示例性的大容量存储器可以包括磁盘、光盘、固态硬盘等。示例性的可移动存储器可以包括闪存盘、软盘、光盘、记忆卡、压缩硬盘、磁带等。示例性的挥发性只读存储器可以包括随机存储器(RAM)。示例性的随机存储器可以包括动态随机存储器(DRAM)、双数据率同步动态随机存储器(DDRSDRAM)、静态随机存储器(SRAM)、可控硅随机存储器(T-RAM)和零电容存储器(Z-RAM)等。示例性的只读存储器可以包括掩蔽型只读存储器(MROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、压缩硬盘只读存储器(CD-ROM)和数字多功能硬盘只读存储器等。在一些实施例中,存储设备140还可以在一个云平台上实现。例如,所述云平台可以包括私有云、公共云、混合云、社区云、分布云、云之间、多重云等或上述举例的任意组合。
在一些实施例中,数据源150可以包括为自然语言处理系统100提供信息的一个或多个来源。例如,数据源150可以用于为自然语言处理系统100提供语言训练样本。数据源150可以是一个单独的中央服务器的形式存在,也可以是以多个通过网络连接的服务器的形式存在,还可以是以大量的个人终端设备形式存在。当数据源150以大量个人终端设备形式存在时,例如,司机或用户等可以通过个人终端设备输入语言操作指令时,这些终端设备可以通过一种用户生成内容(user-generated contents)的方式,例如向云端服务器上传文字、语音、图像、视频等,从而使云端服务器连通与其连接的多个个人终端设备一起组成数据源150。
图2是根据本申请一些实施例所示的处理引擎112的模块图。
如图2所示,该处理引擎112可以包括获取模块210、训练模块220、处理模块230。
获取模块210可以用于获取语言训练样本以及初始模型,所述初始模型包括第一模型以及第二模型,所述第一模型至少包含编码器,所述第二模型至少包括所述第一模型的编码器。关于语言训练样本以及初始模型的更多描述可以参见本申请其他部分(例如,步骤302)的描述,在此不再赘述。
训练模块220可以用于利用所述语言训练样本,经过迭代训练过程训练所述初始模型以生成自然语言处理模型。在一些实施例中,训练模块220可以基于本申请其他地方(例如,步骤304、图4-6)所描述的机器学习训练算法训练所述初始模型。关于生成自然语言处理模型的更多描述可以参见本申请其他部分(例如,步骤304)的描述,在此不再赘述。
处理模块230可以将所述自然语言处理模型应用于自然语言处理任务。示例性的自然语言处理任务可以包括语序确定、语言分类、语言预处理等,或其任意组合。例如,所述处理模块230可以获得需要被处理的目标语言序列,将所述目标语言序列输入所述自然语言处理模型,以得到目标语言序列的处理结果。关于应用自然语言处理模型的更多描述可以参见本申请其他部分(例如,图3)的描述,在此不再赘述。
应当理解,图2所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本申请的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于候选项显示、确定系统及其模块的描述,仅为描述方便,并不能把本申请限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,在一些实施例中,例如,图2中披露的获取模块210、训练模块220、处理模块230可以是一个系统中的不同模块,也可以是一个模块实现上述的两个或两个以上模块的功能。例如,获取模块210、训练模块220可以是两个模块,也可以是一个模块同时具有获取和训练功能。例如,各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本申请的保护范围之内。在一些实施例中,获取模块210、训练模块220、处理模块230可以在不同的处理引擎上实现。例如,获取模块210和训练模块220可以在第一处理引擎上实现,所述第一处理引擎可以是生成和/或更新自然语言处理模型的供应商的处理引擎。处理模块230可以在不同于第一处理引擎的第二处理引擎上实现,所述第二处理引擎可以是应用所述自然语言处理模型的客户的处理引擎。
图3是根据本申请一些实施例所示的训练自然语言处理模型的示例性流程图。
在一些实施例中,流程300可以通过处理逻辑来执行,该处理逻辑可以包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(运行在处理设备上以执行硬件模拟的指令)等或其任意组合。例如,图3所示的流程300中的一个或多个操作可以通过图1所示的处理引擎112实现。例如,流程300可以以指令的形式存储在存储设备140中,并由处理引擎112执行调用和/或执行。
步骤302,获取语言训练样本以及初始模型。在一些实施例中,该步骤可以由处理引擎112中的获取模块210执行。
如本申请中使用的,语言训练样本指训练自然语言处理模型的语言数据。例如,语言训练样本可以包括词语、字符、语言序列等,或其任意组合。语言序列指的是包括按照一定的顺序分布的词语和/或字符的序列。可选地,语言训练样本可以进一步包括对词语、字符、语言序列等的标签。所述标签可以说明词语、字符、语言序列等的类别。所述类别可以有关情感分类(例如,正向语句、负向语句或者中性语句)、主题(例如,与哪种网约车业务相关)、语言种类(例如,属于英语还是汉语、属于中国哪个区域的方言)、使用情境等,或其任意组合有关。仅作为实例,语言训练样本可以包括一个或多个句子以及关于每个句子涉及主题的分类标签。在一些实施例中,所述语言训练样本可以是文本形式和/或语音形式的。在一些实施例中,所述语言样本可以是语音形式的,其需要被转化为文本形式后再用于模型训练。
在一些实施例中,所述语言训练样本可以从自然语言处理系统100的一个或多个元件直接或者经由网络120获取。例如,获取模块210可以从终端130和/或存储设备140获取用户在打车时的语音通话记录,将语音通过记录转化成文本,并从中提取一个或多个语言序列以作为语言训练样本。又例如,获取模块210可以从存储设备140获取用户通过文本和/或语音形式输入的服务评价,并从中提取一个或多个语言序列作为语言训练样本。此外地或可替代地,所述语言训练样本可以经由网络120从数据源150获取。
所述初始模型可以是任何类型的、尚未使用语言训练样本进行训练的机器学习模型。例如,所述初始机器学习模型可以基于神经网络模型、深度学习模型、回归模型、隐马尔可夫模型等构造。示例神经网络模型可以包括人工神经网络(ANN)、卷积神经网络(CNN)(例如,基于区域的卷积网络(R-CNN)、基于快速区域的卷积网络(Fast R-CNN)、基于区域的快速卷积网络(Faster R-CNN)等)、空间金字塔池网络(SPP-Net)等,或其任何组合。示例性深度学习模型可以包括深度神经网络(DNN)、深度Boltzmann机器(DBM)、堆叠式自动编码器、深度堆叠网络(DSN)等。示例性回归模型可以包括支持向量机、逻辑回归模型等。所述初始模型可以包括一个或多个模型参数,例如,总层数、每层的节点数、节点总数、损失函数等,或其任意组合。在训练前,初始模型的模型可以具有初始值。所述初始值可以根据自然语言处理系统100的默认设置设定、由用户手动设置,或可以根据实际需求进行调整。
在一些实施例中,所述初始模型可以是包括多个子模型的混合模型。例如,初始模型可以包括第一模型以及第二模型。第一模型和第二模型可以是相同或者不同类型的模型。在一些实施例中,第一模型可以被训练以生成语序确定模型(也可称为词袋模型)。词袋模型可以被配置为接收目标语言序列,对目标语言序列中的词语或字符进行排序预测,并输出为该目标语言序列的预测语言序列或预测语义向量。第二模型可以被训练以生成语言分类模型。所述语言分类模型可以接受目标语言序列,并输入所述目标语言序列的预测类别。所述预测类别可以有关所述目标语言序列的情感分类、主题、语言种类、使用情境等,或其任意组合。仅作为示例,所述语言分类模型可以判断目标语言序列和哪一类的网约车业务(例如,快车、顺风车、专车、出租车)相关。
在一些实施例中,所述第一模型至少包含编码器,所述第二模型至少包括所述第一模型的编码器。编码器可以用于对语言序列进行编码,以生成相应的编码后的语义向量。例如,编码器可以包括词嵌入(embedding)部分和编码器部分(encoder)。词嵌入部分可以将语言序列转化为相应的语义向量。编码器部分可以包括自动编码器(AutoEncoder,AE)和/或变分自编码器(Variational Auto-Encoder,VAE)等任意类型的编码器。编码器部分对词嵌入部分输出的语义向量进行编码(或压缩),以生成具有特定长度的语义向量(即编码后的语义向量)。可选地,所述第一模型还进一步包括解码器。解码器可以用于对编码后的语义向量进行解码(或解压缩),以生成相应的解码后的语义向量。解码器进行解码的过程可以视为一个预测的过程,所述解码后的语义向量可以用于预测一组语义向量,从而确定预测语言序列。
在一些实施例中,所述初始模型可以从自然语言处理系统100的一个或多个元件或外部源直接或者经由网络120获取。例如,处理引擎112可以从存储设备140中获取所述初始模型。
在一些实施例中,所述语言训练样本可以包括用于训练第一模型的一个或多个第一语言序列,以及用于训练第二模型的一个或多个第二语言序列。所述第一语言序列和所述第二语言序列可以包括一个或多个相同或不同的语言序列。在一些实施例中,第二语言序列可以包括标签,所述标签说明第二语言序列的类别(例如,主题类别、情感分类、语言种类等)。
步骤304,利用所述语言训练样本,经过迭代训练过程训练所述初始模型以生成自然语言处理模型。在一些实施例中,该步骤可以由处理引擎112中的训练模块220执行。
自然语言处理模型可以指用于执行具体自然语言处理任务的任意模型。例如,自然语言处理模型可以包括语序确定模型、语言预处理模型、语言分类模型等,或其任意组合。语序确定模型可以用于接收目标语言序列,输出目标语言序列中词语或句子的预测排序。语言预处理模型可以用于将目标语言序列进行编码,生成编码后的具有固定长度的目标语义向量,其中编码后的目标语义向量便于后续进一步的自然语言处理。语言分类模型可以用于接收目标语言序列,输出目标语言序列的预测类别。例如,训练模块220获取目标语言序列,并将所述目标语言序列输入所述语言分类模型,以确定所述目标语言序列的预测类别。所述目标语言序列的预测类别与目标语言序列的情感分类、主题、语言种类、使用情境中的至少一种有关。
在一些实施例中,训练模块220可以利用所述语言训练样本,经过迭代训练过程训练所述初始模型以生成训练后的模型。训练模块220可以进一步将所述训练后的模型的至少一部分指定为所述自然语言处理模型。例如,训练后的模型可以包括训练后的第一模型和训练后的第二模型。训练模块220可以将训练后的第一模型指定为语序确定模型。又例如,训练模块220可以将训练后的编码器指定为语言预处理模型。再例如,训练模块220可以将训练后的第二模型指定为语言分类模型。
在一些实施例中,处理引擎112(或其他计算设备)基于训练算法训练所述初始模型。示例性的训练算法可以包括但不限于人工神经网络算法、深度学习算法、决策树算法、关联规则算法、归纳逻辑编程算法、支持向量机算法、聚类算法、贝叶斯网络算法、强化学习算法、表示学习算法、相似度和度量学习算法、稀疏字典学习算法、遗传算法、基于规则的机器学习算法等,或其任意组合。
在一些实施例中,所述初始模型的迭代训练过程包括一次或以上的迭代,所述编码器在每一次迭代中被更新两次。例如,在每次迭代中,训练模块220可以利用语言训练样本对第一模型进行更新,已生成更新后的第一模型。所述更新后的第一模型包括第一次更新后的编码器。训练模块220可以进一步基于更新后的编码器构建第二模型,并用语言训练样本对第二模型进行更新。在对第二模型的更新中,所述更新后的编码器被第二次更新。在一些实施例中,所述迭代训练过程中的至少一次迭代可以包括图4所示的流程400中的一个或多个步骤。
关于过程300的以上描述仅出于说明的目的而提供,而无意于限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不会背离本申请的范围。在一些实施例中,过程300可以包括一个或以上其他操作和/或省略上文所讨论的一个或以上操作。例如,可以进一步使用一组测试样本来测试所述自然语言处理模型,以确定是否满足测试条件。如果不满足测试条件,则可以再次执行过程300以进一步训练初始模型。
在一些实施例中,所述自然语言处理模型可以被应用于自然语言处理任务中。自然语言处理模型的应用可以由处理引擎112执行。或者,自然语言处理模型的应用可以由其他计算设备,例如,不同于自然语言处理系统的其他系统(如在线打车系统)的计算设备执行。仅作为示例,所述自然语言处理模型可以是能对主题进行分类的语言分类模型。在线打车系统的计算设备可以将乘客输入的本文用所述语言分类模型进行处理,以确定所述文本涉及的打车业务种类。
图4A是根据本申请一些实施例所示用于执行迭代训练过程中的一次当前迭代的流程400的示例性流程图。图4B是根据本申请一些实施例所示的图4A中流程400的示例性示意图。
在一些实施例中,图4A和4B所示的流程400可以在步骤304中被执行。例如,如图3所述,初始模型的迭代过程包括一次或多次迭代。所述一次或多次迭代中的至少一次迭代可以包括流程400中的一个或多个步骤。为方便描述,下文以训练过程中的当前迭代为例展开。
步骤402,基于所述语言训练样本更新当前迭代中的第一模型(简称M1)以得到第一被更新的第一模型(简称M1’)。在一些实施例中,步骤402可以由处理引擎112中的训练模块220执行。
如图4B所示,M1中可以包括编码器(简称E)和解码器(简称D)。M1’中包括从E更新得到的第一被更新的编码器(简称E’)和从D得到的解码器(简称D’)。在一些实施例中,M1可以基于语言训练样本的至少一部分训练而成。例如M1可以基于训练样本中的一个或多个第一语言序列训练而成。在一些实施例中,可以执行图5所示的流程500中的一个或多个步骤来更新当前迭代中的M1。
步骤404,基于所述第一被更新的编码器E’构建当前迭代中的第二模型(简称M2)。
如图4B所示,M2可以包括E1’。可选地,M2还可以包括其他神经网络原件。在一些实施例中,步骤404可以由处理引擎112中的训练模块220执行。
步骤406,基于所述语言训练样本更新当前迭代中的第二模型以得到被更新的第二模型(简称M2’),所述被更新的第二模型包括第二被更新的编码器(简称E”)。
如图4B所示,M2’可以包括基于E’第二次被更新的编码器E”。在一些实施例中,M2可以基于语言训练样本的至少一部分训练而成。例如M2可以基于训练样本中的一个或多个第二语言序列及各第二语言序列的分类标签训练而成。所述第二语言序列和步骤402中所述的第一语言序列可以包括一个或多个相同或不同的语言序列。在一些实施例中,可以执行图6所示的流程600中的一个或多个步骤来更新当前迭代中的M2。
步骤408,基于所述第一被更新的第一模型M1’和第二被更新的编码器E”生成第二被更新的第一模型(简称M1”),以用于下一次迭代。
如图4B所示,M1”可以包括M1’中的解码器D’和编码器E”。
关于过程400的以上描述仅出于说明的目的而提供,而无意于限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不会背离本申请的范围。在一些实施例中,过程400可以包括一个或以上其他操作和/或省略上文所讨论的一个或以上操作。例如,步骤408可以被省略。
在一些实施例中,可以进一步判断当前迭代中终止条件是否被满足。如果终止条件被满足,所述初始模型的迭代训练过程将被停止。可选地,训练模块220可以基于当前迭代中的训练结果确定自然语言处理模型。例如,训练模块220可以将M2’指定为自然语言分类模型。又例如,训练模块220可以将M1”指定为自然语言语序确定模型。再例如,训练模块220可以将E”指定为自然语言预处理模型。如果当前迭代中终止条件未被满足,可以执行下一次迭代以进一步更新M”,直至终止条件被满足。所述终止条件可以指示初始模型是否经过充分训练。例如,如果与初始模型相关联的损失函数的值最小或小于阈值(例如,常数),则可以满足终止条件。在一些实施例中,与初始模型相关联的损失函数可以包括图5所描述的第一损失函数和/或图6所描述的第二损失函数。又例如,如果损失函数值收敛,则可以满足终止条件。如果两次或多次连续迭代中损失函数的值的变化小于阈值(例如,常数),则可以认为收敛。再例如,当在迭代训练过程中执行了特定次数的迭代时,可以认为满足终止条件。
图5是根据本申请一些实施例所示的更新当前迭代中的第一模型的示例性流程图。在一些实施例中,流程500中的一个或多个步骤可以用于部分地实现流程400中的步骤402。如上文(例如,步骤402)所述,当前迭代中的第一模型可以被简称为M1,其可以用语言训练样本中的一个或多个第一语言序列训练而成。每个第一语言序列可以包括以特定序列排列的词语和/或字符。
步骤502,对每个第一语言序列,将其输入所述当前迭代中的第一模型M1,以得到预测语言序列。在一些实施例中,步骤502可以由处理引擎112中的训练模块220执行。
例如,将语言序列“ABC”输入M1,M1对语言序列进行分析并输出预测语言序列,例如“BAC”、“CBA”、“ACB”或“ABC”等。在一些实施例中,第一模型可以包括编码器E。对每个第一语言序列,M1中的编码器E可以用于将所述第一语言序列转化成语义向量,以及对所述语义向量进行编码,以生成编码后的语义向量。例如,对第一语言序列,E可以通过词嵌入(embedding)技术将第一语言序列转化为语义向量。E还可以进一步将所述语义向量压缩成具有特定长度的语义向量,所述压缩后的语义向量即为编码后的语义向量。
在一些实施例中,第一模型还包括解码器D。对每个第一语言序列,M1中的解码器D被用于对其对应的编码后的语义向量进行解码,以生成所述第一语音序列对应的预测语言序列。例如,对第一语言序列,D可以对其对应的编码后的语义向量进行解压缩,以获得解压缩后的语义向量。所述解压缩后的语义向量可以用于确定所述第一语言序列对应的预测语言序列。
步骤504,基于所述一个或多个第一语言序列和所述一个或多个预测语言序列,确定第一损失函数(loss function)的值。在一些实施例中,步骤504可以由处理引擎112中的训练模块220执行。
所述第一损失函数可以用于评估M1的准确性和/或可靠性。例如,第一损失函数的值越小,说明M1的准确性和/或可靠性越高。在一些实施例中,第一损失函数可以衡量M1的预测值(例如,每个第一语言序列的预测语言序列)和期望值(例如,每个第一语言序列)之间的相似程度(或差异)。第一损失函数可以包括任何能测量所述M1的预测值和期望值之间的相似程度的函数。
步骤506,基于所述第一损失函数的值,更新所述当前迭代中的第一模型M1以得到第一被更新的第一模型M1’。M1’中可以包括第一被更新的编码器E’。在一些实施例中,步骤506可以由处理引擎112中的训练模块220执行。
在一些实施例中,可以基于所述第一损失函数的值,基于反向传播机器学习训练算法(例如,随机梯度下降反向传播训练算法)来更新M1中的模型参数的值,从而得到M1’。可选地,可以基于第一损失函数的值判断第一终止条件是否在当前迭代中被满足。例如,如果第一损失函数的值小于第一预定阈值,可以认为第一终止条件被满足。又例如,第一损失函数收敛(例如,连续两次迭代中获得的第一损失函数的差值在阈值之内)等,可以认为第一终止条件被满足。再例如,如果已经执行了一定数量的迭代,可以认为第一终止条件被满足。若当前迭代中第一终止条件被满足,可以停止对第一模型的训练。进一步地,可以将当前迭代中的M1指定为训练后的语序确定模型,和/或将当前迭代中的E1指定为语言预处理模型。若当前迭代中第一终止条件未被满足,可以基于第一损失函数的值对M1进行更新。
图6是根据本申请一些实施例所示的更新当前迭代中的第二模型的示例性流程图。在一些实施例中,流程600中的一个或多个步骤可以用于部分地实现流程400中的步骤406。如上文(例如,步骤406)所述,当前迭代中的第二模型可以被简称为M2,M2可以包括第一被更新的编码器E’。所述M2可以用语言训练样本中的一个或多个第二语言序列及各第二语言序列的分类标签训练而成。
步骤602,对每个第二语言序列,将其输入当前迭代中的第二模型M2,以得到所述第二语言序列的预测分类标签。
例如,第二模型可以被训练生成语句的情感分类模型,M2可以预测第二语言序列样本“我真的太生气了!”的情感分类标签,例如是“正向情感”、“中性情感”或“负向情感”。
步骤604,基于所述一个或多个第二语言序列的分类标签和预测分类标签,确定第二损失函数的值。
所述第二损失函数可以用于评估M2的准确性和/或可靠性。例如,第二损失函数的值越小,说明M2的准确性和/或可靠性越高。在一些实施例中,第二损失函数可以衡量M2的预测值(例如,每个第二语言序列的预测分类标签)和期望值(例如,每个第二语言序列实际分类标签)之间的相似程度(或差异)。第二损失函数可以包括任何能测量所述M2的预测值和期望值之间的相似程度的函数。例如,第二损失函数可以是Hinge损失函数、Log损失函数、交叉熵损失函数等在分类模型中可用的损失函数。
步骤606,基于所述第二损失函数的值,更新所述当前迭代中的第二模型M2’以得到更新的第二模型。M2’包括第二被更新的编码器E”。
在一些实施例中,可以基于所述第二损失函数的值,基于反向传播机器学习训练算法(例如,随机梯度下降反向传播训练算法)来更新M2中的模型参数的值,从而得到M2’。在M2被更新的过程中,第一被更新的编码器E’被第二次更新,得到E”。在一些实施例中,通过先对编码器进行第一次训练,再对第一次更新后的编码器进行微调(fine tune),可以提高模型的训练效率以及训练结果精确度。例如,在数据集较大的情况下,第一次更新后的编码器可以用于对第二语言序列进行压缩的同时尽可能保持语义相似,减轻第二模型训练时的计算负担,同时保证计算精度。
可选地,可以基于第二损失函数的值判断第二终止条件是否在当前迭代中被满足。例如,如果第二损失函数的值小于第二预定阈值,可以认为第二终止条件被满足。又例如,第二损失函数收敛(例如,连续两次迭代中获得的第二损失函数的差值在阈值之内)等,可以认为第二终止条件被满足。再例如,如果已经执行了一定数量的迭代,可以认为第二终止条件被满足。若当前迭代中第二终止条件被满足,可以停止对第二模型的训练。进一步地,可以将当前迭代中的M2指定为训练后的语序分类模型。若当前迭代中第二终止条件未被满足,可以基于第二损失函数的值对M2进行更新。
应当注意的是,上述有关流程训练自然语言处理模型方法的描述仅仅是为了示例和说明,而不限定本申请的适用范围。对于本领域技术人员来说,在本申请的指导下可以对流程训练自然语言处理模型方法进行各种修正和改变。然而,这些修正和改变仍在本申请的范围之内。例如,在流程训练自然语言处理模型方法中添加其他步骤,例如,存储步骤、预处理步骤等。
本申请实施例可能带来的有益效果包括但不限于:(1)本申请可以利用机器学习的方式同时训练多类自然语言处理模型,例如自然语言预处理模型、语言分类模型等;(2)本申请在训练执行具体自然语言处理任务的语言分类模型时,先通过训练编码器的方式对语言训练样本进行预处理,以解决自然语言处理过程中数据集较大的问题,提高训练效率和/或准确率;(3)本申请基于Fine Tuning的策略对包含第一模型和第二模型的初始模型进行训练,先对第一模型中的编码器进行优化,基于优化后的编码器生成第二模型,再训练第二模型以对优化后的编码器进行再次优化。这可以提高训练结果精确度。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本申请各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本申请一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本申请引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本申请作为参考。与本申请内容不一致或产生冲突的申请历史文件除外,对本申请权利要求最广范围有限制的文件(当前或之后附加于本申请中的)也除外。需要说明的是,如果本申请附属材料中的描述、定义、和/或术语的使用与本申请所述内容有不一致或冲突的地方,以本申请的描述、定义和/或术语的使用为准。
最后,应当理解的是,本申请中所述实施例仅用以说明本申请实施例的原则。其他的变形也可能属于本申请的范围。因此,作为示例而非限制,本申请实施例的替代配置可视为与本申请的教导一致。相应地,本申请的实施例不仅限于本申请明确介绍和描述的实施例。
Claims (11)
1.一种训练自然语言处理模型的方法,其特征在于,所述方法包括:
获取语言训练样本以及初始模型,所述初始模型包括第一模型以及第二模型,所述第一模型至少包含编码器,所述第二模型至少包括所述第一模型的编码器;以及
利用所述语言训练样本,经过迭代训练过程训练所述初始模型以生成自然语言处理模型,
其中,所述迭代训练过程包括一次或以上的迭代,所述编码器在每一次迭代中被更新两次。
2.根据权利要求1所述的方法,其特征在于,所述一次或以上的迭代中的至少一次当前迭代包括:
基于所述语言训练样本更新当前迭代中的第一模型以得到第一被更新的第一模型,所述第一被更新的第一模型包括第一被更新的编码器;
基于所述第一被更新的编码器构建当前迭代中的第二模型;
基于所述语言训练样本更新当前迭代中的第二模型以得到被更新的第二模型,所述被更新的第二模型包括第二被更新的编码器;
基于所述第一被更新的第一模型和第二被更新的编码器生成第二被更新的第一模型,以用于下一次迭代。
3.根据权利要求2所述的方法,其特征在于,所述语言训练样本包括一个或多个第一语言序列,所述基于所述语言训练样本更新当前迭代中的第一模型以得到第一被更新的第一模型包括:
对每个第一语言序列,将其输入所述当前迭代中的第一模型,以得到预测语言序列;
基于所述一个或多个第一语言序列和所述一个或多个预测语言序列,确定第一损失函数的值;以及
基于所述第一损失函数的值,更新所述当前迭代中的第一模型以得到第一被更新的第一模型。
4.根据权利要求3所述的方法,其特征在于,对所述每个第一语言序列,当前迭代中的第一模型的编码器被用于:
将所述第一语言序列转化成语义向量;以及
对所述语义向量进行编码,以生成编码后的语义向量。
5.根据权利要求4所述的方法,其特征在于,所述第一模型进一步包括解码器,
当前迭代中的第一模型的解码器被用于对所述编码后的语义向量进行解码,以生成所述第一语言序列对应的预测语言序列。
6.根据权利要求2所述的方法,其特征在于,所述语言训练样本包括一个或多个第二语言序列以及各第二语言序列的分类标签,所述基于所述语言训练样本更新当前迭代中的第二模型以得到被更新的第二模型包括:
对每个第二语言序列,将其输入当前迭代中的第二模型,以得到所述第二语言序列的预测分类标签;
基于所述一个或多个第二语言序列的分类标签和预测分类标签,确定第二损失函数的值;以及
基于所述第二损失函数的值,更新所述当前迭代中的第二模型以得到被更新的第二模型。
7.根据权利要求1所述的方法,其特征在于,利用所述语言训练样本,经过迭代训练过程训练所述初始模型以生成自然语言处理模型包括:
利用所述语言训练样本,经过迭代训练过程训练所述初始模型以生成训练后的模型;以及
将所述训练后的模型的至少一部分指定为所述自然语言处理模型,所述自然语言处理模型包括语序确定模型、语言分类模型和语言预处理模型中的至少一种。
8.根据权利要求7所述的方法,其特征在于,所述自然语言处理模型为语言分类模型,所述方法进一步包括:
获取目标语言序列;以及
将所述目标语言序列输入所述语言分类模型,以确定所述目标语言序列的预测类别,所述类别与目标语言序列的情感分类、主题、语言种类、使用情境中的至少一种有关。
9.一种训练自然语言处理模型的系统,其特征在于,所述系统包括:
获取模块,用于获取语言训练样本以及初始模型,所述初始模型包括第一模型以及第二模型,所述第一模型至少包含编码器,所述第二模型至少包括所述第一模型的编码器;
训练模块,用于利用所述语言训练样本,经过迭代训练过程训练所述初始模型以生成自然语言处理模型,其中,所述迭代训练过程包括一次或以上的迭代,所述编码器在每一次迭代中被更新两次。
10.一种训练自然语言处理模型的装置,其特征在于,包括处理器,所述处理器用于执行权利要求1至8任一项所述训练自然语言处理模型的方法。
11.一种计算机可读存储介质,其特征在于,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机执行权利要求1至8任一项训练自然语言处理模型的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010794536.0A CN111950295A (zh) | 2020-08-10 | 2020-08-10 | 一种训练自然语言处理模型的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010794536.0A CN111950295A (zh) | 2020-08-10 | 2020-08-10 | 一种训练自然语言处理模型的方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111950295A true CN111950295A (zh) | 2020-11-17 |
Family
ID=73331897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010794536.0A Pending CN111950295A (zh) | 2020-08-10 | 2020-08-10 | 一种训练自然语言处理模型的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111950295A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112580801A (zh) * | 2020-12-09 | 2021-03-30 | 广州优策科技有限公司 | 一种强化学习训练方法及基于强化学习的决策方法 |
CN112699643A (zh) * | 2020-12-23 | 2021-04-23 | 车智互联(北京)科技有限公司 | 一种生成语言模型的方法和文章自动生成方法 |
CN112861548A (zh) * | 2021-02-10 | 2021-05-28 | 百度在线网络技术(北京)有限公司 | 自然语言生成及模型的训练方法、装置、设备和存储介质 |
CN112966712A (zh) * | 2021-02-01 | 2021-06-15 | 北京三快在线科技有限公司 | 语言模型训练方法、装置、电子设备和计算机可读介质 |
CN116700684A (zh) * | 2022-09-30 | 2023-09-05 | 荣耀终端有限公司 | 一种代码生成方法和终端 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107480777A (zh) * | 2017-08-28 | 2017-12-15 | 北京师范大学 | 基于伪逆学习的稀疏自编码器快速训练方法 |
CN109754105A (zh) * | 2017-11-07 | 2019-05-14 | 华为技术有限公司 | 一种预测方法及终端、服务器 |
US10388274B1 (en) * | 2016-03-31 | 2019-08-20 | Amazon Technologies, Inc. | Confidence checking for speech processing and query answering |
CN110276403A (zh) * | 2019-06-25 | 2019-09-24 | 北京百度网讯科技有限公司 | 模型建立方法和装置 |
CN110363296A (zh) * | 2019-06-28 | 2019-10-22 | 腾讯科技(深圳)有限公司 | 任务模型获取方法和装置、存储介质及电子装置 |
CN110415702A (zh) * | 2019-07-04 | 2019-11-05 | 北京搜狗科技发展有限公司 | 训练方法和装置、转换方法和装置 |
CN110503945A (zh) * | 2019-09-06 | 2019-11-26 | 北京金山数字娱乐科技有限公司 | 一种语音处理模型的训练方法及装置 |
WO2019231624A2 (en) * | 2018-05-30 | 2019-12-05 | Quantum-Si Incorporated | Methods and apparatus for multi-modal prediction using a trained statistical model |
US20200004831A1 (en) * | 2018-06-27 | 2020-01-02 | Bitdefender IPR Management Ltd. | Systems And Methods For Translating Natural Language Sentences Into Database Queries |
CN111222347A (zh) * | 2020-04-15 | 2020-06-02 | 北京金山数字娱乐科技有限公司 | 语句翻译模型的训练方法及装置、语句翻译方法及装置 |
CN111344779A (zh) * | 2017-12-15 | 2020-06-26 | 谷歌有限责任公司 | 训练和/或使用编码器模型确定自然语言输入的响应动作 |
CN111382580A (zh) * | 2020-01-21 | 2020-07-07 | 沈阳雅译网络技术有限公司 | 一种面向神经机器翻译的编码器-解码器框架预训练方法 |
CN111428034A (zh) * | 2020-03-23 | 2020-07-17 | 京东数字科技控股有限公司 | 分类模型的训练方法、评论信息的分类方法及装置 |
CN111492382A (zh) * | 2017-11-20 | 2020-08-04 | 皇家飞利浦有限公司 | 训练第一神经网络模型和第二神经网络模型 |
-
2020
- 2020-08-10 CN CN202010794536.0A patent/CN111950295A/zh active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10388274B1 (en) * | 2016-03-31 | 2019-08-20 | Amazon Technologies, Inc. | Confidence checking for speech processing and query answering |
CN107480777A (zh) * | 2017-08-28 | 2017-12-15 | 北京师范大学 | 基于伪逆学习的稀疏自编码器快速训练方法 |
CN109754105A (zh) * | 2017-11-07 | 2019-05-14 | 华为技术有限公司 | 一种预测方法及终端、服务器 |
CN111492382A (zh) * | 2017-11-20 | 2020-08-04 | 皇家飞利浦有限公司 | 训练第一神经网络模型和第二神经网络模型 |
CN111344779A (zh) * | 2017-12-15 | 2020-06-26 | 谷歌有限责任公司 | 训练和/或使用编码器模型确定自然语言输入的响应动作 |
WO2019231624A2 (en) * | 2018-05-30 | 2019-12-05 | Quantum-Si Incorporated | Methods and apparatus for multi-modal prediction using a trained statistical model |
US20200004831A1 (en) * | 2018-06-27 | 2020-01-02 | Bitdefender IPR Management Ltd. | Systems And Methods For Translating Natural Language Sentences Into Database Queries |
CN110276403A (zh) * | 2019-06-25 | 2019-09-24 | 北京百度网讯科技有限公司 | 模型建立方法和装置 |
CN110363296A (zh) * | 2019-06-28 | 2019-10-22 | 腾讯科技(深圳)有限公司 | 任务模型获取方法和装置、存储介质及电子装置 |
CN110415702A (zh) * | 2019-07-04 | 2019-11-05 | 北京搜狗科技发展有限公司 | 训练方法和装置、转换方法和装置 |
CN110503945A (zh) * | 2019-09-06 | 2019-11-26 | 北京金山数字娱乐科技有限公司 | 一种语音处理模型的训练方法及装置 |
CN111382580A (zh) * | 2020-01-21 | 2020-07-07 | 沈阳雅译网络技术有限公司 | 一种面向神经机器翻译的编码器-解码器框架预训练方法 |
CN111428034A (zh) * | 2020-03-23 | 2020-07-17 | 京东数字科技控股有限公司 | 分类模型的训练方法、评论信息的分类方法及装置 |
CN111222347A (zh) * | 2020-04-15 | 2020-06-02 | 北京金山数字娱乐科技有限公司 | 语句翻译模型的训练方法及装置、语句翻译方法及装置 |
Non-Patent Citations (2)
Title |
---|
WONG, TM (WONG, TAK MING)等: "Training Auto-Encoder-Based Optimizers for Terahertz Image Reconstruction", PATTERN RECOGNITION, DAGM GCPR 2019, 25 August 2019 (2019-08-25), pages 1 - 11 * |
冯洋等: "神经机器翻译前沿综述", 中文信息学报, vol. 34, no. 07, 31 July 2020 (2020-07-31), pages 1 - 18 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112580801A (zh) * | 2020-12-09 | 2021-03-30 | 广州优策科技有限公司 | 一种强化学习训练方法及基于强化学习的决策方法 |
CN112699643A (zh) * | 2020-12-23 | 2021-04-23 | 车智互联(北京)科技有限公司 | 一种生成语言模型的方法和文章自动生成方法 |
CN112699643B (zh) * | 2020-12-23 | 2024-04-19 | 车智互联(北京)科技有限公司 | 一种生成语言模型的方法和文章自动生成方法 |
CN112966712A (zh) * | 2021-02-01 | 2021-06-15 | 北京三快在线科技有限公司 | 语言模型训练方法、装置、电子设备和计算机可读介质 |
CN112966712B (zh) * | 2021-02-01 | 2023-01-20 | 北京三快在线科技有限公司 | 语言模型训练方法、装置、电子设备和计算机可读介质 |
CN112861548A (zh) * | 2021-02-10 | 2021-05-28 | 百度在线网络技术(北京)有限公司 | 自然语言生成及模型的训练方法、装置、设备和存储介质 |
CN116700684A (zh) * | 2022-09-30 | 2023-09-05 | 荣耀终端有限公司 | 一种代码生成方法和终端 |
CN116700684B (zh) * | 2022-09-30 | 2024-04-12 | 荣耀终端有限公司 | 一种代码生成方法和终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11468246B2 (en) | Multi-turn dialogue response generation with template generation | |
US11144831B2 (en) | Regularized neural network architecture search | |
CN111950295A (zh) | 一种训练自然语言处理模型的方法和系统 | |
CN112528637B (zh) | 文本处理模型训练方法、装置、计算机设备和存储介质 | |
CN111523640B (zh) | 神经网络模型的训练方法和装置 | |
CN110807515A (zh) | 模型生成方法和装置 | |
CN111542841A (zh) | 一种内容识别的系统和方法 | |
CN111339309B (zh) | 一种用户意图的语料扩展方法和系统 | |
US11036996B2 (en) | Method and apparatus for determining (raw) video materials for news | |
CN111783873A (zh) | 基于增量朴素贝叶斯模型的用户画像方法及装置 | |
CN112632256A (zh) | 基于问答系统的信息查询方法、装置、计算机设备和介质 | |
CN114091466A (zh) | 一种基于Transformer和多任务学习的多模态情感分析方法及系统 | |
CN113779994A (zh) | 一种要素抽取方法、装置、计算机设备和存储介质 | |
CN115186056A (zh) | 文本风格迁移方法、装置、电子设备及存储介质 | |
CN117131272A (zh) | 人工智能内容生成方法、模型及系统 | |
CN117216206A (zh) | 会话处理方法、装置、电子设备及存储介质 | |
CN117077653A (zh) | 一种可控生成的方法及其装置 | |
CN116957006A (zh) | 预测模型的训练方法、装置、设备、介质及程序产品 | |
CN115062769A (zh) | 基于知识蒸馏的模型训练方法、装置、设备及存储介质 | |
CN114819140A (zh) | 模型剪枝方法、装置和计算机设备 | |
CN114611609A (zh) | 一种图网络模型节点分类方法、装置、设备及存储介质 | |
CN113535125A (zh) | 金融需求项生成方法及装置 | |
CN116738298B (zh) | 一种文本分类方法、系统和存储介质 | |
CN116453702B (zh) | 孤独症行为特征集的数据处理方法、设备、系统及介质 | |
CN111767735B (zh) | 执行任务的方法、装置及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |