Archiv | Informationsqualität RSS feed for this section

Informatik Publikationen der Universität Paderborn

25 Feb

Open Access Publikationen sind frei zugänglich und eignen sich, um einen Eindruck über die Forschung in einem Fachgebiet zu bekommen. Für Autoren bringt die Veröffentlichung im Web auch Vorteile, da elektronische Publikationen nach gegenwärtiger Erfahrung häufiger zitiert werden (DFG).

In meiner Abschlussarbeit beschäftige ich mich mit der Generierung von Vorschlägen für wissenschaftliche Publikationen. Diese Vorschläge werden automatisch berechnet. Daher ist es nötig zu prüfen, ob diese Vorschläge Sinn ergeben.

Eine Möglichkeit der Prüfung ist der Vergleich mit Datensammlungen, die von Menschen klassifiziert wurden. Ein Beispiel ist der Cora Datensatz. Eine andere Variante ist eine stichprobenartige Prüfung. Um einen Zusammenhang zwischen Publikationen bewerten zu können, ist allerdings eine gewisse Expertise erforderlich. Und diese ist bei Forschern, Lehrenden und Studierenden zu finden.

Einen Überblick über Informatik-Themen, die an der Uni Paderborn behandelt werden, erhält man durch einen Blick in die Publikationslisten. Diese sind auf den Webseiten der einzelnen Fachgebiete zu finden. Die Veröffentlichung der Dateien im Web bringt den Autoren potenzielle Leser und dadurch vielleicht auch die ein oder andere Zitierung. Für diejenigen, die an einer Sammlung der frei zugänglichen PDFs interessiert sind, sollte diese Tabelle mit Listen von PDF-Dateien nützlich sein:

Fachgebiet Publikationen
Model Driven Software Engineering 0 Dateien
Didaktik der Informatik 37 Dateien
Codes und Kryptographie 60 Dateien
Algorithmen und Komplexität 0 Dateien
Electronic Commerce und Datenbanken 2 Dateien
Technische Informatik 76 Dateien
Computergrafik, Visualisierung und Bildverarbeitung 69 Dateien
Custom Computing 54 Dateien
Swarm Intelligence 211 Dateien
Entwurf paralleler Systeme 0 Dateien
Datenbank und Informationssysteme 363 Dateien
Softwaretechnik 0 Dateien
Theorie verteilter Systeme 213 Dateien
Rechnernetze 155 Dateien
Programmiersprachen und Übersetzer 32 Dateien
Sicherheit in Netzwerken 11 Dateien
Kontextuelle Informatik 0 Dateien
Mensch-Computer-Interaktion und Softwaretechnologie 0 Dateien
Wissensbasierte Systeme 16 Dateien
Spezifikation und Modellierung von Softwaresystemen 18 Dateien

Insgesamt 1317 Dateien und 1,3 Gigabyte (ermittelt mit du -sch).

Creative Commons Lizenzvertrag Dieses Werk bzw. Inhalt steht unter einer Creative Commons Namensnennung 3.0 Deutschland Lizenz.
Wenn möglich, verwenden Sie doch einen Link zum Originalartikel:
Adrian Wilke: Informatik Publikationen der Universität Paderborn.

Advertisements

Die Levenshtein-Distanz in MySQL

13 Feb

Man stelle sich vor, man hat eine größere Menge wissenschaftlicher Publikationen gesammelt. Nehmen wir mal vorsichtig an, es sind zumindest viele Tausend. Und diese Dokumente zitieren und referenzieren sich untereinander. Da kommt es vor, dass sich Tippfehler in Literaturverzeichnissen einschleichen und die Titel eigentlich identischer Dokumente sich nicht mehr vollkommen gleichen. Die Titel eigenen sich aber eigentlich sehr gut, um eine Publikation zu identifizieren. Dementsprechend kommt es bei Analysen der Beziehungen zwischen den Dokumenten zu Folgefehlern.

Um Ungleichheiten in Zeichenketten großzügig zu behandeln, kann man die Levenshtein-Distanz nutzen. Diese vergleicht zwei Zeichenketten und gibt die minimale Anzahl von Operationen (Einfügen, Löschen und Ersetzen) an, die benötigt werden, um die erste Zeichenkette die zweite umzuwandeln. Anstatt Titel auf vollkommene Gleichheit zu überprüfen, ist es hiermit also z.B. möglich, kleinere Ungleichheiten zu tolerieren.

Es gibt eine ganze Reihe von Implementierungen in verschiedenen Sprachen, z.B. in PostgreSQL. Zurzeit arbeite ich allerdings mit MySQL. Hier ist die Funktion nicht von Haus aus installiert, es gibt aber zumindest eine UDF (User Defined Function), die auf der GitHub Seite von Juan Miguel Cejuela zu finden ist. Und da die Einbindung doch ein paar Minuten in Anspruch genommen hat, folgt hier ein kleines HowTo.

Installation

Zunächst lädt man die Datei levenshtein.c runter und folgt den Installationsanweisungen im Kommentar. Bei mir fehlten zusätzliche Codedateien:

$ gcc -o levenshtein.so -shared levenshtein.c
levenshtein.c:33:23: fatal error: my_global.h: No such file or directory
compilation terminated.

Den Sourcecode kann man in Mint/Ubuntu/Debian so beziehen:

$ sudo aptitude install mysql-source-5.5

Als Nächstes wird die benötigte Datei ausfindig gemacht:

$ dpkg -L mysql-source-5.5
/.
/usr
/usr/src
/usr/src/mysql
/usr/src/mysql/mysql-source-5.5.tar.gz
/usr/share
/usr/share/doc
/usr/share/doc/mysql-source-5.5
/usr/share/doc/mysql-source-5.5/copyright
/usr/share/doc/mysql-source-5.5/changelog.Debian.gz

Das Archiv wird entpackt:

$ tar -xzf /usr/src/mysql/mysql-source-5.5.tar.gz

In den extrahierten Dateien wird nach der benötigten Headerdatei gesucht:

$ find ./ -iname "my_global.h"
./source/mysql-5.5/include/my_global.h

Ein erneuter Versuch, zu kompilieren. Dieses Mal mit Angabe des Verzeichnisses der Headerdatei:

$ gcc -o levenshtein.so -shared levenshtein.c -I source/mysql-5.5/include/
In file included from levenshtein.c:33:0:
source/mysql-5.5/include/my_global.h:77:23: fatal error: my_config.h: No such file or directory
compilation terminated.

Suche der zweiten fehlenden Datei:

$ find ./ -iname "my_config.h"
./source/mysql-5.5/builddir/include/my_config.h
./source/mysql-5.5/builddir/packaging/rpm-uln/my_config.h
./source/mysql-5.5/packaging/rpm-uln/my_config.h

Dieses Mal klappt das Kompilieren:

gcc -o levenshtein.so -shared levenshtein.c -I source/mysql-5.5/include/ -I source/mysql-5.5/builddir/include/

Suche nach dem MySQL Plugin Verzeichnis:

$ mysql
mysql> show variables;
+----------------+------------------------+
| Variable_name | Value | |
+----------------+------------------------+
| plugin_dir | /usr/lib/mysql/plugin/ |
+----------------+------------------------+

Kopieren der erstellten Datei ins MySQL Plugin Verzeichnis:

$ sudo cp levenshtein.so /usr/lib/mysql/plugin/

MySQL als root Starten und die Funktion erstellen:

$ mysql -uroot
mysql> CREATE FUNCTION levenshtein RETURNS INT SONAME 'levenshtein.so';
Query OK, 0 rows affected (0.07 sec)
mysql> CREATE FUNCTION levenshtein_k RETURNS INT SONAME 'levenshtein.so';
Query OK, 0 rows affected (0.01 sec)

Test:

mysql> select levenshtein('hello', 'world');
+-------------------------------+
| levenshtein('hello', 'world') |
+-------------------------------+
| 4 |
+-------------------------------+
1 row in set (0.00 sec)

Vladimir Levenshtein (Deutsche Übersetzung) hat den Algorithmus übrigens 1965 veröffentlicht.

Hier ist noch ein Backup der Datei mit dem C Code.

Creative Commons Lizenzvertrag Dieses Werk bzw. Inhalt steht unter einer Creative Commons Namensnennung 3.0 Deutschland Lizenz. Wenn möglich, verwenden Sie doch einen Link zum Originalartikel: Adrian Wilke: Die Levenshtein-Distanz in MySQL.

Präsentation der BA Prototypische Implementierung einer MediaWiki Extension zur Bewertung der Informationsqualität von Artikeln

2 Apr

Hallo,

dies ist nun auch mein letzter Post. Die Folien der Präsentation der BA habe ich für Interessierte online gestellt.

 

Aufruf zur Teilnahme an Benutzerevaluation

21 Mrz

Hallo,

für den Abschluss meiner Bachelorarbeit, in der es darum ging eine prototypische MediaWiki Erweiterung zur Bewertung der Informationsqualität von Artikeln zu implementieren, möchte ich nun einen Test zur Gebrauchstauglichkeit meiner Erweiterung durchführen.

Wenn du dich an der Evaluation beteiligen willst, dann gehe bitte zuerst auf den Artikel über den Parliament Act und reflektiere, was dir an dem Artikel auffällt. Wie würdest du die Informationsqualität des Artikels bewerten? Nutze dazu die oben eingebundene Erweiterung. Dort kannst du auch sehen wie der Artikel bisher bewertet wurde und wie sich die Bewertung über die Zeit verändert hat. Nachdem du die Informationsqualität für den Artikel bewertet hast, ruf entweder den Artikel Sela (Stadt)  und tue das gleiche.

Nachdem du die Informationsqualität der beiden Artikel bewertet hast, fülle bitte den unter Fragebogen zur Erweiterung aus.

Ich würde mich freuen, wenn viele bei der Evaluation mitmachen :o)

Letzte Änderungen an der MediaWiki Erweiterung

8 Mrz

Die letzten fehlenden Funktionen sind nun auch in der Erweiterung enthalten.  Es werden relevante Informationen über den Artikel angezeigt, wie Erstellungsdatum oder Anzahl der Verlinkungen auf diesen Artikel. Weiterhin werden nun die Kriterien mit der gewichteten Funktion berechnet, in der alle Indikatoren einfließen. Die Indikatoren werden anhand einer Bewertungsvorschrift Werten zwischen eins bis fünf zugeteilt. Dafür können die Grenzen selbst definiert werden,  da die durchschnittlichen Werte wahrscheinlich je nach Unternehmen variieren. Zum Schluss wurden noch Sparklines für die automatischen Indikatoren hinzugefügt, kleinere Fehler behoben und die englischen Nachrichten ergänzt.

Weiterlesen