L'estrazione della parola chiave Watson Natural Language Processing con blocco di classificazione estrae le frasi dei nomi dal testo di input in base alla loro rilevanza.
Lingue supportate
L'estrazione di parole chiave con classificazione del testo è disponibile per le seguenti lingue:
ar, cs, da, de, en, es, fi, fr, he, hi, it, ja, ko, nb, nl, nn, pt, ro, ru, sk, sv, tr, zh - cn
Per un elenco dei codici lingua e delle lingue corrispondenti, vedere Codici lingua.
Funzioni
Le parole chiave e il blocco di classificazione del testo classificano le frasi dei nomi estratte da un documento di input in base alla loro rilevanza all'interno del documento.
Funzioni | Esempi |
---|---|
Classifica le frasi dei nomi estratti in base alla pertinenza | " Anna è andata a scuola all'Università della California di Santa Cruz. Anna è entrata a far parte dell'Università nel 2015. " -> Anna, Università della California Santa Cruz |
Keyword Extraction
Nome blocco
keywords_embed-rank_multi_stock
Dipendenze da altri blocchi
I seguenti blocchi devono essere eseguiti prima di poter eseguire l'estrazione della parola chiave con il blocco di classificazione:
syntax_izumo_<language>_stock
noun-phrases_rbr_<language>_stock
Esempio di codice
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)
Output dell'esempio di codice:
{
"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"
}
}
Argomento principale: Watson Natural Language Processing task catalog