본문 바로가기
Deep Learning

Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks

by 정현규 2021. 9. 2.

Main Contribution


1. Distant Supervision의 Wrong Label Problem을 해결하기 위한 Multi-Instance Learning 도입

  Wrong Label Problem: KB 내에 [[Relation을 가지는 두 Entity]를 [포함하는 문장]]은 모두 [그 Relation을 표현한다]라는 가정으로부터 발생할 수 있는 Noise를 말함. 이 Noise를 최소화하기 위해 Multi-Instance Learning을 도입했다는 말임.

 

  ▷ Distant Supervision 방법에서는 이 Wrong Label Problem이 모델의 성능을 떨어뜨리는 핵심적인 걸림돌이라는 것을 이해하고 있다면, 이 논문의 주요 성과로 이해가 됨

 

  ▷ 이 논문에서는 Multi-Instance Learning을 자세하게 설명하고 있지 않기에, 제대로 이해하기 위해서 다른 자료를 찾아보아야 함(https://en.wikipedia.org/wiki/Multiple_instance_learning)

2. Feature Engineering을 회피(또는 최소화) 하기 위한, Convolutional Architecture 도입

  Convolutional Neural Network는 컴퓨터 비전 분야에서, 인간의 개입을 최소화하면서도 기존의 알고리즘보다 뛰어난 성능을 보인 성공적 모델

 

  ▷ 인간의 개입을 최소화 하였다는 것은, 이미지의 특징 추출과정에서 인간이 이미지를 보고 획득할 수 있는 정보를 특징으로 활용하던 것을 모델 스스로 할 수 있도록 하였다는 것(방대한 데이터를 무기로 하여)

 

  ▷ NLP, 특히 Distant Supervision에서는 이 논문의 출시년도 이전의 여러 방법론에서는, POS(Part Of Speech)나 Dependancy Graph 등 auxiliary information(인간의 해석이 가미된 보조 정보)을 적극적으로 활용하였지만, 본 논문에서는 Convolutional Architecture를 도입하여 인간의 개입을 최소화해 보았다는 의미

 

   이와는 반대로, 최근의 모델에서는 auxiliary information를 활용하여 더 나은 결과를 얻어내고 있는것으로 보인다.



Architecture & Methodology


1. Vector Representation

Word: 문장을 이루는 단어들은 Skip-gram model(Mikolov et al., 2013)을 통해 Embedding됨

  ▷ Skip-gram은 Word Embedding을 위한 Word2Vec, GloVe 같은 모델들 중 하나

   NLP와 관련된 작업에서는 Word Embedding이 필요할 때, 무작위 벡터보다 위와같은 사전학습된 Word Embedding 모델을 사용하는 것이 일반적으로(또는 경험적으로) 나은 결과를 보였다고 함 (Parikh et al., 2014; Huang et al., 2014)

   위의 그림에서는 Word Embedding을 위해 4차원의 벡터를 사용

 

Position: 문장에서 어디가 Entity인지 알려주기 위한 Embedding

위의 그림에서는 Position Embedding을 위해 2차원의 벡터를 사용 (Entity-1을 위해 하나, Entity-2를 위해 또 하나)

논문상 구체적인 Position Embedding 방법은 불확실하게 언급하고 있음

정황상 그림에서 Entity-1인 'Kojo Annan'의 위치를 0으로 간격이 1인 상대적인 위치로 벡터를 구성하는 것으로 보임 예) Entity-1인 'Kojo Annan'을 위한 Position Embedding은 위 그림에서 [-1, 0, 1, 2, 3, 4, 5, 6, 7] 로 나타낼 수 있다.

 

2. Convolution

  CNN에서 Convolution 과정과 비슷하다. 위의 그림에서 필터의 크기는 (6, 3)이고(위의 그림에서 직접적으로 나와있지는 않다) 필터의 갯수는 3개 이다. c들은 각각의 필터를 거친 후의 값이다.

 

  논문에는 Convolution연산과정에 내적이 나와서 헷갈릴 수는 있지만, 이를 벡터의 내적처럼 위치가 같은 각 성분들의 곱들의 합으로 생각하면 된다.

 

3. Piecewise Max Pooling 

  CNN에서의 Max Pooling 과정과 비슷하지만, 문장이 구조화된 데이터임을 인정하고 (~Entity-1), (Entity-1~Entity-2), (Entity-2~)의 세 부분으로 나누고 그 부분에 대해서 Max Pooling을 진행한다. 몇부분으로 나누어서 진행한다고 해서 Piecewise를 붙인다.

 

  Feature Engineering 과정을 없애려 CNN을 도입하였지만, Piecewise Max Pooling에서의 인간의 개입이 조금 아이러니하다.