gemini-embedding-2를 사용한 자료의 유사성은 시각적 요소에 의해 결정되는가? 내용에 의해 결정되는가? PDF와 이미지로 검증해봤다
요약
본 글은 gemini-embedding-2를 활용하여 PDF와 이미지 자료의 임베딩 유사도가 시각적 요소에 의해 결정되는지, 아니면 텍스트 내용에 의해 결정되는지를 검증한 실험 보고서입니다. 그 결과, 배경 분위기보다 의미적인 내용이 벡터 공간 배치에 더 강하게 영향을 미치는 것으로 나타났습니다.
핵심 포인트
- PDF와 이미지는 같은 내용이라면 가까운 벡터 공간에 위치할 가능성이 높다.
- 배경 이미지 자체의 근접성보다 텍스트의 의미적 유사성이 임베딩에 더 큰 영향을 준다.
- 실제 응용 시 원하는 '근접성'과 모델이 표현하는 '근접성'을 반드시 확인해야 한다.
지난번에는 gemini-embedding-2를 사용하여 OCR(광학 문자 인식)하기 어려운 자료에서도 그럴듯하게 비슷한 자료를 찾아낼 수 있을 것 같다는 글을 썼습니다.
이번에는 그 연장선으로, 좀 더 궁금했던 점을 실험해 보았습니다.
그것은 PDF나 이미지 같은 자료에서 임베딩(embedding)이 시각적 요소에 강하게 끌리는지, 아니면 자료 속의 텍스트 내용에 강하게 끌리는지 하는 점입니다.
게다가 gemini-embedding-2는 PDF와 이미지를 모두 그대로 입력할 수 있습니다. 따라서 같은 외관이라면 PDF와 이미지가 어느 정도 가까운 벡터 공간에 배치되는지, 그리고 이미지 속 문자나 문서적인 정보가 임베딩에 얼마나 영향을 미치는지도 함께 살펴보았습니다.
이 글은 엄밀한 벤치마크라기보다는 실무에서 사용할 때의 감각을 보기 위한 검증입니다.
결론부터 말씀드리자면
이번 검증의 결론입니다.
- PDF와 이미지는 같은 내용이라면 가까운 벡터 공간에 배치될 것 같다.
- 이미지 속 문자나 문서적인 정보도 임베딩에 영향을 미치는 것 같다.
- 배경 분위기뿐만 아니라, 내용적인 정보도 임베딩에 반영되는 것 같다.
- 이번 비교에서는 배경의 이미지적 근접성보다 의미적인 근접성이 더 강하게 영향을 준 것으로 보인다.
- 실제 환경에 응용할 때는 자신이 원하는 '근접성'과 이 모델이 표현하는 '근접성'이 어긋나지 않는지 확인해 보는 것이 좋다.
개인적으로는, gemini-embedding-2-preview가 '이미지도 PDF도 넣을 수 있는 임베딩'이며, 단순히 외관 일치에 그치는 것이 아니라 의미를 바탕으로 벡터 공간 위에 배치하는 임베딩이라는 것을 더욱 실감할 수 있었습니다.
무엇을 검증했는가
이번에는 4장의 PDF와 각각을 이미지화한 4장의 PNG, 총 8개의 파일을 준비했습니다.
자료의 구성은 다음과 같습니다.
- 배경A: 밝고 발전해 보이는 배경
- 배경B: 어둡고 망설이는 배경
각각에 다음 내용 텍스트를 넣었습니다.
1.pdf/im_1.png: 배경A × '드래곤볼 재미있다'

2.pdf/im_2.png: 배경A × '심층 학습에 대해 설명'

3.pdf/im_3.png: 배경B × '드래곤볼 DAIMA 재미있다'

4.pdf/im_4.png: 배경B × '심층 학습에 대해 설명'

보고 싶은 포인트는 간단합니다.
1.pdf를 기준으로 했을 때,
- 배경은 다르지만 내용이 비슷한
3.pdf/im_3.png와 - 배경은 같지만 내용이 다른
2.pdf/im_2.png중 어느 쪽이 더 가까운 위치에 배치되는지를 보는 것입니다.
이를 통해 배경 분위기가 강하게 영향을 미치는지, 아니면 내용의 의미가 강하게 영향을 미치는지 경향을 파악할 수 있습니다.
검증 코드
from pathlib import Path
import mimetypes
import numpy as np
...
결과
1.pdf를 쿼리로 했을 때의 결과는 다음과 같았습니다.
여기서 유사도는 임베딩된 벡터들 간의 코사인 유사도입니다.
1.0에 가까울수록, 벡터 공간상에서 가깝게 배치되었다고 볼 수 있습니다.
| 순위 | 파일 | 내용 | 형식 | 유사도 |
|---|---|---|---|---|
| 1 | 1.pdf | 드래곤볼 × 밝은 배경 | 1.0000 | |
| 2 | im_1.png | 드래곤볼 × 밝은 배경 | png | 0.9940 |
| 3 | im_3.png | 드래곤볼DAIMA × 어두운 배경 | png | 0.8502 |
| 4 | 3.pdf | 드래곤볼DAIMA × 어두운 배경 | 0.8501 | |
| 5 | 2.pdf | 심층 학습 설명 × 밝은 배경 | 0.8230 | |
| 6 | im_2.png | 심층 학습 설명 × 밝은 배경 | png | 0.8185 |
| 7 | 4.pdf | 심층 학습 설명 × 어두운 배경 | 0.7373 | |
| 8 | im_4.png | 심층 학습 설명 × 어두운 배경 | png | 0.7348 |
이에 대해, 다음과 같은 관계가 형성되었습니다.
3.pdf
/im_3.png
은 배경이 다르지만 내용이 가깝고 -
2.pdf
/im_2.png
은 배경은 같지만 내용이 다릅니다.
결과적으로, 3.pdf
/ im_3.png
가 2.pdf
/ im_2.png
보다 상위에 위치했습니다.
즉, 이번 비교에서는 배경의 근접성보다는 드래곤볼 계열 이야기를 하고 있다는 의미적인 근접성이 embedding에 강하게 영향을 준 것으로 보입니다.
⚠️ 여기서 주의할 점은, 순위로 보면 내용이 가까운 것이 상위에 오르지만, 유사도 스코어 자체에 극단적으로 큰 차이가 있는 것은 아니라는 점입니다.
배경을 무시하고 있는 것은 아닌 것 같다
이번 결과만 보면 '그럼 배경은 안 보고 글자만 보는 건가'라는 생각이 들 수도 있지만, 그렇게 단순하지는 않은 것 같습니다.
예를 들어 2.pdf와 4.pdf를 비교해 보면, 둘 다 심층 학습(Deep Learning) 계열의 내용이지만, 2.pdf가 1.pdf에 가깝게 나타납니다.
이는 단순히 내용이 같다는 것뿐만 아니라, 배경이 비슷하다는 것도 플러스로 영향을 주고 있다고 생각하는 것이 자연스럽습니다.
즉, 이번 결과는 다음과 같습니다.
배경도 본다글자 내용도 본다그 위에, 이번에는 배경 차이보다 의미 차이가 벡터 공간상의 배치에 더 강하게 영향을 주었다
별로 배경을 무시하고 있는 건 아니며, 이번 샘플에서는 의미적으로 가까운 자료가 더 가까운 위치에 배치되었다는 느낌입니다.
이미지 속의 글자나 문서적인 정보도 유사도에 영향을 준다
im_3.png가 3.pdf와 거의 비슷한 수준으로 상위에 오르고, im_2.png도 2.pdf 근처 위치에 있습니다.
이를 보면, 이미지에서도 안에 쓰여진 글자의 의미를 상당히 다룰 수 있을 것 같습니다.
즉, PDF의 텍스트 레이어를 직접 읽어서 강하다기보다는, 이미지화된 자료에서도 내용을 어느 정도 반영한 배치가 이루어지고 있는 것으로 보입니다.
세상에는 깨끗한 텍스트나 PDF만 있는 것이 아니라, 다음과 같은 다양한 파일들이 섞여 있습니다.
- 스크린샷
- 이미지화된 자료
- 스캔 PDF
- 화면 캡처를 붙인 자료
그런 상황에서, 이미지에서도 의미에 맞는 벡터를 얻을 수 있다면, 자료 검색의 허술함이 상당히 용인될 것 같습니다.
그럼 외형 정보는 약한가?
이번 검증만으로는 그렇게 말할 수는 없을 것 같습니다.
다만 적어도 제 감각으로는, gemini-embedding-2-preview는 '외형만의 특징량'이라기보다는, 외형과 내용을 종합하여 의미 공간에 놓는 embedding으로 생각하는 것이 더 자연스럽습니다.
따라서 다음과 같은 용도에는 궁합이 좋을 것 같습니다.
- 외형과 내용 모두를 사용해서 자료를 찾고 싶을 때
- OCR만으로는 놓치는 자료를 포함해서 검색하고 싶을 때
- PDF와 이미지를 동일한 전장에서 다루고 싶을 때
반대로, 다음과 같은 용도라면 이 모델은 생각보다 의미를 과하게 읽을 수 있습니다.
- 텍스트는 무시하고 싶을 때
- 레이아웃이나 배색만으로 근접성을 보고 싶을 때
- 순수하게 이미지의 외형 일치만 원할 때
즉, 편리하기는 하지만, 원하는 '근접성'이 무엇인지 제대로 인지하고 사용할 필요가 있을 것 같습니다.
실제로 이용할 때 중요한 점
gemini-embedding-2-preview의 embedding '근접성'을 그대로 믿기보다는, 자신의 업무 데이터로 그 근접성이 정말 원하는 근접성이 되었는지 미리 확인하는 것이 중요합니다.
예를 들어,
- 청구서나 신청서처럼 외형 구조가 본질인지
- 슬라이드나 설명 자료처럼 내용 텍스트의 의미가 본질인지
- 화면 캡처처럼 UI의 외형과 글자가 모두 중요한지
에 따라, 원하는 유사성은 상당히 달라집니다.
이번 실험에서는 '의미적으로 가까운 자료'가 순위에서 상위에 왔습니다.
하지만 실제 환경에서 원하는 것이 '의미적 근접성'이 아니라 '외형이나 구조만의 근접성'이라면, 제대로 된 유사 자료를 검색하지 못할 수도 있습니다.
따라서 도입 전에 소수라도 실데이터로 배열 순서나 유사도를 확인해 보는 것이 중요합니다.
요약
이번 검증을 통해 다음과 같은 점을 알게 되었습니다.
PDF와 이미지는 상당히 유사한 동작을 보여요.
이미지 속의 문자나 문서적인 정보도 벡터 배치에 영향을 주는 것 같아요.
배경 분위기뿐만 아니라 내용적인 근접성도 반영하는 것 같아요.
다만 배경도 보고 있고, 무시하고 있는 건 아닌 것 같아요.
이번에는 배경 차이보다 의미 차이가 더 강하게 영향을 미쳤어요.
잡다한 자료를 그대로 검색 대상으로 넣고 싶을 때, PDF와 이미지를 한 번에 처리할 수 있고, 게다가 외관뿐만 아니라 내용에도 근거한 배치를 얻을 수 있다는 점은 편리해 보여요.
또한, 이미지가 포함되는 embedding이기 때문에 이미지 유사 검색에 바로 사용하기보다는, 외관과 내용을 모두 고려한 embedding으로 다루는 것이 적절할 것 같아요.
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기