$ Algoritmo de peso de palabras TermWeight
$TermWeight es un módulo que calcula automáticamente la importancia relativa de cada $term en una consulta de usuario. Al distinguir la importancia de diferentes $terms en la consulta y otorgar las puntuaciones correspondientes, se pueden recuperar los resultados más relevantes para la intención del usuario, mejorando así la experiencia de búsqueda del usuario.
Método: utilice la consulta y el documento establecidos como el peso de palabra de $term, calcule tf-idf y normalícelo
Ventajas: Simple y fácil de implementar.
Desventajas: el peso de las palabras de cada $term es estático y no puede cambiar según el contexto, y el efecto no es bueno.
Entrenamiento con pesas de $term basado en la coexistencia de palabras en las que se hace clic. y relación de orden parcial Los métodos se dividen principalmente en dos categorías: (1).
Según el método de coocurrencia de palabras de clic, el peso de $term se considera una tarea de regresión y la recuperación de $term se utiliza para representar la relación de importancia de cada $term en la consulta.
Coocurrencia de palabras: en función de los datos de clics en el título de la consulta de uclog, se construye un conjunto de entrenamiento, es decir, el peso de las palabras se calcula en función del indicador de tasa de recuperación de $term.
La fórmula de cálculo de la recuperación de $term es la siguiente:
Si la tasa de recuperación de $term en la etapa de inicio en frío o en la etapa de coocurrencia de palabras es baja, se puede realizar la anotación manual de datos. realizado a través de puntuaciones de regresión jerárquica. Los ejemplos son los siguientes:
Nota: el número de niveles y puntuaciones se pueden ajustar según escenarios comerciales específicos.
El método basado en ordenamiento parcial considera el peso de $term como una tarea de clasificación y utiliza el ordenamiento parcial al etiquetar datos para representar la relación importante de cada $term en la consulta, por ejemplo:
Este método es adecuado para usuarios cuyas consultas son relativamente cortas. La mayoría de los clics en el documento incluirán todos los $terms en la consulta, lo que hace que el método de coocurrencia de palabras sea ineficaz.
Diferentes escenarios de aplicación corresponderán a diferentes soluciones de selección:
(1) DeepCT/DeepRT
Peso de palabra basado en semántica contextual profunda. (a) Generar incrustaciones de palabras de culturas superiores e inferiores a través de modelos profundos; (2) Predecir el peso de las palabras mediante regresión lineal.
Ventajas: Al utilizar la semántica contextual, el efecto es bueno.
Desventajas: el modelo es ligeramente complejo y es necesario controlar la complejidad del modelo para cumplir con el razonamiento en tiempo real.
(2) Función + ML
Predicción del peso de las palabras basada en el diseño de funciones y el modelo de regresión de aprendizaje automático.
Ventajas: cálculo eficiente, razonamiento en tiempo real.
Desventajas: Requiere refinamiento manual de las características de diseño.
A continuación se presentan detalladamente los dos tipos de selección.
El marco general de DeepCT/DeepRT es: (a) generar incrustaciones de palabras culturales superiores e inferiores a través de modelos profundos; (b) regresión lineal para predecir el peso de las palabras.
Si el conjunto de datos se basa en puntuaciones de coocurrencia de palabras, puede usar directamente funciones de pérdida como MSE. Si el conjunto de entrenamiento se basa en relaciones de orden parcial, puede usar la pérdida de bisagra por pares.
En este artículo, BERT se utiliza para extraer semántica contextual. En mi propia práctica, uso BiLSTM+Attention. Independientemente del método, su esencia central es determinar dinámicamente la importancia de $term en el contexto actual combinando NMT y semántica contextual.
La práctica internacional es cubrir cada imagen.
Si los requisitos de RT del sistema son muy altos, se recomienda utilizar BiLSTM. Si busca efectos, los modelos de lenguaje previamente entrenados tienen más ventajas, por lo que debe elegir según sus propios escenarios comerciales.
La idea general de Feature+ML es diseñar manualmente funciones efectivas y luego utilizar modelos como GBDT/LR en el aprendizaje automático para la predicción o clasificación de regresión. Los modelos más utilizados incluyen Xgboost, LightGBM, etc.
Obviamente, el efecto de este método depende de la calidad del diseño funcional, y las funciones específicas de diferentes escenarios comerciales serán diferentes. A continuación se muestran algunas características comunes.
Características estáticas de $term: valor idf, frecuencia de palabras, longitud de $term, parte del discurso de $term, posición de la palabra, si es una palabra vacía, si es una partícula modal, si es una nombre propio (nombre de persona/lugar), etc.
Características de la interacción $term: relación entre la longitud de $term y la longitud de la consulta, valor de clasificación del texto, posición relativa de $term en la consulta, contribución de $term a la consulta, etc.
Características de ngram: incluidas las características estadísticas de $term, las características estadísticas de ngrams que comienzan con $term, las características estadísticas de ngrams que terminan en $term, etc. (generalmente usando modelos binarios y modelos ternarios).
Después del diseño de funciones, puede utilizar el modelo ML para la predicción o clasificación de regresión. Es relativamente simple y no se describirá aquí.