내멋대로 기계독해(MRC) - 타입편 #2

    기계독해(MRC)는 만드는 사람 맘이기 때문에 사실 다양한 방법들이 존재한다. 챗봇을 하나 만들어도 다양한 기법들이 존재하는 것처럼 챗봇과 본질적으로 유사한 기계독해 역시 마찬가지이다. 다만 기계독해는 문서를 기반으로 공부를 해야 한다는 차이가 있을 것이다.

     

    기계독해 타입들

    아래는 필자가 생각하는 기계독해의 타입들이라 생각한다. 물론 다양한 기법들이 존재하지만 대표적으로 몇가지만 끄적여 보았다.

     

     

    1. 학습없이 진행하는 실시간 타입

    가. 질문에 해당하는 가장 유사한 문장을 찾기

    나. 해당 문장에서 가장 적합한 답변을 추출하기

     

    이렇게 적으니 엄청 심플해 보인다. 

    엄청 간단해보이지만, 사실 위 내용을 구현하기 위해서는 인덱스를 추출하고 어느정도 의미를 추출해야만 가능하다. 

     

     

    2. 질문과 문장을 학습한 나름 딥러닝 모델

    가. 질문에 해당하는 가장 유사한 질문을 찾기

    나. 해당 질문과 연결된 문장을 찾기

    다. 문장에서 가장 적합한 답변을 추출하기

     

    유사한 질문을 찾을 때, similarity 알고리즘을 이용하거나 검색을 이용할 수 있지만 2번째 방법은 딥러닝을 활용할 수 있거나 LSA와 같은 나름 머신러닝 모델들을 사용할 수 있다. 1번 패턴보다는 뭔가 구현과정이 좀 더 인공지능 스러워 보인다.

     

     

    3. 문장에 질문과 답변을 추출하는 모델

    가. 문장에서 질문과 답변들을 생성한다

    나. 생성된 질문과 답변을 학습한다

    다. 질문을 하면 답변이 한번에 리턴하는 구조가 완성된다

     

    3번 방식의 장단점은 너무나도 명확하다. 장점은 가장 딥러닝스럽다는 것이고, 단점은 학습을 해야 하는 시간이 존재한다는 것이다. 거기에 질문과 답변을 생성하는 엄청나게 힘들고 고된 작업이 필요하다. 좀 더 쉽게 설명하면 의 작업은 시멘틱(simentic)을 구현해 내야 한다.

     

    위키피디아에 임진왜란의 내용을 찾으면 이런 내용이 있다.

    임진왜란(壬辰倭亂)은 1592년(선조 25) 일본 도요토미 정권이 조선을 침략하면서 발발하여 1598년(선조 31)까지 이어진 전쟁이다.

    이 내용을 기반으로 질문과 답변을 생성한다고 하면 한개만 나오는 것이 아니다.

    가. 임진왜란은 몇년에 발생하였나
    나. 임진왜란은 언제까지 이어졌나
    다. 임진왜란은 누가 침락하였나
    라. 임진왜란에 침략당한 나라는 어딘가
    마. 1592년 조선에 무슨 일이 벌어졌는가?
    바. 1592년 일본 도요토미 정권이 무슨 일을 벌였는가?

     

    사실 질문을 너무나도 많이 만들 수 있기 때문에 불가능 수준으로 느껴진다. 그렇기에 위와 같은 수준의 질문과 답변을 생성하는 것은 개인이 진행할 수 없고 꽤 많은 사람들(개발자, 언어학 전공)이 뭉쳐서 오랜기간 진행하지 않으면 불가능하다. 

     

     

    댓글

    Designed by JB FACTORY