1. A method of storing characters, words and phrases including the words, in a data structure for providing predictive output of characters, words and/or phrases in response to user input text data, the method comprising: storing a plurality of phrases each in a phrase data structure having a phrase identifier and comprising a sequence of words of the phrase, wherein some of said phrase data structures further comprise subphrase identifier data, said subphrase identifier data identifying a portion of a phrase of a phrase data structure which corresponds to some or all of another phrase stored in a said phase data structure; identifying a previous use of a said subphrase in said user input text data and assigning a separate identifier to said subphrase in response to said identification; and storing data for a subsequently input phrase from said input text data including said subphrase as a combination of said separate identifier, a reminder of said subsequently input phrase after removal of said subphrase, and data indicating a relationship between said reminder of said subsequently input phrase and said subphrase.