IBM Cloud Docs
Discovery v2 로 마이그레이션

Discovery v2 로 마이그레이션

Discovery v2제품의 재설계가 2019년 11월에 도입되었습니다. Discovery v2 는 Discovery v1에 비해 상당한 이점을 제공합니다.

데이터 이동 및 애플리케이션 업데이트 방법을 포함하여 v1 Discovery 서비스 인스턴스를 Discovery v2로 마이그레이션하는 방법에 대해 학습합니다.

Discovery v1 및 v2 간의 주요 구조적 차이점은 다음과 같습니다.

  • v2에는 환경의 개념이 없습니다. 사용자 요구에 적합한 서비스 플랜을 선택하면 크기 및 색인 용량과 같은 배치 세부사항이 관리됩니다. 예를 들어, 관리 배치의 경우 Plus, Enterprise 또는 Premium 플랜을 선택할 수 있습니다. 설치된 배치의 경우 크기 조정은 Cloud Pak for Data에 서비스를 설치할 때 지정하는 배치 유형으로 관리됩니다.

  • v2에는 단일 구성 오브젝트가 없습니다. 문서에 적용되는 인리치먼트의 제어는 v2의 콜렉션 및 프로젝트 오브젝트에서 관리됩니다. 기타 v1 구성 기능 (예: 수집의 변환 단계를 사용자 정의하는 기능) 은 v2에서 사용할 수 없습니다.

  • v2의 사용자 정의 인리치먼트에 대해 더 큰 프로그램 방식 지원을 사용할 수 있습니다. 인리치먼트를 작성하는 데 사용할 수 있는 새 인리치먼트 API 메소드를 사용할 수 있습니다. v2 는 또한 문서 분류자 모델을 프로그래밍 방식으로 훈련시키는 데 사용할 수 있는 문서 분류자 API 메소드를 소개합니다. API를 사용하여 이러한 사용자 정의 인리치먼트를 콜렉션에 적용할 수 있습니다.

  • 자연어 조회 검색의 기능은 v2 에서 확장되어 문서당 최상위 구절과 구절에서 간결한 답변을 리턴할 수 있습니다. 테이블 검색을 포함하여 기타 고급 검색 기능이 도입되었습니다. v2에서는 중복 제거 매개변수를 사용할 수 없으며 지속적인 관련성 훈련 및 조회 로깅 기능을 사용할 수 없습니다.

  • 기능 차이에 대한 자세한 정보는 기능 비교 테이블 을 참조하십시오.

  • 자세한 API 차이점에 대한 자세한 정보는 API 버전 비교 를 참조하십시오.

Discovery v2 는 2020년 7월 15일이후에 작성된 Plus 또는 Enterprise 플랜 인스턴스 또는 Premium 플랜 인스턴스의 모든 사용자가 사용할 수 있습니다. v2 는 IBM Cloud Pak® for Data 사용자용 IBM Watson® Discovery 카트리지에도 사용 가능합니다.

마이그레이션 개요

Discovery v1 에서 v2 로의 마이그레이션은 독립적으로 수행할 수 있는 다단계 프로세스입니다.

Discovery 서비스의 두 버전에는 많은 차이가 있지만 새 v2 인스턴스와 함께 사용하기 위해 v1 인스턴스에 적용된 기술 및 유틸리티를 채택할 수 있습니다.

v1 에서 v2로 마이그레이션하려면 다음 상위 레벨 단계를 완료해야 합니다.

  1. 마이그레이션을 계획하십시오.
  2. 문서 전송.
  3. v2 API를 사용하도록 애플리케이션을 업데이트하십시오.
  4. 회귀 테스트를 수행하고 업데이트된 애플리케이션을 배치하십시오.
  5. v1 플랜 서비스 인스턴스를 삭제하십시오.

일부 단계에서는 API를 사용하여 프로그래밍 방식으로 변경해야 하며 다른 단계에서는 제품 사용자 인터페이스에서 변경할 수 있는 사항을 포함합니다.

마이그레이션 계획

v2 인스턴스를 프로비저닝하기 전에 v2 의 새로운 기능에 익숙해지고 v1 과 어떻게 다른지 학습합니다. 첫 번째 v2 Plus 플랜 평가판 인스턴스는 30일동안 무료로 사용할 수 있습니다. 평가판을 최대한 활용할 수 있도록 인스턴스를 프로비저닝하기 전에 마이그레이션에 대해 학습하고 계획하십시오.

마이그레이션을 시작할 준비가 되면 프로세스를 완료할 때 사용자와 사용자 팀이 따를 수 있는 마이그레이션 스케줄을 작성하십시오. v2 서비스를 사용하도록 전환하고 v1 인스턴스를 삭제하기 전에 새 v2 서비스 인스턴스를 설정하고 새 서비스 인스턴스에서 프로젝트 및 콜렉션을 다시 작성해야 합니다.

Discovery v2 플랜 옵션에 대해 학습하여 장기 요구사항에 적합한 플랜을 선택할 수 있습니다. 시작하기 위해 사용하는 Plus 플랜이 충분할 수 있습니다. 그러나 대신 엔터프라이즈 또는 프리미엄 플랜을 사용하도록 선택할 수 있습니다. Plus 플랜에서 엔터프라이즈 플랜으로 인플레이스 업그레이드를 수행할 수 있지만 프리미엄 플랜으로는 수행할 수 없습니다.

애플리케이션 적용 방법 계획

버전 간의 주요 변경사항 중 하나는 Discovery v2 가 프로젝트를 도입하는 것입니다. 프로젝트는 하나 이상의 컬렉션으로 구성되어 있습니다. 프로젝트 사용의 장점은 동시에 여러 콜렉션에 대해 하나의 조회를 실행할 수 있다는 점입니다. 각 컬렉션에는 사용자가 업로드하거나 웹사이트, Microsoft SharePoint, 등과 같은 단일 데이터 소스에서 크롤링한 문서가 포함될 수 있습니다.

프로젝트를 사용하도록 애플리케이션을 조정할 때 고려할 사항은 다음과 같습니다.

  • 환경의 개념이 v2에 존재하지 않아도 데이터는 여전히 콜렉션으로 구성됩니다. v2에서 콜렉션은 프로젝트로 그룹화됩니다. 대부분의 경우 단일 v1 콜렉션을 단일 v2 콜렉션으로 마이그레이션하려고 합니다.

    v1 콜렉션에 적용되는 관련성 훈련 정보를 유지하려면 v2 프로젝트의 단일 콜렉션에 콜렉션 문서를 추가하십시오.

  • 각 v2 프로젝트에 추가할 콜렉션 수를 결정하십시오. Content Mining 프로젝트를 제외한 모든 프로젝트 유형은 최대 5개의 콜렉션을 포함할 수 있습니다. 데이터에 적합한 프로젝트 유형을 선택하십시오.

    검색 결과를 최적화하기 위해 다른 인리치먼트 및 구성 옵션이 다른 프로젝트 유형에 추가되는 콜렉션에 자동으로 적용됩니다. 자세한 정보는 다음 주제를 참조하십시오.

  • Discovery v2 API는 기타 개선사항 중에서 프로젝트 및 콜렉션을 설명하도록 변경되었습니다. 일부 API 호출은 콜렉션 레벨 대신 프로젝트 레벨에서 조치를 지원하도록 변경되었습니다 (예: 조회 제출 및 관련성 훈련 실행). 많은 다른 API 메소드가 변경되었으며 일부는 v2에서 사용할 수 없습니다. v1 및 v2 API 메소드의 자세한 비교는 API 버전 비교 를 참조하십시오.

서비스 계획 선택

Plus, EnterprisePremium 관리 플랜 중에서 선택하거나 Discovery Cartridge for IBM Cloud Pak for Data을 구매하여 온프레미스 설치를 선택하십시오. 하나를 선택하기 전에 각 계획 유형의 이점 및 한계를 검토하십시오.

다음 표는 일반적으로 v1 과 v2간에 유사한 관리 배치에 대한 계획 유형을 표시합니다.

유사 계획
현재 v1 계획 예제 v1 데이터 사용 유사한 v2 계획
라이트 적용할 수 없습니다. Plus Trial (30일동안만 무료)
고급 (낮은 사용량) 10 ,000개의 문서, 매월 10 ,000개의 조회 추가
고급 (높은 사용량) 100 ,000개의 문서, 매월 100 ,000개의 조회 구축
프리미엄 적용할 수 없습니다. 엔터프라이즈 또는 프리미엄

사용된 현재 스토리지, 문서 및 콜렉션에 대한 정보를 가져오려면 제품 사용자 인터페이스 헤더에서 환경 세부사항 아이콘을 클릭하십시오.

Lite 또는 Advanced와 같은 v1 플랜에서 v2 플랜으로 인플레이스 업그레이드를 수행할 수 없습니다. 새 v2 플랜을 작성한 후 데이터를 새 서비스 인스턴스로 이동해야 합니다. v1 에서 v2로 데이터를 마이그레이션하는 동안 v1 및 v2 인스턴스가 동시에 배치될 수 있습니다. 이 기간 동안 첫 번째 Plus 플랜 인스턴스에서 사용 가능한 30일무료 평가판을 사용해 보십시오.

메트릭 수집

마이그레이션 후 서비스 인스턴스 데이터와 비교할 수 있도록 다음 정보를 기록해 두십시오.

  • 콜렉션 수

    v1의 인스턴스에 있는 콜렉션 수를 가져오려면 콜렉션 나열 API를 사용하십시오.

  • 콜렉션당 문서 수

    v1의 콜렉션에 있는 문서 수를 가져오려면 콜렉션 세부사항 가져오기 API를 사용하십시오.

    GET {url}/v1/environments/{environment_id}/collections/{collection_id}`
    

    API는 콜렉션에 있는 문서의 상태에 대한 정보를 리턴하며, 여기에는 사용 가능한 총 문서 수가 포함됩니다.

    "document_counts": {
        "available": 34,
        "{other}":"{values...}"
    }
    

v1 에서 v2 로 문서 전송

문서를 전송하는 방법은 v1에서 문서를 수집하는 데 사용된 기술에 따라 다릅니다.

한 번에 하나의 콜렉션을 다시 작성하십시오. 여러 수집 프로세스를 동시에 시작하는 경우 시스템 자원에 세금을 부과하고 처리를 완료하는 데 걸리는 전체 시간을 늘릴 수 있습니다. 또한 수집 프로세스에서 생성되는 정보 메시지를 감시하려고 합니다. 예를 들어, 한 번에 하나의 콜렉션을 수집할 때 수집 문제를 더 쉽게 해결할 수 있습니다.

업로드된 데이터

API를 사용하여 문서를 Discovery v1에 업로드한 경우 v2 에서 유사한 API를 사용하여 문서를 콜렉션에 업로드할 수 있습니다. 프로젝트 및 콜렉션의 새 배열을 설명하기 위해 프로세스를 자동화하는 데 사용하는 모든 워크플로우를 업데이트해야 합니다.

Discovery v1 에 수집한 원래 문서를 더 이상 사용할 수 없는 경우, 조회 API를 사용하여 Discovery v1에서 문서 텍스트를 추출할 수 있습니다. 그런 다음 Discovery v2의 콜렉션에 텍스트를 추가할 수 있습니다. 자세한 정보는 문서 복구 를 참조하십시오.

크롤링된 데이터

v1의 외부 데이터 소스에서 데이터를 크롤링한 경우에는 v2의 동일한 외부 데이터 소스에서 데이터를 계속 크롤링할 수 있습니다. 동일한 모든 데이터 소스가 지원됩니다.

외부 데이터 소스의 데이터를 사용하려면 v2 프로젝트 내에서 콜렉션을 다시 작성하고 데이터 소스를 크롤링하는 방법을 구성해야 합니다. 자세한 정보는 데이터 소스 개요 를 참조하십시오.

서비스에는 외부 데이터 소스에서 문서를 크롤링하고 수집하는 데 필요한 시간 및 자원이 필요합니다. 한 번에 하나씩 커넥터를 다시 작성하십시오. 마이그레이션 계획 스케줄에 데이터를 다시 크롤링하는 데 걸리는 시간을 고려하십시오.

사전 빌드된 데이터 콜렉션

다음 내장 데이터 소스 콜렉션은 v2:

Watson Discovery 뉴스
이 사전 강화된 데이터 소스는 v2에서 제공되지 않습니다. 뉴스 데이터를 가져오는 대체 방법에 대한 자세한 정보는 v2에서 뉴스 서비스 사용 을 참조하십시오.
COVID-19 킷
이 사전 빌드된 콜렉션은 IBM® watsonx™ Assistant 및 Discovery 를 사용하여 빌드된 동적 챗봇이 COVID-19에 대한 고객의 질문에 응답하도록 지원하기 위해 설계되었습니다. v2에서 유사한 솔루션을 빌드할 수 있습니다. COVID-19 질문에 대한 답변을 위해 신뢰할 수 있는 웹 사이트를 크롤링하는 콜렉션을 사용하여 대화식 검색 프로젝트 유형을 작성하십시오.

데이터 수집

v1 데이터를 Discovery v2 인스턴스에 수집하려면 다음 단계를 완료하십시오.

  1. v2 서비스 인스턴스를 생성합니다.

  2. 프로젝트를 작성하십시오.

  3. 프로젝트에 콜렉션을 추가하십시오.

    • 업로드된 데이터:

      API에서 콜렉션을 작성하고 두 개의 개별 메소드를 사용하여 콜렉션에 문서를 추가합니다. 콜렉션 작성 메소드를 사용하여 콜렉션을 작성하십시오. 그런 다음 v1 콜렉션에 추가한 것과 동일한 소스 문서를 v2 콜렉션에 추가하십시오. 문서 추가 또는 문서 업데이트 메소드를 사용하십시오. v2 콜렉션에 추가할 때와 동일한 v1 문서 ID를 문서에 지정하려면 문서 ID를 엔드포인트에 추가하십시오. 자세한 정보는 문서 ID 보유 를 참조하십시오.

      v2 제품 사용자 인터페이스에서 v1 콜렉션에 추가한 것과 동일한 소스 문서를 v2 콜렉션으로 업로드하십시오.

    • 크롤링된 데이터: v2에서 프로그래밍 방식으로 외부 데이터 소스의 데이터를 크롤링할 수 없습니다. 제품 사용자 인터페이스에서 외부 데이터 소스에 대한 연결을 다시 작성한 후 외부 데이터 소스를 처음부터 크롤링하십시오.

  4. 제품 사용자 인터페이스에서 Discovery v2 콜렉션을 구성할 수 있습니다. 예를 들어, 광학 문자 인식을 사용할지 여부를 선택할 수 있습니다. 외부 데이터 소스의 경우 크롤링 스케줄을 설정할 수 있습니다.

  5. 데이터에 인리치먼트를 적용하십시오. 사전 빌드된 자연어 처리 인리치먼트 또는 사용자가 작성하는 사용자 정의 인리치먼트를 적용할 수 있습니다.

    v1에서 인리치먼트는 환경을 작성할 때 생성되는 구성과 연관됩니다. v2에서 인리치먼트는 콜렉션 구성과 연관됩니다. 일부 인리치먼트는 사용되는 프로젝트 유형에 따라 기본적으로 콜렉션에 적용됩니다. 자세한 정보는 기본 프로젝트 설정 을 참조하십시오. v2에서는 문서의 필드에서 사용 가능한 인리치먼트의 서브세트를 사용하도록 콜렉션을 구성할 수 있습니다.

문서 ID 보유

문서 ID는 제품 사용자 인터페이스에서 업로드하거나 문서 추가 API 메소드를 사용하여 추가할 때 v2 콜렉션에 추가하는 문서에 지정됩니다.

이러한 고유 ID에 의존하는 프로세스를 사용하는 경우 v1 문서의 ID를 v2 에 보유할 수 있습니다. 예를 들어, 애플리케이션에 대한 회귀 테스트는 문서 ID를 검사하여 특정 문서가 리턴되는지 확인할 수 있습니다. 관련성 훈련은 문서 ID를 사용하여 훈련 실행 사이의 문서를 추적합니다. 이러한 프로세스는 문서 ID가 v1 및 v2 인스턴스 간에 동일한 경우 적용하기가 더 쉽습니다. 그렇지 않으면 Discovery v1 인스턴스와 함께 사용되는 프로세스가 Discovery v2 인스턴스에 추가된 후 문서에 지정된 ID에 다시 맵핑되어야 합니다.

v1 서비스 인스턴스에 문서를 추가할 때 사용자 고유의 문서 ID를 지정한 경우, 문서 추가 메소드 대신 문서 업데이트 메소드를 사용하여 ID를 보유할 수 있습니다. 갱신 메소드를 사용하여 v2 콜렉션에 추가할 때 문서에 문서 ID를 지정할 수 있습니다. 자세한 정보는 문서 업데이트를 참조하십시오.

데이터가 JSON 파일에 저장된 경우 원래 문서의 배열은 번호가 추가된 문서 ID를 생성합니다. 예를 들어, original_id_n입니다. 숫자 접미부 없이 원래 문서 ID를 유지하려면 JSON 파일에서 배열을 제거하십시오. 예를 들어, [ {"name": "value"} ]{"name": "value"} 로 변경하십시오.

v1 문서에 시스템 생성 ID가 있는 경우 비어 있는 검색 조회 를 제출하여 문서 및 해당 ID의 목록을 검색할 수 있습니다. 그런 다음 v2의 새 콜렉션에 추가할 때 각 문서에 동일한 ID를 지정할 수 있습니다.

문서 복구

일부 경우에는 Discovery V1 에 수집된 원래 문서를 더 이상 사용할 수 없습니다. Discovery v1 인스턴스를 사용하여 문서에서 정보를 검색할 수 있습니다. Discovery 는 수집하는 각 문서의 텍스트 사본을 작성합니다. 사본은 텍스트 전용이므로 HTML, PDF 또는 기타 비텍스트 형식의 문서는 텍스트 전용 버전으로 변환됩니다.

이 방법을 사용하여 콜렉션에서 처음 10 ,000개의 문서만 복구할 수 있습니다. 10 ,000개 이상의 문서를 복구하는 방법에 대한 자세한 정보는 콜렉션에서 10 ,000개 이상의 문서 복구 를 참조하십시오.

v1 에서 v2로 문서 정보를 전송하려면 다음 단계를 완료하십시오.

  1. 비어 있는 조회를 제출 하기 위해 API를 사용하여 v1 에서 문서를 추출하십시오.

    예를 들어, GET {url}/v1/environments/{environment_id}/collections/{collection_id}/query?q=입니다.

    API가 결과를 리턴합니다. matching_results 필드는 총 결과 수를 지정합니다. 결과 오브젝트는 일치하는 문서를 리턴합니다. 각 문서는 별도의 JSON 오브젝트로 리턴됩니다. 기본적으로 최대 10개의 문서를 리턴합니다.

    {
      "matching_results": 34,
      "session_token": "nnn",
      "results": [
        {"{result objects}":"{maximum of 10 by default}"}
      ]
    }
    
  2. countoffset 매개변수를 사용하여 조회 결과를 페이지 이동하고 모든 문서를 저장할 수 있습니다.

    예를 들어, 한 번에 100개의 문서를 가져오려면 count100 로 설정하고 offset0 로 설정하고 조회를 제출할 수 있습니다.

    GET {url}/v1/environments/{environment_id}/collections/{collection_id}/query?q=&count=100&offset=0
    

    그런 다음 다시 계수를 100으로 설정할 수 있지만 이번에는 오프셋을 100으로 설정하여 다음 100개의 문서를 가져옵니다.

    GET {url}/v1/environments/{environment_id}/collections/{collection_id}/query?q=&count=100&offset=100`
    

    이 프로세스를 반복하여 모든 문서를 검색할 때까지 오프셋을 100씩 증가시키십시오.

  3. 익스포트된 문서를 v2로 수집하도록 준비하십시오.

    Discovery v1 에서 가져온 각 결과 JSON 파일에는 텍스트, html및 기타 필드와 같은 원래 문서에서 추출된 데이터가 포함되어 있습니다. 사용자 정의 메타데이터가 v1에 업로드될 때 문서와 연관된 경우 JSON 파일에도 존재합니다. 또한 파일에는 v1 분석으로 생성된 여러 필드가 포함되어 있습니다. Discovery v2에 추가하는 문서의 일부로 이 데이터의 서브세트만 보유하십시오.

    다음 팁은 유지할 필드를 결정하는 데 도움이 될 수 있습니다.

    • Discovery v2에서 강화하거나 검색할 수 있도록 하려는 텍스트 컨텐츠가 있는 text 필드 또는 기타 필드를 포함하십시오.
    • 문서에 저장된 사용자 정의 메타데이터를 포함하십시오. 이 메타데이터는 일반적으로 Discovery 를 사용하는 애플리케이션에 특정하며 검색에서 문서를 필터링하는 데 사용됩니다. 예를 들어, metadata.customer_id입니다.
    • Discovery v1의 인리치먼트를 포함하지 마십시오. 예를 들어, enriched_text.entities. Discovery v2 는 자체 인리치먼트를 생성합니다.
    • 애플리케이션에서 사용되고 문서의 v1 버전에 고유한 정보를 포함하지 않는 한, Discovery 에 의해 생성되는 필드를 제외하십시오. 이 경우 문서가 Discovery v2에 수집될 때 바뀌지 않도록 필드의 이름을 바꾸십시오. 예를 들어, extracted_metadata.publicationdate 는 문서가 수집될 때 Discovery 에 의해 생성되는 필드입니다. 하위 문서가 원래 단일 소스 문서에서 생성된 방법을 이해하기 위해 v1 의 metadata.parent_document_id 정보를 보유하려고 할 수 있습니다.
    • 예약된 필드 이름이 있는 필드는 사용하지 마십시오. 자세한 정보는 필드 처리 방법 을 참조하십시오.
  4. 편집된 각 v1 JSON 문서를 Discovery v2 인스턴스에 수집하십시오. Discovery v1 문서 ID는 Discovery v2에서 유지보수할 수 있습니다. 문서 ID를 보유하는 방법에 대한 자세한 정보는 문서 ID 보유 를 참조하십시오.

콜렉션에서 10 ,000개 이상의 문서 복구

조회는 최대 10 ,000개의 문서만 리턴할 수 있습니다. 그러나 콜렉션에서 10 ,000개 이상의 문서를 복구하려면 문서를 겹치지 않는 하위 그룹으로 분리하는 방법이 필요합니다. 각 하위 그룹에는 조회에서 리턴할 수 있는 10 ,000개 미만의 문서가 포함되어야 합니다. 그런 다음 결과를 통해 페이지 번호를 지정하여 문서를 검색할 수 있습니다.

결과에 대한 페이지 매김은 조회에서 리턴되는 최대 10 ,000개의 문서로 제한됩니다. 특히 countoffset 페이지 매김 매개변수의 결합된 사용은 10 ,000개의 문서를 초과할 수 없습니다.

문서를 겹치지 않는 하위 그룹으로 분리하는 한 가지 방법은 모든 문서에 존재하고 고유한 값을 포함하는 필드를 활용하는 것입니다. 예를 들어, SHA-1 필드는 원래 소스 파일의 해시를 포함하며 16진문자열 값으로 형식화됩니다. 콜렉션을 하위 그룹으로 나누는 방법으로 필드의 첫 번째 문자를 사용할 수 있습니다. SHA-1 이 16진값을 포함하므로 첫 번째 문자는 최대 16개의 가능한 값 (0-9또는 a-f) 을 가질 수 있습니다. first_char_of (SHA-1) == 0 로 필터링하는 경우 전체 콜렉션의 약 1/16을 리턴할 수 있습니다. 그런 다음 가능한 16개의 각 값을 반복하여 나머지 문서를 가져올 수 있습니다. 하위 그룹 중 하나에서 최적의 문서 수가 리턴되지 않으면 SHA-1 필드의 처음 두 문자를 사용하여 콜렉션을 대신 256개의 하위 그룹으로 나눌 수 있습니다.

관련성 교육 전송

Discovery v1 에서 수행된 관련성 훈련을 Discovery v2로 전송할 수 있습니다. 교육 전송은 Discovery v1 콜렉션의 동일한 문서를 포함하는 하나의 콜렉션이 있는 Discovery v2 프로젝트에서 가장 잘 작동합니다.

콜렉션이 추가되거나 문서가 변경된 경우에도 관련성 훈련을 전송할 수 있습니다. 그러나 변경사항을 고려하여 교육을 업데이트해야 합니다.

관련성 훈련을 전송하려면 다음 단계를 완료하십시오.

  1. Discovery v2에서 문서를 로드하십시오.

  2. Discovery v1에서 관련성 훈련에 사용된 조회를 프로그래밍 방식으로 다운로드하십시오. 자세한 정보는 훈련 데이터 나열을 참조하십시오.

  3. Discovery v2에서 관련성 훈련 데이터를 프로그래밍 방식으로 다시 작성하십시오. 조회 작성 메소드를 사용하여 각 훈련 조회를 별도로 추가하십시오. 자세한 정보는 훈련 조회 작성을 참조하십시오.

    v2 콜렉션 ID를 지정해야 합니다. 또한 문서 ID도 지정해야 합니다.

    v1 및 v2 콜렉션 사이에 문서 ID를 보유 하지 않은 경우, 다운로드된 조회 예제에서 참조되는 v1 문서 ID에 해당하는 v2 문서 ID를 찾아야 합니다.

모델 전송

v1 에서 작성한 일부 모델을 v2 프로젝트와 함께 재사용할 수 있습니다.

SDU (Smart Document Understading) 모델

Discovery v1 로 빌드된 SDU 모델을 Discovery v2로 가져올 수 있습니다. 그러나 모델의 성능은 버전 간에 다를 수 있습니다. v2 에서 v1 SDU 모델의 결과를 비교하여 동작이 동일한지 확인하십시오. 가져온 v1 SDU 모델을 편집할 수 없습니다. 가져온 모델이 v1 에서 인식되고 유스 케이스에 중요한 문서 요소를 인식할 수 없는 경우 Discovery v2 제품 사용자 인터페이스에서 SDU 모델을 다시 작성해야 합니다. 자세한 정보는 v1 문서의 SDU 모델 내보내기 및 v2 문서의 SDU 모델 가져오기 를 참조하십시오.

기계 학습 모델

Knowledge Studio에서 Discovery v2 서비스 인스턴스에 직접 모델을 배치할 수 없습니다. 대신 Knowledge Studio에서 기계 학습 모델을 내보낸 후 Discovery로 가져와야 합니다. 2020년 7월 16일이후에 모델을 Knowledge Studio 에서 내보냈어야 합니다. 해당 날짜 이전에 내보낸 모델이 있는 경우 Knowledge Studio에서 모델을 다시 내보내야 합니다. 유료 Knowledge Studio 플랜만 모델 내보내기를 지원합니다.

자세한 정보는 다음 주제 중 하나를 참조하십시오.

모델을 Discovery v2로 가져오는 방법에 대한 정보는 Machine Learning 모델 가져오기 를 참조하십시오.

v2 API를 사용하도록 애플리케이션 업데이트

Watson Developer SDK는 Discovery v1 및 v2를 모두 지원합니다.

이 지시사항에서는 애플리케이션이 v1 API (버전 2019-04-30) 의 최신 버전을 사용하고 있다고 가정합니다.

현재 v2를 사용하기 위해 Discovery v1 API를 사용하는 애플리케이션을 이식하는 경우 두 버전 간에 다음과 같은 상위 레벨 차이를 처리하는 방법을 계획해야 합니다.

이러한 상위 레벨 변경사항 외에도 메소드별 레벨에서 차이점을 검토하여 변경해야 하는 기타 사항을 이해하십시오. 자세한 정보는 API 버전 비교 를 참조하십시오.

  • v2 는 프로젝트 및 콜렉션별로 데이터를 구성합니다. 환경의 개념은 없습니다. 예를 들어, 다음 요청을 비교하여 콜렉션을 가져오십시오.

    v1 콜렉션 가져오기

    GET {url}/v1/environments/{environment_id}/collections/{collection_id}
    

    v2 콜렉션 가져오기

    GET {url}/v2/projects/{project_id}/collections/{collection_id}
    
  • v1에서 관련성 훈련은 단일 콜렉션에서 실행됩니다. v2에서 관련성 훈련은 프로젝트에서 실행됩니다. 프로젝트에는 많은 콜렉션이 포함될 수 있습니다. 그러한 경우 관련성 훈련이 모든 콜렉션에 적용됩니다. 관련성 훈련을 전송하는 방법에 대한 정보는 관련성 훈련 전송 을 참조하십시오.

    예를 들어, 관련성 훈련의 상태를 리턴하는 다음 요청을 비교하십시오.

    v1 콜렉션 가져오기

    GET {url}/v1/environments/{environment_id}/collections/{collection_id}
    

    v2 프로젝트 가져오기

    GET {url}/v2/projects/{project_id}
    
  • 조회 제출은 두 버전 간에 유사합니다. v2에서 프로젝트의 모든 콜렉션을 조회하거나 collection_ids 매개변수를 지정하여 하나 이상의 콜렉션으로 조회를 제한할 수 있습니다. 예를 들어, 다음 요청을 비교하여 데이터를 조회하십시오.

    v1 Query 요청

    POST {url}/v1/environments/{environment_id}/collections/{collection_id}/query
    

    요청과 함께 제출되는 데이터:

    {
      "query": "text:IBM"
    }
    

    v2 조회 요청

    POST {url}/v2/projects/{project_id}/query
    

    요청과 함께 제출되는 데이터:

    {
      "collection_ids": [
        "{collection_id_1}",
        "{collection_id_2}"
      ],
      "query": "text:IBM"
    }
    

    선택적으로 collection_ids 매개변수를 생략하여 프로젝트의 모든 콜렉션에서 조회할 수 있습니다.

  • 쿼리에 대한 passage 매개변수에는 문서 품질별로 문서의 순위를 지정한 후 응답의 결과 목록에 있는 각 문서 항목에 대해 document_passages 필드에서 문서당 가장 높은 순위의 구절을 리턴하는 새 per_document 옵션이 있습니다. false인 경우 문서 품질에 관계없이 모든 문서의 구절을 구절 품질별로 순위 지정하고 응답에서 별도의 구절 필드에 반환합니다.

  • 쿼리에 대해 구절이 리턴되면 응답 찾기를 사용으로 설정할 수도 있습니다. true인 경우, 응답 오브젝트는 조회 결과에서 각 단락의 일부로 리턴됩니다. find_answersper_document 가 둘 다 true로 설정되면 각 문서 내의 문서 검색 결과 및 단락 검색 결과가 응답 신뢰도를 사용하여 다시 정렬됩니다. 이 재정렬의 목적은 첫 번째 문서의 첫 번째 단락의 첫 번째 응답으로 최상의 응답을 배치하는 것입니다. 마찬가지로 find_answers 매개변수가 true로 설정되고 per_document 매개변수가 false로 설정되면 각 문서 및 구절에 대해 가장 높은 신뢰도 응답의 내림차순으로 구절 검색 결과가 다시 정렬됩니다.

  • v1 및 v2 모두 사용자 정의 검색 엔진에서 제외되는 단어를 지원합니다. 그러나 사용자 정의 검색 엔진에서 제외되는 단어가 사용되는 방법에는 몇 가지 차이점이 있습니다.

    • v2에는 일본어 콜렉션에 대한 기본 사용자 정의 검색 엔진에서 제외되는 단어 목록이 없습니다.
    • v1에서 사용자 정의 검색 엔진에서 제외되는 단어를 정의하면 검색 엔진에서 제외되는 단어 목록이 기존 검색 엔진에서 제외되는 단어 목록을 대체합니다. v2에서 목록은 기본 목록의 기능을 보강합니다. 목록을 바꿀 수 없습니다. 즉, v2에서 기본 목록의 일부인 검색 엔진에서 제외되는 단어를 제거할 수 없습니다.

애플리케이션이 조회 결과를 처리하는 방법 업데이트

애플리케이션이 조회 결과를 표시하는 방법은 v1 및 v2 조회 사이의 조회 결과 문서 구문 간 다음 차이로 인해 업데이트해야 할 수 있습니다.

  • 엔티티 인리치먼트 레벨에서는 다음 정보가 v2: 에서 지원되지 않습니다.

    • 명확화
    • 감정
    • 감성

    Part of Speech 인리치먼트는 v2의 대부분의 프로젝트 유형에 있는 문서에 자동으로 적용되지만 인리치먼트에 의해 생성되는 색인 필드는 문서의 JSON 표시에 표시되지 않습니다.

    엔티티 데이터 구조의
    데이터 구조의

  • v1의 countrelevance 대신, v2 는 멘션을 포함합니다.

    멘션의 각 항목은 문서 텍스트에서 엔티티의 발생에 해당합니다. 다음 예제에서는 일곱 개의 발생이 발견되었습니다. 각 발생에 대해 멘션 텍스트의 오프셋 및 신뢰도 점수가 표시됩니다. 오프셋을 사용하여 결과가 사용자 인터페이스에 표시될 때 문서 텍스트에서 멘션을 강조표시할 수 있습니다.

    Mentions in Discovery v2
    Entity mentions in Discovery v2

  • 조회 응답의 JSON 구조는 v2에서 약간 재배열됩니다.

  • 데이터 중복 제거 정보는 v2 조회 응답에 포함되지 않습니다.

  • v2에서 enriched_text 는 오브젝트 대신 배열입니다.

  • Discovery v2에서는 엔티티 v2 인리치먼트가 사용됩니다. v2 의 엔티티 유형 이름은 모두 대문자가 아닌 헤드라인 문자로 지정됩니다. 엔티티 이름을 지정하는 조회 또는 집계를 사용하는 경우 대소문자를 변경해야 합니다. 예를 들어, PERSONPerson 로 변경하십시오.

  • 콜렉션에 추가되는 JSON 파일의 필드는 v1 과 v2사이의 수집 중에 다르게 변환됩니다. 애플리케이션이 이러한 결과를 조작하는 경우 조정해야 할 수 있습니다.

    API의 콜렉션 업데이트 메소드에서 normalizationsconversions 오브젝트를 지정하여 JSON 필드를 이동하거나 병합할 수 있습니다.

    JSON 소스 필드를 처리하는 방법
    원래 JSON 필드 컨텐츠 v1 표시 v2 표시 참고
    "field": null "field": null 해당사항 없음 v1 은 널값을 유지합니다. v2 는 널 필드를 모두 건너뜁니다.
    "field": "" "field": "" 해당사항 없음 v1 은 빈 텍스트 값을 유지합니다. v2 는 비어 있는 텍스트 필드를 모두 건너뜁니다.
    "field": "value2" "field": "value2" "field": "value2" 차이가 없습니다.
    "field": [] "field": [] 해당사항 없음 v1 은 빈 배열을 유지합니다. v2 는 비어 있는 배열이 있는 필드를 모두 건너뜁니다.
    "field": [ "value4" ] "field": [ "value4" ] "field": "value4" v1 은 싱글톤 배열을 유지합니다. v2 는 싱글톤 배열을 값으로만 변환합니다. 배열의 일부로 저장되지 않습니다.
    "field": [ 1, 2, 3 ] "field": [ 1, 2, 3 ] "field": [ 1, 2, 3 ] 차이가 없습니다.
    "field": [ "v6", "v7", "v8" ] "field": [ "v6", "v7", "v8"] "field": [ "v6", "v7", "v8"] 차이가 없습니다.

데이터가 성공적으로 마이그레이션되었는지 확인

마이그레이션이 성공했는지 확인하려면 다음 메트릭을 마이그레이션 전에 기록한 메트릭 과 비교하십시오.

  • 콜렉션 수

    v1 에서 사용했으며 보존하려는 모든 콜렉션을 다시 작성해야 합니다. v2 콜렉션 나열 API 메소드를 사용하여 콜렉션 목록을 가져올 수 있지만 프로젝트마다 요청을 제출해야 합니다. 하나의 호출을 사용하여 서비스 인스턴스당 총 콜렉션 수를 가져올 수 없습니다.

  • 콜렉션당 문서 수

    업로드된 데이터가 있는 콜렉션의 경우, 프로젝트 조회 API 메소드를 사용하여 비어 있는 조회를 전송하여 콜렉션에 있는 문서 수를 확인하십시오. 결과를 하나의 콜렉션에 있는 문서로만 제한하려면 콜렉션 ID 매개변수를 지정하십시오. 비어 있는 조회는 모든 문서를 리턴합니다. 따라서 응답의 matching_results 값에서 총 문서 수를 가져올 수 있습니다.

    콜렉션당 문서 수는 v1의 동일한 콜렉션에 저장된 문서 수에 근접해야 합니다. 숫자가 동일하지 않을 수 있습니다.

    크롤링된 데이터의 경우 v2 콜렉션에 더 적은 수의 문서가 있어도 놀라지 마십시오. v1 커넥터는 외부 데이터 소스에서 삭제된 Discovery 콜렉션에서 문서를 삭제하지 않습니다. 콜렉션의 v2 버전에는 현재 외부 데이터 소스에 있는 데이터의 프레셔 크롤링이 있습니다.

검색 결과가 v1 및 v2 인스턴스에서 제출하는 조회에 대해 동일할 것으로 예상하지 마십시오.

v2 로 뉴스 서비스 사용

v1 에서 Watson Discovery 뉴스 데이터 소스를 사용하고 v2에서 동등한 기능으로 데이터 소스를 작성하려는 경우 뉴스 및 이벤트 데이터 제공자 서비스를 찾으십시오. JSON 형식으로 뉴스 기사를 추출하는 뉴스 API를 제공하는 서비스를 찾으십시오. 그런 다음 JSON 파일을 업로드하여 v2 프로젝트에서 뉴스 콜렉션을 작성할 수 있습니다.

v1 서비스 인스턴스 삭제

데이터가 마이그레이션되고 애플리케이션이 새 v2 서비스 인스턴스를 사용하도록 업데이트된 후에는 v1 서비스 인스턴스를 삭제해야 합니다. 삭제할 때까지 v1 서비스 인스턴스에 대한 비용이 청구됩니다. 자세한 정보는 관리 서비스 인스턴스 삭제 를 참조하십시오.