Lokalitetssensitiv Hashing–LSH) — en skalerbar løsning til deduplicering af job fra flere kilder
tilbage til emnet-Hvorfor deduplicering betyder noget?
vi bruger et massivt korpus af jobposter fra Kalibrr kombineret med minerede jobposter fra forskellige offentlige jobopslag til at træne vores model. At have flere job i vores korpus, der indeholder lignende jobbeskrivelser, vil være skadeligt for modellen. Eksempel på som er vist på billedet nedenfor.
Duplicate job descriptions associated to varying positions can affect the model’s performance in distinguishing context between different job titles. Siden dyb læring og generelt maskinindlæring er modeller uddannet til at lære en funktion, der kortlægger et sæt funktioner til kategorier eller optimerer et mål, idet input, der ligner hinanden, men er forbundet med forskellige mål, helt sikkert vil påvirke modelens tillid og ydeevne.
udover det forudsigelige præstationsproblem vil træning af en model med et stort korpus, hvor de fleste data er duplikater, forbruge unødvendige beregningsressourcer.
Dette er en illustration af, hvordan forståelse af dataene let kan påvirke modelens ydeevne.
Tf-Idf — en simpel deduplikationsalgoritme
detektering af duplikater kan udføres på forskellige måder. At repræsentere dokumenter i enkle vektorrepræsentationer som tf-idf kan være en rimelig metode til at opdage næsten lignende dokumenter. Dette kan gøres ved at sammenligne lighedsmålinger såsom cosinus eller euklidisk lighed mellem dokumentvektorer.
Vi viser i det følgende uddrag, hvordan vi kan anvende algoritmen til at identificere næsten identiske tekster.
mens denne metode fungerer i små virksomheder, er dette ret vanskeligt at skalere på grund af den resulterende dimensionalitet af vektorerne efter transformation af dokumenterne. Bemærk også, at det tog 319 ms for scriptet at køre hele rørledningen. Dette er en af de mange manifestationer af “forbandelse af dimensionalitet” — høj dimensionalitet af transformationen påvirker både rum-og tidskompleksiteten af analysen.
Lokalitetsfølsom Hashing (LSH) — den skalerbare teknik
en løsning på dette problem er Lokalitetsfølsom Hashing (LSH). LSH-metoden kan udføre næsten lighedsanalyse på massive datasæt. Det bruger hashing til at kortlægge dokumenter i spande med dimensionalitet, der er størrelsesordener lavere end en tilsvarende TF-idf-transformation. Denne egenskab gør LSH praktisk at bruge i store applikationer såsom tekstminedrift.
LSH bruger minhash-algoritmen til at beregne sandsynligheden for kollision. Det er vist, at sandsynligheden for kollision i LSH ved hjælp af minhash svarer til Jaccard-lighedsmetrikken. Kort sagt, Jaccard lighed beregner skæringspunktet mellem to sæt divideret med foreningen af elementerne i hvert sæt. Hvis formel er vist nedenfor.
Jaccard — ligheden kvantificerer følgende IDE-to grupper, der har mere almindelige elementer, vil sandsynligvis være ens.
Her er et uddrag om LSH ifølge
lokalitetsfølsom hashing (LSH) reducerer dimensionaliteten af højdimensionelle data. LSH hashes input elementer, så lignende elementer kort til de samme “spande” med stor sandsynlighed (antallet af spande er meget mindre end universet af mulige input elementer). LSH adskiller sig fra konventionelle og kryptografiske hashfunktioner, fordi det sigter mod at maksimere sandsynligheden for en “kollision” for lignende genstande. Lokalitetsfølsom hashing har meget til fælles med data clustering og nærmeste nabo søgning.
LSH på arbejdspladsen
Vi viser nedenfor en implementering af LSH ved hjælp af dette modul anvendt på det samme eksempel illustreret ovenfor.
resultaterne viser, at hele rørledningen er omkring 4 gange hurtigere end TF-Idf-versionen. Denne forskel er mere drastisk, når et større datasæt bruges. Vi har udelukket analysen af hukommelsesydelse nu, men vi vil skrive et mere omfattende benchmark mellem de to metoder i et separat indlæg.
Vi har anvendt LSH på vores corpus, og vi har set, at nogle jobindlæg med næsten lignende indhold vises mere end 200 gange!
Endelige tanker
mens Tf-Idf er mere populær og en mere velkendt model til at arbejde med tekstlighed; hvis man beskæftiger sig med datasæt, der skaleres, er LSH en mere bekvem model. Selv for mindre datasæt tilbyder LSH en betydelig forbedring af beregningstiden.
at kunne deduplicere et korpus korrekt reducerer støj i træningsdataene, sparer beregningsressourcer og hjælper med at lære en mere præcis model til vores brugssag.
Vi mener, at der er mange problemer, som LSH kan anvendes på, såsom:
- Duplicate image cleanup: Anvend LSH på billedfunktioner og behold kun et unikt billede fra hver bin.
- Chatbots: Identificer nær lignende input og træne en model for at identificere det bedste svar fra vidensbasen.
- anbefalinger motor: gruppe elementer med næsten lignende funktioner og godkende elementer til brugerne.
du er velkommen til at udforske og prøve LSH til dine egne problemer! 🙂
referencer på LSH
disse artikler illustrerer ganske godt, hvordan LSH fungerer, og viser også eksempler.
Her er et kursus om minedrift massive datasæt, der diskuterer LSH.
Følg os!
Vi udgiver løbende artikler om maskinindlæring, dyb læring, NLP, probabilistisk programmering og analyseprojekter, som vi udfører hos Kalibrr Research. Følg os for at få besked om vores næste indlæg! 🙂