A system comprising: one or more computers (101, 102); and a computer-readable medium coupled to the one or more computers (101, 102) having instructions stored thereon which, when executed by the one or more computers, cause the one or more computers to perform operations comprising: generating, for each of two or more items of contact information, an affinity score based on a frequency with which a user has previously communicated with a contact associated with the item of contact information, and further based on a recency of one or more past interactions between the user and the contact associated with the item of contact information, and inferring, for each of the items of contact information, a probability that the user intends to initiate a communication using the item of contact information based on the affinity score generated for the item of contact information, wherein the operations are characterised in that: generating the affinity score based on a frequency with which a user has previously communicated with a contact associated with the item of contact information further comprises: determining a frequency with which the user has accepted a result of a voice dial speech recognition that has dialed the contact, comprising determining whether the user has initiated a cancel action when communication was automatically initiated with the dialled contact; and incrementing the affinity score based on the frequency with which the user has accepted the result of the voice dial speech recognition. one or more computers (101, 102); and a computer-readable medium coupled to the one or more computers (101, 102) having instructions stored thereon which, when executed by the one or more computers, cause the one or more computers to perform operations comprising: generating, for each of two or more items of contact information, an affinity score based on a frequency with which a user has previously communicated with a contact associated with the item of contact information, and further based on a recency of one or more past interactions between the user and the contact associated with the item of contact information, and inferring, for each of the items of contact information, a probability that the user intends to initiate a communication using the item of contact information based on the affinity score generated for the item of contact information, generating, for each of two or more items of contact information, an affinity score based on a frequency with which a user has previously communicated with a contact associated with the item of contact information, and further based on a recency of one or more past interactions between the user and the contact associated with the item of contact information, and inferring, for each of the items of contact information, a probability that the user intends to initiate a communication using the item of contact information based on the affinity score generated for the item of contact information, wherein the operations are characterised in that: generating the affinity score based on a frequency with which a user has previously communicated with a contact associated with the item of contact information further comprises: determining a frequency with which the user has accepted a result of a voice dial speech recognition that has dialed the contact, comprising determining whether the user has initiated a cancel action when communication was automatically initiated with the dialled contact; and incrementing the affinity score based on the frequency with which the user has accepted the result of the voice dial speech recognition.