abstract
还是做LPP任务,在中国法系下,预测事务的相关法律条文,用图推理做。
代码和数据链接:https://github.com/zxlzr/LegalPP
intro
一个例子:
将LPP任务视为知识图谱完成问题,将事务和法律条文视为实体,并定义模式结构用作关系。这样一来,LPP任务就是知识图谱中的链接预测任务。(e.g.事务实体和法律条文实体之间的关系)
LPP存在的一些挑战是:1.文本理解,比如对task_336的描述具有重要意义,这些文本需要好好理解并利用。2.法律推理,比如人工干的时候能迅速由“task_155:市政府投资项目稽查”推得“深圳经济特区政府投资项目管理条例”中的“深圳经济特区政府投资项目管理条例第3节第1款”。
解决上述问题的方法是把文本表示和图推理结合起来。用预训练好的BERT表示低维向量的实体,然后用GNN(用了两个 R-GCN/GAT)在法律知识图上执行法律推理。
作者还自己从广东省政府服务网站收集数据新做了一个数据集LegalLPP。
data collection
把法律条文、事务、法律、权利建模为实体,如图所示:
base_entry_is:法律条文与此事务有关(共4526条)
right_is:事务含此权利(共1090条)
base_law_is:法律与事务有关(共2152条)
belongs_to:法律条文属于该法律(共182624条)
methodology
问题:知识图谱G定义为三元组的集合(h,r,t),h、t属于实体词典,r属于预定义关系的集合(上面那四种),文章要做的是预测affair实体和legal provision实体之间是否存在base_entry_is。
模型不是端到端的,主要由两个部分组成:
Text Representation Learning:给定输入事务文本 h 和法律条文文本 t ,利用BERT得到表示mh=BERT(h),mt=BERT(t),然后再用MLP层降维,得到:
vh和vt是最终要输入给GNN的文本表示。然后文章还用了三个评分函数来微调文本表示,但是我没看懂。
Legal Graph Reasoning:把顶点表示vi输入到图型编码器里获得能够显式建模法律知识图结构的隐藏向量,然后用了两个GNN模型:
1.GAT:计算邻近节点的注意力权重进行聚集,计算公式:,得到最终的图节点表示
2.R-GCN:,N是节点i在关系r下的邻居索引集
之后,将MLP层输出的残差连接添加到图节点表示中,vi是利用文本和图推理的最终实体表示,然后再用三个评分函数计算得分。
experiments
硬件:GPU 1080Ti,和一些参数设置
baseline:没有图推、只有图推
result:用GAT的效果最好,只有图推的比没有图推的效果好,进步空间很大
case studies:该方法可以预测具有复杂表面语境的正确法律条文。