Locality Sensitive Hashing–LSH) — en skalerbar løsning for deduplisering jobber fra flere kilder
Tilbake til emnet-hvorfor deduplisering saker?
Vi bruker en massiv korpus av jobb innlegg fra Kalibrr kombinert med minelagt jobb innlegg fra ulike offentlige jobb innlegg å trene vår modell. Å ha flere jobber i vårt korpus som inneholder lignende stillingsbeskrivelser, vil være skadelig for modellen. Eksempel som er vist i bildet nedenfor.
Duplicate job descriptions associated to varying positions can affect the model’s performance in distinguishing context between different job titles. Siden dyp læring, og generelt maskinlæring, er modeller trent til å lære en funksjon som kartlegger et sett med funksjoner til kategorier eller optimaliserer et mål, har innganger som er like, men er knyttet til forskjellige mål, vil definitivt påvirke modellens tillit og ytelse.I Tillegg til det prediktive ytelsesproblemet, vil trening av en modell med et stort korpus der de fleste dataene er duplikater, forbruke unødvendige beregningsressurser.
dette er en illustrasjon av hvordan forståelse av dataene lett kan påvirke ytelsen til modellen.
Tf-Idf-en enkel deduplisering algoritme
Oppdage duplikater kan gjøres på en rekke måter. Å representere dokumenter i enkle vektorrepresentasjoner som tf-idf kan være en rimelig metode for å oppdage nesten lignende dokumenter. Dette kan gjøres ved å sammenligne likhetsmålinger som cosinus eller euklidisk likhet mellom dokumentvektorer.
vi viser i følgende utdrag hvordan vi kan bruke algoritmen til å identifisere nesten identiske tekster.
mens denne metoden fungerer i små korpora, er dette ganske vanskelig å skalere på grunn av den resulterende dimensjonaliteten til vektorene etter å ha transformert dokumentene. Legg også merke til at det tok 319 ms for skriptet å kjøre hele rørledningen. Dette er en av de mange manifestasjonene av » curse of dimensionality — – høy dimensjonalitet av transformasjonen påvirker både rom-og tidskompleksiteten til analysen.
Locality Sensitive Hashing (LSH) — den skalerbare teknikken
En løsning på dette problemet er Locality Sensitive Hashing (LSH). LSH-metoden kan utføre nærlikhetsanalyse på massive datasett. Den bruker hashing å kartlegge dokumenter i bøtter med dimensjonalitet som er størrelsesordener lavere enn en tilsvarende tf-idf transformasjon. Denne egenskapen gjør LSH praktisk å bruke i storskala applikasjoner som tekst mining.
LSH bruker minhash-algoritmen til å beregne sannsynligheten for kollisjon. Det har vist seg at sannsynligheten FOR kollisjon I LSH ved hjelp av minhash er ekvivalent Med Jaccard likhetsmålingen. Kort sagt beregner Jaccard likhet skjæringspunktet mellom to sett dividert med foreningen av elementene i hvert sett. Formelen som er vist nedenfor.
jaccard — likheten kvantifiserer følgende ide-to grupper som har mer vanlige elementer, vil sannsynligvis være like.
Her er en utdrag om LSH i henhold til wikipedia:
Lokalitetssensitiv hashing (LSH) reduserer dimensjonaliteten til høydimensjonale data. LSH hashes input elementer slik at lignende elementer kart til de samme «bøtter» med høy sannsynlighet(antall bøtter er mye mindre enn universet av mulige input elementer). LSH skiller SEG fra konvensjonelle og kryptografiske hashfunksjoner fordi det tar sikte på å maksimere sannsynligheten for en «kollisjon» for lignende elementer. Locality-sensitive hashing har mye til felles med data clustering og nærmeste nabo søk.
lsh på jobb
vi viser under en implementering AV LSH, ved hjelp AV denne modulen, brukt på samme eksempel illustrert ovenfor.
resultatene viser at hele rørledningen er rundt 4x raskere enn tf-Idf-versjonen. Denne forskjellen er mer drastisk når et større datasett brukes. Vi har ekskludert analysen på minneytelse nå, men vi vil skrive en mer omfattende benchmark mellom de to metodene i et eget innlegg.
Vi har brukt LSH på vårt korpus, og vi har sett at noen jobbinnlegg med nesten lignende innhold vises mer enn 200 ganger!
Final thoughts
Mens Tf-Idf er mer populær og en mer kjent modell for å jobbe med tekstlikhet; hvis du arbeider med datasett som skalerer, ER LSH en mer praktisk modell. SELV for mindre datasett, TILBYR LSH en betydelig forbedring i beregningstid.
å kunne deduplisere et korpus på riktig måte reduserer støy i treningsdataene, sparer beregningsressurser og hjelper til med å lære en mer nøyaktig modell for brukstilfellet vårt.
Vi tror AT DET er mange problemer SOM LSH kan brukes på for eksempel:
- Duplicate image cleanup: bruk LSH på bildefunksjoner og behold bare et unikt bilde fra hver bin.
- Chatbots: identifiser nær lignende innganger og trene en modell for å identifisere det beste svaret fra kunnskapsbasen.
- Anbefalinger motor: gruppe elementer med nesten lignende funksjoner og godkjenne elementer til brukere.
Føl deg fri til å utforske OG prøve LSH til dine egne problemer! 🙂
Referanser på LSH
disse artiklene illustrerer ganske godt HVORDAN LSH fungerer og viser også eksempler.
Her er et kurs om gruvedrift massive datasett som diskuterer LSH.
Følg oss!
vi publiserer kontinuerlig artikler om Maskinlæring, Dyp Læring, NLP, Probabilistisk Programmering og Analyseprosjekter som vi gjør på Kalibrr Research. Følg oss for å bli varslet på våre neste innlegg! 🙂