ไลบรารี Chars2vec อาจมีประโยชน์มากหากคุณจัดการกับข้อความที่มีตัวย่อคำสแลงการพิมพ์ผิดหรือชุดข้อมูลข้อความอื่น ๆ รูปแบบภาษา Chars2vec ขึ้นอยู่กับการแสดงสัญลักษณ์ของคำ - โมเดลแมปแต่ละคำกับเวกเตอร์ที่มีความยาวคงที่ การเป็นตัวแทนของเวกเตอร์เหล่านี้ได้มาจากเครือข่ายประสาทที่กำหนดเองในขณะที่หลังกำลังได้รับการฝึกฝนเกี่ยวกับคู่ของคำที่คล้ายกันและไม่คล้ายกัน ตาข่ายประสาทที่กำหนดเองนี้รวมถึง LSTM, การอ่านลำดับของตัวละครในคำเป็นส่วนหนึ่ง โมเดลแผนที่คำที่เขียนคล้ายกับเวกเตอร์ใกล้เคียง วิธีการนี้ช่วยให้การสร้างการฝังในพื้นที่เวกเตอร์สำหรับลำดับของอักขระใด ๆ โมเดล Chars2vec ไม่ได้เก็บพจนานุกรมใด ๆ ของการฝังตัว แต่สร้างเวกเตอร์ฝังตัวในสถานที่โดยใช้แบบจำลองก่อนหน้า
มีรูปแบบการปรับแต่งของมิติ 50, 100, 150, 200 และ 300 สำหรับภาษาอังกฤษ ห้องสมุดให้ API ผู้ใช้ที่สะดวกในการฝึกอบรมแบบจำลองสำหรับชุดอักขระโดยพลการ อ่านรายละเอียดเพิ่มเติมเกี่ยวกับสถาปัตยกรรมของ Chars2vec: รูปแบบภาษาที่ใช้ตัวละครสำหรับการจัดการข้อความในโลกแห่งความเป็นจริงด้วยข้อผิดพลาดในการสะกดคำและสแลงของมนุษย์ใน Hacker Noon
>> 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 เป็นรายการของตัวอักษรสำหรับรุ่น อักขระที่ไม่ได้อยู่ในรายการ 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