시작하기무료로 시작하기

Part 1: 보물 찾기

여러분은 최근에 모든 경비가 제공되는 푸른 열대 섬 여행에 당첨되었어요. 이곳을 둘러보다가 위대한 보물로 향하는 고대의 보물 지도를 발견했는데, 그 위에는 1과 0으로 적힌 비밀 메시지가 있었습니다. 방금 이 강의를 수강한 덕분에, 여러분은 그것이 onehot 인코딩된 벡터들의 시퀀스라는 것을 바로 알아봤죠. 운 좋게도 어떤 단어가 어떤 ID를 가리키는지 알 수 있는 단어-인덱스 매핑도 찾았습니다.

이제 이 비밀 메시지를 해독해 지도가 무엇을 말하는지 알아내야 합니다. 제공된 treasure_map문장 수 × 단어 수 × onehot 벡터 길이 형태의 행렬입니다. 또한 ID를 단어로 매핑하는 index2word Python 딕셔너리도 함께 제공됩니다.

이 연습은 강의의 일부입니다

Keras로 배우는 Machine Translation

강의 보기

연습 안내

  • treasure_map에 있는 onehot 인코딩 벡터들에서 단어 ID를 추출하세요(onehot 벡터 차원은 마지막 차원입니다).
  • treasure_map에서 시퀀스 길이(즉, time step의 수)를 구해 seq_len에 할당하세요.
  • i번째 문장의 t번째 위치에 있는 단어 ID를 가져오세요.
  • wid에 해당하는 String형 단어(단어 ID가 아니라 실제 단어)를 리스트 words에 추가하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Get the word IDs from the treasure map
word_ids = ____.____(____, axis=____)
# Get the sequence length from the treasure map
seq_len = treasure_map.shape[____]

for i in range(treasure_map.shape[0]):
	words = []
	for t in range(seq_len):
      	# Get the word ID for the i-th sentence and t-th position
	    wid = word_ids[i, ____]
	    if wid != 0:
          	# Append the word corresponding to wid
	        words.append(____[____])
	print("Instruction ", i+1, ": ", ' '.join(words))
코드 편집 및 실행