【PAPER】基于上下文学习的古汉语句读标点研究

由 MisakaStone 发布

基于上下文学习的古汉语句读标点研究

Ancient Chinese Punctuation via In-Context Learning

0 研究背景

古代汉语文本缺乏标点符号,这为文本处理带来了挑战。

1 研究问题

利用LLM为这些文本加上适当的标点符号,从而帮助研究人员更高效地处理这些文本。

提出了一个处理流程。

2 创新点

提出了基于语料相似性的 ICL 示例选择策略。

分类过滤: 先通过 LLM 问答功能对文档进行分类,以缩小候选范围。

词性匹配: 利用模型生成的词性序列(POS Tagging)进行精细化匹配,确保所选示例与测试文本具有较高结构相似性。

相似性评分: 基于最长公共子串(LCS)算法设计评分机制,综合考虑内容相关性和示例长度。

3 方法设计

主要包括特征提取示例选择构建提示输入并调用模型、以及后处理四个主要阶段。

figure1

3.1 特征提取(Feature Extraction)

利用LLM,对未加标点的测试文本进行分类和词性标注。

figure2

分类是按照主题进行分类,且类别都是作者预定义好的,作者认为这些类别足够概括所有文本。

分类的目的是在构建prompt时选择同一类别的示例。

table1

词性标注也是通过LLM QA实现,其目的也是为了更好的构建prompt,后面要根据这个序列来计算文本之间的相似度找到比较相近的示例。

figure3

3.2 示例选择(Demonstration Selection)

从训练集中挑选与测试文本最相似的若干文本,用于构建prompt。

根据测试文本的分类结果,仅在同一类别的训练文本中选择候选示例,减少无关示例的干扰。

计算相似度得分,寻找最相似的文本。

3.3 构建提示输入并调用Xunzi模型(ICL Prompt to Xunzi)

使用选定的示例构建Prompt,诱导模型对测试文本生成标点预测结果。

$$ \begin{aligned} l & =L C S\left(P O S_{train}, P O S_{test}\right) \end{aligned} $$

Longest Common Subsequence, LCS:最长公共子序列。

LCS用于衡量两个序列的相似程度,LCS的长度越长,相似度越高。

举例

序列A:["n", "v", "d", "n", "v"]

序列B:["n", "d", "v", "n"]

LCS是3,“n v n” 或者 “n d n” 或者 “n d v”

$$ \begin{aligned} s & =l+l / L E N\left(P O S_{train}\right) \end{aligned} $$

进一步调整 LCS 得分,使其在基本相似性的基础上,加入对训练序列长度的权重偏好,从而平衡长短序列的影响。

倾向于较短的序列,减少冗余,增强示例的代表性。

3.4 后处理(Post-Processing)

使用DP算法,解决了大模型输出不规范的几个问题,主要有:简繁混用、汉字缺失、汉字更换。

举例

简繁混用

R:天地玄黃宇宙洪荒

H:天地玄黄,宇宙洪荒。

修正结果:天地玄黃,宇宙洪荒。

汉字缺失

R:日月盈昃辰宿列張

H:日月盈昃,宿列张。

修正结果:日月盈昃,辰宿列張。

汉字更换

R:孤舟蓑笠翁獨釣寒江雪

H:孤舟蓑笠人,独钓寒江雪。

修正结果:孤舟蓑笠翁,獨釣寒江雪。

4 实验

1 对测试输入进行分类和词性标注;

2 从同类型的训练文档中选择样本;

3 为大语言模型(LLM)构建ICL提示并获取预测结果;

4 进行后处理并输出最终结果。

实际上,这些类别可能并未涵盖所有文档,由于缺乏专家知识,LLM给出的分类结果的准确性较难验证。但我们认为,当LLM对两个文档给出相同的分类标签时,至少在模型看来,这两个文档的一些特征是一致的,因此更有可能对我们的任务有帮助。

实验用了两种数据集:

Test A:包含 6 个短文档,每个文档属于不同类别。总共包含 50,722 个 token,每个文档相对较短。文本类型多样,包括 Confucianism(儒家经典)、Buddhist sutra(佛教经文)、Prose(散文杂记)、History(历史)、Geography(地理)、Agronomy(农学)等多个领域。模型需要根据不同领域调整生成策略。用于评估模型在多类别文档中的 泛化能力上下文适配能力。分类和上下文示例选择的策略对结果影响较大。

Test B:只有 1 个长文档,是一本历史书(《左传》)。包含 199,879 个 token,是一部大型长文档。属于单一的历史类文本,语言风格相对统一,对模型的领域适应性要求更高。用于评估模型对单一大规模文档的 连贯性处理能力生成质量。分类的重要性降低,但上下文示例的选择仍然关键。

Baseline: 仅使用大模型进行句读。

SEG指的是忽略标点符号的类型,仅考虑断句是否正确。PUNC则考虑标点的类型。

table3,4

Exp2: 使用论文中的方法进行句读。

table7,8

5 启发

近期所看的ICL方向的论文主要集中在prompt的构建方式和输入方式两方面。构建如示例的顺序、示例的选择和prompt的格式等,输入如FADS-ICL和Knn-prompting等。本文则将如何选择更好的示例这一问题应用到了古汉语文本断句这一具体领域,并给出了不错的思路(利用POS Tagging计算相似度)。


暂无评论

发表评论