시작하기무료로 시작하기

어휘집에서 유사한 단어 찾기

의미적으로 유사한 용어를 찾는 일은 정보 검색 등 다양한 분야에서 활용돼요. 이 연습 문제에서는 en_core_web_md 모델의 어휘에서 단어 computer와 가장 의미적으로 유사한 용어를 찾아볼 거예요.

computer의 워드 벡터는 이미 추출되어 word_vector로 저장되어 있어요. en_core_web_md 모델은 nlp로, NumPy 패키지는 np로 이미 로드되어 있어요.

가장 의미적으로 유사한 용어를 찾으려면 nlp.vocab.vectors 객체의 .most_similar() 함수를 사용할 수 있어요. 이 함수의 출력에 대해 [0][0]로 인덱싱하면 유사한 용어들의 단어 ID를 얻을 수 있어요. nlp.vocab.strings[<a given word>]는 주어진 단어의 단어 ID를 찾는 데 사용할 수 있고, 반대로 주어진 단어 ID에 해당하는 단어를 반환할 수도 있어요.

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

spaCy로 배우는 자연어 처리

강의 보기

연습 안내

  • en_core_web_md 어휘에서 가장 의미적으로 유사한 용어를 찾으세요.
  • 유사한 용어의 단어 ID가 주어졌을 때, 해당 ID에 해당하는 유사 단어 목록을 구하세요.

실습형 인터랙티브 연습

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

# Find the most similar word to the word computer
most_similar_words = nlp.vocab.vectors.____(np.asarray([____]), n = 1)

# Find the list of similar words given the word IDs
words = [nlp.____.____[____] for w in most_similar_words[0][0]]
print(words)
코드 편집 및 실행