40
Implementierung der Knowledge Engineering Workbench in myCBR Bachelorprüfung Alexander Hundt 24. August 2011

Implementierung der Knowledge Engineering Workbench in myCBR

Embed Size (px)

DESCRIPTION

This is the presentation I held during the oral exam of my Bachelor Thesis. The presentation is about where we can find expert knowledge around the internet and how we can excerpt this knowledge and use it as a basis for a Case-Based Reasoning system. The second part of the thesis shows which principles of Software Engineering are used to implement an extraction prototype into a sophisticated development tool for CBR-systems. The slides are provided in German.

Citation preview

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