Partilhar via


Leitor de sequência de LM BrainScript

Nota: se for um recém-chegado, considere utilizar CNTK Leitor de Formato de Texto. No futuro, o LMSequenceReader será depreciado e eventualmente não suportado.

LMSequenceReader é um leitor que lê a cadeia de texto. É usado principalmente para tarefas de modelação de linguagem. Um exemplo da 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. Isto especifica o modo de fazer a aleatoriedade da frase de todo o corpus.

  • nbruttsineachrecurrentiter: isto especifica o limite do número de frases numa minibatch. O leitor organiza frases de entrada de mesmo comprimento, até ao limite especificado, em cada minibatch. Para redes recorrentes, o treinador repõe as atividades de camadas ocultas apenas no início das frases. As atividades das camadas escondidas são levadas para a próxima minibatch se não for atingido um fim de frase. Usar várias frases numa minibatch pode acelerar os processos de treino.

  • unk: isto especifica o símbolo para representar símbolos de entrada invisíveis. Normalmente, este símbolo é "". Palavras invisíveis serão mapeadas para o símbolo.

  • wordclass: isto especifica a informação de classe de palavra. Isto é usado para modelação de linguagem baseada em classe. Um exemplo da informação da classe está abaixo. A primeira coluna é o índice de palavras. A segunda coluna é o número de ocorrências, a terceira coluna é a palavra, e a última coluna é o id de 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 ficheiro contém cadeias de texto. Um exemplo está abaixo. Neste exemplo, também pode notar um sub-blocos nomeado labelIn.

    Pierre N anos de idade vai se juntar ao conselho como um nov diretor não executivo. N mr. é presidente da N.V. o grupo editorial holandês

  • labelIn: a secção para a etiqueta de entrada. Contém as seguintes configurações

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