Transformers documentation
BertJapanese
Ce modèle a été contribué à Hugging Face Transformers le 2020-11-16.
BertJapanese
Aperçu
Les modèles BERT entraînés sur du texte japonais.
Il existe des modèles avec deux méthodes de tokenisation différentes :
- Tokeniser avec MeCab et WordPiece. Cela nécessite quelques dépendances supplémentaires, fugashi qui est un wrapper autour de MeCab.
- Tokeniser en caractères.
Pour utiliser MecabTokenizer, vous devez installer les dépendances en exécutant pip install transformers["ja"] (ou pip install -e .["ja"] si vous installez depuis le code source).
Voir les détails sur le dépôt cl-tohoku.
Exemple d'utilisation d'un modèle avec la tokenisation MeCab et WordPiece :
import torch
from transformers import AutoModel, AutoTokenizer
bertjapanese = AutoModel.from_pretrained("cl-tohoku/bert-base-japanese", device_map="auto")
tokenizer = AutoTokenizer.from_pretrained("cl-tohoku/bert-base-japanese")
## Input Japanese Text
line = "吾輩は猫である。"
inputs = tokenizer(line, return_tensors="pt").to(model.device)
print(tokenizer.decode(inputs["input_ids"][0]))
[CLS] 吾輩 は 猫 で ある 。 [SEP]
outputs = bertjapanese(**inputs)Exemple d'utilisation d'un modèle avec la tokenisation par caractère :
bertjapanese = AutoModel.from_pretrained("cl-tohoku/bert-base-japanese-char", device_map="auto")
tokenizer = AutoTokenizer.from_pretrained("cl-tohoku/bert-base-japanese-char")
## Input Japanese Text
line = "吾輩は猫である。"
inputs = tokenizer(line, return_tensors="pt").to(model.device)
print(tokenizer.decode(inputs["input_ids"][0]))
[CLS] 吾 輩 は 猫 で あ る 。 [SEP]
outputs = bertjapanese(**inputs)Ce modèle a été contribué par cl-tohoku.
Cette implémentation est identique à celle de BERT, à l’exception de la méthode de tokenisation. Consultez la documentation de BERT pour les informations de référence de l’API.
BertJapaneseTokenizer
classe transformers.BertJapaneseTokenizer
< source >( vocab_filespm_file = Nonedo_lower_case = Falsedo_word_tokenize = Truedo_subword_tokenize = Trueword_tokenizer_type = 'basic'subword_tokenizer_type = 'wordpiece'never_split = Noneunk_token = '[UNK]'sep_token = '[SEP]'pad_token = '[PAD]'cls_token = '[CLS]'mask_token = '[MASK]'mecab_kwargs = Nonesudachi_kwargs = Nonejumanpp_kwargs = None**kwargs )
Paramètres
- vocab_file (
str) — Chemin vers un fichier de vocabulaire contenant un mot par ligne. - spm_file (
str, facultatif) — Chemin vers le fichier SentencePiece (généralement avec une extension .spm ou .model) contenant le vocabulaire. - do_lower_case (
bool, facultatif, par défautTrue) — Indique s'il faut convertir l'entrée en minuscules. N'a un effet que si do_basic_tokenize=True. - do_word_tokenize (
bool, facultatif, par défautTrue) — Indique s'il faut effectuer la tokenisation des mots. - do_subword_tokenize (
bool, facultatif, par défautTrue) — Indique s'il faut effectuer la tokenisation en sous-mots. - word_tokenizer_type (
str, facultatif, par défaut"basic") — Type de tokeniseur de mots. Choisissez parmi [“basic”, “mecab”, “sudachi”, “jumanpp”]. - subword_tokenizer_type (
str, facultatif, par défaut"wordpiece") — Type de sous-mots du tokenizer. Choisissez parmi [“wordpiece”, “character”, “sentencepiece”,]. - mecab_kwargs (
dict, facultatif) — Dictionnaire transmis au constructeurMecabTokenizer. - sudachi_kwargs (
dict, facultatif) — Dictionnaire transmis au constructeurSudachiTokenizer. - jumanpp_kwargs (
dict, facultatif) — Dictionnaire transmis au constructeurJumanppTokenizer.
Construisez un tokenizer BERT pour le texte japonais.
Ce tokenizer hérite de PreTrainedTokenizer, qui contient la plupart des méthodes principales. Les utilisateurs doivent se référer à cette superclasse pour plus d’informations sur ces méthodes.
Convertit une séquence de jetons (chaîne de caractères) en une seule chaîne.