1. A method comprising: creating a database by a first method comprising: determining a first vocabulary for numbers to be represented, said first vocabulary being from a first language and comprising vocabulary words; assigning a vocabulary index for each of said first vocabulary words; creating a two dimensional table comprising levels and said first vocabulary words assigned to said levels, each of said levels being one of a sequence of said first vocabulary words representing said numbers; grouping said two dimensional table by a radix to create groups of said levels, each of said groups of said levels being arranged by sublevels representing incremental numbers within each of said groups; and representing said two dimensional table using a set of patterns and said vocabulary indexes, each of said sublevels being defined with one of said patterns and at least one vocabulary index representing one of said vocabulary words applied by said one of said patterns; performing a second method on a computer processor, said second method comprising: receiving a text string representing a number in said first language; separating said text string into words; determining at least one distribution of said words within said database; analyzing each of said at least one distribution of said words to find an intersection; and determining said number based on said intersection.