Transformers documentation
BertJapanese
Este modelo foi contribuído para o Hugging Face Transformers em 16/11/2020.
BertJapanese
Visão geral
Os modelos BERT treinados em texto japonês.
Existem modelos com dois métodos diferentes de tokenização:
- Faça a tokenização com MeCab e WordPiece. Isso requer algumas dependências extras, fugashi, que é um wrapper para MeCab.
- Tokenize em caracteres.
Para usar o MecabTokenizer, você deve instalar as dependências com pip install transformers["ja"] (ou pip install -e .["ja"] se estiver instalando a partir do código-fonte).
Veja os detalhes no repositório cl-tohoku.
Exemplo de uso de um modelo com tokenização MeCab e 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)Exemplo de uso de um modelo com tokenização por caractere:
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)Este modelo foi contribuído por cl-tohoku.
Esta implementação é a mesma do BERT, exceto pelo método de tokenização. Consulte a documentação do BERT para informações de referência da 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 )
Parâmetros
- vocab_file (
str) — Caminho para um arquivo de vocabulário com uma palavra por linha. - spm_file (
str, opcional) — Caminho para o arquivo SentencePiece (geralmente com extensão .spm ou .model) que contém o vocabulário. - do_lower_case (
bool, opcional, padrãoTrue) — Se deve converter a entrada para minúsculas. Tem efeito apenas quando do_basic_tokenize=True. - do_word_tokenize (
bool, opcional, padrãoTrue) — Se deve realizar a tokenização de palavras. - do_subword_tokenize (
bool, opcional, padrãoTrue) — Se deve realizar a tokenização de subpalavras. - word_tokenizer_type (
str, optional, defaults to"basic") — Type of word tokenizer. Choose from [“basic”, “mecab”, “sudachi”, “jumanpp”]. - subword_tokenizer_type (
str, optional, defaults to"wordpiece") — Type of subword tokenizer. Choose from [“wordpiece”, “character”, “sentencepiece”,]. - mecab_kwargs (
dict, opcional) — Dicionário passado para o construtor doMecabTokenizer. - sudachi_kwargs (
dict, opcional) — Dicionário passado para o construtor doSudachiTokenizer. - jumanpp_kwargs (
dict, opcional) — Dicionário passado para o construtor doJumanppTokenizer.
Construa um tokenizador BERT para texto em japonês.
Este tokenizer herda de PreTrainedTokenizer, que contém a maioria dos métodos principais. Os usuários devem consultar essa superclasse para obter mais informações sobre esses métodos.
Converte uma sequência de tokens (string) em uma única string.