WeeVis
WeeVis | |
---|---|
Datei:WeeVisLogo.png Logo des WeeVis Projektes | |
Maintainer | Alexander Felfernig, Stefan Reiterer |
Entwickler | TU Graz, selection:arts |
Erscheinungsjahr | 2013 |
Aktuelle Version | 1.0 (1. Juni 2013) |
Betriebssystem | plattformunabhängig |
Lizenz | GPLv2+ |
http://www.weevis.org |
WeeVis ist ein Online-Tool zur Entwicklung und Ausführung von Empfehlungsanwendungen auf Basis einer adaptierten Wikipedia-Syntax. →[1] Der wesentliche Vorteil von WeeVis ist, dass die Erstellung einer Empfehlungsanwendung auch ohne Informatik-Wissen möglich ist. Lediglich Basiskentnisse in der Erstellung von Wikipedia-Seiten und über die zu beschreibende Produktdomäne (z. B. Computer, Fahrräder, ...) sind notwendig. Nach dem erstellen eines Empfehlungssystems ist dieses öffentlich auf weevis.org verfügbar.
Inhaltsverzeichnis
[Verbergen]Einsatzgebiet[Bearbeiten]
Im wesentlichen gibt es drei unterschiedliche Arten von Empfehlungstechnologien.[2] Während kollaborative Ansätze versuchen, u.a. Benutzer miteinander zu vergleichen und inhaltsbasierte Ansätze Ähnlichkeiten in den Produkten versuchen zu finden, kommen wissensbasierte Empfehlungssysteme ohne dieses Wissen aus. Stattdessen werden Informationen über die Produkte und deren Eigenschaften benötigt.[3] Ein Beispiel hierfür sind Produktattribute von PCs (z.B. Prozessor, Arbeitsspeicher, Festplatte, ...). Außerdem werden Informationen darüber benötigt, welche Präferenzen Benutzer haben können und wie diese Präferenzen mit Produkteigenschaften zusammenhängen.
Funktionsweise[Bearbeiten]
Wissensbasierte Empfehlungssysteme basieren auf drei Komponenten.[4] Zunächst werden Produkte erstellt welche dem Benutzer angeboten werden sollen. Im zweiten Schritt werden Fragen erstellt welche vom Benutzer beantwortet werden sollen. Die Antworten dienen dazu, die Produkte entsprechend der Auswahl zu reihen. Abschließend muss eine Beziehung zwischen den Fragen und den Produkten hergestellt werden. Die Relation wird über Beziehungen (Constraints) dargestellt. Durch den Einsatz von Diagnose Algorithmen[5] aus dem Bereich der Künstlichen Intelligenz kann WeeVis Kundenanforderungen reparieren. Dies ermöglicht es dem Benutzer des Systems immer eine Empfehlung zu erhalten, der entsprechende "Support Wert" des Produktes zeigt diese nur teilweise erfüllten Anforderungen an.
Beispiel[Bearbeiten]
Ein WeeVis Recommender wird in 3 Komponenten definiert: Produkte ( &PRODUCTS { ... } ), Fragen ( &QUESTIONS { ... } ) und Constraints ( &CONSTRAINTS { ... } ).
Die Produkte-Komponente beschreibt die Eigenschaften und die Werte der möglichen Produkte. Die Eigenschaften werden durch „!“ getrennt (erste Zeile). Die Belegungen der Eigenschaften für die einzelnen Produkte werden durch „|“ getrennt. Eine Spalte repräsentiert also immer eine Eigenschaft und deren Belegung für ein bestimmtes Produkt. Eigenschaften deren Belegungen durch Zahlen repräsentiert werden besitzen eine vorangestellte „#“.
&PRODUCTS
{
- !name!cpu!motherboard!operatingsystem!#price!
- |PC1|CPUD|MBSilver|OSAlpha|600|
- |PC2|CPUA|MBDiamond|OSBeta|600|
- |energystar|CPUS|MBDiamond|OSBeta|800|
}
Die Fragen-Komponente beschreibt, welche Fragen dem Kunden gestellt werden sollen. Jede Frage beginnt mit einer "|". Die Antwortmöglichkeiten werden entweder als Text mit Komma getrennt, in runden Klammern angegeben oder in der Struktur #(von, bis, Intervall, Einheit) für numerische Antworten definiert. Am Ende wird wieder eine "|" angegeben.
&QUESTIONS
{
- |Was ist der Verwendungszweck des PCs? (Internet, Scientific, Multimedia)|
- |Welche Energieeffizienzklasse soll der PC haben? (A,B,C)|
- |Was soll der Höchstpreis sein? #(200,2000,500,Euro)|
- |In welchem Land leben Sie? (Austria, Germany, Swizerland, USA)|
- |Möchten Sie ein spezielles Mainbord haben? (MBSilver, MBDiamond)|
- |Möchten Sie eine spezielle CPU haben? (CPUA, CPUD)|
}
Der Constraints Block definiert Bedingungen die die Beziehung zwischen Antworten auf Fragen und Produkteigenschaften beschreiben. Ein „&INCLUDES“ Constraint legt beispielsweise fest, dass, wenn die Frage „Energieklasse?“ mit „A“ beantwortet wurde das Produkt mit dem Namen „energystar“ in der Lösungsmenge inkludiert wird (Implikation). Umgekehrt wird mit dem „&EXCLUDES“ Constraint festgelegt, dass Produkte aufgrund einer beantworteten Frage aus der Lösungsmenge herausgenommen werden (Exklusion). Eine Frage welche durch eine Zahl beantwortet wird, kann direkt mit einer Produkteigenschaft mittels der Operatoren =, <>, >, <, >=, <= verglichen werden. Etwa, dass das Produkt immer weniger kosten muss als der Kunde als Preis Obergrenze festlegt. Mittels einer IF – THEN Bedingung werden die Produkte nach dem angegebenen Kriterium gefiltert, natürlichsprachlich entspricht der erste IF-THEN Constraint etwa: wenn CPUA ausgewählt wurde sollen nur noch Produkte angezeigt werden, welche CPUA besitzen. Inkompatibilitäten beschreiben, welche Kundenanforderungen nicht miteinander kompatibel sind, beispielsweise Energieklasse A ist nicht mit dem Motherboard MBSilver kompatibel.
&CONSTRAINTS
{
- |energy? = A &INCLUDES name = energystar|
- |country? = Austria &EXCLUDES name = PC2|
- |maxprice? >= #price|
- |&IF cpu? = CPUA &THEN cpu = CPUA|
- |&IF cpu? = CPUD &THEN cpu = CPUD|
- |&IF motherboard? = MBSilver &THEN motherboard = MBSilver|
- |&IF motherboard? = MBDiamond &THEN motherboard = MBDiamond|
- |energyclass? = A &INCOMPATIBLEWITH motherboard? = MBSilver|
}
Architektur[Bearbeiten]
WeeVis basiert im wesentlichen aus zwei Komponenten. Das Frontend basiert auf MediaWiki. Diese Oberfläche bietet eine leicht verständliche Oberfläche für Benutzer. Das Backend ist eine Java-Entwicklung und ermöglicht die Ausführung einer Recommender Anwendung. Hierfür werden die im MediaWiki-"Bearbeiten"-Bereich verfassten Produkte, Fragen und Constraints in Form einer SQLite-Datenbank umgesetzt.
Einzelnachweise[Bearbeiten]
- Hochspringen ↑ S. Reiterer, A. Felfernig, P. Blazek, G. Leitner, F. Reinfrank, G. Ninaus: WeeVis. In: Knowledge-based Configuration: From Research to Business Cases, Elsevier/Morgan Kaufmann, pp. 297-307 (2014).
- Hochspringen ↑ D. Jannach, M. Zanker, A. Felfernig, G. Friedrich: Recommender Systems. An Introduction. Cambridge (2011)
- Hochspringen ↑ R. Burke: Knowledge-based Recommender Systems. Encyclopedia of Library and Information Systems, pp. 180-200 (2000)
- Hochspringen ↑ A. Felfernig, R. Burke: Constraint-based recommender systems: technologies and research issues. Proceedings of the 10th international conference on Electronic commerce, pp. 17-26 (2008)
- Hochspringen ↑ A. Felfernig, M. Schubert, and C. Zehentner. An Efficient Diagnosis Algorithm for Inconsistent Constraint Sets, Artificial Intelligence for Engineering Design, Analysis, and Manufacturing (AIEDAM), Cambridge University Press, 26(1):53-62, 2012.