티스토리 뷰
이번 수업은 다른 수업에 비해서 좀 더 언어학 부분이 많이 차지해서 한 숨 돌렸던 coreference resoltion!
Coreference 라는 것은 텍스트 안에서 Real world 에 존재하는 entity를 모두 찾아내는 것을 의미한다. 여기서 Entity라 함은 고유명사가 될 수도 있겠지만 고유 명사를 가리키는 대명사나 혹은 일반 명사도 다 entity 가 될 수 있기 때문에 그렇게 쉬운 문제는 아니다. 그리고 어떤 단어가 entity 인지 아닌지가 항상 분명한 것은 아니기 때문에 (약간 애매한 것은 주관적인 판단에 따라 갈릴 수도 있다) 그런 점에서 어려움이 있다.
Coreference 를 풀 때는 우선 고유 명사 찾아내기, 그리고 이 고유 명사를 가리키는 일반명사나 대명사를 찾아야 하는데, 실제로는 전자 task 가 후자 task 가 더 어렵다고 한다 (의외임. 오히려 서로 가리키는 대상을 찾는 게 더 복잡한 task 일 것 같은데..)
1. Corefernece Evaluation
우선 coreference가 잘됐는지는 어떻게 평가하는지 알아볼까? 평가 지표는 역시 precision 과 recall 이다. 빨간 원이 machine learning 알고리즘이 같은 그룹이라고 묶어놓은 것들을 표시한 것이다. 왼쪽 아래 그룹을 보자. 총 5개를 파란 색 그룹이라고 모아놨고 이 중 맞은 게 4개니까 precision 은 4/5 이다. 반대로 실제로 파란 그룹인 것은 총 6 개이고 이 중에서 알고리즘이 찾은 건 4개니까 4/6가 recall 임.
그리고 나도 Anaphora랑 Coreference 가 같은 것인 줄 알았는데 엄밀하게 말하자면 다른 것이라고 한다. 왜냐면 모든 대용 (anaphora) 관계에 있는 것이 같은 것을 가리키는 것 (corefer) 은 아니기 때문이다.
예를 들어, We went to see a concert last night. The tickets were really expensive. 라는 문장이 있을 때 a concert 는 the tickets 의 the 와 대용 관계에 있다고 할 수 있지만 같은 것을 가리키는 아니다.
2. Corefernece 전통적 방법 - Hobb's naive algorithm
밑에 나온 규칙들이 전통적으로 coreference 문제를 해결하기 위해 사용했던 Hobb's naive algorithm 이라고 한다. 자세히 읽어보면 문장들의 syntactic 구조에 대한 이해를 바탕으로 만든 규칙들임을 알 수 있다.
아래 이미지에서 him 을 가리키는 것을 찾는다고 하자 (Hobb's algorithm 대로). 우선 가장 가까운 NP 부터 찾되, 이 NP 와 현재 him 사이에는 다른 NP 혹은 S 가 있어야 한다 -> 왜냐면 가장 가까운 NP 와 NP 는 주어와 목적어 관계에 있을 가능성이 높고, 그렇다면 재귀 형태가 와야 하기 때문에. 그래서 그 전 문장으로 (recency 에 따라) 가서 알고리즘 대로 풀어간다.. (자세한 설명은 생략)
하지만 이렇게 문장의 의미를 고려하지 않고 오직 syntactic features 만을 이용해서 coreference 를 접근하는 것은 한계가 있을 수 있다. 왜냐면 같은 문장 구조를 지닌 문장들이라고 해도, 문장의 의미에 따라 coreference 관계는 전혀 달라질 수 있기 때문이다. 그래서 이 한계를 극복하기 위해서 Neural netowrks 를 사용할건데 word vector 를 사용하기 때문에 단어들의 semantic representation 을 활용할 수 있다는 장점이 있지! 이건 바로 아래 챕터에서 보자!
3. Neural networks 을 사용해서 푸는 coreference!
'NLP > CS224n' 카테고리의 다른 글
[CS224n]Lecture17. Issuses in NLP and possible architectures for NLP (0) | 2019.08.26 |
---|---|
[CS224n] Lecture 18. Tackling the limits of Deep learning for NLP (0) | 2019.08.11 |
[CS224n] Lecture16. Dynamic Neural Networks for Question Answering (0) | 2019.07.30 |
[CS224n] Lecture13. Convolutional Neural Networks (0) | 2019.07.22 |
[CS224n]Lecture11.Further topics in NTM and Recurrent models (0) | 2019.06.24 |
- Total
- Today
- Yesterday
- neurone
- 워터마킹
- Pre-trained LM
- Bert
- 벡터
- LM
- neural network
- GPTZero
- 언어모델
- Attention Mechanism
- Statistical Language Model
- 뉴럴넷
- 뉴런
- cs224n
- Neural Language Model
- Elmo
- Contextual Embedding
- language model
- word embedding
- weight vector
- nlp
- transformer
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |