Professional Documents
Culture Documents
Ανάκτηση Πληροφορίας
Ανάκτηση Πληροφορίας
Πανεπιστήμιο Πελοποννήσου
Βασίλειος Ταμπακάς
Καθηγητής
Διάλε Αντικείμενο Τύπος Εργασίες
ξη μαθήματος
1 Θέματα Θ+Ε εργασία 1
Δεικτοδότησης και
ανάκτησης
πληροφορίας (1)
2 Θέματα Θ+Ε
Δεικτοδότησης και
ανάκτησης
πληροφορίας (2)
3 Προχωρημένα Θ+Ε
Θέματα ΒΔ
Γράφων και
Εγγράφων
4 Κατανεμημένα Θ
Συστήματα
επεξεργασίας
Μεγάλων
Δεδομένων
5 Θέματα crawling Ε+Θ εργασία 2
και spiders
Β. Ταμπακάς 2
6 Θέματα crawling Ε+Θ
και spiders
2 Εργασίες Υποχρεωτικές 40% του τελικού
βαθμού
Β. Ταμπακάς 3
Back-End architecture for big data mining and analysis
Τα δεδομένα με βάση τη δομή τους
unstructured data
input
Semi-structured data
BackEnd Architecture
/Τεχνολογίες και εφαρμογές
Data Storage
communication interfaces Analytics
Indexing
DataBases
output processing engine Querying
API
Διαχείριση κειμένου
Distributed Processing engine SPARK
over a cluster of nodes Mining Big Data and Analytics
NoSQL Databases
Data Storage
Neo4J Κατασκευή και
Επεξεργασία γράφων
MongoDB Διαχείριση κειμένου
Type of Processing
Batch or Streaming
(e.g. kafka, Flume
8
Information Retrieval Tools
9
Ορισμός
10
Information Retrieval
…tools
vs Document Databases
e.g. MongoDB
Lucene
ElasticSearch
ELK
Solr
Lucene
Lucene is a set of libraries that can be used for full text search.
14
Data Streaming
15
Apache Flume
16
Συνδυασμένη χρήση ELK και FLUME
17
Crawlers and Data Mining
18
Crawlers and Spiders
19
Apache Nutch
Nutch
Λογισμικό ανοιχτού κώδικα
20
Apache Nutch Architecture
Apache Nutch
Nutch
21
Τεχνικές Δεικτοδότησης και Ανάκτησης
Πληροφορίας
Β. Ταμπακάς 22
Definition of information retrieval
Β. Ταμπακάς 23
Unstructured (text) vs. structured
(database) data in the mid-nineties
250
200
150
Unstructured
100 Structured
50
0
Data volume Market Cap
24
Unstructured (text) vs. structured
(database) data today
250
200
150
Unstructured
100 Structured
50
0
Data volume Market Cap
25
Sec. 1.1
26
Η διαδικασία της ανάκτησης πληροφορίας από κείμενα
Β. Ταμπακάς 27
Αξιολόγηση απάντησης στην Ανάκτηση Πληροφορίας
Β. Ταμπακάς 28
Αξιολόγηση απάντησης στην Ανάκτηση Πληροφορίας
Β. Ταμπακάς 29
Πρόβλημα
Β. Ταμπακάς 30
TP
TN FN FP
Β. Ταμπακάς 31
Έστω μια συλλογή με 1.000.120 έγγραφα, και μια ερώτηση για την
οποία υπάρχουν 80 συναφή έγγραφα.
Η απάντηση που μας δίνει το ΣΑΕ έχει 60 έγγραφα από τα οποία
τα 20 είναι συναφή και τα 40 μη συναφή.
Β. Ταμπακάς 32
Ακρίβεια και Ανάκληση (1/2)
TP
TN FN FP
Β. Ταμπακάς 33
Ακρίβεια και Ανάκληση (2/2)
Recall (R) – Ανάκληση είναι το ποσοστό των συναφών
εγγράφων που ανακτώνται
R = TP / ( TP + FN )
TP
TN FN FP
Β. Ταμπακάς 34
Έστω μια συλλογή με 1.000.120 έγγραφα, και μια ερώτηση για την
οποία υπάρχουν 80 συναφή έγγραφα.
Η απάντηση που μας δίνει το ΣΑΕ έχει 60 έγγραφα από τα οποία
τα 20 είναι συναφή και τα 40 μη συναφή.
Β. Ταμπακάς 35
Ακρίβεια vs Ανάκληση
P = σωστά ανακτώμενα / συνολικά ανακτώμενα
R = σωστά ανακτώμενα / συνολικά σχετικά
Η ανάκληση (ίσως) μπορεί να αυξηθεί με το να επιστρέψουμε
περισσότερα έγγραφα.
Η ανάκληση είναι μια μη-φθίνουσα συνάρτηση του αριθμού
των εγγράφων που ανακτώνται (Ένα σύστημα που
επιστρέφει όλα τα έγγραφα έχει ποσοστό ανάκλησης 100%!)
Β. Ταμπακάς 37
Προετοιμασία μιας ΒΔ
επεξεργασίας κειμένων
• Διαδικασία Tokenization
Αποσπώνται οι προτάσεις ή/και οι λέξεις από το κείμενο
• Διαδικασία Normalization
• Διαδικασία stopping
Οι πολύ κοινές λέξεις (π.χ. άρθρα, σύνδεσμοι, προθέσεις)
διαγράφονται
Τελικά:
Κάθε κείμενο αποτελείται από ένα σύνολο θεμάτων.
Πολλές φορές για κάθε κείμενο δημιουργείται ένας κωδικός
και στη θέση του θέματος χρησιμοποιείται ο κωδικός
38
Introduction to Information Retrieval
Β. Ταμπακάς 40
Δεικτοδότηση Αντεστραμμένου
Αρχείου (inverted file index)
• Διατηρείται ένας κατάλογο που ονομάζεται αντεστραμμένος
δείκτης.
• Ο δείκτης αυτός περιέχει όλους τους όρους που εμφανίζονται στα
κείμενα (μετά την εφαρμογή του stopping και stemming).
• Σε κάθε όρο αντιστοιχεί μια λίστα με τους κωδικούς των κειμένων
στα οποία περιέχεται αυτός ο όρος. Έτσι, η αναζήτηση των κειμένων
στα οποία βρίσκεται ο όρος αυτός γίνεται πολύ εύκολα.
Tokenizer
Linguistic modules
Indexer friend 2 4
roman 1 2
Inverted index
countryman 13 16
Παράδειγμα
Υποθέτουμε πως έχουμε τέσσερα κείμενα με τους παρακάτω
όρους:
Κ1 (ορ1, ορ2, ορ3,ορ4)
Κ2 (ορ3, ορ5, ορ6)
Κ3 (ορ1, ορ4, ορ6)
Κ4 (ορ2, ορ3, ορ7)
Τότε ο αντεστραμμένος δείκτης είναι ο παρακάτω:
ΟΡΟΣ ΚΕΙΜΕΝΑ
ΟΡ1 Κ1 Κ3
ΟΡ2 Κ1 Κ4
ΟΡ3 Κ1 Κ2 Κ4
ΟΡ4 Κ1 Κ3
ΟΡ5 Κ2
ΟΡ6 Κ2 Κ3
ΟΡ7 Κ4
43
Παράδειγμα
ΟΡΟΣ ΚΕΙΜΕΝΑ
ΟΡ1 Κ1 Κ3
ΟΡ2 Κ1 Κ4
ΟΡ3 Κ1 Κ2 Κ4
ΟΡ4 Κ1 Κ3
ΟΡ5 Κ2
ΟΡ6 Κ2 Κ3
ΟΡ7 Κ4
Β. Ταμπακάς 45
Sec. 1.2
Doc 1 Doc 2
Lists of
docIDs
Terms
and
counts
49
Pointers
Query processing
Β. Ταμπακάς 50
Introduction to Information Retrieval
2 4 8 16 32 64 128 Brutus
1 2 3 5 8 13 21 34 Caesar
51
Introduction to Information Retrieval
The merge
Walk through the two postings simultaneously, in
time linear in the total number of postings entries
2 4 8 16 32 64 128 Brutus
2 8
1 2 3 5 8 13 21 34 Caesar
Query optimization
Brutus 2 4 8 16 32 64 128
Caesar 1 2 3 5 8 16 21 34
Calpurnia 13 16
55
Οι αδυναμίες του Boolean μοντέλου
Άκαμπτο: AND σημαίνει όλα, OR σημαίνει οποιοδήποτε
• Δυσκολίες
– Ο έλεγχος του μεγέθους της απάντησης
• All matched documents will be returned
– Ικανοποιητική ακρίβεια (precision) συχνά σημαίνει
απαράδεκτη ανάκληση (recall)
– Η διατύπωση των ερωτήσεων είναι δύσκολη για πολλούς
χρήστες
– Δεν μας λέει πώς να διατάξουμε την απάντηση
• All matched documents logically satisfy the query
–– Η υποστήριξη ανάδρασης συνάφειας δεν είναι εύκολη
• If a document is identified by the user as relevant or
irrelevant, how should the query by modified ?
Β. Ταμπακάς 56
Τα θετικά του Boolean μοντέλου
• Αποδοτική υλοποίηση
Β. Ταμπακάς 57
Vector Space Model
Το μοντέλο διανυσματικού χώρου
58
Vector Space Model με μια ματιά
• Για κάθε κείμενο, διατηρείται μια λίστα (διάνυσμα) με τους όρους που εμφανίζονται
σε αυτό (μετά την εφαρμογή του stopping και stemming).
• Η λίστα περιέχει, για κάθε όρο του κειμένου τον κωδικό του και ένα αντίστοιχο
βάρος.
• Διάφοροι τρόποι απόδοσης βαρών στους όρους: π.χ. συνδυασμός της
συχνότητας εμφάνισης του όρου στο συγκεκριμένο κείμενο, του αριθμού των
κειμένων που περιέχουν αυτόν τον όρο και του συνολικού αριθμού των κειμένων
στη συλλογή.
• Το διάνυσμα περιέχει και τους όρους που δεν συμμετέχουν καθόλου στο κείμενο
(αλλά υπάρχουν σε κάποια από τα υπόλοιπα κείμενα της συλλογής) με βάρος
μηδέν.
• Κάθε κείμενο επομένως αναπαρίσταται από ένα διάνυσμα σταθερού μήκους. Σε
κάθε τέτοιο διάνυσμα η σειρά του κάθε όρου είναι σταθερή, άρα μπορούν να
παραλειφθούν οι κωδικοί τους. Για παράδειγμα το διάνυσμα της μορφής
Κ9= {2, 3, 0, …}
σημαίνει πως στο κείμενο 9, ο 1ος όρος έχει βάρος 2, ο 2ος όρος έχει βάρος 3, ο
3ος όρος έχει βάρος 0 κ.ο.κ.
Β. Ταμπακάς 60
Vector Space Model
Παράδειγμα
Έστω μια βάση δεδομένων μιας υποθετικής βιβλιοθήκης. Τα βιβλία ξεχωρίζουν
από τις λέξεις κλειδιά που καθορίζουν το περιεχόμενο κάθε βιβλίου, π.χ.
{Μαθηματικά, Φυσική, Ιστορία, κλπ}. Για λόγους διαγραμματικής αναπαράστασης
του μοντέλου θα περιοριστούμε σε τρία μόνο αντικείμενα: {Μαθηματικά, Φυσική,
και Πληροφορική}. Έστω ότι ένα βιβλίο αναφέρεται μόνο σε μαθηματικά (κείμενο
d1), ένα άλλο βιβλίο αποκλειστικά σε φυσική (κείμενο d2) και ένα τρίτο
αναφέρεται κατά 30% για μαθηματικά και κατά 70% σε πληροφορική (κείμενο
d3). Τα κείμενα αυτά στις τρεις διαστάσεις (Μαθηματικά, Φυσική, Πληροφορική)
μπορούν να παρασταθούν με διανύσματα ως εξής:
d1=(1, 0, 0)
d2=(0, 1, 0)
d3=(0.3, 0, 0.7)
61
Ερώτημα: Αναζητούμε ένα βιβλίο το οποίο αναφέρεται κατά 50% σε
Μαθηματικά και 50% σε πληροφορική.
q=(0.5, 0, 0.5)
Β. Ταμπακάς 62
d1=(1, 0, 0)
d2=(0, 1, 0)
d3=(0.3, 0, 0.7)
q=(0.5, 0, 0.5)
Παρατηρήσεις:
1. Δυο έννοιες που σχηματίζουν γωνία 90 μοιρών είναι ξένες μεταξύ τους (π.χ. τα
βιβλία d1 και d2).
2. Δυο έννοιες που σχηματίζουν γωνία 0 μοιρών ταυτίζονται.
3. Επομένως μπορούμε να μετρήσουμε τη σχετικότητα δυο διανυσμάτων
(εννοιών – κειμένων) μετρώντας το συνημίτονο της γωνίας φ που
σχηματίζουν
Συνφ=0 κείμενα άσχετα
Συνφ=1 κείμενα ίδια
63
d1=(1, 0, 0)
d2=(0, 1, 0)
d3=(0.3, 0, 0.7)
q=(0.5, 0, 0.5)
Παρατηρήσεις:
4. Όλα τα διανύσματα των βιβλίων αποτελούν τη βάση δεδομένων της
βιβλιοθήκης – δηλαδή, ένα πίνακα, D (3xΝ) όπου 3 είναι το πλήθος των όρων
και Ν το πλήθος των κειμένων.
5. Για κάθε διάνυσμα της βάσης δεδομένων μπορούμε να μετρήσουμε την
απόσταση μεταξύ των διανυσμάτων των βιβλίων και του ερωτήματος, q, από
την γωνία την οποία σχηματίζουν.
64
Υπενθύμιση για το Διανυσματικό Λογισμό ….
Εσωτερικό Γινόμενο δύο μη μηδενικών διανυσμάτων
Β. Ταμπακάς 65
d1=(1, 0, 0)
d2=(0, 1, 0)
d3=(0.3, 0, 0.7)
q=(0.5, 0, 0.5)
66
d1=(1, 0, 0)
d2=(0, 1, 0)
d3=(0.3, 0, 0.7)
q=(0.5, 0, 0.5)
1. for each di ∈ D
2. calculate cos(di, q);
3. sort di by cos(di,q);
68
Το Μοντέλο Διανυσματικού Χώρου
Μια πιο λεπτομερής ματιά
Β. Ταμπακάς 69
Αναπαράσταση ενός κειμένου ως ένα δυαδικό διάνυσμα
Β. Ταμπακάς 70
Αναπαράσταση ενός κειμένου ως ένα διάνυσμα συχνοτήτων
Β. Ταμπακάς 71
Bag of words model
John is quicker than Mary and Mary is quicker than John are
represented the same way.
Β. Ταμπακάς 72
Term frequency (tf or TF)
Β. Ταμπακάς 74
Επομένως η «κανονικοποιημένη» TF πρέπει να
ληφθεί υπόψη στον υπολογισμό του βάρους κάθε
λέξης ενός κειμένου
Β. Ταμπακάς 75
Frequency in document vs. frequency in collection
Β. Ταμπακάς 76
Desired weight for rare terms
Β. Ταμπακάς 77
Desired weight for rare terms
Β. Ταμπακάς 79
idf (Inverse Document Frequency) weight (or IDF)
dft is the document frequency, the number of documents
that t occurs in.
dft is an inverse measure of the informativeness of term
t.
We define the idf weight of term t as follows:
Β. Ταμπακάς 81
Examples for idf
Β. Ταμπακάς 82
Collection frequency vs. Document frequency
Β. Ταμπακάς 83
tf-idf weighting (or TF – IDF)
The tf-idf weight of a term is the product of its tf weight
and its idf weight
Β. Ταμπακάς 84
Summary: tf-idf
tf-idf weighting
Assign a tf-idf weight for each term t in each document d:
Β. Ταμπακάς 86
Binary incidence matrix (Δυαδικός πίνακας ενδεχομένων)
Β. Ταμπακάς 87
Count matrix (Πίνακας συχνοτήτων)
Β. Ταμπακάς 88
weight matrix (πίνακας βαρών)
Β. Ταμπακάς 89
TF – IDF and VECTOR SPACE MODEL
Β. Ταμπακάς 90
Documents as vectors
Β. Ταμπακάς 92
How do we formalize vector space similarity?
Β. Ταμπακάς 93
Why distance is a bad idea
Β. Ταμπακάς 94
Use angle instead of distance
Rank documents according to angle with query
Β. Ταμπακάς 95
From angles to cosines
…Use angle instead of distance
Β. Ταμπακάς 96
Cosine similarity between query and document
Β. Ταμπακάς 97
Cosine similarity
Β. Ταμπακάς 98
Cosine similarity
Β. Ταμπακάς 99
Cosine similarity
Β. Ταμπακάς 100
Cosine similarity
= 4,58
=<0,33, 0,66, 0,66)
Β. Ταμπακάς 101
Παράδειγμα
Βρείτε τη συνάφεια των παρακάτω διηγημάτων με βάση τους
συγκεκριμένους όρους / λέξεις
Διηγήματα
SaS: Sense and Sensibility
PaP: Pride and Prejudice
WH: Wuthering Heights
Όροι
Affection Jealous Gossip Wuthering
Β. Ταμπακάς 102
Παράδειγμα
Β. Ταμπακάς 103
Παράδειγμα
Β. Ταμπακάς 104
Παράδειγμα
Για παράδειγμα:
cos(SaS,PaP) ≈ 0.789 ∗ 0.832 + 0.515 ∗ 0.555 + 0.335 ∗ 0.0 + 0.0 ∗ 0.0 ≈ 0.94
cos(PaP,WH) ≈ 0.69
Β. Ταμπακάς 105
Notations
Notation: ddd.qqq
Example: lnc.ltn
Document: lnc
l logarithmic tf, n no df weighting, c cosine normalization
Query: ltn
l logarithmic tf, t idf, n no normalization
Β. Ταμπακάς 106
Παράδειγμα
Συμπληρώστε τον παρακάτω πίνακα για το ερώτημα “best car
insurance” και για το κείμενο: “car insurance auto insurance” με βάση το
lnc.ltn notation.
Β. Ταμπακάς 107
Παράδειγμα
Β. Ταμπακάς 108
Μετά το TF – IDF + VSM τι υπάρχει;
Β. Ταμπακάς 109
The Probability Ranking
Principle (PRP)
“If a reference retrieval system’s response to each request is a
ranking of the documents in the collection in order of
decreasing probability of relevance to the user who submitted
the request, where the probabilities are estimated as
accurately as possible on the basis of whatever data have
been made available to the system for this purpose, the
overall effectiveness of the system to its user will be the best
that is obtainable on the basis of those data.”
112