0 / 0
Volver a la versión inglesa de la documentación
Crear sus propios modelos
Última actualización: 28 nov 2024
Crear sus propios modelos

Determinados algoritmos en Watson Natural Language Processing se pueden entrenar con sus propios datos, por ejemplo, puede crear modelos personalizados basados en sus propios datos para la extracción de entidades, para clasificar datos, para extraer sentimientos y para extraer sentimientos de destino.

Para crear sus propios modelos, puede utilizar un modelo integrado de IBM Foundation basado en transformadores denominado Slate. El modelo de Slate se ha entrenado en un conjunto de datos muy grande que se ha preprocesado para filtrar el odio, el sesgo y la blasfemia.

Para crear su propia clasificación, modelo de extracción de entidades o modelo de opinión, puede ajustar el modelo de Slate en sus propios datos. Para entrenar el modelo en un tiempo razonable, se recomienda utilizar entornos basados en GPU.

Soporte de idiomas para modelos personalizados

Puede crear modelos personalizados y utilizar los siguientes modelos de clasificación y diccionario entrenados previamente para los idiomas que se muestran.

Idiomas admitidos para diccionarios y modelos de clasificación previamente entrenados
Modelo personalizado Códigos de idioma soportados
Modelos de diccionario af, ar, bs, ca, cs, da, de, el, en, es, fi, fr, he, hi, hr, it, ja, ko, nb, nl, nn, pl, pt, ro, ru, sk, sr, sv, tr, zh_cn, zh_tw (todos los idiomas soportados en el etiquetado de la categoría léxica de la sintaxis)
Expresiones regulares af, ar, bs, ca, cs, da, de, el, en, es, fi, fr, he, hi, hr, it, ja, ko, nb, nl, nn, pl, pt, ro, ru, sk, sr, sv, tr, zh_cn, zh_tw (todos los idiomas soportados en el etiquetado de la categoría léxica de la sintaxis)
Clasificación de SVM con TFIDF af, ar, ca, cs, da, de, el, en, es, fi, fr, he, hi, hr, it, ja, ko, nb, nl, nn, pl, pt, ro, ru, sk, sr, sv, tr, zh_cn, zh_tw
Clasificación de SVM con USE ar, de, en, es, fr, it, ja, ko, nl, pl, pt, ru, tr, zh_cn, zh_tw
Clasificación de CNN con GloVe ar, de, en, es, fr, it, ja, ko, nl, pt, zh_cn
Clasificación multilingüe BERT af, ar, ca, cs, da, de, el, en, es, fi, fr, he, hi, hr, it, ja, ko, nb, nl, nn, pl, pt, ro, ru, sk, sr, sv, tr, zh_cn, zh_tw
modelo de Transformer af, ar, bs, ca, cs, da, de, el, en, es, fi, fr, he, hi, hr, it, ja, ko, nb, nl, nn, pl, pt, ro, ru, sk, sr, sv, tr, zh_cn, zh_tw
Listas de palabras reservadas ar, de, en, es, fr, it, ja, ko

Para obtener una lista de los códigos de idioma y los idiomas correspondientes, consulte Códigos de idioma.

Guardar y cargar modelos personalizados

Si desea utilizar el modelo personalizado en otro cuaderno, guárdelo como un activo de datos en el proyecto. De este modo, puede exportar el modelo como parte de una exportación de proyecto.

Utilice la biblioteca ibm-watson-studio-lib para guardar y cargar modelos personalizados.

Para guardar un modelo personalizado en el cuaderno como un activo de datos para exportar y utilizar en otro proyecto:

  1. Asegúrese de que tiene una señal de acceso en la página Control de acceso de la pestaña Gestionar del proyecto. Solo los administradores del proyecto pueden crear señales de acceso. La señal de acceso puede tener permisos de acceso de visor o de editor. Solo los editores pueden inyectar la señal en un cuaderno.

  2. Añada la señal de proyecto a un cuaderno pulsando Más > Insertar señal de proyecto en la barra de acciones del cuaderno y, a continuación, ejecute la celda. Cuando ejecuta la celda de código oculto insertada, se crea un objeto wslib que puede utilizar para las funciones de la biblioteca ibm-waton-studio-lib . Para obtener detalles sobre las funciones de ibm-watson-studio-lib disponibles, consulte Utilización de ibm-watson-studio-lib para Python.

  3. Ejecute el método train() para crear un diccionario personalizado, una expresión regular o un modelo de clasificación y asigne este modelo personalizado a una variable. Por ejemplo:

    custom_block = CNN.train(train_stream, embedding_model.embedding, verbose=2)
    
  4. Si desea guardar un diccionario personalizado o un modelo de expresión regular, conviértalo en un bloque RBRGeneric. La conversión de un diccionario personalizado o un modelo de expresión regular en un bloque RBRGeneric es útil si desea cargar y ejecutar el modelo utilizando la API para Watson Natural Language Processing for Embed . Hasta la fecha, Watson Natural Language Processing for Embed da soporte a la ejecución de modelos de diccionario y expresión regular sólo como bloques RBRGeneric. Para convertir un modelo en un bloque RBRGeneric, ejecute los mandatos siguientes:

    # 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. Guarde el modelo como un activo de datos en el proyecto utilizando ibm-watson-studio-lib:

    wslib.save_data("<model name>", custom_block.as_bytes(), overwrite=True)
    

    Al guardar modelos de transformador, tiene la opción de guardar el modelo en formato de CPU. Si tiene previsto utilizar el modelo sólo en entornos de CPU, el uso de este formato hará que el modelo personalizado se ejecute de forma más eficiente. Para ello, establezca la opción de formato de CPU como se indica a continuación:

    wslib.save_data('<model name>', data=custom_model.as_bytes(cpu_format=True), overwrite=True)
    

Para cargar un modelo personalizado en un cuaderno que se ha importado de otro proyecto:

  1. Asegúrese de que tiene una señal de acceso en la página Control de acceso de la pestaña Gestionar del proyecto. Solo los administradores del proyecto pueden crear señales de acceso. La señal de acceso puede tener permisos de acceso de visor o de editor. Solo los editores pueden inyectar la señal en un cuaderno.

  2. Añada la señal de proyecto a un cuaderno pulsando Más > Insertar señal de proyecto en la barra de acciones del cuaderno y, a continuación, ejecute la celda. Cuando ejecuta la celda de código oculto insertada, se crea un objeto wslib que puede utilizar para las funciones de la biblioteca ibm-watson-studio-lib . Para obtener detalles sobre las funciones de ibm-watson-studio-lib disponibles, consulte Utilización de ibm-watson-studio-lib para Python.

  3. Cargue el modelo utilizando ibm-watson-studio-lib y watson-nlp:

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

Tema principal: Biblioteca de Watson Natural language Processing

Búsqueda y respuesta de IA generativa
Estas respuestas las genera un modelo de lenguaje grande en watsonx.ai que se basa en el contenido de la documentación del producto. Más información