Am Montag, 21. März 2005 20:18 schrieb elwp@gmx.de:
Die Hauptautoren eines Artikels bzw. ihren Anteil an der aktuellen Version zu bestimmen ist sehr einfach.
Ganz so einfach ist es leider nicht:
Ich habe ein kleines Skript, das genau das macht, auf Wikipedia:Hauptautoren abgelegt. Es teilt die Texte in überlappende Sequenzen von 5 Wörtern auf und bestimmt dann, in welcher Version diese zuerst auftraten.
Verstehe ich das richtig: Wenn ein User B in einer 5-Wort-Sequenz des Users A einen Tippfehler korrigiert, kriegt User B die 5 Worte komplett zugeschlagen? Wenn das so ist, kannst Du davon ausgehen, dass Dein Algorithmus in 95% aller Artikel ziemlich falsch liegen wird - diese Mini-Korrekturen stellen den Hauptteil der Änderungen in Wikipedia. Du filterst allerdings schonmal die Linksetzungen raus - das ist gut, die machen einen Gutteil der Mini-Änderungen aus. Aber das Tippfehlerproblem bleibt.
Leider kann ich kein Perl (ich will keine Sprache können, für die man ein GOTO L1 braucht ;-)) - drum kann ich's an Deinem Programm nicht nachvollziehen und muss fragen, wie das mit den "überlappenden" Sequenzen funktioniert: Wenn Du eine Sequenz von fünf Worten hast und die in der ersten Version findest, wie gehts weiter? Hinter dem fünften Wort, oder hinter dem zweiten?
Es wäre meiner Meinung nach sinnvoll, eine Hauptautor-Funktion in die Mediawiki-Software zu integrieren. Die Versionsgeschichten sind mittlerweile völlig unübersichtlich und zu diesem Zweck nicht mehr zu gebrauchen.
Bei Artikeln mit langen Versionsgeschichten 100% ACK. (Bei kurzen gehts noch). Ich glaube aber behaupten zu können, dass auch automatisierte Verfahren da an die Grenzen kommen - die Fragmente, die man Autoren zuweisen kann, werden zu kleinteilig.
Dein Ansatz, alle Versionsgeschichten anzukucken, hat übrigens Vor- und Nachteile. Der große Vorteil ist, dass Dir auf die Art Vandalismusgeschichten/Reverts etc. nichts ausmachen. Der Nachteil ist, dass Du immer alle Versionen durchkucken musst, wenn Du die Hauptautoren für eine neue Version rechnen willst: Das dürfte ziemlich aufwändig werden, gerade bei den Monsterhistorie-Artikeln. Mein Algorithmus rechnet jedesmal nur die Deltas von einer Version zur nächsten, weil er je Version weiß, von welchem Autor welche Textstelle ist. Nachteil dabei ist, dass er bei jeder Komplettlöschung von Textstellen und anschließender Neueinstellung durch einen Dritten (Vandalismusreverts!) versagt.
Ich umgehe das Problem folgendermaßen (zweiter Vorteil meines Ansatzes, wenngleich etwas umständlich zu bedienen): Ich habe eine spezielle Kopierfunktion zwischen Artikeln (statt Copy- und Paste). Die schleppt die Autorenattribute des kopierten Textes in den neuen Artikel mit rüber - wieder etwas GNU FDL konformer. Und kann natürlich auch zum Kopieren zwischen Versionen benutzt werden, sprich für (bei mir hoffentlich nur selten notwendig werdende) Vandalismus-Reverts.
Uli