Implementierung der Knowledge Engineering Workbench in myCBR

Post on 06-Jul-2015

458 views 1 download

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.

Transcript of Implementierung der Knowledge Engineering Workbench in myCBR

Implementierung derKnowledge Engineering Workbench

in myCBR

BachelorprüfungAlexander Hundt 24. August 2011

Übersicht des Vortrags

● Evaluation

● Ausblick

● Implementierung

● Entwicklung & Konzeption

● Theoretische Hintergründe dieser Arbeit

● Einführung

Einführung

Wissen als ProduktWarum muss Wissen heute „gemanaged“ werden?

● Fülle an unzusam-menhängenden Daten

● Aggregation der Daten in einem Zusammenhang zu Wissen

Experten nutzenEin Zusammenhang ergibt sich auch durch gemachte Erfahrungen

● Rat von Experten mit viel Erfahrung sehr gefragt

● Aber wo finden wir Experten?

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

wieder Daten

Communities?● „... Gruppe von

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

Mein Freund, der Experte

● Implizites Wissen durch eine Gemeinschaft aus Experten

● Implizites Wissen über Qualität der Experten

Communities bieten...

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

Motivation:Nutzbarmachung dieses in

Web-Communities vorhandenen Wissens

Theoretische Hintergründe dieser Arbeit

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

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

Definitionen des Modell-wissens

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

● Case baseSpeichert Erfahrungs-wissen in Fällen

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

● Adaption knowledgeWissen über Lösungs-transformationen

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

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

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

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

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]

Aufgabe:Integration der prototypischen

Implementierung direkt 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

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

Entwicklung & Konzeption

Requirements Engineering● Analyse der bestehenden Systeme

● Erhebung der Anforderungen

● Beschreibung der Funktionalitäten

● Erstellung eines Pflichtenhefts

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

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

Kernbestandteile der KEWo

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

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.)

Implementierung

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

Aufbau der Bedienoberfläche

FuncGUIFunktionalität identischTrennung von Funktionalitätund GUI durch Connectoren

Provider

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

Paketeinteilung

kewo.func kewo.plugin kewo.plugin.ui

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

Evaluation

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

Krankheiten Orte Medikamente

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

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

Ausblick

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

Communities nutzen!

Vielen Dank für Ihre Aufmerksamkeit