Transformers documentation

BertJapanese

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Эта модель была добавлена в Hugging Face Transformers 16.11.2020.

BertJapanese

Обзор

Модели BERT, обученные на японском тексте.

Существуют модели с двумя различными методами токенизации:

  • Токенизация с помощью MeCab и WordPiece. Для этого потребуются дополнительные зависимости: fugashi — обёртка над MeCab.
  • Токенизация по символам.

Чтобы использовать MecabTokenizer, установите зависимости с помощью pip install transformers["ja"] (или pip install -e .["ja"], если вы устанавливаете пакет из исходного кода).

См. подробности в репозитории cl-tohoku.

Пример использования модели с токенизацией MeCab и 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)

Пример использования модели с токенизацией по символам:

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)

Эта модель была предоставлена пользователем cl-tohoku.

Эта реализация идентична BERT, за исключением метода токенизации. Справочную информацию по API см. в документации BERT.

BertJapaneseTokenizer

класс transformers.BertJapaneseTokenizer

< >

( 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 )

Параметры

  • vocab_file (str) — Путь к файлу словаря, в котором каждая строка содержит один токен.
  • spm_file (str, необязательный) — Путь к файлу SentencePiece (обычно с расширением .spm или .model), содержащему словарь.
  • do_lower_case (bool, необязательный, по умолчанию True) — Определяет, нужно ли приводить входные данные к нижнему регистру. Влияет только при do_basic_tokenize=True.
  • do_word_tokenize (bool, необязательный, по умолчанию True) — Указывает, следует ли выполнять токенизацию на уровне слов.
  • do_subword_tokenize (bool, необязательный, по умолчанию True) — Выполнять ли токенизацию на уровне сабвордов.
  • word_tokenizer_type (str, необязательный, по умолчанию "basic") — Тип токенизатора слов. Выберите одно из значений: [“basic”, “mecab”, “sudachi”, “jumanpp”].
  • subword_tokenizer_type (str, необязательный, по умолчанию "wordpiece") — Тип субсловного токенизатора. Выберите из [“wordpiece”, “character”, “sentencepiece”,].
  • mecab_kwargs (dict, необязательный) — Словарь, передаваемый в конструктор MecabTokenizer.
  • sudachi_kwargs (dict, необязательный) — Словарь, передаваемый в конструктор SudachiTokenizer.
  • jumanpp_kwargs (dict, необязательный) — Словарь, передаваемый в конструктор JumanppTokenizer.

Создайте токенизатор BERT для японского текста.

Этот токенизатор наследуется от PreTrainedTokenizer, который содержит большинство основных методов. Пользователям следует обращаться к этому суперклассу для получения дополнительной информации об этих методах.

convert_tokens_to_string

< >

( tokens )

Преобразует последовательность токенов (строку) в одну строку.

Update on GitHub