lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf...
Transcript of lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf...
Vaaglogisch redeneren over aanbevelingssystemen
op het Web 2.0
Sarah Bourgeois
Promotor: Dr. Steven Schockaert
Begeleiders: Jeroen Janssen, Patricia Victor
Masterproef ingediend tot het behalen van de academische graad
Master in de ingenieurswetenschappen: computerwetenschappen
Vakgroep Toegepaste wiskunde en informatica
Voorzitter: Prof. Dr. Guido Vanden Berghe
Faculteit Wetenschappen
Academiejaar 2009–2010
Vaaglogisch redeneren over aanbevelingssystemen
op het Web 2.0
Sarah Bourgeois
Promotor: Dr. Steven Schockaert
Begeleiders: Jeroen Janssen, Patricia Victor
Masterproef ingediend tot het behalen van de academische graad
Master in de ingenieurswetenschappen: computerwetenschappen
Vakgroep Toegepaste wiskunde en informatica
Voorzitter: Prof. Dr. Guido Vanden Berghe
Faculteit Wetenschappen
Academiejaar 2009–2010
Woord vooraf
Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch rede-
neren op het Web 2.0 wekte dus vrijwel meteen mijn interesse. De laatste maanden heb ik
mij verdiept in de wereld van de vaaglogica, van fuzzy answer set programming en van tag-
aanbevelingssystemen. Het was een werk van lange adem, maar ik ben blij met het resultaat.
In eerste instantie wil ik mijn promotor Dr. Steven Schockaert bedanken voor zijn goede
opvolging en zijn dichte betrokkenheid bij deze thesis. Ook de begeleiders Jeroen Janssen
en Patricia Victor wil ik bedanken voor hun dichte betrokkenheid en hun goede raad. Hun
bijdrage was voor mij onmisbaar.
Verder bedank ik mijn ouders, mijn zus en mijn vriend voor hun bemoedigende woorden
in moeilijke tijden en hun hulp bij het zoeken naar taalkundige fouten. Ik wil ook mijn beste
vrienden bedanken voor hun onvoorwaardelijk geloof in mij.
Sarah Bourgeois Gent 2009-2010
i
Toelating tot bruikleen
De auteur en promotor geven de toelating deze scriptie voor consultatie beschikbaar te stellenen delen ervan te kopieren voor persoonlijk gebruik. Elk ander gebruik valt onder de beper-kingen van het auteursrecht, in het bijzonder met betrekking tot de verplichting uitdrukkelijkde bron te vermelden bij het aanhalen van resultaten uit deze scriptie.
The author and promoter give the permission to use this thesis for consultation and tocopy parts of it for personal use. Every other use is subject to the copyright laws, morespecifically the source must be extensively specified when using from this thesis.
Gent, Juni 2004
De promotor, De begeleider, De auteur,
Steven Schockaert Jeroen Janssen Sarah Bourgeois
ii
Vaaglogisch redeneren over aanbevelingssystemen op
het Web 2.0
door
Sarah Bourgeois
Masterproef ingediend tot het behalen van de academische graad vanMaster in de ingenieurswetenschappen: computerwetenschappen
Academiejaar 2009–2010
Universiteit GentFaculteit Wetenschappen
Vakgroep Toegepaste wiskunde en informaticaVoorzitter: Prof. Dr. Guido Vanden Berghe
Promotor: Dr. Steven SchockaertBegeleiders: Jeroen Janssen, Patricia Victor
Samenvatting
Fuzzy answer set programming of kortweg FASP is een jong onderzoeksdomein dat de con-cepten van answer set programming (ASP) en vaaglogica combineert. De laatste jaren werder vooral veel onderzoek verricht naar de theoretische kant van FASP. De toepasbaarheidvan FASP in een bruikbare applicatie daarentegen werd nog niet eerder bestudeerd. In dezethesis wordt er onderzocht hoe het FASP paradigma kan toegepast worden in de context vantag-aanbevelingssystemen. Dit zijn typische Web 2.0 toepassingen die gebruik maken vanfolksonomieen.
Trefwoorden FASP, vaaglogica, folksonomie, tag-aanbevelingssysteem, Web 2.0
iii
Recommendation Systems on the Web 2.0 using the FASP
Paradigm
Sarah BourgeoisPromotor(s): Steven Schockaert, Jeroen Janssen, Patricia Victor
May 30, 2010
Abstract
Fuzzy Answer Set Programming (FASP) is a ratheryoung research domain that aims to combine theconcepts of answer set programming and fuzzylogic. In the last years the theoretical work hasreceived a great deal of attention, but as of yetthe research into the construction of real-lifeapplications has not been so extensive. In thisthesis, we explore how FASP can be applied in thecontext of tag recommendation systems, which arecommon on the Web 2.0.
Keywords : FASP, fuzzy logic, folksonomy,tag recommendation system, Web 2.0
1 Introduction
1.1 Folksonomies on the Web 2.0
One of the common traits of social network siteson the Web 2.0 such as Last.fm, Flickr, and Bib-sonomy, is the use of tags to add meaning to dataresources. These tags are structured into folk-sonomies, which describe users (U), resources (R),tags (T ) and a ternary relation Y ⊆ U × T × R.If (u, t, r) ∈ Y this means that “user u has anno-tated resource r with tag t”. This action is shown infigure 1. The main purpose of tags is to structurethe resources of the users. It makes their searchthrough the resources easier. Tag recommendationsystems suggest tags to users based on the under-lying folksonomy of the site, to guide them in thetagging process.
Figure 1: Action in a folksonomy
1.2 Fuzzy answer set programming
Fuzzy answer set programming (FASP) [5] combinesanswer set programming [1] and fuzzy logic [2].
A fuzzy answer set program P is a set of rules ofthe form
a← f(a1, . . . , an; b1, . . . , bm) (1)
with f : [0, 1]n+m → [0, 1] increasing in ai, 0 ≤ i ≤n and decreasing in bj , 0 ≤ j ≤ m. A simple fuzzyanswer set program P is a program given by rulesof the form 1.2 where m = 0.
The answer set of a simple program, that is, aset of simple rules, is defined as the minimal modelof that program. The answer sets of an arbitraryprogram are defined using a reduct operation, whichis similar in spirit to the reduct proposed by Gelfondand Lischitz for classical ASP [3], [5].
2 Optimizing similarities
Tag recommendation systems consist of many fuzzyconcepts such as the vague notion of the relevanceof a tag. The relevance of a tag can be defined asa function of its characteristics which are vague ontheir own. FASP can give an added value to a tagrecommendation system as it is perfectly suited forreasoning with fuzzy variables. A commonly usedvague concept in tag recommendation systems is thesimilarity measure. The similarity defines to whichdegree two items1 are similar. It is therefore aninteresting idea to find out if the existing similaritymeasures can be optimized using a FASP program.In this thesis we focus on the identification of goodsimilarities. The rules of the FASP-program arebased on the following idea
Two resources are similar if the userswhich annotated the resources are similarand if the tags given to the resources aresimilar.
The similar line of thought can be applied to de-fine the similarity of two users and two tags. Wetranslated this idea in a simple FASP program. The
1An item is a collective term for a resource, user or tag.
similarities were initialised with the Jaccard simi-larity coefficient [6]. The fuzzy answer sets of theprogram aims to lead to an optimization of the sim-ilarity values.
3 Evaluation set-up
We evaluate the new similarity values with the ini-tial Jaccard similarity values.
3.1 Program configuration
The rules we propose allow for some degrees-of-freedom in the form of aggregation operators thathave to be chosen. We consider 50 different config-urations and compare their behavior with that ofthe Jaccard similarity.
3.2 Dataset
The dataset we use is a snapshot of the Bibsonomy2
system. Bibsonomy is a social bookmarking sys-tem where users can also share bibtex entries. Theresources of the folksonomy are in this case book-marks and bibtex files. To manage the size of thedataset we first apply collaborative filtering, whichis designed in such a way that we can extract ei-ther more sparse or more dense datasets from thecomplete dataset.
3.3 Evaluation methodology
As the similarity for users and tags follows in thesame manner, we limit ourselves to evaluating thesimilarity of the resources. We choose a resourcefor which we evaluate the similarity with all otherresources of the dataset. Then we choose a tagof the selected resource which we remove from thedataset. We assume that all other resources thathad the tag in common with the chosen resource,are similar resources. Now we calculate the similar-ities for the resulting dataset. The ‘good’ resourcesshould still be similar with the main resource afterthe removal of the common tag. So if we rank allother resources by their similarity with the chosenresource, we want the good resources to be on topof the sorted list. For every tag of the chosen re-source we make such a ranking. Then we calculatethe mean average precision (MAP) score [4] for thechosen resource. We do this for every resource inthe dataset and take the average of the MAP-scoresas the quality of the similarity measure.
4 Results
The results of the evaluation show that the Jaccardsimilarity did best in general. In some cases the
2http://www.bibsonomy.org/
quality of the optimized similarities exceeded theJaccard similarity, but in other cases the qualitydecreased. We conclude that the similarities areless stable after we optimized them. This somewhatbad outcome can be owed to the small datasets or tothe configuration of the FASP-rules. However, thecurrent results suggest that it is not a good ideato define similarity values using the given FASP-program.
5 Future work
The real potential of FASP can be found in thedefinition of the relevance of tags. We say thata tag’s good characteristics and the negation of atag’s bad characteristics imply the relevance of atag. The notion of good and bad characteristicsare again subject to vagueness. This can be mod-elled as a standard FASP-program in which ruleswill contain negation-as-failure. We have a strongbelief that FASP is better suited for this kind ofproblems. Further research will have to justify thisassumption.
References
[1] Chitta Baral. Knowledge Representation, Reason-ing, and Declarative Problem Solving. CambridgeUniversity Press, New York, NY, USA, 2003.
[2] P. Hajek. Metamathematics of fuzzy logic. Springer,1998.
[3] Vladimir Lifschitz. What is answer set program-ming? In AAAI’08: Proceedings of the 23rd na-tional conference on Artificial intelligence, pages1594–1597. AAAI Press, 2008.
[4] Christopher D. Manning, Prabhakar Raghavan, andHinrich Schtze. Introduction to Information Re-trieval, chapter 08 Evaluation in information re-trieval, pages 159–163. Cambridge University Press,2008.
[5] Davy Nieuwenborgh, Martine Cock, and Dirk Ver-meir. An introduction to fuzzy answer set program-ming. Annals of Mathematics and Artificial Intelli-gence, 50(3-4):363–388, 2007.
[6] Raimundo Real and Juan M. Vargas. The proba-bilistic basis of jaccard’s index of similarity. Sys-tematic Biology, 45(3):380–385, 1996.
Inhoudsopgave
Lijst van afkortingen en symbolen viii
1 Inleiding 11.1 Waar staat Web 2.0 voor? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Aanbevelingssystemen en andere . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Folksonomie en tag-aanbevelingssystemen . . . . . . . . . . . . . . . . . . . . 31.4 Inhoudelijk overzicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Inleiding tot fuzzy answer set programming 5
3 Tag-aanbevelingssystemen 103.1 Formele beschrijving van het tag-aanbevelingsprobleem . . . . . . . . . . . . . 103.2 Onderverdeling van tag-aanbevelingssystemen . . . . . . . . . . . . . . . . . . 133.3 Huidige tag-aanbevelingssystemen . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3.1 Populairste tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.3.2 Collaboratief filteren . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3.2.1 Standaard collaboratief filteren . . . . . . . . . . . . . . . . . 173.3.2.2 Collaboratief filteren voor tag-aanbevelingssystemen . . . . . 24
3.3.3 Folksonomie-aangepaste PageRank . . . . . . . . . . . . . . . . . . . . 343.3.4 FolkRank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.3.5 Gretige algoritmen voor het bepalen van de kwaliteit van tags . . . . . 39
3.4 Besluit van het overzicht van tag-aanbevelingssystemen . . . . . . . . . . . . 42
4 Similariteitsberekening met een vaaglogisch programma 434.1 Ontwerp van een vaaglogisch programma . . . . . . . . . . . . . . . . . . . . . 43
4.1.1 Doelstelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434.1.2 Opstellen regels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.1.2.1 Waarom de gewogen som geen goede keuze is om relevantetagsimilariteiten te combineren . . . . . . . . . . . . . . . . . 45
4.1.2.2 Hoe combineren we alle nodige similariteiten . . . . . . . . . 474.1.2.3 Jaccard similariteitscoefficient . . . . . . . . . . . . . . . . . 50
vi
Inhoudsopgave
4.1.2.4 Het finale vaaglogisch programma . . . . . . . . . . . . . . . 514.2 Experimentele set-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.2.1 Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544.2.1.1 Wat is BibSonomy . . . . . . . . . . . . . . . . . . . . . . . . 544.2.1.2 Structuur BibSonomy dataset . . . . . . . . . . . . . . . . . 544.2.1.3 Initiele filtering . . . . . . . . . . . . . . . . . . . . . . . . . . 554.2.1.4 Filtering met CF . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.2.2 Evaluatiemethodologie . . . . . . . . . . . . . . . . . . . . . . . . . . . 594.3 Resultaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.3.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654.3.2 Test op de kleine dataset . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.3.2.1 Karakteristieken van de kleine dataset . . . . . . . . . . . . . 654.3.2.2 Resultaat van de test op de kleine dataset . . . . . . . . . . . 70
4.3.3 Algemene resultaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754.3.4 Besluit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5 Toekomstig werk 845.1 Ontwerp van een vaaglogisch programma met negatie-bij-faling . . . . . . . . 845.2 Implementatie van een genetisch algoritme voor het vervulbaarheidsprobleem
in vaaglogica’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865.2.1 Wat is een genetisch algoritme . . . . . . . . . . . . . . . . . . . . . . 865.2.2 Initialisatie genetisch algoritme . . . . . . . . . . . . . . . . . . . . . . 86
5.2.2.1 Definities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 875.2.2.2 Methoden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.2.3 Resultaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6 Conclusie 92
A MAP-scores per object van de test op een kleine dataset van 11 objecten. 95
Bibliografie 107
Lijst van figuren 110
Lijst van tabellen 111
vii
Lijst van afkortingen en symbolen
Afkortingen
ASP Answer Set Programming
CF Collaboratief Filteren
fuzzy SAT fuzzy satisfiability
IR Information Retrieval
MAP Mean average precision
Symbolen
F Y ⊆ U × T ×R, een folksonomie
GF De voorstelling van een folksonomie als een nietgerichte tri-partite graaf met V alsverzameling van knopen en E als verzameling van bogen
πRT Een projectie van het 3-dimensionele tag aanbevelingsprobleem naar een 2-dimensioneleruimte met overblijvende dimensies R en T
πUR Een projectie van het 3-dimensionele tag aanbevelingsprobleem naar een 2-dimensioneleruimte met overblijvende dimensies U en R
πUT Een projectie van het 3-dimensionele tag aanbevelingsprobleem naar een 2-dimensioneleruimte met overblijvende dimensies U en T
sim(a,b) de similariteit van a en b (de mate waarin a op b lijkt), uitgedrukt als een cijfertussen 0 en 1.
R(u) De lijst met aanbevolen objecten uit het standaard aanbevelingsprobleem
T(u, r) De lijst met aanbevolen tags uit het tag aanbevelingsprobleem
a(u) Authoriteitsscore van gebruiker u.
viii
Inhoudsopgave
C(t) Bedekking (Eng. coverage). Deze functie bepaalt hoeveel objecten werden getagd mettag t.
Nkr De k-nearest neighbourhood, of de k beste buren uit de omgeving van object r
Nku De k-nearest neighbourhood, of de k beste buren uit de omgeving van gebruiker u
R Verzameling van alle objecten r
Rt Verzameling van alle objecten die bij tag t horen
Ru Verzameling van alle objecten die bij gebruiker u horen
Ru,t Verzameling van alle objecten waar gebruiker u de tag t heeft aan toegekend
S(t, r) Kwaliteit van de toekenning van tag t aan object r.
T Verzameling van alle tags t
Tr Verzameling van alle tags die bij object r horen
Tu Verzameling van alle tags die bij gebruiker u horen
Tu,r Verzameling van alle tags die gebruiker u aan object r heeft toegekend
U Verzameling van alle gebruikers u
Ur Verzameling van alle gebruikers die bij object r horen
Ut Verzameling van alle gebruikers die bij tag t horen
Ur,ti+tj Verzameling van alle van gebruikers die zowel tag ti als tag tj hebben toegekend aanobject r.
Ur,t Verzameling van alle gebruikers die tag t aan object r hebben toegekend
Uti+tj Verzameling van alle van gebruikers die zowel tag ti als tag tj hebben gebruikt.
ix
Hoofdstuk 1
Inleiding
1.1 Waar staat Web 2.0 voor?
Het begrip Web 2.0 werd een vijftal jaar geleden voor het eerst geıntroduceerd. De bedoelingervan was om het vertrouwen van de internetinvesteerders terug te winnen na het barstenvan de welgekende ‘dotcom-zeepbel’. Het aantal gebruikers en toepassingen explodeerden indie periode; het web was niet langer een collectie van statische webpagina’s, maar een groteverzameling van verschillende soorten data die door alles en iedereen kan worden uitgebreid.Vele bedrijven die de grote massa aan informatie niet aan konden gingen over kop. Toch warener ook bedrijven die het hoofd wel boven water konden houden en meer zelfs: ze maaktennet gebruik van het onderliggende netwerk van data om hun applicaties te verbeteren. Dezeapplicaties werkten beter naarmate ze door meer mensen gebruikt werden [27]. Het web wasgeevolueerd naar een ‘netwerk als platform’.
Het zijn nieuwe webprogrammeer -en scripttechnieken zoals AJAX, Ruby on Rails en PHPdie het mogelijk maken om Web 2.0 programma’s binnen een webpagina uit te voeren op eentransparante manier. Men heeft het gevoel dat deze programma’s even snel lopen als gewonedesktopapplicaties. Daarbij zijn er tegenwoordig ook veel online opslagmogelijkheden. Denkmaar aan kalenders, adresssen, links, emails of foto’s die op de server van de applicatie wordenopgeslaan [20].
De start was gegeven voor de vele Web 2.0 diensten die er vandaag de dag bestaan. Flickr1,Twitter2, Facebook3, Hyves4, Wikipedia5, Bibsonomy6 en Last.fm7 zijn maar enkele voorbeel-
1http://www.flickr.com/2http://twitter.com/3http://www.facebook.com/4http://www.hyves.nl/5http://www.wikipedia.org/6http://www.bibsonomy.org/7http://www.last.fm/
1
Hoofdstuk 1. Inleiding
den van applicaties die onder de noemer Web 2.0 vallen. Chatten, mailen, links organiseren,foto’s opladen, muziek beluisteren: het kan nu allemaal vanuit je browser gebeuren. Web 2.0is echter veel meer dan een collectie webdiensten die desktopprogramma’s kunnen vervangen.Om het te formuleren met de woorden van de auteur van het artikel ‘Web 2.0; ik heb, jij hebt,samen hebben we...’ (zie [20]) :
“Web 2.0 is sociale software. Software die als een verfrissende wind over de web-velden waait. Het toverwoord is doen; socialiseren, samenwerken, creeren envooral delen. Wat ik heb, krijg jij en wat jij hebt, krijg ik, want als we samendelen hebben we samen meer.”
1.2 Aanbevelingssystemen en andere
Hedendaagse gebruikers van het web vertonen vaak sociaal gedrag rondom een gedeeld object.Dit kan een gemeenschappelijke interesse zijn in een blog, een foto of een wetenschappelijkartikel. Op deze manier worden sociale netwerken gebouwd. Deze netwerken zijn een krachtigplatform voor collaboratief gebaseerde aanbevelingssystemen. Een dergelijk systeem wordtbovenop een sociaal netwerk gebouwd. Ze gaat de gebruiker bepaalde objecten aanraden opbasis van het onderliggende netwerk. De meest kenmerkende eigenschap van een aanbeve-lingssysteem is net dat het systeem beter wordt naarmate meer mensen ze gebruiken. Denkmaar aan Amazon, de bekende site waar je boeken online kunt kopen. Wanneer we op Ama-zon een boek bestellen, zal er een achterliggend aanbevelingssysteem op basis van onze keuzeeen overzicht geven van boeken die andere lezers met dezelfde interesse reeds kochten. Anderevoorbeelden zijn Last.fm, waar muziekliefhebbers met een gelijkaardige muziekvoorkeur el-kaar gemakkelijk kunnen vinden. Een belangrijk gedeelte van de Web 2.0 toepassingen makendus gebruik van aanbevelingssystemen.
Maar lang voor het Web 2.0 was er al nood aan dergelijke systemen. Ze waren nodig omde grote massa aan informatie die aanwezig is op het web te stroomlijnen. We kunnen zeonderverdelen onder de grote noemer van informatiebevragingssystemen (Eng. informationretrieval systems, afk. IR systems). Dit zijn systemen die betekenisvolle informatie extraherenuit de structurele informatie die reeds voorhanden is. Het meest bekende voorbeeld hiervanis het ordenen van links in een zoekmachine. Larry Page en Sergey Brin [28] waren de eerstenom het toevoegen van een link voor te stellen als het uitbrengen van een stem, waarbijer meer waarde wordt gehecht aan stemmen van betrouwbare mensen. Links waarnaar erdoorverwezen wordt door interessante gebruikers vanop een interessante webpagina, wordenzelf ook interessant. Deze denkwijze ligt aan de basis van het ontzettend bekende Pagerank-algoritme van Google. In het volgende hoofdstuk komen we op dit algoritme terug. IR-technieken zoals het PageRank-algoritme zitten verweven in het huidige web en geven ons
2
Hoofdstuk 1. Inleiding
een beter inzicht in de materie [27, 20].
1.3 Folksonomie en tag-aanbevelingssystemen
Rondom gedeelde objecten spelen tags een belangrijke rol. Tags zijn trefwoorden die aaneen object kunnen worden toegekend, een process dat tagging wordt genoemd, en waarmeede enorme hoeveelheid digitale informatie kan worden gestructureerd. Tagging zorgt ervoordat we als gebruiker orde kunnen scheppen in de chaos van links, foto’s, documenten enandere webobjecten waar we eigenaar van zijn. Het is namelijk veel gemakkelijker om onzewebdocumenten terug te vinden via de tags. Daarbij komt nog dat onze tags en webobjectenovereen kunnen komen met die van andere gebruikers. Foto’s, links en interesses wordendus automatisch gelinkt via tags in een grote verzameling van gelijkaardige informatie vanverschillende gebruikers [20].Een typisch voorbeeld van een site waar veelvuldig gebruik gemaakt wordt van tags is hetrazendpopulaire Facebook. Daar worden personen op foto’s getagd. Een voorbeeld van eensite waar tags ook effectief gebruikt worden om het zoeken te vereenvoudigen is Bibsonomy.Tags worden er toegekend aan bladwijzers en bibtexdocumenten. In deze thesis wordt ergewerkt met de folksonomie die geextraheerd kan worden uit het Bibsonomysysteem.
De informatie bij een transactie is drieledig: gebruiker, object en tag. Dit wordt gegevenin Figuur 1.1. Een verzameling van dergelijke informatie wordt een folksonomie genoemd.Folksonomieen zijn een vorm van sociale netwerken die uitermate geschikt zijn voor hetontwikkelen van een bovenliggend aanbevelingssysteem. Tags kunnen gebruikt worden omobjecten uit de objectenverzameling van een folksonomie aan te bevelen aan de gebruiker.Tag-aanbevelingssystemen staan de gebruikers bij in hun tagkeuze door relevante tags voorte stellen op basis van het netwerk dat een folksonomie met zich meebrengt [20, 17].
Figuur 1.1: Transactie uit een folksonomie
3
Hoofdstuk 1. Inleiding
1.4 Inhoudelijk overzicht
In deze thesis wordt er specifiek onderzocht hoe het FASP paradigma kan toegepast wordenin de context van tag-aanbevelingssystemen. In hoofdstuk 2 wordt eerst kort toegelicht watFASP precies is, waaruit het bestaat en hoe het kan toegepast worden. De voornaamstebegrippen van het FASP-paradigma die relevant zijn voor deze thesis worden er besproken.
In hoofdstuk 3 wordt een overzicht gegeven van de bestaande tag-aanbevelingssystemen.De meest voorkomende technieken worden er bekeken en zullen een inspiratie vormen voorhet ontwerp van een eigen systeem.
Het nut van FASP voor een tag-aanbevelingssysteem zit hem in de voorstelling van de vageconcepten van een tag-aanbevelingssysteem. De kern van vele tag-aanbevelingssystemen is desimilariteitsmaat, een vaag begrip dat de gelijkaardigheid bepaald tussen twee gelijksoortigeelementen. Het is dan ook een interessant idee om te onderzoeken of de similariteitswaardendie verkregen worden met een bestaande techniek geoptimaliseerd kunnen worden aan dehand van een vaaglogisch programma. Dit gebeurt in hoofdstuk 4.
Het echte potentieel van FASP zit hem echter in de bepaling van de kwaliteit van tags.Deze kan bepaald worden als functie van zijn goede en slechte eigenschappen. Zo een functiekan vertaald worden naar een FASP-regel en de verzameling van alle regels bepalen het FASP-programma. Deze idee wordt uitgewerkt in hoofdstuk 5 samen met een methode om de vageanswer sets van het FASP-programma te bepalen.
In het laatste hoofdstuk, 6, geven we tenslotte een overzicht van wat we geleerd hebbenuit dit onderzoek.
4
Hoofdstuk 2
Inleiding tot fuzzy answer set
programming
Fuzzy answer set programming (FASP) combineert answer set programming (ASP) [21] metvaaglogica (Eng. fuzzy logic).
ASP is een vorm van logisch programmeren waarin er op een niet-monotone manier wordtgeredeneerd. Niet-monotoon houdt in dat het redeneerproces gebaseerd is op onvolledigekennis zodat eerdere beweringen soms moeten verworpen worden wanneer nieuwe kennis aanhet licht komt. De answer-set-programmeertaal bestaat uit regels van de vorm
r : c1 ← c2, . . . ck,¬ck+1, . . . ,¬cn
waarbij ci, 1 ≤ i ≤ n atomen zijn. Een literal (Ned. letterlijke waarde 1) is een atoom a of denegatie van een atoom ¬a. Programma’s die uit regels bestaat waar geen negatie in voorkomt,worden simpele programma’s genoemd. De answer sets voor dergelijke programma’s zijn deminimale verzamelingen van literals die aan de regels voldoen. Een verzameling is minimaalals er geen deelverzameling bestaat die op zijn beurt voldoet aan de regels. Meer technischedetails over answer set programming zijn te vinden in [21, 26]. Een voorbeeld waarvoor ASPgebruikt wordt, is voor het oplossen van moeilijke (NP-complete) zoekproblemen [21].
Het nadeel van ASP en klassieke logica in het algemeen zijn hun scherpe principes. Klas-sieke logica heeft slechts twee waarheidswaarden (0 en 1) en de interpretatie van de con-nectieven (negatie, conjunctie, disjunctie, implicatie en equivalentie) zijn vast bepaald. Deset van waarheidswaarden in de vaaglogica is het reele interval [0, 1]. De connectieven in devaaglogica hebben geen vaste interpretatie. De enige beperking die er wordt opgelegd aan alleinterpretaties van de connectieven, is dat ze hetzelfde gedrag moeten vertonen als de klassieke
1Literal is een begrip in ASP. De Nederlandse vertaling wordt niet gebruikt.
5
Hoofdstuk 2. Inleiding tot fuzzy answer set programming
connectieven in hun extreme waarden 0 en 1 [12]. In Tabel 2.1 staan de mogelijke interpre-taties van de vage connectieven beschreven met hun gebruikelijke benaming. Merk op dat deS-implicators afgeleid worden van de t-conormen (voor disjunctie). De R-implicators wordenafgeleid van de t-normen (voor conjunctie). De R-implicator wordt de residuele implicatorgenoemd. Voor een R-implicator IT geldt dat IT (x, y) = 1 als x kleiner is dan y. Merk opdat de Lukasiewicz t-norm en de Lukasiewicz t-conorm dezelfde implicator induceren. Ver-schillende negators kunnen worden afgeleid van de implicators. Meer technische details overvaaglogica zijn te vinden in [26, 12].
FASP is gebaseerd op answer set programming maar integreert de begrippen uit vaag-logica. De fuzzy-answer-set-programmeertaal bestaat meerbepaald uit de elementen uit devolgende definities.
Definitie 1 (programma, regels, simpel programma). Een programma P bestaat uitregels van de vorm
a← f(a1, . . . , an; b1, . . . , bm)
met f : [0, 1]n+m → [0, 1] stijgend in ai, 0 ≤ i ≤ n en dalend in bj , 0 ≤ j ≤ m. De waarden ai,0 ≤ i ≤ n zijn atomen en de waarden bj , 0 ≤ j ≤ m zijn negaties van atomen. De implicator←is de residuele implicator. a is het hoofd (Eng. head) van de regel en f(a1, . . . , an; b1, . . . , bm)is de romp (Eng. body) van de regel. De verzameling van atomen voor een programma P
is gegeven door BP . Een programma wordt simpel genoemd als ze uit regels bestaat van devorm
a← f(a1, . . . , an)
met f stijgend in ai, 0 ≤ i ≤ n.
Simpele programma’s zijn dus simpelweg programma’s waarvan de regels geen negatiesvan atomen bevatten. Wanneer een regel een negatie van een atoom bevat, dan noemen wedeze negatie negatie-bij-faling (Eng. negation-as-failure).
6
Hoofdstuk 2. Inleiding tot fuzzy answer set programming
Definitie 2 (interpretatie). Een interpretatie I van een programma P is een functie vanBP naar de set [0,1]
I : BP → [0, 1]
Een interpretatie van een functie f(a1, . . . , an; b1, . . . , bm) is gegeven door
I(f(a1, . . . , an; b1, . . . , bm)) = f(I(a1), . . . , I(an); I(b1), . . . , I(bm))
Analoog definieren we de interpretatie van een regel als
I(a← f(a1, . . . , an; b1, . . . , bm)) = I(a)← I(f(a1, . . . , an; b1, . . . , bm))
Definitie 3 (model). Een model van een programma P is een interpretatie I waar voor elkeregel a← B in P geldt dat I(a)← I(B) gelijk is aan 1.
We definieren fuzzy answer sets van een programma. Hiervoor wordt een onderscheidgemaakt tussen simpele programma’s en standaardprogramma’s.
Definitie 4 (fuzzy answer set van een simpel programma). Een fuzzy answer set vaneen simpel programma is een minimaal model van dat programma.
Voor het vinden van de fuzzy answer sets van een standaard programma hebben we hetreduct nodig van dat programma.
Definitie 5 (reduct). Het reduct van een regel r : a← f(a1, . . . , an; b1, . . . , bm) is gedefini-eerd als rI = a← f(a1, ..., an; I(b1), ..., I(bm)).
Het reduct van een programma P is gedefinieerd als P I = {rI |r ∈ P}.
Definitie 6 (fuzzy answer set van een standaard programma). Een fuzzy answer setvan een standaardprogramma P is een interpretatie I die een answer set is van het reductP I .
Een minimaal model kan berekend worden door de immediate consequence operator. Wan-neer we de immediate consequence operator laten starten van de lege interpretatie {}, danvinden we een minimaal model voor een simpel programma.
7
Hoofdstuk 2. Inleiding tot fuzzy answer set programming
Definitie 7 (immediate consequence). De immediate consequence operator is gedefini-eerd als TP (I) = sup{I(B)|a← B ∈ P}.
De vele keuzes aan operatoren maakt dat een FASP-programma in hoge mate configu-reerbaar is. Configureerbaarheid is niet het enige voordeel dat vaaglogica met zich meebrengtbinnen FASP. Soms is het onmogelijk een oplossing te vinden die voldoet aan alle regels vanhet ASP-programma. Toch is het vaak wenselijk om naar een oplossing te zoeken die voldoetaan het programma tot een aanvaardbare waarheidsgraad.
Beschouw Voorbeeld 1 om een beter beeld te krijgen van de meerwaarde die vaaglogicakan brengen bovenop klassieke ASP.
Voorbeeld 1 [26] Er zijn vier soorten sporten die we kunnen beoefenen tot een bepaaldegraad (van 0 tot 1). Er zijn echter maar een paar combinaties van sporten die een volledigelichaamstraining inhouden. Bovendien zijn sommige van de sporten complementair aanelkaar. Wanneer de ene sport in mindere mate beoefend wordt, leidt dit tot een strengerebeoefening van een andere sport.
gewichtheffen←niet zwemmen
zwemmen←niet gewichtheffen
lopen←niet balspel
balspel←niet lopen
lichaamstraining←gewichtheffen, lopen
lichaamstraining←zwemmen, balspel
←niet lichaamstraining
In FASP kunnen we ons bijvoorbeeld de vraag stellen tot welke graad sporten moeten be-oefend worden, zodat we een lichaamstraining tot de graad 0.7 bekomen.
Een volledige studie van alle aspecten van FASP valt buiten het kader van deze thesis. Watons interesseert in dit onderzoek zijn de mogelijkheden die FASP ons biedt voor het oplossenvan het tag aanbevelingsprobleem. In een eerste fase gebruiken we simpele programma’s omsimilariteitswaarden te berekenen. Omdat deze programma’s echter een beperkte expressivi-teit hebben bekijken we in Hoofdstuk 5 de mogelijkheden om negatie-bij-faling te gebruikenbij het opstellen van onze regels.
8
Hoofdstuk 2. Inleiding tot fuzzy answer set programming
Conjunctie (t-normen)
Minimum TM (x, y) = min(x, y)Product TP (x, y) = xy
Lukasiewicz TW (x, y) = max(0, x+ y − 1)
Disjunctie (t-conormen)
Maximum SM (x, y) = max(x, y)Probabilistische som SP (x, y) = x+ y − xy Lukasiewicz SW (x, y) = min(1, x+ y)
Implicatie
S-Implicator R-Implicator
ISM(x, y) = max(1− x, y) ITM
(x, y) =
1, als x ≤ yb, anders
ISP(x, y) = 1− x+ xy ITP
(x, y) =
1, als x ≤ yba , anders
ISW(x, y) = min(1, 1− x+ y) ITW
(x, y) = min(1, 1− x+ y)
Negator
Algemeen voor een implicator I NI(x) = I(x, 0)Standaard negatie NISW
= NITW= 1− x
Tabel 2.1: Interpretaties van vage connectieven
9
Hoofdstuk 3
Tag-aanbevelingssystemen
3.1 Formele beschrijving van het tag-aanbevelingsprobleem
Het tag-aanbevelingsprobleem kan op een meer formele manier beschreven worden. In Defini-tie 8 wordt een uitgebreide uiteenzetting gegeven over de structuur van een folksonomie. Denotaties die hier geıntroduceerd worden kunnen teruggevonden worden in de Lijst van afkor-tingen en symbolen. Deze notaties zullen worden aangehouden in dit hoofdstuk en verderehoofdstukken. In Voorbeeld 2 wordt een folksonomie beschreven zoals ze in de praktijk kanvoorkomen.
Voorbeeld 2 (Folksonomy F1) De folksonomie wordt hier voorgesteld als een collectievan tagtoekenningen (Eng. tag assignments).Elke transactie is van de vorm: (gebruiker, tag, object).{(Sarah, dieren, Fauna en flora);(Sarah, natuur, Fauna en flora);(Sarah, groen, Fauna en flora);(Steven, tuin, Tuinieren);(Steven, dieren, Fauna en flora);(Steven, plant, Fauna en flora);(Steven, dieren, Huisdieren);(Steven, dierenvoeding, Huisdieren);(Jeroen, tuin, Tuinieren);(Jeroen, natuur, Tuinieren);(Jeroen, groen, Tuinieren);(Jeroen, kok, Koken);(Jeroen, gerechten, Koken)}
10
Hoofdstuk 3. Tag-aanbevelingssystemen
Definitie 8. Folksonomie F = (Y,U, T,R)
Een folksonomie F beschrijft de gebruikers (U), de objecten (R), de tags (T ) en de ternairerelatie (Y ⊆ U × T × R) die de toekenningen voorstelt van een tag aan een object door eengebruiker 1.
(u, t, r) ∈ Y houdt in dat gebruiker u ∈ U het object r ∈ R getagd heeft met tag t ∈ T .
Enkele belangrijke deelverzamelingen van de verzamelingen U , T en R worden hieron-der opgesomd. Deze verzamelingen zullen gebruikt worden in de berekeningen van tag-aanbevelingssystemen verder in dit hoofdstuk.
� Voor r ∈ R schrijven we Tr ⊆ T voor de verzameling van alle tags die aan het object rwerden toegekend.
� Voor u ∈ U schrijven we Tu ⊆ T voor de verzameling van alle tags die door gebruiker uwerden toegekend.
� Voor u ∈ U en r ∈ R schrijven we Tu,r ⊆ T voor de verzameling van alle tags die doorgebruiker u aan object r werden toegekend.
� Voor r ∈ R schrijven we Ur ⊆ U voor de verzameling van alle gebruikers die het objectr hebben getagd.
� Voor t ∈ T schrijven we Ut ⊆ U voor de verzameling van alle gebruikers die de tag t
hebben toegekend.
� Voor r ∈ R en t ∈ T schrijven we Ur,t ⊆ U voor de verzameling van alle gebruikers dietag t aan object r hebben toegekend.
� Voor u ∈ U schrijven we Ru ⊆ R voor de verzameling van alle objecten die doorgebruiker u werden getagd.
� Voor t ∈ T schrijven we Rt ⊆ R voor de verzameling van alle objecten waar de tag t
aan werd toegekend.
� Voor u ∈ U en t ∈ T schrijven we Ru,t ⊆ R voor de verzameling van alle objecten waargebruiker u tag t aan heeft toegekend.
In tag-aanbevelingssystemen zijn we op zoek naar de optimale verzameling T(u, r), deverzameling van aan te bevelen tags, gegeven een bepaalde gebruiker u en een object r. In
1U staat voor users, R staat voor resources en T staat voor tags. In deze thesis worden de Nederlandstalige
benamingen gebruikt.
11
Hoofdstuk 3. Tag-aanbevelingssystemen
de volgende paragraaf zien we hoe de bestaande systemen verschillende methoden gebruikenom deze verzameling in te vullen.
12
Hoofdstuk 3. Tag-aanbevelingssystemen
3.2 Onderverdeling van tag-aanbevelingssystemen
Er zijn verschillende bronnen van informatie die gebruikt kunnen worden wanneer we tagswillen aanbevelen. Zo kan een tag eenvoudigweg een woord uit de titel van het geannoteerdeobject zijn. Meestal is er een tag die het algemene concept of het hoofdthema van hetobject voorstelt. Maar een tag kan ook zeer gebruikerspecifiek zijn, zoals een persoonlijkeordeningstag. De informatiebronnen bestaan uit twee grote groepen en de oplossingsmethodenkunnen ook op die manier worden onderverdeeld:
� Inhoudsgebaseerde methodenDeze methoden maken gebruik van de tekstuele inhoud van een object om sleutelwoor-
den (tags) te extraheren. In [23, 31] worden er enkele bronnen voorgesteld, zoals dewoorden uit een titel, veel voorkomende woorden in de tekstinhoud, de datum, gebrui-kersprofiel, enz... Een gekende techniek die hiervoor kan gebruikt worden, is TF-IDF,een methode die vooral toegepast wordt in informatiebevragingsystemen 2. Toch hebbendeze methoden enkele nadelen. Vooreerst hebben objecten een tekstuele inhoud nodigwaar tags kunnen uit gefilterd worden wat bijvoorbeeld niet het geval is bij foto’s. Tentweede maken deze methoden geen gebruik van metrieken die de algemene populariteit(en dus niet de statistische populariteit) van een tag meten. Elk woord dat evenveelvoorkomt in de tekst, maakt dus een gelijke kans om gekozen te worden als sleutelwoord,wat in vele gevallen geen goede resultaten geeft [22].
� Graafgebaseerde methodenDeze methoden maken gebruik van de verzameling van de toekenningen die in het ver-leden werden gedaan. Het is gemakkelijk in te zien dat deze informatie door middelvan een graaf kan worden voorgesteld. Gebruikers, tags en resources zijn knopen. Hunrelaties worden voorgesteld door niet-gerichte bogen. Vandaar de naam die aan deze me-thoden werd gegeven. Een voorbeeld van een dergelijke graaf wordt gegeven in figuur 3.1en vormt de sleutel voor het FolkRank-algoritme in Sectie 3.3.4. De verkregen informa-tie geeft de mogelijkheid om tags, gebruikers en objecten te meten op hun populariteit.Populariteit kan op verschillende manieren bepaald worden (zie Sectie 3.3.1). Objectenworden nu met elkaar vergeleken op basis van hun relatie met tags en gebruikers, eerderdan op basis van hun tekstuele inhoud zoals bij de inhoudsgebaseerde methoden. Maarook de graafgebaseerde methoden hebben hun nadelen. Het grootste probleem is dezevan de koude start (Eng. cold start). Er moet namelijk een databank van toekenningenworden opgebouwd vooraleer er gebruik van kan gemaakt worden voor het aanbevelen
2TF is het aantal voorkomens van een term in een document (Eng. term frequency). IDF is de logaritme van
het totale aantal documenten gedeeld door het aantal documenten die de tag bevatten (Eng. inverse document
frequency). Het product van TF en IDF geeft een gewicht aan de term. Dat gewicht bepaalt wat de relevantie
van de term is.
13
Hoofdstuk 3. Tag-aanbevelingssystemen
van tags. [22, 32]
De meeste aanbevelingssystemen gebruiken een combinatie van de twee bovenstaandebenaderingen. Dit hoofdstuk beperkt zich verder tot een overzicht van de bestaande graaf-gebaseerde methoden. Het zijn vooral deze methoden die in deze thesis van toepassing zijnomdat ze een inzicht geven in de structuur van tag-toekenningen.
Voor we overgaan tot de bespreking van deze methoden, geven we een definitie aan debewerking arg max. Dit is een bewerking die vaak terugkomt in de bepaling van een tag-aanbeveling. We zullen ze nog nodig hebben in de volgende secties van dit hoofdstuk. InDefinitie 9 wordt arg max gedefinieerd.
Definitie 9. Voor een willekeurig item i uit een verzameling I, een willekeurige functie f eneen natuurlijk getal k geldt:
karg max
i∈If(i) =
de lijst van de eerste k elementen uit de lijst van alle elementen i ∈ I gesorteerd volgens defunctiewaarden f(i) in stijgende volgorde. Als k niet gegeven is, dan is bewerking gelijk aande volledige gesorteerde lijst.
14
Hoofdstuk 3. Tag-aanbevelingssystemen
3.3 Huidige tag-aanbevelingssystemen
Er zijn drie grote oplossingsmethoden in het domein van de tag-aanbevelingssystemen die in deliteratuur steeds terugkomen. Populairste tags, collaboratief filteren voor tag-aanbevelings-systemen en FolkRank. In deze paragraaf bespreken we ze uitgebreid samen met nog eenminder gekende methode, die eerder een basisidee is dan een werkend algoritme.
3.3.1 Populairste tags
Deze techniek is een basismodel voor aanbevelingssystemen. Ze is zeer intuıtief, maar ookzeer naıef. Haar grootste nut is de snelle berekeningstijd. Zo kan ze eventueel dienen vooreen initiele filtering van een zeer grote dataset. We herhalen hier dat het de bedoeling is omtags aan te bevelen die relevant zijn voor de gebruiker. Deze methode neemt aan dat ditde populaire tags zijn, wat niet noodzakelijk het geval hoeft te zijn. Er kan op verschillendemanieren naar populaire tags gezocht worden [17].
� Algemeen populairste tags
Er wordt gekeken hoeveel keer een bepaalde tag voorkomt in alle transacties. Dit is demeest intuıtieve metriek die er bestaat, maar zoals kan aangevoeld worden is dit eenminder goede optie. In elke context wordt dezelfde tag aanbevolen [17].
T(u, r) := arg maxt∈T
|T |
De bewerking arg max werd gedefinieerd in Definitie [17]. Laten we ter illustratie dezeaanpak toepassen op de folksonomie in Voorbeeld 2. Welke tag stellen we voor aan Je-roen wanneer hij het object Fauna en flora wil taggen? De tag die het meeste voorkomtis dieren (bij 3 van de 13 toekenningen). Wanneer een gebruiker een object wil taggen,wordt dus steeds als eerste dieren aanbevolen, ook al is het onderwerp van het nieuweobject bijvoorbeeld Programmeertalen.
� Populairste tags per object
Op het moment van aanbevelen is het zo dat we de gebruiker, die wil taggen, en hetobject, dat getagd moet worden, kennen. Deze metriek gaat de tags gaan tellen die perobject voorkomen en raadt deze aan die het meeste voorkomt. De metriek scoort vaakzeer goed, zeker wanneer de gebruikers een homogeen profiel hebben (zie [9]). Wanneergebruikers bijvoorbeeld in verschillende talen taggen, zal deze metriek iets minder goedpresteren.
T(u, r) := arg maxt∈T
|Tr|
15
Hoofdstuk 3. Tag-aanbevelingssystemen
Welke tag stellen we nu voor aan Jeroen wanneer hij het object Fauna en flora wiltaggen? Toegepast op Voorbeeld 2, bekomen we opnieuw de tag dieren, want deze tagwerd twee maal gebruikt voor het object Fauna en flora.
� Populairste tags per gebruiker
Op het moment van aanbevelen is het zo dat we de gebruiker, die wil taggen, en hetobject, dat getagd moet worden, kennen. Deze metriek gaat de tags gaan tellen die pergebruiker voorkomen en raadt deze aan die het meeste voorkomt. Deze metriek komttegemoet aan het probleem wanneer een bepaalde gebruiker vaak vage onbeduidendetags gebruikt. Deze metriek scoort beduidend slechter dan vorige metriek [17].
T(u, r) := arg maxt∈T
|Tu|
Welke tag stellen we nu voor aan Jeroen wanneer hij het object Fauna en flora wiltaggen? Toegepast op Voorbeeld 2 blijkt dat alle tags die de gebruiker Jeroen getagdheeft, evenveel voorkomen. Het antwoord kan dus een van de volgende tags zijn: tuin,natuur, groen, kok en gerechten.
3.3.2 Collaboratief filteren
Collaboritief filteren (Eng. collaborative filtering, (CF) zie Lijst van afkortingen en symbolen)[10, 22, 7] is een meer geavanceerde techniek die al langer gebruikt wordt bij aanbevelings-systemen in het algemeen. De informatie van een algemeen aanbevelingssysteem heeft eenbinaire relationele structuur. Elke gebruiker in een dergelijk systeem heeft een aantal objectenin zijn collectie. Dit zijn objecten die hij in de loop van een bepaalde periode heeft verzamelden die hij gemeenschappelijk kan hebben met andere gebruikers. Een aanbevelingssysteemraadt nieuwe objecten aan. We hebben dus een relatie van de vorm Y ⊆ R× U . CF is geba-seerd op de veronderstelling dat gelijkaardige gebruikers een collectie hebben van gelijkaardigeobjecten. Gelijkaardiheid wordt gemeten aan de hand van een similariteitsmaat (zie Sectie3.3.2.1). Voorbeeld 3 toont een mogelijke dataset uit een algemeen aanbevelingsprobleem.Let op het verschil met Voorbeeld 2 waar er per transactie ook nog een tag voorkwam.
Voorbeeld 3 Dataset van een algemeen aanbevelingsprobleem. Een transactie is van devorm (gebruiker, object).{(Sarah, Fauna en flora);(Steven, Tuinieren);(Steven, Fauna en flora);(Steven, Huisdieren);(Jeroen, Tuinieren);(Jeroen, Koken)}
16
Hoofdstuk 3. Tag-aanbevelingssystemen
In Sectie 3.3.2.1 bespreken we eerst de standaard collaboratief filteren aanpak. Dezeaanpak kan niet zonder aanpassing toegepast worden op het tag-aanbevelingsprobleem. Hetprobleem zit hem in de ternaire structuur van een folksonomie (zie Sectie 3.1). Dit probleemkan eenvoudig aangepakt worden door een projectie te maken van de ternaire relatie naar eenbinaire relatie. Dit wordt besproken en toegepast in Sectie [17].
3.3.2.1 Standaard collaboratief filteren
[10] Er zijn twee grote benaderingen binnen CF, de geheugengebaseerde en de modelgeba-seerde benadering. De modelgebaseerde benadering gebruikt trainingsdata om een model tegeneren dat een score kan voorspellen voor objecten die nog niet beoordeeld werden 3. Degeheugengebaseerde benadering slaat de bekomen scores voor objecten op in het geheugen enhaalt ze terug op wanneer ze nodig zijn voor een aanbeveling. Zoals we eerder aanhaalden,moeten we bij standaard collaboratief filteren uitgaan van een binaire relationele structuur.De binaire relatie (gebruiker-object) wordt voorgesteld in een matrix X met n het aantalgebruikers in de verzameling U en m het aantal objecten in de verzameling R.
Definitie 10 (Gebruiker-object matrix voor het algemene aanbevelingsprobleem).
X :=
x11 x12 · · · x1m
x21 x22 · · · x2m
......
. . ....
xn1 xn2 · · · xnm
,waarbij xur een score is die gebruiker u geeft aan resource r.
In het meest eenvoudige geval zijn dit binaire waarden (X ∈ Bn×m 4). Dit komt eropneer dat xur = 1 als gebruiker u het object r in zijn collectie heeft en xur = 0 anders (zieTabel 3.1). Er zijn tal van andere mogelijke invullingen voor de scores. Een ander voorbeeldis X ∈ (R ∪ {⊥})n×m 5, zoals in Tabel 3.2. ⊥ geeft aan dat de gebruiker het desbetreffendedocument niet in zijn collectie heeft. Het is echter gemakkelijker voor het vervolg van deberekeningen om er de waarde 0 aan toe te kennen.
3De modelgebaseerde methode is zeer complex en valt buiten de focus van deze thesis. In [7] wordt een
voorbeeld gegeven van hoe zo’n model wordt opgesteld op basis van Bayesiaanse netwerken.4B = {0,1} = de verzameling van binaire waarden5R = de verzameling van de reele getallen.
17
Hoofdstuk 3. Tag-aanbevelingssystemen
Tuinieren Fauna en flora Huisdieren Koken
Sarah 0 1 0 0Steven 1 1 1 0Jeroen 1 0 0 1
Tabel 3.1: Voorbeeld van de voorstelling van de binaire relatie in een standaard aanbevelingssysteemmet binaire scores. (X ∈ Bn×m)
Tuinieren Fauna en flora Huisdieren Koken
Sarah ⊥ 0.9 ⊥ ⊥Steven 0.2 0.8 0.3 ⊥Jeroen 0.1 ⊥ ⊥ 0.9
Tabel 3.2: Voorbeeld van de voorstelling van de binaire relatie in een standaard aanbevelingssysteemmet persoonlijke beoordelingsscores. (X ∈ (R ∪ {⊥})n×m)
Deze structuur is de basis voor de grote stappen in (geheugengebaseerde) CF. Eerst wordende similariteitsmaten in het geheugen opgeslagen. Er zijn twee mogelijke similariteitsmatenvoor standaard CF, namelijk de gelijkheid van gebruikers en de gelijkheid van objecten.Methoden die de eerste similariteitsmaat gebruiken, worden gebruikergebaseerd (Eng. user-based) genoemd, de andere objectgebaseerd (Eng. item-based). Voor geheugengebaseerde CFwordt daarna een sortering gemaakt op basis van de similariteitsmaten uit het geheugen enworden de k beste buren gekozen (zie verder). Daarna kunnen objecten worden aanbevolenaan de actieve gebruiker op basis van deze k buren [7, 17]. Bij objectgebaseerde CF kan directop basis van de similariteitsmaten een keuze gemaakt worden uit de collectie van objecten.De objecten die het best lijken op de huidige objecten in de lijst van de actieve gebruiker,zullen aanbevolen worden. Deze stappen worden hieronder grondiger besproken.
1. Opstellen van de similariteitswaarden
Definitie 11 (Similariteit). sim(a,b)= de similariteit van a en b
= de mate waarin a op b lijktuitgedrukt als een cijfer tussen 0 en 1.
Eenvoudig gezegd bepaalt een similariteitsmaat hoe goed twee gebruikers of twee ob-jecten op elkaar lijken. De waarde van een similariteit wordt uitgedrukt als een getaltussen 0 en 1. Deze waarde geeft de mate waarin twee items6 op elkaar lijken weer. Demeest gebruikte maat is de cosinussimilariteit of vectorsimilariteit (zie [7]). Er zijn ook
6Een item kan een object of een gebruiker zijn.
18
Hoofdstuk 3. Tag-aanbevelingssystemen
tal van andere mogelijkheden, zoals de eenvoudige Jaccard index of de Pearsoncorrelatie7. Voor de experimenten in deze thesis werd gekozen voor de vectorsimilariteit.
(a) Gebruikergebaseerd
Bij de gebruikergebaseerde aanpak wordt gekeken hoe goed twee gebruikers opelkaar lijken. De bekomen similariteitswaarden voor elke twee gebruikers wordenopgeslagen in het aanbevelingssysteem. Voor gebruiker ui en gebruiker uj bereke-nen we hieronder de vectorsimilariteit. Deze formule is een algemene standaard enwordt beschreven in [8, 18, 22].
sim(ui, uj) =~ui · ~uj
‖~ui‖2 · ‖ ~uj‖2(3.1)
‖~ui‖2 is de Euclidische norm 8 van vector ~ui, analoog voor ‖ ~uj‖2.
~ui · ~uj is het inproduct van de vectoren ~ui en ~uj .
In het specifieke geval van aanbevelingen, is ~ui = [xi1 xi2 · · · xim], rij i van matrixX uit Definitie 10 en is ~uj = [xj1 xj2 · · · xjm], rij j van matrix X uit Definitie 10.We kunnen de vergelijking dus herschrijven als
sim(ui, uj) =
m∑k=1
xik · xjk√√√√ m∑l=1
x2il ·
√√√√ m∑l=1
x2jl
(3.2)
In Berekening 1 wordt deze formule toegepast op de invulling van X uit Tabel 3.1.De triviale oplossingen worden hier niet apart berekend. Het is uiteraard logischdat voor twee gelijke gebruikers, hun similariteit gelijk is aan 1 (sim (u, u) = 1).Een andere logische eigenschap van similariteiten is de volgende : sim (u1, u2) =sim (u2, u1). Intuıtief zijn de resultaten eenvoudig te verklaren. Sarah en Jeroenhebben geen gemeenschappelijke objecten, dus hun similariteit is 0. Sarah enSteven hebben een iets betere similariteit dan Steven en Jeroen, ondanks het feitdat ze beiden 1 gemeenschappelijk object hebben, doordat Sarah en Steven sameneen kleiner aantal documenten hebben.
7Het zou ons echter veel te ver leiden om alle mogelijke similariteitsmaten te bespreken. Een meer complete
bespreking kan onder meer gevonden worden in [7, 13]8Meerbepaald de tweede Euclidische norm.
19
Hoofdstuk 3. Tag-aanbevelingssystemen
Berekening 1 (Opstellen van de similariteitswaarden van gebruikers)Similariteiten van gebruikers voor een standaard aanbevelingssysteem.
sim(Sarah, Sarah) = 1
sim(Jeroen, Jeroen) = 1
sim(Steven, Steven) = 1
sim(Sarah, Steven) =(0 · 1) + (1 · 1) + (0 · 1) + (0 · 0)√
02 + 12 + 02 + 02 ·√
12 + 12 + 12 + 02=
1√3
sim(Steven, Sarah) =1√3
sim(Sarah, Jeroen) =(0 · 1) + (1 · 0) + (0 · 0) + (0 · 1)√
02 + 12 + 02 + 02 ·√
12 + 02 + 02 + 12= 0
sim(Jeroen, Sarah) = 0
sim(Steven, Jeroen) =(1 · 1) + (1 · 0) + (1 · 0) + (0 · 1)√
12 + 12 + 12 + 02 ·√
12 + 02 + 02 + 12=
1√6
sim(Jeroen, Steven) =1√6
(b) Objectgebaseerd
Bij de objectgebaseerde aanpak wordt gekeken hoe goed twee objecten op elkaarlijken. De bekomen similariteitswaarden voor elke twee objecten worden opnieuwopgeslagen in het aanbevelingssysteem. Voor object ri en gebruiker rj berekenenwe hieronder de vectorsimilariteit. Deze formule is in wezen gelijk aan Vergelijking(3.1), maar wordt toegepast op andere waarden.
sim(ri, rj) =~ri · ~rj
‖~ri‖2 · ‖~rj‖2(3.3)
In het specifieke geval van objectgebaseerde aanbevelingen, is ~ui = [x1i x2i · · · xni],kolom i van matrix X uit Definitie 10 en is ~uj = [x1j x2j · · · xnj ], kolom j vanmatrix X uit Definitie 10. Let vooral op het verschil met de gebruikergebaseerdevectoren, waar de rij werd genomen van matrix X. We kunnen de vergelijking dusherschrijven als
sim(ri, rj) =
n∑k=1
xki · xkj√√√√ n∑l=1
x2li ·
√√√√ n∑l=1
x2lj
(3.4)
20
Hoofdstuk 3. Tag-aanbevelingssystemen
In Berekening 2 wordt deze formule opnieuw toegepast op de invulling van X uitTabel 3.1. Het is opnieuw triviaal dat voor twee gelijke objecten, hun similariteitgelijk is aan 1 (sim (r, r) = 1). Ook hier geldt de eigenschap : sim (r1, r2) =sim (r2, r1). De intuıtieve verklaring van de overige resultaten is analoog aan deintuıtieve verklaring van de gebruikergebaseerde resultaten.
Berekening 2 (Opstellen van de similariteitswaarden van objecten)Similariteiten van objecten voor een standaard aanbevelingssysteem.
sim (Tuinieren, Tuinieren) = 1
sim (Fauna en flora, Fauna en flora) = 1
sim (Huisdieren, Huisdieren) = 1
sim (Koken, Koken) = 1
sim (Tuinieren, Fauna en flora) =(0 · 1) + (1 · 1) + (1 · 0)√
02 + 12 + 12 ·√
12 + 12 + 02=
12
sim (Fauna en flora, Tuinieren) =12
sim (Tuinieren, Huisdieren) =(0 · 0) + (1 · 1) + (1 · 0)√
02 + 12 + 12 ·√
02 + 12 + 02=
1√2
sim (Huisdieren, Tuinieren) =1√2
sim (Tuinieren, Koken) =(0 · 0) + (1 · 0) + (1 · 1)√
02 + 12 + 12 ·√
02 + 02 + 12=
1√2
sim (Koken, Tuinieren) = frac1√
2
sim (Fauna en flora, Huisdieren) =(1 · 0) + (1 · 1) + (0 · 0)√
12 + 12 + 02 ·√
02 + 12 + 02=
1√2
sim (Huisdieren, Fauna en flora) =1√2
sim (Fauna en flora, Koken) =(1 · 0) + (1 · 0) + (0 · 1)√
12 + 12 + 02 ·√
02 + 02 + 12= 0
sim (Koken, Fauna en flora) = 0
sim (Huisdieren, Koken) =(0 · 0) + (1 · 0) + (0 · 1)√
02 + 12 + 02 ·√
02 + 02 + 12= 0
sim (Koken, Huisdieren) = 0
2. De buren bepalen van een gebruiker Deze stap is niet van toepassing voor ob-jectgebaseerde CF. Gebruikmakend van de similariteiten van gebruikers, wordt de k-dichtstbijzijnde omgeving (Eng. k-nearest neighbourhood) van een gebruiker, waarvooreen aanbeveling moet worden gegenereerd, opgesteld. De k-dichtstbijzijnde omgeving
21
Hoofdstuk 3. Tag-aanbevelingssystemen
van een gebruiker zijn de k buren die het best op u lijken en wordt als volgt formeelbeschreven.
Nku :=
karg maxu′∈U,u6=u′
sim(u, u′) (3.5)
De bewerking arg max werd gedefinieerd in Definitie 9.
3. Aanbevelingen genereren
De aanpak voor gebruikergebaseerde CF verschilt hier ietwat met objectgebaseerde CF,zoals we eerder al aanhaalden. Daarom maken we hier terug een onderscheid.
(a) Gebruikergebaseerd
Voor elke gebruiker u, kunnen nu aan de hand van zijn omgeving enkele aanbeve-lingen worden gedaan. Voor een gegeven l ∈ N, zoeken we de top l aanbevelingenuit de lijst van objecten voor een actieve gebruiker. Elk object uit R dat nog niettot de collectie van gebruiker u behoort, krijgt nu een gewicht toegekend. Ditgewicht is gelijk aan de som van alle similariteiten van de actieve gebruiker u meteen gebruiker u′ die het nieuwe object r in zijn collectie heeft. Alle objecten wor-den nu gerangschikt volgens dit gewicht en de top l objecten worden gekozen alsaanbeveling. We schrijven dit neer als
R(u) :=n
arg maxr∈R
∑u′∈Nk
u
sim(u, u′) · δ(u′, r) (3.6)
met
δ(u′, r) =
1 als gebruiker u’ object r in zijn collectie heeft
0 anders
R(u) is de notatie die gebruikt wordt om de verzameling met aanbevolen objectente beschrijven van gebruiker u.
(b) Objectgebaseerd
De objectgebaseerde similariteiten zorgen ervoor dat de objecten uit R direct ge-sorteerd kunnen worden, zonder eerst een omgeving voor de actieve gebruiker temoeten opstellen. De top n objecten zijn dan de objecten die niet in de huidigecollectie van gebruiker u zitten en die het beste lijken op alle objecten die wel inde collectie van de gebruiker u zitten. We schrijven dit neer als
R(u) :=n
arg maxr∈R,r/∈Ru
∑r′∈Ru
sim(r, r′) (3.7)
De notatie Ru staat voor de verzameling van objecten van gebruiker u.
22
Hoofdstuk 3. Tag-aanbevelingssystemen
Een voorbeeld van een vraag voor dit aanbevelingssysteem op de transacties uit Voor-beeld 3 zou kunnen zijn : Welk document raadt u Sarah aan? De waarde van l is dusgelijk aan 1. De waarde van k kan maximum 2 zijn aangezien Sarah slechts 2 burenkan hebben, namenlijk Steven en Jeroen. De stapsgewijze toepassing van het algoritmeis eenvoudig en wordt hier niet opnieuw uitgevoerd. Het antwoord voor gebruikergeba-seerde CF is Tuinieren en voor objectgebaseerde CF is Huisdieren.
De belangrijkste stappen en formules voor standaard collaboratief filteren staan samen-gevat in Overzicht 1.
Overzicht 1 (Standaard collaboratief filteren).Gegeven :Matrix X uit Definitie 10 :
Gebruikergebaseerd
1. Opstellen van de similariteitsmaten
sim(ui, uj) =
m∑k=1
xik · xjk√√√√ m∑l=1
x2il ·
√√√√ m∑l=1
x2jl
2. De buren bepalen van een gebruiker
Nku :=
karg maxu′∈U,u 6=u′
sim(u, u′)
3. Aanbevelingen genereren
R(u) :=n
arg maxr∈R
∑u′∈Nk
u
sim(u, u′) · δ(u′, r)
met
δ(u′, r) =
1 als gebruiker u′ object r in zijn collectie heeft
0 anders
Objectgebaseerd
1. Opstellen van de similariteitsmaten
sim(ri, rj) =
n∑k=1
xki · xkj√√√√ n∑l=1
x2li ·
√√√√ n∑l=1
x2lj
23
Hoofdstuk 3. Tag-aanbevelingssystemen
2. Aanbevelingen genereren
R(u) :=n
arg maxr∈R,r/∈Ru
∑r′∈Ru
sim(r, r′)
3.3.2.2 Collaboratief filteren voor tag-aanbevelingssystemen
Na de uitgebreide uitleg over standaard CF is het nu eenvoudiger om de uitbreiding te be-spreken naar CF voor tag-aanbevelingssystemen. Het grote verschil is de ternaire relationelestructuur van een folksonomie ten opzichte van de binaire relationele structuur bij de stan-daard aanbevelingssystemen. Daarom is de eerste stap om F : Y ⊆ U × T ×R te projecterennaar een lagere dimensionele ruimte. Verschillende bronnen pakken dit probleem op hun eigenmanier aan (zie [11, 17, 18, 30]). Eerst wordt een samenvatting gegeven van de projectiesdie voorkomen in de literatuur. Deze projecties worden geıllustreerd aan de hand van defolksonomie beschreven in Voorbeeld 2.
1. Projecties
Projecteren is een belangrijke stap in CF voor tag-aanbevelingssystemen. Eens de struc-tuur van een folksonomie vertaald is, is de toepassing van CF dezelfde als voor standaardaanbevelingssystemen. De projecties zijn zeer voor de hand liggend, maar hun abstractebeschrijving kan soms voor verwarring zorgen. We zullen aan de hand van voorbeeld-jen de eenvoud inzien van een techniek als CF voor het tag-aanbevelingsprobleem. Wemaken opnieuw een onderscheid tussen de gebruikergebaseerde en objectgebaseerde aan-pak.
(a) Gebruikergebaseerd
Er zijn twee mogelijke projecties van een folksonomie zodat gebruikergebaseerdeCF erop kan toegepast worden. Enerzijds kunnen we de folksonomie herschrijvenals een gebruiker-object-tabel (UR-tabel) en anderzijds kunnen we ze herschrijvenals een gebruiker-tag-tabel (UT-tabel). Deze tabellen zijn nuttig voor het begrijpenvan de UR- en UT-projectie.
Projectie πUR
We kunnen de folksonomie F1 herschrijven naar de UR-tabel die teruggevondenkan worden in Tabel 3.3. Deze tabel kunnen we gebruiken om de projectie vanY naar πURY beter te begrijpen. Er zijn twee mogelijkheden om dit te doen.
24
Hoofdstuk 3. Tag-aanbevelingssystemen
We bekijken elk paar (gebruiker,object) uit de folksonomie. Wanneer er een tag tbestaat waarvoor geldt dat gebruiker u tag t gebruikt heeft om object r te taggen,dan projecteren we dit koppel op 1 en anders op 0 (zie Vergelijking (3.8)). Eenandere benadering is om het aantal tags te tellen waarvoor geldt dat gebruiker uze gebruikt heeft om object r te taggen (zie Vergelijking (3.9)).
(π1URY )(u, r) =
1 ∃t ∈ T : (u, t, r) ∈ Y0 anders
(3.8)
(π2URY )(u, r) = |Tu,r| (3.9)
Wanneer we deze projectie nu toepassen op de herschreven folksonomie in Tabel3.3, dan verkrijgen we de waarden die te vinden zijn in Tabel 3.4.
Projectie πUT
Een andere mogelijkheid is om de folksonomie F1 te herschrijven naar een UT-tabel (zie Tabel 3.5). Analoog aan de UR-projectie zijn er twee mogelijkhedenom Y te projecteren. De vergelijkingen die we hiervoor nodig hebben worden opeen analoge manier bekomen als bij de πUR-projecties. We bekijken nu elk paar(gebruiker,tag) uit de folksonomie. Wanneer er een object r bestaat waarvoor geldtdat gebruiker u tag t gebruikt heeft om object r te taggen, dan projecteren we ditkoppel op 1 en anders op 0 (zie Vergelijking (3.10)). De andere benadering is omhet aantal objecten te tellen waarvoor geldt dat gebruiker u ze getagd heeft mettag t (zie Vergelijking (3.11)).
(π1UTY )(u, t) =
1 ∃r ∈ R : (u, t, r) ∈ Y0 anders
(3.10)
(π2UTY )(u, t) = |Ru,t| (3.11)
Wanneer we deze projectie nu toepassen op de herschreven folksonomie in Tabel3.5, dan verkrijgen we de waarden die te vinden zijn in Tabel 3.6.
(b) Objectgebaseerd
Er is maar een projectie van een folksonomie die besproken wordt in de literatuurwaarop een objectgebaseerde CF kan toegepast worden. Dit is de πRT -projectie.De aandachtige lezer kan zich de bedenking maken dat πRU ook een mogelijkeprojectie zou kunnen zijn. Toch komt ze niet voor in bestaande implementaties.Een eenduidige verklaring is er niet voor te vinden in de literatuur. Men zou kunnen
25
Hoofdstuk 3. Tag-aanbevelingssystemen
vermoeden dat deze projectie slechte resultaten geeft, maar omdat er hier geenbewijzen van te vinden zijn, is een meer logische verklaring dat de projectie πUR uitde gebruikergebaseerde projecties ook kan gebruikt worden om objectgebaseerdeCF toe te passen. Dit kan door beide tabellen uit Tabel 3.4 90 graden te draaien.Een extra vermelding van de πRT -projectie is dus simpelweg overbodig. Tochlichten we ze hier voor de volledigheid toe.
Projectie πRT
Voor projectie πRT herschrijven we de folksonomie F1 als een object-tag-tabel (RT-tabel, zie 3.7). Deze tabel gebruiken we om de projectie van Y naar πRTY beterte begrijpen. Er zijn twee mogelijkheden om dit te doen. We bekijken elk paar(object,tag) uit de folksonomie. Wanneer er een gebruiker u bestaat waarvoor geldtdat tag t aan object r werd toegekend door u, dan projecteren we dit koppel op1 en anders op 0 (zie Vergelijking (3.12)). De andere benadering is om het aantalgebruikers te tellen dat tag t aan object r heeft toegekend (zie Vergelijking (3.13)).
(π1RTY )(r, t) =
1 ∃u ∈ U : (u, t, r) ∈ Y0 anders
(3.12)
(π2RTY )(r, t) = |Ur,t| (3.13)
Wanneer we deze projectie nu toepassen op de herschreven folksonomie in Tabel3.7, dan verkrijgen we de waarden die te vinden zijn in Tabellen 3.8.
Beschouw opnieuw de matrix X uit Definitie 10, die werd opgesteld voor standaardcollaboratief filteren. Nu we onze folksonomie hebben geprojecteerd naar een twee-dimensionale ruimte, moeten we de matrix X herdefinieren zodat ze kan gebruikt wordenin CF voor het tag-aanbevelingsprobleem. Bijgevolg krijgen we drie nieuwe definitiesvoor X, voor elke projectie een (zie Definities 12, 13, 14).
Definitie 12 (Gebruiker-object matrix voor het tag aanbevelingsprobleem).
XπUR :=
x11 x12 · · · x1m
x21 x22 · · · x2m
......
. . ....
xn1 xn2 · · · xnm
,waarbij xur = π1URY (u, r) of xur = π2
URY (u, r).
26
Hoofdstuk 3. Tag-aanbevelingssystemen
Tuinieren Fauna en flora Huisdieren Koken
Sarah dierennatuurgroen
Steven tuin dieren dierenplant dierenvoeding
Jeroen tuin koknatuur gerechtengroen
Tabel 3.3: Folksonomie F1 herschreven in UR-tabel.
π1URY Tui-
nierenFaunaenflora
Huis-dieren
Koken
Sarah 0 1 0 0Steven 1 1 1 0Jeroen 1 0 0 1
π2URY Tui-
nierenFaunaenflora
Huis-dieren
Koken
Sarah 0 3 0 0Steven 1 2 2 0Jeroen 3 0 0 2
Tabel 3.4: UR-projecties van folksonomie F1 : π1URY en π2
URY .
dieren dieren-voeding
natuur ge-rechten
groen kok plant tuin
Sarah Faunaen flora
Faunaen flora
Faunaen flora
Steven Faunaen flora
Huis-dieren
Faunaen flora
Tui-nieren
Huis-dieren
Jeroen Tui-nieren
Koken Tui-nieren
Koken Tui-nieren
Tabel 3.5: Folksonomie F1 herschreven in UT-tabel.
27
Hoofdstuk 3. Tag-aanbevelingssystemen
π1UTY dieren dieren-
voedingnatuur ge-
rechtengroen kok plant tuin
Sarah 1 0 1 0 1 0 0 0Steven 1 1 0 0 0 0 1 1Jeroen 0 0 1 1 1 1 0 1
π2UTY dieren dieren-
voedingnatuur ge-
rechtengroen kok plant tuin
Sarah 1 0 1 0 1 0 0 0Steven 2 1 0 0 0 0 1 1Jeroen 0 0 1 1 1 1 0 1
Tabel 3.6: UT-projecties van folksonomie F1 : π1UTY en π2
UTY .
dieren dieren-voeding
natuur ge-rechten
groen kok plant tuin
Tuinieren Jeroen Jeroen JeroenSarah
Fauna enflora
Sarah Sarah Sarah Steven
StevenHuisdieren Steven StevenKoken Jeroen Jeroen
Tabel 3.7: Folksonomie F1 herschreven in RT-tabel.
π1RTY dieren dieren-
voedingnatuur ge-
rechtengroen kok plant tuin
Tuinieren 0 0 1 0 1 0 0 1Fauna enflora
1 0 1 0 1 0 1 0
Huisdieren 1 1 0 0 0 0 0 0Koken 0 0 0 1 0 1 0 0
π2RTY dieren dieren-
voedingnatuur ge-
rechtengroen kok plant tuin
Tuinieren 0 0 1 0 1 0 0 2Fauna enflora
2 0 1 0 1 0 1 0
Huisdieren 1 1 0 0 0 0 0 0Koken 0 0 0 1 0 1 0 0
Tabel 3.8: RT-projecties van folksonomie F1 : π1RTY en π2
RTY .
28
Hoofdstuk 3. Tag-aanbevelingssystemen
Definitie 13 (Gebruiker-tag matrix voor het tag aanbevelingsprobleem).
XπUT :=
x11 x12 · · · x1m
x21 x22 · · · x2m
......
. . ....
xn1 xn2 · · · xnm
,waarbij xut = π1UTY (u, t) of xut = π2
UTY (u, t).
Definitie 14 (Gebruiker-object matrix voor het tag aanbevelingsprobleem).
XπRT :=
x11 x12 · · · x1m
x21 x22 · · · x2m
......
. . ....
xn1 xn2 · · · xnm
,waarbij xrt = π1RTY (r, t) of xrt = π2
RTY (r, t).
Eens deze matrix is opgesteld, kunnen we dezelfde drie stappen uitvoeren als bij stan-daard CF (zie Sectie 3.3.2.1).
2. Opstellen van de similariteitsmaten
Deze stap is identiek aan deze van standaard CF. De formules kunnen dus naadloosworden overgenomen uit Sectie 3.3.2.1. We moeten enkel opletten dat we de nieuwedefinities gebruiken van matrix X (Definitie 12,13 en 14).
(a) Gebruikergebaseerd
We bepalen voor elke twee gebruikers uit de folksonomie hoe goed ze op elkaarlijken aan de hand van de vectorsimilariteit. Deze werd reeds uitvoerig besprokenin Sectie 3.3.2.1. Hiervoor kan Definitie 12 of Definitie 13 gebruikt worden. Daarnapassen we Vergelijking (3.2) toe op de matrix uit de definitie. Ter verduidelijkingwordt deze methode nu toegepast op de matrix uit Definitie 13 met projectie π2
UT :
29
Hoofdstuk 3. Tag-aanbevelingssystemen
Berekening 3 (Opstellen van de similariteitsmaten (gebruikers))Similariteiten van gebruikers voor het tag aanbevelingssysteem.
sim (Sarah,Steven)
=(1 · 2) + (0 · 1) + (1 · 0) + (0 · 0) + (1 · 0) + (0 · 0) + (0 · 1) + (0 · 1)√
12 + 02 + 12 + 02 + 12 + 02 + 02 + 02 ·√
22 + 12 + 02 + 02 + 02 + 02 + 12 + 12
=2√21
sim (Sarah,Jeroen)
=(1 · 0) + (0 · 0) + (1 · 1) + (0 · 1) + (1 · 1) + (0 · 1) + (0 · 0) + (0 · 1)√
12 + 02 + 12 + 02 + 12 + 02 + 02 + 02 ·√
02 + 02 + 12 + 12 + 12 + 12 + 02 + 12
=2√15
sim (Steven,Jeroen)
=(2 · 0) + (1 · 0) + (0 · 1) + (0 · 1) + (0 · 1) + (0 · 1) + (1 · 0) + (1 · 1)√
22 + 12 + 02 + 02 + 02 + 02 + 12 + 12 ·√
02 + 02 + 12 + 12 + 12 + 12 + 02 + 12
=1√35
(b) Objectgebaseerd
Voor de objectgebaseerde methode bepalen we hoe goed twee objecten uit defolksonomie op elkaar lijken aan de hand van de vectorsimilariteit. Hiervoor kanenkel Definitie 14 gebruikt worden. Gegeven de matrix uit deze definitie, passen weopnieuw Vergelijking (3.2) toe. Merk op dat deze vergelijking uit de gebruikerge-baseerde aanpak van standaard CF komt. De reden hiervoor is omdat de objectenin de matrix van Definitie 14 op de verticale as staan en niet op de horizontale!De uitwerking van deze methode is volledig analoog aan de gebruikergebaseerdeuitwerking.
3. Buren bepalen
In het geval van tag aanbevelingssystemen moet er zowel voor de gebruikergebaseerdeals voor de objectgebaseerde benadering een k-dichtstbijzijnde omgeving (Eng. k-nearestneighbourhood) worden opgesteld. De reden hiervoor is dat we tags moeten aanbevelenin plaats van objecten. We maken zoals steeds het onderscheid tussen een gebruikers-gebaseerde en een objectgebaseerde aanpak.
(a) Gebruikergebaseerd
De k-dichtstbijzijnde omgeving van gebruiker u bestaat uit de k gebruikers die het
30
Hoofdstuk 3. Tag-aanbevelingssystemen
beste op gebruiker u lijken. In dit opzicht is er geen verschil met de standaardCF methode. We kunnen dus Vergelijking (3.5) overnemen met de opmerking datde similariteiten uit de vergelijking deze zijn die we hebben bekomen in de vorigestap.
(b) Objectgebaseerd
De k-dichtstbijzijnde omgeving van object r bestaat uit de k objecten die het besteop object r lijken. Dit is nieuw in CF voor tag-aanbevelingssystemen, maar vollediganaloog aan de k-dichtsbijzijnde omgeving van gebruikers. In Vergelijking (3.14)wordt de k-dichtstbijzijnde omgeving voor object r berekend.
Nkr :=
karg maxr′∈R,r 6=r′
sim(r, r′) (3.14)
De omgeving van de projectie π2UT van de folksonomie F1 is zodanig klein dat we alle
gebruikers beschouwen als buren. Laten we het voorbeeld beschouwen dat gebruikerJeroen het object Fauna en flora wil annoteren. De omgeving van gebruiker Jeroen zieter als volgt uit:
(a) Sarah
(b) Steven
want sim(Sarah, Jeroen) = 2√15> 1√
35= sim(Steven, Jeroen).
4. Aanbevelingen genereren
Voor elk koppel (u,r) kunnen nu aan de hand van de omgeving enkele aanbevelingenworden gedaan. Opnieuw zijn hier verschillende opties mogelijk. De simpelste methodeis om, gegeven een gebruiker en een object, de tags van dat bepaalde object aan tebevelen die het meest voorkomen bij de buren van de gebruiker of het object. Of er kaneen extra gewicht worden toegevoegd, namelijk: tags van betere buren hebben meerkans om gekozen te worden. Het gewicht is dan gelijk aan de similariteit.
(a) Gebruikergebaseerd
Gegeven gebruiker u en object r, bepalen we de tags die meest voorkomen bijde buren van gebruiker u. We nemen de gebruikerssimilariteit als gewicht. Deberekening is terug te vinden in Vergelijking (3.15).
T(u, r) :=n
arg maxt∈T
∑u′∈Nk
u
sim(u, u′) · δ(u′, r, t) (3.15)
31
Hoofdstuk 3. Tag-aanbevelingssystemen
met
δ(u′, r, t) =
1 als gebruiker u′ tag t aan object r heeft toegekend
0 anders
(b) Objectgebaseerd
Gegeven gebruiker u en object r, bepalen we de tags die meest voorkomen bij deburen van object r. We nemen de objectsimilariteit als gewicht. De berekening isterug te vinden in Vergelijking (3.16).
T(u, r) :=n
arg maxt∈T
∑r′∈Nk
r
sim(r, r′) · δ(u′, r, t) (3.16)
met
δ(u, r′, t) =
1 als gebruiker u tag t aan object r′ heeft toegekend
0 anders
Laten we opnieuw het voorbeeld beschouwen waarbij gebruiker Jeroen het object Faunaen flora wil annoteren. We passen verder gebruikergebaseerde CF toe. De gebruikteprojectie is π2
UT en we werken nog steeds met de folksonomie uit Voorbeeld 2. Hieronderberekenen we het antwoord op de vraag : Welke tags stel je voor aan Jeroen wanneer hijhet object Fauna en flora wil taggen? We willen de top 2 tags kennen. De formule diewe nodig hebben is Vergelijking (3.15). In Berekening 4 wordt deze formule ingevuld engebruiken we de similariteiten die we bekomen hebben in Berekening 3. Het argument(de tag t) valt in het derde deel van de vergelijking weg uit de formule. Omdat we netdit argument nodig hebben om de top l aanbevelingen te vinden, wordt daar waar hetargument wegvalt, het argument als onderschrift terug toegevoegd. M.a.w. (a + b)tbetekent dat wanneer (a+b) het maximum is in de lijst, de beste tag gelijk is aan t. Wezien dat de beste twee tags dieren en natuur zijn. Een andere mogelijke oplossing wasdieren en groen, aangezien de argumenten groen en natuur in de berekening hetzelfderesultaat ( 2√
15) genereren.
32
Hoofdstuk 3. Tag-aanbevelingssystemen
Berekening 4 (Aanbevelingen genereren) Welke 2 tags stel je voor aan Jeroenwanneer hij het object Fauna en flora wil taggen?
T(Jeroen,Fauna en flora)
=2
arg maxt∈{dieren,dierenvoeding,natuur,gerechten,groen,
kok,plant,tuin}
∑u′∈{Sarah,
Steven}
sim(Jeroen, u′) · δ(u′,Fauna en flora, t)
=2
arg maxt∈{dieren,dierenvoeding,natuur,gerechten,groen,
kok,plant,tuin}
(sim(Jeroen, Sarah) · δ(Sarah,Fauna en flora, t)
+ sim(Steven, Jeroen) · δ(Steven,Fauna en flora, t))
=2
arg maxt∈{dieren,dierenvoeding,natuur,gerechten,groen,
kok,plant,tuin}
(
(sim(Jeroen, Sarah) · δ(Sarah,Fauna en flora,dieren)+
sim(Steven, Jeroen) · δ(Steven,Fauna en flora,dieren)),
(sim(Jeroen, Sarah) · δ(Sarah,Fauna en flora,dierenvoeding)+
sim(Steven, Jeroen) · δ(Steven,Fauna en flora,dierenvoeding)),
(sim(Jeroen, Sarah) · δ(Sarah,Fauna en flora,natuur)+
sim(Steven, Jeroen) · δ(Steven,Fauna en flora,natuur)),
(sim(Jeroen, Sarah) · δ(Sarah,Fauna en flora,gerechten)+
sim(Steven, Jeroen) · δ(Steven,Fauna en flora,gerechten)),
(sim(Jeroen, Sarah) · δ(Sarah,Fauna en flora,groen)+
sim(Steven, Jeroen) · δ(Steven,Fauna en flora,groen)),
(sim(Jeroen, Sarah) · δ(Sarah,Fauna en flora,kok)+
sim(Steven, Jeroen) · δ(Steven,Fauna en flora,kok)),
(sim(Jeroen, Sarah) · δ(Sarah,Fauna en flora,plant)+
sim(Steven, Jeroen) · δ(Steven,Fauna en flora,plant)),
(sim(Jeroen, Sarah) · δ(Sarah,Fauna en flora,tuin)+
sim(Steven, Jeroen) · δ(Steven,Fauna en flora,tuin)))
=2
arg maxt∈{dieren,dierenvoeding,natuur,gerechten,groen,
kok,plant,tuin}
((2√
15· 1 +
1√
35· 1)dieren, (
2√
15· 0 +
1√
35· 0)dierenvoeding ,
(2√
15· 1 +
1√
35· 0)natuur, (
2√
15· 0 +
1√
35· 0)gerechten, (
2√
15· 1 +
1√
35· 0)groen,
(2√
15· 0 +
1√
35· 0)kok, (
2√
15· 0 +
1√
35· 1)plant, (
2√
15· 0 +
1√
35· 0)tuin)
=2
arg maxt∈{dieren,dierenvoeding,natuur,gerechten,groen,
kok,plant,tuin}
((2√
15+
1√
35)dieren, (
2√
15)natuur, (
2√
15)groen, (
1√
35)plant)
= (dieren, natuur)
33
Hoofdstuk 3. Tag-aanbevelingssystemen
3.3.3 Folksonomie-aangepaste PageRank
Laten we eerst kort de belangrijkste concepten uit het PageRank-algoritme [28] overlopen.Het zoekalgoritme PageRank omvat de idee dat een webpagina belangrijk is als veel pagina’sernaar verwijzen die zelf ook belangrijk zijn. De webgraaf is een graaf met gerichte binairebogen waarbij de knopen webpagina’s zijn en de gerichte bogen links voorstellen die van deene naar de andere webpagina verwijzen. PageRank past het random-surfer-model toe. Ditmodel is gebaseerd op de idee dat een ideale surfer weblinks volgt, maar van tijd tot tijd naareen nieuwe knoop springt met een bepaalde kans. Bij PageRank wordt een dempingsfactortoegevoegd om te simuleren dat een surfer uiteindelijk zal stoppen met links volgen. Als laatstebespreken we het probleem van hangende links (Eng. dangling links). Hangende links zijnknopen die geen uitgaande bogen bevatten. Dit betekent dat de random surfer kan vastzittenin een knoop. Dit heeft een zeer slecht effect op de uitkomst van het PagerRank-algoritme,daarom worden zo’n links volledig gedempt door de dempingsfactor.
In het FolkRank-algoritme wordt er geprobeerd om het onderliggende principe van hetzoeken en sorteren in Google toe te passen op folksonomieen. Door de drieledige natuurvan folksonomieen is het PageRank algoritme niet toepasbaar zonder aanpassing. Normaalgezien wordt een folksonomie voorgesteld door een niet-gerichte hypergraaf. Een hypergraafis een graaf waarbij een boog eender welk aantal knopen kan verbinden. In het geval vaneen folksonomie zijn dit er drie. We hebben een hyperboog per toekenning dat telkens eengebruiker, een tag en een object met elkaar verbindt. In Figuur 3.1(1) wordt de folksonomieF1 geschreven als zo een hypergraaf. We beschrijven hieronder hoe het PageRank algoritmewordt aangepast om aan de noden van een folksonomie te voldoen [14].
1. Folksonomie voorstellen als graaf
Een hypergraaf brengt een structuur met zich mee die niet ideaal is om mee verder tewerken. Daarom transformeren we de structuur naar een niet-gerichte tripartite graaf.Een tripartite graaf is een graaf waarvan de knopen kunnen onderverdeeld worden indrie sets zodat geen twee knopen uit een set adjacent9 zijn. Wanneer we een folksonomievoorstellen als een tripartite graaf dan zullen de sets gelijk zijn aan de verzamelingenU , T en R. Dit is inderdaad een juiste interpretatie, aangezien een gebruiker nooitkan gelinkt worden aan een andere gebruiker. Een toekenning bestaat echter uit eengebruiker, een object en een tag. Om diezelfde reden kan een tag nooit gelinkt wordenaan een andere tag en kan een object nooit gelinkt worden aan een ander object. Ditkomt erop neer dat elke boog uit de hypergraaf ontbonden zal worden in drie apartebogen (zie omzetting van Figuur 3.1(1) naar Figuur 3.1(2)). Formeel beschrijven we de
9Adjacente knopen zijn knopen die verbonden zijn met minstens een boog
34
Hoofdstuk 3. Tag-aanbevelingssystemen
Figuur 3.1: Grafische voorstelling van folksonomie F1 als (1) Hypergraaf en (2) Tripartitegraaf GF1
35
Hoofdstuk 3. Tag-aanbevelingssystemen
tripartite graaf als GF = (V,E) 10. Ter herhaling: F : Y ⊆ U × T ×R.
(a) Verzameling van knopen V
De verzameling knopen bestaat uit de disjuncte unie van de verzameling van tags,de verzameling van gebruikers en de verzameling van objecten:
V = U ∪T ∪R
In het geval van de folksonomie F1 krijgen we:
VF1 ={Sarah,Steven,Jeroen,Tuinieren,Fauna en flora,Huisdieren,Koken,dieren,
dierenvoeding,natuur,gerechten,groen,kok,plant,tuin}
(b) Verzameling van bogen E
Elke boog uit de eerste figuur van Figuur 3.1 wordt nu vervangen door drie afzon-derlijke bogen en zo bekomen we de tweede figuur. Dit komt neer op het toevoegenvan een boog voor elk gezamenlijk voorkomen van een tag en een object, een tagen een gebruiker en een gebruiker en een object.
E = {{u, t}|∃r ∈ R : (u, t, r) ∈ Y } ∪{{t, r}|∃u ∈ U : (u, t, r) ∈ Y } ∪{{u, r}|∃t ∈ T : (u, t, r) ∈ Y }∪
2. Model opstellen
In het geval van een folksonomie volgt de gebruiker 11, in plaats van weblinks bij het Pa-geRank algoritme, bogen naar gebruikersknopen, objectknopen of tagknopen. Aan elkeknoop wordt een gewicht toegekend. Deze gewichten worden bepaald door Vergelijking(3.17). Het fixpunt van deze vergelijking zal de gewichten genereren.
R← c(αR+ βAR+ γP ) (3.17)
R = de vector met gewichten voor elke knoop. Hier zoeken we het fixpunt van.
A = rij-stochastische versie van de adjacentiematrix (Eng. adjacency matrix) vande graaf. Een adjacentiematrix is een matrix die aangeeft of twee knopen met elkaarverbonden zijn of niet. Een matrix is rij-stochastisch als geen van zijn elementen negatief
10V is de verzameling van knopen (Eng. vertices). E is de verzameling van bogen (Eng. edges).11Deze gebruiker mag niet verward worden met de gebruiker uit een toekenning. Het gaat om een fictieve
gebruiker (de random surfer uit PageRank) die dient om het theoretisch model op te bouwen.
36
Hoofdstuk 3. Tag-aanbevelingssystemen
zijn en de som van alle elementen uit een rij gelijk is aan 1. Matrix A (zie het voorbeeldin Vergelijking (3.18)) is de rij-stochastische adjacentiematrix van de graaf GF1 .
AGF1:=
0 0 0 0 14 0 0 1
4 0 14 0 1
4 0 0 00 0 0 1
717
17 0 1
717 0 0 0 0 1
717
0 0 0 17 0 0 1
7 0 0 17
17
17
17 0 1
7
0 15
15 0 0 0 0 0 0 1
5 0 15 0 0 1
516
16 0 0 0 0 0 1
6 0 16 0 1
6 0 16 0
0 13 0 0 0 0 0 1
313 0 0 0 0 0 0
0 0 13 0 0 0 0 0 0 0 1
3 0 13 0 0
14
14 0 0 1
414 0 0 0 0 0 0 0 0 0
0 12 0 0 0 1
2 0 0 0 0 0 0 0 0 014 0 1
414
14 0 0 0 0 0 0 0 0 0 0
0 0 12 0 0 0 1
2 0 0 0 0 0 0 0 014 0 1
414
14 0 0 0 0 0 0 0 0 0 0
0 0 12 0 0 0 1
2 0 0 0 0 0 0 0 00 1
2 0 0 12 0 0 0 0 0 0 0 0 0 0
0 13
13
13 0 0 0 0 0 0 0 0 0 0 0
(3.18)
Doordat er 15 knopen zijn in graaf GF1 , krijgen we een 15x15 adjacentiematrix. Voorde volgorde van de knopen in de matrix nemen we {Sarah, Steven, Jeroen, Tuinieren,Fauna en flora, Huisdieren, Koken, dieren, dierenvoeding, natuur, gerechten, groen,kok, plant, tuin}. Elke knoop wordt nu met elkaar vergeleken. De eerste rij van matrix(3.18) geeft dus weer met welke tags en objecten de gebruiker Sarah gerelateerd is. Ditis Fauna en flora, dieren, natuur en groen. Aangezien de matrix rij-stochastisch moetzijn en Sarah gerelateerd is aan 4 andere knopen, krijgt elke gerelateerde knoop uitde rij de waarde 1
4 toegekend. Deze werkwijze wordt nu toegepast voor elke rij uit dematrix.
P = voorkeursvector, dient om de voorkeur van de gebruiker op te nemen in deberekening.
α = dempingsfactor. Bij PageRank werd demping onder andere gebruikt om hetprobleem van hangende links op te lossen (zie Sectie 3.3.3). In een folksonomie heeft eenknoop altijd minstens graad 2 en zijn de bogen ongericht. Het probleem van hangendelinks zal dus niet optreden. Maar bij een folksonomie kan wel een verwant fenomeenoptreden. De fictieve gebruiker kan gemakkelijk in cirkeltjes lopen. We kunnen dit effecteenvoudig waarnemen in de graaf uit Figuur 3.1(2). Wanneer we een knoop van graad 2bekijken, zien we dat de kans groot is dat we terugkomen vanwaar we vandaan kwamen.Dit veroorzaakt een oscillerend effect en kan met de dempingsfactor vermeden wordt.Dit doen we door knopen met een lage graad een kleinere kans te geven om gekozen teworden. Dit is opnieuw een taak voor de dempingsfactor.
37
Hoofdstuk 3. Tag-aanbevelingssystemen
β, γ = parameters die de invloed van de voorkeursvector kunnen controleren.
c = normalisatiefactor. Deze factor gaat R normeren.
In Vergelijking (3.17) levert het fixpunt van R een lijst met gewichten voor folksonomieF1. Hoe dit fixpunt wordt berekend, laten we hier buiten beschouwing12. Een mogelijkheidkan zijn om R iteratief te berekenen met als initiele waarde voor alle gewichten in R : 1
|V | .Voor folksonomie F1 zou R dus geınitialiseerd worden als
R = (115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
)
Matlab13 voorziet methoden die voor de gegeven parameters uit Vergelijking (3.17) een fixpuntkan berekenen met deze initiele waarde R.
3.3.4 FolkRank
Er is een groot nadeel aan het folksonomie-aangepaste PageRank algoritme. Doordat debogen niet gericht zijn, kunnen de aanpassingen na elke iteratie weer teniet gedaan worden.Wanneer de gebruiker of random surfer namelijk toevallig dezelfde boog kiest14 in de volgendeiteratie, keren we gewoon terug naar de vorige knoop. Hierdoor zullen de knopen uiteindelijkgerangschikt worden volgens de distributie van hun graad [14]. Dit wil zeggen dat knopenmet een hoge graad zeer hoog zullen gerangschikt worden en dat knopen met een kleinegraad nooit de kans zullen krijgen om hoger te worden gerangschikt. De voorkeursvectorkan hier niet rechtstreeks invloed op uitoefenen. Daarom wordt een differentiele aanpakvoorgesteld [14]. Eerst wordt het fixpunt RAP berekend zonder voorkeursvector (γ = 0, zieVergelijking(3.20)). Daarna wordt een tweede fixpunt Rpref berekend met een voorkeursvector(γ > 0, zie Vergelijking(3.20)). De uiteindelijke vector R is dan gelijk aan het verschil van detwee voorgaande fixpunten. Zo wordt het voordeel van knopen met een hoge graad weggewerkten blijft enkel het effect van de voorkeursvector zichtbaar. De uiteindelijke gewichten in R,worden de folkranks genoemd van de bijhorende knopen (zie Vergelijking (3.21)) [14].
RAP ← c(αRAP + βARAP ) (3.19)
Rpref ← c(αRpref + βARpref + γP ) met γ > 0 (3.20)
R := RAP −Rpref (3.21)
12De wiskunde voorziet vele methoden. Voor meer informatie over fixpunt theorie, zie [19]13http://www.mathworks.com/14Een keuze wordt bepaald door de kans dat er een bepaalde link genomen wordt door de random surfer.
38
Hoofdstuk 3. Tag-aanbevelingssystemen
3.3.5 Gretige algoritmen voor het bepalen van de kwaliteit van tags
We bespreken een minder gekend algoritme [31] dat toch de moeite waard is om te besprekenomdat het gebruik maakt van enkele interessante metrieken die in geen enkel van de gekendealgoritmen voorkomen. Ook is deze benadering voor zover ons bekend nooit vergeleken met deveel gekendere technieken die we hierboven besproken hebben. De waarde ervan is dus moeilijkin te schatten, maar het geeft ons toch enkele interessante invalshoeken. Het grote nadeel vandeze aanpak zijn de vele vrijheidsgraden waarvan we vermoeden dat die wel bepalend zijnvoor het uiteindelijke resultaat. Hieronder volgt een lijst van metrieken die gebaseerd zijn opeigenschappen van een folksonomie.
� a(u) =∑
r∈Ru
∑t∈Tu,r
S(t,r)∑r∈Ru
|Tu,r| = Authoriteitsscore van gebruiker u. Deze score geeft aanhoe betrouwbaar gebruiker u is. Dit komt neer op de gemiddelde kwaliteit van de tagsvan gebruiker u. Deze kan op een iteratieve manier worden berekend. Initieel wordt dewaarde van de authoriteitsscore van alle gebruikers op 1 gezet.
� Ps(ti|tj ; r) =
∣∣∣Ur,ti+tj
∣∣∣|Ur,tj |
15 = Kans dat object r is getagd met tag ti, gegeven dat het al
getagd is met tag tj door dezelfde gebruiker. Tag ti en tag tj zijn dus beiden gerelateerdaan elkaar door object r en door hun gemeenschappelijke gebruiker. Deze kans geeftdus de sterkte van het onderlinge verband tussen twee tags aan. Een logische invullingvoor deze metriek is dan ook om het aantal gebruikers dat zowel tag ti als tag tj
heeft toegekend aan object r te delen door het aantal gebruikers dat enkel tag tj heefttoegekend aan object r.
� Pa(ti|tj) =
∣∣∣Uti+tj
∣∣∣|Utj |
16 = Kans dat een object getagd is met tag ti, gegeven dat het al
getagd is met tj door een gebruiker. Merk op dat deze metriek een beeld geeft van derelaties tussen de tags, onafhankelijk van een specifieke gebruiker/object. Deze kansgeeft met andere woorden aan hoe goed tag ti in het algemeen op tag tj lijkt. Dezerelatie wordt bepaald door het aantal gebruikers dat zowel tag ti als tag tj heeft gebruikt,te delen door het aantal gebruikers dat enkel tj heeft gebruikt.
� S(t, r) =∑
u∈Ut,ra(u) = Kwaliteitsmetriek. Deze bepaalt de kwaliteit van de toeken-
ning van tag t aan object r. Dit komt neer op de som van authoriteitsscores van allegebruikers die t aan r hebben toegekend.
� C(t) = |Rt| = Bedekkingsgraad (Eng. coverage) van tag t. Bepaalt hoeveel objectenwerden getagd met tag t. Deze maat kan gebruikt worden om de kwaliteitsmetriek
15Ur,ti+tj is de set van gebruikers die zowel tag ti als tag tj hebben toegekend aan object r. Zie ook Lijst
van afkortingen en symbolen.16Uti+tj is de set van gebruikers die zowel tag ti als tag tj hebben gebruikt. Zie ook Lijst van afkortingen
en symbolen.
39
Hoofdstuk 3. Tag-aanbevelingssystemen
te verbeteren. Een hoge bedekkingsgraad betekent namelijk dat een gegeven tag zeeralgemeen is, terwijl wij voornamelijk geınteresseerd zijn in specifieke tags. We willenmet andere woorden een zo hoog mogelijke waarde voor S(t, r) bekomen en een zo laagmogelijke waarde voor C(t).
Aan de hand van bovenstaande metrieken, overloopt het algoritme elke tag in de tag-verzameling en neemt de tot dan toe beste oplossing. Daarna wordt S(t, r) aangepast doorenerzijds te bestraffen (Eng. penalize) en anderzijds te belonen (Eng. reward) in opeenvol-gende iteraties, tot wanneer alle tags gecontroleerd werden. Dit gretig algoritme zou naar eenglobaal optimum moeten naderen. Deze strategie blijkt in de praktijk echter niet voldoendeefficient te presteren [31]. Algoritme 1 geeft de pseudocode weer van de voorgestelde aanpak.
Algorithm 1 Gretig algoritmer = het object waarvoor tags moeten worden aanbevolenR = {} ResultaatsetT = alle tags die aan object r werden toegekend - tags die op voorhand werden uitgesloten
K = het aantal tags die moeten aanbevolen wordenfor all t ∈ T do
Bereken S(t, r)end forwhile |T | 6= 0 & |R| < K do
(A) Bepaal ti ∈ T zodat ∀tj ∈ T, j 6= i : S(ti, r) > S(tj , r)(B) T ← T − {ti}for all t ∈ T do
(C) S(t, r)← S(t, r)− Ps(t|ti) ∗ S(ti, r) + Pa(t|ti; r) ∗ S(ti, r)end for(D) R = R+ {ti}
end while
Zolang de resultatenverzameling nog niet het correcte aantal tags bevat, worden de vol-gende stappen ondernomen. (A) Men zoekt de tag die op dat moment de beste verbeteringlevert. Vertaald naar metrieken komt dit neer op de tag die de beste kwaliteit levert volgensde kwaliteitsmaat S. (B) De gevonden tag wordt uit de lijst met te onderzoeken tags ver-wijderd. (C) De kwaliteitsscore van elke tag wordt nu aangepast. Hier komt de techniek vanbestraffen en belonen aan bod. Eerst wordt er een strafwaarde (Ps(t|ti) ∗S(ti, r)) van de hui-dige tagkwaliteitsscore afgetrokken. Deze waarde is gelijk aan de kans dat een object getagdwerd met de tag t, gegeven dat het al getagd werd met de beste tag, die we in (A) hebbenberekend, maal de kwaliteit van de beste tag. We willen namelijk niet dat bepaalde tags die
40
Hoofdstuk 3. Tag-aanbevelingssystemen
zeer goed lijken op een andere tag, worden aanbevolen, want dit kunnen we beschouwen alseen redundante tag. Denk maar aan de tag ‘computer’ ten opzichte van de tag ‘computers’.We willen slechts een van de twee aanbevelen. Daarna gaan we een beloningswaarde optellenbij de kwaliteitsmaat van de tag. We belonen tags die sterk gerelateerd zijn aan de goeie taguit (A). De beloningswaarde is bijgevolg gelijk aan de kans dat de tag werd toegekend aanobject r door dezelfde gebruiker, die de goeie tag uit (A) reeds toekende aan object r, maalde kwaliteit van de goeie tag. Uiteindelijk voegen we in (D) de goeie tag toe aan de resul-tatenverzameling. Er zijn nog andere mogelijke invullingen voor de metrieken dan deze diehierboven werden gegeven. De focus van dit algoritme ligt meer op het concept van belonenen bestraffen, dan op de invulling van de maten die ervoor gebruikt worden [31].
In [31] worden een aantal alternatieven voor strafwaarden voorgesteld. Onder meer wordtgesuggereerd om de syntax te bekijken van sleutelwoorden. We laten de technische detailshiervan buiten beschouwing, en beperken ons tot een eenvoudig voorbeeld. We beschouwen detwee verschillende tags ‘collaborative’ en ‘filtering’ naast een derde tag ‘collaborativeFiltering’.De ene gebruiker zal opteren om de eerste twee tags toe te kennen aan een object en eenandere gebruiker vindt het misschien logischer om de derde tag te gebruiken. Wanneer wetags gaan aanbevelen, willen we uiteraard ook maar een van de twee opties aanraden. Eenander suggestie is om de tijd in rekening te brengen. We kunnen bijvoorbeeld oude tagsstraffen en recente tags belonen.
41
Hoofdstuk 3. Tag-aanbevelingssystemen
3.4 Besluit van het overzicht van tag-aanbevelingssystemen
In de eerste sectie werd een formele definitie gegeven van het tag-aanbevelingsprobleem. Inde tweede sectie werden de tag-aanbevelingssystemen geclassificeerd in inhoudgebaseerde engraafgebaseerde methoden. De derde en meest uitgebreide sectie gaf een overzicht van allehuidige graafgebaseerde tag-aanbevelingssystemen. De laatste methode, het gretig algoritme,werd voor zover bekend, niet geevalueerd. De eerste vier grote methoden: populairste tags,collaboratief filteren, aangepaste PageRank en FolkRank werden in [18] met elkaar vergelekenvoor de Bibsonomy dataset. Daaruit is gebleken dat FolkRank veruit de beste resultatengeeft. Voor een groot aantal tags presteert de gebruikergebaseerde collaboratief filteren aan-pakken met projectie πUT en πUR even goed als de populairste tags per object. De PageRankaangepaste methode scoort nog lager dan de populairste tags per gebruiker! Zoals men kanverwachten scoort de populairste tags methode het slechtst.
42
Hoofdstuk 4
Similariteitsberekening met een
vaaglogisch programma
4.1 Ontwerp van een vaaglogisch programma
4.1.1 Doelstelling
Wanneer we het tag-aanbevelingsprobleem willen modelleren, hebben we een aantal metrie-ken nodig. In Hoofdstuk 3 hebben we de huidige tag-aanbevelingssystemen onderzocht. Daarvormde de similariteitsmaat (zie Definitie 11) het hart van collaboratief filteren. Een simila-riteitsmaat geeft aan hoe goed twee items op elkaar lijken. In het domein van folksonomieenworden de similariteiten bepaald tussen twee objecten, twee gebruikers en twee tags. Voorhet opstellen van de vaaglogische regels is de similariteitsmaat een handig hulpmiddel. Wekunnen de informatie namelijk goed gebruiken om een slimme tag te zoeken voor een gegevenobject. Met een slimme tag wordt een tag bedoeld die een toegevoegde waarde geeft aan dehuidige collectie tags van het object. Voor we overgaan tot het opstellen van de vaaglogischeregels willen we zeker zijn dat de similariteitswaarden die we zullen gebruiken een goeie re-presentatie zijn van de gelijkaardigheid tussen twee items. Een item is een tag, een object ofeen gebruiker.
We maken dus eerst een zijsprong en focussen ons op de bepaling van goede similaritei-ten tussen twee items. Een eerste vraag die zich hierbij stelt, is hoe het FASP paradigmaaangewend kan worden voor het bepalen van een goede similariteitsmaat. Een mogelijke op-tie is om de FASP immediate consequence operator (zie Sectie ??) toe te passen op enkelegoed ontworpen regels in een FASP-programma. We hopen dat het minimale model van ditprogramma ons een interpretatie zal teruggeven van de similariteiten die beter zijn dan deinitiele similariteitswaarden.
In dit hoofdstuk spitsen we ons toe op het ontwerp van recursieve regels waarvan we willen
43
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
dat ze goede similariteiten leveren. Ze bestaat uit drie grote onderdelen. In de eerste sectie,deze sectie (Ontwerp van een vaaglogisch programma), stellen we het vaaglogisch programmavoor. In de tweede sectie (Experimentele set-up) stellen we de dataset voor waarmee wezullen experimenteren en de evaluatiemethodologie die we zullen gebruiken om het vaaglogischprogramma te testen. In de laatste sectie (4.3) overlopen we de resultaten van verschillendetests.
4.1.2 Opstellen regels
Het is niet eenvoudig om vanuit het niets een goede methode te vinden om goede similariteitente bepalen. We moeten natuurlijk eerst weten wat de kwaliteit van een similariteitswaardebepaalt. We kunnen ons dus het best laten inspireren door ideeen die reeds in de praktijkwerden toegepast en hun nut hebben bewezen. Het is duidelijk dat de achterliggende ideevan het PageRank algoritme een schot in de roos was. De geschiedenis van het PageRankalgoritme werd in de inleiding (zie Sectie 1.2) uitvoerig besproken. Veel gebruikers surfen naargoede links en goede links verwijzen naar andere goede links. Wanneer we ons verplaatsenin de wereld van de folksonomieen en meerbepaald in het probleemdomein van de similari-teitsmaten, dan kunnen we een gelijkaardige redenering toepassen: Twee objecten lijken goedop elkaar (m.a.w. zijn gelijkaardig) als ze worden getagd door gelijkaardige gebruikers metgelijkaardige tags. Een analoge veronderstelling kunnen we maken voor de gelijkaardigheidvan twee gebruikers en voor de gelijkaardigheid van twee tags.
Definitie 15 (Similariteit van twee objecten: VERSIE I).
object a is gelijkaardig aan object b←− tags van a gelijkaardig zijn aan die van b ∧
tags van b gelijkaardig zijn aan die van a ∧
gebruikers van a gelijkaardig zijn aan die van b ∧
gebruikers van b gelijkaardig zijn aan die van a
Laten we nu eens dieper ingaan op deze redenering. Om de uitleg niet nodeloos inge-wikkeld te maken, pikken we er de regels uit voor de objectsimilariteiten. Een informelebeschrijving van deze regel wordt gegeven in de vergelijking uit Definitie 15 1. Merk op datde bepaling van de gebruikersimilariteiten en tagsimilariteiten volledig analoog verloopt. Desimilariteitsbepaling tussen twee objecten hebben we informeel beschreven als de combinatievan de relevante gebruikerssimilariteiten en tagsimilariteiten van de beschouwde objecten. Deregel lijkt eenvoudig, maar we zitten nog met een aantal open vragen.
1∧ is in dit geval een informele EN. Er wordt hier nog geen concrete invulling voor gekozen. We kiezen
voor deze voorstelling om de verschillende onderdelen in de regel duidelijk te scheiden.
44
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
� Wat verstaan we onder de relevante gebruiker -en tagsimilariteiten van de beschouwdeobjecten? Elk object heeft een heleboel tags toegekend gekregen in de loop der tijd.We noemen dit de tagset Tr van het object r. De relevante tagsimilariteiten zijn dan desimilariteiten tussen de tags van de tagset van het ene object en de tags van de tagsetvan het andere object. De relevante gebruikersimilariteiten zijn dan de similariteitentussen de gebruikers van de gebruikerset van het ene object en de gebruikers van degebruikerset van het andere object.
� Hoe nemen we de verschillende relevante tagsimilariteiten samen? En dezelfde vraagkunnen we stellen voor de relevante gebruikersimilariteiten. Opnieuw is het meestintuıtieve antwoord om de gewogen som te nemen over alle tagsimilariteiten. Dit blijktechter geen zinvolle bewerking te zijn. We illustreren dit met een voorbeeld in de vol-gende subsectie (4.1.2.1).
� Hoe kunnen we de gebruiker -en de tagsimilariteiten combineren tot een waarde? Dezewaarde representeert uiteindelijk de gelijkaardigaardigheid voor tussen de twee be-schouwde objecten. Het meest intuıtieve antwoord is om de gewogen som van de tweete nemen. Maar ook andere opties kunnen we in rekening brengen. Aangezien we metwaarden tussen 0 en 1 werken, komen de vaagoperatoren (zie Sectie 2) ook in aanmer-king. We bespreken alle mogelijke opties in subsectie 4.1.2.2.
4.1.2.1 Waarom de gewogen som geen goede keuze is om relevante tagsimilari-teiten te combineren
En analoog : Waarom de gewogen som geen goede keuze is om relevante gebruikersimilaritei-ten te combineren.
Voorbeeld 4 Het combineren van de similariteiten van de tags van twee objecten waarvanwe de similariteit willen berekenen.
Laten we twee objecten beschouwen uit Voorbeeld 2 waarvan we de similariteit willenberekenen. We kiezen bijvoorveeld Tuinieren en Fauna en flora. We verzamelen hun tags,
45
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
maar behouden enkel de tags die de twee objecten gemeenschappelijk hebben. Deze informatiewordt weergegeven in Voorbeeld 4. Dit voorbeeld zal duidelijk maken waarom we niet zomaareen gemiddelde kunnen nemen over alle tagsimilariteiten. In Voorbeeld 4 is het duidelijk datde twee objecten op basis van hun tags honderd procent gelijkaardig zijn. Wat gebeurt er nuwanneer we het gemiddelde nemen over de tagsimilariteiten uit Voorbeeld 4?
Daarvoor beschouwen we eerst alle tags uit de tagset van het object Tuinieren en nemenwe het gemiddelde van de similariteiten met de tags van de tagset van het object Fauna enflora. We weten dat de gelijkaardigheid tussen twee identieke tags altijd gelijk is aan 1. Degelijkaardigheid of similariteit tussen natuur en groen geven we de waarde 0.4. Deze waardeis willekeurig gekozen.
De gemiddelde similariteit tussen de tag natuur en alle tags de tagset van het object Faunaen flora is gelijk aan 1+0.4
2 = 0.7. Analoog bekomen we voor de tag groen een gemiddeldegelijkaardigheid van 0.7. Op basis van de tagset van het object Tuinieren is de gemiddeldegelijkaardigheid gelijk aan 0.7+0.7
2 = 0.7 (zie Voorbeeld 4, bovenste rij).
Een volgende stap is om alle tags van het object Fauna en flora te gaan vergelijken metdeze van Tuinieren en het gemiddelde te nemen over alle similariteiten. In dit specifiekegeval is de berekening identiek aan de vorige stap en dus krijgen we opnieuw een gemiddeldesimilariteit van 0.7. Deze waarde werd bekomen op basis van de tagset van het object Faunaen flora (Zie Voorbeeld 4, onderste rij.).
Als finale stap nemen we het gemiddelde over de twee resulterende tagsimilariteitswaarden.De ene waarde werd bekomen op basis van de tagset van het object Tuinieren en de de anderewaarde werd bekomen op basis van de tagset van het object Fauna en flora. Het gemiddeldeover deze twee waarden is gelijk aan 0.7+0.7
2 = 0.7. Dit betekent dat de twee objecten, opbasis van hun tagsets, tot 70 % gelijkaardig zijn. Dit in tegenstelling tot de honderd procentdie we hadden verwacht.
De oorzaak van deze tegenstrijdigheid is de keuze van de gewogen som als operator omde similariteiten te combineren van een tag van het ene object met alle tags uit het andereobject. Het is veel zinvoller om in dit geval een maximum te nemen over alle similariteiten.In Voorbeeld 4 gaat dit over de combinatie van similariteiten in het tweede venster. Daarwaar we het gemiddelde van 1 en 0.4 hebben genomen voor de tag natuur van het objectTuinieren, nemen we nu het maximum van 1 en 0.4. Analoog voor de tag groen van hetobject Tuinieren nemen we het maximum van 0, 4 en 1 (zie Voorbeeld 4, bovenste rij). Webekomen twee maal de waarde 1. Dit doen we ook voor de tag natuur en groen van het objectFauna en flora. Dit resulteert opnieuw in een similariteit van waarde 1 voor beide tags. Hoewe deze similariteitswaarden uiteindelijk combineren om tot een representatieve te komen,staat ons vrij. In het geval van Voorbeeld 4, bekomen altijd de algemene waarde 1, of we nu
46
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
een gewogen som nemen, een product, een maximum of een minimum. De waarde 1 voldoetnu wel aan onze verwachtingen. Twee objecten met identieke tags en identieke gebruikers 2
zijn honderd procent gelijkaardig aan elkaar.
De regel voor de similariteit krijgt dus al een iets concretere vorm. We pikten er de regeluit voor de similariteit van twee objecten. De Definitie 15 gaf een eerste informele versie vande definitie van een objectsimilariteit. Deze regel kunnen we al iets meer concretiseren metde nieuwe informatie. Het resultaat is gegeven in Definitie 16.
Definitie 16 (Similariteit van twee objecten: VERSIE II).
object a is gelijkaardig aan object b←−
(maximale gelijkaardigheid van elke tag van a met alle tags van b ∧
maximale gelijkaardigheid van elke tag van b met alle tags van a)∧
(maximale gelijkaardigheid van elke gebruiker van a met alle gebruikers van b∧
maximale gelijkaardigheid van elke gebruiker van b met alle gebruikers van a)
4.1.2.2 Hoe combineren we alle nodige similariteiten
De huidige informele definitie (zie Definitie 16) is nog niet concreet genoeg. Het is nu aanons om alle informatie uit de informele definitie op een goede manier te combineren zodatwe tot een representatieve waarde komen voor de similariteit. Als we de vergelijking uit deinformele definitie goed analyseren, dan blijkt dat er drie onbepaalde combinatieoperatoren 3
zijn. Een multi-operator 4,⊕
, en twee binaire operatoren,⊙
en⊗
. In Definitie 17 hebbenwe deze operatoren toegepast op de vorige informele definitie.
Definitie 17 (Similariteit van twee objecten : VERSIE III).
object a is gelijkaardig aan object b←−
(⊕
(maximale gelijkaardigheid van elke tag van a met alle tags van b)⊙
⊕(maximale gelijkaardigheid van elke tag van b met alle tags van a ))
⊗(⊕
(maximale gelijkaardigheid van elke gebruiker van a met alle gebruikers van b)⊙
⊕(maximale gelijkaardigheid van elke gebruiker van b met alle gebruikers van a))
2De berekening van de gebruikersimilariteiten hebben we niet besproken. De redenering die we moeten
toepassen is volledig analoog aan deze die we hebben toegepast voor tags.3Met combinatieoperatoren worden operatoren bedoeld die de beschouwde informatie gaan combineren door
de operatie erop toe te passen.4Een multi-operator is een bewerking met 1 of meer argumenten.
47
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
Operator 1 :⊕
Operator 2 :⊙
Operator 3 :⊗
Gemiddelde Maximum t-norm Maximum t-normMinimum Gemiddelde Gemiddelde
Minimum t-norm Minimum t-normProduct t-norm Product t-normLukasiewicz t-norm Lukasiewicz t-norm
Operator Definitie
Gemiddelde (multioperator)∑k
i=1ain
Minimum (multioperator) minki=1 ai
Maximum t-norm max(a, b)Gemiddelde (binaire operator) a+b
2
Minimum t-norm min(a, b)Product t-norm a · bLukasiewicz t-norm max(a+ b− 1, 0)
Tabel 4.1: Mogelijke invullingen voor de vrije operatoren
� Operator 1 :⊕
Deze operator moet telkens een verschillend aantal argumenten combineren. Voor elketag van het ene object berekenen we de maximum similariteit met alle tags van hetandere object. We bekomen dus k waarden, met k gelijk aan de grootte van de tagsetvan het het eerste object. Deze k waarden worden gecombineerd met de
⊕-operator. In
ons programma beschouwen we twee mogelijkheden. We kunnen het minimum nemenover alle k waarden. Of we kunnen het gemiddelde nemen over alle k waarden. De‘strengste’ bewerking is uiteraard het minimum, want het resultaat van deze bewerkingzal steeds kleiner of gelijk zijn aan het gemiddelde.
� Operator 2 :⊙
Opnieuw hebben we de keuze tussen verschillende operatoren. Merk op dat de gekozenoperator een binaire operator moet zijn. We combineren namelijk twee waarden metdeze operator. De ene waarde is het resultaat van operator 1 op de maximumwaardenvan de tagsimilariteiten genomen over de tagset van het eerste object met de tagver-zameling van het tweede object. De andere waarde is het resultaat van operator 1 opde maximumwaarden van de tagsimilariteiten genomen over de tagset van het tweedeobject met de tagset van het eerste object. We hebben de keuze uit vaagoperatoren zo-als de verschillende t-normen of het gemiddelde. De strengste bewerking in dit geval isde product t-norm, daarna de Lukasiewicz t-norm, daarna de minimum t-norm, daarnahet gemiddelde en daarna de maximum t-norm.
48
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
� Operator 3 :⊗
Een laatste operator is nodig om de bekomen waarde van de berekeningen over de tagsette combineren met de bekomen waarde van de berekeningen over de gebruikerverzame-lingen. We moeten dus werken met binaire operatoren. Dezelfde opties zijn mogelijkals bij Operator 2.
We herinneren eraan dat we ons, in het begin van onze uiteenzetting, hebben toegespitstop de bepaling van de similariteit tussen twee objecten. De regels voor de overige twee items,tags en gebruikers, kunnen volledig analoog worden opgesteld. We hebben nu alle noodza-kelijke informatie over de regels verzameld. De informele definities van de objectsimilariteitkunnen nu formeel worden neergeschreven, samen met de analoge definities voor de tag- engebruikersimilariteit. Uiteindelijk moeten deze regels worden toegepast op alle mogelijke com-binaties van twee objecten, twee tags en twee gebruikers. We kunnen deze regels samenvattenin een formele definitie (zie Definitie 18). De symbolen die worden gebruikt in Definitie 18hebben we al eerder geıntroduceerd en kunnen steeds teruggevonden worden in de Lijst vanafkortingen en symbolen.
Definitie 18 (Formele similariteitsregels).
∀ra, rb ∈ R, ra 6= rb;∀ua, ub ∈ U, ua 6= ub;∀ta, tb ∈ T, ta 6= tb
sim(ra, rb)←−
⊕t1∈Tra
maxt2∈Trb
sim(t1, t2)⊙ ⊕
t2∈Trb
maxt1∈Tra
sim(t1, t2)
⊗ ⊕u1∈Ura
maxu2∈Urb
sim(u1, u2)⊙ ⊕
u2∈Urb
maxu1∈Ura
sim(u1, u2)
sim(ua, ub)←−
⊕t1∈Tua
maxt2∈Tub
sim(t1, t2)⊙ ⊕
t2∈Tub
maxt1∈Tua
sim(t1, t2)
⊗ ⊕r1∈Rua
maxr2∈RUb
sim(r1, r2)⊙ ⊕
r2∈Rub
maxr1∈RUa
sim(r1, r2)
sim(ta, tb)←−
⊕r1∈Rta
maxr2∈Rtb
sim(r1, r2)⊙ ⊕
r2∈Rtb
maxr1∈Rta
sim(r1, r2)
⊗ ⊕u1∈Uta
maxu2∈Utb
sim(u1, u2)⊙ ⊕
u2∈Uta
maxu1∈Uta
sim(u1, u2)
Eens we de regels hebben opgesteld, is het de bedoeling om ze door de immediate conse-quence operator te laten uitvoeren. Deze operator heeft echter een initiele interpretatie nodig
49
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
voor de similariteiten. Hiervoor kiezen we de Jaccard similariteitscoefficient, aangezien dit eeneenvoudige interpretatie is van een similariteit. We moeten deze initialisatie uiteindelijk alsextra regels toevoegen aan onze huidige regels. In de volgende sectie bespreken we uitgebreidhoe de Jaccard similariteitscoefficienten worden opgesteld.
4.1.2.3 Jaccard similariteitscoefficient
De Jaccard similariteitscoefficient is een metriek die gebruikt wordt om de gelijkheid en diver-siteit van veramelingen te vergelijken. Ze wordt gedefinieerd als de grootte van de doorsnedevan de sets gedeeld door de unie van de sets (zie Definitie 19, [29]).
Definitie 19. Jaccard similariteitscoefficient J(A,B) =∣∣A∩BA∪B
∣∣ , A ∪B 6= Ø
We kunnen deze metriek gebruiken om alle similariteiten in het tag-aanbevelingsprobleem teinitialiseren. Deze is gemakkelijk implementeerbaar en het nut is al eerder bewezen in anderesystemen. Flickr heeft bijvoorbeeld een algoritme dat gebruik maakt van Jaccard: TagEz [1].Een andere mogelijkheid is de cosinus similariteit. Deze wordt gebruikt door CF en hebbenwe uitgebreid besproken in Sectie 3.3.2.1.
Bij tag-aanbevelingssystemen kunnen twee gebruikers, tags of objecten vergeleken wordenaan de hand van twee verschillende sets. Elke gebruiker heeft namenlijk een lijst met objectendie ze getagd heeft en een lijst met tags die ze gebruikt heeft. Op dezelfde manier hebben tagsen objecten die met elkaar vergeleken worden, twee mogelijke sets waarmee de vergelijkingkan gebeuren. Dit wordt verduidelijkt aan de hand van de volgende formules.
∀ra, rb ∈ R, ra 6= rb,∀ua, ub ∈ U, ua 6= ub,∀ta, tb ∈ T, ta 6= tb
JRtag(ra, rb) =|Tra ∩ Trb ||Tra ∪ Trb |
, Tra ∪ Trb 6= Ø
JRuser(ra, rb) =|Ura ∩ Urb ||Ura ∪ Urb |
, Ura ∪ Urb 6= Ø
JUres(ua, ub) =|Rua ∩Rub
||Rua ∪Rub
| , Rua ∪Rub6= Ø
JUtag(ua, ub) =|Tua ∩ Tub
||Tua ∪ Tub
| , Tua ∪ Tub6= Ø
JTres(ta, tb) =|Rta ∩Rtb ||Rta ∪Rtb |
, Rta ∪Rtb 6= Ø
JTuser(ta, tb) =|Uta ∩ Utb ||Uta ∪ Utb |
, Uta ∪ Utb 6= Ø
50
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
Voor de eerste regel krijgen we een Jaccard-coefficient voor de gelijkaardigheid tussen tweeobjecten. Die is gelijk aan het aantal tags dat object ra en rb gemeenschappelijk hebben overhet aantal verschillende tags dat in object ra en rb voorkomen. De tweede regel geeft ook eenJaccard-coefficient voor de gelijkaardigheid tussen twee objecten, maar deze is gebaseerd opde gebruikerverzameling van de objecten. Dit wil zeggen dat de coefficient gelijk is aan hetaantal gebruikers dat object ra en rb gemeenschappelijk hebben over het aantal verschillendegebruikers dat in object ra en rb voorkomen. Dezelfde interpretatie kan genomen worden voorde overige vier regels.
Voor elke verzameling R, U en T moeten de twee mogelijke Jaccard-regels gecombineerdworden. De simpelste manier is om het gemiddelde te nemen van de twee waarden. Een meeralgemene oplossing is om gewichten toe te kennen aan elke regel. Dit gebeurt op de volgendemanier.
sim(ra, rb)←− αr · simtag
(ra, rb) + (1− αr) · simuser
(ra, rb)
sim(ua, ub)←− αu · simres
(ua, ub) + (1− αu) · simtag
(ua, ub)
sim(ta, tb)←− αt · simres
(ta, tb) + (1− αt) · simuser
(ta, tb)
Waarbij αr, αu en αt waarden zijn tussen 0 en 1 die aangeven hoeveel elke afzonderlijkesimilariteit doorweegt op de uiteindelijke similariteit. In het speciale geval waarbij we aanαr, αu en αt de waarde 1
2 toekennen, bekomen we het gemiddelde van de twee afzonderlijkesimilariteiten.
4.1.2.4 Het finale vaaglogisch programma
De uiteindelijke algemene versie van het vaaglogisch programma is terug te vinden in Overzicht2. In Voorbeeld 5 wordt een concreet voorbeeld gegeven van een vaaglogisch programmawaarvoor een oplossing kan gevonden worden met de immediate consequence operator. Voorde operator
⊕is er een gewogen som genomen. Voor de operator
⊙werd het mininum
gekozen en voor de operator⊗
werd het product genomen (zie Tabel 4.1). Verder kennen weaan elk gewicht uit de gecombineerde Jaccardregels 1
2 toe.
51
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
Overzicht 2 (Algemeen vaaglogisch programma).
simtag
(ra, rb)←−|Tra ∩ Trb ||Tra ∪ Trb |
simuser
(ra, rb)←−|Ura ∩ Urb ||Ura ∪ Urb |
simres
(ua, ub)←−|Rua ∩Rub
||Rua ∪Rub
|
simtag
(ua, ub)←−|Tua ∩ Tub
||Tua ∪ Tub
|
simres
(ta, tb)←−|Rta ∩Rtb ||Rta ∪Rtb |
simuser
(ta, tb)←−|Uta ∩ Utb ||Uta ∪ Utb |
sim(ra, rb)←− αr · simtag
(ra, rb) + (1− αr) · simuser
(ra, rb)
sim(ua, ub)←− αu · simres
(ua, ub) + (1− αu) · simtag
(ua, ub)
sim(ta, tb)←− αt · simres
(ta, tb) + (1− αt) · simuser
(ta, tb)
sim(ra, rb)←−
⊕t1∈Tra
maxt2∈Trb
sim(t1, t2)⊙ ⊕
t2∈Trb
maxt1∈Tra
sim(t1, t2)
⊗ ⊕u1∈Ura
maxu2∈Urb
sim(u1, u2)⊙ ⊕
u2∈Urb
maxu1∈Ura
sim(u1, u2)
sim(ua, ub)←−
⊕t1∈Tua
maxt2∈Tub
sim(t1, t2)⊙ ⊕
t2∈Tub
maxt1∈Tua
sim(t1, t2)
⊗ ⊕r1∈Rua
maxr2∈RUb
sim(r1, r2)⊙ ⊕
r2∈Rub
maxr1∈RUa
sim(r1, r2)
sim(ta, tb)←−
⊕r1∈Rta
maxr2∈Rtb
sim(r1, r2)⊙ ⊕
r2∈Rtb
maxr1∈Rta
sim(r1, r2)
⊗ ⊕u1∈Uta
maxu2∈Utb
sim(u1, u2)⊙ ⊕
u2∈Uta
maxu1∈Uta
sim(u1, u2)
52
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
Voorbeeld 5 (Concreet vaaglogisch programma)
simtag
(ra, rb)←−|Tra ∩ Trb ||Tra ∪ Trb |
simuser
(ra, rb)←−|Ura ∩ Urb ||Ura ∪ Urb |
simres
(ua, ub)←−|Rua ∩Rub
||Rua ∪Rub
|
simtag
(ua, ub)←−|Tua ∩ Tub
||Tua ∪ Tub
|
simres
(ta, tb)←−|Rta ∩Rtb ||Rta ∪Rtb |
simuser
(ta, tb)←−|Uta ∩ Utb ||Uta ∪ Utb |
sim(ra, rb)←−12· simtag
(ra, rb) +12· simuser
(ra, rb)
sim(ua, ub)←−12· simres
(ua, ub) +12· simtag
(ua, ub)
sim(ta, tb)←−12· simres
(ta, tb) +12· simuser
(ta, tb)
sim(ra, rb)←− min
∑t1∈Tra
maxt2∈Trbsim(t1, t2)
|Tra |,∑t2∈Trb
maxt1∈Trasim(t1, t2)
|Trb |
·min
∑u1∈Ura
maxu2∈Urbsim(u1, u2)|Ura |
,∑
u2∈Urb
maxu1∈Urasim(u1, u2)|Urb |
sim(ua, ub)←− min
∑t1∈Tua
maxt2∈Tubsim(t1, t2)
|Tua |,∑t2∈Tub
maxt1∈Tuasim(t1, t2)
|Tub|
·min
∑r1∈Rua
maxr2∈RUbsim(r1, r2)
|Rua |,∑
r2∈Rub
maxr1∈RUasim(r1, r2)
|Rub|
sim(ta, tb)←− min
∑r1∈Rta
maxr2∈Rtbsim(r1, r2)
|Rta |,∑
r2∈Rtb
maxr1∈Rtasim(r1, r2)
|Rtb |
·min
∑u1∈Uta
maxu2∈Utbsim(u1, u2)|Uta |
,∑
u2∈Uta
maxu1∈Utasim(u1, u2)|Utb |
53
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
4.2 Experimentele set-up
4.2.1 Dataset
4.2.1.1 Wat is BibSonomy
BibSonomy5 is een sociaal bookmarkingsysteem waar ook publicaties kunnen gedeeldworden. Sociaal bookmarken is een methode om via internet bladwijzers ofwel favorieten(Eng. bookmarks) te delen. Het omvat drie handelingen. Ten eerste worden bladwijzersvastgelegd, daarna worden er trefwoorden (Eng. tags) toegekend aan die bladwijzers en alslaatste wordt deze informatie gedeeld via een website. BibSonomy is een voorbeeld van zo eenwebsite, waar je naast de gewone bladwijzers, ook publicaties kan delen. Gebruikers van desite krijgen de mogelijkheid om hun bladwijzers en hun publicatiereferenties te organiseren.Het ondersteunt ook de integratie van verschillende gebruikers en gebruikersgroepen, zoalsonderzoeksgroepen door een platform aan te bieden waar literatuur kan uitgewisseld wor-den. De publicaties worden meestal in een BibTex formaat bijgehouden, maar BibSonomyondersteunt ook nog andere formaten zoals HTML en EndNode. De sleutelwoorden die degebruikers toekennen aan de publicaties en bladwijzers structureren de informatie. Deze ver-zameling aan informatie wordt een folksonomie genoemd. Dit begrip werd reeds uitgebreidbesproken in 1.3 en 3.1. BibSonomy werd ontwikkeld aan de universiteit van Kassel . Deuniversiteit schreef in 2008 en 2009 een wedstrijd uit waarbij op zoek werd gegaan naar hetbeste tag-aanbevelingssysteem. De deelnemers konden gebruik maken van snapshots van deBibSonomy databank. Door de maanden heen werden er verschillende datasets verzameld dienu nog steeds beschikbaar zijn op de wedstrijdsite6.
4.2.1.2 Structuur BibSonomy dataset
Laten we wat dieper ingaan op de structuur van zo een dataset. We weten ondertussen al datwe drie-ledige informatie onderzoeken. Een gebruiker, een object en een tag. In het geval vande BibSonomy dataset is het object gelijk aan een bladwijzer of een publicatie. In Figuur 4.1staat een afbeelding van het databankdiagram van het deel van de databank dat wij nodighebben. De tabel tas omvat de handeling van een gebruiker die een tag toekent aan een object(Eng. tag assignment). Of het om een bibtex of om een bladwijzer gaat, wordt aangegevendoor het veld content type.
5http://www.bibsonomy.org6http://www.kde.cs.uni-kassel.de/ws/dc09/
54
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
Figuur 4.1: Bibsonomy dataset : databank diagram
De bibtex tabel bevat alle velden dat een bibtex fragment kan bevatten. Ze zijn nietallemaal opgenomen in de tabel om het overzicht te bewaren. Een overzicht van alle veldenkan teruggevonden worden op wedstrijdsite. De velden van een bladwijzer zijn voor de handliggend met uitzondering van het hashveld url hash. De bibtex tabel heeft drie gelijkaardigehashvelden (simhash0, simhash1, simhash2 ).
Deze velden zijn wel degelijk van nut voor ons. Wanneer een gebruiker een tag toekentaan een object, wordt dit opgenomen in de tas tabel met een nieuwe content id. Dit wildus zeggen dat, ook al is het object al opgenomen in de databank, er een nieuwe content idwordt toegekend aan dat object. Wanneer we de objecten gaan opnemen in onze berekenin-gen aan de hand van hun content id, dan krijgen we een verkeerd zicht van de data. Elkecontent id heeft namelijk maar een gebruiker waardoor hij werd getagd. Om te weten tekomen welke content id ’s nu effectief gelijk zijn aan elkaar, hebben we de hashvelden nodig.Twee bladwijzers of twee bibtex referenties worden als gelijk aan elkaar beschouwd, wanneerhun hashwaarde gelijk is. Voor een bladwijzer wordt de MD5 hash genomen van de url. Vooreen bibtex zijn er meerdere mogelijkheden. Wij nemen de simhash1. Dit is de minst striktehash. Het neemt enkel de titel, het jaar, de auteur en de uitgever in rekening als deze zijningevuld door de gebruiker.
4.2.1.3 Initiele filtering
De dataset komt uit een MySQL databank en werd gecreeerd met het mysqldump commando.De dump bevat alle publieke bladwijzer -en publicatie toevoegingen (Eng. posts) tot 1 ja-nuari 2009. Men kan uiteraard vermoeden dat de resulterende dataset niet onmiddellijk een
55
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
bewerkbare dataset zal zijn. Dat wisten de mensen van de universiteit van Kassel ook. Zijhebben de dump voor ons gefilterd alvorens ze online te zetten. Er zijn namelijk een aantalfactoren die de interpretatie van de dataset kunnen bemoeilijken.
Ten eerste is er het probleem van spammers. De transacties van zo’n gebruikers moetenworden verwijderd, willen we enkel nuttige informatie extraheren. Ook de transacties van dedblp-gebruiker worden verwijderd. Deze gebruiker is een ‘mirror’ van de DBLP ComputerScience Bibliography zie 7. De dblp-gebruiker is geen standaard gebruiker. Zijn eigenschappenwijken volledig af van een gewone gebruiker en dit leidt tot verkeerde interpretaties van dedata.
Ten tweede is er het probleem van ‘vuile’ tags. Dit zijn tags die ongewilde karakters bevat-ten. Meerbepaald willen we dat karakters die nummers noch letters zijn, worden verwijderd.De resulterende tags moeten wel UTF-8 8 gecodeerd zijn, dus worden umlauts en anderenon-latin karakters wel behouden. Dit schoonmaakproces wordt opgelost door de volgendejava methode.
public static String cleanTag(final String tag) {
return Normalizer.normalize(tag.toLowerCase()
.replaceAll("[^0-9\\p{L}]+", ""), Normalizer.Form.NFKC);
}
Na het opschonen van de tags via de cleanTag-methode, worden de lege strings verwijderd.Ook de tags die matchen met de woorden imported, public, systemimported, nn, systemunfiledworden verwijderd. Deze tags werden niet toegevoegd door de gebruikers en behoren dus niettot de folksonomie. Als laatste wordt er nog een unicode normalisatie toegepast naar denormaalvorm KC 9. Het verwijderen van tags kan ervoor zorgen dat er bepaalde transacties,objecten en gebruikers ook verdwijnen uit de dataset.
We hebben nu een schone dataset waarmee we kunnen verder werken. In Tabel 4.2 wor-den de belangrijkste aantallen van de dataset weergegeven. Met meer dan een miljoen tagaanbevelingen, dit komt overeen met het aantal rijen in de tas-tabel, kunnen we spreken vaneen zeer grote dataset om te bewerken. Merk op dat het aantal objecten gelijk is aan hetaantal urls plus het aantal bibtexs. Hun aantallen werden berekend aan de hand van dehashwaarden die hierboven werden besproken. In de derde kolom staat de verhouding tussende verschillende items weergegeven in percentage.
Veel aanbevelingsalgoritmen hebben te lijden onder data uit de dataset die niet erg sterkverbonden (Eng. sparse) is. Wanneer we de kansen voor goede resultaten van alle algoritmen
7 http://www.informatik.uni-trier.de/~ley/db/8zie http://www.unicode.org/standard/standard.html9zie http://www.unicode.org/reports/tr15/tr15-23.html voor meer uitleg omtrent unicode normaal-
vormen
56
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
info aantal percentage items
tag aanbevelingen 1 401 104bladwijzer posts 263 004bibtex posts 158 924gebruikers 3 617 0,76 %urls 235 328
79,53 %bibtexs 143 050tags 93 756 19,71 %
Tabel 4.2: Opgeschoonde dataset volledig
besproken in Hoofdstuk 3 10 willen verhogen, moeten we de dataset beperken tot het sterkverbonden (Eng. dense) gedeelte van de folksonomie [17]. Aangezien ons algoritme ook gebruikmaakt van de verbondenheid van de tag aanbevelingen, zal het voor ons ook van belang zijnom ons tot het sterk verbonden gedeelte van de folksonomie te beperken. De techniek die wehiervoor gebruiken, is het toepassen van een p-core of post-core op de hypergraafstructuurvan de data.
Definitie 20 (p-core van level k). Een p-core van level k heeft als eigenschap dat elkegebruiker, tag en object in ten minste k posts moet voorkomen.
De universiteit van Kassel stelt een post-core van level 2 ter beschikking op hun wedstrijd-site. Definitie 20 geeft de definitie van een post-core en Figuur 4.2 toont de post-core level 1en post-core level 2 van de hypergraaf uit Figuur 3.1. De tabel met de belangrijkste aantallenvan de dataset wordt door deze filtering sterk beınvloed. In Tabel 4.3 worden opnieuw debelangrijkste aantallen van de dataset weergegeven van een post-core level 2. Als we naar deonderlinge verhouding kijken tussen de items, is er een duidelijk verschil te zien met de ver-houdingen uit Tabel 4.2. De nieuwe percentages zijn evenwichtiger dan de oude percentages,dat kunnen we duidelijk zien in Figuur 4.3.
4.2.1.4 Filtering met CF
Wanneer we kijken naar de grootheden van de opgeschoonde dataset van postcore level 2(zie Tabel 4.3), dan kunnen we nog steeds spreken van een zeer grote dataset. De grootteis jammergenoeg onhandelbaar voor het FASP-programma dat we hebben opgesteld. Hetaantal regels stijgt exponentieel met het aantal items. We hebben namelijk een regel voorelke combinatie van twee objecten, twee gebruikers en twee tags. Dit betekent dat we voor
10Alle algoritmen met uitzondering van de populairtste tags.
57
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
Figuur 4.2: Post-core level 1 en level 2 van de hypergraaf uit Figuur 3.1
info aantal percentage items
aantal tag aanbevelingen 253 615aantal bladwijzer posts 41 268aantal bibtex posts 22 852aantal gebruikers 1 185 3,22 %aantal urls 14 443
60,75 %aantal bibtexs 7 946aantal tags 13 276 36,03 %
Tabel 4.3: Opgeschoonde dataset postcore level 2
Figuur 4.3: Verhoudingen van de items in de datasets
58
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
m objecten m2 regels moeten toevoegen aan het FASP-programma. Dit zou te veel rekentijdvragen en we moeten op zoek naar een goede manier om de dataset een tweede keer te filterenzonder te veel essentiele informatie te verliezen.
Een goede inspiratiebron zijn de methoden uit Hoofdstuk 3 en meerbepaald het objectge-baseerd collaboratief filteren voor tag-aanbevelingssystemen (Sectie 3.3.2.2). Deze techniekgaat eerst de k beste buren van een object bepalen en genereert aan de hand van deze burende beste tags om aan te bevelen. In principe komt dit erop neer dat collaboratief filteren dedataset eerst gaat filteren zodat enkel de objecten, die het beste op het beschouwde objectlijken, overblijven vooraleer er naar de populairste tags wordt gezocht. Het lijkt ons een goedidee om dit principe over te nemen. We berekenen dus de beste buren van een gegeven objecten beschouwen alle overblijvende gerelateerde gebruikers en tags. Op deze manier kunnenwe vanuit de grote dataset, enkele goedgekozen kleinere datasets filteren, afhankelijk van degekozen k.
4.2.2 Evaluatiemethodologie
Er is niet direct een objectieve methode voor handen om een similariteitsmaat te evalueren.Daarom gaan we beter op zoek naar een aanpak die gebaseerd is op bestaande evalutatietech-nieken. Een van de bekende evaluatiemethoden in IR is de gemiddelde precisie (Eng. averageprecision) en de daarvan afgeleide algemeen gemiddelde precisie (Eng. mean average preci-sion). Deze laatste noemen we ook de MAP-score. Hun definitie in IR-systemen is gegevenin Definitie 24 en Definitie 25. Ze maken gebruik van de precisie (Eng. precision). De pre-cisie vormt samen met de trefhoeveelheid (Eng. recall) twee zeer gekende IR-metrieken, zieDefinities 22, 23. Zie Definitie en Definitie voor de uitleg over deze metrieken. Hun definitieis gebaseerd op een IR-systeem, waarin nuttige documenten worden gezocht uit een grotecollectie van documenten [24, 25]. Verder in dit hoofdstuk passen we deze definities aan aande behoeften voor ons evaluatiesysteem.
Definitie 21 (IR-systeem). Een IR-systeem met N documenten bepaalt :
� Q = Verzameling van aanvragen. Een aanvraag q ∈ Q = gegeven een document, zoekde top k nuttige documenten.
� N = Totaal aantal documenten.
� Rj = Verzameling van gerangschikte documenten van een aanvraag qj ∈ Q. De rang-schikking gebeurt volgens het algoritme van het IR-systeem dat geevalueerd wordt. Derangschikking bevat alle documenten en de lengte is dus gelijk aan N .
� A = Nuttige documenten in Rj (Eng. relevant).
59
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
� B = Verworven documenten in Rj (Eng. retrieved).
60
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
Definitie 22 (Precisie). In een IR-systeem zoals in Definitie 21 is de precisie gelijk aan hetaantal nuttige documenten dat werd gevonden voor aanvraag qj ∈ Q gedeeld door het totaalaantal verworven documenten.
Prec(Rj) =|A ∩B||B|
Definitie 23 (Trefhoeveelheid (Rec) ). In een IR-systeem zoals in Definitie 21 is de tref-hoeveelheid gelijk aan het aantal nuttige documenten dat werd gevonden voor aanvraag qj ∈ Qgedeeld door het totaal aantal nuttige documenten.
Rec(Rj) =|A ∩B||A|
Definitie 24 (Gemiddelde precisie (AP)). In een IR-systeem zoals in Definitie 21 is degemiddelde precisie van een aanvraag van documenten gelijk aan het gemiddelde van deprecisiewaarden bekomen voor elke verzameling Rij ⊆ Rj . Rij bevat alle document van Rj
van het eerste document tot het i-de nuttige document.
AP(Rj) =1|A|
|A|∑i=1
Prec(Rij)
Definitie 25 (Algemeen gemiddelde precisie (MAP)). In een IR-systeem zoals in De-finitie 21 is de algemeen gemiddelde precisie gelijk aan het gemiddelde van alle gemiddeldeprecisies voor verschillende aanvragen van documenten.
MAP(Q) =1|Q|
|Q|∑j=1
1|A|
|A|∑i=1
Prec(Rij)
Nu komt het erop aan om de similariteiten op eenzelfde manier te evalueren. Om daartoete komen, moeten we de folksonomie samen met de bekomen similariteitswaarden op eenzodanige manier modelleren zodat we dezelfde metrieken kunnen gebruiken om ons algoritme
61
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
uit Sectie 4.1 te evalueren. In het domein van folksonomieen werken we niet met documenten,maar met tags, gebruikers en objecten. Hoe passen we de parameters van een IR-systeem uitDefinitie 21 aan zodat we het probleem kunnen verplaatsen naar een folksonomiesysteem?
In ons evaluatieframework focussen we ons eerst op de objectsimilariteiten. Deze zijn hetinteressantst want uit uit de bestaande tag aanbevelingssystemen is al gebleken dat objectendie gelijkaardig zijn aan het beschouwde object de nuttigste informatie leveren (zie Hoofd-stuk 3). We willen dus de kwaliteit van de objectsimilariteiten bepalen. We kunnen voorde documenten uit het IR-systeem, de objecten uit het folksonomie-systeem beschouwen. Derelevantie of nuttigheid van een object voor een beschouwd object wordt bepaald door zijngemeenschappelijke tags. We stellen voor een bepaald object een rangschikking op van ge-lijkaardige objecten na het verwijderen van een gemeenschappelijke tag. De rangschikkingverloopt volgens dalende similariteitswaarden. Deze modellering geeft ons de mogelijkheidom de MAP score te berekenen voor elk object in onze dataset. Nuttige objecten zijn nu dezeobjecten die de verwijderde tag gemeenschappelijk hadden met het beschouwde object. Wegeven een nieuwe bepaling aan de parameters uit Definitie [13], om het evaluatie algoritmebeter te kunnen mappen naar het probleemdomein van de folksonomieen (zie Definitie 26).Hierna geven we een uitgewerkt voorbeeld om het algoritme verder te verduidelijken.
Definitie 26 (Folksonomie-systeem). Een folksonomie-systeem met N objecten bepaalt:
� Q = verzameling van objecten. Gegeven een object r ∈ Q, wat zijn de top k gelijkaardigeobjecten.
� N = Totaal aantal objecten.
� Rj = verzameling van gerangschikte objecten voor een beschouwd object rj ∈ Q. Derangschikking gebeurt volgens dalende similariteit van de objecten (met het beschouwdeobject rj . De rangschikking bevat alle objecten en de lengte is dus gelijk aan N .
� A = Nuttige objecten in Rj (Eng. relevant).
� B = Verworven objecten in Rj (Eng. retrieved).
We beschrijven nu uitgebreid het opstellen van ons evaluatieframework voor het evaluerenvan similariteiten van objecten. Gegeven een verzameling van objecten: (r1, r2, r3, r4, r5).Elk object heeft een lijst van tags waarmee het werd geannoteerd door een gebruiker (zieVoorbeeld 6). We kiezen een object uit de objectenverzameling, bijvoorbeeld r1. Voor elketag t uit de lijst met tags van object r1 passen we nu de volgende methode toe.
62
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
Voorbeeld 6 (Evaluatie similariteiten) Voor de objectenverzameling (r1, r2, r3, r4, r5)
Objecten met hun lijst van tagsr1 (t1, t2, t3, t4)r2 (t2, t4, t5)r3 (t1, t3)r4 (t3, t4, t5, t6)r5 (t1, t3, t4, t6)
Evaluatielijst 1 van tag t1 voor object r1r1 percentage
r3 100%r5 100%r2
r4
gemiddeld 100%
Evaluatielijst 1 van tag t1 voor object r1r1 percentage
r4
r3
r2 33%r5 50%
gemiddeld 42%
We schrappen tag t uit de dataset. Als eerste is tag t1 aan de beurt. Deze wordt geschraptuit de lijst van objecten r1, r3, r5 en ook uit alle andere lijsten waarin ze voorkomt. Voordeze nieuwe dataset berekenen we nu alle similariteiten. We bekijken de bekomen similari-teiten van object r1 met alle andere objecten. We sorteren de objecten aflopend volgens hunsimilariteiten. Intuıtief voelen we aan dat objecten die tag t1 gemeenschappelijk hadden, nogsteeds min of meer gelijkaardig zouden moeten zijn aan object r1. We willen dus dat onzemethode ze ook hoog rangschikt.
Om dit te meten, lopen we de gesorteerde lijst van boven tot beneden af. Voor elkgoed object dat we tegenkomen in de lijst, bepalen we het percentage van ‘goede’ objectentot dan toe. Een goed object is een object dat tot de lijst behoort van objecten die tag t1
gemeenschappelijk hadden. In Voorbeeld 6 zie je twee voorbeelden van hoe zo een gesorteerdelijst met hun percentages eruit kunnen zien. De oplettende lezer ziet hier de gemiddelde
63
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
precisie metriek terug komen. Nuttige documenten uit Definitie 24 zijn in ons geval goedeobjecten. We onthouden enkel de precisie op die punten in de lijst waar goede objectenvoorkomen. En als laatste nemen het gemiddelde over deze precisiewaarden.
Overlopen we nu de voorbeelden uit Voorbeeld 6, dan zien we dat de eerste lijst duidelijkde beste lijst is. De objecten r3 en r5 zijn goede objecten en zitten bovenaan. We overlopennu de lijst van boven naar beneden. Het eerste goede object dat we tegenkomen is r3. Dezestaat bovenaan en dat impliceert dat we tot dan toe 100 % goede objecten hebben. Hettweede goede object staat op de tweede plaats, dit is object r5. Tot hier toe hebben we dusnog steeds 100 % goede objecten. Het derde object is r2, een object dat niet tot lijst vangoede objecten behoort. Dit object slaan we over. En zo komen we bij het laatste object,dat ook genegeerd moet worden. Het gemiddelde wordt nu genomen over deze percentages enin ons voorbeeld is dit 100 %. We kunnen gemakkelijk inzien dat wanneer de goeie objectenbovenaan in de lijst voorkomen, dit gemiddelde hoger zal zijn dan wanneer de goeie objectenlaag in de lijst voorkomen.
Kijk bijvoorbeeld naar de andere mogelijke lijst voor object r1. Daar zijn de goeie objectenmeer naar beneden gezakt. Op dit punt is slechts 1 op 3 objecten goed, dus krijgen we 33% precisie. Het eerste object dat we daar tegenkomen is r4. Het tweede object is slecht enwordt overgeslaan. Het derde object is wel een goed object, de precisie is tot dan toe 33 %.Het vierde object in de rij is r5 en dus een goed object. Het percentage wordt 50 %. Wanneerwe het gemiddelde nemen over alle precisies, bekomen we 42 %. Wanneer we dus naar deobjecten uit beide lijsten kijken, dan zien we dat er twee goede en twee slechte objecten inelke lijst voorkomen. Maar doordat in de eerste lijst de goeie objecten hoger komen te staan,is de algemene precisie van die lijst hoger dan die van de tweede lijst.
We kennen nu de algemene precisie voor een tag van een gegeven object. Dit algoritmemoeten we nu toepassen op alle overige tags van dat object. In dit geval passen we hetalgoritme nog eens toe voor t2, t3 en t4. Alle bekomen gemiddelde precisies middelen wenogmaals uit. Zo bekomen we de algemene gemiddelde precisie of MAP-score voor object r1.Willen we de MAP-score kennen voor de volledige dataset, dan moeten we de MAP-scoresvoor elk object opnieuw uitmiddelen.
Nu kunnen we deze MAP-scores berekenen voor Jaccard en voor ons vaaglogisch pro-gramma (zie 4.1). Om de ideale combinatie van operatoren (zie Tabel 4.1) te kennen van hetvaaglogisch programma, berekenen we voor elke combinatie de MAP-score. Daarna kijken wewelke combinatie de Jaccard coefficient het meest overstijgt.
64
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
4.3 Resultaten
4.3.1 Inleiding
Wanneer de evaluatiemethodologie geımplemeerd is en de databank is opgezet, kunnen weovergaan tot het testen van het FASP-programma uit Sectie 4.1. Hiervoor beschouwen weeerst een kleine deelverzameling van de grote dataset beschreven in Sectie 4.2.1. Dit doenwe door eerst een random object te selecteren uit de grote dataset. Daarna gaan we de 10(k = 10) dichtstbijzijnde buren van dat object extraheren uit de dataset via collaboratieffilteren (zie Sectie 3.3.2.2). De resulterende dataset bestaat uit deze 11 objecten samen metalle tags en gebruikers van die objecten. Deze kleine dataset bestuderen we in detail in devolgende sectie (zie Sectie 4.3.2). In Sectie 4.3.3 testen we het FASP-programma op datasetsmet andere karakteristieken, waarbij we afwegen of de analyse die we maakten voor de kleinedataset veralgemeend kan worden. Ten slotte vatten we de resultaten samen in Sectie 4.3.4.
4.3.2 Test op de kleine dataset
Bij het analyseren van resultaten is er altijd enige voorzichtigheid vereist. Er mag namelijkniet te snel veralgemeend worden. Daarom moeten we eerst de structuur van de gebruiktedataset duidelijk blootleggen alvorens we naar de resultaten gaan kijken. We willen een goedbeeld hebben van de karakteristieken van de dataset die een invloed kunnen hebben op deprestatie van het FASP-programma. De dataset die we bekomen na collaboratief filterenbevat 11 objecten, 80 tags en 35 gebruikers. Hun verhouding wordt weergegeven in Figuur4.4. Voor een dataset van deze grootte is de vertaling naar FASP-regels en de uitvoeringervan een handelbaar probleem.
4.3.2.1 Karakteristieken van de kleine dataset
Laten we even kijken naar de eigenschappen van deze gefilterde dataset. Hiervoor kijken wenaar de volgende figuren: Figuur 4.5, 4.6 en 4.7. Elk van de figuren geeft een overzicht vande eigenschappen van respectievelijk de objectverzameling, de gebruikerverzameling en detagverzameling. Voor elke verzameling wordt per item alle informatie, die gerelateerd is aandat item, verzameld uit de dataset. Dit zegt veel over de interconnectiviteit van een item inde folksonomie en kan ook van groot belang zijn tijdens de evaluatie van de resultaten. In hetspecifieke geval van een object, wordt het aantal tags geteld waarmee het object werd getagden het aantal gebruikers waardoor het object werd getagd. Deze aantallen worden uitgetekendin twee verschillende grafieken. De ene grafiek sorteert volgens het aantal tags in stijgendevolgorde en de andere grafiek sorteert volgens het aantal gebruikers in stijgende volgorde.Deze informatie kan ook in een histogram worden voorgesteld. Voor het opzetten van het
65
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
Figuur 4.4: Verhouding van de items voor de CF-gefilterde dataset van 11 objecten, 80 tags en 35gebruikers
histogram werd het bereik van de aantallen in drie even grote intervallen gedeeld. Voor elkinterval werd berekend hoeveel objecten erbinnen vallen en dit aantal werd uitgetekend op dey-as. Analoge grafieken werden bekomen voor de gebruikerverzameling en tagverzameling.
We overlopen nu de opmerkelijkste eigenaardigheden in de grafieken. In Figuur 4.5 wordtalle informatie van elk object verzameld. Er zijn 11 objecten in totaal waarvan we telkens hetaantal tags en het aantal gebruikers tellen. We zien we dat object obj7 duidelijk de meeste tagsheeft met een grote voorsprong op object obj8, dat het tweede hoogste aantal tags bezit. Hetis wel dit object, obj8, dat de meeste gebruikers heeft. Aan de andere kant zien we dat objectobj6 de minste tags en gebruikers heeft. Er is dus zeer weinig informatie beschikbaar over ditobject. Als we de histogrammen beschouwen, dan zien we dat de meeste objecten tussen de10 en de 20 tags bezitten, maar minder dan 4 gebruikers. In Figuur 4.6 wordt alle informatievan elke gebruiker verzameld. Er zijn 35 gebruikers waarvan we telkens het aantal tags en hetaantal objecten tellen. We zien opnieuw dat de gebruiker met de meeste tags, gebruiker 347,niet gelijk is aan een van de gebruikers met de meeste objecten, gebruiker 107 en gebruiker2008. Gebruiker 483 en gebruiker 2501 hebben beiden slechts 1 tag gegeven aan 1 object.Deze gebruikers bevatten dus de minste informatie en zijn niet sterk geınterconnecteerd in defolksonomie. Over het algemeen zien we dat de alle gebruikers zeer weinig objecten hebbengetagd. Het aantal objecten per gebruiker ligt in een range van 1 tot 3. Twee derden van degebruikers heeft slechts 1 object getagd, waarvan de meeste gebruikers 1 tot 5 tags hebbentoegekend aan dat object. Gebruiker 1923 springt er wel uit, aangezien deze maar liefst 11tags heeft toegekend aan 1 object. De meeste gebruikers hebben over het algemeen 1 tot 4tags toegekend, maar er zijn er haast evenveel die 4 tot 8 tags hebben toegekend. Tenslottebekijken we Figuur 4.7, waar alle objecten en gebruikers worden geteld per tag. Het eerste
66
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
Figuur 4.5: Bibsonomy dataset : eigenschappen van de objecten
67
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
Figuur 4.6: Bibsonomy dataset : eigenschappen van de gebruikers
68
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
Figuur 4.7: Bibsonomy dataset : eigenschappen van de tags
69
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
wat opvalt is de lange staart (Eng. long tail) . Maar liefst 53 tags werden door 1 gebruikertoegekend aan 1 object. Deze grafieken kunnen de algemeenheid en populariteit van een tagbepalen. We zeggen dat een tag algemeen is als ze in veel objecten voorkomt. We zeggen dateen tag populair is, als ze door veel verschillende gebruikers werd gebruikt. Library is eenpopulaire algemene tag. We zien dat hij in 11 objecten voorkomt, dit wil zeggen dat hij inalle objecten voorkomt, want we hadden net 11 objecten in onze folksonomie. Tegelijkertijdwerd hij ook door de meeste gebruikers gekozen, wat library een populaire tag maakt. Wezien dat de meeste algemene tags ook populair zijn in de dataset.
4.3.2.2 Resultaat van de test op de kleine dataset
De voornaamste eigenschappen van de kleine dataset werden uitvoerig besproken. De redenwaarom we een kleine deelverzameling nemen, is omdat we dan een beter zicht hebben op hoede resultaten evolueren volgens de eigenschappen van de items. Laten we nu de resultaten vanhet FASP-programma bekijken. Daarvoor passen we de evaluatiemethodologie toe die we in deset-up (zie Sectie 4.2.2) hebben besproken. Deze evaluatiemethodologie hebben we toegepastvoor elke combinatie van operatoren (zie Sectie 4.1.2.2). Wat we willen is dat minstens 1 vandeze combinaties betere similariteiten levert dan de gewone Jaccard similariteitscoefficient.Figuur 4.8 toont de resultaten van de test op de kleine dataset. Vooraleer we overgaan totde bespreking ervan, is er een klein woordje uitleg vereist bij de benamingen, de waarden ende gekleurde balken in elke kolom.
Duiding van de figuren In de eerste kolom van Figuur 4.8 staan alle programma’s be-schreven waarop het evaluatiealgoritme werd toegepast. De Jaccard similariteitscoefficientstaat daar ook tussen. De FASP-programma’s moeten er immers mee kunnen vergelekenworden. Een FASP-programma krijgt de naam van zijn drie operatoren waaruit hij is op-
Operator Javaklasse
Gemiddelde (multioperator) WSUMMinimum (multioperator) MULTIMINMaximum t-norm SMGemiddelde (binaire operator) WSUMMinimum t-norm TMProduct (binaire operator) FPRODLukasiewicz t-norm TW
Tabel 4.4: Mapping van de originele benamingen van de operatoren op de Java-klassebenamingenuit de implementatie.
70
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
gebouwd. Een naam is van de vorm op1-op2-op3. De operatornamen zijn niet dezelfde alsdeze die we hebben besproken in Sectie 4.1.2.2. Ze kregen de naam van het Java-klasse uitde implementatie. Omdat dit voor verwarring kan zorgen worden deze benamingen gemaptop hun originele benamingen in Tabel 4.4. Een andere belangrijke opmerking is dat het ge-middelde de naam WSUM krijgt. Dit is een gewogen som met gewichten 1
p , met p het aantalparameters dat werd meegegeven. Dit komt overeen met een standaard gemiddelde. Eengewogen som kan ook andere gewichten meekrijgen, maar wij hebben dit geval niet getest.
De tweede kolom toont het gemiddelde van alle MAP-scores van elk object uit de dataset.In de tweede kolom wordt de mediaan genomen van de MAP-scores van alle objecten. Dederde en vierde kolom tonen respectievelijk het maximum en het minimum van de MAP-scoresvan de objecten. De rijen zijn dalend gesorteerd volgens de gemiddelde MAP-scores.
Omdat we weinig bijkomende informatie kunnen halen uit deze tabel, hebben we in eenbijlage alle MAP-scores uitgeprint per object (zie Bijlage A). We krijgen dus 11 tabellen metde MAP-scores van telkens een object. De naam van het object staat in de linkerbovenhoekweergegeven. In een tabel wordt voor elke tag van dat object, de tag werd verwijderd uitde dataset, de similariteiten berekend en de precisiescore van de goede objecten opgeteld(zie Sectie 4.2.2). Het gemiddelde van deze scores geeft de MAP-score voor het object. Inde tabellen uit de bijlage wordt vanaf de tweede kolom deze gemiddelde precisiescores pertag uitgeschreven. De tag staat bovenaan de kolom. De meest rechtse kolom toont hetgemiddelde van al deze scores. De Jaccard similariteitscoefficient wordt telkens in het donkeroranje weergegeven, zodat ze duidelijk kan vergeleken worden met de operatorcombinaties.De roze cellen in de figuur bepalen telkens de maximale gemiddelde precisiescore per tag vanhet beschouwde object.
Interpretatie MAP-scores over alle objecten We beschouwen eerst Figuur 4.8, figuurmet de uitgemiddelde MAP-scores over alle objecten. Daar zien we eerder teleurstellenderesultaten verschijnen. De Jaccard similariteitscoefficient heeft niet alleen het beste gemid-delde van de MAP-scores, maar ook de mediaan ligt beduidend hoger dan van alle overigesimilariteitswaarden. Ook de minimale en de maximale MAP-score van de 11 objecten is hethoogst bij de Jaccard similariteitscoefficient. We kunnen zelfs zeggen dat er minstens eenobject moet zijn, waar de Jaccard similariteitscoefficient altijd de beste similariteitswaardengeeft. Een MAP-score gelijk aan 1 wil namelijk zeggen dat voor elke tag die werd verwij-derd, de goeie objecten steeds worden teruggevonden bovenaan in de gesorteerde lijst van hetbeschouwde object 11. Op basis van deze tabel kunnen we daar echter geen onmiddellijke ver-klaring voor vinden. Hiervoor dient Bijlage A. Vooraleer we over gaan tot het zoeken van eengoede verklaring voor de slechte resultaten, zoeken we in Figuur 4.8 eerst nog naar andere
11Zie Sectie 4.2.2 voor meer informatie over deze gesorteerde lijsten.
71
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
Figuur 4.8: Gemiddelde MAP-scores op een dataset met 11 objecten, 80 tags en 35 gebruikers
TOTA
AL GEM
IDDELD
TOTA
AL MED
IAAN
TOTA
AL MAX
TOTA
AL MIN
JACC
ARD
0,77
8680
309
0,78
5670
194
10,45
1488
095
WSU
M‐SM‐TW
0,59
7504
559
0,60
0024
802
0,74
8115
079
0,44
4270
833
WSU
M‐SM‐W
SUM
0,58
6970
981
0,60
0024
802
0,73
4722
222
0,42
2298
882
WSU
M‐SM‐TM
0,58
5523
899
0,60
0024
802
0,76
0267
857
0,42
2298
882
WSU
M‐TM‐SM
0,58
2993
330,59
8573
909
0,78
8591
270,32
5238
997
WSU
M‐TW‐TW
0,57
5449
007
0,60
0024
802
0,76
8745
491
0,32
2222
222
MULTIM
IN‐W
SUM‐TM
0,57
4311
238
0,60
0024
802
0,76
8745
491
0,32
2222
222
WSU
M‐TM‐W
SUM
0,57
4263
566
0,56
6666
667
0,71
9841
270,42
2298
882
MULTIM
IN‐W
SUM‐FPR
OD
0,57
3802
674
0,60
0024
802
0,76
8745
491
0,32
2222
222
WSU
M‐TM‐TW
0,57
3710
846
0,60
0024
802
0,76
8745
491
0,32
2222
222
WSU
M‐TW‐TM
0,57
3710
846
0,60
0024
802
0,76
8745
491
0,32
2222
222
WSU
M‐W
SUM‐TW
0,57
3710
846
0,60
0024
802
0,76
8745
491
0,32
2222
222
MULTIM
IN‐TM‐TM
0,57
3710
846
0,60
0024
802
0,76
8745
491
0,32
2222
222
MULTIM
IN‐TM‐TW
0,57
3710
846
0,60
0024
802
0,76
8745
491
0,32
2222
222
MULTIM
IN‐TM‐W
SUM
0,57
3710
846
0,60
0024
802
0,76
8745
491
0,32
2222
222
MULTIM
IN‐TW‐TM
0,57
3710
846
0,60
0024
802
0,76
8745
491
0,32
2222
222
MULTIM
IN‐TW‐TW
0,57
3710
846
0,60
0024
802
0,76
8745
491
0,32
2222
222
MULTIM
IN‐TW‐W
SUM
0,57
3710
846
0,60
0024
802
0,76
8745
491
0,32
2222
222
MULTIM
IN‐W
SUM‐TW
0,57
3710
846
0,60
0024
802
0,76
8745
491
0,32
2222
222
MULTIM
IN‐TM‐FPR
OD
0,57
3571
568
0,59
7482
639
0,76
8745
491
0,32
2222
222
MULTIM
IN‐TW‐SM
0,57
3110
884
0,60
0024
802
0,76
8001
443
0,32
2222
222
WSU
M‐SM‐FPR
OD
0,56
9176
432
0,58
0031
179
0,74
8115
079
0,42
2298
882
WSU
M‐TW‐W
SUM
0,56
8585
80,60
0024
802
0,72
2546
898
0,32
2222
222
WSU
M‐W
SUM‐W
SUM
0,56
7384
437
0,56
6666
667
0,71
9841
270,42
2298
882
MULTIM
IN‐SM‐TM
0,56
5099
972
0,60
0024
802
0,72
7191
558
0,42
2298
882
WSU
M‐TW‐FPR
OD
0,56
2786
874
0,57
0493
197
0,76
8745
491
0,32
2222
222
MULTIM
IN‐TW‐FPR
OD
0,56
2270
743
0,58
5258
999
0,76
8745
491
0,32
2222
222
WSU
M‐TM‐FPR
OD
0,56
1051
617
0,57
0493
197
0,76
8745
491
0,32
2222
222
MULTIM
IN‐FPR
OD‐TW
0,55
7914
490,57
0493
197
0,76
8745
491
0,32
2222
222
WSU
M‐FPR
OD‐TW
0,55
7105
056
0,57
0493
197
0,76
8745
491
0,32
2222
222
WSU
M‐W
SUM‐SM
0,55
5595
185
0,57
3611
111
0,80
7341
270,34
7222
222
WSU
M‐FPR
OD‐TM
0,55
4234
631
0,57
0493
197
0,76
8745
491
0,32
2222
222
MULTIM
IN‐TM‐SM
0,55
3875
398
0,58
4920
635
0,70
0374
278
0,30
5555
556
WSU
M‐W
SUM‐FPR
OD
0,55
3008
698
0,56
5362
812
0,76
8745
491
0,32
0872
415
MULTIM
IN‐FPR
OD‐FPR
OD
0,55
1840
151
0,57
0493
197
0,76
8745
491
0,32
2222
222
MULTIM
IN‐FPR
OD‐W
SUM
0,55
0902
302
0,57
0493
197
0,76
8745
491
0,31
4818
948
WSU
M‐FPR
OD‐FPR
OD
0,55
0788
919
0,57
0493
197
0,76
8745
491
0,31
1402
718
MULTIM
IN‐FPR
OD‐TM
0,55
0340
423
0,57
0493
197
0,76
8745
491
0,31
3436
26
WSU
M‐FPR
OD‐W
SUM
0,54
8063
784
0,56
5051
020,71
9841
270,37
7777
778
WSU
M‐W
SUM‐TM
0,54
5832
927
0,54
5229
828
0,76
3852
814
0,35
9548
611
WSU
M‐TW‐SM
0,54
3131
198
0,58
9670
139
0,71
6233
766
0,32
2222
222
MULTIM
IN‐FPR
OD‐SM
0,54
1009
841
0,57
0493
197
0,76
8001
443
0,22
7951
389
WSU
M‐TM‐TM
0,53
8692
339
0,54
8933
532
0,76
7640
693
0,32
7592
893
WSU
M‐FPR
OD‐SM
0,53
4260
691
0,56
4880
952
0,74
6924
603
0,34
7222
222
MULTIM
IN‐SM‐SM
0,52
7112
227
0,50
3649
967
0,87
0138
889
0,33
1415
344
WSU
M‐SM‐SM
0,52
4455
075
0,50
3649
967
0,87
0138
889
0,33
1415
344
MULTIM
IN‐W
SUM‐W
SUM
0,52
3611
747
0,50
7725
694
0,71
9841
270,32
2222
222
MULTIM
IN‐SM‐TW
0,51
0697
576
0,55
7936
508
0,70
1037
157
0,32
2222
222
MULTIM
IN‐SM‐W
SUM
0,50
9425
165
0,53
4064
521
0,69
0909
091
0,31
3332
231
MULTIM
IN‐SM‐FPR
OD
0,50
1711
076
0,49
5874
669
0,70
1745
130,33
5934
744
MULTIM
IN‐W
SUM‐SM
0,47
4685
793
0,45
0355
489
0,73
4722
222
0,34
4444
444
72
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
opvallende bevindingen. Zo zien we bijvoorbeeld dat er tussen de gemiddelde MAP-scorevan de Jaccardsimilariteiten en de gemiddelde MAP-score van de tweede best presterendesimilariteiten (WSUM-SM-TW) een veel groter verschil is dan tussen alle andere opeenvol-gende MAP-scores. Veel van de operatorcombinaties leveren nagenoeg of precies dezelfdeMAP-score op. Toch kunnen we niet zomaar zeggen dat bepaalde combinaties altijd dezelfdeMAP-scores zullen geven. Zoals later zal blijken is dit afhankelijk van de dataset waarvoor zeberekend worden. We zien ook dat de MAP-scores van de similariteitswaarden van sommigecombinaties heel goed kunnen presteren voor een bepaald object, maar ze uitgemiddeld overalle object zeer ondermaats presteren. Dit is het geval voor de combinaties MULTIMIN-SM-SM en WSUM-SM-SM. We zullen zien dat deze twee combinaties in vele gevallen nogal‘tegendraads’ kunnen reageren.
Interpretatie MAP-scores per object Laten we het object bekijken dat ons de meesteinformatie geeft. Dit is object obj7, het object met de meeste tags. Elk van deze tags wordtopeenvolgend uit de dataset verwijderd. Na de berekening van de MAP-scores, wordt ze weertoegevoegd. Het spreekt voor zich dat tags die slechts in een object voorkomen, nooit zullenbeschouwd worden. Een dergelijke tag kan namelijk niets zeggen over de gelijkaardigheidtussen twee objecten en kan dus bijgevolg ook geen onderscheid maken tussen goede en slechteobjecten. Wanneer we de MAP-score zouden berekenen dan zouden we 0 bekomen in allegevallen, aangezien de gesorteerde lijst van gelijkaardige objecten van het beschouwde objectenkel ‘slechte’ objecten zal bevatten. Aan de andere kant is het is ook zinloos om de MAP-score met een tag als library te gaan berekenen. In dit geval zal de gesorteerde lijst vangelijkaardige objecten van het beschouwde object enkel ‘goede’ objecten bevatten en krijgenwe in alle gevallen een MAP-score gelijk aan 1. Men kan er niet zomaar vanuit gaan dat hetobject met de meeste tags steeds het object is dat ons de meeste informatie verschaft. Dekans is groot, maar als een ander object met minder tags, maar met meer nuttige tags 12 kongevonden worden, dan zou deze ons meer verteld hebben.
We beschouwen nu de MAP-scorelijsten voor alle nuttige tags van object obj7. In eeneerste oogopslag merken we dat de similariteiten van het FASP-programma het toch niet zoslecht doen. We zien dat meer dan de helft van de operatorcombinaties in 5 van de 14 gevalleneen maximale MAP-score van 1 genereren. Toch blijkt dat Jaccard het gemiddeld beter doet.Wanneer we dan eens beter kijken naar de Jaccardrij met MAP-scores, dan zien we dat dezescores weinig variatie vertonen over de kolommen heen. Terwijl we zien dat daar waar deoperatorcombinaties een MAP-score van 1 hadden, de scores bekomen met bijvoorbeeld detag open en de tag bladwijzers zeer laag liggen. Een MAP-score van 0,3333 betekent dat
12Met een nuttige tag, wordt een tag bedoeld die bij meer dan 1 object hoort, maar die niet tot alle objecten
van de dataset behoort. Ze mag dus niet te specifiek en niet te algemeen zijn in strikte zin.
73
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
vooral de slechte objecten bovenaan de gesorteerde objectenlijst van object obj7 terecht zijngekomen.
Toch neemt Jaccard niet de bovenhand voor de MAP-scores van deze tags (open en blad-wijzers). Onderaan de lijst blinken enkele schaarse enen. Voor de tag bladwijzers krijgen weeen MAP-score van 1 voor de ‘tegendraadse’ combinaties MULTIMIN-SM-SM en WSUM-SM-SM en voor de tag open zijn er vier andere combinities die een MAP-score van 1 geven. Ditzijn WSUM-TM-TM, WSUM-WSUM-TM, WSUM-TM-WSUM en WSUM-WSUM-WSUM.We zien dat dit alle mogelijke combinaties zijn van WSUM en TM voor operator 2 en ope-rator 3, met operator 1 gelijk aan WSUM. We kunnen hieruit besluiten dat de combinatieWSUM-TM een goede combinatie vormt in dit specifieke geval, maar meer ook niet. Eenmogelijke gedachte zou zijn, dat dit een goede combinatie is voor de tag open in alle geval-len, maar we zien al snel in andere tabellen dat dit zeker het geval niet is. Bekijk hiervoorbijvoorbeeld object obj11, waar de combinatie WSUM-TM-TM (vijfde laatste combinatie)een MAP-score van 0,1429 geeft voor tag open. Bovendien is deze score verschillend van descore van de combinaties WSUM-TM-WSUM en WSUM-WSUM-WSUM (beiden hebben zeeen MAP-score van 0.25) in obj11. We kunnen dus enerzijds het verwantschap tussen decombinaties niet veralgemenen over de verschillende objecten en we kunnen ook de kwaliteitvan bepaalde combinaties veralgemenen voor een specifieke tag over de verschillende objecten.Dit wil zeggen dat net de combinatie van het object en de verwijderde tag een grote rol speelttijdens de similariteitsberekeningen.
Wanneer we nu object obj7 vergelijken met object obj5, dan zien we toch enige gelijkenissenopduiken. Voor de tags free, reference, publications en ebooks hebben veel combinaties inobject obj5 ook een MAP-score van 1. Maar opnieuw is er weinig ruimte om te veralgemenen.Beide objecten hebben bijvoorbeeld ook de tag archive gemeenschappelijk, maar die levertenkel voor object obj5 MAP-scores op die gelijk zijn aan 1. Dit gaat zo door voor alle patronendie we eventueel kunnen ontdekken.
Nog een andere voorbeeld is of bepaalde operatorcombinaties misschien complementaireMAP-scores leveren. Met complementair bedoelen we dat wanneer de ene MAP-score laagis, de andere net heel hoog is. Hier en daar zien we zo’n gevallen verschijnen, bijvoorbeeld inobject obj7 voor onze ‘tegenstrijdige’ operatorcombinaties ten opzichte van de twee combina-ties die eronder staan in de tabel. Een niet te veralgemenen verschijnsel, zo blijkt opnieuw.Een andere denkpiste die we hebben overwogen, is om te kijken of er verband is tussen deresultaten en de algemeenheid of de populariteit van de tags. De algemeenheid van een tagwordt gegeven door het aantal objecten waar het in voorkomt en de populariteit van een tagwordt gegeven door het aantal gebruikers die de tag hebben toegekend aan een object. Hetprobleem met een dataset van dergelijk kleine afmetingen is dat er niet echt een onderscheidkan gemaakt worden tussen populaire en algemene tags. We zagen reeds in de analyse van
74
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
de dataset in Sectie 4.3.2.1 dat tags met veel verschillende gebruikers ook meestal de tagszijn met veel verschillende objecten. Laten we daarom de top 15 tags uit de eerste grafiekvan Figuur 4.7 bekijken in de tabellen uit Bijlage A. Men kan de redenering maken dat hetverwijderen van een algemene tag niet de gelijkaardigheid impliceert van de objecten die dealgemene tag gemeenschappelijk hadden. Wanneer we de MAP-scores die deze tags genererenschrappen, dan wijzigt dit nagenoeg niets aan het resultaat.
We hebben ons nu vooral gefocust op patronen in de operatorcombinaties en de verwij-derde tags zonder de karakteristieken van het beschouwde object in rekening te brengen.Misschien kunnen bepaalde verschijnselen wel veralgemeend worden over objecten die gelijk-aardige eigenschappen hebben. Bijvoorbeeld, voor objecten met veel of weinig tags of voorobjecten met veel of weinig gebruikers kan er een patroon gevonden worden in de MAP-scores. Laten we nog opnieuw de objecten obj7 en obj5 beschouwen. Daarvan weten wedat er toch een paar MAP-scores sterk overeenkwamen. Misschien hebben ze dan ook de-zelfde karakteristieken. Daarvoor kijken we naar de bovenste grafieken in Figuur 4.5. Daarzien we dat de objecten ver uiteen staan in beide grafieken, wat betekent dat ze niet directdezelfde eigenschappen hebben. Als laatste poging proberen we naar de eigenschappen tekijken van de enige drie objecten waar de Jaccardsimilariteiten niet als beste optie naar voorkwamen. Dit zijn de objecten obj2, obj3 en obj6. We zien dat deze objecten vooral in deeerste helft van de grafieken liggen uit Figuur 4.5. Dit fenomeen kunnen we wel gedeeltelijkverklaren. De Jaccard similariteitscoefficient maakt immers gebruik van de verhouding van degemeenschappelijke tags en gebruikers ten opzichte van het totaal aantal verschillende tags engebruikers om de similariteit te bepalen tussen twee objecten. Wanneer we dus de similariteitvan een object met weinig tags en gebruikers willen berekenen, zal de kans klein zijn dat erveel gemeenschappelijke tags worden gevonden in het andere object. De verhouding zorgt erwel voor dat dit negatieve effect wordt geminimaliseerd. Daarom is er ook enige voorzichtig-heid vereist en mogen we niet zomaar aannemen dat Jaccard altijd slechter zal scoren voorobjecten met weinig tags en gebruikers. Bovendien kunnen we geen stelling innemen over deMAP-scores van de andere similariteitswaarden. Het zijn niet steeds dezelfde combinaties dieboven Jaccard uitkomen.
4.3.3 Algemene resultaten
De eerste test op een kleine dataset heeft ons niet veel wijzer gemaakt over de prestatie van desimilariteitswaarden die werden berekend door het FASP-programma. Het enige wat we metzekerheid kunnen zeggen is dat de Jaccardsimilariteiten alle andere similariteiten overtreftmet ruime voorsprong. We kunnen ons wel afvragen of de test representatief was. De datasetwaarop we getest hebben was duidelijk niet groot genoeg. Dit kunnen we bijvoorbeeld zien aanhet feit dat de meeste algemene tags gelijk waren aan de meerste populaire tags. Bovendien
75
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
Figuur 4.9: Gemiddelde MAP-scores op een dataset met 11 objecten, 36 tags en 5 gebruikers
TOTA
AL GEM
IDDELD
TOTA
AL MED
IAAN
TOTA
AL MAX
TOTA
AL MIN
JACC
ARD
0,79
3414
865
0,75
7664
651
10,57
6598
639
MULTIM
IN‐W
SUM‐TM
0,63
7774
223
0,63
8145
629
0,94
2176
871
0,49
9601
555
MULTIM
IN‐FPR
OD‐SM
0,63
6312
221
0,63
8145
629
0,87
8585
601
0,49
9601
555
MULTIM
IN‐TW‐SM
0,63
6187
695
0,63
8145
629
0,87
8585
601
0,49
9601
555
WSU
M‐FPR
OD‐FPR
OD
0,63
5854
001
0,63
8145
629
0,92
4319
728
0,49
9601
555
MULTIM
IN‐TM‐W
SUM
0,63
5854
001
0,63
8145
629
0,92
4319
728
0,49
9601
555
MULTIM
IN‐TW‐W
SUM
0,63
5854
001
0,63
8145
629
0,92
4319
728
0,49
9601
555
MULTIM
IN‐FPR
OD‐W
SUM
0,63
5854
001
0,63
8145
629
0,92
4319
728
0,49
9601
555
WSU
M‐FPR
OD‐TW
0,63
5854
001
0,63
8145
629
0,92
4319
728
0,49
9601
555
MULTIM
IN‐FPR
OD‐FPR
OD
0,63
5854
001
0,63
8145
629
0,92
4319
728
0,49
9601
555
MULTIM
IN‐TM‐TM
0,63
5854
001
0,63
8145
629
0,92
4319
728
0,49
9601
555
MULTIM
IN‐TM‐TW
0,63
5854
001
0,63
8145
629
0,92
4319
728
0,49
9601
555
MULTIM
IN‐TW‐TM
0,63
5854
001
0,63
8145
629
0,92
4319
728
0,49
9601
555
MULTIM
IN‐TW‐TW
0,63
5854
001
0,63
8145
629
0,92
4319
728
0,49
9601
555
MULTIM
IN‐FPR
OD‐TM
0,63
5854
001
0,63
8145
629
0,92
4319
728
0,49
9601
555
MULTIM
IN‐FPR
OD‐TW
0,63
5854
001
0,63
8145
629
0,92
4319
728
0,49
9601
555
MULTIM
IN‐W
SUM‐TW
0,63
5854
001
0,63
8145
629
0,92
4319
728
0,49
9601
555
MULTIM
IN‐W
SUM‐FPR
OD
0,63
5854
001
0,63
8145
629
0,92
4319
728
0,49
9601
555
MULTIM
IN‐TM‐FPR
OD
0,63
5854
001
0,63
8145
629
0,92
4319
728
0,49
9601
555
WSU
M‐TW‐FPR
OD
0,63
5854
001
0,63
8145
629
0,92
4319
728
0,49
9601
555
WSU
M‐TW‐TW
0,63
5854
001
0,63
8145
629
0,92
4319
728
0,49
9601
555
WSU
M‐TW‐W
SUM
0,63
5402
934
0,63
8145
629
0,94
2176
871
0,49
9941
691
WSU
M‐TM‐TW
0,63
5385
025
0,63
8145
629
0,92
4319
728
0,49
9601
555
WSU
M‐W
SUM‐TW
0,63
5150
409
0,63
8145
629
0,94
2176
871
0,49
9941
691
WSU
M‐TW‐TM
0,63
4776
259
0,63
8145
629
0,92
4319
728
0,49
9601
555
WSU
M‐FPR
OD‐W
SUM
0,63
4634
929
0,61
4556
563
0,94
0079
365
0,48
1663
832
MULTIM
IN‐W
SUM‐W
SUM
0,63
1533
457
0,63
8145
629
0,94
7732
426
0,48
0952
381
WSU
M‐TM‐W
SUM
0,63
0005
418
0,60
7457
798
0,92
2052
154
0,49
3202
948
MULTIM
IN‐TW‐FPR
OD
0,62
7251
192
0,61
4310
910,92
4319
728
0,49
9601
555
WSU
M‐TM‐FPR
OD
0,62
7211
839
0,61
8965
734
0,92
4319
728
0,49
9601
555
MULTIM
IN‐W
SUM‐SM
0,62
6899
312
0,60
8245
150,87
1641
156
0,48
6959
832
WSU
M‐FPR
OD‐TM
0,62
6580
526
0,63
8145
629
0,92
4319
728
0,48
9284
095
WSU
M‐TW‐SM
0,62
6548
255
0,61
1757
370,96
1422
902
0,42
9458
212
WSU
M‐W
SUM‐FPR
OD
0,62
6282
156
0,61
3674
729
0,92
6020
408
0,47
6699
061
MULTIM
IN‐TM‐SM
0,62
4514
666
0,61
4594
356
0,89
6442
744
0,48
7854
308
WSU
M‐W
SUM‐TM
0,62
4367
970,61
5791
131
0,90
4195
011
0,45
9072
724
WSU
M‐FPR
OD‐SM
0,62
4351
285
0,60
7312
925
0,96
1422
902
0,42
9458
212
WSU
M‐W
SUM‐W
SUM
0,61
7320
484
0,57
7993
906
0,88
9438
067
0,47
3157
596
WSU
M‐TM‐TM
0,61
6788
004
0,61
8965
734
0,90
8163
265
0,46
2140
023
WSU
M‐W
SUM‐SM
0,61
4257
111
0,59
5725
624
0,90
4761
905
0,43
9548
915
WSU
M‐TM‐SM
0,61
0265
832
0,59
3584
751
0,86
6645
408
0,44
0569
323
MULTIM
IN‐SM‐SM
0,55
8286
296
0,58
0861
442
0,85
0871
599
0,25
2743
764
WSU
M‐SM‐SM
0,55
8286
296
0,58
0861
442
0,85
0871
599
0,25
2743
764
MULTIM
IN‐SM‐FPR
OD
0,55
4415
915
0,58
0861
442
0,85
0871
599
0,25
2743
764
MULTIM
IN‐SM‐TW
0,55
4415
915
0,58
0861
442
0,85
0871
599
0,25
2743
764
MULTIM
IN‐SM‐TM
0,55
4415
915
0,58
0861
442
0,85
0871
599
0,25
2743
764
MULTIM
IN‐SM‐W
SUM
0,55
4415
915
0,58
0861
442
0,85
0871
599
0,25
2743
764
WSU
M‐SM‐TM
0,55
3809
854
0,58
0861
442
0,85
0871
599
0,25
2743
764
WSU
M‐SM‐W
SUM
0,55
3809
854
0,58
0861
442
0,85
0871
599
0,25
2743
764
WSU
M‐SM‐FPR
OD
0,55
3809
854
0,58
0861
442
0,85
0871
599
0,25
2743
764
WSU
M‐SM‐TW
0,55
3809
854
0,58
0861
442
0,85
0871
599
0,25
2743
764
76
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
Figuur 4.10: Gemiddelde MAP-scores op een dataset met 21 objecten, 53 tags en 19 gebruikers
TOTA
AL GEM
IDDELD
MED
IAAN
MAX
MIN
JACC
ARD
0,60
8648
214
0,57
3931
402
10,18
0097
68WSU
M‐SM‐TW
0,48
0475
909
0,41
0549
506
10,05
WSU
M‐SM‐W
SUM
0,46
2303
846
0,38
2032
909
10,05
WSU
M‐TM‐TM
0,45
4918
755
0,42
9584
645
0,87
7128
081
0,05
2631
579
WSU
M‐TM‐SM
0,45
0039
086
0,45
9957
752
0,90
0635
824
0,05
2631
579
WSU
M‐SM‐FPR
OD
0,44
5835
118
0,41
0549
506
0,92
4151
502
0,05
WSU
M‐FPR
OD‐FPR
OD
0,43
6514
910,40
9259
259
0,75
0,05
2631
579
MULTIM
IN‐FPR
OD‐W
SUM
0,43
6514
910,40
9259
259
0,75
0,05
2631
579
MULTIM
IN‐FPR
OD‐TW
0,43
6514
910,40
9259
259
0,75
0,05
2631
579
MULTIM
IN‐FPR
OD‐TM
0,43
6514
910,40
9259
259
0,75
0,05
2631
579
MULTIM
IN‐FPR
OD‐FPR
OD
0,43
6514
910,40
9259
259
0,75
0,05
2631
579
MULTIM
IN‐SM‐W
SUM
0,43
6384
904
0,41
0418
013
10,05
WSU
M‐TM‐W
SUM
0,43
2719
532
0,40
7175
360,86
5881
852
0,05
5555
556
WSU
M‐FPR
OD‐TW
0,41
6514
910,40
5334
204
0,75
0,05
2631
579
WSU
M‐W
SUM‐TM
0,41
6307
496
0,43
1864
317
0,87
7850
546
0,05
2631
579
WSU
M‐FPR
OD‐TM
0,41
5280
342
0,39
9487
666
0,75
0,05
2631
579
WSU
M‐SM‐TM
0,41
4031
540,28
9643
301
0,83
2783
436
0,05
WSU
M‐TM‐TW
0,41
2705
386
0,40
5334
204
0,75
0,05
2631
579
WSU
M‐TW‐ FPR
OD
0,41
2705
386
0,40
5334
204
0,75
0,05
2631
579
MULTIM
IN‐TW‐W
SUM
0,41
2705
386
0,40
5334
204
0,75
0,05
2631
579
MULTIM
IN‐TM‐W
SUM
0,41
2705
386
0,40
5334
204
0,75
0,05
2631
579
WSU
M‐TW‐TW
0,41
2705
386
0,40
5334
204
0,75
0,05
2631
579
MULTIM
IN‐TW‐FPR
OD
0,41
2705
386
0,40
5334
204
0,75
0,05
2631
579
MULTIM
IN‐TM‐FPR
OD
0,41
2705
386
0,40
5334
204
0,75
0,05
2631
579
MULTIM
IN‐W
SUM‐TW
0,41
2705
386
0,40
5334
204
0,75
0,05
2631
579
MULTIM
IN‐TW‐TM
0,41
2705
386
0,40
5334
204
0,75
0,05
2631
579
MULTIM
IN‐TM‐TW
0,41
2705
386
0,40
5334
204
0,75
0,05
2631
579
MULTIM
IN‐TM‐TM
0,41
2705
386
0,40
5334
204
0,75
0,05
2631
579
MULTIM
IN‐TW‐TW
0,41
2705
386
0,40
5334
204
0,75
0,05
2631
579
WSU
M‐TM‐FPR
OD
0,41
1514
910,40
5334
204
0,75
0,05
2631
579
WSU
M‐TW‐TM
0,41
1470
818
0,39
9487
666
0,75
0,05
2631
579
WSU
M‐SM‐SM
0,40
8203
468
0,38
2590
784
0,78
2966
370,05
2631
579
WSU
M‐W
SUM‐TW
0,40
6532
546
0,39
9487
666
0,75
0,05
2631
579
MULTIM
IN‐W
SUM‐FPR
OD
0,40
6467
569
0,39
9487
666
0,75
0,05
2631
579
MULTIM
IN‐W
SUM‐TM
0,40
5620
411
0,39
9487
666
0,75
0,05
2631
579
WSU
M‐W
SUM‐FPR
OD
0,40
5378
246
0,40
5334
204
0,75
0,05
2631
579
MULTIM
IN‐SM‐SM
0,40
4499
764
0,38
2590
784
0,78
2966
370,05
2631
579
WSU
M‐TW‐W
SUM
0,40
3667
343
0,38
9733
756
0,75
0,05
2631
579
WSU
M‐FPR
OD‐W
SUM
0,40
2448
377
0,39
2297
858
0,67
9869
011
0,05
2631
579
WSU
M‐FPR
OD‐SM
0,40
1111
215
0,33
3333
333
0,87
4533
454
0,05
2631
579
MULTIM
IN‐FPR
OD‐SM
0,39
5622
222
0,39
9487
666
0,67
9869
011
0,05
2631
579
MULTIM
IN‐TM‐SM
0,38
9818
157
0,40
6254
652
0,73
6673
745
0,05
2631
579
MULTIM
IN‐TW‐SM
0,38
8479
365
0,39
9487
666
0,67
9869
011
0,05
2631
579
MULTIM
IN‐SM‐FPR
OD
0,36
6063
330,31
2179
630,80
6911
840,05
MULTIM
IN‐SM‐TW
0,36
6063
330,31
2179
630,80
6911
840,05
WSU
M‐W
SUM‐SM
0,36
4189
504
0,33
1735
188
0,84
2717
196
0,06
6666
667
MULTIM
IN‐W
SUM‐W
SUM
0,36
4117
952
0,34
0742
623
0,67
9869
011
0,05
2631
579
WSU
M‐W
SUM‐W
SUM
0,36
1857
228
0,37
7454
681
0,67
9869
011
0,06
25WSU
M‐TW‐SM
0,36
1325
343
0,34
3354
209
0,83
9777
184
0,05
2631
579
MULTIM
IN‐SM‐TM
0,33
6491
127
0,24
6362
339
0,85
6965
639
0,05
MULTIM
IN‐W
SUM‐SM
0,31
5017
458
0,32
3728
465
0,78
7306
691
0,06
25
77
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
Figuur 4.11: Gemiddelde MAP-scores op een dataset met 31 objecten, 54 tags en 9 gebruikers
INTERM
EDIATE DATA
TOTA
AL GEM
IDDELD
TOTA
AL MED
IAAN
TOTA
AL MAX
TOTA
AL MIN
JACC
ARD
0,77
2699
717
0,79
7846
979
10,30
0698
089
MULTIM
IN‐W
SUM‐TM
0,56
3054
648
0,54
1854
351
0,96
4354
750,27
3159
27
MULTIM
IN‐W
SUM‐W
SUM
0,56
0370
484
0,54
2363
759
0,95
9908
114
0,29
1865
009
WSU
M‐W
SUM‐TW
0,56
1850
968
0,54
1936
199
0,96
4910
306
0,27
3159
27
MULTIM
IN‐W
SUM‐FPR
OD
0,56
2046
248
0,54
1936
199
0,96
4354
750,27
3159
27
WSU
M‐FPR
OD‐FPR
OD
0,56
2061
0,54
1936
199
0,96
4910
306
0,27
3159
27
WSU
M‐W
SUM‐FPR
OD
0,55
9079
061
0,53
9968
069
0,96
0639
823
0,27
3159
27
WSU
M‐TM‐FPR
OD
0,56
1899
513
0,54
1936
199
0,96
4910
306
0,27
3159
27
WSU
M‐TW‐FPR
OD
0,56
1520
476
0,54
1936
199
0,96
4910
306
0,27
3159
27
WSU
M‐TW‐TW
0,56
1520
476
0,54
1936
199
0,96
4910
306
0,27
3159
27
MULTIM
IN‐W
SUM‐TW
0,56
1520
476
0,54
1936
199
0,96
4910
306
0,27
3159
27
MULTIM
IN‐TW‐FPR
OD
0,56
1520
476
0,54
1936
199
0,96
4910
306
0,27
3159
27
MULTIM
IN‐FPR
OD‐FPR
OD
0,56
1520
476
0,54
1936
199
0,96
4910
306
0,27
3159
27
MULTIM
IN‐FPR
OD‐TM
0,56
1520
476
0,54
1936
199
0,96
4910
306
0,27
3159
27
MULTIM
IN‐FPR
OD‐TW
0,56
1520
476
0,54
1936
199
0,96
4910
306
0,27
3159
27
MULTIM
IN‐TM‐FPR
OD
0,56
1520
476
0,54
1936
199
0,96
4910
306
0,27
3159
27
MULTIM
IN‐TM‐TM
0,56
1520
476
0,54
1936
199
0,96
4910
306
0,27
3159
27
MULTIM
IN‐TM‐TW
0,56
1520
476
0,54
1936
199
0,96
4910
306
0,27
3159
27
MULTIM
IN‐TW‐TM
0,56
1520
476
0,54
1936
199
0,96
4910
306
0,27
3159
27
MULTIM
IN‐TW‐TW
0,56
1520
476
0,54
1936
199
0,96
4910
306
0,27
3159
27
WSU
M‐FPR
OD‐TW
0,56
1500
710,54
1936
199
0,96
4910
306
0,27
3159
27
WSU
M‐TM‐TW
0,56
1393
935
0,54
1936
199
0,96
4910
306
0,27
3159
27
MULTIM
IN‐FPR
OD‐W
SUM
0,56
1179
334
0,54
1936
199
0,96
4910
306
0,27
3159
27MULTIM
INFPRO
DWSU
M0,56
1179
334
0,54
1936
199
0,96
4910
306
0,27
3159
27
MULTIM
IN‐TW‐W
SUM
0,56
1179
334
0,54
1936
199
0,96
4910
306
0,27
3159
27
WSU
M‐FPR
OD‐W
SUM
0,56
1693
050,54
0370
341
0,96
2926
179
0,27
3511
834
MULTIM
IN‐TM‐W
SUM
0,56
0641
699
0,54
1936
199
0,96
4910
306
0,27
3159
27
WSU
M‐TW‐TM
0,56
0501
395
0,54
1936
199
0,96
4910
306
0,27
3159
27
WSU
M‐TW‐W
SUM
0,55
9449
523
0,54
1936
199
0,96
4910
306
0,26
4825
937
WSU
M‐FPR
OD‐TM
0,56
0108
462
0,54
1936
199
0,96
4910
306
0,27
3159
27
MULTIM
IN‐FPR
OD‐SM
0,55
7833
075
0,53
2191
506
0,91
0271
858
0,28
5397
988
MULTIM
IN‐TW‐SM
055
7120
421
053
2076
564
091
1815
068
028
5196
195
MULTIM
IN‐TW‐SM
0,55
7120
421
0,53
2076
564
0,91
1815
068
0,28
5196
195
WSU
M‐W
SUM‐TM
0,55
3072
602
0,52
7725
916
0,96
4655
079
0,27
3159
27
WSU
M‐TM‐TM
0,55
4656
765
0,51
1037
283
0,96
5999
631
0,27
3159
27
WSU
M‐TM‐W
SUM
0,55
4988
803
0,54
8863
627
0,96
2320
223
0,29
4640
542
WSU
M‐TW‐SM
0,55
3450
043
0,54
6629
066
0,90
7466
115
0,24
4198
449
WSU
M‐FPR
OD‐SM
0,55
2507
007
0,54
2517
556
0,90
8615
540,22
5051
761
WSU
M‐W
SUM‐W
SUM
0,54
9591
801
0,53
0120
575
0,94
6954
80,30
6514
355
WSU
M‐W
SUM‐SM
0,55
2071
693
0,54
6015
268
0,90
5736
866
0,22
5345
127
MULTIM
INSM
TW054
3402
659
054
1936
199
093
5853
818
020
2439
181
MULTIM
IN‐SM‐TW
0,54
3402
659
0,54
1936
199
0,93
5853
818
0,20
2439
181
MULTIM
IN‐SM‐FPR
OD
0,54
3398
929
0,53
2051
899
0,93
5853
818
0,20
2000
754
MULTIM
IN‐W
SUM‐SM
0,53
6163
999
0,51
1130
674
0,88
2044
570,23
1186
92
WSU
M‐TM‐SM
0,53
2943
122
0,48
1326
669
0,88
8890
259
0,16
0972
867
MULTIM
IN‐TM‐SM
0,53
0270
979
0,47
4631
208
0,89
8935
171
0,22
2501
59
WSU
M‐SM‐TW
0,52
6922
839
0,49
3599
520,94
4400
325
0,23
0026
642
WSU
M‐SM‐FPR
OD
0,52
6751
252
0,49
2032
779
0,94
4400
325
0,22
9974
172
WSU
M‐SM‐W
SUM
0,52
3313
632
0,49
6117
784
0,92
8192
826
0,22
9773
566
MULTIM
IN‐SM‐TM
0,52
2053
141
0,49
0342
776
0,91
3787
308
0,17
7689
569
WSU
M‐SM‐TM
0,52
1225
132
0,49
8932
654
0,89
9171
894
0,18
0910
38
MULTIM
IN‐SM‐W
SUM
0,51
4205
640,51
8762
157
0,97
1815
123
0,12
9379
095
WSU
M‐SM‐SM
0,39
3624
996
0,38
4893
829
0,72
7239
037
0,16
0754
063
MULTIM
IN‐SM‐SM
0,39
3540
821
0,38
4893
829
0,72
7239
037
0,16
0754
063
78
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
hebben we, door de dataset zo extreem te filteren, opnieuw een ‘long tail’ van tags gecreeerd.Dit is duidelijk te zien in Figuur 4.7. Ons vermoeden en onze hoop is dat de resultaten zullenverbeteren naarmate we de dataset vergroten. We kunnen echter de dataset niet tot in hetoneindige vergroten of we zullen algauw weer op het probleem stoten van de onhandelbaredataset. Een andere optie is om de dataset denser te maken door na collaboratief filterenopnieuw de ‘long tail’ te verwijderen uit de dataset. We hebben een ‘long tail’ voor de tags,en een iets kleinere maar toch ook duidelijk merkbare staart voor de gebruikers (zie grafiekenin Figuur 4.6). We kunnen dus voor zowel de tags als de gebruikers een limiet kt en ku
bepalen. De limiet kt zegt hoeveel keer een tag minstens moet voorkomen in de dataset. Delimiet ku zegt hoeveel keer een gebruiker minstens moet voorkomen in de dataset. Dit isgelijkaardig aan de p-core die we toegepast hebben in Sectie 4.2.1.
We stellen ons nu de vraag of de Jaccardsimilariteiten altijd een beter gemiddelde, eenbetere mediaan, een beter maximum en een beter minimum van de MAP-scores zullen leverendan de overige similariteitswaarden (bekomen met het FASP-programma). Als dit zo is, zalJaccard dan altijd beter scoren met een dergelijk groot verschil zoals in Figuur 4.8? We willenook weten of de MAP-scores van de similariteitswaarden van het FASP-programma altijd zodicht bijeen zullen liggen voor de verschillende operatorcombinaties. Om een antwoord opdeze vragen te vinden, hebben we de test op nog drie andere datasets uitgevoerd. We hopendat we een evolutie zullen kunnen waarnemen naarmate we de dataset vergroten en densermaken.
Figuur 4.9 geeft de resultaten van een densere dataset met hetzelfde aantal objecten. Eendergelijke dataset is bekomen door een limiet van kt = 2 te nemen voor het aantal tags. Wehebben voor de rest geen limiet voor het aantal gebruikers genomen, maar zoals blijkt uitde verhoudingen van deze dataset (zie Figuur 4.12), ligt het aantal gebruikers enorm laag.Dit komt doordat we tijdens het verwijderen van de tags, ook automatisch gebruikers moetenverwijderen, doordat hun link met de rest van folksonomie is verdwenen. Het resultaat is
Figuur 4.12: Verhouding van de items voor de CF-gefilterde dataset van 11 objecten, 63 tags en 5gebruikers
79
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
dat we dan wel een densere dataset krijgen, maar de verhouding van de tags, gebruikers enobjecten (zie Figuur 4.12) is helemaal buiten proportie en kan niet meer vergeleken wordenmet de verhouding van de oorspronkelijke dataset (zie Figuur 4.3). Wanneer we een dergelijkedataset evalueren, dan zien we ook geen wezenlijke verbeteringen (zie Figuur 4.9). Daar valtop dat operatorcombinaties met de maximumoperator (SM) als operator 2, allemaal onderaande tabel verschijnen. We vermoeden dus dat de maximumoperator voor een dense datasetmet een dergelijke verhouding geen goede keuze is. Dit zouden we uiteraard op nog meerderegelijkaardige datasets moeten uittesten vooraleer we deze veralgemening maken. Dit is echterniet waar dit onderzoek over gaat. We gaan liever verder met het zoeken naar een beteredataset voor ons probleem.
Figuur 4.13 geeft de resultaten van een dataset met 21 objecten. De dataset is opnieuwdens gemaakt door een limiet van kt = 2 te nemen. Maar de verhouding van de items (zieFiguur 4.12) is nu ietwat anders doordat we het aantal objecten hebben verhoogd. Opnieuwzijn de resultaten teleurstellend. Jaccard steekt er met kop en schouders bovenuit. We merkenwel een ander uitzonderlijk fenomeen op. Het bereik tussen de verschillende MAP-scores isenorm groot. Zo heeft Jaccard een minimum MAP-score van 0,18 en een maximum MAP-score van 1. Hetzelfde fenomeen wordt waargenomen bij de andere similariteiten. Sommigevan hen hebben zelfs ook een MAP-score van 1, maar hun minimum score ligt extreem laag.Gemiddeld scoort Jaccard net iets beter dan 50 %. Het lijkt dus alsof de similariteiten deobjecten bijna willekeurig sorteren. Dit zou kunnen te verklaren zijn door het feit dat hetpercentage van het aantal gebruikers bijna gelijk is aan het aantal objecten. Waardoor wevermoeden dat er een ‘long tail’ van gebruikers aanwezig is in deze dataset. Met anderewoorden dat elke gebruiker een verschillend object heeft getagd. De dataset blijkt dus nietdense genoeg te zijn.
Bij een laatste poging om een goede dataset te vinden proberen we het aantal objectennogmaals te verhogen tot 31 objecten. Deze keer maken we de dataset dens door zowel de
Figuur 4.13: Verhouding van de items voor de CF-gefilterde dataset van 21 objecten, 53 tags en 19gebruikers
80
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
Figuur 4.14: Verhouding van de items voor de CF-gefilterde dataset van 31 objecten, 54 tags en 9gebruikers
‘long tail’ van tags als de ‘long tail’ van objecten te verwijderen. Voor limiet kt nemen we 3en voor limiet ku nemen we 2. De bekomen dataset heeft 31 objecten, 54 tags en 9 gebruikers.In Figuur 4.14 staat hun verhouding. Deze verhouding ligt al veel meer in dezelfde lijn alsde verhouding van de oorspronkelijke dataset (zie Figuur 4.3). We vermoeden dus dat weeindelijk een representatieve dataset hebben gevonden. Figuur toont de resultaten, maardeze zijn opnieuw niet erg hoopgevend. Jaccard blijft de overhand nemen. We merken wel opdat het bereik tussen de minimum MAP-scores en maximum MAP-scores opnieuw heel grootis. Dus is er misschien wel de mogelijkheid dat de dataset nog niet representatief genoeg is.Wat ons wel nog opvalt, is dat de combinaties met de maximumoperator opnieuw onderaanbengelen. Dit sterkt ons vermoeden dat de maximumoperator in de meeste gevallen eenslechte keuze is.
4.3.4 Besluit
We kunnen blijven verder zoeken naar andere en betere datasets, maar dit zou ons te verleiden. We vermoeden dat het resultaat steeds in dezelfde lijn zal liggen. Wat kunnen we nubesluiten uit hetgeen we hebben waargenomen in de tests ?
De Jaccardsimilariteiten leveren minder extreme MAP-scores Dit is duidelijk merk-baar in de Bijlage A. Als de Jaccardsimilariteiten voor een bepaald object een hoge MAP-scoreheeft na het verwijderen van een tag, zal ze ook hoge MAP-scores leveren na verwijderingvan alle andere tags van dat object. Voor de similariteiten die we bekomen met ons FASP-programma, kan dit niet gezegd worden. Het bereik van hun MAP-scores binnen een objectis meestal zeer groot.
Speelt de karakteristiek van de verwijderde tag een rol? Opnieuw kunnen we hiervolmondig nee op antwoorden. Algemene of populaire tags, er is hiervoor geen lijn te vinden
81
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
in de MAP-scores. Dit wordt duidelijk aangetoond door Bijlage A.
Leveren bepaalde combinaties steeds dezelfde resultaten? Dit kan gezegd wordenvoor bepaalde combinaties per geteste dataset, maar we kunnen geen veralgemening makenover alle genomen tests. We zien bijvoorbeeld dat combinaties met de minimumoperator alseerste operator, vaak exact dezelfde resultaten leveren. Maar op het moment dat we eengroep willen selecteren waarvoor dit steeds waar is, dan wordt dit alweer tegengesprokenin een volgende test. We kunnen enkel spreken van operatorcombinaties die ‘gelijkaardige’resultaten leveren.
Heeft de striktheid van een operator invloed op het resultaat? In bepaalde speci-fieke gevallen kunnen er complementaire resultaten waargenomen. Vaak zien we dan ook datdeze operatorcombinaties tegengestelde operatoren bevatten, zoals bijvoorbeeld een minimumen een maximum t-norm. Dit is bijvoorbeeld merkbaar in de aparte MAP-score tabel vanobject obj7 uit Bijlage A voor de tags open en bladwijzers. Daar levert WSUM-TM-TM eenMAP-score van 1 en WSUM-SM-SM een MAP-score van 0,16 voor de tag open. Voor de tagbladwijzers levert WSUM-TM-TM dan weer een MAP-score van 0,25 , maar WSUM-SM-SMeen MAP-score van 1.
Veel goede MAP-scores voor de FASP-similariteiten, maar nooit dezelfde Dezeopmerking vult de redenering in de vorige opmerking aan. De prestatie van de operatorcom-binatie hangt af van het specifieke geval waarin we ons bevinden. Voor het ene geval is hetnet zeer goed dat er ‘strenge operatoren’ zoals het product of de Lukasiewicz t-norm wordtgenomen. Ze zorgen ervoor dat de huidige similariteitswaarden niet te veel zullen wijzigen,wat net een positief effect kan zijn. Bij minder strenge operatoren, zoals het gemiddelde of demaximum t-norm zullen de similariteitswaarden net veel wijzigen. Dit kan in het specifiekegeval opnieuw een positief of een negatief effect geven. We zouden ons beter de vraag stel-len of de immediate consequence operator, waarmee we het FASP-programma tot uitvoeringhebben gebracht, wel een goede keuze was. FASP-similariteitswaarden vertrekken namelijkinitieel vanuit de Jaccardsimilariteiten en kunnen enkel maar verhogen (zie Sectie ??) door deimmediate consequence operator. Maar hoge similariteitswaarden betekent niet direct goedesimilariteitswaarden. We willen dat er net een groot verschil is tussen de similariteitswaardenvan gelijkaardige objecten en de similariteitswaarden van totaal verschillende objecten. Deimmediate consequence geeft ons niet de kans om similariteiten te verlagen wanneer blijktdat ze helemaal niet gelijkaardig zijn.
Algemeen besluit Ons vermoeden dat het FASP-programma goede similariteiten levert,was verkeerd. We hebben nog ruimte om de resultaten eventueel de goede richting in teduwen door enerzijds andere operatoren te introduceren en anderzijds de datasets nog meer te
82
Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma
optimaliseren, zodat ze een betere verhouding hebben voor ons algoritme. Maar we vermoedendat vooral een andere oplossingsmethode dan de immediate consequence operator een beterresultaat zal geven.
83
Hoofdstuk 5
Toekomstig werk
We hebben geprobeerd om goede similariteitswaarden te bepalen aan de hand van een simpelFASP-programma. Een volgende stap in het onderzoek is om aan de hand van de similari-teitswaarden regels op te stellen die ons goede tags kunnen leveren. Deze regels vormen deregels van een standaard programma waarin wel negatie-bij-faling kan voorkomen. In Sectie5.1 wordt deze idee verder uitgewerkt. Een standaard programma kan niet worden opgelostmet enkel immediate consequence operator. Het is geen evidentie om de fuzzy answer setsvan dergelijke programma’s te bepalen. Een mogelijkheid, die in [15] werd uitgewerkt, isom FASP-programma’s om te zetten naar vervulbaarheidsproblemen in een vaaglogica. Dezelaatste kunnen in principe eenvoudig opgelost worden met heuristische zoekmethoden. InSectie 5.2 wordt een voorbeeld gegeven van zo een zoekmethode : een genetisch algoritme.
5.1 Ontwerp van een vaaglogisch programma met negatie-bij-
faling
Het lijkt een logische gedachte om de kwaliteit van een tag te bepalen door zijn slechteeigenschappen af te trekken van zijn goede eigenschappen. Geen enkele van de gekendeaanpakken (zie Hoofdstuk 3) maakt gebruik van deze idee. Er is wel een aanzet gegeven tothet uitwerken van een dergelijke werkwijze in Sectie 3.3.5. Daar worden goede eigenschappenvan een tag ‘beloond’ en slechte eigenschappen ‘bestraft’. Deze idee kan vertaald worden ineen FASP-regel waarbij een goede eigenschap een goede tagkwaliteit impliceert en waarbij denegatie van een slechte eigenschap een goede tagkwaliteit impliceert (zie Voorbeeld 7).
Voorbeeld 7 Kwaliteit van tag t met goede eigenschap g en slechte eigenschap s. Allebeschouwde atomen zijn gradueel. Dit wil zeggen dat de tag t tot een bepaalde graad degoede eigenschap g bezit en tot een bepaalde graad de slechte eigenschap s bezit. De regel
84
Hoofdstuk 5. Toekomstig werk
kan vertaald worden naar de volgende FASP-regel met een negatie-bij-faling :
Q(t)← TW (g, not s)
Een andere probleem waar negatie-bij-faling ook bij komt kijken, is het probleem van re-dundante tags. Wanneer we tags willen aanbevelen aan de gebruiker van ons tag-aanbevelings-systeem, dan is deze niet geınteresseerd in tags die een synoniem zijn van de tags die hij alheeft. De gebruiker wil liever tags die een meerwaarde bieden aan de huidige tags (zie Voor-beeld 8).
Voorbeeld 8 We beschouwen een systeem waar artikels gedeeld worden onder gebruikers.Een gebruiker wil bijvoorbeeld het artikel Besturingssystemen taggen met vier tags. Mo-gelijke verwante begrippen zijn : (computers, software, hardware, computer, besturingssys-teem). Onze intuıtie vertelt ons dat de tags software, computer, computers en besturingssys-teem de grootste meerwaarde bieden voor het beschouwde artikel. Hardware kan zeker ookrelevant zijn, maar vertoont in mindere mate verwantschap met het artikel. Maar computersen computer zijn haast identieke begrippen. Het een is een meervoud van het andere. En wewillen uiteraard dat eerder de tag hardware wordt gekozen, dan de twee haast identieke tags.Dit probleem kan eenvoudig opgelost worden in FASP door volgende regels toe te voegen :
Q(besturingssysteem)←0.9
Q(software)←0.8
Q(hardware)←0.6
Q(computer)←nietQ( computers)
Q(computers)←nietQ( computer)
Aangezien we niet de volledige werking van het FASP paradigma hebben uitgelegd, besprekenwe hier de intuıtieve oplossing van dit FASP-programma. We zien dat een goede kwaliteitvan de tag computer zal leiden tot een slechte kwaliteit van de tag computers en omgekeerd.Wanneer er een interpretatie gezocht wordt voor de kwaliteit van de tags, zal dus in deoplossing ofwel computers ofwel computer goed scoren. Waardoor de kwaliteit van een vande twee tags onder de kwaliteit zakt van de tag hardware.
85
Hoofdstuk 5. Toekomstig werk
5.2 Implementatie van een genetisch algoritme voor het ver-
vulbaarheidsprobleem in vaaglogica’s
FASP heeft een eenvoudige taal om een probleem te modelleren. Het vinden van een answerset van een FASP-programma is daarentegen niet eenvoudig. In [16] wordt een alternatiefaangeboden voor het berekenen van answer sets van een FASP-programma. Het FASP-programma wordt eerst vertaald naar een vaag vervulbaarheidsprobleem waarna het opgelostkan worden met heuristische oplossingsmethoden. Voor deze thesis werd een dergelijke oplos-singsmethode geımplementeerd op basis van een genetisch algoritme. Dit wordt in deze sectiekort toegelicht.
Voorbeeld 9 (Voorbeeld van een vervulbaarheidsprobleem in vaaglogica’s)
vw1 : 1.0 ≤ v7 ∨SW ((v7 ⇒IW v1) ∨SW (v4 ∧TW v8)) ≤ 1.0
vw2 : 0.7 ≤ v6 ≤ 0.8
vw3 : 0.3 ≤ (¬v7 ⇒IW (v6 ∧TW v3)) ∧TW ((v5 ⇒IW v1) ∧TW v2) ≤ 0.4
De variabelen vi, 1 ≤ i ≤ 8 kunnen waarden aannemen tussen 0 en 1. Elke ongelijkheidvw1, vw2, vw3 is een voorwaarde (Eng. constraint) die moet vervuld worden. De operatorenin de ongelijkheden zijn de Lukasiewicz t-norm (∧TW ), de Lukasiewicz t-conorm (∨SW ),de Lukasiewicz implicatie (⇒IW ) en de standaardnegatie (¬) (zie 2.1 in Hoofdstuk 2). Wedefinieren ri als de regel uit de romp van de voorwaarde vwi. Verder definieren onderi enboveni als respectievelijk de onder- en bovengrens van de voorwaarde vwi.
5.2.1 Wat is een genetisch algoritme
Genetische algoritmen zijn probabilistische optimalisatiemethoden die gebaseerd zijn op deevolutieprincipes. We kunnen gemakkelijk inzien dat het fuzzy SAT-probleem een optimalisa-tieprobleem is. We willen namenlijk een interpretatie (zie Definitie 2 in Hoofdstuk 2) voor deacht variabelen vinden die zo optimaal mogelijk voldoen aan alle drie de voorwaarden. In Ta-bel 5.1 staat een lijst van de verschillende expressies die in de genetica voorkomen samen methun variant uit de genetisch algoritmen [3]. Het basisalgoritme wordt gegeven in Algoritme2 [3].
5.2.2 Initialisatie genetisch algoritme
Nu moeten we de verschillende parameters en functies van het basisalgoritme gaan bepalenvoor het optimaliseren van het fuzzy SAT-probleem. Hiervoor beschouwen we het fuzzySAT
86
Hoofdstuk 5. Toekomstig werk
Genetica genetische algoritmen
chromosoom stringgen positie in de stringallele waarde op een bepaalde positie van de stringgenotype de manier waarop een string gecodeerd isfenotype de effectieve invulling van de stringfitness functiewaarde van de doelfunctie
Tabel 5.1: Lijst van expressies uit de genetica samen met hun variant uit de genetisch algoritmen.
Algorithm 2 Basisalgoritmewhile Stopvoorwaarde niet vervuld do
Selecteer individuen voor reproductieMaak kinderen door de gekozen individuen te combineren via cross-overMuteer enkele individuenBepaal de nieuwe generatie
end while
probleem uit Voorbeeld 9. De invulling van de verschillende functies wordt zeer kort toegelicht.Bij gekende methoden wordt verwezen naar de literatuur. Het uiteindelijke algoritme kanteruggevonden worden in Algoritme 3.
5.2.2.1 Definities
� Individu : rij van de variabelen uit het fuzzy SAT probleem.genotype : bv.: {v1, v2, v3, v4, v5, v6, v7, v8}fenotype : bv.:{0.22, 0.11, 0.12, 0.90, 0.57, 0, 0.88, 1}
� Fitnessfunctie : Voor elke voorwaarde uit Voorbeeld 9, berekenen we hoeveel verschiler nog nodig is om aan de voorwaarde te voldoen. De som van al deze verschillen is defitness functie. Zo krijgen voor de fitnessfunctie van het individu met een interpretatieI
fitness(I) =i=1∑3
min(I(ri)− onderi, boveni − I(ri))
Hoe lager de fitness hoe dichter het individu bij een correcte oplossing ligt. We willendus het verschil minimaliseren om zo de interpretatie van de regel te maximaliseren.
5.2.2.2 Methoden
� Selectie : Tournament selectie met p = 23 [4]
Uit de populatie worden er k random individuen gekozen. In dit algoritme is k een
87
Hoofdstuk 5. Toekomstig werk
parameter die ook random wordt gekozen tot 1 en de grootte van de populatie. Uit deverzameling van k elementen wordt het beste element gekozen met kans p, anders wordthet tweede beste element gekozen met kans p, anders wordt het volgende beste elementgekozen met kans p, enzovoort. Dit wil zeggen dat het beste element uit de verzamelinggekozen wordt met kans p, het tweede beste element wordt gekozen met kans p(1− p),het derde beste met kans p(1− p)2, enzovoort.
� Crossover : Flat crossover [5]ouder = {v1, v2, v3, v4, v5, v6, v7, v8}ouder′ = {v′1, v′2, v′3, v′4, v′5, v′6, v′7, v′8}kind1 = {0.95 ∗ v1 + 0.05 ∗ v′1, 0.95 ∗ v2 + 0.05 ∗ v′2, ..., 0.95 ∗ v8 + 0.05 ∗ v′8}kind2 = {0.95 ∗ v′1 + 0.05 ∗ v1, 0.95 ∗ v′2 + 0.05 ∗ v2, ..., 0.95 ∗ v′8 + 0.05 ∗ v8}De reden om λ = 0.95 te nemen is omdat kleine verschillen in het genoom van een goedindividu meer kans hebben om uiteindelijk tot een optimaal individu te leiden. Eenandere methode was om met een temperatuursfunctie te werken (zoals bij simulatedannealing) zodat λ van 0.5 tot 0.99 evolueert naarmate het aantal generaties toeneemt.Dit gaf echter geen noemenswaardige verbetering.
� Verbeterfunctie : Geen standaard GA-methodeEr wordt een random voorwaarde gekozen. De veranderlijken die voorkomen in de voor-waarde worden een voor een overlopen en aangepast, zodat aan de voorwaarde voldaanwordt. Deze stap wordt herhaald voor elke voorwaarde, waarbij ook de voorwaarden ineen willekeurige volgorde doorlopen worden. Deze methode is cruciaal om het algoritmeecht performant te maken.
� Mutatie : Niet-uniforme mutation [6]Er wordt random een variabele gekozen. Van de waarde van de gekozen variabelewordt een fractie afgetrokken of opgeteld (random). Die fractie is afhankelijk van eentemperatuursfunctie die ervoor zorgt dat de mutatie minder groot is naarmate het aantalgeneraties toeneemt.
� Nieuwe generatie bepalen : Elitisme [2]Alle gegenereerde kinderen worden meegenomen naar de volgende generatie, behalvehet slechtste kind. Dat wordt vervangen door de beste ouder uit de vorige generatie.
5.2.3 Resultaten
Dit algoritme werd vergeleken met twee andere methoden : een lokale zoekmethode en eenmethode dat gebaseerd is op een methode die gebruik maakt van een constraint satisfac-tiontechnieken. Figuur 5.1 toont de grafiek voor simpele voorwaarden met enkel ∨SW -en¬-operatoren. Simpele voorwaarden zijn voorwaarden met een soepele onder- en bovengrens
88
Hoofdstuk 5. Toekomstig werk
Algorithm 3 Genetisch algoritmeInput : Lijst met voorwaardenOutput : Een afbeelding van variabelen naar waarden die tot een optimale oplossing leiden
while Maximum aantal generaties niet bereikt dowhile Grootte populatie niet bereikt doparent1 = selecteer ouderparent2 = selecteer ouderif met kans 0.9 thenchild1 = crossover van parent1 en parent2
child2 = crossover van parent2 en parent1
verbeter child1
verbeter child2
elsechild1 = parent1
child2 = parent2
end ifif childi is optimaal then
geef childi terugend ifmuteer child1 met kans 0.3muteer child2 met kans 0.3Voeg child1 en child2 toe aan de volgende generatie
end whileVervang het slechtse kind met de beste ouder uit de vorige generatie
end while
89
Hoofdstuk 5. Toekomstig werk
waar snel aan voldaan is. Er werd geen stopvoorwaarde gedefinieerd. Zoals men kan zienpresteert het genetisch algoritme het best. Maar ze heeft ook de meeste tijd nodig. Dus eenmeer realistische test is om elke zoekmethode een tijdsbeperking op te leggen. In Figuur 5.2werd er per zoekopdracht een beperking van 10 seconden opgelegd. Dit geeft geen verschil.In Figuur 5.3 werd er een tijdsbeperking van 1 seconde opgelegd. Hier presteert de methodegebaseerd op een constraint satisfactiontechniek het best.
90
Hoofdstuk 5. Toekomstig werk
Figuur 5.1: Simpele voorwaarden zonder tijdslimiet
Figuur 5.2: Simpele voorwaarden met een tijdslimiet van 10 seconden
Figuur 5.3: Simpele voorwaarden met een tijdslimiet van 1 seconde
91
Hoofdstuk 6
Conclusie
De opzet van dit onderzoek was het ontwerpen van een vaaglogisch answer-set-programma(fuzzy answer set programming of kortweg FASP) voor een tag-aanbevelingssysteem. Eentag-aanbevelingssysteem is een typisch voorbeeld van een Web 2.0 toepassing. Het hartvan tag-aanbevelingssystemen is een folksonomie, een drieledige structuur van informatiegeextraheerd uit een onderliggende sociaal netwerk. De drieledige structuur komt voort uitde handeling in het sociaal netwerk waarbij een gebruiker een object annoteert met een tag.Een tag-aanbevelingssysteem staat de gebruiker bij in zijn keuze om tags toe te kennen aaneen object, gebruikmakend van de folksonomie. Een dergelijk systeem bepaalt dus welke tagseen hoge kwaliteit hebben.
Er werd een diepe studie gemaakt over de bestaande tag-aanbevelingssystemen. Eenoverzicht werd gegeven van de naıeve ongecompliceerde methoden (populairste tags) totde meer geavanceerde technieken (collaboratief filteren, folkrank). Een eigen collaboratief-filteringsalgoritme werd geımplementeerd binnen het kader van deze thesis. Er werd ook eeneerder afwijkende aanpak besproken: een gretig algoritme waarin de kwaliteit van een tagwordt bepaald aan de hand van zijn eigenschappen. Goede eigenschappen worden beloonden slechte eigenschappen worden bestraft.
FASP combineert answer set programming (ASP) [21] met begrippen uit de vaaglogica.De voornaamste concepten werden uitgediept in Hoofdstuk 2. Eerst hebben we simpeleprogramma’s bekeken. Dit zijn programma’s waarin geen atomen kunnen voorkomen diedalend zijn in een programmaregel. Een dergelijk atoom wordt een negatie-bij-faling genoemd.Answer sets, bepaalde minimale modellen, van een programma kunnen gevonden worden metde immediate consequence operator. Daarna werd er dieper ingegaan op het vinden van answersets voor standaardprogramma’s, programma’s waarin wel negatie-bij-faling kan voorkomen.
Het nut van FASP voor een tag-aanbevelingssysteem zit hem in de voorstelling van de vageconcepten van een tag-aanbevelingssysteem. De kwaliteit van een tag is een vaag begrip dat
92
Hoofdstuk 6. Conclusie
kan worden voorgesteld door een vaag atoom in een vaaglogisch programma. Deze kwaliteitwordt bepaald door eigenschappen van de folksonomie die op hun beurt ook vaag kunnenzijn. Een voorbeeld van zo een eigenschap is de gelijkaardigheid tussen twee objecten, tweegebruikers of twee tags. Dit wordt gedefinieerd als een similariteit. FASP is uitermate geschiktvoor het redeneren met vage begrippen en kan hier dus een echte meerwaarde bieden.
De kern van vele tag-aanbevelingssystemen is de similariteitsmaat. Het is dan ook eeninteressant idee om te onderzoeken of de similariteitswaarden die verkregen worden met eenbestaande techniek (in dit geval de Jaccard similariteitscoefficient) geoptimaliseerd kunnenworden aan de hand van een vaaglogisch programma. Dit onderzoek was de kern van dezethesis. Voor de bepaling van goede similariteiten werden er vaaglogische regels opgesteld diegeınspireerd zijn op de idee van PageRank. We veronderstellen dat objecten goed op elkaarlijken als ze getagd zijn met tags die goed op elkaar lijken en door gebruikers die goed op elkaarlijken. Een analoge redenering wordt gemaakt voor de gelijkaardigheid van twee gebruikersen twee tags. Er moest een keuze gemaakt worden voor een invulling van de verschillendevaaglogische operatoren uit de regel. De combinaties van de meest voor de hand liggendeoperatoren werden geevalueerd. Het vaaglogisch programma die we op deze manier hebbenbekomen, is een simpel programma. Een oplossing kan gevonden worden met de immediateconsequence operator.
De similariteitswaarden werden voor de Bibsonomy dataset geevalueerd. Deze datasetwerd eerst initieel gefilterd via collaboratief filteren om zo tot een handelbare hoeveelheidinformatie te komen. Bovendien kon het collaboratief filteringsalgoritme zo worden ingestelddat er kleinere datasets werden geextraheerd met verschillende karakteristieken. Meerbe-paald kon er een onderscheid gemaakt worden tussen een dense en een sparse dataset. Voorde evaluatie van de bekomen similariteitswaarden hebben we een beroep gedaan op de tech-nieken uit het informatie-bevragingsdomein. Voor elke operatorcombinatie uit het vaaglo-gisch programma werd een gemiddelde MAP-score (mean average precision) berekend. DezeMAP-scores werden dan vergeleken met de MAP-score die bekomen wordt via de Jaccardsimilariteitscoefficient.
Het vaaglogisch programma leverde geen betere similariteitswaarden op dan deze van deJaccard similariteitscoefficient. We hebben de evaluatie gedaan op vier verschillende datasets,elk met hun eigen karakteristieken. Voor elke dataset kwamen we tot dezelfde vaststelling.Op basis van deze evaluatie kan gesteld worden dat het geen goed idee is om similariteitenop een dergelijke manier te optimaliseren.
Het echte potentieel van FASP zit hem echter in de bepaling van de kwaliteit van tags.De bepaling van de kwaliteit van een tag kan vertaald worden in een FASP-regel waarineen goede eigenschap en de negatie van een slechte eigenschap een goede tagkwaliteit impli-ceert. Dergelijke regels resulteren in een standaard FASP-programma, een programma waarin
93
Hoofdstuk 6. Conclusie
negatie-bij-faling voorkomt. FASP biedt ook een mogelijkheid om het probleem van redun-dante tags (bv. computer en computers) in tag-aanbevelingssystemen aan te pakken. Dezeideeen zijn een aanzet voor verder onderzoek.
De schoonheid van FASP zit hem in de eenvoudige taal om een probleem te modelleren.Het vinden van een answer set van een standaard FASP-programma is echter geen eenvoudigekwestie. In [16] wordt een alternatief aangeboden voor het berekenen van answer sets vaneen FASP-programma. Het FASP-programma wordt eerst vertaald naar een vaag vervul-baarheidsprobleem waarna het opgelost kan worden met heuristische oplossingsmethoden. Indeze thesis werd een dergelijke heuristiek geımplementeerd op basis van een genetisch algo-ritme. De resultaten van deze implementatie waren zeer hoopgevend. Het genetisch algoritmescoorde beduidend beter dan een eenvoudige lokale zoekmethode.
Dit onderzoek heeft ons geleerd dat de bestaande similariteitsmetrieken voor weinig ver-betering vatbaar zijn. Er werd een mooi overzicht gegeven van de mogelijkheden die FASPbiedt voor tag-aanbevelingssystemen. Het heeft vele deuren geopend naar verder onderzoek.De toekomst ligt bij het ontwerp van een standaard FASP-programma dat de kwaliteit vantags kan bepalen. Deze thesis heeft ook een oplossingsmethode klaargestoomd om de ans-wer sets van een dergelijk programma te bepalen: de vertaling van het FASP-programmanaar een vaag vervulbaarheidsprobleem samen met het genetisch algoritme dat hier werdgeımplementeerd.
94
Bijlage A
MAP-scores per object van de test
op een kleine dataset van 11
objecten.
95
obj7 bibliography open bookmarks free wiki ebooks books literature reference publications book v0805 archive internet
JACCARD 0,855257937 0,88015873 0,759722222 0,759722222 0,72718254 0,759722222 0,988888889 0,863151927 0,759722222 0,759722222 0,863151927 0,759722222 0,906795635 0,786961451 0,816420169
MULTIMIN‐FPROD‐FPROD 0,294444444 0,333333333 0,5 1 0,208333333 1 0,920684524 0,523809524 1 1 0,698412698 1 0,85515873 0,625 0,711369756
MULTIMIN‐FPROD‐TM 0,294444444 0,333333333 0,5 1 0,208333333 1 0,920684524 0,523809524 1 1 0,698412698 1 0,85515873 0,625 0,711369756
MULTIMIN‐FPROD‐TW 0,294444444 0,333333333 0,5 1 0,208333333 1 0,920684524 0,523809524 1 1 0,698412698 1 0,85515873 0,625 0,711369756
MULTIMIN‐FPROD‐WSUM 0,294444444 0,333333333 0,5 1 0,208333333 1 0,920684524 0,523809524 1 1 0,698412698 1 0,85515873 0,625 0,711369756
MULTIMIN‐TM‐FPROD 0,294444444 0,333333333 0,5 1 0,208333333 1 0,920684524 0,523809524 1 1 0,698412698 1 0,85515873 0,625 0,711369756
MULTIMIN‐TM‐TM 0,294444444 0,333333333 0,5 1 0,208333333 1 0,920684524 0,523809524 1 1 0,698412698 1 0,85515873 0,625 0,711369756
MULTIMIN‐TM‐TW 0,294444444 0,333333333 0,5 1 0,208333333 1 0,920684524 0,523809524 1 1 0,698412698 1 0,85515873 0,625 0,711369756
MULTIMIN‐TM‐WSUM 0,294444444 0,333333333 0,5 1 0,208333333 1 0,920684524 0,523809524 1 1 0,698412698 1 0,85515873 0,625 0,711369756
MULTIMIN‐TW‐FPROD 0,294444444 0,333333333 0,5 1 0,208333333 1 0,920684524 0,523809524 1 1 0,698412698 1 0,85515873 0,625 0,711369756
MULTIMIN‐TW‐TM 0,294444444 0,333333333 0,5 1 0,208333333 1 0,920684524 0,523809524 1 1 0,698412698 1 0,85515873 0,625 0,711369756
MULTIMIN‐TW‐TW 0,294444444 0,333333333 0,5 1 0,208333333 1 0,920684524 0,523809524 1 1 0,698412698 1 0,85515873 0,625 0,711369756
MULTIMIN‐TW‐WSUM 0,294444444 0,333333333 0,5 1 0,208333333 1 0,920684524 0,523809524 1 1 0,698412698 1 0,85515873 0,625 0,711369756
MULTIMIN‐WSUM‐FPROD 0,294444444 0,333333333 0,5 1 0,208333333 1 0,920684524 0,523809524 1 1 0,698412698 1 0,85515873 0,625 0,711369756
MULTIMIN‐WSUM‐TM 0,294444444 0,333333333 0,5 1 0,208333333 1 0,920684524 0,523809524 1 1 0,698412698 1 0,85515873 0,625 0,711369756
MULTIMIN‐WSUM‐TW 0,294444444 0,333333333 0,5 1 0,208333333 1 0,920684524 0,523809524 1 1 0,698412698 1 0,85515873 0,625 0,711369756
MULTIMIN‐WSUM‐WSUM 0,294444444 0,333333333 0,5 1 0,208333333 1 0,920684524 0,523809524 1 1 0,698412698 1 0,85515873 0,625 0,711369756
WSUM‐FPROD‐FPROD 0,294444444 0,333333333 0,5 1 0,208333333 1 0,920684524 0,523809524 1 1 0,698412698 1 0,85515873 0,625 0,711369756
WSUM‐FPROD‐TM 0,294444444 0,333333333 0,5 1 0,208333333 1 0,920684524 0,523809524 1 1 0,698412698 1 0,85515873 0,625 0,711369756
WSUM‐FPROD‐TW 0,294444444 0,333333333 0,5 1 0,208333333 1 0,920684524 0,523809524 1 1 0,698412698 1 0,85515873 0,625 0,711369756
WSUM‐TM‐FPROD 0,294444444 0,333333333 0,5 1 0,208333333 1 0,920684524 0,523809524 1 1 0,698412698 1 0,85515873 0,625 0,711369756
WSUM‐TM‐TW 0,294444444 0,333333333 0,5 1 0,208333333 1 0,920684524 0,523809524 1 1 0,698412698 1 0,85515873 0,625 0,711369756
WSUM‐TW‐FPROD 0,294444444 0,333333333 0,5 1 0,208333333 1 0,920684524 0,523809524 1 1 0,698412698 1 0,85515873 0,625 0,711369756
WSUM‐TW‐TM 0,294444444 0,333333333 0,5 1 0,208333333 1 0,920684524 0,523809524 1 1 0,698412698 1 0,85515873 0,625 0,711369756
WSUM‐TW‐TW 0,294444444 0,333333333 0,5 1 0,208333333 1 0,920684524 0,523809524 1 1 0,698412698 1 0,85515873 0,625 0,711369756
WSUM‐TW‐WSUM 0,294444444 0,333333333 0,5 1 0,208333333 1 0,920684524 0,523809524 1 1 0,698412698 1 0,85515873 0,625 0,711369756
WSUM‐WSUM‐FPROD 0,294444444 0,333333333 0,5 1 0,208333333 1 0,920684524 0,523809524 1 1 0,698412698 1 0,85515873 0,625 0,711369756
WSUM‐WSUM‐TW 0,294444444 0,333333333 0,5 1 0,208333333 1 0,920684524 0,523809524 1 1 0,698412698 1 0,85515873 0,625 0,711369756
MULTIMIN‐FPROD‐SM 0,285185185 0,333333333 0,5 1 0,194444444 1 0,931795635 0,496527778 1 1 0,698412698 1 0,826388889 0,611111111 0,70551422
MULTIMIN‐TW‐SM 0,285185185 0,333333333 0,5 1 0,194444444 1 0,931795635 0,496527778 1 1 0,698412698 1 0,826388889 0,611111111 0,70551422
MULTIMIN‐TM‐SM 0,316666667 0,333333333 0,333333333 1 0,226190476 1 0,920684524 0,468253968 1 1 0,476190476 1 0,85515873 0,611111111 0,681494473
WSUM‐TM‐SM 0,373015873 0,333333333 0,25 0,833333333 0,208333333 0,833333333 0,947222222 0,509920635 0,833333333 1 0,80952381 1 0,883333333 0,666666667 0,677239229
WSUM‐TW‐SM 0,294444444 0,25 0,25 1 0,173611111 1 0,931795635 0,485416667 1 1 0,680555556 1 0,799404762 0,6 0,676087727
WSUM‐FPROD‐WSUM 0,294444444 0,333333333 0,333333333 0,833333333 0,208333333 0,833333333 0,941517857 0,523809524 0,833333333 1 0,698412698 1 0,863492063 0,642857143 0,667109552
WSUM‐FPROD‐SM 0,294444444 0,333333333 0,333333333 0,833333333 0,173611111 0,833333333 0,920684524 0,485416667 0,833333333 1 0,680555556 1 0,799404762 0,625 0,653270266
MULTIMIN‐SM‐TM 0,344444444 0,166666667 0,333333333 0,833333333 0,225 0,833333333 0,810615079 0,384920635 0,833333333 1 0,347222222 1 0,766269841 0,625 0,607390873
MULTIMIN‐SM‐FPROD 0,278571429 0,2 0,333333333 0,833333333 0,173611111 0,833333333 0,78234127 0,366666667 0,833333333 1 0,411111111 1 0,653703704 0,6 0,592809902
WSUM‐SM‐TM 0,388888889 0,333333333 0,2 0,7 0,242857143 0,7 0,797222222 0,41547619 0,7 1 0,476190476 1 0,719047619 0,611111111 0,591723356
WSUM‐SM‐FPROD 0,388888889 0,25 0,2 0,7 0,266666667 0,7 0,797222222 0,394642857 0,7 1 0,420634921 1 0,691269841 0,611111111 0,580031179
WSUM‐SM‐TW 0,388888889 0,25 0,2 0,7 0,266666667 0,7 0,797222222 0,394642857 0,7 1 0,420634921 1 0,691269841 0,611111111 0,580031179
WSUM‐SM‐WSUM 0,331349206 0,25 0,2 0,7 0,196428571 0,7 0,810615079 0,394642857 0,7 1 0,476190476 1 0,691269841 0,611111111 0,575829082
MULTIMIN‐SM‐WSUM 0,305555556 0,2 0,25 0,75 0,155555556 0,75 0,810615079 0,380753968 0,75 1 0,341666667 1 0,660515873 0,6 0,568190193
MULTIMIN‐SM‐TW 0,257407407 0,2 0,25 0,75 0,1625 0,75 0,78234127 0,345833333 0,75 1 0,411111111 1 0,625925926 0,6 0,563222789
WSUM‐WSUM‐SM 0,361111111 0,5 0,2 0,583333333 0,173611111 0,583333333 0,941517857 0,485416667 0,583333333 0,5 0,777777778 0,5 0,825925926 0,45 0,533240032
WSUM‐TM‐TM 0,53968254 1 0,25 0,416666667 0,194444444 0,416666667 0,880257937 0,579861111 0,416666667 0,333333333 0,698412698 0,333333333 0,729166667 0,277777778 0,50473356
WSUM‐WSUM‐TM 0,555555556 1 0,25 0,416666667 0,182539683 0,416666667 0,880257937 0,579861111 0,416666667 0,333333333 0,680555556 0,333333333 0,713293651 0,277777778 0,50260771
MULTIMIN‐SM‐SM 0,238888889 0,166666667 1 0,642857143 0,291666667 0,642857143 0,986111111 0,538194444 0,642857143 0,142857143 0,365079365 0,142857143 0,841269841 0,392857143 0,502501417
WSUM‐SM‐SM 0,238888889 0,166666667 1 0,642857143 0,291666667 0,642857143 0,986111111 0,538194444 0,642857143 0,142857143 0,365079365 0,142857143 0,841269841 0,392857143 0,502501417
WSUM‐TM‐WSUM 0,555555556 1 0,2 0,366666667 0,182539683 0,366666667 0,915972222 0,554861111 0,366666667 0,333333333 0,680555556 0,333333333 0,751388889 0,366666667 0,498157596
WSUM‐WSUM‐WSUM 0,555555556 1 0,166666667 0,291666667 0,182539683 0,291666667 0,895138889 0,538194444 0,291666667 0,25 0,625 0,25 0,729166667 0,416666667 0,463137755
MULTIMIN‐WSUM‐SM 0,294444444 0,333333333 0,5 0,392857143 0,208333333 0,392857143 0,929365079 0,509920635 0,392857143 0,142857143 0,411111111 0,142857143 0,73452381 0,242857143 0,402012472
obj6 books
MULTIMIN‐SM‐SM 0,870138889 0,870138889
WSUM‐SM‐SM 0,870138889 0,870138889
WSUM‐WSUM‐SM 0,80734127 0,80734127
WSUM‐TM‐SM 0,78859127 0,78859127
JACCARD 0,785670194 0,785670194
WSUM‐SM‐TM 0,760267857 0,760267857
WSUM‐SM‐FPROD 0,748115079 0,748115079
WSUM‐SM‐TW 0,748115079 0,748115079
WSUM‐FPROD‐SM 0,746924603 0,746924603
MULTIMIN‐WSUM‐SM 0,734722222 0,734722222
WSUM‐SM‐WSUM 0,734722222 0,734722222
MULTIMIN‐WSUM‐WSUM 0,71984127 0,71984127
WSUM‐FPROD‐WSUM 0,71984127 0,71984127
WSUM‐TM‐WSUM 0,71984127 0,71984127
WSUM‐TW‐WSUM 0,71984127 0,71984127
WSUM‐WSUM‐WSUM 0,71984127 0,71984127
WSUM‐TW‐SM 0,703174603 0,703174603
MULTIMIN‐FPROD‐FPROD 0,642757937 0,642757937
MULTIMIN‐FPROD‐SM 0,642757937 0,642757937
MULTIMIN‐FPROD‐TM 0,642757937 0,642757937
MULTIMIN‐FPROD‐TW 0,642757937 0,642757937
MULTIMIN‐FPROD‐WSUM 0,642757937 0,642757937
MULTIMIN‐SM‐FPROD 0,642757937 0,642757937
MULTIMIN‐SM‐TM 0,642757937 0,642757937
MULTIMIN‐SM‐TW 0,642757937 0,642757937
MULTIMIN‐SM‐WSUM 0,642757937 0,642757937
MULTIMIN‐TM‐FPROD 0,642757937 0,642757937
MULTIMIN‐TM‐SM 0,642757937 0,642757937
MULTIMIN‐TM‐TM 0,642757937 0,642757937
MULTIMIN‐TM‐TW 0,642757937 0,642757937
MULTIMIN‐TM‐WSUM 0,642757937 0,642757937
MULTIMIN‐TW‐FPROD 0,642757937 0,642757937
MULTIMIN‐TW‐SM 0,642757937 0,642757937
MULTIMIN‐TW‐TM 0,642757937 0,642757937
MULTIMIN‐TW‐TW 0,642757937 0,642757937
MULTIMIN‐TW‐WSUM 0,642757937 0,642757937
MULTIMIN‐WSUM‐FPROD 0,642757937 0,642757937
MULTIMIN‐WSUM‐TM 0,642757937 0,642757937
MULTIMIN‐WSUM‐TW 0,642757937 0,642757937
WSUM‐FPROD‐FPROD 0,642757937 0,642757937
WSUM‐FPROD‐TM 0,642757937 0,642757937
WSUM‐FPROD‐TW 0,642757937 0,642757937
WSUM‐TM‐FPROD 0,642757937 0,642757937
WSUM‐TM‐TM 0,642757937 0,642757937
WSUM‐TM‐TW 0,642757937 0,642757937
WSUM‐TW‐FPROD 0,642757937 0,642757937
WSUM‐TW‐TM 0,642757937 0,642757937
WSUM‐TW‐TW 0,642757937 0,642757937
WSUM‐WSUM‐FPROD 0,642757937 0,642757937
WSUM‐WSUM‐TM 0,642757937 0,642757937
WSUM‐WSUM‐TW 0,642757937 0,642757937
obj10 books literatur digitallibrary archive bücher internet
JACCARD 1 1 1 1 0,878262787 0,878262787 0,959420929
WSUM‐TM‐SM 0,833878968 0,7 0,611111111 0,635714286 0,142857143 0,194444444 0,519667659
WSUM‐TM‐WSUM 0,833878968 0,625 0,642857143 0,671626984 0,125 0,182539683 0,513483796
WSUM‐WSUM‐WSUM 0,833878968 0,625 0,642857143 0,671626984 0,125 0,182539683 0,513483796
MULTIMIN‐SM‐SM 0,746924603 0,266666667 0,2 0,67718254 0,166666667 0,642857143 0,450049603
WSUM‐SM‐SM 0,746924603 0,266666667 0,2 0,67718254 0,166666667 0,642857143 0,450049603
WSUM‐WSUM‐SM 0,771378968 0,416666667 0,611111111 0,560515873 0,125 0,196428571 0,446850198
WSUM‐SM‐WSUM 0,760267857 0,416666667 0,267857143 0,621825397 0,333333333 0,266666667 0,444436177
WSUM‐SM‐FPROD 0,760267857 0,416666667 0,267857143 0,620833333 0,333333333 0,266666667 0,444270833
WSUM‐SM‐TW 0,760267857 0,416666667 0,267857143 0,620833333 0,333333333 0,266666667 0,444270833
WSUM‐SM‐TM 0,760267857 0,416666667 0,267857143 0,607936508 0,333333333 0,266666667 0,442121362
MULTIMIN‐SM‐TM 0,748115079 0,45 0,366666667 0,688293651 0,166666667 0,226190476 0,440988757
MULTIMIN‐TM‐SM 0,771378968 0,5 0,236111111 0,58015873 0,2 0,208333333 0,415997024
WSUM‐FPROD‐WSUM 0,771378968 0,291666667 0,30952381 0,588293651 0,125 0,182539683 0,37806713
MULTIMIN‐WSUM‐SM 0,833878968 0,30952381 0,291666667 0,516071429 0,111111111 0,173611111 0,372643849
WSUM‐FPROD‐SM 0,771378968 0,291666667 0,236111111 0,560515873 0,125 0,196428571 0,363516865
MULTIMIN‐FPROD‐FPROD 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
MULTIMIN‐FPROD‐SM 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
MULTIMIN‐FPROD‐TM 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
MULTIMIN‐FPROD‐TW 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
MULTIMIN‐FPROD‐WSUM 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
MULTIMIN‐TM‐FPROD 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
MULTIMIN‐TM‐TM 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
MULTIMIN‐TM‐TW 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
MULTIMIN‐TM‐WSUM 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
MULTIMIN‐TW‐FPROD 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
MULTIMIN‐TW‐SM 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
MULTIMIN‐TW‐TM 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
MULTIMIN‐TW‐TW 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
MULTIMIN‐TW‐WSUM 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
MULTIMIN‐WSUM‐FPROD 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
MULTIMIN‐WSUM‐TM 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
MULTIMIN‐WSUM‐TW 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
MULTIMIN‐WSUM‐WSUM 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
WSUM‐FPROD‐FPROD 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
WSUM‐FPROD‐TM 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
WSUM‐FPROD‐TW 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
WSUM‐TM‐FPROD 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
WSUM‐TM‐TM 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
WSUM‐TM‐TW 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
WSUM‐TW‐FPROD 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
WSUM‐TW‐TM 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
WSUM‐TW‐TW 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
WSUM‐TW‐WSUM 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
WSUM‐WSUM‐FPROD 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
WSUM‐WSUM‐TM 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
WSUM‐WSUM‐TW 0,771378968 0,25 0,267857143 0,560515873 0,125 0,182539683 0,359548611
WSUM‐TW‐SM 0,771378968 0,266666667 0,225 0,516071429 0,125 0,182539683 0,347776124
MULTIMIN‐SM‐FPROD 0,734722222 0,236111111 0,25 0,521164021 0,111111111 0,1625 0,335934744
MULTIMIN‐SM‐TW 0,734722222 0,236111111 0,25 0,521164021 0,111111111 0,1625 0,335934744
MULTIMIN‐SM‐WSUM 0,66359127 0,173611111 0,1625 0,46957672 0,142857143 0,267857143 0,313332231
obj8 books openaccess bücher digital bibliothek langde literatur lexikon
JACCARD 0,97654321 0,875545635 0,771378968 0,644104308 0,864434524 0,644104308 1 0,644104308 0,802526908
WSUM‐WSUM‐SM 0,908531746 1 0,25 0,125 0,766666667 0,5 0,833333333 0,5 0,610441468
MULTIMIN‐SM‐SM 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
MULTIMIN‐SM‐TM 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
MULTIMIN‐SM‐TW 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
MULTIMIN‐SM‐WSUM 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
MULTIMIN‐TM‐SM 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
MULTIMIN‐TM‐TM 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
MULTIMIN‐TM‐TW 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
MULTIMIN‐TM‐WSUM 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
MULTIMIN‐TW‐FPROD 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
MULTIMIN‐TW‐SM 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
MULTIMIN‐TW‐TM 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
MULTIMIN‐TW‐TW 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
MULTIMIN‐TW‐WSUM 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
MULTIMIN‐WSUM‐FPROD 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
MULTIMIN‐WSUM‐SM 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
MULTIMIN‐WSUM‐TM 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
MULTIMIN‐WSUM‐TW 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
MULTIMIN‐WSUM‐WSUM 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
WSUM‐SM‐TM 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
WSUM‐SM‐TW 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
WSUM‐SM‐WSUM 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
WSUM‐TM‐TM 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
WSUM‐TM‐TW 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
WSUM‐TM‐WSUM 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
WSUM‐TW‐SM 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
WSUM‐TW‐TM 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
WSUM‐TW‐TW 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
WSUM‐TW‐WSUM 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
WSUM‐WSUM‐TM 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
WSUM‐WSUM‐TW 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
WSUM‐WSUM‐WSUM 0,908531746 1 0,25 0,125 0,766666667 0,5 0,75 0,5 0,600024802
WSUM‐TM‐SM 0,855257937 1 0,5 0,111111111 0,655555556 0,333333333 1 0,333333333 0,598573909
MULTIMIN‐TM‐FPROD 0,915972222 1 0,333333333 0,125 0,488888889 1 0,583333333 0,333333333 0,597482639
WSUM‐SM‐SM 0,855257937 1 0,5 0,111111111 0,6 0,25 1 0,25 0,570796131
WSUM‐TM‐FPROD 0,915972222 0,5 0,2 0,125 0,791666667 0,5 0,5 0,5 0,504079861
WSUM‐WSUM‐FPROD 0,929365079 0,333333333 0,2 0,111111111 0,698412698 0,5 0,583333333 0,5 0,481944444
WSUM‐TW‐FPROD 0,947222222 0,333333333 0,166666667 0,125 0,766666667 0,5 0,5 0,5 0,479861111
MULTIMIN‐FPROD‐FPROD 0,797222222 0,111111111 1 0,166666667 0,317460317 0,333333333 0,611111111 0,333333333 0,458779762
WSUM‐FPROD‐FPROD 0,797222222 0,111111111 1 0,166666667 0,317460317 0,333333333 0,611111111 0,333333333 0,458779762
WSUM‐SM‐FPROD 0,947222222 0,333333333 0,25 0,1 0,513888889 0,333333333 0,583333333 0,333333333 0,424305556
WSUM‐FPROD‐TM 0,838888889 0,25 0,166666667 0,125 0,588888889 0,5 0,416666667 0,5 0,423263889
WSUM‐FPROD‐TW 0,838888889 0,25 0,166666667 0,111111111 0,638888889 0,5 0,333333333 0,5 0,417361111
WSUM‐FPROD‐WSUM 0,838888889 0,25 0,166666667 0,111111111 0,638888889 0,5 0,333333333 0,5 0,417361111
MULTIMIN‐FPROD‐TW 0,824007937 0,5 0,166666667 0,111111111 0,488888889 0,333333333 0,416666667 0,333333333 0,396750992
MULTIMIN‐SM‐FPROD 0,870138889 0,25 0,25 0,125 0,388888889 0,333333333 0,416666667 0,333333333 0,370920139
WSUM‐FPROD‐SM 0,855257937 0,333333333 0,142857143 0,125 0,638888889 0,25 0,30952381 0,25 0,363107639
MULTIMIN‐FPROD‐WSUM 0,852281746 0,333333333 0,142857143 0,125 0,355555556 0,2 0,30952381 0,2 0,314818948
MULTIMIN‐FPROD‐TM 0,760267857 0,125 0,25 0,333333333 0,302777778 0,25 0,236111111 0,25 0,31343626
MULTIMIN‐FPROD‐SM 0,734722222 0,166666667 0,1 0,166666667 0,25 0,111111111 0,183333333 0,111111111 0,227951389
obj11 books openaccess literature digitallibrary bibliography online bibliothek open literatur book archive
JACCARD 1 1 1 1 1 1 1 1 1 1 1 1
WSUM‐SM‐TW 0,929365079 1 0,608333333 0,325 0,322222222 0,111111111 0,555555556 0,5 0,75 0,305555556 0,682936508 0,553643579
MULTIMIN‐FPROD‐WSUM 0,915972222 0,5 0,44047619 0,236111111 0,333333333 0,125 0,533333333 0,333333333 0,361111111 0,444444444 0,799603175 0,45661075
MULTIMIN‐FPROD‐TM 0,915972222 0,333333333 0,482142857 0,236111111 0,388888889 0,125 0,466666667 0,5 0,277777778 0,444444444 0,799603175 0,451812771
MULTIMIN‐FPROD‐TW 0,915972222 0,333333333 0,482142857 0,236111111 0,388888889 0,125 0,466666667 0,5 0,277777778 0,444444444 0,799603175 0,451812771
WSUM‐WSUM‐TM 0,71984127 0,5 0,582142857 0,1625 0,587301587 0,25 0,777777778 0,142857143 0,375 0,317460317 0,486243386 0,445556758
MULTIMIN‐TW‐FPROD 0,71984127 0,5 0,582142857 0,1625 0,587301587 0,25 0,777777778 0,142857143 0,375 0,317460317 0,486243386 0,445556758
WSUM‐TW‐TW 0,920684524 0,333333333 0,492857143 0,226190476 0,361904762 0,111111111 0,553571429 0,166666667 0,666666667 0,373015873 0,649603175 0,441418651
MULTIMIN‐FPROD‐SM 0,895138889 0,333333333 0,482142857 0,236111111 0,373015873 0,125 0,442857143 0,5 0,277777778 0,444444444 0,744047619 0,441260823
MULTIMIN‐WSUM‐FPROD 0,906795635 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,423308983
MULTIMIN‐TM‐FPROD 0,906795635 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,423308983
MULTIMIN‐SM‐TM 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
MULTIMIN‐SM‐TW 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
MULTIMIN‐SM‐FPROD 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
WSUM‐SM‐TM 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
WSUM‐SM‐FPROD 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
MULTIMIN‐SM‐SM 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
MULTIMIN‐WSUM‐TM 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
MULTIMIN‐WSUM‐TW 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
MULTIMIN‐TM‐SM 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
MULTIMIN‐TM‐WSUM 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
MULTIMIN‐TM‐TM 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
MULTIMIN‐TM‐TW 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
MULTIMIN‐TW‐SM 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
MULTIMIN‐TW‐WSUM 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
MULTIMIN‐TW‐TM 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
MULTIMIN‐TW‐TW 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
WSUM‐SM‐SM 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
WSUM‐WSUM‐TW 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
WSUM‐TM‐TW 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
WSUM‐TW‐TM 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
WSUM‐TW‐FPROD 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
WSUM‐FPROD‐TW 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
WSUM‐SM‐WSUM 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
WSUM‐TM‐WSUM 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
MULTIMIN‐WSUM‐SM 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
MULTIMIN‐WSUM‐WSUM 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
WSUM‐TW‐WSUM 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
WSUM‐WSUM‐WSUM 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
WSUM‐TW‐SM 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
WSUM‐WSUM‐SM 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
MULTIMIN‐SM‐WSUM 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
WSUM‐FPROD‐WSUM 0,895684524 0,5 0,5 0,333333333 0,278571429 0,125 0,420634921 0,25 0,416666667 0,28968254 0,635714286 0,422298882
WSUM‐FPROD‐TM 0,78859127 0,2 0,5 0,173611111 0,369444444 0,5 0,275793651 0,166666667 0,211111111 0,320634921 0,72718254 0,384821429
WSUM‐TM‐FPROD 0,929365079 0,2 0,426587302 0,392857143 0,240740741 0,142857143 0,250793651 0,2 0,416666667 0,319444444 0,649603175 0,378992304
WSUM‐FPROD‐SM 0,864434524 0,142857143 0,44047619 0,208333333 0,361904762 0,1 0,306349206 0,142857143 0,375 0,35 0,532738095 0,347722763
WSUM‐TM‐TM 0,864434524 0,142857143 0,419444444 0,2 0,277777778 0,2 0,242063492 0,166666667 0,171428571 0,302777778 0,616071429 0,327592893
WSUM‐TM‐SM 0,920684524 0,142857143 0,398809524 0,208333333 0,294444444 0,1 0,278571429 0,142857143 0,291666667 0,294444444 0,504960317 0,325238997
MULTIMIN‐FPROD‐FPROD 0,920684524 0,142857143 0,398809524 0,183333333 0,294444444 0,1 0,278571429 0,142857143 0,291666667 0,294444444 0,504960317 0,32296627
WSUM‐WSUM‐FPROD 0,880257937 0,25 0,35 0,277777778 0,22962963 0,1 0,240740741 0,142857143 0,236111111 0,22962963 0,592592593 0,320872415
WSUM‐FPROD‐FPROD 0,880257937 0,25 0,329166667 0,194444444 0,22962963 0,1 0,240740741 0,142857143 0,236111111 0,22962963 0,592592593 0,311402718
obj1 books literature reference online bookmarks free archive ebooks
JACCARD 0,78234127 0,56875 0,833333333 0,25 1 0,833333333 0,729166667 0,833333333 0,728782242
MULTIMIN‐FPROD‐FPROD 0,78234127 0,56875 0,833333333 0,25 1 0,833333333 0,729166667 0,833333333 0,728782242
MULTIMIN‐FPROD‐SM 0,78234127 0,56875 0,833333333 0,25 1 0,833333333 0,729166667 0,833333333 0,728782242
MULTIMIN‐FPROD‐TM 0,78234127 0,56875 0,833333333 0,25 1 0,833333333 0,729166667 0,833333333 0,728782242
MULTIMIN‐FPROD‐TW 0,78234127 0,56875 0,833333333 0,25 1 0,833333333 0,729166667 0,833333333 0,728782242
MULTIMIN‐FPROD‐WSUM 0,78234127 0,56875 0,833333333 0,25 1 0,833333333 0,729166667 0,833333333 0,728782242
MULTIMIN‐TM‐FPROD 0,78234127 0,56875 0,833333333 0,25 1 0,833333333 0,729166667 0,833333333 0,728782242
MULTIMIN‐TM‐TM 0,78234127 0,56875 0,833333333 0,25 1 0,833333333 0,729166667 0,833333333 0,728782242
MULTIMIN‐TM‐TW 0,78234127 0,56875 0,833333333 0,25 1 0,833333333 0,729166667 0,833333333 0,728782242
MULTIMIN‐TM‐WSUM 0,78234127 0,56875 0,833333333 0,25 1 0,833333333 0,729166667 0,833333333 0,728782242
MULTIMIN‐TW‐FPROD 0,78234127 0,56875 0,833333333 0,25 1 0,833333333 0,729166667 0,833333333 0,728782242
MULTIMIN‐TW‐SM 0,78234127 0,56875 0,833333333 0,25 1 0,833333333 0,729166667 0,833333333 0,728782242
MULTIMIN‐TW‐TM 0,78234127 0,56875 0,833333333 0,25 1 0,833333333 0,729166667 0,833333333 0,728782242
MULTIMIN‐TW‐TW 0,78234127 0,56875 0,833333333 0,25 1 0,833333333 0,729166667 0,833333333 0,728782242
MULTIMIN‐TW‐WSUM 0,78234127 0,56875 0,833333333 0,25 1 0,833333333 0,729166667 0,833333333 0,728782242
MULTIMIN‐WSUM‐FPROD 0,78234127 0,56875 0,833333333 0,25 1 0,833333333 0,729166667 0,833333333 0,728782242
MULTIMIN‐WSUM‐TM 0,78234127 0,56875 0,833333333 0,25 1 0,833333333 0,729166667 0,833333333 0,728782242
MULTIMIN‐WSUM‐TW 0,78234127 0,56875 0,833333333 0,25 1 0,833333333 0,729166667 0,833333333 0,728782242
WSUM‐FPROD‐FPROD 0,78234127 0,56875 0,833333333 0,25 1 0,833333333 0,729166667 0,833333333 0,728782242
WSUM‐FPROD‐TM 0,78234127 0,56875 0,833333333 0,25 1 0,833333333 0,729166667 0,833333333 0,728782242
WSUM‐FPROD‐TW 0,78234127 0,56875 0,833333333 0,25 1 0,833333333 0,729166667 0,833333333 0,728782242
WSUM‐TM‐FPROD 0,78234127 0,56875 0,833333333 0,25 1 0,833333333 0,729166667 0,833333333 0,728782242
WSUM‐TM‐TW 0,78234127 0,56875 0,833333333 0,25 1 0,833333333 0,729166667 0,833333333 0,728782242
WSUM‐TW‐FPROD 0,78234127 0,56875 0,833333333 0,25 1 0,833333333 0,729166667 0,833333333 0,728782242
WSUM‐TW‐TM 0,78234127 0,56875 0,833333333 0,25 1 0,833333333 0,729166667 0,833333333 0,728782242
WSUM‐TW‐TW 0,78234127 0,56875 0,833333333 0,25 1 0,833333333 0,729166667 0,833333333 0,728782242
WSUM‐WSUM‐FPROD 0,78234127 0,56875 0,833333333 0,25 1 0,833333333 0,729166667 0,833333333 0,728782242
WSUM‐WSUM‐TW 0,78234127 0,56875 0,833333333 0,25 1 0,833333333 0,729166667 0,833333333 0,728782242
WSUM‐TW‐WSUM 0,797222222 0,54375 0,75 0,2 1 0,75 0,676388889 0,75 0,683420139
WSUM‐TM‐SM 0,852281746 0,457142857 0,416666667 0,25 0,5 1 0,813492063 1 0,661197917
WSUM‐WSUM‐SM 0,797222222 0,554861111 0,45 0,2 0,5 1 0,660515873 1 0,645324901
WSUM‐FPROD‐SM 0,78234127 0,579861111 0,833333333 0,2 0,333333333 0,833333333 0,713293651 0,833333333 0,638603671
WSUM‐FPROD‐WSUM 0,810615079 0,429861111 0,7 0,2 0,5 0,833333333 0,688293651 0,833333333 0,624429563
WSUM‐TW‐SM 0,797222222 0,54375 0,75 0,2 0,25 0,75 0,676388889 0,75 0,589670139
WSUM‐WSUM‐WSUM 0,78234127 0,554861111 0,45 0,2 0,5 0,75 0,57718254 0,5 0,539298115
WSUM‐TM‐TM 0,71984127 0,44375 0,583333333 0,25 0,5 0,583333333 0,645833333 0,583333333 0,538678075
WSUM‐WSUM‐TM 0,71984127 0,454861111 0,583333333 0,25 0,5 0,583333333 0,634722222 0,583333333 0,538678075
MULTIMIN‐TM‐SM 0,71984127 0,5 0,583333333 0,25 0,333333333 0,583333333 0,64537037 0,583333333 0,524818122
MULTIMIN‐WSUM‐SM 0,824007937 0,454861111 0,583333333 0,2 0,333333333 0,583333333 0,604960317 0,583333333 0,520895337
MULTIMIN‐SM‐TM 0,748115079 0,433333333 0,583333333 0,2 0,333333333 0,583333333 0,620833333 0,583333333 0,510701885
MULTIMIN‐WSUM‐WSUM 0,838888889 0,429861111 0,5 0,2 0,5 0,5 0,593055556 0,5 0,507725694
MULTIMIN‐SM‐SM 0,748115079 0,41547619 0,583333333 0,2 0,333333333 0,583333333 0,582275132 0,583333333 0,503649967
WSUM‐SM‐SM 0,748115079 0,41547619 0,583333333 0,2 0,333333333 0,583333333 0,582275132 0,583333333 0,503649967
WSUM‐SM‐FPROD 0,71984127 0,401587302 0,583333333 0,2 0,333333333 0,583333333 0,620833333 0,583333333 0,503199405
WSUM‐SM‐TM 0,71984127 0,401587302 0,583333333 0,2 0,333333333 0,583333333 0,620833333 0,583333333 0,503199405
WSUM‐SM‐TW 0,71984127 0,401587302 0,583333333 0,2 0,333333333 0,583333333 0,620833333 0,583333333 0,503199405
WSUM‐SM‐WSUM 0,71984127 0,401587302 0,583333333 0,2 0,333333333 0,583333333 0,620833333 0,583333333 0,503199405
MULTIMIN‐SM‐FPROD 0,734722222 0,366666667 0,583333333 0,2 0,333333333 0,583333333 0,582275132 0,583333333 0,495874669
WSUM‐TM‐WSUM 0,748115079 0,41547619 0,416666667 0,25 0,333333333 0,5 0,696825397 0,5 0,482552083
MULTIMIN‐SM‐WSUM 0,734722222 0,4125 0,5 0,2 0,25 0,5 0,565608466 0,5 0,457853836
MULTIMIN‐SM‐TW 0,71984127 0,35625 0,5 0,2 0,25 0,5 0,593055556 0,5 0,452393353
obj3 books netbib bibliothek langde book beispiel lexikon archive wiki
WSUM‐TM‐WSUM 0,748115079 1 0,916666667 0,5 0,383333333 1 0,5 0,542592593 0,666666667 0,695263815
JACCARD 1 0,611111111 0,715277778 0,666666667 0,611111111 0,611111111 0,666666667 0,808390023 0,527777778 0,690901361
WSUM‐TM‐TM 0,771378968 1 0,916666667 0,5 0,337301587 1 0,5 0,532738095 0,642857143 0,688993607
WSUM‐TM‐SM 0,748115079 1 0,833333333 0,5 0,383333333 1 0,5 0,542592593 0,666666667 0,686004556
MULTIMIN‐TM‐SM 0,771378968 1 0,722222222 0,5 0,341666667 1 0,5 0,565277778 0,7 0,677838404
WSUM‐FPROD‐SM 0,771378968 1 0,80952381 0,5 0,320634921 1 0,5 0,521626984 0,642857143 0,674002425
WSUM‐SM‐FPROD 0,760267857 1 0,805555556 0,333333333 0,327777778 1 0,333333333 0,593055556 0,7 0,650369268
WSUM‐SM‐TW 0,760267857 1 0,805555556 0,333333333 0,327777778 1 0,333333333 0,593055556 0,7 0,650369268
WSUM‐SM‐TM 0,760267857 1 0,805555556 0,333333333 0,327777778 1 0,333333333 0,593055556 0,666666667 0,646665564
MULTIMIN‐FPROD‐FPROD 0,771378968 1 0,805555556 0,333333333 0,305555556 1 0,333333333 0,560515873 0,611111111 0,635642637
MULTIMIN‐FPROD‐SM 0,771378968 1 0,805555556 0,333333333 0,305555556 1 0,333333333 0,560515873 0,611111111 0,635642637
MULTIMIN‐FPROD‐TM 0,771378968 1 0,805555556 0,333333333 0,305555556 1 0,333333333 0,560515873 0,611111111 0,635642637
MULTIMIN‐FPROD‐TW 0,771378968 1 0,805555556 0,333333333 0,305555556 1 0,333333333 0,560515873 0,611111111 0,635642637
MULTIMIN‐FPROD‐WSUM 0,771378968 1 0,805555556 0,333333333 0,305555556 1 0,333333333 0,560515873 0,611111111 0,635642637
MULTIMIN‐TM‐FPROD 0,771378968 1 0,805555556 0,333333333 0,305555556 1 0,333333333 0,560515873 0,611111111 0,635642637
MULTIMIN‐TM‐TM 0,771378968 1 0,805555556 0,333333333 0,305555556 1 0,333333333 0,560515873 0,611111111 0,635642637
MULTIMIN‐TM‐TW 0,771378968 1 0,805555556 0,333333333 0,305555556 1 0,333333333 0,560515873 0,611111111 0,635642637
MULTIMIN‐TM‐WSUM 0,771378968 1 0,805555556 0,333333333 0,305555556 1 0,333333333 0,560515873 0,611111111 0,635642637
MULTIMIN‐TW‐FPROD 0,771378968 1 0,805555556 0,333333333 0,305555556 1 0,333333333 0,560515873 0,611111111 0,635642637
MULTIMIN‐TW‐SM 0,771378968 1 0,805555556 0,333333333 0,305555556 1 0,333333333 0,560515873 0,611111111 0,635642637
MULTIMIN‐TW‐TM 0,771378968 1 0,805555556 0,333333333 0,305555556 1 0,333333333 0,560515873 0,611111111 0,635642637
MULTIMIN‐TW‐TW 0,771378968 1 0,805555556 0,333333333 0,305555556 1 0,333333333 0,560515873 0,611111111 0,635642637
MULTIMIN‐TW‐WSUM 0,771378968 1 0,805555556 0,333333333 0,305555556 1 0,333333333 0,560515873 0,611111111 0,635642637
MULTIMIN‐WSUM‐FPROD 0,771378968 1 0,805555556 0,333333333 0,305555556 1 0,333333333 0,560515873 0,611111111 0,635642637
MULTIMIN‐WSUM‐TM 0,771378968 1 0,805555556 0,333333333 0,305555556 1 0,333333333 0,560515873 0,611111111 0,635642637
MULTIMIN‐WSUM‐TW 0,771378968 1 0,805555556 0,333333333 0,305555556 1 0,333333333 0,560515873 0,611111111 0,635642637
WSUM‐FPROD‐FPROD 0,771378968 1 0,805555556 0,333333333 0,305555556 1 0,333333333 0,560515873 0,611111111 0,635642637
WSUM‐FPROD‐TM 0,771378968 1 0,805555556 0,333333333 0,305555556 1 0,333333333 0,560515873 0,611111111 0,635642637
WSUM‐FPROD‐TW 0,771378968 1 0,805555556 0,333333333 0,305555556 1 0,333333333 0,560515873 0,611111111 0,635642637
WSUM‐TM‐FPROD 0,771378968 1 0,805555556 0,333333333 0,305555556 1 0,333333333 0,560515873 0,611111111 0,635642637
WSUM‐TM‐TW 0,771378968 1 0,805555556 0,333333333 0,305555556 1 0,333333333 0,560515873 0,611111111 0,635642637
WSUM‐TW‐FPROD 0,771378968 1 0,805555556 0,333333333 0,305555556 1 0,333333333 0,560515873 0,611111111 0,635642637
WSUM‐TW‐TM 0,771378968 1 0,805555556 0,333333333 0,305555556 1 0,333333333 0,560515873 0,611111111 0,635642637
WSUM‐TW‐TW 0,771378968 1 0,805555556 0,333333333 0,305555556 1 0,333333333 0,560515873 0,611111111 0,635642637
WSUM‐WSUM‐TW 0,771378968 1 0,805555556 0,333333333 0,305555556 1 0,333333333 0,560515873 0,611111111 0,635642637
WSUM‐SM‐WSUM 0,748115079 1 0,755555556 0,333333333 0,316666667 1 0,333333333 0,565277778 0,666666667 0,635438713
WSUM‐WSUM‐TM 0,748115079 1 0,805555556 0,333333333 0,337301587 1 0,333333333 0,51005291 0,642857143 0,634505438
WSUM‐WSUM‐FPROD 0,771378968 1 0,805555556 0,333333333 0,305555556 1 0,333333333 0,532738095 0,611111111 0,632556217
WSUM‐FPROD‐WSUM 0,771378968 1 0,722222222 0,333333333 0,320634921 1 0,333333333 0,516071429 0,642857143 0,626647928
WSUM‐WSUM‐WSUM 0,760267857 1 0,722222222 0,333333333 0,320634921 1 0,333333333 0,504960317 0,642857143 0,624178792
WSUM‐TW‐SM 0,771378968 1 0,698412698 0,333333333 0,320634921 1 0,333333333 0,50218254 0,642857143 0,622459215
WSUM‐WSUM‐SM 0,760267857 1 0,722222222 0,25 0,35952381 1 0,333333333 0,491071429 0,642857143 0,61769731
MULTIMIN‐SM‐FPROD 0,703174603 1 0,722222222 0,333333333 0,261904762 1 0,333333333 0,509259259 0,625 0,609803057
WSUM‐TW‐WSUM 0,771378968 1 0,755555556 0,25 0,288888889 1 0,25 0,543849206 0,611111111 0,607864859
MULTIMIN‐SM‐TW 0,703174603 1 0,722222222 0,333333333 0,261904762 1 0,333333333 0,509259259 0,6 0,607025279
MULTIMIN‐SM‐TM 0,684424603 1 0,666666667 0,333333333 0,240740741 1 0,333333333 0,560515873 0,642857143 0,606874633
MULTIMIN‐WSUM‐WSUM 0,771378968 1 0,7 0,25 0,288888889 1 0,25 0,516071429 0,611111111 0,5986056
MULTIMIN‐SM‐WSUM 0,66359127 1 0,53968254 0,125 0,242063492 1 0,125 0,486243386 0,625 0,534064521
MULTIMIN‐WSUM‐SM 0,833878968 0,5 0,555555556 0,25 0,303571429 0,5 0,25 0,516071429 0,375 0,453786376
MULTIMIN‐SM‐SM 0,920684524 0,111111111 0,285185185 0,333333333 0,250793651 0,111111111 0,333333333 0,549404762 0,182539683 0,341944077
WSUM‐SM‐SM 0,920684524 0,111111111 0,285185185 0,333333333 0,250793651 0,111111111 0,333333333 0,549404762 0,182539683 0,341944077
obj9 bibliography
JACCARD 0,906040564 0,906040564
MULTIMIN‐SM‐TM 0,566666667 0,566666667
WSUM‐TM‐WSUM 0,566666667 0,566666667
WSUM‐WSUM‐WSUM 0,566666667 0,566666667
WSUM‐SM‐WSUM 0,555555556 0,555555556
MULTIMIN‐SM‐SM 0,53968254 0,53968254
WSUM‐SM‐SM 0,53968254 0,53968254
WSUM‐SM‐FPROD 0,5 0,5
WSUM‐SM‐TM 0,5 0,5
WSUM‐SM‐TW 0,5 0,5
WSUM‐TM‐SM 0,386904762 0,386904762
WSUM‐FPROD‐WSUM 0,377777778 0,377777778
WSUM‐TM‐TM 0,377777778 0,377777778
WSUM‐WSUM‐TM 0,377777778 0,377777778
MULTIMIN‐SM‐WSUM 0,369444444 0,369444444
WSUM‐FPROD‐SM 0,347222222 0,347222222
WSUM‐WSUM‐SM 0,347222222 0,347222222
MULTIMIN‐WSUM‐SM 0,344444444 0,344444444
MULTIMIN‐SM‐FPROD 0,341666667 0,341666667
MULTIMIN‐FPROD‐FPROD 0,322222222 0,322222222
MULTIMIN‐FPROD‐SM 0,322222222 0,322222222
MULTIMIN‐FPROD‐TM 0,322222222 0,322222222
MULTIMIN‐FPROD‐TW 0,322222222 0,322222222
MULTIMIN‐FPROD‐WSUM 0,322222222 0,322222222
MULTIMIN‐SM‐TW 0,322222222 0,322222222
MULTIMIN‐TM‐FPROD 0,322222222 0,322222222
MULTIMIN‐TM‐TM 0,322222222 0,322222222
MULTIMIN‐TM‐TW 0,322222222 0,322222222
MULTIMIN‐TM‐WSUM 0,322222222 0,322222222
MULTIMIN‐TW‐FPROD 0,322222222 0,322222222
MULTIMIN‐TW‐SM 0,322222222 0,322222222
MULTIMIN‐TW‐TM 0,322222222 0,322222222
MULTIMIN‐TW‐TW 0,322222222 0,322222222
MULTIMIN‐TW‐WSUM 0,322222222 0,322222222
MULTIMIN‐WSUM‐FPROD 0,322222222 0,322222222
MULTIMIN‐WSUM‐TM 0,322222222 0,322222222
MULTIMIN‐WSUM‐TW 0,322222222 0,322222222
MULTIMIN‐WSUM‐WSUM 0,322222222 0,322222222
WSUM‐FPROD‐FPROD 0,322222222 0,322222222
WSUM‐FPROD‐TM 0,322222222 0,322222222
WSUM‐FPROD‐TW 0,322222222 0,322222222
WSUM‐TM‐FPROD 0,322222222 0,322222222
WSUM‐TM‐TW 0,322222222 0,322222222
WSUM‐TW‐FPROD 0,322222222 0,322222222
WSUM‐TW‐SM 0,322222222 0,322222222
WSUM‐TW‐TM 0,322222222 0,322222222
WSUM‐TW‐TW 0,322222222 0,322222222
WSUM‐TW‐WSUM 0,322222222 0,322222222
WSUM‐WSUM‐FPROD 0,322222222 0,322222222
WSUM‐WSUM‐TW 0,322222222 0,322222222
MULTIMIN‐TM‐SM 0,305555556 0,305555556
obj5 books biblioteca reference tools free publications book archive v0805 ebooks internet
JACCARD 0,988888889 0,482142857 0,808333333 0,475 0,808333333 0,808333333 0,813492063 0,808333333 0,808333333 0,808333333 0,897222222 0,773340548
MULTIMIN‐FPROD‐FPROD 0,959375 0,142857143 1 0,1 1 1 0,587301587 1 1 1 0,666666667 0,768745491
MULTIMIN‐FPROD‐TM 0,959375 0,142857143 1 0,1 1 1 0,587301587 1 1 1 0,666666667 0,768745491
MULTIMIN‐FPROD‐TW 0,959375 0,142857143 1 0,1 1 1 0,587301587 1 1 1 0,666666667 0,768745491
MULTIMIN‐FPROD‐WSUM 0,959375 0,142857143 1 0,1 1 1 0,587301587 1 1 1 0,666666667 0,768745491
MULTIMIN‐TM‐FPROD 0,959375 0,142857143 1 0,1 1 1 0,587301587 1 1 1 0,666666667 0,768745491
MULTIMIN‐TM‐TM 0,959375 0,142857143 1 0,1 1 1 0,587301587 1 1 1 0,666666667 0,768745491
MULTIMIN‐TM‐TW 0,959375 0,142857143 1 0,1 1 1 0,587301587 1 1 1 0,666666667 0,768745491
MULTIMIN‐TM‐WSUM 0,959375 0,142857143 1 0,1 1 1 0,587301587 1 1 1 0,666666667 0,768745491
MULTIMIN‐TW‐FPROD 0,959375 0,142857143 1 0,1 1 1 0,587301587 1 1 1 0,666666667 0,768745491
MULTIMIN‐TW‐TM 0,959375 0,142857143 1 0,1 1 1 0,587301587 1 1 1 0,666666667 0,768745491
MULTIMIN‐TW‐TW 0,959375 0,142857143 1 0,1 1 1 0,587301587 1 1 1 0,666666667 0,768745491
MULTIMIN‐TW‐WSUM 0,959375 0,142857143 1 0,1 1 1 0,587301587 1 1 1 0,666666667 0,768745491
MULTIMIN‐WSUM‐FPROD 0,959375 0,142857143 1 0,1 1 1 0,587301587 1 1 1 0,666666667 0,768745491
MULTIMIN‐WSUM‐TM 0,959375 0,142857143 1 0,1 1 1 0,587301587 1 1 1 0,666666667 0,768745491
MULTIMIN‐WSUM‐TW 0,959375 0,142857143 1 0,1 1 1 0,587301587 1 1 1 0,666666667 0,768745491
WSUM‐FPROD‐FPROD 0,959375 0,142857143 1 0,1 1 1 0,587301587 1 1 1 0,666666667 0,768745491
WSUM‐FPROD‐TM 0,959375 0,142857143 1 0,1 1 1 0,587301587 1 1 1 0,666666667 0,768745491
WSUM‐FPROD‐TW 0,959375 0,142857143 1 0,1 1 1 0,587301587 1 1 1 0,666666667 0,768745491
WSUM‐TM‐FPROD 0,959375 0,142857143 1 0,1 1 1 0,587301587 1 1 1 0,666666667 0,768745491
WSUM‐TM‐TW 0,959375 0,142857143 1 0,1 1 1 0,587301587 1 1 1 0,666666667 0,768745491
WSUM‐TW‐FPROD 0,959375 0,142857143 1 0,1 1 1 0,587301587 1 1 1 0,666666667 0,768745491
WSUM‐TW‐TM 0,959375 0,142857143 1 0,1 1 1 0,587301587 1 1 1 0,666666667 0,768745491
WSUM‐TW‐TW 0,959375 0,142857143 1 0,1 1 1 0,587301587 1 1 1 0,666666667 0,768745491
WSUM‐WSUM‐FPROD 0,959375 0,142857143 1 0,1 1 1 0,587301587 1 1 1 0,666666667 0,768745491
WSUM‐WSUM‐TW 0,959375 0,142857143 1 0,1 1 1 0,587301587 1 1 1 0,666666667 0,768745491
MULTIMIN‐FPROD‐SM 0,975 0,142857143 1 0,1 1 1 0,587301587 1 1 1 0,642857143 0,768001443
MULTIMIN‐TW‐SM 0,975 0,142857143 1 0,1 1 1 0,587301587 1 1 1 0,642857143 0,768001443
WSUM‐TM‐TM 0,947222222 0,142857143 1 0,1 1 1 0,587301587 1 1 1 0,666666667 0,767640693
WSUM‐WSUM‐TM 0,947222222 0,125 1 0,1 1 1 0,587301587 1 1 1 0,642857143 0,763852814
WSUM‐FPROD‐SM 0,975 0,125 1 0,111111111 1 1 0,569444444 1 1 0,75 0,625 0,741414141
WSUM‐SM‐TW 0,810615079 0,166666667 0,833333333 0,125 0,833333333 1 0,805555556 1 1 0,833333333 0,611111111 0,72899531
MULTIMIN‐SM‐TM 0,810615079 0,142857143 0,833333333 0,125 0,833333333 1 0,80952381 1 1 0,833333333 0,611111111 0,727191558
WSUM‐SM‐FPROD 0,810615079 0,166666667 0,833333333 0,125 0,833333333 1 0,755555556 1 1 0,833333333 0,611111111 0,724449856
WSUM‐SM‐TM 0,810615079 0,166666667 0,833333333 0,125 0,833333333 1 0,755555556 1 1 0,833333333 0,611111111 0,724449856
WSUM‐SM‐WSUM 0,810615079 0,166666667 0,833333333 0,125 0,833333333 1 0,755555556 1 1 0,833333333 0,611111111 0,724449856
WSUM‐TW‐WSUM 0,975 0,142857143 0,833333333 0,1 0,833333333 1 0,587301587 1 1 0,833333333 0,642857143 0,722546898
WSUM‐TW‐SM 0,975 0,125 0,833333333 0,1 0,833333333 1 0,553571429 1 1 0,833333333 0,625 0,716233766
WSUM‐FPROD‐WSUM 0,975 0,142857143 0,75 0,1 0,75 1 0,587301587 1 1 0,75 0,666666667 0,701984127
MULTIMIN‐SM‐FPROD 0,822767857 0,142857143 0,833333333 0,1 0,833333333 1 0,553571429 1 1 0,833333333 0,6 0,70174513
MULTIMIN‐SM‐TW 0,810615079 0,111111111 0,833333333 0,125 0,833333333 1 0,553571429 1 1 0,833333333 0,611111111 0,701037157
MULTIMIN‐TM‐SM 0,875545635 0,125 0,75 0,2 0,75 1 0,553571429 1 1 0,75 0,7 0,700374278
WSUM‐TM‐SM 0,929365079 0,1 0,75 0,1 0,75 1 0,577777778 1 1 0,75 0,7 0,696103896
MULTIMIN‐SM‐SM 0,929365079 0,2 0,611111111 0,166666667 0,611111111 1 0,916666667 1 1 0,611111111 0,6 0,695093795
WSUM‐SM‐SM 0,929365079 0,2 0,611111111 0,166666667 0,611111111 1 0,916666667 1 1 0,611111111 0,6 0,695093795
MULTIMIN‐SM‐WSUM 0,797222222 0,166666667 0,833333333 0,111111111 0,833333333 1 0,425 1 1 0,833333333 0,6 0,690909091
WSUM‐TM‐WSUM 0,906795635 0,111111111 0,642857143 0,1 0,642857143 1 0,666666667 1 1 0,642857143 0,833333333 0,68604347
WSUM‐WSUM‐SM 0,975 0,1 0,7 0,1 0,7 1 0,566666667 1 1 0,7 0,7 0,685606061
WSUM‐WSUM‐WSUM 0,931795635 0,111111111 0,642857143 0,1 0,642857143 1 0,611111111 1 1 0,642857143 0,75 0,675689935
MULTIMIN‐WSUM‐WSUM 0,975 0,142857143 0,583333333 0,1 0,583333333 0,5 0,420634921 0,5 0,5 0,583333333 0,416666667 0,482287157
MULTIMIN‐WSUM‐SM 0,959375 0,142857143 0,45 0,125 0,45 0,2 0,383333333 0,2 0,2 0,366666667 0,325 0,345657468
obj4 books biblioteca literature digitallibrary digital archive
JACCARD 1 0,419444444 0,58 0,727777778 0,350694444 0,827437642 0,650892385
WSUM‐SM‐WSUM 0,855257937 1 0,468253968 0,375 0,333333333 0,784722222 0,636094577
WSUM‐SM‐FPROD 0,855257937 1 0,509920635 0,375 0,25 0,826388889 0,636094577
WSUM‐SM‐TW 0,855257937 1 0,509920635 0,375 0,25 0,826388889 0,636094577
WSUM‐SM‐TM 0,855257937 0,5 0,593253968 0,625 0,333333333 0,826388889 0,622205688
WSUM‐TM‐WSUM 0,941517857 0,2 0,533333333 0,7 0,2 0,740277778 0,552521495
MULTIMIN‐FPROD‐FPROD 0,931795635 0,166666667 0,527083333 0,75 0,111111111 0,806944444 0,548933532
MULTIMIN‐FPROD‐SM 0,931795635 0,166666667 0,527083333 0,75 0,111111111 0,806944444 0,548933532
MULTIMIN‐FPROD‐TM 0,931795635 0,166666667 0,527083333 0,75 0,111111111 0,806944444 0,548933532
MULTIMIN‐FPROD‐TW 0,931795635 0,166666667 0,527083333 0,75 0,111111111 0,806944444 0,548933532
MULTIMIN‐FPROD‐WSUM 0,931795635 0,166666667 0,527083333 0,75 0,111111111 0,806944444 0,548933532
MULTIMIN‐TM‐FPROD 0,931795635 0,166666667 0,527083333 0,75 0,111111111 0,806944444 0,548933532
MULTIMIN‐TM‐TM 0,931795635 0,166666667 0,527083333 0,75 0,111111111 0,806944444 0,548933532
MULTIMIN‐TM‐TW 0,931795635 0,166666667 0,527083333 0,75 0,111111111 0,806944444 0,548933532
MULTIMIN‐TM‐WSUM 0,931795635 0,166666667 0,527083333 0,75 0,111111111 0,806944444 0,548933532
MULTIMIN‐TW‐FPROD 0,931795635 0,166666667 0,527083333 0,75 0,111111111 0,806944444 0,548933532
MULTIMIN‐TW‐SM 0,931795635 0,166666667 0,527083333 0,75 0,111111111 0,806944444 0,548933532
MULTIMIN‐TW‐TM 0,931795635 0,166666667 0,527083333 0,75 0,111111111 0,806944444 0,548933532
MULTIMIN‐TW‐TW 0,931795635 0,166666667 0,527083333 0,75 0,111111111 0,806944444 0,548933532
MULTIMIN‐TW‐WSUM 0,931795635 0,166666667 0,527083333 0,75 0,111111111 0,806944444 0,548933532
MULTIMIN‐WSUM‐FPROD 0,931795635 0,166666667 0,527083333 0,75 0,111111111 0,806944444 0,548933532
MULTIMIN‐WSUM‐TM 0,931795635 0,166666667 0,527083333 0,75 0,111111111 0,806944444 0,548933532
MULTIMIN‐WSUM‐TW 0,931795635 0,166666667 0,527083333 0,75 0,111111111 0,806944444 0,548933532
WSUM‐FPROD‐FPROD 0,931795635 0,166666667 0,527083333 0,75 0,111111111 0,806944444 0,548933532
WSUM‐FPROD‐TM 0,931795635 0,166666667 0,527083333 0,75 0,111111111 0,806944444 0,548933532
WSUM‐FPROD‐TW 0,931795635 0,166666667 0,527083333 0,75 0,111111111 0,806944444 0,548933532
WSUM‐TM‐FPROD 0,931795635 0,166666667 0,527083333 0,75 0,111111111 0,806944444 0,548933532
WSUM‐TM‐TM 0,931795635 0,166666667 0,527083333 0,75 0,111111111 0,806944444 0,548933532
WSUM‐TM‐TW 0,931795635 0,166666667 0,527083333 0,75 0,111111111 0,806944444 0,548933532
WSUM‐TW‐FPROD 0,931795635 0,166666667 0,527083333 0,75 0,111111111 0,806944444 0,548933532
WSUM‐TW‐TM 0,931795635 0,166666667 0,527083333 0,75 0,111111111 0,806944444 0,548933532
WSUM‐TW‐TW 0,931795635 0,166666667 0,527083333 0,75 0,111111111 0,806944444 0,548933532
WSUM‐WSUM‐FPROD 0,931795635 0,166666667 0,527083333 0,75 0,111111111 0,806944444 0,548933532
WSUM‐WSUM‐TW 0,931795635 0,166666667 0,527083333 0,75 0,111111111 0,806944444 0,548933532
WSUM‐WSUM‐TM 0,920684524 0,166666667 0,527083333 0,75 0,111111111 0,795833333 0,545229828
MULTIMIN‐SM‐SM 0,908531746 0,25 0,732142857 0,361111111 0,1 0,896825397 0,541435185
WSUM‐SM‐SM 0,908531746 0,25 0,732142857 0,361111111 0,1 0,896825397 0,541435185
WSUM‐WSUM‐WSUM 0,959375 0,2 0,516666667 0,75 0,142857143 0,665277778 0,539029431
MULTIMIN‐TM‐SM 0,959375 0,125 0,557142857 0,625 0,111111111 0,841666667 0,536549272
WSUM‐TW‐WSUM 0,952628968 0,166666667 0,527083333 0,7 0,111111111 0,751388889 0,534813161
WSUM‐FPROD‐WSUM 0,970486111 0,142857143 0,515178571 0,7 0,111111111 0,729166667 0,528133267
MULTIMIN‐SM‐TM 0,797222222 0,2 0,68452381 0,291666667 0,166666667 0,8 0,490013228
WSUM‐TM‐SM 0,959375 0,2 0,41875 0,45 0,142857143 0,75515873 0,487690146
MULTIMIN‐WSUM‐WSUM 0,952628968 0,166666667 0,402083333 0,45 0,111111111 0,668055556 0,458424272
MULTIMIN‐WSUM‐SM 0,931795635 0,166666667 0,401289683 0,416666667 0,111111111 0,674603175 0,450355489
MULTIMIN‐SM‐FPROD 0,838888889 0,333333333 0,379761905 0,416666667 0,125 0,598148148 0,448633157
MULTIMIN‐SM‐WSUM 0,875545635 0,25 0,45 0,35 0,142857143 0,588293651 0,442782738
WSUM‐FPROD‐SM 0,952628968 0,166666667 0,401289683 0,325 0,111111111 0,660515873 0,43620205
WSUM‐WSUM‐SM 0,947222222 0,2 0,391666667 0,325 0,125 0,542592593 0,42191358
MULTIMIN‐SM‐TW 0,78234127 0,2 0,379761905 0,416666667 0,1 0,598148148 0,412819665
WSUM‐TW‐SM 0,970486111 0,142857143 0,348511905 0,291666667 0,111111111 0,593055556 0,409614749
obj2 bibliothek tools literature beispiel netbib wiki bibliography
WSUM‐SM‐FPROD 0,805555556 0,166666667 0,394642857 1 1 0,7 0,327777778 0,627806122
WSUM‐SM‐TM 0,805555556 0,166666667 0,394642857 1 1 0,7 0,327777778 0,627806122
WSUM‐SM‐TW 0,805555556 0,166666667 0,394642857 1 1 0,7 0,327777778 0,627806122
WSUM‐SM‐WSUM 0,805555556 0,166666667 0,394642857 1 1 0,7 0,305555556 0,624631519
MULTIMIN‐SM‐TM 0,698412698 0,166666667 0,468253968 1 1 0,625 0,25 0,601190476
WSUM‐WSUM‐TM 0,755555556 0,111111111 0,329166667 1 1 0,642857143 0,316666667 0,593622449
WSUM‐TM‐SM 0,655555556 0,125 0,35 1 1 0,625 0,344444444 0,585714286
MULTIMIN‐TM‐SM 0,544444444 0,25 0,316666667 1 1 0,666666667 0,316666667 0,584920635
WSUM‐TM‐WSUM 0,666666667 0,111111111 0,338095238 1 1 0,611111111 0,333333333 0,580045351
WSUM‐WSUM‐WSUM 0,591666667 0,111111111 0,345833333 1 1 0,666666667 0,327777778 0,577579365
MULTIMIN‐WSUM‐WSUM 0,633333333 0,125 0,316666667 1 1 0,625 0,341666667 0,577380952
MULTIMIN‐WSUM‐TM 0,7 0,1 0,308333333 1 1 0,625 0,306349206 0,577097506
MULTIMIN‐WSUM‐SM 0,611111111 0,111111111 0,339583333 1 1 0,666666667 0,294444444 0,574702381
WSUM‐WSUM‐SM 0,591666667 0,125 0,345833333 1 1 0,625 0,327777778 0,573611111
MULTIMIN‐FPROD‐FPROD 0,6 0,1 0,317261905 1 1 0,642857143 0,333333333 0,570493197
MULTIMIN‐FPROD‐SM 0,6 0,1 0,317261905 1 1 0,642857143 0,333333333 0,570493197
MULTIMIN‐FPROD‐TM 0,6 0,1 0,317261905 1 1 0,642857143 0,333333333 0,570493197
MULTIMIN‐FPROD‐TW 0,6 0,1 0,317261905 1 1 0,642857143 0,333333333 0,570493197
MULTIMIN‐FPROD‐WSUM 0,6 0,1 0,317261905 1 1 0,642857143 0,333333333 0,570493197
MULTIMIN‐TM‐FPROD 0,6 0,1 0,317261905 1 1 0,642857143 0,333333333 0,570493197
MULTIMIN‐TM‐TM 0,6 0,1 0,317261905 1 1 0,642857143 0,333333333 0,570493197
MULTIMIN‐TM‐TW 0,6 0,1 0,317261905 1 1 0,642857143 0,333333333 0,570493197
MULTIMIN‐TM‐WSUM 0,6 0,1 0,317261905 1 1 0,642857143 0,333333333 0,570493197
MULTIMIN‐TW‐FPROD 0,6 0,1 0,317261905 1 1 0,642857143 0,333333333 0,570493197
MULTIMIN‐TW‐SM 0,6 0,1 0,317261905 1 1 0,642857143 0,333333333 0,570493197
MULTIMIN‐TW‐TM 0,6 0,1 0,317261905 1 1 0,642857143 0,333333333 0,570493197
MULTIMIN‐TW‐TW 0,6 0,1 0,317261905 1 1 0,642857143 0,333333333 0,570493197
MULTIMIN‐TW‐WSUM 0,6 0,1 0,317261905 1 1 0,642857143 0,333333333 0,570493197
MULTIMIN‐WSUM‐FPROD 0,6 0,1 0,317261905 1 1 0,642857143 0,333333333 0,570493197
MULTIMIN‐WSUM‐TW 0,6 0,1 0,317261905 1 1 0,642857143 0,333333333 0,570493197
WSUM‐FPROD‐FPROD 0,6 0,1 0,317261905 1 1 0,642857143 0,333333333 0,570493197
WSUM‐FPROD‐TM 0,6 0,1 0,317261905 1 1 0,642857143 0,333333333 0,570493197
WSUM‐FPROD‐TW 0,6 0,1 0,317261905 1 1 0,642857143 0,333333333 0,570493197
WSUM‐TM‐FPROD 0,6 0,1 0,317261905 1 1 0,642857143 0,333333333 0,570493197
WSUM‐TM‐TW 0,6 0,1 0,317261905 1 1 0,642857143 0,333333333 0,570493197
WSUM‐TW‐FPROD 0,6 0,1 0,317261905 1 1 0,642857143 0,333333333 0,570493197
WSUM‐TW‐TM 0,6 0,1 0,317261905 1 1 0,642857143 0,333333333 0,570493197
WSUM‐TW‐TW 0,6 0,1 0,317261905 1 1 0,642857143 0,333333333 0,570493197
WSUM‐TW‐WSUM 0,6 0,1 0,317261905 1 1 0,642857143 0,333333333 0,570493197
WSUM‐WSUM‐TW 0,6 0,1 0,317261905 1 1 0,642857143 0,333333333 0,570493197
WSUM‐TM‐TM 0,642857143 0,1 0,308333333 1 1 0,625 0,306349206 0,56893424
WSUM‐WSUM‐FPROD 0,6 0,1 0,308333333 1 1 0,642857143 0,306349206 0,565362812
WSUM‐FPROD‐WSUM 0,566666667 0,1 0,329166667 1 1 0,642857143 0,316666667 0,56505102
WSUM‐FPROD‐SM 0,566666667 0,1 0,345833333 1 1 0,625 0,316666667 0,564880952
WSUM‐TW‐SM 0,566666667 0,1 0,345833333 1 1 0,625 0,316666667 0,564880952
MULTIMIN‐SM‐WSUM 0,53968254 0,2 0,296428571 1 1 0,625 0,273015873 0,562018141
MULTIMIN‐SM‐TW 0,528571429 0,166666667 0,296428571 1 1 0,625 0,288888889 0,557936508
MULTIMIN‐SM‐FPROD 0,553571429 0,166666667 0,2875 1 1 0,625 0,261904762 0,556377551
JACCARD 0,558333333 0,1625 0,317261905 0,611111111 0,611111111 0,53968254 0,360416667 0,451488095
MULTIMIN‐SM‐SM 0,285185185 0,5 0,458333333 0,111111111 0,111111111 0,173611111 0,680555556 0,331415344
WSUM‐SM‐SM 0,285185185 0,5 0,458333333 0,111111111 0,111111111 0,173611111 0,680555556 0,331415344
Bibliografie
[1] A. Anderson, K. Ranghunathan, and A. Vogel. Tagez: Flickr tag recommendation.association for the advancement of artificial intelligence, 2008.
[2] T. Back. Evolutionary algorithms in theory and practice: evolution strategies, evolutio-nary programming, genetic algorithms. Oxford University Press, Oxford, UK, 1996.
[3] U. Bodenhofer. Genetic Algorithms: Theory and Applications, chapter 1 : Basic ideasand concepts, pages 14–15. Fuzzy Logic Laboratorium Linz-Hagenberg, third editionedition, 2003-2004.
[4] U. Bodenhofer. Genetic Algorithms: Theory and Applications, chapter 4 : Variants,page 56. Fuzzy Logic Laboratorium Linz-Hagenberg, third edition edition, 2003-2004.
[5] U. Bodenhofer. Genetic Algorithms: Theory and Applications, chapter 5 : GA vari-ants for real-valued optimization problems, page 60. Fuzzy Logic Laboratorium Linz-Hagenberg, third edition edition, 2003-2004.
[6] U. Bodenhofer. Genetic Algorithms: Theory and Applications, chapter 5 : GA vari-ants for real-valued optimization problems, page 61. Fuzzy Logic Laboratorium Linz-Hagenberg, third edition edition, 2003-2004.
[7] J. Breese, D. Heckerman, and C. Kadie. Empirical analysis of predictive algorithms forcollaborative filtering. In Proceedings of the 14th Annual Conference on Uncertainty inArtificial Intelligence (UAI-98), pages 43–52, San Francisco,CA, 1998. Morgan Kauf-mann.
[8] C. Cattuto, D. Benz, A. Hotho, and G. Stumme. Semantic analysis of tag similaritymeasures in collaborative tagging systems, May 2008.
[9] Y. Chuan, X. Jieping, and D. Xiaoyong. Recommendation algorithm combining theuser-based classified regression and the item-based filtering. In ICEC ’06: Proceedingsof the 8th international conference on Electronic commerce, pages 574–578, New York,NY, USA, 2006. ACM Press.
107
Bibliografie
[10] G. Dolvelde and J. Six. Collaborative filtering: Onderzoek en implementatie. Afstudeer-werk, Hogeschool Gent, juni 2008. Master in de Industriele Wetenschappen: Informatica.
[11] J. Gemmell, T. Schimoler, M. Ramezani, and B. Mobasher. Adapting k-nearest neighborfor tag recommendation in folksonomies. In S. S. Anand, B. Mobasher, A. Kobsa, andD. Jannach, editors, ITWP, volume 528 of CEUR Workshop Proceedings. CEUR-WS.org,2009.
[12] P. Hajek. Metamathematics of fuzzy logic. Springer, 1998.
[13] J. L. Herlocker, J. A. Konstan, A. Borchers, and J. Riedl. An algorithmic framework forperforming collaborative filtering. In Proceedings of the 22nd annual international ACMSIGIR conference on Research and development in information retrieval, pages 230–237,New York, NY, USA, 1999. ACM Press.
[14] A. Hotho, R. J?schke, C. Schmitz, and G. Stumme. Information retrieval in folksonomies:Search and ranking. In Y. Sure and J. Domingue, editors, The Semantic Web: Researchand Applications, volume 4011 of Lecture Notes in Computer Science, pages 411–426,Heidelberg, June 2006. Springer.
[15] J. Janssen, S. Heymans, D. Vermeir, and M. Cock. Compiling fuzzy answer set programsto fuzzy propositional theories. In ICLP ’08: Proceedings of the 24th InternationalConference on Logic Programming, pages 362–376, Berlin, Heidelberg, 2008. Springer-Verlag.
[16] J. Janssen, S. Heymans, D. Vermeir, and M. Cock. Compiling fuzzy answer set programsto fuzzy propositional theories. In ICLP ’08: Proceedings of the 24th InternationalConference on Logic Programming, pages 362–376, Berlin, Heidelberg, 2008. Springer-Verlag.
[17] R. Jaschke, L. Marinho, A. Hotho, L. Schmidt-Thieme, and G. Stumme. Tag recom-mendations in folksonomies. In A. Hinneburg, editor, Workshop Proceedings of Lernen- Wissensentdeckung - Adaptivitat (LWA 2007), pages 13–20. Martin-Luther-UniversitatHalle-Wittenberg, Sept. 2007.
[18] R. Jaschke, L. Marinho, A. Hotho, L. Schmidt-Thieme, and G. Stumme. Tag recommen-dations in social bookmarking systems. AI Communications, 21(4):231–247, 2008.
[19] S. Karamadian. Fixed points. Algorithms and applications. Academic Press, 1977.
[20] D. Lemereis. Web 2.0; ik heb, jij hebt, samen hebben we... www.lemereis.com.
[21] V. Lifschitz. What is answer set programming? In AAAI’08: Proceedings of the 23rdnational conference on Artificial intelligence, pages 1594–1597. AAAI Press, 2008.
108
Bibliografie
[22] G. Linden, J. Jacobi, and E. Benson. Collaborative recommendations using item-to-itemsimilarity mappings, 1998. patent no. US 6.266.649.
[23] M. Lipczak, Y. Hu, Y. Kollet, and E. Milios. Tag sources for recommendation in colla-borative tagging systems. In F. Eisterlehner, A. Hotho, and R. Jaschke, editors, ECMLPKDD Discovery Challenge 2009 (DC09), volume 497, pages 157–172, Bled, Slovenia,September 2009. CEUR Workshop Proceedings.
[24] C. D. Manning, P. Raghavan, and H. Schutze. Introduction to Information Retrieval,chapter 08 Evaluation in information retrieval, page 155. Cambridge University Press,March 2008.
[25] C. D. Manning, P. Raghavan, and H. Schutze. Introduction to Information Retrieval,chapter 08 Evaluation in information retrieval, pages 159–163. Cambridge UniversityPress, 2008.
[26] D. Nieuwenborgh, M. Cock, and D. Vermeir. An introduction to fuzzy answer set pro-gramming. Annals of Mathematics and Artificial Intelligence, 50(3-4):363–388, 2007.
[27] T. O’Reilly and J. Battelle. Web squared: Web 2.0 five years on. June 2009.
[28] L. Page, S. Brin, R. Motwani, and T. Winograd. The pagerank citation ranking: Bringingorder to the web. 1998.
[29] R. Real and J. M. Vargas. The probabilistic basis of jaccard’s index of similarity. Syste-matic Biology, 45(3):380–385, 1996.
[30] S. Rendle and L. Schmidt-Thieme. Factor models for tag recommendation in bibsonomy.In F. Eisterlehner, A. Hotho, and R. Jaschke, editors, ECML PKDD Discovery Chal-lenge 2009 (DC09), volume 497, pages 235–242, Bled, Slovenia, September 2009. CEURWorkshop Proceedings.
[31] Z. Xu, Y. Fu, J. Mao, and D. Su. Towards the semantic web: Collaborative tag sugge-stions. In Proceedings of the Collaborative Web Tagging Workshop at the WWW 2006,Edinburgh, Scotland, May 2006.
[32] N. Zhang, Y. Zhang, and J. Tang. A tag recommendation system for folksonomy. InI. King, J.-Z. Li, G.-R. Xue, and J. Tang, editors, CIKM-SWSM, pages 9–16. ACM,2009.
109
Lijst van figuren
1.1 Transactie uit een folksonomie . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.1 Grafische voorstelling van folksonomie F1 als (1) Hypergraaf en (2) Tripartite-graaf GF1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.1 Bibsonomy dataset : databank diagram . . . . . . . . . . . . . . . . . . . . . 554.2 Post-core level 1 en level 2 van de hypergraaf uit Figuur 3.1 . . . . . . . . . . 584.3 Verhoudingen van de items in de datasets . . . . . . . . . . . . . . . . . . . . 584.4 Verhouding van de items voor de CF-gefilterde dataset van 11 objecten, 80
tags en 35 gebruikers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664.5 Bibsonomy dataset : eigenschappen van de objecten . . . . . . . . . . . . . . 674.6 Bibsonomy dataset : eigenschappen van de gebruikers . . . . . . . . . . . . . 684.7 Bibsonomy dataset : eigenschappen van de tags . . . . . . . . . . . . . . . . . 694.8 Gemiddelde MAP-scores op een dataset met 11 objecten, 80 tags en 35 gebruikers 724.9 Gemiddelde MAP-scores op een dataset met 11 objecten, 36 tags en 5 gebruikers 764.10 Gemiddelde MAP-scores op een dataset met 21 objecten, 53 tags en 19 gebruikers 774.11 Gemiddelde MAP-scores op een dataset met 31 objecten, 54 tags en 9 gebruikers 784.12 Verhouding van de items voor de CF-gefilterde dataset van 11 objecten, 63
tags en 5 gebruikers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794.13 Verhouding van de items voor de CF-gefilterde dataset van 21 objecten, 53
tags en 19 gebruikers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804.14 Verhouding van de items voor de CF-gefilterde dataset van 31 objecten, 54
tags en 9 gebruikers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.1 Simpele voorwaarden zonder tijdslimiet . . . . . . . . . . . . . . . . . . . . . 915.2 Simpele voorwaarden met een tijdslimiet van 10 seconden . . . . . . . . . . . 915.3 Simpele voorwaarden met een tijdslimiet van 1 seconde . . . . . . . . . . . . 91
110
Lijst van tabellen
2.1 Interpretaties van vage connectieven . . . . . . . . . . . . . . . . . . . . . . . 9
3.1 Voorbeeld van de voorstelling van de binaire relatie in een standaard aanbeve-lingssysteem met binaire scores. (X ∈ Bn×m) . . . . . . . . . . . . . . . . . . 18
3.2 Voorbeeld van de voorstelling van de binaire relatie in een standaard aanbeve-lingssysteem met persoonlijke beoordelingsscores. (X ∈ (R ∪ {⊥})n×m) . . . . 18
3.3 Folksonomie F1 herschreven in UR-tabel. . . . . . . . . . . . . . . . . . . . . 273.4 UR-projecties van folksonomie F1 : π1
URY en π2URY . . . . . . . . . . . . . . . 27
3.5 Folksonomie F1 herschreven in UT-tabel. . . . . . . . . . . . . . . . . . . . . . 273.6 UT-projecties van folksonomie F1 : π1
UTY en π2UTY . . . . . . . . . . . . . . . 28
3.7 Folksonomie F1 herschreven in RT-tabel. . . . . . . . . . . . . . . . . . . . . . 283.8 RT-projecties van folksonomie F1 : π1
RTY en π2RTY . . . . . . . . . . . . . . . 28
4.1 Mogelijke invullingen voor de vrije operatoren . . . . . . . . . . . . . . . . . . 484.2 Opgeschoonde dataset volledig . . . . . . . . . . . . . . . . . . . . . . . . . . 574.3 Opgeschoonde dataset postcore level 2 . . . . . . . . . . . . . . . . . . . . . . 584.4 Mapping van de originele benamingen van de operatoren op de Java-klassebenamingen
uit de implementatie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.1 Lijst van expressies uit de genetica samen met hun variant uit de genetischalgoritmen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
111