Presentation is loading. Please wait.

Presentation is loading. Please wait.

LING/C SC/PSYC 438/538 Lecture 3 8/30 Sandiway Fong.

Similar presentations


Presentation on theme: "LING/C SC/PSYC 438/538 Lecture 3 8/30 Sandiway Fong."— Presentation transcript:

1 LING/C SC/PSYC 438/538 Lecture 3 8/30 Sandiway Fong

2 Administrivia Homework out today – change: due next Wednesday midnight – (Monday being Labor Day) Reading reminder – Chapter 2 of JM.. we’ll be using Perl here

3 Quiz from Lecture 1 – Discussion (Quiz not handed back) 1.Is the word spoilsport an example of compositional semantics or not? Explain your answer. idioms contrasted with compositional e.g. spoilsman vs. blackboard 1.Re: human language processing vs. machine models of language Did the authors cite any examples of this in chapter 1?

4 Perl Week Tutorial contd… – http://perldoc.perl.org/perlintro.html http://perldoc.perl.org/perlintro.html – from arrays onwards …. – Philosophy: Natural Language Principles in Perl If a language is designed so that you can ``learn as you go'', then the expectation is that everyone is learning, and that's okay. http://www.wall.org/~larry/natural.html

5 Perl Week

6 Notes on arrays and hashes – Arrays are indexed from 0,1,2,3… – Hashes are like arrays with user-defined indexing (aka associative array or hash table) – Initialization (round brackets and commas) @a = (“zero”, “one”, “two”, “three”, “four”); %h = (“zero”, 0, “one”, 1, “two”, 2, “three”, 3, “four”, 4);(key/value pairs) – Access (square brackets vs. curly braces) $a[1]“one” $h{zero}0 – Output print @azeroonetwothreefour print “@a”zero one two three four print %hthree3one1zero0two2four4(note: different order) print “%h”%h

7 Perl Week Conditionals – if ( @a < 10 ) { print “Small array\n” } else {print “Big array\n” } – Note: @a here is a scalar = size of array – unless (@a > 10) { print “@a\n” } – Note: if size of array a is ≤ 10, it prints the contents of array a Looping – %fruits = ("apple", "green", "orange", "orange", "lemon", "yellow"); – foreach $fruit (keys %fruits) { print $fruit, " => ", $fruits{$fruit}, "\n” } gives output: – lemon => yellow – apple => green – orange => orange – Note: apparently here keys %fruits = (“lemon” “apple” “orange”) is an array

8 Perl Week Example: – the following program prints Equal! – == is the numeric equality comparison operator my $one_string = “1”; my $one_number = 1; if ($one_string == $one_number) { print “Equal!\n” } else { print “Different!\n” } Example: – the following program prints 3 is my number –. is the string concatenation operator my @a = (one, two, three); my $string = @a. “ is my number”; print “$string\n”; Perl features implicit coercion of data types

9 Lecture 3 Homework Due next Wednesday(see lecture 1 for the rules on submissions) One file only total please! Question 1: 438 and 538 (7 points) – Given – @sentence1 = (I, saw, the, the, cat, on, the, mat); – @sentence2 = (the, cat, sat, on, the, mat); – Write a simple Perl program which detects repeated words (many spell checker/grammar programs have this capability) – It should print a message stating the repeated word and its position if one exists – e.g. word 3 “the” is repeated in the case of sentence1 – No repeated words found in the case of sentence2 – note: output multiple messages if there are multiple repeated words – Hint: use a loop – Submit your Perl code and show examples of your program working

10 Lecture 3 Homework Question 2: 438 and 538 (3 points) – Describe what would it take to stop a repeated word program from flagging legitimate examples of repeated words in a sentence – (No spell checker/grammar program that I know has this capability) – Examples of legitimately repeated words: I wish that that question had an answer Because he had had too many beers already, he skipped the Friday office happy hour

11 Lecture 3 Homework Question 3: 538 (10 points), (438 extra credit) – Write a simple Perl program that outputs word frequencies for a sentence – E.g. given – @sentence1 = (I, saw, the, cat, on, the, mat, by, the, saw, table); – output a summary that looks something like: – the occurs 4 times – saw occurs twice – I, car, mat, on, by, table occurs once only – Hint: build a hash keyed by word with value frequency – Submit your Perl code and show examples of your program working


Download ppt "LING/C SC/PSYC 438/538 Lecture 3 8/30 Sandiway Fong."

Similar presentations


Ads by Google