Når jeg skal forklare hva språkteknologi er, svarer jeg gjerne at det er å bruke datamaskiner for å analysere tekst. Det er byggeklossene som Google translate bruker.

Under studiet i Språkteknologi ved Universitetet i Oslo har vi lært om hvordan man tradisjonelt har analysert syntaksen i setninger ved hjelp av datamaskiner, og hvordan man kan klassifisere tekst. Fagområdet har vært i dramatisk endring, og mange finurlige løsninger innen faget har blitt utkonkurrert av dype nevrale nettverk. Og i løpet av 2019 og 2020 har vi fått en ny type nevrale nettverk som i mange sammenhenger utkonkurrerer løsningene basert på LSTM og andre former for RNN. Det nye, kule er nå Transformers, med BERT, RoBERTa, XLnet, GPT2 og GPT3 og så videre.

Uansett hvilket verktøy vi bruker, så har vi at menneskespråk, eller naturlige språk (for å skille fra programmeringsspråk) har noen egenskaper som datamaskiner ikke har så lett for å forholde seg til: Vi har at ord er flertydige, og at informasjonen om det vi sier baserer seg på at mottageren har en viss kunnskap om verden omkring oss. (Vi forstår at en stor tulipan har en annen lengde og bredde enn en stor bil.) Videre utgjør en setning en sammensatt helhet som ikke er lett å plukke fra hverandre. Hvis vi ikke hadde hatt disse utfordringene, hadde kanskje ikke språkteknologi vært et eget fag. Da kunne språket bare blitt behandlet som en database vi kan gjøre oppslag i. Setningen Egil liker å sykle gir en grei informasjon om en viss Egil, som er nokså lett å hente ut. Men det er vanskeligere i setningen Du tenkte kanskje at sykling skal frelse verden? Der er du nok på ville veier. Her er det også informasjon om noen som mener noe om noe. Men jobben med å analysere denne lille tekstbiten er litt mer krevende, både for mennesker og datamaskiner.

I denne bloggen har jeg tenkt å skrive om en del av språkteknologien som heter Sentementanalyse. Her møter vi på alle disse utfordringene, og vi får se hva maskinene kan få til.