나의 연구일지 | ‘Ko-Book NLP’ 개발자 김규희 씨·이수린 씨

소설 속 등장인물의 감정을 이해하고 독자의 취향에 맞게 작품을 추천해 주는 기술이 있다면 어떨까. 김규희 씨(언어학과·18·졸)와 이수린 씨(언어학과·19)는 인간처럼 문학을 읽어내는 인공지능을 만들자는 목표에서 출발해, 2021년부터 3년간 컴퓨터가 소설을 이해하는 프로그램을 만들기 위한 기초 연구에 매진했다. 2023년 학계 최초로 한국어 소설 기반 자연어 처리 프로그램 ‘Ko-Book NLP’를 고안해 지난 1월 기초교육원 ‘학부생연구지원프로그램 우수연구 발표회’에서 장려상을 수상한 두 사람을 만났다.

 

창업팀으로 뭉쳐 프로그램 개발까지

김규희 씨와 이수린 씨가 개발한 ‘Ko-Book NLP’는 한국어 소설 속 등장인물을 분별하고, 소설 속 대사가 어떤 등장인물이 말한 것인지 찾아내는 프로그램이다. 이는 컴퓨터가 인간의 언어를 이해, 생성, 처리하게 해주는 자연어 처리 기술(Natural Language Processing, NLP)을 사용해 만든 것이다. 

평소 문학과 공학에 관심을 두고 있던 두 사람은 웹소설을 분석해 사용자의 취향에 따라 추천하는 서비스 개발을 목표로 ‘2021년 서울대학교 창업동아리 경진대회’에서 처음 뭉쳤다. 김규희 씨는 “컴퓨터가 소설을 이해하고 추천하려면 먼저 소설 속 대사 발화자를 찾을 수 있어야 한다고 생각했다”라며 연구가 출발한 시점을 떠올렸다. 이들은 대회 준비 과정에서 기초교육원이 운영하는 교과목 ‘학부생자율연구1’을 수강하며 소설 속 대사 발화자를 판단하는 모델*을 구현하는 데 힘썼다. 김규희 씨는 이 모델이 “대화 주변 맥락과 대사에 사용된 호칭, 말투 등을 단서로 글에 명시되지 않은 발화자를 알아낼 수 있다”라고 소개했다. 두 사람은 이 연구를 발판 삼아 2021 서울대학교 창업동아리 경진대회에서 웹소설 추천 서비스의 초기 모델을 제안해 최우수상을 받았다.

이후 2023년, 이들은 기초교육원 ‘학부생연구지원프로그램’에서 소설 속 대사 발화자 판단 모델을 발전시켜 ‘Ko-Book NLP’를 만들었다. Ko-Book NLP를 이루는 모델은 기존의 대사 발화자 판단 기능에 더해 소설 속 등장인물을 구별하는 ‘개체명 인식’과 ‘상호참조해결’ 기능까지 갖췄다. 구체적으로 개체명 인식 기능은 등장인물을 다른 단어와 분별한다. 김규희 씨는 “‘하늘’이라는 단어가 ‘김하늘 씨’처럼 인물을 가리킬 때와 자연을 뜻할 때를 구분하는 것”이라며 예를 들었다. 한편 상호참조해결 기능은 같은 인물을 가리키는 서로 다른 단어를 찾고 연결하는 작업이다. 예컨대 ‘김 첨지’ ‘김 서방’ ‘김 선비’가 모두 한 사람을 지칭한다는 것을 알아내는 것이다. 김 씨는 “Ko-Book NLP가 수행하는 세 가지 작업은 컴퓨터가 소설을 이해하기 위해 선행돼야 하는 기초 단계다”라고 설명했다. 

*모델: 컴퓨터에서 특정 작업을 수행하는 일련의 코드. 

 

고민 끝에 탄생한 한국어 맞춤 분석 가이드라인

Ko-Book NLP를 만들기 위해 연구팀은 영어에 기반한 기존 연구를 한국어에 맞게 바꾸는 과정을 거쳐야 했다. 이수린 씨는 “영어와 달리 한국어 문학을 분석하는 NLP 선행연구가 거의 없는 상황에서 언어적으로 다른 한국어 모델을 만드느라 고전했다”라고 털어놨다. 영어와 한국어의 차이에 대해 그는 “영어 문장은 띄어쓰기 기준으로 의미가 구분되지만 접사, 조사, 보조 용언 등이 있는 한국어 문장은 의미 단위를 더 잘게 나눠야 한다”라고 설명했다. 한국어는 영어와 달리 이름 대신 직책과 관계를 중심으로 사람을 호칭하는 점도 큰 차이다. 김규희 씨는 “영어에서는 보통 ‘버넷 부인’, ‘미스터 소여’처럼 호칭에 이름을 밝히지만, 우리말에서는 흔히 ‘김 선생님’, ‘길동이 엄마’처럼 직책이나 인물 간 관계를 나타내는 호칭만을 쓴다”라고 설명했다. 

연구팀은 한국어에 맞는 자연어 처리 방식을 고안하기 위해 해외 선행연구 결과와 함께 한국전자통신연구원 및 국립국어원의 자료를 통합해 한국어 소설을 분석하기 위한 가이드라인을 만들었다. 이 가이드라인에 따라 17명의 주석자들이 한국근현대소설 50편에서 각 등장인물의 이름과 이들의 대사를 분별하고, 같은 등장인물을 지칭하는 각기 다른 단어를 연관짓는 작업을 했다. 이렇게 만든 자료가 모여 데이터셋이 구축됐다. 김규희 씨는 “참고 자료에서 등장인물 지칭어를 인식하고 구분하기 위한 지침을 일일이 비교하며 한국어에 적합한 항목을 추가했다”라며 “목록을 더욱 정밀하게 구성하고자 파일럿 테스트도 진행했다”라고 회상했다. 이수린 씨는 “한국어 특성을 최대한 반영하기 위해 가이드라인을 수차례 수정했다”라며 연구 과정을 통틀어 가이드라인 제작에 가장 공을 들였다고 말했다.

 

발전 거듭할 Ko-Book NLP

Ko-Book NLP가 한국어 소설 분석에 본격적으로 활용되기까지는 아직 많은 과제가 남아있다. 연구를 지도한 이상아 교수(언어학과)는 “Ko-Book NLP는 한국어 소설에 기반한 최초의 자연어 처리 라이브러리*라는 점에서 큰 의미가 있다”라고 연구의 의의를 짚으면서도 “이 연구에서는 소설 50편만으로 데이터셋을 마련했기에 컴퓨터가 더 다양한 문체를 처리할 수 있도록 데이터셋이 확장돼야 한다”라고 말했다. 김규희 씨는 “Ko-Book NLP는 기초적인 코딩 능력이 있어야 가동할 수 있다”라며 아쉬움을 전하기도 했다.

이들은 지금까지 거둔 성과를 바탕으로, 소설을 완전히 이해하는 프로그램을 만들기 위해 계속해서 연구물을 발전시킬 계획이다. 연구팀은 지난 1월 Ko-Book NLP 연구를 마무리한 뒤 ‘눈물을 흘리다’처럼 간접적으로 감정을 나타내는 말에서 ‘슬픔’이라는 감정을 추론하는 모델로 연구를 한층 발전시켰다. 김규희 씨는 “기존 연구 결과와 지난 1월에 개발한 모델이 각각 한 편의 논문으로 이번 달 중에 발행될 예정이다”라고 소개했다. 이상아 교수는 “더 많은 작품을 데이터셋에 추가해 새로운 작품을 분석할 수 있는 모델이 구축되면 문학 속 등장인물의 관계와 그 변화까지 알아내는 컴퓨터 프로그램을 만들 수 있을 것”이라고 내다봤다.

*라이브러리: 프로그램의 일부 기능을 수행하는 프로그램의 구성요소. 

 

사진: 손가윤 기자

yoonpat2701@snu.ac.kr

저작권자 © 대학신문 무단전재 및 재배포 금지