Presentation Topics 1.System Description 2.System Components Speech Technology Positioning Technology Weighted Graph Algorithm 3.Implementation PDCS Model Managing Data Structuring Code 4.Demo 5.Perspectives 6.Relevant Links
1.The Position Dependent Communication System (PDCS) is a location-based service incorporating both positioning and speech technology. 2.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 System Description
3.The destination is recognized by a speech recognizer 4.The physical position is tracked by a positioning server 5.The route (shortest path) is computed 6.The route is communicated to the user on a map as well as a synthetic speech telling in which direction to go User scenario
System Components 1.Speaker-dependent versus speaker- independent recognition 2.Isolated-word versus continuous-speech recognition (c.f. grammar) 3.Quiet versus noisy environment Speech Technology The following features must be taken into account:
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.
Positioning Technology 1.Wireless Local Area Network (WLAN) 2.Ekahau Manager includes calibrator functionality (recording signal strengths from access points) 3.Ekahau Positioning Engine 4.Ekahau Client
Weighted Graph Algorithm 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 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:
PDCS model The PDCS model consists of both a physical and logical model (c.f. terminology) Implementation
1.The physical model corresponds to the Floor, Room and Door tables in the database 2.The logical model corresponds to the AbstractPosition and Distance tables in the database The PDCS model is directly related to the data in the database: Managing Data
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 yStart 500; 15 will be returned as the areaId in both cases!
Structuring Code 1.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
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.
Examples on speech synthesis IBM ViaVoice Justin Jane AT&T Natural Voices Charles Crystal
1.Loading new packages (grammar, physical and logical model) during run-time 2.The static data (c.f. destination) could be extended with dynamic data (c.f. other users) 3.The map (c.f. PDCS model) must be constructed automatically instead of manually 4.Enrolment of each user 5.Scaling the PDCS by making the logical model hierarchic 6.The experience from designing and implementing the PDCS has been used in the first prototype of the DELCA (Dis- Embodied Location-specific Conversational Agents) Perspectives
Relevant Links Position Dependent Communication System Speech Technology Positioning Technology DELCA (Disembodied Location-specific Conversational Agents)