Utilizziamo il nostro sito come base di conoscenza e forum di discussione per un dipartimento universitario. Quindi, ad esempio, posso immaginare che le persone vogliano chiedere cose come:
quando saranno disponibili i voti del MSc?
qual è il voto di superamento per gli studenti di MPsych?
quante settimane di ferie posso prenotare in una volta sola?
cosa succede se il mio tutor non supera un modulo del primo anno?
cosa richiede l’università che io faccia se il mio tutor si autolesiona?
quanto paghiamo i partecipanti alla ricerca?
come ottengo una promozione?
quali fonti di finanziamento per il dottorato sono disponibili? o quando vengono rilasciate le borse di dottorato della scuola?
dove nel programma gli studenti imparano l’analisi della varianza per misure ripetute?
In ognuno di questi casi abbiamo informazioni abbastanza buone, ma la ricerca tradizionale non trova i risultati corretti da riassumere. A volte non trova nulla, ma altre volte trova vecchie discussioni che non sono la risposta “corretta”.
So che molti qui non sono programmatori e quindi le differenze tra la ricerca per parole chiave e la ricerca semantica possono sembrare confuse o potrebbero volere maggiori informazioni su come funziona. Sebbene quanto segue sia rivolto ai programmatori, è abbastanza basilare da poter apprendere alcuni concetti chiave sulle differenze tra i due metodi di ricerca senza essere un programmatore.
DeepLearning.AI ha recentemente (14/08/2023) aggiunto questo corso base gratuito su
@EricGT grazie per il link. Quel paper è piuttosto denso per chi non ha già una buona comprensione dell’ML.
Penso che il succo sia che, come applicato qui, HyDE utilizzerebbe un LLM per creare prima una risposta “inventata” basata sulla domanda. Questa risposta avrà la forma di un post di forum reale (ad esempio), ma potrebbe contenere allucinazioni ed essere fattualmente errata perché il contenuto proviene dall’LLM e non da un set di documenti canonico. Questo documento non viene mai mostrato all’utente, ma il trucco interessante è che questo documento sarà semanticamente simile a documenti/argomenti reali sul tuo sito. La ricerca restituisce documenti reali che sono più simili al documento “inventato” e empiricamente questo sembra funzionare meglio che confrontare semplicemente il termine di ricerca grezzo con documenti semanticamente simili nel database degli embedding.
@sam Hyde la ricerca basata su di te sembra fantastica e non vedo l’ora di provarla. Stai pensando a delle manopole regolabili per alcune di queste funzionalità AI? Ad esempio, posso immaginare che potrebbe essere bello modificare i prompt utilizzati sia per generare il documento ipotetico sia per controllare il riassunto/risposta. Ad esempio, l’attuale chatbot è piuttosto verboso quando trova delle risposte. Sarebbe bello poter aggiungere “concisamente” o “brevemente” come prefisso al prompt (come faccio spesso quando uso ChatGPT stesso).
So che molti non presteranno attenzione a questa affermazione, ma se stai pagando soldi veri per eseguire prompt, allora questa è una delle affermazioni più preziose che devi capire.
Vedi:
Prompt
40-90%: Importo risparmiato aggiungendo “Sii conciso” al tuo prompt
È importante ricordare che paghi per token per le risposte. Ciò significa che chiedere a un LLM di essere conciso può farti risparmiare molti soldi [1]. Questo può essere ampliato oltre il semplice aggiungere “sii conciso” al tuo prompt: se stai usando GPT-4 per trovare 10 alternative, forse chiedigliene 5 e conserva l’altra metà dei soldi.
Abbiamo il backend pronto, ma ci vorrà un po’ di tempo per integrarlo correttamente nella pagina dei risultati di ricerca di Discourse, dato che l’interfaccia utente è un po’ complicata.
Oggi non forniamo alcun controllo sui prompt, ma in futuro li renderemo personalizzabili, dopo aver fatto funzionare bene la funzionalità.
È fantastico! Soprattutto quando inserisco una frase di ricerca che restituisce “Nessun risultato trovato” per la ricerca di corrispondenza esatta.
Sto ottenendo un bel po’ di corrispondenze semanticamente corrette per argomenti Marketplace chiusi. Forse è utile restituirle, ma forse dovrebbero apparire in fondo all’elenco.
Forse alcune ricerche potrebbero essere limitate a categorie o tag specifici. Ad esempio:
Cercando “Come posso impedire l’invio di email di attivazione quando gli utenti accedono da WordPress?” i migliori risultati si troveranno in Documentation o Support > WordPress.
Cercando “Come scrivere una query di Data Explorer che restituisca gli argomenti più apprezzati?” i migliori risultati si troveranno nelle categorie Data & reporting e Documentation.
Se fosse possibile, la ricerca iniziale potrebbe restituire risultati dalle categorie più probabili e potrebbe essere dato un suggerimento di provare ad espandere la ricerca ad altre categorie.
Pensando alla ricerca semantica come prima tappa per utilizzare Discourse come forum di assistenza clienti, sarebbe bello poter dare priorità a categorie o tag specifici. Ad esempio, su Meta la ricerca iniziale potrebbe dare priorità alla ricerca nella categoria Documentation.
Questo è esattamente uno dei problemi che volevo affrontare con questa nuova funzionalità. La ricerca semantica troverà sempre qualcosa.
Al momento, la ricerca semantica è piuttosto basilare. Consiste solo in poche righe di codice nel backend e restituisce ciò che è semanticamente più vicino. Mancano molte delle funzionalità di ricerca che abbiamo aggiunto alla ricerca standard negli ultimi dieci anni, come Miglioramenti della ricerca in 2.3 e molti altri. Per questo motivo, viene attualmente offerta come un set di risultati complementare.
Se la funzionalità sarà ben accolta e riusciremo a perfezionare l’interfaccia utente nel prodotto, allora tenteremo di incorporare le parti specifiche di Discourse nei risultati della ricerca semantica.