يمكن أن تكون مكتبة chars2vec مفيدة للغاية إذا كنت تتعامل مع النصوص التي تحتوي على اختصارات أو عامية أو مختلط أو مجموعة بيانات نصية محددة أخرى. يعتمد نموذج لغة chars2vec على التمثيل الرمزي للكلمات - يقوم النموذج بتعيين كل كلمة إلى متجه بطول ثابت. يتم الحصول على تمثيلات المتجهات هذه مع شبكة عصبية مخصصة بينما يتم تدريب الأخير على أزواج من الكلمات المماثلة وغير المتماثلة. تتضمن هذه الشبكة العصبية المخصصة LSTM ، وقراءة تسلسل الشخصيات بالكلمات ، كجزءها. يقوم النموذج بتعيين كلمات مكتوبة بالمثل إلى المتجهات القريبة. يتيح هذا النهج إنشاء تضمين في مساحة المتجه لأي تسلسل من الأحرف. لا تحتفظ نماذج CHARS2VEC بأي قاموس التضمينات ، ولكنه يولد ناقلات تضمين في مكانها باستخدام نموذج قبل المُحدث.
هناك نماذج مسبقة للأبعاد 50 و 100 و 150 و 200 و 300 للغة الإنجليزية. توفر المكتبة واجهة برمجة تطبيقات مستخدم مريحة لتدريب نموذج لمجموعة من الأحرف التعسفية. اقرأ المزيد من التفاصيل حول بنية chars2vec: نموذج اللغة القائم على الشخصيات للتعامل مع نصوص العالم الحقيقي مع أخطاء الإملاء واللغات البشرية في الظهر.
>> python setup.py install >> pip install chars2vec دالة chars2vec.load_model(str path) تهيئة النموذج من الدليل وإرجاع كائن chars2vec.Chars2Vec . هناك 5 نموذج إنجليزي مسبق مع أبعاد: 50 و 100 و 150 و 200 و 300. لتحميل هذه النماذج المسبقة:
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' ) طريقة chars2vec.Chars2Vec.vectorize_words(words) إرجاع numpy.ndarray من الشكل (n_words, dim) مع تضمينات الكلمات.
words = [ 'list' , 'of' , 'words' ]
# Create word embeddings
word_embeddings = c2v_model . vectorize_words ( words ) وظيفة chars2vec.train_model(int emb_dim, X_train, y_train, model_chars) تنشئ وتدرب نموذج chars2vec جديد ويعيد كائن chars2vec.Chars2Vec .
المعلمة emb_dim هي بعد النموذج.
المعلمة X_train هي قائمة أو numpy.ndarray من أزواج الكلمات. المعلمة y_train هي قائمة أو numpy.ndarray من القيم المستهدفة التي تصف قرب الكلمات.
مجموعة التدريب ( X_train ، y_train ) تتكون من أزواج من كلمات "مماثلة" و "غير متشابهة" ؛ يتم تصنيف زوج من الكلمات "المماثلة" مع 0 قيمة مستهدفة ، وزوج من "غير متشابه" مع 1.
المعلمة model_chars هي قائمة من chars للنموذج. سيتم تجاهل الأحرف غير الموجودة في قائمة model_chars بواسطة النموذج.
اقرأ المزيد عن تدريب chars2vec وتوليد مجموعة بيانات التدريب في مقالة حول chars2vec.
وظيفة chars2vec.save_model(c2v_model, str path_to_model) يحفظ النموذج المدرب على الدليل.
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 ) أمثلة رمز كامل لنماذج الاستخدام والتدريب انظر في ملفات example_usage.py و example_training.py .