Software-Entwicklung: Crowd Computing zur Meinungsbildung

  • Typ: Vorlesung (V)
  • Semester: SS 2013
  • Zeit:
    Auftaktveranstaltung mit Vorstellung aller
    PSE-Projekte am 16.04.2013, 14.00 Uhr,
    HS Fasanengarten;

    Einführung und Vorstellung des Themas am
    24.04.2013, 10 Uhr, Raum SR 348

    50.34 Informatik, Kollegiengebäude am Fasanengarten

  • Beginn: Einführung und Vorstellung des Themas am 24.04.2013, 10 Uhr, Raum SR 348, Geb. 50.34
  • Dozent:

    Prof.Dr.Ing. Klemens Böhm
    Dr. Silvia von Stackelberg
    Susanne Putze

  • SWS: 4
  • Hinweis:

    Anmeldung im Sekretariat Prof. Böhm, Geb. 50.34, R. 367

  • Motivation

    Die Idee von Crowd-Computing ist, die „kollektive Intelligenz“ einer Menge von Personen zur Bearbeitung von Aufgaben einzusetzen, für die beispielsweise unterschiedliche Sichtweisen gefragt sind, oder für die der personelle Aufwand extrem hoch ist, und die daher nicht mit verfügbaren Ressourcen (z.B. Mitarbeitern eines Unternehmens) bewältigt werden können. Solche Aufgaben werden üblicherweise in kleine „Tasks“ aufgeteilt und Personen, sogenannten Crowd Workers, beispielsweise über eine Crowd-Plattform zur Bearbeitung angeboten (publiziert). Diese können dann bei diesen Plattformen Tasks auswählen und erhalten dafür oft eine geringe monetäre Entlohnung.  Eine weitere Option ist, Crowd Tasks in Web Seiten einzubinden. Eine bekannte Crowd-Computing Anwendung dieser Art ist reCAPTCHA. Hierfür identifizieren Nutzer von Web Seiten Zeichenketten, deren Erkennung aufgrund von Undeutlichkeiten nicht automatisierbar ist. Die Ergebnisse dienen dazu, die Digitalisierung von existierenden Buchbeständen umzusetzen.

    Das Anwendungsspektrum von Crowd-Computing ist sehr breit und reicht von sehr einfachen Aufgaben (z.B. Annotation von Bildmaterial) bis zu sehr kreativen Aufgaben (z.B. die Erfindung von alternativen Energiequellen).  Durch die Nutzung der „kollektiven Intelligenz“ der Crowd Workers können Ergebnisse erreicht werden, deren Umsetzung ansonsten schwer umsetzbar wäre.

    Am IPD laufen derzeit Arbeiten, die die Konzeption und Umsetzung von innovativen Methoden zur Kopplung von Abläufen (Prozessen) mit Crowd-Computing-Funktionalität adressieren. Hierfür wurde die politische Meinungsbildung (Stichwort Basisdemokratie) als Anwendungsbeispiel gewählt. Das Ziel dieser Anwendung ist, dass Argumente zu einem politischen Thema gesammelt und gut strukturiert nach Pro- und Kontra-Argumenten dargestellt werden. Gemäß der Spezifikation des Ablaufes erfolgt die Durchführung der hierfür nötigen Schritte, wie beispielsweise das Sammeln von Argumenten, das Entfernen von redundanten Argumenten, oder die Qualitätssicherung des gelieferten Inhalts. Hierbei sollen Crowd Workers als Bearbeiter dieser Schritte in den Ablauf eingebunden werden, um beispielsweise Argumente zu verfassen oder redundante Argumente zu identifizieren.

    Aufgaben

    Ziel dieses Software-Entwicklungsprojektes ist es, eine Software-Infrastruktur zu entwickeln, die den crowd-basierten Prozess der Meinungsbildung umsetzt. Darunter fällt u.a. die Umsetzung folgender vier Aspekte:

    (1) Entwicklung eines Prozesses, der u.a. folgende Funktionalität umsetzt: Spezifikation der Aufgabe zur Erstellung von Argumenten, Freigabe (Publizieren) der Aufgabe, Schreiben von Argumenten, Sammlung und Auswahl der Ergebnisse anhand der Qualität, Entlohnung der Bearbeiter der akzeptierten Ergebnisse, Eliminierung von Duplikaten von Argumenten, Klassifikation der Argumente (Pro-Kontra), Erstellung von Statistiken zur Beziehung Argumente/Bearbeiter, sowie die Aggregation der Argumente zur Entscheidungsfindung.

    Zur Durchführung der genannten Funktionalität können unterschiedliche Optionen für die Bearbeiter gewählt werden. Beispielsweise kann die Klassifikation der Argumente von einer speziellen Rolle (z.B. Sachbearbeiter) oder extern durch die Crowd Workers ausgeführt werden. Im Rahmen dieses Projektes ist die Vorgabe, dass das Schreiben von Argumenten durch Crowd Workers durchgeführt werden muss; Die weiteren Aufgaben können, müssen aber nicht an die Crowd ausgelagert werden. Diese Vorgabe hat zur Konsequenz, dass das Publizieren der Aufgabe, die Sammlung der Ergebnisse sowie die Entlohnung der Bearbeiter über die Crowd Plattform Schnittstelle erfolgen muss. Aufgaben, die auf der Crowd Plattform publiziert werden, könnten beispielsweise sein: „Verfasse ein Argument zum Thema xy“, oder „Verfasse ein Argument zum Thema xy, das zum aktuellen Zeitpunkt noch nicht vorhanden ist“. Hierfür sollen bei der Publikation der Aufgabe Qualifikationstests für die  Bearbeiter sowie die Entlohnung der Crowd Workers festgelegt werden.

    Weiterhin wäre es möglich, dass Crowd Worker auch als Bearbeiter für die Aufgaben Bewertung, Klassifikation, oder Aggregation von Argumenten eingesetzt werden könnten. Analog zur Sammlung von Argumenten muss hierfür die Aufgabe an eine Crowd Plattform übertragen werden sowie die Qualitätskontrolle und die Entlohnung dieser Aufgabe über die Schnittstelle erfolgen. In diesem Fall sind beispielsweise folgende Aufgaben als Crowd Tasks möglich:  „Bewerte die Qualität eines Argumentes hinsichtlich der vorgegebenen Kriterien“, „Klassifiziere ein Argument als Pro- oder Kontra-Argument“. 

    (2) Realisierung von Schnittstellen zu einer Crowd Plattform (Amazon MTurk oder CrowdFlower) mit dem Ziel, Aufgaben (Crowd Tasks der oben beschriebenen Kategorien) und die dazu korrelierenden Qualifikationstests auf der Crowd Plattform zu veröffentlichen sowie die Ergebnisse der Crowd Tasks zu sammeln und die Entlohnung der Crowd Workers durchzuführen. Die Ergebnisse der Crowd Workers sollten zeitnah an den Prozess zurück gegeben werden (im Gegensatz zur Sammlung einer spezifizierten Menge von Argumenten).

    (3) Die für den Prozess benötigten Daten (Spezifikation der Aufgabe, Spezifikation des Qualifikationstests, Argumente zu einem Thema, Klassifikation der Argumente, Daten über Bearbeiter (z.B. Ergebnisse der Qualifikationstests, abgefragte Eigenschaften (z.B. Alter der Bearbeiter)), etc. müssen geeignet verwaltet werden.  

    (4) Für die beschriebenen Funktionalitäten des Prozesses müssen Benutzerschnittstellen (z.B. zur Spezifikation der Aufgabe, für die Klassifikation von Argumenten) entwickelt werden. 

    Ergebnis

    Als Ergebnis des Projektes soll die beschriebene Software-Infrastruktur umgesetzt und ein „Proof of Concept“ der Infrastruktur anhand eines Beispielprozesses zur Meinungsbildung exemplarisch durchgeführt worden sein. Hierfür sollte ein geeignetes Thema zur Meinungsbildung ausgewählt werden. Die finanziellen Mittel zur Durchführung der Crowd Tasks werden gestellt und sind vorher abzuklären.

    Eingesetzte Technologien

    Java, XML, SQL
     

    -->

Motivation

Die Idee von Crowd-Computing ist, die „kollektive Intelligenz“ einer Menge von Personen zur Bearbeitung von Aufgaben einzusetzen, für die beispielsweise unterschiedliche Sichtweisen gefragt sind, oder für die der personelle Aufwand extrem hoch ist, und die daher nicht mit verfügbaren Ressourcen (z.B. Mitarbeitern eines Unternehmens) bewältigt werden können. Solche Aufgaben werden üblicherweise in kleine „Tasks“ aufgeteilt und Personen, sogenannten Crowd Workers, beispielsweise über eine Crowd-Plattform zur Bearbeitung angeboten (publiziert). Diese können dann bei diesen Plattformen Tasks auswählen und erhalten dafür oft eine geringe monetäre Entlohnung.  Eine weitere Option ist, Crowd Tasks in Web Seiten einzubinden. Eine bekannte Crowd-Computing Anwendung dieser Art ist reCAPTCHA. Hierfür identifizieren Nutzer von Web Seiten Zeichenketten, deren Erkennung aufgrund von Undeutlichkeiten nicht automatisierbar ist. Die Ergebnisse dienen dazu, die Digitalisierung von existierenden Buchbeständen umzusetzen.

Das Anwendungsspektrum von Crowd-Computing ist sehr breit und reicht von sehr einfachen Aufgaben (z.B. Annotation von Bildmaterial) bis zu sehr kreativen Aufgaben (z.B. die Erfindung von alternativen Energiequellen).  Durch die Nutzung der „kollektiven Intelligenz“ der Crowd Workers können Ergebnisse erreicht werden, deren Umsetzung ansonsten schwer umsetzbar wäre.

Am IPD laufen derzeit Arbeiten, die die Konzeption und Umsetzung von innovativen Methoden zur Kopplung von Abläufen (Prozessen) mit Crowd-Computing-Funktionalität adressieren. Hierfür wurde die politische Meinungsbildung (Stichwort Basisdemokratie) als Anwendungsbeispiel gewählt. Das Ziel dieser Anwendung ist, dass Argumente zu einem politischen Thema gesammelt und gut strukturiert nach Pro- und Kontra-Argumenten dargestellt werden. Gemäß der Spezifikation des Ablaufes erfolgt die Durchführung der hierfür nötigen Schritte, wie beispielsweise das Sammeln von Argumenten, das Entfernen von redundanten Argumenten, oder die Qualitätssicherung des gelieferten Inhalts. Hierbei sollen Crowd Workers als Bearbeiter dieser Schritte in den Ablauf eingebunden werden, um beispielsweise Argumente zu verfassen oder redundante Argumente zu identifizieren.

Aufgaben

Ziel dieses Software-Entwicklungsprojektes ist es, eine Software-Infrastruktur zu entwickeln, die den crowd-basierten Prozess der Meinungsbildung umsetzt. Darunter fällt u.a. die Umsetzung folgender vier Aspekte:

(1) Entwicklung eines Prozesses, der u.a. folgende Funktionalität umsetzt: Spezifikation der Aufgabe zur Erstellung von Argumenten, Freigabe (Publizieren) der Aufgabe, Schreiben von Argumenten, Sammlung und Auswahl der Ergebnisse anhand der Qualität, Entlohnung der Bearbeiter der akzeptierten Ergebnisse, Eliminierung von Duplikaten von Argumenten, Klassifikation der Argumente (Pro-Kontra), Erstellung von Statistiken zur Beziehung Argumente/Bearbeiter, sowie die Aggregation der Argumente zur Entscheidungsfindung.

Zur Durchführung der genannten Funktionalität können unterschiedliche Optionen für die Bearbeiter gewählt werden. Beispielsweise kann die Klassifikation der Argumente von einer speziellen Rolle (z.B. Sachbearbeiter) oder extern durch die Crowd Workers ausgeführt werden. Im Rahmen dieses Projektes ist die Vorgabe, dass das Schreiben von Argumenten durch Crowd Workers durchgeführt werden muss; Die weiteren Aufgaben können, müssen aber nicht an die Crowd ausgelagert werden. Diese Vorgabe hat zur Konsequenz, dass das Publizieren der Aufgabe, die Sammlung der Ergebnisse sowie die Entlohnung der Bearbeiter über die Crowd Plattform Schnittstelle erfolgen muss. Aufgaben, die auf der Crowd Plattform publiziert werden, könnten beispielsweise sein: „Verfasse ein Argument zum Thema xy“, oder „Verfasse ein Argument zum Thema xy, das zum aktuellen Zeitpunkt noch nicht vorhanden ist“. Hierfür sollen bei der Publikation der Aufgabe Qualifikationstests für die  Bearbeiter sowie die Entlohnung der Crowd Workers festgelegt werden.

Weiterhin wäre es möglich, dass Crowd Worker auch als Bearbeiter für die Aufgaben Bewertung, Klassifikation, oder Aggregation von Argumenten eingesetzt werden könnten. Analog zur Sammlung von Argumenten muss hierfür die Aufgabe an eine Crowd Plattform übertragen werden sowie die Qualitätskontrolle und die Entlohnung dieser Aufgabe über die Schnittstelle erfolgen. In diesem Fall sind beispielsweise folgende Aufgaben als Crowd Tasks möglich:  „Bewerte die Qualität eines Argumentes hinsichtlich der vorgegebenen Kriterien“, „Klassifiziere ein Argument als Pro- oder Kontra-Argument“. 

(2) Realisierung von Schnittstellen zu einer Crowd Plattform (Amazon MTurk oder CrowdFlower) mit dem Ziel, Aufgaben (Crowd Tasks der oben beschriebenen Kategorien) und die dazu korrelierenden Qualifikationstests auf der Crowd Plattform zu veröffentlichen sowie die Ergebnisse der Crowd Tasks zu sammeln und die Entlohnung der Crowd Workers durchzuführen. Die Ergebnisse der Crowd Workers sollten zeitnah an den Prozess zurück gegeben werden (im Gegensatz zur Sammlung einer spezifizierten Menge von Argumenten).

(3) Die für den Prozess benötigten Daten (Spezifikation der Aufgabe, Spezifikation des Qualifikationstests, Argumente zu einem Thema, Klassifikation der Argumente, Daten über Bearbeiter (z.B. Ergebnisse der Qualifikationstests, abgefragte Eigenschaften (z.B. Alter der Bearbeiter)), etc. müssen geeignet verwaltet werden.  

(4) Für die beschriebenen Funktionalitäten des Prozesses müssen Benutzerschnittstellen (z.B. zur Spezifikation der Aufgabe, für die Klassifikation von Argumenten) entwickelt werden. 

Ergebnis

Als Ergebnis des Projektes soll die beschriebene Software-Infrastruktur umgesetzt und ein „Proof of Concept“ der Infrastruktur anhand eines Beispielprozesses zur Meinungsbildung exemplarisch durchgeführt worden sein. Hierfür sollte ein geeignetes Thema zur Meinungsbildung ausgewählt werden. Die finanziellen Mittel zur Durchführung der Crowd Tasks werden gestellt und sind vorher abzuklären.

Eingesetzte Technologien

Java, XML, SQL