Sports Scores Speech Recognition System Major League Baseball Score System.

Slides:



Advertisements
Similar presentations
WEB DESIGN TABLES, PAGE LAYOUT AND FORMS. Page Layout Page Layout is an important part of web design Why do you think your page layout is important?
Advertisements

 The Citrix Application Firewall prevents security breaches, data loss, and possible unauthorized modifications to Web sites that access sensitive business.
Multi-Model Digital Video Library Professor: Michael Lyu Member: Jacky Ma Joan Chung Multi-Model Digital Video Library LYU9904 Multi-Model Digital Video.
Edoclite and Managing Client Engagements What is Edoclite? How is it used at IU? Development Process?
Computer Monitoring System for EE Faculty By Yaroslav Ross And Denis Zakrevsky Supervisor: Viktor Kulikov.
Technical Architectures
1 Chapter 12 Working With Access 2000 on the Internet.
Presentation Outline  Project Aims  Introduction of Digital Video Library  Introduction of Our Work  Considerations and Approach  Design and Implementation.
28/1/2001 Seminar in Databases in the Internet Environment Introduction to J ava S erver P ages technology by Naomi Chen.
DCS Architecture Bob Krzaczek. Key Design Requirement Distilled from the DCS Mission statement and the results of the Conceptual Design Review (June 1999):
INTERNET DATABASE Chapter 9. u Basics of Internet, Web, HTTP, HTML, URLs. u Advantages and disadvantages of Web as a database platform. u Approaches for.
Introduction to Web Database Processing
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
Introduction to Web Interface Technology (CSE2030)
Portal Technologies An overview of portal products and other software.
Chapter 7: Client/Server Computing Business Data Communications, 5e.
Microsoft ASP.NET AJAX - AJAX as it has to be Presented by : Rana Vijayasimha Nalla CSCE Grad Student.
1 CS6320 – Why Servlets? L. Grewe 2 What is a Servlet? Servlets are Java programs that can be run dynamically from a Web Server Servlets are Java programs.
Definitions, Definitions, Definitions Lead to Understanding.
Microsoft ® Official Course Interacting with the Search Service Microsoft SharePoint 2013 SharePoint Practice.
Chapter 11 ASP.NET JavaScript, Third Edition. 2 Objectives Learn about client/server architecture Study server-side scripting Create ASP.NET applications.
Microsoft Office SharePoint Server Business Intelligence Tom Rizzo Director, Microsoft Office SharePoint Server
Passage Three Introduction to Microsoft SQL Server 2000.
UNIT-V The MVC architecture and Struts Framework.
Software Engineering Muhammad Fahad Khan
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
Christopher Jeffers August 2012
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
ASP.NET  ASP.NET is a web development platform, which provides a programming model, a comprehensive software infrastructure and various services required.
Tutorial 10 Adding Spry Elements and Database Functionality Dreamweaver CS3 Tutorial 101.
Introduction To Computer System
Data Management Kelly Clynes Caitlin Minteer. Agenda Globus Toolkit Basic Data Management Systems Overview of Data Management Data Movement Grid FTP Reliable.
Advanced Web Forms with Databases Programming Right from the Start with Visual Basic.NET 1/e 13.
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
ITCS 6010 SALT. Speech Application Language Tags (SALT) Speech interface markup language Extension of HTML and other markup languages Adds speech and.
M1G Introduction to Database Development 6. Building Applications.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
File Processing - Database Overview MVNC1 DATABASE SYSTEMS Overview.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
Key Applications Module Lesson 21 — Access Essentials
Chapter 6 Server-side Programming: Java Servlets
XP New Perspectives on The Internet, Sixth Edition— Comprehensive Tutorial 3 1 Searching the Web Using Search Engines and Directories Effectively Tutorial.
Cohesion and Coupling CS 4311
Dr. Azeddine Chikh IS444: Modern tools for applications development.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Sports Scores Speech Recognition System Major League Baseball Score System.
World Wide Web “WWW”, "Web" or "W3". World Wide Web “WWW”, "Web" or "W3"
AxKit A member of the Apache XML project Ryan Maslyn Kyle Bechtel.
Grid Computing Environment Shell By Mehmet Nacar Las Vegas, June 2003.
Search Engine using Web Mining COMS E Web Enhanced Information Mgmt Prof. Gail Kaiser Presented By: Rupal Shah (UNI: rrs2146)
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
MVC WITH CODEIGNITER Presented By Bhanu Priya.
ASP. ASP is a powerful tool for making dynamic and interactive Web pages An ASP file can contain text, HTML tags and scripts. Scripts in an ASP file are.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
Collaborative Systems Developing Collaborative Systems with a Reuse Driven Process.
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
WebScan: Implementing QueryServer 2.0 Karl Geiger, Amgen Inc. BRS NA UG August 1999.
V7 Foundation Series Vignette Education Services.
Stuff to memorise… "A method tells an object to perform an action. A property allows us to read or change the settings of the object."
Architecture Review 10/11/2004
Running a Forms Developer Application
z/Ware 2.0 Technical Overview
Self Healing and Dynamic Construction Framework:
Lecture 1: Multi-tier Architecture Overview
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
DATABASE DESIGN & DEVELOPMENT
Presentation transcript:

Sports Scores Speech Recognition System Major League Baseball Score System

Development Team Members Dan Corkum (Director) Jason NguyenTrieu Dan Ragland (Producer) Quang Vu Andrew Wagner Sponsor: Jim Larson, Intel Corporation

Goals & Objectives Develop a compelling Speech Recognition Application for Retrieval of Sports Information. Incorporate Ease of Use Techniques including: Tapered Prompts, Global Commands, Barge-In, Repair Dialogs, and others. Develop an Architecture that is both Robust and Modular. Design for Reuse.

Core Modules “Web Viking” – Parse Internet Web Pages to retrieve sports information. Data Warehousing & Querying – Database for storage of searchable information. Client and Server Communication – Enables communication between Server and remote Clients. VUI (Voice User Interface) Voice Prompts and Response System – The core engine that controls the entire VUI. Dialog Database – Contains the content for the text- to-speech prompts and response criteria.

Web Viking The purpose of the Web Viking is to retrieve data from web sites, parse and format it into a format so that the database interface can understand it. There are three data collection scripts: Schedule, Scores, and Standing/Ranking The data comes from 2 sources: – Major League Baseball – ESPN Two chances to get the right data: – First, we get data from MLB web site and parse it. If it fails for any reason, we'll try to get data from the ESPN web site.

Web Viking How is the data retrieved? – We used the library functions available in the CPAN (Comprehensive Perl Archive Network.) – The module: package up the URL request – The module: handle the data coming back. How the data is parsed: 1. Match and strip off unnecessary data. 2. Regular expression 3. Split 4. Format data and check result.

Data Warehousing & Querying The Database was implemented using MS Access. It functions as a storage site keeping track of team names, scores associated with each team, league/division ranking information, and the schedules for each game. The Database Handler was written in Java. Its primary purpose is to query the database and fetch the results to the sport score server.

Client & Server Communication danC stuff

Client & Server Communication danC #2

VUI (Voice User Interface) Voice Prompts and Response System User Interface and Underlying Logic

Design Considerations Two Options For Design: 1. Dialog logic coded directly into code. 2. Dialog logic entered into a data structure and presented by separate internal logic. VUI

Advantages & Disadvantages of Hard-Coded Dialogs Fast initial implementation Ultimate flexibility of features Duplicated code Difficult to provide consistent global functionality Hard-coded grammars VUI

Advantages & Disadvantages of Dialog Database Good design: Data separated from presentation Consolidation of code Easy to create and maintain dialogs Features aided by use of recursion Computer-generated grammars Much work required before any results seen Difficult to customize specific components VUI

Decision: Dialog Database Sports Score dialogs all follow the same basic pattern Implementation could be modularized by separating the dialogs from their presentation logic The gains made by the ease of entry and flexibility for the end-user outweighed the losses in implementation time Some features require recursion VUI

VUI Infrastructure Design Features – Tapered, User-Level Sensitive Prompts – Tapered, User-Level Sensitive Help – Barge-In capability – User shortcut capability (users can answer future prompts from any prompt) – Navigational user commands (“back”,”quit”,etc) – Enumerated user commands to allow the user to say a number as an alternative to the command VUI

Dialog Components Prompt – Point of user interaction – Has associated Prompt Text levels, including text to be read, the user level for which it is to be read, and the number of visits before the next user-level is used – Has associated Commands, or phrases the user is allowed to say and the actions to take – Has a parameter name to be used in a query VUI

Dialog Components (cont) Commands – The text the user says to access the command – The text that will be returned when this command is accessed (used in a query) – A flag to indicate whether or not the command is to be enumerated – The action the system is to take when the command is accessed VUI

Dialog Components (cont) Scripts – Series of prompts to be called in succession Script Steps – Individual prompts belonging to a script – Each contains its own grammar (reflecting shortcuts available later in the script) – Each contains a flag indicating whether or not a query will be performed following the step VUI

How A Prompt Works Shortcuts take place when a user answers multiple prompts in a row, so the first thing the prompt does is checks for overflow from the last prompt. If there is overflow, jump ahead to the command processing. Otherwise, cycle through the following: – Find the appropriate prompt text to be read to the user based on user level and number of visits. VUI

How A Prompt Works (cont) – If the user requires help, find the appropriate help text to be read – Begin the reading of the help and prompt text to the user – At the same time, begin listening for a user response (if the user responds while it is reading, interrupt the reading) – When the computer finishes reading, begin timing. After five seconds with no user speaking, time-out. VUI

How A Prompt Works (cont) – Attempt to match what the user said to a command that is available at this prompt. Match using the longest available command, so if the user said “New York Yankees”, match “New York Yankees,” not “New York” Any portion of what the user said that was not matched (if anything was matched at all) gets sent to proceeding prompts for processing. Example: The user said “score New York” in the first prompt. If the prompt matches “score”, “New York” will get passed to any following prompts. VUI

How A Prompt Works (cont) When a command is matched, the command’s return value is attached to the parameter name of the prompt The action that is then performed is dictated by the command. Some possibilities are: –Calling another script/prompt and returning all values –Calling another script/prompt and returning only those values –Repeating the prompt and reading help to the user –Changing the user level –Running a query and repeating or calling another prompt/script VUI

How A Script Works A script is presented simply by presenting the first script step in the script A script step presents its associated prompt, using its own grammar (reflecting the ability of the user to shortcut to the next script step) After the script step is executed, a query may be performed and the next script step (if any) may be performed VUI

Other Dialog Routines Components are also involved in routines to build grammars acceptable to Microsoft’s SAPI interface – The dialog structure is descended recursively, with all dependent grammars being included in each prompt’s grammar – Global commands are also created and added to grammars VUI

Queries All query parameters are accumulated in an XML document When a query occurs, the document is sent to the server The server returns an XML document containing results The results are read to the user based on administrator-defined result strings VUI

Why XML? XML is fast becoming the industry standard for data transfer over the Internet XML’s hierarchical structure lends itself to this application Several XML parsers already exist for various platforms (we used IBM’s XML4J) The HTML-like nature of XML makes results easy to read, even for a human.

How Query Results Are Read The administrator defines parameter-value pairs as criteria for which response is read Each response consists of segments of literal text along with parameter values (which can be drawn either from the client or server)

Query Results Example Criteria – Function = “Score” – Team = “Yankees” To be read – “The Yankees score was” – – “To” –

The Results The front-end is very customizable Dialogs can be built simply and quickly The system administrator needs no knowledge of programming concepts The overall behavior of the system could be changed without changing each prompt The computer speech engine is accessed in only one area of code, so it could be swapped with minimal effort VUI

Dialog Structure The Dialog System consists of: – Prompts – Responses – Help System All Dialogs are tapered (Prompts, Responses, & Help) Repair Dialogs – Example: Two teams from same city (New York  Mets and Yankees)

Dialog Structure Overview

Summary We not only developed a powerful Speech Recognition Application for Retrieval of Sports Information, we also developed a reusable framework which can be easily modified for use in other applications. We incorporated Ease of Use Techniques including: Tapered Prompts, Global Commands, Barge-In, Repair Dialogs, and others.