Connect with us

Artificiell intelligens

Vad är NLP (Natural Language Processing)?

mm

Natural Language Processing (NLP) är studiet och tillämpningen av tekniker och verktyg som möjliggör för datorer att bearbeta, analysera, tolka och resonera om mänskligt språk. NLP är ett tvärvetenskapligt område och kombinerar tekniker etablerade inom områden som lingvistik och datavetenskap. Dessa tekniker används i kombination med AI för att skapa chatbots och digitala assistenter som Google Assistant och Amazon Alexa.

Låt oss ta lite tid att utforska rationalet bakom Natural Language Processing, några av de tekniker som används i NLP och några vanliga användningsfall för NLP.

Varför Natural Language Processing (NLP) är viktigt

För att datorer ska kunna tolka mänskligt språk måste de konverteras till en form som en dator kan manipulera. Men detta är inte så enkelt som att konvertera textdata till siffror. För att utvinna mening från mänskligt språk måste mönster extraheras från de hundratals eller tusentals ord som utgör en textdokument. Detta är ingen lätt uppgift. Det finns få hårda och snabba regler som kan tillämpas på tolkningen av mänskligt språk. Till exempel kan samma uppsättning ord ha olika betydelser beroende på sammanhanget. Mänskligt språk är ett komplext och ofta tvetydigt fenomen, och en uttalelse kan uttalas med äkthet eller sarkasm.

Trots detta finns det några allmänna riktlinjer som kan användas när man tolkar ord och tecken, såsom att tecknet “s” används för att beteckna att en artikel är i plural. Dessa allmänna riktlinjer måste användas i kombination med varandra för att utvinna mening från texten, för att skapa funktioner som en maskinlärningsalgoritm kan tolka.

Natural Language Processing innefattar tillämpningen av olika algoritmer som kan ta ostrukturerad data och konvertera den till strukturerad data. Om dessa algoritmer tillämpas på fel sätt kommer datorn ofta att misslyckas med att utvinna den korrekta meningen från texten. Detta kan ofta ses i översättningen av text mellan språk, där den exakta meningen i meningen ofta förloras. Medan maskinöversättning har förbättrats avsevärt under de senaste åren förekommer fortfarande maskinöversättningsfel.

Natural Language Processing (NLP) tekniker

Foto: Tamur via WikiMedia Commons, Public Domain (https://commons.wikimedia.org/wiki/File:ParseTree.svg)

Många av de tekniker som används i natural language processing kan placeras i en av två kategorier: syntax eller semantik. Syntaxtekniker är de som hanterar ordningen på orden, medan semantiska tekniker är de som hanterar betydelsen av orden.

Syntax NLP-tekniker

Exempel på syntax inkluderar:

  • Lematisering
  • Morfologisk segmentering
  • Part-of-speech-tagging
  • Parsing
  • Meningbrytning
  • Stamning
  • Ordsegmentering

Lematisering refererar till att destillera de olika böjningarna av ett ord till en enda form. Lematisering tar saker som tempus och plural och förenklar dem, till exempel kan “fötter” bli “fot” och “ränder” kan bli “rand”.

Morfologisk segmentering är processen att dela upp ord i morfem eller de grundläggande enheterna i ett ord. Dessa enheter är saker som fria morfem (som kan stå som ord) och prefix eller suffix.

Part-of-speech-tagging är enkelt processen att identifiera vilken del av talet varje ord i en inmatad dokument är.

Parsing refererar till att analysera alla ord i en mening och korrelera dem med deras formella grammatiska etiketter eller göra grammatisk analys för alla ord.

Meningbrytning, eller meningsgränssegmentering, refererar till att bestämma var en mening börjar och slutar.

Stamning är processen att reducera ord till roten av ordet. Till exempel skulle “ansluten”, “anslutning” och “anslutningar” alla stammas till “anslut”.

Ordsegmentering är processen att dela upp stora textstycken i små enheter, som kan vara ord eller stamade/lematiserade enheter.

Semantiska NLP-tekniker

Semantiska NLP-tekniker inkluderar tekniker som:

  • Namngiven entitetsigenkänning
  • Naturlig språkgenerering
  • Ord-sinne-desambiguerande

Namngiven entitetsigenkänning innefattar att markera vissa textdelar som kan placeras i en av ett antal fördefinierade grupper. Fördefinierade kategorier inkluderar saker som datum, städer, platser, företag och individer.

Naturlig språkgenerering är processen att använda databaser för att omvandla strukturerad data till mänskligt språk. Till exempel kunde statistik om vädret, som temperatur och vindhastighet, sammanfattas med mänskligt språk.

Ord-sinne-desambiguerande är processen att tilldela betydelse till ord inom en text baserat på sammanhanget som orden förekommer i.

Djupinlärningsmodeller för NLP

Reguljära multilagerperceptron är oförmögna att hantera tolkningen av sekventiell data, där ordningen på informationen är viktig. För att hantera ordningens betydelse i sekventiell data används en typ av neurala nätverk som bevarar information från tidigare tidssteg under utbildningen.

Recurrent Neural Networks är typer av neurala nätverk som loopar över data från tidigare tidssteg, och tar dem i beaktande när de beräknar vikterna för det aktuella tidssteget. I princip har RNN:er tre parametrar som används under den främre utbildningspassagen: en matris baserad på den tidigare dolda tillståndet, en matris baserad på den aktuella inmatningen och en matris som är mellan det dolda tillståndet och utmatningen. Eftersom RNN:er kan ta information från tidigare tidssteg i beaktande kan de extrahera relevanta mönster från textdata genom att ta tidigare ord i meningen i beaktande när de tolkar betydelsen av ett ord.

En annan typ av djupinlärningsarkitektur som används för att bearbeta textdata är en Long Short-Term Memory (LSTM) nätverk. LSTM-nätverk är liknande RNN:er i struktur, men på grund av vissa skillnader i deras arkitektur tenderar de att fungera bättre än RNN:er. De undviker ett specifikt problem som ofta förekommer när man använder RNN:er som kallas exploderande gradientproblem.

Dessa djupa neurala nätverk kan antingen vara enskilda eller dubbelriktade. Dubbelriktade nätverk kan ta inte bara de ord som kommer före det aktuella ordet i beaktande, utan också de ord som kommer efter det. Medan detta leder till högre noggrannhet är det mer beräkningskrävande.

Användningsfall för Natural Language Processing (NLP)

Foto: mohammed_hassan via Pixabay, Pixabay License (https://pixabay.com/illustrations/chatbot-chat-application-artificial-3589528/)

Eftersom Natural Language Processing innefattar analysen och manipulationen av mänskliga språk har det en otroligt bred tillämpning. Möjliga tillämpningar för NLP inkluderar chatbots, digitala assistenter, sentimentanalys, dokumentorganisation, talangrekrytering och hälsovård.

Chatbots och digitala assistenter som Amazon Alexa och Google Assistant är exempel på röstigenkänning och syntesplattformar som använder NLP för att tolka och svara på vokala kommandon. Dessa digitala assistenter hjälper människor med en mängd olika uppgifter, och låter dem avlasta några av sina kognitiva uppgifter till en annan enhet och frigöra lite av deras hjärnkraft för andra, viktigare saker. Istället för att leta upp den bästa vägen till banken på en hektisk morgon kan vi bara låta vår digitala assistent göra det.

Sentimentanalys är användningen av NLP-tekniker för att studera människors reaktioner och känslor till ett fenomen, som kommuniceras genom deras användning av språk. Att fånga sentimentet i en uttalelse, som att tolka om en produktrecension är bra eller dålig, kan ge företag med betydande information om hur deras produkt tas emot.

Automatisk organisering av textdokument är en annan tillämpning av NLP. Företag som Google och Yahoo använder NLP-algoritmer för att klassificera e-postdokument, och lägga dem i lämpliga bin som “socialt” eller “reklam”. De använder också dessa tekniker för att identifiera skräppost och förhindra att den når din inkorg.

Grupper har också utvecklat NLP-tekniker som används för att identifiera potentiella jobbkandidater, och hitta dem baserat på relevanta färdigheter. Rekryterare använder också NLP-tekniker för att hjälpa dem sortera genom listor av sökande.

NLP-tekniker används också för att förbättra hälsovården. NLP kan användas för att förbättra upptäckten av sjukdomar. Hälsojournaler kan analyseras och symtom extraheras av NLP-algoritmer, som sedan kan användas för att föreslå möjliga diagnoser. Ett exempel på detta är Amazon Comprehend Medical-plattformen, som analyserar hälsojournaler och extraherar sjukdomar och behandlingar. Hälsovårdstillämpningar av NLP sträcker sig också till mental hälsa. Det finns appar som WoeBot, som pratar användare genom en mängd ångesthanterings tekniker baserade på kognitiv beteendeterapi.

Blogger och programmerare med specialområden inom Machine Learning och Deep Learning ämnen. Daniel hoppas på att hjälpa andra att använda kraften från AI för socialt väl.