
-
生物通官微
陪你抓住生命科技
跳动的脉搏
面向巴基斯坦宪法双语信息检索的领域自适应BERT模型(ULBERT)开发与应用研究
【字体: 大 中 小 】 时间:2025年09月23日 来源:Frontiers in Big Data 2.3
编辑推荐:
本文介绍了ULBERT(Urdu Legal BERT),一种针对巴基斯坦宪法双语(乌尔都语和英语)文本的领域自适应BERT模型,用于构建信息检索(IR)系统。该系统通过掩码语言建模(MLM)和下一句预测(NSP)任务进行微调,显著提升了法律文档的语义搜索准确率(英语查询准确率达86%,乌尔都语达73%),为低资源语言法律领域的人工智能应用提供了重要技术突破和实用工具。
法律文本如国家宪法的浏览因专业术语和复杂内部引用而 notoriously difficult。针对巴基斯坦宪法,此前缺乏自动化的用户友好搜索工具。本研究引入ULBERT,一种新型人工智能驱动的信息检索框架,旨在让所有用户(从法律专家到普通公民)都能以英语和乌尔都语访问宪法内容。
该系统围绕定制AI模型构建,超越关键词匹配,理解用户查询的语义含义。它处理英语或乌尔都语问题,并将其与宪法文本进行比较,基于上下文和语义相似性识别最相关段落。
在性能测试中,ULBERT框架证明 highly effective。它成功检索到正确的宪法信息,英语查询准确率为86%,乌尔都语查询为73%。
这些结果表明通过人工智能增强基础法律文档可访问性方面取得 significant breakthrough。该框架为法律查询提供了有效直观的工具,使更广泛的受众能够理解巴基斯坦宪法。
信息检索系统历史悠久,使用多种方法如词频-逆文档频率(TF-IDF)、概率度量排名文档、潜在语义索引(LSI)、链接分析策略如PageRank和HITS等。这些方法擅长检测少数关键组件,但 opaque representations 无法准确表示文档的语义内容。为解决语义理解问题,引入了各种词嵌入方法,如Word2vec、Glove、BERT、FastText和ELMO。其中,BERT是更好模型,利用周围文本来帮助计算机确定文本中混淆词的含义。BERT基于Transformers,其中每个输出元素连接到每个输入元素,其权重由连接方式决定。BERT预先配置执行两个NLP任务:掩码语言建模(MLM)和下一句预测(NSP)。
BERT模型的适应性使其成为现代机器学习基础,尤其在混合系统中。许多研究者将其强大语言表示与其他算法配对以解决专业问题。这在文本分类中常见。例如,在情感分析中,研究者将BERT与AdaBoost和粒子群优化等工具结合以解析员工评论的细微差别。类似策略在识别有害在线内容中有效,其中使用XGBoost等分类器的多层框架可检测滥用语言、网络欺凌和骚扰。这些研究突出了BERT的 impressive adaptability,但我们的工作涉足高度结构化和 demanding 的法律领域。我们的方向由Chalkidis等人(2020)的关键发现指导,他们证明在领域特定文本上微调预训练模型对获得最佳结果至关重要。遵循此原则,我们专注于将定制BERT模型应用于资源不足的巴基斯坦宪法法律领域。
Several domain-specific, fine-tuned variants of pre-trained BERT have emerged for legal text processing。Legal_BERT(Chalkidis等人,2020)在EU、UK和US法律语料库上训练,在ECHR-CASES数据集上多分类达到最大F-score 59.2%。AraLegal-BERT(Al-qurishi等人,2022)为阿拉伯法律文档开发,在BoG数据集上报告精确度、召回率和F-score值约0.89,在SJP数据集上约0.92。jurBERT(Masala等人,2021)利用罗马尼亚法律数据集并使用AUC评估性能。SM-BERT-CR(Vuong等人,2023)基于类似原则作为Chalkidis等人(2020),但使用不同语料库并专注于基于查询的法律案例检索,在COLIEE 2020测试集上达到精确度0.6395、召回率0.8050和F-score 0.6528。值得注意的是,SM-BERT-CR还 incorporated TextRank算法和GLOVE嵌入(Pennington等人,2014),与其他模型(Chalkidis等人,2020;Al-qurishi等人,2022;Masala等人,2021)不同,尽管其基础是微调预训练BERT模型(Devlin等人,2018)。
虽然存在几种先进法律IR系统,如Legal-BERT和LexNLP,主要针对英语和欧洲法律框架,但与ULBERT的直接比较 challenging。这些系统在数据集和法律系统上训练,与巴基斯坦宪法和乌尔都语在结构、术语和法律概念上 fundamentally different。有意义的比较需要跨 vastly different 语言和管辖背景的可比数据集和评估指标。ULBERT的主要贡献在于 pioneering 向量基IR在乌尔都语法律领域的应用,为这个资源不足领域的未来研究奠定基础。
proposed system, ULBERT(Urdu Legal BERT), designed to be an intelligent search assistant for legal professionals working with the Constitution of Pakistan。Unlike general-purpose search engines like Google, ULBERT focuses on this legal domain, making it a specialized enterprise search solution。This approach centers on fine-tuning the pre-trained base BERT model。The novelty of this work lies not in developing a new architecture, but in demonstrating the successful adaptation of a powerful model to the unique domain of the Pakistani Constitution and its Urdu legal text。
At its core, ULBERT moves beyond traditional keyword-based searches。Instead of simply matching words, it understands the meaning behind the user's query and the legal documents。This is achieved through a vector-based approach。Keyword searches often struggle with complex questions, synonyms, long queries, or when users aren't familiar with the precise legal terminology。ULBERT overcomes these limitations using a cutting-edge language model to create numerical representations(vectors)of the text's meaning。These vectors are then indexed in a high-dimensional space, allowing us to measure the similarity between a user's query vector and the vectors representing each document。
To accomplish its objective, the study leveraged the power of the Bidirectional Encoder Representations from Transformers(BERT)model, specifically utilizing the base-BERT version built upon the Transformer architecture。This model was selected to balance accuracy with computational efficiency, as larger BERT variants, despite offering potentially marginal accuracy gains, would significantly increase computational demands and negatively impact the system's scalability。The underlying Transformer architecture is composed of a series of encoders, where each encoder contains two key components: a multi-head attention layer for focusing on different parts of the input text simultaneously, and a feed-forward neural network。The implemented system employs an architecture of 12 encoder layers, which encompasses a vast network of 110 million parameters。Decoder layers were deliberately excluded from the model, as they are not required for the information retrieval and search tasks central to this research。
The key stages involved in the process are as follows:
? 数据准备:过程始于法律文档数据集的仔细准备,涉及彻底文本清理和格式化。
? 词汇构建:随后,从该准备数据集中提取关键词汇以形成领域特定词典。
? 微调BERT:该词汇与数据集一起用于微调预训练base-BERT模型, specializing it for Pakistani constitutional law。base-BERT模型自动为每个单词生成三种类型嵌入(位置、段和令牌),表示其在输入序列中的位置、句子上下文和令牌身份。这些嵌入然后通过模型的一系列编码器层处理和精炼。
? 索引创建:此微调过程产生一个 specialized model,称为“ULBERT”,并创建代表数据集中所有文档的嵌入向量的相应密集索引。
? 查询处理:当用户提交搜索查询时,ULBERT模型将输入文本转换为相应高维查询向量。
? 相似性匹配:然后使用欧几里得距离相似性度量将查询向量与索引文档向量进行比较。此计算确定用户查询与每个文档之间的语义 proximity。
? 结果呈现:最后,与查询最语义相似的文档被检索并呈现给用户作为搜索结果。
ULBERT的整体设计 incorporates several advanced techniques,包括知识蒸馏、BERT与Transformers的力量、量化和修剪。这些技术共同确保系统的准确性和效率。设计包括数据获取与预处理的阶段。然后,在CP-Data数据集上训练ULBERT语言模型以获得句子和单词的嵌入。使用这些嵌入进行输入查询转换是下一步。这些嵌入使用ULBERT、欧几里得距离和余弦相似性进行匹配。最后,完成系统评估。以下部分详细介绍了每个步骤。
巴基斯坦宪法为国家法律和政治系统设定了治理规则。开篇章节阐述了政府三个分支的结构和职责:两院立法机构(议会)、由总理领导的行政机构和由最高法院监督的司法机构。宪法前六条规定政府是联邦议会共和国,伊斯兰教是官方宗教(Wynbrandt,2009)。宪法某些部分规定法律系统必须遵循古兰经和圣训中的伊斯兰规则。尽管巴基斯坦宪法写于1973年,但共和国日每年3月23日庆祝,当时第一个合奏于1956年发布。技术上,已有26次更改,仅23次被纳入宪法,议会拒绝了3次。本研究使用英语和乌尔都语的最新版宪法。首先,数据集被过滤为每个版本300页,英语和乌尔都语。需要过滤器以从数据集中删除不必要的结构信息。然而,英语和乌尔都语版本的宪法卷结构相似。此 combined 600页限制将增加。部分、章节、附件和附表存在于CP-Data数据集中。英语CP-Data的总大小为341,529单词,乌尔都语CP-Data的总大小为366,388,而每个部分的单独大小在表1中提供。
有效的预处理阶段对于确保良好检索性能同时高效管理计算空间和时间要求至关重要。此阶段的主要目标是从数据集内的文档中提取基本特征和关键短语以提高文本的语义相关性。复杂词嵌入模型的出现,如Word2vec(Mikolov等人,2013)、Glove(Pennington等人,2014)、Elmo(Peters等人,2018)和BERT(Devlin等人,2018),导致预处理分为两个主要类别:传统技术和这些模型所需的专门预格式化。由于 proposed approach 基于BERT架构,其方法论结合了两种策略。传统组件包括标准技术,如令牌化、停用词移除以及数字、连字符和标点符号的处理。由于这些过程的 commonality 和为简洁起见,这些步骤未详细讨论。因此,本节重点放在ULBERT模型所需的特定预格式化上。
在CP-Data数据集上微调base BERT模型之前,文本需要经过仔细的预格式化阶段。此步骤生成位置、段和令牌嵌入,如图2英语和图3乌尔都语(从右向左读)所示。这些嵌入通过掩码语言建模(MLM)和下一句预测(NSP)任务创建,两者都是BERT的核心特性。在此设置中,特殊[CLS]令牌标记输入序列的开始,而[SEP]信号每个句子的结束。位置嵌入,标记为E0到E10,跟踪每个令牌在序列中出现的位置,而段嵌入,EA和EB,标识令牌属于哪个句子。在标准架构之上,我们在令牌化后添加一个新的文档嵌入层。此额外层,在通常BERT图中 absent,在第3.6节中更详细解释。
下一步是从法律数据集中构建领域特定词汇。由于原始BERT模型(Devlin等人,2018)依赖WordPiece(WP)令牌生成器,但该工具不可用为开源,我们选择SentencePiece(SP)令牌生成器在unigram模式下作为实用替代(Deepa,2021)。SP总体工作良好,尽管需要一些小调整以适应标准BERT格式。一个关键实际问题是,一次在整个数据集上训练SP非常内存饥饿,并可能在低RAM环境(如Google Colab)中崩溃内核。为避免这种情况,我们通过处理较小块中的数据而不是一次全部来迭代构建词汇。我们还通过将其索引设置为-1来禁用SP的默认句子开始和结束令牌。最后,词汇大小(VOC_SIZE)选择在通常32,000–128,000范围内,并保留一组占位符令牌(NUM_PLACEHOLDERS)用于未来更新。
SentencePiece处理令牌化的方式与WordPiece略有不同。首先,它用特殊标记“”替换每个空格,因此“Hello World.”变成“Hello_World”,然后拆分成块如[Hello] [World] [.]。任何跟随空格的单词获得“”前缀;句子开头的单词则不。为使 resulting vocabulary 看起来更像WordPiece,进行简单转换:从SentencePiece令牌中移除“”并向继续单词的子词块添加##。通常BERT控制符号,[MASK]、[SEP]、[CLS]、[UNK]等,也添加 along with placeholder tokens。那些占位符让您引入新的、任务特定令牌(例如,在法律数据集中)通过将它们交换为真实令牌,重新生成预训练数据,并微调模型。最后,完成的词汇保存到文件;英语和乌尔都语词汇示例显示在图4和图5。
本节完成第3.3、3.4节讨论的概念。BERT是一个双向模型,可以在查看 preceding and following context 后找到序列中的单词。此搜索使用MLM和NSP技术完成,在第3.3节提到。在MLM中,预测缺失单词,如为英语/乌尔都语句子填空(示例0.0.1)从数据集提供。
在本章中规定的原则应被称为政策的…………。
?? ??? ??? ???? ???? ???? ???? ???? ??…………. ??????? ??
在MLM中,代替此空白,隐藏单词称为掩码单词并标记为[MASK]。在此预训练阶段,对于掩码,MLM算法从我们的数据集中选择15%的单词位置进行预测。对于任何选定的单词位置,它执行掩码与[MASK]标签80%的时间,用随机单词替换10%的时间,并保持不变10%的时间。BERT在训练/微调期间的主要角色是正确预测缺失单词;为此,它使用编码器输出上的分类层。此分类层的向量输出然后乘以嵌入矩阵,这给我们词汇维度。这有助于将模型预测与词汇对齐,如乌尔都语图6所见,英语词汇情况相同。
类似地,在NSP算法中,在训练之前,模型从我们的数据集中选择成对句子。对于50%的对,第一和第二句子根据文档中句子的实际位置,并像黄金标准一样行动。而在其他50%的对中,模型从整个数据集中随机选择第二句子。模型的目标是使用黄金标准学习第二句子的正确选择。英语和乌尔都语的预训练句子形式在第3.3节的图2和图3中描述。两种算法,MLM和NSP,在base-BERT中一起运行。然而,MLM主要贡献于实现我们ULBERT企业搜索引擎的目标。技术上,数据集被分成碎片。此外,乌尔都语的情况不必要;小写被视为英语有效。模型运行这些设置以准备预训练信息,并花费时间,取决于数据集的大小。细节在第3.6节呈现。
为持久存储资源,系统使用Google Cloud Storage(GCS)。它在存储桶中创建两个文件夹——一个用于数据集,一个用于模型,并将模型的词汇和配置文件放在模型文件夹中。它还设置BUCKET变量并定义base-BERT超参数以便训练可以继续。一旦一切配置完成,系统将资产上传到预配置的GCS存储桶以进行后续步骤,如下所述。
微调过程始于准备数据集,如第3.2节概述并在表1中总结。此多语言数据集用于微调base BERT模型。一旦数据准备就绪,模型预处理文档,如第3.3节详细说明。为清晰起见,英语和乌尔都语输入一起呈现。SentencePiece令牌生成器配置为匹配base BERT的WordPiece令牌生成器,解决第3.4节指出的问题。使用先前构建的词汇,令牌生成器为两种语言生成令牌ID,如图7左侧所示。为保持解释简洁,此处不讨论令牌嵌入期间的引理分离。令牌化后,文档嵌入层为每个令牌分配Qi和Si值,从其提取词汇存储其文档ID。这些嵌入然后通过段和位置嵌入层传递,通过求和所有三个嵌入并应用归一化产生密集向量,如图8所示。由于base BERT接受最多512令牌的序列,较短输入用[PAD]符号填充。在下一句预测(NSP)训练期间,模型迭代地从文档中选择两个句子A和B顺序,像bigram模型,并使用IsNext()方法为整个文档构建向量。类似地,模型从文档中选择第一句子A,然后从整个数据集中任何随机句子B来构建NotNext()的向量。此IsNext()和NotNext()接下来定义。对于MLM,模型从每个文档单独取句子并相应生成向量。
模型三个嵌入层的输入序列可以是单个句子或一对句子。为简单起见,呈现NSP的详细版本,排除MLM作为模型的组件。两个组件已在第3.5节讨论。每个输入令牌获得的每个密集向量在图8末尾描述,传递到注意力头部分。注意力头查找句子令牌之间的关系并输出到前馈神经网络。这里,每个密集向量的大小乘以最后4层,产生隐藏矩阵H大小768×4,如图7右侧显示,其中L和M是句子的相应大小:SEN1和SEN2。
对于文档检索,模型添加一个新的权重层W大小H×NoD,其中H=768是隐藏维度,NoD(文档数)等于50,如图9所示。为前一步的每一行计算单独的W矩阵,并使用逻辑回归通过softmax和交叉熵损失优化那些权重;应用L1正则化以修剪参数。微调按语言不同处理:CP-数据集的英语部分从预训练模型微调,而乌尔都语部分从头训练,因为baseBERT缺乏预训练乌尔都语词汇。两种语言部分使用掩码语言建模(MLM)与15%掩码率,在训练期间混合掩码、随机和未更改令牌。例如,在200单词序列中,选择30令牌(15%)进行掩码,其中10%(3令牌)替换为随机单词,另一个10%(3令牌)保持不变。对于下一句预测(NSP),每个示例配对句子A与句子B:50%的时间,B实际跟随A(IsNext),50%的时间,B从数据集中随机抽取(NotNext);模型使用sigmoid而不是softmax将其视为二元决策。
训练确保参数与执行流一致设置。随后是估计器和输入特征的构建。之后,通过调用训练函数执行模型,即estimator.train(p),其中p指参数input_fn = train_input_fn,和max_steps = TRAIN_STEPS。模型使用默认参数训练100万步,英语运行时间6~0小时,乌尔都语6~7小时。在此过程中,内核因某种原因重启,但训练从最新检查点继续。我们的ULBERT定制模型有一个内置神经网络。训练后,嵌入在法律文档的文本内容中产生。它不强迫我们创建自定义令牌生成器,因为ULBERT中使用的base BERT变换器包括其技术。它简单明了,可访问最佳版本,为文档中的每个令牌产生一组长度向量。最后,此过程产生一个训练模型存储在云上使用双语数据集。
proposed search strategy uses the fine-tuned BERT(as discussed in Section 3.6)as a feature extractor for the search queries。For technical configuration, the key steps involved are discussed as follows。
? 加载微调和训练模型:这将我们微调/训练的基于BERT的模型加载到内存中使用简单Python语句。原始base-BERT已有英语的预训练词汇,但乌尔都语没有此类预训练词汇,除了(Malik等人,2023),该模型用于滥用/威胁内容分类,与我们的法律内容完全不同。因此,base-BERT(Devlin等人,2018)为法律领域完全从头训练。这是为了避免客户端-服务器架构引入的延迟和潜在性能问题。BERT-base模型通过自监督直接从原始文本学习,使用掩码语言建模(MLM)和下一句预测(NSP)。相比之下,监督模型通常依赖标记示例,当这些标签可用时,可以在小的、领域特定语料库上表现良好。MLM和NSP让BERT自动提取深度上下文和语义表示,无需人工注释。如Kotei和Thirunavukarasu(2023)指出,此自监督训练帮助模型泛化到下游任务,即使标记数据稀缺。因为英语BERT是大规模训练的,通常不需要额外标记数据。对于乌尔都语法律数据集,然而,用标记示例微调ULBERT可以改善结果。仍然,由于项目旨在超越这个单一、小数据集,团队将广泛标记留给未来工作,现在 favor 无监督方法,因为它更便宜、更容易扩展,并且 tend 更好地泛化,同时减少对手动注释的依赖。ULBERT微调和训练模型为英语和乌尔都语,分别在第3.6节讨论,并在图9中有详细图表。两种模型从持久存储加载使用,分别用于英语和乌尔都语。此技术配置步骤在Python环境中使用简单语句如wget、unzip、pip等实现。
? 优化模型推理图:这是配置BERT模型优化推理图的步骤。首先,调查向量表示大小、层和输入序列的适用性。之后,模型执行或推断计算 optimally and efficiently。原始base-BERT库中的“optimize_graph”名称有点误导。然而,推理图配置为获得向量的固定表示以提高效率。这应用一种名为“REDUCE_MEAN”的池化,平均集合内所有令牌的向量。类似地,此图模型的“SEQ_LEN”变量可以减少到较小值以提升模型效率。
? 查询特征提取:在微调/训练的ULBERT模型之前,搜索查询经过第3.3节讨论的相同步骤。首先,查询通过令牌生成器传递以将其分解为令牌。在查询的开始和结束添加额外令牌如[CLS]和[SEP]。然后,查询中的令牌基于第3.4节获得的现有词汇转换为词汇ID。然后,通过段和位置层传递,为每个查询令牌生成高维向量,如英语和乌尔都语的图2和图3所见。唯一区别是查询在我们的工作中是单个句子。[CLS]令牌在base-BERT中包含查询的完整表示,并作为整个查询的特征向量。相同方法应用于为我们的CP-数据集生成文档向量。之后,使用余弦相似性和欧几里得距离等相似性度量来查找相似性分数。文档根据此分数排名,并返回排名最高的文档。
我们数据集的知识库包含600页文本样本,我们的系统需要快速、基于事实的答案来响应用户查询。为找到这些答案,我们的方法在向量空间中运行最近邻搜索。有几种方法可以测量该空间中哪些项目“最接近”,但 proposed approach 使用欧几里得距离。 proposed text-based information-retrieval system follows the steps below。
1. 向量化知识库中的所有文档样本,得到S。
2. 向量化问题,得到Q。
3. 计算Q和S之间的欧几里得距离D。
4. 按升序排序D-提供最相似样本的索引。
5. 返回信息库中所述样本的标签。
它为Q和S创建占位符,然后定义欧几里得距离计算。之后,它获得最相似索引。它有一个检索算法使用一点数学如下。对于一对向量p和q,欧几里得距离在方程1中定义如下。
d(p,q)=d(q,p)
=√[(q1-p1)2 + (q1-p1)2 + ... + (qn-pn)2]
=√[∑i=1n(qi-pi)2]。 (1)
由于p和q是向量,它可以重写为方程2。
d(p,q)2=?p-q,p-q?
=?pp?-2?pq?+?qq?
=2*(1-?pq?)。 (2)
这里,?…?表示内积。在上述公式中,pp和qq是向量的平方L2范数,如方程2所示。在此事件中,这两个向量是L2标准化的,pp=qq=1。这给出了内部产品和欧几里得距离之间的 fascinating connection。
L2归一化有时会移除关于向量值的有价值信息,这通常不理想。为解决此问题,当知识库保持不变时,平方向量范数也保持不变。不是每次都重新计算,过程计算一次并重用结果,加速距离计算。此方法适用于任何向量化器模型,不仅仅是 proposed ULBERT,并在最近邻搜索中提供强大性能,在双核Colab CPU上处理每秒数十个请求。
这 concludes the design of our legal ULBERT IR system with a feature extractor。IR过程通过示例阐述(见附录6.1)。此版本 built with the capabilities for in-depth classification and retrieval tasks。它们的性能可以通过 first-class tuning 进一步 advanced(见第4节)。 described approach to text feature extraction offers a strong unsupervised baseline for downstream NLP solutions。
在本节中,我们讨论我们提出的IR系统ULBERT的实验细节。
深度神经网络(DNN)最近因更好的性能和预测结果而受欢迎。因此,选择使用现有的预训练深度学习模型 known as BERT(Bidirectional Encoder Representations from Transformers)by Devlin等人(2018)进行我们的实验。免费GPU如Gradient、Google COLAB、Kaggle等可用于执行我们的研究工作,但我们的方法使用Google Cloud Platform(GCP)账户和Google Cloud Storage(GCS)存储桶用于训练数据和模型的持久存储。研究工作的源代码使用Python和Bash命令编写,以在COLAB Jupyter环境中运行。当数据集 significant 时,始终更好使用COLAB Jupyter环境;然而,除训练部分外,所有工作任务都在标准机器上执行。这不是没有问题的,可以通过知识蒸馏、量化、修剪等解决(Makuvaza等人,2021)。
以下步骤定义为设置实验环境,如图10所示。
1. 安装令牌生成器:使用bash命令!pip install SentencePiece安装SentencePiece令牌生成器包。此包适用于基于
生物通微信公众号
知名企业招聘