Tag Archives: analysis

IKNOW-ANALYSE

23 Nov

In diesem Beitrag stelle ich kurz das Thema der Masterarbeit vor und gehe auf den Abschnitt der Datenbereinigung ein.

  • Was ist das Thema der Masterarbeit?

Analyse des IKNOW Forschungsnetzwerkes und Visualisierung von Forschungstrends – Datenbereinigung, Analyse mit Trenderkennung und Visualisierung

In meiner Masterarbeit beschäftige ich mich mit der Analyse der eingereichten Paper der Konferenz IKNOW.
Weiterhin sollen die Ergebnisse grafisch dargestellt werden.

Datenbereinigung

  • Warum ist das nötig?

Um aussagekräftige Analysen mit korrekten Daten zu erhalten, müssen die Quelldaten eine möglichst hohe Qualität aufweisen.
Durch die automatische Erkennung des KnowAAN-Tools ist diese Qualität nicht gewährleistet.
Eine manuelle Datenbereinigung erhöht die Qualität der Daten und ermöglicht erst Auswertungen zum Inhalt der vorhandenen Konferenzpaper.

  • Welche Daten sind vorhanden?

Die IKNOW-Konferenz hat bisher jährlich von 2001-2012 stattgefunden.
Die vorhandenen, eingereichten Paper wurden in das KnowAAN-Tool, das durch die PG KnowAAN erstellt wurde, geladen.
Bisher sind insgesamt 622 Paper im System.
Diese können mit dem KnowAAN-Documentbrowser exploriert, und mit einer Editionsmaske bearbeitet werden.
Weitere Paper sind auf den Konferenzseiten aufgeführt, konnten aber noch nicht in das System geladen werden.
Die Konferenzseite zählt zusammen 663 Paper auf.

  • Aufwandsschätzung im Vorfeld:

Um den Aufwand für die manuelle Datenbereinigung abzuschätzen, wurde die folgende Rechnung erstellt.
Bei einem Paper werden die Kopfdaten und die Referenzen bearbeitet.
Als Schätzung wurden 10 Minuten für die Kopfdaten und 20 Minuten für die Referenzen pro Paper angenommen.
Dabei werden 20 Referenzen pro Paper vermutet und jeweils 1 Minute pro Referenz gerechnet.
Bearbeitung gesamt: 30 Min. / Paper

Bei einer maximal geplanten Bearbeitungszeit zur Datenbereinigung von 2-2.5 Monaten steht folgende Zeit zur Verfügung.
Arbeitszeit: 6 Stunden / Tag ; 5 Tage / Woche (Mehr Zeit kann hier für diese Aufgabe nicht eingesetzt werden, da die Konzentration nachlässt und Fehler entstehen.)
12 Paper / Tag
60 Paper / Woche
in 10 Wochen sind somit 600 Paper bearbeitbar

Vorgehen:
Aufteilen der Korrekturen in 2 Phasen / Durchläufe.
Phase 1: Kopfdaten bereinigen
Phase 2: Referenzen bereinigen

Nachteil: Jedes Paper wird doppelt bearbeitet.
Vorteil: Man erhält schneller einen Überblick über alle Paper, da die kürzere Aufgabe zunächst für alle Paper durchgeführt wird.
Als Folge können mögliche Probleme eher erkannt werden und der weitere Aufwand kann besser abgeschätzt werden.

 

  • PHASE 1: Kopfdaten bereinigen umfasst: Titel, Name Autor(en), Arbeitsstelle Autor(en), Ort der Arbeitsstelle, Schlüsselwörter, Jahr der Konferenz.

Die Arbeit mit 2 Bildschirmen (Editiermaske, Paper als PDF) ist sinnvoll.
Die Paper sollten der Reihenfolge nach bearbeitet werden.
Die Sortierung nach Jahr und eine alphabetische Sortierung innerhalb eines Jahres hat sich als sinnvoll erwiesen.
Man sollte hierbei mit den früheren Jahren beginnen, da man bei Papern aus späteren Jahren auf bereits korrigierte Paper aus früheren Jahren zurückgreifen kann.
Die bearbeiteten Paper sollte man sich merken/notieren.

Bei den Kopfdaten soll der Ort der Arbeitsstelle für jeden Autor erfasst werden.
Die Ortsangaben werden für Kartenansichten benötigt, die die Herkunft der Autoren darstellen.
Als Genauigkeitsmaßstab werden im Allgemeinen die Stadt und das Land angegeben.
In einigen Papern ist die Stadt jedoch nicht angegeben.
Hier ist eine zusätzliche Recherche erforderlich (mit Autor und Firma).
Die Angaben zu Abkürzungen von Kategorien werden als Schlüsselwörter mit aufgenommen.

Die Korrektureingabemaske ermöglicht die Speicherung erst dann, wenn alle Pflichtfelder gefüllt sind.
Durch fehlerhafte Erkennung in der automatischen Vorverarbeitung der Paper ist es möglich, dass die Referenzen nicht in einem „korrekten“ Zustand sind.
Daher werden die vorhandenen, erkannten Referenzen soweit korrigiert, dass diese Änderungen gespeichert werden können.

 

 

Masterarbeit: Near Copy Detection in large text corpora (ODIN): Was bisher geschah! (Wordnet;Synonym findung)

27 Feb

In dem nächsten spannenden Teil meiner Blogserie „ODIN! Was bisher geschah!“ widme ich mich dem Desynonymifizieren (entfernen von Synonymen wegen der Aussprache). Oft werden kopierte Textstellen abgewandelt um die Herkunft zu verschleiern. Diese Abwandlungen können sein, dass Umstellen von Sätzen, das Entfernen oder Hinzufügen von Worten, das Ändern von numerischen Werten oder das austauschen von Worten gegen Synonyme. Die letzte Möglichkeit ist Thema diese Blogposts.
Weiterlesen

Masterarbeit: Near Copy Detection in large text corpora (ODIN): Was bisher geschah! (Textumformungen)

20 Feb
Als weiteren Schritt zur near copy detection habe ich einige Algorithmen zur Textumformung implementiert. Diese Algorithmen dienen zur Vereinfachung der Texte sowie dem leichteren zerlegen in einzelne Fragmente wie Worte, Satzzeichen oder Zahlen. Im folgenden werden die acht Schritte kurz beleuchtet die ich hierzu umgesetzt habe:
  1. Language Detektion: Die Bestimmung der Sprache eines Textes wird von vielen weiteren Komponenten benötigt, da sie zum Beispiel auf Wörterbüchern oder speziell für eine Sprache trainierte maschinellelern Ansätze aufbauen. Die Sprachenbestimmung wird durch die API language-detection durchgeführt, die in der Lage ist 53 verschiedene Sprachen durch ngram Frequenzen zu identifizieren.
  2. Satz- und Tokenbestimmung: Um weitere Strukturen in die Fließtexte zu bekommen müssen Satzgrenzen und die einzelnen Bausteine des Satzes bestimmt werden. Die ist nötig um weitere Algorithmen anwenden zu können die auf Satzebene arbeiten, wie zum Beispiel der Lemmatizer oder Fuzzyset Ähnlichkeitsvergleiche. Die Sätze werden anschließend weiter, in Tokens zerlegt. Hierbei bildet jedes Wort und jedes Satzzeichen ein Token. Dezimalzahlen die mit Komma unterteilt sind werden beachtet und bilden nur ein Token, was wiederum wichtig ist für das Numberremoval. Nach diesem Schritt steht ein Dokumentobjekt zur Verfügung indem jedes Element im „Chunk“ Feld ein Satzbaustein enthält. Außerdem ist das Feld „Sentences“ mit den Startoffsets der Sätze gefüllt. Für diesen Schritt habe ich die Apache OpenNLP API verwand.
Die nächsten Schritte verändern das Documentobjekt nicht mehr direkt sondern erstellen entweder Substitutions- oder Removelist Objekte. Eine Substitutionlist enthält eine Map die als Key einen Offsetwert und als Value einen String beinhaltet der den Orginalstring aus dem Documentobjekt an dem Offset ersetzt. Eine Removelist enthält nur eine Liste an Offsets die aus dem Documentobjekt entfernt werden sollen. Die beiden Objekte werden separat von einander und von dem Documentobjekt gespeichert und ermöglichen so ein freies zusammensetzten von beliebigen Algorithmen.
  1. Lemmatisierung: Hier werden alle Worte eines Textes auf ihre Grundform zurückgeführt. Hierbei werden auch verschiedene Zeitformen beachtet. Also wird das englische Wort „went“ in seine Grundform „go“ zurückgeführt. Dies wird mit der Mate-Tools API bewerkstelligt. Diese API bietet Lemmatisierung für verschiedene Sprachen, hierfür wird auf einen maschinellenlernen Ansatz zurückgegriffen der mit unterschiedlichen trainierten Modellen mit einer Wissensbasis versorgt wird. Die API ist leider relativ langsam sodass, als eine zukünftige Tätigkeit, der Austausch dieser API gegen eine schnellere anstehen sollte. Die erzeugten Lemmata finden in der Synonymfindung eine Rolle und könne auch besser als Stemming in z.B. Wordclouds verwendet werden. Die Ergebnisse aus dem lemmatisieren werden in einer Substitutionlist abgelegt.
  2. Stemming: Ähnlich zum Lemmatisieren wird beim Stemmen versucht Worte auf einen gemeinsame Form zurückzuführen. Diese Form muss dabei aber kein korrektes Wort oder gar die Grundform eines Wortes sein. Das stemmen ist ein algorithmischer Ansatz der mit einen Satz von Umformungsregeln, die Sprachabhängig sind, arbeitet. Es wird keine komplexes Model verwand, was das stemmen um ein vielfaches schneller macht als das lemmatisieren. Die Ergebnisse sind zwar nicht so gut wie beim lemmatisieren können aber trotzdem zu Verallgemeinerung von Texten helfen. Das Stemmen wird mithilfe von der Analyse API von Apache Lucene durchgeführt und die Ergebnisse werden als eine Substitutionlist abgelegt.
  3. Part of speech: Das Erkennen der Satzstellung eines Wortes wird Part of Speech (POS) genannt. Jedem Wort eines Satzes wird hierbei seiner Bedeutung im Satz (Nomen, Verb, Adjektiv, Adverb, Eigennamen …) zugeordnet. Dies geschied mit der Apache OpenNLP API die auch hierbei trainierte Modelle als Input verwendet. Das Ergebnis ist ein Substitutionlist.
  4. Stopwordremoval: Stopworte (der, die, das, und, auf …) tragen nur geringe semantische Bedeutung, weshalb sie für viele Techniken ignoriert werden können. Dies reduziert den Rechenaufwand zum Beispiel bei Ähnlichkeitsberechnungen drastisch. Andere Techniken wie zum Beispiel die near copy detection auf Stopworten benutzt ausschließlich Stopworte. Die Detektion von Stopworten ist sehr einfach, es gibt Listen für sehr viele Sprachen. In Odin werden Liste aus der Analyse API von Apache Lucene benutzt. Das Ergebnis ist ein Removelist.
  5. Numberremoval: Das Entfernen oder austauschen von Zahlen gegen einen einheitlichen Wert, kann das Erkennen von kopierten Stellen vereinfachen. Wenn beim Kopieren von Textpassagen nur Zahlenwerte verändert werden, ergeben sich durch das entfernen oder generalisieren der Zahlen eine höhere Ähnlichkeit der beiden Textpassagen. In einer Substitutionlist werden alle Zahlenwerte eines Dokuments durch einen Stringidentifier „//NumberRemoved\\“ ersetzt.
  6. Symbolremoval: Hier werden alle Satzzeichen, Klammern und alle nicht alphanumerischen Zeichen in eine Removelist eintragen und damit aus dem Dokument entfernt.

Diese Algorithmen wurden alle implementiert und in Map Reduce Jobs für Hadoop verpackt und auf einen Testsatz von PDFs (43.000) ausgeführt. Der nächste Blogeintrag wird ein kleines Benchmark enthalten.

SMM Tool Kategorisierung und erste Analyse-Schritte

28 Dez

Die Kategorisierung der SMM Tools im Rahmen meiner Bachelor-Arbeit baut auf einem Schema auf, welches allerdings noch leicht verändert wurde. So wurde die Kategorie der sentiment-analytischen Tools aufgespalten und es entstand die zusätzliche Kategorie der qualitativ-analytischen Tools, deren Eigenschaften bereits kurz im oben verlinkten Artikel beschrieben sind. (Abschnitt: sentiment-analytische Tools)

In der Arbeit selbst erfolg zunächst eine auf diesem Schema beruhende Kategorisierung, welche in der praktischen Evaluation und der damit verbundenen detaillierteren Analyse überprüft und gegebenfalls angepasst wird. Weiterlesen

Engültige Tool Liste für die praktische Evaluation von SMM Tools und weiteres Vorgehen

12 Dez

Leider war es nicht möglich alle ursprünglichen 30 Tools auch für die praktische Evaluation zu benutzten. Die Gründe dafür waren zum Teil sehr unterschiedlich. Bei einigen Tools waren einfach keine Preisinformationen verfügbar oder nachfragbar, so dass eine Planung nicht möglich war und diese Tools daher unberücksichtigt bleiben müssen. Andere Tools wiederum unterstützen mit ihren Funktionen und Features nicht das geplante Analyseverfahren bzw. die dort zu überwachenden Marken. In diesen Fällen steht die Überwachung der eingen Social Media Accounts im Vordergrund und somit ist ein testweises Überwachen von Marken nicht durchführbar.

Weiterlesen