AutoTrain 文件
Token 分類
並獲得增強的文件體驗
開始使用
詞元分類
詞元分類是為序列中的每個詞元進行分類的任務。這可用於命名實體識別 (NER)、詞性 (POS) 標註等。只需以正確的格式準備好資料,然後點選幾下,你最先進的模型就可以在生產環境中使用。
資料格式
資料應為以下 CSV 格式
tokens,tags
"['I', 'love', 'Paris']","['O', 'O', 'B-LOC']"
"['I', 'live', 'in', 'New', 'York']","['O', 'O', 'O', 'B-LOC', 'I-LOC']"
.
.
.
或者您也可以使用 JSONL 格式
{"tokens": ["I", "love", "Paris"],"tags": ["O", "O", "B-LOC"]}
{"tokens": ["I", "live", "in", "New", "York"],"tags": ["O", "O", "O", "B-LOC", "I-LOC"]}
.
.
.
如你所見,CSV 檔案中有兩列。一列是詞元 (tokens),另一列是標籤 (tags)。這兩列都是字串化的列表!詞元列包含句子的詞元,而標籤列包含每個詞元的標籤。
如果你的 CSV 檔案很大,可以將其分成多個 CSV 檔案並分別上傳。請確保所有 CSV 檔案中的列名都相同。
一種使用 pandas 拆分 CSV 檔案的方法如下
import pandas as pd
# Set the chunk size
chunk_size = 1000
i = 1
# Open the CSV file and read it in chunks
for chunk in pd.read_csv('example.csv', chunksize=chunk_size):
# Save each chunk to a new file
chunk.to_csv(f'chunk_{i}.csv', index=False)
i += 1
HuggingFace Hub 上的示例資料集:conll2003
列
您的 CSV/JSONL 資料集必須有兩列:`tokens` 和 `tags`。
引數
class autotrain.trainers.token_classification.params.TokenClassificationParams
< source >( data_path: str = None model: str = 'bert-base-uncased' lr: float = 5e-05 epochs: int = 3 max_seq_length: int = 128 batch_size: int = 8 warmup_ratio: float = 0.1 gradient_accumulation: int = 1 optimizer: str = 'adamw_torch' scheduler: str = 'linear' weight_decay: float = 0.0 max_grad_norm: float = 1.0 seed: int = 42 train_split: str = 'train' valid_split: typing.Optional[str] = None tokens_column: str = 'tokens' tags_column: str = 'tags' logging_steps: int = -1 project_name: str = 'project-name' auto_find_batch_size: bool = False mixed_precision: typing.Optional[str] = None save_total_limit: int = 1 token: typing.Optional[str] = None push_to_hub: bool = False eval_strategy: str = 'epoch' username: typing.Optional[str] = None log: str = 'none' early_stopping_patience: int = 5 early_stopping_threshold: float = 0.01 )
引數
- data_path (str) — 資料集的路徑。
- model (str) — 要使用的模型名稱。預設為 “bert-base-uncased”。
- lr (float) — 學習率。預設為 5e-5。
- epochs (int) — 訓練輪數。預設為 3。
- max_seq_length (int) — 最大序列長度。預設為 128。
- batch_size (int) — 訓練批次大小。預設為 8。
- warmup_ratio (float) — 預熱比例。預設為 0.1。
- gradient_accumulation (int) — 梯度累積步數。預設為 1。
- optimizer (str) — 要使用的最佳化器。預設為 “adamw_torch”。
- scheduler (str) — 要使用的排程器。預設為 “linear”。
- weight_decay (float) — 權重衰減。預設為 0.0。
- max_grad_norm (float) — 最大梯度範數。預設為 1.0。
- seed (int) — 隨機種子。預設為 42。
- train_split (str) — 訓練集的名稱。預設為 “train”。
- valid_split (Optional[str]) — 驗證集的名稱。預設為 None。
- tokens_column (str) — 詞元列的名稱。預設為 “tokens”。
- tags_column (str) — 標籤列的名稱。預設為 “tags”。
- logging_steps (int) — 兩次日誌記錄之間的步數。預設為 -1。
- project_name (str) — 專案的名稱。預設為 “project-name”。
- auto_find_batch_size (bool) — 是否自動尋找批次大小。預設為 False。
- mixed_precision (Optional[str]) — 混合精度設定 (fp16, bf16, 或 None)。預設為 None。
- save_total_limit (int) — 要儲存的檢查點總數。預設為 1。
- token (Optional[str]) — 用於身份驗證的 Hub 令牌。預設為 None。
- push_to_hub (bool) — 是否將模型推送到 Hugging Face Hub。預設為 False。
- eval_strategy (str) — 評估策略。預設為 “epoch”。
- username (Optional[str]) — Hugging Face 使用者名稱。預設為 None。
- log (str) — 用於實驗跟蹤的日誌記錄方法。預設為 “none”。
- early_stopping_patience (int) — 提前停止的耐心值。預設為 5。
- early_stopping_threshold (float) — 提前停止的閾值。預設為 0.01。
TokenClassificationParams 是一個用於詞元分類訓練引數的配置類。