텍스트 데이터에 익숙해지기
이 연습 문제에서는 The Big Bang Theory TV 쇼의 Sheldon Cooper 대사를 분석하며 텍스트 데이터로 놀아 보겠습니다. 실제 텍스트 데이터를 다룰 때 어떤 점을 살펴봐야 하는지 문장을 분석해 보면서 감을 익힐 수 있어요.
단어를 인덱스에 매핑하고, 반대로 인덱스를 단어에 매핑하는 딕셔너리를 딕셔너리 컴프리헨션으로 만들게 됩니다. 예를 들어 pandas.DataFrame 대신 딕셔너리를 사용하는 이유는 더 직관적이고 불필요한 복잡성을 줄일 수 있기 때문이에요.
데이터는 sheldon_quotes에 제공되며, 처음 두 문장은 미리 출력되어 있어요.
이 연습은 강의의 일부입니다
Keras로 배우는 언어 모델링을 위한 순환 신경망(RNN)
연습 안내
- 문장들을
join으로 하나의 변수로 합친 다음 모든 단어를 추출해, 이 리스트를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)