Tabla de contenidos

Introducci贸n

Si eres nuevo en el procesamiento del lenguaje natural (NLP), una introducci贸n f谩cil a la funcionalidad b谩sica es AutoNLP de 馃 HuggingFace. Es una manera f谩cil de entrenar, evaluar e implementar modelos de NLP de 煤ltima generaci贸n para diversas aplicaciones.
AutoNLP se encarga de seleccionar el mejor modelo, el ajuste y la implementaci贸n.


Si una empresa puede reducir la barrera de entrada para la IA en general, y la IA conversacional en espec铆fico, seguramente habr谩 inter茅s. La facilidad de acceso inicial debe ser doble;

  • T茅cnico
  • Costo

Obviamente, tambi茅n presenta una propuesta de valor convincente.
Poder acceder y experimentar con software a trav茅s de Jupyter Notebooks sin costo, sin demasiados requisitos de conocimiento t茅cnico, es importante para crear una masa cr铆tica en la adopci贸n.

Es por eso que 馃 HuggingFace est谩 prosperando con su biblioteca de c贸digo abierto y de f谩cil acceso para una serie de tareas de procesamiento del lenguaje natural.
Hay similitudes sorprendentes en la funcionalidad NLP de GPT-3 y 馃 HuggingFace, siendo este 煤ltimo obviamente l铆der en las 谩reas de funcionalidad, flexibilidad y ajuste fino.

Los modelos previamente entrenados para tareas de comprensi贸n del lenguaje natural (NLU) permiten la creaci贸n r谩pida de prototipos y la funcionalidad instant谩nea. El aprendizaje por transferencia es una t茅cnica para entrenar un modelo de aprendizaje autom谩tico para una tarea mediante el uso de conocimientos de otra tarea.
馃 HuggingFace est谩 democratizando la NLP, esto se est谩 logrando actuando como catalizador y haciendo que el trabajo a nivel de investigaci贸n en NLP sea accesible para simples mortales.

Reconocimiento de entidad con nombre mediante la canalizaci贸n NER.
Reconocimiento de entidad con nombre mediante la canalizaci贸n NER.

Es importante entender que 馃 HuggingFace es una empresa de resoluci贸n de problemas de procesamiento de lenguaje natural, y no una empresa de marco de desarrollo de chatbot por decir.
Sus canales y modelos se pueden usar para aumentar un marco de chatbot para realizar varias tareas, como ver谩 m谩s adelante en este art铆culo. Pero elementos como la implementaci贸n operativa y la gesti贸n de intenciones y entidades no forman parte de su 谩mbito. Junto con el desarrollo y la gesti贸n del di谩logo.


Consideraciones para la IA conversacional

Hay algunas consideraciones generales en lo que respecta a las opciones de tecnolog铆a de IA conversacional para cualquier empresa.

Costos, hosting y barreras t茅cnicas

El primer nivel incluye barreras t茅cnicas, de hospedaje y de costos. Con 馃 HuggingFace no hay impedimento de costo inicial, la creaci贸n de prototipos se puede realizar dentro de Jupyter Notebooks.

Y los entornos de producci贸n pueden alojarse en la nube o instalarse localmente. Las barreras t茅cnicas de entrada en t茅rminos de habilidades son relativamente bajas; 馃 HuggingFace logr贸 democratizar la NLP para las masas.

Soluci贸n completa, servicios NLU / P y ajuste fino

En cuanto al segundo nivel, es importante comprender cu谩les son los requisitos. Para un chatbot, 馃 HuggingFace no es una soluci贸n completa; que carece en las 谩reas de:

  • Gesti贸n y desarrollo del estado de di谩logo
  • Intenci贸n operativa y creaci贸n y gesti贸n de entidades.

La comprensi贸n y el procesamiento del lenguaje natural son los pilares de 馃 HuggingFace. Con amplias avenidas de Fine Tuning. Debe tenerse en cuenta que el ajuste fino de 馃 HuggingFace es un gran paso adelante desde la fase inicial de creaci贸n de prototipos y puede volverse t茅cnico.

馃 HuggingFace es una herramienta de NLP, y aunque la funcionalidad est谩 disponible como la generaci贸n de lenguaje natural y la extracci贸n de entidades, para la operaci贸n diaria del chatbot y el escalado no es una opci贸n perfecta, como se mencion贸 anteriormente. Se requiere una soluci贸n integral para la administraci贸n del estado del di谩logo y la implementaci贸n y administraci贸n de la entidad y la intenci贸n granular.

Escalado, lenguajes espec铆ficos y aprendizaje autom谩tico

El tercer nivel de consideraciones son el escalado, los lenguajes espec铆ficos y el aprendizaje autom谩tico. Scaling abord贸 el proceso de agregar aspectos conversacionales como desambiguaci贸n, digresi贸n, limitar la proliferaci贸n de reserva, formularios y relleno de espacios, etc. Una vez m谩s, este no es el fuerte de 馃 HuggingFace.

馃 HuggingFace puede ayudar a entrenar a un modelo para un nuevo idioma. El aprendizaje autom谩tico se incorporar谩 y ayudar谩 en el desarrollo del chatbot. 馃 HuggingFace es ideal para una primera pasada de NLP de orden superior en la entrada del usuario.


Chatbots

Existe una gran diferencia entre las herramientas de procesamiento del lenguaje natural (NLP) y un marco de desarrollo de chatbot. Las herramientas comunes de NLP incluyen preguntas y respuestas, clasificaci贸n, resumen, extracci贸n de palabras clave, extracci贸n de entidades nombradas, etc.

Estas herramientas se pueden implementar como un nivel superior en una pila de tecnolog铆a de chatbot de un chatbot. Actuando como una capa de preprocesamiento para la entrada del usuario. Este procesamiento puede incluir detecci贸n de l铆mites de oraci贸n, identificaci贸n de idioma, etc.

La siguiente capa es Comprensi贸n del lenguaje natural (NLU). Un requisito clave aqu铆 es, en un nivel muy granular, definir intenciones (verbos) y entidades (sustantivos) que deben detectarse.

脕reas en el marco de desarrollo de chatbot donde 馃 HuggingFace puede hacer una contribuci贸n.

Puedes leer m谩s sobre 馃 Extracci贸n de entidades HuggingFace. Como se mencion贸 anteriormente, se requiere una intenci贸n granular y extracci贸n de entidades, que un equipo debe mantener diariamente con una sobrecarga limitada.

Podr铆a ser posible a trav茅s de 馃 HuggingFace, pero para un entorno operativo, la tarea de administrar intenciones y entidades es un proceso continuo y requiere una interfaz que permita una f谩cil administraci贸n.

Si bien la mayor铆a de los entornos de chatbot convergen en la parte de NLU, existe una divergencia considerable sobre c贸mo se encuentra la gesti贸n y el desarrollo del di谩logo. Independientemente del enfoque, esta es una parte vital del funcionamiento del chatbot, pero tambi茅n de la administraci贸n. Un 谩rea en la que play HuggingFace no juega.
Las respuestas de di谩logo se pueden aumentar con Natural Language Generation (NLG). Aunque esto todav铆a es experimental y no es una corriente principal en los sistemas de producci贸n, es un 谩rea en la que 馃 HuggingFace sobresale.


Procesamiento natural del lenguaje

Aqu铆 hay algunos ejemplos pr谩cticos de c贸mo 馃 HuggingFace se puede implementar dentro de un marco de desarrollo de chatbot existente.

An谩lisis de los sentimientos

Clasificar secuencias seg煤n sentimientos positivos o negativos.

Input:

classifier = pipeline("sentiment-analysis")
classifier("I am not impressed with their slow and unfriendly service.")

Output:

[{'label': 'NEGATIVE', 'score': 0.9987296462059021}]

Pregunta y respuesta

Input:

q_a = pipeline("question-answering")context = "Mars is the fourth planet from the Sun and the second-smallest planet in the Solar System, being larger than only Mercury. In English, Mars carries the name of the Roman god of war and is often referred to as the Red Planet. The latter refers to the effect of the iron oxide prevalent on Mars's surface, which gives it a reddish appearance distinctive among the astronomical bodies visible to the naked eye.[18] Mars is a terrestrial planet with a thin atmosphere, with surface features reminiscent of the impact craters of the Moon and the valleys, deserts and polar ice caps of Earth."question = "Who is the Roman God of war?"q_a({"question": question, "context": context})

Output:

{'answer': 'Mars', 'end': 4, 'score': 0.4511910080909729, 'start': 0}

Generaci贸n de texto

Input:

text = "Mars is the fourth planet from the Sun and the second-smallest planet in the Solar System."text_generator = pipeline("text-generation")text_generator(text)

Output:

Setting `pad_token_id` to `eos_token_id`:50256 for open-end generation.[{'generated_text': 'Mars is the fourth planet from the Sun and the second-smallest planet in the Solar System.\n\nThe Sun takes about 70 percent of the solar wind energy that travels to the Sun and about 100 percent is stored in the Sun.\n\n'}]

Reconocimiento de entidad nombrada

Input:

ner = pipeline("ner")text = "Johannesburg is located in South Africa in the contimnet of Africa"ner(text)

Output:

[{'end': 12, 'entity': 'I-LOC', 'index': 1, 'score': 0.9987455, 'start': 0, 'word': 'Johannesburg'}, {'end': 32, 'entity': 'I-LOC', 'index': 5, 'score': 0.99958795, 'start': 27, 'word': 'South'}, {'end': 39, 'entity': 'I-LOC', 'index': 6, 'score': 0.9996102, 'start': 33, 'word': 'Africa'}, {'end': 66, 'entity': 'I-LOC', 'index': 14, 'score': 0.6802336, 'start': 60, 'word': 'Africa'}]

Traducci贸n

Ingl茅s a alem谩n:

translator = pipeline("translation_en_to_de")text = "Mars is the fourth planet from the Sun and the second-smallest planet in the Solar System."translator(text)[{'translation_text': 'Mars ist der vierte Planet der Sonne und der zweitkleinste Planet im Sonnensystem.'}]

Ingl茅s a franc茅s:

translator = pipeline("translation_en_to_fr")
text = "Mars is the fourth planet from the Sun and the second-smallest planet in the Solar System."translator(text)[{'translation_text': 'Mars est la quatri猫me plan猫te du Soleil et la deuxi猫me plus petite plan猫te du Syst猫me solaire.'}]


Conclusi贸n

馃 HuggingFace se autodenomina la comunidad de IA que construye el futuro.
Y su veh铆culo es construir, entrenar e implementar modelos de vanguardia basados 鈥嬧媏n referencias de c贸digo abierto en el procesamiento del lenguaje natural.
El desaf铆o es saber qu茅 tecnolog铆a usar para qu茅 tarea. Y combinando tecnolog铆as de tal manera, que el escalado no se vea impedido. Todo el tiempo agregando nuevas funcionalidades.
馃 HuggingFace puede ayudar a mejorar cualquier chatbot con procesos de soporte, pero debe implementarse de acuerdo con su prop贸sito previsto.

Por Cobus Greyling

Rasa Hero. NLP / NLU, Chatbots, Voz, UI / UX conversacional, Dise帽ador CX, Desarrollador, Interfaces de usuario ubicuas.

Deja una respuesta

Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *