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

Σχετικά έγγραφα
Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Εργαλεία ΕΙΣΑΓΩΓΙΚΟ ΦΡΟΝΤΙΣΤΗΡΙΟ

ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ. Python & NLTK: Εισαγωγή

Εισαγωγικό Φροντιστήριο

ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ. Εισαγωγικό Φροντιστήριο

Εισαγωγή στην Γλώσσα Προγραμματισμού Python. 12/10/16 1

Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Εργαλεία ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ FILE & PROCESS HANDLING

IT & Networking DEVELOPING Essential Python 3. Κωδικός Σεμιναρίου / Code

Βασικά Στοιχεία Python 3

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Γραφικά υπολογιστών Εργαστήριο 4 Εισαγωγή στις λίστες

Εισαγωγή στον Προγραμματισμό Python Μάθημα 1: Μεταβλητές, τελεστές, είσοδος/έξοδος προγράμματος, συνθήκη ελέγχου if Νοέμβριος 2014 Χ. Αλεξανδράκη, Γ.

PERL. Δήμος Παύλου Δημήτρης Κουζαπάς

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

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

Προγραμματισμός Υπολογιστών & Εφαρμογές Python. Κ.Π. Γιαλούρης

Εισαγωγή στους Υπολογιστές

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Γλώσσα προγραμματισμού python

Θεωρία Πληροφορίας - Κώδικες. Γιαννακόπουλος Θεόδωρος

Βασικές Ασκήσεις από τα Εργαστήρια της PYTHON (εβδομάδα 5)

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Προγραμματιστικά Εργαλεία και Τεχνολογίες για Επιστήμη Δεδομένων

Προγραμματισμός Ι (HY120)

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

ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ. Τεχνικές NLP Σχεδιαστικά Θέματα

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

ΕΠΛ131 Αρχές Προγραμματισμού

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

Προγραμματισμός Υπολογιστών με C++ Φύλλο Διαγωνίσματος Ακαδημαϊκό εξάμηνο: Χειμερινό

Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Σημειωματάριο Τετάρτης 25 Οκτ. 2017

File Handling & I/O ΓΛΩΣΣΙΚΉ ΤΕΧΝΟΛΟΓΊΑ

Κεφάλαιο Πίνακες Ι. (Διάλεξη 16)

alpha Language age (3/5) alpha Language Φροντιστήριο Syntax Directed Translation and

Παράλληλη Επεξεργασία

Προγραμματισμός Ι (HY120)

Εισαγωγή στους Υπολογιστές

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

Εισαγωγή στον Προγραμματισμό

ΕΠΛ 034: Εισαγωγή στον Προγραμματισμό για ΗΜΥ

Μεθόδων Επίλυσης Προβλημάτων

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Αναζήτηση και Ταξινόμηση Χειμερινό Εξάμηνο 2016

Ενότητα 5: «Εισαγωγή στον Προγραμματισμό. Απλές ασκήσεις με γλώσσα C»

Java sessions. Part 1 - Βασικά έννοιες - μέθοδοι

Εισαγωγή στον Προγ/μό Υπολογιστών

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Προγραμματισμός Υπολογιστών Τάξη Γ Αθανασιάδης Χρήστος ΠΕ19 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

Δομημένος Προγραμματισμός

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Μεθόδων Επίλυσης Προβλημάτων

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΑΤΙΣΜΟΣ Α (C++) ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΤΩΝ Δρ. Νικόλαος Ζ. Ζάχαρης

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΜΕ ΧΡΗΣΗ PHP

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

HY150a Φροντιστήριο 3 24/11/2017

ΕΠΛ 012. JavaScripts

Γλωσσική Τεχνολογία. HTML/XML Processing HTTP Services

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραμματισμός σε C. Πράξεις με bits (bitwise operators)

Regular Expressions ΓΛΩΣΣΙΚΉ ΤΕΧΝΟΛΟΓΊΑ

Θέματα Προγραμματισμού Η/Υ

Σημειώσεις όγδοης εβδομάδας

Computing. Νοέμβριος Έκδοση 1.0

Εισαγωγή στον Προγ/μό Υπολογιστών

Αλγόριθμοι Ταξινόμησης Μέρος 1

Φύλλο Εργασίας 3. Μια γρήγορη επανάληψη από τα προηγούμενα

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE)

Εισαγωγή στην Python. Διάλεξη 0

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE)

Προγραμματισμό για ΗΜΥ

ΠΛΗ111. Ανοιξη Μάθηµα 1 ο Ανασκόπηση της Γλώσσας Προγραµµατισµού C. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

String Handling ΓΛΩΣΣΙΚΉ ΤΕΧΝΟΛΟΓΊΑ

Σημειωματάριο Τετάρτης 18 Οκτ. 2017

Γλωσσική Τεχνολογία. Object-Orientation in Python

ΚΑΛΑΝΙΔΟΥ ΓΑΛΗΝΗ ΚΑΝΑΚΟΥΣΑΚΗ ΜΑΡΙΑ

Βασικά Στοιχεία της Java

H κλάση ArrayList. Γιώργος Θάνος. Γραφείο Γ. Γκλαβάνη 37. Αντικει ενοστραφής Προγρα. ος όροφος

Απλές Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες απλές Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλή

Τεχνολογία και Προγραμματισμός Υπολογιστών. Η γλώσσα προγραμματισμού C

ΜΔΛΔΣΖ ΚΑΗ ΔΛΔΓΥΟ ΣΟΤ PYTHON NATURAL LANGUAGE TOOLKIT ΣΖΝ ΔΛΛΖΝΗΚΖ ΓΛΧΑ

Παράλληλη Επεξεργασία

Προγραμματισμός Η/Υ (ΤΛ2007 )

Κεφάλαιο Πίνακες Ι. ( ιάλεξη 15) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

Εισαγωγή στον Προγραμματισμό

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

Εισαγωγή στον Προγραμματισμό Μάθημα 4: Αλγόριθμοι και Γλώσσες Προγραμματισμού Δεκέμβριος 2015 Χ. Αλεξανδράκη

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Εισαγωγή στην Python Χειμερινό Εξάμηνο 2016

Συµβολοσειρές - Strings

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡ/ΣΜΟΣ C++

Αντικείµενα. ηµιουργία και χρησιµοποίηση αντικειµένων. ηµιουργία αντικειµένων

ΠΛΗΡΟΦΟΡΙΚΗ Ι (Python) Ενότητα 4

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

Transcript:

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

Project του μαθήματος Εργασία 2 ατόμων Προφορική εξέταση για: Project (80%) Θεωρία (20%) Στο φροντιστήριο: Συζητάμε σχεδιαστικές επιλογές Λύνουμε ζητήματα υλοποίησης Παρουσιάζουμε διαθέσιμα εργαλεία Οι αλγόριθμοι και οι έννοιες παρουσιάζονται στο μάθημα Γλώσσα υλοποίησης της επιλογής σας αλλά: Το φροντιστήριο θα γίνει σε Python 2.6.5 Θα σας διευκολύνουν εργαλεία που υπάρχουν σε 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 <stdio.h> 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 http://docs.python.org/tutorial/index.html Dive into Python http://diveintopython.org/ TasPython http://taspython.eu/ effbot.org http://effbot.org/ Google http://www.google.com

Που να γράψω κώδικα; Editors Windows Notepad etc. Linux IDEs Gedit etc. 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 Αναφορά στα στοιχεία της λίστας Index a[0],a[1],,a[len-2], a[len-1] Negative index a[-len],a[-(len-1)],, a[-1] Προσθήκη στοιχείων >>>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]

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' 100 1234 >>>for i in range(len(a)):... print i, a[i] 0,'spam' 1,100 2,1234

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

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]