语言:
- 多语言
- 南非荷兰语
- 阿尔巴尼亚语
- 阿拉伯语
- 阿拉贡语
- 亚美尼亚语
- 阿斯图里亚斯语
- 阿塞拜疆语
- 巴什基尔语
- 巴斯克语
- 巴伐利亚语
- 白俄罗斯语
- 孟加拉语
- 印度语族
- 波斯尼亚语
- 布列塔尼语
- 保加利亚语
- 缅甸语
- 加泰罗尼亚语
- 宿务语
- 车臣语
- 中文
- 楚瓦什语
- 克罗地亚语
- 捷克语
- 丹麦语
- 荷兰语
- 英语
- 爱沙尼亚语
- 芬兰语
- 法语
- 加利西亚语
- 格鲁吉亚语
- 德语
- 希腊语
- 古吉拉特语
- 海地克里奥尔语
- 希伯来语
- 印地语
- 匈牙利语
- 冰岛语
- 伊多语
- 印尼语
- 爱尔兰语
- 意大利语
- 日语
- 爪哇语
- 卡纳达语
- 哈萨克语
- 吉尔吉斯语
- 韩语
- 拉丁语
- 拉脱维亚语
- 立陶宛语
- 罗曼语族
- 低地德语
- 林堡语
- 马其顿语
- 马尔加什语
- 马来语
- 马拉雅拉姆语
- 马拉地语
- 蒙古语
- 米南卡保语
- 尼泊尔语
- 尼瓦尔语
- 书面挪威语
- 新挪威语
- 奥克语
- 波斯语
- 皮埃蒙特语
- 波兰语
- 葡萄牙语
- 旁遮普语
- 罗马尼亚语
- 俄语
- 苏格兰语
- 塞尔维亚语
- 克罗地亚语
- 西西里语
- 斯洛伐克语
- 斯洛文尼亚语
- 阿塞拜疆语
- 西班牙语
- 巽他语
- 斯瓦希里语
- 瑞典语
- 他加禄语
- 塔吉克语
- 泰语
- 泰米尔语
- 鞑靼语
- 泰卢固语
- 土耳其语
- 乌克兰语
- 乌尔都语
- 乌兹别克语
- 越南语
- 沃拉普克语
- 瓦瑞语
- 威尔士语
- 西弗里斯兰语
- 西旁遮普语
- 约鲁巴语
许可证: Apache-2.0
数据集:
- 书籍语料库
- 维基百科
CANINE-s(采用子词损失预训练的CANINE模型)
该模型在104种语言上通过掩码语言建模(MLM)目标进行预训练,出自论文《CANINE:预训练一种高效的无分词语言表示编码器》,并首次发布于此代码库。
CANINE的独特之处在于,它不像BERT和RoBERTa等模型那样需要显式的分词器(如WordPiece或SentencePiece),而是直接在字符级别操作:每个字符被转换为其Unicode码位。这意味着输入处理极为简单,通常可以如下实现:
input_ids = [ord(char) for char in text]
其中ord()是Python内置函数,用于将字符转换为对应的Unicode码位。
免责声明:发布CANINE的团队未为此模型编写模型卡,本模型卡由Hugging Face团队撰写。
模型描述
CANINE是一个基于自监督方式在多语言大规模语料上预训练的Transformer模型,类似于BERT。这意味着它仅对原始文本进行预训练,无需人工标注(因此可利用大量公开数据),通过自动过程从文本生成输入和标签。具体而言,其预训练目标包括:
- 掩码语言建模(MLM):随机遮蔽部分输入,模型需预测被遮蔽内容。此模型(CANINE-s)采用子词损失训练,即模型在接收字符输入的同时需预测子词标记的身份。通过读取字符但预测子词标记,其他模型(如BERT)中的硬分词边界约束在CANINE中转化为软归纳偏置。
- 下一句预测(NSP):预训练时模型将两个句子拼接作为输入,有时它们对应原文中相邻的句子,有时则不然。模型需判断这两个句子是否连续。
通过这种方式,模型学习到多种语言的内部表示,可用于提取下游任务所需的特征。例如,若有一个带标签句子的数据集,您可以使用CANINE模型生成的特征作为输入来训练标准分类器。
预期用途与限制
您可将该原始模型用于掩码语言建模或下一句预测,但主要用途是针对下游任务进行微调。请参阅模型中心寻找您感兴趣任务的微调版本。
请注意,该模型主要适用于需利用整个句子(可能含遮蔽部分)进行决策的任务,如序列分类、标记分类或问答。对于文本生成等任务,建议使用GPT2等模型。
使用方法
使用该模型的示例代码如下:
from transformers import CanineTokenizer, CanineModel
model = CanineModel.from_pretrained('google/canine-s')
tokenizer = CanineTokenizer.from_pretrained('google/canine-s')
inputs = ["生活就像一盒巧克力。", "你永远不知道下一颗是什么味道。"]
encoding = tokenizer(inputs, padding="longest", truncation=True, return_tensors="pt")
outputs = model(**encoding)
pooled_output = outputs.pooler_output
sequence_output = outputs.last_hidden_state
训练数据
CANINE模型基于mBERT的多语言维基百科数据进行预训练,涵盖104种语言。
BibTeX条目与引用信息
@article{DBLP:journals/corr/abs-2103-06874,
author = {Jonathan H. Clark and
Dan Garrette and
Iulia Turc and
John Wieting},
title = {{CANINE:} 预训练一种高效的无分词语言表示编码器},
journal = {CoRR},
volume = {abs/2103.06874},
year = {2021},
url = {https://arxiv.org/abs/2103.06874},
archivePrefix = {arXiv},
eprint = {2103.06874},
timestamp = {2021年3月16日 11:26:59 +0100},
biburl = {https://dblp.org/rec/journals/corr/abs-2103-06874.bib},
bibsource = {dblp计算机科学书目, https://dblp.org}
}