AI로 장소 검색 서비스 만드는 중입니다 (2) — 영상에서 '장소'를 캐내는 법
AI로 장소 검색 서비스 만드는 중입니다 (2) — 영상에서 '장소'를 캐내는 법

지난 편에서 "유튜버가 다녀온 곳을 자동으로 모으겠다"고 호기롭게 말했습니다. 그 첫 번째 벽이 바로 이거였어요.
자막엔 가게 이름이 없습니다.
생각해 보면 당연합니다. 카페 영상에서 사람은 "여기 진짜 분위기 좋죠? 디저트도 꼭 드셔보세요"라고 말하지, "지금 보시는 곳은 서울 성동구 성수동에 위치한 ○○카페입니다"라고 또박또박 말해주지 않습니다. 가게 이름은 화면 자막에 잠깐 떴다 사라지거나, 더보기란에 적혀 있거나, 아예 없습니다. 사람은 영상을 보면서 자연스럽게 "아 저 집이구나" 하지만, 컴퓨터에게 자막은 그냥 "여기 좋아요 디저트 맛있어요"라는 글자 덩어리일 뿐입니다.
그래서 이 편은 "이 글자 덩어리에서 진짜 가게를 어떻게 캐내는가" 에 대한 이야기입니다. 그리고 늘 그렇듯, '캐내는 것'보다 '거르는 것'이 훨씬 어려웠다는 이야기이기도 합니다.
일단, 영상을 긁어옵니다
첫 단계는 단순합니다. 등록된 유튜브 채널들을 매일 돌면서 새 영상이 올라왔는지 보고, 영상의 설명과 자막을 가져옵니다. (개발자들은 이걸 '크롤링'이라고 부르는데, 그냥 "기계가 대신 둘러보고 받아오는 것" 정도로 이해하시면 됩니다.) 채널 하나를 처음 등록하면 그 채널 영상을 전량 훑습니다 — 어떤 회 전문 채널은 영상만 736개였어요.
여기까진 큰 사고가 없었습니다. 문제는 그다음, 이 텍스트를 AI에게 넘기는 순간부터였습니다.
"이 설명에서 장소 뽑아줘"
요즘 AI(LLM)는 이런 일을 잘합니다. 영상 설명을 통째로 주고 "여기 등장하는 가게·장소 이름을 목록으로 뽑아줘"라고 하면, 정말 그럴듯하게 뽑아줍니다. 처음 결과를 봤을 때 "오 되네?" 했습니다.
그 "오 되네?"는 딱 하루 갔습니다.
문제 1 — AI가 소설을 씁니다
가장 골치 아팠던 건 AI가 없는 가게를 지어내는 것이었습니다. 분명 영상엔 카페 두 곳만 나왔는데, AI는 세 곳을 뽑아옵니다. 세 번째 가게 이름이 너무 진짜 같아서 "어? 이거 영상에 나왔나?" 싶어 영상을 다시 돌려보면, 없습니다.
AI는 "모르겠다"고 말하는 걸 싫어합니다. 빈칸을 보면 그럴듯한 걸로 채워 넣으려 합니다. 사람이 면접에서 모르는 질문에 아는 척하는 것과 비슷한데, 문제는 AI는 너무 자연스럽게 아는 척을 한다는 거예요. (이걸 '환각'이라고 부릅니다. 단어는 거창한데 그냥 "그럴듯한 거짓말"입니다.)
처음엔 "프롬프트를 더 잘 쓰면 되겠지" 하고 AI에게 지시문을 고치고 또 고쳤습니다. "확실하지 않으면 뽑지 마", "추측하지 마"… 효과가 있긴 했지만, 완전히 사라지진 않았습니다. **AI에게 거짓말을 하지 말라고 부탁하는 것만으로는 부족**했습니다.
거기에 한 가지 얄궂은 오류가 더 있었습니다. AI가 업종어를 상호로 착각하는 겁니다. "길 건너편 샤퀴테리 — 소금집 델리"라는 설명에서, 진짜 상호인 "소금집 델리" 대신 업종어인 "샤퀴테리"(샤퀴테리는 육가공 델리를 뜻하는 업종어예요)를 가게 이름으로 뽑아버립니다. "베이커리", "오마카세", "브런치" 같은 말도 상호로 오인하곤 했고요. 이건 프롬프트에 "업종·메뉴어는 상호가 아니다"라는 가드를 명시해 잡았습니다.
그래서, '뽑기'와 '거르기'를 분리했습니다
결국 방향을 바꿨습니다. AI가 뽑은 걸 그대로 믿지 않기로요. 대신 검증(verify) 단계를 따로 뒀습니다. 흐름은 이렇게 됩니다.
- AI가 설명에서 가게 후보를 넉넉하게 뽑는다 (좀 틀려도 됨, 일단 다 뽑아)
- 각 후보를 네이버 지도에 실제로 검색 해 본다
- 그런 가게가 진짜 존재하나?
- 위치가 영상의 동네와 얼추 맞나?
- 업종이 말이 되나? (카페 영상인데 자동차 정비소가 나오면 이상하죠)
- 통과한 것만 진짜 장소로 인정한다
AI는 "상상력은 풍부하지만 사실 확인은 안 하는 작가"라고 보고, 그 뒤에 팩트체커를 한 명 더 붙인 셈입니다. AI가 지어낸 ○○베이커리는 네이버에 없으니 조용히 탈락합니다. 위 그림의 '체'가 바로 이 검증 단계예요.
이렇게 바꾸고 나서 결과가 확 깨끗해졌습니다. 한 영상에서 AI가 후보 10개를 뽑으면 그중 실제로 살아남는 건 6~7개 정도였는데(나머지는 환각이거나 스친 언급), 그 6~7개는 믿을 만했습니다. "많이 뽑고 빡세게 거른다"** — 이게 이 단계의 결론이었습니다.
팩트체크에도 요령이 필요했다 — 검색어 사다리
그런데 "네이버에 검색해 본다"는 이 단순한 팩트체크가, 막상 해보니 만만치 않았습니다. "이름 + 지역"으로 정확히 검색하면 될 것 같지만 — 주소 표기가 조금만 달라도 결과가 0건으로 나오는 경우가 수두룩했습니다. 그래서 검색어를 단계적으로 느슨하게 푸는 사다리를 만들었어요.
- 이름 + 전체 지역으로 검색
- 0건이면 → 지역을 마지막 동네 이름만 남기고 축약
- 그래도 0건이면 → 이름만으로 검색
표본상 "이름만"까지 내려가서야 결과가 잡히는 경우가 37%나 됐습니다. 대신 아무거나 채택하면 안 되니, 결과가 나와도 상위 몇 개 중 지역과 이름이 둘 다 맞는 것만 확정하고, 애매하면 사람이 보는 검토 큐로 넘깁니다. (팩트체크 하나도 이렇게 지저분한 현실을 달래야 했습니다.)

문제 2 — 같은 가게, 다른 이름
또 하나의 복병. 같은 가게가 영상마다 다른 이름으로 불립니다. 어떤 유튜버는 정식 상호로, 어떤 유튜버는 "성수동 그 빵집", 어떤 댓글은 동네 별명으로. 사람은 다 같은 집인 걸 아는데, 기계는 이걸 세 개의 다른 가게로 셉니다.
여기서도 네이버 검색이 구원투수였습니다. 후보 이름으로 네이버를 검색하면 정식 상호와 고유한 위치(주소·좌표) 가 나옵니다. 이름이 달라도 같은 좌표를 가리키면 같은 가게죠. 그래서 "표기는 셋이지만 가게는 하나"로 합쳐줍니다. 위 그림처럼요.
(완벽하진 않습니다. 프랜차이즈 분점들이나, 이전·재오픈한 가게처럼 헷갈리는 경우가 종종 있어서 — 여기도 아직 손볼 데가 남아 있습니다. 솔직히.)
덤으로 걸린 것 — 폐업한 가게
예상 못 했던 보너스도 있었습니다. 오래된 영상은 거기 나온 가게가 이미 문을 닫은 경우가 많습니다. 검증 단계에서 네이버에 더 이상 안 나오면 자연스럽게 걸러집니다. "유튜브엔 살아 있지만 현실엔 없는 가게"를 자동으로 솎아낸 셈이죠. 의도한 건 아닌데 공짜로 얻은 효과였습니다.
이 단계에서 배운 것
정리하면 이렇습니다.
- AI는 '뽑는 일'에 강하지, '확인하는 일'엔 약하다. 둘을 한 번에 시키면 거짓말이 섞인다. 분리하니 깨끗해졌다.
- '못 박을 수 있는 사실'은 AI 대신 데이터로 확인한다. 가게의 실존 여부·위치·업종은 추측할 게 아니라 네이버에 물어보면 되는 사실이다.
- AI에게 "거짓말하지 마"라고 부탁하는 것보다, 거짓말을 해도 걸러지는 구조를 만드는 게 훨씬 든든하다.
이 "AI가 잘하는 일과 사실로 못 박을 일을 나눈다"는 감각은, 사실 이 프로젝트 내내 반복해서 등장합니다. 다음 편에서 또 만나게 됩니다.
✚ 그 뒤 이야기 (이 글을 쓴 이후)
이 추출 파이프라인은 이후 크게 두 가지가 바뀌었습니다.
- 설명이 부실하면 자막까지 동원 — 어떤 영상은 설명이 너무 짧아서 장소가 안 잡힙니다. 그런 경우에만, 브라우저를 자동 조종해 영상을 재생·자막을 켠 뒤 그 자막을 함께 넣어 다시 추출합니다. 설명 한 줄짜리 영상에서 장소를 살려냈어요.
- 추출 AI를 로컬에서 클라우드로 — 처음엔 내 컴퓨터 GPU로 추출을 돌렸는데, 영상 한 편에 45초·GPU 100% 점유라 736개 영상 채널 하나가 10시간이 걸렸습니다. 클라우드 경량 모델로 바꾸니 15분으로 줄었고 GPU도 자유를 얻었습니다(품질은 동급 이상). 이 눈물겨운 이야기는 4편에서, 정확한 숫자는 기술 2·10편에서.

한 채널의 여정을 숫자로 요약하면 이렇습니다 — 영상 736개에서 후보 897개를 뽑아, 검증을 거쳐 장소 420곳이 살아남고, 그중 383곳이 네이버와 매칭돼 사진까지 붙었습니다. 그 사이 340곳은 "애매함"으로 검토 큐에 쌓였고요.
자, 이렇게 해서 지도 위에 핀이 꽤 쌓였습니다. 수천 개의 가게가 모였어요. 그런데 이제 진짜 어려운 일이 시작됩니다. 사람들이 "강남 분위기 좋은 카페" 라고 검색했을 때, 이 수천 개 중에서 딱 맞는 걸 골라주는 일. 다음 편 제목은 이렇습니다 — "검색이 자꾸 엉뚱한 걸 물어온다."
여기서부터가 진짜 삽질의 시작이었습니다. 그럼, 계속.
실제 운영되는 서비스는 유추카(유튜버 추천 카페)에서 보실 수 있습니다.