• Keine Ergebnisse gefunden

Im diesem Abschnitt wird die Architektur des Kontextdienstes im Rahmen der Gesamtarchitektur aufgezeigt und die Abhängigkeiten zu anderen Komponenten des Systems aufgezeigt. Zudem werden die Aufgaben und notwendigen Funktionalitäten zur Integration adaptiver Verfahren erläutert.

Der Kontextdienst kann Entscheidungen treffen, indem verfügbare Informationen aus der Umwelt herangezogen und ausgewertet werden. Die zur Auswertung herangezogenen Informationen basieren auf den Kontextinformatio-nen{i}=I, welche bei der Informationsgewinnung aus den Sensoren aggregiert wurden.

Wie in Abschnitt 2.4.3 definiert, bestimmt eine Entscheidung die gültige Kontextklasse kd,o,t innerhalb einer Kontextdimension d D, für ein bestimmtes Kontextobjekt o O und zu einem Zeitpunkt t. Die Auswertung

5 Informationsauswertung 77

Informations-gewinnung

Kontextdienst

Anfrage Ad,o

Auswertung

Id,o,t

Xd,o,t

f() Modellt

Suche

Vorverarbeitung

Auswertung

Kontext-klasse

kd,o,t

Anpassung X

Feedback h(X)

Lernverfahren Instanz

(h(X),X)

Trainings-Instanz

Trainings-Instanzen Modellt

Modellt+1

Suche Qd,o

Kontext-informationen

Id,o,t

Kontext-nutzung

Benutzer

Abbildung 5.4:Auswertung und Anpassung im Kontextdienst

wiederum wird durch ein Entscheidungsmodell durchgeführt, welches durch die Funktion f()beschrieben wird.

Dieses Modell soll zur Laufzeit dynamisch angepasst werden können.

5.2.1 Funktionsweise

Wie in Abschnitt 5.1.1 erläutert und begründet wurde, eignet sich für den Kontextdienst ein iterativer Ansatz. Dieser iterative Ansatz ist in Abbildung 5.3 dargestellt und lässt sich in zwei Phasen unterteilen: Die Auswertungsphase und die Anpassungsphase.

Phase 1 - Auswertung

In dieser Phase wird der Kontextdienst genutzt um eine Entscheidung zu treffen (siehe Abbildung 5.4 oben).

Der Auslöser für diese Phase des Kontextdienstes kann beispielsweise eine konkrete Anfrage sein, oder der Kontext eines Kontextobjektes wird periodisch aktualisiert. Im ersten Schritt müssen die Kontextinformationen I gesammelt werden (es sei denn diese Informationen wurden bereits in der Anfrage mitgegeben). Hierzu wird eine Suche über das System zur Informationsgewinnung durchgeführt, die nach Informationen sucht, welche Aussagen zur Kontextdimensiond ermöglichen und sich auf das Kontextobjektobeziehen.

Zur Auswertung dieser Menge an Kontextinformationen Id,o,t müssen diese geeignet vorverarbeitet und in eine für das Auswertungsmodell geeignete Form der Repräsentation X (im Folgenden auch als Instanz bezeichnet) überführt werden (siehe Abschnitt 5.3.1).

Es muss möglich sein, die Auswertung von Instanzen in einem eingeschränkten Zeitrahmen (siehe QoS aus Abschnitt 3.4.1) durchzuführen. Dazu ist es notwendig, im Voraus die Abhängigkeiten, die durch die Instanzen beschrieben werden zu finden, zu extrahieren und in Form eines Entscheidungsmodells zu repräsentieren.

78 5.2 Architektur des Kontextdienstes

Im nächsten Schritt erhält das System zur Auswertung die Menge an vorverarbeiteten Informationen in Form einer Instanz X und ein Entscheidungsmodell f(). Das Ergebnis dieser Auswertung entspricht dem ermittelten Kontext des Objektesoin der Dimensiond zu der aktuellen, über die Sensoren beobachteten, Situation.

Phase 2 - Anpassung

Das Ergebnis einer Auswertung kann zur Steuerung bzw. zum Auslösen von Aktionen genutzt werden. Die Reak-tion des Nutzers auf die gewählte AkReak-tion entsprichth(X)(hidden concept) für die zu einer Situation gesammelten Informationen X. Dieses Feedbackkann anschließend genutzt werden, um das Entscheidungsmodell anzupassen.

Je nach Anwendungsgebiet des Kontextdienstes kann das Feedback implizit (durch Beobachten der Reaktion des Nutzers) oder explizit erfolgen (indem der Nutzer das korrigierte Ergebnis selbst auswählt - siehe Kapitel 5.2.2).

Wird zu einer Auswertung aus Phase 1 ein Feedback vom Nutzer gegeben, so kann in der 2. Phase eine An-passung des Entscheidungsmodells erfolgen (siehe hierzu Abbildung 5.4 unten). Der Wunsch des Nutzers zu einer bestimmten Situation lässt sich abbilden durch die Menge der in dieser Situation gesammelten InformationenX in Kombination mit dem Feedback des Nutzersh(X). Das Tupel(h(X),X)welches sich daraus ergibt, repräsentiert die-sen Wunsch des Nutzers und wird alsTrainingsinstanzbezeichnet. Die Menge der Trainingsinstanzen eines Nutzers spiegelt das Wissen des Dienstes über den Nutzer wider. Je nach Verfahren, welches letztlich zur Erstellung des Entscheidungsmodells genutzt wird, werden zur Erstellung eines angepassten Modells zusätzlich noch die Menge aller bisher gesammelten Trainingsinstanzen oder das bisher verwendete Modell benötigt.

Zur Erstellung des neuen Modells wird schließlich ein Lernverfahren angewendet, welches ein neues, angepass-tes Modell f()(in Abbildung 5.4 dargestellt alsM od el lt+1) bestimmt. Das neu erstellte Modell wird weiterhin als Grundlage für die folgenden Auswertungen in Phase 1 angewendet.

Kombination beider Phasen

Beide Phasen zusammengenommen ergeben wiederum einen Kreislauf. Durch Feedback des Nutzers kann dem Dienst das gewünschte Verhalten antrainiert werden.

Das vorgestellte Prinzip erlaubt die Steuerung des Kontextdienstes durch einfaches Feedbackgeben des Nutzers.

Statt das Modell f() manuell zu erzeugen, reicht das Geben von Feedback aus, um komplexe Verhaltensweisen nachzubilden. Dabei besteht ein Feedback aus dem korrigierten Ergebnis h(X), also in der Regel nur der Spezifi-kation des Wertes, welcher in der entsprechenden Situation als Ergebnis vom Nutzer erwünscht ist (beispielsweise Kontext=Bürooder Aktion=Anrufweiterleitung).

5.2.2 Feedback

Die Lernverfahren, die für diesen Anwendungsbereich in Frage kommen, gehören zur Klasse der überwachten Lernverfahren. Das bedeutet, dass Feedback notwendig ist, um das Verfahren zu trainieren. Dieses Feedback bildet dabei das einzige Element, über das der Nutzer in Kontakt mit dem Kontextdienst tritt, wobei Feedback primär das korrigierte Ergebnis beinhaltet.

Die Umsetzung der Methode, über die der Kontextdienst Feedback erhält, ist vom Einsatzszenario abhängig.

Dabei kann zwischen drei Typen von Feedback unterschieden werden:

Implizites Feedback: Erfolgt als direkte Reaktion des Nutzers auf die vom Kontextdienst getroffene Ent-scheidung. Der Nutzer bestimmt dabei das Ergebnis, welcher er in der aktuellen Situation erwarten würde.

In den meisten Szenarien sind dabei jedoch nur begrenzt Eingabemöglichkeiten für das Feedback vorhan-den. In einem Szenario, in welchem der Dienst beispielsweise genutzt wird, um ein Gerät zu steuern, indem er es ein- und ausschalten kann, kann das manuelle Betätigen des Schalters als Feedback genutzt werden.

Bei dem Telefonie-Szenario können auch Reaktionen wieAnruf-AbweisenoderNicht-Annehmenals Feedback verwendet werden.

Explizites Feedback:Diese Variante ermöglicht die Erstellung von Feedback über eineHistorie. Die Historie gibt Einblick in zurückliegende Entscheidungen des Systems, und der Nutzer kann nachträglich zu diesen Entscheidungen Feedback geben. Diese Art von Feedback erlaubt einen größeren Funktionsumfang, erfordert aber auch, dass der Nutzer über den Zugriff auf entsprechende Geräte verfügt, um die dafür notwendigen Funktionalitäten umzusetzen (beispielsweise grafische Oberfläche oder Spracherkennung).

Automatisches Feedback: Wenn eine Entscheidung gefällt wurde und der Benutzer über einen gewissen Zeitraum keine Einwände dagegen erhoben hat, indem er negatives Feedback abgegeben hat, kann davon ausgegangen werden, dass die Entscheidung korrekt war. Dies kann dazu genutzt werden die Entscheidung

5 Informationsauswertung 79

selbst wiederum als Feedback zu betrachten und dazu zu verwenden das gelernte Nutzerkonzept mit weite-rem positivem Feedback zu festigen.

5.2.3 Abhängigkeiten des Kontextdienstes

Die Qualität der Entscheidungen des Kontextdienstes ist stark von äußeren Gegebenheiten abhängig.

Informations-gewinnung

Informations-auswertung

Modell

Modell Anpassung Lernverfahren

(QoM) Feedback

(QoF)

Benutzer Kontext-nutzung Kontextdienst

Instanz

Trainingsdaten (QoC)

Kontext (QoD) Anfrage

(QoS) Resultat

(QoC) Suche (QoS)

Abbildung 5.5:Abhängigkeiten der Informationsgewinnung

Das Ziel, ein Modell aufzubauen, welches sich möglichst gut mit Konzept des Nutzers deckt (siehe Abschnitt 3.4.4), basiert im Wesentlichen auf:

• Den zeitlichen Rahmenbedingungen in denen die Auswertung und die Suche durchgeführt werden müssen (QoS, siehe Abschnitt 3.4.1).

• Der Qualität der gesammelten Informationen (QoC, siehe Abschnitt 3.4.3).

• Der Qualität des Feedback des Nutzers, welche als Grundlage zum Aufbau des Modells dienen (QoF, siehe Abschnitt 3.4.5).

• Dem Verfahren zur Generierung des Modells, sowie der Aussagekraft und den Eigenschaften des Modells (QoM, siehe Abschnitt 3.4.4.

• Den QoS-Rahmenbedingungen des Systems und der Anwendung. Durch eine Zeitbeschränkung der Suche und Auswertung kann die QoC und die QoD beeinträchtigt werden. Durch eine Beschränkung des maximalen Rechenaufwandes oder Speicherplatzes für die Erstellung des Modells, kann die QoM reduziert werden.

Während die QoC von der Informationsgewinnung, die QoF vom Nutzer und die QoS vom umgebenden System abhängig sind, hängen die letzten beiden Aussagen von der Umsetzung des Kontextdienstes selbst ab (wie in Abbildung 5.5 dargestellt.

Je mehr relevante Informationsquellen gefunden wurden und je mehr relevante Informationen zur Verfügung stehen, desto eher kann eine korrekte Auswertung der Daten erfolgen. Um zumindest die Grundlage für eine korrekte Entscheidung zu haben, ist es notwendig, die Daten mindestens einer relevanten beziehungsweise aus-schlaggebenden Informationsquelle vorliegen zu haben. Zu viele irrelevante Informationen führen zudem meist zu einer geringeren Qualität der Entscheidung.

5.2.4 Schnittstelle zum Lernverfahren

In Abschnitt 5.1.2 wurde die Anforderung an das System definiert, eingenerisches Konzeptzu bieten, um den Einsatz in unterschiedlichen Anwendungsszenarien mit unterschiedlichen Anforderungen zu ermöglichen. Je nach Verfah-ren, welches zur Auswertung, beziehungsweise zur Generierung des Auswertungsmodells herangezogen wird, sind unterschiedliche Eigenschaften im Bereich der Effizienz und Genauigkeit zu erwarten. In diesem Zusammenhang ist es notwendig, je nach Anwendung die Wahl eines geeigneten Verfahrens zur Auswertung der Daten zu ermöglichen.

80 5.2 Architektur des Kontextdienstes

Wie später in Abschnitt 6.4.1 genauer erläutert wird, wurde hierzu auf eine Reihe verschiedener Lernverfahren aus dem WEKA-System2zurückgegriffen.

Nutzerübergreifende Anwendung der Modelle

Das Modell bestimmt das Ergebnis einer Auswertung in Abhängigkeit zu den Kontextinformationen. Der Nutzer passt durch sein Feedback das Modell an sein Konzept an. Das bedeutet, dass ein Modell das Konzept eines Nutzers abbildet. Es stellt sich die grundlegende Frage, ob ein Modell nur speziell auf einen Nutzer angewandt werden kann.

Eine syntaktische Adressierung von Sensoren führt dazu, dass Aussagen verschiedener Sensoren möglicherweise nicht miteinander vergleichbar sind oder es zumindest einer weiteren Instanz bedarf, welches zusätzliches Domä-nenwissen nutzt um die Sensoren trotz ihrer unterschiedlichen Adressen aufeinander abbildet. Im Rahmen dieser Arbeit wurde ein Ansatz zur semantischen Adressierung von Sensoren entwickelt und umgesetzt (siehe Abschnitt 6.4.1). Sofern die Kontextinformationen semantisch adressiert werden, können diese Aussagen prinzipiell auch von vergleichbaren Sensoren oder gar Sensoren anderer Nutzer bezogen werden. Das Modell wird auf diesen Aussagen basierend aufgebaut und bietet durch die Übertragbarkeit der Aussagen auf andere Kontextobjekte, die Möglichkeit, dass das Modell auch Nutzerübergreifend angewendet werden kann. Haben mehrere Nutzer ein ähnliches Konzept, so können sie gemeinsam ein Modell trainieren. Dies führt zu einer schnelleren Adaption des Gesamtkonzepts der Nutzer und neue Nutzer können von einem bereits existierenden Modell profitieren.

Wie stark sich die Konzepte der Nutzer überdecken, hängt jedoch stark von Anwendungsfall ab. Während die Nutzer einer Lokationsbestimmung meist ein komplett einheitliches Konzept verfolgen, unterscheiden sich die Konzepte bei der Bestimmung der Beziehung zwischen Nutzern stärker. Im letzteren Fall wäre eine Nutzung eines Modells pro Nutzer vorzuziehen, um eine gegenseitige Beeinflussung des Modells auszuschließen. Als initiales Modell kann hierbei auch das Modell eines Nutzers mit möglichst vergleichbarem Konzept herangezogen werden, wie beispielsweise das eines Kollegen.

Als dritte Variante, kann auch eine Mischform beider zuvor genannter Varianten eingesetzt werden, bei dem sich mehrere Nutzer zwar ein gemeinsames Modell nutzen, zusätzlich jedoch der Bezeichner des Nutzers als weiteres Unterscheidungsmerkmal in die Trainingsinstanz integriert wird. Überdecken sich die Konzepte der Nutzer in be-stimmten Bereichen, so profitieren sie in diesen Bereichen von dem bereits von den anderen Nutzern gegebenem Feedback. Bei Bereichen, in denen die Nutzerkonzepte widersprüchlich zueinander sind, kann der Bezeichner des Teilnehmers, implizit bei der Generierung des Modells, als Unterscheidungsmerkmal herangezogen werden.

5.2.5 Vorverarbeitung

Beim Einsatz von Lernverfahren spielt die Vorverarbeitung der Daten eine wichtige Rolle. Im Gegensatz zu Daten-sätzen, wie sie beispielsweise aus Benutzerumfragen gewonnen werden ist die Erfassung von Daten durch Sensoren mit zusätzlichen Herausforderungen verbunden.

So besteht die Gefahr fehlender Wertegrößen durch einen Sensorausfall. Aber auch räumliche und zeitliche Einschränkungen bei der Erfassung von Umgebungsattributen sind Schwachstellen. Ungenauigkeiten bei Messun-gen oder Unsicherheiten durch Mehrdeutigkeiten der Umgebungsgrößen stellen weitere Risikopotenziale dar. Eine Aufgabe der Vorverarbeitung dient dazu, solche Fehlerquellen zu neutralisieren bzw. zu korrigieren. Hierbei wird nicht nur jeder einzelne Sensorwert, sondern auch die Gesamtaussage der gesammelten Informationen betrachtet.

Dadurch sinkt einerseits die potentielle Fehleranfälligkeit, andererseits kann durch die Realisierung von Synergi-en zwischSynergi-en diesSynergi-en MessungSynergi-en eine Informationswertsteigerung erreicht werdSynergi-en [Gör05]. Sind beispielsweise ein GPS-Empfänger sowie ein Thermometer als Sensoren im Einsatz, so lässt sich durch die getrennte Behandlung die Position und die Temperatur bestimmen. Durch eine Aggregation der beiden Datenquellen wäre es allerdings auch möglich, Fehlerquellen auszuschließen. So wäre eine Kombinationen von 45 Grad Celsius Außentemperatur und dem Aufenthaltsort in der Antarktis wohl kaum gültig. Auch vorzeitige Rückschlüsse durch gewisse Merkmalskom-binationen der Sensoren wären denkbar, um den Trainings- bzw. Datenaufwand für die Lernsysteme zu reduzieren.

Die Aufgabe der Vorverarbeitung besteht vor allem in der Behandlung folgender Aspekte:

Vergleichbarkeit der Werte: Um Entscheidungsmodelle auszuwerten, müssen die darauf angewendeten Werte mit denjenigen vergleichbar sein, mit denen das Modell erstellt wurde. An dieser Stelle gilt es anhand der Meta-Information zu bestimmen, welche Werte vergleichbar sind und welche durch Umformatierung vergleichbar gemacht werden können.

2 http://www.cs.waikato.ac.nz/ml/weka/

5 Informationsauswertung 81

Erweiterung um bekannte Zusammenhänge: Aus einer Menge von Informationen können höherwertige Aussagen ermittelt werden - analog zu dem Ansatz des Ontologiebasierten Schließens aus Abschnitt 5.1.1.

Dieses Wissen über die Bedeutung von Sensoren und deren Zusammenhänge kann in Form zusätzlicher Sensoren oder Vorverarbeitungsschritte eingebunden werden.

Zeitliche Aspekte:Einige Zusammenhänge werden erst durch die Betrachtung der Informationen über einen längeren Zeitraum hinweg möglich. Da Sensoren im Allgemeinen nur die Betrachtung des aktuellen Zustan-des erlauben, müssen gegebenenfalls weitere Mechanismen hinzugefügt werden, welche die Suchergebnisse mit Aussagen erweitern und auch zeitliche Komponenten berücksichtigen.

Aggregieren von Werten:Durch Aggregation von Informationsquellen können genauere Aussagen getroffen werden (umfangreiche Arbeiten hierzu sind in [Gör05] zu finden). Ebenso kann der Umfang der Datenmenge reduziert werden, was letztlich auch Einfluss auf die Performanz des Systems hat.

Ungültige Werte filtern: Um bessere Ergebnisse zu erzielen, sollten veraltete, ungenaue oder ungültige Werte entfernt werden.

Nicht vorhandene Sensorwerte ergänzen:Je nach eingesetztem Typ eines Entscheidungsmodells können Probleme entstehen, wenn für die Entscheidungen heranzuziehende Informationen nicht verfügbar sind.

Eine mögliche Methode um gegen dieses Problem anzugehen, ist das Interpolieren der fehlenden Werte durch vergleichbare Werte aus anderen Trainingsinstanzen. Die DoktorarbeitWorking with Real-World Data-sets[Sch04b] von Schöner bietet hierzu eine detaillierte Betrachtung dieses Themenbereichs.

Anpassung der Repräsentation an Lernverfahren:Es existieren Lernverfahren, welche beispielsweise aus-schließlich mit diskreten oder kontinuierlichen Daten arbeiten können. In diesem Zusammenhang ist es notwendig, die gesammelten Daten entsprechend umzuwandeln, welche nicht den Datentypen entsprechen, die verarbeitet werden können.

Integration von Vorverarbeitung in den Datenfluss

Die Vorverarbeitung der Informationen kann direkt zwischen die Suche und die Auswertung der Daten eingebunden werden. Da das Ergebnis variabel ist, müssen jedoch unterschiedliche Mechanismen eingesetzt werden. In der Regel können solche Mechanismen jedoch nur bei bestimmten Kombinationen von Informationen eingesetzt werden.

Daher gilt es, die Suchergebnisse auf das Vorkommen solcher Kombination hin zu analysieren.

Mechanismen

Die Mechanismen können je nach Sensor und Anwendungsfall sehr speziell ausfallen. Grundlegend basieren die adressierten Mechanismen auf folgenden Aufgaben:

Aggregation:Gesammelte Werte können kombiniert werden, um beispielsweise eine höhere Genauigkeit zu erzielen.

Erweitern: Manche Aussagen können weiterverarbeitet werden um höherwertige Aussagen zu gewinnen (engl.Feature Extraction) oder um die Anwendbarkeit auf Lernverfahren zu optimieren.

Transformation:Informationen, welche unterschiedlichen syntaktischen Typen angehören, jedoch die glei-che semantisglei-che Aussage beinhalten, können transformiert werden, um miteinander vergleichbar zu sein.

Filter:Filter können eingesetzt werden, um Aussagen zu überprüfen und gegebenenfalls zu entfernen.

Bedingungen

Je nach der zu verarbeitenden Informationen können die Mechanismen nur unter bestimmten Bedingungen eingesetzt werden. Diese Bedingungen können je nach Information und Mechanismus unterschiedlich aussehen.

Letztlich müssen für die Anwendung eines Mechanismus folgende Elemente einer Information betrachten werden:

Format:Um Daten miteinander verarbeiten zu können, müssen die Daten in geeigneten Formaten vorliegen.

Semantik:Die Aussage einer Information bestimmt maßgeblich, mit welchen anderen Aussagen diese ver-arbeitet werden kann.

Zuordnung:Um Aussagen miteinander zu verarbeiten, muss ebenso die Beziehung zwischen den Objekten betrachtet werden, auf die sich die Aussagen beziehen.

Inhalt: Letztlich bestimmt auch der Inhalt der Aussage selbst, ob ein Mechanismus wie beispielsweise ein Filter angewendet werden soll.

82 5.2 Architektur des Kontextdienstes

Dynamische Menge von Bedingungen zur Vorverarbeitung

Auf der anderen Seite ist die Menge der Bedingungen und damit die Menge der zu suchenden Kombinationen von Informationen nicht statisch, sondern kann sich ebenfalls zur Laufzeit ändern. Ein Sensor oder eine Anwendung könnte zusätzliche Mechanismen zur Vorverarbeitung in das System einspeisen. Beispielsweise könnte ein Tempe-ratursensor geeignete Mechanismen wie Filter und Aggregation einsetzen, um andere Sensoren wie Helligkeits-oder Rauchsensoren aus der unmittelbaren Umgebung einzubeziehen und somit höherwertige Aussagen wie die Erkennung von Bränden zu ermöglichen.

Ansatz: Regelbasierte Vorverarbeitung

Das zuvor umschriebene Problem der Vorverarbeitung lässt sich verallgemeinert als „Wenn BEDINGUNG X erfüllt, dann wende MECHANISMUS Y an” Aussagen darstellen. Diese Aussagen lassen sich in Form von generisch an-wendbaren Regeln formulieren, welche sich einfach erweitern lassen.

Einsatz von Ontologien

Ebenso wie bei der ontologiebasierten Suche aus Abschnitt 4.6.2, kann eine Ontologie zur Vorverarbeitung sinn-voll eingesetzt werden. Der Einsatz einer Ontologie ermöglicht eine Bestimmung der Zusammenhänge von Aussa-gen beziehungsweise der Relation der Objekte, auf die sich die AussaAussa-gen beziehen.

Zum anderen ermöglicht der Einsatz einer Ontologie die Darstellung oder Ableitung von Regeln. Zudem wird die Beschreibung komplexer Zusammenhänge möglich gemacht, wie sie zur Erweiterung der Suchergebnisse um höherwertige Aussagen benötigt wird (siehe auchOntologiebasiertes Schließen5.1.1).

Beispiele für Regeln zur Vorverarbeitung

Grundlegend besteht eine Regel aus zwei Teilen: Der Bedingung und dem Mechanismus. Die Bedingung kann aus mehreren Elementen (mittels AND/OR) verknüpft werden. Die Tabelle 5.1 bietet eine Reihe von vereinfachten Beispielen zur Veranschaulichung.

Bedingung (S=Sensor) Mechanismus

I1.t y pe=phoneBookANDI2.t y pe=phoneBookANDI1.owner=I2.owner Ag g r e g at ion(join,I1,I2) I1.t y pe=humid i t yANDI2.t y pe=humid i t yANDI1.r oomI D=I2.r oomI D Ag g r e g at ion(meanValue,I1,I2) I1.t y pe=smokeANDI2.t y pe=heatANDDist ance(I1,I2)<10uni ts Ad d I n f or mat ion(f i r eDet ec t ed) I1.t y pe = l ocat ion AND I2.t y pe = l ocat ion AND I1.owner = I2.owner AND

I1.l ocat ion!=I2.l ocat ion F il t er(RemoveC on f l ic t,I1,I2)

I1.t y pe=t emper atur eANDI2.t y pe=t emper atur eANDI1.uni t!=I2.uni t Tr ans f or mat ion(I1,I2) Tabelle 5.1:Beispiele für Regeln zur Vorverarbeitung

Im ersten Beispiel werden die Inhalte zweier Adressbücher kombiniert, falls sie zum selben Benutzer zugeordnet werden können. Das zweite Beispiel nimmt den Durchschnitt zweier Feuchtigkeitssensoren, falls sie sich im selben Raum befinden. Im dritten Beispiel werden zwei Informationen zu einer höherwertigen Aussage vereint, in diesem Falle führt die Erkennung von Rauch und Hitze zur Aussage, dass womöglich ein Feuer ausgebrochen ist. Das vorletzte Beispiel hebt widersprüchliche Aussagen auf, wie beispielsweise zwei Aussagen über die Position einer Person, welche nicht übereinstimmen. Das letzte Beispiel transformiert das Format einer Aussage (in diesem Fall die eines Temperaturfühlers), so dass sie mit ähnlichen Aussagen anderer Sensoren vergleichbar ist.