Lecteur de séquence lu BrainScript
Remarque : si vous êtes nouveau, envisagez d’utiliser CNTK lecteur de format texte. Dans le futur LUSequenceReader sera déconseillé et finalement pas pris en charge.
LUSequenceReader est similaire à LMSequenceReader. Il est toutefois utilisé pour les tâches de compréhension du langage qui ont des chaînes d’entrée et de sortie différentes. Un exemple de configuration de LUSequenceReader est le suivant :
reader = [
readerType = "LUSequenceReader"
randomize = "none"
wordContext = 0:1:2
nbrUttsInEachRecurrentIter = 10
unk = "<unk>"
wordMap = "$DataDir$\inputmap.txt"
file = "$DataDir$\atis.train.IOB"
labelIn = [
useWordMap = true
beginSequence = "BOS"
endSequence = "EOS"
token = "$DataDir$\input.txt"
]
labels = [
beginSequence = "O"
endSequence = "O"
token = "$DataDir$\output.txt"
]
]
LuSequenceReader a les paramètres suivants :
wordContext
: cela spécifie une fenêtre de contexte. Par exemple,wordContext=0:1:2
spécifie une fenêtre de contexte de 3. Dans cette fenêtre de contexte, elle lit l’entrée à l’heure actuelle, la prochaine fois et l’heure après la prochaine fois. Un autre exemple seraitwordContext=0:-1
. Dans ce cas, LUSequencReader lit une fenêtre de contexte de 2 qui se compose de l’entrée actuelle et de la dernière entrée immédiate.randomize
: c’est soitNone
ouAuto
. Cela spécifie le mode d’exécution de la aléatoire des phrases de l’ensemble du corpus.nbrUttsInEachRecurrentIter
: cela spécifie la limite du nombre de phrases dans un minibatch. Le lecteur organise les phrases d’entrée de même longueur, jusqu’à la limite spécifiée, dans chaque minibatch. Pour les réseaux récurrents, le formateur réinitialise les activités de couche masquées uniquement au début des phrases. Les activités des couches masquées sont transmises au minibatch suivant si une fin de phrase n’est pas atteinte. L’utilisation de plusieurs phrases dans un minibatch peut accélérer les processus d’entraînement.unk
: cela spécifie le symbole pour représenter les symboles d’entrée invisibles. Généralement, ce symbole est « ».wordMap
: cela spécifie un fichier qui mappe les entrées à d’autres entrées. Cela est utile si l’utilisateur souhaite mapper certaines entrées aux symboles inconnus. Voici un exemple de fichier de mappage de mots :buy buy
trans <unk>
file
: le fichier contient l’entrée et ses étiquettes. La dernière colonne est l’étiquette et les autres colonnes contiennent des entrées. Voici un exemple de fichier d’entraînement.BOS O
flight O
from O
charlotte B-fromloc.city_name
to O
las B-toloc.city_name
vegas I-toloc.city_name
EOS O
Dans l’exemple ci-dessus, vous pouvez également remarquer deux sous-blocs nommés labelIn
et labels
.
labelIn
: section pour l’étiquette d’entrée. Il contient les configurations suivantesuseWordMap
–true
oufalse
, spécifie si l’utilisation de la carte de mots pour mapper les mots d’entrée à d’autres mots d’entrée.beginSequence
– symbole de début de phraseendSequence
– symbole de fin de phrasetoken
– le fichier de jeton contient une liste de mots d’entrée. Leurs ordres ne sont pas importants.
labels
: section pour l’étiquette de sortie.token
– le fichier de jeton contient une liste d’étiquettes de sortie. Leur ordre n’est pas important tant que les jetons sont uniques.