Análise da sintaxe

O bloco de sintaxe do Watson Natural Language Processing encapsula a funcionalidade de análise de sintaxe.

Nomes de blocos

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

Idiomas suportados

O bloco de análise de sintaxe está disponível para os idiomas a seguir. Para obter uma lista dos códigos de idioma e dos idiomas correspondentes, consulte Códigos de idiomas.

Códigos de idioma a serem usados para o modelo 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

Códigos de idioma a serem usados para o modelo syntax_izumo_<language>_stock-dp: af, ar, bs, ca, cs, da, de, de, el, en, es, fi, fr, he, hi, hr, it, ja, ko, nb, nl, nn, pl, pt, ro, ru, sk, sr, sv, tr, zh

Lista dos idiomas suportados para cada tarefa de sintaxe
Tarefa Códigos de Idioma Suportados
Tokenização af, ar, bs, ca, cs, da, de, el, en, es, fi, fr, ele, hi, hr, it, ja, ko, nb, nl, nn, pl, pt, ro, ru, sk, sr, sv, tr, zh_cn, zh_tw, zh
Identificação de parte da fala af, ar, bs, ca, cs, da, de, nl, nn, el, en, es, fi, fr, ele, hi, hr, it, ja, ko, nb, pl, pt, ro, ru, sk, sr, sv, tr, zh_cn, zh_tw, zh
Lematização af, ar, bs, ca, cs, da, de, el, en, es, fi, fr, ele, hi, hr, it, ja, ko, nb, nl, nn, pl, pt, ro, ru, sk, sr, sv, tr, zh_cn, zh_tw, zh
Detecção de sentença af, ar, bs, ca, cs, da, de, el, en, es, fi, fr, ele, hi, hr, it, ja, ko, nb, nl, nn, pl, pt, ro, ru, sk, sr, sv, tr, zh_cn, zh_tw, zh
Detecção de parágrafo af, ar, bs, ca, cs, da, de, el, en, es, fi, fr, ele, hi, hr, it, ja, ko, nb, nl, nn, pl, pt, ro, ru, sk, sr, sv, tr, zh_cn, zh_tw, zh
Análise de dependência af, ar, bs, cs, da, de, en, es, fi, fr, hi, hr, it, ja, nb, nl, nn, pt, ro, ru, sk, sr, sv

Recursos

Use este bloco para executar tarefas como detecção de sentença, tokenização, marcação de parte da fala, lematização e análise de dependência em diferentes idiomas. Para a maioria das tarefas, você provavelmente precisará apenas de detecção de sentença, tokenização e identificação de parte do discurso. Para esses casos de uso use o modelo syntax_model_xx_stock . Se desejar executar análise de dependência, use o modelo syntax_model_xx_stock-dp .

A análise para marcação e dependências do Part-of-Speech (POS) segue o conjunto de tags do Universal Parts of Speech (tags do Universal POS) e o conjunto de tags do Universal Dependencies v2 (Relacionamentos do Universal Dependency).

A tabela a seguir mostra os recursos de cada tarefa com base no mesmo exemplo e no resultado da análise.

Capacidades de cada tarefa de sintaxe com base em um exemplo
Recursos Exemplos Atributos do analisador
Tokenização "I don't like Mondays" --> "I" , "do", "n't", "like", "Mondays" token
Detecção do Part-of-Speech "I don't like Mondays" --> "I"\POS_PRON, "do"\POS_AUX, "n't"\POS_PART, "like"\POS_VERB, "Mondays"\POS_PROPN part_of_speech
Lematização "I don't like Mondays" --> "I", "do", "not", "like", "Monday" lema
Análise de dependência "I don't like Mondays" --> "I"-SUBJECT->"like"<-OBJECT-"Mondays" dependência
Detecção de sentença "I don't like Mondays" --> retorna esta sentença sentença
Detecção de parágrafo (atualmente, a detecção de parágrafo ainda é experimental e retorna resultados semelhantes à detecção de sentença). "I don't like Mondays" --> retorna esta sentença como sendo um parágrafo sentença

Dependências de outros blocos

Nenhum

Código de amostra

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)

Saída da amostra de código:

{
  "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"
      }
    }
  ]
}