The present invention relates to an improved artificial neural network for predicting one or more next items in a sequence of items based on an input sequence item. The improved artificial neural network has greatly reduced memory requirements, making it suitable for use on electronic devices such as mobile phones and tablets. The invention includes an electronic device on which the improved artificial neural network operates, and methods of predicting the one or more next items in the sequence using the improved artificial neural network.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. An electronic device comprising: a processor, at least one input interface, and an artificial neural network, comprising an input layer, an output layer and at least first and second hidden layers, wherein the number of units of the second hidden layer is equal to the number of units of the input layer; wherein the processor is configured to generate one or more predicted next items in a sequence of items based on an input sequence item received at the at least one input interface by: retrieving a context vector corresponding to the input sequence item using stored data; processing the context vector with the artificial neural network; retrieving an output vector at the output layer of the artificial neural network by transforming the output of the second hidden layer of the artificial neural network using the stored data, wherein the output vector corresponds to one or more predicted next items; and outputting the output vector. 2. The electronic device of claim 1 wherein the stored data is either values of parameters of a character-compositional model which is a predictor configured to compute a location of an item in a multi-dimensional space from individual characters of the item, or the stored data is item embeddings being locations of items in the multi-dimensional space. 3. The electronic device of claim 2 where the stored data is held in a cache and wherein the processor is configured to compute an item embedding corresponding to the input sequence item from the character-compositional model and to add the item embedding to the cache. 4. The electronic device of claim 1 where the processor is configured to retrieve the context vector corresponding to the input sequence by accessing an item embedding from a cache. 5. The electronic device of claim 1, wherein the processor is configured to process the context vector with the artificial neural network by: providing the context vector to the input layer of the artificial neural network; multiplying the contents of the input layer with a first weight matrix W0 and providing the result to the first hidden layer of the artificial neural network; processing the input to the first hidden layer with the nodes of the first hidden layer to produce an output of the first hidden layer; multiplying the output of the first hidden layer with a second weight matrix W1 and providing the result to the second hidden layer of the artificial neural network; and processing the input to the second hidden layer with the nodes of the second hidden layer to produce an output of the second hidden layer; 6. The electronic device of claim 1, wherein the artificial neural network further comprises a recurrent hidden vector. 7. The electronic device of claim 6, wherein the processor is configured to concatenate the contents of the input layer with the recurrent hidden vector prior to processing the contents of the input layer with the hidden layers of the artificial neural network. 8. The electronic device of claim 2, wherein the recurrent hidden vector comprises data indicative of a previous state of the artificial neural network. 9. The electronic device of claim 8, wherein the processor is configured to update the recurrent hidden vector according to the output of the first hidden layer. 10. The electronic device of claim 9, wherein the processor is configured to update the recurrent hidden vector by replacing the recurrent hidden vector with the output of the first hidden layer. 11. The electronic device of claim 1, wherein the processor is configured to retrieve the context vector by retrieving a row or column of an encoding matrix that corresponds to the input received at the at least one input interface. 12. The electronic device of claim 8, wherein the processor is configured to produce a 1-of-N vector corresponding to the input sequence item and to retrieve the context vector by transforming the 1-of-N vector using the encoding matrix. 13. The electronic device of claim 12, wherein transforming the 1-of-N vector comprises multiplying the 1-of-N vector and the encoding matrix using matrix multiplication. 14. The electronic device of claim 1, wherein the processor is further configured to retrieve an output class prediction from the output layer of the artificial neural network, wherein the output class prediction defines a group of one or more sequence items. 15. A computer-implemented method for generating one or more predicted next items in a sequence of items based on an input sequence item, the method comprising: receiving, at an electronic device, an input sequence item; retrieving, from stored data, a context vector corresponding to the input sequence item; processing the context vector with an artificial neural network, wherein the artificial neural network comprises an input layer, a first hidden layer, a second hidden layer and an output layer; retrieving an output vector at the output layer of the artificial neural network by transforming the output of the second hidden layer of the artificial neural network using at least some of the stored data, wherein the output vector corresponds to one or more predicted next items; and outputting the output vector, wherein the number of units of the second hidden layer of the artificial neural network is equal to the number of units of the input layer of the artificial neural network.