Transformers 文件

BertJapanese

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

BertJapanese

PyTorch TensorFlow Flax

概述

在日文文字上訓練的 BERT 模型。

有兩種不同分詞方法的模型:

  • 使用 MeCab 和 WordPiece 進行分詞。這需要一些額外的依賴,fugashiMeCab 的一個包裝器。
  • 按字元分詞。

要使用 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

< >

( 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`) — 指向每行一個 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,其中包含大部分主要方法。使用者應參考此超類以獲取有關這些方法的更多資訊。

build_inputs_with_special_tokens

< >

( token_ids_0: list token_ids_1: typing.Optional[list[int]] = None ) `List[int]`

引數

  • token_ids_0 (`List[int]`) — 將要新增特殊標記的 ID 列表。
  • token_ids_1 (`List[int]`, *可選*) — 可選的用於序列對的第二組 ID 列表。

返回

List[int]

帶有適當特殊標記的輸入ID列表。

透過連線和新增特殊標記,從一個序列或一對序列構建用於序列分類任務的模型輸入。BERT 序列的格式如下:

  • 單個序列:[CLS] X [SEP]
  • 序列對:[CLS] A [SEP] B [SEP]

convert_tokens_to_string

< >

( tokens )

將標記序列(字串)轉換為單個字串。

get_special_tokens_mask

< >

( token_ids_0: list token_ids_1: typing.Optional[list[int]] = None already_has_special_tokens: bool = False ) `List[int]`

引數

  • token_ids_0 (`List[int]`) — ID 列表。
  • token_ids_1 (`List[int]`, *可選*) — 可選的用於序列對的第二組 ID 列表。
  • already_has_special_tokens (`bool`, *可選*, 預設為 `False`) — 標記列表是否已使用模型的特殊標記進行格式化。

返回

List[int]

一個範圍為 [0, 1] 的整數列表:1 表示特殊標記,0 表示序列標記。

從沒有新增特殊標記的標記列表中檢索序列ID。此方法在使用分詞器prepare_for_model方法新增特殊標記時呼叫。

< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.