CN117034912A - 一种基于bert的多轮迭代法律文本纠错方法 - Google Patents
一种基于bert的多轮迭代法律文本纠错方法 Download PDFInfo
- Publication number
- CN117034912A CN117034912A CN202311066170.5A CN202311066170A CN117034912A CN 117034912 A CN117034912 A CN 117034912A CN 202311066170 A CN202311066170 A CN 202311066170A CN 117034912 A CN117034912 A CN 117034912A
- Authority
- CN
- China
- Prior art keywords
- word
- sentence
- mlm
- tag
- vocabulary
- 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
- 238000012937 correction Methods 0.000 title claims abstract description 76
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000008569 process Effects 0.000 claims abstract description 17
- 238000012549 training Methods 0.000 claims description 35
- 238000001514 detection method Methods 0.000 claims description 31
- 239000011159 matrix material Substances 0.000 claims description 30
- 230000009471 action Effects 0.000 claims description 24
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 21
- 230000006870 function Effects 0.000 claims description 21
- 239000013598 vector Substances 0.000 claims description 21
- 238000003062 neural network model Methods 0.000 claims description 9
- 101000928335 Homo sapiens Ankyrin repeat and KH domain-containing protein 1 Proteins 0.000 claims description 6
- 101000701393 Homo sapiens Serine/threonine-protein kinase 26 Proteins 0.000 claims description 6
- 102100030617 Serine/threonine-protein kinase 26 Human genes 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 6
- 238000012986 modification Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 claims description 4
- 230000017105 transposition Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000000873 masking effect Effects 0.000 claims description 3
- 238000011112 process operation Methods 0.000 claims description 3
- 238000009966 trimming Methods 0.000 claims description 3
- 238000012217 deletion Methods 0.000 claims description 2
- 230000037430 deletion Effects 0.000 claims description 2
- 239000003550 marker Substances 0.000 claims 1
- 230000001149 cognitive effect Effects 0.000 description 3
- 230000001915 proofreading effect Effects 0.000 description 3
- 241000282414 Homo sapiens Species 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Software Systems (AREA)
- Computational Mathematics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于BERT的多轮迭代法律文本纠错方法,包括1)对带有错误的法律文书文本句子进行语法纠正;2)进一步对句子中的拼写错误进行纠正。这种方法适合中文法律文书校对,包括语法修正过程和拼写修正过程,两个过程相互补充,能提高修正、纠错的效率。
Description
技术领域
本发明涉及语法纠错技术,具体是一种基于BERT的多轮迭代法律文本纠错方法。
背景技术
校对是仔细检查书面文件以识别和纠正拼写及语法错误的过程,这个过程对于确保文档准确、清晰和专业、以及有效地将预期信息传达给受众非常重要。对于法律文件来说,校对尤其重要,因为这类文件通常很复杂,并且包含需要精确和清晰的技术语言。合同或协议等法律文件中的一个错误就可能造成严重的后果,严重的后果包括法律纠纷和经济损失,例如,在法律合同中拼写错误的名字或错误的日期可能会使合同无法执行、或者在法律摘要中放错标点符号可能会改变句子的意思,破坏法律论证。因此,为了保证法律文书的准确性和有效性,实现法律目的,法律文书校对是必不可少的。
法律文件的自动校对是有益的,因为自动化系统可以:1)法律文件的自动校对速度比人力快得多,可以节省时间和资源;2)对大量文件采用一致的校对标准,确保所有文件的准确性和专业性;3)识别人工可能忽略的错误,如逗号放错地方或重复的单词;4)节省昂贵的人工校对,特别是对于大量的文件;5)可处理大量文件,适用于律师事务所、法律部门和其它处理大量法律文件的组织。
自动化校对近年来取得了显著的进步,这部分归功于自然语言处理(NLP)和机器学习的进步。Grammarly是最著名的自动校对工具之一,它采用机器学习算法来识别错误,并实时提出纠正建议,其它自动校对工具有LanguageTool、ProWritingAid和WhiteSmoke,它们提供类似Grammarly的功能。尽管有这些好的工具,现有的自动校对模型仍然存在一些局限性,例如上下文理解、有限的语言支持、缺乏特定领域的知识和有限的风格指导,特别是,中文法律文件的自动校对面临着几个挑战:语言复杂性、缺乏训练数据、法律术语、上下文敏感性、语言演变、文化差异、错误传播、缺乏可解释性以及依赖于人类的监督。
发明内容
本发明的目的是针对现有技术的不足,而提供一种基于BERT的多轮迭代法律文本纠错方法。这种方法适合中文法律文书校对,包括语法修正过程和拼写修正过程,两个过程相互补充,能提高修正、纠错的效率。
实现本发明目的的技术方案是:
一种基于BERT的多轮迭代法律文本纠错方法,包括如下步骤:
1)对带有错误的法律文书文本句子进行语法纠正:将错误句子采用语法纠错领域经典的GECToR模型对X(0)中的缺失、冗余、乱序、拼写错误进行纠正,其中表示X(0)中第i个字,得到长度为m的纠错结果句子/>将句子X(1)和原始输入句子X(0)通过对比,消除了GECToR模型对X(0)的拼写纠错操作,得到长度为m的语法纠错的输出句子:
具体语法纠错过程包括:
1-1)将X(0)输入BERT的编码器中得到X(0)的上下文词嵌入,即:
1-2)将投影到检测标签空间,得到每个字/>的上下文嵌入与检测标签0和1匹配的分数,即:/>其中DSi,1和DSi,2分别是上下文中的字/>被预测为检测标签0和1的分数,.为矩阵乘法,Wd为经过学习的检测标签权值矩阵即2×768的实数矩阵,T表示矩阵转置,bd是一个偏置向量;
1-3)将投影到纠错动作标签空间中得到另一个分数,即:
其中,CSi,k是字/>在标签词汇表O中被预测为第k个纠正动作标签的得分,/>是纠正动作标签的权重矩阵即16500×768的实数矩阵,bc是偏差向量、也是可学习的;
1-4)对于句子中的每个字,采用softmax计算字/>被预测为标签词汇表O中第i′个检测标签和第i″纠正动作标签的条件概率,其中,检测标签为0或1,即:
其中e是自然对数的基数约等于2.71828,di为预测检测标记,DSi,1和DSi,2分别为di=0和di=1的分数,DSi,i′是DSi,1和DSi,2中的一个,i′∈{0,1},ci为预测校正动作标签,CSi,i″和CSi,k是字在标签词汇表O中被预测为第i″和第k个纠正动作标签的得分;
1-5)将字的检测标记为1的概率组成概率向量,然后将概率向量的最大概率作为句子X(0)出现错误的概率:
1-6)通过argmax函数选择被预测为每一个纠正动作标签的概率组成的集合中最大的概率所对应的位置:
因此,对于X(0),有最大纠正动作标签概率列表和索引列表List_idx(0):
1-7)将List_idx(0)、和X(0)采用post-process操作得到长度为m的纠错结果句子:/>
1-8)将输入句X(0)与X(1)结合起来,生成一个新的输出句子、不包括X(0)的拼写纠正修改:
1-9)采用交叉熵损失函数进行微调:
其中n是句子X(0)的长度,如果对应的正确的检测标签/>是0,那么/>如果检测标签/>是1,那么/>如果/>对应的正确的纠正标签/>是词汇表O中的第t个纠正标签,那么/>否则为/>检测网络的训练目标是最小化Ld,校正网络的训练目标是最小化Lc,将这两个损失函数的线性组合作为总体损失函数,如下所示:L=λ×Ld+(1-λ)×Lc,其中,λ∈[0,1]是系数;
2)进一步对句子X(2)中的拼写错误进行纠正:首先将句子X(2)输入MLM模型中的MLM1模块得到排名前l个候选词的多元列表:其中/>表示X(2)中的第i个字/>在上下文中被预测为排名前l个候选词的列表,将/>和X(2)采用语音限制算法Limiter得到长度为m的句子:/>最后将X(4)输入两轮MLM模型中的MLM2模块得到长度为m的输出句子:/>即最终的纠正结果,其中MLM1模块和MLM2模块是模型结构一样但采用两种不同训练方法得到的神经网络模型,具体包括:
2-1)将输入句子X(2)通过MLM1,得到排名前l个候选词的多元列表即:/>
2-2)将采用Limiter算法,选取最合适的候选词/>组成输出句子:即:/>Limiter算法是检查候选词的多元列表/>中的每个候选词是否与X(2)中的原字/>的拼音相匹配;
2-3)将输入句子X(4)通过两轮的MLM2模块,得到长度为m的最终的句子即:X(5)=MLM2(MLM2(X(4),1),1),
其中MLM1模块和MLM2模块是结构一样但采用不同训练方式得到的神经网络模型。
步骤2)中所述MLM模型设有结构一样但采用不同训练方式得到的神经网络模型,包括:
2-4-1)将在长度为m的句子X′=(x′1,…,x′m)中的错误字替换为正确的字形成长度为m的句子X″=(x″1,…,x″m);
2-4-2)将句子X′=(x′1,…,x′m)输入BERT的编码器中得到X′中每个字的上下文词嵌入,即:(H′1,…,H′m)=BERT_encoder(X′),
其中H′i是一个768维的向量,表示字x′i捕获关于字本身的含义及x′i与句子中上下文的信息;
2-4-3)将H′i投影到BERT的词汇空间V中,得到一个分数,即每个字x′i的上下文嵌入与词汇表V中的每个字的上下文嵌入相似得分:
(si,1,…,si,|V|)=H′i·WT+b,
其中每个si,j是字x′i相似于词表V中的第j个字,|V|是字V中的字总数,·为矩阵乘法,W为V中所有字的学习权矩阵即|V|×768的实权矩阵,T为矩阵转置,b为偏差向量;
2-4-4)将X′=(x′1,…,x′m)中的每个字x′i,采用softmax计算x′i被纠正为词汇V中第j个字的条件概率:
其中x″i是预测的词,e≈2.71828为自然对数的底,si,j和si,k分别为字x′i与词汇表V中第j和第k个字相似的得分;
2-4-5)采用概率向量P(x″i|X′)表示输入字x′i预测为词汇表V中每一个字的概率,得到前t个候选字列表x″i,r=t=(x″i,1,…,x″i,t):
P(x″i|X′)={P(x″i=j|X′)|j=1,…,|V|},
x″i,r=t=mapping(top(P(x″i|X′),t),V),
其中top函数返回P(x″i|X′)前t个索引,mapping函数将这些索引与词汇表V中的字进行匹配,得到t个候选字的列表;
2-4-6)取输入X′中x′i对应的输出x″i,r=t,构成MLM的最终输出:
X″r=t=(x″1,r=t,…,x″m,r=t)(大小为m×t);
2-4-7)将X′=(x′1,…,x′m)转换为X″r=t=(x″1,r=t,…,x″m,r=t)的过程描述如下:X″r=t=MLM(X′,t),采用排序候选策略选择合适的字、或直接选择第一个位置的字即t=1作为输出X″=(x″1,…,x″m);
2-4-8)对MLM1进行微调,先对训练句子缺失、无序、冗余的错误进行纠正,只留下拼写错误,然后,采用两种不同的策略在训练数据中屏蔽15%的字:70%单独屏蔽,30%与下一个字一起屏蔽,对于每个字,在80%的时候用[MASK]替换屏蔽字,在10%的时候用一个随机的中文字替换,在10%的时候保持不变,如果在训练数据集中,一个字在句子中被标记为不正确,不会对它进行屏蔽,在微调过程中采用交叉熵损失函数:
其中,I(X′)为句字X′=(x′1,…,x′m)中错字的索引集、既包括数据本身的拼写错误也包括训练中随机替换的字,|I(X)|为集合I(X′)的元素总数,如果x′i对应的正确的字是词汇表V中的第j个字,那么/>否则为/>
2-4-9)对MLM2进行微调,直接输入只有拼写错误的句子,然后预测错误的句子的正确版本,采用交叉熵损失函数进行训练:
其中m是句子X′=(x1′,…,x′m)的长度。
现有的语法纠错方法通常通过使用大数据集训练神经模型或尝试不同的模型组合来提高性能,然而,对于像法律文件校对这样的任务,错误分布的复杂性使得现有的语法纠错方法缺乏针对性和性价比。
本技术方案采用掩码语言模型(MLM)和GECToR模型进行法律文件校对,在GECToR消除了拼写校正的变化和在拼写纠错中加入Limiter,以平衡召回率和准确性,在法律领域生成了人工数据,进一步提高了模型的性能。
这种方法适合中文法律文书校对,包括语法修正过程和拼写修正过程,两个过程相互补充,能提高修正、纠错的效率。
附图说明
图1是实施例的方法流程示意图。
具体实施方式
下面结合附图及实施例对发明的内容作进一步的阐述,但不是对本发明的限定。
实施例:
参照图1,一种基于BERT的多轮迭代法律文本纠错方法,包括如下步骤:
1)对带有错误的法律文书文本句子进行语法纠正:将错误句子采用语法纠错领域经典的GECToR模型对X(0)中的缺失、冗余、乱序、拼写错误进行纠正,其中,/>表示X(0)中第i个字,得到长度为m的纠错结果句子:/>将句子X(1)和原始输入句子X(0)通过对比,消除了GECToR模型对X(0)的拼写纠错操作,得到长度为m的语法纠错的输出句子:
具体语法纠错过程包括:
1-1)将X(0)输入BERT的编码器中得到X(0)的上下文词嵌入,即:
1-2)将投影到检测标签空间,得到每个字/>的上下文嵌入与检测标签0和1匹配的分数,即:/>其中DSi,1和DSi,2分别是上下文中的字/>被预测为检测标签0和1的分数,·为矩阵乘法,Wd为经过学习的检测标签权值矩阵即2×768的实数矩阵,T表示矩阵转置,bd是一个偏置向量;
1-3)将投影到纠错动作标签空间中得到另一个分数,即:
其中,CSi,k是字在标签词汇表O中被预测为第k个纠正动作标签的得分,/>是纠正动作标签的权重矩阵即16500×768的实数矩阵,bc是偏差向量、也是可学习的;
1-4)对于句子中的每个字,采用softmax计算字/>被预测为标签词汇表O中第i′个检测标签和第i″纠正动作标签的条件概率,其中,检测标签为0或1,即:
其中e是自然对数的基数约等于2.71828,di为预测检测标记,DSi,1和DSi,2分别为di=0和di=1的分数,DSi,i′是DSi,1和DSi,2中的一个,i′∈{0,1},ci为预测校正动作标签,CSi,i″和CSi,k是字在标签词汇表O中被预测为第i″和第k个纠正动作标签的得分;
1-5)将字的检测标记为1的概率组成概率向量,然后将概率向量的最大概率作为句子X(0)出现错误的概率:/>
1-6)通过argmax函数选择被预测为每一个纠正动作标签的概率组成的集合中最大的概率所对应的位置:
因此,对于X(0),有最大纠正动作标签概率列表和索引列表List_idx(0):
1-7)将List_idx(0)、和X(0)采用post-process操作得到长度为m的纠错结果句子:/>
1-8)将输入句X(0)与X(1)结合起来,生成一个新的输出句子、不包括X(0)的拼写纠正修改:尽管GECToR可以纠正拼写错误,但它的效果不如单独的拼写纠正模型,甚至增加了后续拼写纠正工作的难度,重要的是,不会直接删除这些用于拼写纠正的标签,主要原因是输入句X(0)包含拼写错误,如果删除了这些纠错标签,那么模型可能会对拼写错误进行其它类型的修改,这可能会使随后的拼写纠错工作更加困难;
1-8)采用交叉熵损失函数进行微调:
其中n是句子X(0)的长度,如果对应的正确的检测标签/>是0,那么/>如果检测标签/>是1,那么/>如果/>对应的正确的纠正标签/>是词汇表O中的第t个纠正标签,那么/>否则为/>检测网络的训练目标是最小化Ld,校正网络的训练目标是最小化Lc,将这两个损失函数的线性组合作为总体损失函数,如下所示:L=λ×Ld+(1-λ)×Lc,其中,λ∈[0,1]是系数;
2)进一步对句子X(2)中的拼写错误进行纠正:首先将句子X(2)输入MLM模型中的MLM1模块得到排名前l个候选词的多元列表:
其中表示X(2)中的第i个字/>在上下文中被预测为排名前l个候选词的列表,将/>和X(2)采用语音限制算法Limiter得到长度为m的句子:/>最后将X(4)输入两轮MLM模型中的MLM2模块得到长度为m的输出句子:/>即最终的纠正结果,其中MLM1模块和MLM2模块是模型结构一样但采用两种不同训练方法得到的神经网络模型,具体包括:
2-1)将输入句子X(2)通过MLM1,得到排名前l个候选词的多元列表
即:
2-2)为了缓解第一轮拼写校正后准确率的下降,将采用Limiter算法,选取最合适的候选词/>组成输出句子:
即:
Limiter算法是检查候选词的多元列表中的每个候选词是否与X(2)中的原字的拼音相匹配;
2-3)将输入句子X(4)通过两轮的MLM2模块,得到长度为m的最终的句子即:X(5)=MLM2(MLM2(X(4),1),1),
其中MLM1模块和MLM2模块是结构一样但采用不同训练方式得到的神经网络模型。
步骤2)中所述MLM模型设有结构一样但采用不同训练方式得到的神经网络模型,MLM模型的基本思想是在给定的上下文中重构句子中的错误词,包括:
2-4-1)将在长度为m的句子X′=(x′1,…,x′m)中的错误字替换为正确的字形成长度为m的句子X″=(x″1,…,x″m);
2-4-2)将句子X′=(x′1,…,x′m)输入BERT的编码器中得到X′中每个字的上下文词嵌入,即:(H′1,…,H′m)=BERT_encoder(X′),
其中H′i是一个768维的向量,表示字x′i捕获关于字本身的含义及x′i与句子中上下文的信息;
2-4-3)将H′i投影到BERT的词汇空间V中,得到一个分数,即每个字x′i的上下文嵌入与V中其它每个字的上下文嵌入相似得分:
(si,1,…,si,|V|)=H′i·WT+b,
其中每个si,j是字x′i相似于词表V中的第j个字,|V|是字V中的字总数,·为矩阵乘法,W为V中所有字的学习权矩阵即|V|×768的实权矩阵,T为矩阵转置,b为偏差向量、也是一个可学习参数;
2-4-4)将X′=(x′1,…,x′m)中的每个字x′i,采用softmax计算x′i被纠正为词汇V中第j个字的条件概率:
其中x″i是预测的词,e≈2.71828为自然对数的底,si,j和si,k分别为字x′i与词汇表V中第j和第k个字相似的得分;
2-4-5)采用概率向量P(x″i|X′)表示输入字x′i预测为词汇表V中每一个字的概率,得到前t个候选字列表x″i,r=t=(x″i,1,…,x″i,t):
P(x″i=X′)={P(x″i=j|X′)|j=1,…,|V|},
x″i,r=t=mapping(top(P(x″i|X′),t),V),
其中top函数返回P(x″i|X′)前t个索引,mapping函数将这些索引与词汇表V中的字进行匹配,得到t个候选字的列表;
2-4-6)取输入X′中x′i对应的输出x″i,r=t,构成MLM的最终输出:
X″r=t=(x″1,r=t,…,x″m,r=t)(大小为m×t);
2-4-7)将X′=(x′1,…,x′m)转换为X″r=t=(x″1,r=t,…,x″m,r=t)的过程描述如下:X″r=t=MLM(X′,t),采用排序候选策略选择合适的字、或直接选择第一个位置的字即t=1作为输出X″=(x″1,…,x″m);
2-4-8)对MLM1进行微调,先对训练句子缺失、无序、冗余的错误进行纠正,只留下拼写错误,然后,采用两种不同的策略在训练数据中屏蔽15%的字:70%单独屏蔽,30%与下一个字一起屏蔽,对于每个字,在80%的时候用[MASK]替换屏蔽字,在10%的时候用一个随机的中文字替换,在10%的时候保持不变,如果在训练数据集中,一个字在句子中被标记为不正确,不会对它进行屏蔽,在微调过程中采用交叉熵损失函数:
其中,I(X′)为句字X′=(x1′,…,x′m)中错字的索引集、既包括数据本身的拼写错误也包括训练中随机替换的字,|I(X)|为集合I(X′)的元素总数,如果x′i对应的正确的字是词汇表V中的第j个字,那么/>否则为/>
2-4-9)对MLM2进行微调,直接输入只有拼写错误的句子,然后预测错误的句子的正确版本,采用交叉熵损失函数进行训练:
其中m是句子X′=(x′1,…,x′m)的长度。
本例中:
1.数据集为中国人工智能法律挑战(CAIL 2022)的开放数据集,即CAIL 2022WSJD训练和评估本例方法,基于深度神经网络的模型往往需要大量的数据进行训练才能取得良好的效果,因此,本例基于规则的加噪方式,增加训练数据,本例在CAIL 2022WSJD评估模型,如表1所示:
表1评测数据集
2.对比方法:将本例方法与5种方面级别情感分类方法进行比较,BART是一种编码器-解码器模型,通过seq2seq的方式进行监督训练,输入错误句子,输出更正后的句子,T5利用大规模预训练学习通用语言特征,再在特定下游任务上进行监督微调,能够有效地进行语法纠错;Claude是Anthropic公司开发的一款开源的语言AI系统,是一个强调安全、透明、公平原则的开源语言AI系统;
ChatGPT是OpenAI研发的一款基于大型语言模型的对话式AI系统,它的出现将推动对话AI技术的发展和应用探索;SpartDesk是科大讯飞研发的认知智能大模型,可以和人类进行自然交流,提供包括语言理解、问答、推理等各类认知智能服务,高效完成各领域认知智能需求;
3对比结果:对比结果如表2所示:
表2实例对比结果
,表2表明,本例方法在各个指标上显著优于其它方法,这充分证明本例方法能有效的进行中文法律文书校对,并且能平衡召回率和准确性。
实验结果表明,本例方法具有更好的性价比,同时检错和纠错的准确率、召回率、F1,以及总的F1远高于其它的方法。本例方法还对于以后的语法纠错有一定的启发性见解,相对于其它方法,本例方法具有更强的鲁棒性。
Claims (2)
1.一种基于BERT的多轮迭代法律文本纠错方法,其特征在于,包括如下步骤:
1)对带有错误的法律文书文本句子进行语法纠正:将错误句子采用语法纠错GECToR模型对X(0)中的缺失、冗余、乱序、拼写错误进行纠正,其中,/>表示输入句子X(0)中第i个字,得到长度为m的纠错结果句子/>将句子X(1)和原始输入句子X(0)采用对比,得到长度为m的语法纠错的输出句子:/>具体语法纠错过程包括:
1-1)将X(0)输入BERT的编码器中得到X(0)的上下文词嵌入,即:
1-2)将投影到检测标签空间,得到每个字/>的上下文嵌入与检测标签0和1匹配的分数,即:/>其中DSi,1和DSi,2分别是上下文中的字/>被预测为检测标签0和1的分数,·为矩阵乘法,Wd为经过学习的检测标签权值矩阵即2×768的实数矩阵,T表示矩阵转置,bd是一个偏置向量;
1-3)将投影到纠错动作标签空间中得到另一个分数,即:其中,CSi,k是字/>在标签词汇表O中被预测为第k个纠正动作标签的得分,/>是纠正动作标签的权重矩阵即16500×768的实数矩阵,bc是偏差向量、也是可学习的;
1-4)对于句子中的每个字,采用softmax计算字/>被预测为标签词汇表O中第i′个检测标签和第i″纠正动作标签的条件概率,其中,检测标签为0或1,即:
其中e是自然对数的基数约等于2.71828,di为预测检测标记,DSi,1和DSi,2分别为di=0和di=1的分数,DSi,i′是DSi,1和DSi,2中的一个,i′∈{0,1},ci为预测校正动作标签,CSi,i″和CSi,k是字在标签词汇表O中被预测为第i″和第k个纠正动作标签的得分;
1-5)将字的检测标记为1的概率组成概率向量,然后将概率向量的最大概率作为句子X(0)出现错误的概率:/>
1-6)通过argmax函数选择被预测为每一个纠正动作标签的概率组成的集合中最大的概率所对应的位置:/>
因此,对于X(0),有最大纠正动作标签概率列表List_Pc (0)和索引列表List_idx(0):
1-7)将List_idx(0)、List_Pc (0)、和X(0)采用post-process操作得到长度为m的纠错结果句子:/>
1-8)将输入句X(0)与X(1)结合起来,生成一个新的输出句子、不包括X(0)的拼写纠正修改:
1-8)采用交叉熵损失函数进行微调:
其中n是句子X(0)的长度,如果对应的正确的检测标签/>是0,那么/>如果检测标签/>是1,那么/>如果/>对应的正确的纠正标签/>是词汇表O中的第t个纠正标签,那么/>否则为/>检测网络的训练目标是最小化Ld,校正网络的训练目标是最小化Lc,将这两个损失函数的线性组合作为总体损失函数,如下所示:
L=λ×Ld+(1-λ)×Lc,其中,λ∈[0,1]是系数;
2)进一步对句子X(2)中的拼写错误进行纠正:首先将句子X(2)输入MLM模型中的MLM1模块得到排名前l个候选词的多元列表:其中/>表示X(2)中的第i个字在上下文中被预测为排名前l个候选词的列表,将/>和X(2)采用语音限制算法Limiter得到长度为m的句子:/>最后将X(4)输入两轮MLM模型中的MLM2模块得到长度为m的输出句子:/>即最终的纠正结果,其中MLM1模块和MLM2模块是模型结构一样但采用两种不同训练方法得到的神经网络模型,具体包括:
2-1)将输入句子X(2)通过MLM1,得到排名前l个候选词的多元列表即:/>
2-2)将采用Limiter算法,选取最合适的候选词/>组成输出句子:即:/>Limiter算法是检查候选词的多元列表/>中的每个候选词是否与X(2)中的原字/>的拼音相匹配;
2-3)将输入句子X(4)通过两轮的MLM2模块,得到长度为m的最终的句子即:X(5)=MLM2(MLM2(X(4),1),1),其中MLM1模块和MLM2模块是结构一样但采用不同训练方式得到的神经网络模型。
2.根据权利要求1所述的基于BERT的多轮迭代法律文本纠错方法,其特征在于,步骤2)中所述MLM模型设有结构一样但采用不同训练方式得到的神经网络模型,包括:
2-4-1)将在长度为m的句子X′=(x′1,…,x′m)中的错误字替换为正确的字形成长度为m的句子X″=(x″1,…,x″m);
2-4-2)将句子X′=(x′1,…,x′m)输入BERT的编码器中得到X′中每个字的上下文词嵌入,即:(H′1,…,H′m)=BERT_encoder(X′),其中H′i是一个768维的向量,表示字x′i捕获关于字本身的含义及x′i与句子中上下文的信息;
2-4-3)将H′i投影到BERT的词汇空间V中,得到一个分数,即每个字x′i的上下文嵌入与词汇表V中的每个字的上下文嵌入相似得分:
(si,1,…,si,|V|)=H′i·WT+b,其中每个si,j是字x′i相似于词表V中的第j个字,|V|是字V中的字总数,·为矩阵乘法,W为V中所有字的学习权矩阵即|V|×768的实权矩阵,T为矩阵转置,b为偏差向量、也是一个可学习参数;
2-4-4)将X′=(x′1,…,x′m)中的每个字x′i,采用softmax计算x′i被纠正为词汇V中第j个字的条件概率:
其中x″i是预测的词,e≈2.71828为自然对数的底,si,j和si,k分别为字x′i与词汇表V中第j和第k个字相似的得分;
2-4-5)采用概率向量P(x″i|X′)表示输入字x′i预测为词汇表V中每一个字的概率,得到前t个候选字列表x″i,r=t=(x″i,1,…,x″i,t):
P(x″i|X′)={P(x″i=j|X′)|j=1,…,|V|},
x″i,r=t=mapping(top(P(x″i|X′),t),V),
其中top函数返回P(x″i|X′)前t个索引,mapping函数将这些索引与词汇表V中的字进行匹配,得到t个候选字的列表;
2-4-6)取输入X′中x′i对应的输出x″i,r=t,构成MLM的最终输出:X″r=t=(x″1,r=t,…,x″m,r=t)(大小为m×t);
2-4-7)将X′=(x′1,…,x′m)转换为X″r=t=(x″1,r=t,…,x″m,r=t)的过程描述如下:X″r=t=MLM(X′,t),采用排序候选策略选择合适的字、或直接选择第一个位置的字即t=1作为输出X″=(x″1,…,x″m);
2-4-8)对MLM1进行微调,先对训练句子缺失、无序、冗余的错误进行纠正,只留下拼写错误,然后,采用两种不同的策略在训练数据中屏蔽15%的字:70%单独屏蔽,30%与下一个字一起屏蔽,对于每个字,在80%的时候用[MASK]替换屏蔽字,在10%的时候用一个随机的中文字替换,在10%的时候保持不变,如果在训练数据集中,一个字在句子中被标记为不正确,不会对它进行屏蔽,在微调过程中采用交叉熵损失函数:
其中,I(X′)为句字X′=(x′1,…,x′m)中错字的索引集、既包括数据本身的拼写错误也包括训练中随机替换的字,|I(X)|为集合I(X′)的元素总数,如果x′i对应的正确的字是词汇表V中的第j个字,那么/>否则为/>
2-4-9)对MLM2进行微调,直接输入只有拼写错误的句子,然后预测错误的句子的正确版本,采用交叉熵损失函数进行训练:
其中m是句子X′=(x′1,…,x′m)的长度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311066170.5A CN117034912A (zh) | 2023-08-23 | 2023-08-23 | 一种基于bert的多轮迭代法律文本纠错方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311066170.5A CN117034912A (zh) | 2023-08-23 | 2023-08-23 | 一种基于bert的多轮迭代法律文本纠错方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117034912A true CN117034912A (zh) | 2023-11-10 |
Family
ID=88622587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311066170.5A Pending CN117034912A (zh) | 2023-08-23 | 2023-08-23 | 一种基于bert的多轮迭代法律文本纠错方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117034912A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117933231A (zh) * | 2024-03-22 | 2024-04-26 | 腾讯科技(深圳)有限公司 | 文本纠错及纠错模型训练方法、装置、电子设备和介质 |
CN118194854A (zh) * | 2024-05-20 | 2024-06-14 | 江西师范大学 | 一种基于全词掩码和依存掩码的中文文本的纠错方法 |
-
2023
- 2023-08-23 CN CN202311066170.5A patent/CN117034912A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117933231A (zh) * | 2024-03-22 | 2024-04-26 | 腾讯科技(深圳)有限公司 | 文本纠错及纠错模型训练方法、装置、电子设备和介质 |
CN118194854A (zh) * | 2024-05-20 | 2024-06-14 | 江西师范大学 | 一种基于全词掩码和依存掩码的中文文本的纠错方法 |
CN118194854B (zh) * | 2024-05-20 | 2024-07-23 | 江西师范大学 | 一种基于全词掩码和依存掩码的中文文本的纠错方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Edizel et al. | Misspelling oblivious word embeddings | |
US11321671B2 (en) | Job skill taxonomy | |
CN110647619B (zh) | 一种基于问题生成和卷积神经网络的常识问答方法 | |
US11625540B2 (en) | Encoder, system and method for metaphor detection in natural language processing | |
CN117034912A (zh) | 一种基于bert的多轮迭代法律文本纠错方法 | |
US20030004716A1 (en) | Method and apparatus for determining a measure of similarity between natural language sentences | |
CN106202010A (zh) | 基于深度神经网络构建法律文本语法树的方法和装置 | |
CN114429132B (zh) | 一种基于混合格自注意力网络的命名实体识别方法和装置 | |
CN116151132B (zh) | 一种编程学习场景的智能代码补全方法、系统及储存介质 | |
CN111325018B (zh) | 一种基于web检索和新词发现的领域词典构建方法 | |
CN113742733B (zh) | 阅读理解漏洞事件触发词抽取和漏洞类型识别方法及装置 | |
CN111507093A (zh) | 一种基于相似字典的文本攻击方法、装置及存储介质 | |
US11997056B2 (en) | Language model with external knowledge base | |
CN111709225B (zh) | 一种事件因果关系判别方法、装置和计算机可读存储介质 | |
CN113946687A (zh) | 一种标签一致的文本后门攻击方法 | |
CN117077655A (zh) | 基于情感知识增强的方面级情感三元组提取方法及系统 | |
CN113312918B (zh) | 融合部首向量的分词和胶囊网络法律命名实体识别方法 | |
CN112528003B (zh) | 一种基于语义排序和知识修正的多项选择问答方法 | |
CN111581365B (zh) | 一种谓词抽取方法 | |
CN113516094A (zh) | 一种用于为文档匹配评议专家的系统以及方法 | |
CN111767388B (zh) | 一种候选池生成方法 | |
He et al. | [Retracted] Application of Grammar Error Detection Method for English Composition Based on Machine Learning | |
CN114443818A (zh) | 一种对话式知识库问答实现方法 | |
Sampath et al. | Hybrid Tamil spell checker with combined character splitting | |
Medina Herrera et al. | Semi-supervised learning for disabilities detection on English and Spanish biomedical text |
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 |