Parsing en problem-solving van natuurlijke taal als motor voor het genereren van visuele communicatie en kunst
Karel de Grote-Hogeschool Departement Sint Lucas | Beeldende Kunst Lucas Nijs, Frederik De Bleser, Tom De Smedt | |
Universiteit Antwerpen Departement Linguistiek Walter Daelemans |
Uitgangspunt
De sector van grafische vormgeving en kunst is altijd nauw verbonden geweest met technologische vooruitgang op gebied van grafische software: nieuwe applicaties, meer rekenkracht en modernere interfaces geven de kunstenaar meer mogelijkheden bij het visualiseren van zijn projecten (bv. betere leesbaarheid van lettertypes, 3D-rendering in films, beweging, interactie en content-management op het web, beeldmanipulatie, ...)
De huidige evolutie van grafische software bewandelt echter steeds hetzelfde pad: (meer en meer) mogelijkheden zitten verborgen in menu's en achter knoppen en schuifbalken. De kunstenaar blijft in wezen beperkt tot de opties die de programmeur in het softwarepakket inbouwde, er is dus eigenlijk nauwelijks sprake van creativiteit (de programmeur is misschien zelfs de echte creatieveling terwijl de kunstenaar meer een gebruiker wordt die handmatige handelingen zoals slepen en klikken uitvoert, en zijn denkwerk nog slechts in functie ziet komen te staan van de technische mogelijkheden).
De waaier van grafische software-applicaties komt tevens meer en meer uit dezelfde hoek: Adobe. Adobe is de toonaangevende producent van grafische software, en de enige echte concurrent, Macromedia, werd recent opgekocht door Adobe. In de wereld van de kunst, die steeds streeft naar vrijheid en openheid, is zo een overheersing van een enkele softwarereus ronduit schrikwekkend.
Gedurende de voorbije twee jaar werkten Lucas Nijs, Frederik De Bleser en Tom De Smedt aan NodeBox, een open-source Mac OS X applicatie die tweedimensionale kunst genereert (voor drukwerk als PDF, bewegend als Quicktime-movie) op basis van eenvoudige programmeercode. NodeBox heeft geen interface met menubalken en knoppen, enkel een venster waar Python-programmeercode kan ingegeven worden.
De NodeBox omgeving
Voordelen van programmeercode
NodeBox heeft dezelfde functionaliteit als een combinatie van alle Adobe-pakketten, en maakt daarbij ook gebruik van de rekenkracht van de computer:
Volume: veel ontwerp- en layoutopdrachten behandelen een groot aantal pagina's (productcatalogi, brochures, boekwerken) waarvan het onrealistisch is die in korte tijd te realiseren - de kunstenaar verzandt in tijdrovend productiewerk. Met NodeBox kan hij/zij zich concentreren op wat noodzakelijk is, en de veelheid en herhaling overlaten aan de computer.
Complexiteit: het is veel eenvoudiger om 1500 cirkels te tekenen via programmeercode dan ze een-voor-een op het blad te slepen in de traditionele grafische software. De kunstenaar heeft hier geen technische beperkingen, wordt zelfs bijgestaan door automatische layout-motoren en templating-systemen.
Alternatieven: wanneer we op deze manier komaf maken met de tijdrovende en saaie facetten van het ontwerpproces, is het veel eenvoudiger om snel nieuwe en andere varianten uit te proberen: het productieproces is geautomatiseerd dus de kunstenaar wint tijd voor creativiteit.
Recent zette het onderzoek aan de Sint Lucas-hogeschool nog een stap verder, van automatisatie naar artificiele creativiteit (lees meer hier). Kort enkele voorbeelden:
NodeBox is in staat het internet aan te spreken als een oneindige bron van menselijke kennis. Prism is een NodeBox-bibliotheek die op basis van statistische analyse van het internet een kleurenpalet samenstelt voor welk gegeven onderwerp dan ook. | |
Reeds vele jaren bestaan er computeralgoritmes die het gedrag van zwermen vogels en scholen vissen nabootsen (Boids, Craig Reynolds). Deze zijn ideaal om op zelforganiserende, computergestuurde wijze compositie en contrast in kunst mee te beschrijven, als test hiervan werden Blines ontwikkeld. | |
Semantische databases zoals WordNet(Princeton) en ConceptNet (MIT) zijn ook al enkele jaren beschikbaar. Deze zijn een uitstekende basis voor de computer om op creatieve wijze met taal om te gaan. Als test werd Flowerewolf ontwikkeld, een poezie-algoritme in NodeBox dat autonoom gedichten schrijft en layout, over welk onderwerp dan ook. |
Nadelen van programeercode
Het nadeel van programmeercode als stuurmiddel voor kunst en visuele communicatie is het feit dat kunstenaars nu eenmaal geen programmeurs zijn. Workshops en lesmomenten in en omtrent NodeBox op de Sint Lucas-hogeschool en het Lahti Institute of Design in Finland wezen uit dat veel kunststudenten NodeBox als een welkom hulpmiddel zien, maar dikwijls niet de drempel naar het schrijven van programmeercode aankunnen.
Een applicatie zoals NodeBox zou een meer natuurlijke taal moeten hanteren. In het ideale geval zou een kunstenaar natuurlijke taal (zoals deze tekst hier) in het NodeBox-venster intypen, zou de computer die tekst analyseren en snappen, en er de gewenste visuele output bij genereren.
Gravital
Gravital is een parser die natuurlijke taal omzet naar een semantisch netwerk van computerinstructies, en door middel van een solver de gewenste visuele output genereert.
Het TETRA voorstel, Gravital ("grafische taal"), wil de programmeer-drempel van NodeBox verlagen. Het principe van Gravital is gebaseerd op programeertalen zoals Haskell en Lisp. Het is een uitbreidbare, natuurlijke taal waarin enkele basiselementen (rechthoek, cirkel, groen, is, staat-rechts-van, dynamisch, ...) eindeloos met elkaar gecombineerd kunnen worden. De kunstenaar breidt Gravital uit door basiselementen in relatie met elkaar te brengen. Deze relaties worden op zich dan weer basiselementen die nieuwe relaties kunnen aangaan. Basiselementen kunnen ook aangepast worden, niets ligt vast.
De kunstenaar vertaalt zijn of haar werkproces, in natuurlijke taal, naar iets dat de computer begrijpt. De computer kan dan visuele output genereren.
Een eenvoudige test met Gravital verduidelijkt de werking, hier werd NodeBox het volgende verteld: a is-a big centered circleNodeBox weet op dit ogenblik nog niets over de kleur van de cirkel, dus die koos hij dan maar willekeurig, net zolang tot de gebruiker een betere definitie van de cirkel geeft. |
Doelstelling
Met Gravital heeft de kunstenaar alle middelen in handen die traditionele software bieden, maar ook de voordelen van de rekenkracht van de computer, en dit alles toegankelijk via eenvoudige natuurlijke taal.
Gravital is een declaratieve kunsttaal. De kunstenaar kan zich toespitsen op de eigen creativiteit, op het wat hij/zij wil doen (door taalconstructen in relatie te brengen), zonder zich zorgen te maken over het technische hoe.
Gravital vertoont emergent behaviour. Recente ontwikkelingen in de artificiele intelligentie spitsen zich toe op agent-based intelligence en emergence... zoals een mierenhoop waarin elke individuele mier dom is, maar als kolonie complexe intelligente taken aankan (legers organiseren, rupsen veehoeden, kerkhoven onderhouden). Gravital is een levende taal die zichzelf onderhoudt en organiseert, zonder centraal beslissingsorgaan.
Gravital speelt een sociaal relevante rol. De drempel van kunst als expressiemiddel wordt verlaagd tot iedereen die taal beheerst: ook bijvoorbeeld kinderen en motorisch gehandicapten. Eerste tests met 11-jarige kinderen toonden ons reeds de relevantie aan van spelenderwijs NodeBox gebruiken en grafische output zien, bij het aanleren van taal, geometrie en programmeercode. Het TETRA voorstel wil deze doelgroep van kinderen en motorisch gehandicapten als deelproject ook aanspreken (door een psychologische studie van hoe mensen en taal met elkaar relateren).
Enkele voordelen
- De kunstenaar krijgt sneller visueel resultaat en kan zich concentreren op het wat, het conceptuele denkwerk.
- Gravital biedt totaal nieuwe perspectieven over hoe kunst en visuele communicatie kunnen werken.
- De computer speelt een actieve rol, besteedt zijn rekenkracht nuttig, maakt suggesties bij onduidelijkheid.
- Eenmaal de kunstenaar een beschrijving gaf van wat hij/zij wil, kan deze herbruikt worden als nieuw basiselement. Huisstijlen aanmaken (vb. logo, briefpapier, website en brochures van een bedrijf allemaal in dezelfde vormgeving) wordt eenvoudiger. Andere geautomatiseerde toepassingen zouden bijvoorbeeld schematisering van data en generatie van formulieren zijn.
- De drempel van kunst als creatieve uitlaatklep verlaagt.
- Gravital leent zich uitstekend tot netwerk-omgeving, waarin verschillende gebruikers de taal voeden en krachtiger maken.
Onderdelen
Gravital bestaat uit een parser, een solver en nodes.
De parser is het computeralgoritme dat natuurlijke taal omzet naar iets bruikbaars voor een computer. Natuurlijke taal heeft tal van dubbelzinnigheden en onduidelijkheden. Bijvoorbeeld: "ik zou graag iets willen maken met een rode bol in het midden", dient vertaalt te worden naar a is-a centered red circle. Deze expertise ligt bij het departement Linguistiek van de Universiteit Antwerpen, die een shallow parser voor handen heeft voor het ontrafelen van taal en de relaties in zinsstructuren. Een kleine zijstap in het projectvoorstel is het bouwen van een visualisatie-module op de shallow parser, die de commerciele waarde van dit onderdeel verhoogt en duidelijkheid biedt aan alle betrokken partijen.
De solver is het computeralgoritme dat de ge-parsede instructies oplost en visuele uitvoer genereert. Deze expertise ligt bij het departement Beeldende Kunst van de Karel de Grote-Hogeschool, die de NodeBox omgeving voor handen heeft als motor waarin Gravital opereert, alsook de recent verworven AI-kennis tot het bouwen van een solver.
De nodes zijn de basiselementen waarmee Gravital relaties kan maken. Dit beperkt zich niet enkel tot bv. rechthoeken en kleuren, maar breidt zich uit naar intelligente componenten die, bijvoorbeeld, meedenken over kleuren (Prism) of aan data-mining doen. Nodes spelen een belangrijke commerciele rol, zij kunnen later als plug-ins voor Gravital commercieel aangeboden worden.
Uitbreidingen
Een mogelijke en relevante uitbreiding voor Gravital is machine learning (op basis van Bayesian filtering of decisions trees). Nadat de computer visuele output genereerde op basis van de taalbeschrijving, kan de gebruiker feedback geven ("ik vind het geslaagd", "dit kan beter"). Op organische wijze stelt Gravital zijn beslissingsmethoden dan bij, wordt beter in het oplossen van dubbelzinnigheden, produceert betere visuele output.
Enkele relevante links
- NodeBox website en download (Mac OS X): http://nodebox.net/
- Praktische voorbeelden van NodeBox: http://nodebox.net/code/index.php/Gallery
- Centrum voor Nederlandse Taal en Spraak: http://www.cnts.ua.ac.be/cnts/
- Gravital in detail: /Gravital
- Over artificiele creativiteit: http://organisms.be/index.php/On_artificial_creativity
- Over emergence: /Emergence
- Workshop in Finland met NodeBox: http://lahti.grafitron.com/2004/