语言:
- 阿拉伯语
许可证: Apache-2.0
示例输入:
- 文本: "阿布扎比酋长国是阿拉伯联合酋长国七个酋长国之一"
CAMeLBERT-Mix命名实体识别模型
模型描述
CAMeLBERT-Mix命名实体识别模型是通过微调CAMeLBERT Mix模型构建的命名实体识别(NER)模型。微调过程中使用了ANERcorp数据集。我们的微调流程和超参数设置详见论文《阿拉伯语预训练语言模型中变体、规模与任务类型的交互作用》。微调代码可在此处获取。
使用场景
您可以直接将本模型作为CAMeL工具集的NER组件使用(推荐),或作为transformers pipeline的一部分使用。
使用方法
通过CAMeL工具集使用:
>>> from camel_tools.ner import NERecognizer
>>> from camel_tools.tokenizers.word import simple_word_tokenize
>>> ner = NERecognizer('CAMeL-Lab/bert-base-arabic-camelbert-mix-ner')
>>> sentence = simple_word_tokenize('阿布扎比酋长国是阿拉伯联合酋长国七个酋长国之一')
>>> ner.predict_sentence(sentence)
>>> ['O', 'B-LOC', 'O', 'O', 'O', 'O', 'B-LOC', 'I-LOC', 'I-LOC', 'O']
也可通过transformers pipeline直接使用:
>>> from transformers import pipeline
>>> ner = pipeline('ner', model='CAMeL-Lab/bert-base-arabic-camelbert-mix-ner')
>>> ner("阿布扎比酋长国是阿拉伯联合酋长国七个酋长国之一")
[{'word': '阿布扎比',
'score': 0.9895730018615723,
'entity': 'B-LOC',
'index': 2,
'start': 6,
'end': 12},
{'word': '阿拉伯',
'score': 0.8156259655952454,
'entity': 'B-LOC',
'index': 8,
'start': 33,
'end': 41},
{'word': '联合',
'score': 0.890906810760498,
'entity': 'I-LOC',
'index': 9,
'start': 42,
'end': 49},
{'word': '酋长国',
'score': 0.8169114589691162,
'entity': 'I-LOC',
'index': 10,
'start': 50,
'end': 57}]
注意:下载模型需使用transformers>=3.5.0
版本,或手动下载模型文件。
引用文献
@inproceedings{inoue-etal-2021-interplay,
title = "阿拉伯语预训练语言模型中变体、规模与任务类型的交互作用",
author = "井上豪 and 阿尔哈夫尼·巴沙尔 and 拜穆坎·努尔佩伊斯 and 布阿莫尔·胡达 and 哈巴什·尼扎尔",
booktitle = "第六届阿拉伯自然语言处理研讨会论文集",
month = "4月",
year = "2021",
address = "乌克兰基辅(线上)",
publisher = "计算语言学协会",
abstract = "本文探究了阿拉伯语预训练语言模型中语言变体、数据规模和微调任务类型的影响。为此,我们针对三种阿拉伯语变体(现代标准阿拉伯语、方言阿拉伯语和古典阿拉伯语)分别构建了三个预训练模型,并额外构建了混合三种变体的第四种模型。通过构建现代标准阿拉伯语变体的缩减规模预训练模型,我们还检验了预训练数据规模的重要性。通过将我们的模型相互比较,并与八个公开模型在涵盖12个数据集的五项NLP任务上进行微调对比,结果表明预训练数据与微调数据的变体相近性比预训练数据规模更重要。我们利用这一发现为研究任务定义了优化的系统选择模型。",
}