기계 읽기 이해(MRC)는 검색 엔진에 의해 가져온 여러 문서를 분석하여 질문에 답하는 것을 필요로 한다. 단일 문장 MRC보다 다중 패스지지를 갖춘 MRC가 더 어렵다. 왜냐하면 다양한 패스에서 혼란스러운 답변 후보들이 나오기 때문이다. 이 문제를 해결하기 위해 우리는 서로 다른 패스의 답변 후보들이 그 내용 표현을 기반으로 상호 검증할 수 있는 종단 간 신경망 모델을 제안한다. 구체적으로, 세 가지 모듈을 공동으로 훈련시켜 경계, 내용 및 교차 패스지지 답변 검증에 따른 최종 답변을 예측한다. 실험 결과는 우리의 방법이 기준 모델보다 크게 우수하며, 실제 환경에서의 MRC를 위해 설계된 영어 MS-MARCO 데이터셋과 중국어 DuReader 데이터셋에서 최고 성능을 달성함을 보여주었다.
This paper addresses the challenge of Machine Reading Comprehension (MRC) on real web data, where multiple passages retrieved by search engines are analyzed to answer a question. The problem is complicated because different passages can provide confusing answer candidates, making it difficult for MRC systems to determine the correct answer. To tackle this issue, the authors propose an end-to-end neural model that includes three key modules: boundary prediction, content modeling, and cross-passage verification.
이 논문은 검색 엔진으로부터 가져온 여러 문서를 분석하여 질문에 답변하는 기계 읽기 이해(MRC) 모델을 개선하는 방법을 제안한다.
다중 패스지지원 MRC는 단일 문장 MRC보다 더 어려운 문제이다. 왜냐하면 다양한 패스지지원에서 혼란스러운 답변 후보들이 나오기 때문이다.
우리는 이러한 문제를 해결하기 위해 종단 간 신경망 모델을 제안한다. 이 모델은 서로 다른 패스지지원의 답변 후보들이 그 내용 표현을 기반으로 상호 검증할 수 있도록 설계되었다. 구체적으로, 세 가지 모듈이 공동으로 훈련되어 경계, 내용 및 교차 패스지지 답변 검증에 따른 최종 답변을 예측한다.
접근 방식
[[IMG_PROTECT_1]]
다중 패스지지원 MRC 모델의 개요를 제공하며, 이는 답변 경계 예측, 답변 내용 모델링 및 답변 검증 세 가지 모듈로 구성된다. 먼저 질문과 패스지지를 모델링한다. [[IMG_PROTECT_2]]
질문 및 패스지지원 모델링
질문 $`\matr{Q}`$와 검색 엔진으로부터 가져온 패스지지원 집합 $`\{\matr{P}_i\}`$가 주어졌을 때, 우리의 작업은 질문에 대한 가장 정확한 답변을 찾는 것이다. 먼저 질문과 패스지지원의 모델링 세부 사항을 공식적으로 제시한다.
인코딩
각 단어를 벡터 공간으로 매핑하고 단어 임베딩과 그 문자 임베딩의 합을 연결한다. 그런 다음 양방향 LSTM (BiLSTM)을 사용하여 질문 $`\matr{Q}`$와 패스지지원 $`\{\matr{P}_i\}`$를 인코딩한다.
\begin{align}
{\vec{u}}_t^Q & = \textrm{BiLSTM}_Q({\vec{u}}_{t-1}^Q, [{\vec{e}}_t^Q, {\vec{c}}_t^Q]) \\
{\vec{u}}_t^{P_i} & = \textrm{BiLSTM}_P({\vec{u}}_{t-1}^{P_i}, [{\vec{e}}_t^{P_i}, {\vec{c}}_t^{P_i}])
\end{align}
여기서 $`{\vec{e}}_t^Q`$, $`{\vec{c}}_t^Q`$, $`{\vec{e}}_t^{P_i}`$, $`{\vec{c}}_t^{P_i}`$는 $`t^{th}`$ 단어의 단어 및 문자 임베딩이고, $`{\vec{u}}_t^Q`$와 $`{\vec{u}}_t^{P_i}`$는 각각 질문 $`\matr{Q}`$와 패스지지원 $`\matr{P}_i`$에서 $`t^{th}`$ 단어의 인코딩 벡터이다.
Q-P 매칭
MRC의 중요한 단계 중 하나는 중요 정보를 강조하기 위해 질문을 패스지지원과 일치시키는 것이다. 우리는 주의 흐름 계층(Attention Flow Layer)을 사용하여 질문과 패스지지원 간에 두 방향으로 매칭을 수행한다.
질문 $`\matr{Q}`$와 패스지지원 $`i`$ 사이의 유사성 행렬 $`\matr{S} \in \mathbb{R}^{|\matr{Q}| \times |\matr{P}_i|}`$는 다음과 같이 계산된다.
\begin{equation}
\matr{S}_{t,k} = {{\vec{u}}_t^Q}^{\intercal} \cdot {\vec{u}}_k^{P_i}
\end{equation}
이어서, 문맥-질문 주의 및 질문-문맥 주의를 적용하여 질문에 대한 패스지지원 표현 $`\{{\vec{\tilde{u}}}_t^{P_i}\}`$을 얻는다. 다음으로, 새로운 BiLSTM을 적용하여 각 단어에 대한 맥락 정보를 융합하고 이 값을 패스지지원의 새로운 표현으로 간주한다.
\begin{equation}
{\vec{v}}_t^{P_i} = \textrm{BiLSTM}_M({\vec{v}}_{t-1}^{P_i}, {\vec{\tilde{u}}}_t^{P_i})
\end{equation}
이 기반 패스지지원 표현을 사용하여 모델의 세 가지 주요 모듈을 소개한다.
답변 경계 예측
답변 구간을 추출하기 위해, 대부분의 연구는 답변 경계를 찾으려고 한다. 포인터 네트워크를 사용하여 각 단어가 답변의 시작 또는 끝 위치일 확률을 계산한다.
\begin{align}
g_k^t &= {\vec{w}_{1}^{a}}^{\intercal} \tanh ( \matr{W}_{2}^a [\vec{v}_k^{P}, \vec{h}_{t-1}^{a}] ) \\
{\alpha}_k^t &= \textrm{exp} (g_k^t) / \sum\nolimits_{j=1}^{|\matr{P}|} \textrm{exp} (g_j^t) \\
\vec{c}_t &= \sum\nolimits_{k=1}^{|\matr{P}|} {\alpha}_k^t \vec{v}_k^{P} \\
\vec{h}_t^a &= \textrm{LSTM} (\vec{h}_{t-1}^a, \vec{c}_t)
\end{align}
주의 가중치를 활용하여 패스지지원의 $`k^{th}`$ 단어가 답변의 시작과 끝 위치일 확률을 얻는다. 이 경계 모델은 true start와 end 인덱스의 음의 로그 확률을 최소화함으로써 훈련된다.
답변 내용 예측
이미지 [[IMG_PROTECT_3]]
기존 연구에서는 가장 높은 경계 점수를 가진 텍스트 스패닝을 찾는 경계 모델을 사용한다. 그러나 우리의 경우, 답변 후보를 찾아내는 것뿐만 아니라 그 의미도 모델링해야 한다. 이를 위해 새로운 방법으로 각 단어가 답변에 포함되어야 하는지 여부를 예측하여 답변 후보의 표현을 얻는다.
\begin{align}
p_k^c &= \textrm{sigmoid} ({\vec{w}_{1}^{c}}^{\intercal} \textrm{ReLU} (\matr{W}_{2}^c \vec{v}_k^{P_i}) )
\end{align}
이 모델을 훈련하는 것은 간단하다. 경계 레이블을 연속적인 세그먼트로 변환하고, 답변 스패닝 내의 단어는 1로 레이블링되고 나머지는 0으로 레이블링된다.
\begin{equation}
\begin{split}
\mathcal{L}_{content} = & - \frac{1}{N} \frac{1}{|\textrm{P}|} \sum_{i=1}^N \sum_{j=1}^{|P|} [ y_k^c\log p_{k}^c \\
& + (1-y_k^c)\log (1 - p_{k}^c)]
\end{split}
\end{equation}
답변 내용 확률은 경계에 대한 또 다른 측정을 제공한다. 또한 이러한 확률을 통해 각 패스지지원에서 답변을 단어 임베딩의 가중 합으로 표현할 수 있다.
\begin{align}
\vec{r}^{A_i} = \frac{1}{|\matr{P}_{i}|}\sum\nolimits_{k=1}^{|\matr{P}_{i}|} p_k^c [{\vec{e}}_k^{P_i}, {\vec{c}}_k^{P_i}]
\end{align}
교차 패스지지원 답변 검증
경계 모델과 내용 모델은 각각 단일 패스지지원 내에서 답변을 추출하고 모델링하는데 초점을 맞추지만, 다른 패스지지원 정보에 대한 고려는 적다. 여러 패스지지원에서 나오는 다양한 답변 후보들 중 일부가 MRC 시스템이 잘못된 예측을 하게 만드는 경우도 있다. 따라서 우리는 답변 후보들이 서로 정보를 교환하고 검증할 수 있도록 교차 패스지지원 답변 검증 과정을 제안한다.
답변 후보의 표현 $`\{\vec{r}^{A_{i}}\}`$가 주어졌을 때, 각 답변 후보는 다른 후보들에게 주의 메커니즘을 통해 지원 정보를 수집한다.
\begin{align}
s_{i, j} &=
\begin{cases}
0, & \text{if } i=j, \\
{\vec{r}^{A_i}}^{\intercal} \cdot \vec{r}^{A_j}, & \text{otherwise}
\end{cases}
\\
{\alpha}_{i, j} &= \textrm{exp} (s_{i, j}) / \sum\nolimits_{k=1}^{n} \textrm{exp} (s_{i, k}) \\
\vec{\tilde{r}}^{A_i} &= \sum\nolimits_{j=1}^{n} {\alpha}_{i, j}\vec{r}^{A_j}
\end{align}
여기서 $`\vec{\tilde{r}}^{A_{i}}`$는 주의 가중치를 기반으로 다른 패스지지원에서 수집된 검증 정보이다. 이 값을 원래 표현과 함께 완전히 연결된 계층을 통해 전달한다.
\begin{align}
g_{i}^v &= {\vec{w}^v}^{\intercal} [\vec{r}^{A_i}, \vec{\tilde{r}}^{A_i}, \vec{r}^{A_i} \odot \vec{\tilde{r}}^{A_i} ]
\end{align}
이 값을 모든 패스지지원에 대해 정규화하여 답변 후보 $`A_i`$의 검증 점수를 얻는다.
\begin{equation}
p_i^v = \textrm{exp} (g_i^v) / \sum\nolimits_{j=1}^{n} \textrm{exp} (g_j^v)
\end{equation}
검증 모델을 훈련하는 데는 패스지지원의 정답 답변을 사용한다. 이 손실 함수는 올바른 답변의 음의 로그 확률로 표현된다.
\begin{equation}
\mathcal{L}_{verify} = - \frac{1}{N} \sum_{i=1}^N \log p_{y_i^v}^{v}
\end{equation}
통합 훈련 및 예측
이상에서 설명한 것처럼, 우리는 여러 패스지지원에 대한 읽기 이해 모델을 정의한다: 1. 답변 경계를 찾는 것; 2. 각 단어가 답변에 포함되어야 하는지 예측하는 것; 3. 교차 패스지지원 답변 검증을 통해 최선의 답변을 선택하는 것.
\begin{equation}
\mathcal{L} = \mathcal{L}_{boundary} + \beta_{1} \mathcal{L}_{content} + \beta_{2} \mathcal{L}_{verify}
\end{equation}
답변 예측 시, 우리는 경계 점수, 내용 점수 및 검증 점수를 고려한다. 각 패스지지원 $`i`$에서 가장 높은 경계 점수를 가진 답변 후보 $`A_i`$를 추출하고, 이 경계 점수는 답변 구간의 시작과 끝 확률의 곱으로 계산된다. 그리고 각 답변 후보 $`A_i`$에 대해 모든 단어들의 내용 확률을 평균하여 $`A_i`$의 내용 점수를 얻는다. 또한 검증 모델을 사용하여 $`A_i`$의 검증 점수도 예측할 수 있다.
따라서, 이 세 가지 점수의 곱으로 모든 답변 후보에서 최종 답변을 선택한다.
이 글은 ArXiv의 공개 자료를 바탕으로 AI가 자동 번역 및 요약한 내용입니다.
저작권은 원저자에게 있으며, 인류 지식 발전에 기여한 연구자분들께 감사드립니다.