분류 전체보기
-
1. Introduction to Dense Embedding 2.Training Dense Encoder 3. Passage Retrieval with Dense Encoder sparse embedding이 가지는 한계점들에 대해 알아보고, 이를 해결할 수 있는 dense embedding에 대해 설명한다. Dense embedding의 개념을 알아보고, 어떻게 dense embedding을 학습하고 문서 검색을 수행할 수 있는지 설명한다. 1. Introduction to Dense Embedding ▮ Limitation of Sparse Embedding Passage Embedding : Passage를 벡터로 변환하는 것 Sparse Embedding의 한계점 벡터의 크기는 아주 크지만 벡터..
[ODQA] 5. Passage Retrieval - Dense Embedding1. Introduction to Dense Embedding 2.Training Dense Encoder 3. Passage Retrieval with Dense Encoder sparse embedding이 가지는 한계점들에 대해 알아보고, 이를 해결할 수 있는 dense embedding에 대해 설명한다. Dense embedding의 개념을 알아보고, 어떻게 dense embedding을 학습하고 문서 검색을 수행할 수 있는지 설명한다. 1. Introduction to Dense Embedding ▮ Limitation of Sparse Embedding Passage Embedding : Passage를 벡터로 변환하는 것 Sparse Embedding의 한계점 벡터의 크기는 아주 크지만 벡터..
2022.12.21 -
1. Introduction to Passage Retrieval 2. Passage Embedding & Sparse Embedding 3. TF-IDF 문서 검색(Passage retrieval)을 하기 위해서는 문서를 embedding의 형태로 변환해 줘야 하는데, 이를 passage embedding 이라고 한다. 이번 글에서는 passage embedding이 무엇인지 알아보는 동시에, 단어 기반으로 만들어진 passage embedding인 sparse embedding, 그 중에서도 자주 쓰이는 TF-IDF에 대해 정리하였다. 1. Introduction to Passage Retrieval ▮ Passage Retrieval 질문(Query)에 맞는 문서(Passage)를 찾는 것 Pass..
[ODQA] 4. Passage Retrieval - Sparse Embedding1. Introduction to Passage Retrieval 2. Passage Embedding & Sparse Embedding 3. TF-IDF 문서 검색(Passage retrieval)을 하기 위해서는 문서를 embedding의 형태로 변환해 줘야 하는데, 이를 passage embedding 이라고 한다. 이번 글에서는 passage embedding이 무엇인지 알아보는 동시에, 단어 기반으로 만들어진 passage embedding인 sparse embedding, 그 중에서도 자주 쓰이는 TF-IDF에 대해 정리하였다. 1. Introduction to Passage Retrieval ▮ Passage Retrieval 질문(Query)에 맞는 문서(Passage)를 찾는 것 Pass..
2022.12.21 -
라이브러리 및 데이터 로드 import random import numpy as np import torch from datasets import load_dataset, load_metric # 데이터셋 로드 datasets = load_dataset("squad_kor_v1") # len(datasets["train"]) == 60407 # 평가지표 로드 metric = load_metric("squad") ▮ PLM 로드 from transformers import AutoConfig, AutoModelForQuestionAnswering, AutoTokenizer model_name = "bert-base-multilingual-cased" config = AutoConfig.from_pretra..
[ODQA] 3. MRC 데이터 전처리: prepare_train_features라이브러리 및 데이터 로드 import random import numpy as np import torch from datasets import load_dataset, load_metric # 데이터셋 로드 datasets = load_dataset("squad_kor_v1") # len(datasets["train"]) == 60407 # 평가지표 로드 metric = load_metric("squad") ▮ PLM 로드 from transformers import AutoConfig, AutoModelForQuestionAnswering, AutoTokenizer model_name = "bert-base-multilingual-cased" config = AutoConfig.from_pretra..
2022.12.21 -
1. Extraction-based MRC 2. Generation-based MRC 3. Summary 1. Extraction-based MRC ▮ Extraction-based 문제 정의 질문과 답변이 항상 주어진 지문(context)내에 span으로 존재 SQuAD, KorQuAD, NewsQA 등 ▮ Extraction-based 평가 방법 Exact Match (EM) Score : 예측값과 정답이 character 단위로 완전히 똑같을 경우에만 1점, 하나라도 다른 경우 0점 F1 Score : 예측값과 정답의 overalp을 비율로 계산, 0점~1점 ▮ Extraction-based MRC Pre-processing Context와 Question이 Tokenization을 통해 토큰화 되..
[ODQA] 2. Extraction-based MRC & Generation-based MRC1. Extraction-based MRC 2. Generation-based MRC 3. Summary 1. Extraction-based MRC ▮ Extraction-based 문제 정의 질문과 답변이 항상 주어진 지문(context)내에 span으로 존재 SQuAD, KorQuAD, NewsQA 등 ▮ Extraction-based 평가 방법 Exact Match (EM) Score : 예측값과 정답이 character 단위로 완전히 똑같을 경우에만 1점, 하나라도 다른 경우 0점 F1 Score : 예측값과 정답의 overalp을 비율로 계산, 0점~1점 ▮ Extraction-based MRC Pre-processing Context와 Question이 Tokenization을 통해 토큰화 되..
2022.12.21 -
LSTM은 전 time step에서 서로 다른 역할을 하는 Cell state vector와 Hidden state Vector를 입력으로 받습니다. 또한 LSTM은 forget/input/output gate가 존재하는데 이 gate들을 통해 이전 time step에서 넘어온 Cell state vector를 적절하게 변환하는데 사용합니다. Cell state vector는 기억해야할 필요가 있는 모든 정보를 담고 있는 벡터이고 Hidden state vector는 현재 time step에서 예측값을 내는 output layer에 입력으로 사용되는 벡터로서 Cell state가 가지는 많은 정보에서 해당 timestep의 예측값에 직접적으로 필요한 정보만을 filtering한 벡터입니다. LSTM은 이..
LSTM은 왜 유용한가요?LSTM은 전 time step에서 서로 다른 역할을 하는 Cell state vector와 Hidden state Vector를 입력으로 받습니다. 또한 LSTM은 forget/input/output gate가 존재하는데 이 gate들을 통해 이전 time step에서 넘어온 Cell state vector를 적절하게 변환하는데 사용합니다. Cell state vector는 기억해야할 필요가 있는 모든 정보를 담고 있는 벡터이고 Hidden state vector는 현재 time step에서 예측값을 내는 output layer에 입력으로 사용되는 벡터로서 Cell state가 가지는 많은 정보에서 해당 timestep의 예측값에 직접적으로 필요한 정보만을 filtering한 벡터입니다. LSTM은 이..
2022.12.20 -
RNN은 일반적인 신경망과 달리 순서가 있는 입력 데이터를 처리할 수 있는 순환 신경망입니다. 순차적인 입력 데이터인 Sequence 데이터가 입력으로 주어질 때 각 timestep에서 들어오는 입력벡터와 그 전 timestep의 RNN 모듈에서 계산한 hidden state 벡터를 입력으로 받아 현재 timestep에서의 hidden state 벡터를 출력으로 내어주는 구조입니다. RNN은 Backpropagation과정에서 tanh의 gradient가 반복되어 곱해지는 구조이기 때문에 gradient vanishing problem이 발생하여 긴 Sequence data를 다루기 어렵다는 한계점이 있습니다.
RNN에 대해 설명해주세요RNN은 일반적인 신경망과 달리 순서가 있는 입력 데이터를 처리할 수 있는 순환 신경망입니다. 순차적인 입력 데이터인 Sequence 데이터가 입력으로 주어질 때 각 timestep에서 들어오는 입력벡터와 그 전 timestep의 RNN 모듈에서 계산한 hidden state 벡터를 입력으로 받아 현재 timestep에서의 hidden state 벡터를 출력으로 내어주는 구조입니다. RNN은 Backpropagation과정에서 tanh의 gradient가 반복되어 곱해지는 구조이기 때문에 gradient vanishing problem이 발생하여 긴 Sequence data를 다루기 어렵다는 한계점이 있습니다.
2022.12.20 -
N개의 마을로 이루어진 나라가 있습니다. 이 나라의 각 마을에는 1부터 N까지의 번호가 각각 하나씩 부여되어 있습니다. 각 마을은 양방향으로 통행할 수 있는 도로로 연결되어 있는데, 서로 다른 마을 간에 이동할 때는 이 도로를 지나야 합니다. 도로를 지날 때 걸리는 시간은 도로별로 다릅니다. 현재 1번 마을에 있는 음식점에서 각 마을로 음식 배달을 하려고 합니다. 각 마을로부터 음식 주문을 받으려고 하는데, N개의 마을 중에서 K 시간 이하로 배달이 가능한 마을에서만 주문을 받으려고 합니다. 다음은 N = 5, K = 3인 경우의 예시입니다. 위 그림에서 1번 마을에 있는 음식점은 [1, 2, 4, 5] 번 마을까지는 3 이하의 시간에 배달할 수 있습니다. 그러나 3번 마을까지는 3시간 이내로 배달할 수..
다익스트라_PRO#12978 : 배달N개의 마을로 이루어진 나라가 있습니다. 이 나라의 각 마을에는 1부터 N까지의 번호가 각각 하나씩 부여되어 있습니다. 각 마을은 양방향으로 통행할 수 있는 도로로 연결되어 있는데, 서로 다른 마을 간에 이동할 때는 이 도로를 지나야 합니다. 도로를 지날 때 걸리는 시간은 도로별로 다릅니다. 현재 1번 마을에 있는 음식점에서 각 마을로 음식 배달을 하려고 합니다. 각 마을로부터 음식 주문을 받으려고 하는데, N개의 마을 중에서 K 시간 이하로 배달이 가능한 마을에서만 주문을 받으려고 합니다. 다음은 N = 5, K = 3인 경우의 예시입니다. 위 그림에서 1번 마을에 있는 음식점은 [1, 2, 4, 5] 번 마을까지는 3 이하의 시간에 배달할 수 있습니다. 그러나 3번 마을까지는 3시간 이내로 배달할 수..
2022.12.20 -
Abstract Open-Domain Question Answering은 후보 context를 선택하기 위한 Passage Retrieval(문단 검색)이 중요하다. 기존에는 TF-IDF나 BM25같은 sparse vector space model을 사용하지만 본 논문에서는 dual-encoder를 통해 적은 양의 데이터로 학습된 dense representation을 사용한 retrieval을 제안한다. 1. Introduction ODQA는 대량의 문서를 이용해 사실에 입각한 질문에 대한 답을 찾는 Task이다. ODQA는 아래와 같은 두 단계의 프레임워크로 이루어져있다. 기존 연구에서는 Retrieval 하기 위해서 inverted index를 활용해 키워드를 기반으로 탐색하는 TF-IDF나 BM2..
[Paper Review] Dense Passage Retrieval for Open-Domain Question AnsweringAbstract Open-Domain Question Answering은 후보 context를 선택하기 위한 Passage Retrieval(문단 검색)이 중요하다. 기존에는 TF-IDF나 BM25같은 sparse vector space model을 사용하지만 본 논문에서는 dual-encoder를 통해 적은 양의 데이터로 학습된 dense representation을 사용한 retrieval을 제안한다. 1. Introduction ODQA는 대량의 문서를 이용해 사실에 입각한 질문에 대한 답을 찾는 Task이다. ODQA는 아래와 같은 두 단계의 프레임워크로 이루어져있다. 기존 연구에서는 Retrieval 하기 위해서 inverted index를 활용해 키워드를 기반으로 탐색하는 TF-IDF나 BM2..
2022.12.19