paint-brush
Ett nytt sätt att extrahera funktioner för smartare AI-rekommendationerförbi@yaml
Ny historia

Ett nytt sätt att extrahera funktioner för smartare AI-rekommendationer

förbi YAML4m2025/02/16
Read on Terminal Reader

För länge; Att läsa

Duchos arkitektur består av tre nyckelmoduler – Dataset, Extractor och Runner – designade för effektiv multimodal funktionsextraktion. Den stöder TensorFlow, PyTorch och Transformers, vilket möjliggör flexibel datauppsättningsbearbetning, modellval och YAML-baserad konfiguration för sömlös integrering i rekommendationssystem.
featured image - Ett nytt sätt att extrahera funktioner för smartare AI-rekommendationer
YAML HackerNoon profile picture
0-item

Författare:

(1) Daniele Malitesta, Politecnico di Bari, Italien och [email protected] med motsvarande författare: Daniele Malitesta ([email protected]) och Giuseppe Gassi ([email protected]);

(2) Giuseppe Gassi, Politecnico di Bari, Italien och [email protected] med motsvarande författare: Daniele Malitesta ([email protected]) och Giuseppe Gassi ([email protected]);

(3) Claudio Pomo, Politecnico di Bari, Italien och [email protected];

(4) Tommaso Di Noia, Politecnico di Bari, Italien och [email protected].

Abstrakt och 1 Introduktion och motivation

2 Arkitektur och 2.1 Dataset

2.2 Extraktor

2.3 Löpare

3 Extraktionsrörledning

4 Ducho som Docker-applikation

5 Demonstrationer och 5.1 Demo 1: visuella + textobjekt funktioner

5.2 Demo 2: funktioner för ljud + textobjekt

5.3 Demo 3: textobjekt/interaktionsfunktioner 6

Slutsats och framtida arbete, erkännanden och referenser

2 ARKITEKTUR

Duchos arkitektur bygger på tre huvudmoduler, nämligen Dataset, Extractor och Runner, där de två första modulerna ger olika implementeringar beroende på den specifika modaliteten (dvs ljud, bild, text) som tas i beaktande. Vi påminner också om konfigurationen bland de andra hjälpkomponenterna. Arkitekturen är designad för att vara mycket modulär, möjligen att integrera nya moduler eller anpassa de befintliga. I det följande dyker vi djupt ner i varje skisserad modul/komponent.

2.1 Datauppsättning

Dataset -modulen hanterar laddning och bearbetning av indata som tillhandahålls av användaren. Med utgångspunkt från ett allmänt delat schema för alla tillgängliga modaliteter tillhandahåller denna modul tre separata implementeringar: ljud-, bild- och textdatauppsättningar . Som ett vanligt tillvägagångssätt i litteraturen kräver ljud- och bilddatamängderna sökvägen till mappen från vilken bild-/ljudfiler laddas, medan textdataset fungerar genom en tsv-fil som mappar alla textegenskaper till ingångarna.


Anmärkningsvärt, och skiljer sig från andra befintliga lösningar, kan Ducho hantera varje modalitet på två sätt, beroende på om den specifika modaliteten beskriver antingen föremålen (t.ex. produktbeskrivningar) eller interaktionerna mellan användare och föremål (t.ex. recensioner [1]). Konkret, medan objekt mappas till sina unika ID (extraheras från filnamnet eller tsv-filen), mappas interaktioner till det användarobjektpar (extraherat från tsv-filen) de refererar till. Även om förbearbetnings- och extraktionsfaserna inte ändras på objekt- och interaktionsnivå (se senare), tror vi att detta schema perfekt kan passa nya multimodal-medvetna rekommendatorsystem med modaliteter som beskriver varje typ av ingångskälla (även användare ).


En annan viktig uppgift för Dataset-modulen är att hantera förbehandlingssteget av datainmatning. Beroende på den specifika modaliteten erbjuder Ducho möjligheten att:


• ljud: ladda ingångsljudet genom att extrahera vågformen och samplingshastigheten och sampla om det enligt samplingshastigheten som den förtränade modellen tränades på;


• visuellt: konvertera indatabilder till RGB och ändra storlek/normalisera dem för att passa in i den förtränade extraktionsmodellen;


• textuell: (valfritt) rensa inmatningstexterna för att ta bort eller ändra brusiga textmönster som skiljetecken och siffror


Efter extraktionsfasen (se senare), är Dataset-modulen äntligen ansvarig för att spara de genererade multimodala funktionerna i numpy array-format enligt filnamnsschemat från föregående mappning.


2.2 Extraktor

Extraktionsmodulen bygger en extraktionsmodell från ett förutbildat nätverk och arbetar på varje laddat/förbearbetat ingångsprov för att extrahera dess multimodala funktioner. På ett liknande sätt som Dataset-modulen tillhandahåller Extraktorn tre olika implementeringar för varje modalitet, nämligen Audio, Visual och Textual Extractors. Ducho exponerar ett brett utbud av förtränade modeller från tre huvudsakliga backends: TensorFlow, PyTorch och Transformers. Följande modalitet/backend-kombinationer är för närvarande tillgängliga:


ljud: PyTorch (Torchaudio) och Transformers;


visuellt: Tensorflow och PyTorch (Torchvision);


• textuell: Transformers (och SentenceTransformers).


För att utföra funktionsextraktionen tar Ducho in (listan över) extraktionsskikten för alla förtränade modeller. Eftersom varje backend hanterar utvinningen av dolda lager inom ett nätverk på olika sätt, följer vi riktlinjerna i den officiella dokumentationen, förutsatt att användaren kommer att följa samma namn-/indexeringsschema för lagren och känna till strukturen för den valda förtränade modellen i förväg. Den intresserade läsaren kan hänvisa till README[2] under config/-mappen på GitHub för en uttömmande förklaring om hur man ställer in extraktionsskiktet i varje modalitet/backend-inställning.


Slutligen, för det textuella fallet, kan användaren också specificera den specifika uppgiften som den förtränade modellen ska tränas på (t.ex. sentimentanalys), eftersom varje förutbildat nätverk kan komma med olika versioner beroende på träningsstrategin.


2.3 Löpare

Runner -modulen är Duchos orkestrator, vars syfte är att instansiera, ringa och hantera alla beskrivna moduler. Med sina API-metoder kan denna modul utlösa hela extraktionspipelinen (se senare) av en enskild modalitet eller alla inblandade modaliteter samtidigt


Runner-modulen är bekvämt anpassad genom en extra konfigurationskomponent som lagrar och exponerar alla parametrar för att konfigurera extraktionsrörledningen. Även om en standardkonfiguration redan är tillgänglig för användarens skull tillåter Ducho att åsidosätta vissa (eller alla) dess parametrar genom en extern konfigurationsfil (i YAML-format) och/eller nyckel-värdepar som inmatningsargument om man kör skripten från kommandoraden. Återigen föreslår vi att läsarna hänvisar till README under config/-mappen på GitHub för att förstå det allmänna schemat för YAML-konfigurationsfilen.



Detta dokument är tillgängligt på arxiv under CC BY 4.0 DEED-licens.


L O A D I N G
. . . comments & more!

About Author

YAML HackerNoon profile picture
YAML@yaml
YAML's human-friendly syntax shines, a language of structure, organizing complexity with ease, in a neat and tidy line.

HÄNG TAGGAR

DENNA ARTIKEL PRESENTERAS I...