A communication device, comprising: an input device configured to receive input from a user; wherein the communication device comprises: a memory comprising a database, where the database comprises a plurality of entries, each entry comprising an input field, a word/term field, a tag field and an other information field; wherein, the input field corresponds to the input from the user; the tag field identifies an application of a plurality of applications stored on the communication device; the word/term field identifies a word; and the other information field identifies time of usage information, or location information; a display; and a processor configured to: identify a first application of the plurality of applications stored on the communication device, the first application being currently executed by the communication device; identify a first candidate word in the word/term field of a first entry, the first candidate word corresponding to the input received from the user and the first application, wherein an input in the input field of the first entry matches the input received from the user, and an application in the tag field of the first entry matches the first application; identify a second candidate word in the word/term field of a second entry, the second candidate word also corresponding to the input received from the user, wherein an input in the input field of the second entry matches the input received from the user, an application in the tag field of the second entry being currently not executed by the communication device; and provide the first and second candidate words via the display, the first candidate word being provided more prominently on the display than the second candidate word. an input device configured to receive input from a user; wherein the communication device comprises: a memory comprising a database, where the database comprises a plurality of entries, each entry comprising an input field, a word/term field, a tag field and an other information field; wherein, the input field corresponds to the input from the user; the tag field identifies an application of a plurality of applications stored on the communication device; the word/term field identifies a word; and the other information field identifies time of usage information, or location information; a memory comprising a database, where the database comprises a plurality of entries, each entry comprising an input field, a word/term field, a tag field and an other information field; wherein, the input field corresponds to the input from the user; the tag field identifies an application of a plurality of applications stored on the communication device; the word/term field identifies a word; and the other information field identifies time of usage information, or location information; a display; and a processor configured to: identify a first application of the plurality of applications stored on the communication device, the first application being currently executed by the communication device; identify a first candidate word in the word/term field of a first entry, the first candidate word corresponding to the input received from the user and the first application, wherein an input in the input field of the first entry matches the input received from the user, and an application in the tag field of the first entry matches the first application; identify a second candidate word in the word/term field of a second entry, the second candidate word also corresponding to the input received from the user, wherein an input in the input field of the second entry matches the input received from the user, an application in the tag field of the second entry being currently not executed by the communication device; and provide the first and second candidate words via the display, the first candidate word being provided more prominently on the display than the second candidate word. identify a first application of the plurality of applications stored on the communication device, the first application being currently executed by the communication device; identify a first candidate word in the word/term field of a first entry, the first candidate word corresponding to the input received from the user and the first application, wherein an input in the input field of the first entry matches the input received from the user, and an application in the tag field of the first entry matches the first application; identify a second candidate word in the word/term field of a second entry, the second candidate word also corresponding to the input received from the user, wherein an input in the input field of the second entry matches the input received from the user, an application in the tag field of the second entry being currently not executed by the communication device; and provide the first and second candidate words via the display, the first candidate word being provided more prominently on the display than the second candidate word.