语言:
- 阿拉伯语
许可证: Apache-2.0
示例输入:
- 文本: "阿布扎比酋长国是阿拉伯联合酋长国七个酋长国之一"
CAMeLBERT MSA 命名实体识别模型
模型说明
CAMeLBERT MSA NER模型是通过微调CAMeLBERT现代标准阿拉伯语(MSA)模型构建的命名实体识别模型。微调过程中使用了ANERcorp数据集。我们的微调流程和超参数设置详见论文《阿拉伯语预训练语言模型中变体、规模与任务类型的交互影响》。微调代码已开源在CAMeLBERT项目库。
使用场景
您可以通过CAMeL工具集的NER组件直接使用本模型(推荐),或通过transformers管道调用。
使用方法
通过CAMeL工具集调用:
>>> from camel_tools.ner import NERecognizer
>>> from camel_tools.tokenizers.word import simple_word_tokenize
>>> ner = NERecognizer('CAMeL-Lab/bert-base-arabic-camelbert-msa-ner')
>>> sentence = simple_word_tokenize('阿布扎比酋长国是阿拉伯联合酋长国七个酋长国之一')
>>> ner.predict_sentence(sentence)
>>> ['O', 'B-LOC', 'O', 'O', 'O', 'O', 'B-LOC', 'I-LOC', 'I-LOC', 'O']
通过transformers管道调用:
>>> from transformers import pipeline
>>> ner = pipeline('ner', model='CAMeL-Lab/bert-base-arabic-camelbert-msa-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个数据集的5项NLP任务测试表明:预训练数据与微调数据的变体相近性比预训练数据规模更重要。这一发现为特定任务选择最优模型提供了理论依据。",
}