Wat is een natuurlijke taal in computergebruik?
Wanneer mensen in de computer over natuurlijke taal spreken, verwijzen ze naar een programmeertaal die constructies en syntaxis bevat die de normale menselijke spraak weerspiegelt. Het primaire doel van elke natuurlijke taal is om een programmeur toe te staan taalkundige regels en termen te gebruiken waarmee hij of zij al bekend is om bruikbare instructies naar een computer te communiceren. Vanwege de vereiste van expliciete eindgebruiker en het gebruik van een reeds bekende en gesproken taal, zijn natuurlijke talen zoals Programmering in Logica (Prolog) of Lisp doorgaans intrinsiek complexer dan andere programmeertalen, afhankelijk van de hogere orde of symbolische abstracties van wat de computer kan begrijpen en ernaar kan handelen. Met andere woorden, hoe eenvoudiger het is voor de eindgebruiker om een computerprogramma te maken zonder een gestructureerde procedurele taal te hoeven kennen, of een andere taal dan die hij of zij al spreekt, hoe complexer de programmeermachine voor natuurlijke taal moet zijn ter ondersteuning van de vrijheid van meningsuiting.
Natuurlijke talen bevatten parsers en databases. De databases bepalen welke actie de computer moet uitvoeren op basis van de instructie en de parser bepaalt in welke volgorde de syntaxis moet worden uitgevoerd. Als de gebruiker bijvoorbeeld 'Voeg twee en twee' typt, moet de parser een onderscheid maken tussen zelfstandig naamwoord en werkwoord, begrijpen wat de actie van het werkwoord moet bereiken, de database doorzoeken op een geschikt antwoord en vervolgens een uitvoer produceren die voldoet aan de instructie. Als de gebruiker 'Voeg twee tot twee toe' typt, moet de parser kunnen begrijpen dat 'en' en 'om' aan te geven dat dezelfde actie moet plaatsvinden en vervolgens hetzelfde resultaat moeten opleveren.
Voorstanders van natuurlijke taalprogrammering voeren aan dat, omdat natuurlijke talen de neiging hebben niet-procedureel van aard te zijn, beginnende programmeurs zinvolle programma's kunnen produceren en significante resultaten kunnen behalen in kortere tijdsbestekken dan wanneer dat nodig is om procedurele algoritmen te creëren die tot dezelfde resultaten leiden. Met natuurlijke taalprogrammering leren studenten een logische notatie van feiten uit te drukken. Prolog-programma's bestaan uit een database, de relaties tussen database-items en alle randvoorwaarden die bepalen welke antwoorden acceptabel zijn.
Het onderzoek en de publicaties van Noam Chomsky betreffende taaltheorie en gebruik omvatten schematische verkenningen van de syntaxisstructuur van een taal. De parsers van Prolog en Lisp gedragen zich op vrijwel dezelfde manier, sorteren de instructie logisch in zijn componenten en beoordelen de actie die moet worden ondernomen als gevolg van het parseren. De meeste natuurlijke talen zijn geschreven voor Engelse invoer en uitvoer, hoewel er veel inspanningen worden geleverd om lokalisatie voor andere talen te ondersteunen.