자연어 처리 기술 선택

자연어 처리에는 텍스트 데이터에서 인간 언어를 분석, 이해 및 생성하는 기술이 포함됩니다. Azure 감정 분석 및 엔터티 인식에서 문서 분류 및 텍스트 요약에 이르기까지 자연어 처리 워크로드를 처리하는 관리되는 API 기반 서비스 및 분산 오픈 소스 프레임워크를 제공합니다. 이 가이드는 워크로드 요구 사항에 적합한 기술을 일치시킬 수 있도록 Azure 기본 자연어 처리 옵션을 평가하고 선택하는 데 도움이 됩니다.

비고

이 가이드에서는 Azure Language 및 Spark NLP를 사용하는 Apache Spark를 Azure Databricks 또는 Microsoft Fabric 통해 사용할 수 있는 자연어 처리 기능에 중점을 둡니다. 언어 모델을 선택하거나 OpenAI 솔루션을 Azure 디자인하는 방법에 대한 지침은 제공하지 않습니다. 일부 플랫폼 설명은 지원되는 기본 모델 또는 음성 모델 통합을 구현 세부 정보로 참조할 수 있지만 이 가이드에서는 자연어 처리 서비스 선택에 중점을 둡니다. 자세한 내용은 AI 서비스 기술 선택을 참조하세요.

자연어 처리 및 언어 모델 이해

Azure 서비스를 평가하기 전에 자연어 처리의 정의, 언어 모델과 어떻게 다른지, 어떤 작업을 처리하는지 이해합니다.

언어 모델과 자연어 처리 구분

이 섹션에서는 자연어 처리와 언어 모델 간의 경계를 명확히 하고 자연어 처리 기술에서 사용할 수 있는 핵심 기능을 조사합니다.

차원 자연어 처리 언어 모델
Scope 토큰화, 형태소 분석, 엔터티 인식, 감정 분석 및 문서 분류를 비롯한 다양한 텍스트 처리 기술을 다루는 광범위한 필드입니다. 고급 언어 이해 및 생성 작업에 중점을 둔 자연어 처리의 딥 러닝 하위 집합입니다.
예제 규칙 기반 파서, 용어 빈도 역 문서 빈도(TF-IDF) 분류자, 개체명 인식기, 감정 분석기. 인간과 비슷하고 상황에 맞는 텍스트를 생성하는 GPT, BERT 및 유사한 변환기 기반 모델입니다.
출력 레이블, 점수, 추출된 범위, 구문 분석과 같은 구조적 신호입니다. 유창한 자연어처럼 생성된 텍스트, 요약, 답변 및 완성입니다.
관계 부모 도메인입니다. 자연어 처리는 텍스트 처리 방법의 전체 스펙트럼을 포함합니다. 자연어 처리 내의 도구입니다. 언어 모델은 자연어 처리를 대체하지 않고 향상시킵니다. 더 광범위한 인지 작업을 처리하지만 자연어 처리와는 동의어가 아닙니다.

자연어 처리 기능

  • 문서를 중요한 또는 스팸으로 레이블을 지정하여 분류합니다. 자연어 처리는 규정 준수 및 필터링 워크플로를 지원하기 위해 콘텐츠에 따라 문서를 자동으로 분류합니다.

  • 문서에서 엔터티를 식별하여 텍스트를 요약합니다. 자연어 처리는 주요 엔터티를 추출하여 가장 중요한 정보를 캡처하는 간결한 요약을 생성합니다.

  • 식별된 엔터티를 사용하여 키워드로 문서에 태그를 지정합니다. 엔터티를 식별한 후 문서 조직을 간소화하는 키워드 태그를 생성할 수 있습니다. 콘텐츠 기반 검색 및 검색에 이러한 태그를 사용합니다.

  • 탐색 및 관련 문서 검색에 대한 항목을 검색합니다. 자연어 처리는 문서 분류 및 토픽 기반 탐색을 지원하는 추출된 엔터티를 사용하여 주요 항목을 식별합니다.

  • 텍스트 감정을 평가합니다. 감정 분석은 텍스트의 감정 톤을 평가하고 콘텐츠를 긍정, 부정 또는 중립으로 분류합니다.

  • 자연어 처리 출력을 다운스트림 워크플로에 공급합니다. 추출된 엔터티, 감정 점수 및 토픽 레이블과 같은 결과는 처리, 검색 인덱싱 및 분석을 위한 입력 역할을 합니다.

잠재적인 사용 사례 식별

많은 산업의 비즈니스 시나리오는 자연어 처리 솔루션의 이점을 활용합니다. 다음 사용 사례는 자연어 처리 기술이 구조화되지 않은 문서 처리부터 사이버 보안 및 접근성에서 새로운 애플리케이션을 사용하도록 설정하는 것까지 실제 문제를 해결하는 방법을 보여 줍니다.

문서 및 구조화되지 않은 텍스트 처리

  • 컴퓨터에서 만든 문서에서 인텔리전스를 추출합니다. 자연어 처리를 사용하면 재무, 의료, 소매, 정부 및 기타 부문에서 문서 처리를 수행할 수 있습니다. 디지털로 만든 문서를 분석하여 구조화되지 않은 입력에서 구조화된 정보를 추출할 수 있습니다. 필기 문서의 경우 자연어 처리 기술을 적용하기 전에 Azure 문서 인텔리전스를 사용하여 필기 콘텐츠를 텍스트로 변환합니다.

  • 텍스트 처리를 위해 업계에 구애받지 않은 자연어 처리 작업을 적용합니다. 명명된 NER(엔터티 인식), 분류, 요약 및 관계 추출은 구조화되지 않은 문서 콘텐츠를 자동으로 처리하고 분석하는 데 도움이 됩니다. 이러한 작업은 도메인에서 작동하며 업계별 사용자 지정이 필요하지 않습니다.

  • 특수 분석을 위한 도메인별 모델을 빌드합니다. 이러한 작업의 예로는 의료용 위험 계층화 모델, 지식 관리를 위한 온톨로지 분류, 제품 및 고객 데이터에 대한 소매 요약 등이 있습니다. Azure Language 및 Spark NLP의 사용자 지정 모델 학습은 이러한 도메인별 문서 형식에 대한 정확도를 향상시키는 데 도움이 됩니다.

  • 구조적 데이터 입력에서 자동화된 보고서를 생성합니다. 구조화된 데이터에서 포괄적인 텍스트 보고서를 합성하고 생성할 수 있습니다. 이 기능은 철저한 설명서가 필요한 재무 및 규정 준수와 같은 부문에 도움이 됩니다.

검색, 번역 및 분석 기능 활성화

  • 정보 검색을 통해 지식 그래프를 만들고 의미 체계 검색을 사용하도록 설정합니다. 자연어 처리는 지식 그래프 생성 및 의미 체계 검색을 지원하므로 시스템은 키워드 일치에만 의존하지 않고 쿼리 의미를 해석할 수 있습니다.

  • 의료 지식 그래프를 사용하여 약물 발견 및 임상 시험을 지원합니다. 자연어 처리 시스템은 임상 텍스트를 분석합니다. 해당 텍스트로 작성된 의료 지식 그래프는 약물 발견 파이프라인 및 임상 시험 일치를 지원합니다. 이러한 그래프는 약물, 조건 및 결과와 같은 엔터티를 연결하여 연구 워크플로를 가속화합니다. Azure Language의 의료 텍스트 분석은 의료 엔터티, 관계 및 어설션을 추출하여 이러한 그래프를 생성하는 데 사용할 수 있습니다.

  • 고객용 애플리케이션에서 대화형 AI에 대한 텍스트를 번역합니다. 텍스트 번역을 사용하면 여러 산업에서 대화형 AI를 사용할 수 있습니다. 사용자가 선호하는 언어로 처리하고 응답하는 다국어 고객용 애플리케이션을 빌드할 수 있습니다. Spark NLP는 번역 기능을 직접 제공합니다. Azure Azure Language와는 별개의 서비스인 Azure Translator 사용합니다.

  • 브랜드 인식에 대한 감정 및 감정 인텔리전스를 분석합니다. 감정 분석을 사용하면 텍스트에서 긍정적이고 부정적이고 미묘한 감정 신호를 표시하여 브랜드 인식을 모니터링하고 고객 피드백을 분석할 수 있습니다.

자연어 처리를 신흥 도메인으로 확장

  • IoT(사물 인터넷) 및 스마트 디바이스에 대한 음성 활성화 인터페이스를 빌드합니다. 자연어 처리는 음성 인식 시스템의 텍스트 출력을 처리하여 사용자 의도를 이해하고 IoT 및 스마트 디바이스 시나리오에서 의미를 추출합니다. 음성 활성화 시나리오에서는 자연어를 처리하기 전에 음성 텍스트 변환을 위해 Azure Speech가 필요합니다.

  • 적응 언어 모델을 사용하여 언어 출력을 동적으로 조정합니다. 적응 언어 모델은 교육 콘텐츠 배달 및 접근성을 지원하는 다양한 대상 그룹 이해 수준에 맞게 언어 출력을 동적으로 조정합니다.

  • 사이버 보안 텍스트 분석을 통해 피싱 및 잘못된 정보를 검색합니다. 자연어 처리는 통신 패턴 및 언어 사용량을 실시간으로 분석하여 디지털 통신에서 잠재적인 보안 위협을 식별합니다. 이 분석은 피싱 시도 및 잘못된 정보 캠페인을 감지하는 데 도움이 됩니다.

Azure 언어 평가

Azure Language는 텍스트를 이해하고 분석하기 위한 자연어 처리 기능을 제공하는 클라우드 기반 서비스입니다. 관리할 인프라가 없는 Foundry 포털, REST API 및 Python, C#, Java 및 JavaScript용 클라이언트 라이브러리를 통해 액세스할 수 있습니다. AI 에이전트 개발을 위해 AZURE MCP(언어 모델 컨텍스트 프로토콜) 서버를 통해 이러한 기능에 액세스할 수도 있습니다. Microsoft Foundry 도구 카탈로그의 원격 서버 또는 로컬 자체 호스팅 서버로 액세스할 수 있습니다.

미리 빌드된 기능

사전 구성된 기능은 모델 학습이 필요하지 않으며, 바로 사용할 수 있습니다.

  • NER: 텍스트의 엔터티를 식별하여 사람, 조직, 위치 및 날짜와 같은 미리 정의된 형식으로 분류합니다.

  • PII 검색: 텍스트 및 전사된 대화에서 중요한 개인 및 건강 데이터를 포함하여 PII(개인 식별 정보)를 식별하고 수정합니다.

  • 언어 감지: 다양한 언어와 방언에서 문서의 언어를 검색합니다.

  • 감정 분석 및 의견 마이닝: 텍스트에서 긍정적, 부정적 또는 중립적 감정을 식별하고 제품 특성 또는 서비스 측면과 같은 특정 요소에 의견을 연결합니다.

  • 핵심 구 추출: 구조화되지 않은 텍스트를 평가하고 주요 개념 및 핵심 구 목록을 반환합니다.

  • 요약: 텍스트, 채팅 및 콜 센터 요약을 지원하는 추출 또는 추상적 접근 방식을 사용하여 문서와 대화를 압축합니다.

  • 건강에 대한 텍스트 분석: 의료 엔터티, 관계 및 주장을 포함하여 비구조화된 임상 텍스트에서 관련 건강 정보를 추출하며 레이블을 지정합니다.

사용자 지정 모델 학습

사용자 지정 가능한 기능을 사용하여 데이터에 대한 모델을 학습하여 도메인별 자연어 처리 작업을 처리할 수 있습니다.

  • CNER(사용자 지정 명명된 엔터티 인식): 구조화되지 않은 텍스트에서 도메인별 엔터티 범주를 추출하는 사용자 지정 모델을 빌드합니다. 미리 빌드된 NER 범주가 도메인 어휘를 다루지 않는 경우 CNER를 사용합니다.

Azure 언어 MCP 서버 및 에이전트

비고

Azure Language MCP 서버와 의도 라우팅 및 정확한 질문 답변 에이전트는 모두 미리 보기로 제공됩니다. 미리 보기 기능에는 SLA(서비스 수준 계약)가 포함되지 않으며 프로덕션 워크로드에는 권장되지 않습니다. 일부 기능은 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure 미리 보기 사용 약관 참조하세요.

Azure Language는 프로덕션 자연어 처리 워크로드에 대해 미리 빌드된 에이전트 및 유연한 배포 옵션을 제공합니다.

  • 의도 라우팅 에이전트: 대화 흐름을 관리합니다. 결정적이고 감사 가능한 논리를 통해 정확한 응답으로 가는 사용자 의도 및 경로를 이해합니다. 투명하고 결정적인 대화 라우팅이 필요한 경우 이 에이전트를 사용합니다.

  • 정확한 질문 답변 에이전트: 사용자 감독 및 품질 관리를 유지하면서 비즈니스에 중요한 질문에 대한 신뢰할 수 있는 단어 대 단어 응답을 제공합니다. 응답 정확도 및 일관성이 필수적인 경우 이 에이전트를 사용합니다.

Foundry 도구 카탈로그를 통해 두 에이전트에 모두 액세스할 수 있습니다. 자세한 내용은 Azure 언어 MCP 서버 및 에이전트(미리 보기) 참조하세요.

Azure Language MCP 서버는 여러 배포 옵션을 지원합니다.

  • 원격 클라우드 호스팅 MCP 서버: Foundry 도구 카탈로그는 이 서버를 나열합니다. 서버는 Azure 언어 기능에 대한 클라우드 관리 액세스를 제공하며 로컬 인프라가 필요하지 않습니다.

  • 로컬 자체 호스팅 MCP 서버: 규정 준수, 보안 또는 데이터 상주 요구 사항에 대한 온-프레미스 또는 자체 관리형 배포를 지원합니다.

  • 컨테이너화된 배포: 다음 기능은 로컬 처리 또는 공극 환경이 필요한 시나리오에 대해 컨테이너화된 배포를 지원합니다. 사용 가능한 컨테이너 및 해당 가용성 상태의 전체 목록은 Azure AI 컨테이너 지원 참조하세요.

    • 감정 분석
    • 언어 감지
    • 핵심 문구 추출
    • PII 검색
    • CNER
    • 의료 분야 텍스트 분석
    • 요약(미리 보기)

Spark NLP를 사용하여 Apache Spark 평가

Spark NLP를 사용하는 Apache Spark는 클러스터 규모에서 작동하는 자연어 처리에 대한 분산 오픈 소스 접근 방식입니다. Spark NLP 플랫폼 아키텍처, 성능 및 미리 빌드된 모델 에코시스템은 Azure Databricks 또는 Fabric 대규모 사용자 지정 가능한 자연어 처리 워크로드를 위한 강력한 옵션입니다.

플랫폼 및 아키텍처 이해

Apache Spark 기반 자연어 처리 워크로드에는 Fabric 또는 Azure Databricks 사용하는 것이 좋습니다.

Apache®, Apache Spark 및 불꽃 로고는 미국 및/또는 기타 국가에서 Apache Software Foundation의 등록 상표 또는 상표입니다. 이러한 표시의 사용은 Apache Software Foundation에 의한 보증을 암시하지 않습니다.

성능 및 확장성 평가

  • 공용 벤치마크는 다른 자연어 처리 라이브러리에 비해 상당한 속도 향상을 보여 줍니다. SpaCy 및 NLTK와 같은 프레임워크에 비해 Spark NLP는 분산 클러스터에서 더 빠른 학습 및 유추를 보여 줍니다. Spark NLP가 학습하는 사용자 지정 모델은 다른 자연어 처리 프레임워크와 일치하는 정확도 수준에 도달하므로 속도와 정밀도가 필요한 프로덕션 워크로드에 적합합니다.

  • CPU, GPU 및 Intel Xeon 칩에 최적화된 빌드는 Apache Spark 클러스터를 완전히 사용합니다. 이러한 빌드를 사용하면 학습 및 유추를 통해 클러스터 노드 간에 효율적으로 확장할 수 있습니다.

  • MPNet 포함 및 ONNX 지원은 정확한 컨텍스트 인식 처리를 지원합니다. MPNet은 의미 체계 의미를 캡처하는 조밀한 벡터 표현을 생성하며 , ONNX 지원을 통해 유추를 위해 최적화된 모델을 가져오고 실행할 수 있습니다.

미리 빌드된 모델 및 파이프라인 사용

  • 미리 빌드된 딥 러닝 모델은 NER, 문서 분류 및 감정 감지를 처리합니다. 라이브러리에는 미리 빌드된 딥 러닝 모델이 함께 제공됩니다.

  • 미리 학습된 언어 모델은 단어, 청크, 문장 및 문서 포함을 지원합니다. 라이브러리에는 단어, 청크, 문장 및 문서 포함 수준을 지원하는 미리 학습된 언어 모델이 포함되어 있습니다. 이러한 포함은 유사성 검색 및 분류와 같은 다운스트림 작업을 가능하게 하는 조밀한 벡터 표현을 제공합니다.

  • 통합 자연어 처리 및 기계 학습 파이프라인은 문서 분류 및 위험 예측을 지원합니다. Spark ML과의 통합은 문서 분류 및 위험 예측과 같은 작업에 대한 통합 자연어 처리 및 기계 학습 파이프라인을 지원합니다. 이 통합 접근 방식을 사용하면 텍스트 처리를 단일 파이프라인의 기존 기계 학습 모델과 결합하여 아키텍처 복잡성을 줄일 수 있습니다.

일반적인 자연어 처리 문제 해결

Azure Language 및 Spark NLP를 사용하는 Apache Spark는 대규모 자연어 처리에서 일반적인 문제에 직면합니다. 이러한 문제를 이해하면 두 옵션 중 하나를 커밋하기 전에 리소스를 계획하고, 파이프라인을 디자인하고, 정확도 기대치를 설정할 수 있습니다.

리소스 처리

  • 자유 형식 텍스트를 처리하려면 상당한 계산 리소스와 시간이 필요합니다. 자유 형식 텍스트 문서는 계산 비용이 많이 들고 분석 시간이 많이 소요됩니다. 모든 문서는 사용 가능한 결과를 생성하기 전에 토큰화, 정규화 및 모델 유추가 필요합니다.

  • Spark NLP 워크로드에는 종종 GPU 컴퓨팅 배포가 필요합니다. 대규모 Spark NLP 파이프라인의 경우 Azure Databricks 또는 Fabric GPU 가속 클러스터는 학습 및 유추에 필요한 병렬 처리 능력을 제공합니다. Llama 3.x 모델 양자화와 같은 최적화는 메모리 공간을 줄이고 이러한 집약적인 작업에 대한 처리량을 개선하는 데 도움이 됩니다.

  • Azure 언어에는 처리량 계획 및 할당량 관리가 필요합니다. 서비스는 리소스 관리를 처리하지만 대용량 API 호출에는 신중한 처리량 계획이 필요합니다. 서비스 제한 및 속도 제한에 대한 요청 속도를 모니터링하여 제한을 방지하고 일관된 처리 성능을 보장합니다.

문서 표준화

실제 문서는 일관된 구조를 거의 따르지 않습니다. 이러한 불일치로 인해 추출 파이프라인에 대한 과제가 발생하며 원본 간에 정확도를 유지하기 위한 의도적인 전략이 필요합니다.

  • 일관성 없는 형식: 표준화된 문서 형식이 없으면 자유 형식 텍스트에서 특정 팩트를 추출하는 것이 어려울 수 있습니다. 예를 들어 필드 레이아웃, 레이블 및 서식은 원본마다 다르기 때문에 여러 공급업체에서 송장 번호와 날짜를 추출하는 것이 어려울 수 있습니다.

  • 구성 모델 학습: Spark NLP 및 Azure Language 사용자 지정 모델을 학습하는 경우 도메인별 문서 형식에 맞게 조정할 수 있습니다. 실제 문서의 대표 샘플을 학습할 때 미리 빌드된 모델이 잘 처리되지 않는 필드, 엔터티 및 패턴에 대한 추출 정확도를 향상시킬 수 있습니다.

데이터 다양성 및 복잡성

  • 다양한 문서 구조와 언어적 뉘앙스는 복잡성을 더합니다. 실제 텍스트 데이터는 다양한 형식, 쓰기 스타일 및 언어로 제공됩니다. 이러한 변형을 해결하려면 정확도를 유지하면서 모호성, 속어, 약어 및 도메인별 용어를 처리할 수 있는 모델이 필요합니다.

  • Spark NLP의 MPNet 포함은 향상된 컨텍스트 이해를 제공합니다. MPNet 포함은 단어와 구 간의 컨텍스트 관계를 캡처하므로 Spark NLP 파이프라인에서 미묘한 텍스트를 보다 효과적으로 처리할 수 있습니다. 이러한 포함은 다양한 문서 형식에서 의미 체계적 의미를 유지하는 조밀한 벡터 표현을 생성합니다.

  • Azure 언어의 사용자 지정 모델은 도메인별 텍스트 패턴에 맞게 조정됩니다. CNER를 사용하면 고유한 레이블이 지정된 데이터에 대한 모델을 학습하여 도메인과 관련된 패턴을 인식할 수 있습니다. 이 방법은 미리 빌드된 모델이 누락된 엔터티 및 범주를 인식하도록 모델을 교육하여 안정성을 향상시킵니다.

키 선택 조건 적용

다음 조건을 사용하여 요구 사항에 가장 적합한 Azure 자연어 처리 옵션을 결정합니다. 각 조건은 워크로드 특성을 설명하고 이를 해결하는 서비스를 식별합니다.

  • 관리되는 자연어 처리 기능: 엔터티 인식, 의도 식별, 토픽 검색 또는 감정 분석에 Azure 언어 API를 사용합니다. 이러한 기능은 최소한의 설정으로 관리되는 서비스로 사용할 수 있으며 인프라를 프로비전하거나 관리할 필요가 없습니다.

  • 프레빌트 또는 미리 학습된 모델: 인프라를 관리하지 않고 미리 빌드되거나 미리 학습된 모델을 사용하려는 경우 Azure 언어를 사용합니다. 이 방법은 미리 빌드된 모델이 충분한 정확도를 제공하는 중소형 데이터 세트 및 표준 자연어 처리 작업에 적합합니다. 클러스터 관리 오버헤드 없이 자동 크기 조정, 기본 제공 보안 및 호출당 종량제 가격을 제공합니다.

  • 대용 텍스트 데이터 세트에 대한 커톰 모델 학습: Spark NLP에서 Azure Databricks 또는 Fabric 사용합니다. 이러한 플랫폼은 큰 텍스트 데이터 세트에 대한 광범위한 모델 학습에 필요한 계산 능력과 유연성을 제공합니다. 또한 Llama 3.x 및 MPNet을 포함하여 Spark NLP를 통해 모델을 다운로드할 수 있습니다.

  • 저수준 자연어 처리 기본 제공 기능: 토큰화, 어간 추출, 표제어 추출 및 TF-IDF에 Spark NLP와 함께 Azure Databricks 또는 Fabric을 사용하여 수행합니다. 또는 spaCy 또는 NLTK와 같은 오픈 소스 라이브러리를 사용합니다. foundry Tools의 Azure Language는 모델 파이프라인의 일부로 내부적으로 토큰화를 사용하지만 이러한 단계를 독립 실행형 제어 가능한 API로 노출하지는 않습니다.

Spark NLP를 사용하여 자연어 처리 파이프라인 빌드

Spark NLP는 자연어 처리 파이프라인을 실행할 때 기존 Spark ML 모델과 동일한 개발 패턴을 따릅니다. 실험 추적 및 프로덕션 배포에 MLflow 를 사용하여 학습된 모델을 관리합니다.

문서 어셈블리, 문장 검색, 토큰화, 정규화 및 단어 포함과 같은 자연어 처리 파이프라인의 단계를 보여 주는 다이어그램

핵심 파이프라인 구성 요소 어셈블

Spark NLP 파이프라인은 애노테이터를 순차적으로 연결합니다. 각 주석자는 이전 단계의 출력을 변환하고 원시 텍스트에서 시맨틱 벡터를 만듭니다.

  • DocumentAssembler는 모든 Spark NLP 파이프라인의 진입점입니다. 다운스트림 주석을 실행하기 전에 HTML 태그 제거 또는 공백 정규화와 같은 선택적 텍스트 전처리를 적용하는 데 사용합니다 setCleanupMode .

  • SentenceDetector는 어셈블된 문서에서 문장 경계를 식별합니다. 파이프라인 구성에 따라 검색된 문장을 단일 행 내 Array 또는 별도의 행으로 반환합니다. 많은 다운스트림 주석이 문장 수준에서 작동하기 때문에 정확한 문장 검색이 중요합니다.

  • Tokenizer는 원시 텍스트를 단어, 숫자 및 기호와 같은 개별 토큰으로 나눕니다. 기본 규칙이 도메인에 충분하지 않은 경우 특수 어휘, 하이픈을 넣은 용어 또는 도메인별 패턴을 처리하는 사용자 지정 규칙을 추가합니다.

  • Normalizer는 정규식 및 사전 변환을 적용하여 토큰을 구체화합니다. 포함하기 전에 텍스트를 정리하여 노이즈를 줄입니다. 예를 들어 악센트를 제거하거나 소문자로 변환하거나 사용자 지정 사전 매핑을 적용하여 용어를 표준화할 수 있습니다.

  • WordEmbeddings는 컨텍스트 처리를 위해 토큰을 의미 체계 벡터에 매핑합니다. 각 토큰은 다른 토큰을 기준으로 의미를 캡처하는 조밀한 벡터로 표시됩니다. embeddings 어휘에 표시되지 않는 해결되지 않은 토큰은 기본적으로 벡터 0으로 설정됩니다.

MLflow를 사용하여 모델 관리

  • Spark NLP는 네이티브 MLflow 지원과 함께 Spark MLlib 파이프라인을 사용합니다. 사용자 지정 serialization 또는 통합 코드를 작성할 필요가 없습니다.

  • MLflow는 실험 추적, 모델 버전 관리 및 배포를 관리합니다. 학습 실행 중에 파이프라인 매개 변수, 메트릭 및 아티팩트 로그할 수 있습니다. MLflow는 각 실험을 추적하므로 반복 간에 결과를 비교하고 성공적인 구성을 재현할 수 있습니다.

  • MLflow는 Azure DatabricksFabric 직접 통합됩니다. Azure Databricks MLflow는 미리 설치되어 작업 영역과 긴밀하게 통합됩니다. 또한 Fabric 네이티브 실험 추적 및 자동 로깅이 포함된 기본 제공 MLflow 환경을 제공하므로 MLflow를 별도로 설치할 필요가 없습니다. 다른 Apache Spark 기반 환경에서 Spark NLP를 실행하는 경우 MLflow를 별도로 설치하고 원격 추적 서버에 대한 실험을 추적하도록 구성할 수 있습니다.

  • MLflow 모델 레지스트리를 사용하여 모델을 프로덕션으로 승격하고 거버넌스를 유지 관리합니다. 모델 레지스트리는 자연어 처리 파이프라인에서 모델 버전을 관리하는 중앙 리포지토리를 제공합니다. 클래식 배포에서는 스테이징, 프로덕션 및 보관과 같은 단계를 통해 모델을 전환합니다. Azure Databricks 최신 배포에서는 Unity 카탈로그에서 >Models를 사용하여 고정 단계를 보다 유연한 수명 주기 관리를 위해 사용자 지정 별칭 및 태그로 바꿉니다. Fabric 작업 영역에서는 자체 MLflow 기반 모델 레지스트리를 제공합니다.

기능 매트릭스

다음 표에서는 Azure Databricks 또는 Fabric Spark NLP와 Azure Language 간의 기능의 주요 차이점을 요약합니다.

일반 기능

역량 Spark NLP(Azure Databricks 또는 Fabric) Azure 언어
서비스로 미리 학습된 모델
REST API (REST 애플리케이션 프로그래밍 인터페이스)
프로그래밍 기능 파이썬, 스칼라 지원되는 프로그래밍 언어를 참조하세요.
대용량 데이터 세트 및 대용량 문서 처리 지원 제한된 1

1.Azure 언어에는 모드에 따라 달라지는 요청당 문서 크기 제한이 있습니다. 동기 요청은 문서당 최대 5,120자를 지원하며, 비동기 요청은 문서당 최대 125,000자를 지원합니다. 두 모드 모두 API 호출당 최대 25개의 문서를 지원합니다. 일괄 처리 및 페이지 매김을 통해 큰 데이터 세트 볼륨을 처리할 수 있지만 선택한 모드의 문자 제한을 초과하는 개별 문서에는 청크가 필요합니다. 자세한 내용은 Azure Language.

주석 작성자의 기능 및 능력

역량 Spark NLP(Azure Databricks 또는 Fabric) Azure 언어
문장 감지기 아니오
심층 문장 감지기 아니오
토크나이저 내부 전용(독립 실행형 API로 노출되지 않음)
N-gram 생성기 아니오
단어 분할
형태소 분석기 아니오
표제어 추출기 아니오
음성 부분 태그 지정 아니오
종속성 파서 아니오
번역 아니오
중지 단어 클리너 아니오
맞춤법 수정 아니오
노멀라이저
텍스트 검사기 아니오
TF-IDF 아니오
정규식 검사기 제한됨
날짜 매칭 제한됨
청커(Chunker) 아니오

고급 자연어 처리 기능

역량 Spark NLP(Azure Databricks 또는 Fabric) Azure 언어
맞춤법 검사 아니오
요약
질문 답변
감정 감지
감정 감지 제한된 2
토큰 분류 제한된 3
텍스트 분류 제한된 3
텍스트 표현 아니오
예(미리 빌드됨). CNER는 사용자 지정 모델을 통해 사용할 수 있습니다. 3
언어 감지
영어 이외의 언어 지원 예. Spark NLP 지원 언어를 참조하세요. 예. Azure 언어 지원 언어 참조하세요.

2.Azure 언어는 텍스트의 특정 측면에 연결된 감정을 식별하지만 전용 감정 감지(예: 기쁨, 분노 또는 슬픔 분류)를 제공하지 않는 의견 마이닝을 지원합니다.

3.사용자 지정 모델을 통해 사용할 수 있습니다. 사용자 고유의 레이블이 지정된 데이터에 대해 CNER 또는 사용자 지정 엔터티 인식 모델을 학습합니다.

기여자

Microsoft 이 문서를 유지 관리합니다. 다음 기여자는 이 문서를 작성했습니다.

주요 작성자:

기타 기여자:

비공개 LinkedIn 프로필을 보려면 LinkedIn에 로그인하십시오.

다음 단계