-
Notifications
You must be signed in to change notification settings - Fork 0
/
inleiding.tex
66 lines (44 loc) · 6.51 KB
/
inleiding.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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
%%=============================================================================
%% Inleiding
%%=============================================================================
\chapter{Inleiding}
\label{ch:inleiding}
Artificiële intelligentie is reeds een hot topic in onze maatschappij. Tegenwoordig kan het overal in toegepast worden. Zo wordt het gebruikt in een aantal toepassingen zoals gezichtsherkenning, zelfrijdende auto’s, … . Maar wordt het ook voor andere toepassingen de standaard?
In dit onderzoek gaat het niet over het algemene aspect dat artificiële intelligentie alles zou overnemen. Hier gaan we dieper in op het feit dat AI de ICT drastisch kan veranderen. Zeker voor de programmeurs onder de ICT’ers. Daarom wordt in deze Bachelorproef een onderzoek gedaan naar de mogelijkheid om code te laten genereren door middel van AI vanuit natuurlijke taal.
De vragen die je aan het systeem zou stellen, moeten wel een functioneel karakter hebben. De functionele specificaties van het te bouwen programma moeten in de vraag voorkomen. Bij deze specificaties wordt er helder beschreven waaraan het programma moet voldoen. Hoe duidelijker de vraag aan het systeem, hoe gedetailleerder het systeem code zou kunnen schrijven.
\section{Probleemstelling}
\label{sec:probleemstelling}
In het artikel van \textcite{Gartner} worden er een aantal voorspellingen van de toekomst gedaan. Volgens het artikel zou de technologische wereld grondig veranderen door de groei van het toepassen van artificiële intelligentie. Gartner voorspelt onder ander dat in 2022 slimme technologieën en robots taken kunnen overnemen in de geneeskunde en in de IT. Dit zijn taken van meestal hoog opgeleide mensen.
Volgens Gartner zullen bedrijven in de toekomst hun bedrijfsstrategieën moeten aanpassen. Artificiële intelligentie zullen in de toekomst meer en meer complexere zaken uitvoeren. De effecten die AI in de toekomst zou hebben in bedrijven, hangt af van sector tot sector. Daarnaast moet er verder ook rekening gehouden worden met de klanten van het bedrijf.
Ook in de IT wordt AI als maar belangrijker. Gartner verwacht dat artificiële intelligentie de routine functies van IT-organisaties zal gaan vervangen. Dit zal voornamelijk gebeuren langs de operationele kant. Sommige functies zullen verdwijnen, AI neemt deze dan over en zal de werking ervan nog verbeteren. Dit onderzoek zoekt antwoorden op vragen die hierbij aansluiten. Is het bijvoorbeeld mogelijk om uit natuurlijke taal iets functioneels te bouwen in de IT?
Voor mezelf lijkt dit onderzoek in eerste plaats bruikbaar voor softwareontwikkeling. Je kan zo de vraag stellen of het wel degelijk toepasbaar is op alle programmeertalen die tegenwoordig gebruikt worden.
Niet alleen pure softwarebedrijven kunnen de vruchten plukken van dit onderzoek, maar ook bedrijven die zich vooral toeleggen om databank-transacties, of die allerlei query's sturen om data op te halen in een databank. Is het bijvoorbeeld mogelijk om gewoon te kunnen zeggen tegen een databank: “Geef eens de afrekeningen van de afgelopen 12 maanden van klant y”?
Toen ik een onderwerp zocht voor deze Bachelorproef, nam ik contact op met mijn stagebedrijf (delaware) of niemand daar tips kon geven. Ik wou iets doen rond AI en rond programmeren. Mijn huidige co-promotor gaf mij dit als mogelijk onderwerp. In het bedrijf wordt er veel gebruik gemaakt van de SAP HANA-databank. Is het bijvoorbeeld mogelijk, om door middel van natuurlijke taal, met deze databank te kunnen communiceren, wanneer men bovenstaand voorbeeld in acht neemt? Tijdens dit onderzoek zal ik hierop een antwoord proberen bieden.
\section{Onderzoeksvraag}
\label{sec:onderzoeksvraag}
Dit onderzoek gaat over het gebruik van artificiële intelligentie in de IT. Vooral voor programmeurs kan dit enige gevolgen hebben. De algemene vraag die door programmeurs kan gesteld worden, is of het mogelijk is om door middel van AI code te laten genereren. Specifiek genereren op basis vaan natuurlijke taal.
Naast deze eerder makkelijke vraag, kunnen ook de volgende echte onderzoeksvragen gesteld worden:
\begin{itemize}
\item Voor welke programmeertalen is het nu al mogelijk om code te genereren vanuit natuurlijke taal (door middel van AI)?
\item Waaraan moet een algoritme voldoen om de code te kunnen genereren?
\begin{itemize}
\item Zijn er voor- en/of nadelen verbonden aan de generatie indien het op die bepaalde manier gebeurd?
\item Zijn er eventuele beperkingen gebonden om een werkend algoritme te verkrijgen?
\end{itemize}
\item Hoe worden zo'n algoritmen in de praktijk uitgevoerd?
\begin{itemize}
\item Zijn er voor- en/of nadelen verbonden aan de generatie indien het op die bepaalde manier gebeurd?
\item Zijn er eventuele beperkingen gebonden om een algoritme werkende te krijgen wanneer de dataset een bepaalde configuratie heeft?
\end{itemize}
\item Waaraan dient een dataset te voldoen om het mogelijk te maken om bepaalde algoritmen erop toe te kunnen passen?
\end{itemize}
\section{Onderzoeksdoelstelling}
\label{sec:onderzoeksdoelstelling}
De doelstellingen van het onderzoek is erachter te komen of er een mogelijkheid bestaat om door middel van natuurlijke taal programma's te kunnen schrijven, gebruikmakend van artificiële intelligentie. Hierbij wordt eerst en vooral gekeken of het mogelijk is om dit toe te passen voor elke programmeertaal. Tijdens het experiment worden dan algoritmen tegen elkaar uitgespeeld om zo te kijken of de resultaten van het experiment gelijkaardig zijn als de resultaten die men kan terugvinden in de papers. Daarnaast wordt er ook gekeken of de bekomen resultaten wel degelijk kwaliteitsvol zijn.
\section{Opzet van deze bachelorproef}
\label{sec:opzet-bachelorproef}
Volgende onderdelen kan u terugvinden in deze Bachelorproef:
Hoofdstuk~\ref{ch:stand-van-zaken} bevat een stand van zaken over het te onderzoeken onderwerp. Hier wordt er getracht om, door middel van een literatuurstudie, een beeld te schetsen van de huidige algoritmen waarbij AI gebruikt wordt om code te genereren en wordt de achterliggende techniek beschreven.
In hoofdstuk~\ref{ch:methodologie} wordt het proces uitgeschreven voor het uitvoeren van de experimenten. Via deze experimenten wordt er getracht om een antwoord te kunnen bieden aan de opgestelde onderzoeksvragen.
In hoofdstuk~\ref{ch:experiment} wordt het experiment concreet besproken.
Tenslotte wordt in hoofdstuk~\ref{ch:conclusie} een duidelijk antwoord geboden op de onderzoeksvraag. In deze conclusie zal ook aangegeven worden welke onderzoeken eventueel in de toekomst kunnen worden uitgevoerd naar het onderwerp.