lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf...

125
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

Transcript of lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf...

Page 1: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 2: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch
Page 3: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 4: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 5: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 6: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 7: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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.

Page 8: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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.

Page 9: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 10: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 11: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 12: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 13: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 14: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 15: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 16: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 17: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 18: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 19: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 20: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 21: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 22: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 23: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 24: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

Hoofdstuk 3. Tag-aanbevelingssystemen

de volgende paragraaf zien we hoe de bestaande systemen verschillende methoden gebruikenom deze verzameling in te vullen.

12

Page 25: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 26: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 27: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 28: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 29: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 30: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 31: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 32: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 33: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 34: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 35: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 36: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 37: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 38: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 39: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 40: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 41: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 42: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 43: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 44: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 45: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 46: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 47: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

Hoofdstuk 3. Tag-aanbevelingssystemen

Figuur 3.1: Grafische voorstelling van folksonomie F1 als (1) Hypergraaf en (2) Tripartitegraaf GF1

35

Page 48: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 49: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 50: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 51: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 52: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 53: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 54: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 55: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 56: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 57: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 58: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 59: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 60: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 61: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 62: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 63: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 64: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 65: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 66: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 67: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 68: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 69: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 70: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 71: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 72: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma

� B = Verworven documenten in Rj (Eng. retrieved).

60

Page 73: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 74: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 75: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 76: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 77: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 78: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 79: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma

Figuur 4.5: Bibsonomy dataset : eigenschappen van de objecten

67

Page 80: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma

Figuur 4.6: Bibsonomy dataset : eigenschappen van de gebruikers

68

Page 81: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

Hoofdstuk 4. Similariteitsberekening met een vaaglogisch programma

Figuur 4.7: Bibsonomy dataset : eigenschappen van de tags

69

Page 82: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 83: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 84: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 85: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 86: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 87: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 88: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 89: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 90: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 91: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 92: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 93: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 94: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 95: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 96: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 97: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 98: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 99: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 100: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 101: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 102: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 103: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 104: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 105: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 106: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 107: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

Bijlage A

MAP-scores per object van de test

op een kleine dataset van 11

objecten.

95

Page 108: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 109: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 110: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 111: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 112: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 113: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 114: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 115: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 116: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 117: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 118: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 119: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 120: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 121: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 122: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 123: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch

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

Page 124: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch
Page 125: lib.ugent.belib.ugent.be/fulltxt/RUG01/001/418/629/RUG01-001418629_2010_000… · Woord vooraf Logica is een domein dat mij altijd heeft geboeid. Het thesisvoorstel over vaaglogisch