Σκοπός της παρούσας μεταπτυχιακής εργασίας είναι η μελέτη και η αξιολόγηση των δυνατοτήτων προηγμένης σημασιολογικής αναζήτησης (advanced semantic search) πάνω σε περιεχόμενο που προέρχεται από το Διαδικτύο. Στα πλαίσια της εργασίας, σχεδιασθηκε και υλοποιήθηκε υποσύστημα, το οποίο ενσωματώθηκε και αξιολογήθηκε πάνω στο μηχανισμό peRSSonal ο οποίος ανακτά, επεξεργάζεται και παρουσιάζει στους χρήστες του άρθρα και υλικό από διάφορες ειδησεογραφικές πύλες (news portals) του Διαδικτύου, προσαρμόζοντάς τα στις προσωπικές επιλογές του χρήστη. Η αναζήτηση παραμετροποιείται με στοιχεία όπως: χρονικό πλαίσιο δημοσίευσης τού υλικού (διάστημα από – έως), κατηγορία (πρότυπες κατηγορίες του συστήματος peRSSonal), φυσική γλώσσα στην οποία είναι γραμμένο καθώς και δυνατότητα για στατικό ή σημασιολογικό (εννοιολογικό) ταίριασμα (semantic matching) με τα άρθρα της βάσης.
Αρχικά, από την επερώτηση (query) του χρήστη δημιουργείται ένα σύνολο ριζών (stems) των λέξεων οι οποίες δόθηκαν. Η εξαγωγή των ριζών εκτελείται με υποβοήθηση από stemming αλγορίθμο για την αγγλική γλώσσα, ενώ ο σχεδιασμός του συστήματος προβλέπει και τη μελλοντική υποστήριξη διαφορετικών φυσικών γλωσσών καταβάλλοντας μικρό κόπο. Για τις λεκτικές ρίζες που προκύπτουν, εντοπίζονται σχετικές τους και ταυτόχρονα με τη διαδικασία αυτή διενεργείται αναζήτηση στη βάση δεδομένων για κωδικολέξεις (keywords) με βάση την κατηγορία του άρθρου, ούτως ώστε να εμπλουτιστεί το ερώτημα του χρήστη με επιπλέον πληροφορία, καθιστώντας πιο επιτυχημένη και στοχευμένη την αναζήτηση στην πληθώρα των άρθρων που υπάρχουν αποθηκευμένα στη βάση δεδομένων. Για αυτές τις κωδικολέξεις υπολογίζονται συντελεστές – βάρη που θα προσδιορίζουν τη συνάφειά τους με την επερώτηση του χρήστη.
Ανάλογα με τον τύπο της αναζήτησης, στατική η σημασιολογική, το υποσύστημα αναζήτησης συγκρίνει την επερώτηση του χρήστη με τα αποθηκευμένα άρθρα και για κάθε ένα από αυτά, ο αλγόριθμος υπολογίζει το βαθμό συνάφειάς του με την επερώτηση. Τα άρθρα που επιλέγονται τελικά είναι αυτά που ξεπερνούν ένα κατώφλι συνάφειας, το οποίο τα κατατάσσει εννοιολογικά πιο κοντά στην επερώτηση του χρήστη. Σημαντικό σημείο στο στάδιο αυτό, είναι η δυνατότητα, για τους εγγεγραμένους χρήστες της Δικτυακής Πύλης, να εκτελείται περεταίρω φιλτράρισμα πάνω στο πρωτογενές αποτέλεσμα, βάσει των προσωπικών τους επιλογών καθώς και πληροφορίας που προέρχεται από τη βάση δεδομένων και που διαμορφώνεται δυναμικά από την παρατήρηση της γενικής συμπεριφοράς των χρηστών κατά την πλοήγηση τους μέσα στον σύστημα (χρόνος παραμονής στα άρθρα, άρθρα που δεν προτιμώνται, συχνότητα επιλογής άρθρων από μια δεδομένη θεματική ενότητα κλπ). Σκοπός είναι η εξαγωγή πιο στοχευμένου συνόλου άρθρων που ικανοποιεί τελικά περισσότερο τον χρήστη.
Τέλος, για την βελτίωση της απόδοσης του συστήματος, σχεδιάστηκε και υλοποιήθηκε αλγόριθμος που εκτελεί caching στα αποτελέσματα των επερωτήσεων. Με τον τρόπο αυτό, κάθε νέα αναζήτηση θα λαμβάνει πολύ πιο γρήγορα τα cached αποτελέσματα προγενέστερων παρόμοιων αναζητήσεων, ξοδεύοντας το χρόνο στα πιο πρόσφατα άρθρα. Το caching εκτελείται δυναμικά, τροποποιώντας σε κάθε επερώτηση που υποβάλλεται τα αντίστοιχα cached αποτελέσματα και μεταβάλλοντας τις προτεραιότητές τους και τα βάρη τους, ώστε να οδηγεί την έξοδο ολοένα και πιο κοντά στα επιθυμητά άρθρα και παραμένοντας πιο κοντά στο εξελισόμενο προφίλ και στις προτιμήσεις του χρήστη.
Μέσα από την εργασία, προέκυψαν αποτελέσματα που έχουν να κάνουν με σύγκριση αλγορίθμων σε όλα τα παραπάνω στάδια του μηχανισμού αλλά και ανταπόκριση του μηχανισμού στις ανάγκες του χρήστη. / The scope of the present MSc Thesis is the study and the evaluation of the features provided by an advanced semantic search over digital content which comes from the Internet. For the purposes of our work, we designed and implemented a module (subsystem), which was embedded and evaluated on the PeRSSonal news portal. The PeRSSonal news portal retrieves, processes and presents to the end user articles and other content from major News Portals of the Internet by adapting on the user’s personal preferences and profile. For the search procedure, parameters such as the date interval, the thematic category and the article’s language are used. Furthermore it is possible to use static or dynamic (semantic) matching with the articles of the database.
In the first phase of the procedure, from the query that the user submitted we create a set of keywords, which are the stemmed words of the words described in the initial query. The extraction stemmed words is executed by an algorithm which implements the Porter Stemmer technique. The system currently supports the English language in the search procedure but its modular architecture allows for the support of other languages as well with little effort. For the keywords produced with this procedure, we locate their synonyms and in the same time a search in the database is conducted in order to find other keywords based on the thematic category of the submitted query. This second set of keywords enriches the first set thus making the search more focused on the thematic category the user chose. For these keywords that enrich the initial query, weights are computed based on their relation with the keywords of the initial query.
Based on the type of the search (static or semantic), the search subsystem compares the enriched set of keywords with the articles stored in the database and for each one of these articles which match to the keywords of the query, a degree of relevance is computed. The articles that are selected to be in the final result are the ones that surpass a specific threshold of relevance which semantically brings them close to the user query. A significant point during this phase of the procedure is the possibility to execute for the registered users of the PeRSSonal portal a more detailed filtering on the primal result based on their personal preferences and data that is produced dynamically by observing their behavior (time they spend on the articles, not preferred articles, frequency of selecting a specific thematic category) in the system, during the sessions in that. The goal is the creation of a more focused result on the end user which satisfies him more.
In the final phase of the algorithm, and in order to optimize the algorithm’s performance, we design and implement an algorithm which uses cache memory in the form of a database table and runs on the server machine. For each query that is submitted to the system, we store the retrieved results in this table and in the future queries, prior to triggering the search procedure, we compare the queries with the cached ones.In this way, every new search that already has a match in the cache table will consume much less time to execute as it will search only for articles which are not found in the cache. The caching algorithm is executed dynamically by modifying for every submitted query the cached results and by changing their priorities and their relevance weights in order to include in the output the desired articles and to stay closer to the user’s profile and preferences.
From the experimental results of this work we had the chance to draw useful conclusions by the comparison of different algorithmic approaches for all the stages of the mechanism and by the response and performance of the algorithm as faced by the end user.
Identifer | oai:union.ndltd.org:upatras.gr/oai:nemertes:10889/3739 |
Date | 21 September 2010 |
Creators | Σιλιντζήρης, Παναγιώτης |
Contributors | Μπούρας, Χρήστος, Μπούρας, Χρήστος, Γαροφαλάκης, Ιωάννης, Χριστοδουλάκης, Δημήτριος |
Source Sets | University of Patras |
Language | gr |
Detected Language | Greek |
Type | Thesis |
Rights | 0 |
Relation | Η ΒΚΠ διαθέτει αντίτυπο της διατριβής σε έντυπη μορφή στο βιβλιοστάσιο διδακτορικών διατριβών που βρίσκεται στο ισόγειο του κτιρίου της. |
Page generated in 0.0021 seconds