0 / 0
Torna alla versione inglese della documentazione

Creazione dei propri modelli

Ultimo aggiornamento: 28 nov 2024
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.

Supporto linguistico per i modelli personalizzati

È possibile creare modelli personalizzati e utilizzare i seguenti modelli di dizionario e classificazione preformati per le lingue mostrate.

Lingue supportate per dizionari preaddestrati e modelli di classificazione
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:

  1. 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.

  2. 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 libreria ibm-waton-studio-lib . Per i dettagli sulle funzioni ibm-watson-studio-lib disponibili, vedi Utilizzo di ibm-watson-studio-lib per Python.

  3. 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)
    
  4. 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')
    
  5. 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:

  1. 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.

  2. 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 libreria ibm-watson-studio-lib . Per i dettagli sulle funzioni ibm-watson-studio-lib disponibili, vedi Utilizzo di ibm-watson-studio-lib per Python.

  3. Caricare il modello utilizzando ibm-watson-studio-lib e watson-nlp:

    custom_block = watson_nlp.load(wslib.load_data("<model name>"))
    

Argomento principale: Watson Natural Language Processing library