テキストデータに慣れよう
この演習では、TV番組 The Big Bang Theory に登場する Sheldon Cooper の名言を分析して、テキストデータで遊んでみます。実際のテキストデータを扱うときの感覚をつかむために、文を分析して洞察を得ていきます。
単語からインデックス、インデックスから単語への対応を作るため、辞書内包表記を使って辞書を作成します。pandas.DataFrame などではなく辞書を使うのは、より直感的で、不要な複雑さを増やさないためです。
データは sheldon_quotes に用意されており、最初の2文はすでに表示されています。
この演習はコースの一部です
Kerasで学ぶ言語モデリングのためのRecurrent Neural Networks (RNNs)
演習の手順
- 文を
joinして1つの変数にまとめ、そこからすべての単語を抽出してall_wordsに格納します。 - 単語のリストに
list(set())を適用して重複を取り除き、unique_wordsに格納します。 - 辞書内包表記を使って、インデックスをキー、単語を値とする辞書を作成します。
- 辞書内包表記を使って、単語をキー、インデックスを値とする辞書を作成します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Transform the list of sentences into a list of words
all_words = ' '.____(sheldon_quotes).split(' ')
# Get number of unique words
unique_words = list(set(all_words))
# Dictionary of indexes as keys and words as values
index_to_word = {____ for i, wd in enumerate(sorted(unique_words))}
print(index_to_word)
# Dictionary of words as keys and indexes as values
word_to_index = {wd:i for ____ in enumerate(sorted(unique_words))}
print(word_to_index)