Analyse syntaxique

Le bloc « Syntaxe » du traitement du langage naturel d' Watson intègre des fonctionnalités d'analyse syntaxique.

Noms de bloc

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

Langues supportées

Le module d'analyse syntaxique est disponible pour les langages suivants. Pour obtenir la liste des codes de langue et des langues correspondantes, consultez la section « Codes de langue ».

Codes de langue à utiliser pour le modèle 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

Codes de langue à utiliser pour le modèle 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

Liste des langues prises en charge pour chaque tâche de syntaxe
Tâche Codes de langues pris en charge
Segmentation en unités 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, zh
Marquage des parties du discours af, ar, bs, ca, cs, da, de, nl, nn, el, en, es, fi, fr, he, hi, hr, it, ja, ko, nb, pl, pt, ro, ru, sk, sr, sv, tr, zh_cn, zh_tw, zh
Lemmatisation 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, zh
Détection de phrases 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, zh
Détection des paragraphes 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, zh
Analyse des dépendances af, ar, bs, cs, da, de, en, es, fi, fr, hi, hr, it, ja, nb, nl, nn, pt, ro, ru, sk, sr, sv

Capacités

Utilisez ce bloc pour effectuer des tâches telles que la détection de phrases, la tokenisation, le marquage des catégories grammaticales, la lemmatisation et l'analyse syntaxique dans différentes langues. Pour la plupart des tâches, vous n'aurez probablement besoin que de la détection de phrases, du marquage sémantique et du balisage de la partie de la parole. Pour ces cas d'utilisation, utilisez le modèle syntax_model_xx_stock . Si vous souhaitez exécuter l'analyse syntaxique des dépendances, utilisez le modèle syntax_model_xx_stock-dp .

L'analyse pour le marquage des catégories grammaticales (POS) et des dépendances suit le jeu de balises « Universal Parts of Speech » ( balises POS universelles ) et le jeu de balises « Universal Dependencies » v2 ( relations de dépendance universelles ).

Le tableau suivant présente les fonctionnalités de chaque tâche à partir du même exemple, ainsi que le résultat de l'analyse.

Fonctions de chaque tâche de syntaxe basée sur un exemple
Capacités Exemples Attributs de l'analyseur
Segmentation en unités « Je n'aime pas les lundis » --> « Je », « n'aime », « pas », « les », « lundis » jeton
Détection de la catégorie grammaticale « Je n'aime pas les lundis » --> « Je »\POS_PRON, « n'aime »\POS_VERB, « pas »\POS_PART, « les »\POS_PROPN part_of_speech
Lemmatisation « Je n'aime pas les lundis » --> « Je », « n'aime », « pas », « les », « lundis » lemme
Analyse des dépendances « Je n'aime pas les lundis » --> « Je » - SUJET -> « aime » <- OBJET - « les lundis » dépendance
Détection de phrases « Je n'aime pas les lundis » --> renvoie cette phrase phrase
Détection de paragraphes (À l'heure actuelle, la détection de paragraphes est encore au stade expérimental et donne des résultats similaires à ceux de la détection de phrases.) « Je n'aime pas les lundis » --> cette phrase est traitée comme un paragraphe phrase

Dépendances vis-à-vis d'autres blocs

Aucun

Exemple de code

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)

Résultat de l'exemple de code :

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