Algoritmo TF-IDF
Hay un artículo extenso sobre el uso de computadoras para extraer palabras clave (extracción automática de palabras clave) sin ninguna intervención humana. ¿Cómo lo hago correctamente?
Las tres palabras "prueba inteligente", "negocios" y "biblioteca de pruebas" aparecen con la misma frecuencia. ¿Significa esto que, como palabras clave, son igualmente importantes?
"Empresa" es una palabra muy común, mientras que "Preguntas y respuestas inteligentes" y "Biblioteca de preguntas y respuestas" son relativamente menos comunes. Si estas tres palabras aparecen el mismo número de veces en un artículo, entonces tenemos motivos para pensar que "Preguntas y respuestas inteligentes" y "Biblioteca de preguntas y respuestas" son más importantes que "Empresa", lo que significa que en términos de clasificación de palabras clave, "Preguntas y respuestas inteligentes " " y "Biblioteca de preguntas y respuestas" son más importantes que "empresa". En otras palabras, en términos de clasificación de palabras clave, "Preguntas y respuestas inteligentes" y "Biblioteca de preguntas y respuestas" deben clasificarse antes que "Negocios".
Se necesita un factor de ajuste de importancia para medir si una palabra es común. Si una palabra es rara pero aparece muchas veces en el artículo, entonces probablemente refleja las características del artículo y es la palabra clave que necesitamos.
En términos estadísticos, esto significa asignar a cada palabra un peso de "importancia" en función de su frecuencia de aparición.
Este peso se llama frecuencia inversa del documento (IDF), y su tamaño es inversamente proporcional a lo común que es la palabra.
Una vez que conozcas el término frecuencia (TF) y la frecuencia inversa del documento (IDF), puedes multiplicar estos dos valores para obtener el valor TF-IDF de una palabra. Cuanto más importante sea una palabra para un artículo, mayor será su valor TF-IDF. Por lo tanto, las primeras palabras son las palabras clave de este artículo.
Se necesita un corpus para simular el entorno de uso del lenguaje.
Frecuencia Inversa de Documentos (IDF) = log (número total de documentos en el corpus / número de documentos que contienen la palabra 1)
Si una palabra es más común, el denominador será mayor, la frecuencia del documento inverso será menor y más cercana a 0. El motivo de un denominador de 1 es evitar un denominador de 0 (es decir, ninguno de los documentos contiene la palabra). log significa tomar el logaritmo del valor resultante.
TF-IDF= La Frecuencia de Palabras (TF)* La Frecuencia Inversa de Documentos (IDF)
TF-IDF es proporcional al número de veces que aparece una palabra en el documento y la Número de veces que aparece la palabra en el documento. Inversamente proporcional al número de apariciones en un idioma. Por lo tanto, el algoritmo para extraer automáticamente palabras clave es muy simple: calcule el valor TF-IDF de cada palabra en el documento, luego ordene en orden descendente, tomando las primeras palabras.
El algoritmo TF-IDF para extraer automáticamente palabras clave también se puede utilizar en muchos otros lugares. Por ejemplo, en la recuperación de información, para cada documento, puede calcular el TF-IDF de un conjunto de términos de búsqueda ("China", "abejas", "agricultura") y luego sumarlos para obtener el TF-IDF del documento completo. El documento con el valor más alto es el documento más relevante para el término de búsqueda.
Para encontrar otros artículos que sean similares al artículo original, es necesario utilizar la similitud del coseno. El siguiente ejemplo ilustra el significado de la similitud del coseno.
Oración A: Me gustan las manzanas y no me gustan los plátanos
Oración B: No me gustan las manzanas y no me gustan los plátanos
Cómo ¿Cómo calcular la diferencia entre estas dos oraciones?
El principio básico es que si las palabras utilizadas en dos frases son más similares, su contenido también debería ser más similar. Por lo tanto, puedes comenzar con la frecuencia de las palabras para calcular su similitud.
La siguiente pregunta es cómo calcular la similitud de estos dos vectores.
Podemos pensar en ellos como dos segmentos de línea en el espacio, ambos comenzando desde el origen ([0, 0,...]) y apuntando en diferentes direcciones. Se forma un ángulo entre dos segmentos de recta.
Si el ángulo incluido es de 0 grados, significa que las direcciones son las mismas y los segmentos de línea se superponen si el ángulo incluido es de 90 grados, significa que forman un ángulo recto y las direcciones son completamente diferentes si el ángulo incluido es; 180 grados, significa que las direcciones son completamente opuestas. Por tanto, podemos juzgar la similitud de los vectores por el tamaño del ángulo. Cuanto menor sea el ángulo, mayor será la similitud.
Tomando un espacio bidimensional como ejemplo, a y b en la figura anterior son dos vectores y necesitamos calcular su ángulo θ. El teorema del coseno nos dice que podemos usar la siguiente fórmula para encontrarlo:
coso=a_2 b_2-c_2/2ab
Supongamos que el vector a es [x1, y1], y el vector b es [x2, y2], entonces podemos reescribir el teorema del coseno
coso=x_1x_2 y_1 y_2/sqrt()
Cuanto más cerca esté el valor del coseno de 1 y cuanto más cerca esté el ángulo de 0 grados, significa que los dos. Cuanto más similares sean los vectores, esta es la "similitud del coseno". Entonces, la oración A y la oración B anteriores son muy similares; de hecho, su ángulo es de aproximadamente 20,3 grados.
Esto nos proporciona un algoritmo para "encontrar artículos similares":
Si puedes extraer un resumen de 150 palabras de un artículo de 3000 palabras, entonces puedes ahorrarle a los lectores una mucho tiempo de lectura. El resumen realizado por humanos se denomina "resumen manual" y el resumen realizado por máquinas se denomina "resumen automático".
La información del artículo está contenida en frases, algunas de las cuales contienen más información y otras frases que contienen menos información. El "resumen automático" consiste en encontrar las oraciones que contienen la mayor cantidad de información.
La cantidad de información en una oración se puede medir mediante "palabras clave". Luhn sugirió usar grupos para representar grupos de palabras clave. palabras que contienen múltiples fragmentos de oraciones de palabras clave.