Min virksomhet er franchising. Vurderinger. Suksesshistorier. Ideer. Arbeid og utdanning
Nettstedsøk

anbefalingssystem. Absolutt brukervennlighet

Da anbefalingssystemer så vidt begynte å bli diskret implementert på ulike ressurser, virket det som et fint tillegg til selvsøkingsprosessen. Når utvalget av produkter eller innhold er stort nok, blir søket til en spennende reise med ofte uforutsigbare resultater. Jeg har for eksempel aldri vært interessert i skrekkfilmer, men foretrekker filmer av en litt annen retning, men takket være tilfeldig svermeri i innhold, snublet jeg en dag over klassikeren hellraiser, en tilfeldig visning som gjorde et sterkt og uutslettelig inntrykk på meg. Jeg er sikker på at hver enkelt av leserne minst en gang beriket seg selv i kulturell eller estetisk forstand nettopp takket være tilfeldig søk og tilfeldige handlinger. På den annen side oppdaget jeg mye interessant for meg selv ved hjelp av anbefalingene som tematiske ressurser gir meg. Mange filmer, bøker, musikk eller produkter ble kjent for meg (og interessante) bare på grunn av den vellykkede driften av anbefalingssystemet. Fortellende, nå stoler jeg nesten alltid på anbefalinger og ser mye sjeldnere etter noe på egen hånd, fordi det rett og slett ikke er tid igjen til sistnevnte!

Denne tilstanden forverres av det faktum at jeg ser i hvilken grad anbefaleralgoritmer har begynt å forstå meg. Hvis tidligere vellykkede treff ikke skjedde så ofte, interesserer i dag minst en halvpart av de anbefalte tingene meg i en eller annen grad. Og når jeg likevel prøver, i stedet for apatisk aksept av det som tilbys meg, å finne noe som er verdt på egenhånd, gir jeg raskt opp under presset av en utrolig, enestående overflod. Og jo lenger, jo klarere blir bildet av den ikke så fjerne fremtiden, når den omliggende virkeligheten kontinuerlig vil tilpasse seg din personlighet, stadig transformere og lære. Aldri før i menneskehetens historie har komfort vært så illevarslende absolutt. Og aldri før har smutthull for utrolige tilfeldige funn blitt fjernet fra bruk så raskt og kategorisk.

Å akseptere den kommende fremtiden som den er, er det verdt å lære å vurdere den kritisk, identifisere tvilsomme eller til og med mørke sider med samme iver som vi streber etter å bruke innovasjoner i hverdagen som gjør vår lot enklere. La oss prøve å forstå temaet for samtalen vår i dag.

Filtreringsmetoder brukt i anbefalingssystemer

Samarbeidsfiltrering

Samarbeidsfiltrering er mye brukt, ikke minst på grunn av den relative enkle implementeringen. Prinsippet for driften er faktisk enkelt, selv om det kan deles inn i to forskjellige tilnærminger.

Den brukerbaserte tilnærmingen tar hensyn til likheten mellom en gitt bruker og andre brukere som er involvert i systemet. For eksempel, hvis Vasily vurderte Lady Gaga, Oasis og Led Zeppelin positivt, så kan Anastasia, som elsker Lady Gaga og Led Zeppelin, godt prøve å tilby Oasis.

Konseptet med objektmatching (henholdsvis gjenstandsbasert), analyserer tvert imot selve objektene og avslører deres likhet med de som Vasily en gang likte. I praksis ser det slik ut – Vasily likte en gang Radiohead og Blur, hvorfor tilbyr vi ham ikke Oasis også?

Samarbeidsfiltrering lar deg få svært nøyaktige og relevante anbefalinger basert på analyse og sammenligning av forskjeller mellom brukere med lignende oppførsel.

Vasily og Anastasia: gjensidige automatiske anbefalinger basert på forskjeller i preferanser.

Innholdsfiltrering

Innholdsfiltrering bygger interne koblinger mellom de tilbudte varene eller innholdet. Dette enkle prinsippet manifesteres i anbefalingen til brukeren av objekter som ligner de han tidligere hadde valgt. Hvis du for eksempel kjøper en gitarmanual i en bokhandel, vil du automatisk bli tilbudt andre populære veiledninger eller manualer av samme forfatter. Et stort pluss med anbefalingssystemer som bruker prinsippet om innholdsfiltrering, er muligheten til å interessere en ny bruker med tilbud bokstavelig talt fra hans første forbrukertrinn. Du trenger ikke å samle inn data om en persons preferanser i lang tid, du kan umiddelbart inkludere den besøkende i arbeidet med ressursen. En viktig fordel med innholdsfiltrering er også muligheten til å anbefale til brukeren de objektene som ikke blir verdsatt og forbigått av andre brukere. Det siste punktet oppstår ofte ved bruk av samarbeidsmetoden.

Innholdsfiltrering ignorerer brukernes meninger om bestemte objekter fullstendig. Ved å bygge forbindelser rent mellom objektene selv, har vi muligheten til å umiddelbart, uten å samle inn vurderinger og ytterligere personlig informasjon, tilby en person noe som ligner på stillingen som interesserte ham. Ved å ekskludere brukeropplevelse fra anbefalingssystemet som et grunnleggende stoff, ser vi ut til å løse problemet med den såkalte. "kald start", når sparsomheten av brukerdata hindrer systemet i å generere personlige anbefalinger. Imidlertid er ulempen med innholdsfiltrering helt upassende, og noen ganger rett og slett latterlige anbefalinger som "Kjøpte du en Toyota RAV4? Du kan også være interessert i Toyota Highlander!»

En annen vanskelighet knyttet til bruken av prinsippet om innholdsfiltrering er den imponerende mengden arbeid med å bygge relasjoner mellom alle objekter i systemet. Men den største ulempen med denne metoden er uttrykt i et veldig lavt, og noen ganger ganske betinget, treff på målet. Innholdsfiltrering innebærer ikke en høy grad av personalisering, så nøyaktigheten av anbefalingene er relativt lav.

Kunnskapsbasert filtrering (Kunnskapbasert systemer)

Systemer av denne typen er mye brukt i nettbutikker. I hovedsak er kunnskapsbaserte anbefalinger lik den forrige innholdsfiltreringsmetoden, men slike algoritmer bruker en dypere analyse av objekter, og bygger forbindelser mellom dem ikke i henhold til banale likhetskriterier, men basert på sammenhengen mellom visse produktgrupper.

I praksis ser det slik ut - når du kjøper for eksempel en smarttelefon, tilbyr siden deg tilbehør som passer for bruk med din nye enhet. Det kan være deksler, hodetelefoner, minnekort og sånne ting. Du kan i tillegg stimulere kjøperen ved å gi rabatt på tilbehør, noe som kan være svært nyttig i forbindelse med anskaffelse av en ny enhet.

Kunnskapsbaserte anbefalinger viser gode resultater, og øker omsetningen til store nettverkshandelsplattformer med titalls prosent. I tillegg, i motsetning til innholdsfiltrering, er denne typen anbefalinger svært nøyaktige, og tilbyr brukeren det han eller hun virkelig trenger.

Hvis du er interessert i nøyaktige anbefalinger, bør du definitivt vurdere å implementere et kunnskapsbasert system på ressursen din. I likhet med innholdsfiltrering studerer og analyserer et kunnskapsbasert anbefalingssystem forholdet mellom objekter (produkter), men tar i tillegg hensyn til en rekke tilleggsalternativer knyttet til de individuelle egenskapene til en bestemt bruker.

a) Brukerønsker. En situasjon kjent for alle - nettstedet ber brukeren om å angi de ønskede egenskapene, hvoretter det tilbyr produkter som passer for forespørselen.

Yandex.Market og dets avmerkingsbokser er et godt og slående eksempel på et anbefalingssystem som styres av brukerkrav.

b) Demografiske trekk. Faktisk bruker de største sosiale nettverkene, som Facebook, LinkedIn, Vkontakte og andre, demografiske data for å komme med anbefalinger.

Selvfølgelig, for å implementere et slikt system, må du jobbe hardt - du må samle inn og behandle en enorm mengde data.

Hybridfiltrering

Det kraftigste og vanskeligste å implementere verktøyet. Tilsynelatende ligger fremtiden nettopp i kombinasjonen av ulike anbefalingsmekanismer til en enkelt kraftig algoritme. Den absolutte komforten og den personlige virkeligheten som vi snakket om i begynnelsen av artikkelen, vil bli realisert ved hjelp av en hybrid av de mest effektive anbefalingsmetodene.

Et slikt eksempel er levert av Netflix, hvis komplekse hybride anbefalingssystem, som viser unik nøyaktighet, blir stadig forbedret og modernisert. Utviklingen av en så kraftig algoritme skyldes i stor grad den sjenerøse finansieringen av forskning på dette området fra Netflix selv, som i 2006 tilbød 1 000 000 dollar for å forbedre anbefalingssystemet med 10 %.

BellKors Pragmatic Chaos-utviklingsteam, som klarte å forbedre algoritmenNetflixmed 10,09 %.

Noen få ord om praktiske trinn som en konklusjon

Valget av en spesifikk type filtrering eller en kombinasjon av flere metoder avhenger direkte av to faktorer - kompleksiteten til prosjektet og mengden av dets finansiering. For eksempel er å lage en algoritme for et system med tematiske, kryssende blogger en relativt enkel og moderat kostbar oppgave. Større og mer heterogene prosjekter, som nettbutikker, er dyrere, spesielt hvis målet er å øke konverteringen med virkelig betydelige beløp. Som regel er det i slike prosjekter ikke mulig å begrense seg til én type anbefalingsalgoritme og man må bruke hybridfiltrering, som et resultat av at kostnadene og kompleksiteten til utviklingen øker i størrelsesordener.

For å lage, implementere og feilsøke en hybridalgoritme, trenger du et helt team med erfarne utviklere som er godt klar over hva lineær og relasjonell algebra er, og i tillegg har en rekke ferdigheter som gjør skaperne av anbefalingsalgoritmer til praktisk talt en egen profesjon.

På en eller annen måte, når du utvikler et prosjekt som gir brukeren muligheten til å velge spesifikke objekter fra det generelle settet, er det nødvendig å ta hensyn til den raske fremgangen i brukervennlighet på absolutt alle områder av menneskelivet - fra å optimalisere søvn ved hjelp av enheter som analysere alle prosesser som skjer i en drøm og gi anbefalinger for å forbedre den, til automatisk valg av hverdagsvarer basert på brukerens nåværende behov. Som du vet, er en uunnværlig forutsetning for suksess for ethvert foretak at dens nøyaktige samsvar med tidsånden.

Den 28. april 2016 annonserte vi offisielt lanseringen av det første adaptive kurset på Stepic.org, som velger Python-oppgaver avhengig av elevens nivå. Før det implementerte vi også de anbefalte leksjonene på plattformen slik at elevene ikke skulle glemme det de allerede hadde fullført og oppdage nye emner som kan interessere dem.

Under kuttet er det to hovedtemaer:

  • om nettbasert utdanning, fordeler/ulemper/fallgruver;
  • klassifisering av anbefalingssystemer, deres anvendelighet i utdanning, eksempler.

Om nettbasert utdanning, fordeler, ulemper og fallgruver

Denne delen er mer innledende, karakteriserer nettbasert utdanning, spennende detaljer om anbefalingssystemer under følgende bilde :)

I den moderne verden blir nettbasert utdanning gradvis mer og mer populært. Muligheten til å lære av professorer ved ledende utdanningsinstitusjoner, for å studere nye områder, for å få kunnskapen som er nødvendig for arbeid, uten å forlate hjemmet, tiltrekker seg et stort antall mennesker.

En av de vanligste formene for nettbasert læring er Massive Open Online Courses (MOOCs). Oftest inkluderer de videoer, lysbilder og tekstinnhold utarbeidet av læreren, samt oppgaver for kunnskapstesting, som vanligvis sjekkes automatisk, men det er også mulig for elevene å sjekke hverandres arbeid. Som oppgaver kan en lang rekke typer oppgaver tilbys: fra et enkelt valg av riktig svar til å skrive et essay, og til og med, som vi har på Stepik, programmeringsoppgaver med automatisk verifisering.

Nettbasert utdanning har sine egne egenskaper som skiller den fra konvensjonell, offline utdanning. Blant fordelene, for det første, tilgjengeligheten som allerede er nevnt ovenfor for alle som har tilgang til Internett. For det andre er det nesten ubegrenset skalerbarhet: Takket være automatisert oppgavesjekking kan tusenvis av mennesker studere på kurset samtidig, noe som ikke kan sammenlignes med konvensjonelle kurs i klasserom. For det tredje kan hver student velge et passende tidspunkt og tempo for å bestå materialet. For det fjerde har lærere en stor mengde data om hvordan brukerne tar kursene sine, som de kan bruke til å analysere og forbedre materialene sine.

Samtidig er det noen ulemper med nettbasert læring. I motsetning til tradisjonell utdanning, hvor studenten alltid har en motivasjon i form av en vurdering av sine faglige prestasjoner, er det ved nettkurs ingen straff for ikke å fullføre kurset. På grunn av dette overstiger andelen av de som har fullført kurset til de som har registrert seg for det sjelden 10 % (på Stepik har vi det beste Anatoly Karpovs kurs "Fundamentals of Statistics" i henhold til EdCrunch Awards 2015, en rekord 17 % av de som meldte seg på første lansering, men dette er snarere et unntak). I tillegg, på grunn av det store antallet elever, har ikke læreren mulighet til å gi individuell oppmerksomhet til hver elev i samsvar med hans nivå og evner.


Vi satte oss i oppgave å lage et anbefalingssystem som kunne gi studenten råd om innhold som er interessant for ham og ta hensyn til hans forberedelsesnivå og kunnskapshull. I tillegg skal systemet være i stand til å vurdere kompleksiteten i innholdet. Dette er spesielt nødvendig for adaptive anbefalinger som vil hjelpe brukeren til å studere materialet, tilpasse seg fleksibelt til det, tilby akkurat det innholdet han trenger nå for læring. Et slikt system vil være til nytte for brukere med personlige leksjonsanbefalinger som kan hjelpe dem å lære et bestemt emne eller foreslå noe nytt.

Generelt burde læringen blitt enda mer interessant!

Et av de første moderne eksemplene på et anbefalingssystem er movielens.org, som foreslår filmer til brukere basert på deres preferanser. Denne tjenesten er interessant ved at den gir alle et omfattende sett med data om filmer og vurderinger gitt til dem av brukere. Dette datasettet har blitt brukt i mye anbefalerforskning de siste to tiårene.

  • Systemer basert på innholdsfiltrering. Slike systemer tilbyr brukerne innhold som ligner på det de tidligere har studert. Likhet beregnes ved å bruke egenskapene til de sammenlignede objektene. Du kan for eksempel bruke sjangernærhet eller rollebesetning for å anbefale filmer. Denne tilnærmingen brukes i tjenesten for å rangere, søke og anbefale filmer Internet Movie Database.
  • Systemer som bruker samarbeidsfiltrering. I dette tilfellet tilbys brukeren innhold som er av interesse for lignende brukere. MovieLens-anbefalingene er basert på denne tilnærmingen.
  • Hybridsystemer som kombinerer de to tidligere tilnærmingene. Denne typen system brukes av Netflix, en tjeneste for å se filmer og serier på nett.

Vi har laget et hybridsystem med mer aktiv bruk av innholdsfiltrering og mindre aktiv bruk av samarbeidsfiltrering.

Det er mye forskning på anbefalingssystemer for teknologiforbedret læring. Spesifisiteten til oppgaven i dette tilfellet legger til nye retninger for utviklingen av anbefalingssystemet.


Hva er funksjonene i anbefalingssystemet til et pedagogisk prosjekt?

For det første er det evnen til å bygge et adaptivt anbefalingssystem som vil tilpasse seg behovene til brukeren på et bestemt tidspunkt og tilby ham de beste måtene å studere materialet på. I dette formatet kan ulike simulatorer implementeres, for eksempel i matematikk eller et hvilket som helst programmeringsspråk, som inneholder mange oppgaver av varierende kompleksitet, hvorav ulike elever vil passe til enhver tid.

For det andre kan du trekke ut avhengighetene mellom opplæringsmateriell fra dataene om hvordan brukere går gjennom dem.

Disse dataene kan bidra til å trekke ut individuelle emner i materialene, sammenhengene mellom disse emnene, deres forhold i kompleksitet.

Coursera, EdX, Udacity (online læringsplattformer) bruker sine anbefalingssystemer for å gi råd til brukere om kurs de kan være interessert i. Ulempen med disse anbefalingene er at de bare kan tilby hele kurset, men ikke en del av det, selv om brukeren kun er interessert i det. Et system bygget på denne måten kan heller ikke hjelpe brukeren med å studere kurset han har valgt.

Ressursanbefalingssystemet MathsGarden jobber derimot med de minste innholdsdelene – individuelle oppgaver. Det er en simulator for grunnregning for grunnskoleelever, som tilbyr de elevoppgavene som passer best til ham på et gitt tidspunkt med tanke på kompleksitet.
For å gjøre dette, beregner og endrer systemet dynamisk den relative egenskapen til elevens kunnskap, samt karakteristikken for kompleksiteten til oppgavene, men mer om dette senere.

I de følgende artiklene vil vi snakke mer detaljert om Stepic.org-enheten og implementeringen av anbefalingssystemet, definere hva et adaptivt anbefalingssystem er, og analysere resultatene i detalj. Det blir moro:)

La oss starte med å definere hva et anbefalingssystem er. Dette er programmer og tjenester som prøver å finne ut hva brukerne vil se og gi dem det (eller anbefale det, derav navnet). Hver av oss må ha møtt lignende triks på forskjellige nettsteder. I dag vil vi beskrive typene, prinsippet for drift av slike programmer, og også gi eksempler på disse algoritmene i aksjon. Les til slutten, det blir interessant!

Ovenfor beskrev vi hva anbefalingssystemer er, nå skal vi snakke mer detaljert om hva de betyr. Disse programmene har forbedret måten nettstedet samhandler med besøkende fordi i stedet for å gi statisk informasjon, får brukeren en interaktiv opplevelse.

Anbefalinger genereres separat for hver person, basert på deres tidligere handlinger på en spesifikk nettressurs eller på grunnlag av tidligere aktivitet. I tillegg har oppførselen til tidligere deltakere i prosessen også betydning.

For nettbutikker er dette i prinsippet en viktig funksjon, og for så store kataloger som Amazon er det en av få måter å jobbe effektivt på. Anbefalingsmetoden i dette tilfellet er ikke et vanlig tilleggsalternativ; den gir brukervennligheten til brukernavigasjon gjennom nettressursen. Hvis den elektroniske katalogen inneholder mer enn 20 000 produktnavn, virker orienteringen allerede uoverkommelig vanskelig, hva kan jeg si hvis det er millioner av produkter?

Hvor slitsomt er en potensiell kjøper å samhandle med et slikt nettsted? Svaret er åpenbart. Og en widget for å søke etter produkter som visuelt ligner det du leter etter, eller som tilhører samme produktgruppe, eller komplementære produkter (når et par sko tilbys for eksempel for å velge en veske) kommer til unnsetning . Denne beslutningen øker ikke bare antall visninger, den har en positiv effekt på konverteringen.

Som praksis viser, er det ikke bare nettbutikker som bruker denne teknikken. Sosiale medier er heller ikke langt bak. Nedenfor er et eksempel fra VKontakte.

Slike teknikker kan også lett sees på ulike sosiale plattformer, portaler dedikert til litteratur, reiser, nyhetsressurser, nettbutikker, med et ord - nesten overalt. Denne teknikken er veldig populær. Kinopoisk-nettressursen er et annet tilgjengelig eksempel.

Teknikker

Så den første typen er eksplisitt datainnsamling. Som du kanskje gjetter ut fra navnet, sørger brukeren selv for materialet som er nødvendig for arbeidet. For eksempel når anbefalingssystemene til Yandex eller andre søkemotorer ber en person vurdere ulike elementer, lage en liste over favoritter i et bestemt område eller svare på noen spørsmål. Hvis en person nekter å gi informasjon på egen hånd, vil følgende teknikk være relevant.

Den andre typen er implisitt datainnsamling. Relativt sett er dette et spionoppdrag, ifølge hvilket handlingene til en prosessdeltaker registreres av programmet for videre behandling og søknad. Hva trengs for dette? Programmet gjenkjenner kjøp, rangeringer på nettsteder, samler informasjon om visninger, kommentarer. Selvfølgelig fører valget av en slik teknikk til noen etiske problemer, fordi beskyttelse av personopplysninger er et av hovedkravene til søkemotorer av brukeren. Men mens faktum består, er en slags overvåking mulig, og vanlige besøkende på nettstedet kan ikke sjekke om slike hendelser virkelig finner sted.

Den første grunnleggende teknikken kalles kollaborativ filtrering. Anbefalinger ved bruk av denne teknikken utstedes basert på atferdsegenskapene til en person eller gruppe mennesker, sistnevnte er enda mer effektiv. Grupper samler mennesker som ligner hverandre i oppførsel og egenskaper.

La oss gi et eksempel for å gjøre informasjonen lettere å forstå. Det lages en nettside hvor musikkverk vil bli anbefalt publikum. Hvordan vil anbefalingstjenester basert på en samarbeidsmetodikk fungere i dette tilfellet? I henhold til dette prinsippet: ett fellesskap vil bli lagt til grunn, der deltakerne legger til spor av samme sjanger til spillelisten. Videre er de mest populære av alle musikkstykker bestemt og anbefalt til en bruker fra gruppen som ennå ikke har lyttet til denne melodien.

Den andre tilnærmingen kalles innholdsbasert filtrering. Her er anbefalingen dannet på bakgrunn av menneskelig atferd. Når du bruker denne tilnærmingen, kan nettleserhistorikken til en bestemt deltaker også legges til grunn.

Denne gangen skal vi gi et eksempel med tematiske nettmagasiner. Så i tilfelle en person tidligere har lest materiale om terrengsykling og regelmessig kommentert bloggartikler med slikt innhold, vil innholdsfiltreringsmetoden bruke denne tidligere informasjonen til å identifisere lignende ressurser og tilby dem som en anbefaling til denne brukeren.

Det er også blandede tilnærminger, i samsvar med hvilke utviklingen av et anbefalingssystem utføres.

En blandet tilnærming er en kombinasjon av samarbeid og innholdsfiltrering. Som du vet er mer bedre, så å blande disse to metodene øker effektiviteten til anbefalingssystemene, nemlig de øker nøyaktigheten av prognoser for spesifikke personer betydelig.

Algoritmer

Pearson-korrelasjon

Denne algoritmen lar deg fremheve vanlige egenskaper mellom flere brukere. Hvordan? Ved hjelp av enkel matematikk, nemlig definisjonen av en lineær sammenheng mellom to elementer. Et viktig poeng - denne teknikken er ikke egnet for et fellesskap av mennesker.

Gruppering

Dette prinsippet for drift av anbefalingssystemer er basert på å fremheve likheten mellom elementer (brukere) ved å beregne deres nærhet til hverandre i det såkalte funksjonsrommet. Tegn er de elementene som interessene til visse deltakere i prosessen konvergerer (for musikalske ressurser er dette spor, for filmportaler, filmer). Brukere med lignende egenskaper er gruppert i såkalte klynger.

Samarbeidsfiltreringsalgoritme

Hard clustering kan erstattes av en annen algoritme som fungerer i henhold til en ganske kompleks formel, og, som alle tidligere, er basert på oppførselen til brukere fra gruppen. Imidlertid har denne teknikken flere ganske betydelige ulemper. For det første er det vanskelig for nye eller atypiske brukere (de som ikke grupperer seg) å finne anbefalinger. For det andre den såkalte «kaldstarten», når nye objekter ikke kommer inn i anbefalingssystemer.

Innholdsfiltreringsalgoritme

Algoritmen er symmetrisk med den forrige, men hvis vi i det første tilfellet tok utgangspunkt i antakelsen om at brukeren vil like objektet fordi "klassekameratene" liker det, vil vi her anbefale basert på lignende objekter som han allerede har notert for han selv. Og her kan man tradisjonelt identifisere flere problemer. Den samme «kaldstarten» og det faktum at anbefalingene ofte er hverdagslige.

I stedet for en konklusjon

Så vi har gitt all informasjonen som en nybegynner eller en lekmann bør vite om anbefalingssystemer. La oss være ærlige, algoritmer er litt vanskelige for en uforberedt person, så det er ingen matematiske formler i denne artikkelen, selv om algoritmene er basert på dem.

Anbefalingsprogrammer er nyttige tjenester for både vanlige Internett-brukere og forskere og nettbaserte forretningsmenn. De som ønsker å øke konverteringer og antall visninger bør ta hensyn til denne teknikken og sørge for å implementere den for å øke effektiviteten til en nettressurs, spesielt en nettbutikk.