Transformers documentation

BertJapanese

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.2).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

该模型于 2020-11-16 贡献至 Hugging Face Transformers。

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)

使用 Character 分词模型的示例:

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

class 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) — 指向每行一个词元(wordpiece)的词汇表文件的路径。
  • 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