본문 바로가기

deeplearning

Coreference Resolution(상호참조해결)이란?

상호참조해결(Coreference resolution)은 임의의 개체(entity)를 표현하는 다양한 명사구(멘션)들을 찾아 연결해주는 자연어처리 문제이다. 우리는 별명, 약어, 대명사, 한정사구 등을 이용해 하나의 개체를 다양하게 표현한다. 그리고 이들 간의 참조 관계를 올바르게 찾아낼 수 있으면 담화나 문서 내에서 언급하는 대상에 대한 정보를 일관성 있게 유지할 수 있고, 정확하게 전달할 수 있다. 따라서 상호참조해결은 문서에서 등장하는 개체를 이해하는데 매우 중요한 역할을 하며, 질의 응답, 문서요약, 기계 번역,  정보 추출 등에 응용될 수 있다. Task의 복잡도가 높은 만큼 최근 딥러닝을 활용해 이 문제를 해결하려는 시도가 많아지고 있다.

 

 

 

아래는 2017년에 ETRI에서 공개한 멘션에 대한 정의 및 규칙이다.

 

상호참조해결을 위한 규칙기반 모델을 만들 때 이용하는 규칙이지만 참고하면 딥러닝 모델을 만들더라도 굉장히 유용하게 이용할 수 있다. 

 

멘션(Mention)은 상호참조해결의 대상이 되는 모든 명사구(즉, 명사, 명사구 등)를 의미한다. 멘션에서 해당 구의 실질적인 의미를 나타내는 단어를 중심어(head)라 하며, 멘션은 중심어를 중심으로 이를 수식하는 수식어를 포함한다. 엔티티는 동일한 멘션의 집합으로, 상호참조해결의 결과이다. 선행 멘션(antecedent)과 현재 등장한 멘션간의 참조를 해결하면 하나의 엔티티로 포함된다. 멘션 탐지 단계는 의존 구문 트리에서 등장하는 모든 명사구를 멘션으로 잡는다. 따라서 모든 명사구에 대해 처리하기 위해서는 다음과 같은 규칙이 필요하다. 이 규칙은 멘션 탐지 알고리즘에서 순서대로 사용된다. 

 

 

 

1. 멘션은 기본적으로 어절 단위로 처리한다.


2. 수식 정보를 포함한 멘션 생성(즉, 명사구)
의존 구문 트리는 단어마다 수식 정보(즉, mod)를 가지기 때문에 이것을 이용하여 수식 정보를 포함한 완벽한 명사구를 생성한다. 즉, 각 단어에 포함 된 mod 인덱스를 따라가 수식어를 포함한 하나의 멘션을 만드는데, 멘션의 중심어는 항상 명사류(즉, NP 가 포함된 태그 정보)로 정의한다. 만약, 멘션의 중심어가 동사류(즉, VP 가 포함된 태그 정보)이면 멘션 탐지 정의에 의하여 해당 단어는 멘션으로 추출하지 않는다.


3. 개체명의 원자성
개체명은 멘션에서 의미가 있는 단어의 최소 단위로 본다. 그러므로 상호참조해결을 진행할 때 개체명을 멘션으로 또는 멘션의 자질로서 참조하기 때문에 추출하는 멘션이 개체명 보다 작은 단위가 있어서는 안 된다. 따라서 멘션 추출 시 ‘중심어 중복 처리’의 상황과 둘 중 하나가 개체명이라면, 개체명을 멘션으로 하고 그보다 작은 멘션은 제거한다.


4. 중심어의 중복 처리

멘션 추출 시 중심어와 중심어의 위치가 같은 두 개 이상의 명사구가 추출될 경우, 더 큰 멘션을 선택하며 작은 멘션은 제거 한다. 크기가 같은 멘션은 중복 처리(즉, 하나만 남긴다)를 한다.

 

 

Coreference Resolution 단계

1. mention detection

2. mention clustering

-> 요즘은 이를 따로 단계를 나누지 않고 end-to-end 형식으로 해결하려고 한다.

 

 

 

 

더 자세한 사항은 이후에 Coreference Resolution 논문정리를 올릴 것이므로 넘어가겠다.