返回列表

9th place solution (🥧)

604. The Learning Agency Lab - PII Data Detection | pii-detection-removal-from-educational-data

开始: 2024-01-17 结束: 2024-04-23 数据安全与隐私 数据算法赛
第九名方案

第九名方案 (🥧)

作者:Nicholas Broad

比赛排名:第9名

发布日期:2024-04-24

我对在私有排行榜上上升这么多感到非常惊讶。

模型

  1. DeBERTa v3 large
  2. DeBERTa v3 large(采用layer drop和多采样dropout)
  3. DeBERTa v2 xlarge(使用LoRA)

由于DeBERTa v2和DeBERTa v3使用不同的分词器,我先在token级别获取预测,将其映射到字符,然后对构成最终(spacy)token的字符取最大值。所有模型的最大长度为512,步长为128。

数据

  1. 使用Mixtral 8x7b生成的略加改进的数据集。我在其中加入了名人名言(这些人名不是PII),以及类似「我和我的队友Joe和Sally」的句子,其中Joe和Sally是PII,还添加了「请查看我的作品在我的网站[URL]」等句子。你可以很方便地提示模型将这些加入文章。
  2. 经过修正的train.json(来自比赛)。大约有30个左右的标签需要修改,我手动进行了修复。

我采用4折交叉验证来寻找好的超参数设定,然后在全部数据上进行训练。每个epoch我还会使用回调函数将所有名字替换为新的名字。

后处理

  • 名字必须为首字母大写,且只能包含A-Za-z和“.”。
  • 去掉dr、mr、miss等被错误标记为名字的称呼,并确保下一个token使用B-标签而不是I-。
  • 如果一个名字在同一文档中出现多次,并且其中一次标记为PII,则将所有出现的该名字都标记为PII。
  • 如果一个I-预测前面没有B-,则将其改为B-。
  • 将coursera、wikipedia、.edu等URL从预测结果中移除。
  • 如果电话号码预测的数字超过6位,则将其改为id_num类型。
  • 使用正则表达式匹配电话号码。

最终想法

确保映射对齐非常烦人。我花在调试对齐错误上的时间不计其数…

同比赛其他方案