SYDESYDE
SYDESYDE
  • 피드
  • 쇼케이스
  • 블로그
  • 모임
SYDESYDE© 2026 SYDE. All rights reserved.
SYDE 소개문의하기
Kakao
SYDE 오픈채팅
Instagram
Instagram
Threads
Threads
커뮤니티 가이드라인협업문의이용약관개인정보처리방침
커뮤니티 가이드라인협업문의이용약관개인정보처리방침

© 2026 SYDE. All rights reserved.

ㅇㅌㅂ를 알아듣는 검색 — 알파벳의 세상에 없던 고민들

cChaesang Jung· 24시간 전· 해프닝·회고

검색창에 ㅇㅌㅂ라고 치면 유튜브가 나와야 할까? 이번 글에서는 이 물음 하나에 얼마나 많은 고민이 딸려 오는지를 적어 본다.

완성된 한글을 쓰는 한국에서 초성이라는 건 누가 정한 표기법이 아니다. 문화라는 이름으로 채팅에서는 꽤 쓰이던 것이지만, 이 표현들을 검색창에서까지 받아 주어야 하는가부터가 논의거리였다. 사회적으로 서로 합의한 적 없는 입력 문자들이 들어오면 고민이 줄줄이 생긴다. 이걸 valid한 쿼리로 인정해야 하나, 아니면 오타로 보고 correction 로직으로 넘겨야 하나? ㅇㅌㅂ에 대해 서비스의 대응은 쿼리 제안인가 앱 이름 제안인가? 데스크톱과 모바일에서는 다르게 해야 하나? 어디까지가 오타일까? 사용자가 백스페이스를 누르기 전까지는 다 똑같이 대해야 하는 것인가?

더 깊은 곳에는 한글이라는 문자 체계 자체가 던지는 숙제가 있다. 검색어 자동완성이라 부르는, suggest 혹은 autocompletion이라고도 하는 동네인데, 키보드 타이핑 중간에 stroke마다 일어나는 것들을 처리하는 것이다. '구글'을 치는 손가락은 시스템에 rnrmf라는 키 입력으로 들어오게 되는데, 이 입력을 어디서 끊느냐에 따라 화면의 글자가 달라진다. 이 도중의 쿼리는 '구'가 되었다가 '국'이 되었다가 다시 '구그'가 되고, 백스페이스를 누르면 '구글'이 '구그'로, '구그'가 '국'으로 되돌아간다. 여기에 3벌식 자판과 모바일의 단모음 키보드에서는 사소하지만 같은 일이 하나 더 벌어진다. ㄲ를 넣기 위해 ㄱ 두 개가 연속으로 입력되는 방식인데, 3벌식은 첫 자음과 받침 자음의 키 배치가 아예 달라 헷갈릴 일이 없지만, 키 하나가 두 역할을 다 하는 모바일에서는 연달아 들어온 ㄱ 두 번이 ㄲ인지 ㄱㄱ인지부터 정해야 한다.

이런 사정이 가장 크게 보이는 것이 검색창에서 치는 대로 결과까지 바로 보여 주는 Google Instant, 이른바 순간검색이었다. 스토어보다 몇 해 앞선 검색 시절, 미국 런치에 참여하고 한국 후속 런치를 거들었는데, 같은 기능인데도 시스템이 치러야 하는 비용이 많이 달랐다. 순간검색은 매 keystroke가 쿼리를 생성하는 구조라 쿼리 길이만큼의 사연이 생기는데, 알파벳의 세상에서는 optimize할 구석이 많았다. google을 치다가 백스페이스를 눌러도 goog는 goo를 품고 있으니 앞서 만들어 둔 결과를 재활용할 수 있는 부분이 많았는데, 한글은 받침 때문에 다시 쓸 수 있는 부분이 훨씬 적었다. 구-와 국-은 글자로도 소리로도 이어져 보이지만 시스템에게는 전혀 다른 집합이라, 그 재활용이 통하지 않는 것이다. 쿼리 제안 목록만 보여 줄 때는 그래도 견딜 만했는데, 결과까지 바로 보여 주기 시작하니 화면이 번쩍거리는 부작용이 극대화되었다.

구현은 alias를 넓히는 쪽으로 풀었다. 정식 이름 옆에 사람들이 실제로 치는 이름들을 별칭으로 나란히 두는 것인데, 한글의 경우 초성 조합을 valid한 문자로 놓는 것으로 꽤 많은 부분이 그 안에서 해결되었다. 예를 들자면 ㅇㅌㅂ는 오타도 아니고 고쳐 줘야 할 입력도 아니고, 유튜브를 부르는 또 하나의 이름으로 인덱스에 미리 들어가 있는 것이다. 통계적으로 의미만 충분하다면 한글만을 위한 처리가 아니기도 해서, 같은 틀로 여러 언어를 cover할 수 있었다.

여러 나라의 사용자들을 챙기다 보니 일본에서는 정식 이름이 길어 パズドラ(퍼즈도라)·モンスト(몬스토)처럼 네 음절로 줄여 부르는 게 여럿이었고, 한글은 두 음절로 혹은 세 음절로 줄이는 쪽이 흔했다. 다국어에서는 '구글'과 google처럼 같은 이름이 다른 문자로 들어오는 것도, 발음 표현이 미묘하게 다른 것들이 같은 걸 가리키는 경우도 많았다. 생각해 보면 영어의 abbreviation도 다르지 않았다. 이쯤 되면 언어별 묘수라기보다, 인덱스를 준비할 때 unknown future를 위해 미리 고려해 두면 대처할 수 있다는 일반론에 가까워진다.

자동완성은 라틴 문자와 한글 자모 입력기를 함께 받는 모양새로 자리를 잡아 갔다. 좋은 쿼리들을 빈도순으로 내밀고, 하루 한 번 갱신하며 최근 키워드에 가중치를 주고 스팸 키워드를 걸러 냈다. 그렇게 ㅇㅌㅂ를 치면 유튜브가 나오게 되었는데, 지나고 보면 이것은 기능 하나를 붙인 이야기가 아니라 알파벳을 전제로 지어진 시스템의 가정 하나하나를 한글 앞에서 다시 검사하던 이야기였다. 언어가 다르면 기술의 가정부터 다시 세워야 했다. 나라와 언어가 하나가 아니듯 문자들도 여럿으로 쓰이는데, 사실 이 부분은 수십 년 전부터 고민하던 것들이 반영되고 있는 것이리라. 조합형, 완성형, 유니코드 등의 유물들이 가끔 기억이 난다.


이 글은 '나라와 언어 사이'라는 연작의 한 편입니다. 원문과 나머지 편은 브런치에 있습니다 → https://brunch.co.kr/@chaesang/203

  • #locale
  • #한글
  • #검색어자동완성
  • #초성
  • #검색
9
C
Chaesang Jung

Chaesang Jung님의 다른 글

  • 번역하지 않기로 한 검색 — 번역이라는 핑계가 걷히고 나면2일 전
  • 마흔 개 언어를 채운다는 일 — 제품에 번역을 입히던 날들3일 전
  • 누가 썼는지가 절반이다 — 좋은 글이 귀해진 시대의 검색9일 전

댓글 0

My avatar