Tutorial de Cohere: incrustación de texto con Cohere

El incrustador de texto es una tarea de aprendizaje automático que se utiliza para crear una representación vectorial de un fragmento de texto. Este vector se puede usar como entrada para un algoritmo de aprendizaje automático. El objetivo de la incrustación de texto es capturar el significado del texto de una manera adecuada para el aprendizaje automático.

Hay muchas formas diferentes de crear incrustaciones de texto, pero la más común es usar una red neuronal. Una red neuronal es un algoritmo de aprendizaje automático que es muy bueno para aprender relaciones complejas. La entrada a una red neuronal es un vector y la salida es un vector del mismo tamaño. La red neuronal aprende a mapear los vectores de entrada a los vectores de salida de una manera que captura las relaciones entre las entradas y salidas.

Para crear incrustaciones de texto, la red neuronal primero se entrena en un gran corpus de texto. Los datos de entrenamiento son un conjunto de oraciones, y cada oración se representa como un vector. Los vectores se crean tomando los vectores de palabras de las palabras en la oración y sumándolos. Luego, la red neuronal se entrena para mapear los vectores de oración a un tamaño de vector fijo.

Una vez que se ha entrenado la red neuronal, se puede usar para crear incrustaciones de texto para nuevos fragmentos de texto. El nuevo texto se representa primero como un vector y luego se usa la red neuronal para asignar el vector al tamaño de vector fijo. El resultado es una incrustación de texto que captura el significado del texto.

También te puede interesarTutorial gratuito de AI art Generator: Craiyon – Genere imágenes desde cualquier mensaje de texto

Las incrustaciones de texto se pueden usar para una variedad de tareas de aprendizaje automático. Por ejemplo, se pueden usar para mejorar el rendimiento de un algoritmo de aprendizaje automático que se usa para clasificar textos. Las incrustaciones de texto también se pueden usar para buscar fragmentos de texto similares o para agrupar textos.

Hay muchas formas diferentes de crear incrustaciones de texto y la elección del método dependerá de la aplicación. Sin embargo, las redes neuronales son un método poderoso y ampliamente utilizado para crear incrustaciones de texto.

Co:here es una poderosa red neuronal que puede generar, incrustar y clasificar texto. En este tutorial, usaremos Co:here para incrustar descripciones. Para usar Co:here, debe crear una cuenta en Co:here y obtener la clave API.

Estaremos programando en Python, por lo que necesitamos instalar cohere biblioteca por pip

También te puede interesarTutorial de arte de IA de Midjourney: Midjourney, un bot interactivo para generar imágenes a partir de texto.

En primer lugar, tenemos que implementar cohere.Client. En los argumentos de Cliente debe ser la clave API, que ha generado antes, y la versión 2021-11-08. voy a crear la clase CoHereserá útil en los próximos pasos.

💾 Conjunto de datos

La parte principal de cada red neuronal es un conjunto de datos. En este tutorial, usaré un conjunto de datos que incluye 1000 descripciones de 10 clases. Si desea utilizar el mismo, puede descargarlo aquí.

El conjunto de datos descargado tiene 10 carpetas en cada carpeta es 100 files.txt con descripciones. El nombre de los archivos es una etiqueta de descripción, por ejemplosport_3.txt.

vamos a comparar Random Forest con Co:here Classifier, por lo que tenemos que preparar los datos de dos maneras. Para Random Forest usaremos Co:here Embedder, nos centraremos en esto en este tutorial. El clasificador Cohere requiere muestras, en las que cada muestra debe diseñarse como una lista [description, label] y lo hice en mi tutorial anterior (aquí)

También te puede interesarTutorial de guía de solicitud de arte de Google Colab AI: cómo crear un generador de imágenes en unos pocos pasos

Cargando rutas de ejemplos

Al principio, necesitamos cargar todos los datos, para hacer eso. Creamos la función load_examples. En esta función usaremos tres bibliotecas externas:

os.path para ir a la carpeta con datos. El código se ejecuta en una ruta donde se encuentra un python file.py. Esta es una biblioteca interna, por lo que no necesitamos instalarla.

numpy esta biblioteca es útil para trabajar con arreglos. En este tutorial, lo usaremos para generar números aleatorios. Tienes que instalar esta biblioteca por pip pip install numpy.

glob nos ayuda a leer todos los archivos y nombres de carpetas. Esta es una biblioteca externa, por lo que se necesita la instalación: pip install glob.

También te puede interesarTutorial de Cohere: clasificador de texto con Cohere

El conjunto de datos descargado debe extraerse en la carpeta data. Por os.path.join podemos obtener rutas universales de carpetas.

En Windows, un retorno es igual a data*.

Entonces podemos usar glob método para obtener todos los nombres de las carpetas.

folders_name es una lista que contiene rutas de ventana de carpetas. En este tutorial, estos son los nombres de las etiquetas.

Tamaño de Co:here El conjunto de datos de entrenamiento no puede tener más de 50 ejemplos y cada clase debe tener al menos 5 ejemplos, pero para Random Forest podemos usar 1000 ejemplos. con lazo for podemos obtener los nombres de cada archivo. Toda la función se ve así:

El último bucle toma aleatoriamente N rutas de cada etiqueta y las agrega a una nueva lista examples_path.

Cargar descripciones

Ahora, tenemos que crear un conjunto de entrenamiento. Para hacerlo cargaremos ejemplos con load_examples(). En cada ruta está el nombre de una clase, lo usaremos para crear muestras. Las descripciones deben leerse de los archivos, una longitud no puede ser larga, por lo que en este tutorial, la longitud será igual a 100. Para enumerar texts se adjunta lista de [descroption, class_name]. Así, un retorno es esa lista.

🔥 Clasificador Co:here

volvemos a CoHere clase. Tenemos que agregar un método: incrustar ejemplos.

El segundo cohere El método es incrustar texto. El método tiene argumentos serval, tales como:

model tamaño de un modelo.

texts lista de textos para incrustar.

truncate si el texto es más largo que el token disponible, qué parte del texto debe tomarse LEFT, RIGHT o NONE.

Todos ellos los puedes encontrar aquí.

En este tutorial, el cohere se implementará como un método de nuestro CoHere clase.

X_train_embeded será una matriz de números, que se ve así:

📈 Aplicación web – Streamlit

Para crear una aplicación, que será la comparación de dos pantallas de probabilidad, usaremos Stramlit. Esta es una biblioteca fácil y muy útil.

Instalación

Necesitaremos entradas de texto para co:here Clave API.

En documentos de streamlit podemos encontrar métodos:

st.header() para hacer un encabezado en nuestra aplicación

st.test_input() para enviar una solicitud de texto

st.button() botón para crear

st.write() para mostrar los resultados del modelo coherente.

st.progress() para mostrar una barra de progreso

st.column() para dividir una aplicación

Para ejecutar el comando de uso de la aplicación streamlit

La aplicación creada se ve así

💡 Conclusión

La incrustación de texto es una herramienta poderosa que se puede utilizar para mejorar el rendimiento de los algoritmos de aprendizaje automático. Las redes neuronales son un método ampliamente utilizado y efectivo para crear incrustaciones de texto. Las incrustaciones de texto se pueden usar para tareas como clasificación de texto, similitud de texto y agrupación de texto.

En este tutorial, comparamos el Random Forest con Co:here Classifierpero las posibilidades de Co:here Embedder son enormes. Puedes construir muchas cosas con él.

¡Estén atentos para futuros tutoriales! El repositorio de este código se puede consultar aquí.

¡Gracias! – Adrian Banachowicz, pasante de ciencia de datos en New Native

Scroll al inicio