Wikipedia Diskussion:Helferlein/Autorenverzeichnis-Generator
BUGS
[Quelltext bearbeiten]- Redirects scheinen nicht aufgelöst zu werden
- Nicht-existierende Artikel werden nicht deutlich gemacht
- Leerzeichen werden nicht zu "_"
- Autorenlistung hinter Artikelname falsch sortiert (100, 1, 2 ... 99)
- Böser Bug: siehe [1] - wird nicht der IP sondern mir zugeschlagen. Ist zwar in dem Fall korrekt, aber eigentlich auch nicht.
Hauptautoren
[Quelltext bearbeiten]Hier mal einige Methoden zur Bestimmung der Hauptautoren:
Reverts ignorieren
[Quelltext bearbeiten]Inhaltsbasierte Revert-Erkennung
[Quelltext bearbeiten]- Einfach:
Betrachte 3 aufeinanderfolgende Edits:
- Artikel hat Inhalt "x"
- Benutzer A ändert den Inhalt in "y"
- Benutzer B (kann auch derselbe sein) reverted Inhalt in "x"
Die letzten beiden Edits der Autoren A (üblicherweise Vandale) und B (revert) können für die Bestimmung der Autoren ignoriert werden.
- Erweitert:
Betrachte n aufeinanderfolgende Edits
- i.
- i+1
- ...
- i+n
Wenn der Inhalt des Artikels nach Edit i+n exakt dem Inhalt nach Edit i entspricht (alternativ: fast exakt entspricht), können die Autoren der Edits i+1 bis i+n ignoriert werden.
- Ups, das geht doch nicht so einfach, weil Edit i und Edit i+1, übereinstimmender Vandalismus sein können! Also lieber erstmal nur einfache Reverts rausnehmen.
Kommentarbasierte Revert-Erkennung
[Quelltext bearbeiten]Was haltet ihr von der Idee, Reverts vorerst nur auf Basis der Kommentare herauszufiltern? Ich könnte relativ einfach alle Änderungen ignorieren, in deren Zusammenfassung
- maximal zwei Worte stehen, von denen eines mit "revert" beginnt.
- das Muster "Änderungen [...] rückgängig gemacht [...] letzte Version [...] wiederhergestellt" auftaucht.
Mir ist klar, dass bei dieser Methode viele Reverts nicht als solche erkannt werden, und dass der Vandalierer selbst (sofern er angemeldet war) auf der Liste stehen bleibt. Immerhin könnte ich aber auf diese Art schnell und einfach viele Nicht-Hauptautoren von der Liste streichen. (Hat derselbe Autor weitere Änderungen vorgenommen, taucht er selbstverständlich trotzdem auf) --Tkarcher 17:00, 1. Feb 2005 (CET)
Kategorien und Interwikilinks ignorieren
[Quelltext bearbeiten]Vor dem Vergleich alle Kategorien, Interwikilinks und Leerzeilen am Ende rausnehmen. Wenn zwei aufeinanderfolgende Edits dann gleichen Inhalt ergeben, muss der zweite Edits nicht mitgezählt werden.
"Dauerhaftigkeit" der Änderung bewerten
[Quelltext bearbeiten]Je länger eine Änderung erhalten bleibt, desto mehr Punkte bekommt der Autor. Am meisten Punkte gibt es für Änderungen, die in der aktuellen Version noch erhalten sind.
Dazu ist es jedoch wichtig, auch Verschiebungen von Absätzen zu erkennen. Eventuell sollte man dazu den Artikel in die einzelnen Sätze aufsplitten und pro Satz speichern, wer diesen Satz formuliert und ggf. geändert hat.
ein erster Entwurf
[Quelltext bearbeiten]- die erste Version des Artikels nehmen, in die einzelnen Sätze aufteilen und alle Sätze dem Autor zuordnen
- bei allen folgenden Versionen:
- Diff erzeugen
- ggf. Verschiebungen erkennen
- bei geänderten Sätzen Umfang der Änderung feststellen und Autor entsprechend mitberücksichtigen
- am Ende alle noch vorhandenen Sätze nehmen und Mitarbeitsquote pro Autor summieren
- die 5 Autoren mit den größten Quoten als Hauptautoren nennen
(es fehlt noch die Revert-Erkennung)
Wunschliste
[Quelltext bearbeiten]- IP-Adressen an/ausschalten
- Export als CSV-Datei o.Ä.
- Blacklist von Bots wählbar machen
- Artikel in der Ergebnistabelle alphabetisch sortieren - nach Erstellung der Liste wählbar machen
- Hinweistexte in der Ausgabe
- Anzahl der Edits pro Autor (ggf. bereinigt um kurz aufeinanderfolgende Edits eines Nutzers)
- Offline-Version auf dem SQL-Dump?
Anmerkungen
[Quelltext bearbeiten]Angezeigt werden nur die Benutzernamen der aus der Versionsgeschichte ermittelbaren Personen, die eine Änderung am Artikel vorgenommen haben. Sollte nur gesagt werden. Bestimmt lässt sich noch einiges rausfiltern z.B. brauchen bei reverts der Vandale und der Reverter nicht als Autor gelistet werden.
Wir der Quellcode veröffentlicht?
Andere Lösungsidee (realisierbar?)
[Quelltext bearbeiten]- Skript geht alle Edits der Reihe nach durch
- Der Text jedes Edits wird mit allen früheren Edits verglichen
- Daraus wird ermittelt, welcher Text neu von diesem Autor war und welcher von einem früheren Autor stammte
- Am Ende kann jedem Zeichen des aktuellen Artikels der Autor zugeordnet werden
- Daraus wird der Prozentanteil jedes Autors ermittelt
- Anhand dessen lassen sich die 5 Hauptautoren bestimmen. Der Prozentanteil jedes Autors wäre zusätzlich noch informativ
--Neitram 09:38, 1. Feb 2005 (CET)
- Nein, das geht leider nicht hundertprozentig, nur so ungefähr. Das Problem sind Verschiebungen innerhalb des Artikeltextes. Prinzipiell kann eine Software nicht erkennen, ob ein Text verschoben oder an einer stelle gelöscht und an einer anderen neu eingefügt wurde. Bei längeren Textstellen kann man sich heuristisch gut behelfen (das sind in der Regel Verschiebungen), bei kürzeren (einzelnen Worten) wirds schwierig. Das zweite Problem sind Reverts, die man nur mit sehr hohem Rechenaufwand in den Griff bekommt (Vergleich einer Version mit allen(!) Vorversionen). Man kann nur möglichst gut raten, jedem Zeichen hundertprozent korrekt einen Autor zuzuordnen ist prinzipiell nicht möglich. - Uli 09:52, 1. Feb 2005 (CET)
- Ich denke, dass man das in den Griff kriegen kann. Ich schlage z.B. folgenden Algorithmus vor: das Skript erstellt während des Durchlaufens der Edits fortwährend ein anwachsendes Dokument, das eine Übermenge aller bisher jemals hinzugefügten Textpassagen darstellt. Mit jedem Edit wird folgendes gemacht:
- Diff zur vorherigen Version (identische Abschnitte fallen weg)
- Davon nur das neu hinzugefügte nehmen (hier sind immer noch Verschiebungen und Reverts enthalten)
- Diese Abschnitte mit dem Überdokument vergleichen. Sind sie im Überdokument enthalten, handelt es sich um eine Verschiebung oder einen Revert. Sind sie nicht im Überdokument enthalten, handelt es sich um wirklich neu hinzugefügten Inhalt. Diese Abschnitte dem Überdokument hinzufügen, dem Autor zuordnen und weiter mit dem nächsten Edit.
- Außerdem sollten mit jedem Schritt die Passagen des Überdokuments markiert werden (Flag an/aus), die in der aktuellen Artikelversion noch enthalten/nicht mehr enthalten sind. Wenn das Skript bis zur aktuellen Version gelaufen ist, geben die markierten Passagen des Überdokuments genau an, von welchem Autor sie sind.
- Dieser Algorithmus sollte den Rechenaufwand deutlich herabsetzen, weil die hinzugefügten Passagen nicht mit allen Vorversionen verglichen werden, sondern nur mit einem einzigen Überdokument, das nur die bisherigen echten Hinzufügungen enthält. Der Teufel steckt sicher in weiteren Spezialfällen (z.B. Verschiebung/Revert mit kleinen Änderungen wird nicht als solche erkannt; der Abschnitt wird dem Nachautor zugeschrieben), aber die weitaus meisten Fälle sollte man damit korrekt zuordnen können. --Neitram 16:08, 1. Feb 2005 (CET)
- Ich denke, dass man das in den Griff kriegen kann. Ich schlage z.B. folgenden Algorithmus vor: das Skript erstellt während des Durchlaufens der Edits fortwährend ein anwachsendes Dokument, das eine Übermenge aller bisher jemals hinzugefügten Textpassagen darstellt. Mit jedem Edit wird folgendes gemacht:
Anonyme Edits
[Quelltext bearbeiten]Kleiner Tipp für die Vandalismus-Erkennung: Lasst sämtliche anonymen edits einfach unter den Tisch fallen. Wer anonym editiert, gibt sein Recht an der Autorennennung bewusst auf (und verstößt gegen die GNU-FDL, aber das ist ne andere Baustelle), und *will* daher nicht genannt werden. Damit sind 99,9% der Vandalisierungen erschlagen. Andere Verfahren hab ich ausprobiert (Kürzung um gewissen Prozentsatz, Vergleich mit Version n-2), funktionieren nicht, weil meist mehrere Vandalismus-Edits aufeinanderfolgen, bis reverted wird und bei Vandalismus nur selten der komplette Artikel betroffen ist. Uli 09:52, 1. Feb 2005 (CET)
- Also "99,9%" halte ich für völlig aus der Luft gegriffen. Anonyme edits fallen natürlich raus, aber man muss aufpassen, dass sie nicht dem nächsten angemeldeten Benutzer zugeschlagen werden, der damit plötzlich zum Hauptautor wird, obwohl er nur revertet oder ein Komma geändert hat. -- Nichtich 21:40, 1. Feb 2005 (CET)
- Eben! Ließe ich anonyme Editoren völlig außen vor, stünde ein angemeldeter Benutzer nach einer kleinen Änderung in einem anonym verfassten Artikel plötzlich als dessen einziger (und damit Haupt-)Autor da. Ließe ich dann kleine Änderungen auch noch rausfallen, würden unweigerlich zahlreiche Artikel ohne jede Autorenzuordnung auftauchen. Auch kein schönes Bild im Quellenverzeichnis... Ich werde deshalb die anonymen Bearbeitungen auf jeden Fall in der Liste aufführen (zusammengefasst in einer Zeile "Anonyme Autoren")--Tkarcher 09:33, 2. Feb 2005 (CET)
BUG
[Quelltext bearbeiten]1) Bestie_von_Gévaudan (1,2,4,5,8,9,10,11,12,13,14,15,16,17,18,21,24,25,26,27,28,29,30,31,32,33,34,35,36,38,39,40,41,42,43,45,46,47,48) 2) Fußballkrieg (3,6,7,19,20,22,23,24,30,34,37,44) 3) Joshua Norton ()
ich kann die ausgabe von 3) nicht deuten?.--^°^ @
1) http://de.wikipedia.org/wiki/Bestie_von_Gévaudan () 2) http://de.wikipedia.org/wiki/Fußballkrieg () 3) http://de.wikipedia.org/wiki/Joshua_Norton () 4) http://de.wikipedia.org/wiki/Neutral-Moresnet ()
- Stimmt leider. Vielen Dank für den Hinweis, ich arbeite noch an einer Lösung... --Tkarcher 13:55, 13. Apr 2005 (CEST)