Foto: kentoh / Dollar Photo Club

Doporučovací systémy na bázi umělé inteligence

Na doporučovací systémy můžeme z datového/statistického hlediska nahlížet jako na prakticky jakýkoliv jiný problém predikce hodnot na základě několika různých faktorů (což je podstatou modernějšího označení oboru „strojového učení“). Můžeme tedy uvažovat o některých z výše zmíněných metod. Jsou zde však jistá specifika, a proto existuje mnoho dalších, pokročilých metod, které se u doporučovacích systémů často využívají.

Jeden z podstatných rozdílů je například velké množství chybějících hodnot. Někteří tedy na doporučovací systémy nahlížejí spíše optikou lineární algebry jako na problém hledání chybějících hodnot v tzv. řídké matici. Ta je tvořena typicky například hodnoceními uživatelů, kdy řádky a sloupce označují uživatele a položky (např. filmy, písně, příspěvky, články apod. v závislosti na konkrétním doporučovacím systému). Není těžké si poté představit, že taková matice všech uživatelů a filmů např. ve velké filmové databázi se všemi známými filmovými snímky bude hodně „řídká“, protože ani ti nejaktivnější uživatelé nebudou hodnotit mnoho z lokálně nebo méně známých filmů a zbytek hodnot bude tedy nevyplněný, resp. nulový.

Ještě větší problém s kvalitou informací ke zpracování pak nastane, když například kvůli uživatelskému rozhraní chceme, aby uživatel hodnotil pouze palci nahoru, a dokonce ani ne dolů. Máme poté najednou informaci, co se uživateli líbí, ale není jisté, zda nehodnocená položka je neutrální, nebo se mu vyloženě nelíbí.
Další problém nastane, pokud nám chybí „správné“ hodnoty a nemůžeme přistupovat k problému okamžitě jako k učení s učitelem.
Při startu firmy nebo při zavedení doporučovacího systému v rámci instituce (např. knihovna bude chtít doporučovat knížky svým čtenářům) nebudeme mít k dispozici žádná vzorová data a chceme budovat doporučovací systém takzvaně „ze zelené louky“.
K doporučení určitých položek chceme také většinou přidat řazení. Není to tedy jen o tom určit, zda je položka relevantní nebo ne. Naším cílem je i to, aby uživateli byly zobrazeny ty nejvíc relevantní položky mezi prvními.
Bohužel, pokud se podíváme na současné vědecké práce zabývající se doporučovacími systémy, málokterá splňuje následující omezení:

● Neanglické texty. Současné práce k doporučovacím systémům pracují převážně s anglickými texty. Většina modelů a metod pro zpracování textů je tak určena pro anglicky psané texty.
● Malý počet položek v datové sadě. Mnoho ze současných prací používá velké datové sady, často dokonce různě „vyčištěné“ a zdokonalené. To nevystihuje dobře reálnou situaci surových textů, které mohou např. obsahovat gramatické chyby.
● Absence vzorových dat. Mnoho ze současných prací využívá datové sady, kde jsou známa hodnocení uživatelů příspěvků nebo jejich posouzení relevance. Lépe se jim tak model trénuje a posuzuje. Reálná situace je přitom jiná. Sběr hodnocení/posouzení uživatelů vyžaduje značné zdroje, a tak je nutné pracovat se značně omezenými daty.
● Metoda nebo algoritmus je obtížně implementovatelná/ý a špatně podporován/a komunitou vývojářů a datových vědců. Některé vědecké články představují nové metody, které vykazovaly při experimentech dobré výsledky, avšak v odborném článku ani přidružených materiálech nemusí být dostatek informací o tom, jak dané algoritmy naimplementovat. Softwaroví vývojáři (kteří často nemají znalosti vyšší matematiky na úrovni doktorského studia nebo ani navazujícího či vůbec vysokoškolského studia), tak nemusí být schopni dle článků doporučovací systém „nakódovat“.

Přitom všechna tato omezení jsou velmi důležitá pro mnoho z menších společností a institucí, které by rády doporučovací systém využily. Použité metody tedy sahají také do příbuzných oborů jako zpracování (přirozeného) jazyka nebo dolování znalostí.

Obecně můžeme říct, že problematika doporučovacích systémů se skládá z těchto příbuzných oborů a podoborů:
● statistika;
● strojové učení;
● umělá inteligence;
● dolování znalostí;
● získávání informací;
o vyhledávače;
● lineární algebra;
● zpracování (přirozeného) jazyka.

Typické použití doporučovacích systémů v praxi zahrnuje například:
● Řazení příspěvků (sociální sítě).
● Doporučování na základě podobných hodnocení uživatelů (aplikace pro streamování video, audio materiálu, databáze knih apod.).
● Hledání podobných položek (např. e-shopy a srovnávače cen produktů, aplikace zaměřené na hoteliérství apod.).
● Aplikace pro hledání shodných profilů s jinými osobami na základě zájmů (např. v rámci sociálních sítí, kariérních aplikací nebo aplikací pro digitální sjednávání rande).
● Vyhledávače. Současné populární vyhledávače používají pro řazení výsledků také personalizaci pomocí zeměpisných údajů uživatele nebo jeho historie předchozích hledání a prokliků. Mnoho ze současných vyhledávačů lze tedy také považovat za doporučovací systémy.

Obecně lze problémy řešené u doporučovacích systémů rozdělit na problém:
● Predikce. Zda uživatel shledá danou doporučenou položku jako relevantní.
● Řazení. Zda uživatel nalezne pro něj relevantní položky řazené na vyšších pozicích (ve výsledném uživatelském rozhraní zobrazené nahoře) než pro něj méně relevantní položky.

Doporučovací systémy můžeme dle povahy metod používaných k doporučování rozdělit na doporučovací systémy :
● Založené na obsahu. Nevýhodou doporučování na základě obsahu je, že přirozený jazyk je složitý a různorodý a pro strojové zpracování je často potřeba určitá forma převodu textů do jednodušší podoby (např. odstranění diakritiky, speciálních znaků, sjednocení tvarů slova v různých pádech do jednoho apod.). Doporučení na základě obsahu můžeme dále rozdělit na případy, kdy: o samotné doporučované položky tvoří data používaná pro posuzování doporučení; o profil uživatele tvoří data používaná pro posuzování doporučení.
● Kolaborativní. Na základě akcí uživatele (např. hodnocení filmů) jsou vyhledáni uživatelé s podobným „vkusem“.

Způsob sběru hodnocení od uživatelů má zásadní vliv na doporučovací systém. Např. ze sociálních sítí známe hodnocení pomocí palců nebo symbolů srdíček. Toto tzv. unární hodnocení položek je oblíbené u uživatelů, není však vůbec ideální pro zpracování dat a potřebné predikce pro uživatele. Jak už bylo řečeno výše, u nehodnocených položek nám splývají položky vnímané neutrálně a negativně. Hodnocení také nebudou tak přesná …
Je tu však i druhá strana mince. V některých aplikacích je tento způsob hodnocení preferován kvůli marketingovým důvodům, designu a uživatelskému rozhraní.
Lze však předpokládat, že takové hodnocení může mít i výhodu vzhledem k datové stránce. Uživatelé budou mnohem ochotnější hodnotit příspěvky pouhým klikem (nebo klepnutím na displej) než pomalejším rozmýšlením, zda ohodnotí položku např. 3 nebo 4. Velmi pravděpodobně tak nasbíráme dat více než u přesnějšího posuzování příspěvků. Musíme se tedy rozhodnout mezi tím, zda chceme spíše více dat nebo méně dat, ovšem více vypovídajících.

úryvek z knihy

Müller Patrik: Stručný úvod do umělé inteligence a doporučovací systémy pro zobrazení zpráv a článků
Academia 2025
O knize na webu vydavatele

obalka-knihy

Dlouhé mohyly z raných dob pozdní doby kamenné

Výsledky nejnovějších archeologických výzkumů jednoho, v krajině pod Řípem donedávna neznámého druhu pohřební památky ukazují …

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *