spaCy로 NER 연습하기
Named entity recognition (NER)은 문서에서 사람 이름이나 장소와 같은 핵심 요소를 쉽게 식별하도록 도와줍니다. 비정형 데이터를 정리하고 중요한 정보를 찾아내는 데 유용하며, 특히 대규모 데이터셋을 다룰 때 중요해요. 이번 연습 문제에서는 Named Entity Recognition을 실습해 보겠습니다.
en_core_web_sm은 nlp로 로드되어 있어요. 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].____)