Deep Learning for NLP: En oversigt over nylige tendenser

I en rettidig ny artikel diskuterer Young og kolleger nogle af de nylige tendenser inden for dyb læringsbaseret naturligt sprogbehandlingssystem (NLP) systemer og applikationer. Fokus for papiret er på gennemgang og sammenligning af modeller og metoder, der har opnået avancerede resultater (SOTA) på forskellige NLP-opgaver, såsom visuel spørgsmålssvar (QA) og maskinoversættelse. I denne omfattende gennemgang får læseren en detaljeret forståelse af fortiden, nutiden og fremtiden for dyb læring i NLP. Derudover vil læserne også lære nogle af de nuværende bedste fremgangsmåder til anvendelse af dyb læring i NLP. Nogle emner inkluderer:

  • Stigningen af ​​distribuerede repræsentationer (f.eks. Word2vec)
  • Konvolutional, tilbagevendende og rekursive neurale netværk
  • Anvendelser i forstærkningslæring
  • Seneste udvikling i uovervåget sætning repræsentation læring
  • Kombination af dyb læringsmodeller med hukommelsesforøgende strategier

Hvad er NLP?

Natural Language Processing (NLP) beskæftiger sig med opbygning af beregningsalgoritmer til automatisk at analysere og repræsentere menneskeligt sprog. NLP-baserede systemer har aktiveret en bred vifte af applikationer såsom Googles magtfulde søgemaskine og for nylig Amazons stemmeassistent ved navn Alexa. NLP er også nyttigt til at lære maskiner evnen til at udføre komplekse naturlige sprogrelaterede opgaver såsom maskinoversættelse og dialoggenerering.

I lang tid anvendte flertallet af metoder, der blev brugt til at studere NLP-problemer, overfladiske maskinindlæringsmodeller og tidskrævende, håndlavede funktioner. Dette førte til problemer såsom forbandelsen af ​​dimensionalitet, da sproglig information blev repræsenteret med sparsomme repræsentationer (højdimensionale træk). Med den nylige popularitet og succes med ordindlejringer (lavdimensionelle, distribuerede repræsentationer) har neurale baserede modeller opnået overlegne resultater på forskellige sprogrelaterede opgaver sammenlignet med traditionelle maskinindlæringsmodeller som SVM eller logistisk regression.

Distribuerede repræsentationer

Som nævnt tidligere blev håndlavede funktioner primært brugt til at modellere naturlige sprogopgaver, indtil neurale metoder kom rundt og løste nogle af de problemer, som traditionelle maskinlæringsmodeller står overfor, såsom forbandelse af dimensionalitet.

Ordindlejringer: Distributionsvektorer, også kaldet ordindlejringer, er baseret på den såkaldte distributionelle hypotese - ord, der vises i lignende kontekst, har lignende betydning. Ordindlejringer er foruddannet i en opgave, hvor målet er at forudsige et ord baseret på dets kontekst, typisk ved hjælp af et lavt neuralt netværk. Figuren nedenfor illustrerer en neurologisk sprogmodel foreslået af Bengio og kolleger.

Ordvektorer har en tendens til at integrere syntaktisk og semantisk information og er ansvarlige for SOTA i en lang række NLP-opgaver såsom sentimentanalyse og sætningskompositionalitet.

Distribuerede repræsentationer blev tidligere brugt stærkt til at studere forskellige NLP-opgaver, men det begyndte først at vinde popularitet, når de kontinuerlige taske-med-ord (CBOW) og spring-gram-modeller blev introduceret til marken. De var populære, fordi de effektivt kunne konstruere ordindlejringer i høj kvalitet, og fordi de kunne bruges til semantisk sammensætning (f.eks. 'Mand' + 'royal' = 'konge').

Word2vec: Cirka 2013 foreslog Mikolav et al. Både CBOW- og spring-gram-modellerne. CBOW er en neural tilgang til konstruktion af ordindlejringer, og målet er at beregne den betingede sandsynlighed for et målord givet kontekstordene i en given vinduesstørrelse. På den anden side er Skip-gram en neural tilgang til at konstruere ordindlejringer, hvor målet er at forudsige de omgivende kontekstord (dvs. betinget sandsynlighed) givet et centralt målord. For begge modeller bestemmes ordindlejringsdimensionen ved at beregne (på en uovervåget måde) nøjagtigheden af ​​forudsigelsen.

En af udfordringerne med ordindlejringsmetoder er, når vi ønsker at få vektorrepræsentationer for sætninger som "hot potato" eller "Boston Globe". Vi kan ikke blot kombinere de enkelte ordvektorrepræsentationer, da disse sætninger ikke repræsenterer kombinationen af ​​betydning for de enkelte ord. Og det bliver endnu mere kompliceret, når der overvejes længere sætninger og sætninger.

Den anden begrænsning med word2vec-modellerne er, at brugen af ​​mindre vinduesstørrelser producerer lignende indlejringer til kontrasterende ord som "god" og "dårlig", hvilket ikke er ønskeligt, specielt til opgaver, hvor denne differentiering er vigtig, såsom sentimentanalyse. Et andet advarsel om ordindlejringer er, at de er afhængige af den applikation, hvor de bruges. Genoplæring af opgavespecifikke indlejringer til hver ny opgave er en udforsket mulighed, men dette er normalt beregningskrævende og kan adresseres mere effektivt ved hjælp af negativ sampling. Word2vec-modeller lider også af andre problemer, såsom at man ikke tager højde for polysemi og andre forudindtrængninger, der kan komme fra træningsdataene.

Karakterindlejringer: For opgaver såsom dele af tale (POS) -mærkning og navngivet entitetsgenkendelse (NER) er det nyttigt at se på morfologiske oplysninger i ord, f.eks. Tegn eller kombinationer deraf. Dette er også nyttigt for morfologisk rige sprog som portugisisk, spansk og kinesisk. Da vi analyserer tekst på tegneniveau, hjælper denne type indlejringer med at håndtere det ukendte ordproblem, da vi ikke længere repræsenterer sekvenser med store ordordforhold, som skal reduceres til effektive beregningsformål.

Endelig er det vigtigt at forstå, at selv om både karakterniveau og ordniveauindlejringer er blevet anvendt til forskellige NLP-opgaver, er der langvarig påvirkning blevet stillet spørgsmålstegn ved. For eksempel fandt Lucy og Gauthier for nylig, at ordvektorer er begrænsede i, hvor godt de fanger de forskellige facetter af begrebsmæssig betydning bag ord. Påstanden er med andre ord, at distributionsk semantik alene ikke kan bruges til at forstå begreberne bag ord. For nylig var der en vigtig debat om meningsrepræsentation i sammenhæng med naturlige sprogbehandlingssystemer.

Konvolutional Neural Network (CNN)

En CNN er dybest set en neurobaseret tilgang, der repræsenterer en funktionsfunktion, der anvendes til at udgøre ord eller n-gram til at udtrække funktioner på højere niveau. De resulterende abstrakte funktioner er effektivt blevet brugt til følelsesanalyse, maskinoversættelse og besvarelse af spørgsmål, blandt andre opgaver. Collobert og Weston var blandt de første forskere, der anvendte CNN-baserede rammer på NLP-opgaver. Målet med deres metode var at omdanne ord til en vektorrepræsentation via en opslagstabel, hvilket resulterede i en primitiv ordindlejringsmetode, der lærer vægte under træning af netværket (se figur nedenfor).

For at udføre sætningsmodellering med en grundlæggende CNN, tokkes sætninger først til ord, der yderligere transformeres til en ordindlejringsmatrix (dvs. inputindlejringslag) af d-dimension. Derefter påføres konvolutionsfiltre på dette input-integreringslag, der består af at anvende et filter med alle mulige vinduesstørrelser for at fremstille det, der kaldes et funktionskort. Dette efterfølges af en max-pooling-operation, der anvender en max-operation på hvert filter for at opnå en fast længdeudgang og reducere outputens dimensionalitet. Og denne procedure producerer den endelige sætningsrepræsentation.

Ved at øge kompleksiteten af ​​ovennævnte grundlæggende CNN og tilpasse den til at udføre ordbaserede forudsigelser, kan andre NLP-opgaver, såsom NER, aspektdetektion og POS, studeres. Dette kræver en vinduesbaseret tilgang, hvor der for hvert ord overvejes et vindue med fast størrelse med tilstødende ord (undersætning). Derefter anvendes en uafhængig CNN på undersætningen, og træningsformålet er at forudsige ordet i midten af ​​vinduet, også benævnt ordklassifikation.

En af manglerne med grundlæggende CNN'er er der manglende evne til at modellere afhængigheder af lang afstand, hvilket er vigtigt for forskellige NLP-opgaver. For at løse dette problem er CNN'er blevet koblet med tidsforsinkede neurale netværk (TDNN), som muliggør større kontekstuelt rækkevidde på én gang under træning. Andre nyttige typer CNN, der har vist succes i forskellige NLP-opgaver, såsom sentimentforudsigelse og spørgsmålstypeklassificering, er kendt som dynamisk konvolutional neuralt netværk (DCNN). En DCNN bruger en dynamisk k-max poolingstrategi, hvor filtre dynamisk kan spænde over varierende intervaller, mens de udfører sætningsmodellering.

CNN'er er også blevet brugt til mere komplekse opgaver, hvor forskellige længder af tekster bruges, såsom i aspektdetektering, sentimentanalyse, kort tekstkategorisering og sarkasmeopsporing. Nogle af disse undersøgelser rapporterede imidlertid, at ekstern viden var nødvendig, når man anvender CNN-baserede metoder til mikrotexter såsom Twitter-tekster. Andre opgaver, hvor CNN viste sig at være nyttige, er forespørgsel-dokument-matching, talegenkendelse, maskinoversættelse (i nogen grad) og spørgsmål-svar-repræsentationer, blandt andre. På den anden side blev en DCNN brugt til hierarkisk at lære at fange og komponere leksikale træk på lavt niveau til semantiske koncepter på højt niveau til automatisk opsummering af tekster.

Generelt er CNN'er effektive, fordi de kan udnytte semantiske spor i kontekstuelle vinduer, men de kæmper for at bevare sekventiel rækkefølge og modellere langdistancekontekstuel information. Tilbagevendende modeller er bedre egnet til en sådan type læring, og de diskuteres næste.

Gentagende neuralt netværk (RNN)

RNN'er er specialiserede neurale baserede tilgange, der er effektive til behandling af sekventiel information. En RNN anvender rekursivt en beregning til alle forekomster af en indgangssekvens, der er betinget af de foregående beregne resultater. Disse sekvenser er typisk repræsenteret af en vektor med fast størrelse af tokens, der føres sekventielt (en efter en) til en tilbagevendende enhed. Figuren nedenfor illustrerer en simpel RNN-ramme nedenfor.

Hovedstyrken ved et RNN er kapaciteten til at huske resultaterne fra tidligere beregninger og bruge disse oplysninger i den aktuelle beregning. Dette gør RNN-modeller egnede til at modellere kontekstafhængigheder i input af vilkårlig længde for at skabe en korrekt sammensætning af input. RNN'er er blevet brugt til at studere forskellige NLP-opgaver såsom maskinoversættelse, billedtekstoptagelse og sprogmodellering.

Da den sammenlignes med en CNN-model, kan en RNN-model være på samme måde effektiv eller endda bedre til specifikke naturlige sprogopgaver, men ikke nødvendigvis overlegen. Dette skyldes, at de modellerer meget forskellige aspekter af dataene, hvilket kun gør dem effektive afhængigt af den semantik, der kræves af den aktuelle opgave.

Det input, der forventes af et RNN, er typisk en-hot kodninger eller ordindlejringer, men i nogle tilfælde er de koblet med de abstrakte repræsentationer konstrueret af for eksempel en CNN-model. Enkle RNN'er lider under forsvindingsgradientproblemet, hvilket gør det vanskeligt at lære og indstille parametrene i de tidligere lag. Andre varianter, såsom LSTM-net (korttidshukommelse), resterende netværk (ResNets) og gated-recurrent-netværk (GRU) blev senere introduceret for at overvinde denne begrænsning.

RNN-varianter: En LSTM består af tre porte (input, glem og output porte) og beregner den skjulte tilstand gennem en kombination af de tre. GRU'er ligner LSTM'er, men består kun af to porte og er mere effektive, fordi de er mindre komplekse. En undersøgelse viser, at det er vanskeligt at sige, hvilke af de gatede RNN'er, der er mere effektive, og at de normalt vælges baseret på den tilgængelige computerkraft. Forskellige LSTM-baserede modeller er blevet foreslået til kortlægning af sekvens til sekvens (via encoder-dekoderrammer), der er egnet til maskineoversættelse, tekstopsummering, modellering af menneskelige samtaler, besvarelse af spørgsmål, billedbaseret sproggenerering, blandt andre opgaver.

Generelt bruges RNN'er til mange NLP-applikationer, såsom:

  • Klassificering på ordniveau (f.eks. NER)
  • Sprogmodellering
  • Setning-niveau klassificering (f.eks. Sentimentpolaritet)
  • Semantisk matching (match f.eks. En meddelelse til kandidatens svar i dialogsystemer)
  • Naturlig sproggenerering (f.eks. Maskinoversættelse, visuel QA og billedtekstoptagelse)

Opmærksomhedsmekanisme

I det væsentlige er opmærksomhedsmekanismen en teknik, der er inspireret af behovet for at lade dekoderdelen af ​​den ovennævnte RNN-baserede ramme bruge den sidste skjulte tilstand sammen med information (dvs. kontekstvektor) beregnet baseret på den indlagte skjulte tilstandsekvens. Dette er især fordelagtigt for opgaver, der kræver en vis justering for at ske mellem input- og outputteksten.

Opmærksomhedsmekanismer er blevet brugt med succes i maskinoversættelse, tekstopsummering, billedtekstoptagelse, dialoggenerering og aspektbaseret følelsesanalyse. Der er foreslået forskellige forskellige former og typer opmærksomhedsmekanismer, og de er stadig et vigtigt forskningsområde for NLP-forskere, der undersøger forskellige anvendelser.

Rekursivt neuralt netværk

Ligesom RNN'er er rekursive neurale netværk naturlige mekanismer til at modellere sekventielle data. Dette skyldes, at sprog kunne ses som en rekursiv struktur, hvor ord og underfraser sammensætter andre sætninger på højere niveau i et hierarki. I en sådan struktur er en ikke-terminal knude repræsenteret ved repræsentationen af ​​alle dens børneknuder. Figuren nedenfor illustrerer et simpelt rekursivt neuralt netværk nedenfor.

I den grundlæggende rekursive neurale netværksform kombinerer en kompositionsfunktion (dvs. netværk) bestanddele i en bottom-up tilgang til beregning af repræsentationen af ​​sætninger på højere niveau (se figuren ovenfor). I en variant, MV-RNN, er ord repræsenteret af både en matrix og en vektor, hvilket betyder, at de parametre, der læres af netværket, repræsenterer matrixerne for hver bestanddel (ord eller sætning). En anden variation, rekursivt neuralt tensornetværk (RNTN), muliggør mere interaktion mellem inputvektorer for at undgå store parametre, som det er tilfældet for MV-RNN. Rekursive neurale netværk viser fleksibilitet, og de er blevet koblet med LSTM-enheder til at håndtere problemer såsom gradient forsvinden.

Rekursive neurale netværk bruges til forskellige applikationer, såsom:

  • parsing
  • Udnyttelse af sætningsniveaupræsentationer til følelsesanalyse
  • Semantisk forhold klassificering (f.eks. Emne-meddelelse)
  • Setningsrelationer

Forstærkningslæring

Forstærkningslæring omfatter maskinlæringsmetoder, der træner agenter til at udføre diskrete handlinger efterfulgt af en belønning. Flere naturlige sproggenerationsopgaver (NLG), såsom tekstopsummering, undersøges ved at anvende forstærkende læring.

Anvendelserne af forstærkningslæring om NLP-problemer er motiveret af et par problemer. Når du bruger RNN-baserede generatorer, erstattes mark-sandhedstokens med tokens, der er genereret af modellen, hvilket hurtigt øger fejlhastighederne. Med sådanne modeller adskiller ordet træningsformål endvidere fra testmetrikken, såsom n-gram overlapningsmåling, BLEU, der bruges i maskinoversættelses- og dialogsystemer. På grund af denne uoverensstemmelse har nuværende systemer af NLG-typen en tendens til at generere usammenhængende, gentagne og kedelige oplysninger.

For at løse de ovennævnte problemer blev der anvendt en forstærkningsalgoritme kaldet REINFORCE til at adressere NLP-opgaver såsom billedtekstoptagelse og maskineoversættelse. Denne forstærkende læringsramme består af en agent (RNN-baseret generativ model), der interagerer med det ydre miljø (inputord og kontekstvektorer set på hvert tidspunkt). Agenten vælger en handling, der er baseret på en politik (parametre), der involverer at forudsige det næste ord i en sekvens på hvert tidspunkt. Agenten opdaterer derefter sin interne tilstand (skjulte enheder af RNN). Dette fortsætter, indtil det ankommer til slutningen af ​​sekvensen, hvor en belønning endelig beregnes. Belønningsfunktioner varierer efter opgave; for eksempel i en sætninggenereringsopgave kan en belønning være informationsstrøm.

Selvom forstærkende indlæringsmetoder viser lovende resultater, kræver de korrekt håndtering af handlings- og tilstandsrummet, hvilket kan begrænse modellenes udtrykskraft og indlæringskapacitet. Husk, at uafhængige RNN-baserede modeller stræber efter deres udtrykskraft og deres naturlige evne til at modelsprog.

Adversarial træning er også blevet brugt til at træne sproggeneratorer, hvor målet er at narre en diskriminerende træner til at skelne genererede sekvenser fra virkelige. Overvej et dialogsystem, med en politikgradient er det muligt at ramme opgaven under et forstærkende indlæringsparadigme, hvor diskriminereren fungerer som en menneskelig Turing-tester. Diskriminatoren er i det væsentlige trænet til at skelne mellem menneskelige og maskingenererede dialoger.

Uovervåget læring

Uovervåget sætning repræsentation læring involverer kortlægning af sætninger til vektorer i fast størrelse på en uovervåget måde. De distribuerede repræsentationer fanger semantiske og syntaktiske egenskaber fra sprog og trænes ved hjælp af en hjælpeopgave.

I lighed med de algoritmer, der blev brugt til at lære ordindlejringer, blev der foreslået en spring over-tænkt model, hvor opgaven er at forudsige de næste tilstødende sætninger baseret på en midterste sætning. Denne model trænes ved hjælp af seq2seq-rammen, hvor dekoderen genererer målsekvenser, og koderen ses som en generisk funktionsekstraktor - selv ordindlejringer blev lært i processen. Modellen lærer i det væsentlige en distribueret repræsentation af indgangssætningerne, analogt med hvordan ordindlejringer blev lært for hvert ord i tidligere sprogmodelleringsteknikker.

Deep Generative Models

Dybe generative modeller, såsom variationelle autoenconders (VAE'er) og generative adversarial netværk (GAN'er), anvendes også i NLP for at opdage rig struktur på naturligt sprog gennem processen med at generere realistiske sætninger fra et latent kodeplads.

Det er velkendt, at autoencodere med standard sætning ikke genererer realistiske sætninger på grund af det ubegrænsede latente rum. VAE'er pålægger en forudgående distribution på det skjulte latente rum, hvilket gør det muligt for en model at generere korrekte prøver. VAE'er består af kode- og generatornetværk, der koder en input i et latent rum og derefter genererer prøver fra det latente rum. Uddannelsesmålet er at maksimere en variation under nedre grænse på log sandsynligheden for observerede data under den generative model. Figuren nedenfor illustrerer en RNN-baseret VAE til sætninggenerering.

Generative modeller er nyttige til mange NLP-opgaver, og de er fleksible. For eksempel blev en RNN-baseret VAE-generativ model foreslået til at producere mere forskelligartede og velformede sætninger sammenlignet med standard autoencoderne. Andre modeller gjorde det muligt at integrere strukturerede variabler (f.eks. Spænding og følelse) i den latente kode for at generere plausible sætninger.

GAN'er, der består af to konkurrerende netværk - generator og diskriminator - er også blevet brugt til at generere realistisk tekst. For eksempel blev en LSTM anvendt som generatoren, og en CNN blev brugt som diskriminator, der skelnen mellem reelle data og genererede prøver. CNN repræsenterer en binær sætningsklassifikator i dette tilfælde. Modellen var i stand til at generere realistisk tekst efter modstandstræningen.

Ud over det problem, at gradienter fra diskriminerende ikke korrekt kan forplantes gennem diskrete variabler, er dybe generative modeller også vanskelige at evaluere. Der er foreslået mange løsninger i de senere år, men disse er endnu ikke standardiserede.

Hukommelsesforstærket netværk

De skjulte vektorer, som opmærksomhedsmekanismen har fået adgang til i togengenereringsfasen, repræsenterer modelens “interne hukommelse”. Neurale netværk kan også forbindes med en form for hukommelse til at løse opgaver såsom visuel QA, sprogmodellering, POS-tagging og sentimentanalyse. For eksempel for at løse QA-opgaver leveres understøttende fakta eller viden om sund fornuft til modellen som en form for hukommelse. Dynamiske hukommelsesnetværk, en forbedring i forhold til tidligere hukommelsesbaserede modeller, anvendte modeller for neurale netværk til inputrepræsentation, opmærksomhed og besvarelsesmekanismer.

Konklusion

Indtil videre har vi nu kapacitet og effektivitet i neurale baserede modeller som CNN og RNN. Vi er også opmærksomme på mulighederne for at anvende forstærkningsindlæring, uovervågede metoder og dybe generative modeller på komplekse NLP-opgaver, såsom visuel QA og maskinoversættelse. Opmærkelsesmekanismer og hukommelsesforøgede netværk er kraftfulde til at udvide kapaciteten til neurale baserede NLP-modeller. Ved at kombinere alle disse magtfulde teknikker giver man overbevisende metoder til at forstå sprogets kompleksitet. Den næste bølge af sprogbaserede indlæringsalgoritmer lover endnu større evner såsom sund fornuft og modellering af kompleks menneskelig adfærd.

BEMÆRKNING: Tak, hvis du nåede det så langt. Vi har også sammensat en online version af dette resumé på et dedikeret websted (nlpoverview.com). Sammen med lokalsamfundet fortsætter vi med at opdatere projektet her.

Reference: "Nylige tendenser inden for dyb læringsbaseret naturlig sprogbehandling" - Tom Young, Devamanyu Hazarika, Soujanya Poria og Erik Cambria. IEEE Computational Intelligence Magazine, 2018.