구문 분석

Watson 의 자연어 처리 구문 블록은 구문 분석 기능을 포함하고 있습니다.

블록 이름

  • syntax_izumo_<language>_stock
  • syntax_izumo_<language>_stock-dp

지원 언어

구문 분석 블록은 다음 언어에서 사용할 수 있습니다. 언어 코드 및 해당 언어 목록은 ‘언어 코드’를 참조하십시오.

모델 syntax_izumo_<language>_stock에 사용할 언어 코드: af, ar, bs, ca, cs, da, de, el, en, es, fi, fr, he, hi, hr, it, ja, ko, nb, nl, nn, pl, pt, ro, ru, sk, sr, sv, tr, zh_cn, zh_tw

모델 syntax_izumo_<language>_stock-dp에 사용할 언어 코드: af, ar, bs, ca, cs, da, de, el, en, es, fi, fr, he, hi, hr, it, ja, ko, nb, nl, nn, pl, pt, ro, ru, sk, sr, sv, tr, zh

각 구문 태스크에 대해 지원되는 언어 목록
태스크 지원되는 언어 코드
토큰화 af, ar, bs, ca, cs, da, de, el, en, es, fi, fr, 그, hi, hr, it, ja, ko, nb, nl, nn, pl, pt, ro, ru, sk, sr, sv, tr, zh_cn, zh_tw, zh
품사 태깅 af, ar, bs, ca, cs, da, de, nl, nn, el, en, es, fi, fr, 그, hi, hr, it, ja, ko, nb, pl, pt, ro, ru, sk, sr, sv, tr, zh_cn, zh_tw, zh
표제어 정리(lemmatization) af, ar, bs, ca, cs, da, de, el, en, es, fi, fr, 그, hi, hr, it, ja, ko, nb, nl, nn, pl, pt, ro, ru, sk, sr, sv, tr, zh_cn, zh_tw, zh
문장 탐지 af, ar, bs, ca, cs, da, de, el, en, es, fi, fr, 그, hi, hr, it, ja, ko, nb, nl, nn, pl, pt, ro, ru, sk, sr, sv, tr, zh_cn, zh_tw, zh
문단 감지 af, ar, bs, ca, cs, da, de, el, en, es, fi, fr, 그, hi, hr, it, ja, ko, nb, nl, nn, pl, pt, ro, ru, sk, sr, sv, tr, zh_cn, zh_tw, zh
의존성 분석 af, ar, bs, cs, da, de, en, es, fi, fr, hi, hr, it, ja, nb, nl, nn, pt, ro, ru, sk, sr, sv

기능

이 블록을 사용하여 다양한 언어에서 문장 감지, 토큰화, 품사 태깅, 형태소 분석 및 종속 구문 분석과 같은 작업을 수행할 수 있습니다. 대부분의 태스크에는 문장 발견, 토큰화 및 품사 태그 지정만 필요합니다. 이러한 유스 케이스의 경우 syntax_model_xx_stock 모델을 사용하십시오. 종속성 구문 분석을 실행하려면 syntax_model_xx_stock-dp 모델을 사용하십시오.

품사(POS) 태깅 및 의존 관계 분석은 범용 품사 태그셋( Universal POS tags )과 범용 의존 관계 태그셋 v2 (Universal Dependency Relations)을 따릅니다.

다음 표는 동일한 예시를 바탕으로 각 작업의 기능과 구문 분석 결과를 보여줍니다.

예제를 기반으로 하는 각 구문 태스크의 기능
기능 파서 속성
토큰화 "나는 월요일을 좋아하지 않아" --> "나는", "월요일을", "좋아하지", "않아" 토큰
품사 판별 "나는 월요일이 싫어" --> "I"\대명사, "do"\조동사, "n't"\부사, "like"\동사, "Mondays"\형용사 part_of_speech
표제어 정리(lemmatization) "월요일은 싫어" --> "나는", "월요일이", "싫어" 레마
의존성 분석 "나는 월요일이 싫어" --> "나"-주어->"~하다"<-목적어-"월요일" 1)종속성 2)의존성
문장 탐지 "나는 월요일이 싫어" --> 이 문장을 반환합니다
단락 감지 (현재 단락 감지 기능은 아직 실험 단계이며, 문장 감지와 유사한 결과를 반환합니다.) "월요일은 싫어" --> 이 문장을 하나의 단락으로 처리함

다른 블록에 대한 종속성

없음

코드 샘플

import watson_nlp

# Load Syntax for English
syntax_model = watson_nlp.load('syntax_izumo_en_stock')

# Detect tokens, lemma and part-of-speech
text = 'I don\'t like Mondays'
syntax_prediction = syntax_model.run(text, parsers=('token', 'lemma', 'part_of_speech'))

# Print the syntax result
print(syntax_prediction)

코드 예제의 출력 결과:

{
  "text": "I don't like Mondays",
  "producer_id": {
    "name": "Izumo Text Processing",
    "version": "0.0.1"
  },
  "tokens": [
    {
      "span": {
        "begin": 0,
        "end": 1,
        "text": "I"
      },
      "lemma": "I",
      "part_of_speech": "POS_PRON"
    },
    {
      "span": {
        "begin": 2,
        "end": 4,
        "text": "do"
      },
      "lemma": "do",
      "part_of_speech": "POS_AUX"
    },
    {
      "span": {
        "begin": 4,
        "end": 7,
        "text": "n't"
      },
      "lemma": "not",
      "part_of_speech": "POS_PART"
    },
    {
      "span": {
        "begin": 8,
        "end": 12,
        "text": "like"
      },
      "lemma": "like",
      "part_of_speech": "POS_VERB"
    },
    {
      "span": {
        "begin": 13,
        "end": 20,
        "text": "Mondays"
      },
      "lemma": "Monday",
      "part_of_speech": "POS_PROPN"
    }
  ],
  "sentences": [
    {
      "span": {
        "begin": 0,
        "end": 20,
        "text": "I don't like Mondays"
      }
    }
  ],
  "paragraphs": [
    {
      "span": {
        "begin": 0,
        "end": 20,
        "text": "I don't like Mondays"
      }
    }
  ]
}