Transformers documentation

PhoBERT

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

Model ini dipublikasikan di HF papers pada 2020-03-02 dan disumbangkan ke Hugging Face Transformers pada 2020-11-16.

PhoBERT

Ikhtisar

Model PhoBERT diusulkan dalam PhoBERT: Pre-trained language models for Vietnamese oleh Dat Quoc Nguyen, Anh Tuan Nguyen.

Abstrak dari makalah tersebut adalah sebagai berikut:

Kami memperkenalkan PhoBERT dalam dua versi, PhoBERT-base dan PhoBERT-large, model bahasa monolingual berskala besar pertama yang tersedia secara publik dan telah dilatih sebelumnya untuk bahasa Vietnam. Hasil eksperimen menunjukkan bahwa PhoBERT secara konsisten melampaui model multibahasa pralatih terbaik terbaru, XLM-R (Conneau et al., 2020), dan meningkatkan state-of-the-art dalam berbagai tugas NLP yang spesifik untuk bahasa Vietnam, termasuk Part-of-speech tagging, Dependency parsing, Named-entity recognition, dan Natural language inference.

Model ini disumbangkan oleh dqnguyen. Kode aslinya dapat ditemukan di sini.

Contoh penggunaan

import torch

from transformers import AutoModel, AutoTokenizer


phobert = AutoModel.from_pretrained("vinai/phobert-base", device_map="auto")
tokenizer = AutoTokenizer.from_pretrained("vinai/phobert-base")

# INPUT TEXT MUST BE ALREADY WORD-SEGMENTED!
line = "Tôi là sinh_viên trường đại_học Công_nghệ ."

input_ids = torch.tensor([tokenizer.encode(line)])

with torch.no_grad():
    features = phobert(input_ids)  # Models outputs are now tuples

Implementasi PhoBERT sama dengan BERT, kecuali untuk tokenisasi. Lihat dokumentasi BERT untuk informasi tentang kelas konfigurasi dan parameternya. Tokenizer khusus PhoBERT didokumentasikan di bawah.

PhobertTokenizer

kelas transformers.PhobertTokenizer

< >

( vocab_filemerges_filebos_token = '<s>'eos_token = '</s>'sep_token = '</s>'cls_token = '<s>'unk_token = '<unk>'pad_token = '<pad>'mask_token = '<mask>'**kwargs )

Parameter

  • vocab_file (str) — Path ke file kosakata.
  • merges_file (str) — Path ke file merges.
  • bos_token (str, opsional, defaultnya "<s>") — Token awal urutan yang digunakan selama pretraining. Dapat digunakan sebagai token klasifikator urutan. Saat membangun urutan menggunakan token khusus, ini bukan token yang digunakan untuk awal urutan. Token yang digunakan adalah cls_token.

    Saat membangun sebuah sekuens menggunakan token khusus, token ini bukan token yang digunakan untuk awal sekuens. Token yang digunakan adalah cls_token.

  • eos_token (str, opsional, defaultnya "</s>") — Token akhir urutan.

    Saat membangun sebuah urutan menggunakan token khusus, token ini bukan yang digunakan untuk akhir urutan. Token yang digunakan adalah sep_token.

  • sep_token (str, opsional, default "</s>") — Token pemisah, yang digunakan saat membangun satu rangkaian dari beberapa rangkaian, misalnya dua rangkaian untuk klasifikasi rangkaian atau untuk teks dan pertanyaan untuk penjawaban pertanyaan. Token ini juga digunakan sebagai token terakhir dari rangkaian yang dibangun dengan token khusus.
  • cls_token (str, opsional, default "<s>") — Token klasifikator yang digunakan saat melakukan klasifikasi sekuens (klasifikasi seluruh sekuens, bukan klasifikasi per-token). Token ini merupakan token pertama dari sekuens ketika dibangun dengan token khusus.
  • unk_token (str, opsional, default "<unk>") — Token yang tidak diketahui. Token yang tidak ada dalam kosakata tidak dapat dikonversi menjadi ID dan akan diset sebagai token ini sebagai gantinya.
  • pad_token (str, opsional, defaultnya "<pad>") — Token yang digunakan untuk padding, misalnya saat membatching urutan dengan panjang yang berbeda.
  • mask_token (str, opsional, default "<mask>") — Token yang digunakan untuk memask nilai. Ini adalah token yang digunakan saat melatih model ini dengan pemodelan bahasa ter-mask. Ini adalah token yang akan diprediksi oleh model.

Konstruksi tokenizer PhoBERT. Berbasis Byte-Pair-Encoding.

Tokenizer ini mewarisi dari PreTrainedTokenizer yang berisi sebagian besar metode utama. Pengguna harus merujuk ke superclass ini untuk informasi lebih lanjut mengenai metode-metode tersebut.

add_from_file

< >

( f )

Memuat kamus yang sudah ada dari file teks dan menambahkan simbolnya ke instance ini.

build_inputs_with_special_tokens

< >

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

Parameter

  • token_ids_0 (list[int]) — Daftar ID tempat token khusus akan ditambahkan.
  • token_ids_1 (list[int], opsional) — Daftar ID kedua opsional untuk pasangan sekuens.

Mengembalikan

list[int]

Daftar ID input dengan token khusus yang sesuai.

Bangun input model dari satu urutan atau sepasang urutan untuk tugas klasifikasi urutan dengan menggabungkan dan menambahkan token khusus. Urutan PhoBERT memiliki format berikut:

  • satu urutan: <s> X </s>
  • pasangan sekuens: <s> A </s></s> B </s>

convert_tokens_to_string

< >

( tokens )

Mengonversi urutan token (string) dalam satu string.

create_token_type_ids_from_sequences

< >

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

Parameter

  • token_ids_0 (list[int]) — Daftar ID.
  • token_ids_1 (list[int], opsional) — Daftar ID kedua opsional untuk pasangan sekuens.

Mengembalikan

list[int]

Daftar nol.

Buat mask dari dua urutan yang diteruskan untuk digunakan dalam tugas klasifikasi pasangan urutan. PhoBERT tidak menggunakan id tipe token, oleh karena itu daftar nol dikembalikan.

get_special_tokens_mask

< >

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

Parameter

  • token_ids_0 (list[int]) — Daftar ID.
  • token_ids_1 (list[int], opsional) — Daftar ID kedua opsional untuk pasangan sekuens.
  • already_has_special_tokens (bool, opsional, default False) — Apakah daftar token sudah diformat dengan token khusus untuk model.

Mengembalikan

list[int]

Daftar bilangan bulat dalam rentang [0, 1]: 1 untuk token khusus, 0 untuk token urutan.

Ambil id urutan dari daftar token yang tidak memiliki token khusus yang ditambahkan. Metode ini dipanggil saat menambahkan token khusus menggunakan metode prepare_for_model tokenizer.

Update on GitHub