반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 밑시딥2
- 로지스틱 회귀법
- 보이스피싱
- 모두의 딥러닝
- 면접왕 이형
- 선형회귀
- gradiant descent
- ESG 채권
- 예측선
- ESG
- 과적합
- 경사하강법
- 딥페이크
- k겹 교차검증
- MRC
- 뉴로 심볼릭
- 안드로이드
- nlp
- andoriod with kotlin
- 밑바닥부터 시작하는 딥러닝
- 학습 자동 중단
- 베스트 모델
- 경제신문스크랩
- GPT-3
- 코틀린
- 밑시딥
- 안드로이드 구조
- 독서 #독서후기 #피로사회 #행동과잉 #긍정과잉
- 면접왕이형
- 다중분류
Archives
- Today
- Total
Practice makes perfect!
Week 12 (7) Linking MRC and Retrieval 본문
1. Introduction to Open-domain Question Answering (ODQA)
- MRC : 지문이 주어진 상황에서 질의응답
- ODQA : 지문이 따로 주어지지 않고 방대한 World Knowledge에 기반해서 질의응답 -> 봐야하는 문서의 크기가 매우 큼 ex) 서치 엔진 : 연관 문서 뿐만 아니라 질의 답을 같이 제공함.
1) History of ODQA
Text retrieval conference (TREC) – QA Tracks (1999-2007) : 연관문서만 반환하는 information retrieval (IR)에서 더 나아가서, short answer with support 형태가 목표 (답을 갖고있는 문서를 같이 되돌려주는 형태)
1) Question processing + 2) Passage retrieval + 3) Answer processing
- Question processing : 질문으로부터 키워드를 선택해 Answer type selection (답변의 형태를 설정) -> 어떻게하면 질문을 잘 이해할 수 있을지.
- Passage retrieval : 기존의 IR 방법을 활용해 연관된 문서를 뽑고, 문서가 너무 길기 때문에 passage 단위로 자른 후 선별 (Named entity / Passage 내 question 단어의 개수 등과 같은 hand-crafted features 활용) -> 현재의 방법론과 유사.
- Answer processing : Hand-crafted features와 heuristic을 활용해 classifier를 만들고, 주어진 question과 선별된 passage들 내에서 답을 선택 -> 최근에는 passage 선별 뿐만 아니라 passage 내에서 어떤 span이 답변이 되는지를 맞추는 것으로 진화됨.
2. Retriever-Reader Approach
1) Retriever-Reader 접근 방식
- Retriever : 데이터베이스에서 관련있는 문서를 검색(search) 함
- 입력 : document corpus, query
- 출력 : 관련성 높은 문서
- Reader : 검색된 문서에서 MRC 모델을 이용해 질문에 해당하는 답을 찾아냄
- 입력 : retrieved 된 문서, query
- 출력 : 답변
2) 학습 단계
Retriever
- TF-IDF, BM25 -> labeled된 데이터를 통한 학습은 없고, self supervised 형태로 학습
- Dense : QA 데이터셋을 활용해 학습
Reader
- SQuAD와 같은 MRC 데이터셋으로 학습
- 학습 데이터를 추가하기 위해 Distanct supervision 활용
3) Distant supervision
질문-답변만 있는 데이터셋 (CuratedTREC, WebQuestions, WikiMovies -> 답변이 어디에 존재하는 지는 모름)에서 MRC 학습 데이터 만들기. Supporting document가 필요함
- 위키피디아에서 Retriever를 이용해 관련성 높은 문서를 검색
- 너무 짧거나 긴 문서, 질문의 고유명사를 포함하지 않는 등 부적합한 문서 제거
- answer가 exact match로 들어있지 않은 문서 제거
- 남은 문서 중에 질문과 (사용 단어 기준) 연관성이 가장 높은 단락을 supporting evidence로
사용함
4) Inference
- Retriever가 질문과 가장 관련성 높은 n개 문서 출력
- Reader는 n개 문서를 읽고 답변 예측
- Reader가 예측한 답변 중 가장 score가 높은 것을 최종 답으로 사용함
3. Issues and Recent Approaches
1) Different granularities of text at indexing time
- 위키피디아에서 각 Passage의 단위를 문서, 단락, 또는 문장으로 정의할지 정해야 함.
- Article : 5.08 million
- Paragraph : 29.5 million
- Sentence : 75.9 million
Retriever 단계에서 몇개 (top-k)의 문서를 넘길지 정해야 함
Granularity에 따라 k 가 다를 수 밖에 없음
(e.g. article -> k=5, paragraph -> k=29, sentence -> k=78)
2) Single-passage training vs Multi-passage training
- Single-passage : 현재 우리는 k 개의 passage들을 reader가 각각 확인하고 특정 answer span에 대한 예측 점수를 나타냄. 그리고 이 중 가장 높은 점수를 가진 answer span 을 고르도록 함
⇒ 이 경우 각 retrieved passages 들에 대한 직접적인 비교라고 볼 수 없음
⇒ 따로 reader 모델이 보는 게 아니라 전체를 한번에 보면 어떨까? - Multi-passage : retrieved passages 전체를 하나의 passage 로 취급하고, reader 모델이 그
안에서 answer span 하나를 찾도록 함
Cons : 문서가 너무 길어지므로 GPU에 더 많은 메모리를 할당해야함 & 처리해야하는 연산량이
많아짐
3) Importance of each passage
Retriever 모델에서 추출된 top-k passage들의 retrieval score를 reader 모델에 전달
-> 최종 answer를 고를 때 passage retrieval score까지 합했을 때 성능이 잘 나오는 경우도 연구가 되었음
반응형
'Study > AI Tech' 카테고리의 다른 글
Week 15 자연어처리 데이터 기초 (0) | 2021.11.08 |
---|---|
Week 12 (8) Reducing Training Bias (0) | 2021.10.21 |
Week 11 (6) Passage Retrieval – Scaling Up (0) | 2021.10.18 |
Week 11 (5) Passage Retrieval - Dense Embedding (0) | 2021.10.14 |
Week 11 (4) Passage Retrieval - Sparse Embedding (0) | 2021.10.14 |
Comments