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.
- Detección de entidades con un diccionario personalizado
- Detección de entidades con expresiones regulares
- Detección de entidades con un modelo de transformador personalizado
- Clasificación de texto con un modelo de clasificación personalizado
- Extracción de opiniones con un modelo de transformador personalizado
- Extracción de opiniones de destinos con un modelo de transformador personalizado
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.
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:
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.
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 bibliotecaibm-waton-studio-lib
. Para obtener detalles sobre las funciones deibm-watson-studio-lib
disponibles, consulte Utilización deibm-watson-studio-lib
para Python.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)
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')
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:
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.
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 bibliotecaibm-watson-studio-lib
. Para obtener detalles sobre las funciones deibm-watson-studio-lib
disponibles, consulte Utilización deibm-watson-studio-lib
para Python.Cargue el modelo utilizando
ibm-watson-studio-lib
ywatson-nlp
:custom_block = watson_nlp.load(wslib.load_data("<model name>"))
Tema principal: Biblioteca de Watson Natural language Processing