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.
4. Wissen als Produkt
Warum muss Wissen
heute „gemanaged“
werden?
● Fülle an unzusam-
menhängenden Daten
● Aggregation der Daten
in einem
Zusammenhang zu
Wissen
5. Experten nutzen
Ein Zusammenhang
ergibt sich auch
durch gemachte
Erfahrungen
● Rat von Experten mit
viel Erfahrung sehr
gefragt
● Aber wo finden wir
Experten?
6. Suche nach Rat im Internet
Suchmaschinen? Communities?
● Liefern (leider) doch ● „... Gruppe von
wieder Daten Menschen, die ein
gemeinsames Ziel
verfolgen, gemeinsame
Interessen pflegen ...“
[duden.de]
7. Mein Freund, der Experte
Communities bieten...
● Implizites Wissen durch ● Implizites Wissen über
eine Gemeinschaft aus Qualität der Experten
Experten
8. Vergessene Communities
Communities sind keine Neuerscheinung
des Web 2.0, siehe z.B.
● Foren
● Chats
Techniken des
Web 2.0 unterstützen
jedoch eine kollaborativere
Generierung von Wissens-
quellen
9. Motivation:
Nutzbarmachung dieses in
Web-Communities vorhandenen Wissens
11. 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
16. Befüllen der Wissenscontainer
● Gleichmäßiges ● Werkzeuge zur
Befüllen aller Befüllung benötigt
Container ratsam
● Open-Source Werkzeug
zur Erstellung von CBR-
Anwendungen
17. Befüllen der Wissenscontainer
● Gleichmäßiges ● Werkzeuge zur
Befüllen aller Befüllung benötigt
Container ratsam
● Open-Source Werkzeug
zur Erstellung von CBR-
Anwendungen
18. Nutzen der Communities in CBR
● Wissen aus den ● Prototyp bereits
Web-Communities vorhanden:
soll extrahiert
werden Knowledge
● Extrahiertes Engineering
Wissen für myCBR Workbench
[Sauer, 2010]
zugänglich machen
20. 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
23. Requirements Engineering
● Analyse der bestehenden Systeme
● Erhebung der Anforderungen
● Beschreibung der Funktionalitäten
● Erstellung eines Pflichtenhefts
24. Analyse myCBR
● Trennung von funktionaler Software und
grafischem UI
MyCBR GUI
MyCBR 3.0 Beta
● Einbindung als Plug-In
● GUI basiert auf eclipse RCP Bundle
● Einbindung weiterer Bundles möglich
25. Analyse KEWo
● Grafisches UI auf Basis von AWT/Swing
KEWo
● Einbindung der GATE- SQL- GATE-
Architektur für Named Connector Connector
Entity Recognition
Forum ANNIE
● Anbindung an die SQL-
Datenbank eines Zielforums
30. Aufgabenplanung
● Zerlegung der beschriebenen Ziele in
konkrete Arbeitsphasen
1. Aufbau der grafischen Bedienelemente
2. Implementierung funktionaler Anforderungen
3. Optimierung der bisherigen Implementierungen
4. Validierung der Implementierungen durch Tests
32. Funktionale Anforderungen
● Beschrieben durch Pflichtenheft
● Umsetzung in separate Klassen
● Kappselung der einzelnen Funktionen
● Definition von Schnittstellen
kewo.func kewo.plugin kewo.plugin
.ui
Paketeinteilung
33. Optimierungen & Tests
Keine eigenständigen Prozessschritte,
sondern kontinuierliche Begleitung bei
Konzeption und Implementierung
● Optimierungen
● einheitliche Verbalisierung
● Verkürzung des Codes
● Tests
● Benutzertests
● Teilweise Codevalidierung mittels JUnit
35. Evaluation KEWo Prototyp
Evaluation soll Trefferquote der KEWo
bewerten
● Festlegung eines Testraumes
● Bewertung mittels Recall und Precision
Krankheiten Orte Medikamente
37. Vergleich und Bewertung
Evaluation 1 Evaluation 2
● Precision: 0,846 ● Precision: 0,75
● Recall: 0,579 ● 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