Die CHARS2VEC -Bibliothek könnte sehr nützlich sein, wenn Sie sich mit den Texten mit Abkürzungen, Slang, Tippfehler oder einem anderen spezifischen Textdatensatz befassen. CHARS2VEC -Sprachmodell basiert auf der symbolischen Darstellung von Wörtern - das Modell ordnet jedes Wort einem Vektor einer festen Länge zu. Diese Vektordarstellungen werden mit einem benutzerdefinierten neuronalen Netzwerk erhalten, während letztere an Paaren ähnlicher und nicht ähnlicher Wörter geschult wird. Dieses benutzerdefinierte neuronale Netz enthält LSTM, das Sequenzen von Zeichen in Wörtern als Teil des Teils liest. Das Modell ist ähnlich geschriebene Wörter zu proximalen Vektoren. Dieser Ansatz ermöglicht die Erstellung einer Einbettung im Vektorraum für jede Sequenz von Zeichen. CHARS2VEC -Modelle behalten kein Wörterbuch über Einbettungen, sondern erzeugt die Einbettung von Vektoren mit vorbereiteten Modell.
Für die englische Sprache gibt es vorbereitete Modelle von Dimensionen 50, 100, 150, 200 und 300. Die Bibliothek bietet eine bequeme Benutzer -API, um ein Modell für eine willkürliche Reihe von Zeichen zu trainieren. Weitere Informationen zur Architektur von CHARS2VEC: Charakter-basiertes Sprachmodell zum Umgang mit realen Welttexten mit Rechtschreibfehlern und menschlichem Slang bei Hacker Noon.
>> python setup.py install >> pip install chars2vec Funktion chars2vec.load_model(str path) initialisiert das Modell aus dem Verzeichnis und gibt chars2vec.Chars2Vec -Objekt zurück. Es gibt 5 vorbereitetes englisches Modell mit Abmessungen: 50, 100, 150, 200 und 300. Um diese vorbereiteten Modelle zu laden:
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' ) Methode chars2vec.Chars2Vec.vectorize_words(words) gibt numpy.ndarray von Form (n_words, dim) mit Worteinbettdings zurück.
words = [ 'list' , 'of' , 'words' ]
# Create word embeddings
word_embeddings = c2v_model . vectorize_words ( words ) Funktion chars2vec.train_model(int emb_dim, X_train, y_train, model_chars) erstellt und trainiert neues chars2VEC -Modell und gibt chars2vec.Chars2Vec -Objekte zurück.
Parameter emb_dim ist eine Dimension des Modells.
Parameter X_train ist eine Liste oder numpy.nDarray von Wortpaaren. Parameter y_train ist eine Liste oder eine Numpy.nDarray von Zielwerten, die die Nähe der Wörter beschreiben.
Trainingset ( X_train , y_train ) besteht aus Paaren von "ähnlichen" und "nicht ähnlichen" Wörtern; Ein Paar "ähnlicher" Wörter wird mit 0 Zielwert und ein Paar von "nicht ähnlich" mit 1 gekennzeichnet.
Parameter model_chars ist eine Liste von Zeichen für das Modell. Zeichen, die nicht in der Liste model_chars enthalten sind, werden vom Modell ignoriert.
Lesen Sie mehr über CHARS2VEC -Schulungen und Generation von Schulungsdatensatz im Artikel über CHARS2VEC.
Funktion chars2vec.save_model(c2v_model, str path_to_model) speichert das trainierte Modell im Verzeichnis.
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 ) Vollständige Codebeispiele für Nutzungs- und Trainingsmodelle Siehe in example_usage.py und example_training.py -Dateien.