Creazione dei propri modelli
Alcuni algoritmi in Watson Natural Language Processing possono essere addestrati con dati propri, ad esempio è possibile creare modelli personalizzati basati sui propri dati per l'estrazione di entità, per classificare i dati, per estrarre i sentimenti e per estrarre i sentimenti di destinazione.
È possibile utilizzare un trasformatore incorporato basato su 'IBM 'foundation model chiamato Slate per creare i propri modelli. Il modello Slate è stato addestrato su un set di dati molto grande che è stato preelaborato per filtrare l'odio, la distorsione e la volgarità.
Per creare il proprio modello di classificazione, di estrazione entità o di opinione, è possibile ottimizzare il modello Slate in base ai propri dati. Per addestrare il modello in un tempo ragionevole, si consiglia di utilizzare ambienti basati su GPU.
- Individuazione di entità con un dizionario personalizzato
- Individuazione di entità con espressioni regolari
- Rilevamento di entità con un modello di trasformatore personalizzato
- Classifica testo con un modello di classificazione personalizzato
- Estrazione dell'opinione con un modello di trasformatore personalizzato
- Estrazione delle opinioni delle destinazioni con un modello di trasformatore personalizzato
Supporto linguistico per i modelli personalizzati
È possibile creare modelli personalizzati e utilizzare i seguenti modelli di dizionario e classificazione preformati per le lingue mostrate.
Modello personalizzato | Codici lingua supportati |
---|---|
Modelli di dizionario | af, ar, ar, bs, ca, cs, da, de, el, en, es, es, fi, fr, lui, hi, h, it, it, ja, ko, nb, nl, nn, pl, pl, pl, ru, sk, sr, sv, tr, zh_cn, zh_tw (tutte le lingue supportate nella parte Syntax di speech tagging) |
Regexes | af, ar, ar, bs, ca, cs, da, de, el, en, es, es, fi, fr, lui, hi, h, it, it, ja, ko, nb, nl, nn, pl, pl, pl, ru, sk, sr, sv, tr, zh_cn, zh_tw (tutte le lingue supportate nella parte Syntax di speech tagging) |
Classificazione SVM con TFIDF | af, ar, ca, ca, cs, da, de, el, en, es, es, fi, fr, lui, hi, hr, it, it, ja, ko, nb, nl, nl, nn, pl, pl, ro, ru, sk, sr, sv, tr, zh_cn, zh_tw |
Classificazione SVM con USE | ar, de, en, es, fr, it, it, ja, ko, nl, pl, pt, ru, tr, zh_cn, zh_tw |
Classificazione CNN con GloVe | ar, de, en, es, fr, it, ja, ko, nl, pt, zh_cn |
Classificazione BERT Multilingua | af, ar, ca, ca, cs, da, de, el, en, es, es, fi, fr, lui, hi, hr, it, it, ja, ko, nb, nl, nl, nn, pl, pl, ro, ru, sk, sr, sv, tr, zh_cn, zh_tw |
modello Transformer | af, ar, bs, ca, cs, da, de, el, en, es, fi, fr, he, hi, hr, it, ja, ko, nb, n, nn, pl, pt, ro, ru, sk, sr, sv, tr, zh_cn, zh_tw |
Elenchi di parole di arresto | ar, de, en, es, fr, it, ja, ko |
Per un elenco dei codici lingua e delle lingue corrispondenti, vedere Codici lingua.
Salvataggio e caricamento dei modelli personalizzati
Se desideri utilizzare il tuo modello personalizzato in un altro notebook, salvarlo come Asset Asset al tuo progetto. In questo modo è possibile esportare il modello come parte di un export di progetto.
Utilizzare la libreria ibm-watson-studio-lib
per salvare e caricare modelli personalizzati.
Per salvare un modello personalizzato nel notebook come asset di dati da esportare e utilizzare in un altro progetto:
Assicurarsi di avere un token di accesso sulla pagina Controllo accessi sulla scheda Gestisci del tuo progetto. Solo gli admins di progetto possono creare token di accesso. Il token di accesso può avere i permessi di accesso al visualizzatore o editor. Solo gli editor possono iniettare il token in un notebook.
Aggiungere il token del progetto a un notebook cliccando su More> Inserisci token del progetto dalla barra delle azioni del notebook e poi eseguire la cella. Quando si esegue la cella di codice nascosto inserita, viene creato un oggetto
wslib
che è possibile utilizzare per le funzioni nella libreriaibm-waton-studio-lib
. Per i dettagli sulle funzioniibm-watson-studio-lib
disponibili, vedi Utilizzo diibm-watson-studio-lib
per Python.Eseguire il metodo
train()
per creare un dizionario personalizzato, l'espressione regolare o il modello di classificazione e assegnare questo modello personalizzato ad una variabile. Ad esempio:custom_block = CNN.train(train_stream, embedding_model.embedding, verbose=2)
Se si desidera salvare un dizionario personalizzato o un modello di espressione regolare, convertirlo in un blocco RBRGeneric. La conversione di un dizionario personalizzato o di un modello di espressione regolare in un blocco RBRGeneric è utile se si desidera caricare ed eseguire il modello utilizzando l'API di Watson Natural Language Processing per Embed. Fino ad oggi, Watson Natural Language Processing for Embed supporta l'esecuzione dei modelli di dizionari e di espressioni regolari solo come blocchi RBRGeneric. Per convertire un modello in un blocco RBRGeneric, eseguire questi comandi:
# Create the custom regular expression model custom_regex_block = watson_nlp.resources.feature_extractor.RBR.train(module_folder, language='en', regexes=regexes) # Save the model to the local file system custom_regex_model_path = 'some/path' custom_regex_block.save(custom_regex_model_path) # The model was saved in a file "executor.zip" in the provided path, in this case "some/path/executor.zip" model_path = os.path.join(custom_regex_model_path, 'executor.zip') # Re-load the model as a RBRGeneric block custom_block = watson_nlp.blocks.rules.RBRGeneric(watson_nlp.toolkit.rule_utils.RBRExecutor.load(model_path), language='en')
Salvare il modello come asset di dati nel proprio progetto utilizzando
ibm-watson-studio-lib
:wslib.save_data("<model name>", custom_block.as_bytes(), overwrite=True)
Quando si salvano i modelli del trasformatore, è possibile salvare il modello in formato CPU. Se si prevede di utilizzare il modello solo in ambienti CPU, l'utilizzo di questo formato renderà più efficiente l'esecuzione del modello personalizzato. A tale scopo, impostare l'opzione del formato CPU come segue:
wslib.save_data('<model name>', data=custom_model.as_bytes(cpu_format=True), overwrite=True)
Per caricare un modello personalizzato su un notebook importato da un altro progetto:
Assicurarsi di avere un token di accesso sulla pagina Controllo accessi sulla scheda Gestisci del tuo progetto. Solo gli admins di progetto possono creare token di accesso. Il token di accesso può avere i permessi di accesso al visualizzatore o editor. Solo gli editor possono iniettare il token in un notebook.
Aggiungere il token del progetto a un notebook cliccando su More> Inserisci token del progetto dalla barra delle azioni del notebook e poi eseguire la cella. Quando si esegue la cella del codice nascosto inserito, viene creato un oggetto
wslib
che è possibile utilizzare per le funzioni nella libreriaibm-watson-studio-lib
. Per i dettagli sulle funzioniibm-watson-studio-lib
disponibili, vedi Utilizzo diibm-watson-studio-lib
per Python.Caricare il modello utilizzando
ibm-watson-studio-lib
ewatson-nlp
:custom_block = watson_nlp.load(wslib.load_data("<model name>"))
Argomento principale: Watson Natural Language Processing library