Benutzer:Freinfra/Entwurf/WeeVis
Freinfra/Entwurf/WeeVis
| |
---|---|
WeeVis Logo | |
Tool zur Erstellung von wissensbasierten Empfehlungssystemen | |
Basisdaten
| |
Maintainer | Stefan Reiterer, Alexander Felfernig |
Entwickler | TU Graz, selection:arts |
Erscheinungsjahr | 2013 |
Aktuelle Version | 1.0 (1. Juni 2013) |
Betriebssystem | plattformunabhängig |
Lizenz | ? |
http://www.weevis.org |
WeeVis (http://www.weevis.org) ist ein Online-Tool zur Entwicklung von Empfehlungssystemen auf Basis einer adaptierten Wikipedia-Syntax ermöglicht. Der wesentliche Vorteil von WeeVis ist, dass die Erstellung eines Empfehlungssystems auch ohne Informatik-Wissen möglich ist. Lediglich Basis-Kentnisse 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 für jeden auf http://www.weevis.org verfügbar.
Einsatzgebiet
Im wesentlichen gibt es drei unterschiedliche Arten von Empfehlungstechnologien.[1] Während kollaborative Ansätze versuchen, Produkte oder 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.[2] 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. Ein Beispiel hierfür wäre der Verwendungszweck von PCs. Wann immer solche Informationen vorhanden sind, sollten wissensbasierte Empfehlungssysteme verwendet werden. Im Gegensatz zu den anderen Empfehlungstechnologien haben diese den Vorteil, dass sie ohne tieferes Wissen über den Benutzer sofort verwendet werden können und sehr gute Ergebnisse bzgl. der Kundenakzeptanz haben.
Funktionsweise
Wissensbasierte Empfehlungssysteme basieren im wesentlichen aus drei Komponenten.[3] 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. Abschlißend muss eine Beziehung zwischen den Fragen und den Produkten hergestellt werden. Die Relation wird über Beziehungen (Constraints) dargestellt.
Beispiel
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ürlich sprachlich 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
WeeVis basiert im wesentlichen aus zwei Komponenten. Das Front-end basiert auf MediaWiki. Diese Oberfläche bietet eine leicht verständliche Oberfläche für Benutzer. Das Back-end ist eine Java-Entwicklung und ermöglicht im wesentlichen die Ausführung des Empfehlungssystems. Hierfür werden die im MediaWiki-"Bearbeiten"-Bereich verfassten Produkte, Fragen und Constraints in Form einer SQLite-Datenbank umgesetzt. Dabei sind die Produktattribute und Fragen Tabellen und die Constraints Teil einer DB-Abfrage. Auf Basis dieser Datenbank werden die Anforderungen, die vom Benutzer im System eingegeben werden, in einer Datenbank-Query zu den Constrains angehängt.
Einzelnachweise
- ↑ D. Jannach, M. Zanker, A. Felfernig, G. Friedrich: Recommender Systems. An Introduction. Cambridge (2011)
- ↑ R. Burke: Knowledge-based Recommender Systems. ENCYCLOPEDIA OF LIBRARY AND INFORMATION SYSTEMS (2000)
- ↑ A. Felfernig, R. Burke: Constraint-based recommender systems: technologies and research issues.Proceedings of the 10th international conference on Electronic commerce (2008)