🚀 SyllaBERTa:用於古希臘語的基於音節的RoBERTa模型
SyllaBERTa 是一個基於Transformer架構的實驗性掩碼語言模型(MLM),它在古希臘語文本上進行訓練,並且以 音節 為單位進行分詞。該模型專門用於處理涉及韻律、格律和押韻的任務。
✨ 主要特性
- 基於Transformer架構的掩碼語言模型,在古希臘語文本上訓練。
- 以音節為單位進行分詞,而非傳統的單詞或字符。
- 能夠處理韻律、格律和押韻相關的任務。
📦 安裝指南
文檔未提及安裝步驟,暫不提供。
💻 使用示例
基礎用法
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)
📚 詳細文檔
模型概述
屬性 |
詳情 |
基礎架構 |
RoBERTa(自定義配置) |
詞彙表大小 |
42,042個音節標記 |
隱藏層大小 |
768 |
層數 |
12 |
注意力頭數量 |
12 |
中間層大小 |
3,072 |
最大序列長度 |
514 |
預訓練目標 |
掩碼語言建模(MLM) |
優化器 |
AdamW |
損失函數 |
交叉熵,標記掩碼概率為15% |
分詞器
分詞器是 PreTrainedTokenizer
的自定義子類,以音節而非單詞或字符為操作單位。它具有以下特點:
- 將每個音節映射到一個ID。
- 支持雙元音合併和希臘語正字法現象。
- 使用空格分隔的音節標記。
分詞示例:
輸入:
Κατέβην χθὲς εἰς Πειραιᾶ
標記:
['κα', 'τέ', 'βην', 'χθὲ', 'σεἰσ', 'πει', 'ραι', 'ᾶ']
注意:單詞在音節層面進行了融合。
📄 許可證
本項目採用MIT許可證。
👨💻 作者
本項目是 Eric Cullhed(烏普薩拉大學)和 Albin Thörn Cleland(隆德大學)正在進行的研究的一部分。
🙏 致謝
本計算工作得益於瑞典國家超級計算學術基礎設施(NAISS)提供的資源,該基礎設施部分由瑞典研究理事會通過資助協議號2022 - 06725資助。