Επικοινωνία Ανθρώπου Υπολογιστή Β1. Εισαγωγή στη γλωσσική τεχνολογία, γλωσσικά μοντέλα, διόρθωση και πρόβλεψη κειμένου (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/
Οι διαφάνειες αυτές βασίζονται εν μέρει σε ύλη του βιβλίου Speech and Language Processing των D. Jurafsky και J.H. Martin, 2 η έκδοση, Pearson Education, 2009. 2
Τι θα ακούσετε Εισαγωγή στη Γλωσσική Τεχνολογία Γλωσσικά μοντέλα n-γραμμάτων. Εκτιμήσεις πιθανοτήτων n-γραμμάτων. o Εξομάλυνση Laplace. o Υπαναχώρηση Katz (Katz backoff). Απόσταση διόρθωσης (edit distance). Διόρθωση ορθογραφικών λαθών. Έξυπνα πληκτρολόγια (π.χ. κινητών). 3
Μηχανική μετάφραση Δείτε τα βίντεο: http://t.co/a3upow0d http://t.co/ajarbsx1jw http://t.co/wathtqdbmo
Εξόρυξη γνώμης Παράδειγμα από τη διπλωματική εργασία της Ι. Λάζαρη (2011). Εξαγωγή των πιο συζητούμενων χαρακτηριστικών των προϊόντων και συναισθήματος από κριτικές, tweets κλπ. Βλ. και http://alt.qcri.org/semeval2016/task5/. 5
Συστήματα ερωταποκρίσεων Το σύστημα Watson της IBM κέρδισε το 2011 τον τελικό του τηλεπαιχνιδιού ερωταποκρίσεων Jeopardy! o Υπάρχουν στον Ιστό πολλά βίντεο για το σύστημα. o Βλ. π.χ. http://www.youtube.com/watch?v=wfr3lom_xhe
Συστήματα ερωταποκρίσεων 7
Παραγωγή κειμένων σε κινητά Touring Machine (Γιώργος Καρακατσιώτης και Βαγγέλης Πτερνέας, Τμήμα Πληροφορικής, ΟΠΑ). Κέρδισε το ελληνικό Imagine Cup της Microsoft το 2010 και τον τελικό της κατηγορίας interoperability του διεθνούς Imagine Cup το 2011. Τα κείμενα παράγονται από μια οντολογία OWL της Αγοράς της Αθήνας, που κατασκευάστηκε στη διάρκεια του IST INDIGO (www.ics.forth.gr/indigo/) βάσει στοιχείων του ΙΜΕ.
Γλωσσική τεχνολογία Αυτόματη ανάλυση και παραγωγή γραπτών ή προφορικών εκφράσεων φυσικής γλώσσας. o o o o o o o Αυτόματη διόρθωση κειμένων, έξυπνα πληκτρολόγια. Μηχανική μετάφραση, πλέον και προφορικού λόγου. Διήθηση μηνυμάτων (π.χ. φίλτρα spam, tweets). Εξαγωγή πληροφοριών ή εξόρυξη γνώμης από κείμενα. Συστήματα ερωταποκρίσεων (π.χ. αναζήτηση πληροφοριών σε άρθρα βιοϊατρικής). Συστήματα προφορικών διαλόγων (π.χ. κρατήσεις εισιτηρίων, διάλογοι πλοήγησης σε αυτοκίνητο). Συστήματα αυτόματης παραγωγής κειμένων (π.χ. περιγραφές προϊόντων ή εκθεμάτων σε πολλές γλώσσες).
Γλωσσική τεχνολογία Πολύ σημαντική και στα πληροφοριακά συστήματα οργανισμών. o o Πολύ μεγάλο μέρος των γνώσεων των οργανισμών είναι διατυπωμένο σε φυσική γλώσσα (κανονισμοί, νόμοι, πατέντες, τεχνικές αναφορές, πρακτικά συναντήσεων, αλληλογραφία, εγχειρίδια κ.λπ.). Πολύ μεγάλο μέρος της επικοινωνίας με τους χρήστες/πελάτες γίνεται μέσω φυσικής γλώσσας (προφορικοί διάλογοι σε τηλεφωνικά κέντρα, ιστοσελίδες με περιγραφές προϊόντων, ηλεκτρονική αλληλογραφία, ιστολόγια, κοινωνικά δίκτυα κ.λπ.).
Πολλοί συναφείς όροι Επεξεργασία φυσικής γλώσσας (natural language processing): o o Κύριος στόχος η δημιουργία υπολογιστικών συστημάτων που να κατανοούν ή να παράγουν γραπτές εκφράσεις ΦΓ. Συνήθως θεωρείται υποτομέας της Τεχνητής Νοημοσύνης. Υπολογιστική γλωσσολογία (computational linguistics): o o Επίσης κυρίως γραπτή ΦΓ, κύριος στόχος η δημιουργία υπολογιστικών μοντέλων γλωσσολογικών θεωριών, αλλά στην πράξη συνώνυμο της ΕΦΓ. Την τελευταία (τουλάχιστον) δεκαετία πιο κοντά στην Πληροφορική παρά στη Γλωσσολογία. Γλωσσική τεχνολογία (human language technology): o Λιγότερο καθιερωμένος όρος, συνήθως περιλαμβάνει και τεχνολογίες αναγνώρισης και σύνθεσης φωνής, έμφαση στη δημιουργία χρήσιμων υπολογιστικών συστημάτων.
Γλωσσικά μοντέλα Πόσο πιθανό είναι να συναντήσουμε (π.χ. σε κείμενα εφημερίδων) τις ακολουθίες λέξεων: o «Η κυβέρνηση γνώρισε από τις ενάρξεις του 2009 ότι η κατάσταση αντιμετώπισε το φάσμα της χρεοκοπίας.» o «Η κυβέρνηση γνώριζε από τις ενάρξεις του 2009 ότι η χώρα αντιμετώπιζε το φάσμα της χρεοκοπίας.» o «Η κυβέρνηση γνώριζε από τις αρχές του 2009 ότι η χώρα αντιμετώπιζε το φάσμα της χρεοκοπίας.» Σε πολλές εφαρμογές παράγονται υποψήφιες προτάσεις. Θέλουμε να κρατήσουμε τις πιο πιθανές. o Μηχανική μετάφραση, αναγνώριση ομιλίας, οπτική αναγνώριση χαρακτήρων, πληκτρολόγηση σε κινητά, ορθογραφικός έλεγχος, κανονικοποίηση/διόρθωση κειμένων κοινωνικών δικτύων
Μοντέλα n-γραμμάτων Συμβολισμός για ακολουθία λέξεων: n-γραμμα: ακολουθία n συνεχόμενων λέξεων. o 3-γράμματα: «η κυβέρνηση γνώρισε», «κυβέρνηση γνώρισε από», «γνώρισε από τις»,,... o 2-γράμματα: «η κυβέρνηση», «κυβέρνηση γνώρισε», «γνώρισε από», «από τις», «τις ενάρξεις»,... o Σε άλλες περιπτώσεις, n-γράμματα χαρακτήρων. Κανόνας αλυσίδας: w, w,, w w k 1 2 k 1 P( w ) P( w,, w ) P( w ) P( w w ) k 1 1 k 1 2 1 P( w w, w ) P( w w ) P( w w ) 3 k 1 3 1 2 4 1 k 1
Μοντέλα n-γραμμάτων συνέχεια Εκτιμήσεις μεγίστης πιθανοφάνειας π.χ. από σώμα κειμένων με συνολικά C εμφανίσεις (tokens) λέξεων: P P MLE (η) MLE c(η) c(η, κυβέρνηση) PMLE (κυβέρνηση η) C c(η) c(η, κυβέρνηση, γνώρισε) (γνώρισε η, κυβέρνηση) c(η, κυβέρνηση) Πολλά 3-γράμματα και ακόμα περισσότερα 4-γράμματα, 5-γράμματα κλπ. θα είναι σπάνια ή δεν θα τα έχουμε ξανασυναντήσει ποτέ, ακόμα και σε μεγάλο σώμα. o Πολύ κακές ή μηδενικές εκτιμήσεις πιθανοτήτων. o Μηδενίζουν και το γινόμενο της αλυσίδας.
Υπόθεση Markov Αν θέλουμε να χρησιμοποιήσουμε 2-γράμματα: P( w ) P( w,, w ) P( w ) P( w w ) k 1 1 k 1 2 1 P( w w, w ) P( w w ) P( w w ) 3 k 1 3 1 2 4 1 k 1 P( w1 start) P( w2 w1 ) P( w3 w2 ) P( wk wk 1) Αν θέλουμε να χρησιμοποιήσουμε 3-γράμματα: P( w start, start ) P( w start, w ) P( w w, w ) 1 1 2 2 2 1 3 1 2 P( w w, w ) P( w w, w ) 4 2 3 k k 2 k 1
Εξομάλυνση Laplace Ακόμα και για μικρά n, πολλά n-γράμματα δεν θα υπάρχουν στο σώμα κειμένων. Εξομάλυνση Laplace, αν υπάρχουν συνολικά V δυνατές διαφορετικές λέξεις (όχι εμφανίσεις λέξεων): ( ) cw ( ) 1 PLaplace W w C V Προσθέτουμε μία ψευτο-εμφάνιση κάθε δυνατής διαφορετικής λέξης w, γενικότερα κάθε δυνατής τιμής της τυχαίας μεταβλητής (εδώ W). Ομοίως, π.χ. για 3-γράμματα: c( wk 2, wk 1, wk ) 1 PLaplace( W wk wk 2, wk 1) c( w, w ) V k 2 k 1 Προσθέτουμε μία εμφάνιση κάθε δυνατού 3-γράμματος που ξεκινά με w k 2, w k 1. Υπάρχουν συνολικά V τέτοια 3-γράμματα. Αλλά η εξομάλυνση Laplace δεν είναι αρκετά καλή για γλωσσικά μοντέλα
Υπαναχώρηση Katz (Katz backoff) Καταφεύγουμε σε μοντέλα n-γραμμάτων μικρότερου n, όποτε χρειάζεται. Αν χρησιμοποιούμε 3-γράμματα: P ( w w, w ) Katz k k 2 k 1 P ( w w ) Katz k k 1 Τα α χρειάζονται για να έχουμε: w k V P ( w w, w ) 1 Katz k k 2 k 1 k P( wk wk 2, wk 1), αν c( wk 2) 0 a( wk 2, wk 1) PKatz ( wk wk 1), διαφ. P( wk wk 1), αν c( wk 1, wk ) 0 a( wk 1) P( wk), διαφορετικά PKatz ( wk wk 1) 1 o Βλ. το βιβλίο των Jurafsky & Martin για τύπους υπολογισμού των α και (πολλούς) άλλους τρόπους εξομάλυνσης. w k V
Απόσταση διόρθωσης Είσοδος: δύο συμβολοσειρές (π.χ. λέξη tweet και λεξικού). Ποιο το συνολικό ελάχιστο κόστος εφαρμογών τελεστών για να μετατραπεί η μία στην άλλη. Απόσταση Levenshtein: o Τελεστές: εισαγωγή (I, κόστος 1), διαγραφή (D, κόστος 1), αντικατάσταση (R, κόστος 2). o Συχνά λέγοντας «απόσταση διόρθωσης» (edit distance) εννοούμε απόσταση Levenshtein, αλλά υπάρχουν κι άλλες. o Αν π.χ. μετατρέπουμε Greeklish σε Ελληνικά, ίσως R w, ω < R w, π. π Χ έ ζ ο ι τ α ι π α ί ζ Χ ε τ Χ ε I R D R D R Παράγεται και ευθυγράμμιση (alignment) των γραμμάτων. Ομοίως μπορούμε να ευθυγραμμίσουμε τις λέξεις δύο προτάσεων.
Διόρθωση ορθογραφικών λαθών Δύο είδη λαθών: προκύπτουν λέξεις που είναι ή όχι λέξεις της γλώσσας. o 1 ο είδος: «εσείς παίζετε» «εσείς παίζετει». o 2 ο είδος: «εσείς παίζετε» «εσείς παίζεται». Ας περιοριστούμε αρχικά σε λάθη του 1 ου είδους. o Λέξεις που δεν υπάρχουν σε ένα μεγάλο λεξικό ή που είναι πολύ σπάνιες σε ένα μεγάλο σώμα (κυρίως σωστών) κειμένων. Για κάθε μία λανθασμένη λέξη, υποψήφιες διορθώσεις: o Λέξεις της γλώσσας (σε λεξικό ή συχνές σε σώμα κειμένων) με μικρή απόσταση διόρθωσης από τη λανθασμένη. o Στην πιο απλή περίπτωση, απόσταση Levenshtein. o Εναλλακτικά διαφορετικά κόστη I, D, R, π.χ. λαμβάνοντας υπόψη τη διάταξη των πλήκτρων, την ομοιότητα των χαρακτήρων κλπ. o Τα συχνά ή/και εύκολα να γίνουν λάθη θα είχαν μικρότερα κόστη.
Διόρθωση λαθών 1 ου είδους Οι λέξεις που βλέπουμε: w 1 k : Εσείς παίζετει καλύ μπάλα. Ενδεχόμενες σωστές λέξεις: t 1 k : Εσείς παίζετε καλό μπάλα. t 1 k : Εσείς παίζετε καλά μπάλα. t 1 k : Εσείς παίζετε καλή μπάλα. t 1 k : Εσείς παίζεται καλό μπάλα. t 1 k : Εσείς παίζεται καλά μπάλα. t 1 k : Εσείς παίζεται καλή μπάλα. Οι πράσινες λέξεις είναι λέξεις του λεξικού με μικρή απόσταση (π.χ. Levenshtein) από τις κόκκινες (λανθασμένες). Ένα γλωσσικό μοντέλο θα εκτιμά πόσο ταιριάζουν οι λέξεις μεταξύ τους.
Υπολογισμός απόστασης Levenshtein Πώς μπορώ να μετατρέψω το: πέζοι σε παίζω βασιζόμενος (αναδρομικά) σε μικρότερες κατά ένα τελικό χαρακτήρα μορφές του πέζοι ή/και παίζω; 1 ος τρόπος: Σβήνω το τελευταίο γράμμα (Del) του πέζοι και μετατρέπω το πέζο σε παίζω. πέζο ι παίζω Del(ι) + cost(πέζο, παίζω) 2 ος τρόπος: Μετατρέπω το πέζοι σε παίζ και προσθέτω ω στο τέλος του παίζ. πέζοι παίζ ω cost(πέζοι, παίζ) + Ins(ω)
Υπολογισμός απόστασης Levenshtein (ΙΙ) 3 ος τρόπος: Μετατρέπω το πέζο σε παίζ και αντικαθιστώ το ι με ω. πέζο ι παίζ ω cost(πέζο, παίζ) + Rep(ι, ω) Ποιος τρόπος είναι καλύτερος; Αυτός που έχει το μικρότερο συνολικά κόστος.
Υπολογισμός απόστασης Levenshtein # π α ί ζ ε τ ε # 0 1 2 3 4 5 6 7 π 1 έ 2 ζ 3 ο 4 ι 5 τ 6 α 7 ι 8 Πόσο είναι το (ελάχιστο) κόστος μετατροπής του «#» σε «#παί»; Πόσο είναι το (ελάχιστο) κόστος μετατροπής του «#πέζ» σε «#»; Όσο το κόστος διαγραφής του «ζ» συν το κόστος μετατροπής του «#πέ» σε «#». Del (+1) Ins (+1) Όσο το κόστος μετατροπής του «#» σε «#πα», συν το κόστος εισαγωγής του «ί».
Υπολογισμός απόστασης Levenshtein # π α ί ζ ε τ ε # 0 1 2 3 4 5 6 7 1+1=2 0+0=0 π 1 0 έ 2 ζ 3 ο 4 ι 5 τ 6 α 7 ι 8 1+1=2 Πόσο είναι το (ελάχιστο) κόστος μετατροπής του «#π» σε «#π»; Μπορώ να σβήσω το «π» της αρχικής ακολουθίας και να μετατρέψω το «#» που απομένει σε «#π». Μπορώ να μετατρέψω το «#π» της αρχικής ακολουθίας σε «#» και να προσθέσω «π» στην ακολουθία που προκύπτει. Del (+1) Ins (+1) Rep (+2, ή 0 για ίδιο γράμμα) Μπορώ να μετατρέψω το «#» της αρχικής ακολουθίας σε «#» και να αντικαταστήσω το «π» της αρχικής με (πάλι) «π».
Υπολογισμός απόστασης Levenshtein # π α ί ζ ε τ ε # 0 1 2 3 4 5 6 7 π 1 0 1 έ 2 ζ 3 ο 4 ι 5 τ 6 α 7 ι 8 2+1=3 1+2=3 0+1=1 Πόσο είναι το (ελάχιστο) κόστος μετατροπής του «#π» σε «#πα»; Μπορώ να μετατρέψω το «#π» της αρχικής ακολουθίας σε «#π» και να προσθέσω «α» στην ακολουθία που προκύπτει. Del (+1) Ins (+1) Rep (+2, ή 0 για ίδιο γράμμα) Μπορώ να σβήσω το «π» της αρχικής ακολουθίας και να μετατρέψω το «#» που απομένει σε «#πα». Μπορώ να μετατρέψω το «#» της αρχικής ακολουθίας σε «#π» και να αντικαταστήσω το «π» της αρχικής με «α».
Υπολογισμός απόστασης Levenshtein # π α ί ζ ε τ ε # 0 1 2 3 4 5 6 7 π 1 0 1 2 3 4 5 6 έ 2 1 2 3 4 3 4 5 ζ 3 2 3 4 3 4 5 6 ο 4 3 4 5 4 5 6 7 ι 5 4 5 4 5 6 7 8 τ 6 5 6 5 6 7 6 7 α 7 6 5 6 7 8 7 8 ι 8 7 6 5 6 7 8 9 Del (+1) Ins (+1) Rep (+2, ή 0 για ίδιο γράμμα) Μία από τις δυνατές ευθυγραμμίσεις. Τα βέλη εδώ δείχνουν τους γείτονες από τους οποίους μπορεί ένα κελί να κληρονομήσει την καλύτερη τιμή του.
Θορυβώδες κανάλι (noisy channel) Θεωρούμε ότι οι λέξεις ήταν αρχικά σωστές, αλλά μας μεταδόθηκαν μέσω ενός θορυβώδους καναλιού. o Το κανάλι εισήγαγε (εδώ ορθογραφικές) παραμορφώσεις (εισαγωγή χαρακτήρα, διαγραφή χαρακτήρα κλπ). Προσπαθούμε να μαντέψουμε τις αρχικές (σωστές) λέξεις από τις παρατηρούμενες. o Αρχικές (σωστές) λέξεις: o Παρατηρούμενες λέξεις: k t1 t1, t2,, t k k w1 w1, w2,, w k Θέλουμε τις πιο πιθανές αρχικές λέξεις: tˆ arg max P( t w ) arg max k k k 1 1 1 t k k 1 t1 κανάλι P( t ) P( w t ) k k k 1 1 1 k Pw ( 1 )
Διόρθωση λαθών 1 ου είδους Οι λέξεις που βλέπουμε: w 1 k : Εσείς παίζετει καλύ μπάλα. Ενδεχόμενες σωστές λέξεις: t 1 k : Εσείς παίζετε καλό μπάλα. t 1 k : Εσείς παίζετε καλά μπάλα. t 1 k : Εσείς παίζετε καλή μπάλα. t 1 k : Εσείς παίζεται καλό μπάλα. t 1 k : Εσείς παίζεται καλά μπάλα. t 1 k : Εσείς παίζεται καλή μπάλα. Οι πράσινες λέξεις είναι λέξεις του λεξικού με μικρή απόσταση (π.χ. Levenshtein) από τις κόκκινες (λανθασμένες). Ένα γλωσσικό μοντέλο θα εκτιμά πόσο ταιριάζουν οι λέξεις μεταξύ τους.
Οι πιο πιθανές αρχικές λέξεις Έστω ότι εξετάζουμε τις λέξεις μιας πρότασης: tˆ arg max P( t w ) arg max P( t ) P( w t ) k k k k k k 1 1 1 1 1 1 t k k 1 t1 Σε κάθε υποψήφια ακολουθία αρχικών λέξεων, κάθε λανθασμένη λέξη έχει αντικατασταθεί από μία λέξη της γλώσσας με μικρή απόσταση από τη λανθασμένη. Γλωσσικό μοντέλο (π.χ. 3-γραμμάτων). Π.χ. πιθανότητες αντιστρ. ανάλογες της απόστασης διόρθωσης (με κανονικοποίηση). P( w t ) P( w t ) P( w w, t ) P( w w, t ) k k k k k 1 k 1 1 1 1 2 1 1 k k 1 1 P( w1 t1) P( w2 t2 ) P( w t ) P( w t ) k k i i i 1 o Θεωρούμε ότι η πιθανότητα εμφάνισης μιας παρατηρούμενης λέξης εξαρτάται μόνο από την αντίστοιχη αρχική λέξη.
Διόρθωση λαθών και των δύο τύπων Οι λέξεις που βλέπουμε: w 1 k : He pls god ftball. Υποψήφιες ακολουθίες: t 1 k : He please god football. t 1 k : He plays god football. t 1 k : Ηe plays good football. t 1 k : Her players good football. t 1 k : Her pleases god ball. Τώρα αντικαθιστούμε κάθε λέξη (ακόμα και λέξεις του λεξικού) με άλλες κοντινές λέξεις του λεξικού (ή την ίδια λέξη). Πάλι, ένα γλωσσικό μοντέλο εκτιμά πόσο ταιριάζουν οι λέξεις μεταξύ τους. 30
Γενίκευση για λάθη 2 ου τύπου Θεωρούμε τώρα ότι κάθε παρατηρούμενη λέξη είναι ενδεχομένως λανθασμένη. tˆ arg max P( t w ) arg max P( t ) P( w t ) k k k k k k 1 1 1 1 1 1 t k k 1 t1 Σε κάθε υποψήφια ακολουθία αρχικών λέξεων t 1 k, κάθε παρατηρούμενη λέξη έχει ενδεχομένως αντικατασταθεί από μία λέξη του λεξικού με μικρή απόσταση από την παρατηρούμενη. k k 1 1 k i 1 P( w t ) P( w t ) i i Γλωσσικό μοντέλο (π.χ. 3-γραμμάτων). Π.χ. πιθανότητες αντιστρόφως ανάλογες της απόστασης διόρθωσης (με κανονικοποίηση). Η εύρεση της βέλτιστης ακολουθίας t 1,, t k είναι πρόβλημα αναζήτησης. Μπορούμε να χρησιμοποιήσουμε αλγορίθμους αναζήτησης (βλ. μάθημα ΤΝ) ή δυναμικό προγραμματισμό.
Έξυπνα πληκτρολόγια Εικόνες από: http://www.swiftkey.net/
Έξυπνα πληκτρολόγια Πιθανές επόμενες λέξεις: Λέξεις του λεξικού που αν προστεθούν σε αυτές που έχει ήδη γράψει ο χρήστης παράγουν τις πιο πιθανές (σύμφωνα με ένα γλωσσικό μοντέλο) ακολουθίες λέξεων. Συμπλήρωση ή διόρθωση τρέχουσας λέξης: Π.χ. λέξεις του λεξικού που έχουν μικρή απόσταση διόρθωσης από την τρέχουσα λέξη. Και που αν προστεθούν στις προηγούμενες λέξεις παράγουν μια πιθανή (σύμφωνα με το γλωσσικό μοντέλο) ακολουθία λέξεων. 33
Έξυπνα πληκτρολόγια συνέχεια «Πληκτρολόγηση» με συνεχή κίνηση δακτύλου: Το πληκτρολόγιο παράγει «υποθέσεις», δηλαδή πιθανές ακολουθίες γραμμάτων ή λέξεων που ίσως ήθελε να πατήσει ο χρήστης. Εξετάζουμε πόσο κοντά (απόσταση διόρθωσης) είναι οι λέξεις των υποθέσεων σε λέξεις του λεξικού. Και πόσο ικανοποιούν ένα γλωσσικό μοντέλο (λέξεων ή/και γραμμάτων). 34
Άλλες εφαρμογές γλωσσικών μοντέλων Αναγνώριση φωνής. Ένα «ακουστικό μοντέλο» παράγει πολλές υποθέσεις (π.χ. πιθανές προτάσεις) για το τι ίσως είπε ο χρήστης. Ένα γλωσσικό μοντέλο εκτιμά πόσο πιθανή είναι στη γλώσσα του χρήστη η κάθε υπόθεση. Οπτική αναγνώριση χαρακτήρων. Παράγονται πιθανές ακολουθίες λέξεων ή γραμμάτων. Ένα γλωσσικό μοντέλο εκτιμά πόσο πιθανές είναι. Μηχανική μετάφραση. Παράγονται υποψήφιες μεταφράσεις κάθε πρότασης. 35
Διάβασμα Η ύλη αυτής της ενότητας καλύπτεται από τις ενότητες 3.10, 3.11, 4.1 4.3, 4.5, 4.7, 5.9 του βιβλίου «Speech and Language Processing» των D. Jurafsky and J.H. Martin, 2 η έκδοση, Prentice Hall, 2008. Υπάρχει στη βιβλιοθήκη. Το SRILM υλοποιεί πολλά είδη γλωσσικών μοντέλων. Χρησιμοποιήστε π.χ. το Europarl ως σώμα κειμένων. Βλ. συνδέσμους του μαθήματος στο e-class. Δείτε προαιρετικά και τις διαφάνειες του μεταπτυχιακού μαθήματος «Γλωσσική Τεχνολογία» στο e-class. Αλγορίθμους αναζήτησης σε χώρους καταστάσεων, θα βρείτε (προαιρετικά) στις διαφάνειες του μαθήματος ΤΝ. Π.χ. A*, beam search, γενετικοί αλγόριθμοι. 36