480 likes | 574 Views
Modely uživatelských preferencí. Obsah. Preference obecně Modely uživatelských preferencí Způsob záznamu preferencí Příklad a ukázkový problém Když bude něco nejasné, tak se ptejte hned. Preference obecně. Preference Uživatel Uživatel vyjadřuje, co se mu líbí Každý chce něco jiného
E N D
Obsah • Preference obecně • Modely uživatelských preferencí • Způsob záznamu preferencí • Příklad a ukázkový problém • Když bude něco nejasné, tak se ptejte hned
Preference obecně • Preference • Uživatel • Uživatel vyjadřuje, co se mu líbí • Každý chce něco jiného • Množina uživatelů U • Objekt preference • O čem chci rozhodnout, zda se mi to líbí nebo ne • Množina objektů V • Časová složka • To, co se mi líbí teď, nemusí za týden/měsíc/rok
Uživatel • Motivace • Chci nový fotoaparát, abych dělal lepší fotografie • Nejistota • Doopravdy ten fotoaparát nutně potřebuji pro lepší fotografie? • Co by měl ten fotoaparát umět? • Nejsem si jist, která vlastnost je klíčová pro výsledek • Z toho plyne nekonzistence • Ovlivnitelnost • Knihy, reklama, co říkají kamarádi
Uživatel • Vývoj v čase • Nejdřív chci co nejvíce MPix, pak spíše menší hmotnost a nakonec největší rozsah zoomu • Má ten vývoj nějaký trend? Nedostane se zpět na začátek? • Krátkodobá nestálost • Člověk se mění, záleží na aktuálním rozpoložení
Uživatel • Vlastnosti uživatele • Preference • Profil • Věk, vzdělání, pohlaví, příjem,… • Exprese vlastností • Chování (behaviorismus) • Pohyb na stránce, hodnocení objektů, zanechání komentáře • Z projevů chceme zjistit preference
Uživatel • Podobnost uživatelů • Podle preferencí • u i v mají rádi x, v má rád i y. Bude mít u rád y? • Podle profilu • u i v jsou studenti s nízkým příjmem. Budou mít podobné preference? • Do jaké míry ovlivňuje profil preference?
Předmět preference • Vlastnosti toho, o čem se rozhoduji • Atributy objektu • Nemění se (krom ceny) • Každý atribut je nějak důležitý („Chci lehký fotoaparát, na ceně nezáleží“) • Každý uživatel má jinou představu o atributech („Ale já chci těžký fotoaparát“)
Předmět preference • Atributy • Nominální • Barva, typ snímače, výrobce,… • Numerické • Rozlišení, hmotnost, velikost zoomu, rozměry,… • Speciální • Množina hodnot některého z atomických typů • Herci ve filmu • Těžko zachytitelné atributy • Design, tvar, oblost, obrázek produktu, zvuk,… • jsou důležité • Jaké atributy použít? • Jsou všechny potřeba, není je třeba nějak upravit? (Diskretizace, normalizace,…) • Aby lépe odpovídali vnímání uživatele
Předmět preference • Známé datové sady s preferencemi • Hodnocení objektů uživateli • Id uživatele, Id objektu, hodnocení (typicky 1-5) • Uvidíme později • Filmy • Knihy • Nabídky práce • Vtipy • Jaké atributy?
Celkový přehled • Uživatel • Preference, profil • Objekt • Atributy • Časová dimenze
Co tedy jsou preference? • Vztah mezi U a V • Uspořádání V • (od nejpreferovanějšího k nejméně preferovanému) • K čemu to tedy je?
Příklad (na konci bude podrobněji) • Doporučovací systém • Snaží se zjistit, co uživatel preferuje a doporučit mu nejvhodnější objekty • Šetří práci při procházení stovkami objektů • Snižuje riziko vynechání něčeho důležitého • Rozdíl proti „ostrým“ omezením a řazením • Ostrá omezení řezají prostor nekompromisně • Stačí jedna špatná hodnota atributu a objekt je venku • Preference řezají prostor „ohleduplně“ • Jedna špatná hodnota atributu přece není tak špatný výsledek • Komparativní model - Co je lepší?
Algoritmy uživatelských preferencí • Obecně reprezentují uživatelské preference • Pro danou množinu V • Je možné je použít pro nový objekt nebo pro objekt u kterého neznáme preferenci • Nový film, nový fotoaparát, nový zájezd apod. • Mluví daným jazykem • Jsou použitelné pro více uživatelů (každý jiné požadavky)
Dvouhodnotový jazyk • Líbí/nelíbí • O objektu lze říci, zda se uživateli líbí nebo ne • Nebere explicitně v úvahu atributy objektu • Málo expresivní • V→ {0,1}
Dvouhodnotový jazyk • D50 : líbí • D70 : nelíbí • D3 : líbí • …
Algoritmus dvouhodnotového jazyka • Kolaborativní filtrování • Jak se bude objekt x líbit uživateli u? • Asi tak, jak se x líbil uživateli v, který se u podobá • Nepočítá s atributy objektu • Zato může pracovat s uživatelským profilem • Podobnost uživatelů • Profil • Podle podobných hodnoceních
Jazyk preferenčních relací • Preferenční relace • Užívané v ekonomii • Porovnání objektů – x je lepší než y • Neumožňuje jednoduché setřídění objektů podle aktuální vhodnosti • Vytvořeno podle lidského uvažování • Přirozené pro uživatele • VxV
Jazyk preferenčních relací • Preferenční relace • P(D50,D70) • Mám radši D70 než D50 • R(D70,D80) • D80 je alespoň tak dobrá jako D70 • I(D3,5D) • Mezi D3 a 5D nedokážu rozlišit, jsou stejně dobré • P(D70,D3) • D3 mám radši než D70
Jazyk preferenčních relací • CP-sítě • Conditional probability networks • Preference mohou záviset na aktuálním stavu světa • Polévka a víno
Algoritmus jazyka preferenčních relací • Chomicky • Tabulka R=A1,...,AN • Preferenčnírelace definována výrazem např. • A1(x)<A1(y) & A2(x) < A2(y) →x<y • Obecný výraz používající jen =,!=,<,>,logické spojky a konstanty • Může obsahovat cykly, nemusí být transitivní,... • Operátor winnow – vrací nedominované objekty • Jen pro výrazy odpovídající částečnému uspořádání • Překlad do SQL
Algoritmus jazyka preferenčních relací • Kiessling • Relace pouze jako ostré částečné uspořádání • Bez cyklů, transitivní, ... • Relace nad hodnotami atributů, ne nad objekty • POS(transmission, {automatic}) – chceme automatickou převodovku • NEG(maker, {Ferrari}) – nechceme Ferrari • POS/NEG(color, {yellow};{gray}) – preferujeme žlutou, když není žlutá, tak hlavně ne šedou (srovnej s CP-nets) • POS/POS(category,{cabrio};{roadster}) - chceme kabriolet, když ne, tak roadster (srovnej s CP-nets)
Algoritmus jazyka preferenčních relací • Kiessling • Relace na hodnotami atributů, ne nad objekty • AROUND(price, 40000) – cena okolo 40000 euro • BETWEEN(mileage, [20000, 30000]) • HIGHEST(power)
Algoritmus jazyka preferenčních relací • Kiessling • Operace s atomickými preferencemi atributů • Pareto preference: P1⊗P2 • P1 i P2 stejně důležité • Prioritized preference: P1&P2 • P1 důležitější • Sjednocení a průnik preferencí • Integrace do SQL a XPath • Rozšíření jazyků o konstrukt PREFERRING • SELECT * FROM apartments PREFERRING HIGHEST(area); • P1 := AROUND(A1, 0), • P2 := LOWEST(A2), • P3 := HIGHEST(A3) • P4 = ({A1, A2, A3}, <P4) := • (P1 ⊗ P2) ⊗ P3 P8 = ({A1, A2}, <P8) := P1&P2
Jazyk pro skyline • Bere explicitně v úvahu atributy objektu • tzv. content based – založená na atributech objektu • Funkce pro normalizaci atributů • Vytváří prostor [0,1]N • Monotonie • Lze vybrat kandidáty na nejlepší objekt • Ale už ne druhý nejlepší 1 1 0
Jazyk vícehodnotové logiky 1 • Rozšiřuje dvě hodnoty na více • O objektu lze říci, jak moc se uživateli líbí • Jinak stejné jako dvouhodnotový model
Jak vypadají preference založené na ohodnocení celých objektů v abstraktním schématu Algoritmus opět kolaborativní filtrování Vícehodnotová logika 1
Jazyk vícehodnotové logiky 2 • O objektu lze říci, jak moc se uživateli líbí • Bere explicitně v úvahu atributy objektu • tzv. content based – založená na atributech objektu • Agregační funkce • Fuzzy funkce pro normalizaci atributů
Algoritmus jazyka vícehodnotové logiky 2 • Vícehodnotová logika • Fuzzy funkce • Normalizace domény atributu • Doména = množina hodnot, jež atribut může nabývat • Transformují prostor do [0,1]n • Pak víme jistě, že (1,…,1) je ideální objekt fProducer (Nikon) = 0.8 fProducer(Pentax) = 0.6 fProducer(Canon) = 0.4
Algoritmus jazyka vícehodnotové logiky 2 • Agregační funkce • Pro kombinaci atributů, multikriteriální rozhodování • Výsledné hodnocení objektu • @(f1(x),…,fn(x))
Vícehodnotová logika 2 • Jak vypadají preference založené na atributech v abstraktním schématu f1 f1 @ @ Fuzzy funkce Agregační funkce
Algoritmus jazyka vícehodnotové logiky 2 • Pravidla • MPix(X)=10 & Rychlost(X)=5fps →Hodnoceni(X)=6 • (MPix(X)>8 & Cena(X)<20000) v (Vaha(X)<500) →Hodnoceni(X)=10 • MPix(X)>=10 → Hodnoceni(X) = 10 • Cena(X)<=10000 → Hodnoceni(X) = 10
Způsob záznamu preferencí • Přímý (Vícehodnotová logika 2) • Explicitní (Vícehodnotová logika 1) • Implicitní (Bez jazyka?)
Přímý způsob • Uživatel přímo napíše, co preferuje • V daném modelu • Nejpřesnější metoda • Uživatel musí rozumět modelu preferencí • Který může být dost složitý
Explicitní způsob • Uživatel vyjadřuje své preference na celém objektu
Explicitní způsob • Malá velikost hodnotící škály • Při větší škále (>20) je uživatel zmaten a nekonzistentní • Málo námahy pro uživatele • Přirozené
Implicitní způsob • Interpretujeme chování uživatele • Není od něj potřeba žádná investice • Dělá to, co normálně • Clickstream • Doba strávená na stránce • Označování, kopírování, tisk, posílání emailem, vložení do košíku • Striktní omezení (pouze 10-12MPix, Nikon, apod.)
Implicitní způsob • Jednoduchá implementace v Javascriptu • Možno zakázat, nelze zachycovat některé události • Spyware, plugin do prohlížeče • Skvělé možnosti • Málokdo si to nainstaluje
Příklad a ukázkový problém • Doporučovací systém • Snaží se zjistit, co uživatel preferuje a doporučit mu nejvhodnější objekty • Šetří práci při procházení stovkami objektů • Snižuje riziko vynechání něčeho důležitého(?) • Využijeme explicitní preference – hodnocení celého objektu • Pět hvězdiček
Vstup od uživatele • Hodnocení jednotlivých fotoaparátů • Čím více tím lépe, ale… • Nikdo nechce strávit hodnocením půl hodiny
Vstup od uživatele • První sada fotoaparátů je vybraná náhodně • Nebo předem vybraná množina fotoaparátů, dobře pokrývající celý prostor • Důležitý je kontext hodnocení!
Průběh procesu doporučení • Necháme uživatele, aby řekl, jak moc se mu líbí nějaké předměty • Alternativně analyzujeme jeho chování na stránce • Zkonstruujeme obecný model preferencí • Pomocí modelu zjistíme preference všech objektů • Doporučíme 10 nejlepších objektů • Zpracujeme zpětnou vazbu od uživatele
Motivace • Proč nutíme uživatele hodnotit i v dalších krocích? • Nešlo by, aby všechno ohodnotil najednou a pak si rovnou nechal doporučit nejlepší fotoaparát? • Omezená škála hodnocení • 0-5 hvězdiček • Hodně fotoaparátů získá hodnocení 5 5 4 3
Vstup od uživatele • Poté uživatelovi doporučíme objekty, které by se mu mohly líbit • Nikon • Zrcadlovka
Vstup od uživatele • Na základě dalších hodnocení určíme přesněji další atributy • Co nejlevnější
Motivace • Fáze dotazování • V každé fázi se posune hodnocení trochu doprava • Zpřesňujeme hodnocení nejvíce preferovaných objektů