Watson 텍스트 분류 확장하기

Summary

Watson Natural Language Understanding을 사용하여 좋은 결과를 얻으려면 여러 문서를 학습시켜야 합니다. 새로운 주제의 도메인을 적용할 때, 많은 학습용 문서를 생성하기에는 시간이 제한적입니다. 이 개발 과정은 이러한 상황을 가정하고 도메인 전문가가 준비할 수 있는 간단한 Configuration JSON 파일로 Watson NLU의 결과를 보강하는 방법을 제안합니다. 이 접근 방법은 문서를 학습시키지 않고도 정확한 결과를 얻을 수 있습니다.

Description

이 코드 패턴에서는, Watson Natural Language Understanding (NLU) 서비스와 IBM Data Science Experience (DSX)를 사용하여 사용 가능한 과거 데이터가 없을 때 텍스트 분류 결과를 개선하는 방법을 안내합니다. 도메인 전문가가 준비하는 Configuration JSON 문서를 IBM DSX에 input으로 제공합니다. 이 파일은 더 좋은 결과와 통찰력을 얻으려면 수정하셔도 됩니다.

이 개발자 과정을 완료하면 다음을 이해할 수 있습니다:

  • DSX에서 주피터 노트북을 생성 및 실행합니다.
  • DSX Object Storage를 사용하여 데이터 및 구성 파일에 접근합니다.
  • 주피터 노트북에서 NLU API를 사용하여 문서의 메타데이터를 추출합니다.
  • 간단한 Python 함수로 비정형 데이터를 추출하고 형식을 지정 합니다.
  • 구성 파일을 사용하여 구성 가능하고 계층화된 분류 문법을 작성합니다.
  • 구성 파일의 문법적 분류와 정규식 패턴을 조합하여 단어의 토큰 클래스를 분류합니다.
  • 처리 결과를 JSON 형식으로 DSX Object Storage에 저장합니다.

Flow

flow

  1. 분석할 문서를 IBM Object Storage for Bluemix®에 저장합니다.
  2. Python 코드로 오브젝트 스토리지에서 문서 컨텐츠와 구성 JSON을 가져옵니다.
  3. 문서의 컨텐츠를 Watson NLU를 통해 분석합니다.
  4. Python Natural Language Toolkit (NLTK) 모듈로 문서를 파싱하여 키워드, POS 태그 및 정보를 태그 패턴에 기반하여 생성합니다.
  5. 구성 JSON을 읽어 도매인 특화된 키워드와 속성을 분류합니다.
  6. NLU의 분석 결과를 Python 코드로 개선합니다.
  7. 나중에 사용하기 위해 오브젝트 스토리지에 최종 문서의 분류 및 속성을 저장합니다.

Instructions

이 코드패턴을 사용할 준비가 되었나요? 이 어플리케이션을 실행하고 사용하는 방법에 대한 자세한 설명을 README 에서 확인하세요.