Azure AI Search를 간단하게 검색해봤다.
Azure AI Search란, Microsoft의 클라우드 기반 검색 서비스로, 다양한 데이터 소스에서 컨텐츠를 인덱싱하고 검색할 수 있게 해주는 서비스를 말한다.
1 Azure AI 검색 개요: 기본 개념과 주요 기능 이해
2 인덱스 생성 및 관리: 검색 인덱스를 만들고 구성하는 방법
3 데이터 인덱싱: 다양한 데이터 소스에서 콘텐츠를 인덱싱하는 방법
4 검색 기능: 기본 검색, 필터링, 패싯 검색 등의 기능
5 AI 기반 검색 기능: 자연어 처리, 이미지 분석 등 AI 기능 통합
6 벡터 검색: 임베딩과 시맨틱 검색 기능
like 검색을 말한다.
사용자가 레이 자동차 라는 키워드를 검색했을 때
1) 텍스트 벡터화
레이 자동차는 자연어 처리 모델을 통해 벡터(수학적 벡터 형태)로 변환된다.
{
"keyword": "레이자동차",
"vector": [0.123, 0.456, 0.789, ...] // 고차원 벡터
}
2) 인덱싱
데이터가 벡터로 변환되에 검색 인덱스에 저장된다.
[
{
"model": "소나타",
"vector": [0.111, 0.222, 0.333, ...]
},
{
"model": "스포티지",
"vector": [0.444, 0.555, 0.666, ...]
},
{
"model": "레이자동차",
"vector": [0.123, 0.456, 0.789, ...]
},
// 다른 자동차 모델들
]
3) 유사도 검색
레이 자동차와 인덱스에 저장된 자동차 벡터들 간의 유사도를 계산한다. (벡터 유사성 검증)
4) 결과 반환
유사도가 높은 벡터들을 찾아서 가장 일치하는 항목들을 반환한다.
[
{
"model": "레이자동차",
"similarity_score": 0.98 // -> 1에 가까울수록 더 높은 유사도를 의미
},
{
"model": "소나타",
"similarity_score": 0.85
},
{
"model": "스포티지",
"similarity_score": 0.78
}
]
like 검색과 벡터 유사도 검색을 혼합하여 사용하는 방법이다.
키워드 기반 검색으로 빠르게 초기 필터링을 하고, 벡터 유사도 검색으로 필터링된 결과에 대해 의미 기반 검색을 수행하는 방식이다.
고급 패턴 매칭을 통해 특정 규칙에 맞는 문자열을 찾을 수 있다.
전화번호, 이메일 주소 등 특정 포맷을 가진 데이터를 검색할 때 유용하다.
사용자가 정의한 특정 조건을 기준으로 결과를 제한하는 방식이다. 이는 검색 쿼리와 함께 사용되며, 필터링 조건을 추가해 결과를 좁힌다.
사용자 행동이나 선호도를 분석하여 개인화된 결과를 제공하는 방식이다.
자연어 문장을 분석하여 의미적 관계를 파악하고, 문장 구조와 의도를 이해하며 검색하는 방식이다. 질의응답 시스템이나 챗봇에서 사용된다.
문서 내에서 단어, 문장, 문맥을 검색하는 방식이다.
https://learn.microsoft.com/ko-kr/azure/search/
https://learn.microsoft.com/ko-kr/training/modules/intro-to-azure-search/2-what-is-azure-search