Mozilla's getting a new look. What do you think? https://mzl.la/brandsurvey

Algoritmo Frecency

Frecency es una puntuación dada a cada URI único en Places, comprendiendo marcadores, histórico y etiquetas. Esta puntuación está determinada por la cantidad de re-visitas, el tipo de esas visitas, cuanto de recientes han sido y si el URI se ha añadido como marcador o se le ha etiquetado.

La palabra "frecency" viene de la combinación de las palabras en inglés "frequency" (frecuencia) y "recency" (reciente).

  • El valor de la frecency por defecto para todas las entradas válidas es -1. Los sitios con este valor pueden aparecer en los resultados de autocompletado.
  • Los lugares inválidos tienen un valor frecency de cero, y no aparecerán en los resultados de autocompletado. Ejemplos de lugares inválidos son consultas "place:", y entradas no visitadas de canales web dinámicos.

El proceso de cálculo de frecency

Para las 10 visitas más recientes (donde 10 está determinado por places.frecency.numVisits):
.. Determinar el porcentaje de bonus por el tipo de visita (ej. el "tipo de transición"):
.... 0 (places.frecency.embedVisitBonus)
.... 120 (places.frecency.linkVisitBonus)
.... 200 (places.frecency.typedVisitBonus)
.... 140 (places.frecency.bookmarkVisitBonus)
.... 0 (places.frecency.downloadVisitBonus)
.... 0 (places.frecency.permRedirectVisitBonus)
.... 0 (places.frecency.tempRedirectVisitBonus)
.... 0 (places.frecency.defaultVisitBonus)
 
.. Determinar el peso, basado en cómo fueron de recientes las visitas:
.... 100 (places.frecency.firstBucketWeight, 4 días de tamaño de contenedor, en places.frecency.firstBucketCutoff)
.... 70 (places.frecency.secondBucketWeight, 14 días de tamaño de contenedor, en places.frecency.secondBucketCutoff)
.... 50 (places.frecency.thirdBucketWeight, 31 días de tamaño de contenedor, en places.frecency.thirdBucketCutoff)
.... 30 (places.frecency.fourthBucketWeight, 90 días de tamaño de contenedor, en places.frecency.fourthBucketCutoff)
.... 10 (places.frecency.defaultBucketWeight, tamaño de contenedor en places.frecency.defaultBucketCutoff)
 
.. Puntos para cada muestra de visita = (bonus / 100,0) * peso
 
La puntuación frecency final para URI visitadas = límite_máximo(contador total de visitas * suma de puntos para las visitas de la muestra / número de visitas de la muestra)

Ejemplo

Este ejemplo de cálculo de frecency de un URI que ha sido añadido a marcadores y recientemente ha sido visitado dos veces (una vez ayer, y otra vez la semana pasada haciendo clic en un enlace), y otras dos veces hace más de 90 días:

0 Puntuación por defecto
+140 100 * (140/100,0) - Primer contenedor por peso y bonus por marcador
+84 70 * (120/100,0) - Segundo contenedor por peso y bonus por seguir el enlace
+14 10 * (140/100,0) - Quinto contenedor por peso y bonus por marcador
+14 10 * (140/100,0) - Quinto contenedor por peso y bonus por marcador
--  
252 (4 * 252 / 4) - Puntuación frecency final

Notas

  • El número de muestras de visitas es min(10 visitas pref. más recientes, contador total de visitas).
  • El contador total de visitas incluye visitas incrustadas, sin definir, etc. (no excluye visitas inválidas o incrustadas).

Notas para los desarrolladores

Aquí hay varias notas del desarrollo que puedes leer sobre Places y que pueden ofrecer perspectivas adicionales:

Historia

  • El diseño inicial del algoritmo fue de Mike Connor y Seth Spitzer.
  • La implementación inicial fue hecha por Seth y Dietrich Ayala.
  • Otras características y refinamientos por Ed Lee (implementación del emparejamiento adaptativo y la mayoría de las restricciones de caracteres), Marco Bonardo y Shawn Wilsher.
  • Los dos últimos portaron más tarde el código C++ a JavaScript.

Etiquetas y colaboradores del documento

 Colaboradores en esta página: RickieES, StripTM
 Última actualización por: RickieES,