Transformers 文档
BertJapanese
并获得增强的文档体验
开始使用
BertJapanese
概述
在日本文本上训练的 BERT 模型。
有两种不同的分词方法模型:
要使用 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")
>>> tokenizer = AutoTokenizer.from_pretrained("cl-tohoku/bert-base-japanese")
>>> ## Input Japanese Text
>>> line = "吾輩は猫である。"
>>> inputs = tokenizer(line, return_tensors="pt")
>>> print(tokenizer.decode(inputs["input_ids"][0]))
[CLS] 吾輩 は 猫 で ある 。 [SEP]
>>> outputs = bertjapanese(**inputs)
使用字符分词的模型示例
>>> bertjapanese = AutoModel.from_pretrained("cl-tohoku/bert-base-japanese-char")
>>> tokenizer = AutoTokenizer.from_pretrained("cl-tohoku/bert-base-japanese-char")
>>> ## Input Japanese Text
>>> line = "吾輩は猫である。"
>>> inputs = tokenizer(line, return_tensors="pt")
>>> print(tokenizer.decode(inputs["input_ids"][0]))
[CLS] 吾 輩 は 猫 で あ る 。 [SEP]
>>> outputs = bertjapanese(**inputs)
此模型由 cl-tohoku 贡献。
此实现与 BERT 相同,除了分词方法。有关 API 参考信息,请参阅 BERT 文档。
BertJapaneseTokenizer
class transformers.BertJapaneseTokenizer
< source >( vocab_file spm_file = None do_lower_case = False do_word_tokenize = True do_subword_tokenize = True word_tokenizer_type = 'basic' subword_tokenizer_type = 'wordpiece' never_split = None unk_token = '[UNK]' sep_token = '[SEP]' pad_token = '[PAD]' cls_token = '[CLS]' mask_token = '[MASK]' mecab_kwargs = None sudachi_kwargs = None jumanpp_kwargs = None **kwargs )
参数
- vocab_file (
str
) — 一词一片词汇表文件的路径。 - spm_file (
str
, optional) — SentencePiece 文件的路径(通常带有 .spm 或 .model 扩展名),其中包含词汇表。 - do_lower_case (
bool
, optional, defaults toTrue
) — 是否将输入转换为小写。仅当 do_basic_tokenize=True 时有效。 - do_word_tokenize (
bool
, optional, defaults toTrue
) — 是否进行分词。 - do_subword_tokenize (
bool
, optional, defaults toTrue
) — 是否进行子词分词。 - word_tokenizer_type (
str
, optional, defaults to"basic"
) — 词分词器的类型。从 [“basic”, “mecab”, “sudachi”, “jumanpp”] 中选择。 - subword_tokenizer_type (
str
, optional, defaults to"wordpiece"
) — 子词分词器的类型。从 [“wordpiece”, “character”, “sentencepiece”] 中选择。 - mecab_kwargs (
dict
, optional) — 传递给MecabTokenizer
构造函数的字典。 - sudachi_kwargs (
dict
, optional) — 传递给SudachiTokenizer
构造函数的字典。 - jumanpp_kwargs (
dict
, optional) — 传递给JumanppTokenizer
构造函数的字典。
为日文文本构建 BERT 分词器。
此分词器继承自 PreTrainedTokenizer,其中包含大多数主要方法。用户应参考:此超类以获取有关这些方法的更多信息。
build_inputs_with_special_tokens
< source >( token_ids_0: typing.List[int] token_ids_1: typing.Optional[typing.List[int]] = None ) → List[int]
通过连接和添加特殊标记,从序列或序列对构建模型输入,以用于序列分类任务。 BERT 序列具有以下格式
- 单个序列:
[CLS] X [SEP]
- 序列对:
[CLS] A [SEP] B [SEP]
将标记(字符串)序列转换为单个字符串。
create_token_type_ids_from_sequences
< source >( token_ids_0: typing.List[int] token_ids_1: typing.Optional[typing.List[int]] = None ) → List[int]
从传递的两个序列创建一个掩码,用于序列对分类任务。 BERT 序列
如果 token_ids_1
为 None
,则此方法仅返回掩码的第一部分 (0s)。
get_special_tokens_mask
< source >( token_ids_0: typing.List[int] token_ids_1: typing.Optional[typing.List[int]] = None already_has_special_tokens: bool = False ) → List[int]
从没有添加特殊 token 的 token 列表中检索序列 ID。当使用 tokenizer 的 prepare_for_model
方法添加特殊 token 时,会调用此方法。