TL;DR
- Entity Linking은 문장 속 이름이 현실의 어느 대상을 가리키는지 찾아 지식베이스의 고유 항목과 연결하는 작업이다.
- 먼저 연결할 표현을 찾고(MD), 문맥에 맞는 대상을 고른다(ED).
- 맞는 항목이 지식베이스에 없으면
NIL로 처리할 수 있다.
Entity Linking은 텍스트 개체를 지식베이스에 연결한다
Entity Linking(EL)은 문장 속 이름이 실제로 누구 또는 무엇을 가리키는지 찾아내는 작업이다.
예를 들어 다음 문장에서 한화는 여러 대상을 가리킬 수 있다.
류현진이 한화로 돌아왔다.
한화만 보면 한화그룹·한화솔루션·한화 이글스 중 무엇인지 알 수 없다. 주변 문맥인 류현진과 돌아왔다를 함께 보면 여기서는 야구단 한화 이글스를 가리킨다고 판단할 수 있다.
문장의 “한화” → 지식베이스의 “한화 이글스” 항목이처럼 텍스트의 표현을 위키데이터·DBpedia·YAGO 같은 지식베이스의 고유 항목에 연결하면 같은 대상을 일관된 식별자로 다룰 수 있다.
연결 과정
Entity Linking은 보통 다음 두 단계로 설명한다.
- MD(Mention Detection): 연결할 표현의 위치와 범위를 찾는다.
- 예:
류현진,한화
- 예:
- ED(Entity Disambiguation): 문맥을 보고 각 표현이 가리키는 지식베이스 항목을 고른다.
- 예:
한화→한화 이글스
- 예:
두 단계를 한 모델이 처음부터 끝까지 처리하면 End-to-End Entity Linking이라고 한다. 이미 찾은 표현을 입력받아 두 번째 단계만 수행하는 방식은 Disambiguation-Only라고 한다.1
NER와의 차이
NER(Named Entity Recognition)는 문장에서 사람·장소·조직 같은 이름을 찾고 유형을 붙인다.
NER: “한화”는 조직이다.
EL: “한화”는 한화 이글스라는 고유 항목이다.NER는 MD에 활용할 수 있지만 둘은 같은 작업이 아니다. NER가 이름과 유형을 찾는다면 EL은 그 이름을 특정 지식베이스 항목에 연결한다. EL이 항상 NER를 별도 단계로 실행해야 하는 것도 아니다.
관계 추출과의 차이
Entity Linking의 결과는 개체 식별자까지다.
“류현진” → 류현진 항목
“한화” → 한화 이글스 항목두 개체 사이에 어떤 관계가 있는지 알아내는 것은 관계 추출(relation extraction) 이다. 관계 추출까지 수행하면 다음과 같은 진술을 만들 수 있다.
류현진 → 소속팀 → 한화 이글스새 노드를 만들거나 이 진술을 [[지식그래프]]에 저장하는 일도 후속 구축 단계다. 실제 적재에서는 관계가 성립한 시점과 출처를 함께 고려해야 한다.
대응 항목이 없는 경우
문장 속 대상이 지식베이스에 아직 등록되지 않았을 수도 있다. 이런 경우에는 기존 항목을 억지로 고르지 않고 NIL, 즉 “대응 항목 없음”으로 처리할 수 있다.
일부 태스크는 여러 NIL 표현이 같은 실세계 대상을 가리키는지도 묶는다. 지식베이스 안에 있는 개체만 평가하는 벤치마크도 있으므로 NIL 처리의 필요 여부는 태스크 설정에 따라 달라진다.2
Connections
- [[온톨로지는 지식그래프의 개념과 관계를 정의한다]] — 멘션과 KB 식별자의 연결을 활용하는 그래프 구축
Discussion
Comments
댓글은 승인 후 공개됩니다.