1 00:00:00,000 --> 00:00:03,416 >> [Muziek] 2 00:00:03,416 --> 00:00:05,860 3 00:00:05,860 --> 00:00:08,180 >> BRAIN Scassellati: Welcome het CS50 AI series. 4 00:00:08,180 --> 00:00:12,600 Mijn naam is Scass, en vandaag gaan we om te praten over recommender systemen. 5 00:00:12,600 --> 00:00:15,780 Nu recommender systemen geluiden als soort van een vreemde naam. 6 00:00:15,780 --> 00:00:18,630 Het klinkt als misschien het moet zijn aanbeveling systemen, 7 00:00:18,630 --> 00:00:21,290 en ik soort met u eens. 8 00:00:21,290 --> 00:00:26,110 Maar dit zijn de systemen die helpen selecteert soortgelijke dingen wanneer 9 00:00:26,110 --> 00:00:28,210 je iets online te selecteren. 10 00:00:28,210 --> 00:00:32,119 Netflix, bijvoorbeeld zullen andere voorstellen films die je zou willen om naar te kijken. 11 00:00:32,119 --> 00:00:36,660 Of Pandora zal verschillende voorstellen nummers die je zou willen om naar te luisteren. 12 00:00:36,660 --> 00:00:40,940 Amazon zal voorstellen welke soorten andere producten die u zou willen kopen. 13 00:00:40,940 --> 00:00:43,520 Facebook zal zelfs suggereren een aantal van de andere vrienden 14 00:00:43,520 --> 00:00:45,440 die je zou willen toevoegen. 15 00:00:45,440 --> 00:00:49,800 Al deze systemen maken gebruik dezelfde fundamentele aard van de algoritme, 16 00:00:49,800 --> 00:00:52,520 en dat is wat we gaan om te praten over vandaag. 17 00:00:52,520 --> 00:00:56,860 >> Nu zijn deze algoritmen verrassend big business. 18 00:00:56,860 --> 00:01:01,130 Netflix een paar jaar geleden in 2009 bood een $ 1.000.000 19 00:01:01,130 --> 00:01:07,240 prijs als u zou kunnen verbeteren van hun aanbeveling systeem met slechts 10%. 20 00:01:07,240 --> 00:01:11,960 Dat 10%, maar vertegenwoordigt een aanzienlijke hoeveelheid van het bedrijfsleven. 21 00:01:11,960 --> 00:01:15,330 Schattingen zijn moeilijk te komen door, maar veel mensen 22 00:01:15,330 --> 00:01:19,050 geloven dat deze aanbeveling systemen voor een online aankoop 23 00:01:19,050 --> 00:01:25,729 systeem zoals Amazon leiden tot ergens tussen 10% en 25% hogere omzet. 24 00:01:25,729 --> 00:01:27,770 Dus je kunt voorstellen dat de soort volume dat u bent 25 00:01:27,770 --> 00:01:32,860 praten over wanneer we denken over zelfs deze kleine algoritmes. 26 00:01:32,860 --> 00:01:35,200 >> Dus laten we enkele voorbeelden. 27 00:01:35,200 --> 00:01:38,460 Hoe komt het dat deze systemen echt werken? 28 00:01:38,460 --> 00:01:40,773 Er zijn twee fundamentele soorten algoritmen die 29 00:01:40,773 --> 00:01:45,050 in het spel wanneer we praten over genereren van aanbevelingen. 30 00:01:45,050 --> 00:01:48,650 De eersten die worden genoemd inhoud gebaseerde filtering. 31 00:01:48,650 --> 00:01:53,410 En inhoud op basis filtering baseert op overeenkomsten tussen de artikelen 32 00:01:53,410 --> 00:02:00,370 zelf, dat is tussen de twee films of twee nummers of twee gekochte artikelen. 33 00:02:00,370 --> 00:02:03,190 We gaan om films te gebruiken als voorbeeld, maar dit 34 00:02:03,190 --> 00:02:07,850 van toepassing kunnen zijn, echt, voor elk type object dat we zoeken. 35 00:02:07,850 --> 00:02:13,330 >> Dus als ik denk aan wat films van het afgelopen jaar, 36 00:02:13,330 --> 00:02:16,799 Ik zag Inside Out met mijn kinderen, ze hielden ervan. 37 00:02:16,799 --> 00:02:17,840 Maar we hadden ook een keuze. 38 00:02:17,840 --> 00:02:21,350 We konden zijn gegaan naar Minions zien, we konden zien Leeftijd van Ultron, 39 00:02:21,350 --> 00:02:24,850 of we konden hebben gezien Ant Man in de theaters. 40 00:02:24,850 --> 00:02:27,580 >> Voor elk van deze films, kunnen we ons voorstellen 41 00:02:27,580 --> 00:02:33,320 het genereren van een lijst van functies of kwaliteiten over die verschillende films. 42 00:02:33,320 --> 00:02:37,190 Dus bijvoorbeeld, zou ik overwegen welke van die films zijn geanimeerd. 43 00:02:37,190 --> 00:02:39,960 Nou, beide Inside Out en Minions zijn geanimeerd. 44 00:02:39,960 --> 00:02:44,140 Noch Leeftijd van Ultron noch Ant Man zijn animatiefilms. 45 00:02:44,140 --> 00:02:47,040 En ik kan me voorstellen gebouw een structuur, een tafel die 46 00:02:47,040 --> 00:02:49,440 geeft elk van deze eigenschappen. 47 00:02:49,440 --> 00:02:51,790 Zijn ze geanimeerde of niet? 48 00:02:51,790 --> 00:02:54,780 Ik zou dan meer toevoegen functies om deze tabel 49 00:02:54,780 --> 00:02:58,380 door meer rijen in deze structuur. 50 00:02:58,380 --> 00:03:00,970 Ik kon vragen of niet dat ze Marvel films. 51 00:03:00,970 --> 00:03:04,010 Nou, Inside Out en Minions zijn niet Marvel films, 52 00:03:04,010 --> 00:03:06,715 Leeftijd van Ultron en Ant Man zeker zijn. 53 00:03:06,715 --> 00:03:09,100 >> En ik kon alle soorten vragen verschillende kwaliteiten 54 00:03:09,100 --> 00:03:12,080 dat ik wilde, alle soorten van functies dat zou kunnen zijn belangrijk voor me. 55 00:03:12,080 --> 00:03:13,440 Hebben ze een super schurk? 56 00:03:13,440 --> 00:03:16,700 Nou, er is geen super schurk in Inside Uit, maar er zijn degenen in Minions 57 00:03:16,700 --> 00:03:19,990 en, natuurlijk, de twee superhelden films. 58 00:03:19,990 --> 00:03:23,900 >> Ik kan ook dingen als, nou vraag, ze passeren de bechdeltest? 59 00:03:23,900 --> 00:03:27,280 Zijn er twee benoemd vrouwelijke personages die 60 00:03:27,280 --> 00:03:30,550 breng wat aanzienlijke hoeveelheid tijd met een gesprek dat 61 00:03:30,550 --> 00:03:34,400 niet de mensen in de cast te betrekken? 62 00:03:34,400 --> 00:03:39,870 Nou, in dit geval, Inside Out passeert de test, Minions mislukt, Age of Ultron 63 00:03:39,870 --> 00:03:42,990 de test doorstaat, en Ant Man mislukt. 64 00:03:42,990 --> 00:03:45,020 Elk van deze functies Ik kon denken 65 00:03:45,020 --> 00:03:48,660 als belangrijk voor sommige mensen. 66 00:03:48,660 --> 00:03:52,000 >> Ik zou ook dingen vragen, zoals zijn er mensen in deze films die 67 00:03:52,000 --> 00:03:57,190 zijn alumni van laten we zeggen, Parken en Recreatie, een van mijn favoriete shows. 68 00:03:57,190 --> 00:04:00,540 Nou, Inside Out heeft Amy Poehler, dat is een Alumni. 69 00:04:00,540 --> 00:04:01,530 Dat telt. 70 00:04:01,530 --> 00:04:04,110 Jon Hamm was Minions. 71 00:04:04,110 --> 00:04:08,600 Paul Rudd was Ant Man, maar niemand in Age of Ultron was in Parken en Req 72 00:04:08,600 --> 00:04:10,150 ook. 73 00:04:10,150 --> 00:04:12,990 Dus ik kan de opbouw van deze lijst functies, en ze konden echt 74 00:04:12,990 --> 00:04:14,710 van alles over de films. 75 00:04:14,710 --> 00:04:17,329 Ze kunnen wat beeldverhouding ze werden doodgeschoten in, 76 00:04:17,329 --> 00:04:21,630 het zou kunnen zijn hoeveel zetels ze verkocht op hun opening weekend. 77 00:04:21,630 --> 00:04:25,630 Een functie die ik wil genereren Ik kan in deze tabel gezet. 78 00:04:25,630 --> 00:04:29,600 >> Nu, in dit geval, ik heb gebouwd allerlei Bullion waarden, 79 00:04:29,600 --> 00:04:33,700 ja of nee, slagen of zakken, maar ze kunnen van alles zijn. 80 00:04:33,700 --> 00:04:36,690 Ze kunnen willekeurige waarden. 81 00:04:36,690 --> 00:04:39,070 Voor inhoudelijke filtering, wat we gaan doen 82 00:04:39,070 --> 00:04:42,810 is gaan we overwegen twee kolommen in de tabel 83 00:04:42,810 --> 00:04:45,660 en zie hoe vergelijkbaar ze zijn. 84 00:04:45,660 --> 00:04:48,640 Dus bijvoorbeeld als ik ging naar Inside Out te zien, 85 00:04:48,640 --> 00:04:53,640 Ik zou kunnen vragen, wat zijn de andere films dat ik zou bereid zijn om te gaan zien. 86 00:04:53,640 --> 00:04:56,890 Dat is wat bereid breng mijn geld te gaan zien. 87 00:04:56,890 --> 00:05:00,310 En ik kan dit vergelijken door gewoon te nemen de twee kolommen, één van Inside Out 88 00:05:00,310 --> 00:05:03,300 en één van elk van de andere films, en alleen het zien 89 00:05:03,300 --> 00:05:06,210 hoeveel van hun functies wedstrijd. 90 00:05:06,210 --> 00:05:09,660 Dus als ik vergelijk Inside Out met Minions, goed, er is 91 00:05:09,660 --> 00:05:10,910 drie dingen hier die wedstrijd. 92 00:05:10,910 --> 00:05:16,200 Ze zijn allebei geanimeerd, geen van hen zijn Marvel films, en beiden 93 00:05:16,200 --> 00:05:18,420 hebben Parken en Req alumni. 94 00:05:18,420 --> 00:05:20,420 Dus ik kon tellen hoe veel wedstrijden er waren, 95 00:05:20,420 --> 00:05:22,640 en in dit geval zou er drie zijn. 96 00:05:22,640 --> 00:05:26,450 >> Als ik vergelijk Inside Out met laten we zeggen Leeftijd van Ultron, 97 00:05:26,450 --> 00:05:28,430 Ik kan naar beneden kijken in de lijst en zeggen: goed, er is 98 00:05:28,430 --> 00:05:30,140 maar een ding dat er wedstrijden. 99 00:05:30,140 --> 00:05:34,560 Beiden langs de Bechtel-test, dus dat gaat om een ​​score van één zijn. 100 00:05:34,560 --> 00:05:36,770 En tussen Inside Out en Ant Man, ik weer 101 00:05:36,770 --> 00:05:41,420 kan vergelijken regel voor regel hoeveel dingen overeenkomen tussen de twee van hen. 102 00:05:41,420 --> 00:05:43,060 Nou, een geanimeerde, men is niet. 103 00:05:43,060 --> 00:05:44,970 Eén is een Marvel film, één niet. 104 00:05:44,970 --> 00:05:47,280 One heeft een super schurk, de andere niet. 105 00:05:47,280 --> 00:05:49,480 Men passeert de Bechtel test, een mislukt het, 106 00:05:49,480 --> 00:05:54,450 maar ze hebben allebei Parken en Req alumni, Dus nogmaals, het wordt een score van één. 107 00:05:54,450 --> 00:05:58,300 >> Dus als ik waren op zoek naar films die vergelijkbaar zijn met Inside Out waren, 108 00:05:58,300 --> 00:06:02,170 Ik kon kijken naar de films die hebben de hoogste score binnen deze inhoud 109 00:06:02,170 --> 00:06:03,952 filtering regeling. 110 00:06:03,952 --> 00:06:05,660 Dus in dit geval, ik zou Minions overwegen 111 00:06:05,660 --> 00:06:08,330 dichter en nog veel meer waarschijnlijk iets zijn 112 00:06:08,330 --> 00:06:13,250 dat ik geld zou uitgeven om te zien dan Leeftijd van Ultron of Ant Man. 113 00:06:13,250 --> 00:06:16,150 >> Deze content op basis filtersystemen slechts berust 114 00:06:16,150 --> 00:06:18,670 de eigenschappen van de films, en dus heb ik 115 00:06:18,670 --> 00:06:21,930 kunnen deze op te bouwen gewoon door te weten iets over de producten 116 00:06:21,930 --> 00:06:23,500 dat heb ik. 117 00:06:23,500 --> 00:06:26,050 Ik kan alle soorten van gebruik functies die ik zou willen, 118 00:06:26,050 --> 00:06:28,400 en ik kan meer bouwen complexe functies die 119 00:06:28,400 --> 00:06:33,060 omvatten meer complexe testen van een kwaliteit als ik ga mee. 120 00:06:33,060 --> 00:06:39,080 In feite kan ik zelfs deze tabel bekijken niet als een statisch object, 121 00:06:39,080 --> 00:06:43,110 maar eerder als afmetingen binnen een grotere staat ruimte. 122 00:06:43,110 --> 00:06:46,295 En ik kan beginnen te praten over de afstanden tussen de verschillende films. 123 00:06:46,295 --> 00:06:49,300 124 00:06:49,300 --> 00:06:51,050 Dit zijn allemaal dingen dat we weten hoe ze 125 00:06:51,050 --> 00:06:55,860 doen met behulp van de soorten datastructuren die we al hebben gezien in CS50. 126 00:06:55,860 --> 00:06:59,180 Dus ik kan me voorstellen gebouw een gegevensstructuur voor een film. 127 00:06:59,180 --> 00:07:02,390 Er is een structuur die ik heb geconstrueerd genoemd film 128 00:07:02,390 --> 00:07:04,369 en heeft vijf ingangen Boolean daarin. 129 00:07:04,369 --> 00:07:07,160 Is het geanimeerd, is het een Marvel film, heeft het een super schurk, 130 00:07:07,160 --> 00:07:11,047 doet het langs de bechdeltest en zijn er Parken en Rec alumni in het? 131 00:07:11,047 --> 00:07:12,880 En elk van deze is een gegevensstructuur die I 132 00:07:12,880 --> 00:07:16,330 kan bezetten voor die film. 133 00:07:16,330 --> 00:07:20,090 >> Berekenen vervolgens of twee films vergelijkbaar of niet, 134 00:07:20,090 --> 00:07:23,330 wat hun score is, ik kon schrijf een set van pseudocode die 135 00:07:23,330 --> 00:07:25,120 genereert dat dezelfde functie. 136 00:07:25,120 --> 00:07:30,100 Dat is, gezien een aantal film M1, kan ik vind de meest gelijkende film te 137 00:07:30,100 --> 00:07:32,430 door het volgen van de pseudocode. 138 00:07:32,430 --> 00:07:37,040 Ik beschouw dat is de beste scoren systeem dat ik heb gevonden, 139 00:07:37,040 --> 00:07:39,920 de beste vergelijking die ik heb gevonden. 140 00:07:39,920 --> 00:07:41,890 Voor elke andere film Ik ga om te gaan door, 141 00:07:41,890 --> 00:07:44,920 Ik zal een match score gelijk aan 0 te stellen. 142 00:07:44,920 --> 00:07:47,920 En ik ga door dat film, een M1, de film 143 00:07:47,920 --> 00:07:51,500 Ik ben begonnen met, ik zal controleren elke functie 144 00:07:51,500 --> 00:07:53,650 dat ze moeten zien Als er een match. 145 00:07:53,650 --> 00:07:56,460 Als er een match, zal ik verhogen de wedstrijd score. 146 00:07:56,460 --> 00:08:00,480 En als aan het einde van de wedstrijd score die Ik heb is beter dan de huidige beste 147 00:08:00,480 --> 00:08:03,310 scoren, dan zal ik Vergeet niet dat de beste score, 148 00:08:03,310 --> 00:08:05,820 en dit is de beste wedstrijd die ik heb. 149 00:08:05,820 --> 00:08:09,450 Aan het einde, welke film zit in de beste match, 150 00:08:09,450 --> 00:08:12,580 dat is de dichtstbijzijnde Ik ben in staat om te komen geweest. 151 00:08:12,580 --> 00:08:14,890 Dus deze inhoudelijke filtersystemen, 152 00:08:14,890 --> 00:08:16,900 ze hebben allemaal deze basisstructuur. 153 00:08:16,900 --> 00:08:20,910 Zij vertrouwen op het item in kwestie en niets 154 00:08:20,910 --> 00:08:24,590 over een van de gebruiker voorkeuren. 155 00:08:24,590 --> 00:08:29,010 >> Het andere mechanisme dat we gebruiken bestelt aanbeveling systemen te bouwen 156 00:08:29,010 --> 00:08:31,790 wordt collaborative filtering genoemd. 157 00:08:31,790 --> 00:08:36,520 Collaborative filtering vertrouwt op niet de eigenschappen van het voorwerp zelf, 158 00:08:36,520 --> 00:08:40,010 maar hoe mensen, andere gebruikers die is, hoe ze hebben 159 00:08:40,010 --> 00:08:43,370 reageerde op dezelfde objecten. 160 00:08:43,370 --> 00:08:48,720 Dus door te gaan met mijn film bijvoorbeeld, Ik kan een heleboel van mijn vrienden te nemen 161 00:08:48,720 --> 00:08:53,180 en enquête hen over de vraag of niet ze graag bijzondere films. 162 00:08:53,180 --> 00:08:56,560 Nu verschillende plaatsen zal genereren deze gegevens op verschillende manieren. 163 00:08:56,560 --> 00:08:59,630 U kunt direct uw enquête gebruikers, of je kon gewoon 164 00:08:59,630 --> 00:09:03,120 zien wat ze kiezen als je bent, bijvoorbeeld Netflix. 165 00:09:03,120 --> 00:09:05,640 Welke films hebben ze kijken? 166 00:09:05,640 --> 00:09:08,670 >> Ik zou een aantal van mijn vragen vrienden hier en ontdek 167 00:09:08,670 --> 00:09:12,910 dat Jason hield elke film hij zag er niet verrassen. 168 00:09:12,910 --> 00:09:15,590 Andy hield slechts Minions en tante Man. 169 00:09:15,590 --> 00:09:19,330 Sarah vond Inside Out en Wrekers, het tegenovergestelde van Andy. 170 00:09:19,330 --> 00:09:22,200 En Sam, nou ja, Sam vond alle superhelden films, 171 00:09:22,200 --> 00:09:24,960 maar geen van de geanimeerde films. 172 00:09:24,960 --> 00:09:30,630 >> Ik zou dan te vragen voor een aantal nieuwe individu, een andere gebruiker zoals ikzelf 173 00:09:30,630 --> 00:09:34,520 en vragen, goed, als ik vond één van deze films, 174 00:09:34,520 --> 00:09:38,600 kunt u een voorspelling over te maken die andere films die ik zou willen. 175 00:09:38,600 --> 00:09:41,890 Dat wil zeggen, als ik vond Inside Out, die andere films 176 00:09:41,890 --> 00:09:48,460 ben ik waarschijnlijk ook willen zien gebaseerd op wat vergelijkbare mensen deden? 177 00:09:48,460 --> 00:09:51,640 Dat wil zeggen, ik ga door middel van een Ik zal filteren door middel van deze lijst 178 00:09:51,640 --> 00:09:54,520 en vind alleen de mensen die ook graag 179 00:09:54,520 --> 00:09:57,680 Inside Out, die mijn voorkeuren op elkaar afgestemd. 180 00:09:57,680 --> 00:10:00,824 Nou, dat betekent dat Andy en Sam, ze niet willen Inside Out, 181 00:10:00,824 --> 00:10:02,240 dus ik ben niet van plan om hen te overwegen. 182 00:10:02,240 --> 00:10:06,130 Ik ga om zich te ontdoen van hun gegevens voor deze vergelijking. 183 00:10:06,130 --> 00:10:09,750 >> Ik kan dan kijken naar wat Jason en Sarah dacht en tally 184 00:10:09,750 --> 00:10:13,780 up die van de films die ze zagen dat ik niet, of ze hen graag 185 00:10:13,780 --> 00:10:15,150 of niet. 186 00:10:15,150 --> 00:10:17,820 Ik kon gewoon tellen, laten we zeggen stemmen. 187 00:10:17,820 --> 00:10:23,360 Dus Minions, bijvoorbeeld zou men hebben stemmen voor, omdat Jason vond het leuk. 188 00:10:23,360 --> 00:10:27,170 Zowel Jason en Sarah vond Avengers, dus het zou hebben twee stemmen. 189 00:10:27,170 --> 00:10:30,700 En alleen Jason vond Ant Man, dus het zou een stem te krijgen. 190 00:10:30,700 --> 00:10:34,870 Dus als ik moest dan raden voor mezelf welke van deze films 191 00:10:34,870 --> 00:10:41,470 Ik zou kunnen zijn het meest waarschijnlijk om naar te kijken, zou ik moeten Age of Ultron kiezen: Avengers. 192 00:10:41,470 --> 00:10:44,490 >> Dus voor elk van deze systemen, nu ben ik met behulp van 193 00:10:44,490 --> 00:10:49,260 gegevens die niet gegenereerd over film zelf, maar om de voorkeuren 194 00:10:49,260 --> 00:10:51,960 van andere gebruikers. 195 00:10:51,960 --> 00:10:54,150 Dit heeft een aantal problemen natuurlijk. 196 00:10:54,150 --> 00:10:55,920 Wat als je geen andere gebruikers? 197 00:10:55,920 --> 00:10:58,770 Nou, dat is opstartprobleem genoemd. 198 00:10:58,770 --> 00:11:03,760 Je moet sommige hebben hoeveelheid gegevens voordat u bent 199 00:11:03,760 --> 00:11:07,560 kunnen beginnen met het maken deze aanbevelingen. 200 00:11:07,560 --> 00:11:10,940 De keerzijde daarvan is ooit je begint met het verzamelen van gegevens, 201 00:11:10,940 --> 00:11:13,870 als u meer kunt verzamelen en meer en meer data, 202 00:11:13,870 --> 00:11:17,850 je beter en beter en betere aanbevelingen. 203 00:11:17,850 --> 00:11:21,650 >> Nu kunnen we vertalen dit in de code ook. 204 00:11:21,650 --> 00:11:23,860 We kunnen een andere definiëren soort structuur, 205 00:11:23,860 --> 00:11:25,720 in dit geval zullen we het noemen van een gebruiker. 206 00:11:25,720 --> 00:11:30,970 En het heeft functies over welke films deze gebruiker vond. 207 00:11:30,970 --> 00:11:34,560 Hebben ze willen Inside Out, Minions, Avengers, en Ant Man. 208 00:11:34,560 --> 00:11:36,660 We zouden dan te genereren wat pseudocode te volgen 209 00:11:36,660 --> 00:11:39,460 dezelfde procedure die ik eerder gebruikt. 210 00:11:39,460 --> 00:11:43,460 Dat wil zeggen bij een bepaalde gebruiker x, laten we raden een film 211 00:11:43,460 --> 00:11:46,107 x dat zou willen. 212 00:11:46,107 --> 00:11:47,940 We kunnen gaan door en voor alle van de films, 213 00:11:47,940 --> 00:11:51,410 kunnen we een score initialiseren voor die film zijn 0. 214 00:11:51,410 --> 00:11:54,080 En dan kunnen we allemaal vinden andere gebruikers die 215 00:11:54,080 --> 00:11:57,630 hebben dezelfde voorkeuren als x. 216 00:11:57,630 --> 00:11:59,990 En dan voor elke film die ze wilden, 217 00:11:59,990 --> 00:12:02,340 zullen we de score van die film te verhogen. 218 00:12:02,340 --> 00:12:05,010 Welke film in de einde heeft de hoogste score, 219 00:12:05,010 --> 00:12:07,600 dat is degene die ik zou aanraden. 220 00:12:07,600 --> 00:12:09,890 >> Niets van dit alles is echt duister. 221 00:12:09,890 --> 00:12:11,600 Niets van dit alles is een uitdaging. 222 00:12:11,600 --> 00:12:15,810 Dit zijn allemaal elementaire algoritmen dat je zou kunnen implementeren vandaag. 223 00:12:15,810 --> 00:12:20,050 >> Nu met echte recommender systemen je in de problemen. 224 00:12:20,050 --> 00:12:23,300 Wat als er niemand die exact overeenkomt met uw voorkeuren? 225 00:12:23,300 --> 00:12:27,170 Wat als er gebruikers zijn die zijn precies uw voorkeuren, 226 00:12:27,170 --> 00:12:30,480 maar dan wijken drastisch van wat je wilt? 227 00:12:30,480 --> 00:12:36,210 Ik hou van klassieke Godzilla films, maar mijn vrouw niet. 228 00:12:36,210 --> 00:12:39,430 Ik wil om ze te bekijken, mijn Netflix-account bevat hen. 229 00:12:39,430 --> 00:12:41,800 Haar's niet. 230 00:12:41,800 --> 00:12:45,230 Wat gebeurt er als we beginnen mengen van data als deze? 231 00:12:45,230 --> 00:12:47,690 Dit zijn allemaal uitdagingen dat je kunt overwinnen, 232 00:12:47,690 --> 00:12:51,900 ze net iets te nemen meer complexe algoritmen. 233 00:12:51,900 --> 00:12:56,420 >> Nu in de echte wereld, die daadwerkelijk operationeel, 234 00:12:56,420 --> 00:12:59,980 doen we op basis van inhoud filtering te gebruiken of we collaborative filtering gebruiken? 235 00:12:59,980 --> 00:13:01,910 Het antwoord is dat we gebruiken beide. 236 00:13:01,910 --> 00:13:06,350 Bijna alle grote gebruikers dit geval, Amazon, Facebook, Netflix, 237 00:13:06,350 --> 00:13:11,200 Pandora, ze gebruiken allemaal een combinatie van aanbeveling deze verschillende systemen. 238 00:13:11,200 --> 00:13:16,520 En als we combineren de keuzes uit elk, noemen we ze hybride systemen. 239 00:13:16,520 --> 00:13:20,750 Zij op een bepaalde manier afhankelijk zijn van de kenmerken van het object zelf, 240 00:13:20,750 --> 00:13:24,710 en in sommige opzichten zij afhangen de voorkeuren van andere gebruikers. 241 00:13:24,710 --> 00:13:28,120 Deze hybride systemen, ze zijn big business, 242 00:13:28,120 --> 00:13:30,830 en ze zijn wat de huidige vandaag. 243 00:13:30,830 --> 00:13:32,839 >> Dus heel erg bedankt voor het samenvoegen van mij. 244 00:13:32,839 --> 00:13:35,380 Ik hoop dat je hebt gekregen een beetje beetje een begrip van wat 245 00:13:35,380 --> 00:13:37,430 maakt deze systemen werken. 246 00:13:37,430 --> 00:13:41,980 Volgende keer dat je online bent, bedenk dan dat niet alleen van invloed zijn je keuzes, 247 00:13:41,980 --> 00:13:44,680 maar potentieel iedereen is zo goed. 248 00:13:44,680 --> 00:13:46,480 Nogmaals bedankt. 249 00:13:46,480 --> 00:13:47,186