• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Folosirea instumentului Zemanta in recomandarea de continut
 

Folosirea instumentului Zemanta in recomandarea de continut

on

  • 1,039 views

Instrumentul Zemanta poate folosit in recomandarea de ...

Instrumentul Zemanta poate folosit in recomandarea de
continut relevant utilizatorului in cadrul unor aplicatiilor Web sociale (e.g.,
blog-uri). Platforma este disponibila sub forma de extensie pentru majoritatea navigatoarelor web.

Statistics

Views

Total Views
1,039
Views on SlideShare
1,036
Embed Views
3

Actions

Likes
2
Downloads
6
Comments
0

1 Embed 3

http://static.slidesharecdn.com 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Folosirea instumentului Zemanta in recomandarea de continut Folosirea instumentului Zemanta in recomandarea de continut Document Transcript

    • Folosirea instumentului Zemanta ˆ ın recomandarea de continut ¸ Elena-Oana T˘b˘ranu ¸i Anna-Maria Metzak a a s Facultatea de Informatic˘ a Universitatea “Alexandru I. Cuza” Ia¸i s {elena.tabaranu,anna.metzak}@info.uaic.ro Abstract. Instrumentul Zemanta poate fi folosit ˆ recomandarea de ın continut relevant utilizatorului ˆ cadrul unor aplicatii Web sociale (e.g., ¸ ın ¸ blog-uri). Platforma este disponibil˘ sub form˘ de extensie pentru ma- a a joritatea navigatoarelor web. Key words: Zemanta, extensie Firefox, recomandare de continut, web ¸ social, Faviki, Common Tag, Zemify 1 Introducere Zemanta este o platform˘ ce ajut˘ utilizatorul s˘ produc˘ continut on-line. Orice a a a a ¸ text creat de utilizator (o postare pe blog, un articol sau o pagina web) este citit direct de c˘tre Zemanta pentru identificarea contextul acestuia. Zemanta a caut˘ apoi pe web cele mai relevante imagini, link-uri, cuvinte cheie sau texte ¸i a s ofer˘ instantaneu aceste rezultate utilizatorului pentru a-i ˆ a ımbogati continutul. ¸ ¸ Platforma este disponibil˘ sub form˘ de extensie pentru majoritatea naviga- a a toarelor web (Firefox, Internet Explorer), dar ¸i pentru platforme de publicare s de continut. ¸ Cˆteva recomand˘ri pentru cei ce folosesc Zemanta: a a – textul introdus de utilizator trebuie s˘ contin˘ propozitii complete ¸i corecte a ¸ a ¸ s atˆt din punct de vedere gramatical, cˆt ¸i ortografic; a a s – Zemanta d˘ rezultate mai bune atunci cand utilizatorul folose¸te un limbaj a s natural; – se recomand˘ scrierea a cel putin un paragraf ˆ a ¸ ınainte de a lua ˆ considerare ın rezultatul ˆ ıntors de c˘tre Zemanta; a – se recomand˘ ca ˆ a ıntr-un articol s˘ se fac˘ referire la un num˘r limitat a a a de subiecte, pentru ca rezultatele ˆ ıntoarse s˘ fie cˆt mai relevante pentru a a continutul articolului respectiv. ¸ 2 API-ul Zemanta Instrumentul Zemanta pune la dispozitie un API ce poate fi folosit de orice uti- ¸ lizator ˆ situl s˘u web sau pentru construirea propriului sistem de gestiune a ın a
    • 2 Folosirea instumentului Zemanta ˆ recomandarea de continut ın ¸ Fig. 1. Schema API-ului Zemanta. continutului. Serviciul web Zemanda este un serviciu web clasic baza pe pro- ¸ tocolul standard HTTP ¸i metoda POST. Astfel, clientul trimite o cerere prin s portul 80 c˘tre api.zemanta.com ¸i prime¸te r˘spunsul encodat ˆ format XML, a s s a ın JSON, wnjson ¸i RDF/XML. Clientul este identificat de o cheie API (¸ir de ca- s s ractere care identific˘ ˆ mod unic instante specifice ale aplicatiei ce folosesc a ın ¸ ¸ serviciul). De exemplu, extensia Firefox stocheaz˘ cheia API ˆ configuratia sa a ın ¸ permanent˘ ¸i folose¸te aceast˘ cheie API la fiecare cerere c˘tre serviciul Ze- a s s a a manta, indiferent de platforma de blog pe care o viziteaz˘ utilizatorul (acela¸i a s lucru este valabil ¸i pentru extensia Internet Explorer). Se limiteaz˘ num˘rul de s a a cereri pe zi, precum ¸i num˘rul de cereri pe secund˘, ˆ functie de tipul de cont s a a ın ¸ pe care utilizatorul ˆ detine. Contul implicit pentru un dezvoltator permite 1000 ıl ¸ mesaje pe zi ¸i 1 post pe secund˘. Dac˘ aceste limite sunt dep˘¸ite, utilizatorul s a a as va primi un mesaj de eroare adecvat. Exist˘ dou˘ moduri prin care se pot obtine chei API: unul vizeaz˘ dez- a a ¸ a voltatorii de aplicatii, iar celalalt aplicatiile ce ata¸eaz˘ automat chei utiliza- ¸ ¸ s a torilor lor. Dezvoltatorii ¸i testerii primesc initial doar o cheie. Dezvoltator s ¸ trebuie s˘ se ˆ a ınregistreze ˆ cadrul portalului Zemanta destinat lor la adresa ın http://developer.zemanta.com. Platforma ofer˘ o metod˘ de asignare de chei a a separate pentru fiecare utilizator ˆ cazul ˆ care Zemanta este integrat˘ cu sis- ın ın a teme de gestiune a continutului sau alte platforme asem˘n˘toare. ¸ a a API-ul are o documentatie oficial˘ ˆ cadrul portalului destinat dezvolta- ¸ a ın torilor de aplicatii ¸i poate fi accesat la adresa http://developer.zemanta. ¸ s com-docs.
    • Folosirea instumentului Zemanta ˆ recomandarea de continut ın ¸ 3 3 Exemple de aplicatii construite folosind Zemanta ¸ 3.1 Editorul WYSIWYG Zemanta Produsul de baz˘ oferit de Zemanta este editorul WYSIWYG. Acesta este disponi- a bil sub form˘ de extensii sau plugin-uri pentru platforme precum: Gmail, Yahoo! a Mail, ScribeFire, Blogger, Wordpress, Reblog, Drupal, Tumblr, Ning, Myspace, Facebook, Last.fm, etc. Fig. 2. Wordpress: textul unei post˘ri ˆ limba englez˘ ˆ a ın a ımbog˘¸it folosind Zemanta. at 3.2 Etichetare “social˘” cu Faviki a Faviki este un instrument ce permite etichetarea “social˘”1 a paginilor web a folosind termeni de pe DBpedia2 . Astfel, utilizatorii pot folosi drept tag-uri acela¸i set de termeni extras din cea mai mare baz˘ de cuno¸tinte din lume. Da- s a s ¸ torit˘ DBpedia informatia structurat˘ de pe Wikipedia este reprezentat˘ folosind a ¸ a a un model de date flexibil, iar tag-urile propuse de Zemanta vor fi referinte la ¸ obiecte catalogate ˆ mod automat. Tag-urile obi¸nuite nu au un ˆ ¸eles bine ın s ınt definit, de aceea identificarea sensului unei tag nu este u¸oar˘. De exemplu, s a “java” poate face referire atˆt la insula din Indonezia, la specialitatea de cafea, a dar ¸i la limbajul de programare. s Faviki permite etichetarea multilingv˘: sunt sugerate concepte disponibile pe a Dbpedia ˆ 14 limbi. ın 1 Termen tradus ˆ limba englez˘ prin “social bookmarking”. ın a 2 Proiect ce ˆsi propune s˘ extrag˘ informatii structurate din baza de cuno¸tinte con- ı¸ a a ¸ s struit˘ prin proiectul Wikipedia. Datele sunt ˆ format RDF ¸i pot fi accesate folosind a ın s limbajul de interogare SPARQL.
    • 4 Folosirea instumentului Zemanta ˆ recomandarea de continut ın ¸ Fig. 3. Gmail: textul unui email ˆ limba englez˘ ˆ ın a ımbog˘¸it folosind Zemanta. at Fig. 4. Gmail: textul unui email ˆ limba romˆn˘ ˆ ın a a ımbog˘¸it folosind Zemanta. at
    • Folosirea instumentului Zemanta ˆ recomandarea de continut ın ¸ 5 Ultima versiune ˆsi propune s˘ u¸ureze folosirea formatului Common Tag3 ¸i ı¸ a s s s˘ dep˘¸easc˘ limit˘rile Wikipedia cu privire la vocabularul controlat de tag-uri a as a a semantice. Functionalit˘¸i importante oferite de ultima versiune: ¸ at – alegerea unui nume personalizat pentru tag-uri: utilizatorul ajut˘ Faviki s˘ a a ˆ ¸e tag-uri noi prin dezambiguizarea termenilor necunoscuti; ınvet ¸ – tag-urile sunt asocieri subiective ˆ ıntre concepte definite ˆ mod unic, iar ın ultima versiune permite folosirea motorul de c˘utare Google pentru a g˘si a a URL-uri ce reprezint˘ aceste concepte; a – posibilitatea de a utiliza tehnologia OpenID prin intermediul serviciului RPX ce reune¸te diferite implementari OpenID oferite de Google, Yahoo, AOL sau s Microsoft. Fig. 5. Exemplu de etichetare a textului unei post˘ri cu Faviki a API-ul Faviki permite gestionarea u¸oar˘ a tag-urilor ˆ cadrul aplicatiilor s a ın ¸ web cu urm˘toarele observatii: a ¸ – limita superioar˘ pentru serviciile expuse de Faviki este de 1000 de cereri pe a zi; – tag-urile sunt delimitate de caracterul ’;’, iar cele formate din mai multe cuvinte pot folosi ˆ loc de spatiu atˆt ’%20’ cˆt ¸i ’ ’; ın ¸ a a s 3 Format deschis de tagging ce ˆsi propune s˘ faciliteze interconectarea ¸i descoperirea ı¸ a s de nou continut. Spre deosebire de tag-urile obi¸nuite, cele ˆ format Common Tag ¸ s ın sunt referinte la concepte bine defnite, cu metadate ata¸ate ¸i propriul URL. Siturile ¸ s s ce folosesc Common Tag au avantaje precum: ˆ ımbog˘¸irea continutului cu text, at ¸ imagini ¸i extensii sau promovarea multi-platform˘. s a
    • 6 Folosirea instumentului Zemanta ˆ recomandarea de continut ın ¸ – termenii ˆ limba englez˘ pot fi amestecati cu termeni ˆ alte limbi. De exem- ın a ¸ ın plu, dac˘ limba este “de” (german˘), atunci etichetele “Nachrichten” (“¸tiri” a a s ˆ limba german˘) ¸i “Semantic Web” (web semantic ˆ limba englez˘) pot ın a s ın a fi folosite ˆ ımpreun˘; a – textul tag-urilor trebuie encodat. 3.3 Comanda Zemify pentru Ubiquity Ubiquity este o extensie pentru Firefox ce permite utilizatorilor s˘ dea comenzi a navigatorului, introducˆnd cuvinte ˆ a ıntr-un cˆmp special. Comenzile sunt scur- a t˘turi pentru actiuni efectuate ˆ mod constant de utilizator pe Web. Ele pot a ¸ ın elimina sarcini repetitive obtinˆnd astfel acelea¸i rezultate ˆ ¸ a s ıntr-un timp mult mai scurt. Interesant pentru Ubiquity este faptul c˘ oricine poate scrie o comand˘ a a pe care apoi s˘ o partajeze cu restul lumii, ˆ acela¸i mod ˆ care Web-ul ˆ sine a ın s ın ın permite partajarea de informatii. ¸ Ubiquity permite utilizatorilor s˘ insereze h˘rti, s˘ traduc˘ buc˘¸i din con- a a¸ a a at ¸inutul unei pagini, s˘ evidentieze text sau multe alte functionalit˘¸i. Printre t a ¸ ¸ at acestea se num˘r˘ ¸i integrarea cu API-ul Zemanta. Comanda Zemify permite aas interogarea dinamic˘ a serviciului Zemanta pentru o anumit˘ secvent˘ de text a a ¸a selectat˘ de c˘tre utilizator. a a Fig. 6. Exemplu pentru comanda Zemify: integrarea Zemanta cu Ubiquity 3.4 Researchr: del.icio.us ¸i Zemanta s Researchr este un prototip ce interogheaz˘ del.icio.us cu privire la subiecte de pe a Wikipedia, dar ¸i analizeaz˘ continutul paginilor web folosind Zemanta pentru a s a ¸
    • Folosirea instumentului Zemanta ˆ recomandarea de continut ın ¸ 7 g˘si articole, imagini ¸i link-uri asem˘n˘toare. Rezultatele g˘site ˆ mod automat a s a a a ın de Zemanta sunt comparate cu etichetele g˘site pe del.icio.us. a 3.5 Linked Galaxy Linked Galaxy este un instrument ce folose¸te entit˘¸ile semantice identificate s at de Zemanta ˆ textul dat ¸i le intersecteaz˘ cu DBpedia ¸i Freebase urm˘rind ın s a s a descoperirea de leg˘turi ascunse ˆ a ıntre acestea. Rezultatele sunt oferite sub forma unui graf. 4 Zemanta API ˆ practic˘ ın a Programatorii au nevoie de cont ˆ cadrul portalului pentru a-¸i genera propria ın s cheie API necesar˘ atunci cˆnd se face o cerere c˘tre serviciile expuse de Ze- a a a manta. Interog˘rile folosesc protocolul HTTP ¸i metoda POST, iar end point-ul a s unei cereri c˘tre API este http://api.zemanta.com/services/rest/0.0. a Metodele expuse de API-ul Zemanta sunt: – zemanta.suggest - permite interogarea Zemanta cu privire la metadate con- textuale ale unui text dat, iar r˘spunsul are patru componente principale: a articole, cuvinte cheie, link-uri ˆ interiorul textului ¸i categorii de compo- ın s nente optionale; ¸ – zemanta.suggest_markup - permite interogarea Zemanta cu privire la meta- date contextuale ale unui text dat, iar comparativ cu zemanta.suggest, aceast˘ metod˘ returneaz˘ doar link-uri c˘tre entit˘¸i semantice; a a a a at – zemanta.preferences - permite doar interogarea Zemanta cu privire la preferintele unui anumit utilizator, dar nu ¸i schimbarea acestora. ¸ s Parametrii trimi¸i API-ului la efectuarea unei cereri: s – method - numele metodei; – api_key - cheia API; – text - textul utilizatorului (text simplu sau HTML) - este obligatoriu doar pentru metodele de tip “suggest”; – format - formatul ˆ care vor fi ˆ ın ıntoarse datele (xml, json, wnjson sau rdfxml); – optional pot fi trimi¸i ¸i alti parametri (pentru metodele de tip “suggest”) : s s ¸ return_rdf_links, return_categories, return_images, emphasis, personal_scope, markup_limit, images_limit, articles_limit, articles_max_age_days, image_max_w, image_max_h. Structura unui r˘spuns pentru o metod˘ de tip “suggest”: a a – status - starea r˘spunsului poate fi ok sau fail; a – rid - id unic al cererii; – articles - o list˘ de obiecte: url (URL-ul articolului), title (titlul articolu- a lui), published_datetime (data cˆnd aricolul a fost publicat), confidence a (un num˘r subunitar ce reprerint˘ gradele de ˆ a a ıncredere);
    • 8 Folosirea instumentului Zemanta ˆ recomandarea de continut ın ¸ Fig. 7. Exemplu de interogare a API-ului Zemanta. – keywords - o list˘ de obiecte ce contin urm˘toarele informatii: name (cuvˆn- a ¸ a ¸ a tul cheie, poate contine spatii, dar nu poate contine virgule), confidence ¸ ¸ ¸ (un num˘r subunitar ce reprezint˘ gradele de ˆ a a ıncredere), schema (originea cuvˆntului cheie); a – images - o list˘ de obiecte, fiecare dintre ele continˆnd informatii despre a ¸ a ¸ URL-ul imaginii (ˆ diferite formate: mic, mediu ¸i mare), dimensiunile imag- ın s inii, descrierea imaginii, URL-ul paginii de unde a fost luat˘ imaginea; a – markup - obiect ce reprezint˘ marcajul: text (text HTML ce contine link- a ¸ uri), links (o list˘ de obiecte) a – categories - o list˘ de obiecte ce contin urm˘toarele informatii: name (nu- a ¸ a ¸ mele categoriei), confidence (un num˘r subunitar ce reprezint˘ gradele de a a ˆ ıncredere), categorization (c˘rei metode ˆ apartine aceast˘ categorie); a ıi ¸ a – signature - semn˘tura folosit˘. a a Structura unui r˘spuns pentru o metod˘ de tip “preferences”: a a – status - starea r˘spunsului (ok sau fail); a – config_url - URL ce permite editarea preferintelor utilizatorului respectiv; ¸ – doctype - doctype pentru codul HTML; – image_position - pozitia imaginii ( 0 - pentru stˆnga / 1 - pentru dreapta); ¸ a – email - adresa de email a utilizatorului; – name - numele complet al utilizatorului (atunci cˆnd acesta este disponibil). a Exemplu de cerere c˘tre API-ul Zemanta folosind Javascript. a ------ jscodesample.html ------- <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js">
    • Folosirea instumentului Zemanta ˆ recomandarea de continut ın ¸ 9 </script> <!-- copy these to your own server and minimize before use --> <script type="text/javascript" src= "http://friedcellcollective.net/js/jQuery.windowName/jQuery.windowName.plugin.js"> </script> <script type="text/javascript" src="http://www.json.org/json2.js"></script> <script type="text/javascript"> function prepareZemantaData(apikey, text) { return { method: ’zemanta.suggest’, format: ’wnjson’, api_key: apikey, text: text // for more options // check http://developer.zemanta.com/docs/suggest/ }; } function getZemantaAPI(data, callback) { $.ajax({ url: ’http://api.zemanta.com/services/rest/0.0/’, type: ’POST’, data: data, success: function (data, type) { callback(JSON.parse(data)); } }); } </script> <!-- this is needed to run the example --> <script type="text/javascript"> jQuery(function ($) { var keyRx = /[a-z0-9]{24}/; $(’#control’).submit(function (ev) { var key = $(’#key’).val(), text = $(’#text’).val(); if (key && key.length === 24 && key.match(keyRx) && text) { getZemantaAPI( prepareZemantaData(key, text), function (data) { $(’#result’).empty().text(JSON.stringify(data, null, 2)); } );
    • 10 Folosirea instumentului Zemanta ˆ recomandarea de continut ın ¸ } ev.preventDefault(); }); }); </script> ------ end jscodesample.html ------- Exemplu de r˘spuns oferit de API-ul Zemanta. a { "status":"ok", "articles":[{ "url": "http://popbytes.com/archive/2009/11/ pop_nosh_jude_law_doesnt_like_being_spied_on.shtml", "confidence":0.005382, "published_datetime":"2009-11-20T21:10:49Z", "zemified":0, "title":" pop nosh: jude law doesn’t like being spied on " }, ], "markup":{ "text":"michael jackson", "links":[] }, "images":[{ "url_m_h":95, "confidence":0.5, "url_s_h":75, "attribution":"Image by <a href="http://www.daylife.com/source/Getty_Images"> Getty Images</a> via <a href="http://www.daylife.com"> Daylife</a>", "description":"LOS ANGELES, CA - JULY 07: (L-R) Brooke Shields, Janet Jackson, Michael Jackson’s son Prince Michael Jackson II (also known as Blanket), LaToya Jackson, Michael Jackson’s daughter Paris-Michael Katherine, an unidentified singer and Michael Jackson’s oldest son Michael Joseph Jackson, Jr. (also known as "Prince") attend the Michael Jackson public memorial service held at Staples Center on July 7, 2009 in Los Angeles, California. Jackson, the iconic pop star, died at the age of 50 at UCLA Medical Center after going into cardiac arrest at his rented home on June 25 in Los Angeles.", "license":"Low resolution use allowed when backlinking", "url_l_w":150, "url_s":
    • Folosirea instumentului Zemanta ˆ recomandarea de continut ın ¸ 11 "http://cache.daylife.com/imageserve/0bm7eZPc4B4pA/75x75.jpg", "source_url": "http://www.daylife.com/image/0bm7eZPc4B4pA?utm_source=zemanta &utm_medium=p&utm_content=0bm7eZPc4B4pA&utm_campaign=z1", "url_m": "http://cache.daylife.com/imageserve/0bm7eZPc4B4pA/150x95.jpg", "url_l": "http://cache.daylife.com/imageserve/0bm7eZPc4B4pA/150x95.jpg", "url_l_h":95, "url_s_w":75, "url_m_w":150 } ], "signature":"<div class="zemanta-pixie"> <a class="zemanta-pixie-a" href= "http://reblog.zemanta.com/zemified/cb616a96-2210-4c7a-939b-34483ec8ad41/" title="Reblog this post [with Zemanta]"><img class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_e.png? x-id=cb616a96-2210-4c7a-939b-34483ec8ad41" alt= "Reblog this post [with Zemanta]" /></a></div>", "keywords":[{ "confidence":0.155657, "scheme":"general", "name":"michael jackson" }, { "confidence":0.037475, "scheme":"general", "name":"Jackson Andrew" }, { "confidence":0.033337, "scheme":"general", "name":"History" } ], "rid":"cb616a96-2210-4c7a-939b-34483ec8ad41", "categories":[], "rich_objects":[] } 5 Concluzii Majoritatea serviciilor de procesare a continutului ˆ ¸ ıncearc˘ s˘ identifice cele mai a a reprezentative cuvinte sau nume proprii dintr-un text. Spre deosebire de acestea,
    • 12 Folosirea instumentului Zemanta ˆ recomandarea de continut ın ¸ Zemanta ofer˘ atˆt tag-uri bazate pe cuvinte, cˆt ¸i tag-uri pentru conceptele a a a s identificate ˆ text. ın 6 Bibliografie 1. Common Tag, http://commontag.org/Home 2. Pagin˘ demo pentru integrarea Zemanta cu platforma Ubiquity, http://code. a zemanta.com/bostjan-ubiquity 3. Zemnata Developer Network, http://developer.zemanta.com/ 4. Zemanta Blog, http://www.zemanta.com/fruitblog/