1. Background与Motivation(模型构造思路)
当前的LSI模型仅利用了输入事实文本和法条信息,本文认为案例事实与法条之间的引用网络可以提供额外信息,但是以前的模型都没有利用该信息,所以本文提出了结合该信息的模型LeSICiN,并提出了一个新的大型数据集ILSI。
LeSICiN将法条和训练集的案例文档建模为异质图,节点是案例事实(Fact)和法条(Section,Topics,Chapters,Act),边是案例事实引用法条(Fact引用Section)和法条内部的层次关系(Section⊂ \subset⊂Topics⊂ \subset⊂Chapters⊂ \subset⊂Act)。(Statute就是Section)
LeSICiN学习文本和图结构特征,并使二者互相关联,从而实现归纳式地预测测试集文档(不存在于训练得到的图中)和法条(已存在节点)之间的链接关系,从而实现LSI任务。
现存的有监督链路预测模型大多是transductive而非归纳式的,因此不适用于没出现在训练集中的out-of-sample nodes。而本文的setting中测试集节点的图结构(链接信息)正是需要预测的内容。因此在测试时只能使用案例事实和法条的文本信息、以及法条节点的图结构信息。
LeSICiN参考归纳式链路预测的DEAL模型1,使用hybrid学习机制,来学习每个节点的2种表征:attribute(文本)和structural(图结构)表征。模型会强制attribute表征紧密匹配structural表征,从而让测试节点在仅有文本信息的情况下生成更鲁棒、包含更多特征信息(图结构)的表征。
2. 问题定义与模型介绍
2.1 异质图构建与归纳式链路预测范式
F:Fact
S:Section
placeholder node types表示IPC的分层级别:Topic(T) Chapter(C) Act(A)
4种法条节点之间的层级关系示例:
引用 cites ct
被引用 cited by ctb
includes inc
part of po
2.2 LeSICiN
LeSICiN分别对两种节点,都通过2个encoder(attribute、structural),得到2种表征。
然后计算某一案例节点与所有Section节点的3种得分(attribute、structural、alignment)(在测试时事实没有structural得分,通过alignment得分关联attribute和structural得分,从而让测试案例节点也能获得结构信息),分别用交叉熵计算损失函数,加权求和作为总的损失函数,来进行训练。
在测试阶段计算attribute和alignment得分,加权求和,用阈值来预测是否存在边。
2.2.1 attribute encoder
输入事实文本是词句构成的nested sequence,本文用Hierarchical Attention Network (HAN)建模文本。
2.2.2 structural encoder
本文定义的所有metapath schema:
关于异质图metapath是否都以同一类节点为始终,在Re31:读论文 metapath2vec: Scalable Representation Learning for Heterogeneous Networks一文中介绍说,算是个惯例。但是看Re10:读论文 Are we really making much progress? Revisiting, benchmarking, and refining heterogeneous gr里面似乎又有不遵守这个惯例的。其他似乎没看到不遵守这个惯例的HGNN paper了,如果有的话可以告诉我一声。
但是值得注意的是,MAGNN原文中的metapath是这样的:
就是说metapath在定义时可能首尾不是同一种节点,但是instance总是的。
节点表征通过结合intra- and inter-metapath aggregation来获得:
①对每类节点,给定一个 parameterized(我也不知道这是啥意思)初始化节点表征矩阵。
②对不同类型的节点分别进行线性转换,将其表征映射到同一维度和隐空间。
你要是问我为什么不直接在第一步就把所有类型的节点嵌入到同一维度,那我咋知道呢
将最后一个节点的表征除以节点数,得到metapath实例的表征:
将所有这样的metapath实例的表征attentively结合起来,得到 v vv 对这个metapath schema的节点表征:
④Inter-Metapath Aggregation:得到节点表征(聚合不同的metapath schema)
第一步:聚合每个metapath schema所有起始节点类型的节点在该metapath schema上的表征:
第二步:用metapath schema做attention,加权求和一个节点在每个metapath schema上的表征,得到最终的节点表征:
2.2.3 打分
对每个事实节点,我们可以计算其与每一Section节点之间的得分。
由于法条本身就有顺序和相关语义,所以首先用Bi-LSTM来contextualize Section节点表征。
然后用自注意力机制得到所有Section的表征h S
每个事实节点和若干Section节点都可以计算得分,将事实表征与所有Section表征concat后过MLP,得到长度为Section数的向量,这个向量就是最终的预测表征:
具体的三种得分:
(测试阶段的事实节点无法计算structural score)
2.2.4 Dynamic Context
在structural encoder中将context vectors换成dynamically generated vectors(参考文献:Learning to predict charges for criminal cases with legal basis),在打分时用事实表征来生成这个dynamic context:
2.2.5 损失函数
损失函数包含3个部分,分别对应3种分数:
用Binary Cross Entropy Loss计算损失函数:
2.2.6 测试
测试案例没有structural score,因此使用另外两个得分加权求和,使用验证集上计算得到的阈值τ \tauτ来作为阈值,预测案例事实与各Section节点是否有边:
3. 模型原理:引用网络有效性
本文指出,这一网络可以提供海量的法律知识,已经在法律文书相似性任务中表现出有效性(参考文献:Re8:读论文 Hier-SPCNet: A Legal Statute Hierarchy-based Heterogeneous Network for Computing Legal Case)
4. 实验
4.1 数据集
由于现存的LSI数据集ECHR规模小,而且不包含法条(标签)的文本信息;CAIL是中文,而且两个数据集的案例事实平均对应的法条数都很小,这使LSI任务趋于单标签分类,无法体现其多标签分类的特质。
本文提出了新数据集ILSI,其中法条来自印度主要刑法Sections of the Indian Penal Code (IPC)2,案例来自印度最高法院和6个主要的高级法院(网站是https://indiankanoon.org)。
案例本身包含事实、辩词、裁决等多部分的信息,本文中仅使用事实信息,因此使用Hier-BiLSTM-CRF分类器来抽取事实信息。(隔壁FLA3和CAIL数据集用的是正则表达式)(参考文献:Identification of Rhetorical Roles of Sentences in Indian Legal Judgments)
ILSI仅保存了100个被引频率最高的Sections,每个案例都至少引用了其中的一个法条。
文本中的命名实体都被mask,以减少模型的demographic bias。(参考文献:Neural Legal Judgment Prediction in English)
数据集划分比例为64:16:20,即42884个训练集案例,10203个验证集案例,13043个测试集案例。使用iterative stratification保证三个子集的标签分布是平衡的(参考文献:On the stratification of multi-label data)。
数据集统计信息:
数据集示例:
数据集文件格式示例等我服务器好了打印一下。
4.2 baseline
细节略。
FLA3
DPAM
HMN
LADAN4
HBERT
HLegalBERT
DEAL1
4.3 实验设置
所有模型:
- 100个epoch,用在验证集上表现最好的epoch来做测试。嵌入维度是200(HBERT是768), Adam Optimizer with learning rate in the range [0.01, 0.000001], (iii) dropout probability of 0.5, and (iv) batch size of 32
- 用在法律语料上训练的200维sent2vec(Unsupervised Learning of Sentence Embeddings using Compositional n-Gram Features)(除了HBERT和HLegalBERT)
- NVIDIA Tesla T4 with 16 GB GPU memory
- PyTorch + PyG(具体来说是torch_sparse)
LeSICiN:
- sent2vec是本文自己训练的,细节略。
4.4 主实验结果
评估指标:macro-Precision macro-Recall macro-F1 Jaccard overlap(标签向量)
(最后一列是为了提升macro-R专门更换了一下预测阈值)
4.5 模型分析
4.5.1 Ablation Study
- 把 metapath-based aggregation network 换成 a simple node embedding lookup table(类似DEAL)
- 把3个分换成1个分
- 去掉 structural loss
- 用VWS代替TWS
- 把异质图换成同质图
4.5.2 不同频率标签和不同地区法院的表现差异
细节略。
5. 代码复
我服务器坏了,等我服务器恢复了再写。