Connect with us

Kunstig intelligens

Hvad er NLP (Natural Language Processing)?

mm

Natural Language Processing (NLP) er studiet og anvendelsen af teknikker og værktøjer, der giver computere mulighed for at behandle, analysere, fortolke og resonere om menneskesprog. NLP er et tværfagligt område og kombinerer teknikker etableret i fag som lingvistik og datalogi. Disse teknikker anvendes i samarbejde med AI til at skabe chatbots og digitale assistenter som Google Assistant og Amazon’s Alexa.

Lad os tage lidt tid til at udforske baggrunden for Natural Language Processing, nogle af de teknikker, der anvendes i NLP, og nogle almindelige brugsområder for NLP.

Hvorfor Natural Language Processing (NLP) er vigtigt

For at computere kan fortolke menneskesprog, må de konverteres til en form, som en computer kan manipulere. Men dette er ikke så simpelt som at konvertere tekstdata til tal. For at udlede mening fra menneskesprog, må mønstre udtrækkes fra de hundredvis eller tusindvis af ord, der udgør en tekst. Dette er ingen let opgave. Der er få faste regler, der kan anvendes til fortolkningen af menneskesprog. For eksempel kan det samme sæt af ord betyde forskellige ting afhængigt af konteksten. Menneskesprog er et komplekst og ofte tvetydigt fænomen, og en udtalelse kan udtalelse med oprigtighed eller sarkasme.

Trods dette er der nogle generelle retningslinjer, der kan anvendes, når man fortolker ord og tegn, såsom tegnet “s”, der anvendes til at angive, at et objekt er flertal. Disse generelle retningslinjer må anvendes i samarbejde med hinanden for at udlede mening fra teksten og skabe funktioner, som en maskinel læringsalgoritme kan fortolke.

Natural Language Processing omfatter anvendelsen af forskellige algoritmer, der kan tage ikke-struktureret data og konvertere dem til struktureret data. Hvis disse algoritmer anvendes på forkert måde, vil computeren ofte fejle i at udlede den korrekte mening fra teksten. Dette kan ofte ses i oversættelsen af tekst mellem sprog, hvor den præcise mening af sætningen ofte går tabt. Mens maskinoversættelse har forbedret sig betydeligt over de seneste par år, sker maskinoversættelsesfejl stadig hyppigt.

Natural Language Processing (NLP) Teknikker

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

Mange af de teknikker, der anvendes i natural language processing, kan placeres i en af to kategorier: syntaks eller semantik. Syntaks-teknikker er dem, der beskæftiger sig med ordens rækkefølge, mens semantiske teknikker er teknikker, der involverer ordens mening.

Syntaks NLP Teknikker

Eksempler på syntaks inkluderer:

  • Lematisering
  • Morfologisk segmentering
  • Part-of-Speech Tagging
  • Parsing
  • Sætningsafbrud
  • Stamning
  • Ordsegmentering

Lematisering refererer til at destillere de forskellige bøjninger af et ord ned til en enkelt form. Lematisering tager ting som tid og flertal og forenkler dem, for eksempel, “fødder” kan blive “fod” og “striber” kan blive “stribe”. Denne forenklede ordform gør det lettere for en algoritme at fortolke ordene i en dokument.

Morfologisk segmentering er processen med at dividere ord i morfemer eller de grundlæggende enheder af et ord. Disse enheder er ting som frie morfemer (der kan stå alene som ord) og præfikser eller suffikser.

Part-of-speech tagging er blot processen med at identificere, hvilken del af tale hvert ord i en inputdokument er.

Parsing refererer til at analysere alle ordene i en sætning og korrelere dem med deres formelle grammatikmærker eller at udføre grammatisk analyse for alle ordene.

Sætningsafbrud, eller sætningsgrænsesegmentering, refererer til at afgøre, hvor en sætning begynder og slutter.

Stamning er processen med at reducere ord til deres rodform. For eksempel, “tilslutning”, “tilslutninger” og “tilslutning” ville alle blive stammede til “tilslut”.

Ordsegmentering er processen med at dividere store stykker af tekst ned i små enheder, som kan være ord eller stammede/lematiserede enheder.

Semantiske NLP Teknikker

Semantiske NLP-teknikker inkluderer teknikker som:

  • Navngivet enhedsigenkendelse
  • Naturlig sproggenerering
  • Ord-sans disambiguerings

Navngivet enhedsigenkendelse involverer at mærke bestemte tekstdele, der kan placeres i en af en række foruddefinerede grupper. Foruddefinerede kategorier inkluderer ting som datoer, byer, steder, virksomheder og personer.

Naturlig sproggenerering er processen med at bruge databases til at transformere struktureret data til naturligt sprog. For eksempel, statistik om vejr, som temperatur og vindhastighed, kunne summeres med naturligt sprog.

Ord-sans disambiguerings er processen med at tildele mening til ord inden for en tekst baseret på konteksten, ordene optræder i.

Deep Learning Modeller til NLP

Regulære multilag-perceptroner er ikke i stand til at håndtere fortolkningen af sekventielle data, hvor rækkefølgen af informationen er vigtig. For at kunne håndtere vigtigheden af rækkefølge i sekventielle data, anvendes en type neural netværk, der bevarende information fra tidligere tidspunkter i træningen.

Rekurrente neurale netværk er typer af neurale netværk, der løber over data fra tidligere tidspunkter, tager dem i betragtning, når de beregner vægtene for det nuværende tidspunkt. I virkeligheden har RNN’er tre parametre, der anvendes under den fremadrettede træning: en matrix baseret på den tidligere skjulte tilstand, en matrix baseret på den nuværende indgang, og en matrix, der er mellem den skjulte tilstand og udgangen. Fordi RNN’er kan tage information fra tidligere tidspunkter i betragtning, kan de udtrække relevante mønstre fra tekstdata ved at tage tidligere ord i sætningen i betragtning, når de fortolker meningen af et ord.

En anden type dyb læringarkitektur, der anvendes til at behandle tekstdata, er en Long Short-Term Memory (LSTM) netværk. LSTM-netværk er lignende RNN’er i struktur, men på grund af nogle forskelle i deres arkitektur, tenderer de til at fungere bedre end RNN’er. De undgår et bestemt problem, der ofte opstår, når man anvender RNN’er, kaldet eksploderende gradientproblem.

Disse dybe neurale netværk kan være enten unidirektionelle eller bidirektionelle. Bidirektionelle netværk er i stand til at tage ikke kun ordene, der kommer før det nuværende ord, i betragtning, men også ordene, der kommer efter det. Dette fører til højere nøjagtighed, men det er mere beregningskrævende.

Brugsområder for Natural Language Processing (NLP)

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

Fordi Natural Language Processing omfatter analysen og manipulationen af menneskesprog, har det en utrolig bred vifte af anvendelser. Mulige anvendelser for NLP inkluderer chatbots, digitale assistenter, sentimentanalyse, dokumentorganisation, talentrekruttering og sundhedspleje.

Chatbots og digitale assistenter som Amazon’s Alexa og Google Assistant er eksempler på talegenkendelse og synteseplatforme, der anvender NLP til at fortolke og svare på vokale kommandoer. Disse digitale assistenter hjælper mennesker med en bred vifte af opgaver, hvilket giver dem mulighed for at aflede nogle af deres kognitive opgaver til en anden enhed og frigøre noget af deres hjernekapacitet til andre, vigtigere ting. I stedet for at søge efter den bedste rute til banken på en travl morgen, kan vi bare lade vores digitale assistent gøre det.

Sentimentanalyse er anvendelsen af NLP-teknikker til at studere menneskers reaktioner og følelser over for et fænomen, som kommunikeret gennem deres brug af sprog. At fange sentimentet af en udtalelse, som at fortolke, om en anmeldelse af et produkt er god eller dårlig, kan give virksomheder væsentlig information om, hvordan deres produkt modtages.

Automatisk organisering af tekstdokumenter er en anden anvendelse af NLP. Virksomheder som Google og Yahoo anvender NLP-algoritmer til at klassificere e-maildokumenter, placerer dem i de relevante kategorier som “sociale” eller “fremhævninger”. De anvender også disse teknikker til at identificere spam og forhindre, at det når din indbakke.

Grupper har også udviklet NLP-teknikker, der anvendes til at identificere potentielle jobkandidater, finder dem baseret på relevante færdigheder. Rekrutteringschefer anvender også NLP-teknikker til at hjælpe dem med at sortere gennem lister over ansøgere.

NLP-teknikker anvendes også til at forbedre sundhedsplejen. NLP kan anvendes til at forbedre diagnosticeringen af sygdomme. Sundhedsjournaler kan analyseres, og symptomer kan udtrækkes af NLP-algoritmer, som derefter kan anvendes til at foreslå mulige diagnoser. Et eksempel på dette er Amazon’s Comprehend Medical-platform, der analyserer sundhedsjournaler og udtrækker sygdomme og behandlinger. Sundhedsanvendelser af NLP udvider sig også til mental sundhed. Der er apps som WoeBot, der fører brugere gennem en række angststyrings-teknikker baseret på kognitiv adfærdsterapi.

Blogger og programmør med specialer i Machine Learning og Deep Learning emner. Daniel håber at hjælpe andre med at bruge AI's kraft til sociale formål.