implementierung der knowledge engineering workbench in mycbr
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
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