Natural Language Processing (NLP) är en gren inom Artificiell Intelligens med många spännande användningsområden. NLP gränsar mellan lingvistik, AI och datavetenskap och kallas ibland för språkteknologi eller datorlingvistik på svenska. Kort sagt så handlar det om att lära datorer att läsa, skriva och förstå mänskliga språk på sätt som ger värde för oss människor.
Tidigare har vi människor enbart kommunicerat med datorer på deras språk, men de senaste åren har vi lärt datorer att kommunicera med oss på våra språk. NLP-tekniker har utvecklats i snabb takt och används idag för en mängd tjänster, till exempel grammatikkontroll i ordbehandlingsprogram, automatiska översättningstjänster som Google Translate och röstassistenter som Alexa och Siri. Användningsområdena är stora och vi möter dagligen applikationer där NLP har integrerats på olika sätt.
Det krävs mycket träning för att lära sig ett språk.
Att lära sig mänskliga språk är svårt, både för människor och för datorer. Språk är komplexa och byggs upp av en mängd grammatiska regler. Dessutom är uttal och tonfall viktiga komponenter och kan avgöra ett ords betydelse. För både barn och vuxna tar det lång tid att lära sig nya språk och det krävs mycket träning. Detsamma gäller för datorer. De flesta NLP-tekniker använder sig av maskininlärning (eng. machine learning). Maskininlärnings-algoritmer kan ses som matematiska formler som appliceras på data. De matematiska formlerna justeras gång på gång tills de beskriver datan så bra som möjligt, alltså tills skillnaden är väldigt liten mellan den verkliga datan och formlernas beskrivning. Formlerna utgör då en modell av datan. Datamodellen kan sedan integreras och användas i applikationer.
NLP-tekniker skapar ofta relationer mellan ord för att förstå synonyma ord, till exempel genom att representera ord i en typ av koordinatsystem där orden ”fin” och ”bra” ligger nära varandra men långt ifrån ordet ”hemsk”. Det kallas för Word Embeddings. Den data som NLP används för kan vara text (både datorskriven och handskriven), ljud eller bilder.
Ord kan representeras i ett koordinatsystem.
Inom Business Intelligence kan NLP vara väldigt värdefullt, framför allt då användaren vill utvinna enkel och läsarvänlig information från ostrukturerad data, som recensioner, kundundersökningar eller texter från sociala medier. Låt oss ta ett exempel. En organisation som säljer produkter uppmanar sina kunder att skriva recensioner efter att de köpt och testat produkterna. Genom att få recensioner av sina produkter kan organisationen utvärdera vad som uppskattas av kunderna och vad som kan förbättras.
Kundernas intresse att recensera är stort och organisationen får in ett stort antal recensioner. Texterna kan vara allt ifrån några få ord till en halv sida. För de anställda på organisationen tar det lång tid att läsa igenom alla recensioner, därför används en modell utvecklad med hjälp av NLP. Modellen ”läser” recensionerna och tilldelar varje recension en etikett som beskriver stämningen i texten (positiv, negativ eller neutral). Detta kallas på engelska för Sentiment Analysis. Med hjälp av den här indelningen av recensionerna kan de anställda sedan snabbt se vilka recensioner som behöver hanteras manuellt.
Har du någon typ av text- eller ljuddata och vill få information av den på ett snabbt och automatiskt sätt? Vi hjälper gärna till! NLP är väldigt spännande och kan ge många intressanta insikter.