🚀 SyllaBERTa: 古代ギリシャ語用の音節ベースのRoBERTa
SyllaBERTa は、古代ギリシャ語のテキストを対象に、音節 レベルでトークン化して学習させた、Transformerベースのマスク言語モデル(MLM)の実験的なモデルです。
このモデルは、韻律、音韻、韻を扱うタスクに特化して設計されています。
✨ 主な機能
このモデルは古代ギリシャ語のテキストを音節レベルでトークン化し、韻律、音韻、韻に関するタスクを扱うことができます。
📋 モデル概要
属性 |
詳細 |
基本アーキテクチャ |
RoBERTa(カスタム設定) |
語彙サイズ |
42,042個の音節トークン |
隠れ層のサイズ |
768 |
層の数 |
12 |
アテンションヘッドの数 |
12 |
中間層のサイズ |
3,072 |
最大シーケンス長 |
514 |
事前学習の目的 |
マスク言語モデリング(MLM) |
オプティマイザ |
AdamW |
損失関数 |
15%のトークンマスク確率を持つ交差エントロピー |
トークナイザは PreTrainedTokenizer
のカスタムサブクラスで、単語や文字ではなく音節を扱います。
- 各音節をIDにマッピングします。
- 二合母音のマージやギリシャ語の表記現象をサポートします。
- 空白で区切られた音節トークンを使用します。
トークン化の例:
入力:
Κατέβην χθὲς εἰς Πειραιᾶ
トークン:
['κα', 'τέ', 'βην', 'χθὲ', 'σεἰσ', 'πει', 'ραι', 'ᾶ']
単語は音節レベルで結合されていることに注意してください。
💻 使用例
基本的な使用法
from transformers import AutoTokenizer, AutoModelForMaskedLM
tokenizer = AutoTokenizer.from_pretrained("Ericu950/SyllaBERTa", trust_remote_code=True)
model = AutoModelForMaskedLM.from_pretrained("Ericu950/SyllaBERTa", trust_remote_code=True)
text = "Κατέβην χθὲς εἰς Πειραιᾶ μετὰ Γλαύκωνος τοῦ Ἀρίστωνος"
tokens = tokenizer.tokenize(text)
print(tokens)
import random
tokens[random.randint(0, len(tokens)-1)] = tokenizer.mask_token
masked_text = tokenizer.convert_tokens_to_string(tokens)
inputs = tokenizer(masked_text, return_tensors="pt", padding=True, truncation=True)
inputs.pop("token_type_ids", None)
with torch.no_grad():
outputs = model(**inputs)
logits = outputs.logits
mask_token_index = (inputs['input_ids'] == tokenizer.mask_token_id).nonzero(as_tuple=True)[1]
top_tokens = logits[0, mask_token_index].topk(5, dim=-1).indices.squeeze(0)
predicted = tokenizer.convert_ids_to_tokens(top_tokens.tolist())
print("Top predictions:", predicted)
このコードを実行すると、以下のような出力が得られます。
Original tokens: ['κα', 'τέ', 'βην', 'χθὲ', 'σεἰσ', 'πει', 'ραι', 'ᾶ', 'με', 'τὰγ', 'λαύ', 'κω', 'νοσ', 'τοῦ', 'ἀ', 'ρίσ', 'τω', 'νοσ']
Masked at position 6
Masked text: κα τέ βην χθὲ σεἰσ πει [MASK] ᾶ με τὰγ λαύ κω νοσ τοῦ ἀ ρίσ τω νοσ
Top 5 predictions for masked token:
ραι (score: 23.12)
ρα (score: 14.69)
ραισ (score: 12.63)
σαι (score: 12.43)
ρη (score: 12.26)
📄 ライセンス
このモデルはMITライセンスの下で提供されています。
👨🔬 著者
この研究は、Eric Cullhed(ウプサラ大学)と Albin Thörn Cleland(ルンド大学)による継続的な研究の一部です。
🙏 謝辞
この計算は、スウェーデンの国立スーパーコンピューティングインフラストラクチャ(NAISS)が提供するリソースによって可能になりました。このインフラストラクチャは、スウェーデン研究評議会からの助成金契約番号2022 - 06725によって部分的に資金提供されています。