Cos'è la ricerca neurale?

Nodo di origine: 841114

By Pradeep Sharma, Relazioni con gli sviluppatori presso Jina AI

TL;DR: Neural Search è un nuovo approccio al recupero di informazioni utilizzando le reti neurali. Le tecniche tradizionali di ricerca in genere implicavano la scrittura di regole per "comprendere" i dati cercati e restituire i risultati migliori. Ma con la ricerca neurale, gli sviluppatori non hanno bisogno di scervellarsi per queste regole; Il sistema impara le regole da solo e migliora man mano che procede. Anche gli sviluppatori che non conoscono l'apprendimento automatico possono creare rapidamente un motore di ricerca utilizzando framework open source come Jina.

Cos'è la ricerca neurale?

 



C'è un'enorme quantità di dati sul web; come possiamo cercare efficacemente informazioni rilevanti? E non è solo il Web il luogo in cui ne abbiamo bisogno: i nostri computer memorizzano terabyte di dati aziendali e personali con cui abbiamo bisogno di lavorare; abbiamo bisogno di una ricerca efficace per portare a termine il nostro lavoro quotidiano. E cosa intendo per ricerca efficace

  • Possiamo andare oltre la semplice corrispondenza delle parole chiave?
  • Possiamo effettuare ricerche utilizzando il linguaggio naturale, proprio come scriveremmo o parleremmo?
  • Possiamo rendere la ricerca abbastanza intelligente da perdonare i nostri piccoli errori?
  • Possiamo cercare cose che non corrispondono esattamente ma che sono "abbastanza vicine"?

Possiamo rispondere a tutte queste domande con una sola parola: sì. Per capire come, dobbiamo entrare nel mondo del Natural Language Processing. La PNL è un campo dell'informatica che si occupa dell'analisi dei dati del linguaggio naturale, come le conversazioni che le persone hanno ogni giorno.

La PNL è il fondamento della ricerca intelligente e di seguito abbiamo visto tre diversi approcci in questo campo.

Evoluzione dei metodi di ricerca

 



  1. Regole (1950-1990)
    Regole complesse scritte a mano che emulano la comprensione del linguaggio naturale.
    Svantaggi: Le regole scritte a mano possono essere rese più precise solo aumentandone la complessità, il che è un compito molto più difficile che diventa ingestibile nel tempo.
  2. Statistiche (anni '1990 - 2010)
    Decisioni probabilistiche basate su pesi, machine learning e ingegneria delle funzionalità.
    La creazione e la gestione delle regole è stata risolta con l'apprendimento automatico, in cui il sistema apprende automaticamente le regole analizzando testi di grandi dimensioni del mondo reale.
    Svantaggi: Questi metodi statistici richiedono un'elaborata ingegneria delle funzionalità.
  3. Reti neurali (presente)

    Metodi avanzati di machine learning come reti neurali profonde e apprendimento delle rappresentazioni.

    Dal 2015, i metodi statistici sono stati in gran parte abbandonati e si è passati a quelli statistici reti neurali nell'apprendimento automatico. Le tecniche più diffuse che utilizzano questo metodo lo rendono un'alternativa più precisa e scalabile. Implica

    • Utilizzo di incorporamenti di parole per acquisire proprietà semantiche delle parole
    • Concentrarsi sull'apprendimento end-to-end di compiti di livello superiore (ad esempio, risposta alle domande)

Quando utilizzi le reti neurali per rendere la tua ricerca più intelligente, chiamiamo questo a Sistema di ricerca neurale. E come vedrai, risolve alcune delle carenze critiche di altri metodi.

Tieni presente che le applicazioni della ricerca neurale non si limitano solo al testo. Va ben oltre ciò che copre la PNL. Con la ricerca neurale, otteniamo funzionalità aggiuntive per cercare immagini, audio, video, ecc.

Diamo un'occhiata a un confronto tra gli estremi dei metodi di ricerca: "Regole" e "Reti neurali":

Regole (ricerca simbolica) vs reti neurali (ricerca neurale)

 



Confronto tra ricerca simbolica e ricerca neurale

 

Sebbene il metodo di ricerca neurale sia diventato più diffuso a partire dal 2015 e dovrebbe essere l'area di interesse principale di qualsiasi nuovo sistema di ricerca, non dovremmo escludere completamente i metodi di ricerca simbolica (basata su regole). Infatti, l'utilizzo di una combinazione di ricerca neurale e ricerca simbolica può portare a risultati ottimizzati.

Diamo un'occhiata ad alcune delle potenti applicazioni della ricerca neurale

Applicazioni della ricerca neurale

 
Ricerca semantica

🔍 pantaloni aggiuntivi

(marchio e categoria con errori di ortografia, restituisce comunque risultati pertinenti simili alla query "pantaloni adidas")



 
Cerca tra tipi di dati

Con la ricerca neurale puoi utilizzare un tipo di dati per cercare un altro tipo di dati, ad esempio utilizzando il testo per cercare immagini o l'audio per cercare video.



Esempio di ricerca crossmodale

 

 
Cerca con più tipi di dati

Con la ricerca neurale, puoi creare query con più tipi di dati di query, ad esempio cercare immagini con testo+immagine



Esempio di ricerca multimodale

 

Inizia con la ricerca neurale

 
Per le ricerche basate su regole, Apache Solr, Elasticsearch e Lucene sono le soluzioni di fatto. D'altra parte, la ricerca neurale è relativamente nuova sulla scena, non ci sono così tanti pacchetti standard. Per non parlare del fatto che addestrare la rete neurale per un sistema del genere richiede una notevole quantità di dati. Queste sfide possono essere risolte utilizzando Jina, un framework di ricerca neurale open source. Per iniziare a costruire il tuo sistema di ricerca neurale utilizzando Jina:

Riferimenti

 
Bio: Pradeep Sharma scrive codici e articoli su produttività, ingegneria del software, team building, lavoro remoto, ecc.

Originale. Ripubblicato con il permesso.

Correlato:

Fonte: https://www.kdnuggets.com/2021/05/what-neural-search.html

Timestamp:

Di più da KDnuggets