Semantisk Søk: Teknologiske løsninger på kompleks søkeproblematikk

Tradisjonelle søk leter etter innhold som inneholder ordene, søker man f.eks. etter “Måke parkeringsplass” vil tradisjonelle søk finne “Måke” og “parkeringsplass”.


Hva er det egentlig brukeren leter etter?

Tradisjonelle søk leter etter innhold som inneholder ordene, søker man f.eks. etter “Måke parkeringsplass” vil tradisjonelle søk finne  “Måke” og “parkeringsplass”. Det er lett for mennesker å forstå at dette ikke dreier seg om en fiskemåke som leter etter parkeringsplass, men for datamaskiner er det ikke like rett frem. Løsningen på denne utfordringen, er å bruke AI for å analysere teksten, for å gi bedre ressultat. Dette kalles “Semantisk søk” og sammen med Direktoratet for Byggkvalitet skal vi implementere dette på deres nettside.

Av teknisk prosjektleder Haakon Høier

Leksikalsk søk: Når søk bare er tegn.

Et tradisjonelt leksikalsk søk sammenligner tegn, og prøver å finne treff. Om man søker etter f.eks Trapp, vil et leksikalst søk gi gode treff der ordet trapp dukker opp ofte.

En utfordring dukker opp, er når man bruker setninger for å søke: “Hvordan bygge en trapp?”

Uten justeringer, vil alle ord i setningen over bli prioritert like mye, og i DiBKs tilfelle, er “Bygge” brukt veldig mye, og da er det vanskelig å treffe godt i resultatet.

Vi gjort mange justeringer i det leksikalske søket for treffe bedre i slike tilfeller

  • Implementere stoppord (ord som ikke tas med i oppslaget)
  • Justere levenshtein distance (hvor mange skrivefeil skal det tas høyde for)
  • Resultatheving på spesifikke sider/dokumenter og kategorier
  • Legge inn synonymordbok (f.eks at terrasse og platting gir like resultat)

Dette kan løse mange utfordringer, men når mengden innhold er så stor som i DiBKs tilfelle, er det grenser for hvor langt man kommer med slike justeringer.

Semantisk søk: Når tegn blir til setninger med betydning

Et semantisk søk baserer seg på vektorisering av tekst. Ved hjelp av AI analyserer vi innholdet som finnes på nettsiden, og hva brukeren har skrevet i søkefeltet. Da kan vi bedre forstå hvilket innhold som passer best til søket. Teknologien bygger tungt tekstanalyse med store språkmodeller, og vektorisering av dokumenter. 

Når man da f.eks søker etter “Hvordan bygge en trapp”, skjønner det semantiske søket at det er ikke all bygging det handler om her, men spesifikt om trapp. Den skjønner også at det er “Trapp” som er hovedtematikken, og henter frem dokumenter som omhandler trapp og utforming, regler og forskrifter om denne. I DiBKs tilfelle skal Forskrifter om trapp komme øverst, og deretter for eksempel forskrifter om rekkverk, da disse har med trapp å gjøre:

Teknologi som forstår brukeren

Leksikalt søk kan være riktig teknologi å bruke, dersom man kun er på utkikk etter treff på ord, og at det sjeldent brukes setninger. I tilfeller der det er mye tekstlig innhold, og man trenger å forstå hva brukeren er på utkikk etter, er semantisk søk veien å gå. Se sammenstilling under, for å se forskjeller:

Aspekt

Leksikalt Søk

Semantisk Søk

Metode

Matcher eksakte ord og fraser

Forstår meningen bak søkespørsmål

Synonymer

Vanskelig å håndtere

Bruker NLP (Naturlig språk prosessering) for å finne synonymer

Polysemi

Ingen kontekstuell forståelse

Disambiguering gjennom kontekst

Relevans

Basert på eksakt ordmatch og frekvens

Basert på konseptuell relevans og brukerintensjon

Kunnskapskilder

Begrenset til tekstens innhold

Benytter kunnskapsgrafer og ontologier

Brukeropplevelse

Kan gi irrelevante resultater

Mer presise og relevante resultater

Løsning klar for lansering

Sammen med Direktoratet for Byggkvalitet skal vi nå knekke koden for den perfekte søkeopplevelsen for byggteknisk innhold, og vi gleder oss til å dele resultatet! Kom på vårt frokostmøte 13. juni der jeg skal presentere løsningen. 

Send oss en melding