¿Cuáles son las ideas principales detrás de los principales algoritmos de clasificación de búsqueda?

Como sugiere Danny, aprender a clasificar (LETOR) es un componente importante de los motores de búsqueda modernos, y tiene algunos desafíos únicos que lo hacen diferente de muchos métodos de aprendizaje automático o de estimación de parámetros estadísticos.

La mayoría de los algoritmos de clasificación todavía están dominados por características que se originan a partir de algoritmos de clasificación clásicos desarrollados en el campo de la recuperación de información. Estos algoritmos a menudo tienen intuiciones fáciles de entender detrás de ellos, e intentaré resumir algunas características y componentes importantes de los algoritmos de clasificación a continuación.

  • tf-idf : la mayoría de los algoritmos de recuperación combinan una noción de frecuencia de término y frecuencia de documento inversa . La frecuencia de término recompensa las apariciones adicionales de un término de consulta en el documento, mientras que la frecuencia de documento inversa penaliza la ponderación de frecuencia de términos muy comunes. Las funciones de frecuencia a término tienden a tener funciones de crecimiento logarítmico o asintótico en función del número de ocurrencias a término, por lo que el aumento en las medidas de frecuencia a término de 2 ocurrencias versus 1 es mayor que el de 102 ocurrencias versus 101 ocurrencias.
  • normalización de la longitud: los puntajes tf-idf pueden tener un sesgo hacia la recuperación de documentos de ciertas longitudes que son diferentes de la distribución de documentos relevantes con respecto a su longitud. Es común incluir un parámetro en una función de puntuación tf-idf que ayuda a ajustar este sesgo o realizar alguna transformación de la puntuación tf-idf para corregir el sesgo.
  • estructura del documento: la ubicación de los términos de la consulta dentro de un documento (como títulos) o representaciones alternativas de un documento (por ejemplo, uno formado por el texto de enlaces que apuntan al documento) puede ser un indicador importante de relevancia. Muchos algoritmos de clasificación colocarán ocurrencias de peso adicionales en estos campos.
  • término normalización: la tokenización de documentos y la normalización de estos tokens pueden ser un factor importante en la calidad de un algoritmo de clasificación. Esto puede incluir la normalización ligera, como tratar a los ingenuos e ingenuos como el mismo término, o la derivación , que intenta combinar los términos con sus raíces, como tratar los mercados, comercializados y comercializar como el mismo término durante la clasificación.
  • proximidad del término: algunos sistemas de recuperación recompensarán documentos en los que los términos de la consulta se encuentren cerca del otro en texto.
  • importancia de la página: los indicadores independientes de la consulta de la importancia del documento, como PageRank, pueden ser importantes para algunas tareas de recuperación.
  • historial de usuario: estamos comenzando a ver una mayor personalización de los resultados en función de su propio historial de búsqueda. Esto podría incluir la promoción de documentos que ha visitado anteriormente, lo que lo ayudará a encontrar información o métodos basados ​​en sesiones, que analizan su comportamiento en las consultas que utilizó recientemente. Algunos enfoques tienen una visión aún más a largo plazo de su historial, utilizando sus clics para crear un perfil de sus intereses para sesgar ligeramente las clasificaciones hacia esos intereses.

Hay muchas más funciones que usan los motores de búsqueda web modernos, como la clasificación de consultas para ayudar con la selección vertical, la ubicación geográfica para ayudar con las búsquedas locales, etc. Sin embargo, creo que la lista que he proporcionado debería proporcionar un sabor bastante bueno de muchas de las características más importantes utilizadas en los algoritmos de clasificación modernos.

Algunas de las medidas de recuperación clasificadas utilizadas por los 3 grandes motores de búsqueda (Google, Bing, Yahoo) son

NDCG: ganancia acumulada normalizada con descuento
MAPA – Precisión media promedio
MRR – Rango recíproco medio.

Cada una de estas métricas calcula un número único sobre el orden de los resultados de búsqueda para un conjunto dado de consultas de prueba.

Los siguientes son algunos de los pasos en la clasificación de resultados.

  • Recopile características dependientes de consultas e independientes de consultas de los resultados de búsqueda que coinciden con una consulta.
  • Las características dependientes de la consulta son como tf-idf o versiones más complicadas de la misma como BM25 [1], # de coincidencias del término de consulta en in-links-anchor-text, title, body, url de la página web. Número de veces que el usuario hizo clic en la página de resultados para esta consulta.
  • Funciones independientes de la consulta como Page Rank [2], # de clics / visitas que la página web recibió de los usuarios, cualquier otro puntaje, como la probabilidad de que la página de resultados sea spam o basura, etc.
  • Una función objetivo que necesita ser optimizada, hasta hace poco [3] ninguna de las 3 métricas anteriores podía optimizarse directamente, debido a la falta de suavidad de estas funciones de costo. Entonces la gente usó otras aproximaciones como la entropía cruzada de la probabilidad de que el orden de un par de resultados sea correcto [4]
  • Una vez que elige su función de costo, la optimiza utilizando cualquiera de los algoritmos de aprendizaje automático como neural-net, svm, árboles potenciados que aprenden el peso de las características y combinaciones de ellos.
  • El resultado de este proceso suele ser un conjunto de características (individuales y / o combinadas) y sus pesos que deben combinarse adecuadamente para calcular el rango de la página web.

[1] – http://en.wikipedia.org/wiki/Oka
[2] – http://en.wikipedia.org/wiki/Pag
[3] – http://research.microsoft.com/en
[4] – http://research.microsoft.com/~c

Para aquellas compañías que utilizan el enfoque de ML (como Msft, Yhoo, Yandex, etc.), es similar a aplicar ML a cualquier otro problema, tres pasos simples:

1) Defina su función de pérdida. (como entropía cruzada por pares, pérdida lambda o por pares + RMSE)
2) Elija sus algoritmos de aprendizaje favoritos (como Neural Network, SVM o Boosting)
3) Diseña tus características.

Google no está usando ML para clasificar, por lo que escuché, es un enfoque más IR, de alguna manera similar a ajustar la ecuación mágica para BM25.

More Interesting

En un modelo gráfico dirigido, el aprendizaje es fácil pero la inferencia es difícil. ¿Es esto cierto?

¿Qué significa 'regresión' en estadística y aprendizaje automático?

¿El aprendizaje automático no supervisado basado en la agrupación de datos también determina automáticamente la cantidad de agrupaciones?

¿Cómo se utiliza el aprendizaje automático en el análisis de sentimientos?

¿Se pueden combinar blockchain y machine learning?

¿Qué áreas de ciencia de datos o aprendizaje automático están creciendo en importancia?

Estoy acostumbrado a codificar con C ++ y C #. ¿Cuál recomendaría implementar proyectos de ML a pequeña escala (NN y CNN clásicos) sin reinventar la rueda?

Cómo calcular la retropropagación en una capa de agrupación promedio global

¿Cuál es el mejor foro de red neuronal en Internet?

¿Qué debo leer para desarrollar un rastreador web que raspe un subconjunto de Internet y me brinde los enlaces de los sitios web que son tiendas de abarrotes?

¿Cuál es el contenedor y el método incrustado? ¿Cómo se realiza la selección de funciones usándola?

Karpathy mencionó durante una conferencia que es posible reemplazar la capa FC al final de una CNN con una capa de agrupación promedio. ¿Alguien lo ha intentado?

He realizado el curso de aprendizaje automático de Andrew Ng pero no lo he programado. ¿Debo decir que tengo los conocimientos básicos?

¿Cuál es el estado del arte para SLAM en dispositivos móviles?

¿Cómo se diseñan las redes neuronales artificiales y qué teoremas académicos las respaldan?