시작하기무료로 시작하기

spaCy로 NER 연습하기

Named entity recognition (NER)은 문서에서 사람 이름이나 장소와 같은 핵심 요소를 쉽게 식별하도록 도와줍니다. 비정형 데이터를 정리하고 중요한 정보를 찾아내는 데 유용하며, 특히 대규모 데이터셋을 다룰 때 중요해요. 이번 연습 문제에서는 Named Entity Recognition을 실습해 보겠습니다.

en_core_web_smnlp로 로드되어 있어요. Airline Travel Information System (ATIS) 데이터셋에서 가져온 세 개의 댓글이 texts라는 리스트에 제공되어 있습니다.

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

spaCy로 배우는 자연어 처리

강의 보기

연습 안내

  • 리스트 컴프리헨션을 사용해 texts의 각 텍스트에 대한 Doc 컨테이너를 모두 담은 리스트 documents를 만드세요.
  • doc 컨테이너에 대해 doc.ents를 순회하면서, 각 엔티티의 텍스트와 해당 레이블을 출력하세요.
  • 두 번째 Doc 컨테이너에서 여섯 번째 토큰의 텍스트와 그 엔티티 유형을 출력하세요.

실습형 인터랙티브 연습

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

# Compile a list of all Doc containers of texts
documents = [____ for text in texts]

# Print the entity text and label for the entities in each document
for doc in documents:
    print([(____, ____) for ent in ____])
    
# Print the 6th token's text and entity type of the second document
print("\nText:", documents[1][5].____, "| Entity type: ", documents[1][5].____)
코드 편집 및 실행