Răspunsuri la întrebări, Căutare semantică și conducta Retriever-Reader

Salutare colegii pasionati de NLP! Întotdeauna mi se pare fascinant să experimentez cu încorporarea cuvintelor și să fac căutare semantică sau sisteme de recomandare cu ele. De aceea, este o plăcere pentru mine să vorbesc despre un cadru pregătit pentru producție, care vă permite să scalați aceste sarcini cu un număr mare de documente. Bucurați-vă! 😄

„Haystack”, realizat de „deepset”, este un cadru NLP open-source care folosește modelele Transformer, concepute pentru a fi puntea de legătură între cercetare și industrie privind „căutarea neuronală”, „răspunsul la întrebări”, „căutarea semantică a documentelor” și „ rezumat». Este un cadru modular care se integrează cu alte proiecte open-source precum „Huggingface’s Transformers”, „Elasticsearch” sau „Milvus”.

Cazuri de utilizare a carului de fân

Principalele cazuri de utilizare ale Haystack sunt:

  • Răspunsuri la întrebări: puneți întrebări în limbaj natural și găsiți răspunsuri granulare în documentele dvs.
  • Căutare semantică: regăsiți documente în funcție de semnificația interogării, nu de cuvintele cheie ale acesteia.
  • Rezumat: puneți o întrebare generică și obțineți rezumate ale celor mai relevante documente preluate.
  • Generare întrebări: ia un document ca intrare și returnează întrebările generate la care documentul poate răspunde.

De exemplu, Răspunsul la întrebări și Căutarea semantică pot fi folosite pentru a gestiona mai bine coada lungă de interogări pe care le primesc chatbot-urile sau pentru a automatiza procesele prin aplicarea automată a unei liste de întrebări documentelor noi și utilizarea răspunsurilor extrase.

În plus, cu Haystack este posibil să:

  • Utilizați modele pregătite în prealabil (de exemplu, BERT, RoBERTa, MiniLM) sau ajustați-le la anumite domenii.
  • Colectați feedback-ul utilizatorilor pentru a evalua, compara și îmbunătăți continuu modelele.
  • Scalați la milioane de documente prin intermediul retriever-urilor, backend-urilor pregătite pentru producție, cum ar fi Elasticsearch sau FAISS, și un API REST fastAPI.

Cum functioneaza

Haystack funcționează utilizând conductele Retriever-Reader. O conductă Retriever-Reader valorifică puterea de înțelegere a citirii a Reader și o aplică bazelor mari de documente cu ajutorul Retriever.

Dar ce sunt Cititorii și Retrieverii exact?

  • Cititoriisuntsisteme de răspuns la întrebări cu domeniu închis: modele puternice care analizează documente și efectuează sarcina de răspuns la întrebări pe acestea. Se bazează pe cele mai recente modele de limbaj bazate pe transformatoare și beneficiază de accelerare GPU. Cu toate acestea, nu este eficient să utilizați Reader direct pe o colecție mare de documente.
  • Retriever ajută cititorul acționând ca un filtru care reduce numărul de documente pe care Reader trebuie să le proceseze. Face acest lucru prin scanarea tuturor documentelor din baza de date, identificându-le pe cele relevante (de obicei un subset mic) și pasând-le către Reader.

Iată o schemă care rezumă pipeline Retriever-Reader.

Crearea unui depozit de documente, popularea acestuia și solicitarea de interogări se pot face în câteva rânduri de cod Python.

Există o „demo online” disponibilă care funcționează pe o selecție de pagini Wikipedia pe tema „țărilor și orașelor capitale”. Puteți pune orice întrebare pe acest subiect și puteți vedea dacă Haystack poate găsi răspunsul corect din baza sa de cunoștințe.

Vă mulțumim pentru citit! Dacă sunteți interesat să aflați mai multe despre NLP, nu uitați să urmăriți NLPlanet pe Medium, LinkedIn și Twitter!

Postări legate de NLPlanet



Două minute NLP — Cheat sheet SpaCy
Etichetarea POS, analiza dependențelor, NER și similaritatea propozițieimedium.com”





Două minute NLP — O taxonomie a metodelor de tokenizare
La nivel de cuvânt, la nivel de caracter, BPE, WordPiece și SentencePiecemedium.com”