Kerasで学ぶ言語モデリングのためのRecurrent Neural Networks (RNNs)
David Cecchini
Data Scientist
多様なモデル
softmax により得られますRNN ではどこでも言語モデル!


# ユニークな単語を取得
unique_words = list(set(text.split(' ')))
# 辞書を作成: 単語がキー、インデックスが値
word_to_index = {k:v for (v,k) in enumerate(unique_words)}
# 辞書を作成: インデックスがキー、単語が値
index_to_word = {k:v for (k,v) in enumerate(unique_words)}
# 変数 X と y を初期化 X = [] y = []# テキストを `sentence_size` ずつ、ステップ幅 `step` で走査 for i in range(0, len(text) - sentence_size, step):X.append(text[i:i + sentence_size]) y.append(text[i + sentence_size])
# 例(数値は語彙のインデックス):
# 文: "i loved this movie" -> (["i", "loved", "this"], "movie")
X[0],y[0] = ([10, 444, 11], 17)
# インデックス列の文を保持するリストを作成 new_text_split = []# ループして辞書からインデックスを取得 for sentence in new_text:sent_split = []for wd in sentence.split(' '):ix = wd_to_index[wd]sent_split.append(ix)new_text_split.append(sent_split)
Kerasで学ぶ言語モデリングのためのRecurrent Neural Networks (RNNs)