BERT en Transformer Learners

Ontwikkelingen op het gebied van Natural Language Processing

Dit is deel I van een tweedelige serie.

Zelf ben ik een paar maanden op sabbatical geweest, waar ik in Latijns-Amerika mij heb verdiept in het leren van de Spaanse taal. Ik ben me ervan bewust geworden hoe lastig het is om een nieuwe taal te leren. Hoe makkelijk zou het zijn wanneer we in een keer de Spaanse taal in ons brein kunnen zetten zonder vanaf nul alles zelf te leren?

Met de huidige ontwikkelingen op het gebied van Natural Language Processing (NLP) lijkt het wel die kant op te gaan.

23dd8d48-9310-4f89-ade2-9fff3430c0b7.png

Bij terugkomst ben ik meteen gaan kijken wat er gebeurd is op het gebied van NLP, waar ik persoonlijk erg in ben geïnteresseerd. Ik heb mij verdiept in een aantal blogs en ben er al snel achter dat er op het gebied van NLP de laatste tijd veel grote doorbraken zijn geweest, vooral op het gebied van Deep Learning en 'Transformer Modellen'.

(Neural) Language modelling

In mijn vorige blog heb ik de technieken behandeld die je grotendeels met statistische modellen kan uitvoeren. Veel genoemde toepassingen hier waren classical NLP voorbeelden. De nieuwste neural language modellen zijn de statistische NLP modellen voorbij gestreefd en performen veel beter dan de klassieke methoden. Neural language modellen maken gebruik van  deep learning technieken die ook kijken naar volgorde van de input. In deep learning zijn verschillende architecturen en technieken beschikbaar. Neural Language modellen zijn een onderdeel hiervan die zich focussen op taal.

Mocht je meer willen weten over technieken in deep learning en hier ook zelf mee aan de slag gaan, dan is het interessant om  de AI bootcamp te volgen. Voor meer informatie zie deze opleiding bij DIKW Academy AI bootcamp 

Voorbeelden van language modellen

Enkele toepassingen van Language modellen die vast herkenbaar voorkomen zijn bijvoorbeeld:

  • Speech Recognition: Waarbij gesproken tekst omgezet wordt in geschreven tekst.
  • Machine translation: Vertaal bijv een Nederlandse zin naar een Franse variant.
  • Samenvatting: Genereren van samenvattingen uit documenten
  • Information Retrieval: Met behulp van query's relevante documenten onttrekken.
  • Text genereren: Automatisch antwoord genereren op vragen, deze dienst wordt tegenwoordig aangeboden bij Gmail.

De voorbeelden hierboven zijn allemaal voorbeelden van sequence to sequence modellen. 

Sequence to Sequence modellen (seq2seq modellen)

Een seq2seq model is een voorbeeld van deep learning, een techniek die  veel gebruikt wordt om taal gerelateerde vraagstukken op te lossen met speciale neurale netwerken. Seq2seq modellen worden gebruikt wanneer de input- en outputlengte niet even groot hoeft te zijn in tegenstelling tot andere modellen (standaard RNN of LSTM) . Een voorbeeld hiervan is Neural Machine Translation, het vertalen van tekst  naar een andere taal. Een ander voorbeeld is het maken van een samenvatting, waarbij de input een geheel document is en de output een samenvatting. Ook bij classificatie wordt een lange input omgezet in 1 label.

 Op deze webpagina van analyticsvidhya is een uitgebreide omschrijving te vinden van de werking van seq2seq modellen, hoe transformer modellen werken en voorbeelden van deze technieken.

Transformer models

Wat op NLP gebied een belangrijke ontwikkeling is zijn transformer modellen. Deze modellen kunnen opgedane kennis overdragen, waardoor deze veel toegankelijker is voor mensen die geen gigantische datasets, GPU's of een heel onderzoeksteam tot hun beschikking hebben. Een transformer is een op aandacht gebaseerde methode om informatie te verzamelen over een bepaald woord. Sinds de komst van attention kunnen langere zinnen en context verwerkt worden, in tegenstelling tot RNN of LSTM modellen, waar de volgorde van de zin belangrijk is.

Maar hoe werkt dat attention dan?

Eerst wordt er informatie uit de input gehaald. Op de ‘ oude’ manier, werd er één ‘hidden layer’ gemaakt van de input, terwijl nu voor ieder woord een ‘hidden layer’ gemaakt wordt. Al deze ‘hidden’ layers worden vervolgens doorgezet naar de decoder, waar het netwerk vervolgens uitzoekt aan welke woorden extra aandacht moet worden gegeven. Het voordeel van de hidden layers per woord maken en niet over de hele input, is dat het model nu geparallelliseerd kan worden. Sinds deze ontwikkeling zijn een hoop nieuwe modellen uitgekomen, die efficiënt grote hoeveelheden tekst kunnen analyseren. 

Neural Language model

Waarom werken de Neural language modellen beter dan de traditionele NLP?

Een probleem dat vaak voorkomt in NLP is word sense ambiguity of polysemy

Een woord kan meerdere betekenissen hebben, zoals te zien is in het volgende voorbeeld:

  • Ik ga naar de bank om geld te halen
  • Mijn oude bank zit nog steeds lekker

Een ander voorbeeld

Anaphora resolution (AR) is wanneer een woord in een tekst refereert naar een entiteit in dezelfde tekst. Een voorbeeld hiervan is: 'Ik heb een blog geschreven over transformer modellen. Dat vind ik namelijk erg interessant'. ‘Dat’ verwijst hierin naar transformer modellen, maar dat is niet snel uit de tekst te halen. De transformer kijkt naar de tekst en de context. Hierdoor kunnen de meerdere betekenissen  van het woord onttrokken worden op basis van de context in de zin maar ook in overige zinnen (zoals we zien bij BERT)

Om het idee van een transformer model te verduidelijken ga ik verder in op de werking van zo'n model. Hoewel er vele verschillende transformer modellen uit zijn gekomen de laatste tijd, behandel ik in deze blog Google's BERT. BERT is op dit moment het meest populaire NLP model, maar intussen zijn er verschillende onderzoekers verder gegaan met het uitbrengen van verschillende transformer modellen, die beter schijnen te presteren. BERT was echter een ‘eye opener’ op het gebied van NLP.

Google BERT

Waar staat BERT voor?

Bidirectional Encoder Representations from Transformers

BERT is het language understanding model dat eind 2018 is uitgebracht door Google. Het wordt gezien als een doorbraak op het gebied van NLP.  In tegenstelling tot statistische modellen waar van links naar rechts de woorden voorspeld worden, kijkt BERT naar de context vanuit twee kanten, namelijk ook rechts naar links.

Citaat uit de paper : "BERT is designed to pre-train deep bidirectional representations from unlabeled text by jointly conditioning on both left and right context in all layers. As a result, the pre-trained BERT model can be fine-tuned with just one additional output layer to create state-of-the-art models for a wide range of tasks, such as question answering and language inference, without substantial task-specific architecture modifications.

BERT is conceptually simple and empirically powerful."

Wat doet BERT?

BERT is een voorgetraind Neural Network van Google dat de logica van onze taal in gewichten heeft opgeslagen. Door gebruik te maken van het voorgetrainde model maak je indirect gebruik van een gigantische dataset en honderden uren van trainen die nodig zijn voor het maken van het neurale netwerk. Vervolgens kan het neurale netwerk gefinetuned worden op een kleinere dataset. Het idee van het language understanding model is dat het taal begrijpt en hierdoor op verschillende NLP-taken toegepast kan worden.

Hoe is BERT voorgetraind?

BERT probeert de logica van taal te begrijpen door 15% van de woorden in een tekst te maskeren. Dit noemen ze Masked Language Modelling (MLM) . Vervolgens wordt geprobeerd het gemaskeerde woord te raden. Hierdoor kunnen de verschillende opvattingen in bijvoorbeeld het woord 'bank' begrepen worden. De techniek die wordt toegepast zorgt er voor dat het model de logica van taal leert. Het model wordt getraind op publiek beschikbare data, namelijk wikipedia. Het unieke aan BERT's bidirectional encoder is dat de context van beide kanten, zowel links naar rechts, als rechts naar links wordt bekeken.

Naast het voorspellen op woordniveau wordt er ook gekeken naar zinsniveau. Bert probeert ook de zinsvolgorde te voorspellen. Dit wordt gedaan door de dataset op te delen waarbij 50% wordt gevolgd door daadwerkelijk de volgende zin, de overige 50% wordt gemaakt op basis van een random zin uit een corpus. Een corpus is een samenvoeging van teksten, denk hierbij bijvoorbeeld aan een boek. Het boek bevat meerdere hoofdstukken, alinea's en zinnen. De corpus is het tekstobject dat je gaat analyseren.

Wat voor BERT modellen zijn er aanwezig?

BERT is in eerste instantie op Engelse tekst getraind maar nu zijn er ook multi language modellen, die op 104 verschillende talen zijn gemodelleerd. Zie hier de lijst met gebruikte talen. Het model is getraind op de wikipedia database voor de verschillende talen.  Het goede nieuws is dat BERT ook op de Nederlandse wikipedia is getraind. De verschillende BERT modellen die beschikbaar zijn, inclusief details over de modellen zoals het aantal layers en parameters, kan je vinden op de github pagina.

Wat kan BERT?

Bert kan helpen met het oplossen van vragen in tekst. Zo ga ik in mijn volgende blog laten zien hoe je een samenvatting van deze blog kan maken met behulp van BERT. BERT kan toegepast worden op verschillende NLP taken, op zinsniveau, woordniveau en zin-paren niveau. Hier kun je een voorbeeld vinden van het maken van een tekst classificatie met BERT .

Met de pre-trained modellen van BERT is het nog steeds nodig om een gelabelde dataset te hebben, van minimaal ongeveer 1000 rijen als input.

Het voordeel van het gebruiken van BERT is dat de personen die werken in het NLP vlak niet meer helemaal opnieuw een model in elkaar hoeven te zetten (hier meer).

 Zelf proberen?

Binnenkort deel twee van deze cyclus. Kun je niet wachten?

Schrijf je in voor onze AI Bootcamp training bij DIKW Academy.

In deel 2 ga ik verder op het toepassen van BERT en welke NLP frameworks er nog meer zijn voor onder andere Nederlandse taal.

 

Blogs

Data gedrevenheid is proces van lange adem door Marco van den Doel — last modified 16-09-2021
Data is een ingrediënt dat zorgt voor meerwaarde op lange termijn
Hoe data leidt tot de optimalisatie van de customer journey door Marco van den Doel — last modified 03-09-2021
Ondersteun uw customer journey met data strategie
Wat is data engineering? door Marco van den Doel — last modified 03-09-2021
Hoe word je een data engineer?
De fasen om te transformeren naar een data gedreven organisatie door Marco van den Doel — last modified 02-09-2021
Welke vier fasen doorloopt een organisatie naar data gedrevenheid?
Data gedreven organisaties hebben grotere kans om te overleven door Marco van den Doel — last modified 02-09-2021
Transformeren naar een data gedreven organisatie kost tijd
Data gedreven logistiek onderhoud voorkomt uitval door Marco van den Doel — last modified 06-09-2021
Operationele en logistieke kosten lager door gebruik van data
Er zijn meer logistieke wegen die naar Rome leiden door Marco van den Doel — last modified 03-09-2021
Duurzame innovatieve logistieke oplossing op basis van data science
Welke sandwich mogen wij voor u bereiden? door Marco van den Doel — last modified 03-09-2021
Data gedrevenheid is als een goede en juist belegde sandwich
Met data bijdragen aan een betere wereld door Marco van den Doel — last modified 03-09-2021
DIKW is partner van Sensing Clues
In het verleden behaalde resultaten... door Marco van den Doel — last modified 02-09-2021
Data zorgt voor betere resultaten in de toekomst
Blokkade Ever Given geeft noodzaak betere data science aan door Marco van den Doel — last modified 02-09-2021
Containerschip blokkeert Suezkanaal
Van voor naar achteren en van links naar rechts in de logistieke keten door Marco van den Doel — last modified 02-09-2021
Het verminderen van opslagkosten en verplaatsingen van het aantal containers
De zeven pilaren van DataOps door Marco van den Doel — last modified 03-09-2021
DataOps wordt gedefinieerd door zeven hoofdkenmerken
Kijk verder dan je dashboard door Marco van den Doel — last modified 02-09-2021
Met de DIKW Analytical Roadmap kijk je verder!
Data discovery tools door Marco van den Doel — last modified 03-09-2021
Hoe zorgen data gedreven organisaties er voor dat data snel gevonden wordt en dat nieuwe medewerkers snel productief zijn?
Van BICC naar DACoE deel 3 door Marco van den Doel — last modified 03-09-2021
Van BICC naar Data & Analytics Center of Excellence deel 3:  Van ambitie naar realiteit
COVID-19 Oktober forecast : Het kan vriezen het kan dooien door Marco van den Doel — last modified 03-09-2021
Ter ondersteuning van het corona dashboard van de rijksoverheid
Koning TOTO : Sjaak vs Bayes door Marco van den Doel — last modified 03-09-2021
Definitieve uitslag voetbal eredivisie op basis van een wiskundig model, Baysiaanse statistiek, en een kleine Monte Carlo simulatie
COVID-19 Weersverwachting door Marco van den Doel — last modified 03-09-2021
Ter ondersteuning van het corona dashboard van de rijksoverheid

Data Science recente blogs

Data gedreven logistiek onderhoud voorkomt uitval door Marco van den Doel — last modified 06-09-2021
Operationele en logistieke kosten lager door gebruik van data
Er zijn meer logistieke wegen die naar Rome leiden door Marco van den Doel — last modified 03-09-2021
Duurzame innovatieve logistieke oplossing op basis van data science
Met data bijdragen aan een betere wereld door Marco van den Doel — last modified 03-09-2021
DIKW is partner van Sensing Clues

Data Science Nieuws & Evenementen

DIKW in top 50 beste data science bedrijven door Marco van den Doel — last modified 07-09-2021
DIKW is één van snelst groeiende bedrijven volgens MKB Data Science rapport
AI Hub Midden Nederland gelanceerd! door Marco van den Doel — last modified 06-09-2021
DIKW is partner van de AI Hub Midden Nederland en ondersteund en helpt het MKB in de regio.
AEDES innovatie boost datascience powered by DIKW door Marco van den Doel — last modified 06-09-2021
De innovatie boost van AEDES is binnen gehaald door de werkgroep Big data.