That is, in the present embodiment as well, character candidates are sorted (grouped) by the attribute-dependent sorter 1302 according to attribute information, such as parts of speech, concepts, etc., which are stored for each character in the template memory 1601 and displayed in groups on the display 109, as in the second preferred embodiment of FIG. 13.