CORE DECISION
ENGINEERING / VOICE-DRIVEN AI SEARCH
TECHNOLOGY FOR A MORE HUMAN EXPERIENCE01
음성을 이해하고, 검색 결과를 화면과 안내로 연결했습니다.
사용자의 음성을 텍스트로 변환하는 데서 끝내지 않고, 검색어 보정과 데이터 선별 단계를 거쳐 실제 키오스크 화면 동작과 음성 안내까지 연결했습니다.
- 01음성 입력
사용자 발화
키오스크 마이크 입력 - 02STT 변환
Whisper
음성 → 텍스트 - MY CONTRIBUTION03검색어 보정
On-premise LLM
오탈자 교정 · 문장 정규화 - 04RAG 검색
연관 데이터 선별
관련 메뉴와 콘텐츠 - MY CONTRIBUTION05JSON 응답
답변 · 검색 결과
화면 액션 응답 스키마 - 06키오스크 출력
화면 + 음성
화면 동작 · Google Cloud TTS
ACTION CONTRACT
응답을 화면 동작으로 바꾸는 규칙
CMS/API 담당자와 JSON 응답 형식과 액션별 처리 기준을 조율했습니다.02 / QUERY CORRECTION
왜 STT 결과를 바로 검색하지 않았는가
PROBLEM
짧은 발화는 작은 인식 오류도 검색 누락으로 이어졌습니다.
키오스크에서 입력되는 음성은 문장이 짧고 주변 환경의 영향을 받기 때문에 Whisper의 변환 결과에 오탈자나 잘못 인식된 표현이 포함될 수 있었습니다. 이를 그대로 키워드 검색에 사용하면 실제 메뉴명과 일치하지 않아 검색 결과가 누락되는 문제가 있었습니다.
SOLUTION
검색 전에 사내 LLM으로 문장을 보정하고 정규화했습니다.
STT 결과를 검색어로 바로 사용하지 않고 사내 GPU에서 구동되는 LLM을 한 번 거치도록 구성했습니다. LLM은 문맥을 기준으로 잘못 인식된 표현을 보정하고, 검색에 사용할 문장을 정규화했습니다.
STT 원문
공개 가능한 실제 로그 선별 후 추가LLM 보정 결과
프로젝트명과 개인정보를 제거한 보정 문장최종 검색어
검색에 사용할 정규화된 키워드03 / RAG DATA SELECTION
전체 데이터를 보내지 않고, 관련 데이터만 선별했습니다.
PROBLEM
모든 데이터를 전달하면 응답 범위가 불필요하게 넓어졌습니다.
보정된 검색어가 있더라도 모든 메뉴와 콘텐츠 데이터를 LLM에 전달하면 처리할 데이터가 많아지고, 질문과 관련 없는 정보가 응답에 포함될 가능성이 있었습니다.
SOLUTION
연관 키워드로 검색 범위를 먼저 좁혔습니다.
보정된 문장에서 메뉴와 관련된 키워드를 확장하고, 해당 키워드와 연관된 데이터만 먼저 선별했습니다. 선별한 데이터를 RAG 컨텍스트로 구성해 LLM에 전달함으로써 검색 범위를 줄이고 응답의 일관성을 높였습니다.
- 교정된 검색어
검색 의도가 드러나는 정규화된 문장
- 연관 키워드
메뉴 제목과 콘텐츠 문맥에서 키워드 확장
- 관련 메뉴 선별
질문과 연결된 메뉴·콘텐츠만 추출
- RAG 컨텍스트
선별 데이터를 응답 생성 범위로 구성
- 최종 응답
화면 액션과 안내 문구를 함께 반환
04 / JSON ACTION CONTRACT
JSON 응답을 실제 화면 동작으로 연결했습니다.
LLM의 답변을 텍스트로 표시하는 것만으로는 키오스크 기능을 실행할 수 없었습니다. CMS/API 담당자와 반환할 JSON 형식과 액션별 처리 기준을 조율하고, 프론트엔드가 응답 타입에 따라 화면 동작을 실행하도록 규칙을 정리했습니다.
JSON 응답 스키마 및 화면 액션 규약
| 응답 구분 | 키오스크 동작 |
|---|---|
| 검색 결과 | 관련 메뉴 또는 콘텐츠 목록 표시 |
| 화면 이동 | 지정된 메뉴·상세 화면으로 이동 |
| 콘텐츠 실행 | 영상·지도·상세 콘텐츠 실행 |
| 안내 응답 | 화면에 답변을 표시하고 TTS 재생 |
| 예외 응답 | 검색 실패 또는 재질문 안내 |
MY CONTRIBUTION
검색 결과가 실제 사용자 경험으로 이어지도록 연결했습니다.
음성 검색의 프론트엔드 연동을 담당하고, STT 결과를 보정한 뒤 관련 데이터를 선별하는 검색 구조를 제안했습니다. 또한 CMS/API 담당자와 JSON 응답 규칙을 조율해 검색 결과가 화면 이동과 콘텐츠 실행, Google TTS 음성 안내로 일관되게 연결되도록 구현했습니다.