Γλωσσική Τεχνολογία Εισαγωγικό Φροντιστήριο. Project του μαθήματος  Εργασία 2 ατόμων  Προφορική εξέταση για :  Project (80%)  Θεωρία (20%)  Στο φροντιστήριο.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Τεχνολογίες Web Απαραίτητες γνώσεις για την υλοποίηση της άσκησης.
Advertisements

ΕΙΣΑΓΩΓΗ ΣΤΗΝ PHP. Τι θα μάθουμε;  Να καταλάβουμε τι είναι η PHP και πώς δουλεύουν τα PHP scripts  Τι χρειάζεται για να ξεκινήσουμε με την PHP  Να.
Συλλογές, Στοίβες και Ουρές Σε πολλές εφαρμογές μας αρκεί η αναπαράσταση ενός δυναμικού συνόλου με μια δομή δεδομένων η οποία δεν υποστηρίζει την αναζήτηση.
ΙΩΑΝΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΥ 2ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 26 ΟΚΤΩΒΡΙΟΥ 2012 ΑΙΘΟΥΣΑ Β4 11.
Στρατηγική ανάπτυξης προγράμματος την ώρα του διαγωνισμού
Scripting Language Python
ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ Εισαγωγικό Φροντιστήριο.
5η Συνάντηση Εκπαιδευτικών Πληροφορικής στη Δυτική Μακεδονία Πτολεμαΐδα, 29 Σεπτ 2005 Δημιουργία Δυναμικών Ιστοσελίδων με PHP και Dreamweaver MX Στυλιάδης.
POINTERS, AGGREGATION, COMPOSITION. POINTERS TO OBJECTS.
ΙΩΑΝΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΥ 1ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 5 ΟΚΤΩΒΡΙΟΥ 2012 ΑΙΘΟΥΣΑ Β4 11.
Συστήματα Διαχείρισης Βάσεων Δεδομένων Τίμος Σελλής, Καθηγητής ΕΜΠ, Διευθυντής ΙΠΣΥΠ, Ε.K. “Αθηνά”
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ Τεχνικές NLP – Σχεδιαστικά Θέματα.
Ανάπτυξη Δικτύων Καθηγητής: Φουληράς Παναγιώτης
DATA MINING LECTURE 6 Mixture of Gaussians and the EM algorithm
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Python And Robotics.
ΜΑΘ-3122/106 Προγραμματισμός
ΠΡΟΤΥΠΑ ΜΑΘΗΣΙΑΚΩΝ ΤΕΧΝΟΛΟΓΙΩΝ ΠΑΡΟΥΣΙΑΣΗ ΚΑΙ ΔΙΔΑΚΤΙΚΑ ΟΦΕΛΗ Ενότητα 3.7 – Β’ Μέρος.
Γλωσσική Τεχνολογία Object-Orientation in Python.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα.
Φροντηστήριο Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Eργαλεία.
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Φροντιστήρια Εισηγητής: Σπύρος Αργυρόπουλος Μέλος ΕΤΕΠ Εργαστήριο Προγραμματισμού & Τεχνολογίας Ευφυών Συστημάτων.
Προγραμματισμός PASCAL
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος α
Εισαγωγικό Φροντηστήριο Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Eργαλεία.
Εισαγωγή στον Προγραμματισμό (στη γλώσσα Java)
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Συλλογές.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις.
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων. Πίνακας Συμβόλων (Symbol Table) (Ι)  Είναι μια δομή στην οποία αποθηκεύονται τα ονόματα ενός προγράμματος και.
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II.
ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ Προεπεξεργασία Κειμένου.
Τμήμα Πληροφορικής Πανεπιστημίου Κύπρου ΕΠΛ 371 – Προγραμματισμός Συστημάτων Ονόματα: Αντώνης Μαυρής, Γιώργος Ματθαίου, Χρίστος Κυριάκου Ταυτότητες: ,
Scala Programming Language
Δομές Δεδομένων. Επιλογή δομής δεδομένων Κριτήρια: – Μέγεθος του προβλήματος – Πως θα χρησιμοποιηθεί Ενέργειες που καθορίζουν το κόστος: – Lookup: αναζήτηση/έλεγχος.
1 ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Πίνακας Συμβόλων Symbol Table.
1 Εισαγωγή στη Java Χρήσιμες Διευθύνσεις Χαρακτηριστικά της Java Εργαλεία της Java Εργαλεία της Java Μεταγλώττιση στοιχειωδών εφαρμογών.
Εισαγωγή στη JAVΑ (μέρος Α’)
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Προπτυχιακό.
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
32η Συνάντηση Εκπαιδευτικών στη Δυτική Μακεδονία σε Θέματα Τ. Π. Ε
Tomcat Θ. Βαρβαρίγου Καθηγήτρια ΕΜΠ Τηλ
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ – FILE & PROCESS HANDLING Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Εργαλεία.
Διαφάνειες παρουσίασης Ορθότητα (συνέχεια) Τακτικοί τύποι και τύποι υποπεριοχής Πίνακες.
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Syntax Directed Translation and alpha Language.
ΕΙΣΑΓΩΓΙΚΟ ΦΡΟΝΤΙΣΤΗΡΙΟ Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Εργαλεία.
ΗΥ150 – ΠρογραμματισμόςΞενοφών Ζαμπούλης ΗΥ-150 Προγραμματισμός Αναδρομή (1/2)
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java.
ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Κ.ΑΛΑΦΟΔΗΜΟΣ καθηγητής Δ.Παπαχρήστος μέλος ΕΔΙΠ ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΠΑΝΕΠΙΣΤΗΜΙΟ Α ΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ.
Εισαγωγή στον Προγ/μό Η/Υ
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ
Εφαρμογές Υπολογιστών
Ενότητα Εισαγωγή Είναι εύκολη στη χρήση και στην εκμάθηση.
Ενισχυτική διδασκαλία
ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ
ΔΟΜΕΣ ΕΛΕΓΧΟΥ(if-else, switch) και Λογικοί τελεστές / παραστάσεις
«Από τη MicroWorlds Pro στην Python»
Ειδικά Θέματα στον προγραμματισμό Υπολογιστών
Εισαγωγή στον Προγραμματισμό με Python, ΑΠΘ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ Εισαγωγή στον Προγραμματισμό με Python Εβδομάδα 1: Βασικά στοιχεία.
Ειδικά Θέματα στον Προγραμματισμό Υπολογιστών
ΗΥ-150 Προγραμματισμός Αναδρομή (1/2).
Εισαγωγή στη Java (Μέρος Α’)
Εισαγωγή στον Προγραμματισμό (στη γλώσσα Java)
Διάλεξη #10: Εκτέλεση Java χωρίς το BlueJ
Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό (στη γλώσσα Java)
Μεταγράφημα παρουσίασης:

Γλωσσική Τεχνολογία Εισαγωγικό Φροντιστήριο

Project του μαθήματος  Εργασία 2 ατόμων  Προφορική εξέταση για :  Project (80%)  Θεωρία (20%)  Στο φροντιστήριο :  Συζητάμε σχεδιαστικές επιλογές  Λύνουμε ζητήματα υλοποίησης  Παρουσιάζουμε διαθέσιμα εργαλεία  Οι αλγόριθμοι και οι έννοιες παρουσιάζονται στο μάθημα  Γλώσσα υλοποίησης της επιλογής σας αλλά :  Το φροντιστήριο θα γίνει σε Python  Θα σας διευκολύνουν εργαλεία που υπάρχουν σε Python 2.6.5

Γιατί Python;  Εύκολη ! Θα τη μάθετε αμέσως.  Χρειάζεται να γράψετε πολύ λιγότερο κώδικα. ( Ο χρόνος development είναι 10 φορές μικρότερος )  Είναι scripting, παρόλα αυτά αρκετά γρήγορη. (Implemented in C)  Ο κώδικας σε Python είναι μικρότερος και πιο « καθαρός », εύκολος να διαβαστεί και να κατανοηθεί. ( Τα blocks κώδικα ορίζονται από κενά )  Cross-Platform: Μπορείτε να προγραμματίσετε σε Windows ή Linux  Υπάρχουν πολλά και δωρεάν διαθέσιμα resources στο δίκτυο για να διαβάσετε.  Υπάρχει σε Python το NLTK (Natural Language Toolkit), το οποίο περιλαμβάνει ήδη υλοποιημένα εργαλεία για Γλωσσική Τεχνολογία !!!

Θέματα Φροντιστηρίου  Εισαγωγή στην Python  Διαχείριση strings  Δομές Δεδομένων  File I/O  Κλήση διεργασιών  Regular Expressions  XML Handling  Παρουσίαση NLTK και διαθέσιμων εργαλείων  HTML Handling  Επεξηγήσεις στην άσκηση

Python  High Level  Scripting  Elegant Syntax  Interpreted  Object Oriented  Functional  Dynamic Typing  Automatic Memory Management

My First Program print “Hello World!” Αντί για : #include int main(int argc, char** argv) { printf(“HelloWorld!\n”); }

Python – Features I  Data Types  boolean, integer, float, long, complex  Δεν ορίζονται ρητά. Καθορίζεται ο τύπος στον χρόνο εκτέλεσης.  Sequence Types  string, list, tuple  Mapping Types  dictionary

Python – Features II  Control Flow  if, for, while, break, continue  Functions  def foo():  Classes  class foo():  Modules  from module import something  import module

Python – Features III  Error/Exception Handling  File I/O  HTML/XML Parsing  και πολλά περισσότερα..

Interactive Mode

Από που να διαβάσω ;  Python Documentation   Dive into Python   TasPython   effbot.org   Google 

Που να γράψω κώδικα ;  Editors  Windows  Notepad etc.  Linux  Gedit etc.  IDEs  Windows  Active Python  Netbeans  …  Linux  Eclipse  Netbeans  …

Native Datatypes – Lists #1  Η λίστες είναι ο τύπος δεδομένων που χρησιμοποιείται περισσότερο στην Python  Είναι arrays, των οποίων το μέγεθος αλλάζει δυναμικά όσο προστίθενται στοιχεία.  Τα στοιχεία δεν είναι απαραίτητο να είναι του ίδιου τύπου δεδομένων ! Ορισμός Λίστας >>>a = ['spam', 'eggs', 100, 1234] >>>a ['spam', 'eggs', 100, 1234]

Native Datatypes – Lists #2 Προσθήκη στοιχείων >>>a.append(333) ‏ >>>a ['spam', 'eggs', 100, 1234, 333] >>>a.insert(2,-1) ‏ >>>a ['spam', 'eggs', -1, 100, 1234, 333] >>>a.extend([1,2]) ‏ >>>a ['spam', 'eggs', -1, 100, 1234, 333, 1, 2] Αναφορά στα στοιχεία της λίστας Index a[0],a[1],…,a[len-2], a[len-1] Negative index a[-len],a[-(len-1)],…, a[-1]

Native Datatypes – Lists #3 Διαγραφή στοιχείων >>>a.pop() ‏ >>>a ['spam', 'eggs', -1, 100, 1234] >>>a.remove(-1) ‏ >>>a ['spam', 'eggs', 100, 1234] >>>del a[1] >>a ['spam', 100, 1234] Αναζήτηση >>>'spam' in a: True >>>'cat' in a: False

Native Datatypes – Lists #4 Απαρίθμηση >>>for i in a:... print i... 'spam' >>>for i in range(len(a)):... print i, a[i] … 0,'spam' 1,100 2,1234

Native Datatypes - Dictionaries #1 Αναφορά στα στοιχεία >>>tel['jack'] 4098  Τα dictionaries ορίζουν σχέσεις μεταξύ κλειδιών και τιμών.  Πρόκειται για συλλογές εγγραφών που αποτελούνται από ένα κλειδί και την τιμή που αντιστοιχεί σε αυτό. Ορισμός Dictionary >>>tel = {'jack': 4098, 'sape': 4139} >>>tel {'jack': 4098, 'sape': 4139}

Native Datatypes - Dictionaries #2 Προσθήκη στοιχείων >>> tel['guido'] = 4127 >>> tel {'sape': 4139, 'guido': 4127, 'jack': 4098} Διαγραφή στοιχείων >>> del tel['sape'] >>>tel {'guido': 4127, 'jack': 4098}

Native Datatypes - Dictionaries #3 Αναζήτηση >>>'guido' in tel True >>>'sape' in tel False Απαρίθμηση >>>for k,v in tel.items():...print k,v … 'guido', 4127 'jack', 4098

Native Datatypes – Tuples #1  Μια tuple είναι μια λίστα που δεν αλλάζει.  Η τιμές που περιέχει μια tuple δεν μπορούν να αλλάξουν μετά τη δημιουργία της. Ορισμός Tuple >>> t = ("Mon", "Tue", "Thu", "Wed", "Fri", "Sat", "Sun") >>> t ('Mon', 'Tue', 'Thu', 'Wed', 'Fri', 'Sat', 'Sun‘) Αναφορά στα στοιχεία της tuple Index t[0],t[1],…,t[len-2], t[len-1] Negative index t[-len],t[-(len-1)],…, t[-1]