CN111651985A - 一种用于中文分词的方法与装置 - Google Patents
一种用于中文分词的方法与装置 Download PDFInfo
- Publication number
- CN111651985A CN111651985A CN201911310472.6A CN201911310472A CN111651985A CN 111651985 A CN111651985 A CN 111651985A CN 201911310472 A CN201911310472 A CN 201911310472A CN 111651985 A CN111651985 A CN 111651985A
- Authority
- CN
- China
- Prior art keywords
- word
- word segmentation
- key
- vector
- input text
- 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
- 230000011218 segmentation Effects 0.000 title claims abstract description 234
- 238000000034 method Methods 0.000 title claims abstract description 82
- 239000013598 vector Substances 0.000 claims abstract description 201
- 230000015654 memory Effects 0.000 claims abstract description 92
- 238000013507 mapping Methods 0.000 claims abstract description 32
- 230000006870 function Effects 0.000 claims description 39
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012549 training Methods 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000013135 deep learning Methods 0.000 abstract description 17
- 238000010586 diagram Methods 0.000 description 15
- 238000010276 construction Methods 0.000 description 7
- 238000000605 extraction Methods 0.000 description 4
- 230000005291 magnetic effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013145 classification model Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003631 expected effect Effects 0.000 description 1
- 230000001343 mnemonic effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- 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
- 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)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Document Processing Apparatus (AREA)
- Machine Translation (AREA)
Abstract
本发明的目的是提供一种中文分词方法与装置。针对输入文本,通过查询词表,构建其中每个字的键‑值记忆对;将所构建的每个键‑值记忆对映射为一个键向量和一个值向量;确定所述输入文本中每个字经上下文信息编码获得的字向量与该字的所有值向量的加权和之和;根据所述输入文本中每个字对应的所述和进行分词预测,以获得相应的分词结果,所述分词结果指示所述输入文本中的分词标签。本发明在上下文信息编码层和解码输出层之间进行了创新,加入键‑值记忆层以将词边界信息融入现有的基于深度学习的分词模型的框架中。因此,本发明能够在基于深度学习的分词模型中有效利用词边界信息,进而提升分词模型的性能,以及提高中文分词的准确率。
Description
技术领域
本发明涉及自然语言处理(NLP,Natural Language Processing)技术领域,尤其涉及一种中文分词(Chinese Word Segmentation)技术。
背景技术
中文分词,即将连续的汉语字序列按照一定的规范重新组合成词序列的过程。词与词之间以空格或“/”分开。例如“今天是星期一”的分词结果为“今天是星期一”或“今天/是/星期一”。
分词器为输入文本中每一个汉字赋予一个标签,以表示分词结果。目前主流的分词标签共有4类:“B”表示该字是一个词的首字,“E”表示该字是一个词的尾字,“I”表示该字是一个词的中间字,“S”表示该字是一个单字词。例如“今天是星期一”中每一个字的分词标签依次为“B”、“E”、“S”、“B”、“I”、“E”。
分词技术可以分为传统方法和深度学习方法,其中传统方法主要包括基于规则的方法及基于特征的方法。
基于规则的方法指,借助一个预先构筑的词表(例如《现代汉语词典》),从左至右地读取输入文本,并不断尝试与词表中存在的词进行匹配,利用匹配结果进行分词。
其中一个典型的方法是“最大正向匹配法”,即在匹配、分词的过程中,尽可能寻找最长的匹配字串。例如,“星期”和“星期一”都是词表中的词,那么对于输入“今天是星期一”,其将按照“星期一”进行匹配和分词。
这种方法无法解决汉语中广泛存在的歧义问题,例如,句1“从小/学/语文”和句2“从/小学/毕业”,如按照“最大正向匹配法”进行分词,句2将被错误地切分为:“从小/学/毕业”。同时,该方法也无法应对词表中未出现的词(未登录词)。
基于特征的方法指,通过人工设计、选取特征的方法,对输入文本进行特征提取,基于这些特征对当前字的分词标签进行判断。常用的特征包括当前字、前字、后字等。因为特征提取引入了该字上下文的相关信息(例如前字、后字等),该方法能在一定程度上解决歧义和未登录词的问题。然而,这种方法的效果高度依赖于人工设计、提取的特征的质量,而设计高质量的特征提取方法非常困难。
此外,特征提取的方法,对于因句意不同而造成的歧义,并没有相应的解决办法,例如:“天气很热,能/穿/多/少/穿/多/少”,“天气很冷,能/穿/多少/穿/多少”。
近年来,深度学习方法被逐渐应用在中文分词中,其能够依据具体任务的特点,自动实现对文本特征的提取,免去了人工设计、提取特征的巨大成本。深度学习的识别效果远远超过了传统方法。
发明内容
本发明的目的是提供一种中文分词方法、装置以及计算机设备、计算机可读存储介质与计算机程序产品。
根据本发明的一个方面,提供了一种中文分词方法,其中,该方法包括以下步骤:
针对输入文本,通过查询词表,构建其中每个字的键-值记忆对,其中,一个键-值记忆对中,键指示该字在所述输入文本与所述词表中的一个匹配词,值指示该字在所述匹配词中的分词标签;
将所构建的每个键-值记忆对映射为一个键向量和一个值向量;
确定所述输入文本中每个字经上下文信息编码获得的字向量与该字的所有值向量的加权和之和;
根据所述输入文本中每个字对应的所述和进行分词预测,以获得相应的分词结果,所述分词结果指示所述输入文本中的分词标签。
根据本发明的一个方面,还提供了一种中文分词方法,其中,分词模型包括输入嵌入层、上下文信息编码层、键-值记忆层与解码输出层;
其中,该方法包括以下步骤:
针对输入文本,通过查询词表,构建其中每个字的键-值记忆对,其中,一个键-值记忆对中,键指示该字在所述输入文本与所述词表中的一个匹配词,值指示该字在所述匹配词中的分词标签;
将所构建的每个键-值记忆对映射为一个键向量和一个值向量;
将所有的键向量和值向量与经由所述输入嵌入层及所述上下文信息编码层对所述输入文本输出的所有字向量输入至所述键-值记忆层,以获得输出为所述输入文本中每个字的所述字向量与其所有值向量的加权和之和;
将所述输出输入至所述解码输出层,以获得对所述输入文本的分词结果,所述分词结果指示所述输入文本中的分词标签。
根据本发明的一个方面,还提供了一种中文分词装置,其中,该装置包括:
构建模块,用于针对输入文本,通过查询词表,构建其中每个字的键-值记忆对,其中,一个键-值记忆对中,键指示该字在所述输入文本与所述词表中的一个匹配词,值指示该字在所述匹配词中的分词标签;
映射模块,用于将所构建的每个键-值记忆对映射为一个键向量和一个值向量;
求和模块,用于确定所述输入文本中每个字经上下文信息编码获得的字向量与该字的所有值向量的加权和之和;
预测模块,用于根据所述输入文本中每个字对应的所述和进行分词预测,以获得相应的分词结果,所述分词结果指示所述输入文本中的分词标签。
根据本发明的一个方面,还提供了一种中文分词装置,其中,所述中文分词装置耦合有分词模型,所述分词模型包括输入嵌入层、上下文信息编码层、键-值记忆层与解码输出层;
其中,该装置包括:
构建模块,用于针对输入文本,通过查询词表,构建其中每个字的键-值记忆对,其中,一个键-值记忆对中,键指示该字在所述输入文本与所述词表中的一个匹配词,值指示该字在所述匹配词中的分词标签;
映射模块,用于将所构建的每个键-值记忆对映射为一个键向量和一个值向量;
求和模块,用于将所有的键向量和值向量与经由所述输入嵌入层及所述上下文信息编码层对所述输入文本输出的所有字向量输入至所述键-值记忆层,以获得输出为所述输入文本中每个字的所述字向量与其所有值向量的加权和之和;
预测模块,用于将所述输出输入至所述解码输出层,以获得对所述输入文本的分词结果,所述分词结果指示所述输入文本中的分词标签。
根据本发明的一个方面,还提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现根据本发明的一个方面的中文分词方法。
根据本发明的一个方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现根据本发明的一个方面的中文分词方法。
根据本发明的一个方面,还提供了一种计算机程序产品,当所述计算机程序产品被计算设备执行时实现根据本发明的一个方面的中文分词方法。
与现有技术相比,本发明引入了现有词表的词的边界信息。并且,为了将词边界信息直接、有效地融入基于深度学习的分词模型框架中,本发明提出了一种利用词边界信息的中文分词方案。其中,本发明在上下文信息编码层和解码输出层之间进行了创新,加入键-值记忆层以将词边界信息融入现有的基于深度学习的分词模型的框架中。因此,本发明能够在基于深度学习的分词模型中有效利用词边界信息,进而提升分词模型的性能,以及提高中文分词的准确率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出现有中文分词模型的框架示意图;
图2示出根据本发明一个实施例的一种分词方法的流程图;
图3示出根据本发明一个示例的分词模型的框架示意图;
图4示出根据本发明一个示例的键-值记忆层的框架示意图;
图5示出根据本发明一个实施例的一种训练中文分词模型的流程图;
图6示出根据本发明另一个实施例的一种中文分词装置的示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
在更加详细地讨论示例性实施例之前应当提到的是,本发明的一些示例性实施例被描述为由方框图表述的装置和由流程图表述的过程或方法。虽然流程图将本发明的操作过程描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。本发明的过程可在其操作执行完毕时被终止,但也可包括未在所述流程图中示出的额外步骤。本发明的过程可以对应于方法、功能、规程、子例程、子程序等。
以下讨论的由流程图示出的方法和由方框图示出的装置,可以通过硬件、软件、固件、中间件、微代码、硬件描述语言、或其任意组合实现。当以软件、固件、中间件或微代码实现时,执行必要任务的程序代码或代码段可被存储于机器或诸如存储介质的计算机可读介质。(一个或多个)处理器可以执行所述必要任务。
类似地,还将理解任何流程表、流程图、状态转换图,诸如此类,表示各种过程,其可以被充分地描述为存储于计算机可读介质内的程序代码并因此被计算设备或处理器执行,无论这些计算设备或处理器是否被明确示出。
本文中,术语“存储介质”可以表示一个或多个用于存储数据的设备,包括只读存储器(ROM),随机存取存储器(RAM),磁性RAM,内核存储器,磁盘存储介质,光存储介质,闪存设备和/或其他用于存储信息的机器可读介质。术语“计算机可读介质”可包括但不限于,便携的或固定的存储设备,光存储设备,及各种其他能够存储和/或包含指令和/或数据的介质。
代码段可表示规程、功能、子程序、程序、例程、子例程、模块、软件包、类,或指令、数据结构或程序描述的任一组合。一个代码段可以通过传递和/或接收信息、数据、自变量、参数或存储内容,与另一个代码段或硬件电路相耦合。信息、自变量、参数、数据等,可以经由包括存储共享、信息传递、令牌传递、网络传输等任一合适方式,被传递、转发或发射。
在上下文中所称“计算机设备”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的电子设备,其至少可以包括处理器与存储器,其中由处理器执行在存储器中预存的程序指令来执行预定处理过程,或是由ASIC、FPGA、DSP等硬件执行预定处理过程,或是由上述二者组合来实现。
上述“计算机设备”通常以通用计算机设备的形式表现,其组件可以包括但不限于:一个或者多个处理器或者处理单元、系统存储器。系统存储器可以包括易失性存储器形式的计算机可读介质,例如随机存取存储器(RAM)和/或高速缓存存储器。“计算机设备”可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机可读存储介质。存储器可以包括至少一个计算机程序产品,该计算机程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能和/或方法。处理器通过运行存储在存储器中的程序,从而执行各种功能应用以及数据处理。
例如,存储器中存储有用于执行本发明的各项功能和处理的计算机程序,处理器执行相应计算机程序时,本发明的中文分词方案被实现。
典型地,计算机设备例如包括用户设备与网络设备。其中,所述用户设备包括但不限于个人计算机(PC)、笔记本电脑、移动终端等,所述移动终端包括但不限于智能手机、平板电脑等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本发明,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本发明。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的计算设备或网络如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本发明的示例性实施例的目的。但是本发明可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
下面结合附图对本发明作进一步详细描述。
参阅图1,图1示出基于深度学习的分词模型的基本框架。其中,分词模型包括3个模块:输入嵌入层101、上下文信息编码层102和解码输出层103。
输入嵌入层101的目的在于将输入的文本中的每个字(或在词表中出现的词),映射为高维连续空间的字(词)向量,以代表这个字(词)的特征。输入嵌入层101的实现是基于固定字(词)向量表达的映射(Distributed embedding),其利用外部其他方法获取到的字(词)向量库,将输入文本的每个字(词)对应地转化为字(词)向量库中的字(词)向量。
上下文信息编码层102的目的在于在字(词)向量的基础之上,提取每个字(词)的上下文的信息,计算其它字(词)的字(词)向量对其的影响。该层的输入为输入嵌入层的输出(即一句话中的不同字的向量),输出为经过上下文编码的不同字(词)向量。该层的实现主要有三种方法:一是卷积神经网络(CNN,Convolutional Neural Network);二是循环神经网络(RNN,Recurrent Neural Network),典型地为长短时记忆网络(LSTM,Long ShortTerm Memory Network)。前者的特点在于运算速度快,后者的特点在于考虑的上下文信息更多。三是transformer结构,直接以文本为输入(即不需要输入嵌入层),同时,其编码上下文信息的能力也最强。基于这种方法的分词系统目前取得了最好的效果。
解码输出层103的目的在于对经过上下文信息提取后的每一个字(词)向量解码,输出预测的分词标签,即“B”、“E”、“I”或“S”。其中,B代表该字为一个词的开始(Begin),I代表该字处于一个词的中间(Inside),E代表该字属于一个词的结尾(End),S代表该字为单独的一个词(Single)。该层的实现方式主要有Softmax、条件随机场(CRF,ConditionalRandom Fields)、RNN等。其中,Softmax实现简单,但忽略了输入文本中不同位置的字的分词标签的内在联系。相反,CRF和RNN的优势在于考虑了这种联系。CRF因为性能优秀、结构简单,在现有的分词系统中最为常用。
通常的中文分词过程如下:
1.文本被输入至输入嵌入层101,文本中的每个字(词)被转化为一个输入字(词)向量。
2.转换后文本中的所有字(词)向量被输入至上下文信息编码层102,上下文信息编码层102对每个字输出一个经过上下文编码的字(词)向量。
3.上一步输出的字(词)向量被输入至解码输出层103,解码输出层103输出分词的预测标签。
4.将预测标签与真实结果做比对,计算目标函数;通过优化目标函数,更新分词模型的网络参数。
5.重复上述1-4步骤,直到达到预期效果。
然而,上述基于深度学习的分词方法有一个共同的缺点:没有将外部词表提供的词边界信息有效融入基于深度学习的分词系统的框架中。其中,“词边界信息”,指的是一个词本身就提供了其中每个构成字的分词标签。例如,词“星期一”本身即表明其中的三个构成字“星”、“期”、“一”的分词标签依次为“B”、“I”、“E”。传统借助外部词表的方法,例如“最大正向匹配法”,从本质上讲就是直接利用外部词表提供的词边界信息进行分词。无疑,这种词边界信息对中文分词任务具有重要价值。
目前的深度学习方法基于一种将字以及词映射到高维空间(输入嵌入层)的方法来预测每一个字的分词标签。用这种映射关系提取的词的特征,是抽象的、不明确的,无法直接、有效地反映出词的边界信息,并其未能有效借助词边界信息进行分词。
为了将词边界信息直接、有效地融入基于深度学习的分词模型框架中,本发明提出了一种利用词边界信息的中文分词方法。其中,本发明在上下文信息编码层和解码输出层之间进行了创新,加入键-值记忆层以将词边界信息融入现有的基于深度学习的分词模型的框架中。因此,本发明能够在基于深度学习的分词模型中有效利用词边界信息,进而提升分词模型的性能。
图2示出根据本发明一个实施例的方法流程图,其具体示出一种中文分词的过程。
典型地,本发明由计算机设备实现。当一个通用的计算机设备被配置有实现本发明的程序模块后,其将成为专用的中文分词设备,而不是任何通用的计算机或处理器。然而,本领域技术人员应能理解,前述说明仅意在表明本发明可以应用于任何通用计算机设备,而当本发明被应用于一个通用计算机设备之后,该通用计算机设备则成为一个专门的实现本发明的中文分词设备。
如图2所示,在步骤S210中,中文分词设备针对输入文本,通过查询词表,构建其中每个字的键-值记忆对,其中,一个键-值记忆对中,键指示该字在所述输入文本与所述词表中的一个匹配词,值指示该字在所述匹配词中的分词标签;在步骤S220中,中文分词设备将所构建的每个键-值记忆对映射为一个键向量和一个值向量;在步骤S230中,中文分词设备确定所述输入文本中每个字经上下文信息编码获得的字向量与该字的所有值向量的加权和之和;在步骤S240中,中文分词设备根据所述输入文本中每个字对应的所述和进行分词预测,以获得相应的分词结果,所述分词结果指示所述输入文本中的分词标签。
配合参阅图2和3,其中,图3示出根据本发明一个示例的分词模型的框架图。
具体地,在步骤S210中,中文分词设备针对输入文本,通过查询词表,构建其中每个字的键-值记忆对,其中,一个键-值记忆对中,键指示该字在所述输入文本与所述词表中的一个匹配词,值指示该字在所述匹配词中的分词标签。
在此,中文分词设备为输入文本中的每个字构建一个或多个键-值记忆对。输入文本被标记为x=x1x2…xl,其中,xi指示该输入文本中的一个字,l指示该输入文本的长度。对于输入文本中的每个字xj,中文分词设备查询词表,获得该字xj在输入文本的匹配词每个匹配词为该字xj的一个键(其中,j=1,2,…mj)。也即,一个匹配词既存在于词表中,也存在于该输入文本中。每个字xi在键中的分词标签作为键的值由此,对于每个字xi,中文分词设备可以构建mj个键-值记忆对
例如,输入文本“今天是星期一”,对于其中的一个字“期”,其对应的匹配词通过查询词表来确定,如“星期”和“星期一”,同时,匹配词“星期”和“星期一”也同时存在于该输入文本中。据此,输入文本中的该字“期”在匹配词“星期”和“星期一”中的分词标签也被确定,即“E”和“I”。从而,该字“期”的两个键-值记忆对分别为(“星期”,“E”)、(“星期一”,“I”)。由此,中文分词设备可以为输入文本中的每个字构建其对应的键-值记忆对。
其中,用于查询匹配词的词表可以是中文分词设备的本地词表,也可以是一独立的外部词表,例如任何一现有词表,具体如《现代汉语词典》。
在步骤S220中,中文分词设备将所构建的每个键-值记忆对映射为一个键向量和一个值向量。
在此,对键向量的映射和对值向量的映射分别通过各自对应的嵌入函数来进行。这与输入嵌入层301中将输入文本中的每个字通过嵌入函数转化为字向量类似。
例如,文本x=x1x2…xl被输入至输入嵌入层301,通过字嵌入函数Ex,输入文本中的每个字xi被转化为一个输入字向量同样地,每个键-值记忆对可以通过键嵌入函数Ekey和值嵌入函数Evalue,分别被映射为键向量和值向量
在步骤S230中,中文分词设备确定输入文本中每个字经上下文信息编码获得的字向量与该字的所有值向量的加权和之和。
上述字向量的转化及编码步骤只需在步骤S230之前执行完毕即可,其可以与步骤S210和S220并行执行,也可以在步骤S210和S220之前或之后执行。
键-值记忆层303将词边界信息直接地引入深度学习框架中。配合参阅图4,键-值记忆层303的输入为字xi经过输入嵌入层和上下文信息编码层后得到的字向量hi以及xi对应的所有键-值记忆对所映射的键向量和值向量输出为引入了词边界信息的字向量h′i,并继续进入解码输出层304。
根据本发明的另一个示例,上述权重uj(j=1,2,…mi)可以进一步被归一化。
之后,将包含词边界信息的加权和向量oi与字向量hi相加,得到包含词边界信息的字向量h′i=hi+oi。
在步骤S240中,中文分词设备根据输入文本中每个字对应的字向量h′i进行分词预测,以获得相应的分词结果,分词结果指示输入文本中的分词标签。
在此,键-值记忆层303输出的字向量h′i被输入至解码输出层304,获得输出的分词预测标签y′=Dncoder(h′i)。
通过加入键-值记忆层,本发明将现有词表的词边界信息直接、有效地引入分类模型,从而得到更准确的分词预测结果。
以下将进一步描述根据本发明的一个实施例的训练中文分词模型的过程,其中描述了训练中文分词模型的过程。
在此,本发明中对输入文本进行分词预测的分词模型通过将键-值记忆层引入现有分词模型来获得。由此,以下描述的进行模型训练的分词模型如图3所示,包括输入嵌入层301、上下文信息编码层302、键-值记忆层303和解码输出层304。
配合参阅图3和图5,在第一轮训练过程中:
在步骤S510中,针对输入文本,中文分词设备通过查询词表,构建其中每个字的键-值记忆对,其中,一个键-值记忆对中,键指示该字在输入文本与所述词表中的一个匹配词,值指示该字在所述匹配词中的分词标签;在步骤S520中,中文分词设备将所构建的每个键-值记忆对映射为一个键向量和一个值向量;在步骤S530中,中文分词设备确定所述输入文本中每个字经上下文信息编码获得的字向量与该字的所有值向量的加权和之和;在步骤S540中,中文分词设备根据所述输入文本中每个字对应的所述和进行分词预测,以获得相应的分词结果,所述分词结果指示所述输入文本中的分词标签;在步骤S550中,中文分词设备将所述分词结果与实际分词标签进行比较,以更新所述分词模型的相关参数。
随后,基于更新后的分词模型参数,重复执行上述步骤S510-S550,直至分词模型的目标函数收敛。
具体地,在步骤S510中,针对输入文本,中文分词设备通过查询词表,构建其中每个字xi的键-值记忆对其中,一个键-值记忆对中,键指示该字在输入文本在词表中的一个匹配词,值指示该字在该匹配词中的分词标签。
在步骤S530中,中文分词设备确定每个字xi的字向量hi与该字的所有值向量的加权和向量oi之和,得到求和之后的字向量h′i=hi+oi。
在步骤S540中,中文分词设备根据每个字xi对应的字向量h′i进行分词预测,以获得相应的分词结果,该分词结果指示输入文本中的分词标签。
在此,键-值记忆层303输出的字向量h′i被输入至解码输出层304,获得输出的分词预测标签y′=Dncoder(h′i)。
在步骤S550中,中文分词设备将步骤S540输出的分词结果与实际分词标签进行比较,以更新分词模型的相关参数。
根据本发明的一个示例,中文分词设备计算目标函数,目标函数例如可以是log似然代价函数(negative log likelihood loss function),并根据计算结果调整分词模型的相关参数,例如利用反向传播算法,更新输入嵌入层301、上下文信息编码层302、键-值记忆层303、解码输出层304的所有参数,包括键向量值向量输入嵌入层的字向量等。当目标函数的计算结果收敛时,训练结束。
在目标函数的计算结果尚未达到收敛时,中文分词设备在更新分词模型的相关参数后,进入对分词模型的下一轮训练过程。从第二轮训练开始,无需重复为输入文本构建其中每个字的键-值记忆对。也即,仅重复执行上述步骤S520-S550,直至目标函数的计算结果收敛。
图6示出根据本发明的一个实施例的装置示意图,其中具体示出一种中文分词装置。
如图6所示,中文分词装置60包括构建模块61、映射模块62、求和模块63和预测模块64。配合参阅图3,该中文分词装置60还耦合有分词模型,该分词模型包括输入嵌入层301、上下文信息编码层302、键-值记忆层303和解码输出层304。
其中,构建模块61针对输入文本,通过查询词表,构建其中每个字的键-值记忆对,其中,一个键-值记忆对中,键指示该字在所述输入文本与所述词表中的一个匹配词,值指示该字在所述匹配词中的分词标签;映射模块62将所构建的每个键-值记忆对映射为一个键向量和一个值向量;求和模块63确定所述输入文本中每个字经上下文信息编码获得的字向量与该字的所有值向量的加权和之和;预测模块64根据所述输入文本中每个字对应的所述和进行分词预测,以获得相应的分词结果,所述分词结果指示所述输入文本中的分词标签。
具体地,构建模块61针对输入文本,通过查询词表,构建其中每个字的键-值记忆对,其中,一个键-值记忆对中,键指示该字在所述输入文本与所述词表中的一个匹配词,值指示该字在所述匹配词中的分词标签。
在此,构建模块61为输入文本中的每个字构建一个或多个键-值记忆对。输入文本被标记为x=x1x2…xl,其中,xi指示该输入文本中的一个字,l指示该输入文本的长度。对于输入文本中的每个字xi,构建模块61查询词表,获得该字xi在输入文本的匹配词每个匹配词为该字xi的一个键(其中,j=1,2,…mi)。也即,一个匹配词既存在于词表中,也存在于该输入文本中。每个字xi在键中的分词标签作为键的值由此,对于每个字xi,构建模块61可以构建mi个键-值记忆对
例如,输入文本“今天是星期一”,对于其中的一个字“期”,其对应的匹配词通过查询词表来确定,如“星期”和“星期一”,同时,匹配词“星期”和“星期一”也同时存在于该输入文本中。据此,输入文本中的该字“期”在匹配词“星期”和“星期一”中的分词标签也被确定,即“E”和“I”。从而,该字“期”的两个键-值记忆对分别为(“星期”,“E”)、(“星期一”,“I”)。由此,构建模块61可以为输入文本中的每个字构建其对应的键-值记忆对。
其中,用于查询匹配词的词表可以是中文分词设备的本地词表,也可以是一独立的外部词表,例如任何一现有词表,具体如《现代汉语词典》。
接着,映射模块62将构建模块61所构建的每个键-值记忆对映射为一个键向量和一个值向量。
在此,对键向量的映射和对值向量的映射分别通过各自对应的嵌入函数来进行。这与输入嵌入层301中将输入文本中的每个字通过嵌入函数转化为字向量类似。
例如,文本x=x1x2…xl被输入至输入嵌入层301,通过字嵌入函数Ex,输入文本中的每个字xi被转化为一个输入字向量同样地,每个键-值记忆对可以通过键嵌入函数Ekey和值嵌入函数Evalue,分别被映射为键向量和值向量
随后,求和模块63确定输入文本中每个字经上下文信息编码获得的字向量与该字的所有值向量的加权和之和。
上述字向量的转化及编码操作只需在求和模块63执行其操作之前执行完毕即可,其可以与构建模块61和映射模块62的操作并行执行,也可以在构建模块61和映射模块62的操作之前或之后执行。
键-值记忆层303将词边界信息直接地引入深度学习框架中。配合参阅图4,键-值记忆层303的输入为字xi经过输入嵌入层和上下文信息编码层后得到的字向量hi以及xi对应的所有键-值记忆对所映射的键向量和值向量输出为引入了词边界信息的字向量hi′,并继续进入解码输出层304。
根据本发明的另一个示例,上述权重uj(j=1,2,…mi)可以进一步被归一化。
之后,求和模块63将包含词边界信息的加权和向量oi与字向量hi相加,得到包含词边界信息的字向量h′i=hi+oi。
预测模块64根据输入文本中每个字对应的字向量h′i进行分词预测,以获得相应的分词结果,分词结果指示输入文本中的分词标签。
在此,键-值记忆层303输出的字向量h′i被输入至解码输出层304,获得输出的分词预测标签y′=Dncoder(h′i)。
通过加入键-值记忆层,本发明将现有词表的词边界信息直接、有效地引入分类模型,从而得到更准确的分词预测结果。
根据本发明的一个示例,当分词模型处于训练过程中,中文分词装置60还包括比较模块(图6未示出)。
在第一轮训练过程中,当构建模块61、映射模块62、求和模块63和预测模块64依次执行其对应的操作之后,比较模块将预测模块64输出的分词结果与实际分词标签进行比较,以更新该分词模型的相关参数。随后开始下一轮训练,即再次触发映射模块62、求和模块63以及预测模块64执行其对应操作;循环执行前述操作直至分词模型的目标函数收敛。
根据本发明的一个示例,比较模块计算目标函数,目标函数例如可以是log似然代价函数(negative log likelihood loss function),并根据计算结果调整分词模型的相关参数,例如利用反向传播算法,更新输入嵌入层301、上下文信息编码层302、键-值记忆层303、解码输出层304的所有参数,包括键向量值向量输入嵌入层的字向量等。。当目标函数的计算结果收敛时,训练结束。
在目标函数的计算结果尚未达到收敛时,比较模块在更新分词模型的相关参数后,重新触发映射模块来进入对分词模型的下一轮训练过程。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本发明的至少一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算设备执行时,通过该计算设备的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用/提供本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算设备的工作存储器中。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (17)
1.一种中文分词方法,其中,该方法包括以下步骤:
针对输入文本,通过查询词表,构建其中每个字的键-值记忆对,其中,一个键-值记忆对中,键指示该字在所述输入文本与所述词表中的一个匹配词,值指示该字在所述匹配词中的分词标签;
将所构建的每个键-值记忆对映射为一个键向量和一个值向量;
确定所述输入文本中每个字经上下文信息编码获得的字向量与该字的所有值向量的加权和之和;
根据所述输入文本中每个字对应的所述和进行分词预测,以获得相应的分词结果,所述分词结果指示所述输入文本中的分词标签。
2.根据权利要求1所述的方法,其中,所述输入文本中每个字的每个值向量的权重根据该字的所述字向量以及该值向量关联的键向量确定。
3.根据权利要求2所述的方法,其中,所述输入文本中每个字的每个值向量的权重为该字的所述字向量的转置与该值向量关联的键向量的内积。
4.根据权利要求3所述的方法,其中,所述输入文本中每个字的每个值向量的权重被归一化后用于加权和计算。
5.根据权利要求1至4中任一项所述的方法,其中,该方法通过分词模型执行,
其中,当所述分词模型处于训练过程中,该方法还包括:
将所述分词结果与实际分词标签进行比较,以更新所述分词模型的相关参数;
再次执行所述映射步骤、所述求和步骤以及所述分词预测步骤之后,比较所获得的分词结果与所述实际分词标签并据此更新所述分词模型的相关参数,循环执行前述步骤直至所述分词模型的目标函数收敛。
6.一种中文分词方法,其中,分词模型包括输入嵌入层、上下文信息编码层、键-值记忆层与解码输出层;
其中,该方法包括以下步骤:
针对输入文本,通过查询词表,构建其中每个字的键-值记忆对,其中,一个键-值记忆对中,键指示该字在所述输入文本与所述词表中的一个匹配词,值指示该字在所述匹配词中的分词标签;
将所构建的每个键-值记忆对映射为一个键向量和一个值向量;
将所有的键向量和值向量与经由所述输入嵌入层及所述上下文信息编码层对所述输入文本输出的所有字向量输入至所述键-值记忆层,以获得输出为所述输入文本中每个字的所述字向量与其所有值向量的加权和之和;
将所述输出输入至所述解码输出层,以获得对所述输入文本的分词结果,所述分词结果指示所述输入文本中的分词标签。
7.根据权利要求6所述的方法,其中,当所述分词模型处于训练过程中,该方法还包括:
将所述分词结果与实际分词标签进行比较,以更新所述分词模型的相关参数;
再次执行所述映射步骤、所述求和步骤以及所述分词预测步骤之后,比较所获得的分词结果与所述实际分词标签并据此更新所述分词模型的相关参数,循环执行前述步骤直至所述分词模型的目标函数收敛。
8.一种中文分词装置,其中,该装置包括:
构建模块,用于针对输入文本,通过查询词表,构建其中每个字的键-值记忆对,其中,一个键-值记忆对中,键指示该字在所述输入文本与所述词表中的一个匹配词,值指示该字在所述匹配词中的分词标签;
映射模块,用于将所构建的每个键-值记忆对映射为一个键向量和一个值向量;
求和模块,用于确定所述输入文本中每个字经上下文信息编码获得的字向量与该字的所有值向量的加权和之和;
预测模块,用于根据所述输入文本中每个字对应的所述和进行分词预测,以获得相应的分词结果,所述分词结果指示所述输入文本中的分词标签。
9.根据权利要求8所述的装置,其中,所述输入文本中每个字的每个值向量的权重根据该字的所述字向量以及该值向量关联的键向量确定。
10.根据权利要求9所述的装置,其中,所述输入文本中每个字的每个值向量的权重为该字的所述字向量的转置与该值向量关联的键向量的内积。
11.根据权利要求10所述的装置,其中,所述输入文本中每个字的每个值向量的权重被归一化后用于加权和计算。
12.根据权利要求8至11中任一项所述的装置,其中,该装置耦合有分词模型,
其中,当所述分词模型处于训练过程中,该装置还包括:
比较模块,用于将所述分词结果与实际分词标签进行比较,以更新所述分词模型的相关参数,再次触发所述映射模块、所述求和模块以及所述预测模块执行其对应操作,循环执行前述操作直至所述分词模型的目标函数收敛。
13.一种中文分词装置,其中,所述中文分词装置耦合有分词模型,所述分词模型包括输入嵌入层、上下文信息编码层、键-值记忆层与解码输出层;
其中,该装置包括:
构建模块,用于针对输入文本,通过查询词表,构建其中每个字的键-值记忆对,其中,一个键-值记忆对中,键指示该字在所述输入文本与所述词表中的一个匹配词,值指示该字在所述匹配词中的分词标签;
映射模块,用于将所构建的每个键-值记忆对映射为一个键向量和一个值向量;
求和模块,用于将所有的键向量和值向量与经由所述输入嵌入层及所述上下文信息编码层对所述输入文本输出的所有字向量输入至所述键-值记忆层,以获得输出为所述输入文本中每个字的所述字向量与其所有值向量的加权和之和;
预测模块,用于将所述输出输入至所述解码输出层,以获得对所述输入文本的分词结果,所述分词结果指示所述输入文本中的分词标签。
14.根据权利要求13所述的装置,其中,该装置还包括:
比较模块,用于将所述分词结果与实际分词标签进行比较,以更新所述分词模型的相关参数,再次触发所述映射模块、所述求和模块以及所述预测模块执行其对应操作,循环执行前述操作直至所述分词模型的目标函数收敛。
15.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的方法。
17.一种计算机程序产品,当所述计算机程序产品被计算机设备执行时实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911310472.6A CN111651985A (zh) | 2019-12-18 | 2019-12-18 | 一种用于中文分词的方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911310472.6A CN111651985A (zh) | 2019-12-18 | 2019-12-18 | 一种用于中文分词的方法与装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111651985A true CN111651985A (zh) | 2020-09-11 |
Family
ID=72344453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911310472.6A Pending CN111651985A (zh) | 2019-12-18 | 2019-12-18 | 一种用于中文分词的方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111651985A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112380854A (zh) * | 2020-11-17 | 2021-02-19 | 苏州大学 | 一种中文分词方法、装置、电子设备及存储介质 |
CN113221552A (zh) * | 2021-06-02 | 2021-08-06 | 浙江百应科技有限公司 | 一种基于深度学习的多模型分词方法、装置及电子设备 |
CN113609850A (zh) * | 2021-07-02 | 2021-11-05 | 北京达佳互联信息技术有限公司 | 分词处理方法、装置、电子设备及存储介质 |
CN114266250A (zh) * | 2021-12-27 | 2022-04-01 | 山东新一代信息产业技术研究院有限公司 | 基于成词性信息和键值记忆网络的中文分词方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101595474A (zh) * | 2007-01-04 | 2009-12-02 | 思解私人有限公司 | 语言分析 |
CN107767870A (zh) * | 2017-09-29 | 2018-03-06 | 百度在线网络技术(北京)有限公司 | 标点符号的添加方法、装置和计算机设备 |
-
2019
- 2019-12-18 CN CN201911310472.6A patent/CN111651985A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101595474A (zh) * | 2007-01-04 | 2009-12-02 | 思解私人有限公司 | 语言分析 |
CN107767870A (zh) * | 2017-09-29 | 2018-03-06 | 百度在线网络技术(北京)有限公司 | 标点符号的添加方法、装置和计算机设备 |
Non-Patent Citations (1)
Title |
---|
胡婕等: "双向循环网络中文分词模型", 《小型微型计算机系统》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112380854A (zh) * | 2020-11-17 | 2021-02-19 | 苏州大学 | 一种中文分词方法、装置、电子设备及存储介质 |
CN112380854B (zh) * | 2020-11-17 | 2024-03-01 | 苏州大学 | 一种中文分词方法、装置、电子设备及存储介质 |
CN113221552A (zh) * | 2021-06-02 | 2021-08-06 | 浙江百应科技有限公司 | 一种基于深度学习的多模型分词方法、装置及电子设备 |
CN113609850A (zh) * | 2021-07-02 | 2021-11-05 | 北京达佳互联信息技术有限公司 | 分词处理方法、装置、电子设备及存储介质 |
CN113609850B (zh) * | 2021-07-02 | 2024-05-17 | 北京达佳互联信息技术有限公司 | 分词处理方法、装置、电子设备及存储介质 |
CN114266250A (zh) * | 2021-12-27 | 2022-04-01 | 山东新一代信息产业技术研究院有限公司 | 基于成词性信息和键值记忆网络的中文分词方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11544474B2 (en) | Generation of text from structured data | |
CN109992782B (zh) | 法律文书命名实体识别方法、装置及计算机设备 | |
CN109033068B (zh) | 基于注意力机制的用于阅读理解的方法、装置和电子设备 | |
CN111651985A (zh) | 一种用于中文分词的方法与装置 | |
CN113313022B (zh) | 文字识别模型的训练方法和识别图像中文字的方法 | |
CN113553412B (zh) | 问答处理方法、装置、电子设备和存储介质 | |
CN114676234A (zh) | 一种模型训练方法及相关设备 | |
CN112100332A (zh) | 词嵌入表示学习方法及装置、文本召回方法及装置 | |
CN114757182A (zh) | 一种改进训练方式的bert短文本情感分析方法 | |
CN113553414B (zh) | 智能对话方法、装置、电子设备和存储介质 | |
CN113190656A (zh) | 一种基于多标注框架与融合特征的中文命名实体抽取方法 | |
CN112084435A (zh) | 搜索排序模型训练方法及装置、搜索排序方法及装置 | |
CN111291565A (zh) | 一种用于命名实体识别的方法与装置 | |
CN109902273B (zh) | 关键词生成模型的建模方法和装置 | |
CN110852066B (zh) | 一种基于对抗训练机制的多语言实体关系抽取方法及系统 | |
CN112101031A (zh) | 一种实体识别方法、终端设备及存储介质 | |
CN113553848A (zh) | 长文本分类方法、系统、电子设备、计算机可读存储介质 | |
US20230215203A1 (en) | Character recognition model training method and apparatus, character recognition method and apparatus, device and storage medium | |
CN111523312A (zh) | 一种基于释义消歧的查词显示方法、装置和计算设备 | |
CN114880991B (zh) | 知识图谱问答问句实体链接方法、装置、设备及介质 | |
CN111814479A (zh) | 一种企业简称生成及其模型的训练方法及装置 | |
CN114758330A (zh) | 一种文本识别方法、装置、电子设备和存储介质 | |
JP7121819B2 (ja) | 画像処理方法及び装置、電子機器、コンピュータ可読記憶媒体並びにコンピュータプログラム | |
CN111783435A (zh) | 共享词汇的选择方法、装置及存储介质 | |
CN110807327A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200911 |