Thursday, January 19, 2017

Natural Language Interfaces and Neural Networks





Trend and Technology
The trend I will discuss is towards natural language interfaces both in hardware devices and in software programs including apps.  The underlying technology I will discuss is neural networks.  There may be several technologies which implement natural language interfaces, but in many instances neural networks are a key component of the natural language interface technology.


Natural Language Interfaces

By 'natural language interface," is meant an interface that allows you to communicate with a device or program using natural language.  This may mean using English-like sentences (or native language sentences) rather than keywords.  The device or program may "understand" what you mean by the sentence and bring up the appropriate result (natural language understanding is related to natural language interfaces).  Part of a natural language interface may be voice recognition, so that you may speak to your device rather than type something in.  This technology is already somewhat deployed.  For example, your iPhone includes Siri which understands you when you ask it a question.  What it actually does is use voice recognition hardware/software to convert your spoken sentence into a string which can then be sent to search engine, which then finds websites and content on the web related to the string in the search.  Siri's answer may also involve voice synthesis, i.e., may give you a spoken response, as a person would in addition to the website content.  However, many computer devices and programs still use the old text based query system and do not have a natural language interface.  Imagine if Google added a natural language interface to its search engine website.  The horizon website (link above) talks about educational technology.  It would behoove many on-line learning websites to incorporate natural language interfaces into their software for a more user friendly student experience.  Natural language interfaces (NLI) also may involve reading facial expressions or processing gesturing.  NLI may also use linguistic phenomena such as verbs, nouns, phrases to control aspects of a program.

Neural Networks

There are a number of technologies that create NLIs.  However, this blog will focus on one underlying technology:  neural networks.  As indicated above speech recognition may be part of a NLI.  Speech recognition often uses a neural network to recognize a person's speech (and convert it into a set of strings or words).  A neural network is a statistical pattern recognition machine.

Review of Neural Networks

A neural network is a topology of processing elements which convert inputs into outputs and in the process do statistical pattern recognition.  A neural network does not use a programming model or traditional deductive artificial intelligence (AI) techniques.  Rather it uses a statistically based inductive approach to recognize patterns.  A neural network is not programmed but trained.  A neural network may be implemented in hardware or software (I have written neural networks in C++).  A sample neural network is given below.  There is an input layer, and output layer, and hidden layers in between (Hecht-Nielsen, 1990).  Neurodes, or processing elements (indicated by circles on the diagram) are interconnected to other neurodes in a topology.  There are many neural network topologies.  The sample neural network topology below is called a feed forward linear associator network.


Figure 1:  A Sample Neural Network:  The Feed Forward Linear Associator Network (My Powerpoint Diagram).

The neural net above involves only 6 neurodes (or processing elements).  This would be a very simple neural net.  In the real world a neural net may involve thousands of processing elements with many hidden layers.  This neural net has exactly two layers:  an input layer, and an output layer, with no hidden layers.  In this topology every neurode is connected to every other neurode.  Each input, x1 ... xn forwards its signal to every neurode in the output layer.  The neurodes in the output layer are weighted.  I.e., the output layer of neurodes weight the input signals to create the weighted output vector.  Each neurode or processing element performs the weighted statistical function that performs the pattern recognition.  So, let's look more closely at the processing element.


Figure 2:  The Neurode or Processing Element (My Powerpoint Diagram).

The neurode transforms multiple input signals into an output signal, through the application of a transfer function which modifies weights (statistically) stored in the local memory of the neurode (Hecht-Nielsen, 1990).  The input signals may be of specified mathematical type:  integer, real, complex,, or a fuzzy number between a range.  Input signals, as in natural neural circuits, may be excitatory or inhibitory, i.e., add or subtract from the occurrence of the output signal.  

Neural nets are trained (not programmed).  A training regimen would involve presenting a number of samples to the neural net and simultaneously applying the transfer function or learning law to the net.  Then, once trained, the neural net is provided novel samples which it then can recognize or categorize through its trained statistical pattern recognition capability.


Two Technological Forces that Impact the Development of NLI's and Neural Networks

There are several factors influencing the development of NLI's and their underlying neural networks.  I will talk about two technological drivers:  Mobile Devices, and the Semantic Net.

Mobile Computing Devices.

The explosive growth in mobile computing devices that has occurred since the invention of the iPhone (a paradigm shifter) has a big influence on the development of NLI's and neural networks.  Most mobile smartphones now include voice recognition hardware/software to interact with the device, to initiate functions on the phone, or to look up things on the web through a search engine (notably Siri for Apple's iPhone).  Possible future features of NLI/neural nets in smartphones may be a universal translator.  One would speak one's native language into the phone and select the target language and a speech synthesizer would generate the sentence or phrase in the target foreign language.  You want that capability on a mobile device, so you can use it while traveling in foreign countries.

Semantic Web

Another technological driver of NLI's and neural nets is the semantic net or semantic web.  The next generation of the web will be semantic.  The initial form of this is to create greater data sharing and integration with technologies such as Resource Description Framework (RDF).  In the first implementation a common framework will exist that allows data to be shared and resused across heterogeneous data sources, databases, and applications.  But the long term driver is to make the web more semantic, involving natural language processing (for example of queries in search engines) and to do automated reasoning on web content.  Particularly, today, search engines like Google are driving the need for NLI's.

References

New Media Consortium. (n.d.). NMC horizon. Retrieved from http://www.nmc.org/nmc-horizon/

New Media Consortium. (n.d.). NMC horizon report: 2016 higher education edition wiki. Retrieved from http://horizon.wiki.nmc.org/

Hecht-Nielsen, R. (1990).  Neurocomputing.  Addison-Wesley Publishing Company, Reading, Massachusetts.


No comments:

Post a Comment