IP Library Granted Patent US 8,086,439
Granted Patent B2
US 8,086,439 · App. 11/702,844 · Granted Dec 27, 2011

Translation of text into numbers

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,086,439
App. No.
11/702,844
Granted
Dec 27, 2011
Kind
B2
Abstract

A text string representing a number in a specific language is converted to a text string by tokenizing the string, distributing the tokens across a multi-level data structure to find possible distributions, and analyzing the combinations to find a valid distribution. The valid distribution may be interpreted to yield a numerical value based on the data structure. The data structure may be readily developed for any language.

Claims (61)

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.

2. The method of claim 1 , said distribution comprising a sequence of said words for each of said levels.

3. The method of claim 2 , said analyzing comprising:

recursively analyzing each of said words;

calculating a number based on said words;

determining if said number is consistent with said database and said words.

4. The method of claim 3 , said recursively analyzing comprising analyzing one level at a time.

5. The method of claim 1 wherein said radix is 10.

6. The method of claim 1 wherein said first vocabulary comprises English language words.

7. The method of claim 1 , said text string being created by translating an audio stream into said text string.

8. A method performed on a computer processor, said method comprising:

receiving a text string representing a number;

referencing a database comprising:

a first vocabulary for numbers to be represented, said first vocabulary being from a first language and comprising vocabulary words, each of said vocabulary words having a vocabulary index;

a representation of a two dimensional table using a set of patterns and said vocabulary indexes, said 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, said two dimensional table being grouped by a first 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, 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 pattern; and

performing a second method on a computer processor, said second method comprising:

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.

9. The method of claim 8 , said distribution comprising a sequence of said words for each of said levels.

10. The method of claim 9 , said analyzing comprising:

recursively analyzing each of said words;

calculating a number based on said words;

determining if said number is consistent with said database and said words.

11. The method of claim 10 , said recursively analyzing comprising analyzing one level at a time.

12. The method of claim 8 wherein said radix is 10 .

13. The method of claim 8 wherein said first vocabulary comprises English language words.

14. A computer readable storage medium comprising computer executable instructions adapted to perform the method of claim 8 .

15. A system comprising:

a database comprising:

a first vocabulary for numbers to be represented, said first vocabulary being from a first language and comprising vocabulary words, each of said vocabulary words having a vocabulary index;

a representation of a two dimensional table using a set of patterns and said vocabulary indexes, said 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, said two dimensional table being grouped by a first 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, 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 pattern; and

a device adapted to perform a 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.

16. The system of claim 15 , said distribution comprising a sequence of said words for each of said levels.

17. The system of claim 16 , said analyzing comprising:

recursively analyzing each of said words;

calculating a number based on said words;

determining if said number is consistent with said database and said words.

18. The system method of claim 17 , said recursively analyzing comprising analyzing one level at a time.

19. The system of claim 15 wherein said radix is 10.

20. The system of claim 15 wherein said first vocabulary comprises English language words.

21. The method of claim 1 , said calculate a sublevel being performed using a formula comprising:

sublevel=((said number)*modulus (said word recurrence value*said radix)))/(said word recurrence value).

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2007
From: BURUKHIN, ANATOLIY
To: MICROSOFT CORPORATION
Reel/Frame 019258/0618 →