Transcript
Page 1: Implementierung der Knowledge Engineering Workbench in myCBR

Implementierung derKnowledge Engineering Workbench

in myCBR

BachelorprüfungAlexander Hundt 24. August 2011

Page 2: Implementierung der Knowledge Engineering Workbench in myCBR

Übersicht des Vortrags

● Evaluation

● Ausblick

● Implementierung

● Entwicklung & Konzeption

● Theoretische Hintergründe dieser Arbeit

● Einführung

Page 3: Implementierung der Knowledge Engineering Workbench in myCBR

Einführung

Page 4: Implementierung der Knowledge Engineering Workbench in myCBR

Wissen als ProduktWarum muss Wissen heute „gemanaged“ werden?

● Fülle an unzusam-menhängenden Daten

● Aggregation der Daten in einem Zusammenhang zu Wissen

Page 5: Implementierung der Knowledge Engineering Workbench in myCBR

Experten nutzenEin Zusammenhang ergibt sich auch durch gemachte Erfahrungen

● Rat von Experten mit viel Erfahrung sehr gefragt

● Aber wo finden wir Experten?

Page 6: Implementierung der Knowledge Engineering Workbench in myCBR

Suche nach Rat im InternetSuchmaschinen?● Liefern (leider) doch

wieder Daten

Communities?● „... Gruppe von

Menschen, die ein gemeinsames Ziel verfolgen, gemeinsame Interessen pflegen ...“ [duden.de]

Page 7: Implementierung der Knowledge Engineering Workbench in myCBR

Mein Freund, der Experte

● Implizites Wissen durch eine Gemeinschaft aus Experten

● Implizites Wissen über Qualität der Experten

Communities bieten...

Page 8: Implementierung der Knowledge Engineering Workbench in myCBR

Vergessene CommunitiesCommunities sind keine Neuerscheinung des Web 2.0, siehe z.B.● Foren● Chats

Techniken desWeb 2.0 unterstützenjedoch eine kollaborativereGenerierung von Wissens-quellen

Page 9: Implementierung der Knowledge Engineering Workbench in myCBR

Motivation:Nutzbarmachung dieses in

Web-Communities vorhandenen Wissens

Page 10: Implementierung der Knowledge Engineering Workbench in myCBR

Theoretische Hintergründe dieser Arbeit

Page 11: Implementierung der Knowledge Engineering Workbench in myCBR

Repräsentation von Wissen● Idealerweise dem menschlichen

Erfahrungsspeicher ähnlich● Häufige Herangehensweise:

Ich habe ein Problem.Ich suche eine Lösung.Ich finde ähnliche Probleme und werde deren Lösungen verändern um mein Problem zu lösen.

Geeignete Wahl: Case-Based Reasoning

Page 12: Implementierung der Knowledge Engineering Workbench in myCBR

Case-Based ReasoningAufteilung eines CBR-Systems in Wissens-container● Vocabulary

Definitionen des Modell-wissens

Page 13: Implementierung der Knowledge Engineering Workbench in myCBR

Case-Based ReasoningAufteilung eines CBR-Systems in Wissens-container

● Case baseSpeichert Erfahrungs-wissen in Fällen

Page 14: Implementierung der Knowledge Engineering Workbench in myCBR

Case-Based ReasoningAufteilung eines CBR-Systems in Wissens-container

● Adaption knowledgeWissen über Lösungs-transformationen

Page 15: Implementierung der Knowledge Engineering Workbench in myCBR

Case-Based ReasoningAufteilung eines CBR-Systems in Wissens-container

● Similarity measuresWissen über Art und Änderung von Ähnlichkeitsmaßen

Page 16: Implementierung der Knowledge Engineering Workbench in myCBR

Befüllen der Wissenscontainer● Gleichmäßiges

Befüllen aller Container ratsam

● Werkzeuge zur Befüllung benötigt

● Open-Source Werkzeug zur Erstellung von CBR-Anwendungen

Page 17: Implementierung der Knowledge Engineering Workbench in myCBR

Befüllen der Wissenscontainer● Gleichmäßiges

Befüllen aller Container ratsam

● Werkzeuge zur Befüllung benötigt

● Open-Source Werkzeug zur Erstellung von CBR-Anwendungen

Page 18: Implementierung der Knowledge Engineering Workbench in myCBR

Nutzen der Communities in CBR● Wissen aus den

Web-Communities soll extrahiert werden

● Extrahiertes Wissen für myCBR zugänglich machen

● Prototyp bereits vorhanden:

KnowledgeEngineeringWorkbench[Sauer, 2010]

Page 19: Implementierung der Knowledge Engineering Workbench in myCBR

Aufgabe:Integration der prototypischen

Implementierung direkt in myCBR

Page 20: Implementierung der Knowledge Engineering Workbench in myCBR

Notwendige Bedingungen● Klare Abgrenzung vom prototypischen

Status

● Erreichung einer methodischen Qualitäts-steigerung

● Einbeziehung von Prinzipien und Techniken ingenieursmäßiger Software-entwicklung aus dem Software Engineering

Page 21: Implementierung der Knowledge Engineering Workbench in myCBR

Software Engineering Prinzipien● Modularisierung● Minimale Kopplung● Maximale Kohäsion● Information Hiding● Lokalität● Verbalisierung

Page 22: Implementierung der Knowledge Engineering Workbench in myCBR

Entwicklung & Konzeption

Page 23: Implementierung der Knowledge Engineering Workbench in myCBR

Requirements Engineering● Analyse der bestehenden Systeme

● Erhebung der Anforderungen

● Beschreibung der Funktionalitäten

● Erstellung eines Pflichtenhefts

Page 24: Implementierung der Knowledge Engineering Workbench in myCBR

Analyse myCBR● Trennung von funktionaler Software und

grafischem UI

● Einbindung als Plug-In

● GUI basiert auf eclipse RCP Bundle

● Einbindung weiterer Bundles möglich

MyCBR GUI

MyCBR 3.0 Beta

Page 25: Implementierung der Knowledge Engineering Workbench in myCBR

Analyse KEWo● Grafisches UI auf Basis von AWT/Swing

● Einbindung der GATE-Architektur für NamedEntity Recognition

● Anbindung an die SQL-Datenbank eines Zielforums

KEWo

GATE-Connector

ANNIE

SQL-Connector

Forum

Page 26: Implementierung der Knowledge Engineering Workbench in myCBR

Kernbestandteile der KEWo

Page 27: Implementierung der Knowledge Engineering Workbench in myCBR

Code-Review KEWoGenereller Aufbau● Funktionalitäten in GUI

Klasse● Vorrangig „globale“

Klassenvariablen● Umgebungs-variablen

statisch in zusätzlicher Datei

Die Folge● Modularität● Minimale Kopplung● Maximale Kohäsion● Information Hiding● Lokalität● Verbalisierung

Page 28: Implementierung der Knowledge Engineering Workbench in myCBR

eclipse RCP Bundle

Zielbeschreibung

KEWo Func

GATE-Connector

ANNIE

SQL-Connector

Forum

GUI

Zukünftiger Aufbau● Erhaltung der

Funktionalitäten● Implementierung als

RCP Bundle für myCBR● Ergänzung um nicht-

funktionale Anforderungen(Änderbarkeit, Erweiter-barkeit, Wartbarkeit, etc.)

Page 29: Implementierung der Knowledge Engineering Workbench in myCBR

Implementierung

Page 30: Implementierung der Knowledge Engineering Workbench in myCBR

Aufgabenplanung● Zerlegung der beschriebenen Ziele in

konkrete Arbeitsphasen1. Aufbau der grafischen Bedienelemente

2. Implementierung funktionaler Anforderungen

3. Optimierung der bisherigen Implementierungen

4. Validierung der Implementierungen durch Tests

Page 31: Implementierung der Knowledge Engineering Workbench in myCBR

Aufbau der Bedienoberfläche

FuncGUIFunktionalität identischTrennung von Funktionalitätund GUI durch Connectoren

Provider

Page 32: Implementierung der Knowledge Engineering Workbench in myCBR

Funktionale Anforderungen● Beschrieben durch Pflichtenheft● Umsetzung in separate Klassen● Kappselung der einzelnen Funktionen● Definition von Schnittstellen

Paketeinteilung

kewo.func kewo.plugin kewo.plugin.ui

Page 33: Implementierung der Knowledge Engineering Workbench in myCBR

Optimierungen & TestsKeine eigenständigen Prozessschritte, sondern kontinuierliche Begleitung bei Konzeption und Implementierung● Optimierungen

● einheitliche Verbalisierung● Verkürzung des Codes

● Tests● Benutzertests● Teilweise Codevalidierung mittels JUnit

Page 34: Implementierung der Knowledge Engineering Workbench in myCBR

Evaluation

Page 35: Implementierung der Knowledge Engineering Workbench in myCBR

Evaluation KEWo PrototypEvaluation soll Trefferquote der KEWo bewerten● Festlegung eines Testraumes● Bewertung mittels Recall und Precision

Krankheiten Orte Medikamente

Page 36: Implementierung der Knowledge Engineering Workbench in myCBR

Evaluation KEWo Plug-InEvaluation sollte alte Testergebnisse erreichen● Reproduktion der ursprünglichen Evaluation

Page 37: Implementierung der Knowledge Engineering Workbench in myCBR

Vergleich und BewertungEvaluation 1● Precision: 0,846● Recall: 0,579

Evaluation 2● Precision: 0,75● Recall: 0,447

Ergebnisse differieren um etwa 10%Mögliche Ursachen:● keine identischen Beiträge verwendet● keine klare Eingrenzung welche Begriffe vom

Experten als relevant gezählt werden

Page 38: Implementierung der Knowledge Engineering Workbench in myCBR

Ausblick

Page 39: Implementierung der Knowledge Engineering Workbench in myCBR

Heute das Forum und morgen...… ein Branchenbuch? Größere und aktuellere

Communities nutzen!

Page 40: Implementierung der Knowledge Engineering Workbench in myCBR

Vielen Dank für Ihre Aufmerksamkeit


Top Related