'자연언어처리'에 해당되는 글 2

  1. 2010.03.05 영어유치원, 쓸 데 없는 낭비 될 수도 (4)
  2. 2009.12.17 네이트 시맨틱검색, 원리는 무엇일까 (3)

제가 초등학교에 다니던 시절에는 대부분의 아이들이 ‘주산학원’이라는 곳을 다녔습니다. 지금은 거의 사라졌지만, 그 당시에는 동네마다 주산학원 하나씩은 있었고, 주산학원 한 번쯤 안 가본 어린이는 거의 없었습니다.

그 당시 주산학원은 요즘의 영어학원과 비슷한 인기였습니다. 초등학교 입학하기 전부터 주산 조기교육을 시키는 부모도 많았습니다.

당시 부모님들이 아이들을 주산학원에 보낸 이유는 학교에서 산수(수학)점수를 높일 수 있고, 배워두면 나중에 취직할 때도 쓸모 있을 것이라는 기대가 있었기 때문입니다.

당시 부모님들은 불과 10~15년 이후 집집마다 책상 위에 PC가 놓여져 있으리라고는 전혀 생각하지 못했습니다. 물론 당시에도 컴퓨터라는 존재 자체는 알았지만, 주변에서 컴퓨터를 직접 본 사람은 없었습니다. 10년 뒤를 조금이라도 예측했다면 주산보다는 컴퓨터나 다른 것을 가르쳤을 것입니다.

결국 컴퓨터의 활성화는 주산학원에 쏟아 부은 시간과 비용을 아깝게 만들어 버렸습니다.(물론 주산이 아이들의 연산능력을 향상시키고, 두뇌계발에 도움이 될 수는 있습니다.)

요즘은 영어학원이 대세입니다. 영어유치원, 조기유학 등 영어를 못 하면 미래의 낙오자가 될 것 같은 위협을 느낍니다.

하지만 영어학원 인기는 영원할까요? 언젠가는 영어학원에 다닌 시간에 대해서도 “괜히 영어를 배우느라 돈과 시간을 낭비했다”라는 생각이 들 가능성은 없을까요?

최근 외신에 따르면, 구글이 외국어 동시통역이 가능한 스마트폰의 애플리케이션을 개발 중이라고 합니다.

스마트폰에 대고 한국어로 얘기하면 저절로 상대방에게 영어로 통역돼 들리고, 그가 영어로 얘기하면 한국어로 들리게 한다는 취지입니다.

이같은 ‘자동 통역’ 기술이 완벽해진다면 더 이상 영어학원에 돈과 시간을 쏟아부을 필요가 없을 것입니다.


어쩌면 영어에 모든 시간과 비용을 사용한 학생보다 그 시간에 책을 읽고 이런 저런 경험을 더 많이 한 학생이 취직도 쉽게 될 수 있을 것입니다.


자동 통역은 구글 이외에도 많은 기업들이 도전하고 있습니다. 일본 NEC는 전용 안경을 쓰면 상대방의 말을 자동으로 번역해 보여주는 제품을 선 보이기도 했습니다.(관련 기사)

국내에서도 엘엔아이소프트 등이 자동통역을 연구하고 있습니다.
 
물론 자동통역은 바벨탑을 쌓는 것에 비유될 정도로 어려운 기술입니다. 신의 영역에 도전하는 것이라고 할까요.

자동통역을 위해서는 음성인식, 자동번역, 음성합성의 기술이 완벽하게 조화를 이룰 수 있어야 가능합니다. 현재로서는 이 세 기술 중 어느 것도 완벽하지는 않습니다.

하지만 언젠간 자동통역도 현실화 될 것입니다. 1~2년 내에는 어렵다고 할 지라도 10년 뒤에는 어떨까요? 현재의 기술 발달 속도라면 10년 뒤에는 자동통역이 일상화 될 수도 있지 않을까요.

만약 10년 뒤에 자동 통역이 흔한 기술이 돼 버린다면, 어쩌면 현재 영어 유치원, 영어학원, 조기유학으로 수백, 수천만원을 들여 공부하고 있는 아이들은 헛된 낭비를 하고 있는 것일지도 모릅니다.

그들이 취직할 때가 되면 영어 실력보다 다른 능력을 요구할 지도 모르니까요.

저작자 표시 비영리 변경 금지
신고

네이트가 최근 ‘시맨틱 검색’이란 서비스로 대박을 치고 있습니다. 시맨틱 검색이란 말 그대로 문서의 의미(시맨틱)을 분석해 검색하는 것을 말합니다. 국내에서 ‘시맨틱’을 전면에 내세운 서비스를 시작한 것은 네이트가 처음인 것 같습니다.


네이트는 이 서비스를 선보인 이후 지난 주 창사이래 처음으로 통합검색 점유율이 10%를 넘겼습니다. 네이트 홍보팀은 요즘 경마중계하듯 매주 자사 검색점유율 상승분에 대해 보도자료를 배포하고 있습니다. 네이트가 최근 얼마나 고무돼 있는지 보여줍니다.

하지만 네이트의 시맨틱 검색 기술에 대해서는 많이 알려지지 않은 것 같습니다. 언뜻 보기에는 단순한 서비스인 것처럼 보이지만, 이 서비스에는 검색엔진 및 자연언어처리 업계가 지난 10년동안 연구해온 결과물이 반영돼 있습니다.

시맨틱 검색이라는 말은 ‘시맨틱 웹’에서 차용된 용어입니다. 시맨틱 웹을 기술적으로 이해하려면, 온톨로지∙RDF 등의 용어를 알아야 합니다. 쉽지 않은 일이죠. 온톨로지는 컴퓨터가 인간의 인식 능력과 유사한 기능을 하도록 하기 위해 만들어 놓은 거대한 데이터셋이라고 이해하면 될 것 같습니다.. 시맨틱 웹은 XML 기반의 마크업 언어를 기반으로 하며, RDF라는 구조를 기반으로 합니다.

이렇게 쓰기는 했지만, 사실 저도 자세히 모르는 내용입니다.

하지만 네이트의 시맨틱 검색에 온톨로지, XML, RDF 등의 기술이 반영된 것은 아닙니다. 때문에 엄밀히 말해서 네이트의 시맨틱 검색은 흔히 얘기하는 ‘시맨틱’은 아니라고 볼 수 있습니다.

그렇다고 해서 네이트의 시맨틱 검색을 무시해도 좋다는 것은 아닙니다. 온톨로지∙XML∙RDF 등의 방법론을 사용하지는 않았지만, 사용자의 검색의도를 파악하려는 시도, 단순 키워드 비교가 아닌 문장과 문서의 의미 분석 결과를 검색 결과에 반영하는 시도 등은 시맨틱웹의 접근 방법과 같습니다. 방법론만 다른 것이지요.

네이트 시맨틱 검색기술을 개발한 코난테크놀로지는 시맨틱 검색에 대해 “문장이나 단락에 기술된 주제를 파악하고 이를 대상으로 검색하는 것”이라고 정의했습니다.

네이트의 시맨틱 검색 서비스는 크게 ▲검색주제 ▲즉답 ▲주제별검색으로 나뉠 수 있습니다. 사용자가 검색어를 입력하면 검색한 사람이 관심있을 법한 검색주제가 왼편에 나타나고, 그 속성에 대한 ‘즉답’이 오른편에 나타납니다.

예를 들어 ‘이명박’이라는 검색어를 넣으면 공약, 당선이유, 경력 등의 검색주제가 나오며, 공약이라는 검색주제에 대한 ‘즉답’으로 ‘국민소득 4만불’, ‘7% 성장’ 등이 나오는 구조입니다.


이용하는 사람들은 대단치 않게 느낄지 몰라도, 이 정도 수준의 결과를 보여주기 위해서는 상당한 수준의 기술이 필요하다고 합니다.

이 같은 서비스를 위해 어떤 기술이 사용됐을까요? 우선 코난테크놀로지는 1만개 정도의 검색주제를 데이터베이스로 갖췄습니다. 사용자들이 검색어를 입력하면, 1만개의 검색주제 중 검색어와 맞는 검색주제를 찾아내 보여줍니다.

검색 키워드가 정치인과 관계된 것이라면 발언, 공약, 측근 등의 검색주제를 골라내고, 검색 키워드가 연예인이라면 데뷔정보, 신체사항, 소속사 등의 검색주제를 자동적으로 찾아냅니다. 검색어가 질병이라면 소개, 원인, 증상 등의 검색주제가 나옵니다.

이 같은 검색주제가 추출되면 그 주제에 맞는 즉답을 찾아야 합니다. ‘이명박’이라는 검색어에 대한 검색주제로 ‘공약’이 추출됐다면, 그에 맞는 ‘4만 달러 달성’이라는 답을 찾아야 하는 것입니다.

만약 구글 검색엔진이라면 ‘이명박 공약’을 검색했을 때 이명박과 공약이라는 단어가 포함된 문서를 보여줄 것입니다.

하지만 시맨틱 검색에서는 직접 ‘국민소득 4만불’ ‘7% 경제성장’ 등의 정답을 찾아내기 위해 노력합니다.

이를 위해서는 문서의 구조를 파악하고, 문장의 구문과 의미를 분석하는 기술이 필요합니다. 문장의 의미를 분석해 속성을 정의해 나가야 합니다.

예를 들어, ‘이순신은 인종 1년인 1545년 4월 28일 서울 건청동에서 태어났다’는 문장을 만나면 시맨틱 검색엔진은 이순신 출생일과 이순신 출생지를 파악할 수 있습니다.

‘이순신’이라는 메인 키워드를 중심으로 ‘1945년 4월 28일’에 ‘(이순신) 출생일’이라는 검색주제를 부여하고, 서울 건청동을 ‘(이순신) 출생지’라는 검색주제로 분류할 수 있습니다. 이는 ‘태어나다’라는 동사를 보고 판단하는 것입니다.

사람은 인지능력이 있기 때문에 이런 파악이 너무 쉽지만, 인지 능력이 없는 컴퓨터가 이를 파악하기 위해서는 무수한 부수정보가 필요합니다.

컴퓨터가 볼 때 ‘태어났다’는 글자는 단순 문자열에 불과합니다. 그냥 0과 1의 조합일 뿐입니다.

하지만 ‘태어나다’라는 동사 앞에 시간이 오면 출생일, 지역이 오면 출생지라는 속성을 부여토록 미리 정의할 수 있습니다. 이를 위해 자연언어처리 기술이 필요합니다. 형태소분석, 구문분석, 의미분석 등 다양한 절차를 거칩니다.

이는 결코 쉽지 않은 일입니다. 컴퓨터가 이해할 수 있는 사전(Lexicon)을 구축해야 하고, 분석할 수 있는 규칙도 있어야 합니다. 수학적 통계를 이용하기도 합니다.

쉽지 않은만큼 당장 완벽한 검색 결과를 제공하는 것은 불가능합니다. 실제로 네이트 시맨틱 검색은 아직 적지 않은 오류를 보이고 있습니다.

예를 들면 ‘신동엽’이라는 검색어를 입력하면 데뷔작 이라는 검색주제에 ‘남자셋 여자셋’이 나옵니다. 이건 잘못된 결과입니다. 신동엽씨는 남자셋여자셋이라는 시트콤보다 훨씬 먼저 데뷔했습니다. 코너 제목은 잘 기억이 안나지만 1990년대 초반 SBS 개국 당시 ‘안녕하시렵니까’라는 유행어로 혜성처럼 등장했던 것 같습니다.

그렇다면 네이트 시맨틱 검색은 왜 신동엽씨 데뷔작이라는 속성에 대해 남자셋여자셋이라는 즉답을 내놓았을까요? 아래 문장을 보면 납득이 갑니다. 검색엔진은 아래 문장을 보고 신동엽 데뷔작은 남자셋여자셋이라는 판단을 내렸습니다.

이날 신동엽은 시트콤 '남자셋 여자셋'으로 데뷔해 신인인 송승헌과 호흡을 맞출 당시를 회상하며, "신인이었던 송승헌이 도가 지나치게 잘생긴 외모에, 도가 지나치게 연기를 못해 두 번 놀랐다"고 말하며 좌중에 웃음을 던져주었다.

문장이 4중 복문으로 구성돼 있군요. 문장이 너무 복잡해서 시맨틱 검색엔진이 문장을 잘못파악한 것입니다. 이 문장을 볼 때 사람은 “남자셋 여자셋은 송승헌씨의 데뷔작”이라는 것을 금방 알 수 있지만, 컴퓨터한테는 아직 쉽지 않은 일입니다.

우리가 복잡한 영어문장 해석에 어려움을 겪는 것과 같은 이치입니다. ‘직관’이 없기 때문이죠.

하지만 점점 더 기술이 발전하면 이런 오류는 차츰 줄어갈 것입니다. 네이트 시맨틱 검색도 아직 완벽하지는 않습니다. 하지만 점점 더 좋아질 것으로 믿습니다.
저작자 표시 비영리 변경 금지
신고

티스토리 툴바