"Tokens" (ネットエンコーダ)
NetEncoder["Tokens"]
標準的な英語の語彙を使って,文字列の単語を整数コードの列に変換するエンコーダを表す.
NetEncoder[{"Tokens","language"}]
指定の言語に標準語彙を使うエンコーダを表す.
NetEncoder[{"Tokens",{token1,token2,…}}]
トークンの指定リストを語彙として使うエンコーダを表す.
NetEncoder[{"Tokens",…,"param"value}]
追加のパラメータが指定されているエンコーダを表す.
詳細
- NetEncoder[…][input]はエンコーダを入力に適用し,出力を作る.
- NetEncoder[…][{input1,input2,…}]はエンコーダを入力のリストに適用し,出力のリストを作る.
- エンコーダへの入力は文字列またはトークンを表す文字列の付いたTextElementでなければならない.文字列の場合は,トークンへの分割が,"SplitPattern"の値に基づいて通常の式を使って行われる.
- エンコーダの出力は,1と d+1の間の整数の列でなければならない.ただし,d は語彙内のトークンの数を表す.整数 d+1は入力内のトークンの中で,辞書に出ていないものを表すのに使われる.
- NumericArrayの出力のタイプは,すべての可能な出力の整数値を表す最小の符号なし整数である.
- ネットワークの構築時に"port"->NetEncoder[…]を指定することで,エンコーダをネットワークの入力ポートに付加することができる.
- 以下のパラメータが指定できる:
-
"IgnoreCase" True マッチするトークンを文字列から探すときに,大文字小文字の区別を無視するかどうか "SplitPattern" 入力文字列をトークンに分割するために使う文字列パターン "TargetLength" All 削除,充填した後の最終的な文字列の長さ - パラメータ"IgnoreCase"->True を使うと,符号化される前にトークンが小文字に変換される.
- パラメータ"TargetLength"->All を使うと,入力文字列中のすべてのトークンは符号化される
- パラメータ"TargetLength"->n を使うと,入力文字列中の最初の n 個のトークンが符号化され,もし n 個に満たなかった場合は充填される.充填値は d+1で,d は語彙内のトークンの数を表す.
- パラメータ"SplitPattern"->None を使うと,エンコーダへの入力がフォーム{"token1","token2",…}の文字列のトークン化されたリストであると仮定される.
パラメータ
例題
すべて開くすべて閉じる例 (1)
デフォルトによって,単語は単純な通常の式を使って検出される:
単語のリストはTextElementを使って明示的に渡される:
スコープ (6)
文字列が4要素の長さになるよう充填またはカットするように指定する:
TextElementとともにカスタムのトークン化を使う:
TextStructureの出力を使って,トークンインデックスのリストを計算する:
パラメータ (3)
"IgnoreCase" (1)
"SplitPattern" (2)
"SplitPattern"を使って数字を分離するエンコーダを作る:
これは,連続する文字をすべて1つにまとめるデフォルトの振舞いとは異なる:
"SplitPattern"->None の指定でトークンが2つあるエンコーダを作る: