13. A device configured for selecting a training database from a corpus, the device comprising a processor and computer code stored into memory, the computer code configured to: pre-define a size of the training database, the size of the training database being indicative of an optimally minimal subset of the corpus; calculate a coefficient for at least one pair in a set of pairs of entries, the coefficient comprising distance between the at least one pair of entries; and execute a function to recursively select each entry to be saved in the training database based upon the calculated coefficients until a number of entries of the training database equals the size of the training database, wherein the computer code configured to execute the function further comprises computer code configured to: (a) select an initial pair of entries from the set of pairs, wherein the initial pair has a distance that is greater than the distance calculated for each other pair in the set of pairs; (b) move the initial pair into the training database; (c) identify a new entry from the corpus, for which the average coefficient to entries in the training database is greater than average distances calculated for all other entries in the corpus; (d) move the new entry from the corpus into the training database; and (e) if a number of entries of the training database is less than the pre-defined size of the training database, repeat (c) and (d).
13. A device configured for selecting a training database from a corpus, the device comprising a processor and computer code stored into memory, the computer code configured to: pre-define a size of the training database, the size of the training database being indicative of an optimally minimal subset of the corpus; calculate a coefficient for at least one pair in a set of pairs of entries, the coefficient comprising distance between the at least one pair of entries; and execute a function to recursively select each entry to be saved in the training database based upon the calculated coefficients until a number of entries of the training database equals the size of the training database, wherein the computer code configured to execute the function further comprises computer code configured to: (a) select an initial pair of entries from the set of pairs, wherein the initial pair has a distance that is greater than the distance calculated for each other pair in the set of pairs; (b) move the initial pair into the training database; (c) identify a new entry from the corpus, for which the average coefficient to entries in the training database is greater than average distances calculated for all other entries in the corpus; (d) move the new entry from the corpus into the training database; and (e) if a number of entries of the training database is less than the pre-defined size of the training database, repeat (c) and (d). 14. The device of claim 13 , wherein the function comprises an optimization function utilizing the coefficient.