locality Sensitive Hashing (LSH)–škálovatelné řešení pro deduplikaci úloh z více zdrojů
zpět na téma — Proč deduplikace záleží?
používáme masivní korpus pracovních míst z Kalibrr v kombinaci s těží pracovních míst z různých veřejných nabídek práce trénovat náš model. Mít více úloh v našem korpusu obsahujících podobné popisy úloh bude pro model škodlivé. Příklad, který je znázorněn na obrázku níže.
Duplicate job descriptions associated to varying positions can affect the model’s performance in distinguishing context between different job titles. Od hluboké učení, a obecně strojového učení, modely jsou vyškoleni naučit se funkce, která mapuje sadu funkcí do kategorií nebo optimalizovat objektivní, mají vstupy, které jsou podobné, ale jsou spojeny různé cíle, bude to určitě mít dopad na důvěru a výkon modelu.
kromě problému prediktivního výkonu bude trénink modelu s velkým korpusem, kde většina dat jsou duplikáty, spotřebovávat zbytečné výpočetní zdroje.
toto je ukázka toho, jak pochopení dat může snadno ovlivnit výkon modelu.
Tf-Idf-jednoduchý deduplikační algoritmus
detekce duplikátů lze provést různými způsoby. Reprezentace dokumentů v jednoduchých vektorových reprezentacích, jako je tf-idf, může být rozumnou metodou pro objevování téměř podobných dokumentů. To lze provést porovnáním metrik podobnosti, jako je kosinus nebo euklidovská podobnost mezi vektory dokumentů.
v následujícím úryvku ukážeme, jak můžeme použít algoritmus k identifikaci téměř identických textů.
Zatímco tato metoda funguje v malých korpusů, to je docela obtížné měřítku vzhledem k výsledné rozměrnost vektoru po transformaci dokumentů. Všimněte si také, že trvalo 319 ms, než skript spustil celý potrubí. To je jeden z mnoha projevů „prokletí dimenzionality“ — vysoké dimenzionality transformace má dopad jak na prostor a čas, složitost analýzy.
hashování citlivé na lokalitu (LSH) – škálovatelná technika
řešením tohoto problému je hashování citlivé na lokalitu (LSH). Metoda LSH může provádět analýzu blízké podobnosti na masivních datových sadách. Používá hašování k mapování dokumentů do kbelíků s dimenzí, která je řádově nižší než ekvivalentní transformace tf-idf. Díky této vlastnosti je LSH vhodný pro použití ve velkých aplikacích, jako je dolování textu.
LSH používá algoritmus minhash pro výpočet pravděpodobnosti kolize. Bylo prokázáno, že pravděpodobnost kolize v LSH pomocí minhash je ekvivalentní Jaccard podobnost metrické. Stručně řečeno, Jaccard podobnost počítá průsečík dvou sad dělených spojením prvků v každé sadě. Vzorec, který je uveden níže.
tato aplikace je úžasné podobnosti kvantifikuje následující myšlenku — dvě skupiny, které mají více společné položky jsou pravděpodobně podobné.
zde je úryvek o LSH podle Wikipedie:
locality-sensitive hashing (LSH) snižuje dimenzionalitu vysoce dimenzionálních dat. LSH hash vstupní položky tak, že podobné položky map stejné „kbelíky“ s vysokou pravděpodobností (počet kbelíků je mnohem menší než vesmír možných vstupních položek). LSH se liší od konvenčních a kryptografických hašovacích funkcí, protože má za cíl maximalizovat pravděpodobnost „kolize“ u podobných položek. Hašování citlivé na lokalitu má mnoho společného s shlukováním dat a vyhledáváním nejbližších sousedů.
LSH v práci
níže uvádíme implementaci LSH pomocí tohoto modulu aplikovanou na stejný příklad ilustrovaný výše.
výsledky ukazují, že celé potrubí je přibližně 4x rychleji než Tf-Idf verzi. Tento rozdíl je drastičtější, jakmile se použije větší datová sada. Vyloučili jsme analýzu výkonu paměti nyní, ale budeme psát komplexnější měřítko mezi oběma metodami v samostatném příspěvku.
použili jsme LSH na náš korpus a viděli jsme, že některé pracovní pozice s téměř podobným obsahem se objevují více než 200krát!
závěr
Zatímco Tf-Idf je více populární a známější model pro práci s textem podobnost; když se zabývají soubory dat, které měřítko, LSH je výhodnější model. I pro menší datové sady nabízí LSH značné zlepšení výpočetního času.
schopnost správně deduplikovat korpus snižuje šum v tréninkových datech, šetří výpočetní zdroje a pomáhá naučit se přesnější model pro náš případ použití.
Jsme přesvědčeni, že existuje velké množství problémů, které LSH může být použita jako:
- Duplicitní obrázek vyčištění: naneste LSH na obrázek funkce a udržet si pouze jedinečný obraz z každého koše.
- Chatbots: identifikujte podobné vstupy a trénujte model, abyste identifikovali nejlepší odpověď ze znalostní báze.
- doporučení engine: seskupte položky s téměř podobnými funkcemi a podporujte položky uživatelům.
neváhejte prozkoumat a vyzkoušet LSH na své vlastní problémy! 🙂
odkazy na LSH
tyto články docela dobře ilustrují, jak LSH funguje, a také ukazují příklady.
zde je kurz o těžbě masivních datových sad, který pojednává o LSH.
Sledujte nás!
neustále publikujeme články o strojovém učení, hlubokém učení, NLP, pravděpodobnostním programování a analytických projektech, které děláme v Kalibrr Research. Sledujte nás a získejte oznámení o našich dalších příspěvcích! 🙂