🚀 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资助。