Upload
domonkos-tikk
View
156
Download
1
Embed Size (px)
Citation preview
Tartalomgazdagítás
szövegbányászattal
Linked Open Data felhasználása
ajánlórendszerekben
Dr. Tikk Domonkos, CEO
@domonkostikk
Vázlat
• Ajánlórendszerek és motiváció
• Tartalomgazdagítás szükségessége
• Szemantikus háló alapú technológia
• Hol van szükség szövegbányászatra
Tartalomgazdagítás szövegbányászattal
Ajánlórendszerek
• Kollaboratív filtering
felhasználók tartalmakkal való
interakciói alapján működik
o interakciók hasonlóság
o látens modellek közelsége
• Tartalom alapú szűrés
tartalmak leírói alapján
működik
o tartalmak hasonlósága
o felhasználó történetére vetítve
Tartalomgazdagítás szövegbányászattal
Kollaboratív filtering vs. tartalom alapú szűrés
+ pontosabb
+ doménfüggetlen
– indulásnál nem működik
– nehezen magyarázható
+ kevés adat esetén is működik
+ jól magyarázható
– doménfüggő
– pontatlanabb
– bezártság
Tartalomgazdagítás szövegbányászattal
Motiváció
• Hagyományos tartalom keresési és felfedezési módszerek nem
kielégítőek a mai tartalomrengetegben
Tartalomgazdagítás szövegbányászattal
Cél
• Műsorinformáció + videotéka információ és felhasználói viselkedés
alapján releváns tartalmak ajánlása
Tartalomgazdagítás szövegbányászattal
Milyen adatok állnak rendelkezésre?
• Hagyományos TV operátornál
Mtelekom
UPC
Adatok: cím, gyártási év, leírás,
rendező, főszereplők, sorozat, stb.
• Videomegosztó oldalak
Youtube
Dailymotion
Adatok: cím, feltöltő, leírás,
feltöltés adatai, kategória, hossz,
stb.
Tartalomgazdagítás szövegbányászattal
A metaadatok függenek az entitás típusától
• A TV programokban különböző entitások vannak jelen:
Film (The Shining)
Sorozat (Six Feet Under)
Rendező (Stanley Kubrick)
Foci csapat (Manchester United F.C.)
Különböző sportemberek (Federer – Djokovic)
Talk-show házigazda (Steven Colbert)
• Doménfüggő a fenti entitásokhoz tartozó metaadatok típusa:
film: kiadási év, cím, rendező(k), színész(ek) stb.
színész: név, születési hely és idő, stb.
TV sorozat: évad, epizód
Foci csapat: játékosok, székhely stb.
Tartalomgazdagítás szövegbányászattal
„One size fits all” – miért nem működik
• A metaadatüzlet is 20/80-as elv szerint működik
Tartalom 20%-a „gazdag” metaadatban (TOP csatornák), 80% csak
a költségeket fedezik
Ajánlásnak 100%-nak kell lennie a teljes spektrumon!!!
• EPG és videotéka katalógusok más forrásból jönnek, de egységesen
kell kezelni őket
• Más megoldások kellenek a különböző szolgáltatástípusok esetén
IPTV és OTT megoldások
Videomegosztó oldalak (felhasználói tartalom)
Tartalomgazdagítás szövegbányászattal
Hol találhatók a metaadatok?
• A metaadatok különböző ún. Linked Open Data (LOD) adatbázisokban
vannak:
Filmek: Freebase, IMDB, LinkedMDB, TheTVDB
Sport: Freebase, DBPedia
Személyek: DBpedia, Freebase
Zene: Magnatune, Musicbrainz
Termékek: POD (Product Open Data)
Tartalomgazdagítás szövegbányászattal
Gravity Metaadat architektúra
• Fő tulajdonságok
TV-s és videotéka tartalmak egységek kezelése és összekapcsolása
Többnyelvű tartalomfeldolgozás
o Nyelvfüggő (cím, leírás)
o Nyelvfüggetlen (szereplő, műfaj, epizódszám)
Több adatbázis együttes kezelése
Skálázódás
Tartalomgazdagítás szövegbányászattal
Szemantikus háló
• Hogyan tárolhatóak illetve modellezhetők egységesen egy adott
entitáshoz tartozó tulajdonságok:
Resource Description Framework (RDF) az adatmodellezésre lett
kitalálva
Az RDF alany – állítás – tárgy hármasokban írja le a világot
subject: <http://rdf.freebase.com/ns/m.02vyptn>
predicate: <http://rdf.freebase.com/ns/film.film.written_by>
object: <http://rdf.freebase.com/ns/m.016hvl>
Tartalomgazdagítás szövegbányászattal
Apache Stanbol
• hagyományos CMS adatbázisok kiegészítése szemantikus
szolgáltatásokkal
Tartalomgazdagítás szövegbányászattal
LOD integrálása: EntityHub modullal
• Entityhub (/entityhub): entitások lokális kezelését teszi lehetővé,
amelyeket külső site-okról (LOD) is lehetnek importálva.
• Site Manager (/entityhub/sites): A SiteManager egységesített
csatlakozási felületet kínál a kezelt LOD-okhoz. Egy adott lekérdezés
az összes megkapcsolt LOD végponthoz továbbítja a kérést.
• Sites (/entityhub/site/{siteId}): egy konkrét LOD-hoz
(entitásszolgáltatóhoz) való integráció
ReferencedSite: Külső szolgáltató. Lokális caching és indexelést is
támogat, ezért nem kell mindig kapcsolódni a külső LOD-hoz, csak
ha az cache-ben nincs meg az adat.
ManagedSite: saját entitás menedzselés
Tartalomgazdagítás szövegbányászattal
Gravity Metaadat motor
• LOD integrálása: RDF mapping definiálása, ha nem létezik
• ReferencedSite definiálása minden integrálandó LOD-hoz
lokál cache létrehozása, ha a LOD támogatja ezt (teljes adatbázis
dump)
ahol nincs támogatva (csak egyedi lekérések), ott a ReferencedSite
cache-ét használjuk
• Névelemek azonosítására Stanbol Enhancer használata
Tartalomgazdagítás szövegbányászattal
Adattárolás
• Nagy méretű adatbázisok (Freebase: 400M triplet)
• Skálázható háttéradatbázisként: Titan DB
Elosztott gráf adatbázis, ami RDF adatbázisként is használható a
GraphSail interfészen keresztül
HBase és Cassandra backendet támogat
• Jelenleg 2 csomópontból álló Hadoop klasztert használunk HBase-zel
• 50 konkurens folyamat kiszolgálására bőven elég
• Faunus gráfelemző motort használunk az adatok betöltésére
100M adat betöltése csak 3 óra
Tartalomgazdagítás szövegbányászattal
Szövegbányászati feladatok
• Névelemek felismerése
• Névelemek egyértelműsítése
• Névelemek tulajdonságainak meghatározása
• Inkonzisztens adatok egyértelműsítése
Tartalomgazdagítás szövegbányászattal
Névelemek felismerése
• Szabad szövegben meghatározni, hogy melyek azok az entitások,
amelyek érdekesek lehetnek számunkra
Szótár alapú megközelítés
o Függ az adat minőségétől
oMelyik adatforrásokat akarjuk felhasználni?
Szekvenciatanulás alapú megközelítés
o HMM, CRF
oMennyire érzékeny a rendszer a hibára?
• Stanbol Enhancer
Tartalomgazdagítás szövegbányászattal
Névelemek egyértelműsítése
• Adott egy entitás, melyik LOD-entitásra lehet leképezni
• Melyik LOD-adatbázisban kell keresni?
Szolgáltató függő adatséma
nem egységes lekérdezés
o Apache Marmotta: Linked Data Client
o Standard RDF formátumra alakítja a LOD-ok egyedi válaszformátumát
o Ezután a Marmotta LOD cache-ét lehet használni
• Szükség van az adat szemantikájára
rendező, filmszínész, stb. – különben nagyon zajos lesz a
lekérdezés eredménye
Tartalomgazdagítás szövegbányászattal
Hasonlóság
• Mely tulajdonságok határoznak meg egyértelműen adott filmet?
Cím:
o Revolver (2005) vs Revolver (1991)
o The Bourne Identity (2002) vs The Bourne Identity (1988)
Cím + Kiadás Éve:
o The Bourne Identity (2002) vs A Bourne-rejtély (2002)
o Terminator (1984) vs Terminátor - A halálosztó (1984)
Kiadás Éve + Rendező:
o Elég jó, de még mindig nem feltétlenül egyértelmű
− Elírási hibák: Jonnie vs Johnny
− Különböző kiadási év:
− tényleges kiadási év (2007) vs vetítési év az adott országban (2008)
Tartalomgazdagítás szövegbányászattal
Hasonlóság
• Létrehozunk egy vektort: v = [kiadási év, rendező, vetítési idő]
v1 = [1999, ['Steven', 'Allan', 'Spielberg''], 120]
v2 = [1999, ['Stanley', 'Kubrick'], 118]
v3 = [1999, ['Steven', 'Spielberg'], 115]
• Két vektor tavolsága:
|| v_src – v_target ||_2
• A különbség két név között:
['Steven', 'Allan', 'Spielberg''] - ['Steven', 'Spielberg']
Egyszerű megoldás: | halmaz(A) \ halmaz(B) |
Komplexebb megoldás: ∑ min(Levenshtein távolság(a_i,b))
Tartalomgazdagítás szövegbányászattal
Névelemek tulajdonságainak meghatározása
• Ha már adott a LOD adatbázis és a lekérdezés, akkor SPARQL
lekérdezéssel megkaphatók az entitás tulajdonságai
• Simple Protocol and RDF Query Language (SPARQL)
• SQL-szerű RDF lekérdező nyelv
• A SPARQL lekérdezések triple mintákból, konjunkciókból,
diszjunkciókból és opcionális mintákból állnak
• A lekérdezés szétosztható több SPARQL végponthoz (szolgáltatások,
melyek fogadják SPARQL lekérdezéseket és eredményt adnak vissza),
kiszámolja, és összegyűjti az eredményt
Tartalomgazdagítás szövegbányászattal
SPARQL – 1. példa
• Woody Allennel egy filmben szereplő színészek:
Tartalomgazdagítás szövegbányászattal
SPARQL – 2. példa
• Olyan színészek, akik Stanley Kubrick és Steven Spielberg filmben is
szerepeltek
Tartalomgazdagítás szövegbányászattal
Köszönöm!
www.gravityrd.com
Legfrissebb hírek:
www.facebook.com/gravityrd
Dr. Tikk Domonkos
CEO
Tel: +36 30 5470780