Azure Cognitive Search를 통한 AI 보강AI enrichment with Azure Cognitive Search

1963 JFK assassination의 CIA 조사에 대 한 문서의 34000 페이지를 포함 하는 Jfk Files와 같은 크고 구조화 되지 않은 데이터 집합에는 입력 및 필기 노트, 사진 및 다이어그램, 표준 검색 솔루션이 구문 분석할 수 없는 기타 구조화 되지 않은 데이터가 포함 됩니다.Large, unstructured datasets like the JFK Files, which contain over 34,000 pages of documents about the CIA investigation of the 1963 JFK assassination, include typewritten and handwritten notes, photos and diagrams, and other unstructured data that standard search solutions can't parse.

Azure Cognitive Search의 AI 보강 는 Cognitive Services Computer VisionText Analytics api의 미리 학습 된 machine learning 기술력과를 사용 하 여 이미지, blob 및 기타 구조화 되지 않은 데이터 원본에서 jfk 파일 등의 구조화 된 텍스트를 추출 하 고 향상 시킬 수 있습니다.AI enrichment in Azure Cognitive Search can extract and enhance searchable, indexable text from images, blobs, and other unstructured data sources like the JFK Files by using pre-trained machine learning skillsets from the Cognitive Services Computer Vision and Text Analytics APIs. CIA Cryptonyms와 같은 도메인별 데이터에 대 한 특수 처리를 추가 하기 위해 사용자 지정 기술을 만들고 연결할 수도 있습니다.You can also create and attach custom skills to add special processing for domain-specific data like CIA Cryptonyms. Azure Cognitive Search는 컨텍스트를 인덱싱하고 검색할 수 있습니다.Azure Cognitive Search can then index and search the context.

이 예제 솔루션은 Azure Cognitive Search AI 보강를 사용 하 여 원래의 복잡 하 고 구조화 되지 않은 JFK 파일 데이터 집합에서 의미를 추출 합니다.This example solution uses Azure Cognitive Search AI enrichment to extract meaning from the original complex, unstructured JFK Files dataset. 프로젝트를 통해 작업하거나 온라인 비디오에서 작업 중인 프로세스를 시청 하거나 온라인 데모를 사용 하 여 jfk 파일을 탐색할 수 있습니다.You can work through the project, watch the process in action in an online video, or explore the JFK Files with an online demo.

잠재적인 사용 사례Potential use cases

  • 검색 및 데이터 과학 앱에서 구조화 되지 않은 텍스트 및 이미지 콘텐츠의 값과 유틸리티를 늘립니다.Increase the value and utility of unstructured text and image content in search and data science apps.
  • 사용자 지정 기술을 사용 하 여 오픈 소스, 타사 또는 자사 코드를 인덱싱 파이프라인에 통합할 수 있습니다.Use custom skills to integrate open-source, third-party, or first-party code into indexing pipelines.
  • 검색 된 BMP 또는 JPG 문서를 전체 텍스트 검색 가능으로 설정 합니다.Make scanned BMP or JPG documents full-text searchable.
  • 결합 된 이미지와 텍스트를 사용 하 여 Pdf에 대 한 표준 PDF 텍스트 추출 보다 더 나은 결과를 생성 합니다.Produce better outcomes than standard PDF text extraction for PDFs with combined image and text.
  • 더 큰 비구조적 또는 반 구조화 된 문서에서 숨겨진 기본 의미 있는 원시 콘텐츠나 컨텍스트에서 새 정보를 만듭니다.Create new information from inherently meaningful raw content or context that's hidden in larger unstructured or semi-structured documents.

ArchitectureArchitecture

비구조적 데이터를 구조화 된 데이터로 변환 하 Cognitive Search 아키텍처

이 다이어그램에서는 구조화 된 구조화 된 데이터를 생성 하기 위해 Cognitive Search skills 파이프라인을 통해 구조화 되지 않은 데이터를 전달 하는 과정을 보여 줍니다.This diagram illustrates the process of passing unstructured data through the Cognitive Search skills pipeline to produce structured, indexable data.

  1. Blob storage는 Cognitive Search에 구조화 되지 않은 문서 및 이미지 데이터를 제공 합니다.Blob storage provides unstructured document and image data to Cognitive Search.
  2. Cognitive Search는 OCR, 텍스트 및 필기 인식, 이미지 분석, 엔터티 인식 및 전체 텍스트 검색을 포함 하 여 미리 작성 된 인지 기술력과을 데이터에 적용 합니다.Cognitive Search applies pre-built cognitive skillsets to the data, including OCR, text and handwriting recognition, image analysis, entity recognition, and full-text search.
  3. Cognitive Search 확장성 메커니즘은 Azure 함수를 사용 하 여 데이터에 CIA Cryptonyms 사용자 지정 기술을 적용 합니다.The Cognitive Search extensibility mechanism uses an Azure Function to apply the CIA Cryptonyms custom skill to the data.
  4. 미리 작성 된 기술력과 사용자 지정은 Azure Cognitive Search가 인덱싱할 수 있는 구조적 지식을 제공 합니다.The pre-built and custom skillsets deliver structured knowledge that Azure Cognitive Search can index.

구성 요소Components

Azure Cognitive Search은 다른 Azure 구성 요소와 함께 작동 하 여이 솔루션을 제공 합니다.Azure Cognitive Search works with other Azure components to provide this solution.

Azure Blob StorageAzure Blob Storage

Azure Blob Storage 는 HTTPS를 통해 전 세계 어디에서 나 액세스할 수 있는 데이터에 대 한 REST 기반 개체 저장소입니다.Azure Blob Storage is REST-based object storage for data that you can access from anywhere in the world via HTTPS. Blob Storage를 사용하여 세상에 공개적으로 표시하거나 애플리케이션 데이터를 비공개적으로 저장할 수 있습니다.You can use Blob storage to expose data publicly to the world, or to store application data privately. Blob storage는 텍스트 또는 그래픽과 같은 대량의 구조화 되지 않은 데이터에 적합 합니다.Blob storage is ideal for large amounts of unstructured data like text or graphics.

Cognitive Search 는 콘텐츠를 인덱싱하고 사용자 환경을 개선 합니다.Cognitive Search indexes the content and powers the user experience. Cognitive Search 기능을 사용 하 여 미리 작성 된 인식 기술을 콘텐츠에 적용 하 고 확장성 메커니즘을 사용 하 여 사용자 지정 기술을추가 합니다.You use Cognitive Search capabilities to apply pre-built cognitive skills to the content, and use the extensibility mechanism to add custom skills.

  • Computer Vision API텍스트 인식 api 를 사용 하 여 이미지에서 텍스트 정보를 추출 하 고 인식 합니다.The Computer Vision API uses text recognition APIs to extract and recognize text information from images. 읽기 는 최신 인식 모델을 사용 하며, 텍스트를 많이 사용 하는 대량의 문서와 잡음이 있는 이미지에 최적화 되어 있습니다.Read uses the latest recognition models, and is optimized for large, text-heavy documents and noisy images. OCR 은 규모가 많은 문서에는 최적화 되지 않지만 더 많은 언어를 지원 합니다.OCR isn't optimized for large documents, but supports more languages. 현재 예제에서는 OCR을 사용 하 여 데이터를 Hocr 형식으로 생성 합니다.The current example uses OCR to produce data in the hOCR format.

  • 텍스트 분석 APINER (명명 된 엔터티 인식), 핵심 구 추출전체 텍스트 검색과같은 기능을 사용 하 여 비구조적 문서에서 텍스트 정보를 추출 합니다.The Text Analytics API extracts text information from unstructured documents by using capabilities like Named Entity Recognition (NER), key phrase extraction, and full-text search.

  • 사용자 지정 기술 Cognitive Search 확장 하 여 콘텐츠에 특정 보강 변환을 적용할 수 있습니다.custom skills extend Cognitive Search to apply specific enrichment transformations to content. 현재 예제에서는 CIA 문서에서 대문자 코드 이름을 디코딩하는 CIA Cryptonyms을 적용 하는 사용자 지정 기술을 만듭니다.The current example creates a custom skill to apply CIA Cryptonyms, which decode uppercased code names in CIA documents. 예를 들어 CIA는 cryptonym GPFLOOR 를 Lee Harvey Oswald에 할당 했으므로 사용자 지정 CIA cryptonym 기술은 cryptonym를 포함 하는 모든 JFK 파일을 연결 합니다.For example, the CIA assigned the cryptonym GPFLOOR to Lee Harvey Oswald, so the custom CIA Cryptonym skill links any JFK files containing that cryptonym with Oswald.

Azure 기능Azure Functions

Azure Functions 는 인프라를 명시적으로 프로 비전 하거나 관리 하지 않고도 이벤트에서 트리거되는 작은 코드를 실행할 수 있도록 하는 서버 리스 계산 서비스입니다.Azure Functions is a serverless compute service that lets you run small pieces of event-triggered code without having to explicitly provision or manage infrastructure. 이 예제에서는 Azure Function 메서드를 사용 하 여 CIA Cryptonyms 목록을 JFK 파일에 사용자 지정 기술로 적용 합니다.This example uses an Azure Function method to apply the CIA Cryptonyms list to the JFK Files as a custom skill.

Azure App ServiceAzure App Service

또한 예제 솔루션은 보강 및 인덱싱된 문서에서 테스트 하 고, 인덱스를 검색 하 고, 연결을 탐색 하는 Azure App Service 에 독립 실행형 웹 앱을 빌드합니다.The example solution also builds a standalone web app in Azure App Service for testing, demonstrating, searching the index, and exploring connections in the enriched and indexed documents.

문제 및 고려 사항Issues and considerations

  • 코드 프로젝트와 데모에서는 특정 Cognitive Search 사용 사례를 소개 합니다.The code project and demo showcase a particular Cognitive Search use case. 이 예제는 모든 시나리오에 대 한 프레임 워크 또는 확장 가능한 아키텍처가 아니라 일반적인 지침과 예제를 제공 하기 위한 것입니다.This example isn't intended to be a framework or scalable architecture for all scenarios, but to provide a general guideline and example.
  • OCR 결과는 스캔 및 이미지 품질에 따라 크게 달라 집니다.OCR results vary greatly depending on scan and image quality. 읽기 는 최신 인식 모델을 사용 하지만 OCR 보다 언어 지원이 더 낮습니다.Read uses the latest recognition models, but has less language support than OCR.
  • 일부 스캔 및 네이티브 PDF 형식이 Cognitive Search에서 올바르게 구문 분석 되지 않을 수 있습니다.Some scanned and native PDF formats may not parse correctly in Cognitive Search.
  • JFK Files 샘플 프로젝트 및 데모는 추출 된 이미지에 대 한 공용 웹 사이트 및 공개적으로 읽을 수 있는 저장소 컨테이너를 만들며,이 솔루션을 공용이 아닌 데이터와 함께 사용 하지 마세요.The JFK Files sample project and demo create a public website and publicly readable storage container for extracted images, so don't use this solution with non-public data.

다음 단계Next steps