>> [REPRODUCCIÓN DE MÚSICA]
>> CEREBRO Scassellati: Bienvenido a la serie CS50 AI.
Mi nombre es Scass, y hoy vamos para hablar de los sistemas de recomendación.
Ahora de recomendación sonidos sistemas como una especie de extraño nombre.
Suena como tal vez lo que debería ser sistemas de recomendación,
y que tipo de acuerdo con usted.
Pero estos son los sistemas que ayudan seleccione cosas similares siempre que sea
selecciona algo en línea.
Netflix, por ejemplo sugerirá otra películas que usted puede ser que desee ver.
O Pandora sugerirá diferente canciones que es posible que desee escuchar.
Amazon le sugerirá qué tipo de Otros productos que te pueden querer comprar.
Facebook incluso sugerir algunos de los otros amigos
que es posible que desee agregar.
Cada uno de estos sistemas funcionan con el mismo tipo básico de algoritmo,
y eso es lo que estamos va a hablar hoy.
>> Ahora bien, estos algoritmos son sorprendentemente grandes empresas.
Netflix hace unos años en 2009 ofreció un $ 1.000.000
premio si usted podría mejorar su sistema de recomendación en sólo un 10%.
Que el 10%, sin embargo, representa una cantidad sustancial de los negocios.
Las estimaciones son difíciles de conseguir, pero muchas personas
Creemos que estas recomendaciones sistemas para una compra en línea
sistema como Amazon conducen a alguna parte entre 10% y 25% mayores ingresos.
Así que usted puede imaginar el tipo de volumen que eres
hablando de cuando pensamos en incluso estos pequeños algoritmos.
>> Así que vamos a obtener algunos ejemplos.
¿Cómo es que estos sistemas funcionan realmente?
No son dos básica tipos de algoritmos que
están en juego cuando hablamos de recomendaciones de generación.
Las primeras se denominan filtrado basado en contenido.
Y el filtrado basado en contenido se basa sobre similitudes entre los elementos
a sí mismos, es decir, entre dos películas o dos canciones o dos artículos comprados.
Vamos a utilizar películas como un ejemplo, pero esto
podría aplicarse, en realidad, a cualquier tipo de objeto que estamos buscando.
>> Así que si pienso en algunos películas del año pasado,
Vi Inside Out con mis hijos, les encantó.
Pero también tuvimos una elección.
Podríamos haber ido a ver a los esbirros, podríamos visto Edad de Ultron,
o podríamos haber visto Hombre Hormiga en los teatros.
>> Para cualquiera de estos películas, podríamos imaginar
la generación de una lista de características o cualidades de los diferentes películas.
Así, por ejemplo, podría considerar cuáles de esas películas están animados.
Bueno, tanto Inside Out y esbirros están animados.
Ni la edad ni de Ultron Hombre Hormiga son películas animadas.
Y yo podía imaginar edificio una estructura, una tabla que
enumera cada una de estas propiedades.
Están animados o no?
Entonces yo podría añadir más características a esta tabla
mediante la adición de más filas en esta estructura.
Yo podría preguntar si No son películas de Marvel.
Bueno, Inside Out y Minions No son las películas de Marvel,
Edad de Ultron y Ant hombre ciertamente lo son.
>> Y yo podría hacer cualquier tipo de diferentes calidades
que yo quería, cualquier tipo de características que podría ser importante para mí.
¿Tienen un super villano?
Bueno, no hay súper villano en el interior , Pero los hay en Minions
y en, obviamente, la dos películas de superhéroes.
>> Yo también podría preguntarle cosas como, bueno, no pasan la prueba Bechdel?
¿Hay dos nombrados personajes femeninos que
pasar algún cantidad significativa de tiempo tener una conversación que
no involucrar a los hombres en el elenco?
Bueno, en este caso, Inside Out pasa la prueba, Minions falla, Age of Ultron
pasa la prueba, y no Ant Man.
Cualquiera de estas características Lo que podía pensar
como importantes para algunas personas.
>> Yo también podría preguntarle cosas como son Hay alguna gente en estas películas que
son ex alumnos de digamos, Parques y Recreación, uno de mis programas favoritos.
Bueno, Inside Out cuenta con Amy Poehler, que es una de Antiguos Alumnos.
Eso cuenta.
Jon Hamm estaba en Minions.
Paul Rudd estaba en Ant Man, pero nadie en Age of Ultron estaba en Parques y Req
así como.
Así que puedo construir esta lista de características, y que pudieron realmente
ser cualquier cosa sobre las películas.
Podrían ser de lo relación de aspecto que se rodó en,
que podría ser el número de escaños que vendido en su primer fin de semana.
Cualquier característica que quiero genero que puedo poner en esta tabla.
>> Ahora, en este caso, he construido todo tipo de valores de lingotes,
sí o no, pasar o fallar, pero podrían ser cualquier cosa.
Podrían ser valores arbitrarios.
Para el filtrado de contenidos basado, lo que vamos a hacer
es que vamos a tener en cuenta dos columnas de esta tabla
y ver lo similares que son.
Así, por ejemplo, si fue a ver Inside Out,
Yo podría preguntar, ¿cuáles son las otras películas que podría estar dispuesto a ir a ver.
Es decir, lo dispuesto a gastar mi dinero para ir a ver.
Y puedo comparar esto con sólo tomar las dos columnas, uno desde adentro hacia afuera
y uno de cualquiera de los otras películas, y sólo ver
cuántos de su partido de características.
Así que si comparo Inside Out con esbirros, bueno, hay
tres cosas aquí que los partidos.
Ambos están animados, ninguno de los dos son las películas de Marvel, y dos de ellos
tener Parques y Req ex alumnos.
Así que podría contar hasta cómo muchos partidos hubo,
y en este caso no habría tres.
>> Pues si yo comparo Inside Out con digamos Edad de Ultron,
Puedo mirar abajo en la lista y decir, bueno, hay
sólo una cosa que coincide allí.
Ambos pasan la prueba de Bechtel, por lo que va a haber una puntuación de uno.
Y entre Inside Out y el Hombre Hormiga, otra vez
puede comparar línea por línea el número de cosas coinciden entre ellos dos.
Bueno, una ANIMADA, uno no es.
Uno es una película de Marvel, uno no es.
Uno tiene un súper villano, la otra no.
Se pasa la Bechtel prueba, una falla,
pero ambos tienen Parques y Req alumnos, así que de nuevo, obtiene una puntuación de uno.
>> Así que si yo estábamos buscando películas que eran similares a Inside Out,
Yo podría buscar las películas que tienen el puntaje más alto dentro de este contenido
esquema de filtrado.
Así que en este caso, consideraría Minions
para estar más cerca y más probable que sea algo
que iba a gastar dinero para ver que era de Ultron o el Hombre Hormiga.
>> Basada Estos contenidos sistemas de filtrado se basan simplemente
en las propiedades de las películas, y por lo que
puede construir estos sólo conociendo algo acerca de los productos
eso tengo.
Puedo usar cualquier tipo de características que me gustaría,
y puedo construir más características complejas que
involucrar a la prueba más compleja de una calidad a medida que avanzo.
De hecho, incluso puedo ver esta tabla no como un objeto estático,
sino más bien como siendo dimensiones dentro de un espacio de estado mayor.
Y puedo empezar a hablar de la distancias entre diferentes películas.
Estas son todas las cosas que sabemos cómo
hacer uso de los tipos de estructuras de datos que ya hemos visto en el CS50.
Así que me podía imaginar edificio una estructura de datos para una película.
Hay una estructura que tengo construida llamada película,
y tiene cinco entradas booleanas en el mismo.
¿Está animado, ¿es una maravilla película, ¿tiene un super villano,
Qué pasa la prueba Bechdel, y hay Parques y Rec alumnos en ella?
Y cada uno de ellos es un estructura de datos que I
puede ocupar para esa película particular.
>> A continuación, calcular si dos películas son similares o no,
lo que su puntuación es, que podía escribir un conjunto de pseudocódigo que
genera esa misma función.
Es decir, dado un poco de película M1, que pueda encontrar la película más parecida a ella
siguiendo el pseudocódigo.
Considero que es el mejor sistema que he encontrado anotando,
la mejor comparación que he encontrado.
Por cada otra película Voy a ir a través,
Voy a poner una puntuación partido igual a 0.
Y voy a ir a través de esa película, un M1, la película
Empecé con, lo comprobaré todos y cada función
que tienen que ver si hay un partido.
Si hay un partido, voy a incrementar el resultado del partido.
Y si al final el resultado del partido que He es mejor que el actual mejor
anotar, entonces voy a recordar que la mejor puntuación,
y este es el mejor partido que tengo.
Al final, sea cual sea la película está sentado en el mejor partido,
eso es el más cercano He sido capaz de llegar.
Así basa estos contenidos sistemas de filtrado,
todos ellos tienen esta estructura básica.
Se basan en el artículo en cuestión y nada
sobre cualquiera de las preferencias del usuario.
>> El otro mecanismo que utilizamos en para construir sistemas de recomendación
se llama filtrado colaborativo.
Filtrado colaborativo se basa en no las cualidades del objeto en sí mismo,
pero ¿cómo las personas, otros usuarios, es decir, cómo han
respondido a estos mismos objetos.
Así que para continuar con mi ejemplo de la película, Yo podría tomar un montón de mis amigos
y estudiar acerca de si es o No les gustaba películas particulares.
Ahora diferentes lugares generarán estos datos de diferentes maneras.
Usted puede examinar directamente a su usuarios, o usted podría
ver lo que deciden si usted es, por ejemplo Netflix.
¿Qué películas tenían que ven?
>> Yo podría cuestionar un poco de mi amigos aquí y saber
que Jason le gusta cada película que vio, no sorprendiendo allí.
Andy solamente le gusta Minions y tía hombre.
Sarah le gusta Inside Out y Vengadores, lo contrario de Andy.
Y Sam, bueno, Sam le gusta todas las películas de superhéroes,
pero ninguna de las películas animadas.
>> Entonces yo podría preguntar por alguna nueva individual, algún otro usuario como yo
y pedir, bueno, si me ha gustado una de estas películas,
se puede hacer una predicción sobre que otras películas que podría gustar.
Es decir, si me gustaba el interior Out, que otras películas
estoy probable que también desee ver en base a lo que la gente hacía similares?
Es decir, voy a ir a través de un Voy a filtrar a través de esta lista
y encontrar sólo el personas que también les gustaba
Inside Out, que coincidía con mis preferencias.
Bueno, eso significa que Andy y Sam, que no le gustaba Inside Out,
así que no voy a considerarlos.
Voy a deshacerse de su los datos para esta comparación.
>> Entonces puedo ver lo que Jason y Sarah pensó y recuento
hasta que de las películas que veían que no lo hice, si les gustaron
O no.
Yo sólo podía contar hasta, digamos votos.
Así Minions, por ejemplo podría tener uno votar por ella, ya que Jason le gustaba.
Tanto Jason y Sarah le gusta Vengadores, por lo que tendría dos votos.
Y sólo Jason le gusta Ant Man, por lo que sería conseguir un voto.
Así que si tuviera que luego recomendar por mí mismo cuál de estas películas
Yo podría ser más propensos a ver, lo haría que elegir Edad de Ultron: Vengadores.
>> Así que para cualquiera de estos sistemas, ahora estoy usando
datos que no fue generada por la película en sí, sino de las preferencias
de otros usuarios.
Esto tiene algunas dificultades, por supuesto.
¿Qué pasa si usted no tiene ningún otro usuario?
Bueno, eso se llama problema de inicio.
Tienes que tener un poco de cantidad de datos antes de que esté
capaz de empezar a hacer estas recomendaciones.
La otra cara de esto es una vez de empezar a recoger datos,
si usted puede obtener más y más y más datos,
obtendrá mejor y mejor y mejores recomendaciones.
>> Ahora podríamos traducir esto en código.
Podemos definir una diferente tipo de estructura,
en este caso lo vamos a llamar a un usuario.
Y se puso sobre las características qué películas este usuario gustaban.
¿Les gustó Inside Out, Minions, vengadores, y el Hombre Hormiga.
Entonces podríamos generar algunos pseudocódigo para seguir
el mismo procedimiento que he usado antes.
Es decir, dado un determinado usuario x, vamos a recomendar una película
que x puede gustar.
Podemos ir a través y para todas las películas,
podemos inicializar una puntuación para esa película sea 0.
Y entonces podemos encontrar todo de los otros usuarios que
tener las mismas preferencias que x.
Y a continuación, para cada película que les gustaba,
vamos a incrementar el puntaje de esa película.
Sea cual sea la película en el extremo tiene la puntuación más alta,
esa es la que yo debería recomendar.
>> Nada de esto es realmente oscura.
Nada de esto es un reto.
Estos son todos los algoritmos básicos que se puede aplicar hoy.
>> Ahora, con los sistemas de recomendación de bienes, se encuentra con algunos problemas.
¿Qué pasa si no hay nadie que coincide exactamente con sus preferencias?
¿Qué pasa si hay usuarios que son exactamente sus preferencias,
pero entonces desviarse drásticamente de lo que te gusta?
Me gusta clásico Godzilla películas, pero mi esposa no lo hace.
Me gusta verlos, mi Cuenta de Netflix los contiene.
De Su no.
¿Qué sucede cuando empezamos mezcla de datos de este tipo?
Estos son todos los desafíos que puede superar,
que acaba de tomar un poco algoritmos más complejos.
>> Ahora, en el mundo real, lo que son en realidad operativa,
Cómo usamos el filtrado basado en contenido o Cómo usamos filtrado colaborativo?
Y la respuesta es que utilizamos los dos.
Casi todos los principales usuarios en este caso, Amazon, Facebook, Netflix,
Pandora, todos ellos utilizan una combinación de estos diferentes sistemas de recomendación.
Y cuando combinamos las opciones de cada uno, los llamamos sistemas híbridos.
Ellos de alguna manera dependen de la características del objeto en sí mismo,
y de alguna manera dependen de las preferencias de los otros usuarios.
Estos sistemas híbridos, son un gran negocio,
y son lo que está vigente en la actualidad.
>> Así que muchas gracias por acompañarme.
Espero que hayas conseguido un poco poco de una comprensión de lo
hace que estos sistemas de trabajo.
La próxima vez que estés en línea, recuerda que No sólo le influir en sus decisiones,
pero potencialmente todo el mundo es así.
Gracias de nuevo.