Procesamiento del lenguaje natural: modelado de temas
El método de bolsa de palabras intenta utilizar directamente las palabras que aparecen en el conjunto de datos para representar los documentos del conjunto de datos, pero normalmente estas palabras se basan en algunos parámetros subyacentes que difieren entre diferentes documentos. , como el tema de discusión. En esta sección, discutiremos estas variables ocultas o latentes, luego usaremos las habilidades específicas aprendidas para estimar su distribución potencial de Dirichlet y, finalmente, usaremos LDA para modelar el problema.
Si consideramos gráficamente el modelo de bolsa de palabras, podemos encontrar que representa la relación entre un conjunto de objetos de documento y un conjunto de objetos de palabra.
Supongamos que hay un artículo como este y necesitas leer el texto del artículo. Supongamos que realizamos correctamente las operaciones de derivación y procesamiento de texto y solo miramos las palabras importantes. Este artículo tiene tres palabras, espacio, votación y exploración, que aparecen dos, una y tres veces respectivamente. Para calcular la probabilidad de que cada palabra aparezca en el artículo, la dividimos por el número total de palabras para obtener la probabilidad, lo que nos da tres parámetros.
Para cualquier documento y elemento observado, ¿cuál es la probabilidad de que el documento genere una palabra?
Dados algunos documentos y algunas palabras de la siguiente manera, marque estas probabilidades. Suponga que hay 500 documentos y 1000 palabras únicas.
Basado en el documento único anterior que contiene tres palabras para generar tres parámetros, luego 1000 palabras únicas generan 1000 parámetros para cada documento, que son 500 × 1000 parámetros para 500 documentos.
En resumen,
Pero para nuestro ejemplo, hay demasiados parámetros para calcular, por lo que debemos reducir este número y conservar la mayor parte de la información. Para ello agregaremos al modelo un pequeño conjunto de temas o variables latentes que realmente contribuyen a la generación de palabras en cada documento, es decir, las palabras obtenidas en cada documento deben estar relacionadas con las variables latentes. En este modelo, se considera que cualquier documento tiene un conjunto de temas potencialmente relacionados. Del mismo modo, se considera que los temas están compuestos por posibles palabras generadas. Por ejemplo, en el siguiente ejemplo, hemos mencionado tres temas, Ciencia y Política y Deportes. Ahora necesitamos calcular dos conjuntos de distribuciones de parámetros de probabilidad.
La primera es la probabilidad del tema debajo del documento, es decir,
La segunda es la probabilidad de la palabra debajo del tema, es decir,
la probabilidad del elemento de palabra en el documento Se puede expresar como la suma de las dos primeras probabilidades, que es la siguiente
Pensando: si hay 500 documentos, 10 temas y 1000 palabras, ¿cómo ¿Cuántos parámetros tiene el nuevo modelo?
Al introducir variables latentes, descubrimos que los parámetros se redujeron de los 50 W anteriores a 1,5 W, lo que se denomina distribución latente de Dirichlet y LDA se denomina descomposición matricial. Sólo sabemos cómo olvidarlo.
Principio: desde el modelo de bolsa de palabras de la izquierda hasta el modelo LDA de la derecha, el modelo de bolsa de palabras de la izquierda indica que la probabilidad de generar el impuesto de palabras a partir del segundo El documento es la etiqueta de flecha blanca en la siguiente figura.
En el modelo LDA de la derecha, esta probabilidad se puede calcular mediante estas flechas blancas, multiplicarlas por la correspondiente en la parte superior y luego sumarlas. Esta fórmula funciona con la multiplicación de matrices.
Podemos escribir las probabilidades en el modelo de la izquierda como una matriz grande, y luego escribir esta gran matriz de palabras como esta matriz alta y delgada indexada por documentos y temas y esta indexada por temas y términos. Producto de modelos anchos y planos.
En este ejemplo, el segundo documento y la palabra "impuesto" en la matriz de la bolsa de palabras corresponden a una entrada igual al producto interno de las filas y columnas correspondientes de la matriz de la derecha.
Como antes, si estas matrices son grandes, digamos 500 documentos, 10 temas, 1.000 palabras, entonces la matriz de bolsa de palabras tiene 500.000 entradas y las dos matrices en el modelo de temas combinadas tienen 15.000 entradas. .
Además de la simplificación, LDA tiene una mayor ventaja. Tiene una gran cantidad de temas que nos permiten dividir documentos en función de estos temas. Aquí llamamos a estos temas ciencia, política y deportes. En la vida real, el algoritmo tomará directamente algunos temas, miraremos palabras relacionadas y decidiremos cuál es el mismo tema para todas estas palabras.
El principio de construcción de este modelo LDA es descomponer la matriz de bolsa de palabras de la izquierda en dos matrices. Los índices de las dos matrices son documento y tema, tema y palabra.
El significado de estas matrices se presentará en detalle a continuación.
El método de cálculo de la matriz de bolsa de palabras es el siguiente. Supongamos que para el Documento 2 (Doc 2) que contiene la palabra espacio tres veces, clima y regla se dan una vez, y otras palabras se han eliminado como palabras vacías. Al escribir estos números en las filas correspondientes,
la probabilidad a calcular se divide directamente entre la suma de los términos de esa fila. Para Doc 2, la suma de los elementos es 5, que es la matriz de la bolsa.
Ahora calcule la matriz temática del documento, suponiendo que para el Doc 3, podemos juzgar que se trata principalmente de ciencia, involucrando algunos deportes y política, suponiendo que el 70% es sobre ciencia, el 10% es sobre política, 20 El % es para deportes, registre estos números en las filas correspondientes.
La matriz de palabras del asunto es similar. Un tema aquí es la política. Supongamos que podemos obtener la probabilidad de que esta pregunta genere algunas palabras. La suma de estas probabilidades debe ser 1 y colocarlas en las filas correspondientes.
Se puede observar que el producto de estas dos matrices es una matriz de paquetes, no exactamente igual, pero sí muy cercana. Si podemos encontrar el producto de dos matrices que esté muy cerca de la matriz de la bolsa, crearemos un modelo temático.
Métodos para encontrar esta matriz
Uno es el algoritmo tradicional de descomposición matricial.
Nota: La suma de las filas de la matriz es 1.
En un conjunto de documentos, hay muchos temas y estructuras de palabras. Utilizamos un enfoque más complejo que la multiplicación de matrices. El principio básico es que los términos de las dos matrices de modelado temático provienen de mapas de distribución especiales. Con base en este hecho, usaremos estas distribuciones para obtener estas dos matrices.
Supongamos que hay una fiesta y el lugar es una sala triangular. Estos puntos negros representan a los miembros del grupo caminando por la escena. Supongamos que hay algo de comida en un rincón, algunos dulces en otro y música en otro.
La gente se siente atraída por estos rincones y empieza a caminar hacia ellos. A algunas personas les gusta la música y a otras no. Los puntos blancos de la izquierda representan personas que no saben si elegir comida o postre, por lo que se quedan en el medio, pero generalmente suelen ir a la zona roja y salir de la zona azul.
Supongamos que creamos lo contrario, y ponemos un león en una esquina, protección contra incendios en otra esquina y desechos radiactivos en otra esquina. Ahora la gente hará lo contrario, se alejarán de las esquinas, se sentirán atraídos por la zona central, lejos de la zona azul, entonces tenemos tres situaciones, poner cosas atractivas en las esquinas, poner nada y poner cosas peligrosas. . Estos ejemplos se denominan distribuciones de Dirichlet.
En estos triángulos, la probabilidad de puntos en la zona roja es mayor que en la zona azul.
La distribución de Dirichlet tiene parámetros en las esquinas. Si los parámetros son pequeños, como 0,7, 0,7, 0,7, significa el caso izquierdo; si son todos 1, significa el caso medio, si son números muy grandes, como 5, significa el caso correcto;
Podemos pensar en estos parámetros como factores de repulsión. Si son grandes, separan las puntas; si son pequeñas, las acercan.
Por ejemplo, nuestro modelo temático tiene tres temas: deportes, ciencia y política.
Entonces es obvio que el lado izquierdo de los tres modelos anteriores es más adecuado para generar nuestro modelo de tema. En la distribución de la izquierda, es probable que elijamos un punto cerca de una esquina o borde, como política, lo que indica que el 80% del artículo trata sobre política, el 65,438+00% trata sobre deportes y el 65,438+00% trata sobre ciencia de.
En la distribución intermedia podemos elegir cualquier punto con la misma probabilidad. Por ejemplo, este documento trata en un 40% de ciencia, un 40% de política y un 20% de deportes.
En la distribución de la derecha es probable que elijamos el punto medio, como este documento. Las probabilidades de la ciencia, los deportes y la política son casi iguales.
Todos los documentos que seleccionemos serán así, serán puntos en estas distribuciones de probabilidad. Pensemos en ello. Si hay una gran cantidad de artículos, ¿es más probable que se centre en un tema o en tres temas al mismo tiempo? La mayoría de los artículos se centran en una cosa, ya sea ciencia, deportes o política. Pocos artículos se centran en dos temas y casi ninguno se centra en tres temas simultáneamente. Entonces, la distribución de temas más probable es la distribución por la izquierda.
Lo que normalmente hacemos es, para el modelo LDA, elegiremos una distribución de Dirichlet con parámetros pequeños, como 0,7, 0,7, 0,7, y luego seleccionaremos algunos puntos como documentos, y cada punto se proporcione un vector de probabilidad de mezcla, este vector describe la distribución temática del documento.
El siguiente es un diagrama tridimensional de la distribución de Dirichlet. La probabilidad de elegir un punto de un triángulo depende de la altura de la distribución de probabilidad de ese punto.
Analicemos las distribuciones de probabilidad.
Supongamos que hay una moneda y se lanza dos veces en ambos lados ¿Cuál es la probabilidad de que salga cara y cruz? Puede que sea más justo o esté ligeramente sesgado hacia el frente o hacia atrás, pero no hay datos suficientes para juzgar.
Supongamos que pensamos que esto es justo, pero no estamos seguros de que la probabilidad p de que esta moneda salga cara mantenga un cierto nivel de confianza. P es 1/2, pero podrían ser otros valores, por lo que la distribución de probabilidad de P es mayor en 1/2, pero más uniforme en todo el intervalo, y muy baja en los ángulos 0 y 1.
Supongamos que lanzas una moneda 20 veces y 10 veces sale cara. Ahora tiene más confianza en que la moneda es justa. La distribución de los nuevos valores P se parece más a este gráfico, con un pico más alto en 0,5.
Supongamos que la distribución de probabilidad de lanzar una moneda cuatro veces, tres veces, cara y 1 vez, P ahora está centrada en 0,75, porque después de cuatro intentos, tres veces sale cara pero el nivel de confianza no es alto, Entonces es como esta imagen.
Pero si lo lanzamos 400 veces y lo boca arriba 300 veces, estamos muy seguros de que el valor de P es muy cercano a 0,5, entonces la distribución de probabilidad de P es así. Hay un pico muy alto en 0,75 y todo lo demás es casi plano, esto se llama distribución beta.
Adecuado para cualquier valor de a y b. Si el frente sube a veces y el reverso sube b veces, el gráfico se ve así.
La fórmula del pico es la siguiente: dividir por X multiplicado por la potencia de a-1, y luego multiplicar por Y multiplicado por la potencia de b-1.
Si no has visto la función gamma, puedes considerarla como la versión continua de la función factorial.
En este ejemplo, si A es un número entero, es el factorial de a-1. Por ejemplo, el factorial de 4 es 24 y el factorial de 5 es 120. Lo interesante de la función gamma es que también se puede calcular utilizando un punto decimal. Por ejemplo, se puede calcular que el resultado estará entre 24 y 120.
¿Qué pasa si el valor no es un número entero? Por ejemplo, el frente es 0.1 y el reverso es 0.4. Esto no es razonable porque es imposible tener un frente 0.1 y un reverso 0.4, pero es posible para la distribución beta.
Solo necesitamos usar la función gamma para trazar la fórmula correcta. Para valores inferiores a 1, como 0,1 y 0,4, este gráfico muestra que es más probable que P esté más cerca de 0 o 1 que para valores intermedios.
La distribución polinomial es la generalización de la distribución binomial a múltiples valores.
Por ejemplo, supongamos que hay un reportaje de noticias y los tres temas son ciencia, política y deportes. Supongamos que cada tema se asigna aleatoriamente a estos artículos, con tres artículos científicos, seis artículos políticos y dos artículos deportivos. ¿Cuál es la probabilidad de que un artículo nuevo sea sobre ciencia, política o deportes?
Como puedes imaginar, es más probable que sea un artículo de ciencia política, y es más probable que sea un artículo de ciencia y deportes. Es incierto pero muy probable que suceda.
Estas probabilidades se encuentran dentro de un triángulo. Si elige un punto en la esquina, la probabilidad de esta pregunta es 1 y la probabilidad de otras preguntas es 0. Si eliges un punto en el medio, las probabilidades de las tres preguntas son casi las mismas.
Entonces, la distribución de densidad de probabilidad de estas tres probabilidades puede ser esa imagen.
Porque es más probable que el artículo sea un artículo político que uno deportivo.
Esta distribución de densidad de probabilidad se calcula utilizando la siguiente fórmula generalizada de distribución β, llamada distribución de Dirichlet.
Nuevamente, estos números no son necesariamente números enteros, como 0,7, 0,7, 0,7. Esta es la distribución de Dirichlet.
Cuando nos acercamos mucho a las esquinas del triángulo, la función de densidad se vuelve muy alta. Aunque no es fácil ver este patrón, muestra que es muy probable que cualquier punto seleccionado al azar de esta distribución. Caer en el ámbito científico, político o deportivo, al menos cerca de cualquier borde, la probabilidad de quedar en el medio es muy baja.
Estos son ejemplos de distribuciones de Dirichlet con diferentes valores.
Nota:
Si este valor es mayor, la función de densidad es mayor en el medio.
Si el valor es pequeño, es alto en las esquinas.
Si los valores son diferentes, la parte superior se mueve al valor menor, dejando el valor mayor.
Este es un gráfico tridimensional. Si queremos crear un buen modelo de tema, debemos elegir parámetros muy pequeños, como la imagen de la izquierda. A continuación elegimos el tema así.
Ahora cree el modelo LDA e introduzca sus principios.
Estos son nuestros archivos.
Supongamos que hay tres documentos a la derecha y luego genere algunos documentos falsos, como los tres documentos de la izquierda. Usamos modelos temáticos para generar estos documentos y luego comparamos los documentos generados con los documentos reales para que podamos juzgar con qué precisión el modelo crea documentos reales. Como la mayoría de los algoritmos de aprendizaje automático, aprendemos de estos errores y mejoramos nuestro modelo temático.
El enfoque es que en el documento, el modelo de tema se dibuja así, lo que parece más complicado.
A continuación, analicemos la imagen de arriba en detalle.
Primero seleccionamos algunos temas para el documento, comenzando con la distribución paramétrica de Dirichlet. Los parámetros deben ser pequeños para que la distribución aparezca en un lado determinado, es decir, si seleccionamos un punto de la distribución, Lo más probable es que esté cerca de las esquinas o al menos de los bordes.
Supongamos que seleccionamos este punto cerca de la esquina política para generar los siguientes valores: 0,1 para ciencia, 0,8 para política y 0,1 para deportes. Estos valores representan la combinación de temas de este documento y se proporcionan en múltiples distribuciones. Por tanto, la probabilidad de que el tema elegido sea ciencia es del 10%, la probabilidad de que sea política es del 80% y la probabilidad de que sea deportes es del 10%. Elegiremos algunos temas, como la política de extrema derecha.
Haga esto para varios documentos, cada uno de los cuales es un punto en esta distribución de Dirichlet.
Supongamos que el documento 1 obtiene esta distribución polinómica aquí y el documento 2 proporciona esta distribución aquí.
Calcule los valores de distribución de todos los demás documentos
Ahora combine todos estos vectores para obtener la primera matriz, que es la matriz que indexa los documentos correspondientes al tema.
Ahora haz lo mismo con las preguntas y las palabras.
Para facilitar la visualización, supongamos que solo hay cuatro votos y reglas climáticas en el espacio de palabras, ahora con diferentes distribuciones. Esta distribución es similar a la anterior, pero la distribución tridimensional no es un triángulo sino una simplex. Asimismo, la parte roja indica una probabilidad alta y la parte azul indica una probabilidad baja. Si hay demasiadas palabras, seguirá siendo un simplex con una distribución muy clara pero de mayores dimensiones. Entonces elegimos cuatro palabras para que puedan representarse mediante un gráfico tridimensional.
En esta distribución, elegimos un punto aleatorio que probablemente esté cerca de una esquina o borde. Supongamos que este punto produce la siguiente distribución polinómica: el espacio es 0,4 el clima es 0,4 la votación y la regla es 0,1. Lo llamamos distribución multinomial, que representa la relación entre palabras y temas. Extraemos palabras al azar de esta distribución. La probabilidad de que la palabra sea espacio es del 40%, la probabilidad del clima es del 40% y la probabilidad de votar y gobernar es del 10%. La palabra puede estar en la extrema derecha.
Realizamos esta operación para cada tema, asumiendo que el tema 1 está ubicado cerca del espacio y el tema climático 2 está ubicado cerca del tema de votación 3, que está cerca de las reglas.
Ten en cuenta que no sabemos cuáles son, solo que son los temas 1, 2 y 3. Después de la observación, podemos inferir que el tema 1 cercano al espacio y el clima debe ser ciencia, el tema 2 cercano a la votación puede ser política y el tema 3 cercano a la gobernanza puede ser deportes, que es la última operación realizada por el modelo.
En el paso final, combinamos estos tres temas para obtener otras matrices en el modelo LDA.
Ahora júntelos y estudie cómo obtener estas dos matrices en el modelo LDA según sus respectivas distribuciones de Dirichlet.
El planteamiento general es lo que vemos. Las entradas de la primera matriz provienen de puntos de la distribución y las entradas de la segunda matriz provienen de puntos de la distribución β. El objetivo es encontrar las mejores posiciones de estos puntos para obtener la mejor descomposición de la matriz, las mejores posiciones de estos puntos nos permitirán obtener el tema deseado.
Generamos unos documentos para comparar con los documentos originales. Partimos de la distribución de temas de Dirichlet y luego seleccionamos algunos puntos correspondientes a todos los documentos. Primero seleccionamos uno de los puntos que proporcionará algunos valores para los tres sujetos y generará múltiples distribuciones.
Este es un resultado mixto correspondiente al tema del documento 1. Ahora, genera algunas palabras para el documento 1. ¿De cuántos temas elegimos? Esto está más allá del alcance de este curso.
El principio es determinar cuántas preguntas elegir en función de la variable de Poisson. La variable de Poisson se puede utilizar directamente como otro parámetro en este modelo.
Seleccionamos algunas preguntas en función de las probabilidades que proporciona esta distribución. La probabilidad de elegir ciencias es 0,7, política es 0,2 y educación física es 0,1. Ahora, conecta las palabras con estos temas. ¿Cómo podría ser?
Utilizando la distribución de palabras de Dirichlet, determinamos la distribución de palabras generadas por cada tema desde cada punto en una ubicación determinada.
Por ejemplo, la probabilidad de generar un espacio de palabras para el tema 1 ciencia es 0,4, la probabilidad de generar clima es 0,4, la probabilidad de generar un voto es 0,1 y la probabilidad de generar una regla es 0,1 . Estas distribuciones se llaman
Para cada tema seleccionado, usaremos distribución multivariada para seleccionar una palabra relacionada con él. Por ejemplo, el primer tema es ciencia y veremos dónde está ciencia en la línea de distribución. , seleccione una palabra de ella, por ejemplo, el espacio es la primera palabra del documento 1.
Realizamos este proceso para cada tema y luego repetimos el proceso generando palabras a partir del primer documento generado (llamado "Documento falso 1").
Elige otro punto de la distribución, obtén otra distribución multivariada, genera un nuevo tema y genera una nueva palabra a partir de él. Es "Fake Doc 2" y continúa generando muchos documentos.
Ahora comparando estos documentos con los documentos originales, utilizaremos el método de máxima verosimilitud para encontrar una serie de puntos con mayor probabilidad de obtener el artículo real.
Para resumir el proceso específico, tenemos dos distribuciones de Dirichlet, seleccionamos algunos documentos de la distribución, seleccionamos algunos temas de la distribución, combinamos estos dos para crear artículos falsos y luego combinamos estos Se comparan los artículos falsos con artículos reales. Por supuesto, la probabilidad de obtener un artículo real es muy pequeña, pero debe haber alguna combinación de puntos en la distribución superior que pueda maximizar esta probabilidad. Nuestro objetivo es encontrar una combinación de este punto y obtener el tema, al igual que entrenar muchos algoritmos en el aprendizaje automático.
Debe haber errores en este proceso, que nos pueden indicar qué tan lejos estamos de generar un artículo real. El error se propaga nuevamente a la distribución para obtener el gradiente, que nos indica dónde mover los puntos para reducir ese error. Repetiremos este proceso moviendo los puntos según se nos indique para obtener un modelo ahora ligeramente mejor y obtener una buena combinación de puntos.
Normalmente una buena combinación de puntos nos dará de qué hablar. La distribución Dirichlet nos dirá qué artículos están relacionados con estos temas y la distribución Dirichlet nos dirá qué palabras están relacionadas con estos temas.
Podemos razonar más y propagar el error hacia atrás, no solo obteniendo mejores combinaciones de puntos, sino también mejores sumas de distribución. Este es el principio del análisis potencial de Dirichlet.
Si te preguntas sobre los diagramas en los periódicos, aquí tienes el diagrama.
Solo queremos saber
es la distribución de temas
es la distribución de palabras
y es la distribución multivariada obtenida de estas dos distribuciones.
Este es el tema
Es el documento que se obtiene combinando ambos.