인생은 여행

별명생성기 - 1. 기획 본문

Toy Project

별명생성기 - 1. 기획

산떠 버하둘 2021. 3. 26. 00:26

긴 퇴근길에 재미있는 아이디어가 떠올랐다.

독창적이고 엉뚱한 별명을 자동으로 만들어주는 서비스를 만들면 재미있겠다는 생각이였다.

인터넷의 각 종 사이트에 가입할 때 별명을 물어보는 경우가 있는데 보통은 자주 사용하는 별명을 하나 쯤은 가지고 있어서 그걸 입력하지만 중복을 허용하지 않는 경우는 자기 별명을 사용하지 못하는 경우가 많다. 이럴 때 흔히 생각할 수 없는, 엉뚱하지만 말은 되는 그런 별명이 있었으면 좋겠다는 생각을 했었는데 방대한 단어 수를 가지고 있는 국어 사전을 기반으로 단어를 조합하면 어떨까하는 아이디어이다.

말이되는...

단어의 품사를 기반으로 규칙을 정해서 조합하면 그럭저럭 의미는 엉뚱하지만 말은 되지 않을까 생각했다. 예를 들면 형용사 + 명사 조합은 어느 정도 말이 될 것 같았다. 그런데 이건 영어 맨투맨 기초편 1권만 반복적으로 들춰봤던 이의 짧은 생각이였고, 국어에서는 명사(체언)을 수식하는 것은 관형사라고 한다. 국어 공부부터 다시 해야겠다.

사전 데이터

대한민국 정부의 오픈API가 일반화된 요즘 사전 데이터도 어디엔가 존재할 것으로 예상했다. 아니다 다를까 검색을 시작한지 얼마 안되 쓸만한 데이터를 찾았다. 무려 90만이 넘는 단어이다. 품사로 구분해서 단어를 조합하다보면 경우의 수가 확 줄겠지만 두 단어 조합만으로도 해시 알고리즘에 준하는 식별력을 보일 수도 있을 것 같다. 아래 페이지의 링크에서 엑셀 파일을 다운로드 받을 수 있다. 단어|품사|사전종류의 세 컬럼만 가지고 있는 아주 단순한 구조의 사전이다.

kbig.kr/portal/kbig/datacube/niadict.page

품사구분

사전에 있는 품사 정보는 "ncn" 같은 생소한 영문 약어로 되어 있는데, 검색해보니 "KAIST 품사 태그셋"이라고 한다.

semanticweb.kaist.ac.kr/research/kcp/tag_set.html

유사 프로젝트

사람의 생각은 또 비슷해서 나와 비슷한 생각을 한 사람이 여럿 있었나보다.

- 악질이름생성기: name.ho9.me

한국어 별명/닉네임 생성기: nickname.hwanmoo.kr

- Nickname 생성기: velog.io/@wimes/Nickname-생성기-p6k2342cfn

- 랜덤 녜횡 제조기: beepman.github.io/nyehuing/

그럼에도 불구하고 이 프로젝트를 계속 진행해도 의미 있을 것 같았다.

자료구조

가장 중요한 사전 데이터를 어떻게 다룰지 생각해보았다. 단어 조합법이 확정되지 않은 상황에서 데이터를 메모리에 로딩해서 이런 저런 시도를 다양하게 해 보아야 할 것 같다. SQLite 같은 로컬 데이터 베이스를 활용하는 방법도 있겠지만 번거로울 것 같다. 적절한 자료구조를 고민해봐야겠다. 특히 품사별로 랜덤하게 선택 가능해야한다는 요구사항에 주목해야할 것이다.

 

Comments