Archive for the ‘Allgemein’ Category

Rekorde bzgl. des laengsten bzw. kuerzesten Titel sind zwar nett, aber die haben wenig Aussagekraft, was man denn prinzipiell erwarten kann. Deswegen schaute ich mir mal die Verteilung der Laenge aller Titel aller Wikipediaseiten an. Diese Verteilung sieht so aus …

… und das ist ganz bestimmt keine Normalverteilung, denn die habe ich zum Vergleich mit eingezeichnet.

So richtig verwundert war ich erstmal nicht, denn ich hatte nix erwartet. Aber dann fragte ich mich doch, warum das keine Normalverteilung ist.
Prinzipiell muss das keine Gaussverteilung sein. Die Geschwindigkeitsverteilung der Konstituenten eines idealen Gases folgen einer Maxwell-Boltzmann-Verteilung. Wie oft die Erde pro Jahr von Meteoriten getroffen wird, die grøszer sind als 1 m folgt einer Poisson-Verteilung. Aber wenn ich nix weiter weisz, dann nehme ich erstmal eine Gaussverteilung an. Das war schon bei meinen vielen Muenzwuerfen und auch bei meinen Untersuchungen der Fibonaccifolge erfolgreich.
Mit dem „dicken“ Teil rechts vom Peak kønnte es eine Maxwell-Boltzmann-Verteilung sein. Ich habe versucht die Daten mit dieser Funktion anzupassen und das funktioniert nicht. Gut so, denn dann haette ich mir Gedanken machen muessen, warum die Verteilung der Anzahl der Buchstaben der Titel der Wikipediaseiten ausgerechnet einer Maxwell-Boltzmann-Verteilung folgt.

Wenn man sich die Verteilung aber nun genau anschaut, dann sieht man zwei „Schultern“. Die eine bei ca. 35 Buchstaben sieht auch das ungeuebte Auge. Die andere um ca. 23 Buchstaben sieht man eigentllich nur, weil die roten Balken nicht der blauen Kurve folgen.
Schultern sind oft ein Zeichen dafuer, dass das Gesamtsignal durch mehrere Prozesse zustande kommt. Ich persønlich kenne das aus der Halbleiterphysik, in der das Gesamtsignal optischer Halbleiter oft aus Rekombinationskanaelen unterschiedlicher Energie (vulgo: unterschiedliche Wellenlaenge) stammt.

Zur besseren Veranschaulichung stelle man sich eine RGB-Leuchtdiode vor. Diese besteht eigentlich aus drei Leuchtdioden, einer roten, einer gruenen und einer blauen, die nahe beineinander sind. Wenn nun alle drei von denen gleichzeitig an sind, nimmt das Auge das Gesamtsignal als weiszes Licht wahr. In dem Fall haben wir also drei Prozesse die unabhaegig voneinander sind und in der Summe etwas sehr anderes ergeben als einzeln betrachtet — naemlich besagtes weiszes Licht anstatt einer wohldefinierten Farbe.
Das Licht welches jede einzelne Leuchtdiode aussendet ist nun aber nicht streng „einfarbig“. Die Leuchtdioden emittieren nicht bei nur einen einzelnen Wellenlaenge sondern das Maximum der Emission liegt auf einem gewissen Wert (den wir dann bspw. als „rot“ sehen) und mit geringerer Wahrscheinlichkeit wird Licht høherer und niedrigerer Wellenlaenge ausgestrahlt. Die Wahrscheinlichkeit welche Wellenlaenge ausgestrahlt wird ist normalverteilt.
Kurzer Abstecher: ein Laser emittiert auf einer einzigen Wellenlaenge … naja, streng genommen emittiert auch ein Laser nicht auf ganz genau auf nur einer einzigen Wellenlaenge, aber fuer die meisten praktischen Betrachtungen ist das nicht so wichtig, denn die „Streuung“ um die Zentralwellenlaenge ist viel geringer als bspw. bei Leuchtdioden.
Lange Rede kurzer Sinn: man kann das weisze Licht einer RGB-Leuchtdiode mittels drei unabhaengigen normalverteilten Prozessen erklaeren.

Wenn ich nun die Daten mittels drei Gaussverteilungen anpasse, erhalte ich dieses Bild:

Die blaue Kurve entspricht der Summe der drei unabhaengigen Gaussverteilungen (gelb). Dass die Anpassung so gut ist, deutet darauf hin, dass meine Annahme dreier unabhaengiger (gaussverteilter) Prozesse mglw. richtig ist … andererseits, wenn man genuegend Normalverteilungen nimmt, kann man alles mehr oder weniger gut anpassen.

Die erste unabhaengige Verteilung dominiert den Peak und das Zentrum dieser liegt bei ungefaher 13.23 Buchstaben. Der zweite Prozess ist deutlich schwaecher (die Amplitude der Gaussfunktion ist nur ca. ein drittel so grosz) und das Zentrum liegt bei ca. 21.07 Buchstaben. Der dritte Prozess liegt mit einem Zentrum von ca. 25.81 Buchstaben allerdings ziemlich weit entfernt von den oben erwaehnten ca. 35 Buchstaben. Von der „Staerke“ aehnelt dieser dem zweiten Prozess, ist aber deutlich weniger „definiert“. Die, diesen Prozess beschreibende, Gausskurve ist sehr breit und ueberlappt signifikant die beiden anderen Prozesse.

Das ist natuerlich nicht „die ganze Geschichte“. Wenn die Tittellaenge deutlich mehr als 50 betraegt wird die Verteilung ueberhaupt nicht gut mit diesen drei Prozesen beschrieben. Das ist aber nicht unerwartet und tut relativ wenig zur Sache. Letzteres liegt natuerlich daran, weil es davon insgesamt so wenige gibt und die fallen dann unter das was ich im allerersten Satz bereits schrieb.

Nun ist natuerlich die Frage, was diese drei Prozesse sein kønnten?
Ehrlich gesagt, habe ich ueberhaupt keine Idee, was der dritte Prozess ist. Aber bei so einer breiten Gausskurve kønnte da alles møglich mit dazu zaehlen. Bei den ersten beiden Prozessen habe ich aber eine Vermutung: die englische Sprache an sich und Namen. Dazu mehr beim naechsten Mal.

Beim letzten Mal schaute ich mir die Wikipediaseiten mit den kuerzesten Titeln an.

Auf der anderen Seite gibt es Wikipediaseiten mit echt langen Titeln. Das Subcommittee on International Organizations of the Committee on International Relations hat 87 Buchstaben. Ein anderes Subcommittee, das United States Senate Foreign Relations Subcommittee on Multilateral International Development, Multilateral Institutions, and International Economic, Energy and Environmental Policy, hat fast 100 Buchstaben mehr (181 um genau zu sein). Aber den ersten Preis (oder vielmehr die Blume) nimmt, mit 250 Buchstaben, nach Hause die Wikipediaseite mit dem Titel: Cneoridium dumosum (Nuttall) Hooker F. Collected March 26, 1960, at an Elevation of about 1450 Meters on Cerro Quemazón, 15 Miles South of Bahía de Los Angeles, Baja California, México, Apparently for a Southeastward Range Extension of Some 140 Miles … das ist uebrigens der Titel einer wissenschaftlichen Arbeit *lol*.

Beim naechsten Mal schaue ich mir dann mal genauer an, wie sich die Verteilung der Laenge der Titel aussieht.

Nun hatte ich endlich die Rohdaten zur Analyse des Linknetzwerks fertig. Aber bevor ich dazu komme (und wieder erstmal ein paar technische Details besprechen werde), dachte ich mir, dass ich ja schonmal das was ich habe untersuchen kønnte.

Dabei musste ich mir auch keine Sorgen darum machen, ob das alles in den Arbeitsspeicher passt. Der Grund ist, dass ich immer nur ca. 100,000 Titel (mit den dazugehørigen Links) in eigenen, kleinen Dateien gespeichert habe. Die Daten darin passen garantiert in den Arbeitsspeicher und ich kann die der Reihe nach abarbeiten.
Das Linknetzwerk wird dadurch in keinster Weise analysiert, denn dafuer muss ich ALLES gleichzeitig bearbeiten … dazu aber mehr zu einem spaeteren Zeitpunkt.

Heute nun interessierte mich, was denn die kuerzesten Titel sind. Es stellte sich heraus, dass viele Buchstaben (im weitesten Sinne) und Zahlsymbole der Sprachen dieser Welt eigene Wikipediaseiten haben. Naja … wenn man alle Sprachen in Betracht zieht, dann haben nur ganz wenige Buchstaben eine eigene Seite … aber darauf will ich nicht hinaus.

Ein Beispiel ware die Nummer 5, der Buchstabe P, oder das umgedrehte S.
Die Laenge dieser Titel ist … eins … und davon gibt es 234 Seiten … das war einfach … tihihi.

„Tote Links“, also links die zu Seiten „fuehren“ die es gar nicht gibt, sind rot unterstrichen. Auf dieser Seite findet man einige Beispiel dafuer. Um die zu finden, oder vielmehr um nicht aus Versehen echte Links diesen zuzuordnen, musste ich (fast) alles von dem machen, was ich in vorherigen Artikeln dieser Reihe beschrieben habe.

Weil dies aber nun fertig war, wurde die Aufgabe relativ einfach, denn ich brauchte nur fuer die verbliebenen 181,064,753 Links schauen, ob es eine Wikipediaseite mit dem selben Titel gibt. Dadurch fielen fast 10 % dieser Links weg und zurueck blieben 165,913,569.

Eine zweite Art von „Leiche“ sind Artikel die keine Links (im Text) enthalten. Zunaechst kønnte man denken, dass es sich dabei nur um sehr kurze Artikel zu obskuren Themen wie Vehicle registration plates of Qatar handelt. Das gibt es aber auch bei laengeren Seiten mit durchaus relevantem Thema. Ein Beispiel waere Organizational change fatigue. Und ebenso gibt es Artikel die so lang sind, dass ich mich frage, wie die KEINE Links haben kønnen; bspw. Ahn Sanghak.

Wieauchimmer, wenn solche „leeren“ Seiten NICHT woanders verlinkt waren, habe ich die rausgeschmissen. Das waren nicht viele. Gerade mal 2802.
Viele von diesen gehen zum Wiktionary; als Beispiel soll Flitterjigs genuegen. Aber oft sind es auch richtige Seiten; beispielsweise Phalke oder Prestwich Camera. Sollte ich jemals einen eigenstaendigen Wikipediaartikel schreiben (anstatt nur mal hier und da ’n Fehler zu berichtigen), muss ich dafuer sorgen, dass der an anderer Stelle zitiert wird.

Das war’s dann nun endlich mit den Vorbetrachtungen zu den Rohdaten und dem „Aufraeumen“ in diesen. Und hier sind die endgueltigen Zahlen, bzgl. der Daten an denen ich in die Analyse vollzogen habe: 5,798,312 Wikipediaseiten auf denen insgesamt 165,913,569 Links erscheinen und die Grøsze der strukturierten Daten betraegt 4.1 GB.
Aber bevor ich mit der eigentlichen Analyse anfangen konnte, musste ich noch ein paar … mhmmm … ich sag mal technische Probleme løsen. Dazu mehr in den kommenden Beitraegen in dieser Serie.

Abschlieszend zu den Rohdaten sei an dieser Stelle erwaehnt, dass ich in all den bisher beschriebenen Aktionen definitiv echte Links faelschlicherweise geløscht habe. Dies kann mehrere Gruende haben. Einer ist natuerlich, dass ich nur einen Teil der von Nutzern eingefuehrten Fehler berichtigt habe. Wikipedias interne (Such)Funktionen habe damit dann aber keine Probleme. Ein anderer Grund waere bspw. wenn ein (aelterer?) Artikel einen Link zu einem anderen Artikel hat, dieser aber nun zu etwas anderem umgeleitet wird. Eigentlich habe ich solche Umleitungen in Betracht gezogen, aber manchmal scheint das nicht geklappt zu haben. Die Prestwich Camera die ich oben verlinke ist so ein Fall.
Wieauchimmer, ich setze ja sowieso bei Daten aus der echten (Menschen)Welt einen Fehler von 10 % an und ich denke nicht, dass solche Faelle diesen uebersteigen.

Das Bild von gestern ist natuerlich manipuliert. Aber mitnichten so sehr wie man erstmal denkt. Dem Original …

Author: unbekannt, Lizenz: unbekannt … Dazu sagte ich ja beim letzten Mal schon was. Ich habe es hierher: Quelle.

… wurden nur ein paar Schatten hinzugefuegt, die Beine etwas retuschiert und auf“s Wasser ein paar Kringel gemalt. So wenige Sachen trickst unser Gehirn bereits dahin, die Perspektive (und damit die Grøszenverhaenltnisse) als ganz anders wahrzunehmen, selbst wenn am Hauptelement des Bildes gar nix veraendert wurde.

Hierbei handelt es sich uebrigens um einen (mehr oder weniger) frisch geschluepften Kanadareiher.
Interessant ist, dass die Manipulation dieses Bildes durchaus ausdrueckt, dass wir (als Gesellschaft und als Individuen) ca. 25 Jahre nachdem Jurassic Park im Kino kam, mehr und mehr akzeptieren, dass Dinosaurier Federn hatten und dass Vøgel die weiterentwickelten Dinos sind. Aber so ist das nunmal mit dem Fortschritt (wenn auch nur im Kleinen wie hier). Nur weil Wissenschaftler ’ne Sache schon lange wissen und akzeptieren, heiszt das noch lange nicht, dass das auch bei allen anderen Menschen angekommen ist.

Aus Interesse habe ich mal ein animiertes PNG erstellt, welches die (Geringfuegigkeit der) Manipulation (und deren Einfluss) sichtbarer macht als zwei statische Bilder:

Und zum Abschluss verdeutlicht dieser eher … mhm … auch wenn man kein Blut sieht, sag ich jetzt mal dieser eher blutige Videoschnipsel nochmals die Verwandtschaft zwischen dem wie wir denken, dass sich (kleinere) Raubsaurier verhalten haben und wie sich (manche) Vøgel verhalten.

Der Beweis:

Author: unbekannt, Lizenz: unbekannt … Trotz Suche habe ich das echt nicht rausfinden kønnen … hach wie ich den allgemeinen Umgang mit Daten/Material/Ideen/etc. im Internet nicht gutheisze. Wenigstens kann ich angeben wo ICH’s herhabe: Quelle (aber das wird bestimmt auch irgendwann geløscht … *seufz*)

Zu meiner Ueberraschung gibt’s das Wort tatsaechlich in der dtsch. Sprache und ich meine damit solche Seiten — eine andere Art der hier besprochenen „Abkuerzungen“.

Fuer die Analyse des Linknetzwerkes sind mir diese ein Dorn im Auge. Denn was haben Donald Fraser (der Geologe) und Don Fraser (der Eiskunstlaeufer) gemeinsam? Vermutlich nix, aber auf solchen Seiten werden die (beinahe) direkt miteinander verbunden. Im gesamten Linknetzwerk „treffen“ die beiden sicherlich frueher oder spaeter aufeinander, aber durch diese Seiten passiert das viel zu frueh. Das ist Schummeln und deswegen will ich die weg haben.

Zum Glueck gibt es zwei interne Wikipediaseiten die (fast) alle Dis­am­bi­gu­ie­rungsseiten auflisten. Hier ist die eine und dort ist andere. Also baute ich mir erstmal einen Datenmaehdrescher der mir die relevante Information von den beiden Seiten beschaffte.
Apropos, als Data Scientist ist es total normal fuer mich, spezielle, der Aufgabe angepasste, Werkzeuge zu schreiben um die Analyse ueberhaupt erst durchfuehren zu kønnen. Das war ja bei den Stromdaten damals genauso. Was der Unterschied zu den Data Analysts ist, kønnt ihr, meine lieben Leserinnen und Leser, euch sicher selber denken.

Wieauchimmer, auf diese Art und Weise fand ich mehr als 400,000 Dis­am­bi­gu­ie­rungsseiten.

Das Problem ist nun, dass die beiden Seiten NICHT alle Dis­am­bi­gu­ie­rungsseiten auffuehren. Denn dafuer muss bei der Erstellung einer solchen Seite eine bestimmte Markierung gesetzt werden und das machen Nutzer manchmal nicht.

Ganz im Allgemeinen ist das uebrigens ein zweigeteiltes Elitenproblem! Zum Einen muss man wissen wie man die Wikipedia schreibt. Somit findet Wissen welches die sog. Elite nicht interessiert keinen Eingang. Ein Beispiel waere Folklore in den Favelas. Ich bin ueberzeugt, dass es die gibt, konnte dazu aber auf die Schnelle nix finden. Und was man nicht schnell findet gibt’s nicht — genauso wie die Ergebnisse auf Seite 2 der Suche nicht existieren.
Zum Zweiten werden „kuenstliche“ „Intelligenzen“ mit diesen Daten trainiert! Und die Wikipedia ist vornehmlich Cisgender, maennlich und europid. Aber ich schwiffte ab.

Ich habe dann ein paar Tage einen ursten Aufwand betrieben, um Heuristiken fuer Dis­am­bi­gu­ie­rungsseiten zu finden, die nicht in den beiden erwaehnten Listen zu finden sind. Ich fand so ca. 15,000 … und ich fand auch etliche Seiten die von diesen Heuristiken falsch erkannt wurden. Weil ca. 15,000 verglichen mit 400,000 zum Glueck nicht richtig viel ist, entschied ich mich deswegen die alle drin zu lassen und dem bereits mehrfach erwaehnten Fehler zuzufuehren … *seufz* … lieber lasse ich einen Schuldigen, dessen Schuld nicht eindeutig bewiesen ist gehen, als dass ich einen Unschuldigen aus Versehen einsperre … diese Meinung habe ich uebrigens auch bei anderen Themen.

Unter den Seiten die ich drin lasse, fallen leider auch solche Seiten wie die Alphabetical list of municipalities of Italy (7963 Links) oder die IUCN Red List vulnerable species (Animalia) (5244 Links) oder der Index of Singapore-related articles (welche mit 11,521 bei Weitem die meisten Links hat).
Ebenso fand ich mehr als 286-tausend Artikel die als erstes eine Jahreszahl in sich haben und welche die Events in bestimmten Bereichen fuer jedes Jahr aufzaehlen. Als Beispiele seien 1966 in film (1043 Links), 1985 in music (1477 Links), 2017–18 Isle of Man Football League (47 Links) genannt. Mit 2027 in rail transport (33 Links) laeszt sogar die Zukunft schon von sich høren.

Dann dachte ich (wieder einmal), dass ich alle Listen, Indices und Titel die mit Jahren anfangen rausfiltern kønnte, und verbrachte einige Zeit damit Heuristiken dafuer zu finden. Leider fand ich auch hier wieder heraus, dass es da so viele Ausnahmen gibt, dass das unpraktisch war.
Andererseits, kønnte bei all diesen Seiten durchaus argumentiert werden, dass die eine Berechtigung in der Analyse haben, weil sie thematisch sortiert sind. Anders als das Mr. Fraser Beispiel oben schaffen diese Seiten also keine „Abkuerzungen“ zu thematisch nicht zusammenhaengenden Dingen. Dieser ad hoc Grund reichte mir, denn ich hatte genug davon davon mir Wikipediaseiten anzuschauen und rauszufinden warum die eine Ausnahme sind … *seufz*.

Jut, nun hatte ich also alle Dis­am­bi­gu­ie­rungsseiten gefunden und konnte die (und Links dorthin) løschen. An dieser Stelle habe ich mich dann auch nochmal um die Umleitungen gekuemmert. Die allermeisten hatte ich schon frueh mit den richtigen Links erstattet (bzw. geløscht). Ein paar Sachen waren aber noch offen (bspw. hatte ich Umleitungen ganz am Anfang noch ohne Ersetzung der Spezialbuchstaben betrachtet). Auszerdem habe ich noch ein zweites Mal interne Seiten geløscht (prinzipiell konnten welche auftauchen nach der Erstattung der Umleitungen) und mich auch nochmal um die Korrektur von Nutzerfehler gekuemmert.
Durch all das war aber nicht mehr viel zu holen. Die genauen Zahlen habe ich vergessen, aber mich duenkt die zuletzt beschriebene Aktion verkleinerte die Anzahl der Links um 12 … oder 16 oder so eine andere kleine Zahl. Aber ’s ist natuerlich immer schøn, wenn die Daten eine etwas bessere Qualitaet haben.

Nach dieser Saeuberung der Daten blieben noch 5,801,114 Seiten zurueck (von ehemals 6,212,282) in denen insgesamt 181,064,753 Links erscheinen (von ehedem 188,777,960).
Die Grøsze der strukturierten Daten konnte von 4.9 GB geringfuegig auf 4.5 GB verringert werden. Aber gerade hier zaehlt jedes bisschen :)

Somit war ich beinahe am Ende der Vorbetrachtungen der Rohdaten angekommen. Es verblieben nur noch zwei Sachen. Links die keiner Wikipediaseite zugeordnet werden kønnen und Seiten die keine Links haben und auch nicht zitiert werden. Beides kommt vor und keines davon muss ich mitschleppen. Erstere nicht, weil es da nix zu untersuchen gibt. Letztere nicht, weil deren Linknetzwerk genau null Verbindungen hat. Aber mehr dazu beim naechsten Mal.

Urspruenglich dachte ich mir, dass ich bei meinen Betrachtungen einfach alles klein schreibe. Der Grund ist, dass Menschen dazu tendieren, Grosz- und Kleinschreibung wild durcheinander zu wuerfeln und auf diese Art und Weise wollte ich diese Fehlerquelle vermeiden.

Die Suchfunktion in Wikipedia kuemmert das nicht. Aber bei meiner Analyse ist das wichtig in Betracht zu ziehen, damit ein verlinkter Link richtig einem Titel zugeordnet werden kann.

Doch dann stolperte ich ueber JoAn Wood der ueberhaupt nichts mit Joan Wood zu tun hat … Oder war es der Unterschied zwischen UMBEL und Umbel? … Ach nein, mich duenkt es war Testing the waters vs. Testing the Waters … *seufz*.
Davon gibt es nicht viele Faelle, weniger als 2200. Aber schon einer haette gereicht um meine obige Annahme als nicht brauchbar hinzustellen. Somit musste ich also doch das (ungleich schwerere) Problem der Nutzerschludrigkeiten løsen.

Meine erste Idee war, dass ich mir den Hamming-Abstand zunutze machen kønnte. Dieser misst …

[…] the minimum number of substitutions required to change one string into the other […].

Die oben erwaehnten ca. 2200 Beispiele wo das-Gleiche-blosz-anders richtig ist, sind mir bekannt. Die kann ich also einfach auslassen bei der Berechnung des Hamming Abstands (damit da nix falsch gemacht wird).
Ich programmierte das dann fix und zunaechst schien das auch zu funktionieren. Bspw. erkannte der Algorithmus, dass „Takashi Fujiwara“ vermutlich eigentlich „Takeshi Fujiwara“ sein soll. Doch dann stolperte ich ueber Voss IL, welches zu Moss IL werden sollte. Ich bemerkte das natuerlich nur, weil ich „lokales Wissen“ habe, denn ich wohne in Norwegen. Voss und Moss sind Ortsnamen und „IL“ bedeutet „idrettslag“ — Sportverein. Zwar hat nur Moss IL eine Seite in Wikipedia, aber Voss IL wird hier zumindest erwaehnt.
Ein anderes (lustiges) Beispiel warum der Hamming-Abstand fuer meine Zwecke nicht brauchbar ist, ist die Umwandlung von „Macon, Ohio“. Dies kønnte entweder „Mason, Ohio“ werden oder „Bacon, Ohio„. Welches ist richtig?
Satz mit ‚X‘: das war wohl nix … *seufz*.

Der Grund warum mir das so am Herzen liegt ist folgender. Ganz am Ende werde ich alle Links die keiner echten Wikipediaseite entsprechen rausschmeiszen. Und die hier beschriebenen Faelle wuerden alle faelschlicherweise als „gibt’s nicht“ erkannt und damit zu Unrecht ausgespart werden.

Ich machte mich nun also (wieder einmal) daran (semi-)manuell zu schauen, was Nutzer denn falsch schreiben kønnten und Heuristiken zu finden die dies verallgemeinern.
Den ganz oben beschriebenen Fall der falschen Grosz- und Kleinschreibung konnte ich mit genau der Methode (Vergleich mit Wikipediatiteln wenn alles klein geschrieben ist) auch løsen.
Ein weiterer Fall war, dass anstelle eines Leerzeichens ein Untersrich < _ > verwendet wurde. Und ein letzter Fall war, dass Leerzeichen vor oder nach dem eigentlichen Link folgten.
All diese Faelle (insb. Letzterer) werden vom menschlichen Gehirn sofort und (meist) ohne Weiteres erkannt und dem eigentlichen Fall zugeordnet. Aber wenn man einer Maschine das nicht sagt, dann ist fuer diese < FooBar > etwas ganz anderes als < Foo Bar >, < foobar > oder < foo_bar >.
Das ist ein schøn einfaches Beispiel, welches einen wichtigen Teil meiner Arbeit beschriebt. Dieser Teil besteht darin, dass ich die parallelen Prozesse im Gehirn in ihre fundamentalen Einzelteile „zerpfluecke“. Diese werden dann linearisiert, damit der Gesamtprozess von einer Maschine ausgefuehrt werden kann. Und das ist genau das was ich als Physiker gelernt habe: Modellbildung.

Dies ist eine gute Gelegenheit, mal wieder ueber den Unterschied zwischen Data Scientists und (vielen) Data Analysts herzuziehen. Ich als Data Scientist sehe es als integralen Bestandteil meiner Arbeit an immer und immer wieder durch die Rohdaten durchzugehen um diese zu verstehen. Letzteres hilft mir Muster zu erkennen um dann verallgemeinerte Modelle zu erstellen, die besagte Rohdaten beschreiben (und nicht vom Quatsch der Nutzer verwirrt werden). Diese Modelle muessen dann in langer (semi-)manueller Arbeit getestet, erweitert und verfeinert werden. Und all dies bevor ueberhaupt eine einzige Analyse stattgefunden hat. Analyse in dem Sinne, wie es der Auftraggeber (vulgo: die Chefin) versteht. All dies erfordert natuerlich meist selbstgeschriebene Programme.
Data Analysts hingegen bekommen die Rohdaten und wenden dann die bekannten Modelle darauf an. Letztere wurden bspw. im Studium erlernt oder sind in der benutzten Software eingebaut.
Der Unterschied ist also, dass ich nicht weisz was ich habe und das erstmal beschreiben muss. Data Analysts hingegen haben bereits eine (mindestens ungefaehre) Vorstellung davon was die Rohdaten beschreiben und finden dann halt „nur“ die Parameter der beschreibenden Modelle die am besten zu den Rohdaten passen.
Bitte nicht missverstehen, das kann auch super komplex sein. Ist aber eine fundamental andere Herangehensweise an Problemstellungen, die sich fuer normale Menschen erstmal voll gleich anhøren.

Aber genug dazu … ach so, beinhae haette ich vergessen es zu sagen. Die letzten beiden Faelle wurden dann auch noch fuer den alles-ist-klein-geschrieben Fall untersucht.

Ein Problem verblieb: Sonderzeichen … (die schon wieder *seufz*). Ihr, meine lieben Leserinnen und Leser, møget bei Wikipedia doch mal nach „Zaprezyn“ suchen. Dort werdet ihr dann direkt auf die Seite von „Zaprężyn“ umgeleitet (man beachte den Haken unter dem „e“ und dem Punkt ueber dem „z“). Umleitungen hatte ich vor einer Weile behandelt, es ist also alles richtig und dieses spezifische Beispiel ist auch kein Problem. Das Problem besteht fuer solche Falle wo die Falschschreibung keine Umleitung hat. Denn „Kringel unter dem e“ kønnte ich zwar fuer diesen speziellen Fall programmieren, aber nicht fuer alle møglichen Sonderzeichen.
Nun ja, wieder einmal musste ich auf das alte Statstikmantra zurueckfallen: wenn-das-haeufig-vorkommen-wuerde-dann-waere-ich-viel-øfter-drueber-gestolpert-aber-so-kann-ich-diese-Faelle-einfach-nicht-beachten-und-in-den-Fehler-druecken. … Bin ich froh, dass es dieses Mantra gibt ;) .

Zum Abschluss seien die konkreten Zahlen genannt. Insgesamt hatte ich anfangs 189,887,300 Links. Davon wurden ca. 71% erkannt (134,489,097 um genau zu sein). Die waren also richtig geschrieben. Mit den oben beschriebenen Methoden konnten weitere 16,909,568 Links richtig zugeordnet werden. Damit fallen die dann am Ende nicht weg. Toll wa! Mal wieder kann ich sagen: Science to the Rescue :)

Aber Moment … da fehlen doch noch 38,488,635 um auf die erwaehnte Gesamtzahl der Links zu kommen. Ein Grund fuer die Diskrepanz ist, dass nach der Korrektur 1,109,340 weniger Links vorhanden waren. Es war zu erwarten, dass es ab und zu vorkommt, dass ein Link von einer Seite einmal richtig und ein anderes Mal „falsch“ geschrieben ist. Vor der Korrektur wird das als zwei unterschiedliche Links angesehen und danach ist das ein und dasselbe und wird somit nur einmal gezaehlt. Fuer den Rest … Nun ja, diese Miniserie ist ja auch noch nicht beendet :P

Ach ja, als Letztes sei gesagt, dass dadurch die Grøsze der (strukturierten) Rohdaten ein kleines bisschen auf 4.9 GB reduziert wurde. Das ist doch auch was :)

Und als Allerletztes sei gesagt: alle „Takashi / Takeshi“ Faelle konnte ich damit natuerlich nicht finden und musste sie dem alle Reste verschlingenden Fehler uebergeben.

In kurz geht das Argument so:

[Computers] can only match the patterns they have learned, and they have limited capacity to learn more than just a few patterns. Humans are optimized for learning unlimited patterns, and then selecting the patterns we need to apply to deal with whatever situation we find ourselves in.

Der verlinkte Artikel fasst ziemlich gut einige der grøszeren bestehenden Herausforderungen diesbezueglich zusammen. Dort werden auch zwei Artikel von bzw. bzgl. Douglas Hofstadter verlinkt. Im ersten schreibt, dieser ueber die „Flachheit“ von google translate. Der zweite geht ueber seine jahrzehntelange Arbeit an sich. Beide lohnen sich zu lesen.

Aber dann ist da auch AlphaGo Zero.

The neural network initially knew nothing about Go beyond the rules. […] [it] only perceived the board’s stones, rather than having some rare human-programmed edge cases to help recognize unusual Go board positions. The AI […] [played] against itself until it could anticipate its own moves and how those moves would affect the game’s outcome.

Das was oben steht ist (mindestens heutzutage), im Allgemeinen richtig. Aber AlphaGo Zero hat von alleine Strategien erlernt wie man Go gewinnt. Und zwar nicht nur gegen einen anderen „dummen“ Computer, sondern gegen menschliche Meisterspieler. Und bereits die Vorgaengerversion hat Strategien gefunden, die in tausenden von Jahren, wer weisz wie viele Spieler und Meisterspieler die Go in-und-auswendig konnten und kannten und im Detail analysiert hatten, nicht gefunden haben!

Und Strategien sind nichts anderes als abstrakte Konzepte.
Sicherlich! Dieses Beispiel ist domaenenspezfisch, aber wenn man Erfahrung in genug Domaenen zusammen nimmt, hat man etwas, was mehr und mehr dem menschlichen Gehirn gleicht, aber dennoch ganz anders ist.
Voll spannend! Und der Mangel an Fantasie sollte uns nicht verfuehren zu glauben, dass das niemals passieren wird.

In den letzten Eintraegen in dieser Reihe legte ich dar, was ich alles tat im herauszufinden, ob das Projekt prinzipiell durchzufuehren ist. Dabei habe ich so einiges ueber die Struktur der Daten (an denen ich interessiert war) in der Wikipedia gelernt. Mit dem neuen Wissen machte ich mich nun daran noch mehr Sachen zu finden den ich „wegschmeiszen“ konnte.

Weil die Løschung der internen Wikipediaseiten so ein Erfolg war, dachte ich, dass da vielleicht noch sehr viel mehr zu holen ist. Ich schrieb Programme die mir halfen potentielle interne Seiten zu finden und diese danach zu bewerten ob es auch tatsaechliche interne Seiten sind. Trotz des (semi) automatisierten Prozesses verbrachte ich einige Tage viele Male damit durch die Daten zu gehen und (hunderte tausende) Wikipediaseiten anzuschauen. Dies natuerlich um sicher zu gehen, dass ich auch alles alles Interne finde bzw. dass ich nicht aus Versehen Seiten wegschmeisze, die wie interne Seiten aussehen, aber eigentlich keine sind. Letzteres ist wichtig, weil sich interne Seiten durch einen Doppelpunkt auszeichnen. Leider reicht das nicht aus, denn es gibt auch legitime Wikipediatitel die einen Doppelpunkt enthalten. Wissenschaftlich gesprochen wollte ich also Typ I und Typ II Fehler so weit wie møglich reduzieren.

Und au wacker! Ich fand so viele verschiedene „Kategorien“ von internen Seiten (oder solchen die dazu aehnlich sind). Beim letzten Mal verlinkte ich zu zwei der grøszten Kategorien, aber ich fand insgesamt 74 Schluesselwørter die interne Seiten auszeichnen. Wobei da auch ein paar externe Seiten dabei sind; bspw. zum Internet Archive oder zur IMDB und andere solche etablierten Quellen fuer Information im Netz. Hinzu kamen Links zu fremdsprachigen Wikipedias. Das waren zusaetzliche 336 (!) Schluesselwørter.

Das Resultat all der Arbeit war dann sehr enttaeuschend, denn ich konnte die Anzahl der erfassten Wikipediaseiten nur um drei (in Zahl(en): 3) und die darin erfassten Links nur um 380,231 auf 190,909,589 reduzieren. Wenn man nur das betrachtet, haette ich mir das auch sparen kønnen. Andererseits macht mich das auch ein bisschen stolz zu sehen, dass meine „Instinkte“ als Data Scientist so gut sind, dass ich schon fruehzeitig, ohne detaillierte Analyse, ein Gefuehl dafuer habe was wirklich relevant ist. Andererseits war es auch ein zu erwarten, dass die Reduzierung eher minimal ausfallen muss, denn ansonsten waere ich da viel eher drueber gestolpert (und es waere gar nicht bis zu diesem Schritt mitgeschleppt worden).

Eine weitere Sache auf die ich durch die „ist-das-Projekt-ueberhaupt-durchzufuehren“ Betrachtungen aufmerksam wurde ist, dass es ja Sonderzeichen gibt. Diese kønnen ganz normal geschrieben sein oder in HTML kodiert … *seufz*. Ein Beispiel waere das Ampersand welches manchmal so aussieht: < & > … und andere Male so: < &amp; >. Insgesamt erkannte ich 171 solcher Zeichen als relevant an. Gesehen habe _deutlich_ mehr. Am Ende hat mich das _sehr_ frustriert und um nicht noch verrueckter zu werder habe ich dann entschieden, dass alles was nicht unter diese 171 faellt wenig relevant sein muss und ich die in den 2%-10%-Fehler-oder-so packe wenn es das eine Mal normal und das andere Mal als HTML geschrieben ist.
An den obigen Zahlen veraenderte sich dadurch natuerlich ueberhaupt nichts. Aber die Qualitaet Rohdaten konnte ich damit steigern.

Desweiteren lernte ich dass Links direkt zu (den relevanten) Abschnitten eines Artikels gehen kønnen. Dies ist durch ein Octothorpe (lohnt sich zu lesen, ist kurz) auf diese Weise gekennzeichnet: Seite#Abschnitt … und hier ist ein Beispiel. Nun bin ich aber nur daran interessiert, wie die Seiten an sich untereinander verlinkt sind. Also ersetzte ich alle „Abschnittslinks“ mit den relevanten „Hauptseitenlinks“. Wenn dann auf einer Seite Letztere mehrfach auftreten (bspw. weil zu mehreren Abschnitten ein und derselben Wikipediaseite verlinkt wurde), dann habe ich das nur einmal in den Links fuer besagte Seite belassen.

Die Anzahl der insgesamt zu untersuchenden Wikipediaseiten veraenderte sich wiederum nicht und verblieb bei 6,212,282. Aber die Anzahl der insgesamt darin verlinkten Links konnte ein bisschen reduziert werden auf 189,887,300.

Wie gezeigt, hatten all die hier beschriebenen Aktionen nur relativ kleine Auswirkungen. Die Grøsze der Rohdaten (mit Struktur) konnte nur geringfuegig reduziert werden. So geringfuegig, dass sich dies auf der GB-Grøszenskale nicht bemerkbar machte und die Zahl bei 5.2 GB verblieb.