Denne klumme er et debatindlæg og er alene udtryk for forfatterens synspunkter.
Når vi tænker på lynhurtig søgning i dag, så tænker vi på Google-søgning. Med Google-søgning er hele internettet kun en søgestreng og et klik væk.
Hvordan er det så teknisk muligt?
Søgemaskiner repræsenterer teksten i et dokument (eller hjemmeside) med et indeks, som i sin simpleste form er en liste af alle de ord, der optræder i et dokument.
En samling af dokumenter er repræsenteret af en dokument-term matrix, hvor vi for hvert dokument sætter et-taller ind for de ord, der optræder.
Denne matrix indeholder normal flest nuller, fordi hvert dokument kun indeholder en meget lille brøkdel af alle de mulige ord. Når vi kommer med en søgning, kan vi derfor slå meget hurtigt op, fordi vi kun behøver at kigge i det meget lille subsæt af dokumenter, der matcher ordene i søgestrengen.
Udover matchet mellem søgestreng og dokument bruges også andre signaler såsom geografi - Google vil virkelig gerne give os danske resultater - og hvor vigtig dokumentet er udtrykt ved hjemmesidens PageRank.
Tradition søgning har begrænsninger
Man kan sammenligne denne måde at se data på, som at vi for hvert dokument smider ordene i en sæk og ryster den. Den detaljerede betydning af sætningerne er forsvundet.
Vi kan delvis redde vores “ord i sækken” tilgang ved også at gemme termer, som består af mere end ét ord som “New York.”
Det er ikke nogen rigtig god løsning, fordi vi så skal gemme mange flere termer, end vi har forskellige ord. Googles søgeindeks gemmer mange termer — hvor mange er ukendt, men man kan få et indtryk af omfanget med værktøjet Google Trends.
Fra tynde til tætte søgeindeks
Som omtalt i min forrige klumme er der kommet en ny generation af maskinlæring modeller for tekst, der ikke kun bruger de enkelte ord, men også den kontekst de står i.
Hvor det er svært at forfine den traditionelle tilgang til søgning, kan man med maskinlæring og tilstrækkelig mængder træningsdata få modellen til at lære at skelne mellem små meningsforskelle. Disse forskelle kan gøre forskellen på, om vi finder de rigtige svar eller ej.
I 2019 brugte Google den kontekstuelle sprogmodel BERT til at lave en stor forbedring for søgninger, der er formuleret som et naturligt tekst-spørgsmål.
At dømme ud fra den forskning, som bliver udgivet af Google og andre, så er dette del af en trend: Vi er så småt på vej væk fra det traditionelle tyndt besatte søgeindeks (med mange nuller) og henimod lærte repræsentationer af både dokumenter og søgestrenge.
De lærte repræsentationer er vektorer af reelle tal og derfor kan vi sige, at de er tætte, for de indeholder ingen nuller. Disse vektorer indeholder derimod viden om kontekst.
Besvarer spørgsmål på en ny måde
I ny forskning fra både Google og Facebook løftes sløret for, hvordan man kan bruge denne tilgang til at bygge en AI, der kan besvare spørgsmål, for det man kalder åbent domæne.
Et eksempel på et åbent domæne er spørgsmål rettet mod hele Wikipedia.
De fleste metoder i dag bruger en fintunet BERT-model og følgende to skridt:
1) Finder relevante dokumenter: Dokument-søgemetoden bruger først BERT modellen til at lave vektor-repræsentationer for de dokumenter, som vi ønsker at søge i. For eksempel er engelsk Wikipedia repræsenteret med nogle millioner vektorer. Spørgsmål bliver også lavet til vektorer. Baseret på et match mellem de mulige svardokumenter og spørgsmålets vektorer udvælges top 5 - 10 dokumentuddrag. Disse er inputtet til at lave svar-skridtet.
2) Komponerer svar: Svar-generatoren bruger dokumentuddrag sammen med spørgsmålet til at lave svar. Det kan enten være en model, der sakser fra uddragene eller en såkaldt generativ tekstmodel, som er trænet til at komponere tekst.
Denne tilgang til spørgsmål-svar systemer er i rivende udvikling, og man kan godt regne med, at Google også vil bruge disse metoder mere og mere.
Min næste klumme kommer til at handle om, hvordan open source værktøjer accelerer udviklingen af naturlig tekst produkter og derefter vil jeg se på de lidt længere perspektiver.
Hvornår vi skal forvente at se AI-løsninger, som man faktisk kan have en dialog med, som forstår kontekst, er faktuel korrekt og som undgår de bias og fordomme, som kan være i data.
Klummer er læsernes platform på Computerworld til at fortælle de bedste historier, og samtidig er det vores meget populære og meget læste forum for videndeling.Har du en god historie, eller har du specialviden, som du synes trænger til at blive delt?
Læs vores klumme-guidelines og send os din tekst, så kontakter vi dig - måske bliver du en del af vores hurtigt voksende korps af klummeskribenter.