pad_sequences

keras.preprocessing.sequence.pad_sequences(sequences, maxlen=None, dtype='int32')

nb_samples sequencesから構成されるリスト(スカラのリスト)を形状が(nb_samples, nb_timesteps)である2次元のNumpy配列に変換します.nb_timestepsmaxlen引数が与えられればmaxlen,あるいは,最大のシーケンス長になります.nb_timestepsより短いシーケンスはパディングされます.

  • 戻り値: 形状が(nb_samples, nb_timesteps)である2次元のNumpy配列.

  • 引数:

    • sequences: 整数または浮動小数点数を含むリストのリスト.
    • maxlen: Noneまたは整数.シーケンスの最大長.この値より長いシーケンスはカットされ,短いシーケンスはパディングされます.
    • dtype: 戻り値のデータタイプ.
    • padding: 'pre'まはた'post'.各シーケンスの前後どちらを埋めるか.
    • truncating: 'pre'まはた'post'.maxlenより長いシーケンスの前後どちらをカットするか.
    • value: 浮動小数点数.パディングする値.

skipgrams

keras.preprocessing.sequence.skipgrams(sequence, vocabulary_size,
    window_size=4, negative_samples=1., shuffle=True,
    categorical=False, sampling_table=None)

単語インデックスのシーケンス(整数のリスト)を以下の2つの形式に変換します:

  • (word, word in the same window), with label 1 (positive samples).
  • (word, random word from the vocabulary), with label 0 (negative samples).

詳細はMikolovらの論文を参照してください: Efficient Estimation of Word Representations in Vector Space

  • 戻り値: (couples, labels)のタプル.

    • couplesは2つの整数リスト [word_index, other_word_index] から構成されるリストです.
    • labelsは0と1からなるリストです.1は同じウィンドウにother_word_indexword_indexとして存在すること意味し,0はother_word_indexがランダムであることを意味します.
    • categoricalがTrueの場合,ラベルはカテゴリカルになります.つまり,1は[0, 1]になり,0は[1, 0]になります.
  • 引数:

    • sequence: インデックスのリスト.sampling_tableを使う場合,単語インデックスはデータセット中のそのランク(1から始まる)になります.
    • vocabulary_size: 整数.
    • window_size: 整数.positive couple中の2つの単語間の最大距離.
    • negative_samples: 0以上の浮動小数点数.0はネガティブサンプル数が0になります.1はネガティブサンプル数がポジティブサンプルと同じ数になります.
    • shuffle: 真理値.サンプルをシャッフルするかどうか.
    • categorical: 真理値.戻り値のラベルをカテゴリカルにするかどうか.
    • sampling_table: 形状が(vocabulary_size,)であるNumpy配列.sampling_table[i]はインデックスiを持つ単語(データセット中でi番目に頻出する単語であることを想定します)のサンプリング確率です.

make_sampling_table

keras.preprocessing.sequence.make_sampling_table(size, sampling_factor=1e-5)

skipgramssampling_table引数を生成するために利用します.sampling_table[i]はデータセット中でi番目に頻出する単語をサンプリングする確率です(バランスを保つために,より頻出する語はこれより低い頻度でサンプリングされます).

  • 戻り値: 形状が(size,)であるNumpy配列.

  • 引数:

    • size: 語彙数.
    • sampling_factor: この値が小さければ小さいほど,頻出語のサンプリング頻度が低くなります.1が与えられたとき,サブサンプリングは行われません(全てのサンプリング確率が1になります).