Compartilhar via


Leitor de sequência de LM do BrainScript

Observação: se você for um recém-chegado, considere usar CNTK Leitor de Formato de Texto. No futuro, o LMSequenceReader será preterido e, eventualmente, não terá suporte.

LMSequenceReader é um leitor que lê a cadeia de caracteres de texto. Geralmente, ele é usado para tarefas de modelagem de idioma. Um exemplo de sua configuração é o seguinte

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>"
    ]
]

O LMSequenceReader tem os seguintes parâmetros:

  • randomize: é ou NoneAuto. Isso especifica o modo de fazer a randomização da sentença de todo o corpus.

  • nbruttsineachrecurrentiter: especifica o limite do número de frases em uma minibatch. O leitor organiza frases de entrada de mesmo comprimento, até o limite especificado, em cada minibatch. Para redes recorrentes, o treinador redefine atividades de camada oculta somente no início das frases. As atividades de camadas ocultas serão levadas para o próximo minibatch se um fim da frase não for atingido. O uso de várias frases em uma minibatch pode acelerar os processos de treinamento.

  • unk: especifica o símbolo para representar símbolos de entrada não vistos. Normalmente, esse símbolo é "". Palavras não vistas serão mapeadas para o símbolo.

  • wordclass: especifica as informações da classe word. Isso é usado para modelagem de linguagem baseada em classe. Um exemplo das informações de classe está abaixo. A primeira coluna é o índice da palavra. A segunda coluna é o número de ocorrências, a terceira coluna é a palavra e a última coluna é a ID da classe da palavra.

    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: o arquivo contém cadeias de caracteres de texto. Veja um exemplo abaixo. Neste exemplo, você também pode observar um subconjunto chamado labelIn.

    pierre N anos de idade vai se juntar ao conselho como um diretor não próximo nov. N sr. é presidente da n.v. o grupo de publicação holandês

  • labelIn: a seção do rótulo de entrada. Ele contém as configurações a seguir

    • beginSequence – o símbolo de início da frase
    • endSequence – o símbolo final da frase
    • labelDim – a dimensão dos rótulos. Isso geralmente significa o tamanho do vocabulário.