共用方式為


BrainScript LU 序列讀取器

注意:如果您是新使用者,請考慮使用CNTK文字格式讀取器。 在未來的 LUSequenceReader 將會被取代,最終不支援。

LUSequenceReader 類似于 LMSequenceReader。 不過,它用於具有不同輸入和輸出字串的語言理解工作。 設定 LUSequenceReader 的範例如下

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 具有下列參數:

  • wordContext:這會指定內容視窗。 例如, wordContext=0:1:2 指定 3 的內容視窗。 在此內容視窗中,它會讀取目前時間、下一次和下一次之後的輸入。 另一個範例是 wordContext=0:-1 。 在這種情況下,LUSequencReader 會讀取包含目前輸入和立即最後一個輸入的內容視窗 2。

  • randomize:它是 NoneAuto 。 這會指定是否執行整個主體的句子隨機化模式。

  • nbrUttsInEachRecurrentIter:這會指定迷你批次中句子數目的限制。 讀取器會將長度相同的輸入句子排列到每個迷你批次中,上限為指定的限制。 針對迴圈網路,定型器只會在句子開頭重設隱藏層活動。 如果未達到句子結尾,隱藏層的活動會傳遞給下一個迷你批次。 在迷你批次中使用多個句子可以加速定型程式。

  • unk:這會指定要表示未看到輸入符號的符號。 通常,此符號為 「」。

  • wordMap:這會指定將輸入對應至其他輸入的檔案。 如果使用者想要將某些輸入對應至未知的符號,這會很有用。 文字對應檔案的範例如下:

    buy buy

    trans <unk>

  • file:檔案包含輸入及其標籤。 最後一個資料行是標籤,而其他資料行則包含輸入。 訓練檔案的範例如下。

    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

在上述範例中,您也可以注意到兩個名為 labelInlabels 的子區塊。

  • labelIn:輸入標籤的 區段。 其中包含下列設定

    • useWordMap - truefalse ,指定是否使用文字對應將輸入字對應至其他輸入字。
    • beginSequence – 句子開頭符號
    • endSequence – 句子結束符號
    • token – Token 檔案包含輸入字的清單。 其訂單並不重要。
  • labels:輸出標籤的 區段。

    • token – 權杖檔案包含輸出標籤的清單。 只要權杖是唯一的,其順序就不重要。