La bibliothèque CHARS2VEC pourrait être très utile si vous traitez les textes contenant des abréviations, de l'argot, des fautes de frappe ou d'un autre ensemble de données textuel spécifique. Le modèle de langue CHARS2VEC est basé sur la représentation symbolique des mots - le modèle mappe chaque mot à un vecteur d'une longueur fixe. Ces représentations vectorielles sont obtenues avec un réseau de neurones personnalisés tandis que ce dernier est formé sur des paires de mots similaires et non similaires. Ce net de neural personnalisé comprend LSTM, des séquences de lecture de personnages en mots, dans le cadre de sa partie. Le modèle mappe des mots écrits de manière similaire à des vecteurs proximaux. Cette approche permet la création d'une incorporation dans l'espace vectoriel pour toute séquence de caractères. Les modèles CHARS2VEC ne conservent aucun dictionnaire d'incorporation, mais génère des vecteurs d'incorporation en place en utilisant un modèle pré-élaboré.
Il existe des modèles pré-entraînés de dimensions 50, 100, 150, 200 et 300 pour la langue anglaise. La bibliothèque fournit une API utilisateur pratique pour former un modèle pour un ensemble arbitraire de caractères. Lisez plus de détails sur l'architecture de Chars2Vec: Modèle de langue basé sur des caractères pour gérer les textes du monde réel avec des erreurs d'orthographe et l'argot humain dans Hacker Noon.
>> python setup.py install >> pip install chars2vec Fonction chars2vec.load_model(str path) Initialise le modèle du répertoire et renvoie l'objet chars2vec.Chars2Vec . Il y a 5 modèles anglais pré-entraînés avec des dimensions: 50, 100, 150, 200 et 300. Pour charger ces modèles pré-entraînés:
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' ) Méthode chars2vec.Chars2Vec.vectorize_words(words) Renvoie numpy.ndarray OF Shape (n_words, dim) avec des incorporations de mots.
words = [ 'list' , 'of' , 'words' ]
# Create word embeddings
word_embeddings = c2v_model . vectorize_words ( words ) Fonction chars2vec.train_model(int emb_dim, X_train, y_train, model_chars) Crée et forme un nouveau modèle Chars2vec et renvoie l'objet chars2vec.Chars2Vec .
Le paramètre emb_dim est une dimension du modèle.
Le paramètre X_train est une liste ou Numpy.ndarray de paires de mots. Le paramètre y_train est une liste ou Numpy.NDARRAY des valeurs cibles qui décrivent la proximité des mots.
L'ensemble de formation ( X_train , y_train ) se compose de paires de mots "similaires" et "non similaires"; Une paire de mots "similaires" est étiqueté avec 0 valeur cible et une paire de "pas similaire" avec 1.
Paramètre model_chars est une liste de caractères pour le modèle. Les caractères qui ne sont pas dans la liste model_chars seront ignorés par le modèle.
En savoir plus sur la formation Chars2Vec et la génération de l'ensemble de données de formation dans l'article sur Chars2Vec.
Fonction chars2vec.save_model(c2v_model, str path_to_model) Enregistre le modèle formé au répertoire.
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 ) Exemples de code complets pour les modèles d'utilisation et de formation Voir dans des fichiers example_usage.py et example_training.py .