160 likes | 536 Views
Presentation Topics. System Description System Components Speech Technology Positioning Technology Weighted Graph Algorithm Implementation PDCS Model Managing Data Structuring Code Demo Perspectives Relevant Links. System Description.
E N D
Presentation Topics • System Description • System Components • Speech Technology • Positioning Technology • Weighted Graph Algorithm • Implementation • PDCS Model • Managing Data • Structuring Code • Demo • Perspectives • Relevant Links thomasbodin@itu.dk
System Description • The Position Dependent Communication System (PDCS) is a location-based service incorporating both positioning and speech technology. • The PDCS is a well documented open-source project • Existing code can easily be expanded • Relevant design patterns have been implemented • Unified Modeling Language (UML) and Javadoc have been used to document the project thomasbodin@itu.dk
User scenario The destination is recognized by a speech recognizer The physical position is tracked by a positioning server The route (shortest path) is computed The route is communicated to the user on a map as well as a synthetic speech telling in which direction to go thomasbodin@itu.dk
System Components Speech Technology • Speaker-dependent versus speaker-independent recognition • Isolated-word versus continuous-speech recognition (c.f. grammar) • Quiet versus noisy environment The following features must be taken into account: thomasbodin@itu.dk
Java Speech API (JSAPI) • IBM Speech for Java (implementation of the JSAPI) • IBM ViaVoice (speech engine providing both speech recognition and synthesis) The XML based Java Speech Markup Language (JSML) makes the synthesized speech sound more natural, while the Java Speech Grammar Format(JSGF) is a dictation grammar used by the speech recognizer. thomasbodin@itu.dk
Positioning Technology Wireless Local Area Network (WLAN) Ekahau Manager includes calibrator functionality (recording signal strengths from access points) Ekahau Positioning Engine Ekahau Client thomasbodin@itu.dk
Weighted Graph Algorithm Arbitrary relationships among data objects can be expressed in a weighted graph model. An example of a directed weighted graph (in the PDCS the weighted graph is undirected) could be as follows: V = {1, 2, 3, 4} E = {(1, 2), (1, 3), (2, 4), (3, 2), (4, 3)} G = (V, E) w(1, 2) = 7, w(1, 3) = 1, w(2, 4) = 5, w(3, 2) = 2, w(4, 3) = 9 thomasbodin@itu.dk
PDCS model Implementation The PDCS model consists of both a physical and logical model (c.f. terminology) thomasbodin@itu.dk
Managing Data The PDCS model is directly related to the data in the database: • The physical model corresponds to the Floor, Room and Door tables in the database • The logical model corresponds to the AbstractPosition and Distance tables in the database thomasbodin@itu.dk
mysql> select * from Area; +--------+---------+--------+--------+--------+------+------+ | areaId | floorId | roomId | xStart | yStart | xEnd | yEnd | +--------+---------+--------+--------+--------+------+------+ | 1 | 2 | NULL | 954 | 690 | 1428 | 1212 | | 2 | 2 | NULL | 954 | 1212 | 1428 | 1436 | | 3 | 2 | NULL | 1428 | 1212 | 1912 | 1436 | | 4 | 2 | NULL | 1912 | 1212 | 2400 | 1436 | | 5 | 2 | NULL | 2400 | 690 | 2872 | 1186 | | 6 | 2 | NULL | 2400 | 1186 | 2666 | 1436 | | 7 | 2 | NULL | 2666 | 1186 | 2872 | 1436 | | 8 | 2 | NULL | 2872 | 1186 | 3628 | 1436 | | 9 | 2 | NULL | 3628 | 1186 | 4138 | 1436 | | 10 | 2 | NULL | 4138 | 1186 | 4794 | 1436 | | 11 | 2 | NULL | 4794 | 690 | 5038 | 824 | | 12 | 2 | NULL | 4794 | 824 | 5266 | 1186 | | 13 | 2 | NULL | 4794 | 1186 | 5266 | 1436 | | 14 | 2 | 3.08 | 954 | 0 | 1912 | 690 | | 15 | 2 | 3.09 | 1912 | 0 | 2872 | 690 | | 16 | 2 | 3.10 | 2872 | 0 | 3342 | 1186 | (…) select areaId from Area where roomId = ”3.09”; select areaId from Area where floorId = 2 and xStart < 2000 and xEnd > 2000 and yStart < 500 and yEnd > 500; 15 will be returned as the areaId in both cases! thomasbodin@itu.dk
Structuring Code • Dividing the classes into packages makes it easier to debug, while each package can be tested individually (c.f. each package can be considered as a plug-in) dk.funkenstein.graph dk.funkenstein.service dk.funkenstein.position dk.funkenstein.protocol dk.funkenstein.speech dk.funkenstein.model.physical dk.funkenstein.model.logical thomasbodin@itu.dk
Demo PDCS example In this scenario John has asked the system how to find Thomas. The system responds with the shortest path according to John’s specific position. thomasbodin@itu.dk
Examples on speech synthesis IBM ViaVoice • Justin • Jane AT&T Natural Voices • Charles • Crystal thomasbodin@itu.dk
Perspectives • Loading new packages (grammar, physical and logical model) during run-time • The static data (c.f. destination) could be extended with dynamic data (c.f. other users) • The map (c.f. PDCS model) must be constructed automatically instead of manually • Enrolment of each user • Scaling the PDCS by making the logical model hierarchic • The experience from designing and implementing the PDCS has been used in the first prototype of the DELCA (Dis-Embodied Location-specific Conversational Agents) thomasbodin@itu.dk
Relevant Links Position Dependent Communication System http://www.itu.dk/people/thomasbodin/itu.html http://www.itu.dk/people/thomasbodin/PDCS/demo/index.html Speech Technology http://java.sun.com/products/java-media/speech/ http://www.alphaworks.ibm.com/tech/speech http://www-106.ibm.com/developerworks/ibm/library/i-voice/ http://www.naturalvoices.att.com/demos/ Positioning Technology http://positionserver.itu.dk/ http://www.ekahau.com/ DELCA (Disembodied Location-specific Conversational Agents) http://lacomoco.itu.dk/index.jsp http://mobilitylab.itu.dk/ http://www.itu.dk/research/delca/ thomasbodin@itu.dk