你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

BrainScript LM 序列读取器

注意:如果你是新用户,请考虑使用CNTK文本格式阅读器。 将来的 LMSequenceReader 将被弃用,最终不受支持。

LMSequenceReader 是读取文本字符串的读取器。 它主要用于语言建模任务。 其设置的示例如下所示

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 具有以下参数:

  • randomize:它是NoneAuto或。 这指定是否执行整个语料库的句子随机化模式。

  • nbruttsineachrecurrentiter:这指定小分量中句子数的限制。 读取器将相同长度的输入句子(最多指定限制)排列到每个迷你包中。 对于循环网络,训练器仅在句子开始时重置隐藏层活动。 如果未达到句子结尾,则隐藏层的活动将传递到下一个迷你包。 在微型批处理中使用多个句子可以加快训练过程。

  • unk:这将指定要表示未见的输入符号的符号。 通常,此符号为“”。 看不见的单词将映射到符号。

  • wordclass:指定单词类信息。 这用于基于类的语言建模。 下面是类信息的示例。 第一列是单词索引。 第二列是匹配项数,第三列是单词,最后一列是单词的类 ID。

    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:该文件包含文本字符串。 下面是一个示例。 In this example you can also notice one sub-blocks named labelIn.

    皮埃尔·N岁将加入董事会,成为一名非执行董事。 N 先生是荷兰出版集团主席

  • labelIn:输入标签的节。 它包含以下设置

    • beginSequence – 句子开头符号
    • endSequence – 句子结束符号
    • labelDim – 标签的维度。 这通常意味着词汇大小。