Watson 자연어 처리는 20개 이상의 언어로 선행 학습된 모델을 제공합니다. 이들은 전문가들로 구성된 전담 팀에 의해 관리되고 각 특정 언어의 품질에 대해 평가됩니다. 이러한 사전 훈련된 모델은 라이센스 또는 지적 재산권 침해에 대해 걱정하지 않아도 프로덕션 환경에서 사용할 수 있습니다.
모델 로딩 및 실행하기
모델을 로드하려면 먼저 이름을 알아야 합니다. 모델 이름은 모델 유형 (예: 분류 또는 엔티티 추출), 알고리즘 유형 (예: SVM 또는 변환기), 언어 코드 및 유형 시스템의 세부사항을 인코딩하는 표준 규칙을 따릅니다.
사용자의 요구와 일치하는 모델을 찾으려면 태스크 카탈로그를 사용하십시오. Watson NLP 태스크 카탈로그를 참조하십시오.
블록 클래스 run()
메소드에서 help()
을(를) 사용하여 지정된 블록 클래스(예: 엔티티 멘션 모델)에 대한 예상 입력을 찾을 수 있습니다.
import watson_nlp
help(watson_nlp.blocks.keywords.TextRank.run)
Watson 자연어 처리는 블록 및 워크플로우를 통해 자연어 기능을 캡슐화합니다. 각 블록 또는 워크플로우는 다음과 같은 기능을 지원합니다.
load()
: 모델 로드run()
: 입력 인수에서 모델 실행train()
: 사용자 고유의 데이터에서 모델을 훈련시킵니다 (모든 블록 및 워크플로우가 훈련을 지원하는 것은 아님).save()
: 사용자 자신의 데이터에 대해 훈련된 모델을 저장합니다.
블록
두 가지 유형의 블록이 있습니다.
워크플로우 는 파이프라인의 입력 문서에서 하나 이상의 블록을 실행합니다.
입력 문서에서 직접 작동하는 블록
입력 문서에서 직접 작동하는 블록의 예로는 토큰화, 표제어 정리, 품사 태그 지정 또는 종속성 구문 분석과 같은 자연어 처리 조작을 수행하는 구문 블록이 있습니다.
예: 텍스트 스니펫에서 구문 분석 실행:
import watson_nlp
# Load the syntax model for English
syntax_model = watson_nlp.load('syntax_izumo_en_stock')
# Run the syntax model and print the result
syntax_prediction = syntax_model.run('Welcome to IBM!')
print(syntax_prediction)
다른 블록에 종속되는 블록
다른 블록에 종속된 블록은 입력 문서에 직접 적용할 수 없습니다. 하나 이상의 선행 블록의 출력에 적용됩니다. 예를 들어, 키워드 추출 블록은 구문 및 명사 구문 블록에 따라 다릅니다.
이러한 블록은 로드될 수 있지만 입력 문서의 특정 순서로만 실행할 수 있습니다. 예를 들어,
import watson_nlp
text = "Anna went to school at University of California Santa Cruz. \
Anna joined the university in 2015."
# Load Syntax, Noun Phrases and Keywords models for English
syntax_model = watson_nlp.load('syntax_izumo_en_stock')
noun_phrases_model = watson_nlp.load('noun-phrases_rbr_en_stock')
keywords_model = watson_nlp.load('keywords_text-rank_en_stock')
# Run the Syntax and Noun Phrases models
syntax_prediction = syntax_model.run(text, parsers=('token', 'lemma', 'part_of_speech'))
noun_phrases = noun_phrases_model.run(text)
# Run the keywords model
keywords = keywords_model.run(syntax_prediction, noun_phrases, limit=2)
print(keywords)
워크플로우
워크플로우는 원시 문서에서 최종 블록으로의 사전 정의된 엔드-투-엔드 파이프라인이며, 여기서 필요한 모든 블록은 워크플로우 파이프라인의 일부로 체인 형식으로 연결됩니다.
엔티티 멘션 워크플로우를 호출하는 방법에 대한 예시는 이 샘플을 참조하세요:
import watson_nlp
# Load the workflow model
mentions_workflow = watson_nlp.load('entity-mentions_transformer-workflow_multilingual_slate.153m.distilled')
# Run the entity extraction workflow on the input text
mentions_workflow.run('IBM announced new advances in quantum computing', language_code="en")
상위 주제: Watson 자연어 처리 라이브러리