De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Gegevensbanken 2012 Iets over data mining en Information Retrieval Bettina Berendt

Verwante presentaties


Presentatie over: "Gegevensbanken 2012 Iets over data mining en Information Retrieval Bettina Berendt"— Transcript van de presentatie:

1 Gegevensbanken 2012 Iets over data mining en Information Retrieval Bettina Berendt

2 2 Iets over data mining en Information Retrieval: Motivatie & Samenvatting

3 3 Waar zijn we? Les #wiewat 1EDintro, ER 2EDEER, (E)ER naar relationeel schema 2EDrelationeel model 3KVRelationele algebra & relationeel calculus 4,5KVSQL 6KVProgramma's verbinden met gegevensbanken 7KVFunctionele afhankelijkheden & normalisatie 8KVPHP 10BBBeveiliging van gegevensbanken 11BBGeheugen en bestandsorganisatie 12BBExterne hashing 13BBIndexstructuren 14BBQueryverwerking 15-17BBTransactieverwerking en concurrentiecontrole 18BBData mining en Information Retrieval 9 EDXML (en meer over het Web als GB), NoSQL Nieuwe thema‘s / vooruitblik

4 4 Aan wie zou een bank geld lenen? Gegevensbanken queries: Wie heeft ooit een krediet niet terugbetaald? SELECT DISTINCT Fname, Lname FROM Clients, Loans WHERE clientID = loantakerID AND paid = „NO“ Data Warehousing / Online Analytical Processing OLAP: In welke wijken hebben meer dan 20% van de clienten vorig jaar een krediet niet terugbetaald? Data Mining: Bij welke mensen is te verwachten dat ze een krediet niet terugbetalen? (= wijk, baan, leeftijd, geslacht,...)

5 5  nog een toepassingsgebied Het Web Je gebruikt Web data mining elke dag 

6 6 Indexering en ranking

7 7 Gedragsanalyse voor recommender systems

8 8 Tekstmining voor recommender systems

9 9 Of ook

10 10 Wie koopt de printer XYZ ? Mijn Klant (ezf.): database lookup „Ik ken het antwoord niet, maar de volgende pagina‘s zijn relevant voor uw query“: zoekmachine / information retrieval / document retrieval Deze gebruiker (omwille van zijn profiel, zijn postings, zijn vrienden en hun eigenschappen, …): data mining Iemand die pas zijn oude printer verkocht/weggegooid heeft: logica  Verschillende methodes voor inferentie;  verschillende types van antwoorden  Beschrijven / bekende gegevens versus voorspellen

11 11 Het volgende is ook … … een vooruitblik op verschillende cursussen in de Master, bv. Advanced Databases Text-based Information Retrieval Current Trends in Databases Data Mining Ook interessant / gerelateerd (logica!), maar niet het onderwerp van vandaag: Modellering van complexe systemen

12 12 Agenda Methoden (1): Classifier learning op relaties Methoden (2): Itemset mining Van relaties naar teksten Methoden (3): Classifier learning op teksten (Een beetje) KD proces: Preprocessing Wat doen zoekmachines? Wat kunnen WIJ doen? Hoe worden gegevens machtig? Mining & combinatie

13 13 Agenda Methoden (1): Classifier learning op relaties Methoden (2): Itemset mining Van relaties naar teksten Methoden (3): Classifier learning op teksten (Een beetje) KD proces: Preprocessing Wat doen zoekmachines? Wat kunnen WIJ doen? Hoe worden gegevens machtig? Mining & combinatie

14 14 Knowledge discovery (en data mining) “het niet-triviale proces voor het identificeren van geldige, nieuwe, mogelijk te gebruiken, en uiteindelijk verstaanbare patronen in data.” Data mining

15 15 Data mining technieken Verkennende data-analyse met interactieve, vaak visuele methoden Beschrijvende modellering (schatting van de dichtheid, clusteranalyse en segmentatie, afhankelijkheidsmodellering) Voorspellende modelleringen (classificatie en regressie) Het doel is een model te bouwen waarmee de waarde van één variable te voorspellen is, op basis van de gekende waarden voor de andere variabelen. In classificatie is de voorspelde waarde een categorie; bij regressie is deze waarde quantitatief Het ontdekken van (lokale) patronen en regels Typische voorbeelden zijn frequente patronen zoals verzamelingen, sequenties, subgrafen en regels die hieruit afgeleid kunnen worden (bv. associatieregels)

16 16 Bijzonder interessant op basis van gecombineerde gegevens en...

17 17 Gegevens relationele gegevens, teksten, grafen, semi-gestructureerde gegevens (bv. Web clickstreams) beelden, …

18 18 Agenda Methoden (1): Classifier learning op relaties Methoden (2): Itemset mining Van relaties naar teksten Methoden (3): Classifier learning op teksten (Een beetje) KD proces: Preprocessing Wat doen zoekmachines? Wat kunnen WIJ doen? Hoe worden gegevens machtig? Mining & combinatie

19 19 Input data... Q: when does this person play tennis? NoTrueHighMildRainy YesFalseNormalHotOvercast YesTrueHighMildOvercast YesTrueNormalMildSunny YesFalseNormalMildRainy YesFalseNormalCoolSunny NoFalseHighMildSunny YesTrueNormalCoolOvercast NoTrueNormalCoolRainy YesFalseNormalCoolRainy YesFalseHighMildRainy YesFalseHighHotOvercast NoTrueHighHotSunny NoFalseHighHotSunny PlayWindyHumidityTempOutlook

20 20 Terminology (using a popular data example) NoTrueHighMildRainy YesFalseNormalHotOvercast YesTrueHighMildOvercast YesTrueNormalMildSunny YesFalseNormalMildRainy YesFalseNormalCoolSunny NoFalseHighMildSunny YesTrueNormalCoolOvercast NoTrueNormalCoolRainy YesFalseNormalCoolRainy YesFalseHighMildRainy YesFalseHighHotOvercast NoTrueHighHotSunny NoFalseHighHotSunny PlayWindyHumidityTempOutlook Rows: Instances (think of them as objects) Days, described by: Columns: Features Outlook, Temp, … In this case, there is a feature with a special role: The class Play (does X play tennis on this day?) This is “relational DB mining“. We will later see other types of data and the mining applied to them.

21 21 The goal: a decision tree for classification / prediction In which weather will someone play (tennis etc.)?

22 22 Constructing decision trees Strategy: top down Recursive divide-and-conquer fashion  First: select attribute for root node Create branch for each possible attribute value  Then: split instances into subsets One for each branch extending from the node  Finally: repeat recursively for each branch, using only instances that reach the branch Stop if all instances have the same class

23 23 Which attribute to select?

24 24 Which attribute to select?

25 25 Criterion for attribute selection Which is the best attribute?  Want to get the smallest tree  Heuristic: choose the attribute that produces the “purest” nodes Popular impurity criterion: information gain  Information gain increases with the average purity of the subsets Strategy: choose attribute that gives greatest information gain

26 26 Computing information Measure information in bits  Given a probability distribution, the info required to predict an event is the distribution’s entropy  Entropy gives the information required in bits (can involve fractions of bits!)‏ Formula for computing the entropy:

27 27 Example: attribute Outlook

28 28 Computing information gain Information gain: information before splitting – information after splitting Information gain for attributes from weather data: gain(Outlook ) = bits gain(Temperature ) = bits gain(Humidity ) = bits gain(Windy ) = bits gain(Outlook )= info([9,5]) – info([2,3],[4,0],[3,2])‏ = – = bits

29 29 Continuing to split gain(Temperature )= bits gain(Humidity ) = bits gain(Windy )= bits

30 30 Final decision tree Note: not all leaves need to be pure; sometimes identical instances have different classes  Splitting stops when data can’t be split any further

31 31 V: entropy, heeft dit iets te maken met het thermodynamische concept ( een maat voor de wanorde van iets, een grootheid die enkel kan toenemen, ongeacht wat er gebeurd) of staat dit hier helemaal los van? A: Ja en neen … Aanbevolene bron: Stanford encyclopedia of Philosophy Iets korter (maar ik kan de inhoud niet beoordelen):

32 32 Agenda Methoden (1): Classifier learning op relaties Methoden (2): Itemset mining Van relaties naar teksten Methoden (3): Classifier learning op teksten (Een beetje) KD proces: Preprocessing Wat doen zoekmachines? Wat kunnen WIJ doen? Hoe worden gegevens machtig? Mining & combinatie

33 33 Gegevens „Market basket (winkelmandje) data“: attributen met booleaanse domeinen In een tabel  elke rij is een basket (ook: transactie) Transactie IDAttributen (basket items) 1Spaghetti, tomatensaus 2Spaghetti, brood 3Spaghetti, tomatensaus, brood 4Brood, boter 5Brood, tomatensaus

34 34 Als relationele tabel TransactieSpaghettiTomaten- saus broodboter

35 35 Solution approach: The apriori principle and the pruning of the search tree (1) spaghettiTomato saucebreadbutter Spaghetti, tomato sauce Spaghetti, bread Spaghetti, butter Tomato s., bread Tomato s., butter Bread, butter Spagetthi, Tomato sauce, Bread, butter Spagetthi, Tomato sauce, Bread Spagetthi, Tomato sauce, butter Spagetthi, Bread, butter Tomato sauce, Bread, butter 

36 36 spaghettiTomato saucebreadbutter Spaghetti, tomato sauce Spaghetti, bread Spaghetti, butter Tomato s., bread Tomato s., butter Bread, butter Spagetthi, Tomato sauce, Bread, butter Spagetthi, Tomato sauce, Bread Spagetthi, Tomato sauce, butter Spagetthi, Bread, butter Tomato sauce, Bread, butter  Solution approach: The apriori principle and the pruning of the search tree (2)

37 37 spaghettiTomato saucebreadbutter Spaghetti, tomato sauce Spaghetti, bread Spaghetti, butter Tomato s., bread Tomato s., butter Bread, butter Spagetthi, Tomato sauce, Bread, butter Spagetthi, Tomato sauce, Bread Spagetthi, Tomato sauce, butter Spagetthi, Bread, butter Tomato sauce, Bread, butter  Solution approach: The apriori principle and the pruning of the search tree (3)

38 38 spaghettiTomato saucebreadbutter Spaghetti, tomato sauce Spaghetti, bread Spaghetti, butter Tomato s., bread Tomato s., butter Bread, butter Spagetthi, Tomato sauce, Bread, butter Spagetthi, Tomato sauce, Bread Spagetthi, Tomato sauce, butter Spagetthi, Bread, butter Tomato sauce, Bread, butter  Solution approach: The apriori principle and the pruning of the search tree (4)

39 39 Genereren van grote k-itemsets met Apriori Min. support = 40% Stap 1: kandidaat-1-itemsets Spaghetti: support = 3 (60%) Tomatensaus: support = 3 (60%) Brood: support = 4 (80%) Boter: support = 1 (20%) Transactie ID Attributen (basket items) 1Spaghetti, tomatensaus 2Spaghetti, brood 3Spaghetti, tomatensaus, brood 4Brood, boter 5Brood, tomatensaus

40 40 Stap 2: grote 1-itemsets Spaghetti Tomatensaus Brood kandidaat-2-itemsets {Spaghetti, tomatensaus}: support = 2 (40%) {Spaghetti, brood}: support = 2 (40%) {tomatensaus, brood}: support = 2 (40%) Transactie ID Attributen (basket items) 1Spaghetti, tomatensaus 2Spaghetti, brood 3Spaghetti, tomatensaus, brood 4Brood, boter 5Brood, tomatensaus

41 41 Stap 3: grote 2-itemsets {Spaghetti, tomatensaus} {Spaghetti, brood} {tomatensaus, brood} kandidaat-3-itemsets {Spaghetti, tomatensaus, brood}: support = 1 (20%) Stap 4: grote 3-itemsets { } Transactie IDAttributen (basket items) 1Spaghetti, tomatensaus 2Spaghetti, brood 3Spaghetti, tomatensaus, brood 4Brood, boter 5Brood, tomatensaus

42 42 Van itemsets naar associatieregels Schema: Als subset dan grote k-itemset met support s en confidence c s = (support van grote k-itemset) / # tupels c = (support van grote k-itemset) / (support van subset) Voorbeeld: Als {spaghetti} dan {spaghetti, tomatensaus} Support: s = 2 / 5 (40%) Confidence: c = 2 / 3 (66%)

43 43 Het kan beter … (een mogelijkheid) V: de FP-boom ItemSupportLink Brood4 Spaghetti3 Tomaten- saus 3 NULL S:1 T:1 Br:4 S:2T:1

44 44 Agenda Methoden (1): Classifier learning op relaties Methoden (2): Itemset mining Van relaties naar teksten Methoden (3): Classifier learning op teksten (Een beetje) KD proces: Preprocessing Wat doen zoekmachines? Wat kunnen WIJ doen? Hoe worden gegevens machtig? Mining & combinatie

45 45 Teksten als itemsets DocumentstarBritneySpearsBig

46 46 Teksten als relaties Do- cu- ment starBritneySpearsBigDipperclass Celebrity Astronomy Celebrity Astronomy IF star AND Britney THEN Celebrity IF star AND Dipper THEN Astronomy

47 47 Teksten als itemsets („sets of words“) Do- cu- ment starBritneySpearsBigDipper IF star AND Britney THEN Spears IF star AND Dipper THEN Big

48 48 Teksten als bags of words Do- cu- ment starBrit- ney SpearsSpears BigDipper

49 49 GB-Structuren daarachter: Wat en waarvoor een index? (3) – vinden (hier: volledig geïnverteerde bestanden)

50 50 Teksten als bags of words Do- cu- ment starBrit- ney SpearsSpears BigDipper Britney is zeer characteristiek voor doc 1. Star is niet characteristiek (in elke doc!).  Term frequency / inverse doc. Freq. TF.IDF gewichten voor worden Welke documenten zijn waarschijnlijk meest belangrijk voor een zoek naar Britney star ? Gelijkaar- digheid query – doc !

51 51 V: Is het hierbij de bedoeling dat je een webpagina omzet in één of andere soort vector waarin de belangrijkste info staat? Hoe gaat zoiets in zijn werk, wat staat er dan in zo een vector?

52 52 Agenda Methoden (1): Classifier learning op relaties Methoden (2): Itemset mining Van relaties naar teksten Methoden (3): Classifier learning op teksten (Een beetje) KD proces: Preprocessing Wat doen zoekmachines? Wat kunnen WIJ doen? Hoe worden gegevens machtig? Mining & combinatie

53 53 Wat maakt mensen blij?

54 54 Blij in blogs

55 55 Well kids, I had an awesome birthday thanks to you. =D Just wanted to so thank you for coming and thanks for the gifts and junk. =) I have many pictures and I will post them later. hearts current mood: Home alone for too many hours, all week long... screaming child, headache, tears that just won’t let themselves loose.... and now I’ve lost my wedding band. I hate this. current mood: Wat zijn de karakteristieke woorden voor deze twee stemmingen?

56 56 Data, het voorbereiden van data en leren LiveJournal.com – optionele stemmingsannotatie 10,000 blogs: blije5,000 blije entries / 5,000 trieste entries gemiddelde grootte: 175 woorden / entry post-processing – verwijder SGML tags, tokenizatie, part-of- speech tagging kwaliteit van automatische “stemmingsonderscheiding” naïve bayes text classifier five-fold cross validation Nauwkeurigheid: 79.13% (>> 50% baseline)

57 57 Resultaat: happiness factoren afgeleid uit een corpus goodbye18.81 hurt17.39 tears14.35 cried11.39 upset11.12 sad11.11 cry10.56 died10.07 lonely 9.50 crying 5.50 yay shopping79.56 awesome79.71 birthday78.37 lovely77.39 concert74.85 cool73.72 cute73.20 lunch73.02 books73.02

58 58 Agenda Methoden (1): Classifier learning op relaties Methoden (2): Itemset mining Van relaties naar teksten Methoden (3): Classifier learning op teksten (Een beetje) KD proces: Preprocessing Wat doen zoekmachines? Wat kunnen WIJ doen? Hoe worden gegevens machtig? Mining & combinatie

59 59 Maar: de teksten zijn er niet zomaar …

60 60 Preprocessing (1) Data cleaning Goal: get clean ASCII text Remove HTML markup*, pictures, advertisements,... Automate this: wrapper induction * Note: HTML markup may carry information too (e.g., or marks something important), which can be extracted! (Depends on the application)

61 61 Preprocessing (2) Further text preprocessing Goal: get processable lexical / syntactical units Tokenize (find word boundaries) Lemmatize / stem ex. buyers, buyer  buyer / buyer, buying,...  buy Remove stopwords Find Named Entities (people, places, companies,...); filtering Resolve polysemy and homonymy: word sense disambiguation; “synonym unification“ Part-of-speech tagging; filtering of nouns, verbs, adjectives, Most steps are optional and application-dependent! Many steps are language-dependent; coverage of non-English varies Free and/or open-source tools or Web APIs exist for most steps

62 62 Preprocessing (3) Creation of text representation Goal: a representation that the modelling algorithm can work on Most common forms: A text as a set or (more usually) bag of words / vector-space representation: term-document matrix with weights reflecting occurrence, importance,... a sequence of words a tree (parse trees)

63 63 An important part of preprocessing: Named-entity recognition (1)

64 64 Agenda Methoden (1): Classifier learning op relaties Methoden (2): Itemset mining Van relaties naar teksten Methoden (3): Classifier learning op teksten (Een beetje) KD proces: Preprocessing Wat doen zoekmachines? Wat kunnen WIJ doen? Hoe worden gegevens machtig? Mining & combinatie

65 65 V: als je bij Google verschillende woorden ingeeft, worden deze dan met AND en OR gecom- bineerd, of zit er meer achter?

66 66 Vooruitblik: Natural language queries

67 67 V: Algemeen over het internet: valt dit te beschouwen als één grote ongeordende chaos van websites, of zijn het meer allemaal aparte databases (bijvoorbeeld met alle webpagina's uit België of alle webpagina's van een internetprovider als Telenet) die samen het internet vormen (en dus toelaten aan een grote, algemene database om die zijn taken te verdelen) ?

68 68 Wat is dit? Kunnen we hiermee iets doen?

69 69 Linked Open Data (DBPedia and Freebase indicated in red circles)

70 70 Vooruitblik Methoden (1): Classifier learning op relaties Methoden (2): Itemset mining Van relaties naar teksten Methoden (3): Classifier learning op teksten (Een beetje) KD proces: Preprocessing Wat doen zoekmachines? Wat kunnen WIJ doen? Hoe worden gegevens machtig? Mining & combinatie XML (ezf.), NoSQL

71 71 Bronnen Methoden (Classifier learning) Slides from the „WEKA book“: Ian H. Witten, Eibe Frank, Mark A. Hall. Data Mining: Practical Machine Learning Tools and Techniques (Third Edition) Methoden (Itemset Mining) Agrawal R, Imielinski T, Swami AN. "Mining Association Rules between Sets of Items in Large Databases." SIGMOD. June 1993, 22(2):207-16, Agrawal R, Srikant R. "Fast Algorithms for Mining Association Rules", VLDB. Sep , Chile, family.com/papers/vldb94apriori.pdfhttp://rakesh.agrawal- family.com/papers/vldb94apriori.pdf Methoden (Blij in blogs) Mihalcea, R. & Liu, H. (2006). A corpus-based approach to finding happiness, In Proceedings of the AAAI Spring Symposium on Computational Approaches to Analyzing Weblogs. en Rada Mihalcea´s presentatie op CAAW 2006


Download ppt "Gegevensbanken 2012 Iets over data mining en Information Retrieval Bettina Berendt"

Verwante presentaties


Ads door Google