Lezen in het Engels

Delen via


BrainScript LU Sequence Reader

Opmerking: als u nieuwkomer bent, kunt u overwegen om CNTK Tekstindelingslezer te gebruiken. In de toekomst wordt LUSequenceReader afgeschaft en uiteindelijk niet ondersteund.

LUSequenceReader is vergelijkbaar met LMSequenceReader. Het wordt echter gebruikt voor taalkennistaken die verschillende invoer- en uitvoertekenreeksen hebben. Een voorbeeld van het instellen van LUSequenceReader is als volgt

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 heeft de volgende parameters:

  • wordContext: hiermee wordt een contextvenster opgegeven. Hiermee geeft u bijvoorbeeld wordContext=0:1:2 een contextvenster van 3 op. In dit contextvenster wordt invoer op een huidig tijdstip gelezen, de volgende keer en de tijd na de volgende keer. Een ander voorbeeld zou zijn wordContext=0:-1. In dat geval leest LUSequencReader een contextvenster van 2 dat bestaat uit de huidige invoer en de onmiddellijke laatste invoer.

  • randomize: het is None ofwel of Auto. Hiermee geeft u de modus aan van het uitvoeren van zinsrandomisatie van het hele corpus.

  • nbrUttsInEachRecurrentIter: hiermee wordt de limiet aangegeven van het aantal zinnen in een minibatch. De lezer rangschikt invoerzinnen met dezelfde lengte, tot de opgegeven limiet, in elke minibatch. Voor terugkerende netwerken herstelt trainer verborgen laagactiviteiten alleen aan het begin van zinnen. Activiteiten van verborgen lagen worden overgedragen naar de volgende minibatch als een einde van de zin niet wordt bereikt. Het gebruik van meerdere zinnen in een minibatch kan trainingsprocessen versnellen.

  • unk: hiermee geeft u het symbool aan dat ongeziene invoersymbolen vertegenwoordigt. Meestal is dit symbool ''.

  • wordMap: hiermee wordt een bestand opgegeven waarmee invoer wordt toegewezen aan andere invoerwaarden. Dit is handig als de gebruiker bepaalde invoergegevens wil toewijzen aan onbekende symbolen. Een voorbeeld van het word-toewijzingsbestand is als volgt:

    buy buy

    trans <unk>

  • file: het bestand bevat invoer en de bijbehorende labels. De laatste kolom is het label en de andere kolommen bevatten invoer. Hieronder ziet u een voorbeeld van een trainingsbestand.

    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

In het bovenstaande voorbeeld ziet u ook twee subblokken met de naam labelIn en labels.

  • labelIn: de sectie voor invoerlabel. Het bevat de volgende instellingen

    • useWordMaptrue of false, geeft aan of het gebruik van word-toewijzing om invoerwoorden toe te wijzen aan andere invoerwoorden.
    • beginSequence – het symbool voor het begin van de zin
    • endSequence – het eindsymbool voor de zin
    • token – tokenbestand bevat een lijst met invoerwoorden. Hun orders zijn niet belangrijk.
  • labels: de sectie voor het uitvoerlabel.

    • token – tokenbestand bevat een lijst met uitvoerlabels. Hun volgorde is niet belangrijk zolang de tokens uniek zijn.