Natural-language processing offers the greatest potential rewards because it would allow people to interact with computers without needing any specialized knowledge. You could simply walk up to a computer and talk to it. Unfortunately, programming computers to understand natural languages has proved to be more difficult than originally thought. Some rudimentary translation systems that translate from one human language to another are in existence, but they are not nearly as good as human translators. There are also voice recognition systems that can convert spoken sounds into written words, but they do not understand what they are writing; they simply take dictation. Even these systems are quite limited -- you must speak slowly and distinctly.
Unsupervised learning is the ability to find patterns in a stream of input. Supervised learning includes both classification and numerical regression . Classification is used to determine what category something belongs in, after seeing a number of examples of things from several categories. Regression is the attempt to produce a function that describes the relationship between inputs and outputs and predicts how the outputs should change as the inputs change. In reinforcement learning  the agent is rewarded for good responses and punished for bad ones. The agent uses this sequence of rewards and punishments to form a strategy for operating in its problem space. These three types of learning can be analyzed in terms of decision theory , using concepts like utility . The mathematical analysis of machine learning algorithms and their performance is a branch of theoretical computer science known as computational learning theory . 
In designs for his Analytical Engine mathematician/inventor Charles Babbage recognized (circa 1836) that the punched cards could control operations on symbols as readily as on silk; the cards could encode numerals and other symbolic data and, more importantly, instructions, including conditionally branching instructions, for numeric and other symbolic operations. Augusta Ada Lovelace (Babbage’s software engineer) grasped the import of these innovations: “The bounds of arithmetic” she writes, “were ... outstepped the moment the idea of applying the [instruction] cards had occurred” thus “enabling mechanism to combine together with general symbols, in successions of unlimited variety and extent” (Lovelace 1842). “Babbage,” Turing notes, “had all the essential ideas” (Turing 1950). Babbage’s Engine – had he constructed it in all its steam powered cog-wheel driven glory – would have been a programmable all-purpose device, the first digital computer.