Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Personalisoinnin skaalaaminen vakailla kohdeperusteisilla yhdistelymoottoreilla | Yhteistyösuodatus- ja Käyttäytymisen Yhteensovitusjärjestelmät
Market Basket -analyysi ja suositusjärjestelmät

Personalisoinnin skaalaaminen vakailla kohdeperusteisilla yhdistelymoottoreilla

Pyyhkäise näyttääksesi valikon

Jotta voidaan ymmärtää, miten nykyaikaiset suositusjärjestelmät skaalautuvat miljooniin käyttäjiin ja tuotteisiin, on tärkeää tarkastella kehitystä käyttäjäpohjaisesta kohdepohjaiseen kollaboratiiviseen suodatukseen.

Kohdepohjainen suodatus: Toimintaperiaate ja käyttötarkoitus

Kohdepohjainen kollaboratiivinen suodatus ennustaa käyttäjän kiinnostuksen kohteeseen analysoimalla kohteiden välisiä samankaltaisuuksia käyttäjien sijaan. Sen sijaan, että kysyttäisiin

"Mitkä käyttäjät ovat samanlaisia kuin tämä kohdekäyttäjä?",

kohdepohjainen suodatus kysyy

"Mitkä kohteet ovat samanlaisia kuin ne, joista käyttäjä jo pitää?"

Prosessi sisältää seuraavat vaiheet:

  • Rakennetaan kohde-kohde-samankaltaisuusmatriisi vertaamalla kohteita käyttäjäinteraktioiden perusteella;
  • Tunnistetaan käyttäjän aiemmin käyttämät tai korkealle arvioimat kohteet;
  • Suositellaan uusia kohteita, jotka ovat samankaltaisia käyttäjän aiempiin valintoihin nähden samankaltaisuusmatriisin perusteella.
Note
Huomio

Tätä lähestymistapaa käytetään laajasti, koska kohteilla (kuten tuotteilla tai elokuvilla) on yleensä pysyvämmät ominaisuudet kuin käyttäjillä, mikä tekee samankaltaisuussuhteista johdonmukaisempia ajan myötä. Kohteiden samankaltaisuudet on helppo laskea etukäteen ja tallentaa välimuistiin, mikä nopeuttaa reaaliaikaisia suosituksia.

Pysyvyys: Miksi kohdepohjaiset menetelmät ovat vakaampia ajan mittaan

Käyttäjien mieltymykset voivat muuttua nopeasti—käyttäjiä tulee ja menee, ja heidän makunsa voivat vaihdella. Kohteet sen sijaan pysyvät yleensä samoina, ja niiden väliset suhteet (kuten "käyttäjät, jotka ostivat X, ostivat myös Y") muuttuvat harvemmin. Tämä tuo mukanaan useita etuja:

Pienempi vaihtelu: Kohteiden samankaltaisuuspisteet eivät muutu yhtä herkästi uusien käyttäjien tai satunnaisen toiminnan vuoksi;

Johdonmukaisuus: Suositukset pysyvät luotettavina, vaikka käyttäjäpopulaatio vaihtelee.

Skaalautuvuus: Miten kohdepohjainen suodatus käsittelee suuria tietomääriä

Kohdepohjainen kollaboratiivinen suodatus soveltuu erityisen hyvin laajamittaisiin järjestelmiin useista syistä:

  • Kohteiden määrä on usein huomattavasti pienempi kuin käyttäjien määrä, mikä pienentää samankaltaisuusmatriisin kokoa;
  • Kohteiden samankaltaisuudet voidaan laskea etukäteen, mikä mahdollistaa nopeat ja skaalautuvat suositukset kaikille käyttäjille;
  • Uusien käyttäjien lisääminen ei vaadi samankaltaisuuksien uudelleenlaskentaa—suositukset tuotetaan hyödyntämällä olemassa olevia kohde-kohde-suhteita.

Esimerkki: Kohdepohjaisen suodatuksen toteutus esimerkkimatriisilla

Oletetaan, että käytössä on käyttäjä-kohde-interaktiomatriisi, jossa jokainen rivi on käyttäjä ja jokainen sarake on kohde. Laskemalla kohdesarakkeiden väliset samankaltaisuudet voidaan suositella kohteita, jotka ovat lähimpänä käyttäjän aiemmin suosimia kohteita. Seuraava koodi havainnollistaa tätä prosessia käyttäen kosinietäisyyttä.

12345678910111213141516171819202122232425262728
import numpy as np import pandas as pd from sklearn.metrics.pairwise import cosine_similarity # Sample user-item interaction matrix # Rows: users, Columns: items (1 = interaction, 0 = no interaction) data = { 'Milk': [1, 1, 0, 0], 'Bread': [1, 1, 1, 0], 'Butter': [0, 1, 1, 1], 'Eggs': [0, 0, 1, 1] } user_item_matrix = pd.DataFrame(data, index=['User1', 'User2', 'User3', 'User4']) # Computing item-item cosine similarity item_similarity = pd.DataFrame( cosine_similarity(user_item_matrix.T), index=user_item_matrix.columns, columns=user_item_matrix.columns ) # Example: Recommend items similar to 'Milk' for a user who likes 'Milk' target_item = 'Milk' similar_items = item_similarity[target_item].sort_values(ascending=False) recommended = similar_items[1:3] # Exclude 'Milk' itself print('Items most similar to \'Milk\':') print(recommended)

1. Mikä on yksi keskeinen hyöty tuotepohjaisen yhteistyösuodatuksen käyttämisestä käyttäjäpohjaisen yhteistyösuodatuksen sijaan?

2. Mikä väite kuvaa parhaiten, miksi tuotepohjainen yhteistyösuodatus on skaalautuvampi suurissa järjestelmissä?

question mark

Mikä on yksi keskeinen hyöty tuotepohjaisen yhteistyösuodatuksen käyttämisestä käyttäjäpohjaisen yhteistyösuodatuksen sijaan?

Valitse oikea vastaus

question mark

Mikä väite kuvaa parhaiten, miksi tuotepohjainen yhteistyösuodatus on skaalautuvampi suurissa järjestelmissä?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 4

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 3. Luku 4
some-alt