Funny Factory Keith Harris Matt Gamble Mike Cialowicz Zeid Rusan.

11
Funny Factory Keith Harris Matt Gamble Mike Cialowicz Zeid Rusan

Transcript of Funny Factory Keith Harris Matt Gamble Mike Cialowicz Zeid Rusan.

Page 1: Funny Factory Keith Harris Matt Gamble Mike Cialowicz Zeid Rusan.

Funny Factory

Keith

Harris

Matt

Gamble

Mike

Cialowicz ZeidRusan

Page 2: Funny Factory Keith Harris Matt Gamble Mike Cialowicz Zeid Rusan.

Our Missions:1- To explore strange new worlds.2- Given an inputed sentence, output the statistically funniest response based on comedic data.

“On Screen!”

Our Approach:1- Learn from relationships between words in jokes.2- Learn from sentence structures of jokes.

Page 3: Funny Factory Keith Harris Matt Gamble Mike Cialowicz Zeid Rusan.

Step 1: Collect data (2.5 MB)

Setup 1: “I feel bad going behind Lois' back.”Setup 2: “Don't feel bad Peter.”Zinger!: “Oh I never thought of it like that!”

.

.

.

.

.

.

Page 4: Funny Factory Keith Harris Matt Gamble Mike Cialowicz Zeid Rusan.

Step 2: Tag the jokes (Size = 3.5MB)“I feel bad going behind Lois' back.”

“Don't feel bad Peter.”/VB /NN /JJ /NNP

“Oh I never thought of it like that!”/UH /PRP /RB /VBD /IN /PRP /IN /DT

Attach:

Attach:

Attach:

“Who tagged that there?”

/PRP /VBP /JJ /NN /IN /NNP /RB

Page 5: Funny Factory Keith Harris Matt Gamble Mike Cialowicz Zeid Rusan.

Step 3a: Zinger word counts(100 MB)

I feel bad going behind Lois' back

For each word : Count!

WORD SPACING COUNTbad 1 34bad 2 12

I -1 56

Intuition: Word relations in Zingers should help us construct our own!

For word 'feel' :

Page 6: Funny Factory Keith Harris Matt Gamble Mike Cialowicz Zeid Rusan.

Step 3b: Cross sentence counts (## MB)

For each adjacent pair in setups :

WORD INDEX COUNTOh 0 3

never 2 12never 3 5

Intuition: Words in input should help us place a seed word in Zingers we are constructing!

For 'feel,bad ' :

Count! : Oh I never thought of it like that!

Don't feel bad Peter

Page 7: Funny Factory Keith Harris Matt Gamble Mike Cialowicz Zeid Rusan.

Step 3c: Structure counts (2.2 MB)

Oh I never thought of it like that!

/UH /PRP /RB /VBD /IN /PRP /IN /DT

For each sentence :

Count! :

STRUCTURE COUNT/UH...../DT 23/JJ......./NN 2

/VBZ..../NNP 45

Intuition: Using known funny Zinger structures should yield funnier constructed Zingers.

Page 8: Funny Factory Keith Harris Matt Gamble Mike Cialowicz Zeid Rusan.

Step 4: Smoothing!

Converted dictionary counts to probabilities using:• Laplace smoothing (k = 1) • Lidstone's law (k = 0.5, 0.05)

“Damn that's smooth”

WORD INDEX POh 0 0.12

never 2 1.30E-012never 3 4.30E-008

WORD SPACING Pbad 1 6.70E-013bad 2 2.30E-004

I -1 0.02STRUCTURE P

/UH...../DT 6.10E-004/JJ......./NN 4.40E-017

/VBZ..../NNP 1.50E-004

Page 9: Funny Factory Keith Harris Matt Gamble Mike Cialowicz Zeid Rusan.

Step 5: Make a sentence!

This is an example

sense

makes sense

/DT makes sense

“This makes sense”

Input sentence :

Get seed word :

Generate more words :

Get a structure :

Complete sentence :

Highest Prob

Highest Prob

Highest Prob

Highest Prob

Page 10: Funny Factory Keith Harris Matt Gamble Mike Cialowicz Zeid Rusan.

Step 6: DEMO!

5/11/2006 @ 4:13 am in the Linux Lab

“YEAH BOYYYYYYYY!”

Page 11: Funny Factory Keith Harris Matt Gamble Mike Cialowicz Zeid Rusan.

Step 7: Future Work

- Incorporate semantics. - Collect MORE data. (Need a better computer)- Apply weights to cross sentence counts- Evaluate using test subjects (mainly Billy) with different combinations of weight and probability (k = #) parameters.- Do parameters converge along with funny?- Reevaluate using the (better?) parameters.