Perpustakaan Chars2vec bisa sangat berguna jika Anda berurusan dengan teks yang berisi singkatan, bahasa gaul, kesalahan ketik, atau beberapa dataset tekstual spesifik lainnya. Model bahasa Chars2vec didasarkan pada representasi simbolik dari kata -kata - model memetakan setiap kata ke vektor dengan panjang tetap. Representasi vektor ini diperoleh dengan jaringan saraf khusus saat yang terakhir sedang dilatih pada pasangan dengan kata-kata yang sama dan tidak mirip. Jaring saraf kustom ini mencakup LSTM, urutan membaca karakter dalam kata -kata, sebagai bagiannya. Model memetakan kata -kata yang ditulis dengan cara yang sama untuk vektor proksimal. Pendekatan ini memungkinkan pembuatan embedding dalam ruang vektor untuk setiap urutan karakter. Model Chars2VEC tidak menyimpan kamus embeddings, tetapi menghasilkan vektor embedding di tempat menggunakan model pretrained.
Ada model dimensi pretrained 50, 100, 150, 200 dan 300 untuk bahasa Inggris. Perpustakaan menyediakan API pengguna yang nyaman untuk melatih model untuk serangkaian karakter yang sewenang -wenang. Baca lebih detail tentang arsitektur Chars2vec: model bahasa berbasis karakter untuk menangani teks dunia nyata dengan kesalahan ejaan dan bahasa gaul manusia di Hacker Noon.
>> python setup.py install >> pip install chars2vec Fungsi chars2vec.load_model(str path) menginisialisasi model dari direktori dan mengembalikan objek chars2vec.Chars2Vec . Ada 5 model bahasa Inggris pretrained dengan dimensi: 50, 100, 150, 200 dan 300. Untuk memuat model pretrain ini:
import chars2vec
# Load Inutition Engineering pretrained model
# Models names: 'eng_50', 'eng_100', 'eng_150', 'eng_200', 'eng_300'
c2v_model = chars2vec . load_model ( 'eng_50' ) Metode chars2vec.Chars2Vec.vectorize_words(words) mengembalikan numpy.ndarray dari bentuk (n_words, dim) dengan embeddings kata.
words = [ 'list' , 'of' , 'words' ]
# Create word embeddings
word_embeddings = c2v_model . vectorize_words ( words ) Fungsi chars2vec.train_model(int emb_dim, X_train, y_train, model_chars) membuat dan melatih model chars2vec baru dan mengembalikan objek chars2vec.Chars2Vec .
Parameter emb_dim adalah dimensi model.
Parameter X_train adalah daftar atau numpy.ndarray dari pasangan kata. Parameter y_train adalah daftar atau numpy.ndarray dari nilai target yang menggambarkan kedekatan kata.
Set pelatihan ( X_train , y_train ) terdiri dari pasangan kata -kata "serupa" dan "tidak serupa"; Sepasang kata -kata "serupa" diberi label dengan nilai target 0, dan sepasang "tidak serupa" dengan 1.
Parameter model_chars adalah daftar karakter untuk model. Karakter yang tidak ada dalam daftar model_chars akan diabaikan oleh model.
Baca lebih lanjut tentang pelatihan Chars2vec dan pembuatan dataset pelatihan dalam artikel tentang Chars2Vec.
Fungsi chars2vec.save_model(c2v_model, str path_to_model) menyimpan model terlatih ke direktori.
import chars2vec
dim = 50
path_to_model = 'path/to/model/directory'
X_train = [( 'mecbanizing' , 'mechanizing' ), # similar words, target is equal 0
( 'dicovery' , 'dis7overy' ), # similar words, target is equal 0
( 'prot$oplasmatic' , 'prtoplasmatic' ), # similar words, target is equal 0
( 'copulateng' , 'lzateful' ), # not similar words, target is equal 1
( 'estry' , 'evadin6' ), # not similar words, target is equal 1
( 'cirrfosis' , 'afear' ) # not similar words, target is equal 1
]
y_train = [ 0 , 0 , 0 , 1 , 1 , 1 ]
model_chars = [ '!' , '"' , '#' , '$' , '%' , '&' , "'" , '(' , ')' , '*' , '+' , ',' , '-' , '.' ,
'/' , '0' , '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , ':' , ';' , '<' ,
'=' , '>' , '?' , '@' , '_' , 'a' , 'b' , 'c' , 'd' , 'e' , 'f' , 'g' , 'h' , 'i' ,
'j' , 'k' , 'l' , 'm' , 'n' , 'o' , 'p' , 'q' , 'r' , 's' , 't' , 'u' , 'v' , 'w' ,
'x' , 'y' , 'z' ]
# Create and train chars2vec model using given training data
my_c2v_model = chars2vec . train_model ( dim , X_train , y_train , model_chars )
# Save your pretrained model
chars2vec . save_model ( my_c2v_model , path_to_model )
# Load your pretrained model
c2v_model = chars2vec . load_model ( path_to_model ) Contoh kode lengkap untuk model penggunaan dan pelatihan lihat di file example_usage.py dan example_training.py .