BERT

BERT er en banebrytende NLP-modell fra Google som bruker toveis Transformere for å la maskiner forstå språk kontekstuelt, og muliggjør avanserte AI-applikasjoner.

Hva er BERT?

BERT, som står for Bidirectional Encoder Representations from Transformers, er et åpen kildekode maskinlæringsrammeverk for naturlig språkprosessering (NLP). Utviklet av forskere ved Google AI Language og introdusert i 2018, har BERT betydelig avansert NLP ved å gjøre det mulig for maskiner å forstå språk mer som mennesker gjør.

I sin kjerne hjelper BERT datamaskiner å tolke meningen med tvetydig eller kontekstavhengig språk i tekst ved å ta hensyn til omkringliggende ord i en setning—både før og etter målordet. Denne toveis tilnærmingen gjør at BERT kan gripe hele nyansen i språket, noe som gjør den svært effektiv for en rekke NLP-oppgaver.

Bakgrunn og historie om BERT

Utviklingen av språkmodeller

Før BERT behandlet de fleste språkmodeller tekst ensrettet (enten fra venstre til høyre eller høyre til venstre), noe som begrenset deres evne til å fange opp kontekst.

Tidligere modeller som Word2Vec og GloVe genererte kontekstfrie ordinnleiringer, og tildelte én vektor til hvert ord uavhengig av kontekst. Denne tilnærmingen slet med polyseme ord (f.eks. “bank” som finansinstitusjon vs. elvebredd).

Introduksjonen av Transformere

I 2017 ble Transformer-arkitekturen introdusert i artikkelen “Attention Is All You Need.” Transformere er dype læringsmodeller som bruker egenoppmerksomhet, som lar dem vekte betydningen av hver del av inndataene dynamisk.

Transformere revolusjonerte NLP ved å behandle alle ord i en setning samtidig, noe som muliggjorde trening i større skala.

Utviklingen av BERT

Google-forskere bygget videre på Transformer-arkitekturen for å utvikle BERT, introdusert i 2018-artikkelen “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding.” BERTs innovasjon var å bruke toveis trening, som tar hensyn til både venstre og høyre kontekst.

BERT ble forhåndstrent på hele engelske Wikipedia (2,5 milliarder ord) og BookCorpus (800 millioner ord), noe som ga den en dyp forståelse av mønstre, syntaks og semantikk.

Arkitektur av BERT

Oversikt

BERT er en stabel av encodere fra Transformer-arkitekturen (bruker kun encoder, ikke decoder). Den består av flere lag (12 eller 24 Transformer-blokker), hver med egenoppmerksomhet og fremovermatet nevralt nettverk.

Tokenisering og innleiring

BERT bruker WordPiece-tokenisering, som deler ord opp i delord-enheter for å håndtere sjeldne/utenfor-vokabular-ord.

Hver innputt-token representeres som summen av tre innleiringer:

  1. Token-innleiringer: Individuelle token (ord eller delord).
  2. Segment-innleiringer: Indikerer om en token tilhører setning A eller B.
  3. Posisjonsinnleiringer: Gir posisjonsinformasjon for hver token.

Disse hjelper BERT med å forstå både struktur og semantikk.

Mekanisme for egenoppmerksomhet

Egenoppmerksomhet lar BERT vekte viktigheten av hver token i forhold til alle andre i sekvensen, og fange avhengigheter uavhengig av avstand.

For eksempel, i “The bank raised its interest rates,” hjelper egenoppmerksomhet BERT å knytte “bank” til “interest rates,” og forstå “bank” som en finansinstitusjon.

Toveis trening

BERTs toveis trening gjør at den kan fange kontekst fra begge retninger. Dette oppnås gjennom to treningsmål:

  1. Masked Language Modeling (MLM): Maskerer tilfeldig input-tokens og trener BERT til å forutsi dem basert på kontekst.
  2. Next Sentence Prediction (NSP): Trener BERT til å forutsi om setning B følger setning A, og hjelper den å forstå setningsrelasjoner.

Hvordan BERT fungerer

Masked Language Modeling (MLM)

I MLM velger BERT tilfeldig ut 15% av tokenene for mulig erstatning:

  • 80% erstattes med [MASK]
  • 10% erstattes med en tilfeldig token
  • 10% forblir uendret

Denne strategien oppmuntrer til dypere språkforståelse.

Eksempel:

  • Original: “The quick brown fox jumps over the lazy dog.”
  • Maskert: “The quick brown [MASK] jumps over the lazy [MASK].”
  • Modellen forutsier “fox” og “dog”.

Next Sentence Prediction (NSP)

NSP hjelper BERT å forstå forholdet mellom setninger.

  • 50% av tiden er setning B den faktiske neste setningen.
  • 50% av tiden er setning B tilfeldig fra korpuset.

Eksempler:

  • Setning A: “The rain was pouring down.”
  • Setning B: “She took out her umbrella.” → “IsNext”
  • Setning B: “I enjoy playing chess.” → “NotNext”

Finjustering for nedstrømsoppgaver

Etter forhåndstrening finjusteres BERT for spesifikke NLP-oppgaver ved å legge til utgangslag. Finjustering krever mindre data og ressurser enn å trene fra bunnen av.

Hvordan BERT brukes

BERT driver mange NLP-oppgaver, og oppnår ofte best-i-klassen-resultater.

Sentimentanalyse

BERT kan klassifisere sentiment (f.eks. positive/negative anmeldelser) med nyanser.

  • Eksempel: Netthandel bruker BERT for å analysere anmeldelser og forbedre produkter.

Spørsmålsbesvarelse

BERT forstår spørsmål og gir svar fra konteksten.

  • Eksempel: En chatbot bruker BERT til å svare på “Hva er returpolicyen?” ved å referere til policy-dokumenter.

NER identifiserer og klassifiserer nøkkelenheter (navn, organisasjoner, datoer).

  • Eksempel: Nyhetsaggregatorer ekstraherer enheter slik at brukere kan søke spesifikke temaer.

Språköversettelse

Selv om BERT ikke er designet for oversettelse, hjelper dens dype språkforståelse oversettelse når den kombineres med andre modeller.

Tekstsammendrag

BERT kan generere korte sammendrag ved å identifisere viktige konsepter.

  • Eksempel: Advokatfirmaer oppsummerer kontrakter for rask informasjonstilgang.

Tekstgenerering og fullføring

BERT forutsier maskerte ord eller sekvenser, og hjelper med tekstgenerering.

  • Eksempel: E-postklienter foreslår neste ord mens brukeren skriver.

Eksempler på bruksområder

Google-søk

I 2019 begynte Google å bruke BERT for å forbedre søkealgoritmer, og forstå kontekst og hensikt bak søk.

Eksempel:

  • Søk: “Can you get medicine for someone pharmacy?”
  • Med BERT: Google forstår at brukeren spør om å hente medisin for noen andre.

AI-automasjon og chatboter

BERT driver chatboter og forbedrer forståelsen av brukerinput.

  • Eksempel: Kundeservice-chatboter bruker BERT for å håndtere komplekse spørsmål uten menneskelig hjelp.

Helseapplikasjoner

Spesialiserte BERT-modeller som BioBERT behandler biomedisinske tekster.

  • Eksempel: Forskere bruker BioBERT for legemiddelutvikling og litteraturanalyse.

Analyse av juridiske dokumenter

Juridiske fagpersoner bruker BERT til å analysere og oppsummere juridiske tekster.

  • Eksempel: Advokatfirmaer identifiserer ansvarsforhold raskere med BERT.

Varianter og utvidelser av BERT

Flere BERT-tilpasninger finnes for effektivitet eller spesifikke domener:

  • DistilBERT: Mindre, raskere, lettere, med 95% av BERTs ytelse med 40% færre parametere.
    Bruksområde: Mobilt miljø.
  • TinyBERT: Enda mer komprimert, reduserer modellstørrelse og inferenstid.
  • RoBERTa: Trenes med større batcher og mer data, utelater NSP, og oppnår enda bedre ytelse.
  • BioBERT: Forhåndstrent på biomedisinske tekster for biomedisinsk NLP.
  • PatentBERT: Finjustert for klassifisering av patenter.
  • SciBERT: Skreddersydd for vitenskapelig tekst.
  • VideoBERT: Integrerer visuell og tekstlig data for videoforståelse.

BERT i AI, AI-automasjon og chatboter

Forbedrer AI-applikasjoner

BERTs kontekstuelle forståelse driver en rekke AI-applikasjoner:

  • Forbedret språkforståelse: Tolker tekst med nyanse og kontekst.
  • Effektiv overføringslæring: Forhåndstrente modeller finjusteres med lite data.
  • Allsidighet: Reduserer behovet for oppgavespesifikke modeller.

Innvirkning på chatboter

BERT har sterkt forbedret kvaliteten på chatboter og AI-automasjon.

Eksempler:

  • Kundestøtte: Chatboter forstår og svarer presist.
  • Virtuelle assistenter: Bedre gjenkjenning av kommandoer og respons.
  • Oversettelsesroboter: Opprettholder kontekst og nøyaktighet.

AI-automasjon

BERT muliggjør AI-automasjon for å behandle store mengder tekst uten menneskelig inngripen.

Bruksområder:

  • Dokumentbehandling: Automatisert sortering, tagging og sammendrag.
  • Innholdsmoderering: Identifisere upassende innhold.
  • Automatisert rapportering: Hente ut nøkkelinformasjon for rapporter.

Forskning på BERT

  1. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
    Forfattere: Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova
    Introduserer BERTs arkitektur og effektivitet på flere benchmarks, og muliggjør felles betinging på både venstre og høyre kontekst.
    Les mer

  2. Multi-Task Bidirectional Transformer Representations for Irony Detection
    Forfattere: Chiyu Zhang, Muhammad Abdul-Mageed
    Bruker BERT for ironideteksjon, og utnytter multitask-læring og forhåndstrening for domenetilpasning. Oppnår 82,4 i makro F1-score.
    Les mer

  3. Sketch-BERT: Learning Sketch Bidirectional Encoder Representation from Transformers by Self-supervised Learning of Sketch Gestalt
    Forfattere: Hangyu Lin, Yanwei Fu, Yu-Gang Jiang, Xiangyang Xue
    Introduserer Sketch-BERT for gjenkjenning og gjenfinning av skisser, med selv-supervisert læring og nye innleiringsnettverk.
    Les mer

  4. Transferring BERT Capabilities from High-Resource to Low-Resource Languages Using Vocabulary Matching
    Forfatter: Piotr Rybak
    Foreslår vokabularmatching for å tilpasse BERT til lavressursspråk, og demokratiserer NLP-teknologi.
    Les mer

Vanlige spørsmål

Hva er BERT?

BERT (Bidirectional Encoder Representations from Transformers) er et åpen kildekode maskinlæringsrammeverk for naturlig språkprosessering, utviklet av Google AI i 2018. Det gjør det mulig for maskiner å forstå språk kontekstuelt ved å ta hensyn til kontekst på begge sider av et ord ved hjelp av Transformer-arkitekturen.

Hvordan skiller BERT seg fra tidligere språkmodeller?

I motsetning til tidligere ensrettede modeller, prosesserer BERT tekst toveis, noe som gjør at den kan fange opp hele konteksten til et ord ved å se på både forutgående og påfølgende ord. Dette gir en dypere forståelse av språklige nyanser og forbedrer ytelsen på tvers av NLP-oppgaver.

Hva er hovedbruksområdene for BERT?

BERT brukes mye til sentimentanalyse, spørsmålsbesvarelse, navngitt enhetsgjenkjenning, språköversettelse, tekstsammendrag, tekstgenerering og til å forbedre AI-chatboter og automasjonssystemer.

Hva er noen bemerkelsesverdige varianter av BERT?

Populære BERT-varianter inkluderer DistilBERT (en lettere versjon), TinyBERT (optimalisert for fart og størrelse), RoBERTa (med optimalisert pretrening), BioBERT (for biomedisinsk tekst), og domenespesifikke modeller som PatentBERT og SciBERT.

Hvordan trenes BERT?

BERT forhåndstrenes ved hjelp av Masked Language Modeling (MLM), der tilfeldige ord maskeres og forutsies, og Next Sentence Prediction (NSP), der modellen lærer forholdet mellom setningspar. Etter forhåndstrening finjusteres den for spesifikke NLP-oppgaver med ekstra lag.

Hvordan har BERT påvirket AI-chatboter og automasjon?

BERT har i stor grad forbedret den kontekstuelle forståelsen til AI-chatboter og automasjonsverktøy, noe som gir mer presise svar, bedre kundestøtte og forbedret dokumentbehandling med minimal menneskelig inngripen.

Klar til å bygge din egen AI?

Smarte chatboter og AI-verktøy samlet på ett sted. Koble sammen intuitive blokker for å gjøre ideene dine til automatiserte Flows.

Lær mer

NLTK
NLTK

NLTK

Natural Language Toolkit (NLTK) er en omfattende pakke med Python-biblioteker og programmer for symbolsk og statistisk behandling av naturlig språk (NLP). Mye b...

6 min lesing
NLP Python +3
AllenNLP
AllenNLP

AllenNLP

AllenNLP er et robust, åpen kildekode-bibliotek for NLP-forskning, bygget på PyTorch av AI2. Det tilbyr modulære, utvidbare verktøy, forhåndstrente modeller og ...

3 min lesing
NLP Open Source +6
Naturlig språkbehandling (NLP)
Naturlig språkbehandling (NLP)

Naturlig språkbehandling (NLP)

Naturlig språkbehandling (NLP) gjør det mulig for datamaskiner å forstå, tolke og generere menneskelig språk ved hjelp av datalingvistikk, maskinlæring og dyp l...

3 min lesing
NLP AI +5