分詞器文件

預分詞器

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

預分詞器

Python
Rust
Node

BertPreTokenizer

class tokenizers.pre_tokenizers.BertPreTokenizer

( )

BertPreTokenizer

該預分詞器按空格和標點符號對詞符進行切分。每個標點符號的出現都將被單獨處理。

ByteLevel

class tokenizers.pre_tokenizers.ByteLevel

( add_prefix_space = True use_regex = True )

引數

  • add_prefix_space (bool, 可選, 預設為 True) — 是否在第一個單詞前新增空格(如果還沒有的話)。這使我們可以將 hellosay hello 完全一樣地處理。
  • use_regex (bool, 可選, 預設為 True) — 將此項設為 False 以阻止此 pre_tokenizer 使用 GPT2 特定的正則表示式來按空格切分。

ByteLevel 預分詞器

此預分詞器負責將給定字串的所有位元組替換為相應的表示形式,並將其切分為單詞。

alphabet

( ) List[str]

返回

List[str]

組成字母表的字元列表

返回此預分詞器使用的字母表。

由於 ByteLevel 預分詞器如其名所示在位元組層面工作,它將每個位元組值編碼為一個唯一可見的字元。這意味著總共有 256 個不同的字元構成了這個字母表。

CharDelimiterSplit

class tokenizers.pre_tokenizers.CharDelimiterSplit

( )

此預分詞器僅按提供的字元進行切分。其工作方式類似於 .split(delimiter)

Digits

class tokenizers.pre_tokenizers.Digits

( individual_digits = False )

引數

  • individual_digits (bool, 可選, 預設為 False) —

此預分詞器僅使用數字作為單獨的詞符進行切分

如果設定為 True,數字將按以下方式分別切分

"Call 123 please" -> "Call ", "1", "2", "3", " please"

如果設定為 False,數字將按以下方式分組

"Call 123 please" -> "Call ", "123", " please"

Metaspace

class tokenizers.pre_tokenizers.Metaspace

( replacement = '_' prepend_scheme = 'always' split = True )

引數

  • replacement (str, 可選, 預設為 ) — 替換字元。必須是單個字元。預設情況下,我們使用 (U+2581) 元符號(與 SentencePiece 中的相同)。
  • prepend_scheme (str, 可選, 預設為 "always") — 是否在第一個單詞前新增空格(如果還沒有的話)。這使我們可以將 hellosay hello 完全一樣地處理。選項有:“always”、“never”、“first”。“First” 意味著只在第一個詞符前新增空格(當使用特殊詞符或其他預分詞器時,這一點很重要)。

Metaspace 預分詞器

此預分詞器將任何空白字元替換為提供的替換字元。然後,它會嘗試按這些空格進行切分。

PreTokenizer

class tokenizers.pre_tokenizers.PreTokenizer

( )

所有預分詞器的基類

此類不應直接例項化。相反,任何預分詞器的實現在例項化時都會返回此類的例項。

pre_tokenize

( pretok )

引數

  • pretok (~tokenizers.PreTokenizedString) -- 將應用此 :class:~tokenizers.pre_tokenizers.PreTokenizer` 的預分詞字串

~tokenizers.PyPreTokenizedString 進行原地預分詞

此方法允許修改 PreTokenizedString 以跟蹤預分詞過程,並利用 PreTokenizedString 的功能。如果您只想檢視原始字串的預分詞結果,可以使用 pre_tokenize_str()

pre_tokenize_str

( sequence ) List[Tuple[str, Offsets]]

引數

  • sequence (str) — 一個待預分詞的字串

返回

List[Tuple[str, Offsets]]

一個包含預分詞部分及其偏移量的元組列表

對給定字串進行預分詞

此方法提供了一種視覺化 PreTokenizer 效果的方式,但它不跟蹤對齊資訊,也不提供 PreTokenizedString 的所有功能。如果您需要這些功能,可以使用 pre_tokenize()

Punctuation

class tokenizers.pre_tokenizers.Punctuation

( behavior = 'isolated' )

引數

  • behavior (SplitDelimiterBehavior) — 切分時使用的行為。選項:“removed”、“isolated”(預設)、“merged_with_previous”、“merged_with_next”、“contiguous”

此預分詞器僅按標點符號作為單個字元進行切分。

Sequence

class tokenizers.pre_tokenizers.Sequence

( pretokenizers )

此預分詞器組合了其他預分詞器,並按順序應用它們

Split

class tokenizers.pre_tokenizers.Split

( pattern behavior invert = False )

引數

  • pattern (str or Regex) — 用於切分字串的模式。通常是字串或使用 tokenizers.Regex 構建的正則表示式。如果要使用正則表示式模式,必須用 tokenizer.Regex 包裝,否則我們將其視為字串模式。例如,pattern=”|” 表示您想按 | 切分(例如,想象一個 csv 檔案),而 patter=tokenizer.Regex(“1|2”) 表示您按“1”或“2”切分。
  • behavior (SplitDelimiterBehavior) — 切分時使用的行為。選項:“removed”、“isolated”、“merged_with_previous”、“merged_with_next”、“contiguous”
  • invert (bool, 可選, 預設為 False) — 是否反轉模式。

Split 預分詞器

這個多功能的預分詞器使用提供的模式並根據提供的行為進行切分。可以透過使用 invert 標誌來反轉模式。

UnicodeScripts

class tokenizers.pre_tokenizers.UnicodeScripts

( )

此預分詞器根據屬於不同語系的字元進行切分,大致遵循 https://github.com/google/sentencepiece/blob/master/data/Scripts.txt。實際上,平假名和片假名與漢字合併,0x30FC 也被視為漢字。這模仿了 SentencePiece Unigram 的實現。

Whitespace

class tokenizers.pre_tokenizers.Whitespace

( )

此預分詞器僅使用以下正則表示式進行切分:\w+|[^\w\s]+

WhitespaceSplit

class tokenizers.pre_tokenizers.WhitespaceSplit

( )

此預分詞器僅按空白字元進行切分。其工作方式類似於 .split()

< > 在 GitHub 上更新

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