Marefa Ner
M
Marefa Ner
由marefa-nlp開發
一個基於全新數據集構建的大型阿拉伯語命名實體識別(NER)模型,能識別9種不同類型的實體
下載量 4,380
發布時間 : 3/2/2022
模型概述
該模型是一個文本片段分類知識模型,專門用於阿拉伯語文本中的命名實體識別,支持識別人物、地點、組織等多種實體類型。
模型特點
多類別實體識別
能夠識別多達9種不同類型的實體,包括人物、地點、組織等
全新訓練數據
基於完全重構的訓練數據集構建,數據質量高
高精度識別
在測試集上表現出色,特別是人物識別F1分數達到0.93
模型能力
阿拉伯語文本處理
命名實體識別
文本片段分類
使用案例
新聞分析
新聞事件分析
從新聞文本中提取人物、地點、組織等關鍵信息
可準確識別如'在開羅體育場,非洲國家杯開幕式在共和國總統和國際足聯主席的出席下舉行'中的實體
社交媒體分析
社交媒體內容分析
分析阿拉伯語社交媒體內容中的關鍵實體
🚀 泰比安(Tebyan)
基於全新數據集構建的大型阿拉伯語命名實體識別(NER)模型,可提取多達9種不同類型的實體
模型信息
屬性 | 詳情 |
---|---|
模型類型 | Marefa阿拉伯語命名實體識別模型 |
訓練數據 | Marefa-NER |
模型展示
版本:1.3
最後更新:2021年12月3日
✨ 主要特性
Marefa-NER 是一個大型阿拉伯語命名實體識別(NER)模型,它基於全新的數據集構建,旨在提取多達9種不同類型的實體:
人物、地點、組織、國籍、職業、產品、事件、時間、藝術作品
這是一個全新的文本部分分類知識模型,特別是在模型訓練所使用的數據方面。該模型還旨在對多達9種不同類型的文本部分進行分類:
人物 - 地點 - 組織 - 國籍 - 職業 - 產品 - 事件 - 時間 - 藝術作品
🚀 快速開始
📦 安裝指南
安裝以下Python包:
$ pip3 install transformers==4.8.0 nltk==3.5 protobuf==3.15.3 torch==1.9.0
⚠️ 重要提示
如果你使用的是
Google Colab
,請在安裝包後重啟運行時。
💻 使用示例
基礎用法
from transformers import AutoTokenizer, AutoModelForTokenClassification
import torch
import numpy as np
import nltk
nltk.download('punkt')
from nltk.tokenize import word_tokenize
custom_labels = ["O", "B-job", "I-job", "B-nationality", "B-person", "I-person", "B-location","B-time", "I-time", "B-event", "I-event", "B-organization", "I-organization", "I-location", "I-nationality", "B-product", "I-product", "B-artwork", "I-artwork"]
def _extract_ner(text: str, model: AutoModelForTokenClassification,
tokenizer: AutoTokenizer, start_token: str="▁"):
tokenized_sentence = tokenizer([text], padding=True, truncation=True, return_tensors="pt")
tokenized_sentences = tokenized_sentence['input_ids'].numpy()
with torch.no_grad():
output = model(**tokenized_sentence)
last_hidden_states = output[0].numpy()
label_indices = np.argmax(last_hidden_states[0], axis=1)
tokens = tokenizer.convert_ids_to_tokens(tokenized_sentences[0])
special_tags = set(tokenizer.special_tokens_map.values())
grouped_tokens = []
for token, label_idx in zip(tokens, label_indices):
if token not in special_tags:
if not token.startswith(start_token) and len(token.replace(start_token,"").strip()) > 0:
grouped_tokens[-1]["token"] += token
else:
grouped_tokens.append({"token": token, "label": custom_labels[label_idx]})
# extract entities
ents = []
prev_label = "O"
for token in grouped_tokens:
label = token["label"].replace("I-","").replace("B-","")
if token["label"] != "O":
if label != prev_label:
ents.append({"token": [token["token"]], "label": label})
else:
ents[-1]["token"].append(token["token"])
prev_label = label
# group tokens
ents = [{"token": "".join(rec["token"]).replace(start_token," ").strip(), "label": rec["label"]} for rec in ents ]
return ents
model_cp = "marefa-nlp/marefa-ner"
tokenizer = AutoTokenizer.from_pretrained(model_cp)
model = AutoModelForTokenClassification.from_pretrained(model_cp, num_labels=len(custom_labels))
samples = [
"تلقى تعليمه في الكتاب ثم انضم الى الأزهر عام 1873م. تعلم على يد السيد جمال الدين الأفغاني والشيخ محمد عبده",
"بعد عودته إلى القاهرة، التحق نجيب الريحاني فرقة جورج أبيض، الذي كان قد ضمَّ - قُبيل ذلك - فرقته إلى فرقة سلامة حجازي . و منها ذاع صيته",
"في استاد القاهرة، قام حفل افتتاح بطولة كأس الأمم الأفريقية بحضور رئيس الجمهورية و رئيس الاتحاد الدولي لكرة القدم",
"من فضلك أرسل هذا البريد الى صديقي جلال الدين في تمام الساعة الخامسة صباحا في يوم الثلاثاء القادم",
"امبارح اتفرجت على مباراة مانشستر يونايتد مع ريال مدريد في غياب الدون كرستيانو رونالدو",
"لا تنسى تصحيني الساعة سبعة, و ضيف في الجدول اني احضر مباراة نادي النصر غدا",
]
# [optional]
samples = [ " ".join(word_tokenize(sample.strip())) for sample in samples if sample.strip() != "" ]
for sample in samples:
ents = _extract_ner(text=sample, model=model, tokenizer=tokenizer, start_token="▁")
print(sample)
for ent in ents:
print("\t",ent["token"],"==>",ent["label"])
print("========\n")
輸出示例
تلقى تعليمه في الكتاب ثم انضم الى الأزهر عام 1873م . تعلم على يد السيد جمال الدين الأفغاني والشيخ محمد عبده
الأزهر ==> organization
عام 1873م ==> time
السيد جمال الدين الأفغاني ==> person
محمد عبده ==> person
========
بعد عودته إلى القاهرة، التحق نجيب الريحاني فرقة جورج أبيض، الذي كان قد ضمَّ - قُبيل ذلك - فرقته إلى فرقة سلامة حجازي . و منها ذاع صيته
القاهرة، ==> location
نجيب الريحاني ==> person
فرقة جورج أبيض، ==> organization
فرقة سلامة حجازي ==> organization
========
في استاد القاهرة، قام حفل افتتاح بطولة كأس الأمم الأفريقية بحضور رئيس الجمهورية و رئيس الاتحاد الدولي لكرة القدم
استاد القاهرة، ==> location
بطولة كأس الأمم الأفريقية ==> event
رئيس الجمهورية ==> job
رئيس ==> job
الاتحاد الدولي لكرة القدم ==> organization
========
من فضلك أرسل هذا البريد الى صديقي جلال الدين في تمام الساعة الخامسة صباحا في يوم الثلاثاء القادم
جلال الدين ==> person
الساعة الخامسة صباحا ==> time
يوم الثلاثاء القادم ==> time
========
امبارح اتفرجت على مباراة مانشستر يونايتد مع ريال مدريد في غياب الدون كرستيانو رونالدو
مانشستر يونايتد ==> organization
ريال مدريد ==> organization
كرستيانو رونالدو ==> person
========
لا تنسى تصحيني الساعة سبعة , و ضيف في الجدول اني احضر مباراة نادي النصر غدا
الساعة سبعة ==> time
نادي النصر ==> organization
غدا ==> time
========
模型微調
你可以查看這個 筆記本 來對NER模型進行微調。
模型評估
我們在包含1959個句子的測試集上對模型進行了測試,結果如下表所示:
類型 | F1分數 | 精確率 | 召回率 | 樣本數 |
---|---|---|---|---|
人物 | 0.93298 | 0.931479 | 0.934487 | 4335 |
地點 | 0.891537 | 0.896926 | 0.886212 | 4939 |
時間 | 0.873003 | 0.876087 | 0.869941 | 1853 |
國籍 | 0.871246 | 0.843153 | 0.901277 | 2350 |
職業 | 0.837656 | 0.79912 | 0.880097 | 2477 |
組織 | 0.781317 | 0.773328 | 0.789474 | 2299 |
事件 | 0.686695 | 0.733945 | 0.645161 | 744 |
藝術作品 | 0.653552 | 0.678005 | 0.630802 | 474 |
產品 | 0.625483 | 0.553531 | 0.718935 | 338 |
加權平均 | 0.859008 | 0.852365 | 0.86703 | 19809 |
微觀平均 | 0.858771 | 0.850669 | 0.86703 | 19809 |
宏觀平均 | 0.79483 | 0.787286 | 0.806265 | 19809 |
📄 致謝
該模型訓練所使用的數據由一群志願者準備,他們花費了大量時間對數據進行挖掘和審核。
- 賽義德·阿卜杜勒·哈菲茲 - 監督
- 娜爾敏·穆罕默德·阿提亞
- 薩拉赫·基拉拉
- 艾哈邁德·阿里·阿卜杜勒拉赫
- 奧馬爾·本·阿卜杜勒·阿齊茲·蘇萊曼
- 穆罕默德·易卜拉欣·賈邁勒
- 阿卜杜勒拉赫曼·薩拉馬·哈利夫
- 易卜拉欣·卡邁勒·穆罕默德·蘇萊曼
- 哈桑·穆斯塔法·哈桑
- 艾哈邁德·法赫裡·賽義德
- 奧斯曼·曼杜
- 阿卜杜勒·謝里夫
- 阿米拉·穆罕默德·馬哈茂德
- 哈桑·賽義德·哈桑
- 阿卜杜勒·阿齊茲·阿里·巴格達迪
- 瓦西克·阿卜杜勒·馬利克·舒伊塔爾
- 阿姆魯·拉馬丹·阿克拉·哈夫納維
- 哈桑·丁·艾哈邁德·賽義德
- 奧斯馬·艾哈邁德·穆罕默德·穆罕默德
- 哈蒂姆·穆罕默德·穆夫提
- 阿卜杜拉·德爾迪爾
- 阿德哈姆·巴格達迪
- 艾哈邁德·薩布里
- 阿卜杜勒·瓦哈卜·穆罕默德·穆罕默德
- 艾哈邁德·穆罕默德·奧茲
Indonesian Roberta Base Posp Tagger
MIT
這是一個基於印尼語RoBERTa模型微調的詞性標註模型,在indonlu數據集上訓練,用於印尼語文本的詞性標註任務。
序列標註
Transformers 其他

I
w11wo
2.2M
7
Bert Base NER
MIT
基於BERT微調的命名實體識別模型,可識別四類實體:地點(LOC)、組織機構(ORG)、人名(PER)和雜項(MISC)
序列標註 英語
B
dslim
1.8M
592
Deid Roberta I2b2
MIT
該模型是基於RoBERTa微調的序列標註模型,用於識別和移除醫療記錄中的受保護健康信息(PHI/PII)。
序列標註
Transformers 支持多種語言

D
obi
1.1M
33
Ner English Fast
Flair自帶的英文快速4類命名實體識別模型,基於Flair嵌入和LSTM-CRF架構,在CoNLL-03數據集上達到92.92的F1分數。
序列標註
PyTorch 英語
N
flair
978.01k
24
French Camembert Postag Model
基於Camembert-base的法語詞性標註模型,使用free-french-treebank數據集訓練
序列標註
Transformers 法語

F
gilf
950.03k
9
Xlm Roberta Large Ner Spanish
基於XLM-Roberta-large架構微調的西班牙語命名實體識別模型,在CoNLL-2002數據集上表現優異。
序列標註
Transformers 西班牙語

X
MMG
767.35k
29
Nusabert Ner V1.3
MIT
基於NusaBert-v1.3在印尼語NER任務上微調的命名實體識別模型
序列標註
Transformers 其他

N
cahya
759.09k
3
Ner English Large
Flair框架內置的英文4類大型NER模型,基於文檔級XLM-R嵌入和FLERT技術,在CoNLL-03數據集上F1分數達94.36。
序列標註
PyTorch 英語
N
flair
749.04k
44
Punctuate All
MIT
基於xlm-roberta-base微調的多語言標點符號預測模型,支持12種歐洲語言的標點符號自動補全
序列標註
Transformers

P
kredor
728.70k
20
Xlm Roberta Ner Japanese
MIT
基於xlm-roberta-base微調的日語命名實體識別模型
序列標註
Transformers 支持多種語言

X
tsmatz
630.71k
25
精選推薦AI模型
Llama 3 Typhoon V1.5x 8b Instruct
專為泰語設計的80億參數指令模型,性能媲美GPT-3.5-turbo,優化了應用場景、檢索增強生成、受限生成和推理任務
大型語言模型
Transformers 支持多種語言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一個基於SODA數據集訓練的超小型對話模型,專為邊緣設備推理設計,體積僅為Cosmo-3B模型的2%左右。
對話系統
Transformers 英語

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基於RoBERTa架構的中文抽取式問答模型,適用於從給定文本中提取答案的任務。
問答系統 中文
R
uer
2,694
98