Embodiments relate to apparatuses and methods configured for automatic learning and/or optimizing an order of items appearing in a sequence. Particular embodiments employ an engine to recognize sequences (e.g., lists of items) repeatedly encountered by a user. Examples of such sequences can include grocery lists, and emails present in an in-box. The engine then references available metadata associated with the sequence and its items, in order to present the user with an optimized sequence tailored to one or more criteria. Examples of available metadata can include sensed location information (of the user and/or other entities), temporal information, contextual influences, historical actions by the user, and/or general population habits (e.g., as may be determined via crowdsourcing). Certain embodiments may further generate a modified sequence based upon suggestions afforded by metadata associated with the sequence. Embodiments may utilize a self-learning scoring algorithm to perform sequence recognition, optimization, and/or modification.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A computer-implemented method comprising: an engine receiving a first sequence comprising a plurality of items in a first order, one or more of the items having an attribute; the engine identifying available metadata relevant to the first sequence; the engine processing the first sequence and the available metadata according to a criterion of the attribute, to generate a second sequence; and the engine communicating the second sequence to a user. 2. A method as in claim 1 wherein the processing comprises: recognizing the first sequence as a type previously encountered by the user; and changing the first order according to the criterion determined by the type. 3. A method as in claim 1 further comprising: the engine processing the second sequence according to a suggestion to generate a third sequence; and the engine communicating the third sequence to the user. 4. A method as in claim 1 wherein the available metadata comprises behavior of the user. 5. A method as in claim 1 wherein the available metadata comprises crowdsourced data. 6. A method as in claim 1 wherein the available metadata comprises sensor data. 7. A method as in claim 1 further comprising storing the second sequence as a database object. 8. A method as in claim 1 wherein the processing is according to a self-learning scoring algorithm. 9. A method as in claim 1 wherein the second sequence comprises the items of the first sequence in a second order different from the first order. 10. A method as in claim 1 wherein the second sequence comprises an item different from the first sequence. 11. A non-transitory computer readable storage medium embodying a computer program for performing a method, said method comprising: an engine receiving a first sequence comprising a plurality of items in a first order, one or more of the items having an attribute; the engine processing the first sequence to recognize a sequence type; the engine identifying available metadata relevant to the first sequence; the engine processing the first sequence and the available metadata according to a criterion of the attribute determined from the sequence type, to generate a second sequence; and the engine communicating the second sequence to a user. 12. A non-transitory computer readable storage medium as in claim 11 wherein the method further comprises: the engine processing the second sequence according to a suggestion to generate a third sequence; and the engine communicating the third sequence to the user. 13. A non-transitory computer readable storage medium as in claim 11 wherein the available metadata comprises behavior of the user. 14. A non-transitory computer readable storage medium as in claim 11 wherein the available metadata comprises crowdsourced data. 15. A non-transitory computer readable storage medium as in claim 11 wherein the available metadata comprises sensor data. 16. A non-transitory computer readable storage medium as in claim 11 wherein the engine recognizes the sequence type utilizing a self-learning scoring algorithm. 17. A computer system comprising: one or more processors; a software program, executable on said computer system, the software program configured to cause an engine to: receive a first sequence comprising a plurality of items in a first order, one or more of the items having an attribute; identify available metadata relevant to the first sequence, the available metadata selected from behavior of the user, crowdsourced data, or sensor data; process the first sequence and the available metadata according to a criterion of the attribute, to generate a second sequence; and communicate the second sequence to a user. 18. A computer system as in claim 17 wherein the software program is further configured to cause the engine to, process the second sequence according to a suggestion to generate a third sequence; and communicate the third sequence to the user. 19. A computer system as in claim 17 wherein the processing is according to a self-learning scoring algorithm. 20. A computer system as in claim 17 wherein the software program is further configured to cause the engine to store the second sequence as a database object.