에스페란토 데 마소리스 Esperanto de Masoris

에스페란토 관련 스크랩

[스크랩] 에스페란토 사전 - 인터넷판

마소리스20 2015. 2. 20. 03:43

에스페란토 사전 - 인터넷판을 만들면서...

 

사실 외국어 공부에서 사전은 매우 중요한 역할을 합니다. 되도록이면 좋은 용례를 많이 담고 있는 두꺼운 사전을 쓰면 좋겠지만, 사전이 커지면 들고다닐 수 없어서 문제가 됩니다. 스마트폰(블랙잭폰)을 쓰면서 가장 유용한 점 중에 하나는 두꺼운 사전을 조그만한 폰으로 들고다닐 수 있다는 것입니다. 이제 웬만큼 어려운 장문의 영문 기사들도 큰 부담없이 지하철에서 읽을 수 있게 되었습니다.

 

사람들이 널리 쓸 수 있는 사전을 만드는 작업은 매우 의미있는 작업이라서, 개인적인 취미코딩으로 인터넷판 에스페란토 사전을 만들어 봤습니다. 그 과정에서 겪은 개발자로서의 문제점들을 소개하도록 해 보죠.

 

(1) 초기 데이타를 확보하는 것은, 저작권이 걸립니다.

 

40년전에 최초로 만들어진 사전에 대한 저작권을, 돌아가신 저작자의 가족으로부터, 에스페란토 협회가 이양받았습니다. 사실 그보다 더 최근본판이고 더 좋은 판이 있었지만, 그 사전을 만든 저작자가 사전 편찬 비용을 충당하기 위해서 대학과 한 계약에 의하면, 온라인 사전으로 전용하는 것을 금지하고 있었습니다. 그래서 눈물을 머금고, 최근에 만들어진 더 좋은 사전 데이타를 포기하고, 40년 전에 출판된 사전을 쓸 수밖에 없었습니다.

 

40년 전에 만들어진 데이타는 당연히, 활자판이고 디지탈 데이타가 아니죠. 아날로그 종이 사전을 일일이 보고 19명의 자원 봉사자들이 합심을 해서 다시 타이핑 했습니다. 이거 왕 노가다 되겠습니다. 당연하게도 타이핑 한 사람들의 개인 차이에 따라서, 철자 오류도 있고 상당히 난잡한 자료가 나왔습니다만 전혀 없는 것보다 일단 타이핑 된 데이타라도 있으니 다행이죠.

 

(2) 타이핑 된 데이타를 정제하는 것도 상당한 작업입니다.

 

타이핑 된 데이타는 엑셀파일 하나로 정리되어 저한테 전달이 되었습니다. 기대는 컸죠. 순식간에 이미 존재하는 사전 소프트웨어의 포맷에 맞게 변형만 하면 금방 만들수 있겠다 싶었는데... 여러가지 문제가 도사리고 있었습니다. 수작업 타이핑 자료라서 일단 포맷이 일관성이 없고 엉망이었습니다.

 

포맷 맞추고, UTF-8로 변환하고, 중복 제거하고, 명백한 오류 잡아주고... 왕 노가다 되겠습니다.

 

(3) 에스페란토 -> 우리말 쪽만 타이핑이 되어 있는데...

 

사용자들은 우리말 -> 에스페란토 쪽으로도 검색을 할 것이라는 것이죠. 이제와서 회원들 십수명을 다시 불러 모아서, 우리말->에스페란토쪽 자료도 필요하니, 다시 타이핑을 해 봅시다라고 할 수가 없었습니다. 타이핑 프로젝트만 십수명의 자원 봉사자를 모으는 작업이 2달 이상 소요되는 상당한 노가다 작업이었거든요.

 

그래서 우리말 설명문 속에 있는 우리말 단어들을 검색해 주는 방식으로 방향을 잡았습니다. 표제어만 검색하는 일반적인 사전S/W를 쓸 수 없는 상황이 되어 버린 것입니다. 사전 속에 포함된 모든 단어를 표제어로 올리게 되면 사전 데이타가 50배 정도 뻥튀기 될 뿐만 아니라, 불필요한 표제어들이 너무 많이 나오게 되어서 현실적인 대안이 되지 않았습니다.

 

(4) 에스페란토는 삿갓 문자들이 있습니다. (c^ -> ĉ, g^ -> ĝ, h^ -> ĥ, j^ -> ĵ, s^ -> ŝ, u^ -> ŭ)

 

삿갓 문자가 6개 밖에 안되는데, 이거 대략난감 되겠습니다. 표준 키보드에 없기 때문에, 이 키들을 어떻게 표현하느냐가 항상 말썽이고, 그래서 삿갓 문자를 쓸 때는 "~x를 쓰세요, ~h를 쓰세요 등의 덧말을 붙이게 되는데..." 제가 봤을 때는 이게 불필요한 것 같았습니다. 소프트웨어가 사람들의 행동 패턴을 보고, 자동으로 삿갓 문자 처리를 해 주면 간단하다고 생각했기 때문입니다.

 

(5) 짜잔... 하고 첫번째 온라인 사전을 만들어 봤습니다.

 

이런 일에 제일 적합하고, 코딩 분량도 제일 적은 것은, PHP/JavaScript/HTML 조합입니다. 초기 버젼 만드는데, 1시간 정도밖에 안걸렸으니 후딱이죠...

 

(6) 그런데... 이게 명색이 검색인데, 랭킹이 문제가 되었습니다.

 

"사랑" 이라고 검색했는데, "사랑" 이라는 단어가 들어 있는 모든 내용물을 다 무순으로 출력하면, 사실상 이해불가능한 이상한 출력이 나옵니다. 사람이 생각하는 방식대로, 사람이 기대하는 순으로 결과가 랭킹이 매겨져서, 우선순위가 높은 항목들을 위로 올려야만 했습니다. 사전 데이타는 사람들이 손으로 타이핑한 데이타라서, 원천 데이타에는 우선순위 자체에 대한 고려가 없었으며, 일반적으로 사전은 가나다 순으로 액세스하는 것이 일반적이므로, 사전 검색에서 "랭킹"을 생각하는 것이 쉽지 않았습니다.

 

적절한 직관을 사용해서, 몇개의 휴리스틱 룰을 넣고 해서 똑같이 "사랑" 이라는 단어가 들어 있어도, 실제로 사람들이 처음으로 검색하고자 하는 단어가, 또는 처음으로 검색되어야 마땅하다고 생각되는 단어가 위로 올라오도록 랭킹을 조정해야만 했습니다.

 

(7) 에스페란토는 매우 단순한 어미체계를 가지고 있어서 그것도 간단히 처리했습니다.

 

우리말과 비슷하게 에스페란토도 어근과 어미가 붙을 때, 어근이 크게 변화하지 않습니다. 동사/형용사/명사형 어미, 복수형/목적형 어미, 현재형 어미 정도만 처리해 줘도 될 것 같다는 판단했습니다. 맨 끝에 한 두 글자 떼어 내고, 붙이고 해서 검색을 다시 하면 되는 식이지만... 제대로 하자니 노가다가 심하네요.

 

(8) 영어단어로도 찾으면 좋겠다 싶었습니다.

 

인터넷에 뒤지니, 영어 -> 에스페란토 사전이 있네요. 그래서 그것도 같이 통합했습니다. 영어/에스페란토는 저작권에 크게 문제되지 않는 자료를 쉽게 구할 수 있어서 좋았습니다. .... (흠 ... 내가 저작권 위배하고 있는 지도 모르겠습니다만, 별 언급이 없어서, 그냥 싸악 복사해 왔습니다.)

 

(9) 사용자들이 실제로 타이핑 해서 검색하는 것을 보니, 황당한 입력도 많이 들어 왔습니다.

 

그중에서 타이핑 오류도 상당히 있더군요. 그래서 인터넷에서 검색해서, 타이핑 오류를 잡아주는 알고리듬을 급하게 찾아서 넣었습니다. 사실 이런 것은 구글이나 네이버는 옛날부터 해 오던 것인데... 실제 사용자들의 입력을 관찰해 보니, 왜 구글이나 네이버가 그런 것을 하는지 알겠더라구요. 사람들은 실제로 타이핑 오류를 무지하게 냅니다.

 

(10) 기초 사전을 여러명이 타이핑해서 넣은 것인데, 사전에 타이핑 오류가 제법 많았습니다.

 

그래서, 타이핑 오류를 '신고'하는 인터페이스도 만들어 넣으면 좋겠다 싶었습니다.

 

(11) 이렇게 작업을 많이 했는데도, 결과적으로 나온 것은 '그냥 허접한 온라인 사전'일 뿐입니다.

 

꽤 많은 코딩을 넣었음에도 불구하고, 아직 부족한 점이 한 두가지가 아닙니다. 예를 들어 [1] 매우 기초적인 단어 검색 결과가 좀 이상합니다. 특히 단어 길이가 짧은 것들이 심합니다. [2] 복합단어도 취약합니다. 에스페란토는 여러 단어를 덕지덕지 붙여서 복합 단어를 만드는 것이 매우 자유로운데, 복합단어를 자동으로 분해해서 검색해 주면 좋겠다는 생각이 듭니다. 실제로 사용자들의 입력을 관찰해 보면, 복합 단어 때문에 검색에 실패하는 예를 자주 봅니다. [3] PC 나 휴대폰 버젼으로 만들어서 배포할 수 있으면 더 좋겠다는 생각도 듭니다. 어짜피 널리 사용하도록 하는 것이 좋으니까요. [4] 사전을 저작한 저작자나 에스페란토 협회에 조금이라도 기여하기 위해서 '기부금 클릭' 기능이 들어가면 좋겠다는 생각이 들었습니다. 한 3천원 정도 휴대폰으로 기부할 수 있으면, 사용자들이 쉽게 기부할 수 있지 않겠어요?

 

사소한 문제도 아직 많이 남아 있습니다. AJAX 코드를 써서 검색을 하는데, 키보드 타이핑입력과 검색이 겹쳐지는 경우, 좀 이상하게 동작하는 경우가 있습니다. AJAX 코드 특성상, 한 페이지에서 모든 일이 일어나는데, 사용자들은 습관적으로 "이전 페이지로 가기" 버튼을 누르게 될 것이고, 그렇게 되면 사용자의 생각과 다른 일이 일어납니다. 사용성 면에서 보면 버그입니다.

 

그런 전차로... 처음에는 가볍게 사전하나 만들어 보겠다는 간단한 생각이, 점점점 일이 커져서... 이젠 꽤 부담되는 수준이 되어 버렸습니다. 눈물을 머금고, 아직 남은 부분은 차후로 미뤄야 할까 봅니다.

 

에스페란토 사전을 공개합니다: http://www.mobigen.com/~hiongun/ek/  (허접하네...! 라고 느끼셔도 할 수 없습니다. 흑흑. ;-)

 

꼴랑 사전 하나 만드는데, 사용자 편의성을 생각하니, 별 오만 생각이 다들고 끊임없이 욕심이 나네요. 애플 아이폰 수준의 사용성으로 가려면 아직 당 멀었다는 생각이 듭니다.

 

--上善若水, 2009-11-12.

 

 

You should follow me on twitter here.

 

출처 : 上善若水 수련하는 블로그
글쓴이 : 上善若水 원글보기
메모 :