Page 219 - 《软件学报》2025年第4期
P. 219

郁俊杰 等: 面向低资源关系抽取的自训练方法                                                          1625


                 Soares 等人  [3] 的“预训练模型-微调”方法: 以文本中插入实体标记符的序列作为输入, 以预训练模型作为编码层, 并
                 添加一个分类层作为模型的输出部件. 本文采用               BERT  作为预训练模型     [2] . 形式上, 对于输入实例   x = {s,h,t} , 在输
                 入模型前, 首先被构造成如下形式:

                                       x = [CLS]w 0 ...[E1]w i ...w j [/E1]...[E2]w k ...w l [/E2]...w n [SEP]  (2)
                 其中,   w 0 ,w 1 ,...,w n  是句子   s 中的每个词; 头实体  h = {w i ...w k } ; 尾实体  t = {w k ...w l } ; [CLS]、[SEP] 是  BERT  输入格式
                 的固有字符; [E1], [/E1] 和  [E2], [/E2] 分别是用于标记头、尾实体的特殊字符. 假定以           f enc  表示预训练模型  BERT
                 为基础的关系抽取系统中的编码层. 那么, 当输入文本进入编码层后, 我们将两个实体标记符号                             ([E1] 和  [E2]) 所

                 在位置的隐层表示提取出来, 并且拼接后作为实例                x 的关系语义表示:

                                                                                                      (3)
                                                    h = f enc (x) = h [E1] ⊕ h [E2]
                    随后, 该关系表示被输入给分类层           f cls ,  用于获取每个关系类别的预测概率:

                                                 p(x) = f cls (h) = Softmax(Wh+b)                     (4)
                 其中,    W  和  b 是分类层的模型参数.
                 也能够减少其他语言文本的生成, 特别是针对中英文预训练的
                                            x 都带有唯一确定的标签   , 其以       one-hot 的形式记录: 只有答案类别对应的位
                    在训练过程中, 每个输入实例                             y
                 置记为   1, 其余都为  0  的向量. 模型参数的更新采用基于交叉熵的正向训练               (positive training) 方式:

                                                               M ∑
                                                  L PT (p(x),y) = −  y i log(p i )                    (5)
                                                              i=1
                 其中,   M  为关系类别总数.

                 3.2   复述数据的生成
                    本文提出引入复述技术来提高教师模型对未标注数据的预测能力. 为此, 我们首先为未标注数据生成相应的
                 复述数据. 近年来, 随着大语言模型的发展, 基于大语言模型的数据生成能力也逐渐增强. 得益于大规模数据的预
                 训练和一定规模人类平行语料的微调, 大语言模型能够在给定提示指令下完成诸如文本翻译、句子复述等文本生
                 成任务. 本文使用大语言模型的指令提示方法              (prompt) 为每一个未标注句子生成若干复述表达. 最后, 原句和复述
                 句构成句子包的形式输入到教师模型进行自动标注.
                    然而, 不同于一般文本复述生成, 面向关系抽取任务的复述表达需要保证句子中给定实体对                              (头、尾实体) 不
                 能发生变化. 换句话说, 生成的复述句子中需确保原句中两个实体词的存在. 通过统计不同生成指令下生成文本中
                 头、尾实体的情况, 我们对生成指令不断改进. 最终, 本文精心设计了如下复述生成指令来引导大语言模型生成符
                 合关系抽取任务需求的复述数据:
                    Below is a sentence containing words <head > and <tail>, rewrite the input sentence in English in a different
                 expression while keeping the words <head> and <tail>.
                    Input Sentence is: <input_sen>
                    Output Sentence is:
                 其中, <head> 和<tail> 是具体输入句子<input_sen> 中的头实体和尾实体. 本文采纳国内近期开源的                  ChatGLM2-
                 6B  模型  [42,43] , 超参数沿用其默认设置: temperature=0.95, top_p=0.7. 在实验中, 我们发现在指令的结尾处添加
                 “keeping the words <head> and <tail>”能够有效地引导模型保留头、尾实体词. 此外, 添加“in English”来指定语言
                                                                 ChatGLM2  模型.
                    为了保证复述句子的多样性, 我们在至多             20  次生成操作内为每个句子配备多个复述句子作为辅助句, 并与主
                 句组成句子包: {主句,辅句      1 ,…,辅句  N }, 其中  N  至多为  8. 基于上述设计的实体词强调指令. 同时, 我们额外添加了
                 基于实体词的后过滤方法来确保生成数据的质量.

                 3.3   数据分类与标签生成
                    如算法   1  所示, 本文自训练方法     ST-LRE  将自动标注数据分成       3  大类: (1) 原句或者复述句中最大预测概率大
   214   215   216   217   218   219   220   221   222   223   224