106
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

Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

Konzeption, Implementierung und Evaluation einessprachbasierten Assistenten im Bereich der

Pflegeplanung und Dokumentation

Studiengang Medieninformatik

Masterarbeit

vorgelegt von

Daniel Hahngeb. in Gießen

durchgefuhrt beiakquinet ristec / care GmbH

Referent der Arbeit: Prof. Dr. Stephan EulerKoreferent der Arbeit: Prof. Dr. Dieter BaumsBetreuer: Dipl.-Ing. (FH) Jurgen Steuernagel,

Oliver Moormann

Friedberg, 2018

Page 2: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor
Page 3: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

”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 onlyway to be truly satisfied is to do what you believe is great work. Andthe 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 theheart, you’ll know when you find it.

”Steve Jobs †2011

Page 4: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor
Page 5: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

Danksagung

Zunachst mochte ich mich bei meinen Betreuern und der Firma akquinet ristec / care GmbHbedanken, die diese Masterarbeit mit diesem interessanten Thema erst moglich gemachthaben. Vielen Dank auch fur die Unterstutzung wahrend der Arbeit und die vielen nettenAnregungen. Daruber hinaus mochte ich mich bei allen bedanken, die diese Masterarbeitsowohl fachlich als auch sprachlich Korrektur gelesen haben.Ein weiterer Dank geht an meine Familie, die mir dies erst ermoglicht hat und an meineFreundin, die sich das Thema bestimmt schon nicht mehr anhoren kann. Auch mochteich allen danken, die mich weiterhin unterstutzt haben und hier namentlich nicht genanntwurden.Die verwendeten Software-Lizenzen wurden bereitgestellt von der Technischen HochschuleMittelhessen und der akquinet ristec / care GmbH.

i

Page 6: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor
Page 7: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

Selbststandigkeitserklarung

Ich erklare, dass ich die eingereichte Masterarbeit selbststandig und ohne fremde Hilfe ver-fasst, andere als die von mir angegebenen Quellen und Hilfsmittel nicht benutzt und dieden benutzten Werken wortlich oder inhaltlich entnommenen Stellen als solche kenntlichgemacht habe.

Buseck, August 2018

Daniel Hahn

iii

Page 8: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor
Page 9: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

Inhaltsverzeichnis

Danksagung i

Selbststandigkeitserklarung iii

Inhaltsverzeichnis v

Abbildungsverzeichnis ix

Tabellenverzeichnis x

Listings xi

1 Einleitung 11.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Problemstellung und Zielsetzung . . . . . . . . . . . . . . . . . . . . . . . 21.3 Aufbau des Dokuments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Grundlagen 32.1 akquinet AG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Care Viva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.2.1 Anwendungsgebiete . . . . . . . . . . . . . . . . . . . . . . . . . . 3Sozialwirtschaft . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Altenpflege . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4Pflege von Menschen mit Behinderung . . . . . . . . . . . . . . . . 4

2.2.2 Plattformen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4Mobil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.3 Barrierefreie Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.4 Ein- und Ausgabemoglichkeiten . . . . . . . . . . . . . . . . . . . . . . . . 8

2.4.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.4.2 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Visuelle Konzepte . . . . . . . . . . . . . . . . . . . . . . . . . . . 8Auditive Konzepte . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.5 Spracherkennung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

v

Page 10: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

Inhaltsverzeichnis

2.5.1 Vokabular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.5.2 Grammatik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Kontextfreie Grammatik . . . . . . . . . . . . . . . . . . . . . . . . 14Wortproblem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Kontextbezogene Grammatik . . . . . . . . . . . . . . . . . . . . . 14

2.5.3 Semantik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.6 Sprachdialog- und Interactive Voice Response-Systeme . . . . . . . . . . . 15

2.6.1 Grundaufbau eines IVR-Systems . . . . . . . . . . . . . . . . . . . 152.6.2 Verwendung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.6.3 Einsatzkriterien . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.6.4 Grenzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.6.5 Austauschformate . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3 Stand der Technik 213.1 Barrierefreie Softwarelosungen (Sehbehinderung) . . . . . . . . . . . . . . 213.2 Spracherkennungssystem . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.2.1 Sprachassistenten . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Google Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Amazon Alexa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Apple Siri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Microsoft Cortana . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.2.2 Erkennung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Dragon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.2.3 Verwendung in der Medizin . . . . . . . . . . . . . . . . . . . . . . 253.2.4 Verwendung in der Pflegeplanung . . . . . . . . . . . . . . . . . . 263.2.5 Datenschutz und Sicherheit . . . . . . . . . . . . . . . . . . . . . . 26

3.3 Akzeptanz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.3.1 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4 Konzept 314.1 Idee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.1.1 Integration von Sprachassistenten . . . . . . . . . . . . . . . . . . 31Web (Active Server Pages) . . . . . . . . . . . . . . . . . . . . . . 31Verarbeitung durch die Windows-Anwendung . . . . . . . . . . . . 32Verarbeitung durch den Google Assistent . . . . . . . . . . . . . . . 32Verarbeitung durch Amazons Alexa . . . . . . . . . . . . . . . . . . 33Verarbeitung durch Apples Siri . . . . . . . . . . . . . . . . . . . . 35Verarbeitung durch Microsofts Cortana . . . . . . . . . . . . . . . . 35

4.1.2 Care Viva Assist Interface . . . . . . . . . . . . . . . . . . . . . . . 36Grundkonzept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Audio Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.2 Dialogdesgin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384.2.1 Teilunterstutzung . . . . . . . . . . . . . . . . . . . . . . . . . . . 384.2.2 Komplettunterstutzung . . . . . . . . . . . . . . . . . . . . . . . . 38

vi

Page 11: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

Inhaltsverzeichnis

4.2.3 Gefuhrte Dialogfuhrung . . . . . . . . . . . . . . . . . . . . . . . . 384.2.4 Freie Dialogfuhrung . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.3 Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404.3.1 Pflegekraft und Arzt . . . . . . . . . . . . . . . . . . . . . . . . . 40

Ubergreifende und Globale Funktionen . . . . . . . . . . . . . . . . 40Bedienung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41Stammdaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43Wunddokumentation . . . . . . . . . . . . . . . . . . . . . . . . . 43Tagesubersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43Tourenplan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.3.2 Bewohner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444.3.3 Weitere Anwendungsmoglichkeiten . . . . . . . . . . . . . . . . . . 454.3.4 Anforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5 Implementierung 475.1 Systemanforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.1.1 Entwicklersystem Voraussetzungen . . . . . . . . . . . . . . . . . . 475.1.2 Anwendersystem Voraussetzungen . . . . . . . . . . . . . . . . . . 485.1.3 Mobilgerat Voraussetzungen . . . . . . . . . . . . . . . . . . . . . 485.1.4 GIT und TFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485.1.5 NuGet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49Restore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49Verwendete Pakete . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5.2 Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505.3 Umsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

5.3.1 Interne Anforderungen . . . . . . . . . . . . . . . . . . . . . . . . 545.4 Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555.5 Ubertragung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555.6 Microsoft Windows Speech und Cortana . . . . . . . . . . . . . . . . . . . 56

5.6.1 Vorarbeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565.6.2 Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575.6.3 Probleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585.6.4 Microsoft Azure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

5.7 Googles Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595.7.1 Vorarbeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595.7.2 Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595.7.3 Probleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

5.8 Amazons Alexa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605.8.1 Vorarbeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605.8.2 Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615.8.3 Probleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

5.9 Apples Siri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625.9.1 Idee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

vii

Page 12: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

Inhaltsverzeichnis

5.9.2 Probleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625.10 HTML5 Audio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625.11 Visual Studio 2013 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5.11.1 Probleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635.12 Testumgebung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

5.12.1 Computer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645.12.2 Tablet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655.12.3 Smartphone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655.12.4 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655.12.5 Standort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655.12.6 Testcenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

6 Evaluation 676.1 Automatische Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

6.1.1 Logfiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676.1.2 Nutzerbasierte Auswertung . . . . . . . . . . . . . . . . . . . . . . 68

Korrektur mittels Eingabe . . . . . . . . . . . . . . . . . . . . . . . 686.1.3 Nutzerumfrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686.1.4 Automatisierte Tests . . . . . . . . . . . . . . . . . . . . . . . . . 686.1.5 Zusammenfassung und Auswertung . . . . . . . . . . . . . . . . . . 68

6.2 Messungen und Testaufbau . . . . . . . . . . . . . . . . . . . . . . . . . . 696.2.1 Generierung der Sprachsamples . . . . . . . . . . . . . . . . . . . . 706.2.2 Leistung und Last . . . . . . . . . . . . . . . . . . . . . . . . . . . 756.2.3 Auswertung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776.2.4 Auswertungseinflusse . . . . . . . . . . . . . . . . . . . . . . . . . 78

7 Fazit 817.1 Unternehmenssicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817.2 Personliches Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817.3 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

A Anhang 83A.1 Verwendete Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83A.2 Inhalt DVD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83A.3 Auswertung Messungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83A.4 Auswertung Log-Dateien . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

Literaturverzeichnis 85

viii

Page 13: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

Abbildungsverzeichnis

2.1 Ubersicht der einzelnen Bereiche der akquinet AG (vgl. [AGe]) . . . . . . . . . 42.2 Nutzungsstatistik zur Verwendung von Sprachassistenten in Deutschland Stand

2016 (vgl. [Ste13]) und deren Wachstumsprognose . . . . . . . . . . . . . . . 102.3 Grundaufbau eines Spracherkennungssystems (vgl. [Wan] S. 5 abgewandelt von

[noac]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.4 Beispiel eines HMM anhand des Wetters und des Zustandes der Schuhe . . . . 122.5 Schema eines neuronalen Netzes . . . . . . . . . . . . . . . . . . . . . . . . . 122.6 Darstellung einer einfachen Grammatik (vgl. [Eul06]) . . . . . . . . . . . . . . 142.7 Model eines IVR-Sprachdialogsystems (vgl. [Rei17] S. 5) . . . . . . . . . . . . 16

3.1 DRK - Service GmbH Pflegesoftware (Quelle: [SG]) . . . . . . . . . . . . . . . 263.2 Prognose des Umsatzes virtueller Assistenten bis 2021 (Quelle: Statista) . . . . 28

4.1 Verarbeitung der Audiodaten durch den Care Viva Assistenten im Web . . . . 324.2 Verarbeitung der Audiodaten durch den Care Viva Assistenten in Windows . . 334.3 Funktionsweise Google Assistant anhand des Beispiels einer LED-Ansteuerung.

(vgl. [noaa]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.4 Funktionsweise von Alexa (vgl. [Amab]) . . . . . . . . . . . . . . . . . . . . . 354.5 Funktionsweise von Cortana (vgl. [Micb]) . . . . . . . . . . . . . . . . . . . . 364.6 Klassenkonzept des Care Viva Assistenten . . . . . . . . . . . . . . . . . . . . 374.7 Use Cases der Stammdaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424.8 Bewohner Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

5.1 Stammdatenansicht in Care Viva Doku im Web . . . . . . . . . . . . . . . . . 505.2 Stammdatenansicht in Care Viva Doku in Windows . . . . . . . . . . . . . . . 515.3 Stammdatenfunktionen in der Ubersicht des Care Viva Assistenten . . . . . . . 525.4 Konfigurationsmoglichkeiten des Care Viva Assistenten . . . . . . . . . . . . . 535.5 Spracheingabe in Eingabefeldern . . . . . . . . . . . . . . . . . . . . . . . . . 535.6 Ubersicht des Google Developer API Dashboards . . . . . . . . . . . . . . . . 595.7 Ansicht der Alexa Development Oberflache fur Skills . . . . . . . . . . . . . . 615.8 Ansicht der Alexa Development Oberflache fur Produkte . . . . . . . . . . . . 615.9 Ausschnitte aus der Testanwendung . . . . . . . . . . . . . . . . . . . . . . . 66

6.1 Ansicht des Testaufbaus inkl. der Bemaßung und Beschreibung der Komponenten 70

ix

Page 14: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

6.2 Direktvergleich von Google (Rot) und Windows (Blau) bei allen Messungen mitgemeinsamen Werten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

6.3 Vergleich Google (Rot) und Windows (Blau) im Bezug auf die einzelnen An-wendungsfalle (Ohne Einflusse, mit Rauschen und Dialekt) . . . . . . . . . . . 77

Tabellenverzeichnis

2.1 Beispiel einer einfachen Grammatik (vgl. [Eul06]) . . . . . . . . . . . . . . . . 132.2 Beispiel einer kontextsensitiven Grammatik . . . . . . . . . . . . . . . . . . . 15

3.1 Google Assistant Bewertung (vgl. [Wob17b]) . . . . . . . . . . . . . . . . . . 233.2 Amazon Alexa Bewertung (vgl. [Wob17a]) . . . . . . . . . . . . . . . . . . . . 233.3 Apple Siri Bewertung (vgl. [Wob17a]) . . . . . . . . . . . . . . . . . . . . . . 243.4 Microsoft Cortana Bewertung (vgl. [Wob17a]) . . . . . . . . . . . . . . . . . . 253.5 Preisliste Dragon Systems (Nuance) Software Dragon Stand: 01/2018 . . . . . 25

4.1 Vor- und Nachteile einer gefuhrten Dialogfuhrung . . . . . . . . . . . . . . . . 394.2 Vor- und Nachteile einer freien Dialogfuhrung . . . . . . . . . . . . . . . . . . 40

6.1 Auswertung der vorhandenen Log-Dateien . . . . . . . . . . . . . . . . . . . . 696.2 Zusammengefasste Auswertung der Messungen des Windows-Assistenten (kom-

muliert) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716.3 Zusammengefasste Auswertung der Messungen des Google-Assistenten (kom-

muliert) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

A.1 Auswertung der vorhandenen Log-Dateien . . . . . . . . . . . . . . . . . . . . 84

x

Page 15: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

Listings

2.1 XML Beispiel anhand eines Kreditkartenobjektes . . . . . . . . . . . . . . . . . 182.2 VXML Beispiel Wetter, Sport und Nachrichten . . . . . . . . . . . . . . . . . 192.3 JSON Beispiel anhand eines Kreditkartenobjektes . . . . . . . . . . . . . . . . 205.1 Installation im Paketmanager von NuGet anhand des Beispiels von GRPC . . . 495.2 Restore im Paketmanager von NuGet . . . . . . . . . . . . . . . . . . . . . . 495.3 Erstellen einer Instanz eines CV-Assistenten (Singleton) . . . . . . . . . . . . . 535.4 Verwenden der aktuellen Instanz des CV-Assistenten (Singleton) . . . . . . . . 535.5 Verwenden der Sprachausgabe . . . . . . . . . . . . . . . . . . . . . . . . . . 545.6 Verwenden der Spracheingabe . . . . . . . . . . . . . . . . . . . . . . . . . . 545.7 Verwenden der Ubersetzungsfunktion . . . . . . . . . . . . . . . . . . . . . . . 545.8 Compiler Direktive - Beispiel anhand des Assistenten in CSharp (C#) . . . . . 545.9 URL-Aufruf der Indexfunktion . . . . . . . . . . . . . . . . . . . . . . . . . . 555.10 URL Aufruf der Uploadfunktion . . . . . . . . . . . . . . . . . . . . . . . . . . 555.11 URL-Aufruf der Audiofunktion . . . . . . . . . . . . . . . . . . . . . . . . . . 555.12 Aufruf der Loschen-Funktion . . . . . . . . . . . . . . . . . . . . . . . . . . . 565.13 Aufruf der Rating-Funktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565.14 Aufruf der Ubersetzer-Funktion . . . . . . . . . . . . . . . . . . . . . . . . . . 565.15 BitStream Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565.16 Beispiel zur Verwendung der Microsoft Speech-API . . . . . . . . . . . . . . . 575.17 Vereinfachter Auszug der Garbage Collection . . . . . . . . . . . . . . . . . . . 585.18 Beispiel zur Verwendung des Google Assistant . . . . . . . . . . . . . . . . . . 605.19 Beispiel zur Verwendung der webkitSpeechRecognition-API . . . . . . . . . . . 635.20 Beispiel zur Verwendung des HTML5 Tags als Spracheingabe in einem Textinput 636.1 Beispielhafter Auszug aus einem Logfile . . . . . . . . . . . . . . . . . . . . . 67

xi

Page 16: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor
Page 17: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

Akronyme

.Net .NET Framework

API Application Programming Interface

ASK Alexa Skill Kit

ASP Active Server Pages

ASR Automated Speech Recognition

ATL Aktivitaten des taglichen Lebens

AVS Alexa Voice Service

AWS Amazon Web Services

BG Berufsgenossenschaft

CV Care Viva

C# C Sharp

DIN Deutsches Institut fur 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

Page 18: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

Listings

IIS Microsoft Internet Information Services

IP Internet Protocol

IVR Interactive Voice Response

JSON JavaScript Object Notation

KAS Klinischem Arbeitsplatzsystem

KI kunstlichen Intelligenz

KIS Krankenhausinformationssystem

KNN kunstliche 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

Page 19: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

Kapitel 1

Einleitung

In der heutigen Zeit gibt es vielerlei Software auf den Markt, was sich besonders im Bereichder 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 dierichtige Anwendung fur seine Bedurfnisse zu finden, besonders wenn die Anforderungen andie Software sehr speziell sind.

Daher ist es immer wichtiger die eigens entwickelte Software auf dem Markt hervorzu-heben und von anderen Anbietern abzugrenzen. Die Softwarelosungen mussen nicht nur inihrer Funktionalitat und ihrem Design, sondern auch in der Bedienung (Usability) uberzeugen(vgl. [Hei]).

1.1 Motivation

Menschen mit Einschrankungen werden bei der Entwicklung von Softwarelosungen oft nichtberucksichtigt, obwohl im Schnitt jeder Achte in Deutschland eingeschrankt ist, wie es ausder Statistik des Statistischen Bundesamtes von 2015 (vgl. [noae]2) hervorgeht.Softwarelosungen sollten demnach bestmoglich auf alle Bedienmoglichkeiten vorbereitetetsein, sodass auch Nutzer mit einer korperlichen Einschrankung oder Problemen im sprach-lichen, visuellen oder motorischen Bereich, keine Schwierigkeiten bei der Bedienung haben.Um diesen Anforderungen gerecht zu werden, soll eine bestehende Softwarelosung, CareViva (CV)-System, um neue Bedienkonzepte erweitert werden. Hierzu wurden verschiedeneneue Eingabemoglichkeiten gepruft. Der Fokus hierbei liegt auf der Bedienung der Softwaredurch visuell eingeschrankte Menschen.

Durch den technischen Fortschritt im Bereich der Spracherkennung und Sprachsynthesewurde dieser Teilbereich bereits als mogliche Erweiterung der Software gewahlt. Das steigen-de Interesse der Bevolkerung durch Produkte wie Amazons Alexa oder Googles Assistant,gibt hierbei weiteren Aufschwung und Motivation, die Software mit solchen Technologienzu erweitern.

1https://goo.gl/63F4gt - Stand 24.08.20182https://www.destatis.de/DE/ZahlenFakten/GesellschaftStaat/Gesundheit/Behinderte/

BehinderteMenschen.html - Stand: 8.3.2018

1

Page 20: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

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 Spracherkennungzu analysieren und zu vergleichen. Auf Grund dessen soll ein Bedien- und Implementierungs-Konzept, fur die Pflegedokumentationssoftware Care Viva Doku, entwickelt werden. In die-sem Konzept sollen verschiedene Benutzergruppen, wie Arzte, Bewohner und Patienten bzw.Klienten, berucksichtigt werden. Eine erste Implementierung des erarbeiteten Konzeptes undeine darauf aufbauende Evaluierung sind weitere Ziele dieser Arbeit. Abschließen wird dasDokument mit einem Resume und Ausblick.

1.3 Aufbau des Dokuments

Zunachst wird ein Einblick in die Struktur des Unternehmens, in der diese Arbeit entstandenist, gewahrt. Das Unternehmen entwickelt und vertreibt Softwarelosungen, die im Kapitel 2naher erlautert werden. Darauffolgend wird ein Vergleich der vorhandenen Systeme, in denBereichen der Spracherkennung und dessen Einsatz in der Medizin bzw. der Pflegeplanung,erarbeitet und einer Marktanalyse durchgefuhrt (Kapitel 3). Im Weiteren wird die erste Ideebetrachtet und ein Konzept erarbeitet, wobei einzelne Use Cases vorgestellt (Kapitel 4)werden. Aus den Anforderungen die in den Use Cases und dem Konzept entstehen werdenerste Evaluierungsmoglichkeiten vordefiniert. Mit dem erarbeitetem Konzept und der vor-handenen Technik wird die Implementierung (Kapitel 5) vorgenommen. Bei dieser werdenOberflachenkonzepte und Mockups, sowie technische Details gezeigt und erlautert.Eine Eva-luierung (Kapitel 6) der Ideen und ein Ausblick der Weiterentwicklung (Kapitel 7) schließendiese Arbeit ab.

2

Page 21: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

Kapitel 2

Grundlagen

Nachdem nun das Ziel der Arbeit und dessen Motivation dargestellt wurde, werden imNachfolgenden die akquinet AG bzw. akquinet ristec / care GmbH und deren zu erweiterndeSoftware CareViva vorgestellt.

2.1 akquinet AG

Die akquinet AG ist ein IT-Beratungsunternehmen im internationalen Raum mit Hauptsitzin Hamburg. Die Schwerpunkte des Unternehmens liegen in der Einfuhrung von Enterprise-Resource-Planning (ERP)-Systemen wie SAP, Microsoft Dynamics NAV und der Entwick-lung von individuellen Softwarelosungen fur Unternehmen. Dabei kommen Technologieplatt-formen wie SAP, JAVA und Microsoft zum Einsatz (siehe Abbildung 2.1). Die akquinet AGhat uber 800 Mitarbeiter in den Niederlassungen in Deutschland, Polen und Osterreich(vgl. [AGe]). Daruber hinaus besitzt die akquinet AG vier leistungsstarke und hoch zerti-fizierte Rechenzentren fur Cloud-, Hosting- und IT-Outsourcing-Losungen. Die AG ist einnicht-borsennotiertes Unternehmen. Aktionare sind die Vorstande und Geschaftsfuhrer dereinzelnen zugehorigen GmbHs. Die akquinet ristec bzw. akquinet care GmbH sind zwei derGesellschaften aus dem Verband der akquinet AG. Care Viva ist eine Softwarelosung derbeiden 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 Softwarelosung, die es ermoglicht, eine gezielte Unternehmenssteuerungaller Geschaftsprozesse in sozialen Einrichtungen zu planen. Derweil wird das Unternehmen

3

Page 22: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

2. Grundlagen

Abbildung 2.1: Ubersicht der einzelnen Bereiche der akquinet AG (vgl. [AGe])

bei der Umsetzung seiner Unternehmensziele unterstutzt. Die Software ist vor allem fur denPflegeprozess optimiert. (vgl. [AGa])

Altenpflege

Care Viva Doku unterstutzt gezielt im Bereich Altenpflege. Bei dieser Losung handelt sich esum ein umfassendes CV-System, das beispielsweise zum Verwalten von Stammdaten (Kun-den, Mitarbeiter, Arzte, etc.), Pflegeprozessen (Anamnese, Pflegemodelle, Diagnosen undMaßnahmenplanung) und Protokollen oder Assessments (z. B. Wunddokumention) genutztwird. Daruber hinaus werden viele weitere Moglichkeiten, 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 zusatzlich 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 eineAndroid-Applikation (kurz: App) mit der Touren zu den einzelnen Kunden geplant werden

4

Page 23: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

2.3. Barrierefreie Software

konnen. Uber die App lassen sich Maßnahmen, die bei den Kunden zuhause vorgenommenwurden bzw. werden sollen, planen und dokumentieren. Im Planungsverlauf wird dem Mit-arbeiter eine vorgeschlagene Tour dargestellt und auf dem Weg zum Kunden / Patientenkann er eine Navigation verwenden. (vgl. [AGd]).

Web

Ein in der Entwicklung befindliches neues System von Care Viva bietet die Moglichkeit alshybride Losung alle Funktionen von Care Viva im Browser darzustellen. Fur eine Verwen-dung auf mobilen Geraten wird keine vorherige Installation benotigt. Die direkte Eingabevon Dokumentationen, beispielsweise fur Hausarzte, ist moglich. Diese Version ist kompa-tibel zu allen anderen Versionen von Care Viva und bindet den kompletten Datenbestandein. Hierfur 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. Fur den weiteren Verlauf der Arbeit ist es wichtig den Begriff der Barrierefreiheitbzw. Barrierefreie Software etwas genauer zu definieren bzw. zu erlautern.

2.3 Barrierefreie Software

Begriffsdefinition -

Der Begriff der Barrierefreiheit kommt ursprunglich aus dem Bereich von Bau-ten, Verkehrsmitteln und sonstigen Einrichtungen und wird laut Duden wie folgtdefiniert: �keine Barrieren, Hindernisse oder ahnliches aufweisend und demzu-folge auch von Menschen mit Behinderung ohne Erschwernis oder fremde Hilfenutzbar�1

Auf den Bereich der Software angewendet, insbesondere auf Internetseiten, lau-tet die Definition weiterhin wie folgt:�(von Internetseiten) so gestaltet, dasses auch von Menschen mit Behinderung ohne Erschwernis oder fremde Hilfegenutzt werden kann zum Beispiel durch Veranderbarkeit der Schriftgroße�2

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 bedienenkonnen. Um diese Verallgemeinerung genauer zu beschreiben, haben einige bekannte Gre-mien der Softwareentwicklung Normen bzw. Richtlinien (Guidelines) entwickelt. Jedoch sinddiese eher fur den Bereich der Webanwendungen oder Webseiten aufgestellt, was jedoch ingleichem Maße auch auf die klassischen Anwendungen ubertragen werden kann, da nichtauf 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

Page 24: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

2. Grundlagen

• Deutsches Institut fur Normung (DIN) - Das DIN hat die Norm DIN EN ISO9241-151:2008 veroffentlicht. In deren Abschnitt 7 wird erklart, dass alle Inhalte ingeeigneter Form fur die Zielgruppe vorhanden sein sollen. Daruber hinaus muss derInhalt uber mehrere Wege dargestellt werden. Komplexe Sachverhalte sollten mit Textund Bild zur Verfugung gestellt werden, damit es fur Nutzer moglich ist, einen eigenenWeg zu finden mit den Informationen umzugehen und diese zu verarbeiten. Hierfurwerden weitere Ideen erlautert wie etwa verschiedene Navigationsmoglichkeiten undNavigationspfade oder Strukturen. Im Detail wird dabei nie auf genauere Technologieneingegangen. Ein direkter Bezug zur Barrierefreiheit kann nicht wirklich festgestelltwerden, da es sich, wie auch im Titel, eher um ergonomische Ideen oder Ansatzehandelt (vgl. [DIN08]).

• International Business Machines Corporation (IBM) - Das Unternehmen IBM hatfur die interne Entwicklung eine Checkliste herausgegeben, die es ermoglichen soll, diein der Entwicklung befindliche Anwendung zu prufen um Verbesserungen und neueIdeen zur Optimierung zu generieren. Dabei orientiert man sich an der Guideline desWorld Wide Web Consortium (W3C), die im Nachfolgenden kurz erlautert wird (vgl.[IBM17]).

• W3C - Im W3C gibt es eine Guideline mit Ideen und Anpassungen, die im Fokusauf Webanwendungen eingehalten werden sollten. Diese Guideline gliedert sich in vierBereiche:

– Wahrnehmung - Verschiedene Medien zur Informationsdarstellung sollten ge-nutzt werden. So kann beispielsweise fur ein Bild auch immer einer textuelleBeschreibung vorliegen. Fur verschiedene Zielgruppen sollten Sprache und Bilderangepasst oder vereinfacht werden. Zeitgemaße Medien sollten genutzt werden(z.B. Videos mit Untertitel). Daruber hinaus sollte der Vordergrund immer er-kennbar sein und sich automatisch hervorheben.

– Bedienung - Die Webseite sollte ohne Maus nur mit einer Tastatur bedienbarsein, die Navigation ubersichtlich und nicht zu kunstlerisch umgesetzt werden.Eine Moglichkeit zum Suchen muss vorhanden sein. Der Nutzer sollte sich dieInformationen in seinem Tempo anschauen konnen.

– Verstandlichkeit - Die Inhalte sollten verstandlich und moglichst in angepassterSprache zur Zielgruppe vorhanden sein. Sie sollte vorlesbar und ubersichtlichgestaltet werden. Nutzer mussen ihr Feedback an den Betreiber schicken konnenum die Software stetig zu verbessern.

– Robustheit - Die verwendeten Technologien sollten mit allen Systemen kompati-bel sein. Es sollten gangige Assistenzsysteme getestet werden. Auch an moglicheErweiterbarkeit 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 Verfugung gestellt, die sowohl die Web-standards (Syntax, Fehler) analysieren, als auch die Zuganglichkeit und Barrierefreiheit

6

Page 25: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

2.3. Barrierefreie Software

(Accessibility) testen (vlg. [W3C18]). Eine erfolgreich getestete Webseite erhalt vomW3C 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 beidem 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 fur alle Menschen zur Verfugung zu stellen. Als Grunde fuhrt er vor allem wirtschaft-liche Faktoren an. Bei Behinderungen unterscheidet er in medizinische Behinderungenund solche sozialer Natur.

– Medizinisch - Der Mensch wird eher wie eine Maschine gesehen die einen Defekthat und repariert werden konnte, somit musste beispielsweise Software nichtangepasst werden, sondern der Mensch dementsprechend. Diese Betrachtung istseiner Meinung nach in Deutschland ublich, jedoch nicht gewollt.

– Sozial - Der Mensch steht bei dieser Betrachtung im Vordergrund und daraufhin mussen Hilfsmittel an den Mensch angepasst werden, so die Sicht des UK-Regierungsforums. Die dies mit Hilfe von Gesetzen auch an die Bevolkerungweitergeben.

Internationaler Standard ist vom W3C vorgegeben. Deutscher Standard ist nur ver-pflichtend fur Bundesanstalten und nicht fur Softwareentwickler der freien Marktwirt-schaft.

Zusammengefasst kann gesagt werden, dass eine Software dann barrierefrei ist, wenn sievon allen Menschen mit Behinderung ohne zusatzliche Hilfsmittel oder Unterstutzung wei-terer Personen benutzt werden kann. Um dies in Software umzusetzen, sollte das Konzeptjedoch im Gesamten dafur vorgesehen sein und nicht gesonderte Wege fur Menschen mit Be-hinderung geschaffen werden. So sollten beispielsweise Text-Only-Webseiten, die fur Blindeunbedienbar sind, abgeschafft werden und die vorzulesenden Texte einfach in eine beste-hende Webseite eingebunden werden. Im Kontext der barrierefreien Software wurde vonder Bundesregierung 2011 die Verordnung BITV 2.0 erlassen (vgl. [Bun]), um die weiterenEntwicklungen starker voranzutreiben und Menschen mit Behinderung im Internet bzw. imArbeitsumfeld nicht auszuschließen. Da sich dieser Erlass jedoch bisher nur auf Behordenauswirkt, ist seither nicht mehr in diesem Bereich unternommen worden als vorher.

Gerade diese Ansatze zeigen nochmals wie wichtig es ist, neue Anwendungen auch auf dieBedienung durch Menschen mit Einschrankungen zu prufen, evtl. auch eine Zertifizierungwie durch den W3C anzustreben und somit ein Alleinstellungsmerkmal in seinem Segmentzu erlangen. Nachfolgend werden Ideen anhand von Erweiterungsmoglichkeiten der Ein- undAusgabe aufgezeigt.

3Weitere Informationen: https://goo.gl/cCgcFN - Besucht: 15.03.2018

7

Page 26: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

2. Grundlagen

2.4 Ein- und Ausgabemoglichkeiten

Im Nachfolgenden werden die Ein- und Ausgabemoglichkeiten in Hardware und Softwareunterschieden.

2.4.1 Hardware

Auf Basis von Hardware gibt es viele Moglichkeiten die Eingabe mit angepassten Eingabe-geraten zu vereinfachen. So kann ein Mensch mit einer Sehstorung oder ohne Augenlichtmittels einer Brailletastatur oder Display weiterhin ohne Einschrankungen zu arbeiten. Esgibt auch eine reihe von weiteren Ausgabemoglichkeiten auf die nicht weiter eingegangenwerden. Da in dieser Arbeit jedoch keine neue Hardware entwickelt werden soll, beschranktsich das Folgende auf Softwaremoglichkeiten der Bedienungserweiterung. Auch sind solcheHardwareerweiterungen nicht auf jedem Endgerat einsetzbar.

2.4.2 Software

Die Erweiterungen der Software zur angepassten Bedienung lassen sich in visuelle und audi-tive Moglichkeiten unterscheiden. Diese werden im folgenden Kurz beschrieben und bereitsvorhanden Konzepte erlautert.

Visuelle Konzepte

Fur Menschen mit einer Seheinschrankung oder Sehbehinderung, wie beispielsweise einerRot-Grunschwache, kann es sehr schwierig sein eine Software zu bedienen, die dafur nichtoptimiert ist. Als Beispiel kann hier ein Ampelsystem bei einer Produkt Verfugbarkeit ge-nannt werden. Wenn der Nutzer den Unterschied zwischen Rot und Grun nicht unterscheidenkann, weiß er nicht ob der Artikel lieferbar ist oder nicht. Abhilfe kann in diesem Fall schnellgeschaffen werden, wenn beispielsweise eine textuelle Beschreibung neben der Ampel oderbeim Uberfahren mit der Maus angezeigt wird. Bei der Entwicklung von Care Viva Dokuwurde diese Art der Behinderung bereits bedacht. Dort werden dem Nutzer gezielt starkeFarbkontraste zur Verfugung gestellt, die bei Bedarf von den Verwendern sogar angepasstwerden konnen. So kann beispielsweise immer zwischen Vordergrund, Hintergrund und sehrwichtigen Informationen unterschieden werden. Hierzu kommen noch viele intuitive Pikto-gramme, die das Arbeiten mit dem System stark vereinfachen. Durch Tooltips wird eineweitere Unterstutzung gewahrleistet. Dies kann auch mittels der im Betriebssystem zurVerfugung stehenden Einstellung des Kontrastes in den Bedienhilfen noch zusatzlich un-terstutzt werden. Die Einstellungen und Moglichkeiten fur die jeweiligen Betriebssystemewerden nicht genauer erlautert und konnen beim Hersteller eingesehen werden (Windowsvgl. [Micc], OSX vgl. [App]). Da dieser Teil bereits in der Software abgedeckt wurde, wirder im folgenden nicht weiter beachtet.

8

Page 27: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

2.5. Spracherkennung

Auditive Konzepte

Spracherkennungssysteme sind schon seit Jahren ein Renner, jedoch hat sich die ursprungli-che Benutzung in der Zwischenzeit gewandelt. Anfangs wurden nur einige Worter in einemgesprochenem Satz erkannt. So musste der Anwender fur Sprachbefehle Worter lernen bzw.sein Vorgehen anpassen, um die Spracherkennung zu gewahrleisten. Die heutigen Spra-cherkennungssysteme bieten die Moglichkeit mit den Systemen annahernd wie mit einemnormalen 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 fur den weiterenVerlauf der Arbeit interessant sein konnten. Eine kurze Einfuhrung in die Grundlagen derSpracherkennung folgt im nachsten Abschnitt.

2.5 Spracherkennung

Die Interpretation gesprochener Sprache ist in der Informatik eine bis heute noch nichtgeloste Herausforderung. Die Spracherkennung wird in der Wissenschaft in zwei Teilgebieteuntergliedert:

• Gesprochene Sprache - Vom Menschen auf naturlichem Weg erzeugte Laute, dieder Computer in ein digitales Signal umwandeln und mit Hilfe der Mustererkennunguntersuchen bzw. verstehen muss.

• Textuelle Sprache - Geschriebene Sprache die mit Hilfe einer kunstlichen Intelligenz(KI) untersucht und in eine Bedeutung gebracht werden muss. Diesen Vorgang verstehtman auch als Sprachverstehen und wird im Bereich der Computerlinguistik untersucht.

Damit die Spracherkennung gelingen kann muss, zuerst das gesprochene Muster erkannt unddessen Bedeutung ermittelt werden. Das erfolgt mit Hilfe eines Spracherkennungssystems,welches in Abbildung 2.3 schematisch dargestellt ist. Somit zeigt sich, dass die genanntenAufgaben nicht unabhangig voneinander sind und aufeinander Aufbauen.

Zu Anfang wird gesprochene Sprache als analoges Sprachsignal durch eine Vorverar-beitung gefuhrt, in der viele Vergleichsmuster-Daten verarbeitet werden um die Phoneme(Laute) zu erkennen und die einzelnen Worter voneinander zu trennen. Auch kann in diesemSchritt weitere Verbesserung, des Sprachsignals unter anderem mittels Filter vorgenommenwerden um bspw. Rauschen oder Storgerausche zu eliminieren. Das entstandene Ergebniswird nun der Erkennung zugefuhrt, welche auf Basis des in Abbildung 2.3 dargestelltenModells arbeitet. Im ersten Schritt der Erkennung im Sprachmodell wird versucht einzelneWorter mit Hilfe der Wahrscheinlichkeit des Auftretens zu ermitteln. Hierfur werden auchdie Informationen fur Wortkombinationen bzw. Wortabfolgen verwendet. Diese werden ineinem Grammatikmodell oder einem statistischem Modell wie bspw. N-Grammar gespei-chert (siehe Abschnitt 2.5.2). Anhand dieser auftretenden Zustandsanderungen konnen nundie Worter erkannt und nach und nach Satze gebildet werden, wie in Abbildung 2.3 dar-gestellt. Bei dieser Erkennung und Verarbeitung kommen viele verschiedene Algorithmen

9

Page 28: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

2. Grundlagen

AbsatzinMillionenEinheiten

1,71,7

6,56,5

24,524,5

AbsatzvonGerätenmitintegriertemdigitalenSprachassistenten(z.B.AmazonEcho,GoogleHome)weltweitindenJahren2015und2016sowieeine

Prognosefür2017(inMillionenStück)

WeitereInformationen:Weltweit

2015 2016 2017*

QuelleVoiceLabs©Statista2018

0

5

10

15

20

25

30

AnzahlinMillion

en

1717

10,810,8

6,86,8

0,80,8

AnzahlderInternetnutzer,dieaufeinenvirtuellenSprachassistentenzurückgreifeninDeutschlandimJahr2016(inMillionen)

WeitereInformationen:Deutschland;StatistaDMO

GoogleNow Siri Cortana Alexa*

QuelleStatista©Statista2017

0

2,5

5

7,5

10

12,5

15

17,5

20

Abbildung 2.2: Nutzungsstatistik zur Verwendung von Sprachassistenten in DeutschlandStand 2016 (vgl. [Ste13]) und deren Wachstumsprognose

10

Page 29: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

2.5. Spracherkennung

Abbildung 2.3: Grundaufbau eines Spracherkennungssystems (vgl. [Wan] S. 5 abgewandeltvon [noac])

zum Einsatz, darunter klassische Mustererkennung mit Dynamic Time Warping (DTW),Hidden-Markov-Modelle (HMM) und kunstliche neuronale Netze (KNN).

• DTW - Verwendet gespeicherte Sprachmuster (Templates) und versucht durch denVergleich dieser das passende Wort zu ermitteln. Ein Problem in der Spracherkennungist die unterschiedliche Aussprache von gleichen Wortern innerhalb eines Satzes. Vorallem Vokale werden oft langer oder kurzer gesprochen. Fur eine erfolgreiche und ge-naue Mustererkennung sollten deswegen die Worter dementsprechend angepasst odernormiert werden. Der DTW leistet unter anderem eine solche zeitliche Normierung.

• HMM - Beschreibt ein stochastisches Modell, dass das aktuelle Wort immer mit demvorhergehenden und nachfolgenden zusammenhangt. Dies wird mit Hilfe von Wahr-scheinlichkeiten dargestellt, wie in Abbildung 2.4 anhand des Beispiels des Wettersund der daraus resultierenden Wahrscheinlichkeit eine Wetterumschwungs und denpassenden Status der Schuhe.

• KNN - kunstliche Neuronale Netze basieren auf der Vernetzung von Neuronen nacheinem biologischen Vorbild. Jedes KNN besitzt eine Menge an Eingaben (X1 - Xn),die durch eine Ubergangsfunktion verandert werden und dann gesetzte Schwellwerteuber- oder unterschritten. Wenn der Schwellwert uberschritten wird, kann das Neuronmittels einer Aktivierungsfunktion als neue Eingabe X an die nachsten Neuronenweitergeben werden, wie in Abbildung 2.5 veranschaulicht. Ziel ist es aus moglichstvielen Eingaben eine Aussage bzw. Ausgabe zu bekommen. Dabei gibt es viele moglicheVorgehensweisen und Modelle, was aber an dieser Stelle zu weit fuhren wurde.

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

Page 30: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

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

Page 31: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

2.5. Spracherkennung

Fur die bisher beschriebene Erkennung der Sprache ist der Sinn des Gesprochenen irrelevant.Die Analyse davon passiert in weiteren Folgeschritten. Zur Evaluation bzw. Bestimmung derGute einer solchen Erkennung, lassen sich verschiedene Kennzahlen ermitteln. Darunter fallenErkennungsgeschwindigkeit, Echtzeitfaktor (EZF) und die Erkennungsgute 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 zusammengesetztund enthalt alle Worter der zu analysierenden Sprache inklusive deren Lautschrift und derenPhoneme. Da das deutsche Vokabular mehr als 5,7 Millionen Worter umfasst und sie nichtbeliebig kombiniert werden konnen, wird dies mit Hilfe der Grammatik eingeschrankt, welcheautomatisch generiert oder vorgegeben werden kann.

2.5.2 Grammatik

In einer Grammatik werden im Allgemeinen die Produktionsmoglichkeiten von Satzen auseinzelnen Worten des Vokabulars (

∑) in Form von Regeln definiert. Die Regeln haben die

allgemeine Form:

l→ r

Dabei wird l auf der linken Seite durch r ersetzt. Der Satzbau sieht im Deutschen meist dieAbfolge von Subjekt, Pradikat 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 )fur diese Beispiel kann Tabelle 2.1 entnommen werden.

Tabelle 2.1: Beispiel einer einfachen Grammatik (vgl. [Eul06])∑der, den, Patienten, Arzt, pflegt

N S, NP, DET, N, V

P S → NP VS → NP V NPNP → DET NDET → denDET → derN → PatientenN → ArztV → pflegt

S S

5https://upload.wikimedia.org/wikipedia/commons/7/7f/ArtificialNeuronModel_deutsch.

png?1531857735651 Stand - 17.3.2018

13

Page 32: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

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 (∑

) das Vokabular und S der Startpunkt, P die Produk-tionsregeln und N die Entscheidungen. Alle diese Bestandteile werden in der Grammatikals G = (

∑, N, P, S) zusammengefasst. Mit Hilfe der angegeben Grammatik kann bspw.

der Ableitungsprozess folgender Satzaufbauten generiert werden (vgl. Abbildung 2.6). DerAbleitungsprozess ersetzt in den einzelnen Verarbeitungsschritten alle Verweise so lange, bisnur noch direkt Zuordnungen (Terminale) vorhanden sind. Allgemein lasst sich sagen, dassnicht jede Ableitung zu einem legalen Ergebnis fuhren muss. So ware beispielsweise auch:� Der Patienten pflegen den Arzt� moglich aber sprachlich nicht richtig.

Kontextfreie Grammatik

Hierbei spielt das Anwendungs- oder Verwendungsumfeld der Grammatik keine Rolle. DieRegeln sind dabei unabhangig vom Kontext. So wird im Ableitungsprozess nie der Vorgangeroder Nachfolger weiter betrachtet, wie bereits im Beispiel 2.6 angenommen wurde. So kanndie Sprache mehr oder weniger sinnvolle Satze 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:w ∈ L(G) oder w /∈ L(G). Dies ist fur kontextfreie Grammatik ohne Probleme entscheid-bar. Kontextbezogene Grammatik ist rekursiv und kann sehr komplex sein, weswegen dieseLogik hier nicht angewendet werden kann. Daruber hinaus nimmt der Rechenaufwand derEntscheidung von Ordnung O(N) (wobei N die Lange der Folge darstellt) bis zu O(N3)zu. Bei der sehr allgemeinen rekursiv aufzahlbaren Grammatiken (Chomsky Typ-0) ist dasWortproblem 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

Page 33: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

2.6. Sprachdialog- und Interactive Voice Response-Systeme

Grammatik der Chromsky-Hierachie.

G = (V okabular V, Terminalsymbole T, Produktionsreglen P, Startsymbol S)

Nichtterminalsymbole N sind alle Vokabeln V , die nicht in T sind N = V/T

Tabelle 2.2: Beispiel einer kontextsensitiven Grammatik∑a, b, c

N S, NP, DET, N, V

P S → AX — AYX → SYY → ZCAZ → ABBZ → BBCZ → ZCA → aB → bC → c

Hier zeigt sich sehr schnell, dass diese Grammatik sich selbst aufruft und ohne weiteres nichtso einfach darstellbar ist. Eine mogliche Folge stellt nur �abc� dar.

2.5.3 Semantik

Die Semantik versucht hinter den bereits erkannten Eingaben bzw. Wortern einen Zusam-menhang herzustellen, diese also zu verstehen und einem Sinn zuzuordnen. Mit Hilfe derSemantik ist es also moglich zu erkennen, was der Sprecher vom System mochte und welcheFunktion mit welchen Parametern ausgefuhrt 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 Anwendungsmoglichkeit und -bereich verwendet. Diesefanden in den Anfangen in erster Linie Anwendung in Telefonhotlines. Da es in der heutigenZeit etwas aus der Mode gekommen ist Telefonhotlines anzurufen, haben sich diese Systemeauch auf andere Anwendungsgebiete ausgedehnt. Wie in Abschnitt 2.6.1 weiter ausgefuhrtwird.

Die Idee hinter diesen Systemen ist meist das Verarbeiten von vielen, oft gleichzeitigerfolgenden Anrufen oder Nutzerinteraktionen, die sonst nur mit sehr viel Personal undKosten verarbeitet werden konnen.

2.6.1 Grundaufbau eines IVR-Systems

Anhand des Telefonhotline Beispiels wird im folgenden der Grundaufbau, eines Sprachdia-logsystems erlautert.

15

Page 34: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

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 mittelsmehrerer Gerate erfolgen kann. Die so erfassten Daten werden mit Hilfe eines Ubertragungs-protokolls an die Interactive Voice Response (IVR)-Plattform ubertragen. Im Falle einerTelefonhotline 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 derIVR-Plattform werden nun die Daten uber das entsprechende Gateway dem Dialogablauf-Interpreter zugefuhrt, wo die Sprache in Text umgewandelt oder direkt in Befehle interpretiertwerden soll. Die nun vorverarbeiteten Informationen werden an die eigentliche Business-Anwendung weitergegeben und dort anhand von Daten, Antworten und weiteren Ablaufenweiterverarbeitet. Somit erfolgt im Anschluss auch der Weg zuruck zum eigentlichen Anru-fer, der die gewunschten Informationen bzw. das Feedback erhalt und darauf reagieren kann.In einer Telefonhotline konnte dieser Vorgang wie folgt ablaufen.

1. Anrufer wahlt Nummer und kommt bei der Hotline an.2. Dort wird er aufgefordert durch Nennen einer Nummer von 1 bis 5 verschiedene Wahlmoglich-keiten zu bestatigen.3. Er wahlt 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 Punktenbzw. Fragen (z.B. bei Umfragen).

16

Page 35: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

2.6. Sprachdialog- und Interactive Voice Response-Systeme

• Computerspiele - Befehle in Battlefield 3 an die KI-Mitspieler, wie”Haltet die Stel-

lung“ oder”Ruckt bis zur nachsten 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 3 aufgezeigt.Fur IVR-Systeme mussen jedoch einige Grenzen bzw. Voraussetzungen eingehalten und be-achtet werden, die im Nachfolgenden aufgezeigt und erlautert werden.

2.6.3 Einsatzkriterien

Fur den Einsatz von IVR-Systemen gibt es einige Kriterien bzw. Anwendungsszenarien:

• Schreib- und Leseschwache - Durch die Moglichkeiten einer guten Spracheingabekonnten 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 Moglichkeit, Fließtext mittels Diktakteinzugeben und diesen automatisiert umformulieren zu lassen. So entsteht ein Textmit Kontext der in einem gutem Deutsch formuliert und fehlerfrei auf dem Computererfasst wird.

• Fremdsprachen - Es ist bereits moglich, einen Text in englischer Sprache zu diktierenund direkt in Deutsch ubersetzt zu bekommen. Diese Technologie ist jedoch noch sehrunausgereift.

• Bedienungsprobleme mit dem Computer - Durch eine verbale Kommunikation mitdem Computer ist es moglich, eine erleichterte Bedienung zu schaffen. So konnten auchnicht Computer-affine Menschen die notigen Aufgaben bereits jetzt schon erledigen.

• Freihandkonzept und wenig Arbeitsflache - Durch beispielsweise mobile Arbeitsplatzein Autos, Zugen oder auch auf Baustellen, konnte durch Sprachdialogsysteme eineverbesserte Ergonomie und Erleichterung der Arbeitsprozesse geschaffen werden. Sokann einer Pflegekraft bereits im Auto auf dem Weg zum Kunden alle Informationennochmals mitgeteilt werden.

2.6.4 Grenzen

Da die Verarbeitung der Sprache wie bereits in den Grundlagen erlautert ein komplexerVorgang in der Mustererkennung ist und es hierfur keine perfekte Losung gibt, sind diesemSystem Grenzen gesetzt. Diese werden nachfolgend zusammengefasst dargestellt.

• Erkennung - Es ist keine 100-prozentige Erkennung moglich. Dabei ist es sehr pro-blematisch, umfangreiches Vokabular mit vermehrt auftretenden Ahnlichkeiten in derAussprache verschiedener Begriffe zu unterscheiden. Dies wird auch in absehbarer Zu-kunft keine perfekte Erkennung ermoglichen, da es zu viele unterschiedliche Faktoren

17

Page 36: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

2. Grundlagen

bei der Spracherkennung gibt, wie die Variabilitat des Sprechers und seiner Ausspra-che. Hierzu kommt noch, dass es Sprachen gibt, die sich gut fur Spracherkennungeignen, da sie sehr strukturiert und Computer abbildbar dargestellt werden konnen, alsauch Sprachen die sich weniger gut eignen.

• Umgebungsbedingungen - Da es im Arbeitsumfeld nie wirklich ruhig ist, stellt somitbereits die Aufnahme der Sprache eine Herausforderung dar. Bereits die Aufnahmeeines menschlichen Sprechers in einer Menschenmenge ist eine Herausforderung furFilteralgorithmen.

• Strukturen - Zur Zeit ist es noch nicht moglich, jeden Kontext in einem Sprach-dialog zu erkennen. Daher muss der Benutzer immer noch eine Art Dialogstruktureinhalten um die Erkennung zu verbessern. Auch mussen die Antworten so aufberei-tet sein, dass sich der Benutzer die Fulle an Informationen gut merken kann. DiesesProblem stellt viele Dialogsysteme vor Hurden. Eine klare intuitive Bedienstruktur undein Bedienungskonzept mussen hier vorhanden sein (vgl. Kapitel 4.2).

Damit die Systeme untereinander eine gewisse Kompatibilitat haben, wurden Austauschfor-mate definiert, die im Nachfolgenden vorgestellt werden.

2.6.5 Austauschformate

Um den Datenaustausch zwischen verschiedenen Systemen zu gewahrleisten, haben sichfolgende Formate in der Industrie bisher durchgesetzt:

• Extensible Markup Language (XML) - XML ist eine Aufzeichnungssprache, diees ermoglicht, hierarchische Strukturen fur Mensch und Maschine lesbar darzustel-len. Da XML plattform- und implementierungsunabhangig ist, wird es gern und oftim Bereich des Austausches zwischen Programmen verwendet. XML ist erweiterbarund auf verschiedene Anwendungszwecke anpassbar. Das folgende Beispiel zeigt einKreditkarten-Objekt mitsamt seines Inhabers. Es soll zeigen, wie strukturiert diese Da-ten abgelegt und fur Menschen lesbar dargestellt werden konnen. XML ist vollstandigserialisierbar, was eine strukturierte Ubertragung ermoglicht.

Listing 2.1: XML Beispiel anhand eines Kreditkartenobjektes

<?xml v e r s i o n=” 1 . 0 ” e n c o d i n g=”UTF−8” standalone=” y e s ”?><K r e d i t k a r t e

H e r a u s g e b e r=”Xema”Nummer=”1234−5678−9012−3456”Deckung=”2 e+6”Waehrung=”EURO”><I n h a b e r

Name=” Mustermann ”Vorname=”Max”m a e n n l i c h=” t r u e ”

18

Page 37: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

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 ”><Hobbys><Hobby>R e i t e n</Hobby><Hobby>G o l f e n</Hobby><Hobby>Lesen</Hobby>

</ Hobbys><K i n d e r />

</ I n h a b e r></ K r e d i t k a r t e>

Großere Strukturen sind allerdings schnell unubersichtlich. Des Weiteren sind bereits indiesem Beispiel viele Redundanzen erkennbar und im Gegensatz zu JavaScript ObjectNotation (JSON) werden XML-Dateien im Schnitt deutlich großer (vgl. [W3Cc]).

• Voice Extensible Markup Language (VoiceXML) - Ist ein XML-Format, was aufdie Beschreibung von Sprachdialogablaufen optimiert und entwickelt wurde. Es wirdgern im Bereich von Telefonanwendungen und im World Wide Web (WWW) genutzt.

Listing 2.2: VXML Beispiel Wetter, Sport und Nachrichten

<?xml 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 waehlen S i e a u s : <enumerate /></ prompt><c h o i c e n e x t=” h t t p : // s p o r t s . example . com/ s t a r t . vxml ”>

S p o r t</ c h o i c e><c h o i c e n e x t=” h t t p : // weather . example . com/ i n t r o . vxml ”>

Wetter</ c h o i c e><c h o i c e n e x t=” h t t p : // news . example . com/ news . vxml ”>

N a c h r i c h t e n</ c h o i c e><n o i n p u t>B i t t e waehlen S i e e i n Thema a u s : <enumerate /></ n o i n p u t>

</menu></ vxml>

Hierbei zeigt sich vor allem die Moglichkeit einer genauen und einfachen Beschreibungeines Ablaufes in einem Sprachdialogsystem.

• JSON - Dieses Format wird fur REST-APIs, unter anderem bei Googles Assistantoder Amazons Alexa, genutzt. JSON ist ein oft eingesetzter Standard im Bereich derWebapplikationen. Dabei eignet es sich besonders fur die Ubertragung von Daten inlangsamen Netzwerken. JSON ist wie XML vollstandig serialisierbar.

19

Page 38: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

2. Grundlagen

Listing 2.3: JSON Beispiel anhand eines Kreditkartenobjektes

{” H e r a u s g e b e r ” : ”Xema” ,”Nummer” : ”1234−5678−9012−3456” ,” Deckung ” : 2 e +6,”Waehrung” : ”EURO” ,” I n h a b e r ” :{

”Name” : ”Mustermann ” ,”Vorname” : ”Max” ,” m a e n n l i c h ” : true ,” Hobbys ” : [ ” R e i t e n ” , ” G o l f e n ” , ” Lesen ” ] ,” A l t e r ” : 42 ,” K i n d e r ” : [ ] ,” P a r t n e r ” : n u l l

}}

Die gezeigten Austauschformate werden in zwei Anwendungsfallen verwendet:

• Ubertragung - Die Datenubertragung erfolgt zwischen Client (Nutzer) und Auswer-tungsserver (Systemanbieter). Hierbei ist die Serialisierbarkeit und die Datengroßeausschlaggebend.

• Funktionale Beschreibung - Die Beschreibung des Dialoges und dessen Abfolge er-folgt mittels Wenn-Dann-Bedingungen. Hierbei ist es sinnvoll, dass die formuliertenbzw. formulierbaren Bedingungen einfach zu lesen und schreiben sind, damit dieseAbfolgen auch ohne erhohten Aufwand erstellt werden konnen.

Zusammengefasst zeigt dieses Kapitel viele Einblicke in die Grundlagen von Spracherken-nungssystemen und deren Probleme bzw. Hurden. Das folgende Kapitel zeigt die aktuelleMarktsituation und Entwicklungsstande solcher Systeme.

20

Page 39: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

Kapitel 3

Stand der Technik

In diesem Kapitel werden einzelne Komponenten aufgezeigt, die es auf dem Markt bereitsgibt bzw. dort schon ihre Verwendung in bestimmten Bereichen finden. Diese werden kurzvorgestellt und auf Anwendbarkeit in Care Viva Doku gepruft.

3.1 Barrierefreie Softwarelosungen (Sehbehinderung)

Barrierefreie Softwarelosungen sind meist bereits im Betriebssystem integriert. So kann bei-spielsweise Text, uber dem sich die Maus befindet, vorgelesen werden. Zudem kann derKontrast verstellt oder die Schrift vergroßert werden. Diese meist als Bedienhilfen bezeichne-ten Techniken stehen in Microsoft-, Linux- und MacOSX-Systemen zur Verfugung. Daruberhinaus gibt es auch hier einige interessante Erweiterungsmoglichkeiten, die mit wenigenHandgriffen in die eigene Applikation eingebettet werden konnen. Von Microsoft wurdediesbezuglich ein Design-Guide herausgegeben (vgl. [Mica]). Wem die im Betriebssystemstandardmaßig integrierten Losungen nicht ausreichen kann durch eine Fulle an kleinerenTools diese erweitern. Diese Masterarbeit legt den Fokus auf Sprachassistenten, wie sie imFolgenden 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 bezuglich ihrerVerwendung. Sprachassistenten sind komplexe Softwarelosungen, die im normalen Alltag be-reits oft genutzt werden, wie bspw. zum Einschalten des Lichtes per Sprachbefehl (SmartHome). Sie simulieren dem Benutzer die Kommunikation mit einem Menschen, sodass derNutzer zu keiner Zeit das Gefuhl haben soll sich mit einem Computer zu unterhalten odergar mit sich selbst. Meist wird dabei auch zusatzliche Hardware benotigt bzw. angeboten.

Bei der Erkennung ist das Ziel das Gesprochene in Textform zu erhalten, ahnlich wie beieinem Diktat. Es wird meist mit dem Nutzer kein Dialog gefuhrt sondern nur Spracheingabeohne Feedback erkannt und erfasst.

21

Page 40: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

3. Stand der Technik

In erster Linie sollen diese Systeme das Leben erleichtern und die Nutzer bei alltaglichenAufgaben unterstutzen.

3.2.1 Sprachassistenten

Da es bei Sprachassistenzsystemen eine Fulle auf dem Markt gibt, werden nachfolgend diebekanntesten aufgezeigt und deren Unterschiede analysiert. Im Groben lasst sich jedochvorab sagen, dass jeder Anbieter unterschiedliche, teilweise auch Drittanbieter-Gerate un-terstutzt. Der Nutzer muss sich also festlegen, welches Gerat verwendet werden soll umUnterstutzungsproblemen aus dem Weg zugehen. Im nachfolgenden werden die Systemekurz vorgestellt und in einer Tabelle mit Pro und Contra zusammengefasst. Dabei wurdesich an einem durchgefuhrten Vergleich von Netzwerkwelt1 orientiert.

Google Assistant

Google Assistant ist ein von Google2 entwickeltes Assistenzsystem. Es kann plattformu-nabhangig 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. Daruber hinaus wird Google Assistant auch bei Smart TVs (alsoFernsehern) und Autos verwendet. Es gibt bereits uber 400.000 unterstutzte Endgerate.

Durch die kontextsensitive Verarbeitung lernt Google Assistant den Nutzer immer besserkennen und verbessert somit die Verarbeitungsqualitat und dessen Antworten zu vorherigenGesprachsinhalten. 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 gewahrleisten die Verknupfung des Sprachbefehls mit der eigenen Anwendung. So stelltGoogle weitere Funktionen fur Entwickler bereit. Es gibt fur C Sharp (C#) (.NET Frame-work (.Net)) ein eigenes Software Development Kit (SDK). Eine Action setzt sich wie folgtzusammen:

• Keyword : Das Schlusselwort wird bei Google registriert und ermoglicht das Starteneiner App oder der Empfehlung zur Installation dieser. Sollte die App installiert seinwird diese gestartet und das Verstandene per Response ubermittelt.

• Response : Der empfangene Response wird von der App verarbeitet und liefert nun dieangeforderten Informationen. Diese werden nun in der App angezeigt oder konnen wie-der an das Betriebssystem weitergegeben werden. Nun konnen weitere Interaktionendirekt 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.20172https://www.google.de

22

Page 41: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

3.2. Spracherkennungssystem

Zusammengefasst hat der Google Assistant folgende Pro- und Contra-Punkte:

Tabelle 3.1: Google Assistant Bewertung (vgl. [Wob17b])

Pro ContraGroße Datenbasis Immer aktivVersteht viele Fragen Smart Home nur mit GoogleHome moglichEinbindung in C#

Amazon Alexa

Alexa ist ein von Amazon3 entwickelter Sprachassistent. Er benotigt zur Verwendung einenAmazon Account und kann mit Hilfe von sogenannten Skills erweitert werden. Er bietet eineFulle an Funktionen und Erweiterungen. Auf Grund der Skills gibt es bereits viele Moglich-keiten auch SmartHome-Gerate von Drittanbietern zu verwenden. So kann beispielsweiseohne Aufwand die Lichtsteuerung eins Raums uber Alexa erfolgen. Das Paket gibt es schonzum 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 zuruck an den Sender geschickt auf dem dann einProgrammaufruf gestartet wird oder einfach die gewunschten Informationen zuruckgegebenwerden. So kann Alexa die Antwort dem Benutzer ausgeben oder weitere Eingabemoglich-keiten bekannt zu geben (siehe [Amaa]).Hier ist das grundsatzliche Vorgehen ahnlich wie bei Google, jedoch ist der Fokus ganz klarauf die Trennung von Software und Gerat 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 ContraSkills erweiterbar Einrichtung aufwendigZuverlassige Spracherkennung Daten von Nutzern in der CloudSmart Home Integration Amazon Konto erforderlichEinbindung in C# angekundigt

3https://www.amazon.de4 Amazon Angebot https://goo.gl/u252bC - Stand 20.06.2018

23

Page 42: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

3. Stand der Technik

Apple Siri

Siri wurde von Apple5 entwickelt und erstmalig fur das iPhone 4S vorgestellt. Es ist einSprachassistent fur Mac- und iOS-Gerate und kann nur auf diesen verwendet werden. Durchdie gute Integration in das Betriebssystem ist eine komplette sprachbasierte Bedienung dieses(Freihand) moglich. Da die Integration dieses Systems leider nur auf Apple-Geraten moglichist, wird nicht weiter auf die genaue Signalverarbeitung eingegangen und ist hier daher nurzur Vollstandigkeit aufgefuhrt. [noab]Beispiel : Siri (Keyword Assistent) Was habe ich heute fur Termine? (Keyword: Terminka-lender) - Heute haben Sie um 9 Uhr einen Arzttermin und um 12 Uhr treffen Sie sich zumMittagessen.

Fur Siri ergeben sich folgende Pro- und Contra- Punkten siehe Tabelle 3.3.

Tabelle 3.3: Apple Siri Bewertung (vgl. [Wob17a])

Pro ContraFreihandbedienung DatenschutzIntegration in das Betriebssystem Hellhorig (Teilaktiv)Spracheingabe uberall moglich nicht kontextsensitiv

kein Support fur Windows / Web

Microsoft Cortana

Cortana ist ein von Microsoft6 entwickelter Sprachassistent, welcher bereits im Windows-Betriebssystem (Windows 10) integriert ist. Die Geschwindigkeit der Verarbeitung vonSpracheingaben ist im Vergleich zu den anderen Anbietern noch ausbaufahig.

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 werdenkann. 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, konnenkeinen genauen Aussagen zur Signalverarbeitung getroffen werden. Zum jetzigen Zeitpunkt(Stand August 2018) konnen folgende Pro- und Contra-Punkte (siehe Tabelle 3.4) fur 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/siri6https://www.microsoft.com/de-de/windows/cortana

24

Page 43: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

3.2. Spracherkennungssystem

Tabelle 3.4: Microsoft Cortana Bewertung (vgl. [Wob17a])

Pro ContraPlattform unabhangig (Beta) LangsamPrazise Ungenaue WebsucheDatenschutz SmartHome noch nicht verfugbarEinbindung in C#

Dragon

Dragon ist eine von Dragon Systems (Nuance7) entwickelte Spracherkennungssoftware. Sieeignet sich besonders gut fur die Digitalisierung von gesprochenem Text. Dabei wird esbei der Verwendung immer genauer und die Anpassung an den Sprecher immer besser.Das Programm kann daruber hinaus auch markierte Texte vorlesen und per Spracheingabekorrigieren und neue Abkurzungen, Spitznamen oder Worter hinzufugen. Die Bedienung desBetriebssystems Windows ist auch moglich, 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 konnen unterhttps://www.nuance.com/de-de/dragon.html abgerufen werden).

Tabelle 3.5: Preisliste Dragon Systems (Nuance) Software Dragon Stand: 01/2018

Produkt PreisDragon Professional Individual, v15 399 eDragon Professional Individual, v15 Mac 299 eDragon NaturallySpeaking 13 Home 99 e

3.2.3 Verwendung in der Medizin

In der Medizin werden schon seit geraumer Zeit Spracherkennungssysteme eingesetzt, da dieFachsprache sehr eindeutig formuliert und interpretiert werden kann. Zudem sind Fachaus-drucke international einheitlich. Hier wird jedoch meist nur die Dokumentation direkt perSpracheingabe verarbeitet (Diktat).

Auch in Krankenhausern, wie an der Universitatsklinik in Munster, werden per Sprachein-gaben Aktivitaten des taglichen Lebens (ATL) und Untersuchungen dokumentiert. Dabeigliedert sich der Prozess der Eingabe in zwei Schritte: Der Benutzer gibt seine Daten imKlinischem Arbeitsplatzsystem (KAS) ein. Dort konnen die Daten noch angepasst und korri-giert und anschließend online an das Krankenhausinformationssystem (KIS) ubertragen unddort verarbeitet werden. (vgl. [Dug17] S. 114ff)

7http://www.nuance.de

25

Page 44: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

3. Stand der Technik

3.2.4 Verwendung in der Pflegeplanung

Zur Zeit gibt es in der Pflegeplanung noch keine erwahnenswerten Sprachassistenzsysteme,nur Spracherkennung in Form von Texteingaben. Ein Anbieter fur ein solches System ist dieDRK-Service GmbH (vgl. [SG]). Die Anwendung bietet dabei die Moglichkeit der Erfassungvon Pflegeanamnesen, Pflegeplanung und der Durchfuhrungsdokumentation. In erster Liniesoll das Produkt Pflegekrafte in ihrem taglichen Dokumentationsprozess unterstutzen undihnen die Arbeit erleichtern. Im Kern setzt die DRK-Service GmbH darauf, moglichst wenigIT-Infrastruktur in den Pflegeheimen einzufuhren und die Software so schnell und kosteneffi-zient wie moglich in Betrieb zu nehmen. Die Anwendung lauft mittels einer App auf mobilenSysteme (siehe Abbildung 3.1) und benotigt nur einen Datenbank-Server, der von den Mo-bilsystemen angesprochen werden kann. Es ist auch moglich eine Offline-Dokumentationdurchzufuhren und die erfassten Daten im Nachhinein mit dem Online-System zu synchro-nisieren.

Abbildung 3.1: DRK - Service GmbH Pflegesoftware (Quelle: [SG])

Die Spracheingabe beschrankt sich in der App nur darauf, Textfelder und Pflegeberichteeingeben zu konnen und in der Wunddokumentation Wunden zu erfassen. Es gibt bisherkeine 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 personlichen Daten uber die Patienten bzw. Kunden zu beachten,vor allem wenn die Verarbeitung durch z.B. Sprachdaten an Dritte (Betreiber der Serviceswie Google, Amazon, Microsoft, uvm.) weitergegeben werden. Da im Mai 2018 die Gesetze8

diesbezuglich weiter angepasst wurden, mussen daher im Einzelfall von dem zustandigen Da-tenschutzbeauftragten die Anforderungen gepruft werden. Fur die Entwicklung im Rahmendieser Masterarbeit wurde beschlossen, dass die Dienste von Dritten zunachst nicht produk-tiv genutzt werden durfen bis eine genaue Prufung erfolgt ist. Zudem wird die Windows-

8DSGVO: https://dsgvo-gesetz.de/

26

Page 45: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

3.2. Spracherkennungssystem

Spracherkennung in Betracht gezogen. Die Verarbeitung der Daten erfolgt ausschließlich imeigenem Unternehmen (Kapitel 4.1.1).

Da die erfassten Sprachdaten zentral verarbeitet werden mussen, ist auch die Moglichkeitvon Angriffen auf solche System zu betrachten. Dabei gibt es eine Vielzahl von moglichenAngriffspunkten und Angriffszielen, so dass es wichtig ist drauf zu achten, auf was es poten-tielle Angreifer absehen konnten. Zu beachten ist, dass ein hunderprozentiger Schutz nichtbesteht und hier nur Losungsansatze und Ideen aufgefuhrt 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. Daruber hinaus wird die Anwendung auf der Seitedes Webservers regelmaßig auf Sicherheitslucken uberpruft und mit W3C/Standardsgearbeitet. In der klassischen Anwendung unter Windows ist so ein Angriff nichtmoglich.

• Ubertragung - Da die Sprachdaten sowohl vom Server zum Client als auch umgekehrtubertragen werden mussen, ist es fur einen moglichen Angreifer interessant, hier einenAngriff zu planen. Er konnte nur auf die Daten aus sein oder auch versuchen diese zumanipulieren. In dieser Applikation erfolgt die Datenubertragung mit dem gangigenHypertext Transfer Protocol Secure (HTTPS)-Standard und ist somit verschlusselt.Dem Angreifer wird somit die Einflussnahme auf die Ubertragung erschwert. In derWindows-Version von Care Viva erfolgt die Datenubertragung nur im lokalen Netzwerkoder per Virtual Private Network (VPN) und ist somit gegen externe Angriffe gesichert.Lokales Abfangen oder Verandern der Daten ware moglich und soll mit Hilfe einerErweiterung im Bereich der Verschlusselung zukunftig unterbunden werden.

• Sprach-Injektion - Neue Technologien bieten meist neue Angriffsmoglichkeiten. Soist es mittlerweile moglich, in Musik oder Werbung Sprachbefehle zu verstecken umdiese mit Hilfe der Lautsprecher zum Mikrofon des Handys oder Computers zu ubert-ragen (vgl. [Nic18]). So konnen Daten verandert oder Befehle abgesetzt werden, dieder Nutzer nicht mal erkennt. Diese Befehle sind jedoch sehr speziell und konnennicht universell angewendet werden, so dass der Angreifer genau wissen muss welchesSystem mit welchen Daten angegriffen werden soll. Somit ist ein solcher Angriff alsunwahrscheinlich einzustufen.

• Verarbeitung - Ein weiterer Angriffspunkt ist der Server, der die Daten verarbeitet undspeichert. Dort gibt es unzahlige Moglichkeiten uber verschiedene Wege anzugreifen:

– Verarbeitungsfehler - Versucht, die Verarbeitungssoftware zu einem Absturz zubringen um hierdurch Zugriff auf den Softwarecode zu bekommen oder moglicheCode-Injektionen durchzufuhren.

– Herkommliche Hacks - Betriebssystem Sicherheitslucken, Hardware-, Software-oder Konfigurationslucken.

27

Page 46: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

3. Stand der Technik

– Uberlastung - Ahnlich wie bei einer DDOS-Attacke, Schaden wird hier durchdas Offline-Schalten des Services erreicht.

Die aufgefuhrten Probleme werden in der Konzeption des Systems soweit moglich bedachtund im Einzelfall Bezug darauf genommen.

3.3 Akzeptanz

Damit ein Spracherkennungssystem oder ein Sprachassistent funktioniert, mussen außerhalbder technischen Anforderungen weitere Anforderungen, wie die Akzeptanz, erfullt werden.Sollte ein Benutzer Unbehagen verspuren mit einem Computer zu sprechen, wird er ein sol-ches System nicht verwenden. Auch muss die Erkennungsgenauigkeit so gut sein, dass einBenutzer direkt einen Vorteil verspurt um ein solches System verwenden zu wollen.

UmsatzinMillionenUS-Dollar

17,717,7 104,7104,7689,4689,4

2.259,92.259,9

5.314,15.314,1

8.7288.728

11.860,611.860,6

UmsatzmitvirtuellendigitalenAssistentenfürEndkundenimJahr2015sowieeinePrognosebis2021(inMillionenUS-Dollar)

WeitereInformationen:Weltweit

2015 2016* 2017* 2018* 2019* 2020* 2021*

QuelleTractica©Statista2017

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 Einfuhrung der Sprachassistenten wie Siri, Google und Cortana nimmt die Nutzungsolcher Systeme stetig zu und erfreut sich somit immer mehr Beliebtheit. Die Nutzungszahlenbelegen eben diesen Sachverhalt (siehe Abbildung 2.2), was immer mehr zu einer erhohten

28

Page 47: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

3.3. Akzeptanz

Akzeptanz fuhrt. Auch zeigen die Prognosen einen stetigen Anstieg des Umsatzes solcherSysteme (wie in Abbildung 3.2 dargestellt). Mit der Frage der Akzeptanz haben sich Nuanceund andere Anbieter von Spracherkennungssystemen bereits befasst.(vgl. [Nuac] oder [Lan]oder [Ru07] Seite 106ff)

3.3.1 Zusammenfassung

Zur Zeit gibt es schon einige Assistenzsysteme, jedoch werden diese in der Medizin undder 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 vonden Nutzern gerne verwendet. Um diese spannende und zugleich auch unterhaltsame undvor allem nutzliche Technologie den Nutzern von Care Viva Doku zur Verfugung zu stellen,ist es unerlasslich ein genaues Konzept anhand von konkreten Anwendungsfallen, wie in 4.3beschrieben, zu erarbeiten.Hierbei sollen fur Care Viva weitere Nutzergruppen erschlossenwerden.

Um die Anforderungen an eine sprachgesteuerte Bedienung einer Software umzusetzen,wurde ein Konzept ausgearbeitet, welches im folgenden Kapitel definiert wird.

29

Page 48: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor
Page 49: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

Kapitel 4

Konzept

Dieses Kapitel definiert das Konzept fur ein Sprachassistenzsystem, dass in die SoftwareCare Viva Doku integriert werden soll, um diese fur spezielle Menschengruppen zuganglichzu machen.

4.1 Idee

Da Care Viva Doku bereits einige Losungen fur Anwender mit einer Sehbehinderung vorsieht,soll das bestehende Konzept durch die Bedienung mittels Sprache erweitert werden. Sosoll ermoglicht werden, dass die Software auch fur blinde oder sehbehinderte Menschenzuganglich ist. Hierzu wird im Folgenden erst auf bestehende Sprachassistenten und derenIntegrationsmoglichkeiten eingegangen, so wie die moglichen Nutzungsszenarien (Use Cases)beleuchtet und dargestellt.

4.1.1 Integration von Sprachassistenten

Die verschiedenen Sprachassistenten und deren Unterschiede wurden bereits im Kapitel 3.2.1erlautert. Nun sollen die Integrations- und Funktionsmoglichkeiten dieser Sprachassistentenaufgezeigt werden.

Web (Active Server Pages)

Die Sprachausgabe erfolgt grundsatzlich mittels Audiodateien oder Streams und wird ineinem HTML5-Audio-Tag abgespielt. Dieses befindet sich im Assistenten-Menu und hat dasAutoplay-Attribut. Dabei werden die Ruckgaben automatisch in mehrere Formate gewandelt,so dass der Assistent mit allen Browsern verwendet werden kann. Dabei werden die FormateWaveform Audio File Format (wav), MPEG Audio Layer III (mp3) und ogg (ogg) unterstutzt.

Die Sprachaufnahme oder Sprachubergabe an den Server erfolgt mit der ”getUserMedia”-Funktion von HTML5 (siehe Abbildung 4.1). Die Aufnahme erfolgt entweder durch einenKlick auf die Schaltflache, 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

Page 50: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

4. Konzept

Die entstandenen Audio-Samples werden im Anschluss an den Server gesendet und dort aufSchlusselworter oder Befehle analysiert. Die analysierten Daten werden dann an den Clientzuruck gesendet und dort im Assistenten-Bereich ausgegeben oder die gewunschte Funk-tion direkt ausgefuhrt. Sollte nichts erkannt worden sein, erfolgt eine Sprachausgabe undAnzeige, die dem Nutzer daruber informiert.

Um ein Sprachsignal moglichst genau zu detektieren, wurde ein spezieller Filter in Ja-vascript von [Les] angewendet. Eine Aufbereitung des Sprachsignals wird in der aktuellenVersion nicht vorgenommen, da die Sprachassistenten hierfur 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 Streamdes Mikrofones verwendet werden, weswegen in der Grundversion keine Audio-Samples ge-neriert werden mussen. Das Abspielen der Audioausgabe erfolgt ebenfalls direkt als Streaman die Lautsprecher. Auch hier werden keine weiteren Filter oder Aufbereitungsmethodenangewendet.

Verarbeitung durch den Google Assistent

Da Google viele SDKs zur Verfugung stellt und eine sehr gute Dokumentation hat, ist dieIntegration in das CV-System trivial. Der Grundaufbau des Systems ist in Abbildung 4.3 auf-gezeigt. Dabei ist das Gerat mit dem Google Assistant-SDK der Webserver oder Computermit Care Viva Doku. Dieser sendet seine Anfrage (die Sprachdaten) an den Google CloudService, der diese analysiert und vorverarbeitet. Nach erfolgreicher Erkennung wird ein Call-back erstellt, der die auszufuhrende Funktion und Ubergabeparameter enthalt. Diese werdendann durch Care Viva verarbeitet und dem Nutzer auf dem Bildschirm dargestellt bzw. perSprachausgabe vorgelesen. Um den Google Cloud Service nutzen zu konnen, benotigt CareViva eine valide Geratekennung von Google. Diese muss beantragt werden und wird ei-nem Google-Entwicklerkonto zugeordnet. Hierfur musste auch die Google-Authentifikation-API in Care Viva implementiert werden. Das konnte aber im Rahmen der Zwei-Faktoren-Authentifizierung auch noch in anderen Bereichen des Programmes verwendet werden.

32

Page 51: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

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 einedirekt Integration in C# von Amazon noch nicht bereitgestellt. Somit muss fur den Testeine andere Klassenbibliothek gefunden werden. Hierfur wurde eine beispielhafte Anwendungvon Amazon in GitHub1 verwendet bzw. ein C#-Connector entwickelt. Dabei teilt sich dasSDK bei Amazon in die Bereiche Alexa Skill Kit (ASK) und Alexa Voice Service (AVS).

Das Alexa-ASK ermoglicht auf ein erkanntes Kommando, sowohl online in der AmazonCloud Funktionen auszufuhren, als auch Endgeraten Nachrichten, Funktionsaufrufe oderEvents zu senden.

Der Alexa-AVS wiederum stellt Funktionen zur Sprachverarbeitung wie Sprecherkennung,Sprachsynthese uvm. zur Verfugung.

Der Verarbeitungsablauf bei Amazon ist wie folgt aufgebaut (siehe Abbildung 4.4). Imersten Schritt wird ein Sprachsignal im Sprachsignal-Prozessor erzeugt. Dies kann wie beiallen Assistenten von einem Mikrofon stammen oder von einer Audio-Datei. Dieses Signalwird in ein Data-Stream gewandelt und dem Audio-Input-Processor zugefuhrt. Hierbei findeteine erste Analyse statt. Es werden Schlusselworter versucht zu ermitteln und damit dann dieAlexa Communcation Libary versorgt. Sollte ein Schlusselwort erkannt worden sein, so wirdmittels des Amazon Web Services (AWS)-Protokolls eine Funktion in der Amazon Cloudausgefuhrt. In jedem Fall wird die Alexa Directive Sequenzer Libary verwendet um evtl.fur spatere Anfragen eine hohere Genauigkeit zu erreichen und eine Ruckmeldung an denBenutzer zu senden.

1https://github.com/alexa/skill-sample-csharp-fact

33

Page 52: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

4. Konzept

Abbildung 4.3: Funktionsweise Google Assistant anhand des Beispiels einer LED-Ansteuerung. (vgl. [noaa])

34

Page 53: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

4.1. Idee

Abbildung 4.4: Funktionsweise von Alexa (vgl. [Amab])

Verarbeitung durch Apples Siri

Da Apple fur Siri keine Moglichkeiten zulasst es außerhalb der Apple-Produktfamilie zu ver-wenden kann eine Integration nicht erfolgen und scheidet somit aus der weiteren Betrachtungund Planung aus.

Verarbeitung durch Microsofts Cortana

Cortana, der Sprachassistent von Microsoft, befindet sich zur Zeit noch in der Entwicklungund die Verwendung des SDKs ist bisher nur in einer Windows Mobile App moglich. Dahergestaltet sich die Integration in eine Windows-Anwendung oder in einer Webanwendung zurZeit noch schwierig. Hierfur gibt es bereits einige Alternativen, die aber nicht von Microsoftselbst stammen. In der ersten Version wurde deshalb nur die Microsoft Spracherkennung(Microsoft Speech) implementiert bis eine neue Moglichkeit der Integration von Microsoftgeschaffen wurde. Ein mogliches Implementierungsszenario mittels Virtuelle Maschine (VM)wurde getestet jedoch auf Grund der mangelnden Performance in der Verarbeitung und einersehr hohen Fehleranfalligkeit der Verfugbarkeit wieder verworfen. Das Verarbeitungsmodellvon Cortana, welches auch verwendet wird, basiert trotzdem auf der Windows Speech-Plattform (siehe Abbildung 4.5). Die wichtigsten Unterschiede sind jedoch das VCD-File unddie Auslagerung der Speechplattform und des Recognition-Services in die Cloud (Azure) vonMicrosoft, was die Performance und Erkennungsrate stark verbessern sollte.

35

Page 54: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

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 Moglichkeitzu geben den fur sich besten Dienst auszuwahlen und diese untereinander zu vergleichen.Daher wurde ein Factory Pattern verwendet und damit der Care Viva Assist erstellt, diesersteht im Mittelpunkt der Anwendung wie in Abbildung 4.6 zu sehen und besteht aus denBereichen:

• Inhalte : Bestehend aus einzelnen Satzen die ausgegeben werden sollen.

• Funktionen : Bestehend aus eine Liste von Kommandos und Callback-Funktionen,welche bei Bedarf auch mit einer Bemerkung versehen werden konnen. CareViva Assistgibt die Bemerkungen aus bzw. stellt sie vor.

• Type : Assistententyp (Windows, Cortana, Google, Alexa)

• TranslateType : Ubersetzungstyp (Microsoft, Google)

36

Page 55: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

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 inder Umsetzung (Abschnitt 5.3) in Form von Mockups dargestellt. Dem Benutzer werden diemoglichen Befehle bzw. Eingaben angezeigt. Daruber hinaus kann der Benutzer in jedemDialog folgende Befehle nutzen:

• Was kann ich tun? oder Hilfe: Gibt eine Liste mit moglichen Bedienungsbeispielenzuruck.

• Stop oder Stop Care Viva: Bricht das Zuhoren oder die Eingabe ab.

• Weitere Kommandos konnen im Interface hinzugefugt werden.

Diese Befehle werden mit Global gekennzeichnet und mussen bei der Integration desAssistenten nicht programmiert werden, da sie in der Basis vorbelegt sind.

37

Page 56: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

4. Konzept

Audio Feedback

Um unabhangig vom Sprachassistenten den Nutzer weiter zu unterstutzen, wurde im Systemein zusatzliches auditives Feedback integriert, dies soll die folgenden Funktionen umfassen:

• Meldungen - Bei Fehlermeldungen wird im normalen Modus ein Warnton abgespielt.Im Modus der Sprachunterstutzung wird die Meldung dem Nutzer vorgelesen. BeiMeldungen, bspw. nach der erfolgreichen Ubertragung oder Speicherung der Daten,wird ein anderer Ton zur Signalisierung des Erfolgs abgespielt. Dieser Ton orientiertsich 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 ausgelost, um den Nutzer zuwarnen. Bei einer Komplettlunterstutzung (siehe Abschnitt 4.2.2) wird auch hier dieWarnung direkt vorgelesen.

Die Tone sind durch den Nutzer auch im Assistent einstellbar und konnen so beliebig ange-passt werden.

Das auditive Feedback soll dem Nutzer auch ohne Hinsehen wichtige Informationenbieten und kann bei Bedarf an weitere Anwendungsfalle 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 gefuhrten und freien Dialogen eingefuhrt. Dabei wird in eine Teil- und Komplettun-terstutzung unterschieden.

4.2.1 Teilunterstutzung

Bei der Teilunterstutzung obliegt es dem aktuellen Benutzer, welche Ausgaben er gernstandardmaßig haben mochte. Er kann zwischen Beschreibungen, Zusammenfassungen undNachrichten wahlen. Fehler konnen auch bei Bedarf sprachbasiert ausgegeben werden.

4.2.2 Komplettunterstutzung

Die Komplettunterstutzung ist vor allem fur Menschen mit starkeren Einschrankungen ge-dacht. Hierbei wird in jedem Formular zuerst eine kurze Beschreibung und alle Warnungenund wichtige Informationen ausgegeben. Felder werden beim Uberfahren mit der Maus oderdurch antippen auf einem mobilen Gerat vorgelesen. Dabei arbeitet das System ahnlich wieein Screen-Reader.

4.2.3 Gefuhrte Dialogfuhrung

Ahnlich wie bei einem Navigationssystem wird anfangs die Aufgabe gewahlt. Der Assistentbestatigt die gewahlte Aufgabe und fragt nun Schritt fur Schritt die einzelnen Werte ab.

38

Page 57: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

4.2. Dialogdesgin

Sollte der Assistent bei einer Eingabe nicht sicher sein, gibt er eine mogliche Liste mitverstandenen Eingaben aus. Hier kann nun der Nutzer mit Angabe der Zeilennummer oderdurch erneutes Einsprechen die gewunschte Option auswahlen.

So werden nach und nach alle Informationen im System erfasst. Dazu kann eine Eingabeeines nicht Pflichtfeldes mit dem Befehl

”Weiter“ ubersprungen werden. Es soll dem Benut-

zer auch ermoglicht werden den Modus auf Pflichtfelder zu begrenzen, sodass die Erfassungder Daten noch einfacher und effizienter erfolgen kann.

Beispiel”

Erfassen eines neuen Kunden“:

• Assistent:”Wie ist der Nachname des Kunden?“

Benutzer:”Muller“

• 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 Muller Steve geboren am 15ten ersten

1966, ist das korrekt?“Benutzer:

”Ja“

• Assistent:”Kunde wurde gespeichert“

Zusammenfassen kann man die Vor- und Nachteile einer gefuhrten Dialogfuhrung wie folgt:

Tabelle 4.1: Vor- und Nachteile einer gefuhrten Dialogfuhrung

Pro ContraAnforderungen sind klar erkennbar Nutzer mit ErfahrungVermeidung von Fehleingaben keine Zeitersparnis

4.2.4 Freie Dialogfuhrung

Bei der freien Dialogfuhrung ubernimmt der Nutzer die Reihenfolge und die Wichtigkeit derInformationen. Pflichtfelder mussen zum Speichern jedoch weiterhin ausgefullt sein. Die freieDialogfuhrung 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

Page 58: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

4. Konzept

werden. Der Dialogassistent wird jedoch nicht in der Basis-Implementierung vorhandensein und sei hier nur der Vollstandigkeit halber erwahnt.

• Durch Nennung des Feldes und somit der Erganzung des Inhaltes

Im Vergleich zur gefuhrten Dialogfuhrung konnen die Vor und Nachteile wie folgt zusam-mengefasst werden:

Tabelle 4.2: Vor- und Nachteile einer freien Dialogfuhrung

Pro ContraZeitersparnis Nutzer mit Erfahrung

Fehleranfalligkeit Fehleingaben

Vorteile: Die Vorteile einer freien Dialogfuhrung sind in erster Linie eine hohe Zeitersparnis.

Nachteile: Diese Dialogfuhrung kann nur von Nutzern verwendet werden, die das Systembereits sehr gut kennen. Wichtig ist hierbei die Reihenfolge der Nennung der Daten, damitdiese an die richtigen Stellen gespeichert werden konnen.

4.3 Use Cases

Im Nachfolgenden werden einzelne Anwendungsfalle (Use Cases) erlautert, welche mittelsdes Care Viva Assist erleichtert werden sollen. Hierfur werden zunachst die bestehendenKonzepte erwahnt und anschließend die Abstraktion der neuen Konzepte vorgestellt. Darausresultierende Anforderungen an den Sprachassistent werden in der Evaluierung (Kapitel 6)weiterverfolgt.

4.3.1 Pflegekraft und Arzt

In dieser Sektion werden nun die Anwendungsfalle in der Pflegeplanung Care Viva aus Sichteiner Pflegekraft beschrieben. Als Pflegekraft sind die Personen zu verstehen, die aktiv mitdem 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 inbestimmter Taktung im Pflegeheim vorbeischauen oder zu denen der Kunde gebracht werdenmuss. Im Nachfolgenden werden die Sprachfunktionen anhand von Beispielen erlautert. Da-bei teilen sich die Funktionen in Globale also uberall im Programm vorhandene Funktionenund Lokale also fomluarabhangige Funktionen.

Ubergreifende und Globale Funktionen

Als globale Funktionen werden Funktionen bezeichnet, die im gesamten Programm undohne Kontextbezug auf den geoffneten Dialog verwendet werden konnen. Sie wurden vomEntwickler festgelegt und konnen nicht durch den User angepasst werden. Zu den GlobalenFunktionen gehoren:

40

Page 59: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

4.3. Use Cases

• Textausgabe : Vorlesefunktion der einzelnen Felder, Nachrichten und Statuswechselim 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 meistenFunktionen automatisch generiert. Sie dienen der Bedienung des Fensters und passen sichdem Status an. Beispiel: Das Fenster ist im Bearbeiten-Modus und alle Felder sind somitfreigegeben. Durch Nennung des Feldes und dem Schlusselwort

”Erfassen“ kann der Inhalt

in das Feld eingesprochen werden. Lokale Funktionen konnen auch sehr stark angepasstvorkommen und beispielsweise wie folgt aussehen:

• Erfassen - Diktiert Inhalt fur das Feld bzw. des Dialoges.

• Klick oder Bestatigen - Lost das Ereignis des Feldes oder Buttons aus.

• Leeren - Loscht das Feld.

• Ausgeben - Gibt den Inhalt des Feldes wieder.

Diese Schlusselworter konnen in der Konfiguration des Care Viva-Assistenten bearbeitet undfur den Benutzer angepasst werden. Diese Bedienmoglichkeiten sind stark Schlusselwort ba-siert und ahnlich wie fruhere Bedienungen bspw. von Navigationssystemen.

Resultierende Anforderungen an ein solches System:

• Dialekt und Sprachprobleme

• Umgebungsgerausche

• Fachsprache

• Mobilitat

• Datenschutz

• Unterbrechungen durch den Benutzer

• Stummschaltung

41

Page 60: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

4. Konzept

Abbildung 4.7: Use Cases der Stammdaten

42

Page 61: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

4.3. Use Cases

Stammdaten

In den Stammdaten werden alle Kunden bzw. Patienten bezogene Daten verwaltet. DieserBereich ist meist der erste Einstiegspunkt fur die Pflegekrafte. Dabei stehen ihnen folgendeMoglichkeiten zur Verfugung (siehe zusatzlich Abbildung 4.7):

• Erfassen : Erfassen eines neuen Kunden. Dabei werden die einzelnen Felder abge-fragt und mit OK bestatigt. Mit Korrigieren wird der Schritt nochmal ausgefuhrt.Weiter fuhrt zum nachsten bzw. vorherigen Steuerelement. Wenn alle Felder gefulltwurden, gibt es eine Ruckmeldung, in der die Ubernahme der Daten bestatigt unddiese anschließend zusammengefasst wird.

• Medikation : Gibt die aktuelle Medikation des Kunden bzw. Patienten aus.

• Zusammenfassung : Gibt eine Zusammenfassung uber den aktuell ausgewahlten Kun-den bzw. Patienten aus. Dabei werden alle wichtigen Informationen, wie Allergien,Medikation und Unvertraglichkeiten, aufgezahlt. Zusatzlich werden die letzten Noti-zen und wichtigsten Stammdaten (Alter, Name und Angehorige) aufgefuhrt.

Wunddokumentation

Wie im Abschnitt 3.2.3 bereits beschrieben, sollen Wunden durch Spracheingabe direkterfasst werden konnen. Der Benutzer soll die Moglichkeit haben, die bereits bestehendenWunden genannt zu bekommen. Beispiel : Der Bewohner Max Mustermann hat eine offeneBrandwunde an der Hand. Diese wurde von Dr. Muller erfasst und wie folgt beschrieben:

”Wunde wurde beim Kaffeekochen zugefugt.“

Tagesubersicht

Die Tagesubersicht 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 konnen Informationen uber die Kollegen ein-gesehen werden. Dabei sollen zu nachst Zwei Funktionen umgesetzt werden:

• Tagesbericht : Informationen welcher Bewohner heute Geburtstag hat oder welcheTermine anstehen und Weitere

• Dienstplanung : Information daruber 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 erfasstePflegeprozesse durchfuhrt und dokumentiert. Hierbei waren folgende Informationen fur denTourensachbearbeiter wichtig:

43

Page 62: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

4. Konzept

• Nachste Station : Gibt der Pflegekraft die nachste Station und eine Zusammenfas-sung der Tatigkeiten und wichtigen Informationen des Kunden aus.

• Live Feedback : Routenanderungen oder sonstige wichtige Live-Informationen.

• Zusammenfassung : Gibt eine Tageszusammenfassung, ahnlich wie ein Dienstge-sprach oder Tagesbesprechung, zuruck. Es konnen zu den einzelnen Haltestellen derTouren weitere Anfragen gestellt werden.

Beispiel: Die nachste Station ist bei Frau Musterfrau. Diese hat Probleme beim Aufste-hen und benotigt hierfur Hilfe. Sie soll gewaschen und angekleidet werden. Vitalwerte wieBlutdruck, Puls und Gewicht mussen erneut erfasst werden.

4.3.2 Bewohner

Als eine weitere Anwendergruppe sind die Bewohner der Pflegeeinrichtung oder ambulantgepflegten Patienten vorgesehen. Folgende Nutzungsszenarien ergeben sich durch diese An-wendergruppe (zusatzlich dargestellt in Abbildung 4.8):

Abbildung 4.8: Bewohner Use Cases

• Suchanfragen : Suchen im Internet

• Wetter : Wetterbericht

44

Page 63: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

4.3. Use Cases

• News : Aktuelle Nachrichten

• Erinnerungen : Sowohl externe Erinnerungen als auch interne im System werdenausgegeben. So kann ein Bewohner uber seine App oder seinen smarten Lautsprecheran die Einnahme seiner Tabletten oder auch uber vereinbarte Termine erinnert werden.

• Radio : Durch externe smarte Lautsprecher gibt es die Moglichkeit Web-Radio zuhoren.

Fur diese Art der Nutzung konnten in erster Linie smarte Lautsprecher, so wie das Ter-minalkonzept von Care Viva Anwendung finden. Als Terminalkonzept wird ein stationarerPC mit Zugang fur alle Bewohner und dessen Angehorigen verstanden. Die Nutzung dieserFunktionen ist fur 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 Anwendungsmoglichkeiten

Es gibt noch unzahlige weitere Anwendungsmoglichkeiten in Care Viva, die nicht genanntwurden. Das hangt damit zusammen, dass die Anwendung immer weiterentwickelt wird unddies bisher die ersten vom Kunden gewunschten Anwendungsszenarien sind.Ein weiterer interessanter Anwendungsfall ware bspw. auch eine sprachbasierte Benutzeran-meldung. Hierdurch wurde auch eine Freihand-Anmeldung am System ermoglicht werden.Da fur diese Idee jedoch einige Sicherheitsbedenken geaußert wurden, wird diese in dieserArbeit nicht weiter verfolgt.

4.3.4 Anforderungen

Die Anforderungen an das Spracherkennungssystem wurde mit Hilfe der ersten Ideen undder Use Cases gesammelt und durch die Anforderungen aus der Einleitung erganzt. Diesewerden in der Implementierung (siehe Kapitel 5) und der Evaluierung (siehe Kapitel 6)genauer betrachtet.

45

Page 64: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor
Page 65: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

Kapitel 5

Implementierung

In diesem Kapitel wird die schrittweise Umsetzung des Konzeptes aus dem vorhergehendenKapitel 4 dargestellt. Hierfur wird zuerst das Entwickler- und Anwendersystem definiert undein Einblick in die Konzepte der Zusammenarbeit im Care Viva System gewahrt.

5.1 Systemanforderungen

Um die Zusammenarbeit und den spateren Verkauf der entwickelten Anwendung zu gewahr-leisten, werden nun die Anforderungen an das Computersystem oder Mobilgerat definiert.Dabei wird unterschieden in Entwickler- und Anwendersystem, da diese unterschiedlicheAufgaben erfullen mussen. Anforderungen an ein Server System fur die Care Viva Webum-gebung werden hier nicht dargestellt, da diese bereits im Care Viva System definiert undsomit vorhanden sind.

5.1.1 Entwicklersystem Voraussetzungen

Das Entwicklersystem benotigt die folgenden Anforderungen an Hard- und Software.

• Netframework 4.5 oder hoher

• Nuget Version 2.12.0.817 oder hoher

• Microsoft Speech Platform Version 11 + SDK 1 oder hoher

• Visual Studio 2013

• Windows ab XP

• Soundkarte mit Ein- und Ausgabegerat

1https://msdn.microsoft.com/en-us/library/hh362873(v=office.14).aspx

47

Page 66: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

5. Implementierung

5.1.2 Anwendersystem Voraussetzungen

Das Anwendersystem benotigt;

• Netframework 4.5 oder hoher

• Microsoft Speech Plattform Version 112 oder hoher

• kompatibler Webbrowser oder Windows ab XP oder Smartphone / Tablet mit kom-patiblen Browser

• Soundkarte mit Ein- und Ausgabegerat

5.1.3 Mobilgerat Voraussetzungen

Die Voraussetzungen fur Mobilgerate 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

Daruber hinaus muss auf den Mobilgeraten die Browser Datenautomatik deaktiviert wer-den, damit Audio-Dateien direkt von der Webseite abgespielt werden und nicht jedes malvom Benutzer bestatigt werden mussen. Unter Umstanden kann es sein, dass auch Popupsgeblockt werden, diese mussen einmalig erlaubt werden, was in der neuen Version bereitsbedacht 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 dieVersionskontrollprogramme GIT 3 und Team Foundation Server (TFS)4 eingesetzt. Diesermoglicht eine Zusammenarbeit uber Systemgrenzen und eine Synchronisation der ein-zelnen Entwicklungsstande. Es auch konnen mehrere Version des Programmes archiviertwerden. Beide Systeme bieten viele Moglichkeiten der automatisierten Veroffentlichung undAuslieferung von Software. Sollten in einer ausgelieferten Version Probleme auftreten, ist essomit auch moglich, auf eine vorhergehende Version zuruck zu gehen (Revert). Im Laufe derEntwicklung wurde das TFS durch GIT abgelost da es Kompatibilitatsprobleme mit anderenBetriebssystemen außer Windows gab und Microsoft einen Support erst ab einer neuerenVersion garantieren kann.

2https://msdn.microsoft.com/en-us/library/hh362873(v=office.14).aspx3https://git-scm.com/4https://visualstudio.microsoft.com/tfs/

48

Page 67: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

5.1. Systemanforderungen

5.1.5 NuGet

Um die verwendeten Pakete zu verwalten, wurde das Paketsystem NuGet von Microsoftverwendet. Dies ermoglicht eine einfache Verwaltung von externen Paketen und Program-merweiterungen. Vorteile eines solchen Systems ist das mogliche Updaten von Abhangigkei-ten und die Verwendung dieser auf neuen Rechnern, da beim Erstellen des Projektes alleErweiterungen automatisch heruntergeladen und installiert werden. Sollte NuGet mit demAdministrator bereits verwendet worden sein, mussen die administrativen Rechte immer vor-handen sein, sonst konnen Pakete nicht aktualisiert oder wiederhergestellt werden. SolltenVerweise im Projekt und auch nach einer Neuinstallation durch NuGet nicht wieder erkanntworden sein, muss der Package-Ordner gepruft und ggf. durch ein Clean-Befehl aufgeraumtwerden.

Installation

Die Installation der einzelnen Pakete erfolgt automatisch beim neu erstellen des Projektesin Visual Studio. Fur die Kundenauslieferung wird NuGet im folgenden nicht mehr benotigt,da dieser alle notigen Klassenbibliotheken in der Exe und dem dazu gehorigen Verzeichnisbekommt. Sollte beim Erstellen jedoch im Namespace Microsoft Speech nicht vorhandensein, muss das Microsoft Speech SDK nachinstalliert werden. Damit es hierbei nicht zuFehlern 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 alsAbhangigkeit hinzugefugt.

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, kannwahlweise auch ein Restore durch NuGet mit folgendem Befehl erfolgen:

Listing 5.2: Restore im Paketmanager von NuGet

PM: Update−Package − r e i n s t a l l

Der Paket Cache wird so von NuGet komplett neu erstellt und die vorhandenen Versionenuberschrieben und somit eine komplette Neuinstallation ausgefuhrt. Im Projekt befindet sichbereits eine Basisversion der einzelnen Pakete, so dass diese nicht komplett heruntergeladenwerden mussen. Die im Projekt wichtigsten verwendeten Pakete sind im Nachfolgendenaufgezeigt und kurz mit ihrer verwendeten Kernfunktionalitat beschrieben.

Verwendete Pakete

• Google API (Common Protos, Extensions, Client, Core, Translate, Datastore) - Goo-gle Basis API inkl. Authentifizierung, Datenspeicher und weiteren Erweiterungen.

49

Page 68: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

5. Implementierung

• Google Cloud (Translation) - Schnittstelle des Google Ubersetzers.

• Json.NET - Ubertragungsvereinheitlichung durch JSON Objekte und Serialisierung.

• Mediatoolkit - Ermoglicht die Verarbeitung von Audio Dateien jeglicher Art.

• NAudio (Vorbis, OGG, libmp3) - Dient als Erweiterung fur das Mediatoolkit, umweitere Filter und Konvertierungsmoglichkeiten zu verwenden.

Da nun alle Voraussetzungen und Rahmenbedingungen im Projekt genannt wurden, wirdnun schrittweise die Umsetzung erlautert.

5.2 Design

In jedem Formular, außer auf der Login Seite (Anmeldung), befindet sich im oberen Bereichauf 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). Dabeibesteht dieses Fenster aus zwei Bereichen, dem oberen Bereich mit den Steuerelementender Sprachein- bzw. ausgabe und dem unteren Bereich der aktuellen Befehlsubersicht. In

50

Page 69: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

5.2. Design

Abbildung 5.2: Stammdatenansicht in Care Viva Doku in Windows

diesem Bereich kann der Nutzer die Befehle auch durch Klicken auslosen. Die Steuerelemen-te der Spracheingabe- bzw. ausgabe zeigen in erster Linie den aktuellen Status an. Wirdgerade gelauscht ist das Mikrofon Rot hinterlegt. Ist die Sprachausgabe aktiviert ist derLautsprecher Rot hinterlegt und das Audiosignal wird in Form eines Wellen-Diagrammesdargestellt. Hierzu kommen noch eine Ausgabe (Was wurde erkannt?) und der Bewertungs-und Feedbackbereich. Der Bewertungs- und Feedbackbereich ermoglichen es dem Benutzerden Assistenten zu bewerten und dessen Erkennung zu verbessern. So kann der Benutzereingeben was er gesagt hat und wie gut er die Erkennung subjektiv empfunden hat.

Rechts oben befindet sich zusatzlich noch ein Zahnrad, das auf die Einstellung des Assi-stenten verweist. Der Assistent bietet folgende Einstellungs- bzw Erweiterungsmoglichkeiten(siehe zusatzlich Abbildung 5.4):

• Grad der Sprachausgabe - Einstellungsmoglichkeit ob Infos, Warnungen und/oderFehler ausgegeben werden sollen.

• Spracheingabe - Aktivieren und Anpassen an den Benutzer, durch Festlegen eigenerKommandos oder Schlusselworter.

• Spracheingabe Assistent - (Windows, Cortana, Google, Alexa).

• Sprachausgabe Assistent - (Windows, Alexa).

• Testbereich - Testausgabe und -eingabe zum Uberprufen der Einstellungen und Funk-tionen.

51

Page 70: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

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 tatsachlich vornehmen kann,wird vom Administrator der Software uber die Globalen Einstellungen bestimmt. Somit esist es moglich, jeden Benutzer seine individuellen Erfahrungen mit dem Assistenten machenzu lassen. Wenn in Care Viva die Spracheingabe verwendet werden soll, ohne komplettuber den Assistent zu gehen, kann vom Benutzer auch wahlweise die Spracheingabe in demgewunschten Eingabefeld ausgefuhrt werden (siehe Abbildung 5.5). Die Spracheingabe wirdangezeigt sobald das Feld mit der Maus uberfahren wird oder auf dem Mobilgerat der Fokusauf dem Feld steht. Die Eingabe kann durch uberfahren des Mikrofons gestartet werden,welches sich wahrend der Aufnahme rot verfarbt. Wird das Mikrofon erneut uberfahren odereine 20 sekundige Pause im Audiosignal erkannt, stoppt die Aufnahme. Der erkannte Textwird direkt im Eingabefeld eingetragen bzw. erganzt. Diese Funktion ist von der Bedienungsehr stark an Sprachmemos oder Sprachnachrichten wie bspw. in WhatsApp5 und Telegram6

angelehnt.

5.3 Umsetzung

Der Care Viva Assistent wurde, wie bereits im Konzept beschrieben und in den Mockupsgeplant, umgesetzt. Bei der Integration in das Frontend wird immer zuerst eine Instanzdes Assistenten mit Hilfe des Singelton Paterns erstellt. Die Instanz wird nur dann wirklich

5https://www.whatsapp.com/?lang=de6https://telegram.org/

52

Page 71: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

5.3. Umsetzung

Abbildung 5.4: Konfigurationsmoglichkeiten des Care Viva Assistenten

Abbildung 5.5: Spracheingabe in Eingabefeldern

verandert, wenn sich der Assistent-Typ verandert oder großere Einstellungen vom Nutzervorgenommen werden. Der Assistent wird in der Regel direkt nach der Benutzeranmeldungerstellt wenn feststeht ob der Benutzer den Assistenten verwenden mochte oder nachdemer in den Einstellungen den Assistent aktiviert und vorher deaktiviert hatte. Die Moglichkeitdes Aktivierens erhalt der Benutzer nur mit entsprechenden Rechten und ausgeliefertenAssistenten. Die Instanz des Assistenten kann wie folgt auch von Hand erstellt bzw. abgerufenwerden.

Listing 5.3: Erstellen einer Instanz eines CV-Assistenten (Singleton)As s i s t e n tType c u r r e n t A s s i s t e n t = As s i s t e n tType . Windows ;

boo l au t oVo i c e I n = f a l s e ;m a s s i s t e n t . c r e a t e A s s i s t e n t ( c u r r e n tA s s i s t e n t , au t oVo i c e I n ) ;

Wurde der Assistent erstellt, kann er uberall im Programm genutzt werden, nachdem dieInstanz geladen wurde. Die Instanz selbst enthalt dann alle fur den Nutzer notigen Informa-tionen und Konfigurationen.

Listing 5.4: Verwenden der aktuellen Instanz des CV-Assistenten (Singleton)m a s s i s t e n t = A s s i s t . A s s i s t e n t . g e t I n s t a n c e ( ) ;

53

Page 72: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

5. Implementierung

Nach dem Laden der Instanz gibt es die Moglichkeiten der Verwendung zur Ausgabe oderEingabe von Daten.

Listing 5.5: Verwenden der Sprachausgabem a s s i s t e n t . a s s . Vo i c eOu tpu tF i l e ( ”OutpuText” , sd . Fi leName ) ; // A l s Date i ausgebenm a s s i s t e n t . a s s . VoiceOutput ( ”OutpuText” , sd . Fi leName ) ; // D i r e k t an den Lau t s p r e c h e r ausgeben

Listing 5.6: Verwenden der Spracheingabem a s s i s t e n t . s t a r t L i s t e n i n g ( ) ; // D i r e k t vom Micro fon l au s ch enm a s s i s t e n t . s t a r t L i s t e n i n g ( out t ex t , n u l l , f d . Fi leName , t r u e ) ; //Von Aud i oda t e i l a u s ch en

In der Instanz des Assistenten ist auch der Ubersetzer integriert. Der Ubersetzer wird auchbei der Erstellung der Instanz des Assistenten erstellt und muss nicht gesondert neu erstelltwerden. Zusatzlich kann die Instanzs auch wie folgt erstellt und verwendet werden.

Listing 5.7: Verwenden der Ubersetzungsfunktionm a s s i s t e n t . t r a n s l a t o r = new A s s i s t e n t T r a n s l a t e ( A s s i s t e n t T r a n s l a t e . Trans l a t eType . Google ) ;s t r i n g t r a n s l a t e = m a s s i s t e n t . t r a n s l a t o r . t r a n s l a t e ( ” Eingabe ” , ”en−US” ) ;

Da der Assistent uberall verwendet werden kann, wurde im Unternehmen festgelegt wie dieseran den Kunden ausgeliefert wird und dass er im Standard nicht mit ausgeliefert werden soll.Daher wurden weitere interne Anforderungen definiert, die im Nachfolgenden kurz aufgezeigtwerden.

5.3.1 Interne Anforderungen

Care Viva Doku soll nur mit dem Assistenten ausgeliefert werden, wenn er vom Kundenverwendet werden soll. So wird mittels Compiler Direktive beim Erstellen der Anwendungfestgelegt, ob der Assistent verwendet werden darf oder nicht. Das mussen an allen Stel-len der Verwendung des Assistenten definiert werden. Das folgende Beispiel zeigt den Codein einer Textbox, die bei voller Unterstutzung vorgelesen werden soll. Dabei wird durchdas #if eine Compiler Direktive (if-Abfrage) definiert, die abfragt ob im Compiler dersprachAssistenAktiv-Bool auf true gesetzt wurde. Ist dies der Fall, wird der Code bis zum#endif interpretiert und in der Exe eingebettet, wenn nicht wird er ubersprungen.

Listing 5.8: Compiler Direktive - Beispiel anhand des Assistenten in CSharp (C#)#i f s p r a c hA s s i s t e n tA k t i v// H i e r d a r f de r A s s i s t e n t ve rwendet werdenm a s s i s t e n t = A s s i s t . A s s i s t e n t . g e t I n s t a n c e ( ) ;i f ( m a s s i s t e n t . k o n f i g . A s s i s t e n t V o i c e F u l l ){

i f ( t h i s . Text != ”” )m a s s i s t e n t . VoiceOutput ( t h i s . m LabelText + ” ” + t h i s . Text ) ;

e l s em a s s i s t e n t . VoiceOutput ( t h i s . m LabelText + ” ” + ”Nicht a u s g e f u e l l t ” ) ;

}#e n d i f

Ob der Assistent verwendet werden darf muss dem Compiler auf Grund der Software Archi-tektur an drei Stellen mitgeteilt werden, beim Erstellen der Win, Win.Basis und Sys.Basis.Da Care Viva auf mehreren Endgeraten verwendet wird und dort viele Technologien zumEinsatz kommen, mussen die genauen Schnittstellen (Interfaces) zwischen diesen Systemendefiniert werden.

54

Page 73: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

5.4. Interfaces

5.4 Interfaces

Da die Verarbeitung der Audiodaten im Web und in Windows unterschiedlich gelost wer-den musste, wurde der Assistent mit einem geeigneten Interface ausgestattet, so dass dieVerarbeitung im Assistenten trotz der Unterschiede gleich gehalten werden konnte (vgl. Ab-bildung 4.6). Um dies vollumfanglich zu ermoglichen und auch Erweiterungsmoglichkeitenbereit zu stellen, wurden zwei Kanale entworfen, die fur die Ubertragung genutzt wurden.Daruber hinaus wurde durch die Auslagerung weitere Vorteile geschaffen, so kann bspw. derAssistent auch als alleinstehende REST -Anwendung auf einem Serversystem ausgefuhrt undverwendet werden. Da die Schnittstellen sehr einfach und ubersichtlich sind konnen weitereSysteme ohne Probleme mit erweitert werden.

5.5 Ubertragung

Die Ubertragung der Daten erfolgt grundsatzlich uber zwei Kanale:

• Representational State Transfer (REST) - HTTP-basierte Schnittstelle, welchevor allem in CareViva Web im Frontend mit Javascript verwendet wird. Nachfolgendwerden die einzelnen Funktionen aufgezeigt:

– Index (GET / POST) - Gibt eine Liste mit Moglichkeiten der Verwendung derSchnittstelle zuruck. Enthalt unter anderem auch eine Testimplementierung alsCode Beispiel.

Listing 5.9: URL-Aufruf der Indexfunktionh t t p s : // [ s e r v e r u r l ] / a s s i s t e n / CVAss i s t en t /h t t p s : // [ s e r v e r u r l ] / a s s i s t e n / CVAss i s t en t / i ndexPOSTDATA:RETURN DATA: HTML An l e i t u n g s s e i t e

– UploadAudio (POST) - Ermoglicht das Ubertragen von Sprachsamples an denServer, dieser analysiert diese und sendet eine Antwort zuruck.

Listing 5.10: URL Aufruf der Uploadfunktionh t t p s : // [ s e r v e r u r l ] / a s s i s t e n / CVAss i s t en t / up l o adAs s i s tAud i o ? i d =[ f i l e I D ]&modus=[modus ]

POSTDATA: f i l e n ame , f i l e a l s BLOBRETURN DATA:

– GetAudio (GET / POST) - Ermoglicht die Erstellung von Sprachausgaben undgibt die entsprechenden Dateien als URL zum Abspielen zuruck.

Listing 5.11: URL-Aufruf der Audiofunktionh t t p s : // [ s e r v e r u r l ] / a s s i s t e n / CVAss i s t en t / g e tA s s i s tAud i o ? t i t l e =[ t i t e l ] ’& s en t en c e=[ Satz ]

POSTDATA:RETURN DATA: URL zur Aud i oda t e i oder Feh l e rme ldung

– DeleteFiles (GET / POST) - Loscht alle erfassten Sprachsamples des angege-benen Benutzers. Dies kann auch automatisch nach der Analyse erfolgen und istin den Benutzereinstellungen zu administrieren.

55

Page 74: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

5. Implementierung

Listing 5.12: Aufruf der Loschen-Funktionh t t p s : // [ s e r v e r u r l ] / a s s i s t e n / CVAss i s t en t / d e l e t e F i l e ? u s e r =[ u se r ID ]h t t p s : // [ s e r v e r u r l ] / a s s i s t e n / CVAss i s t en t / d e l e t e F i l e ? u s e r =[ u se r ID ]& f i l e =[ f i l e I D ]

POSTDATA:RETURN DATA:

– RateQuality (GET / POST) - Ermoglicht dem Nutzer ein Sprachsample nachder Erkennung zu bewerten.

Listing 5.13: Aufruf der Rating-Funktionh t t p s : // [ s e r v e r u r l ] / a s s i s t e n / CVAss i s t en t / r a t eVo i c eQua l i ?i d =[ f i l e I D ]&num=[Bewertung ]& t e x t =[Bemerkung ]

POSTDATA:RETURN DATA:

– Translate (GET / Post) - Ermoglicht dem Nutzer einen Text in die angegebeneSprache zu ubersetzen. Die Eingabesprache kann optional mitgegeben werden,andernfalls wird sie ermittelt.

Listing 5.14: Aufruf der Ubersetzer-Funktionh t t p s : // [ s e r v e r u r l ] / a s s i s t e n / CVAss i s t en t / t r a n s l a t e ?outLang=[AusgabeSprache ]& t e x t =[ t e x t ]& inLang=[ E ingabeSprache ]

POSTDATA:RETURN DATA: Text i n Angegbener Sprache + A l t e r n a t i v e n

• BIT-Stream - Stream-basierte Schnittstelle, die in Care Viva Win verwendet wird.Diese greift unmittelbar auf das Mikrofon bzw. den Lautsprecher uber das Windows-Betriebssystem zu.

Listing 5.15: BitStream Beispielm a s s i s t e n t . s t a r t L i s t e n i n g ( ) ;m a s s i s t e n t . VoiceOutput ( ”Ausgabe Text ” ) ;

Die Ubertragung per Secure Sockets Layer (SSL)-Verschlusselung und wird durch eine Care-Viva Nutzeranmeldung gesichert. Diese basiert auf einer Zwei-Faktoren-Authentifizierungund auf weiteren Microsoft-Anmeldeprozesse im Internet. Folgend werden die einzelnen As-sistenten und deren Implementierung aufgezeigt.

5.6 Microsoft Windows Speech und Cortana

Dieser Abschnitt zeigt die Implementierung des Microsoft Speech- bzw. Cortana-Assistenten.

5.6.1 Vorarbeiten

Die Implementierung der Microsoft Speech-API benotigt lediglich das API-Paket an sich, wasvor der Verwendung nur bei der Entwicklung installiert werden muss7. Ahnlich wie in anderen

7https://msdn.microsoft.com/en-us/library/hh362873(v=office.14).aspx

56

Page 75: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

5.6. Microsoft Windows Speech und Cortana

Programmiersprachen muss nun nur noch der Verweis auf die Klassenbibilothek im Projektgesetzt und in der Klasse ein using eingbaut werden. Die Verwendung der eigentlichenMethoden erfolgt uber die Erstellung der folgenden Instanzobjekte:

• SpeechRecognitionEngine - Beinhaltet die eigentliche Spracherkennung.

• GrammarBuilder - Beinhaltet die Grammatik bzw. eine Faktorie um eine Grammtikzu erstellen. Diese wiederum nutzen dann mathematische Gewichtungen, wie bereitsin den Grundlagen (siehe Kapitel 2) erlautert.

• Choices - Ermoglicht das Erstellen von Schlusselwortern. Diese werden dann als Funk-tionen bzw. korrekt erkannte Eingaben verwendet. So wird wie im Beispiel test erkanntund eine SpeechRecognized-Event ausgelost8.

Im folgendem Beispiel wird ein SpeechRecognizer erstellt und eine Grammatik mit nur ei-nem validen Wort (test) geladen. Wird dieses Wort bei der Spracheingabe erkannt, wirddas SpeechRecognized-Event ausgelost und eine Konsolenausgabe fur den Benutzer durch-gefuhrt.

Listing 5.16: Beispiel zur Verwendung der Microsoft Speech-APIs t a t i c v o i d Main ( s t r i n g [ ] a r g s ){

SpeechRecogn i t i onEng ine r e c o g n i z e r = new SpeechRecogn i t i onEng ine ( ) ;r e c o g n i z e r . LoadGrammar ( new Grammar ( new GrammarBui lder ( ” t e s t ” ) ) Name = { ” testGrammar ” } ) ;

// l oad a grammarr e c o g n i z e r . SpeechRecogn ized += r e c ogn i z e r Sp e e c hRe c ogn i z e d ;r e c o g n i z e r . Se t I npu tToDe fau l tAud ioDev i c e ( ) ;

// s e t the i n pu t o f the speech r e c o g n i z e r to the d e f a u l t aud io d e v i c er e c o g n i z e r . Recogn izeAsync ( RecognizeMode . Mu l t i p l e ) ;

// r e c o g n i z e speech asynch ronous}v o i d r e c o gn i z e r Sp e e c hRe c ogn i z e d ( o b j e c t sender , SpeechRecogn izedEventArgs e ){

// e . R e s u l t . Text c o n t a i n s the r e c o gn i z e d t e x ti f ( e . R e s u l t . Text == ” t e s t ” ){

Conso l e . Wr i t eL i n e ( ”The t e s t was s u c c e s s f u l ! ” ) ;}

}

Das System wurde so in den Assistenten integriert, wie im Folgenden beschrieben wird.

5.6.2 Integration

Die weitere Integration gestaltet sich ubersichtlich und es gibt viele Moglichkeiten AudioSamples zu laden und zu verarbeiten. Auf dem Entwicklungssystem kam es zu keinen große-ren Problemen. Lediglich bei der Ubernahme auf das eigentliche Serversystem war das Systemohne jegliche Funktion, die Logdateien wurden immer großer und Fehler wurden unubersicht-licher.

8https://www.codeproject.com/Articles/483347/Speech-recognition-speech-to-text-text-to-speech-a

57

Page 76: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

5. Implementierung

5.6.3 Probleme

Es zeigte sich das Microsoft zwischen serverseitiger (Microsoft.Speech) und clientseitigerSpracherkennung (System.Speech) unterscheidet. Dabei sind im Großen und Ganzen dieFunktionen und Typen sehr ahnlich, nur gibt es in Microsoft.Speech keine Diktat-Grammatik.Somit war es nicht moglich Fließtext aus der Spracheingabe zu erkennen.

Abhilfe wurde hier durch eine eigene Implementierung der Diktat-Grammatik aus demDeutschen geschaffen, die leider auf Grund Ihrer Unvollstandigkeit nicht besonders gut funk-tionierte. Um jedoch die Vergleichbarkeit zu gewahrleisten, wurde als Webserver einfach einWindows-Client-Betriebssystem zur Sprachanalyse verwendet.

Da Windows Speech leider in der aktuellen Version auch Probleme mit garbage collecti-on (GC) hatte musste diese auch nachimplementiert werden, sodass die Grammatiken undweitere temporare Objekte nach der Verarbeitung der Sprache automatisch aufgeraumt undanschließend der GC angesprochen wurde, damit es zu keiner Uberschreitung des Arbeits-speichers kommt. Dieses Problem ist erst sehr spat in der Implementierung aufgefallen undfiel durch standige Neustarts des Webservers auf. Das Problem war in den Log-Dateien vonWindows und des Microsoft Internet Information Services (IIS) nicht nachvollziehbar. ImTestcenter und bei Unit-Tests ist dieser Fehler nicht aufgetreten, da diese meist nur einenoder auch mal hundert Durchlaufe machten, in der Realitat jedoch viel mehr vorkommenkonnen.

Listing 5.17: Vereinfachter Auszug der Garbage Collectionp r i v a t e v o i d checkMemoryAndClean ( ){

double mem = GC. GetTotalMemory ( f a l s e ) ) ;i f (mem >= 32 . 0 ) //32MB i s t d e f a u l t b e i 32 B i t{

t r y{

// Clean Rcogn i z e rr e c o g n i z e r . UnloadAl lGrammars ( ) ;r e c o g n i z e r = n u l l ;

}ca tch { }//GC Do Co l l e c tGC. C o l l e c t ( ) ;

}}

Wie bereits im Konzept erlautert, ist die Integration von Cortana im Web noch im Aufbauund zur Zeit leider nicht zu verwenden. Deswegen wurde an dieser Stelle auch nichts weiterunternommen. Die Integration in Windows Forms wurde mittels Emulator versucht, aberauf Grund von Performance Problemen auch nicht weiter ausgearbeitet.

5.6.4 Microsoft Azure

Eine weitere Moglichkeit mit Microsoft-Technologien Sprache zu verarbeiten ist die vonMicrosoft betriebene Cloud namens Azure. Diese ermoglicht viele weitere interessante undspannende Anwendungsszenarien wie bspw. sprachbasierte Benutzer-Authentifizierung9. Lei-der benotigt man um mit dieser Technologien zu Arbeiten einen Azure-Zugang, welcher nur

9https://azure.microsoft.com/de-de/services/cognitive-services/speaker-recognition/

58

Page 77: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

5.7. Googles Assistant

14 Tage kostenfrei ist. Auf Grund dieser Tatsache wurde an dieser Stelle auch keine weitereIntegration unternommen.

5.7 Googles Assistant

Nachdem nun ein Einblick in die Implementierung des Windows Assistenten gegeben wurde,wird nun die Implementierung des Google Assistant erlautert.

5.7.1 Vorarbeiten

Um mit dem Google Assistenten arbeiten zu konnen, benotigt man einen Google Accountund ein Developer Konto, welche mit wenigen Klicks eingerichtet sind. Nun muss in derGoogle Cloud API ein entsprechendes Projekt eingerichtet und diesem Benutzer zugewie-sen werden. Wurden diese Vorarbeiten gemacht, konnen die einzelnen API-Schnittstellenaktiviert werden.

Benotigt werden vom Assistenten folgende APIs:

• Cloud Translation API - Bietet alle Funktion von Google wie Ubersetzer und Ein-gabespracherkennung.

• Google Assistant API - Umfasst die Spracheingabefunktionen und Actions.

• Google Cloud APIs - Beinhaltet die Cloud Code Verarbeitung und weitere wichtigeFunktionen wie die Benutzeranmeldung mittels gRPC.

Abbildung 5.6: Ubersicht des Google Developer API Dashboards

5.7.2 Integration

Die Integration wurde mit Hilfe der Basis des GoogleAssistantWindows10 von ac87 durch-gefuhrt. Da diese Bibliothek leider schon ein Jahr alt war, mussten viele Verweise und Funk-tionen erneuert und auf die aktuellen Begebenheiten angepasst werden. Hierzu wurde ein

10https://github.com/ac87/GoogleAssistantWindows

59

Page 78: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

5. Implementierung

Fork des Projektes erstellt. Das Projekt basiert auf gRPC Core und verwendet NAudio undGoogle Assistant Embedded (Version 1 Alpha 1). Die Verwendung in der Anwendung wurdedann sehr ahnlich wie in der Microsoft Version verwendet. Nachfolgend zu sehen ist einebeispielhafte Erstellung des Google Recognizers und die Ubertragung und Auswertung derAntwort.

Listing 5.18: Beispiel zur Verwendung des Google Assistants t a t i c v o i d Main ( s t r i n g [ ] a r g s ){

va r gRecogn i z e r = new Recogn i z e r ( k o n f i g . webve r s i on ) ;gRe cogn i z e r . OnOutput += OnVo ice InputGoog le ;

va r r e s = gRecogn i z e r . Recogn i ze ( f i l e . Rep lace ( ” . ogg” , ” . wav” ) ) ;r e s . RunSynchronous ly ( TaskSchedu l e r . Cu r r en t ) ;

}p r i v a t e v o i d OnVo ice InputGoog le ( o b j e c t sender , EventArgs e ){

S t r i n g output = ( S t r i n g ) s ende r ;functionByCommand ( output ) ;i f (OnDebugOutput != n u l l ){

OnDebugOutput . I nvoke ( output , new EventArgs ( ) ) ;}

}

Nach der Integration zeigten sich direkt einige Probleme die im Nachfolgenden erklart wer-den.

5.7.3 Probleme

Die Version Alpha 1 wird von Google nicht mehr betrieben. Daher musste ein Update auf Al-pha 2 vollzogen werden, was viel Logik und ein Neuerstellen der lokalen Klassenbibliothekender Google-API mittels Batch und gRPC-Toolkit von Google umfasste.

Ein weiteres Problem war die korrekte Trennung der Audio-Samples auf Bit-Ebene. Dieswar in der ersten Version nicht notwendig und musste nachimplementiert werden. Im Verlaufwar diese Trennung immer wieder ein Problem und funktionierte teilweise uberhaupt nicht.Die Fehlermeldungen der Google-Seite lauteten ”Fehlercode 500 es ist ein interner Fehleraufgetreten”, was bei der Fehlersuche nicht viel Auskunft gibt. Hierzu kommen viele kleinereProbleme mit der Erreichbarkeit des kostenlosen Services, der mehrfach im Wartungsmoduswar und dann auch ”Fehlercode 500”zuruck gab. Diese Probleme werden zur Zeit auch inden Foren diskutiert, bisher ist hier aber keine Anderung in Sicht.

5.8 Amazons Alexa

Da nun die Implementierungen von Google und Microsoft erlautert wurden wird nun die vonAlexa aufgezeigt.

5.8.1 Vorarbeiten

Ahnlich wie bei Google muss fur die Verwendung von Alexa ein Amazon Konto vorhandensein, das zu einem Entwicklerkonto erweitert werden kann. Im Entwicklerkonto gibt es viele

60

Page 79: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

5.8. Amazons Alexa

Informationen und Tutorials fur erste Schritte bei der Verwendung. Zunachst muss eineAnwendung oder ein Skill angelegt werden (siehe Abbildung 5.7 und Abbildung 5.8). Hierbeizeigte sich, dass es sinnvoll ist, zuerst eine Anwendung anzulegen und alle Skills in dieser zuvereinen. Tut man dies nicht, kann das in der Implementierung zu Fehlern fuhren, die eineVerwendung dieser nicht moglich macht.

Abbildung 5.7: Ansicht der Alexa Development Oberflache fur Skills

Abbildung 5.8: Ansicht der Alexa Development Oberflache fur Produkte

5.8.2 Integration

Fur die Integration von Alexa in das Care Viva System wurde das Alexa Skills SDK for .NETvon Tim Heuer11 verwendet. Hierbei wurde fur eine Verbindung zu Amazon ein Audio-Request erstellt und mit den entsprechenden Sprachsamples versehen, verschickt und aufeinen Methodenaufruf gewartet. Eine Dikat-Funktion wurde nicht implementiert, da diese inden AWS entwickelt werden musste und dieses nicht Teil dieser Arbeit ist. Auch in diesemFall gab es einige Probleme bei der Implementierung die nachfolgend dargestellt werden.

11https://github.com/timheuer/alexa-skills-dotnet

61

Page 80: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

5. Implementierung

5.8.3 Probleme

Leider war es nicht so einfach, alle Methoden dynamisch als Skill zu registrieren, da Amazonhierzu keine Funktion zur Verfugung stellt.Als Workaround wurden die erkannten Spracheingaben verwendet. Alexa zeichnet die Worter,die es erkannt hat, auf und speichert diese ab. Anhand dieser Daten kann mittels einerentwickelten Routine die gewunschte Funkionen dennoch ausgefuhrt werden. Jedoch fuhrtedies nicht zu den gewunschten Erfolgen, da die Fehlerrate zugenommen hat. Um in denTests trotzdem einen Vergleich zu fuhren wurden, feste Skills bei Amazon registriert.

5.9 Apples Siri

Als letzter Assistent wird die Implementierung von Siri betrachtet.

5.9.1 Idee

Wie in der Einleitung bereits erwahnt, ist es nicht moglich, Siri auf anderen System außer-halb der Apple-Produktpalette zu betreiben. Dennoch wurde hierfur ein Prototyp gebaut.So wurde eine App entwickelt, die Siri-Anfragen uber eine REST-Schnittstelle ermoglicht.Hierfur benotigte man nur einen Mac oder ein iPhone um diese auszufuhren. Dabei kam esjedoch zu Problemen, was ein weiteres Verfolgen und Testen unnotig machte.

5.9.2 Probleme

Nachfolgend werden die einzelnen Probleme bei der Implementierung des Apple Sprachassi-stent Siri beschrieben.

• Performance - Wie auch bei Cortana, ist die Performance uber ein weiteres Systemnicht unbedingt perfekt, da nur ein altes iPhone mit nicht viel Leistung zur Verfugungstand und der Emulator leider noch weniger gut funktionierte.

• Apple AGBs - Rechtlich ware zu prufen, ob ein solcher Service innerhalb der Apple-AGBs zulassig ware.

5.10 HTML5 Audio

Im Laufe der Integration der einzelnen Assistenten, kristallisierte sich immer mehr ein Pro-blem heraus. Wie sollen Spracheingaben automatisch erkannt werden, ohne dass immerdirekt alles an den Server ubertragen wird? Hier konnte HTML5 eingesetzt werden, da esja ohnehin bereits fur die Darstellung und Aufnahme verwendet wird. Hierfur gibt es direktvon HTML5 eine Sprachverarbeitungsfunktion, welche jedoch nur von Firefox und Chromeunterstutzt wird.

In der Testimplementierung zeigte sich schnell, dass es sogar nur in ganz bestimmtenVersionen der Browser verwendet werden kann und dass es bei eventuellen Updates nichtunbedingt immer funktioniert. So kam es dazu, dass der Zugriff auf das Mikrofon nach

62

Page 81: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

5.11. Visual Studio 2013

einem Update nicht mehr moglich war oder Sprachausgaben immer vom Benutzer bestatigtwerden mussten. Eine solche noch so sehr abhangige und fehleranfallige Implementierung istfur eine aktuelle Verwendung leider nicht empfehlenswert. Zudem gibt es keine Moglichkeit,diese Technologie auch in der Windows-Anwendung zu verwenden. Daher wurde auf eineweitere Verfolgung dieser Technologie verzichtet. Eine beispielhafte Implementierung derHTML5 -Technologie in diesem Bereich konnte wie folgt aussehen:

Listing 5.19: Beispiel zur Verwendung der webkitSpeechRecognition-APIva r r e c o g n i t i o n = new webk i tSpee chRecogn i t i on ( ) ;r e c o g n i t i o n . c on t i nuou s = t r u e ;r e c o g n i t i o n . i n t e r i mR e s u l t s = t r u e ;r e c o g n i t i o n . o n r e s u l t = f u n c t i o n ( even t ){

c on s o l e . l o g ( even t )}r e c o g n i t i o n . s t a r t ( ) ;

Fur eine Diktat-Eingabe in ein Textfeld kann der Befehl wie folgt lauten:

Listing 5.20: Beispiel zur Verwendung des HTML5 Tags als Spracheingabe in einem Tex-tinput<i n pu t type=” t e x t ” x−webkit−speech />

Weitere Informationen konnen folgenden Seiten entnommen werden:

• https://goo.gl/leNrUR - Google Entwickler Beispiele

• https://shapeshed.com/html5-speech-recognition-api/ - Beispiel Implemen-tierung von George Ornbo

• https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_API - Mo-zilla API Dokumentation

5.11 Visual Studio 2013

Die Implementierung bzw. Erweiterung der Software CareViva Doku wurde mit Hilfe desMicrosoft Visual Studios 2013 vorgenommen, auf dessen Besonderheiten und Probleme nungenauer eingegangen werden.

5.11.1 Probleme

Da in der Akquinet Ristec / Care GmbH noch eine Visual Studio 2013 Version verwendetwird, gab es reichlich Probleme die genannten Klassenbibliotheken zu offnen und neu zuerstellen und zu modifizieren. So waren meist die Projekte bereits in neuen Visual StudioVersionen geoffnet oder erstellt worden. Leider ist es somit nicht mehr moglich die Projekt-konfiguration zu verwenden und sie musste damit neu erstellt werden, was meist mehrereProbleme mit sich brachte.

63

Page 82: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

5. Implementierung

• Projektstruktur - Da Anfangs ein Projekt immer leer angelegt wird oder nach einerVorlage mussen im ersten Schritt wieder alle Projektstrukturen und Dateien nachge-bildet werden. Hierbei ist darauf zu achten, dass keine Dateien vergessen, aber auchnicht die temporaren Visual Studio-Dateien in das Projekt ubernommen werden.

• Projektkonfiguration (Build) - Um ein Projekt zu erstellen, muss zuerst die passen-de Build- und Release-Konfiguration erstellt werden. Am besten eignen sich hierbeizunachst die Standard-Einstellungen fur eine Klassenbibliothek.

• Projektverweise / Abhangigkeiten - Meist werden in einem Projekt wie auch in CareViva und dem Care Viva-Assistenten externe Programme oder Bibliotheken verwendet.Diese mussen entweder per Hand oder mittels NuGet wieder dem Projekt zuganglichgemacht werden, was zu Problemen fuhren kann.

• Externe Tools - Weitere externe Anforderungen wie Lizenzen oder Credentials, dieauf anderem Wege erlangt werden mussen, aber fur den Betrieb oder das Erstellennotwendig sind.

5.12 Testumgebung

Um die Funktionsweise des System anhand moglichste realitatsnahen Bedingungen zu eva-luieren wurde ein Testsystem bzw. ein Arbeitsplatz eines Pflegers in Hardware nachgebildet.Dieser Umfasst einen Stationaren Computer, ein Tablet und ein Smartphone. Dabei wurdeGerate gewahlt die zum einen bereits in der Firma vorhanden waren, als auch gunstig aufdem Markt erworben bzw. leistungstechnisch im unteren Mittelfeld liegen.

5.12.1 Computer

Der Computerarbeitsplatz besteht aus einem mini Computer der auch hinter dem Monitormontiert werden kann, dieser wurde ganz bewusst nicht mit zu viel Leistung ausgewahltund ist somit sehr gunstig zu haben. Hierzu kommt noch ein Mikrofon bzw. eine Webcam,hier wurde die Kinect von Microsoft gewahlt, diese eignet sich vor allem durch ihr MikrofonArray zum simulieren von verschiedensten Mikrofonen.

• Zotac ZBox Nano12 - Doku Server, Web Server, Windows Client und Web Client.

• Kinect V213 - Eingabegerat fur die Spracheingabe mit integriertem Mikrofon Array(hohe Aufnahmequalitat) und zur Emulation von schlechteren Mikrofonen, die bei-spielsweise auch in Mobilgeraten verbaut sein konnten.

12https://goo.gl/mSdXdp13https://developer.microsoft.com/de-de/windows/kinect

64

Page 83: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

5.12. Testumgebung

5.12.2 Tablet

Als Tablet wurde ein NVidia Shield zum Testen der mobilen Kommunikation des Assistentenverwendet. Es hat einen 8 Zoll Display mit einer Full HD Auflosung, bietet Moglichkeiten esan per mini HDMI auch an einen Monitor anzuschließen. Es wurde vor allem gewahlt weil esvon seinen Leistungsdaten in der heutigen unteren Mittelschicht unterwegs ist und es somitviele vergleichbare Gerate gibt.

5.12.3 Smartphone

Im Bereich Smartphone wurde auf einen exoten dem Ulefone Power gesetzt. Es dient vorallem zum testen der Mobilen Version des CareViva Assistenten unter Android und ist dabeibereits fur unter 150€ zu haben.

5.12.4 Software

Die eingesetzte Software auf dem Testsystem umfasst zum großtenteil Microsoft Produkte:

• Windows 10 Professional 64Bit

• Microsoft SQL Server 2014 Enterprise 64Bit

• Microsoft Dynamics NAV 2016 CU 11

• IIS - Webserver fur Care Viva Doku Web

und wurde im folgenden um eigene Produkte erganzt:

• EasySan 2016

• Care Viva Doku (EasySan Edition)

• Care Viva Doku Web (EasySan Edition)

Diese Aufzahlung dient in erster Linie nur zur Ubersicht.

5.12.5 Standort

Als Standort wurde ein normaler Buroraum gewahlt. In dem es unter anderem Storgerauschewie Kollegen, Straßengerausche, Computerrauschen, Musik und weitere kleine Gerauschegibt. Die Abstande wurden wie in der Evaluierung (siehe Kapitel 6) gewahlt.

5.12.6 Testcenter

Um die Funktion der einzelnen Assistenten zu testen, wurde eine Testcenter-Applikationimplementiert. Das Testcenter ist eine einfache Windows Forms-Anwendung und bietet alleFunktionen zum Einzeltest. Zudem konnen weitere Diagnose-Funktionen genutzt werden,

65

Page 84: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

5. Implementierung

wie das Anzeigen der Datenpakete, eine Auswertungsfunktion fur Log-Dateien, die Berech-nungsmoglichkeiten der Wortakkuratheit, die Worterkennungsrate und kleinere Testszenari-en.

Zusatzlich lassen sich mit dem Testcenter Audiodateien erzeugen und verschicken, sodass damit die Messungen in der Evaluierung vorgenommen werden konnten. Mit dem Test-center wurden auch die Unit-Tests durchgefuhrt, weswegen spezielle Aufrufparameter defi-niert wurden, die die vorgefertigte Daten mit bereits bekannten bzw. gewunschten Antwortenenthalten. Diese wurden nach jeder neuen Version und nach jeder Installation bzw. Updateauf dem Endgerat bzw. Server ausgefuhrt. In einem Log werden dabei alle wichtigen Informa-tionen, wie aufgetretene Fehler und naturlich auch der erfolgreiche Durchlauf, dokumentiert.Dies wurde extra in die Testanwendung integriert, da diese auch beim Kunden ausgeliefertwird und somit auf dessen System Diagnosen gemacht werden konnen. Voll automatisierteTests wurden mit Xunit beispielhaft im Bereich von Alexa umgesetzt und auf die anderenAssistenten uberfuhrt. Das Testcenter ist im Assistenten integriert und wird mit diesemausgeliefert.

Abbildung 5.9: Ausschnitte aus der Testanwendung. Rechts: Rechner zur Bestimmung derWortakkuratheit und Worterkennungsrate.Links: Tester mit Ausgabefeldern zur Kommuni-kation (oben) und ausgewerteter Antwort (unten)

66

Page 85: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

Kapitel 6

Evaluation

Um die Funktionen des Systems zu testen und objektiv zu bewerten, wurden mehrere Ana-lyseprozesse geplant und umgesetzt. Dabei zeichnen sich einige durch Automatismus undandere durch Nutzerbewertungen aus.

6.1 Automatische Analyse

Bei der Sprachanalyse werden die Sprachdaten automatisch durch die verschiedenen Systeme(Windows, Google, Alexa, ...) geleitet und die Resultate auf Abweichungen verglichen. Dieentstandenen Abweichungen werden in einem Log gespeichert und ausgewertet.

6.1.1 Logfiles

Jeder implementierte Sprachassistent hat eine Log-Datei, in der folgendes festgehalten wird:

• Ubermittelte Daten (.wav-/.ogg-Datei)

• Verarbeitungszeit (in µs)

• Erhaltene Antwort (als Text)

• Erwartete Antwort (als Text)

• Alternativ erkannte Antworten (als Text und mit eventueller Gewichtung wenn vor-handen)

Eine Log-Datei kann wie folgt aussehen:

Listing 6.1: Beispielhafter Auszug aus einem LogfileNutzer : 0000000012 − HahnA s s i s t e n t t y p e : WindowsDateiname : C:\ Pro j e k t e \CareViva .Web−akqu i n e t\ a s s i s t \up load \3 e1k jm5pvtb0yvzw2 jz5wrz tup load1 .0081525425155568 e 308 . oggErkannt : whole p r i z e you w i l lA l t e r n a t i v e n :whole p r i z e you w i l lwhole I you w i l l

67

Page 86: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

6. Evaluation

ho l e I you w i l lh u l l I you w i l lhow w i l l I you w i l lh o l e p r i z e you w i l lwhole I ’ s you w i l lwh i l e I you w i l lwhole eye you w i l lwhole I you ’ l lV e a r b e i t u n g s z e i t : 2038772 mikrosekundenWas wurde ge sp rochen : How a re youBewertung Nutzer : 2/5

6.1.2 Nutzerbasierte Auswertung

Der Benutzer hat nach jeder Ubertragung und Auswertung der erhaltenen Informationendie Moglichkeit diese zu korrigieren und zu bewerten. Diese Bewertungen bzw. Korrekturenwerden erfasst und gespeichert.

Korrektur mittels Eingabe

Mittels der Korrektur uber die Eingabe des Nutzers soll zum einen die Erkennung evaluiertwerden, als auch das Erkennungssystem angelernt und verbessert werden. Das erfolgt je nachgewahlten System unterschiedlich. Da das interne Windows-System eine Verbesserung aufdiese Art nicht unterstutzt, werden in diesem Fall die Daten nur fur das Log zur Auswertungverwendet.

6.1.3 Nutzerumfrage

Uber einen Evaluierungsbogen werden Ruckmeldungen zum gesamten Erscheinungsbild desCare Viva Assistenten erfasst und ausgewertet. Da es leider keine Kundenumfrage gegebenhat, wird dieser hier nur der Vollstandigkeit halber erwahnt.

6.1.4 Automatisierte Tests

Um den Assistenten auch automatisch zu Testen werden die im Kapitel 4 genannten An-wendungsbeispiele als Audio-Daten erzeugt und dem System in veranderter Form zugespielt.So sollen Umwelteinflusse wie Rauschen, Nuscheln, Computerstimmen und Mikrofondefekteausgetestet werden. Auch wurde der Unterschied in der Erkennung von Satzen und einzelnenWortern verglichen. Der eigentliche Diktat-Modus wurde nicht getestet und im Nutzertesteher spielerisch verwendet. Hierzu wurde ein Testaufbau entwickelt und Messungen durch-gefuhrt, die im Abschnitt 6.2 weiter erlautert werden.

6.1.5 Zusammenfassung und Auswertung

Da die Nutzerauswertung bei den Kunden durch technische Probleme (wie in der Implemen-tierung Kapitel 5 erwahnt) nicht ausgefuhrt werden konnte, wird dem automatisierten Test,wie in Abschnitt 6.1.4 bereits beschrieben, mehr Bedeutung geschenkt.

68

Page 87: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

6.2. Messungen und Testaufbau

Tabelle 6.1: Auswertung der vorhandenen Log-Dateien bei einmaligem Durchlauf(vollstandiger Auszug siehe Anhang A.4)

Dateiname Inhalt Erkannt Lang EZF [s] WA [%] WR [%]

3e1kjm5pvt How are you whole prize youwill

EN 2,04 33,3 33,3

3npb1ntnxk Test one two three test or one twothree

EN 3,78 50 75

o2h5yur1eg test voice input test was important EN 2,13 33,3 33,3

ajjg5t2k3t Ubersicht Ubersicht DE 4,92 100 100

bu35eluxb0 Test Test DE 1,09 100 100

az3fehucbx Der Patient weistalle Anzeichen anDemenz auf

Der Pati alle anZeichen arm Ten-denz auf

DE 5,09 37,5 37,5

In dem Auszug aus einer Log-Datei (siehe Tabelle 6.1) ist zu sehen, dass eher weniger sinn-volle Eingaben getestet wurden. Hier wurde zudem nur der Windows-Assistent verwendet,da dieser vollumfanglich verfugbar war. Somit ist aus dieser Eingabemenge keine wirklicheAussage ableitbar. Es zeigt sich jedoch, dass die Erkennung mit zunehmender EingabemengeN immer ungenauer wird.

6.2 Messungen und Testaufbau

Fur die Tests ist ein fester Aufbau der Hardware vorgesehen (siehe Abbildung 6.1). Der Ab-stand vom Benutzer zum Monitor oder Mobilgerat betragt 50 - 80 cm, nach den Richtliniender Berufsgenossenschaft (BG) ”Ergonomie am Arbeitsplatz”. Eine Kinect1 befindet sichauf oder unter dem Monitor und dient als Mikrofon zur Spracheingabe am Computer. Beidem Mobilgerat ist das Mikrofon bereits integriert.

Ein portabler Lautsprecher (in der Abbildung als ”MI Portable Speaker” gekennzeichnet)wurde sowohl auf dem Tisch platziert, als auch am Schreibtischstuhl in Hohe des Kopfeseines potentiellen Benutzers befestigt. Uber diesen werden die Spracheingaben ausgegebenund mittels der Kinect aufgenommen. Dabei gab es in den Messungen keine erkennbarenUnterschiede in der Art der Platzierung des Lautsprechers. Als weitere Eingabemoglichkeitwurden eine Maus und Tastatur auf dem Schreibtisch platziert.

1Weitere Informationen unter: https://de.wikipedia.org/wiki/Kinect

69

Page 88: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

6. Evaluation

Abbildung 6.1: Ansicht des Testaufbaus inkl. der Bemaßung und Beschreibung der Kom-ponenten

Die Messungen erfolgen in einem normalen Buroraum ohne nennenswerte Gerauschkulisse.Storgerausche werden bereits in den abgespielten Audiosamples integriert. Die Auswertungerfolgt mit der im Abschnitt 5.12.6 gezeigten Software. Um die erfassten Werte nachhermiteinander zu vergleichen wurde als messbares Maß die Wortakkuratheit und Worterken-nungsrate gewahlt.

Die Wortakkuratheit und Worterkennungsrate wurden fur den Vergleich von Stimm- bzw.Sprachstorungen entwickelt und konnen auch auf die Spracherkennung angewendet werden(vgl. [MHH+06]). Dabei setzt sich die Worterkennungsrate (WR) und Wortakkurauheit(WA) wie folgt zusammen:

WA = (1− I +D + S

N) ∗ 100%

WR = (1− D + S

N) ∗ 100%

N = Anzahl gesprochener Worter I = Zahl der eingefugten Worter D = Zahl der geloschtenWorter S = Zahl der Vertauschten Worter (vgl. [MHH+06])

6.2.1 Generierung der Sprachsamples

Die Sprachsamples wurden durch das System automatisch generiet und enthalten keinemenschlichen sondern synthetisierte Stimmen. Dabei wurden zu jedem Sample drei Versio-nen erstellt - ein Sample ohne Einflusse in Deutsch, ein Sample mit Rauschen und eines mitenglischem Dialekt.

70

Page 89: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

6.2. Messungen und Testaufbau

Der Dateiname wurde wie folgt festgelegt:

• Normal - Ohne Zusatz

• Rauschen - +Eff (Dabei wurde eine Buro-Atmosphare gewahlt mit entsprechendenUmgebungsgerauschen)

• Dialekt - +EN (Dabei wurde der deutsche Text mit einer englischen Stimme vorgele-sen)

Jede dieser erstellten Versionen wurde hundertmal uber den Lautsprecher wiedergegeben,aufgenommen und verarbeitet. Der Raum wurde in dieser Zeit nicht betreten und es wurdenweitere Gerauschquellen vermieden. Die Lautstarke des Lautsprechers wurde so eingestellt,dass im Mikrofon ein gut erkennbarer Pegel durch den Input des Betriebssystems (Windows10) gemessen wurde. Die ausfuhrlichen einzelnen Messwerte konnen im Anhang A.3 einge-sehen werden. Die Durchschnittswerte dieser Messungen konnen der Tabelle 6.2 entnommenwerden. Dabei wurde als erkannte Eingabe das am meisten auftretende Ergebnis gewahlt.

Tabelle 6.2: Zusammengefasste Auswertung der Messungen des Windows-Assistenten(Kommuliert). Alle Messwerte konnen dem Anhang A.3 entnommen werden.

Dateiname Inhalt Erkannt Assistent EZF [s] WA [%] WR [%]ov ubersicht Tater Sicht Windows 2,34 0 0

ovEFF ubersicht Wir das Sicht Windows 5,30 0 0ovEN ubersicht The Elder sind Windows 3,41 0 0

stamm stammdaten The Stammda-ten

Windows 2,29 2 2

stammEFF stammdaten Wir Daten Windows 6,26 0 0stammEN stammdaten dst das interne Windows 3,62 0 0

tp tourenplan To Run klaren Windows 2,59 0 0tpEFF tourenplan Wir das Windows 5,15 0 0tpEN tourenplan Dante Windows 4,20 0 0

wd wund-dokumentation

Toronto Kom-mentar Zion

Windows 2,47 0 0

wdEFF wund-dokumentation

Wir Kommentarsind

Windows 5,99 0 0

wdEN wund-dokumentation

The wir konnensich Sterne

Windows 4,44 0 0

tx textausgabe Text Ausgaben Windows 3,60 0 0txEFF textausgabe Wir das Windows 6,14 0 0txEN textausgabe das to us Kind Windows 4,96 0 0

tr texteingabe Text Angaben Windows 3,84 0 0trEFF texteingabe Wir das Windows 6,07 0 0trEN texteingabe Dann the Wind Windows 5,12 0 0trans ubersetzung Tater setzen Windows 3,12 0 0

transEFF ubersetzung Wir das Windows 5,47 0 0

71

Page 90: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

6. Evaluation

transEN ubersetzung The Elder sindseine

Windows 4,42 0 0

er erfassen Thea fassen Windows 3,31 0 0erEFF erfassen Wir das Windows 5,77 0 0erEN erfassen To seine Sinne Windows 4,82 0 0med medikation To Die Car Zion Windows 3,28 0 0

medEFF medikation Wir sind Windows 5,49 0 0medEN medikation The Wild in Ster-

neWindows 4,61 0 0

zfs zusammenfassung The zusammen-fassen

Windows 3,23 0 0

zfsEFF zusammenfassung Wir das Windows 6,03 0 0zfsEN zusammenfassung To sind seinen

fast seineWindows 5,44 0 0

dp dienstplanung To Dienstplannun

Windows 3,97 0 0

dpEFF dienstplanung Wir das Windows 5,83 0 0dpEN dienstplanung The wir dann the Windows 5.16 0 0

tb tagesbericht Tages Bericht Windows 3,30 0 0tbEFF tagesbericht das Windows 8,01 0 0tbEN tagesbericht das in th Windows 4,52 0 0wett wetter To letzen Windows 2,92 0 0

wettEFF wetter Wir das Windows 5,17 0 0wettEN wetter The Wind Windows 4,08 0 0

sear suchen To suchen Windows 2,83 0 0searEFF suchen Wir das Windows 5,15 0 0searEN suchen dst seit Sterne Windows 3,66 0 0

new neuen patientenerfassen

To Run Carzehnten erfassen

Windows 4,13 0 0

newEFF neuen patientenerfassen

Wir sind wir fasten

Windows 7,2 0 0

newEN neuen patientenerfassen

The Wind inSternsinger seineSinne

Windows 5,91 0 0

akt wie ist die aktuel-le medikation despatienten

To dies die ak-tuelle Medikationdes Patienten

Windows 5,29 71.43 71.43

aktEFF wie ist die aktuel-le medikation despatienten

Wir wir die Carsind wir sind

Windows 7,13 14.23 14.23

aktEN wie ist die aktuel-le medikation despatienten

To Dienst DanielGet You Meetin Stern des Pinstimmte

Windows 9,93 0 0

tpStat welche tour fahreich heute

To lachelt orFace ich heute

Windows 4,13 0 20

72

Page 91: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

6.2. Messungen und Testaufbau

tpStatEFF welche tour fahreich heute

Wir Faß ich heu-te

Windows 6,51 40 40

tpStatEN welche tour fahreich heute

Das Star fand sieenthielt

Windows 7,45 0 0

att was ist bei dempatienten zu be-achten

To last ist beiden Patienten zubeachten

Windows 4,42 42.86 57.14

attEFF was ist bei dempatienten zu be-achten

Wir sind wirdachten

Windows 7,45 42.86 42.86

attEN was ist bei dempatienten zu be-achten

The WINS httpin the Wind instimmten sehebiete

Windows 7,87 0 0

ovStammdaten offne die stamm-daten und gebemir eine uber-sicht

Thea fur dieStammdatenund gebe mireine Ubersicht

Windows 5,36 63 75

ovStammdatenEFF offne die stamm-daten und gebemir eine uber-sicht

Wir das wir dassich

Windows 8,05 37.5 37.5

ovStammdatenEN offne die stamm-daten und gebemir eine uber-sicht

Tor von Dan istdas interne wirgehen eingehen-der sind

Windows 8,10 0 0

Tabelle 6.3: Zusammengefasste Auswertung der Messungen des Google-Assistenten (Kom-muliert). Alle Messwerte konnen dem Anhang A.3 entnommen werden.

ov ubersicht Ubersicht Google 3,70 100 100ovEFF ubersicht Sicht es Google 4,55 0 0ovEN ubersicht Jubersich Google 3,8 0 0

stamm stammdaten Stammdaten Google 3,73 100 100stammEFF stammdaten Daten es Google 4,25 0 0stammEN stammdaten dst interne Google 3,81 0 0

tp tourenplan wieuren klaren Google 3,83 0 0tpEFF tourenplan wieuren klares es Google 4,19 0 0tpEN tourenplan Dante Google 4,18 0 0

wd wund-dokumentation

wieronwie Kom-mentar Zion

Google 3,76 0 0

wdEFF wund-dokumentation

Kommentar sindes

Google 4,72 0 0

wdEN wund-dokumentation

konnen sich Ster-ne

Google 3,94 0 0

tx textausgabe Textausgabe Google 3,79 100 100txEFF textausgabe Text Ausgabe es Google 4,3 0 0

73

Page 92: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

6. Evaluation

txEN textausgabe wie us Kind Google 3,85 0 0tr texteingabe Texteingabe Google 4,07 100 100

trEFF texteingabe Text Angabe des Google 4,74 0 0trEN texteingabe Dann Wetter Google 4,06 0 0

trans ubersetzung Ubersetzung Google 3,66 100 100transEFF ubersetzung Setzen es Google 4,35 0 0transEN ubersetzung Jubersich seine Google 3,77 0 0

er erfassen a fassen Google 3,68 0 0erEFF erfassen fasten es Google 4,11 0 0erEN erfassen wie seine Sinne Google 3,75 0 0med medikation wie die Katz Ion Google 3,81 0 0

medEFF medikation die Car sind es Google 4,19 0 0medEN medikation Wild in Sterne Google 3,81 0 0

zfs zusammenfassung Zusammenfassung Google 3,74 100 100zfsEFF zusammenfassung Zusammenfassung

esGoogle 4,4 100 100

zfsEN zusammenfassung wie sind seinenfast seine

Google 4 0 0

dp dienstplanung wie Dienstpla-nung

Google 3,78 0 0

dpEFF dienstplanung es Google 4,59 0 0dpEN dienstplanung West plante Google 4,50 0 0

tb tagesbericht Tagesbericht Google 3,72 100 100tbEFF tagesbericht Tagesbericht es Google 4,53 100 100tbEN tagesbericht Band Google 3,99 0 0wett wetter wie letzen Google 3,64 0 0

wettEFF wetter es Google 4,13 0 0wettEN wetter White Google 3,83 0 0

sear suchen wie suchen Google 3,64 0 0searEFF suchen suchen es Google 4,15 100 100searEN suchen dst seit Sterne Google 3,7 0 0

new neuen patientenerfassen

wieuren Patien-ten erfassen

Google 3,87 66.67 66.67

newEFF neuen patientenerfassen

sind en erfasstenes

Google 5,03 0 0

newEN neuen patientenerfassen

Wetter in stimm-ten er seine Sinne

Google 4,18 0 0

akt wie ist die aktuel-le medikation despatienten

wie dies die ak-tuelle Medikationdes Patienten

Google 3,99 85.71 85.71

aktEFF wie ist die aktuel-le medikation despatienten

dies die aktuel-le Medikation desPatient

Google 4,42 57.14 57.141

aktEN wie ist die aktuel-le medikation despatienten

wie Dienst Da-niel Get YouMeet in Sterndes Pin stimmte

Google 4,43 14.29 14.29

74

Page 93: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

6.2. Messungen und Testaufbau

tpStat welche tour fahreich heute

wie lachelt orFace ich heute

Google 4,12 0 20

tpStatEFF welche tour fahreich heute

Siegwier Faß ichheute es

Google 5,13 40 40

tpStatEN welche tour fahreich heute

Star fand sie ent-hielt

Google 4,07 20 20

att was ist bei dempatienten zu be-achten

wie last ist beiden Patienten zubeachten

Google 3,94 42.86 57.14

attEFF was ist bei dempatienten zu be-achten

ist bei den Pati-enten zu beach-ten

Google 4,41 71.43 71.43

attEN was ist bei dempatienten zu be-achten

WINS httpin Wetter instimmten sehebiete

Google 4,51 0 0

ovStammdaten offne die stamm-daten und gebemir eine uber-sicht

a fur die Stamm-daten und gebemir eine Uber-sicht

Google 4 62.5 75

ovStammdatenEFF offne die stamm-daten und gebemir eine uber-sicht

fur die Stamm-daten und ge-be mir eine ubersich

Google 4,32 75 75

ovStammdatenEN offne die stamm-daten und gebemir eine uber-sicht

wier von Dan istinterne geheneingehender sind

Google 4,67 0 0

6.2.2 Leistung und Last

Da die Spracherkennung fur viele Nutzer verwendet werden soll, ist die Serverlast nicht zuvernachlassigen. Daher wurde wahrend der Tests auch die Serverlast ermittelt und mit dernormalen Last im System (Leerlauf) verglichen. Da die Sprachverarbeitung von Google nichtauf dem Server stattfindet, waren hier auch keine signifikanten Unterschiede feststellbar. Inder Windows-Sprachverarbeitung wurden neun Prozesse festgestellt, die ein bis zwei Kerneder CPU mit bis zu 80 % auslasteten. Die Anwendung lief dennoch wie erwartet Gut undohne Verbindungstimeouts oder Fehlern.

Bei der Auslastung des Arbeitsspeichers wurden im Schnitt maximal 100 MB verwendet.Da als Testserver das beschriebene System (siehe 5.12) verwendet wurde und hier nur einemobile und nicht sehr leistungsstarke CPU verbaut ist, kann davon ausgegangen werden,dass es auf einem Serversystem, mit wesentlich mehr Ressourcen, keine Probleme gebensollte.

75

Page 94: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

6. Evaluation

Abbildung 6.2: Direktvergleich von Google (Rot) und Windows (Blau) bei allen Messungenmit gemeinsamen Werten

%

1

2

3

4

5

6

7

8

9

10

7.14

akt

1.43

aktE

ff

4

tpSta

tEFF

4.3

att

4.3

attE

FF

6.3

ovSta

mm

daten

1.36

ovSta

mm

daten

EFF

0.2

stam

m

8.57

5.71

44.3

7.14

6.25

7.5

10

76

Page 95: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

6.2. Messungen und Testaufbau

Abbildung 6.3: Vergleich Google (Rot) und Windows (Blau) im Bezug auf die einzelnenAnwendungsfalle (Ohne Einflusse, mit Rauschen und Dialekt)

%

1

2

3

4

5

6

7

8

9

10

0.94

Norm

al

0.70

Rausc

hen0

Dia

lekt

8

0%Erk

ennung

5.04

3.38

0.18

6.3

6.2.3 Auswertung

In den erfassten Messungen (siehe Tabelle 6.2 und 6.3 und Abbildung 6.2 und 6.3) zeigtsich, dass der Google-Sprachassistent die hohere Wortakkuratheit aufweist.Im Vergleich zu den Anforderungen, die in Abschnitt 4.3.1 definiert wurden, konnten dreiAnforderungen bisher nicht erfullt werden - die Erfassung der Sprache mit Dialekt oderSprachproblemen, die Fachsprache und Umgebungsgerausche. Die Anforderung an den Da-tenschutz konnten bisher nicht final geklart werden. Alle weiteren Anspruche wurden erfulltund konnen mit dem bestehenden System abgebildet werden.

Bei dem verwendeten Microsoft-Sprachassistenten zeigt sich, dass dieser das richtige Schlussel-wort erkannt hat, jedoch immer Worter hinzugefugt und in der Erkennung mit Dialekt volligversagt hat. Wenn man nur nach Schlusselwortern in der Antwort suchen wurde, ware ein

77

Page 96: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

6. Evaluation

Bedienung durch den Microsoft-Sprachassistenten kein Problem. Die Genauigkeit zum Dik-tieren reicht jedoch nicht aus. Auch der Umgang mit Fachsprache ist ungenugend. Da dieWortakkuratheit meist 0 % ist, stellt diese Kennzahl kein aussagekraftiges Maß dar. DieWorterkennungsrate ergibt auch keine geeigneten Werte und weicht meist nur geringfugigab. Nach dem letzten Windows-Update (Version KB4338819 vom 10.7.2018) wurde dieLeistung der Erkennung gesteigert, obwohl in diesem Update keine Anderungen an WindowsSpeech dokumentiert wurden.

Googles Assistent arbeitet im Vergleich zu Windows deutlich zuverlassiger und meist schnel-ler, auch wenn bei diesem ebenfalls Probleme mit Dialekten bestehen. Es zeigt sich aberauch, dass der Google Assistent manchmal zu keiner Antwort bzw. Fehler kommen kann,so dass auch dieser nicht zu 100 % fehlerfrei arbeitet. Daruber hinaus kann es zu Zeitenerhohter Auslastung dazu kommen, dass die Verarbeitung langer dauert, was sich jedoch imBereich von Millisekunden bewegt und je nach Anwendungsfall vernachlassigt werden kann.Es zeigt sich aber auch, dass auf dem System deutlich mehr Netzwerklast entsteht und diesbei der Verwendung durch viele Benutzer beachtet werden muss.

Die Messungen mittels Alexa-Sprachassistent ergaben keine auswertbaren Daten. Somitkonnten keine Eingaben durch Alexa validiert werden. Die Aufrufe der Schlusselworter (Skills)und anschließendem Callback verliefen weitestgehend fehlerfrei, sofern keine Timeouts undVerarbeitungsprobleme auftraten. Somit kann der Alexa-Sprachassistent nicht mit den an-deren beiden verglichen werden.

Im Verlauf der Messungen zeigten sich immer wieder kleinere Fehler, so dass die Messungenmehrmals wiederholt werden mussten. Dabei wurde auch darauf geachtet, dass das Win-dows-System eine moglichst geringe Last hat, um die Zeitmessungen nicht zu verfalschen.Aus diesem Grund wurden alle Dienste und Programme, die auf dem Testsystem nichtbenotigt wurden, deaktiviert oder geschlossen. Zudem wurde der Dienst des Assistentenhoher priorisiert.

6.2.4 Auswertungseinflusse

Die ermittelten Werte sind nicht so aussagekraftig wie erwunscht. Mogliche Ursachen hierfurkonnten die folgenden sein:

• Synthetische Spracheingabe - Da die heutigen Spracherkennungssysteme mit neu-ronalen Netzwerken arbeiten, lernt das System die Eigenheiten von menschlichen Spre-chern. Daher konnte es zu Problemen durch die synthetischen Eingaben gekommensein. Dies musste jedoch durch weitere ausfuhrlichere Tests gepruft werden.

• Einfluss des Lautsprecher bzw. Mikrofon - Um die Einflusse von Lautsprecher undMikrofon weiter zu untersuchen, mussten auch hier weitere Tests mit unterschiedlicherHardware gemacht werden und diese auch mit der direkter Eingabe der Audiodateienverglichen werden. Da dies ein gesondertes Thema ist, wurden diese Probleme nuraufgezeigt und erwahnt.

78

Page 97: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

6.2. Messungen und Testaufbau

• Direkte Eingabe der Audiodateien - Grundsatzlich ware es kein Problem die erzeug-ten Audio-Dateien direkt an den Empfanger (Assistenten) zu schicken und nicht erstuber den Lautsprecher auszugeben und mit dem Mikrofon aufzunehmen. Dies wurdezwar weitere Einflusse (Hintergrundgerausche) vermeiden und so die Messungen ver-bessern, aber im gleichen Zug keine reale Umgebung schaffen.

Zur Bestatigung der genannten Ursachen der Erkennungsungenauigkeiten sind viele weitereMessungen notig, deren Umfang genug Stoff fur eine weitere wissenschaftliche Arbeit ware.

79

Page 98: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor
Page 99: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

Kapitel 7

Fazit

Dieses Kapitel zieht ein Resume der Masterarbeit und liefert einen Ausblick in die Zukunftdes entwickelten Systems. Dabei wird die Schlussbetrachtung in zwei Teile aufgeteilt - dieUnternehmenssicht und die Meinung des Autors.

7.1 Unternehmenssicht

Im ersten Teil der Kozeptionierung zeigte sich, dass es nicht einfach ist ein bestehendesSystem um eine Grundfunktion, wie eine Spracherkennung, zu erweitern, wenn dies nichtbereits ursprunglich vorgesehen war. Auch ist die Erstellung eines Konzepts fur eine bar-rierefreie Bedienung mittels Sprache nicht trivial und muss dem Anwendungsfall angepasstsein. Das entwickelte Konzept konnte dennoch zu Testzwecken in das bestehende Care VivaSystem implementiert werden. Ein Test beim Kunden war leider, durch die aktuell noch sehrinstabilen Schnittstellen der Assistenten, nicht moglich.

Im Laufe der Implementierung zeigte sich sehr schnell, dass die meisten Sprachassisten-ten noch in der Entwicklung stecken, sodass es immer wieder dazu kam, dass Funktionenund Schnittstellen wahrend der Entwicklung des Assistenten durch den jeweiligen Herstellerangepasst wurden oder Services nicht mehr erreichbar waren. Das ist fur ein Unternehmen,dass auf diese Assistenten angewiesen ist, nicht tragbar.

Auch das Thema Datenschutz ist gemaß der neuen Datenschutz-Grundverordnung (DSGVO)ein großes Problem, was noch nicht vollends durchdacht werden konnte und von einem An-walt bzw. Datenschutzbeauftragten noch weiter gepruft werden muss.

Im Anbetracht der genannten Tatsachen, wird die Akquinet Ristec / Care GmbH dieEntwicklung des Assistenten bis auf weiteres nicht fortfuhren und in einiger Zeit erst wiederauf erneute Machbarkeit, auch im Hinblick der Rechtslage, prufen.

7.2 Personliches Fazit

Die aufgezeigten Sprachassistenzsysteme sind in der Entwicklung leider aktuell noch in denAnfangen. Es wird noch einige Zeit ins Land gehen bis die Schnittstellen sauber definiertund nicht mehr gravierenden Anderungen unterlegen sind. Es zeigte sich, dass man sich auf

81

Page 100: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

7. Fazit

die Technologien aktuell nicht verlassen kann. Somit ist es im Moment schwierig abzuwagenob sich ein Einsatz beim Kunden lohnen wurde. Dazu ist in jedem Fall zu sagen, dass derKunde ein solches System unter diesen Umstanden nicht bezahlen wurde.

Auf Nachfrage zeigte sich, dass durch die neue DSGVO bei den Kunden noch viel Unsi-cherheit und Verwirrung herrscht. Daher mochten Kunden zur Zeit keine neue, unbekannteKomponente einfuhren.

Auch wenn ein Einsatz zur Zeit aus den genannten Grunden nicht moglich ist, gibt es mitHilfe dieser neuen Technologie trotzdem viele weitere Felder, die besser abgedeckt werdenkonnen, sodass es sich in jedem Fall lohnt diese Technologien im Auge zu behalten.

7.3 Ausblick

Die Verwendung der Sprachassistenten im Bereich der Pflegeplanung und Dokumentation istin jedem Fall in den nachsten Jahren weiter ein Thema, wie den Prognosen (siehe Abbildung2.2) zu entnehmen ist. Wenn erste Unsicherheiten der DSGVO geklart und die Schnittstel-len vereinheitlicht bzw. etabliert worden sind, kann an den produktiven Einsatz in einemUnternehmen gedacht werden. Vor allem im Hinblick auf weitere Anwendungsmoglichkeitenund die Vernetzung mit Smart Devices1 konnen viele neue Produktfelder fur Software undGerate in der Pflege erschlossen werden. Bei den Themen Genauigkeit und Performance istzu erwarten, dass hier bessere Ergebnisse erzielt werden konnen.

Diese Masterarbeit zeigt, dass es auch jetzt schon moglich sein kann, mit einigen Ein-schrankungen, den Sprachassistent zu verwenden und somit die Pflegeplanung von Morgenzu schaffen. Einige Funktionen werden, mit etwas mehr Aufwand im Bereich der Aufbe-reitung und Auswertung der empfangenen Daten der Sprachassistenten, auch in ZukunftAnwendung finden.

1Weitere Informationen unter: https://en.wikipedia.org/wiki/Smart_device

82

Page 101: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

Anhang A

Anhang

A.1 Verwendete Software

Zum Erstellen dieser Masterarbeit wurde folgende Software verwendet.

• Overleaf - Online LATEX-Editor https://www.overleaf.com/.

• Zotero - Online Biblatex Verwaltungssoftware inkl. Snapshots der Quellen https:

//www.zotero.org/.

• Visual Paradigm 15.0 - Tool zum Erstellen von Grafiken, wie Klassendiagrammen,Use Cases und Ablaufplanen https://www.visual-paradigm.com/.

A.2 Inhalt DVD

• LATEX-Dokumente und Masterarbeit als PDF

• Alle Messungen als Dateien (Audio, Logs und LATEX-Auswertung)

• Log-Dateien von Benutzertests

• Quellen als Zotero Archiv

A.3 Auswertung Messungen

• Download Messungen Windows: https://www.dropbox.com/sh/sic3yikpsj7px96/AACNKMxajhL7pgTFz_0SsfzJa?dl=0

• Download Messungen Google: https://www.dropbox.com/sh/1dtugtezba4g8mv/AAAf45TM4FDruXoQrHpSmzhNa?dl=0

A.4 Auswertung Log-Dateien

Die Log-Dateien der Nutzerangaben konnen der Tabelle A.1 entnommen werden.

83

Page 102: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

A. Anhang

Tabelle A.1: Auswertung der vorhandenen Log-Dateien

Dateiname Inhalt Erkannt Assistent Lang EZF [µs] WA [%]3e1kjm5pvt How are you whole prize

you willWindows EN 2038772 33,3

3npb1ntnxk Test one twothree

test or onetwo three

Windows EN 3781647 50

o2h5yur1eg test voice in-put

test was im-portant

Windows EN 2128400 33,3

ajjg5t2k3t Ubersicht Ubersicht Windows DE 491862 100

ajjg5t2k3t Ubersicht Ubersicht Google DE 100

bu35eluxb0 Test Test Windows DE 1092399 100

0yc1ipji1g..4 Grafikkarte darf ich binKarte

Windows DE 3734113 0

0yc1ipji1g..6 Produkthinzufugen

Produkthinzufugen

Windows DE 859900 100

0yc1ipji1g..9 Produkthinzufugen

Produkthinzufugen

Windows DE 475950 100

0zmpnlqyu1 Ubersicht Ubersicht Windows DE 509038 100

1c0f4skft3 Hallo Com-puter

A, Windows DE 4058092 50

edw3chnpjx Dies isteine Test-nachrichtmal schau-en ob esfunktioniert

dieses ISAWarschauerSinne

Windows DE 5571257 55,56

edw3chnpjx DieSprachein-gabe vonCareVi-va wurdegetestet

die Frau A.R. S. A.

Windows DE 2929985 16,67

lt5ihd4ibs Ich lie-be meinEngelchen

immer wie-der mein En-gel waren

Windows DE 5284130 25

lt5ihd4ibs..3 ErfasseKundenVitalwert

erfassenkonntenvital Werten

Windows DE 3282537 0

nw3n2jvpth BadewannensitzBadewannensechs

Windows DE 3219189 0

won30kp3sz der KundeZeit ag-gressivesVerhalten

der KundeZeit ag-gressivesVerhalten

Windows DE 4162073 100

84

Page 103: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

Literaturverzeichnis

[AGa] AG akquinet: CareViva. https://www.akquinet.de/AKQNEU/

Sozialwirtschaft-NEU/Flyer/Produktinformation_care_CARE-VIVA_

201710v.pdf

[AGb] AG akquinet: CareViva-Doku. https://www.akquinet.de/

AKQNEU/Sozialwirtschaft-NEU/Flyer/Produktinformation_care_

CARE-VIVA-doku_Altenpflege_201710.pdf

[AGc] AG akquinet: CareViva-Doku 2. https://www.akquinet.de/

AKQNEU/Sozialwirtschaft-NEU/Flyer/Produktinformation_care_

CARE-VIVA-doku_Behindertenhilfe_201710.pdf

[AGd] AG akquinet: CareViva-Mobil. https://www.akquinet.de/AKQNEU/

Sozialwirtschaft-NEU/Flyer/Produktinformation_care_CARE-VIVA_

Mobile-Datenerfassung_201710.pdf

[AGe] AG akquinet: Uber uns - akquinet AG. https://www.akquinet.de/

unternehmen/index.jsp

[Amaa] Amazon: Alexa kennenlernen. https://www.amazon.de/b?ie=UTF8&node=

12775495031

[Amab] Amazon: Technische Dokumentation | Amazon Developer-Portal. https:

//developer.amazon.com/de/documentation

[App] Apple: Bedienungshilfen fur das Sehvermogen - Mac. https://www.apple.

com/de/accessibility/mac/vision/

[Bun] Bundesministerium: BITV 2.0 - Verordnung zur Schaffung barrierefreierInformationstechnik nach dem Behindertengleichstellungsgesetz. http://www.

gesetze-im-internet.de/bitv_2_0/BJNR184300011.html

[DIN08] DIN: Ergonomie der Mensch-System-Interaktion – Teil 151: Leitlinien zur Ge-staltung von Benutzungsschnittstellen fur das World Wide Web (ISO 9241-151:2008). September 2008

[Dud] Duden: Duden | barrierefrei | Rechtschreibung, Bedeutung, Definition. https://www.duden.de/rechtschreibung/barrierefrei

85

Page 104: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

Literaturverzeichnis

[Dug17] Dugas, Martin: Medizininformatik: Ein Kompendium fur Studium und Praxis.Springer-Verlag, 2017 https://goo.gl/Pdoi3U. – ISBN 3–662–53328–6

[Eul06] Euler, Stephan: Grundkurs Spracherkennung. Februar 2006

[Hei] Heim, Pierre: Einfuhrung in barrierefreie Softwa-re. https://www.heise.de/developer/artikel/

Einfuehrung-in-barrierefreie-Software-2473154.html

[IBM17] IBM: IBM Accessibility Checklist 7.0. https://www.ibm.com/able/

guidelines/ci162/accessibility_checklist.html. Version: Dezember2017

[Kol18] Kolossa, Dorothea: GRUNDLAGEN DER AUTOMATISCHEN SPRACHER-KENNUNG. https://www.ei.rub.de/media/ei/lehrmaterialien/

spracherkennung/ab137310d5bb3a2cf37dc230b67cb6edf9ac8b86/

Skript-2018.pdf. Version: Marz 2018

[Lan] Lang, Dr. M.: Spracherkennung goes KI. http://

e-health-com.de/thema-der-woche/spracherkennung-goes-ki/

c70165bc0350af9648382107d07aeb56/

[Les] Lesti, Gordon: A audio noise filter in JavaScript - speech / non-speech classifcation – Gordon Lesti. https://gordonlesti.com/

a-audio-noise-filter-in-javascriptspeech-non-speech-classifcation/

[MHH+06] Maier, Andreas ; Haderlein, Tino ; Hacker, Christian ; Noth, Elmar ;Rosanowski, Frank ; Eysholdt, Ulrich ; Schuster, Maria: Automatischeinternetbasierte Evaluation der Verstandlichkeit, German Medical Science, Sep-tember 2006, S. Doc06dgppV24

[Mica] Microsoft: Guidelines for form layouts - Windows app development. https://msdn.microsoft.com/en-us/library/windows/apps/jj839734.aspx

[Micb] Microsoft: Integrating Cortana in your Universal Win-dows App using Visual Studio 2015 – arsurya. https:

//blogs.msdn.microsoft.com/arsurya/2015/07/06/

integrating-cortana-in-your-universal-windows-app-using-visual-studio-2015/

[Micc] Microsoft: Verwenden des Modus fur hohen Kontrast - Win-dows Help. https://support.microsoft.com/de-de/help/13862/

windows-use-high-contrast-mode

[Neu13] Neumann, Alexander: Episode 38: Barrierefreiheit. https://www.heise.

de/developer/artikel/Episode-38-Barrierefreiheit-1780121.html.Version: Januar 2013

86

Page 105: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

Literaturverzeichnis

[Nic18] Nickel, Oliver: Neuronale Netze: KI-Angriff versteckt Sprachbefeh-le in klassischer Musik - Golem.de. https://www.golem.de/news/

neuronale-netze-ki-angriff-versteckt-sprachbefehle-in-klassischer-musik-1801-132105.

html. Version: November 2018

[noaa] Actions on Google | Actions on Google. https://developers.google.com/

actions/

[noab] Apple Siri. https://www.netzwelt.de/apple-siri/index.html

[noac] Automatische Spracherkennung – InfoWissWiki - Das Wiki der Informationswis-senschaft. https://wiki.infowiss.net/Automatische_Spracherkennung

[noad] Cortana | Die personliche digitale Assistentin |Windows. www.microsoft.com/de-de/windows/cortana

[noae] Staat & Gesellschaft - Behinderte Menschen - Statistisches Bundesamt (Desta-tis). https://www.destatis.de/DE/ZahlenFakten/GesellschaftStaat/

Gesundheit/Behinderte/BehinderteMenschen.html

[noa17] Die erstaunliche Entwicklung von Software zur Spracherkennung.https://www.suedwestfalen-nachrichten.de/themen/wirtschaft/

die-erstaunliche-entwicklung-von-software-zur-spracherkennung/.Version: April 2017

[Nuaa] Nuance: Dragon Befehlsubersicht. http://www.nuance.de/

for-individuals/by-product/dragon-for-pc/DNS13_COMMAND_CHEAT_

SHEET_GER.pdf

[Nuab] Nuance: Dragon Kurzubersicht. http://www.nuance.de/

for-individuals/by-product/dragon-for-pc/dns13quickstartguide_

deu.pdf

[Nuac] Nuance: Spracherkennung mit wenig Aufwand und großer Wir-kung. http://www.spracherkennung-funktioniert.de/download/PDF/

DragonMedical2_Produktblatt.pdf

[Rei17] Reininger, Prof. Dr. H.: Konzeption und Realisierung von Sprachportalen.April 2017

[Ru07] Rugge, Ingrid: Mobile Solutions: Einsatzpotenziale, Nutzungsproblemeund Losungsansatze. Springer-Verlag, 2007 https://books.google.de/

books?id=tTPjYaxdcAAC&lpg=PA106&ots=39Q_0v9LnE&dq=Medizin%

20akzeptanz%20spracheingaben&hl=de&pg=PA106#v=onepage&q=

Medizin%20akzeptanz%20spracheingaben&f=false. – ISBN 978–3–8350–5461–5

87

Page 106: Konzeption, Implementierung und Evaluation eines ... · CV Care Viva C# C Sharp DIN Deutsches Institut fur Normung DSGVO Datenschutz-Grundverordnung DTW Dynamic Time Warping EZF Echtzeitfaktor

Literaturverzeichnis

[SG] Service GmbH, DRK: 2 Artikel BoSS.pdf. https://www.

drk-einkaufsportal.de/fileadmin/DRK-Einkaufsportal.de/Dateien/

Pflege-Marktplatz/Ausgabe02/Texte/2_Artikel_BoSS.pdf

[Ste13] Stefan, Strobel: Die richtige ByoD-Strategie finden. https://www.

computerwoche.de/a/die-richtige-byod-strategie-finden,2538538.Version: Oktober 2013

[W3Ca] W3C: Web Content Accessibility Guidelines (WCAG) 2.0. https://www.w3.

org/TR/WCAG20/

[W3Cb] W3C: Web Content Accessibility Guidelines (WCAG) 2.1. https://www.w3.

org/TR/WCAG21/

[W3Cc] W3C, Schools: JSON vs XML. https://www.w3schools.com/js/js_json_xml.asp

[W3C18] W3C: Web Accessibility Evaluation Tools List. https://www.w3.org/WAI/

ER/tools/. Version: 2018

[Wan] Wang, Yun-Yi L.: SEP - Smart Environment mit Spracherkennung.http://wimmerm.bplaced.net/lehre/sep_lisa_smart_environment_

mit_spracherkennung.pdf

[Wob17a] Wobker, Mike: Die besten Sprachassistenten - NETZ-WELT. https://www.netzwelt.de/sprachassistent/

vergleich-sprachassistent-siri-alexa-google-assistant-co-test.

html. Version: November 2017

[Wob17b] Wobker, Mike: Google Assistant. https://www.netzwelt.de/

google-assistant/index.html. Version: 2017

88