La extracción de palabras clave de Watson Natural Language Processing con un bloque de clasificación extrae frases de nombre del texto de entrada en función de su relevancia.
Idiomas soportados
La extracción de palabras clave con clasificación de texto está disponible para los siguientes 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 obtener una lista de los códigos de idioma y los idiomas correspondientes, consulte Códigos de idioma.
Prestaciones
Las palabras clave y el bloque de rango de texto clasifica las frases de nombre extraídas de un documento de entrada en función de lo relevante que tienen dentro del documento.
Prestaciones | Ejemplos |
---|---|
Frases de nombre extraídas de rangos en función de la relevancia | "Anna fue a la facultad en la Universidad de California Santa Cruz. Anna empezó la universidad en 2015". -> Anna, Universidad de California Santa Cruz |
Extracción de palabras clave
Nombre de bloque
keywords_embed-rank_multi_stock
Dependencias de otros bloques
Los bloques siguientes deben ejecutarse para poder ejecutar la extracción de palabras clave con el bloque de clasificación:
syntax_izumo_<language>_stock
noun-phrases_rbr_<language>_stock
Ejemplo de código
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)
Ejemplo de salida 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"
}
}
Tema principal: Watson