1. A method perform by a communication device, the method comprising: updating, by the communication device, a database of words and phrases based on text included in messages sent or received by a user of the communication device; accessing, by the communication device, web sites based on input from the user; storing, in a cache of the communication device, Uniform Resource Locators (URLs) and web site content associated with the accessed web sites, where the cache is different from the updated database; receiving one or more characters from the user via a keypad of the communication device; searching, using a processor of the communication device, the updated database to identify at least one first word or URL based on the received one or more characters; providing the identified at least one first word or URL via a display of the communication device; receiving one or more additional characters from the user via the keypad without selection of the provided at least one first word or URL; searching, using the processor, the URLs and web site content stored in the cache to identify at least one second word or URL based on the received one or more characters and based on the received one or more additional characters; and providing the identified at least one second word or URL via a display of the communication device.