LLM의 발전을 통해 많은 성과를 이루면서, 이를 적용하여 많은 편리함을 가져다주는 연구또한 많이 늘어나게 되었다. 예시 연구로는 기존 논문 리뷰로 다루었던, RAG와 RAG:survey 에 관련된 논문이 있었다. RAG의 경우 비정형 데이터인 Text Document 정보를 Embedding 하여 Vector Space에 저장해놓고, Question Embedding 을 이용하여 관련한 문서를 가지고 오는 것이었다. 관련한 문서를 다르게 검색하는 방식인 Knowledge Base의 검색 과정과 질문의 전처리 방식과 관련된 연구를 공부해보기 위해 해당 논문을 읽었다. 특히 인간이 질문하는 형태는 굉장히 복합적이기에 이를 효율적으로 해결할 수 있는 방식인 Question Decompostion에 대해 관심이 많다.
해당 논문은 2023년 6월에 출간한 논문으로, AAAI conference에 등재된 논문이다.
1. Motivation
Knowledge Base Question Answering (KBQA)는 Datamining등 다양한 데이터 처리 분야에서 많이 사용되기에 많은 관심을 받아왔다. 특히 복잡한 질문을 하는 경우에 재대로 답변하지 못한다는 문제점을 해결하기 위해서 해당 논문에서는 Query Decomposition이 가장 효율적일 것이라고 생각하였다.
그렇다면 논문에서 생각한 KB를 위한 Query Decomposition의 구체적인 문제점은 무엇이라 생각하였는가?
기존 Query Decomposition 연구에서는 복합적인 Query를 단일 형태의 질문으로 나눈다고 얘기하였다. 하지만 단순히 질문의 형태(접속사, Inner Question)를 보고 질문을 한번 나누는데 그치기에, 두개이상의 다중 복합 질문에 대해서는 여전히 동일한 문제가 발생한다고 정의하였다. 특히 ComplexWebQuestion(CWQ):[Talmor and Berant. 2018]와 LC-QuAD1.0(LC):[Trivedi et al. 2017]에서는 하나 이상의 질문 형태가 있다.
"What home of the Florida Marlins is also the birthplace of a notable professional athlete who began their career in 1997?" 질문에 대한 Query Decomposition방식이다. 질문의 형태는 총 4개의 부분으로 나뉘어져있지만, 기존 seq-2-seq base model의 경우 2개로 밖에 나누지 못하는 문제점을 가지고 있다.
이러한 문제점을 해결하고자 EDGQA:[Hu et al. 2021]에서는 질문을 graph structure로 적용한다. 하지만 EDGQA는 hand-craft rule에 기반하기에 neural model을 이용하여 학습시키기 어렵다는 문제점이 있다.
→해당 논문에서는 복합적인 형태의 질문을 잘 드러내기 위해 Question Decomposition Tree (QDT)를 제시한다. Natural Language Generation (NLG)를 사용하여 만든 $Clue-Decipher$ 을 이용하여 original Question 은 해치지 않으면서 QDT를 만든다. 즉 아래 그림과 같이 question node와 설명을위한 description node로 나눈다.
QDT가 KBQA task에 잘적용되는 것을 증명하기 위해 추가적으로 QDTQA system을 제시한다.
2.Related Work
Qustion Decomposition
Question Decomposition의 방식으로는 크게 3가지 방식이 존재한다.
1) Splitting Base Method
SplitQA:[Talmor and Berant 2018] DecompRC:[Min et al. 2019] 는 point network를 이용하여 2개의 부분으로 나눈다.
2) Generative Method
1번 방법보다 일반적이며, 다른 형태의 질문에 확장성이 좋다. HSP:[Zhang et al. 2019]에서는 seq-2-seq 모델을 사용하여 sub question 을 생성하였다. 그러나 위의 그림처럼 질문을 나누는 과정중에 token이 사라져 원래 질문의 의도가 변형되기도 한다는 단점이 존재한다.
3) Rule Based Method
EDG:[Hu et al. 2021]에서는 hand-craft rule에 따라 entity 중심의 graph형태로 만든다. 해당 방법은 범위가 제한되어있으며, 반복할수록 질문 전체의 의미가 약해진다. 더 복잡한 질문에 대응하기 위해 neural network방식으로 만들기에도 어렵다.
3. Question Decomposition Tree
해당 논문에서는 Query Decomposition을 위해 tree-based model인 Question Decomposition Tree를 제시한다.
QDT는 2개의 node로 구성되어있다. Question Node, Description Node로 구성되어있다. Tree는 접속사를 의미하는 [DES] token으로 나누어지며, 내부 질문이 있을 경우 [INQ] token을 삽입한다. Inner Question 중 왼쪽 Question을 [INQL], 오른쪽일 경우 [INQR] token이 삽입된다.
해당 Idea만 가지는 특장점은 무엇인가?
- QDT는 더 많은 형태의 질문을 표현할 수 있다. 특히 Graph로 표현하기에, Entity가 아닌 경우 그래프생성이 되지 않아, 답변이 불가능하다.
- EDG(3 type of Node, 3 type of Edge)는 복잡하여 학습시키기 어렵다.
- 기존 질문을 해치지 않고, Question에 TAG만을 추가한다.
4. Question Decomposition Method
Question Decomposition을 이해하기 위해서는 $Clue-Decipher$의 구조를 이해할 필요가 있다.
$Clue-net$
한번에 완성되는 seperator형태를 만드는 것이 아닌, T5를 이용하여 질문의 token가 일부 삭제되더라도, 들어가야할 sperator을 추가한다. 즉 [INQ]와 [DES]를 추가해주는 과정이라고 생각하면 된다.
$Decipher-net$
$Clue-net$을 통해 얻은 clue에 따라 각 기호의 구체적인 삽입 위치를 찾는 과정이다. k개의 seperator을 통해 sperator가 1개씩 들어가있는 k개의 Query를 만든다. 만들어진 각 Query에 대해 seperator을 움직이면서 5개의 option을 구하고, most possible option이 최종 branch가 된다. 최종 branch에서의 seperator을 활용하여 Final QDT를 만든다.
해당방식으로 Decomposition했을때, 기존 graph based인 EDGQA와 sequenced based인 SplitQA, DecompRC, HSP보다 높은 성능을 보여주었다.
5. KBQA based on QDT
Knowledge Base에 질문을 하기 위해 SPARQL형태로 변환하기 위해 QDTQA system을 제시한다.
만들었던 QDT를 활용하여 KB에 질문하기 위해 SPARQL을 만드는 과정은 다음과 같다.
- $NER$ : GrailQA에서 사용한 NER을 사용하여 Entity를 추출한다.
- $FACC1$ : 추출된 Entity를 Freebase ID를 활용하여 Candidate Entity $CandEnt_{FACC1}$을 반환한다.
- $BERT\ Classification$ : 분류기를 활용하여 최종적인 Entity를 추출한다.
- $normalized\ s-Expression$ : 해당 Entity를 바탕으로 Data Tree형태인 S-expression을 만든다.
- $SPARQL$ : 학습시킨 T5 model을 활용하여 SPARQL형태의 Query를 만든다.
즉 정리하면 Question에서 최종 Entity와, QDT를 만들고, 3가지 정보를 NLG model T5의 input으로 넣어 Normalized S-Expression을 만든다. Normalized된 S-expression을 바탕으로 [Gu et al.2021]로 만들어 최종 질문가능 형태인 SPARQL로 만든다.
이렇게 만든 QDTQA는 CWQ와, RC에서 가장 높은 성능을 보였다.
6. Conclusion
CWQ와, RC에는 병렬적인 질문과, inner question이 많이 포함되어있어서 QDTQA가 더 잘 작동이 된 것 같다. tree base에서 QDTQA로 만드는 과정은 매우 합리적으로 보이나, Question Decomposition된 형태는 의문이 있다. 특히 해당 연구에서 제시한 inner question과, 접속사의 Target을 제시하기 위한 $Clue-Decipher$을 제시하였으므로 가장 높은 성능이 나올 수 밖에 없었을 것 같다. 하지만 실제 존재하는 질문의 경우 연결과, 질문속의 질문 이외에도 더욱 복잡한 Question이 많을 것으로 생각된다. 또한 Query Decomposition 과정에서 Seperator을 생성하는 과정에서 NLG model인 T5를 사용하였는데, 생성된 질문의 불완전성을 해소하기 위해 $Decipher$을 제시한 것은 좋으나, $Clue$가 생성한 Seperator에 의존적일 수 밖에 없다는 것은 여전히 해당 모델이 가지고 있는 약점일 것 같다.