Sdílet prostřednictvím


Čtečka sekvence LM v BrainScriptu

Poznámka: Pokud jste nováček, zvažte použití CNTK čtečky formátu textu. V budoucnu bude LMSequenceReader zastaralé a nakonec se nepodporuje.

LMSequenceReader je čtenář, který čte textový řetězec. Nejčastěji se používá pro úlohy modelování jazyka. Příklad nastavení je následující:

reader = [
    readerType = "LMSequenceReader"
    randomize = false
    nbruttineachrecurrentiter = 10
    unk = "<unk>"
    wordclass = "$DataDir$\wordclass.txt"
    file = "$DataDir$\penntreebank.train.txt"
    labelIn = [
        labelDim = 10000
        beginSequence = "</s>"
        endSequence = "</s>"
    ]
]

LMSequenceReader má následující parametry:

  • randomize: je to buď None nebo Auto. Určuje režim, zda se provádí náhodnost vět celého korpusu.

  • nbruttsineachrecurrentiter: Určuje limit počtu vět v minibatchu. Čtenář uspořádá vstupní věty stejné délky až do zadaného limitu do každého minibatchu. U opakujících se sítí trenér resetuje skryté aktivity vrstvy pouze na začátku vět. Aktivity skrytých vrstev se přenesou na další minibatch, pokud není dosaženo konce věty. Použití více vět v minibatchu může urychlit trénovací procesy.

  • unk: Určuje symbol, který bude představovat neviditelné vstupní symboly. Obvykle je tento symbol "". Nezoznaná slova se namapují na symbol.

  • wordclass: Určuje informace o třídě slova. Používá se pro modelování jazyka založeného na třídách. Příklad informací o třídě je níže. První sloupec je index slova. Druhý sloupec je počet výskytů, třetí sloupec je slovo a poslední sloupec je ID třídy slova.

    0 42068 </s> 0

    1 50770 the 0

    2 45020 <unk> 0

    3 32481 N 0

    4 24400 of 0

    5 23638 to 0

    6 21196 a 0

    7 18000 in 1

    8 17474 and 1

  • file: soubor obsahuje textové řetězce. Příklad je níže. V tomto příkladu si také můžete všimnout jednoho dílčího bloku s názvem labelIn.

    Pierre N let se připojí k radě jako nevýkonný ředitel nov. N pan je předseda n.v. holandské skupiny publikování

  • labelIn: oddíl pro vstupní popisek. Obsahuje následující nastavení.

    • beginSequence – symbol začátku věty
    • endSequence – symbol konce věty
    • labelDim – rozměr štítků. To obvykle znamená velikost slovníku.