카
카카오
December 21, 20251회
초경량 클래식 형태소 분석기 개발기
간단 소개
모바일 환경 제약을 만족하는 초경량 형태소 분석기를 C++20으로 개발하며, LOUDS 알고리즘과 비트 연산 최적화를 통해 용량과 성능을 극대화한 경험을 공유한다.
AI Summary
모바일 환경 제약과 언어 선택
- 카카오톡 기능 지원을 위해 모바일 환경에 최적화된 경량 형태소 분석기 개발이 필요했다.
- 실행 파일 크기, 메모리 사용량, 사전 파일 크기 등 엄격한 리소스 제약이 핵심 고려 사항이었다.
- Rust 대비 **C++**이 모바일 클라이언트의 기존 라이브러리 활용으로 바이너리 크기를 200KB 수준으로 줄일 수 있어 최종 선택되었다.
- C++20의
std::span,Concepts등 현대적인 기능으로 코드 가독성과 안정성을 높였다.
Trie 압축: LOUDS 알고리즘
- 형태소 분석기의 핵심인 사전 데이터의 효율적인 압축을 위해 LOUDS(Level-Order Unary Degree Sequence) 알고리즘을 채택했다.
- LOUDS는 Trie 구조를 비트 시퀀스로 표현하여 정보 이론적 하한에 근접한 압축률을 제공한다.
- 한글에 최적화된 인코딩 방식을 적용하여 사전 데이터 크기를 더욱 줄였고, 약 76만 노드를 9.4MB로 압축했다.
Select 비트 연산 최적화
- LOUDS 기반 Trie 검색의 핵심인 select0 연산이 성능 병목(전체 검색 시간의 약 90%)으로 작용했다.
- 비트 시퀀스를 64비트 청크로 나누고, 각 청크 경계까지의 0의 누적 개수를 미리 기록하여 바이너리 서치로 빠르게 청크를 찾았다.
Next Feeds

Claude Code를 REST API로 감싸기: 세션, 스트리밍, MCP
Claude Code의 에이전트 기능을 웹 환경에서 REST API로 래핑하는 과정과 기술적 해결책을 공유합니다.
Claude CodeREST APIAI SDK세션 관리스트리밍
2025. 12. 21.
크리에이트립

뱅크샐러드가 선보인 AI 에이전트 비전은? 2025 핀테크 위크로 돌아보기!
뱅크샐러드가 2025 핀테크 위크에서 AI 에이전트 비전을 선보이며 금융 문제 해결과 자산 관리의 미래를 제시했습니다.
뱅크샐러드AI 에이전트핀테크 위크금융 AI마이데이터
2025. 12. 20.
뱅크샐러드

당근의 GenAI 플랫폼
당근은 GenAI 활용 확대를 위해 LLM Router, Prompt Studio, KarrotChat 플랫폼을 구축하여 AI API 관리, 기능 개발, 사내 활용을 효율화하고 안정성을 높였다.
GenAILLM RouterPrompt StudioKarrotChatAI Agent
2025. 12. 19.
당근

사내 AI 리터러시를 향상하기 위한 AI Campus Day를 개최했습니다
LY Corporation이 사내 AI 리터러시 향상을 위해 실습 중심의 'AI Campus Day'를 개최, 동료 멘토와 축제 같은 분위기 속에서 AI 활용 능력을 높였습니다.
AI Campus DayAI 리터러시실습 중심AI 멘토사내 교육
2025. 12. 19.
LY Corp

안전은 기본, 비용 절감은 덤: 별도 가드레일이 필요한 이유
AI 서비스의 안전과 비용 효율성을 위해 시스템 프롬프트 기반 가드레일의 한계를 극복하고 별도 가드레일 도입의 필요성과 장점을 설명.
가드레일프롬프트 인젝션LLM비용 절감다층 방어
2025. 12. 19.
LY Corp

Python 2.7 서버의 CI Test 개선 - 13분에서 3분으로
Python 2.7 서버의 CI 테스트 시간을 13분에서 3분으로 단축한 과정과 기술적 최적화 방안을 설명합니다.
CI TestPython 2.7최적화캐싱Docker Image
2025. 12. 18.
버즈빌