zagat restaurant finder

23
A Speech Recognizer Application Zina Saadi Anila Chowdhury College of Computer Science Tufts University

Upload: zina-saadi

Post on 25-Jan-2015

2.013 views

Category:

Documents


0 download

DESCRIPTION

Zagat Restaurant Finder is a speech recognizer application that allows callers to find the right quality dining place in New York City regions. The application browses, parses, retrieves and lists restaurant information from “Zagat Survey”1 at http://www.zagat.com/, which is the world’s leading provider of consumer survey-based information on where to Eat, Drink, Stay and Play worldwide. Zagat Restaurant Finder contains restaurants from over 86 different cuisines, with Italian, and American as the lead cuisines. The figure below illustrates the cuisines distribution provided by the application.

TRANSCRIPT

Page 1: Zagat Restaurant Finder

A Speech Recognizer Application

Zina Saadi

Anila Chowdhury

College of Computer Science Tufts University

Page 2: Zagat Restaurant Finder

2

Introduction & Inspiration

System Flow & Design

Implementation

Challenges

Branding

Usability Testing

Marketing & Future Work

Questions/ Comments

Page 3: Zagat Restaurant Finder

3

A Speech recognizer application that can help callers to find a restaurant in New York City.

Functionalities: Find a restaurant by Name

Search for restaurants by Cuisine

Search for restaurants by Neighborhood

Top Zagat Rated List

Narrow down a list by

Food Ratings

Décor Ratings

Service Ratings

Price Ratings

Page 4: Zagat Restaurant Finder

4

Regular and non-regular diner people can use it

Access it anytime by a phone call

Select top Zagat rated restaurants

Find a restaurant by name- get address, phone number

Find by Cuisine or Neighborhood

Helps you to narrow down your results based on rating

Get connected to the restaurant

Anila and Zina conducted a survey and about 87% people said “yes” to using a system to find restaurants.

Page 5: Zagat Restaurant Finder

5

System Flow

Main Menu

Restaurant

Information

Search

Results

Narrow

Options

Top List

Page 6: Zagat Restaurant Finder

6

User Scenario

• Scenario 1System: What is the name your restaurant?

Caller: Heidelberg

System: Heidelberg is a German restaurant located at East 80s neighborhood.

• Scenario 2Caller: French

System: I have found 203 restaurants that matched your search criteria.

Caller: Narrow Down (selected); Price Rating (selected)

System: In the Price rating, I've got restaurants that have price range between 0 (on the low end) and 86 (on the high end.) What's the maximum Price you want to pay?

Caller: 16

System: I have found 16 restaurants that matched your search criteria.

Page 7: Zagat Restaurant Finder

7

Recording Prompts

• Voice Talents:

– Katarina (Italian)

– Maria (Spanish)

– Jennifer (US English)

– Julie (French)

– Melissa (US English)

– Anila (US English)

• Music (selected by Zina)

– Mozart

Page 8: Zagat Restaurant Finder

8

17%

16%

6%

4%4%4%3%

46%

Cuisines DistributionItalian

American

French Bistro

Japanese

French

Chinese

Eclectic and InternationalOthers

Page 9: Zagat Restaurant Finder

9

Steakhouses Mexican and Tex Mex Asian Kosher Noodle Shops Swiss

Mediterranean Brasserie Dim Sum Coffeehouses and Desserts Tapas Tunisian

Pizza Spanish VietnameseSouth American Bakeries Ukrainian

Indian Coffee Shops and Diners

Delis and Sandwich Shops Brazilian Caribbean Armenian

Thai Greek Vegetarian Jewish Health Food Australian

Hamburgers Southern and Soul Continental Korean Middle Eastern Burmese

Bar B Q German Scandinavian Polish English Cambodian

Cuban Argentinean Soups Portuguese Ethiopian Colombian

Turkish Moroccan Californian Afghan Indonesian Dominican

Nuevo Latino Belgian Hot Dogs Jamaican Israeli Eritrean

Southwestern Russian Malaysian Austrian Persian Filipino

Irish Peruvian Egyptian Puerto Rican Lebanese

Page 11: Zagat Restaurant Finder

11

User Interface

(Phone-Call <=> Bevocal)

Flow-of-Control Management

(cgi, vxml forms)

Data Extraction Interface

Data Extraction

(XML Parsing)

Data Storage

Front-EndBack-End

Merging

Ruby

Functions

Page 12: Zagat Restaurant Finder

12

State Tables

• Grouped them by functionality

VoiceXML

• Mappings: Cuisines Background soundsLanguage Voices

Interface• Updated/Added Functions

Result: CGI Files

Result: generated VXML via CGI

Result: <restaurantDataInterface.rb>

Page 13: Zagat Restaurant Finder

13

Xml

• Unicode Conversion

• Used Python

Data

• Extraction => Normalization=>Segmentation

Interface

• Data Encapsulation & Normalization

• Methods/Functions Definitions

Result: Normalized .xml File

Result: Created .pstore File

Result: <restaurantDataInterface.rb>

Page 14: Zagat Restaurant Finder

14

Restaurants Names

• <PVAL>Cafe Español</PVAL>

=> <PVAL>Cafe Espanol</PVAL>

string = re.sub(u"\u00F1", u"n", string)

• <PVAL>Mamá Mexico</PVAL>

<PVAL>Mama Mexico</PVAL>

re.sub(u"(\u00E0|\u00E1|\u00E4)", u"a", string)

Page 15: Zagat Restaurant Finder

15

Description

• "ok, not olé." or "Provençal country home"

• Celebrating its 40th anniversary, André and Rita Jammet's Midtown French classic”

• re.sub(u"(\u00E8|\u00E9|\u00EA|\u00EB)", u"e", string)

• re.sub(u"\u00E7", u"c", string)

Page 16: Zagat Restaurant Finder

16

• <PVAL>14 Wall Street Restaurant, The</PVAL>

The 14 Wall Street Restaurant

• <PVAL>Cloister Cafe, The</PVAL>

=> The Cloister Cafe

Page 17: Zagat Restaurant Finder

17

Punctuation Removal

• <PVAL>Salute!</PVAL>

• <PVAL>Pao!</PVAL>

Number Conversion (using ‘lingusitics’ ruby gem)

• <PVAL>101</PVAL>

Page 18: Zagat Restaurant Finder

18

Usability Testing

• Target Users– all kinds of web & phone users (laggard to advanced)

• What we tested– Basic functionalities

– How well they understood the product

– How easy was it to learn

• Test Subjects– Friends and families

• Challenges– Ask minimum numbers of questions and collect the right information

– How clear and intuitive each tasks are.

Page 19: Zagat Restaurant Finder

19

Test Plan• Wizard of Oz

– Subject pretended to be the caller

– I pretended to be the System

• Pilot Testing

– Small prototype

– Smaller set of Restaurant Data

– Less functionalities

• Final Testing

– Full implementation of all proposed design

– Full dataset

– All functionalities included (narrow, top list)

– Check values and boundaries for input and prompts

– Recorded Prompts + Background music

Page 20: Zagat Restaurant Finder

20

Usability Testing Results

• This application has great potential for real life use -- I often find myself trying to locate restaurants when I'm outside, and lack of access to a computer makes things difficult.

– Farial Anam, Senior Associate, LECG, LLC

• It's really neat (and it works great too). Since I am French, I focused on the 'French' cuisine, and it properly told me 10 restaurants with the proper pronunciation ("native quality" French)- I picked one ("Bistro les Amis") by saying the name (with my native, South-West, French accent) and it recognized it.... Very neat.

– Eric Montagut, Senior Principal Engineer, Basis Tech

Page 21: Zagat Restaurant Finder

21

Marketing & Future Work

• Suggest new restaurants

• Encourage people to use zagat.com and rate more restaurants

• Larger database

• Add new cities & restaurants

• Other languages

• Add features (buffet, romantic, music etc)

Page 22: Zagat Restaurant Finder

22

Teachers of the course:

Blade Kotelly & Chris Roby

Page 23: Zagat Restaurant Finder

23

شكرا بزاف

متشّكرين

唔該

非常感謝

多謝

Merci

danke

ευχαριστώ πολυ

תודה आभारी हँु

धन्यवाद

köszi

terima kasih

grazie

どうも

مرسي

متشكرم

Dzięki

obrigadinho

спасибо

ཐུགས་རྗེ་ཆེ་། teşekkürler

Cảm ơn rất nhiều

дякую

تشكر