如何基于法语等非英语语料训练AllenNLP SRL Bert模型?
AllenNLP 法语SRL BERT模型训练问题解答
问题1:数据集目录结构要求
- 不需要严格遵循Ontonotes官方的多层嵌套目录结构,分两种情况处理即可:
- 如果你不想大幅修改原有训练配置:最低要求的目录结构为你指定的
SRL_TRAIN_DATA_PATH/SRL_VALIDATION_DATA_PATH目录下,只要存在data/fr/annotations/任意自定义子目录路径,把你的单个CONLL格式训练/验证文件放到这个自定义子目录下即可,不需要准备bc、bn等7类官方子目录。 - 如果你愿意修改少量配置:可以直接把配置里的数据集读取类替换为
SrlReader,此时不需要构造任何层级目录,直接在配置里填写你的单CONLL文件的绝对路径即可,完全不用管环境变量的目录要求。
- 如果你不想大幅修改原有训练配置:最低要求的目录结构为你指定的
问题2:法语CONLL语料可用性
- 只要你的法语语料格式和CONLL SRL标注格式完全一致,就可以用来训练法语SRL模型,只需要额外做两处适配:
- 把原有配置里的英文BERT预训练模型替换为法语预训练语言模型(例如CamemBERT、法语版BERT-base等)
- 保证你的法语语料的SRL标签体系统一,论元、谓词的标注规则和你预期的输出规则对齐即可。
问题3:CONLL格式列填充要求
- 不需要填充所有列的数据,仅以下4类列是训练必需项,其余所有列都可以直接填入连字符
-留空:- 行索引列(第1列,标注每个词在句子中的序号)
- 词文本列(第2列,对应每个分词的法语原文)
- 谓词标记列(通常为第13列,当前词为谓词时填对应谓词,否则填
-) - 论元标签列(第14列及之后,每列对应一个句中谓词的论元标注,无对应论元填
-)
- 你提到的第11列命名实体列属于非必需列,全部填
-不会对训练效果产生任何影响。
内容的提问来源于stack exchange,提问作者Brodie
相关产品推荐
相关产品推荐

