Red de conocimiento informático - Aprendizaje de código fuente - Principio e implementación del algoritmo de similitud de texto-BM25

Principio e implementación del algoritmo de similitud de texto-BM25

El algoritmo BM25 se utiliza habitualmente para buscar puntuaciones de relevancia. Una oración resume la idea principal: realice un análisis de morfema en la consulta para generar el morfema qi, luego, para cada resultado de búsqueda D, calcule la puntuación de correlación de cada morfema qi y D, finalmente, compare la puntuación de correlación de qi con respecto a D. Ponderada; La suma se realiza para obtener las puntuaciones de correlación de Consulta y D.

La fórmula general del algoritmo BM25 es la siguiente:

Donde Q representa la consulta, qi representa el morfema después del análisis Q (para chino, podemos analizar la desambiguación de la consulta en un morfema, cada palabra A se considera un morfema qi. R (qi, d) representa la puntuación de correlación entre el morfema qi y el documento d.

Tomemos IDF como ejemplo. :

Donde N es el número de todos los documentos en el índice, n(qi) es el número de documentos que contienen qi

Según la definición de IDF, se puede ver que para un conjunto de documentos dado, cuantos más documentos contengan qi, menor será el peso del qi. Es decir, cuando muchos documentos contengan qi, la distinción del qi se reducirá, por lo que la importancia del qi para juzgar la relevancia. también se reducirá.

Echemos un vistazo a la puntuación de correlación entre el lexema qi y el documento d. Primero, veamos la forma general de la puntuación de correlación en BM25. Donde k1, k2 y b son reguladores, generalmente establecidos según la experiencia. Generalmente, k1 = 2, k2 = 1, b = 0.dl es la longitud del documento d y avgdl es la longitud promedio de todos los documentos. En estos casos, qi solo aparecerá una vez en la consulta, es decir, qfi = 1, por lo que la fórmula se puede simplificar de la siguiente manera:

Se puede ver en la definición de K que la función del parámetro b es ajuste el impacto de la longitud del documento en la relevancia. Cuanto mayor sea b, mayor será el impacto de la longitud del documento en la puntuación de relevancia, y viceversa. Cuanto mayor sea la longitud relativa del documento, mayor será el valor de K y menor. la puntuación de relevancia. Esto se puede explicar como: cuanto más largo es el documento, mayor es la probabilidad de que contenga qi, por lo que cuando fi es el mismo, la correlación entre documentos largos y qi debería ser más débil que la correlación entre documentos cortos y qi <. /p>

En resumen, el algoritmo BM25 La fórmula de puntuación de relevancia se puede resumir de la siguiente manera:

Resultados de segmentación y resegmentación

Cada elemento de la lista es un. dict, que almacena el número de apariciones de cada palabra en el documento

Almacena el valor idf de cada palabra

['lenguaje natural', 'informática', 'campo', 'inteligencia artificial', 'campo'] con cada oración Similitud

/jllan/jannlp/blob/master/similarity/bm25.py