시작하기무료로 시작하기

단어 벡터 투영

단어 벡터를 산점도로 시각화하면 어휘가 어떻게 군집을 이루는지 이해하는 데 도움이 됩니다. 벡터를 시각화하려면 2차원 공간으로 투영해야 해요. 이를 위해 Principal Component Analysis (PCA)로 두 개의 주성분을 추출해 벡터를 투영할 수 있습니다.

이 연습 문제에서는 sklearnPCA 라이브러리를 사용해 단어 벡터를 추출하고 2차원 공간으로 투영하는 방법을 연습해 보겠습니다.

words 리스트에 저장된 짧은 단어 목록과 en_core_web_md 모델이 제공됩니다. 모델은 nlp로 로드되어 있어요. 필요한 라이브러리와 패키지(PCA, numpynp로)가 모두 이미 임포트되어 있습니다.

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

spaCy로 배우는 자연어 처리

강의 보기

연습 안내

  • 주어진 단어들에서 단어 ID를 추출해 word_ids 리스트에 저장하세요.
  • 단어들의 단어 벡터에서 처음 다섯 개 요소를 추출한 뒤, np.vstack()을 사용해 세로 방향으로 쌓아 word_vectors에 저장하세요.
  • 주어진 pca 객체로, pca 클래스의 .fit_transform() 함수를 사용해 변환된 단어 벡터를 계산하세요.
  • [:, 0] 인덱싱으로 변환된 단어 벡터의 첫 번째 성분을 출력하세요.

실습형 인터랙티브 연습

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

words = ["tiger", "bird"]

# Extract word IDs of given words
word_ids = [nlp.____.____[w] for w in words]

# Extract word vectors and stack the first five elements vertically
word_vectors = np.vstack([nlp.____.____[i][:5] for i in word_ids])

# Calculate the transformed word vectors using the pca object
pca = PCA(n_components=2)
word_vectors_transformed = pca.____(____)

# Print the first component of the transformed word vectors
print(____[:, 0])
코드 편집 및 실행