[MUSIC] Continuando con las prácticas, veremos ahora Word2Vec pero desde el punto de vista desde una red neuronal. Pues es eso, el Word2Vec es una red neuronal de dos capas. No es una red neuronal de aprendizaje profundo, pero convierte el texto de una forma que las redes neuronales de aprendizaje profundo pueden entender. El Word2Vec genera vectores con el contexto de la palabra. Y esto es muy similar a los autoencoder. Por otra parte, toma la entrada de un gran corpus y genera un espacio vectorial. También lo que tenemos que entender es que trabaja con el concepto de bolsa continua de palabras. El único punto que es necesario saber cuando trabajamos con Word2Vec para que funcione realmente bien es que necesitamos tener una considerable cantidad de texto. Pero debemos entender que Word2Vec es una red neuronal de dos capas. Y vamos a ver ejemplos más en detalle y más en profundidad de cómo trabaja Word2Vec. Bien, acá tenemos los include, como habitualmente hacemos. Y acá lo que vamos a generar es el otro concepto, en este caso es la carga de un modelo preentrenado en español. Nosotros lo que podemos hacer, como habíamos dicho en videos anteriores, es hacer el entrenamiento desde cero o bajar un entrenamiento nosotros. Utilizarlo así o hacer un file tuning. En este caso, vamos a bajar un entrenamiento que ha hecho otra persona, otra empresa. Y que ha dejado a disposición de la comunidad, el cual podemos trabajar. Y a partir de ahí, generar nuestros vectores en español. Y empezar a hacerle preguntas a ese cuerpo de documentos que you tenemos a nuestra disposición. Bueno, para eso estamos viendo de dónde hemos bajado el archivo, que son archivos considerables, aproximadamente 1 giga y medio. Y lo cargamos y directamente trabajamos con la librería Word2Vec. Y you lo tenemos a nuestra disposición. Y a partir de ahí, podemos empezar a trabajar y hacerles preguntas. Porque lo que tenemos es un conjunto de formas de consultar a Word2Vec. Es un estándar el most similar, el menos similar, los que son diferentes, es todo un lenguaje que está hecho para este modelo. En este caso, lo que estamos preguntando, por ejemplo, es qué es el concepto de rey, pero que es mujer y que no es hombre. Fíjense que el resultado que vamos a obtener es reina con un 0.93 %. Y despúes vamos a ver princesa, emperatriz, reina, infanta, consorte, monarca, hija, princesa de vuelta y reyes. Fíjense que, como está hecho en mínuscula y en mayúscula, no fue considerado, tenemos la mayor dimensionalidad. Pero fíjense lo que hace el Word2Vec. Nosotros tenemos un conjunto de documentos entrenado. Ese conjunto de documentos que hemos entrenado, podemos empezar hacer preguntas a ese documento y que nos vaya dando respuestas sobre ese conjunto de documentos. Bien, continuando con esto, podemos hacer cuán similares son con la que más se parece, y en este caso es reina con el 0.93. Fíjense cómo hacemos la consulta para saber que la palabra más similar es reina y cuál es el porcentaje que tiene asignado eso. Después, con rey también podemos obtener cuáles son las pabras más similares en los contextos. Cuando decimos similares, no es la palabra en sí. Lo que debemos entender, que es fundamental y que es lo que nos hace el Word2Vec, es el contexto. Entonces, fíjense que aparece monarca, rey, príncipe, reyes, emperadores, reino, soberano, reina, súbdito y reina. Fíjense que tiene el contexto mucho que ver con los que nos dice de rey. También podemos ver cuando nosotros ponemos el más similar de la palabra rey. Y el más similar a través del vector generado como resultado de la palabra rey. En este caso, nos da lo mismo pero en algunas situaciones puede haber un pequeño cambio. Pero uno puede consultar tanto sea por palabras o por vector generado. Ahí tenemos otro ejemplo. Después podemos preguntarle cuán similares son las palabras reina y princesa. Para este conjunto de documentos entrenados, la similaridad que encontró el modelo es de un 0.69. ¿Cuáles son las palabras que más cerca se encuentran con rey y reina? Y acá tenemos rey, reino, emperador, princesa, reyes, monarca, soberano. Está bien, cuando lo vemos, vemos que podemos hacer un conjunto de consultas si vemos que está funcionando. Pero podemos hacer algunas cosas más interesantes, ¿no? Por ejemplo, pasarle una lista y preguntarle, de toda esa lista, ¿cuál es la palabra que está fuera de esta lista que no coincidiría? Ven, acá tenemos rey, reina, emperador y estudiante. Y el resultado de la que no matchea o la que no coincide, es estudiante. Lo resolvió bien para este cuerpo abajo. Siempre deben tener en cuenta, que es para este conjunto de documentos con el cual se ha entrenado el modelo. Y para ir finalizando, hay que entender el concepto de distancia entre documentos. La distancia entre documentos es cuál es la distancia que existe entre el documento A y el documento B. Que esto sale, que es una extensión de algo que se utiliza para las distancias entre dos puntos. Bueno, ahí tenemos la referencia donde podemos obtener mayor cantidad de detalles sobre este modelo Word Mover's Distance. Y lo que tenemos es cuando le pasamos dos documentos, o dos oraciones, o dos frases, le podemos decir que calcule la distancia y cuál es el valor que nos da de distancia. Cuanto mayor es el valor, más grande es la diferencia entre documentos. Con lo cual acá tenemos si tuviéramos tres documentos, podríamos calcular la distancia entre los tres y ver cuál es el que más lejos está del otro. Cuál es el que menos se parece a otros dos documentos dados. Con esto, vimos la primera parte de lo que son las redes neuronales simples, representadas a través del Word2Vec. Y el potencial tienen para poner el contexto de las palabras y poder hacer consultas mucho más sofisticadas de los textos a evaluar. [MUSIC]