Pregunta

Yo he visto un par de sitios de la lista de las búsquedas relacionadas al realizar una búsqueda, es decir, que sugieren otras consultas de búsqueda que usted puede estar interesado en.

Me pregunto la mejor manera a este modelo en el tamaño medio de un sitio (no es suficiente que el tráfico se basan en estadísticas de visitas para inferir relaciones).Mi idea inicial es la de almacenar el top 10 de los resultados de cada consulta única, entonces cuando una nueva búsqueda se realiza para encontrar todo el histórico de búsquedas que coincidan con alguna cantidad de los 10 mejores resultados, pero lo ideal no coincidencia de todos ellos (la coincidencia de todos ellos podría sugerir un equivalente de búsqueda y por lo tanto no es útil como una sugerencia).

Me imagino que algunas personas han hecho esta funcionalidad antes y puede ser capaz de proporcionar algunas ideas de maneras diferentes de hacer esto.No estoy necesariamente en busca de una idea ganadora ya que la solución será sin duda variar sustancialmente dependiendo del tamaño y naturaleza del sitio.

¿Fue útil?

Solución

¿usted ha considerado una matriz de palabras clave en 1 eje vslos documentos en otro eje.una vez que encuentre el conjunto de vetors representación de las palabras clave, encontrar conjuntos de palabras clave(s) que se encuentran en su conjunto de resultados inicial y, a continuación, encontrar una manera de clasificar las palabras clave por la cantidad de documentos que hacen referencia o número de veces que interset inicial conjunto de resultados.

Otros consejos

He intentado una serie de enfoques diferentes, con distintos grados de éxito.En fin, creo que el mejor enfoque es altamente dependiente del dominio/temas que se busca, y de cómo los usuarios formulario de consultas.

Su pensamiento sobre el almacenamiento de búsquedas anteriores, me parece razonable.Tengo curiosidad de ver cómo funciona en la práctica (me refiero a que de la manera más sincera, hay muchos matices que pueden causar estas técnicas a fallar en el "mundo real", en particular cuando los datos son escasos).

Aquí están algunas técnicas que he usado en el pasado, y visto en la literatura:

  1. Diccionario de sinónimos de los enfoques basados en:Índice en un diccionario de sinónimos para cada término que el usuario ha utilizado y, a continuación, utilizar alguna heurística para filtrar el sinónimos para mostrar al usuario como sea posible, términos de búsqueda.
  2. Madre y búsqueda en la que:Madre de los términos de búsqueda (por ejemplo:con el Porter Algoritmo De Stemming y, a continuación, utilizar el tallo términos en lugar de la inicialmente prevista consultas, y da al usuario la opción de buscar exactamente los términos que especifica (o hacer lo contrario, la búsqueda de los términos exactos en primer lugar, y el uso de derivados para encontrar los términos que se derivan de la misma raíz.Este segundo enfoque, evidentemente, requiere algunos de pre-procesamiento de un conocido diccionario, o usted puede recoger los términos de su término de indización encuentra.)
  3. Encadenamiento:Analizar los resultados encontrados por la consulta del usuario y extracto de términos clave de la parte superior de N resultados (KEA es una biblioteca/algoritmo que usted puede mirar para la extracción de palabras claves técnicas.)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top