23-01-2020 4:50 am Gepubliceerd door Nederland.ai Laat uw gedicht achter

Grote open-sourceprojecten op GitHub hebben intimiderend lange lijsten met problemen die aangepakt moeten worden. Om het makkelijker te maken om de meest urgente problemen op te sporen, heeft GitHub onlangs de functie “goede eerste problemen” geïntroduceerd, die de bijdragers koppelt aan problemen die waarschijnlijk bij hun interesses passen. De eerste versie, die in mei 2019 werd gelanceerd, bevatte aanbevelingen die gebaseerd waren op labels die door projectbeheerders werden aangebracht op problemen. Maar een bijgewerkte versie die vorige maand werd verscheept, bevat een AI-algoritme dat GitHub beweert dat er problemen ontstaan in ongeveer 70% van de opslagplaatsen die aan gebruikers worden aanbevolen.

GitHub merkt op dat het het eerste deep-learning-enabled product is dat op Github.com wordt gelanceerd.

Volgens GitHub senior machine learning engineer Tiferet Gazit heeft GitHub vorig jaar een analyse en handmatige curatie uitgevoerd om een lijst van 300 labelnamen te maken die door populaire open source repositories worden gebruikt. (Allemaal synoniemen voor “goede eerste uitgave” of “documentatie”, zoals “beginnersvriendelijk”, “gemakkelijke bugfix” en “laaghangend fruit”). Maar door hierop te vertrouwen, had slechts ongeveer 40% van de aanbevolen opslagplaatsen problemen die aan de oppervlakte konden komen. Plus, het liet projectbeheerders achter met de last van triage en het labelen van problemen zelf.

Het nieuwe AI-aanbevelingssysteem is daarentegen grotendeels automatisch. Maar om het te bouwen moest er een geannoteerde trainingsset van honderdduizenden monsters worden gemaakt.

GitHub begon met problemen die een van de ongeveer 300 labels in de gecustomiseerde lijst hadden, die het aanvulde met een paar sets van problemen die waarschijnlijk ook beginnersvriendelijk waren (dit omvatte problemen die werden afgesloten door een gebruiker die nog nooit eerder had bijgedragen aan het archief, evenals gesloten problemen die slechts een paar regels code in een enkel bestand raakten). Na het detecteren en verwijderen van bijna-duplicaat problemen, werden verschillende training, validatie en testsets gescheiden over de repositories om het lekken van gegevens van vergelijkbare inhoud te voorkomen, en GitHub trainde het AI-systeem met alleen voorgeprogrammeerde en gedenoëerde uitgiftetitels en instanties om ervoor te zorgen dat het goede problemen detecteerde zodra ze werden geopend.

In de productie wordt elk probleem waarvoor het AI-algoritme een waarschijnlijkheid boven de vereiste drempelwaarde voorspelt, met een betrouwbaarheidsscore die gelijk is aan de voorspelde waarschijnlijkheid. Openstaande kwesties van niet-gearchiveerde openbare opslagplaatsen die ten minste één van de labels uit de lijst met gearchiveerde labels hebben, krijgen een betrouwbaarheidsscore op basis van de relevantie van hun labels, waarbij synoniemen van “good first issue” een hogere betrouwbaarheidsscore krijgen dan synoniemen van “documentation”. Op het niveau van de repository worden alle gedetecteerde problemen in de eerste plaats gerangschikt op basis van hun betrouwbaarheidsscore (hoewel labelgebaseerde detecties over het algemeen een hoger betrouwbaarheidsniveau krijgen dan detecties op basis van ML), samen met een sanctie op de leeftijd van het probleem.

Data acquisitie, training en deductie pijpleidingen lopen dagelijks, volgens Gazit, met behulp van geplande workflows om ervoor te zorgen dat de resultaten “vers” en “relevant” blijven. In de toekomst is GitHub van plan om betere signalen toe te voegen aan zijn repository-aanbevelingen en een mechanisme voor maintainers en triagers om AI-gebaseerde aanbevelingen in hun repositories goed te keuren of te verwijderen. En het is van plan om de aanbevelingen uit te breiden met gepersonaliseerde suggesties voor volgende zaken die iedereen die al een bijdrage aan een project heeft geleverd, aan kan pakken.

Tags : , , ,

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.

5 × drie =

The maximum upload file size: 256 MB. You can upload: image, audio, video, document, spreadsheet, interactive, text, archive, code, other. Links to YouTube, Facebook, Twitter and other services inserted in the comment text will be automatically embedded. Drop file here