[Technology Toolkit 2021]
복잡한 표도 이해하는 똑똑한 QA 모델

복잡한 표도 이해하는 똑똑한 QA 모델

Technology Toolkit 2021은 삼성SDS 연구소에서 연구개발 중인 주요 기술들을 설명하는 기술 소개서입니다.
AI, Blockchain, Cloud, Security 기술 분야의 총 7개 기술에 대해서 각각 기술 정의, 주요 기능, 차별화 포인트 및 Use Cases를 소개하여 독자 여러분께 인사이트를 제공하고자 합니다.

기계독해 QA

복잡한 구조도 이해하는 기계독해 기반 질의응답 기술

문서 다운로드

1. 기술 소개

기술 동향 및 배경

COVID-19 팬데믹을 계기로 Digital Workplace의 필요성이 대두되면서 회사에 산재되어 있는 다양한 양질의 정보들을 하나로 통합하고, 필요한 내용을 검색하여 적시에 인사이트를 얻는 일이 보다 중요해지고 있습니다. 이러한 요구에 따라 대용량 문서를 대상으로 사용자의 질문에 똑똑하게 대답하는 Question Answering(QA) 시스템에 관한 관심이 커지고 있습니다. 필요한 정보를 빠르고 정확하게 찾는 기계독해, 시맨틱 검색 등의 자연어 처리와 자연어 이해 기술의 필요성이 부각되고 있는 이유입니다.

그중에서도 기계독해 기술 기반의 질의응답 시스템에 관한 연구는 2016년 SQuAD(Stanford Question Answering Dataset) 공개를 시작으로 최근까지 활발하게 이루어지고 있습니다. 그 과정에서 BERT를 필두로 많은 언어 모델과 다양한 벤치마크 데이터가 공개되었고, 인간의 수준을 넘어서는 기술적 성과를 이루어내기도 했습니다. 기계독해의 발전을 통해 얻은 대표적인 성과 중 하나는 질문과 대상문서를 기계가 “이해”하고 정답을 제공할 수 있게 되었다는 점입니다. 이는 키워드 매칭 기반의 단순 “검색” 결과를 제공하는 것에서 한 발짝 더 나아간 것이라 할 수 있습니다. 또한 최근에는 문서들을 “이해”하는 수준을 넘어 “추론” 과정을 통해 원하는 정답을 더욱 정확하게 제공할 수 있는 기술 연구가 활발히 진행되고 있습니다.

챗봇, 검색 엔진을 포함한 다양한 분야에서 고도화된 QA 기술을 필요로 합니다. 이러한 시장의 니즈는 기계독해 QA에 관한 연구를 더욱 촉진하고 있습니다. 이에 삼성SDS는 지속적인 기술 리더십을 확보하고 서비스에 적용하는 과정을 통해 양질의 QA 서비스를 제공하고자 합니다.

기술 정의

기계독해 QA는 사람이 자연어로 하는 질문과 대상문서의 내용을 모델을 통해 기계가 이해하고 자동으로 답할 수 있는 기술을 말합니다. 대표적인 Question Answering Dataset인 SQuAD의 경우, 지난 2018년 1월 이미 사람의 수준을 넘어섰습니다.

최근에는 전체 문서 중 질문에 대한 대상문서를 특정하지 않은 상태에서도 질문에 대한 답을 찾을 수 있는 방향(오픈 도메인 QA)으로 연구개발이 진행 중입니다. 이전의 QA 시스템들은 질문과 함께 대상문서를 입력해야 답을 제공한다는 점에서 현실적인 서비스를 제공하는 데 어려움이 있었습니다. 이러한 기존 QA의 한계를 극복하고 주어진 질문에 대답하기 위해 대상문서를 자동으로 찾는 기술을 개발하여 활용하고 있습니다. 일반적인 기계독해 기술의 정의와 함께, 독해를 넘어 추론까지 가능하게 하는 기술인 다중도약 질의응답 기술에 대해서 간략하게 알아보겠습니다.

    [그림 1] 기계독해 QA 구성 [그림 1] 기계독해 QA 구성*

* 벤치마크 데이터:
 KorQuAD1.0 https://korquad.github.io/category/1.0_KOR.html
 KorQuAD2.0 https://korquad.github.io/
 Hotpot https://github.com/hotpotqa/hotpot

① 기계독해

기계독해(Machine Reading Comprehension, MRC)는 사람이 자연어로 하는 질문과 주어진 대상문서의 내용을 기계가 이해하고 자동으로 대답할 수 있는 기술을 말합니다. 기계독해와 관련한 벤치마크 데이터는 앞서 언급한 SQuAD와 KorQuAD가 대표적입니다. SQuAD는 영문 Wikipedia 문서들을 크라우드소싱하여 대상 질문들을 모으고, 정답을 해당 페이지 내의 특정 부분에 존재하도록 설계한 데이터 세트입니다. KorQuAD는 SQuAD와 유사하며, 한글 Wikipedia 문서들을 크라우드소싱하여 만든 데이터 세트입니다. 특히, KorQuAD 2.0의 경우, 표나 리스트를 포함한 HTML 문서상에서 답을 찾을 수 있다는 데 그 의미가 큽니다.

기계가 문서를 읽고 잘 이해할 수 있게 하기 위해서는 어휘의 의미나 문맥을 이해하는 의미론적 정보를 이용할 수 있어야 합니다. 이를 시맨틱 검색(Semantic Search)이라고 하는데, 언어 모델 등을 이용하여 문장이나 문서의 의미론적 정보를 밀집 행렬(Dense Matrix)로 인코딩하여 사용합니다. 이는 정확한 키워드 매칭이 부족한 경우에도 검색이 가능하다는 장점이 있지만, 검색 시간이 오래 걸린다는 단점이 있습니다. 한편, 속도 이슈를 해결하기 위한 연구가 활발하게 전개되고 있는데, 2018년에 Facebook이 공개한 FAISS(Facebook AI Similarity Search)를 시작으로 실제 문제 해결에 활용할 수 있는 수준의 모델들이 계속해서 공개되고 있습니다.

    [그림 2] 기계독해 예시 [그림 2] 기계독해 예시(출처: https://ko.wikipedia.org/wiki/대한민국)

② 다중도약 QA 기술

다중도약 질의응답(Multi-hop Question Answering)은 두 개 이상의 문서를 참조하여 질문에 답을 하는 기술입니다. 이 기술의 핵심 중 하나는 주어진 질문에 대답하기 위해서 필요한 문서들을 추려내는 것입니다. 이를 위해서 지식베이스(Knowledge Base)를 적극적으로 활용하고 있습니다. 지식베이스는 데이터에서 미리 지식을 추출하여 사용하기 좋은 형태로 저장한 데이터베이스입니다. 가장 대표적인 지식베이스로는 Google이 활용하고 있는 지식 그래프(Knowledge Graph)가 있습니다. 지식 그래프를 비롯한 많은 지식베이스에서 그래프 데이터베이스를 활용하고 있습니다. 그래프 데이터베이스의 사용을 통해 데이터와 더불어 데이터 간의 관계 정보 등 추가 지식도 효율적으로 저장하고 관리할 수 있습니다.

삼성SDS는 문서들에서 지식을 추출하여 다중도약 질의응답에 적절한 지식베이스 형태로 구축/관리하는 기술과 구축한 지식베이스를 활용하여 실제 다중도약 질의응답을 실행하는 기술을 개발하여 활용하고 있습니다. 또한 개체명 인식(Named Entity Recognition), 관계 추출(Relation Extraction), 그래프 완성(Graph Completion), 그래프 인공 신경망(Graph Neural Network), 문서 탐색(Document Retrieval) 등의 다양한 기술을 활용하고 있습니다.

    [그림 3] 다중도약 질의응답 예시 [그림 3] 다중도약 질의응답 예시
(출처: https://en.wikipedia.org/wiki/Maroon_5, https://en.wikipedia.org/wiki/Adam_Levine)

2. 주요 기능

삼성SDS의 기계독해 QA 시스템은 국내외 최고의 MRC 기술을 기반으로 다양한 종류의 질의에 대해 응답을 제공합니다.

표와 리스트 이해하는 QA

문서가 표나 리스트를 포함하고 있는 경우에도 적용이 가능합니다. 일반적으로 많은 문서가 텍스트 외에도 표나 리스트를 포함하고 있습니다. 다양한 문서를 대상으로 하는 QA 시스템은 표와 리스트에서도 필요한 정보를 찾을 수 있어야 합니다. 삼성SDS의 MRC 기술은 자연어뿐만 아니라, 표와 리스트를 함께 학습하여 필요한 정보를 다양한 형태에서 찾는 것이 가능합니다.

    [그림 4] 표와 리스트 구조 이해 [그림 4] 표와 리스트 구조 이해(출처: https://ko.wikipedia.org/wiki/부천_FC_1995_2016_시즌 / Supportings 일부 수정)

장문으로 답변 가능한 QA

질문의 유형에 따라 단답형으로 대답할 수 없는 경우도 있습니다. 어떤 대상에 대해 전반적인 설명을 하거나, 과정에 대한 설명이 필요한 경우가 대표적입니다. 삼성SDS의 MRC 기술은 장문을 이해하는 기술과 장문으로 답변하는 기술을 통해 다양한 길이의 답변이 필요한 질문에 유연하게 대응할 수 있습니다.

    [그림 5] 장문 답변 예시 [그림 5] 장문 답변 예시(출처:『황반변성의 모든 것』, 유형곤 외 6명, 라온누리, 2011)

두 문서 이상을 참조하여 추론 가능한 QA

어떤 질문들은 두 개 이상의 문서를 참고해야만 답을 찾을 수 있는 경우가 있습니다. 삼성SDS의 QA 시스템은 답의 근거가 될 수 있는 여러 개의 문서를 찾아서 이들을 연결하는 다중도약 QA 기술을 통해 여러 문서에 기반한 답변을 제공할 수 있습니다.

하지만, 다중도약 QA는 단순히 답만 제시하는 것으로는 사용자가 그 답변을 신뢰하기 어렵습니다. 정답의 근거가 되는 문장이나 문단 등을 답변과 함께 제시함으로써 이해 가능한 질의응답 경험을 제공합니다. 이를 통해 사용자는 질문의 정답뿐 아니라 그 배경지식 또한 알 수 있게 되고, 혹시 오답을 제공하게 되는 경우에도 사용자는 함께 제공된 근거 지식을 참고하여 왜 이러한 답이 제공되었는지를 알 수 있게 됩니다. 결과적으로 사용자는 제공된 답을 더욱 신뢰할 수 있게 할 수 있습니다.

    [그림 6] 두 문서 이상을 참조하는 예시 [그림 6] 두 문서 이상을 참조하는 예시*

* 출처: https://en.wikipedia.org/wiki/BTS (Supportings 일부 수정)
   https://en.Wikipedia.org/wiki/Big_Hit_Entertainment (Supportings 일부 수정)

3. 차별화 포인트

삼성SDS는 국내외 최고 수준의 기계독해 및 QA 기술을 확보하고 있습니다. 기존의 기계독해 QA 기술이 자연어로만 이루어진 문서에서 단답형의 답변만 가능했던 것을 넘어 표나 리스트를 이해하고, 장문으로 답변할 수 있으며, 여러 문서를 대상으로 한 질문에도 대응할 수 있는 기술력을 확보했습니다.

이를 바탕으로 국내외 다수의 경진대회에서 기술적 우위를 선점한 바 있습니다. 영문 데이터를 대상으로 하는 HotPotQA, 한글 데이터를 대상으로 하는 KorQuAD 1.0와 KorQuAD 2.0 등을 포함하여 영문/한글 모두 우수한 성능을 자랑합니다. 특히, KorQuAD 2.0의 경우 지난 2020년 4월 삼성SDS의 모델로 사람의 수준을 최초로 넘어섰으며, 표나 리스트를 포함한 HTML 문서상에서 답을 찾을 수 있었다는 데에 그 의의가 컸습니다. 삼성SDS의 기계독해 QA 기술은 ‘21년 1월 6일 기준 KorQuAD2.0과 HotPotQA Leaderboard에서 1위를 차지하였습니다.

4. Use Cases

Case 1 : 가상 상담사

챗봇 등을 통한 가상 상담사를 구성하는 과정에서 정해진 대화 시나리오 이외의 질문이 입력된 경우 기계독해 QA를 활용하여 적절한 답변을 제시할 수 있습니다.

    [그림 7] 가상 상담사 시나리오 [그림 7] 가상 상담사 시나리오

Case 2 : 모니터링 시스템

질병, 지지율, 특정 기술 동향을 모니터링하는 시스템에 활용 가능합니다. 정보 수집 및 분석 과정을 보다 효율적으로 바꿔줄 수 있으며, 결과에 대한 신뢰도를 높일 수 있습니다.

    [그림 8] 모니터링 시스템 시나리오 [그림 8] 모니터링 시스템 시나리오

5. 비즈니스 사례

앞서 살펴본 Use Cases를 발전시켜 실제 업무에 적용하고 있습니다. 기계독해 QA 서비스를 삼성SDS 지식관리 시스템에 적용 예정입니다. 임직원들의 정보 요구를 정확하게 파악하여 정보 검색 시간과 비용을 절감하고, 결과적으로 사내 시스템 활용도를 제고하며 업무 효율을 향상할 수 있을 것으로 기대합니다. 특히, 표나 리스트를 포함하는 복잡한 구조의 문서에 적극 활용할 계획입니다. 다양한 형태의 게시판, 사내 뉴스, 개발자 포털 등을 통합하여 한 번에 똑똑하게 검색할 수 있는 스마트 검색 시스템을 구축하고 여러 복잡한 구조의 문서에서도 신뢰도 높은 결과를 제공할 수 있도록 구상하고 있습니다.
    [그림 9] 지식관리 시스템 기계독해 QA 서비스 적용 [그림 9] 지식관리 시스템 기계독해 QA 서비스 적용 한편, 고객의 통합 검색 서비스 고도화를 진행 중입니다. 신규 데이터와 시스템에 대한 인덱싱을 개선하고 문서 분석 기반의 검색 기능을 향상하여 사용자 검색 만족도를 제고할 수 있을 것으로 기대합니다.

6. 맺음말

기계독해 기술의 발전으로 사용자가 대상문서를 지정않아도 되고, 문서 내에 포함된 키워드를 그대로 질문하지 않아도 똑똑하게 대답할 수 있는 QA 서비스가 가능하게 되었습니다. 이는 기존의 검색 엔진을 넘어 진정한 대화형 인공지능의 개발을 가능하게 하는 기술이라고 할 수 있습니다. 최근 비대면 업무가 보편화하면서 보험, 은행 등 금융권에서 챗봇이나 QA 시스템이 적극적으로 도입하고 있고, 호텔 내 비대면 헬프 데스크가 등장하고 있습니다. 이런 점에서 앞으로 기계독해 기반 QA 기술에 대한 니즈는 훨씬 더 많아질 것입니다.

다만, 앞으로 보완해야 하는 기술적인 이슈들이 있습니다. 예를 들면, 주어진 지문 안에서 질문에 대한 내용이 없는 경우, 오답 대신 답변이 없다는 사실 자체를 답으로 제공할 수 있는 QA 서비스에 제약이 있다는 것입니다. 이 부분에 대한 기술이 더 발전하면 사용자가 체감하는 검색 성능은 훨씬 개선될 것이며, 실제 사업에 적용할 때 수작업을 최소화하면서 제대로 된 상용화 서비스를 제공할 수 있게 될 것입니다. 하나의 서비스뿐만 아니라, 서로 관련 있는 여러 서비스가 하나의 지식 그래프를 공유함으로써 정보 또는 서비스 간의 이동을 자연스럽게 하는 새로운 검색 경험을 제공할 수 있을 것으로 기대합니다. 그리고 오프 도메인 QA와 해외 시장 진출을 위한 다국어 버전의 연구를 진행 중인데, 하나하나 해결해 가면서 검증된 기술력을 바탕으로 더 다양한 서비스를 선보일 수 있도록 하겠습니다. 계속해서 관심을 가져주시길 부탁드립니다.


# References
[1] https://korquad.github.io/category/1.0_KOR.html (KorQuAD1.0)
[2] https://korquad.github.io/ ( KorQuAD2.0)
[3] https://github.com/hotpotqa/hotpot (Hotpot)



▶  해당 콘텐츠는 저작권법에 의하여 보호받는 저작물로 기고자에게 저작권이 있습니다.
▶  해당 콘텐츠는 사전 동의 없이 2차 가공 및 영리적인 이용을 금하고 있습니다.


공유하기 열기
권순환, 신승현, 이민영
권순환, 신승현, 이민영 인공지능/애널리틱스 전문가

권순환 | 삼성SDS 연구소 ML연구팀
NLP 및 딥러닝 개발 경험을 바탕으로, 딥러닝을 응용한 Open Domain Question Answering 시스템을 연구하고 있습니다.

신승현 | 삼성SDS 연구소 ML연구팀
삼성SDS AI선행연구Lab에서 AI를 연구하고 있습니다. 주요 관심분야는 자연어처리 기술입니다.

이민영 | 삼성SDS 연구소 ML연구팀
삼성SDS ML연구팀 Principal Data Scientist로 Question Answering 기술 개발을 리딩하고 있습니다.

Technology Toolkit 2021에 소개한 기술에 대해 문의사항이 있으시거나, 아이디어, 개선사항 등 의견이 있으시면, techtoolkit@samsung.com으로 연락해 주세요.