Varios algoritmos comunes que los gerentes de producto deben conocer
En la era de la algoritmización de productos, si no se comprende el algoritmo, puede resultar difícil diseñar bien un producto. Ya sea mediante el impulso del flujo de información o la visualización de resultados de búsqueda, los algoritmos moldean profundamente la experiencia del usuario. Por lo tanto, comprender los algoritmos es una tarea básica para un PM. Este artículo resume algunos conocimientos de algoritmos comunes, muchos de los cuales provienen de mi clasificación de los intercambios de maestros de Internet, para que todos puedan compensarlos juntos. Dado que el contenido del artículo es largo, se actualizará a lo largo de muchos días. Ahora vayamos al grano.
1. Algoritmo de popularidad.
Si ahora queremos diseñar un mecanismo de distribución de contenidos para una aplicación de noticias, ¿cómo distribuir contenidos de noticias de forma más razonable? Al considerar el algoritmo, primero pensamos en varias limitaciones:
①La importancia de diferentes noticias no es la misma.
②Diversos comportamientos en los que participan los usuarios aumentarán o disminuirán la popularidad de las noticias.
③Las noticias son oportunas y su popularidad decae con el tiempo.
④ Diferentes personas tienen diferentes preferencias de noticias.
Resolvamos primero los tres primeros problemas.
1.1 Puntuación de popularidad inicial S0
La solución al problema 1 es muy sencilla. Da diferentes valores iniciales S0 a diferentes tipos de noticias. Por ejemplo, las noticias de entretenimiento suelen ser más populares que las noticias culturales y a la gente le gusta leerlas más, por lo que el valor inicial es mayor.
En la figura anterior, 0,6, 0,8, 1,2 y 1,5 son los pesos iniciales de diferentes categorías de noticias.
Hay otra adición a la configuración del valor inicial anterior, que es el titular principal del día. Esperamos que la popularidad sea muy alta cuando se almacene. Por ejemplo, el profesor Ma Baoguo venció a Ultraman Tiga en el boxeo. Para que los medios de comunicación sean muy populares tan pronto como se publique. Necesitamos preparar una biblioteca de palabras de actualidad con anticipación para capturar palabras de actualidad en varios portales principales o sitios de redes sociales todos los días. Una vez que las noticias de un usuario en la plataforma lleguen a las palabras candentes del día, como "Ma Baoguo", "Ultraman" y "Tiga", le daremos al contenido de este usuario una mayor popularidad inicial.
1.2 Puntuación de popularidad de interacción del usuario S (Usuarios)
La solución al problema 2 es identificar varios comportamientos que representan las preferencias del usuario. Por ejemplo, navegar, comentar, dar me gusta, recopilar, compartir, reenviar, hacer clic, informar, capturar capturas de pantalla, etc. Cuantas más acciones hay, más finas son las partículas.
Por ejemplo, solo tomamos algunos indicadores: visualizaciones (1 punto), me gusta (3 puntos), comentarios (5 puntos) y acciones compartidas (10 puntos). un usuario es Si una determinada noticia tiene el comportamiento anterior, entonces el usuario S (Usuarios) que puede obtener esta noticia es: 18 puntos.
Sin embargo, hay otro problema que resolver con este método de cálculo, y es el problema de la escala de usuarios. Pocas personas leerán las noticias que se acaban de publicar. Esperamos fortalecer la puntuación del comportamiento del usuario para que los me gusta y los comentarios de un usuario puedan aumentar considerablemente la popularidad de las noticias. Pero a medida que más y más personas leen, esperamos debilitar la puntuación del comportamiento del usuario. Por tanto, es necesario fortalecer o debilitar el peso del comportamiento del usuario en función de la escala de usuario. ¿Qué herramientas matemáticas se utilizan para resolver este problema? Deja que tú pienses.
1.3 Puntuación de calor por caída del tiempo
La solución al problema 3 requiere el uso de una herramienta. Esperamos que la popularidad de las noticias disminuya con el tiempo, de modo que lo que todos vean en cualquier momento sean noticias y no noticias viejas. ¿Cómo medir esta popularidad decreciente con el tiempo?
Imagina que hay una taza de café caliente en la habitación. Esta taza de café irá decayendo lentamente con la temperatura hasta igualar la temperatura ambiente. El calor de las noticias es como el café caliente en una habitación, que se enfría lentamente con el tiempo. Entonces la herramienta aquí es la Ley de Enfriamiento de Newton.
La Ley de Enfriamiento de Newton es una relación empírica propuesta por el físico británico Sir Isaac Newton (1642-1727). Significa que la tasa de pérdida de calor de un objeto es proporcional a la diferencia de temperatura entre el objeto y el entorno que lo rodea. Cuando hay una diferencia de temperatura entre la superficie de un objeto y su entorno, el calor disipado de la unidad de área por unidad de tiempo es proporcional a la diferencia de temperatura, y el coeficiente proporcional se denomina coeficiente de transferencia de calor.
La fórmula matemática es:
Después de transformar la fórmula, queda la siguiente fórmula que es más fácil de entender:
Entre ellas, T0: temperatura inicial , T(t): La temperatura actual del objeto, hasta: tiempo inicial, t: un tiempo determinado, H: temperatura circundante, α: coeficiente de enfriamiento.
Al sustituir la temperatura T en la fórmula por calor, se puede utilizar para medir la atenuación de la popularidad de las noticias. Lo más importante aquí es el coeficiente de enfriamiento α, que controla la atenuación de diferentes tipos de contenido. Algunos contenidos tienen una velocidad de reemplazo rápida y el coeficiente de enfriamiento que podemos establecer puede ser mayor. Algunos contenidos tienen una velocidad de reemplazo lenta y podemos controlarlo para que sea más pequeño.
Para calcular específicamente el coeficiente de enfriamiento, puedes hacer esto. Supongamos que pensamos que el calor inicial se divide en 100, y después de 24 horas, el calor se divide en 1, entonces queda: 1=100*e^(-24α), y obtenemos α=0,192. Desde aquí podemos ver que cuando queremos un contenido, cuánto durará y hasta qué punto se puede enfriar, podemos determinar el valor α. Cabe señalar que la diferencia entre el t-to que configuramos aquí se calcula en horas, no en minutos o segundos.
Ahora que hemos encontrado una manera de medir la caída de la popularidad de las noticias, ¿cómo podemos usarla en la puntuación general de popularidad de las noticias?
Esta fórmula se utiliza al principio para describir aproximadamente el efecto que esperamos lograr: Puntuación de popularidad de las noticias = puntuación de popularidad inicial + puntuación de popularidad generada por la interacción del usuario – puntuación de popularidad que decae con el tiempo, Puntuación = S0 + S(Usuarios) – S(Tiempo).
Después de observar la ley de enfriamiento de Newton anterior, la fórmula puede evolucionar a Puntuación = (S0 + S(Usuarios))/(e^α*(t-t0))
Si Solo se resuelven los primeros tres problemas, a saber: puntaje de popularidad inicial, puntaje de popularidad impulsado por el comportamiento del usuario y disminución del puntaje de popularidad, entonces todos verán las mismas noticias. ¿No es este el caso de NetEase News y Tencent News en el pasado? Ahora queremos recomendar diferentes noticias a diferentes personas, ¿qué debemos hacer? Éste es el problema que resuelve Toutiao. Se necesitan recomendaciones personalizadas.
Generalmente existen dos métodos para recomendaciones personalizadas. El método 1 es recomendar según la familiaridad con el contenido. Por ejemplo, si te gusta ver noticias sobre Kobe, también te recomendaría Irving. El método 2 consiste en recomendar según la familiaridad con el gusto del usuario. Por ejemplo, si te gusta Kobe y a otra persona también le gusta Kobe, entonces puedo recomendarte otra noticia favorita. Hablemos sobre cómo utilizar estos dos métodos para recomendar.
2. Recomendación basada en contenido
Según el método 1, necesitamos calcular la similitud entre dos artículos de noticias. Entonces, ¿cómo calcular la relación entre dos artículos de noticias?
En primer lugar, en el primer paso debemos segmentar la noticia. Por ejemplo, esta frase: Kobe es el mejor jugador de baloncesto del mundo, y James también. Después de segmentar esta oración, obtuvimos las siguientes frases: Kobe, mundo, excelente, jugador de baloncesto, James, sí, también y arriba.
Se puede ver en esta frase que palabras como "is", "ye" y "shang" no tienen mucho significado y deben eliminarse para que las palabras restantes puedan tener significado. Por lo tanto, cuando segmentamos palabras, necesitamos usar dos léxicos, el léxico normal y el léxico final. El contenido del léxico deshabilitado es el tipo de palabras eliminadas anteriormente, y el léxico normal es nuestro estándar para desmantelar el contenido. Una noticia se divide en palabras y frases individuales según el vocabulario normal.
Entonces, aquí surge una pregunta: cómo dividir los participios de palabras. En general, existen muchos métodos de segmentación de palabras, incluida la división por coincidencia directa, la división por coincidencia inversa y la segmentación mínima.
El método de coincidencia directa escanea de izquierda a derecha para encontrar la coincidencia máxima de la palabra. Generalmente, la longitud máxima de una palabra se especificará primero y, cada vez que se escanea, buscará una palabra de esta longitud comenzando desde el principio actual para que coincida con la palabra en el diccionario. Si no se encuentra, la longitud se ajustará. se acortará y la búsqueda continuará hasta que se encuentre o se convierta en una sola palabra.
Pone un ejemplo. La frase larga que pretendemos utilizar como participio es: Kobe ha visto el cielo a las cuatro de la mañana.
Nuestro diccionario es así: {Kobe, visto, cuatro de la mañana, cielo}
Entonces, ¿cómo funciona el método de comparación directa?
Primero establecemos la longitud máxima de palabras en 4. De izquierda a derecha, primero probamos los 4 caracteres "Kobe Bryant ha visto" para compararlos con nuestro diccionario y descubrimos que no había ninguna coincidencia.
Luego acorta los caracteres e intenta "Nos vemos Kobe" y descubre que todavía no funciona. ¡Sigue acortando los caracteres, prueba "Kobe" y aparece en la frase!
Bien, hemos separado la primera palabra y la hemos eliminado de la frase original, por lo que la frase original ahora queda: He visto el cielo a las cuatro de la mañana.
Continúa segmentando palabras según el método original. Primero intente relacionar los 4 caracteres en el extremo izquierdo "ver la madrugada" con el diccionario, pero no se encuentra ninguna palabra coincidente. Continúe acortando los caracteres "met Ling" para que coincidan con el diccionario, pero aún no pueden coincidir, luego continúe acortando.
Siga los métodos anteriores en secuencia, de modo que las oraciones largas se divida en frases. Este es el método de comparación directa.
El método de concordancia inversa es de derecha a izquierda y las reglas de segmentación de palabras son similares al método de concordancia directa, por lo que no entraré en detalles.
El método de segmentación mínima se basa en el principio de segmentación mínima y elige la que tiene el menor número de palabras segmentadas de los resultados de segmentación de varios algoritmos de segmentación de palabras. Por ejemplo, elija la solución con menos palabras de coincidencia máxima directa y coincidencia máxima inversa. Cuando el número de palabras sea el mismo, adopte una determinada estrategia para elegir una de ellas.