본문 바로가기

Archived(IT)/배경지식_챗봇

기계독해 MRC(Machine Reading Comprehension)

기계독해(MRC)란?

기계독해(MRC)는 인공지능(AI) 알고리즘이 스스로 문제를 분석하고 질문에 최적화된 답안을 찾아내는 기술을 말합니다.
사람이 텍스트를 읽고 질문 답변을 추론하듯이 AI가 문장 속에서 의미를 찾고 답변할 수 있습니다. 추론은 불가능하지만 사람이 관련 정보를 찾기 위해 정보를 일일이 확인하지 않아도 답을 찾아낼 수 있습니다.

 

단순한 과거의 기계독해로부터 AI로 발전되기 까지

과거 기계독해는 알고리즘을 일일이 컴퓨터에 주입하는 방식으로 이뤄졌습니다. 우리는 무의식적으로 익숙해지고 변화되어가는 사고방식을 지녔지만 기계는 그렇지 않았습니다. 우리가 익숙해지는 패턴을 그대로 기계에 명령을 내리고 주입을 해야만 했습니다. 이러한 과정 자체가 많은 비용을 나아냈고 효율성에 대한 회의로 이어지게 됩니다.

 

간단한 예를 들어, 과거에는 컴퓨터에게 공놀이를 하는데 빨간색 공 3개가 온 다음에 파란색 공 1개가 온다는 방식을 주입시켰다고 가정해봅시다. 그 후에 빨간색 공이 2개 온 다음에 파란색 공이 1개 오더라도 컴퓨터는 꾸준히 이 패턴을 받아들이지 못합니다. 빨2파1 패턴이 점점 더 잦아져도 컴퓨터는 우리가 명령을 내리기 전까지 빨3파1의 패턴을 고수하게 됩니다. 이러한 규칙화, 정형화 되어있는 공놀이에서조차도 컴퓨터에게 자연스럽게 이해시키기는 쉽지 않은데 비해 언어는 더욱이 힘든 영역입니다. 문법을 벗어난 표현이 일상적으로 사용되기도 하고 문맥에 따라 다른 의미로 이해되는 경우도 있습니다. 본질적으로 앞뒤가 딱 맞아떨어지는 영역이 아니기에  알고리즘을 입력하는데 한계가 존재할 수밖에 없었습니다. 간단히 '이마트'라는 단어를 검색하는 데 있어서도 '이마트', 'e마트', 'Emart', '이mart', 'dlakxm' 등 수많은 경우의 수들이 존재하게 됩니다. 


이를 해결하기 위해 데이터베이스를 학습하는 AI가 등장했습니다. 글자와 단어, 문장을 숫자형태로 인식해 독해하는 '인간의 방식'으로 접근합니다. 컴퓨터는 글자 하나하나를 벡터값으로 인식하고 처리하게 됩니다. 이렇게 이해하는 방식을 자연어 이해방식이라고 합니다. 기계적으로 분석해 컴퓨터가 이해할 수 있는 형태로 만들거나 컴퓨터가 이해하도록 만들어진 형태를 다시 인간이 이해할 수 있는 언어로 표현하는 기술입니다. 최근 기계독해는 대부분 딥러닝 기술을 적용한 솔루션이 다수를 차지하고 있습니다. 글자와 이미지를 인식·분석하는 컴퓨터 비전(VISION), 광학문자인식(OCR) 기술 등 여러 방변에서 고도화들이 추진 중에 있습니다. 향후에는 질의응답 기술을 기반으로 전문가 수준의 의사결정지원 시스템이 개발될 수 있을 것으로 예측됩니다. 여기에는 딥러닝, 추론 등 다양한 인공지능 기술들이 활용될 예정입니다.

 

QA > 비욘드 서치

MRC의 대표적인 기술적 활용은 QA(Question Answer)입니다. 기존 검색은 DB에서 데이터를 찾고, 키워드 기반으로 검색한 결과를 리스트로 제공하는 방식입니다. QA 서비스는 이런 방식을 넘어서, 정형 데이터든 비정형 데이터든 다양한 데이터 속에서 키워드 기반이 아니라 사용자 의도를 분석해 원하는 답을 찾아줍니다. ‘비욘드 서치(Beyond Search)’라고도 이야기됩니다. MRC는 비정형 데이터에서 의미를 파악해 질문에 적합한 답을 찾는 QA의 핵심 기술입니다.

 

MRC의 기술적 한계점

현재의 MRC 기술은 누구(who), 무엇(what), 언제(when)과 같이 지문에서 문구를 찾는 것은 잘하지만 왜(why), 어떻게(how)와 같은 어려운 문제는 답을 못합니다. 답 자체가 길거나, 제시문의 특정 문구가 아니라 답을 유추해야하는 경우도 많기 때문이죠. 또한 MRC가 답을 찾아낸다고 해도, 왜 이렇게 답이 나왔는지 사람이 이해하기는 쉽지 않습니다. 이에 따라 Explainable AI에 대한 논의도 많이 이루어지고 있습니다. 

 

출처: 전자신문, 42Maru

'Archived(IT) > 배경지식_챗봇' 카테고리의 다른 글

Apache Solr(아파치 솔라)  (0) 2020.05.22
챗봇과 관련된 오해  (0) 2020.05.21
자연어 이해(Natural Language Understanding, NLU)  (0) 2020.05.18
검색 엔진(Search Engine)  (0) 2020.05.18
STT(Speech-to-Text)  (5) 2020.04.16