본문 바로가기

딥러닝/자연어(NLP)

🧐 Sequence Labeling with Tagging

 

🧐 Tagging이란 무엇인가?

단어들은 문장 내에서 어떠한 역할을 지니고 있습니다. 이 역할을 선정하는 작업이 Tagging입니다. 여기서 역할이라고 한 것은, 문장의 구조(Part of Speech) 를 나타낼수도 있고, 아니면 현실에 있는 객체를 지칭하고 있는 경우(Name Entity)도 있습니다.

  • Part of Speech : Noun, Verb, Adverb, ... (이과라서 나머지는 잘 모릅니다. ) Penn Treebank에는 45가지의 Tags가 있다는 이것도 버전마다 다르다고 합니다.
  • Named Entity : 기본적으로 4가지 (사람, 위치, 기관, 지형)에 대한 Named Entity가 있지만, 시간, 돈과 같은 더욱 다양한 Named Entity가 있을 수 있습니다. 보통 Named Entity는 길이가 1개 이상이므로, New York처럼 2개의 단어로 이루어져있다면, 이를 위한 특별한 태깅을 생각할 수 있습니다. 그래서 다음과 같은 3가지의 변형을 알아보겠습니다.

BIOES Tagging for Named Entity

Inside, Out, Begin, End, Single

  • IO : (아이오 태그)는 `In` / `Out` 을 나타내며, Named Entity라면 `I` 을 아니라면 `O` 로 태그합니다.
  • BIO : 만일 Named Entity의 길이가 2이상이면, 첫 번째 단어에는 `B` 태그를 나머지 단어들에 대해서는 `I` 태그를 한다.
  • BIOES : BIO에서 3이상인 단어에 대해서는 마지막 단어에 대해서 `E` 태그를한다. 만일 단어의 길이가 1이라면, `S`태그를 한다.

 

여기서 -PER, -ORG, -LOC 등등은, Named Entity Type을 나타냅니다. Person, Organization, Location

🧐 Sequence Labeling이란?

Sequential data에 대해서, 모든 데이터에 레이블을 다는 것을 Sequential Labeling이라고 합니다. NLP에서는 모든 단어마다 Tag를 달아주는 Tagging을 예로 들 수 있습니다. 연속적인 값들에 대해서 레이블을 찾는 것은, 단순하게 개와 고양이로 Prediction을 하는 것보다 어려우며, 길이에 따라서 연산량은 선형적으로 증가하게 됩니다.

🧐 Modeling sequence Labeling with hidden states

문장의 단어들은 우리에게 보여지는 것입니다. 그보다 뒤에 단어들이 선택되기 전에 어떠한 규칙이 숨어있는데, 이를 Hidden State라고 합니다. Hidden State와 Observation에 대한 3가지 모델은 HMM, MEMM, CRF입니다.

 

 


 

🌱 Hypothesis

모든 Hidden State가 있는 모델에 대해서 다음 가정을 합니다.

  • 하나의 Observation은 하나의 Hidden State와 연결되어 있습니다.
  • Hidden state끼리는 연결되어 있습니다.
  • 실선 : 연결된 것을 나타냅니다.  
  • 화살표 : 영향을 미치는 것을 나타냅니다. 
  • 빨간선 : Hidden State에 영향을 미치는 부분을 나타냅니다. 

🎯HMM (Hidden Markov Model)

  • Hidden State 에 영향을 미치는 것은 바로 이전 Hidden State 뿐입니다.
  • Hidden state를 찾는 것은, Conditional Probability로 구할 수 있습니다.
  • $\hat Y = \arg \max P(h_1, \cdots , h_n | o_1, \cdots o_n) \approx \arg \max \prod_{i=1}^n p(o_i|h_i ) p(h_i | h_{i-1)}$

🎯MEMM (Maximum Entropy Markov Models)

  • Hidden State 에 영향을 미치는 것은 바로 이전 Hidden State와 Observation 입니다.
  • Hidden state를 찾는 것은, Conditional Probabilty로 구할 수 있습니다.
  • $\hat Y \approx \arg\max \prod_{i=1}^n p(h_i | o_i, h_{i-1})$

🎯CRF (Conditional Random Fields)

  • Hidden State 에 영향을 미치는 것은 모든 Hidden State와 Observation입니다.
  • Hidden State를 찾는 것은, 모든 종류의 hidden state에 대해서 가장 높은 확률을 고릅니다.
  • HMM, MEMM은 Markov 가정에 의해서
    이전 Hidden state에 의존적이므로 Label Bias의 가능성이 높습니다.
  • $\hat Y = \arg\max_{Y\in \mathcal{Y}} P(Y|X)$

Reference

[1] https://web.stanford.edu/~jurafsky/slp3/

[2] https://ratsgo.github.io/machine learning/2017/11/10/CRF/