CN109885702B - 自然语言处理中的序列标注方法、装置、设备及存储介质 - Google Patents
自然语言处理中的序列标注方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN109885702B CN109885702B CN201910146893.3A CN201910146893A CN109885702B CN 109885702 B CN109885702 B CN 109885702B CN 201910146893 A CN201910146893 A CN 201910146893A CN 109885702 B CN109885702 B CN 109885702B
- Authority
- CN
- China
- Prior art keywords
- sequence
- label
- labeling
- text
- sample
- 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
- 238000002372 labelling Methods 0.000 title claims abstract description 331
- 238000003058 natural language processing Methods 0.000 title claims abstract description 41
- 238000012549 training Methods 0.000 claims abstract description 94
- 238000000034 method Methods 0.000 claims abstract description 71
- 239000011159 matrix material Substances 0.000 claims description 45
- 230000000694 effects Effects 0.000 abstract description 17
- 230000008569 process Effects 0.000 description 34
- 238000010586 diagram Methods 0.000 description 17
- 238000004422 calculation algorithm Methods 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 239000007787 solid Substances 0.000 description 7
- 238000000605 extraction Methods 0.000 description 5
- 238000007476 Maximum Likelihood Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Machine Translation (AREA)
Abstract
本申请是关于一种自然语言处理中的序列标注方法,该方法包括:获取文本序列,将文本序列输入序列标注模型,获得目标路径,目标路径中的每一个节点是预设标签集中的一个标签,预设标签集中包含m种编码模式对应的各个标签;将目标路径中的各个节点按照在目标路径中从先到后的顺序排列,获得文本序列对应的标注序列。本申请根据多种编码模式对文本序列样本编码的结果进行训练获得序列标注模型,并通过该序列模型标签对输入的文本序列进行处理,输出该文本序列对应的标注序列,使得文本序列的标注不局限于单个编码模式,从而提高了序列标注模型对不同输入的普适性,提高序列标注的效果。
Description
技术领域
本申请涉及自然语言处理技术领域,特别涉及一种自然语言处理中的序列标注方法、装置、设备及存储介质。
背景技术
序列标注是解决自然语言处理问题时经常遇到的基本问题之一。而隐变量条件随机场模型是序列标注常用的模型。
在相关技术中,隐变量条件随机场模型以某一种编码模式为隐变量,在对输入的文本序列进行序列标注时,隐变量条件随机场模型将对应的编码模式的各个标签分配给输入的文本序列中的每一个文本元素,从而实现对文本序列中的文本元素的标注。
然而,通过隐变量条件随机场模型对文本序列进行序列标注时,不同的编码模式对不同的文本序列的标注效果有所差别,比如,某一种编码模式对文本序列1的标注效果较好,而对文本序列2的标注效果则可能较差,从而导致隐变量条件随机场模型的普适性较差,影响标注效果。
发明内容
本申请实施例提供了一种自然语言处理中的序列标注方法、装置、设备及存储介质,可以提高通过隐变量条件随机场模型对文本序列进行标注的准确性,该技术方案如下:
一方面,提供了一种自然语言处理中的序列标注方法,所述方法包括:
获取文本序列,所述文本序列中包含n个文本元素,n为大于或者等于2的整数;
将所述文本序列输入序列标注模型,获得所述序列标注模型输出的目标路径,所述序列标注模型是根据文本序列样本和标注序列样本进行训练获得的,所述标注序列样本是所述文本序列样本按照m种编码模式进行编码获得的标注序列,m为大于或者等于2的整数;所述目标路径中的每一个节点是预设标签集中的一个标签,所述预设标签集中包含所述m种编码模式对应的各个标签;
将所述目标路径中的各个节点按照在所述目标路径中从先到后的顺序排列,获得所述文本序列对应的标注序列。
另一方面,提供了一种序列标注模型训练方法,所述方法包括:
获取文本序列样本;
按照m种编码模式对所述文本序列样本进行编码,获得标注序列样本,m为大于或者等于2的整数;
根据所述文本序列样本和所述标注序列样本进行训练,获得序列标注模型,所述序列标注模型用于根据输入的文本序列输出目标路径,所述目标路径中的每一个节点是预设标签集中的一个标签,所述预设标签集中包含所述m种编码模式对应的各个标签。
另一方面,提供了一种自然语言处理中的序列标注装置,所述装置包括:
文本序列获取模块,用于获取文本序列,所述文本序列中包含n个文本元素,n为大于或者等于2的整数;
路径获得模块,用于将所述文本序列输入序列标注模型,获得所述序列标注模型输出的目标路径,所述序列标注模型是根据文本序列样本和标注序列样本进行训练获得的,所述标注序列样本是所述文本序列样本按照m种编码模式进行编码获得的标注序列,m为大于或者等于2的整数;所述目标路径中的每一个节点是预设标签集中的一个标签,所述预设标签集中包含所述m种编码模式对应的各个标签;
标注序列获得模块,用于将所述目标路径中的各个节点按照在所述目标路径中从先到后的顺序排列,获得所述文本序列对应的标注序列。
可选的,所述路径获得模块,具体用于,
将所述文本序列输入序列标注模型,获得所述序列标注模型输出的各个备选标签路径的概率值,所述概率值表示所述文本序列的实际标签路径是对应的备选标签路径的概率;
将所述各个备选标签路径中概率值最大的路径获取为所述目标路径。
可选的,所述各个备选标签路径中的任一路径是从第一标签矩阵的第一列中的一个标签开始,依次经过所述第一标签矩阵的每一列标签中的一个标签的路径;所述第一标签矩阵包含n列标签,且所述n列标签中的每一列标签包含所述m种编码模式对应的各个标签。
可选的,所述装置还包括:
第一样本获取模块,用于在所述路径获得模块将所述文本序列输入序列标注模型,获得所述序列标注模型输出的目标路径之前,获取所述标注序列样本的各个第一子序列样本,所述第一子序列样本中的第一标签是第一文本元素对应的m个标签中的任意标签;所述第一标签是所述第一子序列样本中的任意标签,所述第一文本元素是所述第一标签对应在所述文本序列样本中的文本元素,所述第一文本元素对应的m个标签是所述第一文本元素分别按照所述m种编码模式进行编码时对应的标签;
第一训练模块,用于根据所述文本序列样本以及所述各个第一子序列样本进行训练,获得所述序列标注模型。
可选的,所述各个备选标签路径中的任一路径是从第二标签矩阵的第一列中的一个标签开始,依次经过所述第二标签矩阵的每一列标签中的一个标签的路径;所述第二标签矩阵是与所述m种编码模式一一对应的m个标签子矩阵中的一个,所述标签子矩阵中包含n列标签,且所述n列标签中的每一列标签包含对应的一种编码模式的各个标签。
可选的,所述装置还包括:
第二样本获取模块,用于在所述路径获得模块将所述文本序列输入序列标注模型,获得所述序列标注模型输出的目标路径之前,获取所述标注序列样本的m个第二子序列样本,每个所述第二子序列样本是所述文本序列样本按照所述m种编码模式中的一种编码模式进行编码获得的标注序列;
第二训练模块,用于根据所述文本序列样本以及所述m个第二子序列样本进行训练,获得所述序列标注模型。
可选的,所述m种编码模式包括BIO编码模式和BILOU编码模式。
可选的,所述序列标注模型是隐变量条件随机场模型。
另一方面,提供了一种序列标注模型训练装置,其特征在于,所述装置包括:
文本序列样本获取模块,用于获取文本序列样本;
标注序列样本获取模块,用于按照m种编码模式对所述文本序列样本进行编码,获得标注序列样本,m为大于或者等于2的整数;
训练模块,用于根据所述文本序列样本和所述标注序列样本进行训练,获得序列标注模型,所述序列标注模型用于根据输入的文本序列输出目标路径,所述目标路径中的每一个节点是预设标签集中的一个标签,所述预设标签集中包含所述m种编码模式对应的各个标签。
可选的,所述标注序列样本获取模块,具体用于,
获取所述标注序列样本的各个第一子序列样本,所述第一子序列样本中的第一标签是第一文本元素对应的m个标签中的任意标签;所述第一标签是所述第一子序列样本中的任意标签,所述第一文本元素是所述第一标签对应在所述文本序列样本中的文本元素,所述第一文本元素对应的m个标签是所述第一文本元素分别按照所述m种编码模式进行编码时对应的标签;
将每个所述第一子序列样本获取为所述文本序列样本对应的一个所述标注序列样本。
可选的,所述标注序列样本获取模块,具体用于,
获取所述标注序列样本的m个第二子序列样本,每个所述第二子序列样本是所述文本序列样本按照所述m种编码模式中的一种编码模式进行编码获得的标注序列;
将每个所述第二子序列样本获取为所述文本序列样本对应的一个所述标注序列样本。
另一方面,提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述的自然语言处理中的序列标注方法或者序列标注模型训练方法。
又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述的自然语言处理中的序列标注方法或者序列标注模型训练方法。
本申请提供的技术方案可以包括以下有益效果:
根据多种编码模式对文本序列样本编码的结果进行训练获得序列标注模型,并通过该序列模型标签对输入的文本序列进行处理,输出该文本序列对应的标注序列,该标注序列中的每个标签可以是多种编码模式对应的各个标签中的一种标签,使得文本序列的标注不局限于单个编码模式,也就是说,序列标注模型可以在标注过程中为输入的文本序列自动选择编码模式,从而提高了序列标注模型对不同输入的普适性,提高序列标注的效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本申请涉及的两种编码模式的编码示意图;
图2是根据一示例性实施例示出的一种自然语言处理中的序列标注方法的流程图;
图3是图2所示实施例涉及的模型训练和标注过程示意图;
图4是根据一示例性实施例示出的一种序列标注模型训练方法的流程图;
图5是根据一示例性实施例示出的一种自然语言处理中的序列标注方法的流程图;
图6是图5所示实施例涉及的一种条件随机场示意图;
图7是图5所示实施例涉及的一种模型训练示意图;
图8是根据一示例性实施例示出的一种自然语言处理中的序列标注方法的流程图;
图9是图8所示实施例涉及的一种条件随机场示意图;
图10是根据一示例性实施例示出的自然语言处理中的序列标注装置的结构方框图;
图11是根据一示例性实施例示出的序列标注模型训练装置的结构方框图;
图12是根据一示例性实施例示出的一种计算机设备的结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
自然语言处理技术是用于处理语音、文本类数据的一类技术方法的总称。其中,序列标注是自然语言处理技术中的一项重要环节,序列标注的效果将直接影响自然语言处理的准确性。本申请提出一种序列标注方法,能够有效的提高序列标注的效果。
在对本申请所示的各个实施例进行说明之前,首先对本申请涉及到的几个概念进行介绍:
1)序列标注
在本申请中,序列标注是指在自然语言处理过程中将预设的语义标签分配给输入的文本序列中的每个文本元素的任务。
其中,按照自然语言处理的具体任务的不同,上述文本元素可以是一个词组,也可以是一个字符。比如,当自然语言处理的具体任务是对文本序列进行分词时,上述文本序列中的每个文本元素可以是一个字母或者一个汉字等;当上述自然语言处理的具体任务是对文本序列进行信息提取时,上述文本序列中的每个文本元素可以是一个英文单词或者一个汉字词组等。
2)条件随机场
条件随机场(conditional random field algorithm,CRF)算法由Lafferty等人于2001年提出,是一类经常用于序列预测问题的统计建模方法。条件随机场算法为这些任务提供了优于隐马尔可夫模型和最大熵模型的多个优点,包括减少了这些模型中的强条件独立假设等。条件随机场算法还避免了基于有向图模型的最大熵马尔可夫模型和其他无向马尔可夫模型的基本限制(在这两种图模型中,解码时会更加偏向于具有很少后继状态的隐藏状态)。条件随机场中的参数估计通常通过前向后向算法来实现,而条件随机场中的概率预测则常常通过维特比(Viterbi)算法实现。
在相关技术中,大量的关于序列预测的研究都是基于条件随机场的。
比如,相关技术中提出了一种基于条件随机场模型的中文分词系统,该系统的模型使用条件随机场模型来捕捉语言特征,如字符识别,形态和字符重叠特征等。
此外,相关技术中还提出了半马尔可夫条件随机场(semi-CRF)模型,在该模型中,输入序列x通过半马尔科夫条件随机场输出x的分割,其中标签被分配给输入序列x的片段序列(即子序列),而不是分配给输入序列x的各个单元(即字符或字)。半马尔科夫条件随机场的特征可以捕捉片段上的特征,并且在片段内的特征可以是非马尔可夫的。在有这种额外的表示能力的同时,半马尔科夫条件随机场的精确学习和推理算法是多项式时间。有实验显示,半马尔科夫条件随机场通常优于传统条件随机场。
另外,相关技术中提出了一种能够表示条件随机场和半马尔科夫条件随机场特征的混合模型,并描述了训练和推理的有效算法,并证明了与标准的一阶条件随机场和半马尔科夫条件随机场相比,其所提出的混合模型在中文分词任务上的误差减少了18%和25%。此外,相关技术中还提出了一个应用于半马尔科夫条件随机场的强大特征:即根据生成模型,给定状态序列构成一个块的对数条件概率,这个特征可以有效将误差减少13%。
此外,相关技术中还提出了将半马尔科夫条件随机场应用于命名实体识别任务的技术,这些技术具有低廉的计算成本。其中,为了降低计算成本,相关技术中提出了两种技术:第一种是使用特征森林,使模型能够打包特征等价的状态,第二种是引入了过滤过程,大大减少了候选状态的数量。该框架能够使用从基于片段的特征表示中提取的丰富特征信息,同时保持可以忍受的运行时间。相关技术中还引入了一个简单的技巧,即通过将标签信息嵌入非实体标签来传输关于远程实体的信息。
3)隐变量条件随机场模型
隐变量条件随机场模型以编码模式为隐变量,从中自动捕获有用信息,以提高序列标注模型的性能。在对相关技术的研究中发现,不同的编码模式会直接影响序列标注模型的性能表现。
比如,目前应用较为广泛的编码模式包括BIO编码模式和BILOU编码模式。其中,对于BIO编码模式,其包括三种标签,分别为标签B、标签I和标签O,其中,标签B表示段的开始(Begin),标签I表示段的内部(Intermediate),包括结尾,标签O表示不属于任何段的词(即Other)。而对于BILOU编码模式,其包括五种标签,分别为标签B’、标签I’、标签L’、标签O’以及标签U’,其中,标签B’表示段的开始(Begin),标签I’表示段内部(Inside),不包括结束词,标签L’表示段的最后一个词(Last),标签O’表示对应的词不属于任何段(Outside),标签U’表示单位字符(Unit)。
例如,请参考图1,其示出了本申请涉及的两种编码模式的编码示意图。如图1中(a)部分所示,通过BIO编码模式对文本序列“米歇尔·乔丹将选择布什”进行标注为例,其中,文本序列包含“米歇尔”、“乔丹”、“将”、“选择”和“布什”这五个文本元素,假设当前自然语言处理任务是信息提取任务,且要提取的对象是人名(以PER表示),则按照BIO编码模式对“米歇尔”、“乔丹”、“将”、“选择”和“布什”这五个文本元素进行标注的结果分别为B-PER、I-PER、O、O以及B-PER。如图1中(b)部分所示,以通过BILOU编码模式对文本序列“米歇尔·乔丹将选择布什”进行标注为例,假设当前自然语言处理任务是信息提取任务,且要提取的对象是人名,则按照BILOU编码模式对“米歇尔”、“乔丹”、“将”、“选择”和“布什”这五个文本元素进行标注的结果分别为B’-PER、L’-PER、O’、O’以及U’-PER。
除了上述BIO编码模式和BILOU编码模式之外,目前一些隐变量条件随机场模型还使用了其它类型的编码模式,比如BIEOS编码模式、BIEO编码模式、SBME编码模式等等。其中,在BIEOS编码模式中,标签B表示段的开始,标签I表示段的中间,标签E表示段的结尾(End),标签S表示单个元素(Single),标签O表示与标记无关的元素。在BIEO编码模式中,标签B表示段的开始,标签I表示段的中间,标签E表示段的结尾,标签O表示与标记无关的元素。在SBME编码模式中,标签S表示单个元素,标签B表示段的开始,标签M表示段的中间(Middle),标签E表示段的结尾。
实验表明,与没有使用任何编码模式作为隐变量的条件随机场模型相比,使用编码模式作为隐变量的条件随机场模型可以捕获更多的边界词语特征,从而对模型性能产生积极影响。
目前,在基于不同的编码模式作为隐变量的条件随机场模型,对于不同的文本序列的标注效果也不同,比如,基于编码模式A作为隐变量的条件随机场模型对文本序列1的标注效果好于基于编码模式B作为隐变量的条件随机场模型对文本序列1的标注效果,而基于编码模式A作为隐变量的条件随机场模型对文本序列2的标注效果也可能差于基于编码模式B作为隐变量的条件随机场模型对文本序列2的标注效果。因此,基于单一的编码模式作为隐变量的条件随机场模型,其普适性较差,无法对所有的文本序列都达到较好的标注效果。
针对以上问题,本申请提出一种将多种编码模式作为单个条件随机场模型隐变量,实现自动为输入的文本序列选择更好的编码模式。
图2是根据一示例性实施例示出的一种自然语言处理中的序列标注方法的流程图,该自然语言处理中的序列标注方法可以用于具有自然语言处理功能的计算机设备中,比如,该计算机设备可以是固定式个人计算机、便携式个人计算机、工作站、服务器等传统计算机设备,或者,该计算机设备也可以是智能手机、平板电脑、电子书阅读器等智能移动终端等等。如图2所示,该自然语言处理中的序列标注方法可以包括如下步骤:
步骤21,获取文本序列,该文本序列中包含n个文本元素,n为大于或者等于2的整数。
步骤22,将该文本序列输入序列标注模型,获得该序列标注模型输出的目标路径,该序列标注模型是根据文本序列样本和标注序列样本进行训练获得的,该标注序列样本是该文本序列样本按照m种编码模式进行编码获得的标注序列,m为大于或者等于2的整数;该目标路径中的每一个节点是预设标签集中的一个标签,该预设标签集中包含该m种编码模式对应的各个标签。
步骤23,将该目标路径中的各个节点按照在该目标路径中从先到后的顺序排列,获得该文本序列对应的标注序列。
本申请实施例所示的方案可以分为模型训练过程和标注过程。其中,模型训练过程中以通过多种编码模式对一个文本序列样本进行标注的结果作为标注序列样本进行模型训练,获得一个包含多种编码模式的序列标注模型。在标注过程中,通过模型训练过程训练出的序列标注模型对输入的文本序列进行标注获得标注序列。
请参考图3,其示出了本申请实施例涉及的模型训练和标注过程示意图。如图3所示,以m种编码模式包括编码模式A和编码模式B为例,在模型训练过程中,对于一个文本序列样本,模型训练设备通过两种编码模式进行编码,获得该文本序列样本的编码结果(S31),即获得文本序列样本对应的标注序列样本。模型训练设备根据文本序列样本和标注序列样本进行模型训练,获得序列标注模型(S32)。在标注过程中,对于一个输入的包含n元素的文本序列,序列标注设备将该文本序列输入到序列标注模型(S33),由序列标注模型输出一个包含n标签的目标路径(S34),该目标路径中的每一个标签都可以是编码模式A的各个标签和编码模式B的各个标签中的一个标签。
其中,上述模型训练设备和序列标注设备可以是同一个计算机设备,即该计算机设备经上述步骤S31和步骤S32训练获得序列标注模型后,后续使用该序列标注模型,按照步骤S33和步骤S34进行序列标注。
或者,上述模型训练设备和序列标注设备也可以是不同的计算机设备。即一个计算机设备A经上述步骤S31和步骤S32训练获得序列标注模型后,将训练获得的序列标注模型提供给另一个计算机设备B,由计算机设备B使用该序列标注模型,按照步骤S33和步骤S34进行序列标注。
其中,序列标注设备通过上述序列标注模型获得输入的文本序列对应的标注序列之后,可以根据标注序列对该文本序列进行自然语言处理相关的后续处理,比如,根据该标注序列对上述文本序列进行分词、信息提取、词性标注、命名实体识别以及词义角色标注等等。
在本申请实施例中,根据多种编码模式对文本序列样本编码的结果进行训练获得序列标注模型,并通过该序列模型标签对输入的文本序列进行处理,输出该文本序列对应的标注序列,该标注序列中的每个标签可以是多种编码模式对应的各个标签中的一种标签,使得文本序列的标注不局限于单个编码模式,也就是说,序列标注模型可以在标注过程中为输入的文本序列自动选择编码模式,从而提高了序列标注模型对不同输入的普适性,提高序列标注的效果。
其中,上述图3所示的方案中,序列标注模型的训练过程可以如下述图4所示。其中,图4是根据一示例性实施例示出的一种序列标注模型训练方法的流程图,该序列标注模型训练方法可以计算机设备中,比如,该计算机设备可以是固定式个人计算机、便携式个人计算机、工作站、服务器等传统计算机设备。如图4所示,该序列标注模型训练方法可以包括如下步骤:
步骤41,获取文本序列样本。
步骤42,按照m种编码模式对该文本序列样本进行编码,获得标注序列样本,m为大于或者等于2的整数。
步骤43,根据该文本序列样本和该标注序列样本进行训练,获得序列标注模型。
其中,上述步骤41至步骤43可以由模型训练设备执行。模型训练设备训练获得上述序列标注模型后,可以将该序列标注模型提供给序列标注设备,用于根据输入的文本序列输出目标路径,该目标路径中的每一个节点是预设标签集中的一个标签,该预设标签集中包含该m种编码模式对应的各个标签。
在上述图4所示的实施例中,一个文本序列样本对应的标注序列样本至少有m个。
在上述图4所示方案的一种可能的实施例中,模型训练设备按照m种编码模式对该文本序列样本进行编码,获得标注序列样本时,可以获取该标注序列样本的各个第一子序列样本,该第一子序列样本中的第一标签是第一文本元素对应的m个标签中的任意标签;该第一标签是该第一子序列样本中的任意标签,该第一文本元素是该第一标签对应在该文本序列样本中的文本元素,该第一文本元素对应的m个标签是该第一文本元素分别按照该m种编码模式进行编码时对应的标签;并将每个该第一子序列样本获取为该文本序列样本对应的一个该标注序列样本。
也就是说,对于一个文本序列样本来说,该文本序列样本的标注序列样本,是按照上述m种编码模式分别对该文本序列样本进行编码获得的m个标注序列。
比如,假设上述m种编码模式为三种编码模式,某一文本序列样本按照这三种编码模式编码后获得的标注序列为如下三个序列:
序列a:{a1,a2,a3,a4,a5};
序列b:{b1,b2,b3,b4,b5};
序列c:{c1,c2,c3,c4,c5}。
则上述序列a、序列b和序列c分别是文本序列样本的一个标注序列样本。
在上述图4所示方案的一种可能的实施例中,,模型训练设备按照m种编码模式对该文本序列样本进行编码,获得标注序列样本时,可以获取该标注序列样本的m个第二子序列样本,每个该第二子序列样本是该文本序列样本按照该m种编码模式中的一种编码模式进行编码获得的标注序列;将每个该第二子序列样本获取为该文本序列样本对应的一个该标注序列样本。
也就是说,对于一个文本序列样本来说,该文本序列样本的标注序列样本,也可以是按照上述m种编码模式分别对该文本序列样本进行编码获得的m个标注序列,以及,以这m个标注序列为基础进行混合扩展获得的标注序列。其中,对于上述m个标注序列中的任意序列,混合扩展可以包括但不限于将该序列中任意位置上的标签,替换为m个标注序列中的其它序列上对应在相同位置上的标签。
比如,假设上述m种编码模式为三种编码模式,某一文本序列样本按照这三种编码模式编码后获得的标注序列为如下三个序列:
序列a:{a1,a2,a3,a4,a5};
序列b:{b1,b2,b3,b4,b5};
序列c:{c1,c2,c3,c4,c5}。
其中,以序列a、序列b和序列c为基础进行扩展时,可以将一个序列中的任意标签替换为其它序列中同位置上的标签。比如,对于序列a中的第一个标签a1,可以将其替换为序列b或者序列c中的第一个标签(即b1或者c1),替换后获得的新序列{b1/c1,a2,a3,a4,a5}也作为一个标注序列样本。
在上述序列标注模型的训练过程中,在对文本序列样本按照m种编码模式进行编码时,若将文本序列样本中的每个文本元素按照m种编码模式对应的全部标签进行编码,即在一个标注序列样本中,每个文本元素对应的标签是m种编码模式对应的全部标签中的任意一个标签,则相应的,在后续序列标注过程中,该序列标注模型输出的目标路径中的每个标签,可以是m种编码模式对应的全部标签中的任意一个标签。
图5是根据一示例性实施例示出的一种自然语言处理中的序列标注方法的流程图,该自然语言处理中的序列标注方法可以用于具有自然语言处理功能的计算机设备中,比如,该计算机设备可以是固定式个人计算机、便携式个人计算机、工作站、服务器等传统计算机设备,或者,该计算机设备也可以是智能手机、平板电脑、电子书阅读器等智能移动终端等等。如图5所示,该自然语言处理中的序列标注方法可以包括如下步骤:
步骤501,获取文本序列样本对应的标注序列样本的各个第一子序列样本,该第一子序列样本中的第一标签是第一文本元素对应的m个标签中的任意标签。
其中,m为大于或者等于2的整数;该第一标签是该第一子序列样本中的任意标签,该第一文本元素是该第一标签对应在该文本序列样本中的文本元素,该第一文本元素对应的m个标签是该第一文本元素分别按照该m种编码模式进行编码时对应的标签。
其中,上述m种编码模式包括BIO编码模式、BILOU编码模式、BIEOS编码模式、BIEO编码模式以及SBME编码模式中的至少两种。
比如,假设上述m种编码模式为三种编码模式,某一文本序列样本按照这三种编码模式编码后获得的标注序列为如下三个序列:
序列a:{a1,a2,a3,a4,a5};
序列b:{b1,b2,b3,b4,b5};
序列c:{c1,c2,c3,c4,c5}。
其中,第一子序列样本中的第一个标签可以是{a1,b1,c1}中的任意一个,相应的,第一子序列样本中的第二个标签可以是{a2,b2,c2}中的任意一个,以此类推。
例如,以m种编码模式包括BIO编码模式和BILOU编码模式,文本序列样本为“米歇尔·乔丹将选择布什”进行标注为例,其中,文本序列样本包含“米歇尔”、“乔丹”、“将”、“选择”和“布什”这五个文本元素,假设待训练的序列标注模型对应的自然语言处理任务是信息提取任务,且要提取的对象是人名(以PER表示),对于文本元素“米歇尔”,其对应BIO编码模式的标签为B-PER,对应BILOU编码模式为B’-PER;相应的,对于文本元素“乔丹”,其对应BIO编码模式的标签为I-PER,对应BILOU编码模式为L’-PER;对于文本元素“将”,其对应BIO编码模式的标签为O,对应BILOU编码模式为O’;对于文本元素“选择”,其对应BIO编码模式的标签为O,对应BILOU编码模式为O’;对于文本元素“布什”,其对应BIO编码模式的标签为B-PER,对应BILOU编码模式为U’-PER;通过对上述文本序列样本的编码,可以获得多个第一子序列样本,对于其中一个第一子序列样本,该第一子序列样本中的每个标签可以是对应位置的文本元素在两种不同编码模式下的标签中的一个。比如,某第一子序列样本中的第一个标签(对应文本元素为“米歇尔”)可以是B-PER或者B’-PER,而该第一子序列样本中的第二个标签(对应文本元素为“乔丹”)可以是I-PER或者L’-PER。也就是说,在本申请实施例中,一个第一子序列样本中不同位置上的标签,可以来自于不同的编码模式。
步骤502,根据文本序列样本以及该各个第一子序列样本进行训练,获得该序列标注模型。
比如,请参考图6,其示出了本申请实施例涉及的一种条件随机场示意图。如图6所示,以m种编码模式包括BIO编码模式和BILOU编码模式,文本序列样本为“米歇尔·乔丹将选择布什”进行标注为例,模型训练设备在根据文本序列样本以及该各个第一子序列样本进行训练时,构建一个标签矩阵,该标签矩阵包含8行5列节点,每一个节点对应一个标签,该标签矩阵构成一个完整的条件随机场,在图6中,该完整的条件随机场的结构图包括上下两部分子图,上部分对应于具有BIO编码模式的条件随机场子图,在本申请中称为BIO条件随机场子图(也可以简称BIO子图),而在下部分,是一个具有BILOU编码模式的条件随机场子图,在本申请中称为BILOU条件随机场子图(也可以简称BILOU子图)。
在模型的训练和应用过程中,模型训练设备/序列标注设备可以结合上述图6所示的条件随机场创建模型。在本申请实施例中,上述创建模型的过程可以通过下述的伪代码表示:
输入:句子最大长度L,标签集合N,标注路径存储集合T
创建叶子节点
for n=1to L do
foreach nk∈N do
1)在BIO子图中创建B-nk节点,I-nk节点以及O节点
2)在BILOU子图中创建B-nk节点,I-nk节点,U-nk节点以及O节点
3)按照节点连接关系连接上述节点
4)将标注路径记入集合T中
end
end
参考上述伪代码,在本申请实施例中,对于每个时间步t,都需要遍历所有可能标签nk,对于每个标签nk分别在BIO子图中和BILOU子图中新建相应的节点,在BIO子图中新建B、I以及O节点,在BILOU子图中新建B’、I’、L’、O’以及U’节点。接着按照上述的连接关系把节点相连,最后记录标注路径(即图6中黑色箭头指示的路径),便完成了条件随机场的结构图的建立。之后,上述模型通过标准的前向后向算法进行训练,而在模型预测阶段,模型使用维特比算法进行解码。在解码步骤中,训练好的模型通过维特比算法选择黑色箭头的一个子集。在本申请实施例中,模型输出的最大似然概率的路径只能唯一属于BIO编码模式或者BILOU编码模式的限制不取消,即模型可以在BILOU的编码模式和BIO的编码模式之间相互跳转。此时,具有最大似然概率的路径可以同时使用BIO编码模式和BILOU编码模式,这样便能为每个词或者词组选择合适的编码模式,进而使得维特比算法求解的整条路径的条件似然概率达到最优。
在本申请实施例中,如图6所示,在模型训练过程中,对于给定的文本序列样本“米歇尔·乔丹将选择布什”,按照步骤401的标注方式,该文本序列样本对应的标注序列样本可以是从左边的叶子节点开始沿着完整条件随机场中的实线箭头所指的顺序到达根节点的任一路径,换句话说,从左边的叶子节点开始沿着完整条件随机场中的实线箭头所指的顺序到达根节点的每一条路径都是标注序列样本中的一个第一子序列样本。
在该步骤中,模型训练设备可以将文本序列样本和每个第一子序列样本作为一份训练数据进行模型训练。即通过一个文本序列样本可以获得每一个第一子序列样本分别对应的训练数据,模型训练设备可以分别根据这一个文本序列样本对应的多份训练数据进行模型训练。
比如,请参考图7,其示出了本申请实施例涉及的一种模型训练示意图。如图7所示,模型训练设备获取文本序列样本和每个第一子序列样本组成的一份一份训练数据,比如,在图7中,文本序列样本和第一子序列样本1组成一份训练数据,文本序列样本和第一子序列样本2组成另一份训练数据,以此类推。模型训练设备根据每一份训练数据分别进行模型训练,比如,依次将每一份训练数据输入模型进行训练,获得后续序列标注所使用的序列标注模型。
步骤503,获取文本序列,该文本序列中包含n个文本元素,n为大于或者等于2的整数。
其中,该文本序列可以是自然语言处理过程中,需要进行序列标注的文本序列。
步骤504,将该文本序列输入序列标注模型,获得该序列标注模型输出的各个备选标签路径的概率值,该概率值表示该文本序列的实际标签路径是对应的备选标签路径的概率。
其中,该各个备选标签路径中的任一路径是从第一标签矩阵的第一列中的一个标签开始,依次经过该第一标签矩阵的每一列标签中的一个标签的路径;该第一标签矩阵包含n列标签,且该n列标签中的每一列标签包含该m种编码模式对应的各个标签。
比如,以第一标签矩阵是图6所示的完整的条件随机场为例,如图6所示,在BIO条件随机场中,有B节点,I节点和O节点。这些节点可以连接到底部BILOU条件随机场中的节点。对于给定的B节点,它可以连接到BIO条件随机场中的B节点、I节点和O节点以及BILOOU条件随机场中的B’节点、I’节点、L’节点、O’节点和U’节点。对于给定的I节点,它可以连接到BIO条件随机场中的B节点、I节点和O节点,以及BILOU条件随机场中的B’节点、I节’点、L’节点、O’节点和U’节点。对于给定的O节点,它可以连接到BIO条件随机场中的B节点和O节点,以及BILOU条件随机场中的B’节点、O’节点和U’节点。而在BILOU条件随机场中,有B’节点,I’节点,L’节点,O’节点和U’节点。对于给定的B’节点,它可以连接到BIO条件随机场中的I节点,BILOU条件随机场中的I’节点、L’节点。对于给定的I’节点,它可以连接到BIO条件随机场中的I节点,BILOU条件随机场中的I’节点和L’节点。对于给定的L’节点,它可以连接到BIO条件随机场中的B节点,O节点,以及BILOU条件随机场中的U’节点,B’节点,O’节点。对于给定的O’节点,它可以连接到BIO条件随机场中的B节点,O节点,以及BILOU条件随机场中B’节点,U’节点,O’节点。对于给定的U’节点,它可以连接到BIO条件随机场中的B节点,O节点,以及BILOU条件随机场中的B’节点,U’节点,O’节点。按照上述连接方式,图6所示的完整随机场中,从叶子节点到根节点之间存在若干条可能的路径,该若干条可能的路径即为上述备选标签路径。在序列标注过程中,对于输入的文本序列,序列标注模型将会输出每个可能的备选标签路径对应的概率值。
步骤505,将该各个备选标签路径中概率值最大的路径获取为该目标路径。
比如,在序列标注过程中,假设输入的文本序列为“王小明将选择小红”,对应的文本元素分别为“王”、“小明”、“将”、“选择”、“小红”,在序列标注模型训练足够准确的情况下,会输出的每个可能的备选标签路径对应的概率值中,最大的概率值应当是沿图6所示的实线箭头所指的各条路径中的一条。
步骤506,将该目标路径中的各个节点按照在该目标路径中从先到后的顺序排列,获得该文本序列对应的标注序列。
还是以图6所示的完整的条件随机场,输入的文本序列为“王小明将选择小红”为例,序列标注模型可能输出的目标路径,是通过多种编码模式编码获得的路径中概率值最高的路径,也就是说,对于给定的输入句子,序列标注模型可以输出一个标签路径,该标签路径混合了多种编码模式的标签。这使得输入的文本序列中每个文本元素都可以用不同的编码模式进行标记。例如,“米歇尔”可以用BIO编码模式中的B节点来标记,而“乔丹”可以用BILOU编码模式中的l’节点LAI标记。也就是说,本申请实施例所示的模型为输入的文本序列中的每个文本元素都选择了最佳编码模式。
综上所述,在本申请实施例中,根据多种编码模式对文本序列样本的混合编码的结果进行训练获得序列标注模型,并通过该序列模型标签对输入的文本序列进行处理,输出该文本序列对应的标注序列,该标注序列中的每个标签可以是多种编码模式对应的各个标签中的一种标签,使得文本序列的标注不局限于单个编码模式,也就是说,序列标注模型可以在标注过程中为输入的文本序列自动选择编码模式,从而提高了序列标注模型对不同输入的普适性,提高序列标注的效果。
在另一种可能的实现方式中,在上述序列标注模型的训练过程中,在对文本序列样本按照m种编码模式进行编码时,若将文本序列样本中的每个文本元素按照m种编码模式分别对应的标签进行单独编码,即在一个标注序列样本中,每个文本元素对应的标签是一种编码模式对应的标签中的任意一个标签,则相应的,在后续序列标注过程中,该序列标注模型输出的目标路径中的每个标签,可以是同一种编码模式对应的全部标签中的任意一个标签。
图8是根据一示例性实施例示出的一种自然语言处理中的序列标注方法的流程图,该自然语言处理中的序列标注方法可以用于具有自然语言处理功能的计算机设备中,比如,该计算机设备可以是固定式个人计算机、便携式个人计算机、工作站、服务器等传统计算机设备,或者,该计算机设备也可以是智能手机、平板电脑、电子书阅读器等智能移动终端等等。如图8所示,该自然语言处理中的序列标注方法可以包括如下步骤:
步骤801,获取标注序列样本的m个第二子序列样本,每个第二子序列样本是文本序列样本按照该m种编码模式中的一种编码模式进行编码获得的标注序列。
其中,m为大于或者等于2的整数。
比如,以m种编码模式包括BIO编码模式和BILOU编码模式,文本序列样本为“米歇尔·乔丹将选择布什”进行标注为例,其中,文本序列样本包含“米歇尔”、“乔丹”、“将”、“选择”和“布什”这五个文本元素,假设待训练的序列标注模型对应的自然语言处理任务是信息提取任务,且要提取的对象是人名(以PER表示),通过对上述文本序列样本的编码,可以获得两个第二子序列样本,其中对应BIO编码模式的第二子序列样本为{B-PER、I-PER、O、O以及B-PER},而对应BILOU编码模式的第二子序列样本为{B’-PER、L’-PER、O’、O’以及U’-PER}。也就是说,在本申请实施例中,一个第二子序列样本中不同位置上的标签来自于同一种编码模式。
步骤802,根据该文本序列样本以及该m个第二子序列样本进行训练,获得该序列标注模型。
比如,请参考图9,其示出了本申请实施例涉及的一种条件随机场示意图。如图9所示,以m种编码模式包括BIO编码模式和BILOU编码模式,文本序列样本为“米歇尔·乔丹将选择布什”进行标注为例,模型训练设备在根据文本序列样本以及该各个第一子序列样本进行训练时,构建一个标签矩阵,该标签矩阵包含8行5列节点,每一个节点对应一个标签,该标签矩阵构成一个完整的条件随机场,在图9中,该完整的条件随机场的结构图包括上下两部分子图,上部分对应于具有BIO编码模式的条件随机场子图,在本申请中称为BIO条件随机场子图(也可以简称BIO子图),而在下部分,是一个具有BILOU编码模式的条件随机场子图,在本申请中称为BILOU条件随机场子图(也可以简称BILOU子图)。
参考图5所示实施例中的伪代码,在本申请实施例中,对于每个时间步t,都需要遍历所有可能标签nk,对于每个标签nk分别在BIO子图中和BILOU子图中新建相应的节点,在BIO子图中新建B、I以及O节点,在BILOU子图中新建B’、I’、L’、O’以及U’节点。接着按照上述的连接关系把节点相连,并记录标注路径(即图9中黑色箭头所指的路径),便完成了条件随机场的结构图的建立。之后,上述模型通过标准的前向后向算法进行训练,而在模型预测阶段,模型使用维特比算法进行解码。在维特比算法下,模型只能输出具有最大似然概率的路径作为唯一输出,此时路径或者属于BIO编码模式或者属于BILOU编码模式,即在维特比算法下,该模型能够自动为输入句子选择一种合适的编码模式作为输出,此编码模式是所有路径中具有最大似然概率的路径,也就是最佳的一种编码模式。
在本申请实施例中,如图9所示,在模型训练过程中,对于给定的文本序列样本“米歇尔·乔丹将选择布什”,按照步骤801的标注方式,该文本序列样本对应的标注序列样本可以是从左边的叶子节点开始沿着BIO条件随机场或者BILOU条件随机场中的实线箭头所指的顺序到达根节点的任一路径,换句话说,从左边的叶子节点开始沿着BIO条件随机场或者BILOU条件随机场中的实线箭头所指的顺序到达根节点的每一条路径都是标注序列样本中的一个第二子序列样本。
步骤803,获取文本序列,该文本序列中包含n个文本元素,n为大于或者等于2的整数。
步骤804,将该文本序列输入序列标注模型,获得该序列标注模型输出的各个备选标签路径的概率值,该概率值表示该文本序列的实际标签路径是对应的备选标签路径的概率。
其中,该各个备选标签路径中的任一路径是从第二标签矩阵的第一列中的一个标签开始,依次经过该第二标签矩阵的每一列标签中的一个标签的路径;该第二标签矩阵是与该m种编码模式一一对应的m个标签子矩阵中的一个,该标签子矩阵中包含n列标签,且该n列标签中的每一列标签包含对应的一种编码模式的各个标签。
比如,以第二标签矩阵是图9所示的完整的条件随机场为例,如图9所示,上部BIO条件随机场所构成的矩阵就是BIO编码模式对应的标签子矩阵中,该标签子矩阵有B节点,I节点和O节点。B节点可以连接到I节点,O节点和B节点。I节点可以连接到I节点,O节点和B节点。O节点可以连接到B节点和O节点,但是不能连接到一个I节点,因为一个段的起始必须标记为B节点。下部是由BILOU条件随机场构成的矩阵是BILOU编码模式对应的标签子序列,该标签子序列有B’节点、I’节点、L’节点、O’节点、U’节点。对于给定的B’节点,其表示段的开始。对于给定的I’节点,其表示段的内部。对于给定的L’节点,其表示段的结尾。对于给定的U’节点,其表示具有单位长度的段。O’节点表示不属于任何标签的节点。连接关系如下:B’节点可以连接到I’节点和L’节点,不能连接到B’节点,O’节点和U’节点,因为具有单位长度的段应该标记为U’。I’节点只能连接到I’节点和L’节点,由于它表示段的内部,因此它不能连接到表示新段开始的B’节点,U’节点和O’节点。L’节点可以连接到B’节点,U’节点和O’节点,不能连接到L’节点和I’节点,因为它表示段的结尾。U’节点可以连接到B’节点,O’节点和U’节点,不能连接到I’节点和L’节点,因为应该有一个B’节点,它表示在它们之前的一个段的开始。O’节点可以连接到B’节点和O’节点以及U’节点,不能连接到I’节点和L’节点,因为它们之前应该有一个B’节点。
按照上述连接方式,图9所示的完整随机场中,BIO编码模式随机场或者BILOU编码模式随机场从叶子节点到根节点之间存在若干条可能的路径,该若干条可能的路径即为上述备选标签路径。在序列标注过程中,对于输入的文本序列,序列标注模型将会输出每个可能的备选标签路径对应的概率值。
步骤805,将该各个备选标签路径中概率值最大的路径获取为该目标路径。
比如,在序列标注过程中,假设输入的文本序列为“王小明将选择小红”,对应的文本元素分别为“王”、“小明”、“将”、“选择”、“小红”,在序列标注模型训练足够准确的情况下,会输出的每个可能的备选标签路径对应的概率值中,最大的概率值应当是沿图9所示的两条实线箭头所指的各条路径中的一条。
步骤806,将该目标路径中的各个节点按照在该目标路径中从先到后的顺序排列,获得该文本序列对应的标注序列。
还是以图9所示的完整的条件随机场,输入的文本序列为“王小明将选择小红”为例,序列标注模型可能输出的目标路径,是通过多种编码模式编码获得的路径中概率值最高的路径,也就是说,对于给定的输入句子,序列标注模型可以输出一个标签路径,该标签路径是多种编码模式分别对应的路径中的一条。这使得输入的文本序列可以用多种编码模式中的一种进行标记。也就是说,本申请实施例所示的模型为输入的整个文本序列选择了最佳编码模式。
综上所述,在本申请实施例中,根据多种编码模式分别对文本序列样本的编码的结果进行训练获得序列标注模型,并通过该序列模型标签对输入的文本序列进行处理,输出该文本序列对应的标注序列,该标注序列中的每个标签可以是多种编码模式中的一种编码模式对应的各个标签中的一种标签,使得文本序列的标注不局限于单个编码模式,也就是说,序列标注模型可以在标注过程中为输入的文本序列自动选择编码模式,从而提高了序列标注模型对不同输入的普适性,提高序列标注的效果。
通过本申请所示的方案,序列标注设备可以通过图5所示实施例中的序列标注模型对输入的文本序列进行序列标注,或者,序列标注设备也可以通过图8所示实施例中的序列标注模型对输入的文本序列进行序列标注。
可选的,序列标注设备中也可以同时设置图5所示实施例中的序列标注模型以及图8所示实施例中的序列标注模型,在对文本序列进行序列标注时,序列标注设备可以自行确定使用哪一个序列标注模型对该文本序列进行标注。
比如,序列标注设备可以获取待标注的文本序列的需求特征,该需求特征可以包括文本序列的数据量,以及文本序列对应的业务需求(其中,该业务需求可以包括高效率或者高准确性)中的至少一种。序列标注设备根据该文本序列的需求特征,选择与该需求特征相对应的序列标注模型,然后根据选择的序列标注模型,按照图5或图8所示实施例中的标注方式对该文本序列进行标注。
比如,假设图5所示实施例中的序列标注模型为模型A,图8所示实施例中的序列标注模型为模型B。其中,模型A的标注准确性比模型B高,但是模型A的结构比模型B复杂,输出标注结果的速度较慢,即模型B的标注效率比模型A的标注的效率低。序列标注设备对文本序列进行标注时,可以首先获取文本序列的需求特征,并根据需求特征选择模型A或者模型B进行标注。
比如,当需求特征中包含文本序列的数据量,且该数据量较小时(比如小于预设的数据量阈值),序列标注设备选择模型A对该文本序列进行标注,以获得更为准确的标注准确性;反之,当需求特征中包含文本序列的数据量,且该数据量较大时(比如不小于预设的数据量阈值),序列标注设备选择模型B对该文本序列进行标注,以获得较快的标注速度。
或者,当需求特征中包含文本序列的业务需求,且该业务需求为高准确性,序列标注设备选择模型A对该文本序列进行标注,以获得更为准确的标注准确性;反之,当需求特征中包含文本序列的业务需求,且该业务需求为高效率,序列标注设备选择模型B对该文本序列进行标注,以获得较快的标注速度。
图10是根据一示例性实施例示出的一种自然语言处理中的序列标注装置的结构方框图。该自然语言处理中的序列标注装置用于具有自然语言处理功能的计算机设备中,比如,该计算机设备可以是固定式个人计算机、便携式个人计算机、工作站、服务器等传统计算机设备,或者,该计算机设备也可以是智能手机、平板电脑、电子书阅读器等智能移动终端等等,以执行图2、图5或图8所示实施例提供的方法中的全部或者部分步骤。该自然语言处理中的序列标注装置可以包括:
文本序列获取模块1001,用于获取文本序列,所述文本序列中包含n个文本元素,n为大于或者等于2的整数;
路径获得模块1002,用于将所述文本序列输入序列标注模型,获得所述序列标注模型输出的目标路径,所述序列标注模型是根据文本序列样本和标注序列样本进行训练获得的,所述标注序列样本是所述文本序列样本按照m种编码模式进行编码获得的标注序列,m为大于或者等于2的整数;所述目标路径中的每一个节点是预设标签集中的一个标签,所述预设标签集中包含所述m种编码模式对应的各个标签;
标注序列获得模块1003,用于将所述目标路径中的各个节点按照在所述目标路径中从先到后的顺序排列,获得所述文本序列对应的标注序列。
可选的,所述路径获得模块1002,具体用于,
将所述文本序列输入序列标注模型,获得所述序列标注模型输出的各个备选标签路径的概率值,所述概率值表示所述文本序列的实际标签路径是对应的备选标签路径的概率;
将所述各个备选标签路径中概率值最大的路径获取为所述目标路径。
可选的,所述各个备选标签路径中的任一路径是从第一标签矩阵的第一列中的一个标签开始,依次经过所述第一标签矩阵的每一列标签中的一个标签的路径;所述第一标签矩阵包含n列标签,且所述n列标签中的每一列标签包含所述m种编码模式对应的各个标签。
可选的,所述装置还包括:
第一样本获取模块,用于在所述路径获得模块将所述文本序列输入序列标注模型,获得所述序列标注模型输出的目标路径之前,获取所述标注序列样本的各个第一子序列样本,所述第一子序列样本中的第一标签是第一文本元素对应的m个标签中的任意标签;所述第一标签是所述第一子序列样本中的任意标签,所述第一文本元素是所述第一标签对应在所述文本序列样本中的文本元素,所述第一文本元素对应的m个标签是所述第一文本元素分别按照所述m种编码模式进行编码时对应的标签;
第一训练模块,用于根据所述文本序列样本以及所述各个第一子序列样本进行训练,获得所述序列标注模型。
可选的,所述各个备选标签路径中的任一路径是从第二标签矩阵的第一列中的一个标签开始,依次经过所述第二标签矩阵的每一列标签中的一个标签的路径;所述第二标签矩阵是与所述m种编码模式一一对应的m个标签子矩阵中的一个,所述标签子矩阵中包含n列标签,且所述n列标签中的每一列标签包含对应的一种编码模式的各个标签。
可选的,所述装置还包括:
第二样本获取模块,用于在所述路径获得模块将所述文本序列输入序列标注模型,获得所述序列标注模型输出的目标路径之前,获取所述标注序列样本的m个第二子序列样本,每个所述第二子序列样本是所述文本序列样本按照所述m种编码模式中的一种编码模式进行编码获得的标注序列;
第二训练模块,用于根据所述文本序列样本以及所述m个第二子序列样本进行训练,获得所述序列标注模型。
可选的,所述m种编码模式包括BIO编码模式和BILOU编码模式。
可选的,所述序列标注模型是隐变量条件随机场模型。
图11是根据一示例性实施例示出的一种序列标注模型训练装置的结构方框图。该序列标注模型训练装置用于计算机设备中,比如,该计算机设备可以是固定式个人计算机、便携式个人计算机、工作站、服务器等传统计算机设备等等,以执行图3、图5或图8所示实施例提供的方法中,由模型训练设备执行的全部或者部分步骤。该序列标注模型训练装置可以包括:
文本序列样本获取模块1101,用于获取文本序列样本;
标注序列样本获取模块1102,用于按照m种编码模式对所述文本序列样本进行编码,获得标注序列样本,m为大于或者等于2的整数;
训练模块1103,用于根据所述文本序列样本和所述标注序列样本进行训练,获得序列标注模型,所述序列标注模型用于根据输入的文本序列输出目标路径,所述目标路径中的每一个节点是预设标签集中的一个标签,所述预设标签集中包含所述m种编码模式对应的各个标签。
可选的,所述标注序列样本获取模块1102,具体用于,
获取所述标注序列样本的各个第一子序列样本,所述第一子序列样本中的第一标签是第一文本元素对应的m个标签中的任意标签;所述第一标签是所述第一子序列样本中的任意标签,所述第一文本元素是所述第一标签对应在所述文本序列样本中的文本元素,所述第一文本元素对应的m个标签是所述第一文本元素分别按照所述m种编码模式进行编码时对应的标签;
将每个所述第一子序列样本获取为所述文本序列样本对应的一个所述标注序列样本。
可选的,所述标注序列样本获取模块1102,具体用于,
获取所述标注序列样本的m个第二子序列样本,每个所述第二子序列样本是所述文本序列样本按照所述m种编码模式中的一种编码模式进行编码获得的标注序列;
将每个所述第二子序列样本获取为所述文本序列样本对应的一个所述标注序列样本。
图12是根据一示例性实施例示出的一种计算机设备的结构示意图。所述计算机设备1200包括中央处理单元(CPU)1201、包括随机存取存储器(RAM)1202和只读存储器(ROM)1203的系统存储器1204,以及连接系统存储器1204和中央处理单元1201的系统总线1205。所述计算机设备1200还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)1206,和用于存储操作系统1213、应用程序1214和其他程序模块1215的大容量存储设备1207。
所述基本输入/输出系统1206包括有用于显示信息的显示器1208和用于用户输入信息的诸如鼠标、键盘之类的输入设备1209。其中所述显示器1208和输入设备1209都通过连接到系统总线1205的输入输出控制器1210连接到中央处理单元1201。所述基本输入/输出系统1206还可以包括输入输出控制器1210以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1210还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1207通过连接到系统总线1205的大容量存储控制器(未示出)连接到中央处理单元1201。所述大容量存储设备1207及其相关联的计算机可读介质为计算机设备1200提供非易失性存储。也就是说,所述大容量存储设备1207可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1204和大容量存储设备1207可以统称为存储器。
计算机设备1200可以通过连接在所述系统总线1205上的网络接口单元1211连接到互联网或者其它网络设备。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器1201通过执行该一个或一个以上程序来实现图2、3、5或图8所示的方法的全部或者部分步骤。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括计算机程序(指令)的存储器,上述程序(指令)可由计算机设备的处理器执行以完成本申请各个实施例所示的方法中,由计算机设备执行的方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (9)
1.一种自然语言处理中的序列标注方法,其特征在于,所述方法包括:
获取文本序列,所述文本序列中包含n个文本元素,n为大于或者等于2的整数;
将所述文本序列输入序列标注模型,获得所述序列标注模型输出的各个备选标签路径的概率值,所述概率值表示所述文本序列的实际标签路径是对应的备选标签路径的概率;将所述各个备选标签路径中概率值最大的路径获取为目标路径;所述序列标注模型是根据文本序列样本和标注序列样本进行训练获得的,所述序列标注模型是以多种编码模式为隐变量的单个隐变量条件随机场模型,所述标注序列样本是所述文本序列样本按照m种编码模式进行编码获得的标注序列,m为大于或者等于2的整数;所述目标路径中的每一个节点是预设标签集中的一个标签,所述预设标签集中包含所述m种编码模式对应的各个标签;所述各个备选标签路径中的任一路径是从第一标签矩阵的第一列中的一个标签开始,依次经过所述第一标签矩阵的每一列标签中的一个标签的路径;所述第一标签矩阵包含n列标签,且所述n列标签中的每一列标签包含所述m种编码模式对应的各个标签;
将所述目标路径中的各个节点按照在所述目标路径中从先到后的顺序排列,获得所述文本序列对应的标注序列。
2.根据权利要求1所述的方法,其特征在于,在将所述文本序列输入序列标注模型,获得所述序列标注模型输出的目标路径之前,所述方法还包括:
获取所述标注序列样本的各个第一子序列样本,所述第一子序列样本中的第一标签是第一文本元素对应的m个标签中的任意标签;所述第一标签是所述第一子序列样本中的任意标签,所述第一文本元素是所述第一标签对应在所述文本序列样本中的文本元素,所述第一文本元素对应的m个标签是所述第一文本元素分别按照所述m种编码模式进行编码时对应的标签;
根据所述文本序列样本以及所述各个第一子序列样本进行训练,获得所述序列标注模型。
3.根据权利要求1或2所述的方法,其特征在于,所述m种编码模式包括BIO编码模式、BILOU编码模式、BIEOS编码模式、BIEO编码模式以及SBME编码模式中的至少两种。
4.一种序列标注模型训练方法,其特征在于,所述方法包括:
获取文本序列样本;
按照m种编码模式对所述文本序列样本进行编码,获得标注序列样本,m为大于或者等于2的整数;
根据所述文本序列样本和所述标注序列样本进行训练,获得序列标注模型,所述序列标注模型是以多种编码模式为隐变量的单个隐变量条件随机场模型,所述序列标注模型用于根据输入的文本序列输出各个备选标签路径的概率值,以便将所述各个备选标签路径中概率值最大的路径获取为目标路径,并将所述目标路径中的各个节点按照在所述目标路径中从先到后的顺序排列,获得所述文本序列对应的标注序列;所述概率值表示所述文本序列的实际标签路径是对应的备选标签路径的概率;所述目标路径中的每一个节点是预设标签集中的一个标签,所述预设标签集中包含所述m种编码模式对应的各个标签;所述各个备选标签路径中的任一路径是从第一标签矩阵的第一列中的一个标签开始,依次经过所述第一标签矩阵的每一列标签中的一个标签的路径;所述第一标签矩阵包含n列标签,且所述n列标签中的每一列标签包含所述m种编码模式对应的各个标签。
5.根据权利要求4所述的方法,其特征在于,所述按照m种编码模式对所述文本序列样本进行编码,获得标注序列样本,包括:
获取所述标注序列样本的各个第一子序列样本,所述第一子序列样本中的第一标签是第一文本元素对应的m个标签中的任意标签;所述第一标签是所述第一子序列样本中的任意标签,所述第一文本元素是所述第一标签对应在所述文本序列样本中的文本元素,所述第一文本元素对应的m个标签是所述第一文本元素分别按照所述m种编码模式进行编码时对应的标签;
将每个所述第一子序列样本获取为所述文本序列样本对应的一个所述标注序列样本。
6.一种自然语言处理中的序列标注装置,其特征在于,所述装置包括:
文本序列获取模块,用于获取文本序列,所述文本序列中包含n个文本元素,n为大于或者等于2的整数;
路径获得模块,用于将所述文本序列输入序列标注模型,获得所述序列标注模型输出的各个备选标签路径的概率值,所述概率值表示所述文本序列的实际标签路径是对应的备选标签路径的概率;将所述各个备选标签路径中概率值最大的路径获取为目标路径;所述序列标注模型是根据文本序列样本和标注序列样本进行训练获得的,所述序列标注模型是以多种编码模式为隐变量的单个隐变量条件随机场模型,所述标注序列样本是所述文本序列样本按照m种编码模式进行编码获得的标注序列,m为大于或者等于2的整数;所述目标路径中的每一个节点是预设标签集中的一个标签,所述预设标签集中包含所述m种编码模式对应的各个标签;所述各个备选标签路径中的任一路径是从第一标签矩阵的第一列中的一个标签开始,依次经过所述第一标签矩阵的每一列标签中的一个标签的路径;所述第一标签矩阵包含n列标签,且所述n列标签中的每一列标签包含所述m种编码模式对应的各个标签;
标注序列获得模块,用于将所述目标路径中的各个节点按照在所述目标路径中从先到后的顺序排列,获得所述文本序列对应的标注序列。
7.一种序列标注模型训练装置,其特征在于,所述装置包括:
文本序列样本获取模块,用于获取文本序列样本;
标注序列样本获取模块,用于按照m种编码模式对所述文本序列样本进行编码,获得标注序列样本,m为大于或者等于2的整数;
训练模块,用于根据所述文本序列样本和所述标注序列样本进行训练,获得序列标注模型,所述序列标注模型是以多种编码模式为隐变量的单个隐变量条件随机场模型,所述序列标注模型用于根据输入的文本序列输出各个备选标签路径的概率值,以便将所述各个备选标签路径中概率值最大的路径获取为目标路径,并将所述目标路径中的各个节点按照在所述目标路径中从先到后的顺序排列,获得所述文本序列对应的标注序列;所述概率值表示所述文本序列的实际标签路径是对应的备选标签路径的概率;所述目标路径中的每一个节点是预设标签集中的一个标签,所述预设标签集中包含所述m种编码模式对应的各个标签;所述各个备选标签路径中的任一路径是从第一标签矩阵的第一列中的一个标签开始,依次经过所述第一标签矩阵的每一列标签中的一个标签的路径;所述第一标签矩阵包含n列标签,且所述n列标签中的每一列标签包含所述m种编码模式对应的各个标签。
8.一种计算机设备,其特征在于,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至3任一所述的自然语言处理中的序列标注方法;或者,实现如权利要求4或5所述的序列标注模型训练方法。
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至3任一所述的自然语言处理中的序列标注方法;或者,实现如权利要求4或5所述的序列标注模型训练方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910042738 | 2019-01-17 | ||
CN2019100427387 | 2019-01-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109885702A CN109885702A (zh) | 2019-06-14 |
CN109885702B true CN109885702B (zh) | 2024-08-23 |
Family
ID=66929706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910146893.3A Active CN109885702B (zh) | 2019-01-17 | 2019-02-27 | 自然语言处理中的序列标注方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109885702B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112101038A (zh) * | 2019-06-18 | 2020-12-18 | 杭州中软安人网络通信股份有限公司 | 语义理解方法 |
CN110866115B (zh) * | 2019-10-16 | 2023-08-08 | 平安科技(深圳)有限公司 | 序列标注方法、系统、计算机设备及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107797989A (zh) * | 2017-10-16 | 2018-03-13 | 平安科技(深圳)有限公司 | 企业名称识别方法、电子设备及计算机可读存储介质 |
CN113656561A (zh) * | 2021-10-20 | 2021-11-16 | 腾讯科技(深圳)有限公司 | 实体词识别方法、装置、设备、存储介质及程序产品 |
CN114328837A (zh) * | 2021-12-30 | 2022-04-12 | 企查查科技有限公司 | 序列标注方法、装置、计算机设备、存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11010768B2 (en) * | 2015-04-30 | 2021-05-18 | Oracle International Corporation | Character-based attribute value extraction system |
US10134076B2 (en) * | 2015-06-26 | 2018-11-20 | Walmart Apollo, Llc | Method and system for attribute extraction from product titles using sequence labeling algorithms |
CN106569998A (zh) * | 2016-10-27 | 2017-04-19 | 浙江大学 | 一种基于Bi‑LSTM、CNN和CRF的文本命名实体识别方法 |
CN107729312B (zh) * | 2017-09-05 | 2021-04-20 | 苏州大学 | 基于序列标注建模的多粒度分词方法及系统 |
CN107894971B (zh) * | 2017-10-27 | 2019-11-26 | 北京大学 | 一种可扩展的基于神经网络的序列标注方法 |
CN108038103B (zh) * | 2017-12-18 | 2021-08-10 | 沈阳智能大数据科技有限公司 | 一种对文本序列进行分词的方法、装置和电子设备 |
CN109002436A (zh) * | 2018-07-12 | 2018-12-14 | 上海金仕达卫宁软件科技有限公司 | 基于长短期记忆网络的医疗文本术语自动识别方法及系统 |
-
2019
- 2019-02-27 CN CN201910146893.3A patent/CN109885702B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107797989A (zh) * | 2017-10-16 | 2018-03-13 | 平安科技(深圳)有限公司 | 企业名称识别方法、电子设备及计算机可读存储介质 |
CN113656561A (zh) * | 2021-10-20 | 2021-11-16 | 腾讯科技(深圳)有限公司 | 实体词识别方法、装置、设备、存储介质及程序产品 |
CN114328837A (zh) * | 2021-12-30 | 2022-04-12 | 企查查科技有限公司 | 序列标注方法、装置、计算机设备、存储介质 |
Non-Patent Citations (1)
Title |
---|
基于统计语言模型的双向词类标注方法;刘启和等;《计算机科学》;20031231;第30卷(第9期);第59页第1节,第60页右栏最后一段 * |
Also Published As
Publication number | Publication date |
---|---|
CN109885702A (zh) | 2019-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110232183B (zh) | 关键词提取模型训练方法、关键词提取方法、装置及存储介质 | |
US10380236B1 (en) | Machine learning system for annotating unstructured text | |
CN110263150B (zh) | 文本生成方法、装置、计算机设备及存储介质 | |
US20210216880A1 (en) | Method, equipment, computing device and computer-readable storage medium for knowledge extraction based on textcnn | |
CN110795938B (zh) | 文本序列分词方法、装置及存储介质 | |
CN112329465A (zh) | 一种命名实体识别方法、装置及计算机可读存储介质 | |
CN109492215A (zh) | 新闻实体识别方法、装置、计算机设备和存储介质 | |
CN113254654B (zh) | 模型训练、文本识别方法、装置、设备和介质 | |
CN110222330B (zh) | 语义识别方法及装置、存储介质、计算机设备 | |
CN112257437B (zh) | 语音识别纠错方法、装置、电子设备和存储介质 | |
CN111859919A (zh) | 文本纠错模型训练方法、装置、电子设备及存储介质 | |
CN113449489B (zh) | 标点符号标注方法、装置、计算机设备和存储介质 | |
CN110825827B (zh) | 一种实体关系识别模型训练、实体关系识别方法及装置 | |
CN112446221B (zh) | 翻译评估方法、装置、系统及计算机存储介质 | |
CN112861519B (zh) | 医疗文本纠错方法、装置以及存储介质 | |
CN109885702B (zh) | 自然语言处理中的序列标注方法、装置、设备及存储介质 | |
CN111814479B (zh) | 一种企业简称生成及其模型的训练方法及装置 | |
CN114036950A (zh) | 一种医疗文本命名实体识别方法及系统 | |
CN116070632A (zh) | 一种非正式文本实体标签识别方法和装置 | |
JP2023062150A (ja) | 文字認識モデルトレーニング、文字認識方法、装置、機器及び媒体 | |
CN115454423A (zh) | 静态网页的生成方法、生成装置、电子设备及存储介质 | |
CN114840642A (zh) | 事件抽取方法、装置、设备及存储介质 | |
CN109753976B (zh) | 语料标注装置和方法 | |
CN111126059B (zh) | 一种短文文本的生成方法、生成装置及可读存储介质 | |
CN110377591B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |