ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ Τμήμα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Τομέας Τηλεπικοινωνιών Αναπληρωτής Καθηγητής: Αλέξανδρος Ποταμιάνος

Σχετικά έγγραφα
ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Τοµέας Τηλεπικοινωνιών Αναπληρωτής Καθηγητής: Αλέξανδρος Ποταµιάνος

FSM Toolkit Exercises

Λειτουργικά Συστήματα

Hase οδηγίες χρήσης.

ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ, ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΔΙΚΤΥΩΝ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Επισκόπηση Λ.Σ. Εργαστηριακές Ασκήσεις

ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ

Λειτουργικά Συστήματα

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο

ΑΣΚΗΣΗ. Δημιουργία Ευρετηρίων Συλλογής Κειμένων

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 15/11/09, 23:59

Εισαγωγή στο προγραμματιστικό περιβάλλον ANSI

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 7/1/2014, 22:00

Παρουσίαση της εργασίας στο μάθημα Νέες Τεχνολογίες στην Επιστημονική Έρευνα: Διαδίκτυο και Εκπαίδευση (Εαρινό 2016) Β Μέρος. Γιώργος Μικρός ΕΚΠΑ

Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Τομέας Ηλεκτρονικής και Υπολογιστών ΤΗΜΜΥ Α.Π.Θ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ.

Κατανεμημένα Συστήματα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

Αυτόνομοι Πράκτορες. ΝΑΟ Μουσικός

Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Τομέας Ηλεκτρονικής και Υπολογιστών ΤΗΜΜΥ Α.Π.Θ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. DS Gomoku.

Ξεκινώντας με το MIT Αρρ Inventor. 1 η Εργασία

Hase οδηγίες χρήσης.

Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης eclass 1.7. Οδηγίες Αναβάθμισης (Upgrade) Αθήνα, 16 Μαρτίου Εισαγωγή

Γραφικά υπολογιστών Εργαστήριο 10 Εισαγωγή στα Sprites

Προγραμματισμός Διαδικτύου Ασκήσεις Εργαστηρίου

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Βάσεις δεδομένων και Microsoft Access Κεφάλαιο 2: Microsoft Access

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΟ ΚΙΤ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS EV3

ΛΟΓΙΣΜΙΚΟ ΠΡΟΣΟΜΟΙΩΣΗΣ ANYLOGIC

Διαχείριση Web Περιεχομένου & Γλωσσικά Εργαλεία

Movie Maker (Δημιουργία βίντεο)

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

ΣΕΤ ΑΣΚΗΣΕΩΝ 1. Προθεσμία: Τετάρτη 9/11/2016, 21:00

Εργαστήριο 4. Εαρινό Εξάμηνο ΠΡΟΣΟΧΗ: Αρχίστε νωρίς το Εργαστήριο 4. Οι ασκήσεις είναι πιο απαιτητικές από τα προηγούμενα εργαστήρια.

dtw(a, B) = dtw(a n, B m )

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 5 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

MIPS Interactive Learning Environment. MILE Simulator. Version 1.0. User's Manual

Σχεδίαση και ανάπτυξη δραστηριοτήτων στο προγραμματιστικό περιβάλλον MicroWorlds Pro

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσμία: 17/1/14, 22:00

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΜΣ ΕΠΙΣΤΗΜΗ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ Η/Υ

Crossword1.txt, Crossword2.txt, Crossword3.txt, Crossword4.txt και Crossword5.txt, $ cat Crossword1.txt $

Open eclass Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης

Mεταγλωττιστές. 4 ο εργαστηριακό μάθημα Λεξική ανάλυση και flex. Θεωρία

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσμία: Τετάρτη 23/11/2016, 21:00

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

App Inventor 5ο Μάθημα (Κορώνα γράμματα - επέκταση)

Matlab functions. Κολοβού Αθανασία, ΕΔΙΠ, Τμήμα Πληροφορικής και Τηλεπικοινωνιών, ΕΚΠΑ

ΟΔΗΓΙΕΣ ΧΡΗΣΤΗ ΓΙΑ ΤΟ ΠΡΟΓΡΑΜΜΑ ΗΛΕΚΤΡΟΝΙΚΗΣ ΤΑΞΗΣ

Δηλώσεις Εργαστηρίων

Προγραμματιστικό Περιβάλλον

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 00Β

Οδηγίες για τη Χρήση του Google Drive

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 5/12/10, 23:59

SMPcache. Ένα εργαλείο για προσομοίωση-οπτικοποίηση κρυφής μνήμης (Cache)

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 18/12/12, 22:00

Η Απάντηση. Φύλλο Εργασίας. Μηνύματα

ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ. Data Mining - Classification

Λειτουργικά Συστήματα

Ενδοσχολική επιμόρφωση στη χρήση της Η-τάξης (eclass.sch.gr)

Μελετήστε την θεωρία που αφορά Επαναληπτικές Μεθόδους Επίλυσης Γραμμικών Συστημάτων.

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

ΕΙΣΑΓΩΓΗ ΣΤOΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Πώς να ανοίξω το τερματικό στους υπολογιστές της σχολής

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Αναλυτικές ο δηγίες χρήσης

Φύλλα εργασίας. MicroWorlds Pro. Πολυμεσικές Εφαρμογές με την χρήση της γλώσσας LOGO Στο Γυμνάσιο. Β. Χ. Χρυσοχοΐδης

Σενάριο 17: Παιχνίδι μνήμης με εικόνες

Συναρτήσεις. Υποπρόγραμμα

ΗΥ486 - Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο Δεύτερη Προγραμματιστική Εργασία

Μελετήστε την θεωρία που αφορά Επαναληπτικές Μεθόδους Επίλυσης Γραμμικών Συστημάτων.

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 2 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

ΟΔΗΓΟΣ ΥΠΟΒΟΛΗΣ ON-LINE ΑΙΤΗΣΕΩΝ ΓΙΑ ΤΗ ΣΥΜΜΕΤΟΧΗ ΣΤΟ ΠΡΟΓΡΑΜΜΑ ERASMUS+

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 27/11/11, 22:00

Πιθανοτικός Συμπερασμός: Πού βρίσκομαι στο πλέγμα; [ΠΛΗ 513] Αυτόνομοι πράκτορες - Project Εξαμήνου ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ

Clustering and Optimization in Continuous Language Models

HY-252 Αντικειμενοστραφής Προγραμματισμός. Χειμερινό Εξάμηνο 2012 Διδάσκων: Χριστοφίδης Βασίλης. Ημερομηνία Παράδοσης: 16/11/2012

Using Custom Python Expression Functions

FSM Toolkit Exercises Part II

Δημιουργώντας μια εφαρμογή ζωγραφικής. 2 ο Μάθημα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΜΗΧ/ΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ ΕΚΠΟΝΗΣΗ ΕΡΓΑΣΙΑΣ

Προγραμματισμός ΗΥ και Υπολογιστική Φυσική. Χρήστος Γκουμόπουλος

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 25/11/12, 22:00

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #1

ττιαογή και επανάληψη

ΕΙΣΑΓΩΓΗ-ΕΠΙΛΥΣΗ ΑΡΧΕΙΩΝ ΑΠΟ PM100/PM200/PM500 ΚΑΙ HEPOS ΣΤΟ GNSS SOLUTIONS ΓΙΑ POST PROCESSING

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΙΙ. Φοιτητής:... (ΑΕΜ: ) ΣΕΡΡΕΣ, Ιανουάριος 2010

Μάριος Αγγελίδης Ενότητες βιβλίου: 2.1, 2.3, 6.1 (εκτός ύλης αλλά χρειάζεται για την συνέχεια) Ώρες διδασκαλίας: 1

Συμβολική Γλώσσα στον ΑΒΑΚΑ

> μεγαλύτερο <= μικρότερο ή ίσο < μικρότερο == ισότητα >= μεγαλύτερο ή ίσο!= διαφορετικό

Παρατηρήσεις για την δομή Όσο..επανάλαβε( ΣΟΣ)

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 8/1/12, 22:00

ΔΙΑΓΩΝΙΣΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ: Γ ΛΥΚΕΙΟΥ HM/NIA: 21/2/2016

Offset Link.

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Σχήµα 6.1: Εισαγωγή της εντολής Read From Spreadsheet File στο Block Diagram.

TEC510 Ανάπτυξη Δικτυακών Τόπων (Ε εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Επιστημονικός συνεργάτης Εργαστηρίου: Γιώργος Μηλιώτης

Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο

Επαναληπτικές Ασκήσεις

Το κείμενο που ακολουθεί αποτελεί επεξεργασία του πρωτότυπου κειμένου του Α. Κάστωρ για την επίλυση των παραδειγμάτων κρίσιμης αλυσίδας που

Transcript:

ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ Τμήμα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Τομέας Τηλεπικοινωνιών Αναπληρωτής Καθηγητής: Αλέξανδρος Ποταμιάνος Ονοματεπώνυμο: Α. Μ. : ΗΜΕΡΟΜΗΝΙΑ: ΤΗΛ 413 : Συστήματα Επικοινωνίας Φυσικής Γλώσσας Εαρινό Εξάμηνο 2007 3 η Εργαστηριακή Άσκηση

ΜΕΡΟΣ Α ΟΔΗΓΙΕΣ HTK LANGUAGE MODELS EXERCISES Από το HTK Toolkit θα χρειαστείτε το φάκελο htk_cygwin.tar.gz. Εκτελέστε τα ακόλουθα: gunzip d htk_cygwin.tar.gz tar xf htk_cygwin.tar Δημιουργείται ο φάκελος htk. Μπείτε στο htk/hlmtools. Εκτελέστε: make all Δημιουργείται ο φάκελος bin.win32 που περιέχει κάποια εκτελέσιμα αρχεία. Αυτά τα αρχεία είναι τα εργαλεία που θα χρειαστείτε. Προσθέστε τα στο PATH ή αντιγράψτε τα στο bin του Cygwin. Στη συνέχεια κατεβάσετε από το site του μαθήματος το απαιτούμενο υλικό: (α) δυο φακέλους train και test (β) το αρχείο 5k.wlist (γ) το αρχείο generate_random_sentence.pl, το οποίο είναι ένα Perl script Για την συγκεκριμένη εργαστηριακή άσκηση καλείστε να εκπαιδεύσετε δημιουργήσετε unigram, bigram, και trigram language models. Για την εκπαίδευση των μοντέλων δίνονται 49 training αρχεία τα οποία βρίσκονται στο φάκελο train. Για σκοπούς δοκιμής δίνεται 1 αρχείο τα οποίο βρίσκεται στο φάκελο test. Δημιουργήστε ένα φάκελο για την άσκηση αυτή και αντιγράψτε σε αυτόν τους φακέλους test και train καθώς και τα αρχεία 5k.wlist και generate_random_sentence.pl. ΕΠΙΣΚΟΠΗΣΗ ΤΗΣ ΔΙΑΔΙΚΑΣΙΑΣ ΤΗΣ ΔΗΜΙΟΥΡΓΙΑΣ ΜΟΝΤΕΛΩΝ N-GRAM Η διαδικασία για την δημιουργία n-gram language models με την χρήση των HTK Tools περιγράφετε παρακάτω και περιλαμβάνει τρία στάδια. Αρχικά σκανάρετε το training text και η απαρίθμηση των διαφόρων n-gram αποθηκεύετε σε ένα σετ από gram αρχεία. Στο επόμενο στάδιο το οποίο είναι προαιρετικό οι αριθμήσεις στα αρχεία αυτά αλλάζουν για την δημιουργία vocabulary kai class mapping. Τέλος με τα τελικά αυτά gram αρχεία χτίζουμε το LM. Δεδομένου κάποιου text κειμένου η συνάρτηση LGPrep σκανάρει την ακολουθία του κειμένου και υπολογίζει τις απαριθμήσεις των διαφόρων

unigram, bigram, trigram μοντέλων δηλαδή κάθε ένα από αυτά πόσες φορές το συνάντησε. Αυτές οι απαριθμήσεις αποθηκεύονται στα διάφορα gram files. Όλες οι λέξεις και τα σύμβολα γενικά αναπαρίστανται στο ΗΤΚ με μοναδικά id s. Αυτή η αντιστοίχηση ανάμεσα σε λέξεις και id s καταγράφετε σε ένα αρχείο word map. Όταν ξεκινάει η LGPrep παίρνει σαν είσοδο ένα word map αρχείο και κάθε νέα λέξη που συναντά στο κείμενο εισόδου της δίνει ένα νέο id και την προσθέτει στο word map. Προσοχή τα αρχεία gram που υπάρχει η απαρίθμηση των διαφόρων εκφράσεων που συναντήθηκαν στο κείμενο παρουσιάζουν κάποια επικάλυψη δηλαδή έχουν κάποιες κοινές εισαγωγές. Πιο συγκεκριμένα για να δημιουργήσουμε ένα LM όλες οι απαριθμήσεις των n-grams θα πρέπει να εισαχθούν με αύξουσα σειρά έτσι ώστε λέξεις με παρόμοια ιστορία να ομαδοποιούνται. Για το λόγο αυτό δημιουργούμε ένα νέο αντίγραφο αυτών των gram files μέσω της συνάρτησης LGCopy έτσι ώστε τα περιεχόμενά τους να είναι τοποθετημένα διαδοχικά και να μην παρουσιάζουν επικάλυψη με αποτέλεσμα να μπορούν να διαβαστούν σαν ένα stream. Στο επόμενο στάδιο της διαδικασίας δημιουργίας του LM είναι να οριστεί το vocabulary (λεξιλόγιο) του μοντέλου και να μετατραπούν όλα τα n-grams τα οποία περιέχουν OOV λέξεις (out of vocabulary words) έτσι ώστε κάθε λέξη που δεν περιέχεται στο λεξιλόγιο να αντικατασταθεί από κάποιο σύμβολο που αναπαριστά την άγνωστη κλάση. Η διαδικασία αυτή γίνεται ξανά με την χρήση της LGCopy

ΜΕΡΟΣ Β Άσκηση Για την άσκηση αυτή θα πρέπει να εκπαιδεύσετε ένα unigram, ένα bigram και ένα trigram μοντέλο μέσω κάποιου training set και στη συνέχεια για να ελέγξετε πόσο καλό είναι το εκάστοτε μοντέλο σας θα υπολογίσετε το perplexity πάνω στο ίδιο test text για το κάθε μοντέλο. Για την δημιουργία του Language Model ακολουθούμε τα εξής βήματα: Αρχικά δημιουργούμε ένα φάκελο με την εντολή mkdir holmes.0 Η LGPrep αναμένει πάντα να της δοθεί σαν όρισμα κάποιος χάρτης λέξης (word map ). Έτσι για να προετοιμάσετε το πρώτο αρχείο n-gram πρέπει να περάσετε ένα κενό αρχείο word map. Μπορείτε να προετοιμάσετε ένα αρχικό, word map με την χρήση της συνάρτησης LNewMap. Πρέπει να περαστεί το όνομα που χρησιμοποιείτε εσωτερικά στο word map καθώς επίσης και ένα όνομα αρχείων για να το γράψει. Εκτελέστε το ακόλουθο : LNewMap -f WFC Holmes empty.wmap Το switch f WFC λέει στην LNewMap στο αρχείο που θα δημιουργήσει εκτός από την αντιστοίχηση λέξης σε id να έχει και ένα count field για κάθε λέξη που να δείχνει πόσες φορές την συναντήσαμε στο corpus. Θα επεξεργαστούμε τώρα τα κείμενα εκπαίδευσης με την ακόλουθη εντολή: LGPrep -T 1 -a 100000 -b 200000 -d holmes.0 -n 4 -s "Sherlock Holmes" empty.wmap train/*.txt Όταν τελειώσει η διαδικασία ο φάκελος holmes.0 θα πρέπει να περιέχει τα ακόλουθα αρχεία : gram.0, gram.1, gram.2, wmap Τα περιεχόμενα των gram αρχείων μπορούμε να τα δούμε με την εντολή: LGList holmes.0/wmap holmes.0/gram.2 more Για να δημιουργήσουμε gram αρχεία χωρίς επικάλυψη (να μην υπάρχουν δηλαδή κοινά n-grams σε διαφορετικά αρχεία) χρησιμοποιούμε την LGCopy Αρχικά δημιουργήστε έναν νέα φάκελο: mkdir holmes.1 Στην συνέχεια εκτελέστε την εντολή : LGCopy -T 1 -b 200000 -d holmes.1 holmes.0/wmap holmes.0/gram.* Όταν τελειώσει η διαδικασία ο φάκελος holmes.0 θα πρέπει να περιέχει τα ακόλουθα αρχεία : data.0, data1, data.2.

Αντιστοιχίζοντας OOV (out of vocabulary words) λέξεις. Αρχικά δημιουργήστε τον φάκελο lm_5k με την εντολή: mkdir lm_5k Μόλις ορισθεί το λεξιλόγιο του συστήματος, το εργαλείο LGCopy πρέπει να χρησιμοποιηθεί για να φιλτράρει όλες τις λέξεις (OOV). Εκτελέστε την LGCopy ξανά : LGCopy -T 1 -o -m lm_5k/5k.wmap -b 200000 -d lm_5k -w 5k.wlist holmes.0/wmap holmes.1/data.* Επειδή χρησιμοποιήσαμε την επιλογή -ο, όλα τα n-grams που περιέχουν OOVs θα εξαχθούν από τα αρχεία εισαγωγής και οι λέξεις OOV χαρτογραφούνται στο άγνωστο σύμβολο και τα αποτελέσματα αποθηκεύονται στα αρχείαlm 5k/data.*. Ένα νέο word map που περιέχει τα νέα σύμβολα κατηγορίας (!!UNK σε αυτήν την περίπτωση) και τις λέξεις του λεξιλογίου θα δημιουργηθεί στο lm 5k/5k.wmap.

Δημιουργία Language Model Τα Language models χτίζονται χρησιμοποιώντας την εντολή LBuild. Η παρακάτω εντολή θα δημιουργήσει ένα unigram μοντέλο: LBuild -T 1 -n 1 lm_5k/5k.wmap lm_5k/ug holmes.1/data.* lm_5k/data.* Στο φάκελο lm_5k δημιουργείται το αρχείο ug. Τώρα θα δημιουργήσουμε ένα bigram μοντέλο με cut-off 1. Εκτελέστε την εντολή: LBuild -T 1 -c 2 1 -n 2 k 7 lm_5k/5k.wmap lm_5k/bg1 holmes.1/data.* lm_5k/data.* Στο φάκελο lm_5k δημιουργείται το αρχείο bg1. Τελικά το trigram μοντέλο δημιουργείται εκτελώντας την εντολή : LBuild -T 1 -c 3 1 -n 3 k 7 lm_5k/5k.wmap lm_5k/trigram holmes.1/data.* lm_5k/data.* Στο φάκελο lm_5k δημιουργείται το αρχείο trigram. (Εναλλακτικά, προκειμένου να δημιουργήσουμε το trigram μοντέλο, θα μπορούσαμε τα τρία παραπάνω στάδια να τα κάνουμε σε ένα με την εντολή : LBuild -T 1 -c 2 1 -c 3 1 -n 3 k 7 lm_5k/5k.wmap lm_5k/tg2-1_1 holmes.1/data.* lm_5k/data.* Στο φάκελο lm_5k δημιουργείται το αρχείο tg2-1_1.) Αξίζει να αναφερθούμε στο option c το οποίο: «-c n c Set cutoff for n-gram to c» Testing the LM perplexity Αφού δημιουργηθεί το γλωσσικό μοντέλο η ποιότητά του μπορεί αξιολογηθεί μετρώντας το perplexity κειμένου που είναι άγνωστο στο μοντέλο μας. Το perplexity μπορεί να θεωρηθεί ως ένα μέσο μέτρο του πόσες διαφορετικές και με ίση πιθανότητα λέξεις μπορεί να ακολουθήσουν μία λέξη. Ορίζεται ως όπου

Ο φάκελος test περιέχει ένα κείμενο το οποίο έχει δημιουργηθεί για σκοπούς αξιολόγησης. Η αξιολόγηση του perplexity γίνεται με την εντολή LPLex. Εκτελέστε την εντολή: LPlex -n 2 -n 3 -t lm_5k/tg1_1 test/red-headed_league.txt Τα πολλαπλά n swithes δηλώνουν στην LPlex να κάνει δύο ξεχωριστά τεστ. Το πρώτο (-n 2) θα χρησιμοποιήσει μόνο το bigram κομμάτι του μοντέλου μας ενώ το (-n 3) θα χρησιμοποιήσει το trigram. ΜΕΡΟΣ Γ ΠΑΡΑΔΟΤΕΑ Α. Υπολογίστε το perplexity για unigram, bigram, trigram γλωσσικά μοντέλα για το ένα training text και όλα τα test texts (LPlex -n 2 -n 3 -t lm_5k/tg1_1 train/*.txt). TRAIN TEXT Unigram Perplexity Bigram Trigram TEST TEXT Unigram Perplexity Bigram Trigram Συμπληρώστε τον παραπάνω πίνακα. Ερμηνεύστε τις διάφορες του perplexity ως προς τα χρησιμοποιούμενα μοντέλα αλλά και ως προς τα δεδομένα train και test. Β. CREATE RANDOM SENTENCES

Εκτελέστε το script : perl generate_random_sentence.pl grammar.arpa [1 2 3] για να δημιουργήσετε μία random πρόταση χρησιμοποιώντας unigram, bigram, trigram. Ορίζετε το μοντέλο που θα χρησιμοποιήσετε ανάλογα με το όρισμα 1 ή 2 ή 3 που θα δώσετε σαν είσοδο στο script. Για παράδειγμα η εντολή perl generate_random_sentence.pl lm_5k/bg1 2 δημιουργεί μία τυχαία πρόταση με βάση το bigram μοντέλο που φτιάξαμε, χρησιμοποιώντας το αντίστοιχο αρχείο lm_5k/bg1. Δώστε για κάθε μοντέλο 5 παραδείγματα προτάσεων. Τι παρατηρείτε;