Identifying unique developers in OSS projects: A family of models
Dieses Paper schlägt eine skalierbare Pipeline zur De-Duplizierung von OSS-Entwickleridentitäten vor, indem es einen großen, validierten Datensatz erstellt, um klassische Modelle des maschinellen Lernens zu trainieren und zu vergleichen, und letztlich Orientierungshilfe für den optimalen Kompromiss zwischen Genauigkeit und Rechenaufwand für groß angelegte Mining-Prozesse bietet.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Stellen Sie sich vor, Sie versuchen zu zählen, wie viele einzigartige Personen an einem riesigen, globalen Bauprojekt arbeiten (wie etwa dem Bau des Linux-Kernels). Sie haben ein massives Logbuch über jeden gelegten Ziegelstein, jeden verschweißten Balken und jeden unterzeichneten Bauplan. Aber es gibt einen Haken: Das Logbuch enthält keine Fotos oder Ausweise. Es enthält nur Namen und E-Mail-Adressen, die von den Arbeitern selbst eingetragen wurden.
Das Problem ist: Menschen sind unordentlich.
- Ein Arbeiter trägt am Montag vielleicht „John Smith“ ein und am Dienstag „J. Smith“.
- Ein anderer verwendet vielleicht „john.smith@work.com“ für seinen Job und „jsmith123@gmail.com“ für sein Hobby am Wochenende.
- Manchmal gibt es auch einfach zwei völlig verschiedene Personen, die denselben Namen tragen.
Wenn Sie das nicht beheben, ist Ihre Zählung falsch. Sie könnten denken, „John Smith“ und „J. Smith“ seien zwei verschiedene Personen, oder Sie könnten denken, „John Smith“ und „Jane Smith“ seien dieselbe Person. Das verfälscht Ihr Verständnis darüber, wer mit wem arbeitet, wie Teams vernetzt sind und wie sich das Projekt entwickelt.
Dieses Paper ist das Rezept für einen „Namen-Detektiven“, der dieses Chaos lösen kann.
So planen die Autoren, ihr Detektiv-Team aufzubauen, einfach erklärt:
1. Die „Super-Hirn“-Prüfung (Einsatz von KI zur Erstellung des Lösungsschlüssels)
Zuerst wollen die Forscher sehen, ob moderne Large Language Models (LLMs) – dieselbe Art von KI, die Gedichte schreibt oder Fragen beantwortet – als ultimative Detektive fungieren können.
- Die Analogie: Stellen Sie sich vor, man zeigt einem sehr klugen, belesenen Bibliothekar zwei Namen und fragt: „Ist das dieselbe Person?“ Der Bibliothekar betrachtet den Kontext, die Schreibweisen und die E-Mail-Muster, um eine Vermutung anzustellen.
- Das Ziel: Sie werden verschiedene „Super-Gehirne“ (unterschiedliche KI-Modelle) testen. Sie wollen sehen, ob sie sich alle einig sind oder ob einige besser als andere sind.
- Das Ergebnis: Sobald die KI gut im Raten ist, werden die Forscher ihre Antworten nutzen, um einen riesigen „Lösungsschlüssel“ (einen Datensatz bestätigter Duplikate) zu erstellen. Dies ist so, als würde die KI die harte Arbeit des Labelns von tausenden Beispielen übernehmen, damit Menschen dies nicht einzeln tun müssen.
2. Die „Schnellen Lehrlinge“ (Training kleinerer, schnellerer Modelle)
Das Ausführen dieser „Super-Hirn“-KIs ist langsam und teuer (wie das Anheuern eines Teams von Nobelpreisträgern als Detektive für jeden einzelnen Namen). Das kann man bei einem Projekt mit Millionen von Commits nicht machen.
- Die Analogie: Daher wollen die Forscher ein Team aus schnellen, günstigen Lehrlingen (klassische Machine-Learning-Modelle) trainieren. Sie werden diese Lehrlinge mithilfe des von den Super-Gehirnen erstellten „Lösungsschlüssels“ unterrichten.
- Das Ziel: Sie wollen sehen, ob diese Lehrlinge die Muster gut genug lernen können, um Duplikate eigenständig zu erkennen, dies aber viel schneller und mit viel weniger Energie zu tun als die Super-Gehirne.
- Der Kompromiss: Sie suchen nach dem „Goldlöckchen-Modell“: eines, das genau richtig ist – präzise genug, um vertrauenswürdig zu sein, aber schnell genug, um Millionen von Namen zu bearbeiten, ohne die Batterie des Computers zu erschöpfen.
3. Der „Aktivitäts-Tracker“ (Zusätzliche Hinweise hinzufügen)
Manchmal sind Namen und E-Mails zu verwirrend, um das Rätsel allein zu lösen.
- Die Analogie: Stellen Sie sich zwei Personen namens „Alex“ vor, die beide an demselben spezifischen Motorteil arbeiten. Selbst wenn ihre Namen unterschiedlich aussehen, sind ihre Arbeitsgewohnheiten identisch.
- Das Ziel: Die Forscher planen, einen neuen Hinweis hinzuzufügen: die Cosine Similarity. Dies ist eine ausgeklügelte mathematische Methode, um zu sagen: „Wie ähnlich sind ihre Arbeitsmuster?“ Wenn „Alex A“ und „Alex B“ beide exakt dieselben Dateien zur gleichen Zeit bearbeitet haben, ist es sehr wahrscheinlich dieselbe Person. Sie werden testen, ob das Hinzufügen dieses „Arbeitsgewohnheits“-Hinweises den Detektiven hilft, öfter richtig zu liegen.
Das große Ganze
Das Paper behauptet nicht, die Aufgabe bereits abgeschlossen zu haben; es ist ein Registered Report, was bedeutet, dass es ein detaillierter Plan für eine Studie ist, die noch nicht vollständig durchgeführt wurde.
Was sie zu liefern versprechen:
- Einen Benchmark: Einen klaren Vergleich darüber, welcher „Detektiv“ (KI vs. klassisches ML) am besten für die Aufgabe geeignet ist.
- Einen Kostenleitfaden: Einen Leitfaden darüber, wie viel Zeit und Energie jede Methode kostet, damit Forscher das richtige Werkzeug für die Größe ihres Projekts wählen können.
- Ein wiederverwendbares Toolkit: Eine Sammlung von Regeln und Daten, die andere Forscher nutzen können, um ihre eigenen Softwareprojekte zu bereinigen und sicherzustellen, dass sie bei der Untersuchung der Teamarbeit echte Menschen untersuchen und nicht Geister-Duplikate.
Kurz gesagt geht es in diesem Paper darum, ein skalierbares, energieeffizientes und präzises System aufzubauen, um die unordentlichen Namensschilder der größten Softwareprojekte der Welt zu bereinigen, damit wir endlich verstehen können, wie die Menschen hinter dem Code tatsächlich zusammenarbeiten.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.