Extração de palavras-chave e classificação

A extração de palavras-chave do Watson Natural Language Processing com o bloco de classificação extrai frases substantivas a partir do texto de entrada com base em suas relevâncias.

Idiomas suportados

A extração de palavras-chave com classificação de texto está disponível para os seguintes idiomas:

ar, cs, da, de, en, es, fi, fr, he, hi, it, ja, ko, nb, nl, nn, pt, ro, ru, sk, sv, tr, zh-cn

Para obter uma lista dos códigos de idioma e dos idiomas correspondentes, consulte Códigos de idioma.

Recursos

As palavras-chave e o bloco de classificação de texto classificam as frases substantivas extraídas de um documento de entrada com base nos seus graus de relevância dentro do documento.

Recursos de extração de palavras-chave e classificação com base em um exemplo
Recursos Exemplos
Classifica frases substantivas extraídas com base na relevância "Anna foi para a escola na Universidade da Califórnia Santa Cruz. Anna entrou para a universidade em 2015." -> Anna, Universidade da Califórnia Santa Cruz

Extração de Palavra-chave

Nome do Bloco

keywords_embed-rank_multi_stock

Dependências de outros blocos

Os blocos a seguir devem ser executados para que você possa executar a extração de palavras-chave com o bloco de classificação:

  • syntax_izumo_<language>_stock
  • noun-phrases_rbr_<language>_stock

Código de amostra

import watson_nlp
from watson_nlp import data_model as dm
text = "Anna went to school at University of California Santa Cruz. \
        Anna joined the university in 2015."

# Load Noun Phrases, Embedding and Keywords models for English
noun_phrases_model = watson_nlp.load('noun-phrases_rbr_en_stock')
use_model = watson_nlp.load('embedding_use_en_stock')
keywords_model = watson_nlp.load('keywords_embed-rank_multi_stock')

# Run the Noun Phrases model
noun_phrases = noun_phrases_model.run(text)

# Get document embeddings
# No need to run any Syntax model since the 'raw_text' embed style will be used for doc embedding
syntax_analysis = dm.SyntaxPrediction(text=text)
doc_embeddings = use_model.run(syntax_analysis, doc_embed_style='raw_text')

# Get embeddings for noun phrases
noun_phrases_analysis = [dm.SyntaxPrediction(text=c.span.text) for c in noun_phrases.noun_phrases]
noun_phrase_embeddings = use_model.run_batch(noun_phrases_analysis, doc_embed_style='raw_text')

# Run the keywords model
keywords = keywords_model.run(doc_embeddings, noun_phrases, noun_phrase_embeddings, limit=2, beta=0.5)
print(keywords)

Saída da amostra de código:

{
  "keywords": [
    {
      "text": "University of California Santa Cruz",
      "relevance": 1.0,
      "mentions": [
        {
          "begin": 23,
          "end": 58,
          "text": "University of California Santa Cruz"
        }
      ],
      "count": 1
    },
    {
      "text": "Anna",
      "relevance": 0.6883336359588481,
      "mentions": [
        {
          "begin": 0,
          "end": 4,
          "text": "Anna"
        },
        {
          "begin": 68,
          "end": 72,
          "text": "Anna"
        }
      ],
      "count": 2
    }
  ],
  "producer_id": {
    "name": "Embed Rank Keywords",
    "version": "0.0.2"
  }
}