BrainScript LU-sekvensläsare
Obs! Om du är nybörjare bör du överväga att använda CNTK textformatläsare. I framtiden kommer LUSequenceReader att bli inaktuell och så småningom inte stödjas.
LUSequenceReader liknar LMSequenceReader. Den används dock för språktolkningsuppgifter som har indata- och utdatasträngar som skiljer sig åt. Ett exempel på hur du konfigurerar LUSequenceReader är följande
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 har följande parametrar:
wordContext
: Detta anger ett kontextfönster. Till exempelwordContext=0:1:2
anger ett kontextfönster på 3. I det här kontextfönstret läser den indata vid en aktuell tidpunkt, nästa gång och tiden efter nästa gång. Ett annat exempel ärwordContext=0:-1
. I sådana fall läser LUSequencReader ett kontextfönster på 2 som består av de aktuella indata och de omedelbara sista indata.randomize
: det är antingenNone
ellerAuto
. Detta anger läget för om menings randomisering av hela corpus ska utföras.nbrUttsInEachRecurrentIter
: Detta anger gränsen för antalet meningar i en minibatch. Läsaren ordnar indatameningar med samma längd, upp till den angivna gränsen, i varje minibatch. För återkommande nätverk återställer tränaren endast dolda lageraktiviteter i början av meningar. Aktiviteter i dolda lager överförs till nästa minibatch om en meningsslut inte nås. Att använda flera meningar i en minibatch kan påskynda träningsprocesserna.unk
: Detta anger den symbol som ska representera osedda indatasymboler. Den här symbolen är vanligtvis "".wordMap
: Detta anger en fil som mappar indata till andra indata. Detta är användbart om användaren vill mappa vissa indata till okända symboler. Ett exempel på ordmappningsfilen är följande:buy buy
trans <unk>
file
: filen innehåller indata och dess etiketter. Den sista kolumnen är etiketten och de andra kolumnerna innehåller indata. Nedan visas ett exempel på en träningsfil.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
I exemplet ovan kan du också se två underblock med namnet labelIn
och labels
.
labelIn
: avsnittet för indataetikett. Den innehåller följande konfigurationeruseWordMap
–true
ellerfalse
, anger om du använder ordkarta för att mappa indataord till andra indataord.beginSequence
– meningsstartsymbolenendSequence
– meningsslutsymbolentoken
– tokenfilen innehåller en lista med indataord. Deras order är inte viktiga.
labels
: avsnittet för utdataetiketten.token
– tokenfilen innehåller en lista över utdataetiketter. Deras ordning är inte viktig så länge token är unika.