ThesisPDF Available

Konzeption, Implementierung und Evaluation eines sprachbasierten Assistenten im Bereich der Pflegeplanung und Dokumentation

Authors:

Abstract and Figures

In der heutigen Zeit gibt es vielerlei Software auf den Markt, was sich besonders im Bereich der mobilen Anwendungen (APP) abzeichnet. Dort gibt es zur Zeit ca. 3,14 Millionen AP- Ps1. Diese Masse an Software macht es dem Kunden bzw. dem Nutzer nicht einfach die richtige Anwendung fu ̈r seine Bedürfnisse zu finden, besonders wenn die Anforderungen an die Software sehr speziell sind. Daher ist es immer wichtiger die eigens entwickelte Software auf dem Markt hervorzu- heben und von anderen Anbietern abzugrenzen. Die Softwarelösungen müssen nicht nur in ihrer Funktionalität und ihrem Design, sondern auch in der Bedienung (Usability) überzeugen (vgl. [Hei]).
Content may be subject to copyright.
Konzeption, Implementierung und Evaluation eines
sprachbasierten Assistenten im Bereich der
Pflegeplanung und Dokumentation
Studiengang Medieninformatik
Masterarbeit
vorgelegt von
Daniel Hahn
geb. in Gießen
durchgef¨
uhrt bei
akquinet ristec / care GmbH
Referent der Arbeit: Prof. Dr. Stephan Euler
Koreferent der Arbeit: Prof. Dr. Dieter Baums
Betreuer: Dipl.-Ing. (FH) J¨
urgen Steuernagel,
Oliver Moormann
Friedberg, 2018
Design is not just what it looks like and feels like. Design is how it
works. Your work is going to fill a large part of your life, and the only
way to be truly satisfied is to do what you believe is great work. And
the only way to do great work is to love what you do. If you haven’t
found it yet, keep looking. Don’t settle. As with all matters of the
heart, you’ll know when you find it.
Steve Jobs 2011
Danksagung
Zun¨
achst m¨
ochte ich mich bei meinen Betreuern und der Firma akquinet ristec / care GmbH
bedanken, die diese Masterarbeit mit diesem interessanten Thema erst m¨
oglich gemacht
haben. Vielen Dank auch f¨
ur die Unterst¨
utzung w¨
ahrend der Arbeit und die vielen netten
Anregungen. Dar¨
uber hinaus m¨
ochte ich mich bei allen bedanken, die diese Masterarbeit
sowohl fachlich als auch sprachlich Korrektur gelesen haben.
Ein weiterer Dank geht an meine Familie, die mir dies erst erm¨
oglicht hat und an meine
Freundin, die sich das Thema bestimmt schon nicht mehr anh¨
oren kann. Auch m¨
ochte
ich allen danken, die mich weiterhin unterst¨
utzt haben und hier namentlich nicht genannt
wurden.
Die verwendeten Software-Lizenzen wurden bereitgestellt von der Technischen Hochschule
Mittelhessen und der akquinet ristec / care GmbH.
i
Selbstst¨
andigkeitserkl¨
arung
Ich erkl¨
are, dass ich die eingereichte Masterarbeit selbstst¨
andig und ohne fremde Hilfe ver-
fasst, andere als die von mir angegebenen Quellen und Hilfsmittel nicht benutzt und die
den benutzten Werken w¨
ortlich oder inhaltlich entnommenen Stellen als solche kenntlich
gemacht habe.
Buseck, August 2018
Daniel Hahn
iii
Inhaltsverzeichnis
Danksagung i
Selbstst¨
andigkeitserkl¨
arung iii
Inhaltsverzeichnis v
Abbildungsverzeichnis ix
Tabellenverzeichnis x
Listings xi
1 Einleitung 1
1.1 Motivation ................................... 1
1.2 Problemstellung und Zielsetzung ....................... 2
1.3 Aufbau des Dokuments ............................ 2
2 Grundlagen 3
2.1 akquinet AG .................................. 3
2.2 Care Viva ................................... 3
2.2.1 Anwendungsgebiete .......................... 3
Sozialwirtschaft ............................ 3
Altenpflege .............................. 4
Pflege von Menschen mit Behinderung ................ 4
2.2.2 Plattformen .............................. 4
Mobil ................................. 4
Web .................................. 5
2.3 Barrierefreie Software ............................. 5
2.4 Ein- und Ausgabem¨
oglichkeiten ........................ 8
2.4.1 Hardware ............................... 8
2.4.2 Software ................................ 8
Visuelle Konzepte ........................... 8
Auditive Konzepte ........................... 9
2.5 Spracherkennung ................................ 9
v
Inhaltsverzeichnis
2.5.1 Vokabular ............................... 13
2.5.2 Grammatik ............................... 13
Kontextfreie Grammatik ........................ 14
Wortproblem .............................. 14
Kontextbezogene Grammatik ..................... 14
2.5.3 Semantik ................................ 15
2.6 Sprachdialog- und Interactive Voice Response-Systeme ........... 15
2.6.1 Grundaufbau eines IVR-Systems ................... 15
2.6.2 Verwendung .............................. 16
2.6.3 Einsatzkriterien ............................ 17
2.6.4 Grenzen ................................ 17
2.6.5 Austauschformate ........................... 18
3 Stand der Technik 21
3.1 Barrierefreie Softwarel¨
osungen (Sehbehinderung) .............. 21
3.2 Spracherkennungssystem ........................... 21
3.2.1 Sprachassistenten ........................... 22
Google Assistant ............................ 22
Amazon Alexa ............................. 23
Apple Siri ............................... 24
Microsoft Cortana ........................... 24
3.2.2 Erkennung ............................... 24
Dragon ................................. 25
3.2.3 Verwendung in der Medizin ...................... 25
3.2.4 Verwendung in der Pflegeplanung .................. 26
3.2.5 Datenschutz und Sicherheit ...................... 26
3.3 Akzeptanz ................................... 28
3.3.1 Zusammenfassung ........................... 29
4 Konzept 31
4.1 Idee ...................................... 31
4.1.1 Integration von Sprachassistenten .................. 31
Web (Active Server Pages) ...................... 31
Verarbeitung durch die Windows-Anwendung ............ 32
Verarbeitung durch den Google Assistent ............... 32
Verarbeitung durch Amazons Alexa .................. 33
Verarbeitung durch Apples Siri .................... 35
Verarbeitung durch Microsofts Cortana ................ 35
4.1.2 Care Viva Assist Interface ....................... 36
Grundkonzept ............................. 37
Audio Feedback ............................ 38
4.2 Dialogdesgin .................................. 38
4.2.1 Teilunterst¨
utzung ........................... 38
4.2.2 Komplettunterst¨
utzung ........................ 38
vi
Inhaltsverzeichnis
4.2.3 Gef¨
uhrte Dialogf¨
uhrung ........................ 38
4.2.4 Freie Dialogf¨
uhrung .......................... 39
4.3 Use Cases ................................... 40
4.3.1 Pflegekraft und Arzt ......................... 40
¨
Ubergreifende und Globale Funktionen ................ 40
Bedienung ............................... 41
Stammdaten .............................. 43
Wunddokumentation ......................... 43
Tages¨
ubersicht ............................. 43
Tourenplan .............................. 43
4.3.2 Bewohner ............................... 44
4.3.3 Weitere Anwendungsm¨
oglichkeiten .................. 45
4.3.4 Anforderungen ............................. 45
5 Implementierung 47
5.1 Systemanforderungen ............................. 47
5.1.1 Entwicklersystem Voraussetzungen .................. 47
5.1.2 Anwendersystem Voraussetzungen .................. 48
5.1.3 Mobilger¨
at Voraussetzungen ..................... 48
5.1.4 GIT und TFS ............................. 48
5.1.5 NuGet ................................. 49
Installation ............................... 49
Restore ................................. 49
Verwendete Pakete .......................... 49
5.2 Design ..................................... 50
5.3 Umsetzung ................................... 52
5.3.1 Interne Anforderungen ........................ 54
5.4 Interfaces ................................... 55
5.5 ¨
Ubertragung .................................. 55
5.6 Microsoft Windows Speech und Cortana ................... 56
5.6.1 Vorarbeiten .............................. 56
5.6.2 Integration ............................... 57
5.6.3 Probleme ............................... 58
5.6.4 Microsoft Azure ............................ 58
5.7 Googles Assistant ............................... 59
5.7.1 Vorarbeiten .............................. 59
5.7.2 Integration ............................... 59
5.7.3 Probleme ............................... 60
5.8 Amazons Alexa ................................ 60
5.8.1 Vorarbeiten .............................. 60
5.8.2 Integration ............................... 61
5.8.3 Probleme ............................... 62
5.9 Apples Siri ................................... 62
5.9.1 Idee .................................. 62
vii
Inhaltsverzeichnis
5.9.2 Probleme ............................... 62
5.10 HTML5 Audio ................................. 62
5.11 Visual Studio 2013 .............................. 63
5.11.1 Probleme ............................... 63
5.12 Testumgebung ................................. 64
5.12.1 Computer ............................... 64
5.12.2 Tablet ................................. 65
5.12.3 Smartphone .............................. 65
5.12.4 Software ................................ 65
5.12.5 Standort ................................ 65
5.12.6 Testcenter ............................... 65
6 Evaluation 67
6.1 Automatische Analyse ............................. 67
6.1.1 Logfiles ................................ 67
6.1.2 Nutzerbasierte Auswertung ...................... 68
Korrektur mittels Eingabe ....................... 68
6.1.3 Nutzerumfrage ............................. 68
6.1.4 Automatisierte Tests ......................... 68
6.1.5 Zusammenfassung und Auswertung .................. 68
6.2 Messungen und Testaufbau .......................... 69
6.2.1 Generierung der Sprachsamples .................... 70
6.2.2 Leistung und Last ........................... 75
6.2.3 Auswertung .............................. 77
6.2.4 Auswertungsein߬
usse ......................... 78
7 Fazit 81
7.1 Unternehmenssicht .............................. 81
7.2 Pers¨
onliches Fazit ............................... 81
7.3 Ausblick .................................... 82
A Anhang 83
A.1 Verwendete Software ............................. 83
A.2 Inhalt DVD .................................. 83
A.3 Auswertung Messungen ............................ 83
A.4 Auswertung Log-Dateien ........................... 83
Literaturverzeichnis 85
viii
Abbildungsverzeichnis
2.1 ¨
Ubersicht der einzelnen Bereiche der akquinet AG (vgl. [AGe]) ......... 4
2.2 Nutzungsstatistik zur Verwendung von Sprachassistenten in Deutschland Stand
2016 (vgl. [Ste13]) und deren Wachstumsprognose ............... 10
2.3 Grundaufbau eines Spracherkennungssystems (vgl. [Wan] S. 5 abgewandelt von
[noac]) ....................................... 11
2.4 Beispiel eines HMM anhand des Wetters und des Zustandes der Schuhe . . . . 12
2.5 Schema eines neuronalen Netzes ......................... 12
2.6 Darstellung einer einfachen Grammatik (vgl. [Eul06]) .............. 14
2.7 Model eines IVR-Sprachdialogsystems (vgl. [Rei17] S. 5) ............ 16
3.1 DRK - Service GmbH Pflegesoftware (Quelle: [SG]) ............... 26
3.2 Prognose des Umsatzes virtueller Assistenten bis 2021 (Quelle: Statista) . . . . 28
4.1 Verarbeitung der Audiodaten durch den Care Viva Assistenten im Web . . . . 32
4.2 Verarbeitung der Audiodaten durch den Care Viva Assistenten in Windows . . 33
4.3 Funktionsweise Google Assistant anhand des Beispiels einer LED-Ansteuerung.
(vgl. [noaa]) .................................... 34
4.4 Funktionsweise von Alexa (vgl. [Amab]) ..................... 35
4.5 Funktionsweise von Cortana (vgl. [Micb]) .................... 36
4.6 Klassenkonzept des Care Viva Assistenten .................... 37
4.7 Use Cases der Stammdaten ............................ 42
4.8 Bewohner Use Cases ............................... 44
5.1 Stammdatenansicht in Care Viva Doku im Web ................. 50
5.2 Stammdatenansicht in Care Viva Doku in Windows ............... 51
5.3 Stammdatenfunktionen in der ¨
Ubersicht des Care Viva Assistenten ....... 52
5.4 Konfigurationsm¨
oglichkeiten des Care Viva Assistenten ............. 53
5.5 Spracheingabe in Eingabefeldern ......................... 53
5.6 ¨
Ubersicht des Google Developer API Dashboards ................ 59
5.7 Ansicht der Alexa Development Ober߬
ache f¨
ur Skills .............. 61
5.8 Ansicht der Alexa Development Ober߬
ache f¨
ur Produkte ............ 61
5.9 Ausschnitte aus der Testanwendung ....................... 66
6.1 Ansicht des Testaufbaus inkl. der Bemaßung und Beschreibung der Komponenten 70
ix
6.2 Direktvergleich von Google (Rot) und Windows (Blau) bei allen Messungen mit
gemeinsamen Werten ............................... 76
6.3 Vergleich Google (Rot) und Windows (Blau) im Bezug auf die einzelnen An-
wendungsf¨
alle (Ohne Ein߬
usse, mit Rauschen und Dialekt) ........... 77
Tabellenverzeichnis
2.1 Beispiel einer einfachen Grammatik (vgl. [Eul06]) ................ 13
2.2 Beispiel einer kontextsensitiven Grammatik ................... 15
3.1 Google Assistant Bewertung (vgl. [Wob17b]) .................. 23
3.2 Amazon Alexa Bewertung (vgl. [Wob17a]) .................... 23
3.3 Apple Siri Bewertung (vgl. [Wob17a]) ...................... 24
3.4 Microsoft Cortana Bewertung (vgl. [Wob17a]) .................. 25
3.5 Preisliste Dragon Systems (Nuance) Software Dragon Stand: 01/2018 ..... 25
4.1 Vor- und Nachteile einer gef¨
uhrten Dialogf¨
uhrung ................ 39
4.2 Vor- und Nachteile einer freien Dialogf¨
uhrung .................. 40
6.1 Auswertung der vorhandenen Log-Dateien .................... 69
6.2 Zusammengefasste Auswertung der Messungen des Windows-Assistenten (kom-
muliert) ...................................... 71
6.3 Zusammengefasste Auswertung der Messungen des Google-Assistenten (kom-
muliert) ...................................... 73
A.1 Auswertung der vorhandenen Log-Dateien .................... 84
x
Listings
2.1 XML Beispiel anhand eines Kreditkartenobjektes ................. 18
2.2 VXML Beispiel Wetter, Sport und Nachrichten ................. 19
2.3 JSON Beispiel anhand eines Kreditkartenobjektes ................ 20
5.1 Installation im Paketmanager von NuGet anhand des Beispiels von GRPC . . . 49
5.2 Restore im Paketmanager von NuGet ...................... 49
5.3 Erstellen einer Instanz eines CV-Assistenten (Singleton) ............. 53
5.4 Verwenden der aktuellen Instanz des CV-Assistenten (Singleton) ........ 53
5.5 Verwenden der Sprachausgabe .......................... 54
5.6 Verwenden der Spracheingabe .......................... 54
5.7 Verwenden der ¨
Ubersetzungsfunktion ....................... 54
5.8 Compiler Direktive - Beispiel anhand des Assistenten in CSharp (C#) . . . . . 54
5.9 URL-Aufruf der Indexfunktion .......................... 55
5.10 URL Aufruf der Uploadfunktion .......................... 55
5.11 URL-Aufruf der Audiofunktion .......................... 55
5.12 Aufruf der L¨
oschen-Funktion ........................... 56
5.13 Aufruf der Rating-Funktion ............................ 56
5.14 Aufruf der ¨
Ubersetzer-Funktion .......................... 56
5.15 BitStream Beispiel ................................. 56
5.16 Beispiel zur Verwendung der Microsoft Speech-API ............... 57
5.17 Vereinfachter Auszug der Garbage Collection ................... 58
5.18 Beispiel zur Verwendung des Google Assistant .................. 60
5.19 Beispiel zur Verwendung der webkitSpeechRecognition-API ........... 63
5.20 Beispiel zur Verwendung des HTML5 Tags als Spracheingabe in einem Textinput 63
6.1 Beispielhafter Auszug aus einem Logfile ..................... 67
xi
Akronyme
.Net .NET Framework
API Application Programming Interface
ASK Alexa Skill Kit
ASP Active Server Pages
ASR Automated Speech Recognition
ATL Aktivit¨
aten des t¨
aglichen Lebens
AVS Alexa Voice Service
AWS Amazon Web Services
BG Berufsgenossenschaft
CV Care Viva
C# C Sharp
DIN Deutsches Institut f¨
ur Normung
DSGVO Datenschutz-Grundverordnung
DTW Dynamic Time Warping
EZF Echtzeitfaktor
ERP Enterprise-Resource-Planning
HMM Hidden-Markov-Modelle
HTTP Hypertext Transfer Protocol
HTTPS Hypertext Transfer Protocol Secure
IBM International Business Machines Corporation
IKT Informations- und Kommunikationstechnik
xiii
Listings
IIS Microsoft Internet Information Services
IP Internet Protocol
IVR Interactive Voice Response
JSON JavaScript Object Notation
KAS Klinischem Arbeitsplatzsystem
KI k¨
unstlichen Intelligenz
KIS Krankenhausinformationssystem
KNN k¨
unstliche neuronale Netze
mp3 MPEG Audio Layer III
NAV Navision
PDMS Patientendatenmanagementsysteme
PSTN Public Switched Telephone Network
REST Representational State Transfer
REST-API Representational State Transfer-Application Programming Interface
SDK Software Development Kit
SSL Secure Sockets Layer
TCP Transmission Control Protocol
TFS Team Foundation Server
TTS Text-to-Speech
ogg ogg
VM Virtuelle Maschine
VOIP Voice Over IP
VPN Virtual Private Network
VoiceXML Voice Extensible Markup Language
W3C World Wide Web Consortium
wav Waveform Audio File Format
WWW World Wide Web
XML Extensible Markup Language
xiv
Kapitel 1
Einleitung
In der heutigen Zeit gibt es vielerlei Software auf den Markt, was sich besonders im Bereich
der mobilen Anwendungen (APP) abzeichnet. Dort gibt es zur Zeit ca. 3,14 Millionen AP-
Ps1. Diese Masse an Software macht es dem Kunden bzw. dem Nutzer nicht einfach die
richtige Anwendung f¨
ur seine Bed¨
urfnisse zu finden, besonders wenn die Anforderungen an
die Software sehr speziell sind.
Daher ist es immer wichtiger die eigens entwickelte Software auf dem Markt hervorzu-
heben und von anderen Anbietern abzugrenzen. Die Softwarel¨
osungen m¨
ussen nicht nur in
ihrer Funktionalit¨
at und ihrem Design, sondern auch in der Bedienung (Usability) ¨
uberzeugen
(vgl. [Hei]).
1.1 Motivation
Menschen mit Einschr¨
ankungen werden bei der Entwicklung von Softwarel¨
osungen oft nicht
ber¨
ucksichtigt, obwohl im Schnitt jeder Achte in Deutschland eingeschr¨
ankt ist, wie es aus
der Statistik des Statistischen Bundesamtes von 2015 (vgl. [noae]2) hervorgeht.
Softwarel¨
osungen sollten demnach bestm¨
oglich auf alle Bedienm¨
oglichkeiten vorbereitetet
sein, sodass auch Nutzer mit einer k¨
orperlichen Einschr¨
ankung oder Problemen im sprach-
lichen, visuellen oder motorischen Bereich, keine Schwierigkeiten bei der Bedienung haben.
Um diesen Anforderungen gerecht zu werden, soll eine bestehende Softwarel¨
osung, Care
Viva (CV)-System, um neue Bedienkonzepte erweitert werden. Hierzu wurden verschiedene
neue Eingabem¨
oglichkeiten gepr¨
uft. Der Fokus hierbei liegt auf der Bedienung der Software
durch visuell eingeschr¨
ankte Menschen.
Durch den technischen Fortschritt im Bereich der Spracherkennung und Sprachsynthese
wurde dieser Teilbereich bereits als m¨
ogliche Erweiterung der Software gew¨
ahlt. Das steigen-
de Interesse der Bev¨
olkerung durch Produkte wie Amazons Alexa oder Googles Assistant,
gibt hierbei weiteren Aufschwung und Motivation, die Software mit solchen Technologien
zu erweitern.
1https://goo.gl/63F4gt - Stand 24.08.2018
2https://www.destatis.de/DE/ZahlenFakten/GesellschaftStaat/Gesundheit/Behinderte/
BehinderteMenschen.html - Stand: 8.3.2018
1
1. Einleitung
1.2 Problemstellung und Zielsetzung
Diese Masterarbeit befasst sich mit dem Thema der Sprachassistenz im Bereich einer Pfle-
geplanungssoftware. Ziel ist es vorhandene Systeme und Assistenten der Spracherkennung
zu analysieren und zu vergleichen. Auf Grund dessen soll ein Bedien- und Implementierungs-
Konzept, f¨
ur die Pflegedokumentationssoftware Care Viva Doku, entwickelt werden. In die-
sem Konzept sollen verschiedene Benutzergruppen, wie ¨
Arzte, Bewohner und Patienten bzw.
Klienten, ber¨
ucksichtigt werden. Eine erste Implementierung des erarbeiteten Konzeptes und
eine darauf aufbauende Evaluierung sind weitere Ziele dieser Arbeit. Abschließen wird das
Dokument mit einem R´esum´e und Ausblick.
1.3 Aufbau des Dokuments
Zun¨
achst wird ein Einblick in die Struktur des Unternehmens, in der diese Arbeit entstanden
ist, gew¨
ahrt. Das Unternehmen entwickelt und vertreibt Softwarel¨
osungen, die im Kapitel 2
n¨
aher erl¨
autert werden. Darauffolgend wird ein Vergleich der vorhandenen Systeme, in den
Bereichen der Spracherkennung und dessen Einsatz in der Medizin bzw. der Pflegeplanung,
erarbeitet und einer Marktanalyse durchgef¨
uhrt (Kapitel 3). Im Weiteren wird die erste Idee
betrachtet und ein Konzept erarbeitet, wobei einzelne Use Cases vorgestellt (Kapitel 4)
werden. Aus den Anforderungen die in den Use Cases und dem Konzept entstehen werden
erste Evaluierungsm¨
oglichkeiten vordefiniert. Mit dem erarbeitetem Konzept und der vor-
handenen Technik wird die Implementierung (Kapitel 5) vorgenommen. Bei dieser werden
Ober߬
achenkonzepte und Mockups, sowie technische Details gezeigt und erl¨
autert.Eine Eva-
luierung (Kapitel 6) der Ideen und ein Ausblick der Weiterentwicklung (Kapitel 7) schließen
diese Arbeit ab.
2
Kapitel 2
Grundlagen
Nachdem nun das Ziel der Arbeit und dessen Motivation dargestellt wurde, werden im
Nachfolgenden die akquinet AG bzw. akquinet ristec / care GmbH und deren zu erweiternde
Software CareViva vorgestellt.
2.1 akquinet AG
Die akquinet AG ist ein IT-Beratungsunternehmen im internationalen Raum mit Hauptsitz
in Hamburg. Die Schwerpunkte des Unternehmens liegen in der Einf¨
uhrung von Enterprise-
Resource-Planning (ERP)-Systemen wie SAP,Microsoft Dynamics NAV und der Entwick-
lung von individuellen Softwarel¨
osungen f¨
ur Unternehmen. Dabei kommen Technologieplatt-
formen wie SAP,JAVA und Microsoft zum Einsatz (siehe Abbildung 2.1). Die akquinet AG
hat ¨
uber 800 Mitarbeiter in den Niederlassungen in Deutschland, Polen und ¨
Osterreich
(vgl. [AGe]). Dar¨
uber hinaus besitzt die akquinet AG vier leistungsstarke und hoch zerti-
fizierte Rechenzentren f¨
ur Cloud-, Hosting- und IT-Outsourcing-L¨
osungen. Die AG ist ein
nicht-b¨
orsennotiertes Unternehmen. Aktion¨
are sind die Vorst¨
ande und Gesch¨
aftsf¨
uhrer der
einzelnen zugeh¨
origen GmbHs. Die akquinet ristec bzw. akquinet care GmbH sind zwei der
Gesellschaften aus dem Verband der akquinet AG.Care Viva ist eine Softwarel¨
osung der
beiden Gesellschaften, auf die im Folgenden genauer eingegangen wird.
2.2 Care Viva
Die Software Care Viva teilt sich in drei Anwendungsgebiete und mehrere Plattformen auf.
Begonnen wird mit einer kurzen Beschreibung der Anwendungsgebiete und dessen Haupt-
funktionen, darauf folgen die weiteren Plattformen.
2.2.1 Anwendungsgebiete
Sozialwirtschaft
Care Viva ist eine Softwarel¨
osung, die es erm¨
oglicht, eine gezielte Unternehmenssteuerung
aller Gesch¨
aftsprozesse in sozialen Einrichtungen zu planen. Derweil wird das Unternehmen
3
2. Grundlagen
Abbildung 2.1:¨
Ubersicht der einzelnen Bereiche der akquinet AG (vgl. [AGe])
bei der Umsetzung seiner Unternehmensziele unterst¨
utzt. Die Software ist vor allem f¨
ur den
Pflegeprozess optimiert. (vgl. [AGa])
Altenpflege
Care Viva Doku unterst¨
utzt gezielt im Bereich Altenpflege. Bei dieser L¨
osung handelt sich es
um ein umfassendes CV-System, das beispielsweise zum Verwalten von Stammdaten (Kun-
den, Mitarbeiter, ¨
Arzte, etc.), Pflegeprozessen (Anamnese, Pflegemodelle, Diagnosen und
Maßnahmenplanung) und Protokollen oder Assessments (z. B. Wunddokumention) genutzt
wird. Dar¨
uber hinaus werden viele weitere M¨
oglichkeiten, wie ein Medikamentenmanagement-
System, geboten. (vgl .[AGc])
Pflege von Menschen mit Behinderung
Care Viva Doku gibt es auch in einer speziell auf den Umgang mit Menschen mit Behinderun-
gen angepassten Version. Darin enthalten sind zus¨
atzlich angepasste Module, wie Betreu-
ungsmodelle, Hilfsmaßnahmenplanung, automatische Leistungsevaluierung, Entwicklungs-
und Betreuungsberichte. (vgl. [AGb])
2.2.2 Plattformen
Mobil
Im Bereich der mobilen Erfassung von Daten mittels Smartphone bietet Care Viva eine
Android-Applikation (kurz: App) mit der Touren zu den einzelnen Kunden geplant werden
4
2.3. Barrierefreie Software
k¨
onnen. ¨
Uber die App lassen sich Maßnahmen, die bei den Kunden zuhause vorgenommen
wurden bzw. werden sollen, planen und dokumentieren. Im Planungsverlauf wird dem Mit-
arbeiter eine vorgeschlagene Tour dargestellt und auf dem Weg zum Kunden / Patienten
kann er eine Navigation verwenden. (vgl. [AGd]).
Web
Ein in der Entwicklung befindliches neues System von Care Viva bietet die M¨
oglichkeit als
hybride L¨
osung alle Funktionen von Care Viva im Browser darzustellen. F¨
ur eine Verwen-
dung auf mobilen Ger¨
aten wird keine vorherige Installation ben¨
otigt. Die direkte Eingabe
von Dokumentationen, beispielsweise f¨
ur Haus¨
arzte, ist m¨
oglich. Diese Version ist kompa-
tibel zu allen anderen Versionen von Care Viva und bindet den kompletten Datenbestand
ein. Hierf¨
ur wird das vorhandene Care Viva Backend als Framework erweitert und verwendet.
Da nun die akquinet AG vorgestellt und eine kurze ¨
Ubersicht der Software Care Viva gege-
ben wurde. F¨
ur den weiteren Verlauf der Arbeit ist es wichtig den Begriff der Barrierefreiheit
bzw. Barrierefreie Software etwas genauer zu definieren bzw. zu erl¨
autern.
2.3 Barrierefreie Software
Begriffsdefinition -
Der Begriff der Barrierefreiheit kommt urspr¨
unglich aus dem Bereich von Bau-
ten, Verkehrsmitteln und sonstigen Einrichtungen und wird laut Duden wie folgt
definiert: keine Barrieren, Hindernisse oder ¨
ahnliches aufweisend und demzu-
folge auch von Menschen mit Behinderung ohne Erschwernis oder fremde Hilfe
nutzbar1
Auf den Bereich der Software angewendet, insbesondere auf Internetseiten, lau-
tet die Definition weiterhin wie folgt:(von Internetseiten) so gestaltet, dass
es auch von Menschen mit Behinderung ohne Erschwernis oder fremde Hilfe
genutzt werden kann zum Beispiel durch Ver¨
anderbarkeit der Schriftgr¨
oße2
Was barrierefreie Software ist bzw. was eine solche auszeichnet, ist nicht einfach zu be-
antworten. Allgemein sollen alle Benutzergruppen die Software im gleichen Maße bedienen
k¨
onnen. Um diese Verallgemeinerung genauer zu beschreiben, haben einige bekannte Gre-
mien der Softwareentwicklung Normen bzw. Richtlinien (Guidelines) entwickelt. Jedoch sind
diese eher f¨
ur den Bereich der Webanwendungen oder Webseiten aufgestellt, was jedoch in
gleichem Maße auch auf die klassischen Anwendungen ¨
ubertragen werden kann, da nicht
auf genaue technische Details eingegangen wird.
1Duden Online Stand 15.03.2018 - Absatz 1 - vgl. [Dud]
2Duden Online Stand 15.03.2018 - Absatz 2 - vgl. [Dud]
5
2. Grundlagen
Deutsches Institut f¨
ur Normung (DIN)- Das DIN hat die Norm DIN EN ISO
9241-151:2008 ver¨
offentlicht. In deren Abschnitt 7 wird erkl¨
art, dass alle Inhalte in
geeigneter Form f¨
ur die Zielgruppe vorhanden sein sollen. Dar¨
uber hinaus muss der
Inhalt ¨
uber mehrere Wege dargestellt werden. Komplexe Sachverhalte sollten mit Text
und Bild zur Verf¨
ugung gestellt werden, damit es f¨
ur Nutzer m¨
oglich ist, einen eigenen
Weg zu finden mit den Informationen umzugehen und diese zu verarbeiten. Hierf¨
ur
werden weitere Ideen erl¨
autert wie etwa verschiedene Navigationsm¨
oglichkeiten und
Navigationspfade oder Strukturen. Im Detail wird dabei nie auf genauere Technologien
eingegangen. Ein direkter Bezug zur Barrierefreiheit kann nicht wirklich festgestellt
werden, da es sich, wie auch im Titel, eher um ergonomische Ideen oder Ans¨
atze
handelt (vgl. [DIN08]).
International Business Machines Corporation (IBM)- Das Unternehmen IBM hat
f¨
ur die interne Entwicklung eine Checkliste herausgegeben, die es erm¨
oglichen soll, die
in der Entwicklung befindliche Anwendung zu pr¨
ufen um Verbesserungen und neue
Ideen zur Optimierung zu generieren. Dabei orientiert man sich an der Guideline des
World Wide Web Consortium (W3C), die im Nachfolgenden kurz erl¨
autert wird (vgl.
[IBM17]).
W3C - Im W3C gibt es eine Guideline mit Ideen und Anpassungen, die im Fokus
auf Webanwendungen eingehalten werden sollten. Diese Guideline gliedert sich in vier
Bereiche:
– Wahrnehmung - Verschiedene Medien zur Informationsdarstellung sollten ge-
nutzt werden. So kann beispielsweise f¨
ur ein Bild auch immer einer textuelle
Beschreibung vorliegen. F¨
ur verschiedene Zielgruppen sollten Sprache und Bilder
angepasst oder vereinfacht werden. Zeitgem¨
aße Medien sollten genutzt werden
(z.B. Videos mit Untertitel). Dar¨
uber hinaus sollte der Vordergrund immer er-
kennbar sein und sich automatisch hervorheben.
Bedienung - Die Webseite sollte ohne Maus nur mit einer Tastatur bedienbar
sein, die Navigation ¨
ubersichtlich und nicht zu k¨
unstlerisch umgesetzt werden.
Eine M¨
oglichkeit zum Suchen muss vorhanden sein. Der Nutzer sollte sich die
Informationen in seinem Tempo anschauen k¨
onnen.
– Verst¨
andlichkeit - Die Inhalte sollten verst¨
andlich und m¨
oglichst in angepasster
Sprache zur Zielgruppe vorhanden sein. Sie sollte vorlesbar und ¨
ubersichtlich
gestaltet werden. Nutzer m¨
ussen ihr Feedback an den Betreiber schicken k¨
onnen
um die Software stetig zu verbessern.
Robustheit - Die verwendeten Technologien sollten mit allen Systemen kompati-
bel sein. Es sollten g¨
angige Assistenzsysteme getestet werden. Auch an m¨
ogliche
Erweiterbarkeit muss dabei gedacht werden.
Zu den einzelnen Punkten werden Pro- und Kontra-Beispiele aufgezeigt (vgl. [W3Cb]
und [W3Ca]). Um die genannten Punkte zu evaluieren, werden vom W3C und Part-
nerunternehmen sogenannte Validatoren zu Verf¨
ugung gestellt, die sowohl die Web-
standards (Syntax, Fehler) analysieren, als auch die Zug¨
anglichkeit und Barrierefreiheit
6
2.3. Barrierefreie Software
(Accessibility) testen (vlg. [W3C18]). Eine erfolgreich getestete Webseite erh¨
alt vom
W3C ein Siegel, das eine hohe Anerkennung hat.
Heise.de - Podcast mit Artur Ortega (Blinder Informatiker im Bereich der Soft-
wareentwicklung in England mit Schwerpunkt auf Barrierefreiheit und Usability bei
dem britischen Pendant zu den Gelben Seiten. Er ist Mitglied im W3C und UK-
Regierungsforums eAccessibility3) (vgl. [Neu13]). Laut ihm ist es sehr wichtig Softwa-
re f¨
ur alle Menschen zur Verf¨
ugung zu stellen. Als Gr¨
unde f¨
uhrt er vor allem wirtschaft-
liche Faktoren an. Bei Behinderungen unterscheidet er in medizinische Behinderungen
und solche sozialer Natur.
Medizinisch - Der Mensch wird eher wie eine Maschine gesehen die einen Defekt
hat und repariert werden k¨
onnte, somit m¨
usste beispielsweise Software nicht
angepasst werden, sondern der Mensch dementsprechend. Diese Betrachtung ist
seiner Meinung nach in Deutschland ¨
ublich, jedoch nicht gewollt.
Sozial - Der Mensch steht bei dieser Betrachtung im Vordergrund und darauf
hin m¨
ussen Hilfsmittel an den Mensch angepasst werden, so die Sicht des UK-
Regierungsforums. Die dies mit Hilfe von Gesetzen auch an die Bev¨
olkerung
weitergeben.
Internationaler Standard ist vom W3C vorgegeben. Deutscher Standard ist nur ver-
pflichtend f¨
ur Bundesanstalten und nicht f¨
ur Softwareentwickler der freien Marktwirt-
schaft.
Zusammengefasst kann gesagt werden, dass eine Software dann barrierefrei ist, wenn sie
von allen Menschen mit Behinderung ohne zus¨
atzliche Hilfsmittel oder Unterst¨
utzung wei-
terer Personen benutzt werden kann. Um dies in Software umzusetzen, sollte das Konzept
jedoch im Gesamten daf¨
ur vorgesehen sein und nicht gesonderte Wege f¨
ur Menschen mit Be-
hinderung geschaffen werden. So sollten beispielsweise Text-Only-Webseiten, die f¨
ur Blinde
unbedienbar sind, abgeschafft werden und die vorzulesenden Texte einfach in eine beste-
hende Webseite eingebunden werden. Im Kontext der barrierefreien Software wurde von
der Bundesregierung 2011 die Verordnung BITV 2.0 erlassen (vgl. [Bun]), um die weiteren
Entwicklungen st¨
arker voranzutreiben und Menschen mit Behinderung im Internet bzw. im
Arbeitsumfeld nicht auszuschließen. Da sich dieser Erlass jedoch bisher nur auf Beh¨
orden
auswirkt, ist seither nicht mehr in diesem Bereich unternommen worden als vorher.
Gerade diese Ans¨
atze zeigen nochmals wie wichtig es ist, neue Anwendungen auch auf die
Bedienung durch Menschen mit Einschr¨
ankungen zu pr¨
ufen, evtl. auch eine Zertifizierung
wie durch den W3C anzustreben und somit ein Alleinstellungsmerkmal in seinem Segment
zu erlangen. Nachfolgend werden Ideen anhand von Erweiterungsm¨
oglichkeiten der Ein- und
Ausgabe aufgezeigt.
3Weitere Informationen: https://goo.gl/cCgcFN - Besucht: 15.03.2018
7
2. Grundlagen
2.4 Ein- und Ausgabem¨
oglichkeiten
Im Nachfolgenden werden die Ein- und Ausgabem¨
oglichkeiten in Hardware und Software
unterschieden.
2.4.1 Hardware
Auf Basis von Hardware gibt es viele M¨
oglichkeiten die Eingabe mit angepassten Eingabe-
ger¨
aten zu vereinfachen. So kann ein Mensch mit einer Sehst¨
orung oder ohne Augenlicht
mittels einer Brailletastatur oder Display weiterhin ohne Einschr¨
ankungen zu arbeiten. Es
gibt auch eine reihe von weiteren Ausgabem¨
oglichkeiten auf die nicht weiter eingegangen
werden. Da in dieser Arbeit jedoch keine neue Hardware entwickelt werden soll, beschr¨
ankt
sich das Folgende auf Softwarem¨
oglichkeiten der Bedienungserweiterung. Auch sind solche
Hardwareerweiterungen nicht auf jedem Endger¨
at einsetzbar.
2.4.2 Software
Die Erweiterungen der Software zur angepassten Bedienung lassen sich in visuelle und audi-
tive M¨
oglichkeiten unterscheiden. Diese werden im folgenden Kurz beschrieben und bereits
vorhanden Konzepte erl¨
autert.
Visuelle Konzepte
F¨
ur Menschen mit einer Seheinschr¨
ankung oder Sehbehinderung, wie beispielsweise einer
Rot-Gr¨
unschw¨
ache, kann es sehr schwierig sein eine Software zu bedienen, die daf¨
ur nicht
optimiert ist. Als Beispiel kann hier ein Ampelsystem bei einer Produkt Verf¨
ugbarkeit ge-
nannt werden. Wenn der Nutzer den Unterschied zwischen Rot und Gr¨
un nicht unterscheiden
kann, weiß er nicht ob der Artikel lieferbar ist oder nicht. Abhilfe kann in diesem Fall schnell
geschaffen werden, wenn beispielsweise eine textuelle Beschreibung neben der Ampel oder
beim ¨
Uberfahren mit der Maus angezeigt wird. Bei der Entwicklung von Care Viva Doku
wurde diese Art der Behinderung bereits bedacht. Dort werden dem Nutzer gezielt starke
Farbkontraste zur Verf¨
ugung gestellt, die bei Bedarf von den Verwendern sogar angepasst
werden k¨
onnen. So kann beispielsweise immer zwischen Vordergrund, Hintergrund und sehr
wichtigen Informationen unterschieden werden. Hierzu kommen noch viele intuitive Pikto-
gramme, die das Arbeiten mit dem System stark vereinfachen. Durch Tooltips wird eine
weitere Unterst¨
utzung gew¨
ahrleistet. Dies kann auch mittels der im Betriebssystem zur
Verf¨
ugung stehenden Einstellung des Kontrastes in den Bedienhilfen noch zus¨
atzlich un-
terst¨
utzt werden. Die Einstellungen und M¨
oglichkeiten f¨
ur die jeweiligen Betriebssysteme
werden nicht genauer erl¨
autert und k¨
onnen beim Hersteller eingesehen werden (Windows
vgl. [Micc], OSX vgl. [App]). Da dieser Teil bereits in der Software abgedeckt wurde, wird
er im folgenden nicht weiter beachtet.
8
2.5. Spracherkennung
Auditive Konzepte
Spracherkennungssysteme sind schon seit Jahren ein Renner, jedoch hat sich die urspr¨
ungli-
che Benutzung in der Zwischenzeit gewandelt. Anfangs wurden nur einige W¨
orter in einem
gesprochenem Satz erkannt. So musste der Anwender f¨
ur Sprachbefehle W¨
orter lernen bzw.
sein Vorgehen anpassen, um die Spracherkennung zu gew¨
ahrleisten. Die heutigen Spra-
cherkennungssysteme bieten die M¨
oglichkeit mit den Systemen ann¨
ahernd wie mit einem
normalen Menschen zu sprechen (vgl. [noa17]). Auch zeigen viele Statistiken einen drasti-
schen Anstieg der Nutzung solcher System wie in Abbildung 2.2 beispielsweise zu sehen ist.
Hierbei zeigt sich auch, welche System die meiste Verwendung finden und f¨
ur den weiteren
Verlauf der Arbeit interessant sein k¨
onnten. Eine kurze Einf¨
uhrung in die Grundlagen der
Spracherkennung folgt im n¨
achsten Abschnitt.
2.5 Spracherkennung
Die Interpretation gesprochener Sprache ist in der Informatik eine bis heute noch nicht
gel¨
oste Herausforderung. Die Spracherkennung wird in der Wissenschaft in zwei Teilgebiete
untergliedert:
Gesprochene Sprache - Vom Menschen auf nat¨
urlichem Weg erzeugte Laute, die
der Computer in ein digitales Signal umwandeln und mit Hilfe der Mustererkennung
untersuchen bzw. verstehen muss.
Textuelle Sprache - Geschriebene Sprache die mit Hilfe einer k¨
unstlichen Intelligenz
(KI) untersucht und in eine Bedeutung gebracht werden muss. Diesen Vorgang versteht
man auch als Sprachverstehen und wird im Bereich der Computerlinguistik untersucht.
Damit die Spracherkennung gelingen kann muss, zuerst das gesprochene Muster erkannt und
dessen Bedeutung ermittelt werden. Das erfolgt mit Hilfe eines Spracherkennungssystems,
welches in Abbildung 2.3 schematisch dargestellt ist. Somit zeigt sich, dass die genannten
Aufgaben nicht unabh¨
angig voneinander sind und aufeinander Aufbauen.
Zu Anfang wird gesprochene Sprache als analoges Sprachsignal durch eine Vorverar-
beitung gef¨
uhrt, in der viele Vergleichsmuster-Daten verarbeitet werden um die Phoneme
(Laute) zu erkennen und die einzelnen W¨
orter voneinander zu trennen. Auch kann in diesem
Schritt weitere Verbesserung, des Sprachsignals unter anderem mittels Filter vorgenommen
werden um bspw. Rauschen oder St¨
orger¨
ausche zu eliminieren. Das entstandene Ergebnis
wird nun der Erkennung zugef¨
uhrt, welche auf Basis des in Abbildung 2.3 dargestellten
Modells arbeitet. Im ersten Schritt der Erkennung im Sprachmodell wird versucht einzelne
W¨
orter mit Hilfe der Wahrscheinlichkeit des Auftretens zu ermitteln. Hierf¨
ur werden auch
die Informationen f¨
ur Wortkombinationen bzw. Wortabfolgen verwendet. Diese werden in
einem Grammatikmodell oder einem statistischem Modell wie bspw. N-Grammar gespei-
chert (siehe Abschnitt 2.5.2). Anhand dieser auftretenden Zustands¨
anderungen k¨
onnen nun
die W¨
orter erkannt und nach und nach S¨
atze gebildet werden, wie in Abbildung 2.3 dar-
gestellt. Bei dieser Erkennung und Verarbeitung kommen viele verschiedene Algorithmen
9
2. Grundlagen
AbsatzinMillionenEinheiten
1,71,7
6,56,5
24,524,5
AbsatzvonGerät enmitintegriertemdigitalenSprachassistenten(z.B.Amazon
Echo,GoogleHome)weltweitindenJahren2015und2016sowieeine
Prognosefür2017(i nMillionenStück)
WeitereInformationen:
Weltweit
2015 2016 2017*
Quelle
VoiceLabs
©Statista2018
0
5
10
15
20
25
30
AnzahlinMillionen
1717
10,810,8
6,86,8
0,80,8
AnzahlderInternetnutzer,dieaufeinenvirtuellenSprachassistenten
zurü ckgreifeninDeutschlandimJahr2016(inMillionen)
WeitereInformationen:
Deutschland;StatistaDMO
GoogleNow Sir i Cort ana Alexa*
Quelle
Statista
©Statista2017
0
2,5
5
7,5
10
12,5
15
17,5
20
Abbildung 2.2: Nutzungsstatistik zur Verwendung von Sprachassistenten in Deutschland
Stand 2016 (vgl. [Ste13]) und deren Wachstumsprognose
10
2.5. Spracherkennung
Abbildung 2.3: Grundaufbau eines Spracherkennungssystems (vgl. [Wan] S. 5 abgewandelt
von [noac])
zum Einsatz, darunter klassische Mustererkennung mit Dynamic Time Warping (DTW),
Hidden-Markov-Modelle (HMM) und k¨
unstliche neuronale Netze (KNN).
DTW - Verwendet gespeicherte Sprachmuster (Templates) und versucht durch den
Vergleich dieser das passende Wort zu ermitteln. Ein Problem in der Spracherkennung
ist die unterschiedliche Aussprache von gleichen W¨
ortern innerhalb eines Satzes. Vor
allem Vokale werden oft l¨
anger oder k¨
urzer gesprochen. F¨
ur eine erfolgreiche und ge-
naue Mustererkennung sollten deswegen die W¨
orter dementsprechend angepasst oder
normiert werden. Der DTW leistet unter anderem eine solche zeitliche Normierung.
HMM - Beschreibt ein stochastisches Modell, dass das aktuelle Wort immer mit dem
vorhergehenden und nachfolgenden zusammenh¨
angt. Dies wird mit Hilfe von Wahr-
scheinlichkeiten dargestellt, wie in Abbildung 2.4 anhand des Beispiels des Wetters
und der daraus resultierenden Wahrscheinlichkeit eine Wetterumschwungs und den
passenden Status der Schuhe.
KNN - k¨
unstliche Neuronale Netze basieren auf der Vernetzung von Neuronen nach
einem biologischen Vorbild. Jedes KNN besitzt eine Menge an Eingaben (X1-Xn),
die durch eine ¨
Ubergangsfunktion ver¨
andert werden und dann gesetzte Schwellwerte
¨
uber- oder unterschritten. Wenn der Schwellwert ¨
uberschritten wird, kann das Neuron
mittels einer Aktivierungsfunktion als neue Eingabe Xan die n¨
achsten Neuronen
weitergeben werden, wie in Abbildung 2.5 veranschaulicht. Ziel ist es aus m¨
oglichst
vielen Eingaben eine Aussage bzw. Ausgabe zu bekommen. Dabei gibt es viele m¨
ogliche
Vorgehensweisen und Modelle, was aber an dieser Stelle zu weit f¨
uhren w¨
urde.
4https://upload.wikimedia.org/wikipedia/commons/thumb/d/dc/Hidden_markov_model.svg/
640px-Hidden_markov_model.svg.png?1531854470278 Stand - 17.3.2018
11
2. Grundlagen
Abbildung 2.4: Beispiel eines HMM anhand des Wetters und des Zustandes der Schuhe -
Quelle Wikipedia4
Abbildung 2.5: Schema eines neuronalen Netzes - Quelle Wikipedia5
12
2.5. Spracherkennung
F¨
ur die bisher beschriebene Erkennung der Sprache ist der Sinn des Gesprochenen irrelevant.
Die Analyse davon passiert in weiteren Folgeschritten. Zur Evaluation bzw. Bestimmung der
G¨
ute einer solchen Erkennung, lassen sich verschiedene Kennzahlen ermitteln. Darunter fallen
Erkennungsgeschwindigkeit, Echtzeitfaktor (EZF) und die Erkennungsg¨
ute als Wortakkurat-
heit oder Worterkennungsrate, auf die in der Evaluierung weiter eingegangen werden (vgl.
[Kol18]).
2.5.1 Vokabular
Das Vokabular wird in der Informatik aus einem Alphabet aus Buchstaben zusammengesetzt
und enth¨
alt alle W¨
orter der zu analysierenden Sprache inklusive deren Lautschrift und deren
Phoneme. Da das deutsche Vokabular mehr als 5,7 Millionen W¨
orter umfasst und sie nicht
beliebig kombiniert werden k¨
onnen, wird dies mit Hilfe der Grammatik eingeschr¨
ankt, welche
automatisch generiert oder vorgegeben werden kann.
2.5.2 Grammatik
In einer Grammatik werden im Allgemeinen die Produktionsm¨
oglichkeiten von S¨
atzen aus
einzelnen Worten des Vokabulars (P) in Form von Regeln definiert. Die Regeln haben die
allgemeine Form:
lr
Dabei wird lauf der linken Seite durch rersetzt. Der Satzbau sieht im Deutschen meist die
Abfolge von Subjekt, Pr¨
adikat und Objekt vor. Dabei steht das Verb meist an zweiter Stelle.
Beispiel: [Der Arzt] [pflegt] [den Patienten]. In diesem Beispiel ist [der Arzt]das Subjekt,
[pflegt]das Verb und [den Patienten]das Objekt. Eine Grammatik (im folgenden auch G)
f¨
ur diese Beispiel kann Tabelle 2.1 entnommen werden.
Tabelle 2.1: Beispiel einer einfachen Grammatik (vgl. [Eul06])
Pder, den, Patienten, Arzt, pflegt
N S, NP, DET, N, V
P S NP V
SNP V NP
NP DET N
DET den
DET der
NPatienten
NArzt
Vpflegt
S S
5https://upload.wikimedia.org/wikipedia/commons/7/7f/ArtificialNeuronModel_deutsch.
png?1531857735651 Stand - 17.3.2018
13
2. Grundlagen
Abbildung 2.6: Darstellung einer einfachen Grammatik (vgl. [Eul06])
S
NP
DET
der
N
Arzt
V
pflegt
S
NP
DET
der
N
Arzt
V
pflegt
NP
DET
den
N
Patienten
In diesem Beispiel ist die Summe (P) das Vokabular und Sder Startpunkt, Pdie Produk-
tionsregeln und Ndie Entscheidungen. Alle diese Bestandteile werden in der Grammatik
als G= (P, N, P, S)zusammengefasst. Mit Hilfe der angegeben Grammatik kann bspw.
der Ableitungsprozess folgender Satzaufbauten generiert werden (vgl. Abbildung 2.6). Der
Ableitungsprozess ersetzt in den einzelnen Verarbeitungsschritten alle Verweise so lange, bis
nur noch direkt Zuordnungen (Terminale) vorhanden sind. Allgemein l¨
asst sich sagen, dass
nicht jede Ableitung zu einem legalen Ergebnis f¨
uhren muss. So w¨
are beispielsweise auch:
Der Patienten pflegen den Arztm¨
oglich aber sprachlich nicht richtig.
Kontextfreie Grammatik
Hierbei spielt das Anwendungs- oder Verwendungsumfeld der Grammatik keine Rolle. Die
Regeln sind dabei unabh¨
angig vom Kontext. So wird im Ableitungsprozess nie der Vorg¨
anger
oder Nachfolger weiter betrachtet, wie bereits im Beispiel 2.6 angenommen wurde. So kann
die Sprache mehr oder weniger sinnvolle S¨
atze umfassen.
Wortproblem
Das Wortproblem befasst sich mit der Frage, ob zu jeder Folge eine entsprechende Ent-
scheidung getroffen werden kann und ob diese in der Grammatik enthalten ist oder nicht:
wL(G)oder w /L(G). Dies ist f¨
ur kontextfreie Grammatik ohne Probleme entscheid-
bar. Kontextbezogene Grammatik ist rekursiv und kann sehr komplex sein, weswegen diese
Logik hier nicht angewendet werden kann. Dar¨
uber hinaus nimmt der Rechenaufwand der
Entscheidung von Ordnung O(N)(wobei Ndie L¨
ange der Folge darstellt) bis zu O(N3)
zu. Bei der sehr allgemeinen rekursiv aufz¨
ahlbaren Grammatiken (Chomsky Typ-0) ist das
Wortproblem nicht entscheidbar.
Kontextbezogene Grammatik
Eine kontextbezogene (kontextsensitive) Grammatik zeichnet sich besonders dadurch aus,
dass in jedem Schritt des Ableitungsprozesses auf den vorherigen Schritt (Kontext) Be-
zug genommen wird. Kontextbezogene Grammatiken sind dabei identisch mit der Typ-1-
14
2.6. Sprachdialog- und Interactive Voice Response-Systeme
Grammatik der Chromsky-Hierachie.
G= (V okabular V, T erminalsymbole T , P roduktionsreglen P, Startsymbol S)
Nichtterminalsymbole Nsind alle Vokabeln V, die nicht in Tsind N=V/T
Tabelle 2.2: Beispiel einer kontextsensitiven Grammatik
Pa, b, c
N S, NP, DET, N, V
P S AX — AY
XSY
YZC
AZ AB
BZ BB
CZ ZC
Aa
Bb
Cc
Hier zeigt sich sehr schnell, dass diese Grammatik sich selbst aufruft und ohne weiteres nicht
so einfach darstellbar ist. Eine m¨
ogliche Folge stellt nur abcdar.
2.5.3 Semantik
Die Semantik versucht hinter den bereits erkannten Eingaben bzw. W¨
ortern einen Zusam-
menhang herzustellen, diese also zu verstehen und einem Sinn zuzuordnen. Mit Hilfe der
Semantik ist es also m¨
oglich zu erkennen, was der Sprecher vom System m¨
ochte und welche
Funktion mit welchen Parametern ausgef¨
uhrt werden muss.
2.6 Sprachdialog- und Interactive Voice Response-Systeme
Um die erkannte Sprache in einen Zusammenhang zu bringen und weiter zu verarbeiten,
werden Sprachdialogsysteme als eine Anwendungsm¨
oglichkeit und -bereich verwendet. Diese
fanden in den Anf¨
angen in erster Linie Anwendung in Telefonhotlines. Da es in der heutigen
Zeit etwas aus der Mode gekommen ist Telefonhotlines anzurufen, haben sich diese Systeme
auch auf andere Anwendungsgebiete ausgedehnt. Wie in Abschnitt 2.6.1 weiter ausgef¨
uhrt
wird.
Die Idee hinter diesen Systemen ist meist das Verarbeiten von vielen, oft gleichzeitig
erfolgenden Anrufen oder Nutzerinteraktionen, die sonst nur mit sehr viel Personal und
Kosten verarbeitet werden k¨
onnen.
2.6.1 Grundaufbau eines IVR-Systems
Anhand des Telefonhotline Beispiels wird im folgenden der Grundaufbau, eines Sprachdia-
logsystems erl¨
autert.
15
2. Grundlagen
Abbildung 2.7: Model eines IVR-Sprachdialogsystems (vgl. [Rei17] S. 5)
Zu Beginn wird ein Sprachsignal erfasst (rechts in Abbildung 2.7 zu sehen), was mittels
mehrerer Ger¨
ate erfolgen kann. Die so erfassten Daten werden mit Hilfe eines ¨
Ubertragungs-
protokolls an die Interactive Voice Response (IVR)-Plattform ¨
ubertragen. Im Falle einer
Telefonhotline ist es ¨
ublich dies per Public Switched Telephone Network (PSTN) der klassi-
schen Telefon- oder der Internet-Telefonie ¨
uber Voice Over IP (VOIP) zu realisieren. In der
IVR-Plattform werden nun die Daten ¨
uber das entsprechende Gateway dem Dialogablauf-
Interpreter zugef¨
uhrt, wo die Sprache in Text umgewandelt oder direkt in Befehle interpretiert
werden soll. Die nun vorverarbeiteten Informationen werden an die eigentliche Business-
Anwendung weitergegeben und dort anhand von Daten, Antworten und weiteren Abl¨
aufen
weiterverarbeitet. Somit erfolgt im Anschluss auch der Weg zur¨
uck zum eigentlichen Anru-
fer, der die gew¨
unschten Informationen bzw. das Feedback erh¨
alt und darauf reagieren kann.
In einer Telefonhotline k¨
onnte dieser Vorgang wie folgt ablaufen.
1. Anrufer w¨
ahlt Nummer und kommt bei der Hotline an.
2. Dort wird er aufgefordert durch Nennen einer Nummer von 1 bis 5 verschiedene Wahlm¨
oglich-
keiten zu best¨
atigen.
3. Er w¨
ahlt die 3 um direkt mit einem Mitarbeiter zu sprechen.
4. Die Businesslogik entscheidet, dass der Anruf an einen Mitarbeiter weitergeleitet wird.
2.6.2 Verwendung
Diese Systeme finden in vielerlei Bereichen Anwendung:
Autofreisprecheinrichtung - Routenplanung oder Bedienung des Radios ¨
uber Sprach-
befehle oder das Anrufen von Kontakten uvm.
Maschinensteuerung - Direkte Interaktion zwischen Mensch und Maschine, beispiels-
weise in der Fertigung. Zur Zeit im Fokus der Forschung im Bereich Industrie 4.0.
Prozessorientierte Ereignismeldungen - Feste Abfrage von bestimmten Punkten
bzw. Fragen (z.B. bei Umfragen).
16
2.6. Sprachdialog- und Interactive Voice Response-Systeme
Computerspiele - Befehle in Battlefield 3 an die KI-Mitspieler, wie Haltet die Stel-
lung oder R¨
uckt bis zur n¨
achsten Deckung vor“.
Mobiltelefone - Siri, Alexa und Google Assistant sind bereits in Smartphones inte-
griert und nehmen Sprachbefehle entgegen.
Weitere Anwendungsfelder und Anwendungen werden im Kapitel 3aufgezeigt.
F¨
ur IVR-Systeme m¨
ussen jedoch einige Grenzen bzw. Voraussetzungen eingehalten und be-
achtet werden, die im Nachfolgenden aufgezeigt und erl¨
autert werden.
2.6.3 Einsatzkriterien
F¨
ur den Einsatz von IVR-Systemen gibt es einige Kriterien bzw. Anwendungsszenarien:
Schreib- und Leseschw¨
ache - Durch die M¨
oglichkeiten einer guten Spracheingabe
k¨
onnten in Zukunft und bereits auch jetzt schon Probleme in der Rechtschreibung,
Formulierung und Sprache ausgeglichen und verbessert werden. Die Anwendung Dra-
gon (vgl. Abschnitt 3.2.2) bietet bereits die M¨
oglichkeit, Fließtext mittels Diktakt
einzugeben und diesen automatisiert umformulieren zu lassen. So entsteht ein Text
mit Kontext der in einem gutem Deutsch formuliert und fehlerfrei auf dem Computer
erfasst wird.
Fremdsprachen - Es ist bereits m¨
oglich, einen Text in englischer Sprache zu diktieren
und direkt in Deutsch ¨
ubersetzt zu bekommen. Diese Technologie ist jedoch noch sehr
unausgereift.
Bedienungsprobleme mit dem Computer - Durch eine verbale Kommunikation mit
dem Computer ist es m¨
oglich, eine erleichterte Bedienung zu schaffen. So k¨
onnten auch
nicht Computer-affine Menschen die n¨
otigen Aufgaben bereits jetzt schon erledigen.
Freihandkonzept und wenig Arbeits߬
ache - Durch beispielsweise mobile Arbeitspl¨
atze
in Autos, Z¨
ugen oder auch auf Baustellen, k¨
onnte durch Sprachdialogsysteme eine
verbesserte Ergonomie und Erleichterung der Arbeitsprozesse geschaffen werden. So
kann einer Pflegekraft bereits im Auto auf dem Weg zum Kunden alle Informationen
nochmals mitgeteilt werden.
2.6.4 Grenzen
Da die Verarbeitung der Sprache wie bereits in den Grundlagen erl¨
autert ein komplexer
Vorgang in der Mustererkennung ist und es hierf¨
ur keine perfekte L¨
osung gibt, sind diesem
System Grenzen gesetzt. Diese werden nachfolgend zusammengefasst dargestellt.
Erkennung - Es ist keine 100-prozentige Erkennung m¨
oglich. Dabei ist es sehr pro-
blematisch, umfangreiches Vokabular mit vermehrt auftretenden ¨
Ahnlichkeiten in der
Aussprache verschiedener Begriffe zu unterscheiden. Dies wird auch in absehbarer Zu-
kunft keine perfekte Erkennung erm¨
oglichen, da es zu viele unterschiedliche Faktoren
17
2. Grundlagen
bei der Spracherkennung gibt, wie die Variabilit¨
at des Sprechers und seiner Ausspra-
che. Hierzu kommt noch, dass es Sprachen gibt, die sich gut f¨
ur Spracherkennung
eignen, da sie sehr strukturiert und Computer abbildbar dargestellt werden k¨
onnen, als
auch Sprachen die sich weniger gut eignen.
Umgebungsbedingungen - Da es im Arbeitsumfeld nie wirklich ruhig ist, stellt somit
bereits die Aufnahme der Sprache eine Herausforderung dar. Bereits die Aufnahme
eines menschlichen Sprechers in einer Menschenmenge ist eine Herausforderung f¨
ur
Filteralgorithmen.
Strukturen - Zur Zeit ist es noch nicht m¨
oglich, jeden Kontext in einem Sprach-
dialog zu erkennen. Daher muss der Benutzer immer noch eine Art Dialogstruktur
einhalten um die Erkennung zu verbessern. Auch m¨
ussen die Antworten so aufberei-
tet sein, dass sich der Benutzer die F¨
ulle an Informationen gut merken kann. Dieses
Problem stellt viele Dialogsysteme vor H¨
urden. Eine klare intuitive Bedienstruktur und
ein Bedienungskonzept m¨
ussen hier vorhanden sein (vgl. Kapitel 4.2).
Damit die Systeme untereinander eine gewisse Kompatibilit¨
at haben, wurden Austauschfor-
mate definiert, die im Nachfolgenden vorgestellt werden.
2.6.5 Austauschformate
Um den Datenaustausch zwischen verschiedenen Systemen zu gew¨
ahrleisten, haben sich
folgende Formate in der Industrie bisher durchgesetzt:
Extensible Markup Language (XML)-XML ist eine Aufzeichnungssprache, die
es erm¨
oglicht, hierarchische Strukturen f¨
ur Mensch und Maschine lesbar darzustel-
len. Da XML plattform- und implementierungsunabh¨
angig ist, wird es gern und oft
im Bereich des Austausches zwischen Programmen verwendet. XML ist erweiterbar
und auf verschiedene Anwendungszwecke anpassbar. Das folgende Beispiel zeigt ein
Kreditkarten-Objekt mitsamt seines Inhabers. Es soll zeigen, wie strukturiert diese Da-
ten abgelegt und f¨
ur Menschen lesbar dargestellt werden k¨
onnen. XML ist vollst¨
andig
serialisierbar, was eine strukturierte ¨
Ubertragung erm¨
oglicht.
Listing 2.1: XML Beispiel anhand eines Kreditkartenobjektes
<?xm l v e r s i o n=” 1 . 0 ” e n c o d i n g=”UTF8” standalone=” y e s ”?>
<Kreditkarte
He ra us ge be r=”Xema
Nummer=”123456789012 3456
D ec ku ng=” 2 e+6”
Waehrung=”EURO”>
<Inhaber
Name=”Mustermann”
Vorname=”Max”
m a en n li c h=” t r u e
18
2.6. Sprachdialog- und Interactive Voice Response-Systeme
A l t e r=” 42 ”
P a r t n e r=” n u l l >
<Hob b ys>
<Hobby>R e i t e n</Hobby>
<Hobby>G o l f e n</Hobby>
<Hobby>Le se n</ Hobby>
</Hobbys>
<Kinder />
</Inhaber>
</Kreditkarte>
Gr¨
oßere Strukturen sind allerdings schnell un¨
ubersichtlich. Des Weiteren sind bereits in
diesem Beispiel viele Redundanzen erkennbar und im Gegensatz zu JavaScript Object
Notation (JSON) werden XML-Dateien im Schnitt deutlich gr¨
oßer (vgl. [W3Cc]).
Voice Extensible Markup Language (VoiceXML)- Ist ein XML-Format, was auf
die Beschreibung von Sprachdialogabl¨
aufen optimiert und entwickelt wurde. Es wird
gern im Bereich von Telefonanwendungen und im World Wide Web (WWW) genutzt.
Listing 2.2: VXML Beispiel Wetter, Sport und Nachrichten
<?xm l v e r s i o n =” 1 . 0 ” ?>
<vxml v e r s i o n=” 2 . 0 >
<menu>
<prompt>
B i t t e w ae hl e n S i e a u s : <e nu m e ra t e />
</ p ro mp t>
<c h o i ce n e xt=” h t t p : // s p o r t s . e xa mp le . com / s t a r t . vxml ”>
Sport
</ c h o i c e>
<c h o i ce n e xt =” h t t p : // w ea t he r . ex am pl e . com/ i n t r o . vx ml ”>
Wet t e r
</ c h o i c e>
<c h o i ce n e xt =” h t t p : // n ew s . e xa m pl e . com /ne ws . v xm l ”>
Nachrichten
</ c h o i c e>
<noinput>B i t t e w ae hl e n S i e e i n Thema a u s : <enum e rat e /></noinput>
</menu>
</vxml>
Hierbei zeigt sich vor allem die M¨
oglichkeit einer genauen und einfachen Beschreibung
eines Ablaufes in einem Sprachdialogsystem.
JSON - Dieses Format wird f¨
ur REST-APIs, unter anderem bei Googles Assistant
oder Amazons Alexa, genutzt. JSON ist ein oft eingesetzter Standard im Bereich der
Webapplikationen. Dabei eignet es sich besonders f¨
ur die ¨
Ubertragung von Daten in
langsamen Netzwerken. JSON ist wie XML vollst¨
andig serialisierbar.
19
2. Grundlagen
Listing 2.3: JSON Beispiel anhand eines Kreditkartenobjektes
{
” H er au s ge be r ” : Xema” ,
”Nummer” : 1234 567890123456” ,
” De c ku ng ” : 2 e + 6 ,
Waehrung ” : ”EURO” ,
” I n h a b e r ” :
{
”Name” : ” Muste rmann ,
Vorname ” : ”Max ,
”maennlich: true ,
” Ho b by s ” : [ ” R e i t e n , ” G o l f e n , L e s e n ” ] ,
” A l t e r ” : 4 2 ,
” K in de r ” : [ ] ,
” P a r t n e r ” : n u l l
}
}
Die gezeigten Austauschformate werden in zwei Anwendungsf¨
allen verwendet:
¨
Ubertragung - Die Daten¨
ubertragung erfolgt zwischen Client (Nutzer) und Auswer-
tungsserver (Systemanbieter). Hierbei ist die Serialisierbarkeit und die Datengr¨
oße
ausschlaggebend.
Funktionale Beschreibung - Die Beschreibung des Dialoges und dessen Abfolge er-
folgt mittels Wenn-Dann-Bedingungen. Hierbei ist es sinnvoll, dass die formulierten
bzw. formulierbaren Bedingungen einfach zu lesen und schreiben sind, damit diese
Abfolgen auch ohne erh¨
ohten Aufwand erstellt werden k¨
onnen.
Zusammengefasst zeigt dieses Kapitel viele Einblicke in die Grundlagen von Spracherken-
nungssystemen und deren Probleme bzw. H¨
urden. Das folgende Kapitel zeigt die aktuelle
Marktsituation und Entwicklungsst¨
ande solcher Systeme.
20
Kapitel 3
Stand der Technik
In diesem Kapitel werden einzelne Komponenten aufgezeigt, die es auf dem Markt bereits
gibt bzw. dort schon ihre Verwendung in bestimmten Bereichen finden. Diese werden kurz
vorgestellt und auf Anwendbarkeit in Care Viva Doku gepr¨
uft.
3.1 Barrierefreie Softwarel¨
osungen (Sehbehinderung)
Barrierefreie Softwarel¨
osungen sind meist bereits im Betriebssystem integriert. So kann bei-
spielsweise Text, ¨
uber dem sich die Maus befindet, vorgelesen werden. Zudem kann der
Kontrast verstellt oder die Schrift vergr¨
oßert werden. Diese meist als Bedienhilfen bezeichne-
ten Techniken stehen in Microsoft-, Linux- und MacOSX-Systemen zur Verf¨
ugung. Dar¨
uber
hinaus gibt es auch hier einige interessante Erweiterungsm¨
oglichkeiten, die mit wenigen
Handgriffen in die eigene Applikation eingebettet werden k¨
onnen. Von Microsoft wurde
diesbez¨
uglich ein Design-Guide herausgegeben (vgl. [Mica]). Wem die im Betriebssystem
standardm¨
aßig integrierten L¨
osungen nicht ausreichen kann durch eine F¨
ulle an kleineren
Tools diese erweitern. Diese Masterarbeit legt den Fokus auf Sprachassistenten, wie sie im
Folgenden geschildert werden.
3.2 Spracherkennungssystem
Spracherkennungssysteme lassen sich in die Gruppen der Sprachassistenten und der Spra-
cherkennung unterteilen. Dabei unterscheiden sich diese Gruppen in der Basis bez¨
uglich ihrer
Verwendung. Sprachassistenten sind komplexe Softwarel¨
osungen, die im normalen Alltag be-
reits oft genutzt werden, wie bspw. zum Einschalten des Lichtes per Sprachbefehl (Smart
Home). Sie simulieren dem Benutzer die Kommunikation mit einem Menschen, sodass der
Nutzer zu keiner Zeit das Gef¨
uhl haben soll sich mit einem Computer zu unterhalten oder
gar mit sich selbst. Meist wird dabei auch zus¨
atzliche Hardware ben¨
otigt bzw. angeboten.
Bei der Erkennung ist das Ziel das Gesprochene in Textform zu erhalten, ¨
ahnlich wie bei
einem Diktat. Es wird meist mit dem Nutzer kein Dialog gef¨
uhrt sondern nur Spracheingabe
ohne Feedback erkannt und erfasst.
21
3. Stand der Technik
In erster Linie sollen diese Systeme das Leben erleichtern und die Nutzer bei allt¨
aglichen
Aufgaben unterst¨
utzen.
3.2.1 Sprachassistenten
Da es bei Sprachassistenzsystemen eine F¨
ulle auf dem Markt gibt, werden nachfolgend die
bekanntesten aufgezeigt und deren Unterschiede analysiert. Im Groben l¨
asst sich jedoch
vorab sagen, dass jeder Anbieter unterschiedliche, teilweise auch Drittanbieter-Ger¨
ate un-
terst¨
utzt. Der Nutzer muss sich also festlegen, welches Ger¨
at verwendet werden soll um
Unterst¨
utzungsproblemen aus dem Weg zugehen. Im nachfolgenden werden die Systeme
kurz vorgestellt und in einer Tabelle mit Pro und Contra zusammengefasst. Dabei wurde
sich an einem durchgef¨
uhrten Vergleich von Netzwerkwelt1orientiert.
Google Assistant
Google Assistant ist ein von Google2entwickeltes Assistenzsystem. Es kann plattformu-
nabh¨
angig genutzt werden und bietet die Integration in eigene Anwendungen und Apps.
Google bietet unter anderem auch eigene Hardware (Google Home, Google Home Mini,
Chromecast uvm.) an. Dar¨
uber hinaus wird Google Assistant auch bei Smart TVs (also
Fernsehern) und Autos verwendet. Es gibt bereits ¨
uber 400.000 unterst¨
utzte Endger¨
ate.
Durch die kontextsensitive Verarbeitung lernt Google Assistant den Nutzer immer besser
kennen und verbessert somit die Verarbeitungsqualit¨
at und dessen Antworten zu vorherigen
Gespr¨
achsinhalten. Er ist bereits die Weiterentwickelung von Google NOW, was zum Zeit-
punkt der Entwicklung nicht kontextsensitiv war.
Google Assistant basiert bei der Entwicklung auf so genannten Actions. [noaa] Die-
se gew¨
ahrleisten die Verkn¨
upfung des Sprachbefehls mit der eigenen Anwendung. So stellt
Google weitere Funktionen f¨
ur Entwickler bereit. Es gibt f¨
ur C Sharp (C#) (.NET Frame-
work (.Net)) ein eigenes Software Development Kit (SDK). Eine Action setzt sich wie folgt
zusammen:
Keyword : Das Schl¨
usselwort wird bei Google registriert und erm¨
oglicht das Starten
einer App oder der Empfehlung zur Installation dieser. Sollte die App installiert sein
wird diese gestartet und das Verstandene per Response ¨
ubermittelt.
Response : Der empfangene Response wird von der App verarbeitet und liefert nun die
angeforderten Informationen. Diese werden nun in der App angezeigt oder k¨
onnen wie-
der an das Betriebssystem weitergegeben werden. Nun k¨
onnen weitere Interaktionen
direkt in der App ¨
uber weitere Spracheingaben verarbeitet werden.
Beispiel :OK Google (Keyword Assistant) Was steht heute in meinem Terminkalender?
(Keyword: Terminkalender) - Terminplaner ¨
offnet sich in der Tagesansicht.
1https://goo.gl/MYMRbU - Stand 28.12.2017
2https://www.google.de
22
3.2. Spracherkennungssystem
Zusammengefasst hat der Google Assistant folgende Pro- und Contra-Punkte:
Tabelle 3.1:Google Assistant Bewertung (vgl. [Wob17b])
Pro Contra
Große Datenbasis Immer aktiv
Versteht viele Fragen Smart Home nur mit GoogleHome m¨
oglich
Einbindung in C#
Amazon Alexa
Alexa ist ein von Amazon3entwickelter Sprachassistent. Er ben¨
otigt zur Verwendung einen
Amazon Account und kann mit Hilfe von sogenannten Skills erweitert werden. Er bietet eine
F¨
ulle an Funktionen und Erweiterungen. Auf Grund der Skills gibt es bereits viele M¨
oglich-
keiten auch SmartHome-Ger¨
ate von Drittanbietern zu verwenden. So kann beispielsweise
ohne Aufwand die Lichtsteuerung eins Raums ¨
uber Alexa erfolgen. Das Paket gibt es schon
zum Einstiegspreis von 60 e, bestehend aus einem Echo Dot und einer E14 LED Lampe4.
Dabei wird aber vor allem darauf Wert gelegt, die Verarbeitung der Sprache und die eigentli-
che Software zu trennen. Denn die aufgezeichneten Audiodaten werden an Amazon ¨
ubermit-
telt, dort verarbeitet und dann ein Befehl zur¨
uck an den Sender geschickt auf dem dann ein
Programmaufruf gestartet wird oder einfach die gew¨
unschten Informationen zur¨
uckgegeben
werden. So kann Alexa die Antwort dem Benutzer ausgeben oder weitere Eingabem¨
oglich-
keiten bekannt zu geben (siehe [Amaa]).
Hier ist das grunds¨
atzliche Vorgehen ¨
ahnlich wie bei Google, jedoch ist der Fokus ganz klar
auf die Trennung von Software und Ger¨
at gelegt.
Beispiel :Alexa (Keyword Assistent) Was steht heute in meinem Terminkalender? (Key-
word: Terminkalender) - Heute haben Sie um 10 Uhr einen Termin beim Arzt.
Alexa kann dabei mit folgenden Pro- und Contra- Punkten dargestellt werden.
Tabelle 3.2:Amazon Alexa Bewertung (vgl. [Wob17a])
Pro Contra
Skills erweiterbar Einrichtung aufwendig
Zuverl¨
assige Spracherkennung Daten von Nutzern in der Cloud
Smart Home Integration Amazon Konto erforderlich
Einbindung in C# angek¨
undigt
3https://www.amazon.de
4Amazon Angebot https://goo.gl/u252bC - Stand 20.06.2018
23
3. Stand der Technik
Apple Siri
Siri wurde von Apple5entwickelt und erstmalig f¨
ur das iPhone 4S vorgestellt. Es ist ein
Sprachassistent f¨
ur Mac- und iOS-Ger¨
ate und kann nur auf diesen verwendet werden. Durch
die gute Integration in das Betriebssystem ist eine komplette sprachbasierte Bedienung dieses
(Freihand) m¨
oglich. Da die Integration dieses Systems leider nur auf Apple-Ger¨
aten m¨
oglich
ist, wird nicht weiter auf die genaue Signalverarbeitung eingegangen und ist hier daher nur
zur Vollst¨
andigkeit aufgef¨
uhrt. [noab]
Beispiel :Siri (Keyword Assistent) Was habe ich heute f¨
ur Termine? (Keyword: Terminka-
lender) - Heute haben Sie um 9 Uhr einen Arzttermin und um 12 Uhr treffen Sie sich zum
Mittagessen.
F¨
ur Siri ergeben sich folgende Pro- und Contra- Punkten siehe Tabelle 3.3.
Tabelle 3.3:Apple Siri Bewertung (vgl. [Wob17a])
Pro Contra
Freihandbedienung Datenschutz
Integration in das Betriebssystem Hellh¨
orig (Teilaktiv)
Spracheingabe ¨
uberall m¨
oglich nicht kontextsensitiv
kein Support f¨
ur Windows / Web
Microsoft Cortana
Cortana ist ein von Microsoft6entwickelter Sprachassistent, welcher bereits im Windows-
Betriebssystem (Windows 10) integriert ist. Die Geschwindigkeit der Verarbeitung von
Spracheingaben ist im Vergleich zu den anderen Anbietern noch ausbauf¨
ahig.
Cortana befindet sich zur Zeit noch in der Entwicklung, so dass es zum jetzigen Zeit-
punkt noch nicht in der Windows- und ASP-Variante des Programmes eingesetzt werden
kann. Microsoft hat eine ¨
altere Version der Spracherkennung bereitgestellt, die durch Cort-
ana ersetzt werden kann (vgl. [noad]).
Da Cortana noch sehr neu ist und sich zur Zeit noch in der Entwicklung befindet, k¨
onnen
keinen genauen Aussagen zur Signalverarbeitung getroffen werden. Zum jetzigen Zeitpunkt
(Stand August 2018) k¨
onnen folgende Pro- und Contra-Punkte (siehe Tabelle 3.4) f¨
ur Cort-
ana anhand des bisherigen Leistungsumfangs und der Idee ermittelt werden:
3.2.2 Erkennung
Da nun die großen Sprachassistenzsysteme genannt wurden, werden nun die Spracherken-
nunngssysteme kurz vorgestellt.
5https://www.apple.com/siri
6https://www.microsoft.com/de-de/windows/cortana
24
3.2. Spracherkennungssystem
Tabelle 3.4:Microsoft Cortana Bewertung (vgl. [Wob17a])
Pro Contra
Plattform unabh¨
angig (Beta) Langsam
Pr¨
azise Ungenaue Websuche
Datenschutz SmartHome noch nicht verf¨
ugbar
Einbindung in C#
Dragon
Dragon ist eine von Dragon Systems (Nuance7) entwickelte Spracherkennungssoftware. Sie
eignet sich besonders gut f¨
ur die Digitalisierung von gesprochenem Text. Dabei wird es
bei der Verwendung immer genauer und die Anpassung an den Sprecher immer besser.
Das Programm kann dar¨
uber hinaus auch markierte Texte vorlesen und per Spracheingabe
korrigieren und neue Abk¨
urzungen, Spitznamen oder W¨
orter hinzuf¨
ugen. Die Bedienung des
Betriebssystems Windows ist auch m¨
oglich, jedoch teilweise noch unausgereift (vgl. [Nuab]
und [Nuaa]). Dabei gibt es bei Nuance verschiedene Versionen, die in Tabelle 3.5 mit Preisen
(Stand 01/2018) dargestellt sind (die genauen Unterschiede der Versionen k¨
onnen unter
https://www.nuance.com/de-de/dragon.html abgerufen werden).
Tabelle 3.5: Preisliste Dragon Systems (Nuance) Software Dragon Stand: 01/2018
Produkt Preis
Dragon Professional Individual, v15 399 e
Dragon Professional Individual, v15 Mac 299 e
Dragon NaturallySpeaking 13 Home 99 e
3.2.3 Verwendung in der Medizin
In der Medizin werden schon seit geraumer Zeit Spracherkennungssysteme eingesetzt, da die
Fachsprache sehr eindeutig formuliert und interpretiert werden kann. Zudem sind Fachaus-
dr¨
ucke international einheitlich. Hier wird jedoch meist nur die Dokumentation direkt per
Spracheingabe verarbeitet (Diktat).
Auch in Krankenh¨
ausern, wie an der Universit¨
atsklinik in M¨
unster, werden per Sprachein-
gaben Aktivit¨
aten des t¨
aglichen Lebens (ATL) und Untersuchungen dokumentiert. Dabei
gliedert sich der Prozess der Eingabe in zwei Schritte: Der Benutzer gibt seine Daten im
Klinischem Arbeitsplatzsystem (KAS) ein. Dort k¨
onnen die Daten noch angepasst und korri-
giert und anschließend online an das Krankenhausinformationssystem (KIS)¨
ubertragen und
dort verarbeitet werden. (vgl. [Dug17] S. 114ff)
7http://www.nuance.de
25
3. Stand der Technik
3.2.4 Verwendung in der Pflegeplanung
Zur Zeit gibt es in der Pflegeplanung noch keine erw¨
ahnenswerten Sprachassistenzsysteme,
nur Spracherkennung in Form von Texteingaben. Ein Anbieter f¨
ur ein solches System ist die
DRK-Service GmbH (vgl. [SG]). Die Anwendung bietet dabei die M¨
oglichkeit der Erfassung
von Pflegeanamnesen, Pflegeplanung und der Durchf¨
uhrungsdokumentation. In erster Linie
soll das Produkt Pflegekr¨
afte in ihrem t¨
aglichen Dokumentationsprozess unterst¨
utzen und
ihnen die Arbeit erleichtern. Im Kern setzt die DRK-Service GmbH darauf, m¨
oglichst wenig
IT-Infrastruktur in den Pflegeheimen einzuf¨
uhren und die Software so schnell und kosteneffi-
zient wie m¨
oglich in Betrieb zu nehmen. Die Anwendung l¨
auft mittels einer App auf mobilen
Systeme (siehe Abbildung 3.1) und ben¨
otigt nur einen Datenbank-Server, der von den Mo-
bilsystemen angesprochen werden kann. Es ist auch m¨
oglich eine Offline-Dokumentation
durchzuf¨
uhren und die erfassten Daten im Nachhinein mit dem Online-System zu synchro-
nisieren.
Abbildung 3.1: DRK - Service GmbH Pflegesoftware (Quelle: [SG])
Die Spracheingabe beschr¨
ankt sich in der App nur darauf, Textfelder und Pflegeberichte
eingeben zu k¨
onnen und in der Wunddokumentation Wunden zu erfassen. Es gibt bisher
keine Sprachausgabe.
3.2.5 Datenschutz und Sicherheit
Besonders in der medizinischen Verarbeitung von Daten spielt Datenschutz eine große Rolle.
Dieser ist im Bezug zu sehr pers¨
onlichen Daten ¨
uber die Patienten bzw. Kunden zu beachten,
vor allem wenn die Verarbeitung durch z.B. Sprachdaten an Dritte (Betreiber der Services
wie Google,Amazon,Microsoft, uvm.) weitergegeben werden. Da im Mai 2018 die Gesetze8
diesbez¨
uglich weiter angepasst wurden, m¨
ussen daher im Einzelfall von dem zust¨
andigen Da-
tenschutzbeauftragten die Anforderungen gepr¨
uft werden. F¨
ur die Entwicklung im Rahmen
dieser Masterarbeit wurde beschlossen, dass die Dienste von Dritten zun¨
achst nicht produk-
tiv genutzt werden d¨
urfen bis eine genaue Pr¨
ufung erfolgt ist. Zudem wird die Windows-
8DSGVO: https://dsgvo-gesetz.de/
26
3.2. Spracherkennungssystem
Spracherkennung in Betracht gezogen. Die Verarbeitung der Daten erfolgt ausschließlich im
eigenem Unternehmen (Kapitel 4.1.1).
Da die erfassten Sprachdaten zentral verarbeitet werden m¨
ussen, ist auch die M¨
oglichkeit
von Angriffen auf solche System zu betrachten. Dabei gibt es eine Vielzahl von m¨
oglichen
Angriffspunkten und Angriffszielen, so dass es wichtig ist drauf zu achten, auf was es poten-
tielle Angreifer absehen k¨
onnten. Zu beachten ist, dass ein hunderprozentiger Schutz nicht
besteht und hier nur L¨
osungsans¨
atze und Ideen aufgef¨
uhrt sind.
Web-Injektion - Diese Art des Angriffs ist meist der erste Angriffspunkt. In der Ap-
plikation dieser Masterarbeit ist im Frontend wenig bis keine Verarbeitung vorgesehen,
was diese Art des Angriffs erschwert. Dar¨
uber hinaus wird die Anwendung auf der Seite
des Webservers regelm¨
aßig auf Sicherheitsl¨
ucken ¨
uberpr¨
uft und mit W3C/Standards
gearbeitet. In der klassischen Anwendung unter Windows ist so ein Angriff nicht
m¨
oglich.
¨
Ubertragung - Da die Sprachdaten sowohl vom Server zum Client als auch umgekehrt
¨
ubertragen werden m¨
ussen, ist es f¨
ur einen m¨
oglichen Angreifer interessant, hier einen
Angriff zu planen. Er k¨
onnte nur auf die Daten aus sein oder auch versuchen diese zu
manipulieren. In dieser Applikation erfolgt die Daten¨
ubertragung mit dem g¨
angigen
Hypertext Transfer Protocol Secure (HTTPS)-Standard und ist somit verschl¨
usselt.
Dem Angreifer wird somit die Einflussnahme auf die ¨
Ubertragung erschwert. In der
Windows-Version von Care Viva erfolgt die Daten¨
ubertragung nur im lokalen Netzwerk
oder per Virtual Private Network (VPN) und ist somit gegen externe Angriffe gesichert.
Lokales Abfangen oder Ver¨
andern der Daten w¨
are m¨
oglich und soll mit Hilfe einer
Erweiterung im Bereich der Verschl¨
usselung zuk¨
unftig unterbunden werden.
Sprach-Injektion - Neue Technologien bieten meist neue Angriffsm¨
oglichkeiten. So
ist es mittlerweile m¨
oglich, in Musik oder Werbung Sprachbefehle zu verstecken um
diese mit Hilfe der Lautsprecher zum Mikrofon des Handys oder Computers zu ¨
ubert-
ragen (vgl. [Nic18]). So k¨
onnen Daten ver¨
andert oder Befehle abgesetzt werden, die
der Nutzer nicht mal erkennt. Diese Befehle sind jedoch sehr speziell und k¨
onnen
nicht universell angewendet werden, so dass der Angreifer genau wissen muss welches
System mit welchen Daten angegriffen werden soll. Somit ist ein solcher Angriff als
unwahrscheinlich einzustufen.
Verarbeitung - Ein weiterer Angriffspunkt ist der Server, der die Daten verarbeitet und
speichert. Dort gibt es unz¨
ahlige M¨
oglichkeiten ¨
uber verschiedene Wege anzugreifen:
Verarbeitungsfehler - Versucht, die Verarbeitungssoftware zu einem Absturz zu
bringen um hierdurch Zugriff auf den Softwarecode zu bekommen oder m¨
ogliche
Code-Injektionen durchzuf¨
uhren.
– Herk¨
ommliche Hacks - Betriebssystem Sicherheitsl¨
ucken, Hardware-, Software-
oder Konfigurationsl¨
ucken.
27
3. Stand der Technik
¨
Uberlastung -¨
Ahnlich wie bei einer DDOS-Attacke, Schaden wird hier durch
das Offline-Schalten des Services erreicht.
Die aufgef¨
uhrten Probleme werden in der Konzeption des Systems soweit m¨
oglich bedacht
und im Einzelfall Bezug darauf genommen.
3.3 Akzeptanz
Damit ein Spracherkennungssystem oder ein Sprachassistent funktioniert, m¨
ussen außerhalb
der technischen Anforderungen weitere Anforderungen, wie die Akzeptanz, erf¨
ullt werden.
Sollte ein Benutzer Unbehagen versp¨
uren mit einem Computer zu sprechen, wird er ein sol-
ches System nicht verwenden. Auch muss die Erkennungsgenauigkeit so gut sein, dass ein
Benutzer direkt einen Vorteil versp¨
urt um ein solches System verwenden zu wollen.
UmsatzinMillionenUS-Dollar
17,717,7 104,7104,7
689,4689,4
2.259,92.259,9
5.314 ,15.314 ,1
8.7288.728
11.86 0,611.86 0,6
Umsatzmit virtuellendigitalenAssistentenfürEndkundenimJahr2015
sowieeinePrognosebis2021(inMillionenUS-Dollar)
WeitereInformationen:
Weltweit
2015 2016* 2017* 2018* 2019* 2020* 2021*
Quelle
Tractica
©Statista2017
0
2.500
5.000
7.500
10.000
12.500
15.000
Abbildung 3.2: Prognose des Umsatzes virtueller Assistenten bis 2021 (Quelle: Statista)
Durch die Einf¨
uhrung der Sprachassistenten wie Siri,Google und Cortana nimmt die Nutzung
solcher Systeme stetig zu und erfreut sich somit immer mehr Beliebtheit. Die Nutzungszahlen
belegen eben diesen Sachverhalt (siehe Abbildung 2.2), was immer mehr zu einer erh¨
ohten
28
3.3. Akzeptanz
Akzeptanz f¨
uhrt. Auch zeigen die Prognosen einen stetigen Anstieg des Umsatzes solcher
Systeme (wie in Abbildung 3.2 dargestellt). Mit der Frage der Akzeptanz haben sich Nuance
und andere Anbieter von Spracherkennungssystemen bereits befasst.(vgl. [Nuac] oder [Lan]
oder [R¨
u07] Seite 106ff)
3.3.1 Zusammenfassung
Zur Zeit gibt es schon einige Assistenzsysteme, jedoch werden diese in der Medizin und
der Pflegeplanung noch nicht oder kaum eingesetzt. Dort werden lediglich Spracheingaben
(Diktate) verwendet. Es herrscht somit kein Dialog zwischen dem Benutzer und dem System.
Sprachassistenten erfreuen sich einer steigenden Akzeptanz und Beliebtheit und werden von
den Nutzern gerne verwendet. Um diese spannende und zugleich auch unterhaltsame und
vor allem n¨
utzliche Technologie den Nutzern von Care Viva Doku zur Verf¨
ugung zu stellen,
ist es unerl¨
asslich ein genaues Konzept anhand von konkreten Anwendungsf¨
allen, wie in 4.3
beschrieben, zu erarbeiten.Hierbei sollen f¨
ur Care Viva weitere Nutzergruppen erschlossen
werden.
Um die Anforderungen an eine sprachgesteuerte Bedienung einer Software umzusetzen,
wurde ein Konzept ausgearbeitet, welches im folgenden Kapitel definiert wird.
29
Kapitel 4
Konzept
Dieses Kapitel definiert das Konzept f¨
ur ein Sprachassistenzsystem, dass in die Software
Care Viva Doku integriert werden soll, um diese f¨
ur spezielle Menschengruppen zug¨
anglich
zu machen.
4.1 Idee
Da Care Viva Doku bereits einige L¨
osungen f¨
ur Anwender mit einer Sehbehinderung vorsieht,
soll das bestehende Konzept durch die Bedienung mittels Sprache erweitert werden. So
soll erm¨
oglicht werden, dass die Software auch f¨
ur blinde oder sehbehinderte Menschen
zug¨
anglich ist. Hierzu wird im Folgenden erst auf bestehende Sprachassistenten und deren
Integrationsm¨
oglichkeiten eingegangen, so wie die m¨
oglichen Nutzungsszenarien (Use Cases)
beleuchtet und dargestellt.
4.1.1 Integration von Sprachassistenten
Die verschiedenen Sprachassistenten und deren Unterschiede wurden bereits im Kapitel 3.2.1
erl¨
autert. Nun sollen die Integrations- und Funktionsm¨
oglichkeiten dieser Sprachassistenten
aufgezeigt werden.
Web (Active Server Pages)
Die Sprachausgabe erfolgt grunds¨
atzlich mittels Audiodateien oder Streams und wird in
einem HTML5-Audio-Tag abgespielt. Dieses befindet sich im Assistenten-Men¨
u und hat das
Autoplay-Attribut. Dabei werden die R¨
uckgaben automatisch in mehrere Formate gewandelt,
so dass der Assistent mit allen Browsern verwendet werden kann. Dabei werden die Formate
Waveform Audio File Format (wav), MPEG Audio Layer III (mp3) und ogg (ogg) unterst¨
utzt.
Die Sprachaufnahme oder Sprach¨
ubergabe an den Server erfolgt mit der ”getUserMedia”-
Funktion von HTML5 (siehe Abbildung 4.1). Die Aufnahme erfolgt entweder durch einen
Klick auf die Schalt߬
ache, die ein Mikrofon darstellt, oder durch die Aktivierung der au-
tomatischen ”VoiceIn”-Funktion. Letztere Vorgehensweise startet die Aufnahme beim Er-
kennen eines Sprachsignals und stoppt die Aufnahme nach Beendigung des Sprachsignals.
31
4. Konzept
Die entstandenen Audio-Samples werden im Anschluss an den Server gesendet und dort auf
Schl¨
usselw¨
orter oder Befehle analysiert. Die analysierten Daten werden dann an den Client
zur¨
uck gesendet und dort im Assistenten-Bereich ausgegeben oder die gew¨
unschte Funk-
tion direkt ausgef¨
uhrt. Sollte nichts erkannt worden sein, erfolgt eine Sprachausgabe und
Anzeige, die dem Nutzer dar¨
uber informiert.
Um ein Sprachsignal m¨
oglichst genau zu detektieren, wurde ein spezieller Filter in Ja-
vascript von [Les] angewendet. Eine Aufbereitung des Sprachsignals wird in der aktuellen
Version nicht vorgenommen, da die Sprachassistenten hierf¨
ur ihre eigenen Funktionen nut-
zen.
Abbildung 4.1: Verarbeitung der Audiodaten durch den Care Viva Assistenten im Web
Verarbeitung durch die Windows-Anwendung
In der Windows-Anwendung ist die Verarbeitung der Dateien einfacher aufgebaut (siehe Ab-
bildung 4.2). Die Verarbeitung erfolgt direkt in der Anwendung. So kann hier der Stream
des Mikrofones verwendet werden, weswegen in der Grundversion keine Audio-Samples ge-
neriert werden m¨
ussen. Das Abspielen der Audioausgabe erfolgt ebenfalls direkt als Stream
an die Lautsprecher. Auch hier werden keine weiteren Filter oder Aufbereitungsmethoden
angewendet.
Verarbeitung durch den Google Assistent
Da Google viele SDKs zur Verf¨
ugung stellt und eine sehr gute Dokumentation hat, ist die
Integration in das CV-System trivial. Der Grundaufbau des Systems ist in Abbildung 4.3 auf-
gezeigt. Dabei ist das Ger¨
at mit dem Google Assistant-SDK der Webserver oder Computer
mit Care Viva Doku. Dieser sendet seine Anfrage (die Sprachdaten) an den Google Cloud
Service, der diese analysiert und vorverarbeitet. Nach erfolgreicher Erkennung wird ein Call-
back erstellt, der die auszuf¨
uhrende Funktion und ¨
Ubergabeparameter enth¨
alt. Diese werden
dann durch Care Viva verarbeitet und dem Nutzer auf dem Bildschirm dargestellt bzw. per
Sprachausgabe vorgelesen. Um den Google Cloud Service nutzen zu k¨
onnen, ben¨
otigt Care
Viva eine valide Ger¨
atekennung von Google. Diese muss beantragt werden und wird ei-
nem Google-Entwicklerkonto zugeordnet. Hierf¨
ur musste auch die Google-Authentifikation-
API in Care Viva implementiert werden. Das k¨
onnte aber im Rahmen der Zwei-Faktoren-
Authentifizierung auch noch in anderen Bereichen des Programmes verwendet werden.
32
4.1. Idee
Abbildung 4.2: Verarbeitung der Audiodaten durch den Care Viva Assistenten in Windows
Verarbeitung durch Amazons Alexa
Das Konzept der Alexa-Integration ist sehr ¨
ahnlich wie bei Google. Bisher ist jedoch eine
direkt Integration in C# von Amazon noch nicht bereitgestellt. Somit muss f¨
ur den Test
eine andere Klassenbibliothek gefunden werden. Hierf¨
ur wurde eine beispielhafte Anwendung
von Amazon in GitHub1verwendet bzw. ein C#-Connector entwickelt. Dabei teilt sich das
SDK bei Amazon in die Bereiche Alexa Skill Kit (ASK) und Alexa Voice Service (AVS).
Das Alexa-ASK erm¨
oglicht auf ein erkanntes Kommando, sowohl online in der Amazon
Cloud Funktionen auszuf¨
uhren, als auch Endger¨
aten Nachrichten, Funktionsaufrufe oder
Events zu senden.
Der Alexa-AVS wiederum stellt Funktionen zur Sprachverarbeitung wie Sprecherkennung,
Sprachsynthese uvm. zur Verf¨
ugung.
Der Verarbeitungsablauf bei Amazon ist wie folgt aufgebaut (siehe Abbildung 4.4). Im
ersten Schritt wird ein Sprachsignal im Sprachsignal-Prozessor erzeugt. Dies kann wie bei
allen Assistenten von einem Mikrofon stammen oder von einer Audio-Datei. Dieses Signal
wird in ein Data-Stream gewandelt und dem Audio-Input-Processor zugef¨
uhrt. Hierbei findet
eine erste Analyse statt. Es werden Schl¨
usselw¨
orter versucht zu ermitteln und damit dann die
Alexa Communcation Libary versorgt. Sollte ein Schl¨
usselwort erkannt worden sein, so wird
mittels des Amazon Web Services (AWS)-Protokolls eine Funktion in der Amazon Cloud
ausgef¨
uhrt. In jedem Fall wird die Alexa Directive Sequenzer Libary verwendet um evtl.
f¨
ur sp¨
atere Anfragen eine h¨
ohere Genauigkeit zu erreichen und eine R¨
uckmeldung an den
Benutzer zu senden.
1https://github.com/alexa/skill-sample-csharp-fact
33
4. Konzept
Abbildung 4.3: Funktionsweise Google Assistant anhand des Beispiels einer LED-
Ansteuerung. (vgl. [noaa])
34
4.1. Idee
Abbildung 4.4: Funktionsweise von Alexa (vgl. [Amab])
Verarbeitung durch Apples Siri
Da Apple f¨
ur Siri keine M¨
oglichkeiten zul¨
asst es außerhalb der Apple-Produktfamilie zu ver-
wenden kann eine Integration nicht erfolgen und scheidet somit aus der weiteren Betrachtung
und Planung aus.
Verarbeitung durch Microsofts Cortana
Cortana, der Sprachassistent von Microsoft, befindet sich zur Zeit noch in der Entwicklung
und die Verwendung des SDKs ist bisher nur in einer Windows Mobile App m¨
oglich. Daher
gestaltet sich die Integration in eine Windows-Anwendung oder in einer Webanwendung zur
Zeit noch schwierig. Hierf¨
ur gibt es bereits einige Alternativen, die aber nicht von Microsoft
selbst stammen. In der ersten Version wurde deshalb nur die Microsoft Spracherkennung
(Microsoft Speech) implementiert bis eine neue M¨
oglichkeit der Integration von Microsoft
geschaffen wurde. Ein m¨
ogliches Implementierungsszenario mittels Virtuelle Maschine (VM)
wurde getestet jedoch auf Grund der mangelnden Performance in der Verarbeitung und einer
sehr hohen Fehleranf¨
alligkeit der Verf¨
ugbarkeit wieder verworfen. Das Verarbeitungsmodell
von Cortana, welches auch verwendet wird, basiert trotzdem auf der Windows Speech-
Plattform (siehe Abbildung 4.5). Die wichtigsten Unterschiede sind jedoch das VCD-File und
die Auslagerung der Speechplattform und des Recognition-Services in die Cloud (Azure) von
Microsoft, was die Performance und Erkennungsrate stark verbessern sollte.
35
4. Konzept
Abbildung 4.5: Funktionsweise von Cortana (vgl. [Micb])
4.1.2 Care Viva Assist Interface
In Care Viva sollen mehrere dieser Assistenten benutzbar sein, um Benutzern die M¨
oglichkeit
zu geben den f¨
ur sich besten Dienst auszuw¨
ahlen und diese untereinander zu vergleichen.
Daher wurde ein Factory Pattern verwendet und damit der Care Viva Assist erstellt, dieser
steht im Mittelpunkt der Anwendung wie in Abbildung 4.6 zu sehen und besteht aus den
Bereichen:
Inhalte : Bestehend aus einzelnen S¨
atzen die ausgegeben werden sollen.
Funktionen : Bestehend aus eine Liste von Kommandos und Callback-Funktionen,
welche bei Bedarf auch mit einer Bemerkung versehen werden k¨
onnen. CareViva Assist
gibt die Bemerkungen aus bzw. stellt sie vor.
Type : Assistententyp (Windows,Cortana,Google,Alexa)
TranslateType :¨
Ubersetzungstyp (Microsoft,Google)
36
4.1. Idee
Abbildung 4.6: Klassenkonzept des Care Viva Assistenten
Grundkonzept
Der Sprachassistent wird mit den Worten Go Care Viva oder einem Klick auf den Spracheingabe-
Button gestartet. Der Spracheingabe-Button ist in jedem Fenster gut sichtbar und wird in
der Umsetzung (Abschnitt 5.3) in Form von Mockups dargestellt. Dem Benutzer werden die
m¨
oglichen Befehle bzw. Eingaben angezeigt. Dar¨
uber hinaus kann der Benutzer in jedem
Dialog folgende Befehle nutzen:
Was kann ich tun? oder Hilfe: Gibt eine Liste mit m¨
oglichen Bedienungsbeispielen
zur¨
uck.
Stop oder Stop Care Viva: Bricht das Zuh¨
oren oder die Eingabe ab.
Weitere Kommandos k¨
onnen im Interface hinzugef¨
ugt werden.
Diese Befehle werden mit Global gekennzeichnet und m¨
ussen bei der Integration des
Assistenten nicht programmiert werden, da sie in der Basis vorbelegt sind.
37
4. Konzept
Audio Feedback
Um unabh¨
angig vom Sprachassistenten den Nutzer weiter zu unterst¨
utzen, wurde im System
ein zus¨
atzliches auditives Feedback integriert, dies soll die folgenden Funktionen umfassen:
Meldungen - Bei Fehlermeldungen wird im normalen Modus ein Warnton abgespielt.
Im Modus der Sprachunterst¨
utzung wird die Meldung dem Nutzer vorgelesen. Bei
Meldungen, bspw. nach der erfolgreichen ¨
Ubertragung oder Speicherung der Daten,
wird ein anderer Ton zur Signalisierung des Erfolgs abgespielt. Dieser Ton orientiert
sich an das Absenden einer Mail in einem Email-Programm.
Wichtige Informationen - Beim Auftreten von Warnhinweisen oder wichtigen In-
formationen wird ein Ton ¨
ahnlich wie bei einem Alarm ausgel¨
ost, um den Nutzer zu
warnen. Bei einer Komplettlunterst¨
utzung (siehe Abschnitt 4.2.2) wird auch hier die
Warnung direkt vorgelesen.
Die T¨
one sind durch den Nutzer auch im Assistent einstellbar und k¨
onnen so beliebig ange-
passt werden.
Das auditive Feedback soll dem Nutzer auch ohne Hinsehen wichtige Informationen
bieten und kann bei Bedarf an weitere Anwendungsf¨
alle angepasst werden.
4.2 Dialogdesgin
In Care Viva Doku hat jeder Dialog seinen eigenen Workflow, weswegen es sich schwie-
rig gestaltet ein einheitliches Dialogkonzept anzulegen. Daher wird ein Mischkonzept zwi-
schen gef¨
uhrten und freien Dialogen eingef¨
uhrt. Dabei wird in eine Teil- und Komplettun-
terst¨
utzung unterschieden.
4.2.1 Teilunterst¨
utzung
Bei der Teilunterst¨
utzung obliegt es dem aktuellen Benutzer, welche Ausgaben er gern
standardm¨
aßig haben m¨
ochte. Er kann zwischen Beschreibungen, Zusammenfassungen und
Nachrichten w¨
ahlen. Fehler k¨
onnen auch bei Bedarf sprachbasiert ausgegeben werden.
4.2.2 Komplettunterst¨
utzung
Die Komplettunterst¨
utzung ist vor allem f¨
ur Menschen mit st¨
arkeren Einschr¨
ankungen ge-
dacht. Hierbei wird in jedem Formular zuerst eine kurze Beschreibung und alle Warnungen
und wichtige Informationen ausgegeben. Felder werden beim ¨
Uberfahren mit der Maus oder
durch antippen auf einem mobilen Ger¨
at vorgelesen. Dabei arbeitet das System ¨
ahnlich wie
ein Screen-Reader.
4.2.3 Gef¨
uhrte Dialogf¨
uhrung
¨
Ahnlich wie bei einem Navigationssystem wird anfangs die Aufgabe gew¨
ahlt. Der Assistent
best¨
atigt die gew¨
ahlte Aufgabe und fragt nun Schritt f¨
ur Schritt die einzelnen Werte ab.
38
4.2. Dialogdesgin
Sollte der Assistent bei einer Eingabe nicht sicher sein, gibt er eine m¨
ogliche Liste mit
verstandenen Eingaben aus. Hier kann nun der Nutzer mit Angabe der Zeilennummer oder
durch erneutes Einsprechen die gew¨
unschte Option ausw¨
ahlen.
So werden nach und nach alle Informationen im System erfasst. Dazu kann eine Eingabe
eines nicht Pflichtfeldes mit dem Befehl Weiter¨
ubersprungen werden. Es soll dem Benut-
zer auch erm¨
oglicht werden den Modus auf Pflichtfelder zu begrenzen, sodass die Erfassung
der Daten noch einfacher und effizienter erfolgen kann.
Beispiel Erfassen eines neuen Kunden“:
Assistent: Wie ist der Nachname des Kunden?
Benutzer: M¨
uller
Assistent: Wie ist sein Vorname?
Benutzer: Steve
Assistent: Wann ist er geboren?
Benutzer: Am 15ten ersten 1966
Assistent: Gibt es wichtige Informationen ¨
uber den Kunden?“
Benutzer: Weiter
Assistent: Zusammenfassung: Neuer Kunde M¨
uller Steve geboren am 15ten ersten
1966, ist das korrekt?
Benutzer: Ja
Assistent: Kunde wurde gespeichert
Zusammenfassen kann man die Vor- und Nachteile einer gef¨
uhrten Dialogf¨
uhrung wie folgt:
Tabelle 4.1: Vor- und Nachteile einer gef¨
uhrten Dialogf¨
uhrung
Pro Contra
Anforderungen sind klar erkennbar Nutzer mit Erfahrung
Vermeidung von Fehleingaben keine Zeitersparnis
4.2.4 Freie Dialogf¨
uhrung
Bei der freien Dialogf¨
uhrung ¨
ubernimmt der Nutzer die Reihenfolge und die Wichtigkeit der
Informationen. Pflichtfelder m¨
ussen zum Speichern jedoch weiterhin ausgef¨
ullt sein. Die freie
Dialogf¨
uhrung kann in zwei Formen erfolgen:
Durch Nennung der Daten in einer bestimmten Reihenfolge werden die Daten ent-
sprechend erfasst. Dies kann vom Benutzer in einem Dialogassistenten administriert
39
4. Konzept
werden. Der Dialogassistent wird jedoch nicht in der Basis-Implementierung vorhanden
sein und sei hier nur der Vollst¨
andigkeit halber erw¨
ahnt.
Durch Nennung des Feldes und somit der Erg¨
anzung des Inhaltes
Im Vergleich zur gef¨
uhrten Dialogf¨
uhrung k¨
onnen die Vor und Nachteile wie folgt zusam-
mengefasst werden:
Tabelle 4.2: Vor- und Nachteile einer freien Dialogf¨
uhrung
Pro Contra
Zeitersparnis Nutzer mit Erfahrung
Fehleranf¨
alligkeit Fehleingaben
Vorteile: Die Vorteile einer freien Dialogf¨
uhrung sind in erster Linie eine hohe Zeitersparnis.
Nachteile: Diese Dialogf¨
uhrung kann nur von Nutzern verwendet werden, die das System
bereits sehr gut kennen. Wichtig ist hierbei die Reihenfolge der Nennung der Daten, damit
diese an die richtigen Stellen gespeichert werden k¨
onnen.
4.3 Use Cases
Im Nachfolgenden werden einzelne Anwendungsf¨
alle (Use Cases) erl¨
autert, welche mittels
des Care Viva Assist erleichtert werden sollen. Hierf¨
ur werden zun¨
achst die bestehenden
Konzepte erw¨
ahnt und anschließend die Abstraktion der neuen Konzepte vorgestellt. Daraus
resultierende Anforderungen an den Sprachassistent werden in der Evaluierung (Kapitel 6)
weiterverfolgt.
4.3.1 Pflegekraft und Arzt
In dieser Sektion werden nun die Anwendungsf¨
alle in der Pflegeplanung Care Viva aus Sicht
einer Pflegekraft beschrieben. Als Pflegekraft sind die Personen zu verstehen, die aktiv mit
dem Kunden in einer Pflegebeziehung stehen. Diese sind meist direkt im Pflegeheim ange-
stellt und nicht als externe Personen zu betrachten. ¨
Arzte sind meist externe Personen, die in
bestimmter Taktung im Pflegeheim vorbeischauen oder zu denen der Kunde gebracht werden
muss. Im Nachfolgenden werden die Sprachfunktionen anhand von Beispielen erl¨
autert. Da-
bei teilen sich die Funktionen in Globale also ¨
uberall im Programm vorhandene Funktionen
und Lokale also fomluarabh¨
angige Funktionen.
¨
Ubergreifende und Globale Funktionen
Als globale Funktionen werden Funktionen bezeichnet, die im gesamten Programm und
ohne Kontextbezug auf den ge¨
offneten Dialog verwendet werden k¨
onnen. Sie wurden vom
Entwickler festgelegt und k¨
onnen nicht durch den User angepasst werden. Zu den Globalen
Funktionen geh¨
oren:
40
4.3. Use Cases
Textausgabe : Vorlesefunktion der einzelnen Felder, Nachrichten und Statuswechsel
im System.
Texteingabe : Diktatfunktion bei Eingabefeldern oder Bemerkungsfeldern.
¨
Ubersetzung :¨
Ubersetzung von Benutzerein- und ausgaben bspw. in englischer Spra-
che.
Werte : Kundenwerte oder Vitalwerte wie Blutdruck.
Bedienung
Die Lokale Bedienung eines Formular richtet sich nach dem Inhalt, dabei werden die meisten
Funktionen automatisch generiert. Sie dienen der Bedienung des Fensters und passen sich
dem Status an. Beispiel: Das Fenster ist im Bearbeiten-Modus und alle Felder sind somit
freigegeben. Durch Nennung des Feldes und dem Schl¨
usselwort Erfassen“ kann der Inhalt
in das Feld eingesprochen werden. Lokale Funktionen k¨
onnen auch sehr stark angepasst
vorkommen und beispielsweise wie folgt aussehen:
Erfassen - Diktiert Inhalt f¨
ur das Feld bzw. des Dialoges.
Klick oder Best¨
atigen - L¨
ost das Ereignis des Feldes oder Buttons aus.
Leeren - L¨
oscht das Feld.
Ausgeben - Gibt den Inhalt des Feldes wieder.
Diese Schl¨
usselw¨
orter k¨
onnen in der Konfiguration des Care Viva-Assistenten bearbeitet und
f¨
ur den Benutzer angepasst werden. Diese Bedienm¨
oglichkeiten sind stark Schl¨
usselwort ba-
siert und ¨
ahnlich wie fr¨
uhere Bedienungen bspw. von Navigationssystemen.
Resultierende Anforderungen an ein solches System:
Dialekt und Sprachprobleme
Umgebungsger¨
ausche
Fachsprache
Mobilit¨
at
Datenschutz
Unterbrechungen durch den Benutzer
Stummschaltung
41
4. Konzept
Abbildung 4.7: Use Cases der Stammdaten
42
4.3. Use Cases
Stammdaten
In den Stammdaten werden alle Kunden bzw. Patienten bezogene Daten verwaltet. Dieser
Bereich ist meist der erste Einstiegspunkt f¨
ur die Pflegekr¨
afte. Dabei stehen ihnen folgende
M¨
oglichkeiten zur Verf¨
ugung (siehe zus¨
atzlich Abbildung 4.7):
Erfassen : Erfassen eines neuen Kunden. Dabei werden die einzelnen Felder abge-
fragt und mit OK best¨
atigt. Mit Korrigieren wird der Schritt nochmal ausgef¨
uhrt.
Weiter f¨
uhrt zum n¨
achsten bzw. vorherigen Steuerelement. Wenn alle Felder gef¨
ullt
wurden, gibt es eine R¨
uckmeldung, in der die ¨
Ubernahme der Daten best¨
atigt und
diese anschließend zusammengefasst wird.
Medikation : Gibt die aktuelle Medikation des Kunden bzw. Patienten aus.
Zusammenfassung : Gibt eine Zusammenfassung ¨
uber den aktuell ausgew¨
ahlten Kun-
den bzw. Patienten aus. Dabei werden alle wichtigen Informationen, wie Allergien,
Medikation und Unvertr¨
aglichkeiten, aufgez¨
ahlt. Zus¨
atzlich werden die letzten Noti-
zen und wichtigsten Stammdaten (Alter, Name und Angeh¨
orige) aufgef¨
uhrt.
Wunddokumentation
Wie im Abschnitt 3.2.3 bereits beschrieben, sollen Wunden durch Spracheingabe direkt
erfasst werden k¨
onnen. Der Benutzer soll die M¨
oglichkeit haben, die bereits bestehenden
Wunden genannt zu bekommen. Beispiel : Der Bewohner Max Mustermann hat eine offene
Brandwunde an der Hand. Diese wurde von Dr. M¨
uller erfasst und wie folgt beschrieben:
Wunde wurde beim Kaffeekochen zugef¨
ugt.
Tages¨
ubersicht
Die Tages¨
ubersicht dient in erster Linie dem ¨
Uberblick ¨
uber den Pflegebereich oder die Stati-
on, es werden Informationen wie wichtige Termine (Geburtstage, Arztbesuche, ...) Bewohner
/ Patienten ¨
ubergreifend dargestellt. Weiterhin k¨
onnen Informationen ¨
uber die Kollegen ein-
gesehen werden. Dabei sollen zu n¨
achst Zwei Funktionen umgesetzt werden:
Tagesbericht : Informationen welcher Bewohner heute Geburtstag hat oder welche
Termine anstehen und Weitere
Dienstplanung : Information dar¨
uber Welche Kollegen heute im Haus sind und Wei-
tere
Tourenplan
Im Tourenplan werden Touren zu den Patienten geplant und einer Pflegekraft zugeordnet.
Dieser wird mittels Care Viva Mobile zu den einzelnen Patienten navigiert, wo er erfasste
Pflegeprozesse durchf¨
uhrt und dokumentiert. Hierbei w¨
aren folgende Informationen f¨
ur den
Tourensachbearbeiter wichtig:
43
4. Konzept
N¨
achste Station : Gibt der Pflegekraft die n¨
achste Station und eine Zusammenfas-
sung der T¨
atigkeiten und wichtigen Informationen des Kunden aus.
Live Feedback : Routen¨
anderungen oder sonstige wichtige Live-Informationen.
Zusammenfassung : Gibt eine Tageszusammenfassung, ¨
ahnlich wie ein Dienstge-
spr¨
ach oder Tagesbesprechung, zur¨
uck. Es k¨
onnen zu den einzelnen Haltestellen der
Touren weitere Anfragen gestellt werden.
Beispiel: Die n¨
achste Station ist bei Frau Musterfrau. Diese hat Probleme beim Aufste-
hen und ben¨
otigt hierf¨
ur Hilfe. Sie soll gewaschen und angekleidet werden. Vitalwerte wie
Blutdruck, Puls und Gewicht m¨
ussen erneut erfasst werden.
4.3.2 Bewohner
Als eine weitere Anwendergruppe sind die Bewohner der Pflegeeinrichtung oder ambulant
gepflegten Patienten vorgesehen. Folgende Nutzungsszenarien ergeben sich durch diese An-
wendergruppe (zus¨
atzlich dargestellt in Abbildung 4.8):
Abbildung 4.8: Bewohner Use Cases
Suchanfragen : Suchen im Internet
Wetter : Wetterbericht
44
4.3. Use Cases
News : Aktuelle Nachrichten
Erinnerungen : Sowohl externe Erinnerungen als auch interne im System werden
ausgegeben. So kann ein Bewohner ¨
uber seine App oder seinen smarten Lautsprecher
an die Einnahme seiner Tabletten oder auch ¨
uber vereinbarte Termine erinnert werden.
Radio : Durch externe smarte Lautsprecher gibt es die M¨
oglichkeit Web-Radio zu
h¨
oren.
F¨
ur diese Art der Nutzung k¨
onnten in erster Linie smarte Lautsprecher, so wie das Ter-
minalkonzept von Care Viva Anwendung finden. Als Terminalkonzept wird ein station¨
arer
PC mit Zugang f¨
ur alle Bewohner und dessen Angeh¨
origen verstanden. Die Nutzung dieser
Funktionen ist f¨
ur jeden freiwillig und unterliegt gesonderten Datenschutzanforderungen,
weswegen erst nach Zustimmung des Bewohners bzw. des gesetzlichen Vertreters die Funk-
tionen aktiviert werden.
4.3.3 Weitere Anwendungsm¨
oglichkeiten
Es gibt noch unz¨
ahlige weitere Anwendungsm¨
oglichkeiten in Care Viva, die nicht genannt
wurden. Das h¨
angt damit zusammen, dass die Anwendung immer weiterentwickelt wird und
dies bisher die ersten vom Kunden gew¨
unschten Anwendungsszenarien sind.
Ein weiterer interessanter Anwendungsfall w¨
are bspw. auch eine sprachbasierte Benutzeran-
meldung. Hierdurch w¨
urde auch eine Freihand-Anmeldung am System erm¨
oglicht werden.
Da f¨
ur diese Idee jedoch einige Sicherheitsbedenken ge¨
außert wurden, wird diese in dieser
Arbeit nicht weiter verfolgt.
4.3.4 Anforderungen
Die Anforderungen an das Spracherkennungssystem wurde mit Hilfe der ersten Ideen und
der Use Cases gesammelt und durch die Anforderungen aus der Einleitung erg¨
anzt. Diese
werden in der Implementierung (siehe Kapitel 5) und der Evaluierung (siehe Kapitel 6)
genauer betrachtet.
45
Kapitel 5
Implementierung
In diesem Kapitel wird die schrittweise Umsetzung des Konzeptes aus dem vorhergehenden
Kapitel 4dargestellt. Hierf¨
ur wird zuerst das Entwickler- und Anwendersystem definiert und
ein Einblick in die Konzepte der Zusammenarbeit im Care Viva System gew¨
ahrt.
5.1 Systemanforderungen
Um die Zusammenarbeit und den sp¨
ateren Verkauf der entwickelten Anwendung zu gew¨
ahr-
leisten, werden nun die Anforderungen an das Computersystem oder Mobilger¨
at definiert.
Dabei wird unterschieden in Entwickler- und Anwendersystem, da diese unterschiedliche
Aufgaben erf¨
ullen m¨
ussen. Anforderungen an ein Server System f¨
ur die Care Viva Webum-
gebung werden hier nicht dargestellt, da diese bereits im Care Viva System definiert und
somit vorhanden sind.
5.1.1 Entwicklersystem Voraussetzungen
Das Entwicklersystem ben¨
otigt die folgenden Anforderungen an Hard- und Software.
Netframework 4.5 oder h¨
oher
Nuget Version 2.12.0.817 oder h¨
oher
Microsoft Speech Platform Version 11 + SDK 1oder h¨
oher
Visual Studio 2013
Windows ab XP
Soundkarte mit Ein- und Ausgabeger¨
at
1https://msdn.microsoft.com/en-us/library/hh362873(v=office.14).aspx
47
5. Implementierung
5.1.2 Anwendersystem Voraussetzungen
Das Anwendersystem ben¨
otigt;
Netframework 4.5 oder h¨
oher
Microsoft Speech Plattform Version 112oder h¨
oher
kompatibler Webbrowser oder Windows ab XP oder Smartphone / Tablet mit kom-
patiblen Browser
Soundkarte mit Ein- und Ausgabeger¨
at
5.1.3 Mobilger¨
at Voraussetzungen
Die Voraussetzungen f¨
ur Mobilger¨
ate werden wie folgt festgehalten:
Chrome,Firefox oder Safari Mobile (Edge Support nicht in vollem Umfang)
integrierter Lautsprecher und Mikrofon
mindestens 1 GB RAM und 256 MB freien Systemspeicher
Dar¨
uber hinaus muss auf den Mobilger¨
aten die Browser Datenautomatik deaktiviert wer-
den, damit Audio-Dateien direkt von der Webseite abgespielt werden und nicht jedes mal
vom Benutzer best¨
atigt werden m¨
ussen. Unter Umst¨
anden kann es sein, dass auch Popups
geblockt werden, diese m¨
ussen einmalig erlaubt werden, was in der neuen Version bereits
bedacht wurde und mit Hilfe neuer Technologien nicht mehr vorkommen sollte.
5.1.4 GIT und TFS
Um die Zusammenarbeit und Versionierung der Entwicklung sicherzustellen, wurden die
Versionskontrollprogramme GIT 3und Team Foundation Server (TFS)4eingesetzt. Dies
erm¨
oglicht eine Zusammenarbeit ¨
uber Systemgrenzen und eine Synchronisation der ein-
zelnen Entwicklungsst¨
ande. Es auch k¨
onnen mehrere Version des Programmes archiviert
werden. Beide Systeme bieten viele M¨
oglichkeiten der automatisierten Ver¨
offentlichung und
Auslieferung von Software. Sollten in einer ausgelieferten Version Probleme auftreten, ist es
somit auch m¨
oglich, auf eine vorhergehende Version zur¨
uck zu gehen (Revert). Im Laufe der
Entwicklung wurde das TFS durch GIT abgel¨
ost da es Kompatibilit¨
atsprobleme mit anderen
Betriebssystemen außer Windows gab und Microsoft einen Support erst ab einer neueren
Version garantieren kann.
2https://msdn.microsoft.com/en-us/library/hh362873(v=office.14).aspx
3https://git-scm.com/
4https://visualstudio.microsoft.com/tfs/
48
5.1. Systemanforderungen
5.1.5 NuGet
Um die verwendeten Pakete zu verwalten, wurde das Paketsystem NuGet von Microsoft
verwendet. Dies erm¨
oglicht eine einfache Verwaltung von externen Paketen und Program-
merweiterungen. Vorteile eines solchen Systems ist das m¨
ogliche Updaten von Abh¨
angigkei-
ten und die Verwendung dieser auf neuen Rechnern, da beim Erstellen des Projektes alle
Erweiterungen automatisch heruntergeladen und installiert werden. Sollte NuGet mit dem
Administrator bereits verwendet worden sein, m¨
ussen die administrativen Rechte immer vor-
handen sein, sonst k¨
onnen Pakete nicht aktualisiert oder wiederhergestellt werden. Sollten
Verweise im Projekt und auch nach einer Neuinstallation durch NuGet nicht wieder erkannt
worden sein, muss der Package-Ordner gepr¨
uft und ggf. durch ein Clean-Befehl aufger¨
aumt
werden.
Installation
Die Installation der einzelnen Pakete erfolgt automatisch beim neu erstellen des Projektes
in Visual Studio. F¨
ur die Kundenauslieferung wird NuGet im folgenden nicht mehr ben¨
otigt,
da dieser alle n¨
otigen Klassenbibliotheken in der Exe und dem dazu geh¨
origen Verzeichnis
bekommt. Sollte beim Erstellen jedoch im Namespace Microsoft Speech nicht vorhanden
sein, muss das Microsoft Speech SDK nachinstalliert werden. Damit es hierbei nicht zu
Fehlern kommt, wird dem Benutzer eine Meldung mit Installationshinweisen ausgegeben.
Im nachfolgenden Beispiel (Listing 5.1) ist eine Installation des Paketes GRPC abge-
bildet. Dabei wird das Paket nicht nur im System installiert sondern auch dem Projekt als
Abh¨
angigkeit hinzugef¨
ugt.
Listing 5.1: Installation im Paketmanager von NuGet anhand des Beispiels von GRPC
PM: I n s t a l l Package GRPC
Restore
Sollte die automatische Installation beim Erstellen in Visual Studio nicht funktionieren, kann
wahlweise auch ein Restore durch NuGet mit folgendem Befehl erfolgen:
Listing 5.2: Restore im Paketmanager von NuGet
PM: UpdatePackage r e i n s t a l l
Der Paket Cache wird so von NuGet komplett neu erstellt und die vorhandenen Versionen
¨
uberschrieben und somit eine komplette Neuinstallation ausgef¨
uhrt. Im Projekt befindet sich
bereits eine Basisversion der einzelnen Pakete, so dass diese nicht komplett heruntergeladen
werden m¨
ussen. Die im Projekt wichtigsten verwendeten Pakete sind im Nachfolgenden
aufgezeigt und kurz mit ihrer verwendeten Kernfunktionalit¨
at beschrieben.
Verwendete Pakete
Google API (Common Protos, Extensions, Client, Core, Translate, Datastore) - Goo-
gle Basis API inkl. Authentifizierung, Datenspeicher und weiteren Erweiterungen.
49
5. Implementierung
Google Cloud (Translation) - Schnittstelle des Google ¨
Ubersetzers.
Json.NET -¨
Ubertragungsvereinheitlichung durch JSON Objekte und Serialisierung.
Mediatoolkit - Erm¨
oglicht die Verarbeitung von Audio Dateien jeglicher Art.
NAudio (Vorbis, OGG, libmp3) - Dient als Erweiterung f¨
ur das Mediatoolkit, um
weitere Filter und Konvertierungsm¨
oglichkeiten zu verwenden.
Da nun alle Voraussetzungen und Rahmenbedingungen im Projekt genannt wurden, wird
nun schrittweise die Umsetzung erl¨
autert.
5.2 Design
In jedem Formular, außer auf der Login Seite (Anmeldung), befindet sich im oberen Bereich
auf der rechten Seite ein kleines Mikrofon wie in Abbildung 5.1 und Abbildung 5.2 zu sehen.
Abbildung 5.1: Stammdatenansicht in Care Viva Doku im Web
Bei einem Klick auf dieses ¨
offnet sich ein modales Fenster (siehe Abbildung 5.3). Dabei
besteht dieses Fenster aus zwei Bereichen, dem oberen Bereich mit den Steuerelementen
der Sprachein- bzw. ausgabe und dem unteren Bereich der aktuellen Befehls¨
ubersicht. In
50
5.2. Design
Abbildung 5.2: Stammdatenansicht in Care Viva Doku in Windows
diesem Bereich kann der Nutzer die Befehle auch durch Klicken ausl¨
osen. Die Steuerelemen-
te der Spracheingabe- bzw. ausgabe zeigen in erster Linie den aktuellen Status an. Wird
gerade gelauscht ist das Mikrofon Rot hinterlegt. Ist die Sprachausgabe aktiviert ist der
Lautsprecher Rot hinterlegt und das Audiosignal wird in Form eines Wellen-Diagrammes
dargestellt. Hierzu kommen noch eine Ausgabe (Was wurde erkannt?) und der Bewertungs-
und Feedbackbereich. Der Bewertungs- und Feedbackbereich erm¨
oglichen es dem Benutzer
den Assistenten zu bewerten und dessen Erkennung zu verbessern. So kann der Benutzer
eingeben was er gesagt hat und wie gut er die Erkennung subjektiv empfunden hat.
Rechts oben befindet sich zus¨
atzlich noch ein Zahnrad, das auf die Einstellung des Assi-
stenten verweist. Der Assistent bietet folgende Einstellungs- bzw Erweiterungsm¨
oglichkeiten
(siehe zus¨
atzlich Abbildung 5.4):
Grad der Sprachausgabe - Einstellungsm¨
oglichkeit ob Infos, Warnungen und/oder
Fehler ausgegeben werden sollen.
Spracheingabe - Aktivieren und Anpassen an den Benutzer, durch Festlegen eigener
Kommandos oder Schl¨
usselw¨
orter.
Spracheingabe Assistent - (Windows,Cortana,Google,Alexa).
Sprachausgabe Assistent - (Windows,Alexa).
Testbereich - Testausgabe und -eingabe zum ¨
Uberpr¨
ufen der Einstellungen und Funk-
tionen.
51
5. Implementierung
Abbildung 5.3: Stammdatenfunktionen in der ¨
Ubersicht des Care Viva Assistenten
¨
Ubersetzer Einstellungen - Aktivieren und Anpassen der Eingabe- und Ausgabespra-
chen.
Welche Einstellungen der Benutzer in der Software nachher tats¨
achlich vornehmen kann,
wird vom Administrator der Software ¨
uber die Globalen Einstellungen bestimmt. Somit es
ist es m¨
oglich, jeden Benutzer seine individuellen Erfahrungen mit dem Assistenten machen
zu lassen. Wenn in Care Viva die Spracheingabe verwendet werden soll, ohne komplett
¨
uber den Assistent zu gehen, kann vom Benutzer auch wahlweise die Spracheingabe in dem
gew¨
unschten Eingabefeld ausgef¨
uhrt werden (siehe Abbildung 5.5). Die Spracheingabe wird
angezeigt sobald das Feld mit der Maus ¨
uberfahren wird oder auf dem Mobilger¨
at der Fokus
auf dem Feld steht. Die Eingabe kann durch ¨
uberfahren des Mikrofons gestartet werden,
welches sich w¨
ahrend der Aufnahme rot verf¨
arbt. Wird das Mikrofon erneut ¨
uberfahren oder
eine 20 sek¨
undige Pause im Audiosignal erkannt, stoppt die Aufnahme. Der erkannte Text
wird direkt im Eingabefeld eingetragen bzw. erg¨
anzt. Diese Funktion ist von der Bedienung
sehr stark an Sprachmemos oder Sprachnachrichten wie bspw. in WhatsApp5und Telegram6
angelehnt.
5.3 Umsetzung
Der Care Viva Assistent wurde, wie bereits im Konzept beschrieben und in den Mockups
geplant, umgesetzt. Bei der Integration in das Frontend wird immer zuerst eine Instanz
des Assistenten mit Hilfe des Singelton Paterns erstellt. Die Instanz wird nur dann wirklich
5https://www.whatsapp.com/?lang=de
6https://telegram.org/
52
5.3. Umsetzung
Abbildung 5.4: Konfigurationsm¨
oglichkeiten des Care Viva Assistenten
Abbildung 5.5: Spracheingabe in Eingabefeldern
ver¨
andert, wenn sich der Assistent-Typ ver¨
andert oder gr¨
oßere Einstellungen vom Nutzer
vorgenommen werden. Der Assistent wird in der Regel direkt nach der Benutzeranmeldung
erstellt wenn feststeht ob der Benutzer den Assistenten verwenden m¨
ochte oder nachdem
er in den Einstellungen den Assistent aktiviert und vorher deaktiviert hatte. Die M¨
oglichkeit
des Aktivierens erh¨
alt der Benutzer nur mit entsprechenden Rechten und ausgelieferten
Assistenten. Die Instanz des Assistenten kann wie folgt auch von Hand erstellt bzw. abgerufen
werden.
Listing 5.3: Erstellen einer Instanz eines CV-Assistenten (Singleton)