Transformers documentation

BARTpho

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

and get access to the augmented documentation experience

to get started

Ce modèle a été publié dans HF papers le 2021-09-20 et ajouté à Hugging Face Transformers le 2021-10-18.

BARTpho

BARTpho est un modèle séquence-à-séquence vietnamien à grande échelle. Il propose une version basée sur les mots et une version basée sur les syllabes. Ce modèle est construit sur l'architecture de grande taille BART avec son pré-entraînement par débruitage.

Vous pouvez trouver tous les points de contrôle originaux sous l'organisation VinAI.

Ce modèle a été contribué par dqnguyen. Consultez la barre latérale droite pour des exemples d’application de BARTpho à différentes tâches linguistiques.

L'exemple ci-dessous montre comment résumer du texte avec Pipeline ou la classe AutoModel.

AutoModel
from transformers import AutoTokenizer, BartForConditionalGeneration


tokenizer = AutoTokenizer.from_pretrained(
    "vinai/bartpho-word",
)
model = BartForConditionalGeneration.from_pretrained(
    "vinai/bartpho-word",
    device_map="auto",
)

text = """
Quang tổng hợp hay gọi tắt là quang hợp là quá trình thu nhận và chuyển hóa năng lượng ánh sáng Mặt trời của thực vật,
tảo và một số vi khuẩn để tạo ra hợp chất hữu cơ phục vụ bản thân cũng như làm nguồn thức ăn cho hầu hết các sinh vật
trên Trái Đất. Quang hợp trong thực vật thường liên quan đến chất tố diệp lục màu xanh lá cây và tạo ra oxy như một sản phẩm phụ
"""
inputs = tokenizer(text, return_tensors="pt").to(model.device)

outputs = model.generate(inputs["input_ids"], num_beams=2, min_length=0, max_length=20)
tokenizer.batch_decode(outputs, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]

Notes

  • BARTpho utilise l’architecture de grande taille de BART avec une couche de normalisation supplémentaire au sommet de l’encodeur et du décodeur. Les classes spécifiques à BART doivent être remplacées par les classes spécifiques à mBART.
  • Cette implémentation ne gère la tokenisation que via le fichier monolingual_vocab_file. Il s’agit d’un sous-ensemble spécifique au vietnamien des types de jetons, extrait de ce vocabulaire multilingue. Si vous souhaitez utiliser ce tokenizer pour une autre langue, remplacez le monolingual_vocab_file par un fichier spécialisé pour votre langue cible.

BartphoTokenizer

classe transformers.BartphoTokenizer

< >

( vocab_filemonolingual_vocab_filebos_token = '<s>'eos_token = '</s>'sep_token = '</s>'cls_token = '<s>'unk_token = '<unk>'pad_token = '<pad>'mask_token = '<mask>'sp_model_kwargs: dict[str, typing.Any] | None = None**kwargs )

Paramètres

  • vocab_file (str) — Chemin vers le fichier de vocabulaire. Ce vocabulaire est le modèle SentencePiece pré-entraîné disponible à partir du multilingual XLM-RoBERTa, également utilisé dans mBART, composé de 250K types.
  • monolingual_vocab_file (str) — Path to the monolingual vocabulary file. This monolingual vocabulary consists of Vietnamese-specialized types extracted from the multilingual vocabulary vocab_file of 250K types.
  • bos_token (str, facultatif, défaut "<s>") — Le jeton de début de séquence utilisé lors de la préformation. Peut être utilisé comme jeton de classifieur de séquence.

    Lors de la construction d'une séquence à l'aide de jetons spéciaux, ce n'est pas ce jeton qui est utilisé pour le début de la séquence. Le jeton utilisé est cls_token.

  • eos_token (str, facultatif, défaut : "</s>") — Le jeton de fin de séquence. Lors de la construction d'une séquence à l'aide de jetons spéciaux, ce n'est pas le jeton utilisé pour la fin de séquence. Le jeton utilisé est sep_token.

    Lors de la construction d'une séquence à l'aide de jetons spéciaux, ce n'est pas ce jeton qui est utilisé pour la fin de séquence. Le jeton utilisé est le sep_token.

  • sep_token (str, facultatif, par défaut "</s>") — Le jeton séparateur, utilisé lors de la construction d'une séquence à partir de plusieurs séquences, par exemple deux séquences pour la classification de séquences ou un texte et une question pour le question answering. Il est également utilisé comme dernier jeton d'une séquence construite avec des jetons spéciaux.
  • cls_token (str, facultatif, par défaut "<s>") — Le jeton de classification utilisé lors de la classification de séquence (classification de la séquence entière plutôt que la classification par jeton). C'est le premier jeton de la séquence lorsqu'elle est construite avec des jetons spéciaux.
  • unk_token (str, facultatif, par défaut "<unk>") — Le jeton inconnu. Un jeton qui n'est pas dans le vocabulaire ne peut pas être converti en identifiant et est remplacé par ce jeton.
  • pad_token (str, facultatif, par défaut "<pad>") — Le jeton utilisé pour le bourrage, par exemple lors du regroupement de séquences de longueurs différentes.
  • mask_token (str, facultatif, par défaut "<mask>") — Le jeton utilisé pour masquer les valeurs. C'est le jeton utilisé lors de l'entraînement de ce modèle avec le modélisation de langage masquée. C'est le jeton que le modèle cherchera à prédire.
  • sp_model_kwargs (dict, facultatif) — Sera transmis à la méthode SentencePieceProcessor.__init__() . Le wrapper Python de SentencePiece peut être utilisé, entre autres, pour définir :
    • enable_sampling : Active la régularisation des sous-mots.

    • nbest_size : Paramètres d'échantillonnage pour les unigrammes. Invalide pour BPE-Dropout.

      • nbest_size = {0,1} : Aucun échantillonnage n'est effectué.
      • nbest_size > 1 : échantillonne parmi les résultats de nbest_size.
      • nbest_size < 0 : suppose que nbest_size est infini et échantillonne à partir de toutes les hypothèses (lattice) en utilisant l'algorithme de filtrage avant et d'échantillonnage arrière.
    • alpha : Paramètre de lissage pour l'échantillonnage des unigrammes et probabilité de suppression pour les opérations de fusion dans le cas du BPE-dropout.

  • sp_model (SentencePieceProcessor) — Le processeur SentencePiece utilisé pour chaque conversion (chaîne, jetons et identifiants).

Adapté de XLMRobertaTokenizer. Basé sur SentencePiece.

Ce tokenizer hérite de PreTrainedTokenizer, qui contient la plupart des méthodes principales. Les utilisateurs doivent se référer à cette superclasse pour plus d'informations sur ces méthodes.

build_inputs_with_special_tokens

< >

( token_ids_0: listtoken_ids_1: list[int] | None = None ) → list[int]

Paramètres

  • token_ids_0 (list[int]) — Liste des ID auxquels les jetons spéciaux seront ajoutés.
  • token_ids_1 (list[int], facultatif) — Deuxième liste d'identifiants facultative pour les paires de séquences.

Retourne

list[int]

Liste des identifiants d'entrée avec les jetons spéciaux appropriés.

Construire les entrées du modèle à partir d'une séquence ou d'une paire de séquences pour les tâches de classification de séquences en les concaténant et en ajoutant des jetons spéciaux. Une séquence BARTPho a le format suivant :

  • séquence unique : <s> X </s>
  • paire de séquences : <s> A </s></s> B </s>

create_token_type_ids_from_sequences

< >

( token_ids_0: listtoken_ids_1: list[int] | None = None ) → list[int]

Paramètres

  • token_ids_0 (list[int]) — Liste d'identifiants.
  • token_ids_1 (list[int], facultatif) — Deuxième liste d'identifiants facultative pour les paires de séquences.

Retourne

list[int]

Liste de zéros.

Crée un masque à partir des deux séquences passées, à utiliser dans une tâche de classification de paires de séquences. BARTPho n’utilise pas les identifiants de type de jeton, une liste de zéros est donc renvoyée.

get_special_tokens_mask

< >

( token_ids_0: listtoken_ids_1: list[int] | None = Nonealready_has_special_tokens: bool = False ) → list[int]

Paramètres

  • token_ids_0 (list[int]) — Liste d'identifiants.
  • token_ids_1 (list[int], facultatif) — Deuxième liste d'identifiants facultative pour les paires de séquences.
  • already_has_special_tokens (bool, facultatif, par défaut False) — Indique si la liste de jetons est déjà formatée avec les jetons spéciaux du modèle.

Retourne

list[int]

Une liste d'entiers dans l'intervalle [0, 1] : 1 pour un jeton spécial, 0 pour un jeton de séquence.

Récupère les identifiants de séquences à partir d'une liste de jetons à laquelle aucun jeton spécial n'a été ajouté. Cette méthode est appelée lors de l'ajout de jetons spéciaux à l'aide de la méthode prepare_for_model du tokeniseur.

get_vocab

< >

( )

Écraser pour utiliser le vocabulaire fairseq

Update on GitHub