Azure AI 검색의 AI 보강

Azure AI 검색에서 AI 보강Azure AI 서비스와의 통합을 참조하여 원시 형식으로 검색할 수 없는 콘텐츠를 처리합니다. 보강을 통해 분석 및 유추를 사용하여 이전에 존재하지 않았던 검색 가능한 콘텐츠와 구조를 만듭니다.

Azure AI 검색은 텍스트 및 벡터 검색 솔루션이므로 AI 보강의 목적은 검색 관련 시나리오에서 콘텐츠의 효용을 개선하는 것입니다. 원본 콘텐츠는 텍스트여야 하지만(벡터를 보강할 수 없음) 보강 파이프라인에서 만든 콘텐츠는 청크에 대한 텍스트 분할 기술 및 인코딩에 대한 AzureOpenAiEmbedding 기술과 같은 기술을 사용하여 벡터 인덱스에서 벡터화 및 인덱싱할 수 있습니다.

AI 보강은 기술을 기반으로 합니다.

기본 제공 기술은 Azure AI 서비스를 탭합니다. 원시 콘텐츠에 다음과 같은 변환 및 처리를 적용합니다.

  • 다국어 검색을 위한 번역 및 언어 감지
  • 엔터티 인식은 텍스트의 큰 청크에서 사람 이름, 장소 및 기타 엔터티를 추출합니다.
  • 중요한 용어를 식별하고 출력하는 핵심 구 추출
  • OCR(광학 인식)은 이진 파일에서 인쇄 및 필기 텍스트를 인식합니다.
  • 이미지 분석은 이미지 콘텐츠를 설명하고 설명을 검색 가능한 텍스트 필드로 출력합니다.

사용자 지정 기술은 외부 코드를 실행합니다. 파이프라인에 포함하려는 모든 사용자 지정 처리에 사용자 지정 기술을 사용할 수 있습니다.

AI 보강은 Azure 데이터 원본에 연결하는 인덱서 파이프라인의 확장입니다. 보강 파이프라인에는 인덱서 파이프라인(인덱서, 데이터 원본, 인덱스)의 모든 구성 요소에 추가하여 원자성 보강 단계를 지정하는 기술 세트가 있습니다.

다음 다이어그램은 AI 보강의 진행을 보여줍니다.

보강 파이프라인의 다이어그램.

가져오기가 첫 번째 단계입니다. 여기서 인덱서는 데이터 원본에 연결하고 콘텐츠(문서)를 검색 서비스로 풀합니다. Azure Blob Storage는 AI 보강 시나리오에서 사용되는 가장 일반적인 리소스이지만 지원된다면 어떤 데이터 원본도 콘텐츠를 제공할 수 있습니다.

보강 및 인덱스는 대부분의 AI 보강 파이프라인을 다룹니다.

  • 보강은 인덱서가 “문서를 크래킹”하고 이미지와 텍스트를 추출할 때 시작됩니다. 다음에 발생하는 처리의 종류는 데이터 및 기술 세트에 추가한 기술에 따라 달라집니다. 이미지가 있는 경우 이미지 처리를 수행하는 기술로 전달될 수 있습니다. 텍스트 콘텐츠는 텍스트 및 자연어 처리를 위해 큐에 대기됩니다. 내부적으로 기술은 변환이 발생할 때 수집하는 “보강된 문서”를 만듭니다.

  • 보강 콘텐츠는 기술 세트 실행 중에 생성되며 저장하지 않는 한 임시적입니다. 보강 캐시를 사용하도록 설정하여 크래킹된 문서와 기술 출력을 유지하여 향후 기술 세트 실행 중에 나중에 재사용할 수 있습니다.

  • 콘텐츠를 검색 인덱스로 가져오려면 인덱서에 보강된 콘텐츠를 대상 필드로 보내기 위한 매핑 정보가 있어야 합니다. 필드 매핑(명시적 또는 암시적)은 원본 데이터에서 검색 인덱스로 데이터 경로를 설정합니다. 출력 필드 매핑은 보강된 문서에서 인덱스로 데이터 경로를 설정합니다.

  • 인덱싱은 원시 콘텐츠 및 보강된 콘텐츠가 검색 인덱스(해당 파일 및 폴더)의 물리적 데이터 구조로 수집되는 프로세스입니다. 어휘 분석 및 토큰화는 이 단계에서 발생합니다.

탐색은 마지막 단계입니다. 출력은 항상 클라이언트 앱에서 쿼리할 수 있는 검색 인덱스입니다. 선택적으로 출력은 데이터 탐색 도구 또는 다운스트림 프로세스를 통해 액세스되는 Azure Storage의 Blob 및 테이블로 구성된 지식 저장소일 수 있습니다. 지식 저장소를 만드는 경우 프로젝션은 보강된 콘텐츠의 데이터 경로를 결정합니다. 동일한 보강된 콘텐츠가 인덱스와 지식 저장소에 모두 표시될 수 있습니다.

AI 보강을 사용하는 경우

원시 콘텐츠가 비정형 텍스트, 이미지 콘텐츠 또는 언어 감지 및 번역이 필요한 콘텐츠인 경우 보강이 유용합니다. 기본 제공 기술을 통해 AI를 적용하면 전체 텍스트 검색 및 데이터 과학 애플리케이션을 위해 이 콘텐츠의 잠금을 해제할 수 있습니다.

외부 처리를 제공하는 사용자 지정 기술을 만들 수도 있습니다. 오픈 소스, 타사 또는 자사 코드를 사용자 지정 기술로 파이프라인에 통합할 수 있습니다. 여러 문서 유형의 핵심 특성을 식별하는 분류 모델이 이 범주에 포함되지만, 콘텐츠에 가치를 부여하는 어떤 외부 패키지라도 사용할 수 있습니다.

기본 제공 기술에 대한 사용 사례

기본 제공 기술은 Azure AI 서비스 API: Azure AI Computer Vision언어 서비스를 기반으로 합니다. 콘텐츠 입력이 작지 않으면 더 큰 워크로드를 실행하기 위한 청구 가능한 Azure AI 서비스 리소스를 연결하는 것이 좋습니다.

기본 제공 기술을 사용하여 어셈블되는 기술 세트는 다음과 같은 애플리케이션 시나리오에 적합합니다.

  • 이미지 처리 기술에는 OCR(광학 인식)을 비롯하여 얼굴 감지, 이미지 해석, 이미지 인식(유명한 사람 및 랜드마크) 또는 이미지 방향과 같은 특성 등의 시각적 특징 식별이 포함됩니다. 이러한 기술은 Azure AI 검색에서 전체 텍스트 검색을 위한 이미지 콘텐츠의 텍스트 표현을 만듭니다.

  • 기계 번역텍스트 번역 기술에 의해 제공되며, 다국어 솔루션을 위한 언어 감지와 페어링되는 경우가 많습니다.

  • 자연어 처리는 텍스트 청크를 분석합니다. 이 범주의 기술에는 엔터티 인식, 감정 감지(오피니언 마이닝 포함)개인 식별 가능 정보 감지가 포함됩니다. 해당 기술을 사용하면 비정형 텍스트가 인덱스에서 검색 및 필터링 가능한 필드로 매핑됩니다.

사용자 지정 기술의 사용 사례

사용자 지정 기술사용자 지정 기술 웹 인터페이스에서 제공하고 래핑하는 외부 코드를 실행합니다. 사용자 지정 기술의 몇 가지 예는 azure-search-power-skills GitHub 리포지토리에서 찾을 수 있습니다.

사용자 지정 기술이 항상 복잡한 것은 아닙니다. 예를 들어 패턴 일치 또는 문서 분류 모델을 제공하는 기존 패키지가 있는 경우 사용자 지정 기술에 이를 래핑할 수 있습니다.

출력 저장

Azure AI 검색에서 인덱서는 만들어지는 출력을 저장합니다. 단일 인덱서 실행은 보강되고 인덱싱된 출력을 포함하는 최대 3개의 데이터 구조를 만들 수 있습니다.

데이터 저장소 Required 위치 설명
검색 가능 인덱스 Required Search Service 전체 텍스트 검색 및 기타 쿼리 양식에 사용됩니다. 인덱스 지정은 인덱서 요구 사항입니다. 인덱스 콘텐츠는 기술 출력에 더하여 인덱스의 필드에 직접 매핑되는 모든 원본 필드에서 채워집니다.
지식 저장소 선택 사항 Azure Storage 지식 마이닝 또는 데이터 과학과 같은 다운스트림 앱에 사용됩니다. 지식 저장소는 기술 세트 내에서 정의됩니다. 해당 정의는 보강 문서가 Azure Storage의 테이블이나 개체(파일 또는 Blob)로 프로젝션되는지 여부를 결정합니다.
보강 캐시 선택 사항 Azure Storage 후속 기술 세트 실행에서 재사용하기 위한 보강 캐싱에 사용됩니다. 캐시는 가져온 처리되지 않은 콘텐츠(크래킹된 문서)를 저장합니다. 또한 기술 세트 실행 중에 생성된 보강된 문서도 저장합니다. 캐싱은 이미지 분석 또는 OCR을 사용 중이며 이미지 파일을 다시 처리하는 시간과 비용을 방지하려는 경우에 유용합니다.

인덱스와 지식 저장소는 서로 완전히 독립적입니다. 인덱서 요구 사항을 충족하기 위해 인덱스를 연결해야 하지만, 유일한 목표가 지식 저장소인 경우에는 인덱스를 채운 후 무시해도 됩니다.

콘텐츠 탐색

검색 인덱스 또는 지식 저장소를 정의하고 로드한 후에는 해당 데이터를 탐색할 수 있습니다.

검색 인덱스 쿼리

쿼리를 실행하여 파이프라인에서 생성된 보강된 콘텐츠에 액세스합니다. 인덱스는 Azure AI 검색에 대해 만들 수 있는 다른 항목과 비슷합니다. 사용자 정의 분석기로 텍스트 분석을 보완하거나, 퍼지 검색 쿼리를 호출하거나, 필터를 추가하거나, 점수 매기기 프로필을 사용하여 검색 관련성을 조정할 수 있습니다.

지식 저장소에서 데이터 탐색 도구 사용

Azure Storage에서 지식 저장소는 다음의 형식을 가정할 수 있습니다. 즉, JSON 문서의 Blob 컨테이너, 이미지 개체의 Blob 컨테이너 또는 Table Storage의 테이블입니다. Storage Explorer, Power BI 또는 컨텐츠에 액세스하기 위해 Azure Storage에 연결된 어떠한 앱도 사용할 수 있습니다.

  • Blob 컨테이너는 보강된 문서를 전체적으로 캡처합니다. 이는 다른 프로세스로의 피드를 만드는 경우에 유용합니다.

  • 보강된 문서의 슬라이스가 필요하거나 출력의 특정 부분을 포함하거나 제외하려는 경우에 테이블이 유용합니다. 테이블은 Power BI의 분석을 위해 Power BI의 데이터 탐색 및 시각화에 권장되는 데이터 원본입니다.

가용성 및 가격 책정

보강은 Azure AI 서비스가 있는 지역에서 사용할 수 있습니다. 지역별 사용 가능한 Azure 제품 페이지에서 보강의 가용성을 확인할 수 있습니다.

청구가 종량제 가격 책정 모델을 따릅니다. 기술 세트에 다중 지역 Azure AI 서비스 키가 지정된 경우 기본 제공 기술을 사용하는 비용은 전가됩니다. Azure AI 검색에서 계량한 이미지 추출과 관련된 비용도 있습니다. 그러나 텍스트 추출 및 유틸리티 기술은 요금을 청구할 수 없습니다. 자세한 내용은 Azure AI 검색 요금 청구 방식을 참조하세요.

검사 목록: 일반적인 워크플로

보강 파이프라인은 기술 세트가 포함된 인덱서로 이루어져 있습니다. 인덱싱 후 인덱스 쿼리를 통해 결과의 유효성을 검사할 수 있습니다.

지원되는 데이터 원본의 데이터 하위 집합에서 시작합니다. 인덱서 및 기술 세트 디자인은 반복적인 프로세스입니다. 작은 대표 데이터 집합을 사용하면 작업이 더 빨라집니다.

  1. 데이터에 대한 연결을 지정하는 데이터 원본을 만듭니다.

  2. 기술 세트를 만듭니다. 프로젝트가 작지 않으면 Azure AI 다중 서비스 리소스 를 연결해야 합니다. 지식 저장소를 만드는 경우 기술 세트 내에서 정의합니다.

  3. 검색 인덱스를 정의하는 인덱스 스키마를 만듭니다.

  4. 인덱서를 만들고 실행하여 위의 구성 요소를 모두 가져옵니다. 이 단계는 데이터를 검색하고 기술 세트를 실행하고 인덱스를 로드합니다.

    인덱서는 검색 인덱스에 대한 데이터 경로를 설정하는 필드 매핑 및 출력 필드 매핑을 지정하는 위치이기도 합니다.

    필요에 따라 인덱서 구성에서 보강 캐싱을 사용하도록 설정합니다. 이 단계를 사용하면 나중에 기존 보강을 다시 사용할 수 있습니다.

  5. 쿼리를 실행하여 결과를 평가하거나 디버그 세션을 시작하여 기술 세트 문제를 해결합니다.

위의 단계를 반복하려면 실행하기 전에 인덱서를 초기화합니다. 또는 각 실행에서 개체를 삭제하고 다시 만듭니다(무료 계층을 사용하는 경우 권장됨). 캐싱을 사용하도록 설정한 경우 원본에서 데이터가 변경되지 않고 파이프라인을 편집해도 캐시가 무효화되지 않으면 인덱서는 캐시에서 풀합니다.

다음 단계