基于 Transformer 的波斯语语言理解模型
我们重构了词汇表,并在新的波斯语语料库上对 ParsBERT v1.1 进行了微调,以便为在其他领域使用 ParsBERT 提供更多功能! 有关先前和当前模型的最新信息,请关注 ParsBERT 代码库。
此任务旨在提取文本中的命名实体(如名称)并为其标注适当的 NER 类别(如地点、组织等)。用于此任务的数据集包含以 IOB 格式标记的句子。在此格式中,不属于实体的标记被标记为 ”O”,”B” 标记对应于实体的第一个词,”I” 标记对应于同一实体的其余词。”B” 和 ”I” 标记后均跟有连字符(或下划线),其后为实体类别。因此,命名实体识别任务是一个多类别标记分类问题,它在输入原始文本后对标记进行标注。波斯语命名实体识别主要使用两个数据集:ARMAN 和 PEYMA。
ARMAN 数据集包含 7,682 个句子,其中 250,015 个标记被标注为六个不同类别。
| 标签 | 数量 |
|---|---|
| Organization | 30108 |
| Location | 12924 |
| Facility | 4458 |
| Event | 7557 |
| Product | 4389 |
| Person | 15645 |
下载 您可以从 此处 下载该数据集。
下表总结了 ParsBERT 与其他模型和架构相比所获得的 F1 分数。
| 数据集 | ParsBERT v2 | ParsBERT v1 | mBERT | MorphoBERT | Beheshti-NER | LSTM-CRF | Rule-Based CRF | BiLSTM-CRF |
|---|---|---|---|---|---|---|---|---|
| ARMAN | 99.84* | 98.79 | 95.89 | 89.9 | 84.03 | 86.55 | - | 77.45 |
from openmind import pipeline, AutoTokenizer, is_torch_npu_available
from transformers import AutoModelForTokenClassification
from openmind_hub import snapshot_download
import torch.nn.functional as F
from torch import Tensor
import openmind
import torch
import argparse
import time
def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument(
"--model_name_or_path",
type=str,
help="Path to model",
default="jeffding/bert-fa-base-uncased-ner-arman-openmind",
)
args = parser.parse_args()
return args
def main():
args = parse_args()
model_path = args.model_name_or_path
if is_torch_npu_available():
device = "npu:0"
else:
device = "cpu"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForTokenClassification.from_pretrained(model_path)
start_time = time.time()
pipe = pipeline('ner', model=model, tokenizer=tokenizer, aggregation_strategy="simple")
result = pipe("Apple est créée le 1er avril 1976 dans le garage de la maison d'enfance de Steve Jobs à Los Altos en Californie par Steve Jobs, Steve Wozniak et Ronald Wayne14, puis constituée sous forme de société le 3 janvier 1977 à l'origine sous le nom d'Apple Computer, mais pour ses 30 ans et pour refléter la diversification de ses produits, le mot « computer » est retiré le 9 janvier 2015.")
print(result)
end_time = time.time()
print(f"硬件环境:{device},推理执行时间:{end_time - start_time}秒")
if __name__ == "__main__":
main()`| 笔记本 | 描述 | |
|---|---|---|
| 如何使用管道 | 通过 transformers 在下游任务上使用最先进模型的简单高效方法 |
请在出版物中按以下方式引用:
@article{ParsBERT,
title={ParsBERT: Transformer-based Model for Persian Language Understanding},
author={Mehrdad Farahani, Mohammad Gharachorloo, Marzieh Farahani, Mohammad Manthouri},
journal={ArXiv},
year={2020},
volume={abs/2005.12515}
}请在 ParsBERT Issues 代码库上提交 Github issue。