파트 1: 텍스트 뒤집기 모델 - 인코더
간단한 텍스트 뒤집기 모델을 만들어 보면 인코더-디코더 모델의 동작 원리와 서로 어떻게 연결되는지 이해하는 데 큰 도움이 됩니다. 이제 텍스트 뒤집기 모델의 인코더 부분을 구현해 보겠습니다.
인코더 구현은 두 개의 연습 문제로 나뉘어 있습니다. 이 연습에서는 words2onehot() 보조 함수를 정의합니다. words2onehot() 함수는 단어 리스트와 딕셔너리 word2index를 입력으로 받아, 단어 리스트를 원-핫 벡터 배열로 변환해야 합니다. word2index 딕셔너리는 워크스페이스에 준비되어 있습니다.
이 연습은 강의의 일부입니다
Keras로 배우는 Machine Translation
연습 안내
words2onehot()함수에서word2index딕셔너리를 사용해 단어를 ID로 변환하세요.- 단어 ID를 길이가
3인 원-핫 벡터로 변환하고(num_classes인자 사용) 그 배열을 반환하세요. - 단어
I,like,cats로words2onehot()함수를 호출하고, 결과를onehot에 할당하세요. print()와zip()함수를 사용해 단어와 해당 원-핫 벡터를 함께 출력하세요.zip()함수는 여러 리스트를 동시에 순회할 수 있게 해줍니다.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
import numpy as np
def words2onehot(word_list, word2index):
# Convert words to word IDs
word_ids = [____[w] for w in ____]
# Convert word IDs to onehot vectors and return the onehot array
onehot = ____(____, num_classes=3)
return ____
words = ["I", "like", "cats"]
# Convert words to onehot vectors using words2onehot
onehot = ____(____, ____)
# Print the result as (, ) tuples
print([(w,ohe.tolist()) for ____,____ in zip(words, ____)])