Il s'agit d'une boîte à outils sur les modèles de langage de réseaux neuronaux (NNLMS) qui prend en charge le réseau neuronal (FNN), le réseau neuronal récurrent (RNN), la mémoire à court terme à court terme (LSTM) RNN, le RNN bidirectionnel et le LSTM bidirectionnel. Les modèles de langage de réseau neuronal avec des couches cachées multiples peuvent également être construits avec cette boîte à outils, et l'architecture des couches cachées peut être différente. Une méthode basée sur la classe est adoptée dans cette boîte à outils pour accélérer le train et l'exécution du modèle de langage de réseau neuronal. Cette boîte à outils a été réécrite à l'aide de C ++ qui peut être trouvée ici.
Les paramètres de configuration pour NNLM sont les suivants:
| Nom | Description | Taper | Requis | Défaut |
|---|---|---|---|---|
| Ac_fun 1 | Fonction d'activation pour la couche cachée (s) | Str | tanh | |
| ALPHA | Taux d'apprentissage | Flotter | 0,01 | |
| Alpha_cut | Taux d'apprentissage de coupure par ce ratio lorsque l'amélioration est inférieure au minimum | Flotter | 0,75 | |
| BÊTA | Paramètres de régularisation | Flotter | 1E-6 | |
| En_bias | Activer les termes de biais | Bool | FAUX | |
| En_direct | Activer les connexions directes | Bool | FAUX | |
| File_type | Le type de fichiers d'entrée, prend en charge le binaire et le texte, «B» pour le binaire et le «t» pour le texte | Str | T | |
| Gate_fun | Fonction d'activation pour les portes dans LSTM RNN | Str | Sigmoïde | |
| Gram_Order | Ordre de N-gram pour FNN | Int | 5 | |
| Hidden_layers 2 | Nom et taille de la couche cachée (s) | Liste | √ | |
| Input_unit 3 | Unité d'entrée, mot de support ou caractère, «w» pour le mot et «c» pour le caractère | Str | W | |
| Itérations 4 | Nombre maximum d'itération | Int | 50 | |
| Min_improve 4 | Taux minimun d'amélioration de l'entropie sur les données de validation | Flotter | 1,003 | |
| Model_name | Spécifiez un nom pour le modèle de langue | Str | - | |
| Output_path | Le chemin d'accès sous lequel les fichiers de sortie seront enregistrés | Str | √ | - |
| Random_seed | Graine pour générateur aléatoire | Int | 1 | |
| Phrase_end | Marquez la fin d'une phrase | Str | < S> | |
| Phrase_start | Marquez le début d'une phrase | Str | ||
| Test_files | Le chemin d'accès sous lequel les fichiers de test sont stockés | Str | √ | - |
| Train_files | Le chemin sous lequel les fichiers de formation sont stockés | Str | √ | - |
| Inconnu_word | Marque pour un mot inconnu | Str | Oov | |
| Valide_files | Le chemin d'accès sous lequel les fichiers de validation sont stockés | Str | √ | - |
| Vector_dim | Dimension du vecteur de fonctionnalité pour les mots ou les caractères | Int | 30 | |
| Vocab_size 5 | La taille du vocabulaire appris des données de formation | Int | 10000 |
Remarques: 1. La fonction d'activation de la ou des couche (s) cachée pourrait être celle de tanh , sigmoid , hard_sigmoid , relu et gaussian .
2. La couche cachée peut être un ou plusieurs de FNN , RNN , LSTM , BiRNN et BiLSTM , et ils doivent être donnés comme une liste de tuples contenant le nom de chaque couche et sa taille, comme [('rnn', 30), ('fnn', 20)]. Juste un tuple est OK lorsqu'il n'y a qu'une seule couche cachée. La taille des couches cachées devrait coïncider entre elles.
3. Pour les langues, comme l'anglais, le français, dont les mots sont séparés par un caractère blanc, comme l'espace blanc, l' INPUT_UNITE peut être réglé sur «W» ou «C». D'autres langues, comme le chinois, uniquement INPUT_UNITE = 'C' fonctionnent.
4. La formation se terminera lorsque vous atteignez le nombre maximum d'itération ou l'amélioration de l'entropie des données de validation est inférieure au taux minimum deux fois.
5. Si le nombre de mots ou de caractères tirés de la formation des données dépasse la taille spécifiée du vocabulaire, les mots ou les caractères à basse fréquence ne seront pas ajoutés dans le vocabulaire. À l'opposé, la taille du vocabulaire sera réinitialisée au nombre de mots savants.
Les exemples sont donnés dans cette boîte à outils. Plus de détails sur les modèles Languagel construits dans cette boîte à outils, veuillez vous référer à mes messages.
Le module est disponible en open source en vertu des termes de la licence MIT.