A General Architecture for Self-Adaptive AmI ... - FTP-Server

1 downloads 0 Views 726KB Size Report
May 22, 2006 - Erwin-Schrödinger-Straße. D-67653 Kaiserslautern. +49 (0) 631 205 3329 ...... [10] Rose, Richard. Environmental Robustness in Automatic.
A General Architecture for Self-Adaptive AmI Components Applied in Speech Recognition Holger Klus

Andreas Rausch

TU Kaiserslautern Erwin-Schrödinger-Straße D-67653 Kaiserslautern +49 (0) 631 205 3329

TU Kaiserslautern Erwin-Schrödinger-Straße D-67653 Kaiserslautern +49 (0) 631 205 3360

[email protected]

[email protected]

ABSTRACT

1. INTRODUCTION

Ambient Intelligence (AmI) is a new technological paradigm which aims at improving everyday life. The vision of Ambient Intelligence is to augment almost every artifact with some kind of intelligence and communication ability and thus to provide an intelligent environment which is able to make life easier in an ambient way. Several aspects play an important role in order to realize such systems. One aspect is that components within such a system have to react in an intelligent manner on its environment in order to provide a reasonable contribution. Self-adaptive components can accomplish this challenge. In this paper we will present a general architecture for self-adaptive systems which can be used to implement and structure these kinds of components. Subsequently we will apply this general architecture to implement a self-adaptive AmI-component in the form of a self-adaptive speech recognition system. This system has already been integrated into an AmI scenario called “Assisted Bicycle Team Training” which will be outlined in this paper, too.

In these days the trend “everything, every time, everywhere” becomes more and more apparent. For example the internet can be accessed using mobile phones. Furthermore electronic assistants, so called "information appliances", like networkenabled PDAs, WAP-capable cell-phones and electronic books or tourist guides are available in stores all over the country. The continuing progress of all IT branches towards "smaller, cheaper, and more powerful" mainly enables this trend. Moreover, new developments in the field of materials science like midgetsensors, organic light emitting devices or electronic ink and the evolution in communications technology, especially in the wireless sector, contribute to embedding IT components in nearly every industrial or everyday life object. As consequence of this trend everyone has a lot of small more or less invisible devices in her and his direct environment, e.g. mobile phones, PDAs, or music players. Also some network technologies to connect the different devices like (W)LAN or Bluetooth moved mainstream.

Categories and Subject Descriptors D.2.11 [Software Engineering]: Software Architectures Domain-specific architectures

Today in most domains the considered devices provide isolated applications with fixed hardware settings for their users. But humans live in changing environments and have varying requirements, so they need customizable systems which adapt dynamically to the specific needs of the current situation and environment.

I.2.7 [Artificial Intelligence]: Natural Language Processing – Speech Recognition and synthesis

General Terms Design, Experimentation

Moreover, users want to use these devices in many different contexts. For instance users want to interact with other surrounding systems via their mobile devices. Hence these devices need a common mechanism to adapt themselves for integration into other systems.

Keywords Self-Adaptation, Ambient Intelligence, Speech Recognition

To sum up, users have to cope each day with more and more complex, possibly mobile devices. During usage dynamic adaptation of the devices for integration, cooperation and adjustment with surrounding systems and environment is required. As these devices are heterogeneous particularly pertaining to their usability and integration features nowadays sophisticated users with specific skills are required. In order to let common users benefit from these devices, an intuitive way of usage and integration is needed to shorten the initial phase of skill enhancement.

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. SEAMS’06, May 21–22, 2006, Shanghai, China. Copyright 2006 ACM 1-59593-085-X/06/0005.

72

Ambient Intelligence systems try to solve this problem by using a different approach. Their goal is to provide assistance to the users while hiding the complexity. As an AmI system should be nearly invisible to the user, dynamic adaptation should work without user interaction whenever possible. Furthermore, AmI systems should not only be easy to use, but also support the users.

In section four we will show how we have integrated the selfadaptive speech recognizer into our AmI scenario with respect to the architecture for self-adaptive AmI components introduced in section three.

Hence an AmI system is an autonomic system as it has knowledge about itself and its environment, it configures and reconfigures itself, and it protects itself from malfunction while hiding complexity from users. To sum up dynamic adaptation is an essential feature of AmI systems and AmI components.

In this section we will introduce our AmI scenario called “Assisted Bicycle Team Training” [8]. The main goal of this application is to assist a group of racing cyclists during their training sessions.

2. Assisted Bicycle Team Training

To do this, many aspects have to be taken into account. Today’s professional and semi-professional cyclists and even hobby athletes perform their training according to a given training plan. These training plans are created by professional trainers or sports physicians for each individual athlete. In Figure 1, an extract of such a training plan is presented.

Approaches supporting the development of adaptive and component-based systems have been developed and successfully deployed over the past years like for example the KobrA-method for component-based software development [1]. Systems are no longer redeveloped from scratch but composed of existing components. Moreover a couple of various technologies exist to support self-integration of these components during execution time, e.g. Universal Plug-and-Play (UPnP) [2], SalutationFramework [3], Jini Framework [4], Ronin-Agent-Framework [5] and CORBA Trading Service [6].

Week

Monday

1.

2.

However, these “classical” development approaches and implementation technologies mainly focus on the specific requirements of the systems and components under consideration. These development approaches have to be enhanced towards a sophisticated development approach for AmI systems. Thereby a “classical” development activity, like for instance configuration and parameterization, will not longer be performed during development and installation but during run-time. Hence for AmI systems more sophisticated system and component development and execution methods and techniques are required.

Tuesday

Wednesday

3x2000 crescendo Hfmax: 80-95%

Thursday

Friday

Saturday

Sunday

~1h extensive endurance run Hfmax: 70-80%

~50min extensive endurance run Hfmax: 70-80% 1h mountain run Hfmax: 80-85%

Figure 1 An extract of a training plan showing some training units with type of training and maximum pulse for this training session in per cent related to the maximum pulse of the athlete

First, for each day the scheduled training units are itemized. Each of these training units is characterized by the type of training, i.e. continuous training or interval training for example, and by minimum and maximum load during the session and each interval, respectively. The minimum and maximum load is given in per cent relating to the maximum load an athlete can perform. This information is typically given by pulse values and per cent related to the maximum pulse of an athlete, respectively.

In this paper we focus on architecture and methods for development and execution of dynamic self-adaptive AmI components. To do this, we will present a general structure for self-adaptive AmI components and we will introduce three kinds of self-adaptation.

Only if the cyclist performs the training sessions within these pulse boundaries defined by the training plan, the training is effective. So, one main goal of a system for assisted bicycle team training is to warn each individual athlete if his pulse is out of these boundaries. But this is only one possibility for such a system to assist the cyclist. Because we are considering not only a single cyclist but a group of cyclists, various other aspects have to be taken into account. One aspect is the lee. Cyclists can save up to 30% of their energy if they drive in lee. That means, if there is no wind and all cyclists of the group are driving in one row, the first athlete has much higher physical stress than the other cyclists. So, one option of how a system can assist such a bicycle group is that it determines which athlete has to go in front of the group and thus has more physical stress than the others. If for example the pulse of an athlete who is driving in the lee is to low and the pulse of the athlete who is driving in front of the group is to high, the system can suggest to switch positions.

The rest of the paper is structured as follows: In section two we will introduce an AmI scenario called “Assisted Bicycle Team Training”. The main goal of this scenario is to assist a group of cyclists during training by providing not only information like current pulse and pedal frequency but also by giving appropriate feedback and hints to the group, like suggesting the group speed and best position of each athlete within the group with subject to current sensor data. In the context of this scenario a self-adaptive speech input service has been developed which is able to adapt to the stress of the athlete during runtime in order to provide high recognition reliability in spite of influences caused by the stress of the athletes during the training session.

But the system must not only be able to make suggestions to the cyclists, it also has to be able to react on commands of the athletes during a training session. To do this, devices like mobile phones, PDAs or simple keypads could be used but are difficult to use during a training session because the athletes would have to take their hands from the handle bar. Another communication modality is speech. Speech is the most prominent and natural form of communication between humans. Speech would thus also be a

In section three we will present a general architecture for dynamic self-adaptive AmI components consisting of three parts, namely context providing, context processing, and context adaptation. This architecture can be used a structural design for self-adaptive AmI-systems.

73

A service is called self-adaptive if it is able to react autonomously on changes in the environment. The first step in doing this is to collect as much relevant information about its environment as possible. In AmI systems this is typically done by using sensor networks, devices like PDAs, mobile phones, notebooks, or personal computer. While context acquisition through sensors is most often done without explicit user interaction, PDAs, mobile phones, notebooks, and personal computers are typically used for explicit context providing.

logical choice for man-machine-communication, which is one reason for the growing interest in developing systems that can accept speech as input. We will go in more detail concerning speech recognition later in this paper. During the development of such a system, a prototype has been developed. It implements a part of the scenario described above for assisted bicycle team training. The most important assumption is that there is only one athlete within the network. Thus, the prototype has only to manage various devices of one cyclist. Nonetheless, the system is well-suited to examine device connection and integration processes, because no integral parts of the scenario have been omitted. One main application-oriented goal in assisting a bicycle group was to warn an athlete if his pulse is out of given boundaries. To do this three components are needed. First, there has to be a possibility to define the upper and lower pulse boundary, i.e. an input device is needed. Actually, the only option is to use some kind of keyboard, like a PC-keyboard, or the keyboard of a PDA or mobile phone. Second, the system has to be able to show the pulse value and some kind of warning to the athlete, for example if the pulse is out of the given boundaries. Possible output devices are LC-displays, mobile phone displays, notebooks or audio output. And finally, a pulse sensor has to be integrated into the system which makes the pulse of the athlete available for the output device and to be able to determine if the pulse is out of the defined boundaries. That means, an input device for defining the pulse boundaries, an output device for showing the current pulse and some kind of warnings, and a pulse sensor is needed to accomplish the goal of the prototype. In the next section we will provide a general architecture for dynamic self-adaptive AmI-components which can be used a structural design for such systems. Afterwards we will integrate a self-adaptive speech recognizer into the prototype described above.

3. Self-Adaptation in AmI-Scenarios

Figure 2 General structure of self-adaptive AmI-components

In this section we will discuss some characteristics of selfadaptive systems and introduce a blueprint for self-adaptive AmI components based on these characteristics.

In the assisted bicycle training scenario, sensors for measuring the pulse, pedal frequency, and speed are useful among others. This sensor data are often not part of the self-adaptive component itself. But the self-adaptive component can access this context information using the interface called ContextProvidingInterface. Other context information may be provided by the component itself, like the desired minimum and maximum pulse for the athlete for example. In this case, context providing can be done by using a simple GUI on a PDA, mobile phone, or laptop.

One of the main characteristics of self-adaptive AmI components is that they have to be able to react and adapt, respectively, on changing environments. To do this, they have to be aware of their context, they have to be able to draw conclusions on this context, and to adapt their behavior with respect to these conclusions. From this it follows that a self-adaptive AmI component itself consists of three components, i.e. a component which acquires context information, handles incoming raw context data and draws conclusions in order to get high-level context information, a component which makes decisions of how to react appropriately on these information, and a component which adapts the context, or itself, respectively, in the case of a self-adaptive component. We called these different types of components context providing component, context processing component, and context adaptation component. In Figure 2, the basic structure of a selfadaptive AmI component is shown.

Also part of the context providing unit is the functionality to raise the level of abstraction of context data. Considering the scenario described above, two kinds of context information are available, namely the current pulse of the athlete, and the desired minimum and maximum pulse boundaries. The context providing component has to check these values regularly and aggregates them to a new kind of context information, namely the information if the pulse is too high, too low, or within the defined interval.

In the following, we will motivate why implementing this structure makes sense and we will describe how a service can adapt his behavior using this structure.

By contrast, the context adaptation component is responsible for adapting the context, for example using some kind of output

74

engine is waiting for speech inputs which in this case are the pulse boundaries. At this, a traditional speech recognizer can be used assumed that there are no negative influences like wind or background noise. After defining the desired maximum and minimum pulse values the athlete starts the training session. During training he realizes that one of the pulse boundaries are not appropriate and therefore wants to change these again using speech input. Now the context providing component detects a pulse of about 170 bpm by using the pulse sensor. Now the speech recognizer, which is part of the context providing component, can adapt to the new pulse in some way in order to reach high reliability in spite of adverse conditions, i.e. a speaker who is short of breath.

device like displays or speakers, or using an actor network change the environmental conditions. To do this, it can use the interface called ContextAdaptationInterface in order to control actors outside the component. The context processing component is responsible for deciding whether an adaptation is required and if so, how to do this. Considering the proposed structure of self-adaptive AmI components, three kinds of self-adaptation are possible, that is adaptation of context providing, context processing, and context adaptation itself, and furthermore the context itself can be adapted using the context adaptation component. In the following we will describe these types of adaptation in more detail.

In the next section, we will introduce how we have integrated such a self-adaptive context providing component in the form of a speech recognition system. To do this, some basics of speech recognition in general and the main problems of speech recognition in adverse conditions in particular will be presented first.

Adaptation of Context Processing Adapting the context processing component means to adapt the way of how to derive decisions for context adaptation based on context information provided by the context providing component. During context processing you want to use the best computation device available in order to use best possible inference mechanisms. In this case the required context information is information about all available devices including computation capabilities, size, weight, and so on. That means, adapting the context processing component would lead to change and adapt the inference engine, respectively.

4. SELF-ADAPTIVE SPEECH RECOGNITION Especially in Ambient Intelligence environments, speech recognition can make a great contribution to natural communication. But today’s speech recognizers are still very susceptible to various influences that lead to a significant worse recognition rate. Particularly with regard to Ambient Intelligence systems and the deployment of speech recognition systems in such environments, it is essential to ensure a high recognition rate in despite of diverse types of influences. Especially Ambient Intelligence environments are featured by different users which communicate under various conditions with the system.

Adaptation of Context Adaptation Adapting the context adaptation component means to adapt the way of how to change the context of the user. Typically there exist various actors which can be used to change the environment in the broadest sense. Context adaptation devices are devices like temperature regulators or the lighting, but also displays or other output devices which let the person react in some way. In the bicycle scenario a display is used to warn the athlete if her pulse is out of the given boundaries which should cause the cyclist to decrease the load. One way of adapting the context adaptation component could be to change the way of how to warn the cyclist. In some situations, a display is more appropriate than a warning given by audio output, in other situations audio output could be more adequate.

In the example of the assisted bicycle team training the user shall get the possibility to set the desired upper and lower pulse boundaries using speech input. Since the athlete may be under physical stress during speech input, the speech recognition system has to react in an appropriate manner to counteract against worse recognition reliability. In the following section we will give an introduction into the functionality and structure of current speech recognition systems. Afterwards, an approach will be presented how to guarantee a high recognition rate in spite of physical stress of the user.

4.1 Introduction to Speech Recognition Systems

Adaptation of Context Providing Adaptation of the context providing component means to change the way of how to provide, collect, and handle context information. Considering the scenario above, the following adaptation is conceivable. One option of how to define the minimum and maximum pulse could be to use a speech recognition engine, and therefore it is part of the context providing component.

The basic concepts of speech recognition systems are based on techniques known from pattern recognition research. The goal in the context of speech recognition is to find a reference model in a database whose textual representation is known and which is similar to the incoming speech signal. Figure 3 shows the basic functionality of a speech recognition system. The core component of the engine is the matching algorithm. It is responsible for finding the appropriate reference model using the incoming speech signal. A reference model is a labeled representation of the phrases which have to be recognized.

Now consider the following situation. The cyclist prepares for training and wants to set the upper und lower pulse boundaries for the next training session while he is already wearing his pulse sensor. The context providing component recognizes that his pulse is about 90 bpm and because the pulse boundaries are not defined yet, no further context information like “pulse is too low” or “pulse is to high” can be derived. The speech recognition

75

the appropriate reference models, and it has to offer a fast data access to the matching algorithm. The most usable approach to overcome the problem of complexity is feature extraction. The goal of feature extraction is, to transform the acoustic signal into an appropriate representation for further processing and classification tasks. Four main objectives for feature extraction can be distinguished:

Figure 3 The basic structure of current speech recognition systems.

In doing this, some challenges have to be accomplished, which can be distinguished into four types, namely continuity, variability, complexity, and ambiguity. These challenges will be introduced next, especially with regard to optimize the task of matching.



Digital representation of the analog speech signal



Reduction of data



Accentuation of variability which can be used to identify the spoken words



Fading out variability concerning the speaker, the environment or acoustic and electrical transmission.

Current techniques for feature extraction are mainly based on combinations of appropriate methods known from signal processing.

4.1.1 Continuity

So, the process of speech recognition can be divided into two phases, namely feature extraction and classification as shown in Figure 4.

In order to be able to recognize whole sentences with a large vocabulary, it is obviously infeasible to store a representation for each possible combination of words and sentences and to compare these to incoming data. Thus, the task has to be broken down, from recognition of whole texts, to recognition of sentences to the point of recognizing words and syllables. In systems with large vocabulary it is not feasible having a model for each word. Thus, one important step is to divide each word into its components, called phones. A phone is an instance of a phoneme. A phoneme in turn is the smallest difference between words, those results in a difference in meaning. For example /a/ is a phoneme, which can be spoken in various ways. Thus, if a recognizer is able to divide each word into its phones and to assign the phone to the adequate phoneme, only one representation model is needed for each phoneme. Recognition systems which implement this approach are called phonemebased recognition systems and are widely used especially in systems with large vocabulary.

Figure 4 The process of speech recognition

Because we want to integrate a self-adaptive speech recognition engine into our context-providing component which should able to react on physical stress of the user which occurs during training, we will next introduce some basics concerning speech recognition in adverse conditions.

4.2 Speech Recognition in Adverse Conditions

4.1.2 Variability

There are various influences which have a negative effect on the recognition rate. Although much research has been performed in the area of speech recognition, only limited success has been demonstrated for real-time recognition in noisy and stressful environments. The primary reason for this is that the performance of present recognition algorithms is predicated on the assumptions of the environmental settings in which the algorithms have been formulated and implemented. Especially the aspect of variability is still a great challenge in current research efforts of speech recognition. Two types of adverse conditions can be distinguished, namely the situation of the speaker and his environment including the device used for speech input. The second type of influence is for example caused by background noise like traffic, other talking persons or wind for example. In the NATO Project 4 Report [9], four different classes of stress and some of their stressors have been presented:

The variability is the most challenging task in speech recognition. The possibilities of articulating words and sentences are almost unlimited. Hence, it is very difficult, to find appropriate reference models. On the one hand, such a model has to be generic enough to cover all possible ways of articulation. On the other hand, it has to delimit each reference model from the others. There are manifold reasons for variability in speech. There are the type and position of the microphone and acoustical sources of inference like other speaking persons in the background and background noise like traffic. Other variations are caused by the manner of speaking, like speed, emotions, physical stress like in our bicycle scenario, by individual speaker characteristics like age, sex and state of health, and by dialect.

4.1.3 Complexity One challenge of speech recognition is the high amount of data which is produced by speech. Processing all available data provided by the speech signal is not feasible for two reasons. First, the computing power would have to be high enough to handle the data and to accomplish the task of searching an appropriate model in the database in real time. Second, the storage capacity would have to be large enough to be able to store

Physical stress Some physical stressors are for example vibration, G-force, and pressure breathing, like in the scenario of assisted bicycle team training.

76

several approaches to overcome the occurrence of stressed speech which will be outlined in the following [10]:

Physiological stress The physiological stressors are medicines, narcotics, alcohol, nicotine, fatigue, sleep deprivation, dehydration, and illness. This stressors result in physiological changes to the speech production apparatus, altering the transduction of neuromuscular commands into movement of the articulators.

Multistyle Training Algorithm In any data driven learning paradigm, the easiest way to achieve robustness across a variety of conditions is to include a wide variety of sources of variability in the system training examples. This can be particularly true for sources of environment variability.

Perceptual stress Perceptual stressors are noise (Lombard effect), poor communication channel, or if the listener has poor grasp of the language. These stressors are those which affect the conversion of the linguistic program into neuromuscular commands. The Lombard effect is caused by background noise and the resulting higher volume of speech. If a person has to speak louder caused by background noise, the Lombard effect occurs, that is a change of speech characteristics.

Multiconditional Training The idea is to train a separate set of models for each environment or stress level which is likely to occur during system use. For a given acoustic environment or based on the result of the stress recognition phase, the most likely set of models is then used during the recognition process. Noise Reduction Technique

Psychological stress

This approach is concerned with reducing the presence of noise in the speech signal before it is sent to the recognizer. When the models are trained in noise-free environments, this will reduce the mismatch between the input speech signal and the models.

Psychological stressors are for example emotion, workload, taskrelated anxiety or background anxiety. These kinds of stressors have their effects at the highest levels of the speech production system. An external stimulus is subject to mental interpretation and evaluation, possibly as a threat (as implied by the word stress), but other emotional states such as happiness will also have their effect at this level.

After the main challenges and typical approaches to accomplish these challenges have been introduced, we will present our approach of integrating a self-adaptive speech recognition system into our assisted bicycle training scenario. We will show that using such a self-adaptive speech recognizer leads to higher reliability in particular if the athlete is under high physical load.

Nevertheless, to provide a high reliability even if the voice of the person changes by reasons of one of these stress types, two steps are needed. First, the system has to recognize that the speaker is under some kind of stress. Second, the system has to react appropriately so that the recognition rate does not decrease. These two steps will be introduced in the following in more detail.

4.3 Adaptive Speech Recognition in the Bicycle Scenario As mentioned above, two steps have to be accomplished in order to realize a speech recognizer which is robust to negative influences, namely stress recognition, and stress compensation.

4.2.1 Stress Recognition Approaches There are two major application areas for stress recognition and classification, namely objective stress assessment and improved speech processing. Objective stress assessment is applicable to stress detection applications. For example, a stress detector could direct highly emotional telephone calls to a priority operator at a metropolitan emergency service. Speaker stress assessment is also useful for applications such as emergency telephone message sorting and aircraft voice communications monitoring. A stress classification could provide meaningful information to speech algorithms for recognition, speaker verification, synthesis and coding too. One active research area in the context of speech recognition is automatic stress detection based on the incoming speech signal. Another approach to recognize stress is to use available context data. Both will be introduced in the following.

Implementing the stress recognition phase is done by using context information and not the speech signal itself. One reason for this is that stress recognition using the speech signal requires high computation power. Mobile devices like PDAs or mobile phones are not able to process the speech signal for both, stress and speech recognition, yet. Another reason is that current stress detection approaches are not as reliable as required. Because the recognition system will be integrated into an Ambient Intelligence scenario, various sensors are available or can be integrated to detect stress. In the context of the assisted bicycle team training, the stress of the athlete can be measured using her pulse rate. Thus, the pulse sensor, which has already been integrated into the prototype, is used for stress recognition. To limit the required resources for stress detection task, stress is divided into four stress levels defined by pulse ranges:

Ambient Intelligence environments are usually equipped with a lot of sensors which offer various kinds of context data. If a speech recognizer has to be integrated into such an environment, these context data could be used to improve speech recognition reliability for example in recognizing stress.

4.2.2 Stress Compensation Approaches After some kind of stress has been recognized, the negative influences caused by that have to be compensated. There exist



No physical load of the athlete: 50 - 120 bpm



Low physical load of the athlete: 120 - 140 bpm



Medium physical load of the athlete: 140 - 160 bpm



High physical load of the athlete: 160 - 250 bpm

Thus, the speech recognition system has to read regularly the current pulse value using the pulse sensor and compute the current

77

stress level. Depending on the stress level, the adaptation component has to adapt the speech recognition system, so that the reliability does not get worse on high user stress.

[4] Arnold, Ken; O’Sullivan, Bryan; Scheifler, Robert W.; Waldo, Jim and Wollrath, Ann. The Jini Specification. Addison-Weslay. June 1999.

After the stress level of the athlete has been identified the adaptation has to be performed. The task of the adaptation component is to adjust parameters within the speech recognition system depending on the stress level.

[5] Harry, Chen. Ronin Agent Framework. 2004. Online available under: http://gentoo.cs.umbc.edu/ronin [6] OMG. CORBA 3.0 – OMG Specification. 2002

The main part of the speech recognizer used for stress adaptation is the statistic file for the phonemes. In order to be able to adapt the recognition engine to different user stress, four statistic files have been created offline, which is one statistic file for each stress level. Figure 5 shows the structure of the self-adaptive speech recognition component. In this case the context providing component consists of one pulse sensor component and the speech recognition engine. The pulse sensor component encapsulates the pulse sensor and delivers the current pulse of the athlete to the context processing component. The speech recognition engine is responsible for providing the upper and lower pulse boundary. In order to implement the selfadaptive speech recognizer, the context processing component has to decide how to change the parameters of the speech recognition engine, which means to decide which statistic file should be used. The context adaptation component offers the function for switching between the different stress levels. This function can be used by the context processing layer to change the context. In that way we have implemented a self-adaptive context providing component.

5. CONCLUSION Research in the context of Ambient Intelligence is still in its infancy. There still exist various challenges concerning ambience as well as intelligence. Various new technologies will arise including new capabilities and techniques in order to provide an improved intelligent behavior of the system. So, one important issue to build good Ambient Intelligence systems in future will be to provide a flexible architecture for AmI systems which offers the ability to integrate new technologies and ideas. In this paper we presented an approach of how to structure self-adaptive AmI components and how to integrate them into an AmI system. Selfadaptive AmI components can play an integral part of future systems and therefore a good structure of these components is needed.

Figure 5 Structure of the self-adaptive speech recognition component.

[7] Bowman, B.; Debray, S. K., and Peterson, L. L. Reasoning about naming systems. ACM Trans. Program. Lang. Syst., 15, 5 (Nov. 1993), 795-825. [8] Bartelt, Christian; Fischer, Thomas; Niebuhr, Dirk; Rausch, Andreas; Seidl, Franz and Trapp, Marcus. Dynamic Integration of Heterogeneous Mobile Devices. Proceedings of the Workshop in Design and Evolution of Autonomic Application Software (DEAS 2005), ICSE 2005, St. Louis, Missouri, USA, May 2005.

6. REFERENCES [1] Atkinson, C.; Bayer, J.; Bunse, C. et al. Component-Based Product Line Engineering with UML. 1st edition, AddisonWeslay. 2001.

[9] Hansen, John H.L.; Swail, Carl; South, Allan J.; Moore, Roger K.; Steeneken, Herman; Cupples, E. James; Anderson, Tim; Vloeberghs,Claude R.A.; Trancoso, Isabel; Verlinde, Patrick. The Impact of Speech Under ’Stress’ on Military Speech Technology. Nato Project 4 Report. March 2000.

[2] Universal Plug and Play Device Architecture, Version 1.0; Microsoft Corporation, 1999-2000; Online available under: http://www.upnp.org/download/UPnPDA10_20000613.htm [3] The Salutation Consortium; http://www.salutation.org

Online

available

under:

[10] Rose, Richard. Environmental Robustness in Automatic Speech Recognition. COST278 and ISCA Tutorial and Research Workshop (ITRW) on Robustness Issues in Conversational Interaction. Norwich, UK. August 2004.

78