-
Notifications
You must be signed in to change notification settings - Fork 0
/
samenvatting.tex
52 lines (39 loc) · 4.86 KB
/
samenvatting.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
%%=============================================================================
%% Samenvatting
%%=============================================================================
% TODO: De "abstract" of samenvatting is een kernachtige (~ 1 blz. voor een
% thesis) synthese van het document.
%
% Deze aspecten moeten zeker aan bod komen:
% - Context: waarom is dit werk belangrijk?
% - Nood: waarom moest dit onderzocht worden?
% - Taak: wat heb je precies gedaan?
% - Object: wat staat in dit document geschreven?
% - Resultaat: wat was het resultaat?
% - Conclusie: wat is/zijn de belangrijkste conclusie(s)?
% - Perspectief: blijven er nog vragen open die in de toekomst nog kunnen
% onderzocht worden? Wat is een mogelijk vervolg voor jouw onderzoek?
%
% LET OP! Een samenvatting is GEEN voorwoord!
%%---------- Nederlandse samenvatting -----------------------------------------
%
% TODO: Als je je bachelorproef in het Engels schrijft, moet je eerst een
% Nederlandse samenvatting invoegen. Haal daarvoor onderstaande code uit
% commentaar.
% Wie zijn bachelorproef in het Nederlands schrijft, kan dit negeren, de inhoud
% wordt niet in het document ingevoegd.
\IfLanguageName{english}{%
\selectlanguage{dutch}
\chapter*{Samenvatting}
\selectlanguage{english}
}{}
%%---------- Samenvatting -----------------------------------------------------
% De samenvatting in de hoofdtaal van het document
\chapter*{\IfLanguageName{dutch}{Samenvatting}{Abstract}}
Deze bachelorproef staat in het teken van artificiële intelligentie en de mogelijkheid om door middel van AI en natuurlijke taal programmeercode te laten genereren. Eerst en vooral wordt er uitleg verschaft van wat de achterliggende technieken zijn die gebruikt worden bij de generatie, om dan over te gaan naar een aantal reeds bestaande voorbeelden. Het is belangrijk dat de mogelijkheid tot het genereren van code door middel van AI wordt onderzocht. Tegenwoordig neemt artificiële intelligentie heel wat van onze taken over, denk hierbij maar aan automatische stofzuigers, zelfrijdende auto's en zelfs spraakherkenning op smartphones.
Artificiële intelligentie is nu al een belangrijk issue in onze maatschappij, maar dit zal nog belangrijker worden dan eerst gedacht. Zo worden er in een artikel (\textcite{Gartner}) een aantal voorspellingen gedaan over de toekomst. Hierin werd onder andere besproken dat de technische wereld grondig zal veranderen door de groei aan toepassingen waarbij AI gebruikt worden. Gartner vertelt bijvoorbeeld dat tegen 2022 slimme technologieën en robots allerhande taken zouden overnemen in de geneeskunde en in de IT. Dat laatste is natuurlijk belangrijk voor de IT'ers van nu en van de toekomst. Zou artificiële intelligentie bijvoorbeeld het werk van een programmeur kunnen overnemen in de toekomst? Zouden wij, als programmeurs, in de toekomst geen werk meer hebben? In deze bachelorproef wordt hier getracht een antwoord op te bieden.
Er werd eerst een studie gedaan naar reeds bestaande technologieën, zoals de Microsoft DeepCoder en Google's AutoML. Ook werden er een aantal concretere cases besproken, zoals Seq2SQL en SQLNet. Het werd al snel duidelijk dat de overgrote meerderheid van de cases de generatie van SQL-query's behandelden. De reden hiervoor is dat de syntax van de programmeertaal SQL grotendeels gelijkaardig is aan de natuurlijke taal. Zo'n programmeertaal behoort tot de vierde generatie programmeertalen.
Naast een uitgebreide literatuurstudie over deze cases, werden er dan ook enkele uitgetest. Hiervoor werd gekozen voor de Seq2SQL-case, voor de SQLNet-case en ook voor WikiSQL. Iedere case wordt eerst nog eens kort besproken van wat het precies is, om dan over te gaan naar de opbouw van het algoritme en de nodige scripts. Uiteindelijk werd er getracht deze scripts uit te voeren en resultaten te verkrijgen om zo een mogelijke conclusie te bekomen.
Er werd getracht om antwoorden te kunnen bieden op mijn onderzoeksvragen, maar helaas is de uitvoering van de onderzochte scripts niet 100\% gelukt. Enerzijds waren er problemen bij het trainen van de algoritmes, anderzijds liep de uitvoering compleet mis. Er werd geprobeerd om deze voorgekomen problemen op te lossen, maar dat is helaas niet gelukt.
Het is wel mogelijk om door middel van artifiële intelligentie code te genereren, maar de systemen en algoritmen die hiervoor moeten zorgen staan nog niet volledig op punt. Code genereren door middel van AI op basis van natuurlijke taal is een nieuwe techniek. De modellen zijn nog niet volledig en zullen in de loop der tijd uitgebreider en beter worden.
Artificiële intelligentie is een recente wetenschap. Alles verandert met de tijd. Natuurlijk is het mogelijk om in de toekomst nog verder onderzoek te doen naar het gebruik van artificiële intelligentie in de wereld van de IT. Dit reeds gevoerde onderzoek zou mogelijks in de toekomst misschien wel andere resultaten kunnen opleveren dan de reeds bekomen resultaten.