Σύστημα αυτόματης κατασκευής και επίλυσης σταυρολέξων
Η διπλωματική αυτή εργασία πραγματεύεται την αυτόματη κατασκευή και επίλυση θεματικών σταυρολέξων στην αγγλική γλώσσα μέσω εφαρμογής στο διαδικτυακό ιστό (Web). Το πρόβλημα αυτό αποτελείται απο τη διάκριση τριών υποπροβλημάτων όσον αφορά την δημιουργία του αλγορίθμου. Το πρώτο είναι η συμπλήρωση των...
Κύριος συγγραφέας: | |
---|---|
Άλλοι συγγραφείς: | |
Γλώσσα: | Greek |
Έκδοση: |
2021
|
Θέματα: | |
Διαθέσιμο Online: | http://hdl.handle.net/10889/15068 |
id |
nemertes-10889-15068 |
---|---|
record_format |
dspace |
institution |
UPatras |
collection |
Nemertes |
language |
Greek |
topic |
Θεματικά σταυρόλεξα Τεχνητή νοημοσύνη Παιχνίδια Theme crosswords puzzles Artificial Intelligence Games |
spellingShingle |
Θεματικά σταυρόλεξα Τεχνητή νοημοσύνη Παιχνίδια Theme crosswords puzzles Artificial Intelligence Games Καραθανάσης, Σπυρίδων Σύστημα αυτόματης κατασκευής και επίλυσης σταυρολέξων |
description |
Η διπλωματική αυτή εργασία πραγματεύεται την αυτόματη κατασκευή και επίλυση θεματικών σταυρολέξων στην αγγλική γλώσσα μέσω εφαρμογής στο διαδικτυακό ιστό (Web). Το πρόβλημα αυτό αποτελείται απο τη διάκριση τριών υποπροβλημάτων όσον αφορά την δημιουργία του αλγορίθμου. Το πρώτο είναι η συμπλήρωση των λευκών κελιών ενός τετραγώνου του πλέγματος με γράμματα, ώστε να σχηματιστούν από τη μία έγκυρες, ταυτόχρονα όμως και θεμιτό ποσοστό από θεματικές λέξεις και στις δύο κατευθύνσεις, δηλαδή οριζοντίως και καθέτως. Το δεύτερο πρόβλημα είναι η συμπλήρωση των μαύρων κελιών για τα οποία υπάρχουν κάποιες προϋποθέσεις ώστε να διευκολύνει μεν την κατασκευή, από την άλλη να μην χαλάει τον πόλο έλξης του λύτη για την επίλυση του σταυρολέξου. Τρίτο πρόβλημα, είναι η δημιουργία κατάλληλων εννοιών - ορισμών που θα δώσουν στον λύτη μία κατεύθυνση για να μπορέσει να μαντέψει την απάντηση.
Το πρώτο πρόβλημα αντιμετωπίστηκε ως ένα πρόβλημα ικανοποίησης περιορισμών (SCP), δηλαδή ένας αλγόριθμος με μεταβλητές τα μη συμπληρωμένα μπλοκ λευκών κελιών πάνω στο πλέγμα και περιορισμούς το μήκος των λέξεων και το εκάστοτε σχηματισμό της λέξης. Έτσι, για την υλοποίηση χρησιμοποιήθηκε κατά βάση ένας αλγόριθμος, ο οποίος επιλέγει μια στρατηγική γεμίσματος μπλοκ και μετά μια στρατηγική επιλογής λέξης. Η σειρά επιλογής μπλοκ ξεκινάει με το γέμισμα των τριών πρώτων θεματικών μπλοκ. Οι λέξεις αντλούνται από το λεξικό θησαυρός WordNet, αλλά και από το παγκόσμιο διαδικτυακό ιστό μέσω της διαδικασίας εύρεσης σχετικών λέξεων από την αναζήτηση του θέματος. Ο αλγόριθμος, στη διαδικασία επιλογής λέξεων εκτελεί έλεγχο συνέπειας και χρησιμοποιεί τρεις διαφορετικούς τρόπους για την ολοκλήρωση του σε περίπτωση που φτάσει σε αδιέξοδο και πριν επιστρέψει στο προηγούμενο μπλοκ (backtracking), όπως η χαλάρωση των λέξεων ή η αντιστροφή μια λέξης.
Το δεύτερο πρόβλημα, η διαδικασία συμπλήρωσης των μαύρων κελιών, λύθηκε ως ένα πρόβλημα καλύτερου μονοπατιού επιλογής κελιών που θα μειώσουν την πολυπλοκότητα του πλέγματος κατά τη συμπλήρωση του (αλγόριθμος Dijkstra). Δηλαδή αρχικά επιλέγει τον τυχαίο αριθμό που θα συμπληρώσει τα συμμετρικά κελιά και σε κάθε τοποθέτηση αυτών βρίσκει τα διαθέσιμα κελιά για συμπλήρωση στο πλέγμα με βάση τους περιορισμούς του σταυρολέξου.
Το τρίτο πρόβλημα, η δημιουργία του εννοιών - ορισμών διεκπεραιώθηκε με την άντληση κυρίως από τα δεδομένα του λεξικού WordNet αλλά και την αναζήτηση μέσω του Google Spider. Για κάθε απάντηση που δημιουργήθηκε στο πλέγμα αναζητήσαμε είτε ορισμούς είτε παραδείγματα από το λεξικό και σε περίπτωση που δεν βρέθηκε κάτι τέτοιο αναζητήσαμε τη λέξη στο διαδίκτυο ώστε να βρούμε κάποιο αντίστοιχο ορισμό ή παράδειγμα.
Η εφαρμογή αυτή κατάφερε να ανταποκριθεί σε πολλές δοκιμές διαφόρων μεγεθών σταυρολέξου (11x11, 13x13, 15x15) και ο αλγόριθμος να κριθεί αποδοτικός. Τελικός σκοπός ήταν η αξιοπιστία και η εγκυρότητα του σταυρολέξου, όπου με βάση τις παραμέτρους του χρήστη πραγματοποιείται η αυτόματη κατασκευή, όπου και το καταφέραμε. Για τις στρατηγικές απόφασης σε κάθε βήμα του αλγορίθμου, έχει γίνει συγκριτική αξιολόγηση όλων των δεδομένων που είχαμε και καταλήξαμε στους καλύτερους δυνατούς συνδυασμούς. |
author2 |
Karathanasis, Spyridon |
author_facet |
Karathanasis, Spyridon Καραθανάσης, Σπυρίδων |
author |
Καραθανάσης, Σπυρίδων |
author_sort |
Καραθανάσης, Σπυρίδων |
title |
Σύστημα αυτόματης κατασκευής και επίλυσης σταυρολέξων |
title_short |
Σύστημα αυτόματης κατασκευής και επίλυσης σταυρολέξων |
title_full |
Σύστημα αυτόματης κατασκευής και επίλυσης σταυρολέξων |
title_fullStr |
Σύστημα αυτόματης κατασκευής και επίλυσης σταυρολέξων |
title_full_unstemmed |
Σύστημα αυτόματης κατασκευής και επίλυσης σταυρολέξων |
title_sort |
σύστημα αυτόματης κατασκευής και επίλυσης σταυρολέξων |
publishDate |
2021 |
url |
http://hdl.handle.net/10889/15068 |
work_keys_str_mv |
AT karathanasēsspyridōn systēmaautomatēskataskeuēskaiepilysēsstaurolexōn AT karathanasēsspyridōn automaticconstructionandcrosswordsolvingsystem |
_version_ |
1771297280561774592 |
spelling |
nemertes-10889-150682022-09-05T20:32:56Z Σύστημα αυτόματης κατασκευής και επίλυσης σταυρολέξων Automatic construction and crossword solving system Καραθανάσης, Σπυρίδων Karathanasis, Spyridon Θεματικά σταυρόλεξα Τεχνητή νοημοσύνη Παιχνίδια Theme crosswords puzzles Artificial Intelligence Games Η διπλωματική αυτή εργασία πραγματεύεται την αυτόματη κατασκευή και επίλυση θεματικών σταυρολέξων στην αγγλική γλώσσα μέσω εφαρμογής στο διαδικτυακό ιστό (Web). Το πρόβλημα αυτό αποτελείται απο τη διάκριση τριών υποπροβλημάτων όσον αφορά την δημιουργία του αλγορίθμου. Το πρώτο είναι η συμπλήρωση των λευκών κελιών ενός τετραγώνου του πλέγματος με γράμματα, ώστε να σχηματιστούν από τη μία έγκυρες, ταυτόχρονα όμως και θεμιτό ποσοστό από θεματικές λέξεις και στις δύο κατευθύνσεις, δηλαδή οριζοντίως και καθέτως. Το δεύτερο πρόβλημα είναι η συμπλήρωση των μαύρων κελιών για τα οποία υπάρχουν κάποιες προϋποθέσεις ώστε να διευκολύνει μεν την κατασκευή, από την άλλη να μην χαλάει τον πόλο έλξης του λύτη για την επίλυση του σταυρολέξου. Τρίτο πρόβλημα, είναι η δημιουργία κατάλληλων εννοιών - ορισμών που θα δώσουν στον λύτη μία κατεύθυνση για να μπορέσει να μαντέψει την απάντηση. Το πρώτο πρόβλημα αντιμετωπίστηκε ως ένα πρόβλημα ικανοποίησης περιορισμών (SCP), δηλαδή ένας αλγόριθμος με μεταβλητές τα μη συμπληρωμένα μπλοκ λευκών κελιών πάνω στο πλέγμα και περιορισμούς το μήκος των λέξεων και το εκάστοτε σχηματισμό της λέξης. Έτσι, για την υλοποίηση χρησιμοποιήθηκε κατά βάση ένας αλγόριθμος, ο οποίος επιλέγει μια στρατηγική γεμίσματος μπλοκ και μετά μια στρατηγική επιλογής λέξης. Η σειρά επιλογής μπλοκ ξεκινάει με το γέμισμα των τριών πρώτων θεματικών μπλοκ. Οι λέξεις αντλούνται από το λεξικό θησαυρός WordNet, αλλά και από το παγκόσμιο διαδικτυακό ιστό μέσω της διαδικασίας εύρεσης σχετικών λέξεων από την αναζήτηση του θέματος. Ο αλγόριθμος, στη διαδικασία επιλογής λέξεων εκτελεί έλεγχο συνέπειας και χρησιμοποιεί τρεις διαφορετικούς τρόπους για την ολοκλήρωση του σε περίπτωση που φτάσει σε αδιέξοδο και πριν επιστρέψει στο προηγούμενο μπλοκ (backtracking), όπως η χαλάρωση των λέξεων ή η αντιστροφή μια λέξης. Το δεύτερο πρόβλημα, η διαδικασία συμπλήρωσης των μαύρων κελιών, λύθηκε ως ένα πρόβλημα καλύτερου μονοπατιού επιλογής κελιών που θα μειώσουν την πολυπλοκότητα του πλέγματος κατά τη συμπλήρωση του (αλγόριθμος Dijkstra). Δηλαδή αρχικά επιλέγει τον τυχαίο αριθμό που θα συμπληρώσει τα συμμετρικά κελιά και σε κάθε τοποθέτηση αυτών βρίσκει τα διαθέσιμα κελιά για συμπλήρωση στο πλέγμα με βάση τους περιορισμούς του σταυρολέξου. Το τρίτο πρόβλημα, η δημιουργία του εννοιών - ορισμών διεκπεραιώθηκε με την άντληση κυρίως από τα δεδομένα του λεξικού WordNet αλλά και την αναζήτηση μέσω του Google Spider. Για κάθε απάντηση που δημιουργήθηκε στο πλέγμα αναζητήσαμε είτε ορισμούς είτε παραδείγματα από το λεξικό και σε περίπτωση που δεν βρέθηκε κάτι τέτοιο αναζητήσαμε τη λέξη στο διαδίκτυο ώστε να βρούμε κάποιο αντίστοιχο ορισμό ή παράδειγμα. Η εφαρμογή αυτή κατάφερε να ανταποκριθεί σε πολλές δοκιμές διαφόρων μεγεθών σταυρολέξου (11x11, 13x13, 15x15) και ο αλγόριθμος να κριθεί αποδοτικός. Τελικός σκοπός ήταν η αξιοπιστία και η εγκυρότητα του σταυρολέξου, όπου με βάση τις παραμέτρους του χρήστη πραγματοποιείται η αυτόματη κατασκευή, όπου και το καταφέραμε. Για τις στρατηγικές απόφασης σε κάθε βήμα του αλγορίθμου, έχει γίνει συγκριτική αξιολόγηση όλων των δεδομένων που είχαμε και καταλήξαμε στους καλύτερους δυνατούς συνδυασμούς. This thesis is an effort to develop an automatic system construction of mainly theme crosswords puzzles in the English language on the Web. This problem is separated into three different sub-problems. The first is the completion of white cells with letters in order to appear valid and theme words in both directions of the grid, horizontal and vertical. The second problem is the completion of black squares in a way that can make an easily generated format but also do not reduce the aesthetic of the puzzle for a solver. The third problem is the construction of appropriate clues for the words in the grid. These clues describe and help the solver to guess the answers of crossword puzzles. The first part of the problem's approach was a constraint satisfaction problem (CSP), where variables are the incomplete white cell blocks on the grid and restrictions are the length and pattern of the block. We designed an algorithm, which in every iteration chooses a strategy to fill in a block, and a strategy to pick a word from a list of availables. The order of filling the blocks starts with the first three standard theme blocks. The words derive from the lexical thesaurus database WordNet and the Web with the crawling google search. The algorithm at the end of loop execution performs a consistency check and makes a decision to use three different cases in this step. To backatrack or to apply a loose or a reverse word technique. The black boxes problem is a procedure of the Dijkstra algorithm. It is an approach to fill the grid with a random number of blacks in the best spots that will reduce the complexity of the recursion algorithm afterwards. At every placement of the blackboxes algorithm search the availability of the rests and within the restrictions paste them diagonally symmetrically. In order to solve the third problem, the clue’s construction we used the WordNet thesaurus and the Google spider. In every existing answer of the grid, we searched for definitions and examples in the WordNet database and in case we were not found anything of the previous meanings we searched for definitions on the Web. This application system was responded to in many different dimensions of grid (11x11, 13x13, 15x15) and the algorithm judged as efficient. The target of developing this automated system was firstly the reliability and the validity of the crosswords, where based on the user input parameters. The outcome of the evaluation was to identify which is the best combination of the various fill and pick strategies in the theme generated. 2021-07-22T05:46:09Z 2021-07-22T05:46:09Z 2021-07-16 http://hdl.handle.net/10889/15068 gr application/pdf winzip/winrar |