Einführung in die Computerlinguistik Einführung in Perl (2) reguläre Ausdrücke

Ähnliche Dokumente
Einführung in die Computerlinguistik Einführung in Python (3) Tokenizer und Textstatistik

Einführung in die Computerlinguistik Einführung in Python (2)

Einführung in die Computerlinguistik Tokenizer und Textstatistik mit Perl

Einführung in die Computerlinguistik Einführung in Perl (1)

Einführung in die Computerlinguistik Tokenizer und Textstatistik mit Perl

Einführung in die Computerlinguistik Tokenizer und Textstatistik mit Perl

Einführung in die Computerlinguistik Pumpinglemma für reguläre Sprachen. Suche mit regulären Ausdrücken. Dozentin: Wiebke Petersen 17.5.

Chatbots Eliza, Alexa, Poncho & Co

Einführung in die Computerlinguistik Suche mit regulären Ausdrücken

Einführung in die Computerlinguistik Pumpinglemma für reguläre Sprachen. Suche mit regulären Ausdrücken. Dozentin: Wiebke Petersen

Einführung in die Computerlinguistik Einführung in Python (1)

Einführung in die Computerlinguistik Suche mit regulären Ausdrücken

BIRTHDAY PRESENTS FOR GRANDMOTHERS

Einführung in die Computerlinguistik deterministische und nichtdeterministische endliche Automaten

Übersicht. Einführung in Perl Operatoren - Richtigstellung Mustersuche II. Richtigstellung Operatoren (2) Richtigstellung Operatoren (1)

Übersicht. Einführung in Perl Mustersuche III/ Datentypen II. Mehrzeiliges Matching (1) Mehrzeiliges Matching (2) chomp

Weather forecast in Accra

DO WHAT I MEAN WOLFGANG COY HUMBOLDT-UNIVERSITÄT ZU BERLIN ZUSE Z3, 1941 BLACKBOX MAINFRAME BLACKBOX MAINFRAME LOCHER & DRUCKER IBM 360/40.

Accelerating Information Technology Innovation

Einführung in die Computerlinguistik Satz von Kleene

denken nachdenken überlegen bedenken überdenken Übungen I. Schau dir das Video an und korrigiere dann die Sätze.

1. Hello, I m Francis Docherty. a. No, sorry. I m not. 2. I m sorry. What was your b. I don t think he

Einführung in die Computerlinguistik Satz von Kleene

KLAUSUR ZUM BACHELORMODUL,,EINFÜHRUNG IN DIE PROGRAMMIERUNG WS 2011/12, DR. MAXIMILIAN HADERSBECK KLAUSUR AM

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Vertretungsstunde Englisch 5. Klasse: Grammatik

Öffnen einer Datei. Programm mit einer Fehlermeldung beendet. open( IN, "datei.txt" ) or die( "open-fail: $!" );

Musterlösung Klausur 11/ Fragen zu utf-8: 1.1. Welche zwei Methoden gibt es, um STDIN und STDOUT auf utf-8 zu setzen.

Einführung in die Computerlinguistik Satz von Kleene

Schule mit Erfolg. Englisch Simple present adverbs time Unit Blatt What time is it? 7.50 Uhr Uhr Uhr Uhr 20.

Einführung in die Computerlinguistik Formale Grammatiken rechtslineare und kontextfreie Grammatiken Kellerautomaten

30.9. (B) Freitag Vokabeln lernen: Unit 1 Liste 3 Tag (B) Vokabeln lernen: Unit 1 Liste 3 Tag 3 plus Verben: to shine to stand

Einführung in die Computerlinguistik Kontextfreie Grammatiken und. Kellerautomaten. Dozentin: Wiebke Petersen

AT THE IMMIGRATION OFFICE

English grammar BLOCK F:

Name: Abgabe: Montag, Blatt 18

Relevante(r) Deskriptor(en) Deskriptor 5: Kann einfachen Interviews, Berichten, Hörspielen und Sketches zu vertrauten Themen folgen.

Aufgabe 1.1. Wählen Sie jene Variablendeklarationen mit Initialisierungen aus, die in Java hinsichtlich der Typen korrekt sind:

Relevante(r) Deskriptor(en) Deskriptor 5: Kann einfachen Interviews, Berichten, Hörspielen und Sketches zu vertrauten Themen folgen.

Python für Linguisten

FLIRT ENGLISH DIALOGUE TRANSCRIPT EPISODE TEN : MAKING UP

Einführung in PERL 2 Reguläre Ausdrücke

VORANSICHT. Halloween zählt zu den beliebtesten. A spooky and special holiday Eine Lerntheke zu Halloween auf zwei Niveaus (Klassen 8/9)

Willst du jemandem einen Rat oder eine Anweisung geben, dann verwendest du den Imperativ: Hier nun ein paar Beispiele:

EiP Übung Sichern Sie im Verzeichnis aufg3 den Inhalt des Artikels im Wochenmagazin "der Freitag" über google in der Datei artikel.

Support of Basic Needs Scales for Adolescent Students (SBN-S) Skalen zur wahrgenommenen Basic Needs Unterstützung von Schüler/innen

Arithmetik in der tcsh

Automatentheorie und formale Sprachen endliche Automaten

FAHRZEUGENTWICKLUNG IM AUTOMOBILBAU FROM HANSER FACHBUCHVERLAG DOWNLOAD EBOOK : FAHRZEUGENTWICKLUNG IM AUTOMOBILBAU FROM HANSER FACHBUCHVERLAG PDF

Lapbook At school. Didaktisch-methodische Hinweise. Material aus dieser Handreichung. Benötigtes Zusatzmaterial. Impulse

EiP Übung

Streetwalker (1) == Streetwalker == Why don't you give me some time? Won't you give me some...

Relevante(r) Deskriptor(en) Deskriptor 5: Kann einfachen Interviews, Berichten, Hörspielen und Sketches zu vertrauten Themen folgen.

Killy Literaturlexikon: Autoren Und Werke Des Deutschsprachigen Kulturraumes 2., Vollstandig Uberarbeitete Auflage (German Edition)

Datenstrukturen DCG Grammatiken

Video zum I Don't Want To Know

Einführung in die Computerlinguistik reguläre Sprachen und endliche Automaten

FACHKUNDE FüR KAUFLEUTE IM GESUNDHEITSWESEN FROM THIEME GEORG VERLAG

Umgangssprache für Anfänger. Übungen

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016

Einführung in die Programmierung

Führen durch Entscheiden

Orientierungsarbeit Englisch

Einführung in die Computerlinguistik Satz von Kleene

Sebastian Bartsch. Click here if your download doesn"t start automatically

Prepositions are words that give information to the reader. Vorwörter geben dem Leser Informationen.

COMPUTER: Mission Berlin. November 9, 2006, ten o ten am. You've got 120 minutes to save Germany and 3 lives. Can you trust the superintendent?

Einführung in die Computerlinguistik reguläre Sprachen und endliche Automaten

Einführung in die Computerlinguistik reguläre Sprachen und endliche Automaten

Englisch. Schreiben. 11. Mai 2016 HUM. Standardisierte kompetenzorientierte schriftliche Reife- und Diplomprüfung. Name: Jahrgang:

BRITISH TEENAGERS TALKING ABOUT WHAT THEY EAT

g. If you don't know where you are, you must look at the h. If you can't find your way, you must for help: Can you me...the way to, please?

Efficient Regexes. Pascal Zambito

Perl. Unser erstes Programm. Grundaufbau eines Programms

numbers 90 ninety 40 forty 12th twelfth 20th twentieth 30th thirtieth 40th fortieth 29th twenty-ninth 45th forty-fifth 98th ninety-eighth Aufgabe 1

ZENTRALE KLASSENARBEIT 2014 GYMNASIUM. Englisch. Teil B. Schuljahrgang 6. Arbeitszeit: 35 Minuten. Thema: Tiere

Magic Figures. We note that in the example magic square the numbers 1 9 are used. All three rows (columns) have equal sum, called the magic number.

Die Geschichte der Sprachverarbeitung ist eine Geschichte voller Mißverständnisse WS 2011/2012

Python für Linguisten

Das ist gut für die Gesundheit

SS 2011 Network Security Dozent(en): Prof. Dr. Peter Martini

Ein Stern in dunkler Nacht Die schoensten Weihnachtsgeschichten. Click here if your download doesn"t start automatically

COMPUTER: Mission Berlin, August 13, 1961, six pm. You've only got 55 minutes left to save Germany.

Selbstbild vs. Fremdbild. Selbst- und Fremdwahrnehmung des Individuums (German Edition)

DO you come from a big city in Italy? (you)

Wer bin ich - und wenn ja wie viele?: Eine philosophische Reise. Click here if your download doesn"t start automatically

der Turing Test und seine Varianten Woran erkennt man intelligentes Verhalten?

Harry gefangen in der Zeit Begleitmaterialien

Aus FanLiebe zu Tokio Hotel: von Fans fã¼r Fans und ihre Band

Übersicht Shell-Scripten

Paper Reference. Paper Reference(s) 4375/01 London Examinations IGCSE German Paper 1: Listening

Harry gefangen in der Zeit Begleitmaterialien

RECHNUNGSWESEN. KOSTENBEWUßTE UND ERGEBNISORIENTIERTE BETRIEBSFüHRUNG. BY MARTIN GERMROTH

Socken stricken mit nur 2 Stricknadeln: Vier verschiedene Techniken (German Edition)

Ethical Banking Professional Biography and Distancing in Banking and Finance

Television rating (= Altersbegrenzung) for movies. What can you do to save our environment?

UNIX Power Tools. Helferlein für den Alltag. Maximilian Haupt

Die einfachste Diät der Welt: Das Plus-Minus- Prinzip (GU Reihe Einzeltitel)

a lot of, much und many

Transkript:

Einführung in die Computerlinguistik Einführung in Perl (2) reguläre Ausdrücke Dozentin: Wiebke Petersen 31.5.2010 Wiebke Petersen Einführung CL (SoSe 2010) 1

Perl: In- und Output in Dateien Einlesen aus einer Datei open(input, "<le.ext"); önet die Datei file.ext zum Lesen. Mit $line =<INPUT>; schreiben Sie die erste Zeile der Datei in die Variable $line. Mit close(input); schlieÿen Sie die Datei. Schreiben in eine Datei open(output, ">le.ext"); önet die Datei file.ext zum Schreiben. Mit print OUTPUT "text"; schreiben Sie text in die Datei. Mit close(output); schlieÿen Sie die Datei. Wiebke Petersen Einführung CL (SoSe 2010) 2

reguläre Ausdrücke in Perl 1 #! p e r l w 2 p r i n t " P l e a s e e n t e r password : " ; 3 $password = <STDIN>; 4 chomp( $password ) ; 5 # While t h e e n t e r e d l i n e doesn ' t c o n t a i n "42" 6 w h i l e ( $password!~ /42/) { 7 p r i n t " A c c e s s d e n i e d. \ n" ; 8 p r i n t " P l e a s e e n t e r password : " ; 9 $password = <STDIN>; 10 chomp( $password ) ; 11 } 12 p r i n t " C o r r e c t password! Welcome. " ; reguläre Ausdrücke in Perl werden wie folgt eingeschlossen: /regex/!~ fordert, dass der reguläre Ausdruck nirgendwo im String matcht =~ fordert, dass er irgendwo im String matcht Schreiben Sie ein Programm, dass Passwörter akzeptiert, die mindestens drei Groÿbuchstaben enthalten. Wiebke Petersen Einführung CL (SoSe 2010) 3

Schalter und Ersetzen Schalter /regex/g führt die Suche nach regex wiederholt bis zum Ende des Strings aus. /regex/i ignoriert Groÿ- und Kleinschreibung. Ersetzen s/regex1/regex2/ ersetzt regex1 durch regex2. 1 $ t e x t = "The meat c o s t s 10 Mark, t h e f i s h c o s t s 15 Mark. " ; 2 $ t e x t =~ s /Mark/ Euro / ; 3 # "The meat c o s t s 10 Euro, t h e f i s h c o s t s 15 Mark. " 1 $ t e x t = "The meat c o s t s 10 Mark, t h e f i s h c o s t s 15 Mark. " ; 2 $ t e x t =~ s /Mark/ Euro /g ; 3 # "The meat c o s t s 10 Euro, t h e f i s h c o s t s 15 Euro. " Wiebke Petersen Einführung CL (SoSe 2010) 4

Gruppieren und Speichern /(text)/ ndet und speichert text Der erste Klammerinhalt wird in $1, der zweite in $2 u.s.w. gespeichert. 1 # S u b s t i t u t i o n and g r o u p i n g 2 $summ = 0 ; # i n i t i a l i z i n g t h e v a r i a b l e w i t h z e r o 3 $sume = 0 ; # i n i t i a l i z i n g t h e v a r i a b l e w i t h z e r o 4 $ t e x t = "The meat c o s t s 10 Mark, t h e f i s h c o s t s 15 Mark. " ; 5 w h i l e ( $ t e x t =~ /(\ d+) Mark/g ) { 6 $summ = $summ + $1 ; 7 $sume = $sume + $1 / 2 ; 8 } 9 p r i n t " t o t a l : $summ Mark o r $sume Euro " ; Wiebke Petersen Einführung CL (SoSe 2010) 5

Übungseinheit 1 Überlegen Sie sich, wie das Programm namen.pl funktioniert (wählen Sie dazu namen.txt als Inputdatei) und ändern Sie es so, daÿ es die Namen in der Form Initial Nachname ausgibt. 2 Schreiben Sie ein Programm, das die Zahl der unbestimmten Artikel, die in einem Text vorkommen, zählt. 3 Schreiben Sie ein Programm, das alle Strophen des Liedes Auf der Mauer auf der Lauer aus der ersten Strophe generiert. Wiebke Petersen Einführung CL (SoSe 2010) 6

Dialogsystem: Eliza (Weizenbaum 1966) User: Men are all alike ELIZA: IN WHAT WAY User: They're always bugging us about something or other ELIZA: CAN YOU THINK OF A SPECIFIC EXAMPLE? User: Well, my boyfriend made me come here ELIZA: YOUR BOYFRIEND MADE YOU COME HERE User: He says I'm depressed much of the time ELIZA: I AM SORRY TO HEAR THAT YOU ARE DEPRESSED Implementierungen: http://www.hsweis.schule.neu-ulm.de/eliza/eliza3.html http://bs.cyty.com/menschen/e-etzold/archiv/science/rat.htm http://folk.uib.no/hhiso/eliza/index.htm Wiebke Petersen Einführung CL (SoSe 2010) 7

Dialogsystem: Eliza (Weizenbaum 1966) 1 Wechsel von 1. zur 2. Person: 1 s /\ b I ( 'm am)\ b / you a r e /g 2 s /\bmy\b / your /g 3 s /\ bmine \b / y o u r s /g 2 Generierung von Antworten: 1 s /. * you a r e ( d e p r e s s e d sad ). * / i am s o r r y to h e a r you a r e $1/ 2 s /. * you a r e ( d e p r e s s e d sad ). * / why do you t h i n k you a r e $1/ 3 s /. * a l l. * / i n what way/ 4 s /. * a l w a y s. * / can you t h i n k o f a s p e c i f i c example / Wiebke Petersen Einführung CL (SoSe 2010) 8

Hausaufgabe (Abgabe: 10.6.2010 1 Schreiben Sie ein Programm, das ein Paÿwort abfragt und testet ob dieses die folgenden 3 Merkmale aufweist (verwenden Sie verschachtelte ifelse Anweisungen): es ist zwischen 5 und 8 Zeichen lang und es endet auf einen Groÿbuchstaben und es enthält mindestens zwei Ziern. 2 ELIZA: Das Skript eliza.pl ist ein simples Eliza-Programm. Überlegen Sie sich, wie man das Programm verbessern könnte (z.b. durch die Hinzunahme weiterer Antwortmöglichkeiten), und nehmen Sie mindestens eine Verbesserung vor. Bitte dokumentieren Sie in ihrem Programm, worin Ihre Verbesserung besteht und wodurch Sie sie erreichen. 3 Bearbeiten Sie Aufgabe 2 von Folie 6. Wiebke Petersen Einführung CL (SoSe 2010) 9

Weiterführende Informationen Über den Turingtest http://plato.stanford.edu/entries/turing-test/ Zum Loebner Preis http://www.loebner.net/prizef/loebner-prize.html Kritik am Loebner Preis von Stuart Shieber http://www.eecs.harvard.edu/shieber/biblio/papers/ loebner-rev-html/loebner-rev-html.html Chatbot eines der Preisträger: www.elbot.de Wiebke Petersen Einführung CL (SoSe 2010) 10