"SubwordTokens" (ネットデコーダ)

NetDecoder[NetEncoder[{"SubwordTokens", }]]

"SubwordTokens"NetEncoderの指定に従って,連続する確率ベクトルを指定の文字列に変換するデコーダを表す.

詳細

  • NetDecoder[][input]はデコーダを入力に適用して出力を作る.
  • NetDecoder[][{input1,input2,}]はデコーダを入力のリストに適用して出力のリストを作る.
  • デコーダへの入力 input は確率ベクトルか確率ベクトル列のどちらかである.各確率ベクトルは合計1となる.各確率ベクトルの長さは,親であるNetEncoderのトークンリスト内の要素の数である.
  • 各入力確率ベクトルについては,デコーダは最高の連想確率でトークンリストの要素を選ぶことによってトークンを出力する.
  • NetDecoder[][input]は文字列を返す.
  • 現在は"BPE"メソッドのみがサポートされている.NetDecoder[NetEncoder[{"SubwordTokens", }]]は親エンコーダのメソッドにかかわらず"BPE"デコーダを作り出す.
  • "BPE"メソッドのサブオプション"WhitespaceTrimming"は,親エンコーダの"WhitespacePadding"サブオプション(もしあれば)から引き継がれる.LeftまたはRightに設定すると,デコーダは出力列の最初または最後から一つの空白(もしあれば)を削除する.Noneに設定すると,刈込みは行われない.
  • 親エンコーダが"WhitespacePadding"をサポートしない場合は,"WhitespaceTrimming"Noneとなる.
  • 特性
  • NetDecoder[][data,prop]は入力データの特定の特性を計算するのに使うことができる.
  • "SubwordTokens"のデコーダがネットに付加されたとき,復号化された出力の特定の特性を計算するのに net[data,prop]または net[data,"oport"->prop]を使うことができる.
  • "SubwordTokens"のデコーダはバイパス特性のみをサポートする.propNoneに設定すると復号化は回避され,入力がデコーダに返される.

例題

  (2)

BPEデコーダを作る:

BPEデコーダを作る:

確率ベクトルのランダムな文字列を復号化する: