시작하며
인공지능의 시작은 꽤나 오래되었습니다. 첨단 기술이다 보니 최근에 등장했을 것 같지만, 알고 보면 1940년대 후반 초기 컴퓨터의 등장과 함께 인공지능에 대한 연구*도 시작된 것으로 알려져 있습니다.
그래서인지 인공지능의 존재는 꽤나 친숙한 편입니다. 이미 사람들은 다양한 형태의 인공지능에 대해 상상해 왔거든요. 스크린에서는 고도로 발달한 인공지능이 인간을 지배하려 전쟁을 일으키기도 하고, 미지의 외계인과 번역기를 통해 자유롭게 의사소통하기도 합니다. 다만 인공지능에 대한 막연한 상상에서 비롯한 기대와 두려움에 비해 아직은 실제 우리 삶에 큰 영향을 주지 못한 것도 사실입니다.
그런데 그런 인공지능의 존재가 우리 곁에 성큼 다가왔음을 느끼게 만든 큰 사건이 일어났습니다. 바둑 대결에서 인간 최고수 이세돌 9단이 알파고에 패배한 일이죠. 이전까지 체스에서는 기계가 인간을 이기기도 했지만, 바둑은 경우의 수가 훨씬 많아 인간을 넘어서기 어렵다고 여겨졌습니다.
이런 인공지능의 한계에 대한 편견을 깨뜨리고, 알파고의 화려한 등장을 가능하게 한 일등공신은 딥러닝 기술입니다. 기계에 방대한 데이터를 학습시켜 문제를 해결할 확률을 높이는 것이죠. 알파고는 오랫동안 축적된 바둑의 기보(棋譜)* 학습에서 출발해 방대한 자가 학습까지 거치며 성능을 고도로 향상시킨 겁니다.
인공지능 번역과 말뭉치
인공지능은 복잡한 전략적 사고가 필요한 바둑에서 인간을 가볍게 넘어섰습니다. 그런데 왜 아직도 구글 번역기나 파파고는 인간 번역사를 넘어서기는 커녕 번역 오류가 많이 나올까요?
어쨌든 유한한 경우의 수를 계산하면 되는 바둑에 비해 언어는 훨씬 더 방대한 세계입니다. 언어의 표현은 시대나 지역, 심지어 사람이나 상황에 따라서도 변화하죠. 적합한 표현에 대한 판단 기준을 사람이 만들어줘도 워낙 변수가 많다 보니 기계가 스스로 판단하기 힘들 수 밖에 없습니다.
무엇보다 바둑의 기보와 같이 기계를 학습시킬 데이터가 충분치 않습니다. 그나마 용어가 한정된 전문 분야와 상대적으로 데이터가 많은 영어의 번역은 좀 나은 상황이죠. 반면 영어 이외의 언어나 일상에서 쓰는 구어체에 대한 데이터는 아직도 부족한 상황입니다.
그런 이유로 현재 번역기의 성능을 높이는 가장 확실한 방법은 데이터를 잘 만드는 겁니다. 번역기를 학습시키는 교과서 역할을 할 양질의 데이터가 있으면 자연스레 번역기의 성능도 좋아지게 되죠. 예를 들어 한영 번역기를 학습시키는 데이터는 한국어-영어로 구성된 문장 쌍입니다. 이런 문장 쌍을 전문 용어로 말뭉치*라고 합니다.
물론 우수한 모델이 전제되어야 하지만, 말뭉치를 잘 구축하는 것도 기계 번역기의 성능을 향상시키기 위해 매우 중요한 일입니다. 그래서 LETR에서도 양질의 말뭉치를 최대한 확보하기 위해 많은 노력을 기울이고 있습니다.
이상으로 인공지능 번역기를 학습시키는 말뭉치에 관해 준비한 첫 번째 이야기를 마칩니다.
다음에는 말뭉치의 생성, 즉 실제 말뭉치 구축 프로세스에 대해 이야기해보겠습니다.
참고
인공지능의 역사 https://ko.wikipedia.org/wiki/인공지능#역사
기보: 바둑이나 장기를 둔 내용의 기록 (출처: 표준국어대사전)
말뭉치 또는 코퍼스(corpus)는 자연언어 연구를 위해 특정한 목적을 가지고 언어의 표본을 추출한 집합이다. https://ko.wikipedia.org/wiki/말뭉치