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

NetDecoder["Characters"]

確率ベクトル列をASCII文字列に変換するデコーダを表す.

NetDecoder[{"Characters",table}]

確率ベクトルを表 table 内の文字から成る文字列に変換するデコーダを表す.

NetDecoder[{"Characters",table,"param"value]

追加のパラメータが特定されているデコーダを表す.

詳細

  • NetDecoder[][input]はデコーダを入力に適用し,出力を作る.
  • NetDecoder[][{input1,input2,}]はデコーダを入力のリストに適用し,出力のリストを作る.
  • デコーダへの入力 input は,確率ベクトルまたは確率ベクトル列のどちらかである.各確率ベクトルの合計は1である.NetDecoder["Characters"]の場合は,各確率ベクトルの長さがASCII文字の数,97である. NetDecoder[{"Characters",table}]の場合は,各確率ベクトルの長さが table 内の文字数に等しい.
  • NetDecoder[][input]は文字列を返す.
  • 確率ベクトルから table に指定される文字へのマッピングには以下の形式がある:
  • "c1c2"各文字 ci を使用可能な連続するコードにマップする
    "c1c2"nすべての文字 ci をコード n にマップする
    "c1c2"Automaticすべての文字 ci を使用可能な次のコードにマップする
    n;;mspecn から m までの文字を spec にマップする
    {spec1,spec2,}speci からコード列を割り当てる
  • 表では以下の記号文字のグループが使用可能である:
  • Automatic表示可能なすべてのASCII文字プラス空白,タブ,改行
    LetterCharacteraからzまで,かつAからZまでの文字
    DigitCharacter0から9までの数字
    WordCharacterLetterCharacterDigitCharacterの結合
    PunctuationCharacter目に見えるすべてのASCII句読点文字
    WhitespaceCharacter空白,タブ,改行
    StartOfString文字列の始まりの前に置かれるバーチャル文字
    EndOfString文字列の始まりの後ろに置かれるバーチャル文字
    _その他の割り当てられていない文字
  • NetDecoder["Characters"]は典型的な英語の散文に適しており, 表示可能なすべてのASCII文字およびタブ,空白,改行から成る.
  • NetDecoder["Characters"]NetDecoder[{"Characters",{"\t","\n",FromCharacterCode[Range[32,126]]}}]に相当する.
  • ネットワークの構築時に"port"->NetDecoder[]を指定すると,デコーダをネットワークの出力ポートに付加することができる.
  • NetDecoder[{"Characters",}][["Alphabet"]]はデコーダに認識される文字リストを作り出す.
  • NetEncoder[NetDecoder[{"Characters",}]]は,NetEncoder[{"Characters",}]を指定のデコーダと同じ符号化によって作り出す.
  • 特性
  • NetDecoder[][data,prop]は入力データの特定の特性を計算するのに使うことができる.
  • "Characters"のデコーダがネットに付加されたときは,net[data,prop]または net[data,"oport"->prop]を使って,復号化された出力の特定の特性を計算することができる.
  • "Characters"のデコーダは,バイパス特性にのみ使用できる.propNoneに設定すると復号化を回避してデコーダへの入力が返される.

例題

すべて開くすべて閉じる

  (1)

文字デコーダを作る:

確率の数列を復号化する:

スコープ  (2)

文字デコーダを作る:

確率ベクトルの数列を表すNumericArrayを作る:

確率の数列を復号化する:

デコーダはすべての例にマップされる:

文字デコーダを作る:

ワンホット(one-hot)ベクトル表現から文を復号化する:

特性と関係  (2)

デフォルトの"Characters"のデコーダが認識する文字リストを抽出する:

NetEncoderNetDecoderから作り出す: