De la derivación del modelo funcional al ranking de búsqueda

De la derivación del modelo funcional al ranking de búsqueda

——Desde los requisitos de clasificación de búsqueda, el proceso de perfección de la fórmula, para comprender el modelado matemático en el desarrollo del programa.

Aquí tomamos como ejemplo la puntuación de la calidad del contenido y la clasificación de búsqueda, comenzando con la función lineal más básica y mejorando gradualmente la función de puntuación de acuerdo con la forma básica de hacer preguntas y resolver problemas. Con el fin de proporcionar una referencia para todos sobre la aplicación de las matemáticas en nuestra práctica de investigación y desarrollo de proyectos, y esperamos que todos puedan mejorar su sensibilidad hacia las matemáticas, aplicar el pensamiento matemático en todas las etapas del desarrollo del proyecto y mejorar la calidad del desarrollo del producto y la experiencia del usuario.

El método básico de este documento está inspirado en el libro "Principios y práctica del sistema de recomendación". Los estudiantes interesados ​​pueden aprender por sí mismos. Para evitar sospechas de filtraciones, el puntaje de calidad y la clasificación de búsqueda del contenido no se divulgarán aquí. Simplemente trátelo como una especie de aplicación de búsqueda vertical.

Descripción del requisito

Ahora hay dos fuentes de contenido: 1. El contenido provisto por M, la cantidad es de decenas de millones, 2. El contenido provisto por L, la cantidad es de decenas de miles. Ahora, debido a la experiencia intuitiva, la calidad general de los datos de L es relativamente alta, por lo que se espera que los datos de L obtengan una clasificación más alta en los resultados de búsqueda.

Soluciones

Generalmente hay dos soluciones , cada una con ventajas y desventajas:

  1. Con respecto a los resultados de búsqueda, coloque directamente los datos L en la parte superior de los resultados de búsqueda.
  2. Se introduce el puntaje de calidad y la prioridad de cada registro de datos se ajusta según la función del puntaje de calidad y el puntaje de coincidencia de búsqueda.

Un análisis más detallado de la descripción del requisito muestra que la esencia del requisito es promover datos de alta calidad en lugar de datos L;
además, considerando que la calidad actual de los datos L y M es desigual, y es difícil manejarlos por completo Para todos los problemas de contenido de datos, la introducción de la calificación de calidad determinará que los datos de alta calidad se obtengan por adelantado en cualquier resultado de búsqueda ;
al mismo tiempo, usar el primer método reducirá la flexibilidad del código,
mientras que usar el segundo método, en el futuro Cuando necesite ajustar el método de puntuación de calidad o el método de clasificación, solo necesita reajustar las funciones de clasificación de búsqueda y puntuación de calidad relacionadas con la puntuación de calidad y la puntuación coincidente.El grado de acoplamiento con el código comercial es bajo , lo que es propicio para futuras iteraciones .
En resumen, finalmente se decidió elegir el segundo método para lograrlo.

Clasificación de calidad y ranking de búsqueda

La idea básica es la siguiente.

  1. Agregue un campo de puntuación de calidad para almacenar el valor de la puntuación.
  2. Diseñe la función del puntaje total en el puntaje de calidad y el puntaje coincidente, y los resultados de búsqueda finales se ordenan de acuerdo con el puntaje total.

La idea es muy simple, y la implementación también es muy simple. El punto clave es solo cómo diseñar la función del puntaje total en el puntaje de calidad y el puntaje coincidente . Este proceso es muy similar a la forma de pensar en el modelado matemático, las ideas de diseño del sistema de recomendación y parte del proceso de modelado del aprendizaje automático, por lo tanto, aquí tomamos este requisito como ejemplo, comenzando desde la función lineal más básica. , y hacer preguntas; descomponer el problema; La forma básica de resolver el problema y mejorar gradualmente la función de puntuación. Con el fin de proporcionar una referencia para todos sobre la aplicación de las matemáticas en nuestra práctica de investigación y desarrollo de proyectos, y esperamos que todos puedan mejorar su sensibilidad hacia las matemáticas, aplicar el pensamiento matemático en todas las etapas del desarrollo del proyecto y mejorar la calidad del desarrollo del producto y la experiencia del usuario.

Derivación de modelos matemáticos y realización de clasificación de búsqueda

Supongamos que el campo final utilizado para ordenar los resultados de la búsqueda es la puntuación total S \boldsymbol{S}S (puntuación), tomamos la iniciativa para puntuar la calidad de los datos esla puntuación de calidadQS \boldsymbol{QS}Q S (Puntuación de calidad), cuando los usuarios buscan de forma confusa según elementos de filtro o diferentes palabras clave, los resultados de filtro calculados por el motor de búsqueda en función de un determinado algoritmo son lapuntuaciónMS \boldsymbol{MS}M S (puntuación del partido). En este momento, una forma relativamente sencilla de mejorar el ranking de búsqueda de ciertos datos es sobreMS MSM S yQS QSQ S se suma como se muestra en la Ecuación. Luego refinamos el modelo recomendando problemas progresivamente y luego resolviéndolos.
S = F ( QS , MS ) = QS + MS ( QS ∈ N , MS ∈ R + , S ∈ R + ) \begin{alineado} S &= F(QS, MS) \\ &= QS + MS\ ( QS \en N, MS \en R^+, S \en R^+) \end{alineado}S=F ( Q S ,MS ) _=QS _+M S ( Q S N ,MS _R+ ,SR+ )

P: QS \boldsymbol{QS} en la aplicación prácticaQ S yMS \boldsymbol{MS}El peso del impacto de M S en el puntaje total no es necesariamente igual

Una idea muy simple es introducir una función de utilidad. Como se muestra en la Ecuación 2 . Entre ellos, el peso w 1 w_1w1w 2 w_2w2Puede ser un valor estimado empíricamente, o un valor obtenido en base a un determinado método estadístico u otro algoritmo.
S = F ( QS , MS ) = w 1 QS + w 2 MS ( QS ∈ norte , MS ∈ R + , S ∈ R + , w 1 ∈ R + , w 2 ∈ R + , w 1 + w 2 = 1 ) S = F(QS, MS) = w_1QS + w_2MS\ \\\\ (QS \in N,\ MS \in R^+, \ S \in R^+,\ w_1 \in R^+,\ w_2 \en R^+,\ w_1 + w_2 = 1)S=F ( Q S ,MS ) _=w1QS _+w2MS _ ( Q SN , MS _R+ , SR+ , w1R+ , w2R+ , w1+w2=1 )

P: Tal vez algunos datos no coincidan muy bien con el término de búsqueda ( MS MSM S es bajo), pero debido al alto QS, estos datos se colocan demasiado arriba en los resultados de búsqueda

Una forma de pensar es optimizar QS \boldsymbol{QS}modelo QS ; límiteQSQSEl rango de valores de Q S. Otra forma de pensar esmodificar la funciónpara queMS MSM S cuanto mayor sea la función,QS QSQ S contraSSCuanto mayor sea el efecto de S ;MS MSCuanto menor es M S , QS QSQ S contraSSS tiene menos influencia. En la práctica, obviamente es más razonable para nosotros combinar las dos formas de pensar, pero aquí solo lo describimos basándonos en la segunda forma de pensar.

Una manera fácil es simplemente poner MS MSM S yQS QSQ S求积。
F ( QS , MS ) = w 1 QS ∙ w 2 MSF(QS, MS) = w_1QS \bullet w_2MSF ( Q S ,MS ) _=w1QS _w2MS _

En este punto, es casi lo mismo, y el ranking de búsqueda solo puede llegar hasta cierto punto. Sin embargo, en aplicaciones prácticas, especialmente para aplicaciones que son sensibles a la precisión y tienen valores de cálculo grandes, habrá otros problemas.En este momento, es necesario mejorar aún más el modelo, que es la parte que se describe más adelante. Los dos problemas mencionados más adelante solo esperan brindar más soluciones para todos cuando se encuentren con problemas similares.

P: MS es un número real con una parte fraccionaria, y la operación de cuadratura en la computadora suele tener el problema de pérdida de precisión de los números de punto flotante y acumulación de errores.¿Cómo reducirlo?

En primer lugar, nos damos cuenta que el problema de la pérdida de precisión de los números en coma flotante se presenta muchas veces en las operaciones de multiplicación y división , lo cual es ocasionado por la pérdida de dígitos significativos decimales en la operación, y se genera la acumulación de errores en el proceso. de integración o acumulación.

Para encontrar la solución a este problema, puede consultar el método de cálculo de probabilidad actual comúnmente utilizado en la segmentación de palabras chinas: el intervalo ( 0 , 1 ) (0, 1)( 0 ,1 ) Lasoperaciones de multiplicación y divisiónse transforman enoperaciones logarítmicas de suma y resta. Las operaciones con enteros no tienen el problema de pérdida de precisión similar a los números de punto flotante.Si ellímite de la función es apropiadotambién se puedenlos problemas de desbordamiento. En este momento, la funciónla fórmula 4(aquí omito el número base, que podemos ajustar de acuerdo a la imagen de la función deseada).
log F ( QS , MS ) = log ( w 1 QS ∙ w 2 MS ) = log ( w 1 QS ) + log ( w 2 MS ) \begin{aligned} logF(QS, MS) &= log(w_1QS \bullet w_2MS) \\ &= log(w_1QS) + log(w_2MS) \end{alineado}logaritmo F ( Q S , _ _MS ) _=logaritmo ( w _ _1QS _w2MS ) _=logaritmo ( w _ _1Q S )+logaritmo ( w _ _2MS ) _

En este momento, para facilitar el cálculo, w 1 w_1 se puede transformar aún másw1w 2 w_2w2
1 w 1 = w 1 ‵ , 1 w 2 = w 2 ‵ ( w 1 ∈ R + , w 2 ∈ R + , w 1 + w 2 = 1 , w 1 ‵ ∈ norte + , w 2 ‵ ∈ norte + ) \frac{1}{w_1} = w^\backprime_1, \frac{1}{w_2} = w^\backprime_2\ \ (w_1 \in R^+,\ w_2 \in R^+,\ w_1 + w_2 = 1, w^\backprime_1 \en N^+, w^\backprime_2 \en N^+)w11=w1,w21=w2  ( w1R+ , w2R+ , w1+w2=1 ,w1norte+ ,w2norte+ )
使得
log F ( QS , MS ) = log ( w 1 QS ) + log ( w 2 MS ) = log ( QS w 1 ‵ ) + log ( MS w 2 ‵ ) = log ( QS ) − log ( w 1 ‵ ) + log ( MS ) − log ( w 2 ‵ ) \begin{alineado} logF(QS, MS) &= log(w_1QS) + log(w_2MS) \\ &= log(\frac{QS}{w^ \backprime_1}) + log(\frac{MS}{w^\backprime_2}) \\ &= log(QS) - log(w^\backprime_1) + log(MS) - log(w^\backprime_2) \end {alineado}logaritmo F ( Q S , _ _MS ) _=logaritmo ( w _ _1Q S )+logaritmo ( w _ _2MS ) _=registro ( _ _w1Q S)+registro ( _ _w2M S)=logaritmo ( Q S ) _ _logaritmo ( w _ _1)+logaritmo ( MS ) _ _ _logaritmo ( w _ _2)

En realidad, este punto es un poco redundante de usar aquí, porque el peso de la clasificación de búsqueda, la pérdida de precisión del lugar decimal en realidad tiene poco efecto en los resultados generales de la clasificación general: la mitad de nuestra búsqueda se refiere a las mejores N mejores coincidencias. , y la pérdida de precisión es a menudo. Solo los N menos coincidentes se ven afectados. Este punto se menciona aquí solo para presentar este método de cálculo que tiene en cuenta la pérdida de precisión de las operaciones logarítmicas. Esto es muy importante en NLP u otras operaciones sensibles a la precisión.

P: F (QS, MS) F (QS, MS)F ( Q S ,M S ) es una función ilimitada, que puede causar situaciones inesperadas debido a valores demasiado grandes en el uso real.

Esto es un poco obvio, en realidad solo estoy obteniendo una solución aquí para evitar el desbordamiento, que no existe en las clasificaciones de búsqueda, ni llegó a este punto.

Este problema es en realidad F ( QS , MS ) F(QS, MS)F ( Q S ,M S ) ventaja ilimitada. Combinado con lo anterior, rediseñamos la función S, y S satisface las siguientes tres condiciones.

  1. S está en el intervalo QS ∈ [ 0 , + ∞ ) QS \in [0, +∞)QS _[ 0 ,+ )EM ∈ ( 0 , + ∞ ) EM \in (0, +∞)MS _( 0 ,+ )中,∃ METRO ( METRO ∈ N ) , S ∈ [ 0 , METRO ] \existe M(\ METRO \en N), S \en [0, METRO]METRO ( METRO N ) ,S[ 0 ,METRO ]
  2. S está en el intervalo QS ∈ [ 0 , + ∞ ) , MS ∈ ( 0 , + ∞ ) QS \in [0, +∞),\ MS \in (0, +∞)QS _[ 0 ,+ ) , MS _( 0 ,+ ) es una función continua
  3. S está en el intervalo QS ∈ [ 0 , + ∞ ) , MS ∈ ( 0 , + ∞ ) QS \in [0, +∞),\ MS \in (0, +∞)QS _[ 0 ,+ ) , MS _( 0 ,+ ) es una función monótona

Hay muchos modelos de funciones que cumplen con estos requisitos y puede usar los existentes o configurarlos usted mismo. Aquí tomo la relación de las funciones de densidad de probabilidad de Gauss como resultado final. La relación de las funciones de densidad de probabilidad de Gauss, que se ajustan a la distribución de Cauchy: la función es acotada y monótonamente continua. Con base en la distribución de Cauchy, es muy fácil para nosotros determinar el conjunto de resultados que satisface nuestras necesidades en el conjunto de datos total y clasificarlo en consecuencia.
QS ‵ = QS máx − QS ;MS ‵ = MS máx − MSQS ‵ ∼ N ( 0 , 1 ) , Cauchy ( QS ‵ ) = G aussion ( QS ‵ ) G aussion ( 0 ) MS ‵ ∼ N ( 0 , 1 ) , C auchy ( MS ‵ ) = G aussion ( MS ‵ ) G aussion ( 0 ) S = C auchy ( QS ‵ ) + C auchy ( MS ‵ ) \begin{alineado} & QS^\backprime = QS_{max} - QS; MS^\backprime = MS_{max} - MS \\ & QS^\backprime \sim N(0, 1),\ Cauchy(QS^\backprime) = \frac{Gaussion(QS^\backprime)} {Gaussion(0)}\\ & MS^\backprime \sim N(0, 1),\ Cauchy(MS^\backprime) = \frac{Gaussion(MS^\backprime)}{Gaussion(0)}\\ & S = Cauchy(QS^\backprime) + Cauchy(MS^\backprime) \end{alineado}QS _=QS _mx _ _QS ; _MS _=MS _mx _ _MS _QS _norte ( 0 ,1 ) , C a u c h y ( Q S )=G a u s i ó n ( 0 ) _G a u s s i o n ( Q S )MS _norte ( 0 ,1 ) , C a u c h y ( MS _ )=G a u s i ó n ( 0 ) _G a u s s i o n ( M S )S=C a u c h y ( Q S )+C a u c h y ( MS _ )
Entre ellos, MS max MS_{max}MS _mx _ _Proporcionado por el motor de búsqueda, la puntuación con el mayor grado de coincidencia en el conjunto de resultados coincidentes. En los datos, la puntuación de calidad QS ∈ [ 0 , 100 ] QS \in [0, 100]QS _[ 0 ,1 0 0 ] , entoncesQS máx QS_{máx}QS _mx _ _por 100

De esta forma, no solo solucionamos el problema de la puntuación final ilimitada, sino que también obtuvimos un modelo de puntuación SS más acorde con la situación real basada en Gaussion.S._ _ Al mismo tiempo, para resolver aún másde la pérdida de precisiónydel peso. Es suficiente volver a realizar la transformación según el método descrito anteriormente, y aquí no se proporciona ninguna descripción adicional.

Estudiantes que son difíciles de entender, comprendan el significado físico de la distribución gaussiana , porque es difícil para mí explicarlo claramente. Después de esto, queremos confirmar una propiedad importante de la distribución gaussiana: $X \sim N(0, 1), Y \sim N(0, 1) \rightarrow X/Y \in C(1, 0) $.

Supongo que te gusta

Origin blog.csdn.net/qq_23937195/article/details/103380314
Recomendado
Clasificación