Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

Semantic Search

시맨틱 검색은 임베딩, 최근접 이웃 검색 및 리랭커를 사용해 정확히 일치하는 단어 대신 쿼리의 의미를 기준으로 문서와 이미지의 순위를 매깁니다.

시맨틱 검색은 검색어와 공유하는 단어가 아니라 검색어의 의미와 얼마나 유사한지를 기준으로 문서, 이미지 또는 기타 항목의 순위를 매깁니다. "고양이가 배고파요"를 검색하면 두 문장에 겹치는 단어가 없더라도 "새끼 고양이 급식 일정"이라는 제목의 페이지가 결과로 표시될 수 있습니다. 최신 시스템은 임베딩으로 이를 구현합니다. 신경망 인코더가 쿼리와 항목을 벡터로 변환하며, 의미가 유사하면 벡터도 서로 가까워집니다. 벡터 검색은 가장 가까운 항목을 찾습니다. Google이 검색 쿼리 이해에 BERT를 적용하기 시작한 2019년에 웹 검색도 이 방향으로 나아갔습니다. Google은 이 변경이 미국의 영어 검색 10건 중 1건에 영향을 미쳤다고 밝혔습니다.

시맨틱 검색 작동 방식#

대부분의 시맨틱 검색 시스템은 바이인코더로 검색한 다음 재순위화 모델로 결과를 다듬습니다. 바이인코더는 각 문서를 미리 한 번씩 임베딩하고, 벡터를 벡터 데이터베이스에 저장합니다. 쿼리 시점에는 쿼리만 임베딩하며, 근사 최근접 이웃 인덱스가 코사인 유사도를 기준으로 상위 후보를 반환합니다. Sentence-BERT(2019)는 문장에 이 방식을 실용적으로 적용했습니다. 문장 10,000개 중 가장 유사한 쌍을 찾는 데 BERT 크로스 인코더는 약 65시간, 문장 임베딩은 약 5초가 걸렸습니다. 이어 Dense Passage Retrieval(2020)은 학습된 임베딩이 오픈 도메인 질의응답에서 BM25 키워드 순위화보다 상위 20개 문단 검색 정확도가 9~19%포인트 높다는 점을 보였습니다. 마지막으로 크로스 인코더 재순위화 모델은 쿼리와 각 후보를 함께 읽고 짧은 후보 목록의 순서를 더 정확하게 조정합니다.

이 예제에서는 Sentence Transformers 라이브러리를 사용해 단어 중복도와 임베딩 유사도를 비교합니다:

from sentence_transformers import SentenceTransformer

model = SentenceTransformer("sentence-transformers/all-MiniLM-L6-v2")

documents = [
    "How to reset a forgotten account password",
    "Feeding schedule for a new kitten",
    "Quarterly sales report for the retail division",
    "Best hiking trails near Denver",
]
query = "my cat is hungry"

# Keyword search: documents sharing at least one word with the query
query_words = set(query.lower().split())
print("Keyword matches:", [d for d in documents if query_words & set(d.lower().split())])

# Semantic search: rank documents by cosine similarity of their embeddings
doc_embeddings = model.encode(documents)
query_embedding = model.encode(query)
scores = model.similarity(query_embedding, doc_embeddings)[0]
best = int(scores.argmax())
print(f"Semantic match: {documents[best]!r} (cosine {scores[best]:.2f})")

키워드 매칭은 어떤 문서에도 "my", "cat", "is", "hungry"가 포함되지 않으므로 빈 목록을 반환합니다. 시맨틱 검색은 코사인 유사도 0.56인 새끼 고양이 급식 일정을 반환합니다. 이는 의미상 가장 가까운 문서입니다.

  • 키워드 검색: BM25와 같은 수식을 사용해 정확히 일치하는 용어를 기준으로 문서의 순위를 매깁니다. 임베딩이 의미를 뭉뚱그릴 수 있는 이름, 부품 번호, 드문 단어를 잘 처리하지만 동의어나 바꿔 쓴 표현은 놓칩니다.
  • 하이브리드 검색: 키워드 검색과 시맨틱 검색을 함께 수행하고 결과를 결합하는 방식으로, 프로덕션 검색 및 RAG 시스템에서 일반적으로 사용됩니다.
  • 시맨틱 세그멘테이션: 모든 이미지 픽셀에 클래스를 지정하는 별개의 컴퓨터 비전 작업으로, "시맨틱"이라는 단어만 공유합니다.
  • 시맨틱 캐싱: 같은 의미 기반 매칭을 LLM 요청에 적용해 새 프롬프트가 이전 프롬프트와 같은 의미일 때 저장된 답변을 재사용합니다.

실제 적용 사례#

  • 검색 증강 생성(RAG): 사용자의 표현이 문서의 표현과 다르더라도 언어 모델에 필요한 문단을 찾습니다.
  • 특허 검색: 다른 용어로 설명된 동일한 발명의 선행 기술을 찾아냅니다.
  • 소매 제품 검색: "비 오는 날 출퇴근용 신발"과 같은 쿼리를 해당 표현을 전혀 사용하지 않는 방수 운동화 목록과 연결합니다.
  • 추천 시스템: 사용자가 이미 선택한 항목의 임베딩과 가까운 임베딩을 가진 기사나 제품을 추천합니다.

의미 기반 이미지 검색#

대조 학습을 사용해 이미지-캡션 쌍으로 학습한 CLIP과 같은 모델은 텍스트와 이미지를 하나의 공간에 임베딩하므로, 태그나 캡션이 없는 사진도 텍스트 쿼리로 순위를 매길 수 있습니다. Ultralytics 시맨틱 이미지 검색 솔루션도 이 방식으로 구현됩니다. VisualAISearch 클래스는 폴더의 모든 이미지를 CLIP으로 한 번 임베딩하고, 텍스트 쿼리도 같은 공간에 임베딩한 뒤, 쿼리와의 코사인 유사도가 임계값을 넘는 이미지를 유사도가 높은 순으로 최대 30개 반환합니다. 그러면 "벤치에 앉아 있는 개"와 같은 쿼리로 레이블이 없는 모음에서 일치하는 사진을 찾을 수 있습니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 보전, 지리 공간 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO를 활용해 항공기 검사, 활주로 FOD 감지, 공항 지상 운영, 복합재 결함 감지 등 항공우주 분야에 컴퓨터 비전을 적용하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요