🚀 RuPERTa: スペイン語版のRoBERTa 🎃
RuPERTa-base (uncased) は、RoBERTaモデル であり、大規模なスペイン語コーパス の uncased 版で学習されています。
RoBERTaは、BERTの事前学習手順を改善しており、より長い時間、より大きなバッチでより多くのデータを使ってモデルを学習させ、次文予測の目的を削除し、より長いシーケンスで学習し、学習データに適用するマスキングパターンを動的に変更します。
アーキテクチャは roberta-base
と同じです。
roberta.base:
RoBERTa は BERT-baseアーキテクチャ125M パラメータを使用しています。
🚀 クイックスタート
RuPERTa-base (uncased) は、スペイン語の大規模コーパスで学習されたRoBERTaモデルです。以下のセクションでは、このモデルのベンチマークと使用例を紹介します。
🧾 ベンチマーク
作業中 (引き続き作業を行っています) 🚧
💻 使用例
基本的な使用法
POSとNERの使用法 🏷
import torch
from transformers import AutoModelForTokenClassification, AutoTokenizer
id2label = {
"0": "B-LOC",
"1": "B-MISC",
"2": "B-ORG",
"3": "B-PER",
"4": "I-LOC",
"5": "I-MISC",
"6": "I-ORG",
"7": "I-PER",
"8": "O"
}
tokenizer = AutoTokenizer.from_pretrained('mrm8488/RuPERTa-base-finetuned-ner')
model = AutoModelForTokenClassification.from_pretrained('mrm8488/RuPERTa-base-finetuned-ner')
text ="Julien, CEO de HF, nació en Francia."
input_ids = torch.tensor(tokenizer.encode(text)).unsqueeze(0)
outputs = model(input_ids)
last_hidden_states = outputs[0]
for m in last_hidden_states:
for index, n in enumerate(m):
if(index > 0 and index <= len(text.split(" "))):
print(text.split(" ")[index-1] + ": " + id2label[str(torch.argmax(n).item())])
'''
Julien,: I-PER
CEO: O
de: O
HF,: B-ORG
nació: I-PER
en: I-PER
Francia.: I-LOC
'''
POS の場合は、id2label
辞書とモデルパスを mrm8488/RuPERTa-base-finetuned-pos に変更してください。
pipelines
を使用した言語モデルの高速使用法 🧪
from transformers import AutoModelWithLMHead, AutoTokenizer
model = AutoModelWithLMHead.from_pretrained('mrm8488/RuPERTa-base')
tokenizer = AutoTokenizer.from_pretrained("mrm8488/RuPERTa-base", do_lower_case=True)
from transformers import pipeline
pipeline_fill_mask = pipeline("fill-mask", model=model, tokenizer=tokenizer)
pipeline_fill_mask("España es un país muy <mask> en la UE")
[
{
"score": 0.1814306527376175,
"sequence": "<s> españa es un país muy importante en la ue</s>",
"token": 1560
},
{
"score": 0.024842597544193268,
"sequence": "<s> españa es un país muy fuerte en la ue</s>",
"token": 2854
},
{
"score": 0.02473250962793827,
"sequence": "<s> españa es un país muy pequeño en la ue</s>",
"token": 2948
},
{
"score": 0.023991240188479424,
"sequence": "<s> españa es un país muy antiguo en la ue</s>",
"token": 5240
},
{
"score": 0.0215945765376091,
"sequence": "<s> españa es un país muy popular en la ue</s>",
"token": 5782
}
]
📄 謝辞
🤗/transformersチーム に質問に答えていただき、Googleに TensorFlow Research Cloud プログラムでの支援をいただき、感謝しています。
作成者: Manuel Romero/@mrm8488
スペインで ♥ を込めて作成