Ini adalah pustaka model yang saya miliki sebagian disesuaikan dan dimodifikasi berdasarkan perpustakaan pytorch_pretred_bert Meelfy.
Tujuan asli dari proyek ini adalah untuk memenuhi kenyamanan eksperimen pribadi, jadi itu tidak akan sering diperbarui.
Memasang:
pip install torchKbertUntuk contoh penggunaan yang khas, silakan merujuk ke Direktori Contoh Resmi.
Jika Anda ingin menggunakan pengkodean posisi dekomposisi hierarkis sehingga Bert dapat memproses teks yang panjang, cukup lulus parameter is_hierarchical=True dalam model . Contohnya adalah sebagai berikut:
model = BertModel(config)
encoder_outputs, _ = model(input_ids, token_ids, input_mask, is_hierarchical=True)
Jika Anda ingin menggunakan Chinese Wobert berdasarkan granularitas kata, cukup lewati parameter baru saat membangun objek BertTokenizer :
from torchKbert.tokenization import BertTokenizer
tokenizer = BertTokenizer(
vocab_file=vocab_path,
pre_tokenizer=lambda s: jieba.cut(s, HMM=False))
Saat tidak masuk, standarnya None . Saat berpartisipasi kata -kata, standarnya akan digunakan sebagai kata -kata. Jika Anda ingin mengembalikan penggunaan unit kata, cukup lulus parameter baru pre_tokenize=False ketika tokenize :
tokenzier.tokenize(text, pre_tokenize=False)
Saya telah menulis pytorch_pretrain_bert di Meelfy sebelumnya, dan sangat nyaman untuk memanggil model pretrained atau melakukan penyetelan. Kemudian, karena kebutuhan pribadi, saya ingin menulis ulang versi yang mendukung pengkodean posisi dekomposisi hierarkis.
Bert4keras Sushen telah menerapkan fungsi seperti itu. Tetapi karena saya terbiasa menggunakan Pytorch, saya sudah lama tidak menggunakan keras, jadi saya berencana untuk menulis ulang sendiri.