Transformers documentation
BertJapanese
Este modelo fue aportado a Hugging Face Transformers el 2020-11-16.
BertJapanese
Resumen
Los modelos BERT entrenados en texto japonés.
Hay modelos con dos métodos de tokenización diferentes:
- Tokeniza con MeCab y WordPiece. Esto requiere algunas dependencias adicionales, fugashi, que es un envoltorio de MeCab.
- Tokenizar en caracteres.
Para usar MecabTokenizer, debe pip install transformers["ja"] (o pip install -e .["ja"] si instala
desde el código fuente) para instalar las dependencias.
Vea los detalles en el repositorio cl-tohoku.
Ejemplo de uso de un modelo con tokenización MeCab y 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)Ejemplo de uso de un modelo con tokenización por caracteres:
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 fue aportado por cl-tohoku.
Esta implementación es la misma que la de BERT, excepto por el método de tokenización. Consulte la documentación de BERT para obtener información de referencia de la API.
BertJapaneseTokenizer
clase 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) — Ruta a un archivo de vocabulario con una pieza de palabra por línea. - spm_file (
str, opcional) — Ruta al archivo de SentencePiece (generalmente tiene una extensión .spm o .model) que contiene el vocabulario. - do_lower_case (
bool, opcional, valor predeterminadoTrue) — Si se debe convertir la entrada a minúsculas. Solo tiene efecto cuando do_basic_tokenize=True. - do_word_tokenize (
bool, opcional, valor predeterminadoTrue) — Si se debe realizar la tokenización de palabras. - do_subword_tokenize (
bool, opcional, valor predeterminadoTrue) — Si se debe realizar la tokenización de subpalabras. - word_tokenizer_type (
str, opcional, por defecto"basic") — Tipo de tokenizador de palabras. Elija entre [“basic”, “mecab”, “sudachi”, “jumanpp”]. - subword_tokenizer_type (
str, opcional, valor predeterminado"wordpiece") — Tipo de tokenizador de subpalabras. Elija entre [“wordpiece”, “character”, “sentencepiece”,]. - mecab_kwargs (
dict, opcional) — Diccionario que se pasa al constructor deMecabTokenizer. - sudachi_kwargs (
dict, opcional) — Diccionario que se pasa al constructor deSudachiTokenizer. - jumanpp_kwargs (
dict, opcional) — Diccionario que se pasa al constructor deJumanppTokenizer.
Construye un tokenizador BERT para texto en japonés.
Este tokenizador hereda de PreTrainedTokenizer, que contiene la mayoría de los métodos principales. Los usuarios deben consultar a esta superclase para obtener más información sobre dichos métodos.
Convierte una secuencia de tokens (cadena) en una sola cadena.