IP Library Granted Patent US 9,368,115
Granted Patent B2
US 9,368,115 · App. 13/800,841 · Granted Jun 14, 2016

Identifying corresponding positions in different representations of a textual work

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 9,368,115
App. No.
13/800,841
Granted
Jun 14, 2016
Kind
B2
Abstract

Described herein are techniques for determining corresponding positions between different representations of a textual work. In some of the techniques, portions of one or more representations may be processed. A determination of a corresponding position may be made in response to a request received from a user, such as a reader that desires to switch between representations. The request may indicate a position in one representation and the representation to which the user would like to switch. In response to receiving the request, one or more portions of one or more representations of a textual work may be processed. In some techniques, a corresponding position between different representations may be determined without processing the entirety of one or more representations of the textual work. For example, a corresponding position may be determined without processing an entire audio representation.

Claims (85)

1. A method comprising:

creating a mapping identifying a correspondence between a plurality of text positions in an electronic representation of a textual work and a plurality of audio positions in an audio representation of the textual work, wherein creating the mapping comprises:

receiving a first request for the audio position corresponding to the first text position, the first request identifying the first text position;

in response to receipt of the first request, determining whether the mapping includes an entry including an audio position matching the first text position identified in the first request;

in a case that it is determined that the mapping includes the entry including an audio position matching the first text position identified in the first request, responding to the first request with the audio position of the entry; and

in a case that it is determined that the mapping does not include an entry including an audio position matching the first text position identified in the first request, identifying a corresponding audio position for the first text position, wherein identifying the corresponding audio position comprises:

performing automatic speech recognition (ASR) on an audio segment of the audio representation of the textual work to generate a textual representation of the audio segment, and

searching the electronic representation of the textual work for text matching the textual representation;

in response to identifying the corresponding audio position for the first text position identified in the first request via the performing ASR and the searching, adding an entry to the mapping identifying the corresponding audio position for the first text position and responding to the first request with the corresponding audio position;

receiving a second request for the audio position corresponding to the first text position, the second request identifying the first text position that was identified in the first request;

in response to receipt of the second request identifying the first text position, determining whether the mapping includes the entry including an audio position matching the first text position identified in the second request; and

in response to determining that the mapping includes the entry including an audio position matching the first text position identified in the second request, responding to the second request with the audio position of the entry.

2. The method of claim 1 , wherein the identifying the corresponding audio position for the first text position further comprises, in response to determining that a text position, determined as a result of the searching, at which text matching the textual representation of the audio segment appears in the electronic representation does not match the first text position:

performing ASR on a second audio segment of the audio representation of the textual work to generate a textual representation of the second audio segment; and

searching the electronic representation of the textual work for text matching the textual representation of the second audio segment.

3. The method of claim 2 , wherein the identifying the corresponding audio position for the first text position further comprises, in response to determining that the text position at which text matching the textual representation of the audio segment appears in the electronic representation does not match the first text position:

selecting the second audio segment based at least in part on a result of a comparison of the first text position and the text position that was determined as a result of the searching and at which the text matching the textual representation of the audio segment appears in the electronic representation.

4. The method of claim 1 , wherein the searching the electronic representation of the textual work for text matching the textual representation comprises searching the electronic representation of the textual work for text exactly matching the textual representation.

5. The method of claim 1 , wherein the searching the electronic representation of the textual work for text matching the textual representation comprises searching the electronic representation of the textual work for text having an edit distance, when compared to the textual representation, below a threshold.

6. The method of claim 1 , wherein:

the plurality of audio positions comprises a first audio position; and

the creating further comprises identifying a first audio position corresponding to a second text position, wherein the identifying the first audio position comprises:

receiving a request for a corresponding text position corresponding to the first audio position, the request identifying the first audio position;

determining whether the mapping includes a second entry including an audio position matching the first audio position identified in the request;

in response to determining that the mapping includes the entry including an audio position matching the first audio position identified in the request, responding to the request with the text position of the entry; and

in response to determining that the mapping does not include an entry including an audio position matching the first audio position identified in the request, identifying a corresponding text position, wherein identifying the corresponding text position comprises:

performing automatic speech recognition (ASR) on a second audio segment of the audio representation of the textual work that appears at the first audio position identified in the request to generate a textual representation of the second audio segment, and

searching the electronic representation of the textual work for text matching the textual representation.

7. At least one non-transitory computer-readable storage medium having encoded thereon computer-executable instructions that, when executed by a computer, cause the computer to carry out a method comprising:

creating a mapping identifying a correspondence between a plurality of text positions in an electronic representation of a textual work and a plurality of audio positions in an audio representation of the textual work, wherein creating the mapping comprises:

receiving a request from a user for the audio position corresponding to the first text position, the request identifying the first text position;

determining whether the mapping includes an entry including an audio position matching the first text position identified in the request from the user;

in response to determining that the mapping includes the entry including an audio position matching the first text position identified in the request from the user, responding to the user with the audio position of the entry; and

in response to determining that the mapping does not include an entry including an audio position matching the first text position identified in the request from the user, identifying a corresponding audio position for the first text position, wherein identifying the corresponding audio position comprises:

performing automatic speech recognition (ASR) on an audio segment of the audio representation of the textual work to generate a textual representation of the audio segment, and

searching the electronic representation of the textual work for text matching the textual representation;

in response to identifying the corresponding audio position for the first text position identified in the request from the user via the performing ASR and the searching, adding an entry to the mapping identifying the corresponding audio position for the first text position and responding to the user with the corresponding audio position; and

prior to the receiving the request for the audio position corresponding to the first text position,

receiving a second request for the audio position corresponding to the first text position, the second request specifying the first text position;

in response to receiving the second request,

identifying the corresponding audio position;

adding an entry to the mapping including the corresponding audio position for the first text position; and

responding to the second request with the corresponding audio position.

8. The at least one non-transitory computer-readable storage medium of claim 7 , wherein the identifying the corresponding audio position for the first text position further comprises, in response to determining that a text position, determined as a result of the searching, at which text matching the textual representation of the audio segment appears in the electronic representation does not match the first text position:

performing ASR on a second audio segment of the audio representation of the textual work to generate a textual representation of the second audio segment; and

searching the electronic representation of the textual work for text matching the textual representation of the second audio segment.

9. The at least one non-transitory computer-readable storage medium of claim 8 , wherein the identifying the corresponding audio position for the first text position further comprises, in response to determining that the text position at which text matching the textual representation of the audio segment appears in the electronic representation does not match the first text position:

selecting the second audio segment based at least in part on a result of a comparison of the first text position and the text position that was determined as a result of the searching and at which the text matching the textual representation of the audio segment appears in the electronic representation.

10. The at least one non-transitory computer-readable storage medium of claim 7 , wherein the searching the electronic representation of the textual work for text matching the textual representation comprises searching the electronic representation of the textual work for text exactly matching the textual representation.

11. The at least one non-transitory computer-readable storage medium of claim 7 , wherein:

the plurality of audio positions comprises a first audio position; and

the creating further comprises identifying a first audio position corresponding to a second text position, wherein the identifying the first audio position comprises:

receiving a request for a corresponding text position corresponding to the first audio position, the request identifying the first audio position;

determining whether the mapping includes a second entry including an audio position matching the first audio position identified in the request;

in response to determining that the mapping includes the entry including an audio position matching the first audio position identified in the request, responding to the request with the text position of the entry; and

in response to determining that the mapping does not include an entry including an audio position matching the first audio position identified in the request, identifying a corresponding text position, wherein identifying the corresponding text position comprises:

performing automatic speech recognition (ASR) on a second audio segment of the audio representation of the textual work that appears at the first audio position identified in the request to generate a textual representation of the second audio segment, and

searching the electronic representation of the textual work for text matching the textual representation.

12. An apparatus comprising:

at least one processor; and

at least one computer-readable storage medium having encoded thereon computer-executable instructions that, when executed by a computer, cause the computer to carry out a method comprising:

creating a mapping identifying a correspondence between a plurality of text positions in an electronic representation of a textual work and a plurality of audio positions in an audio representation of the textual work, wherein:

receiving a request for an audio position corresponding to a first text position, the request identifying the first text position;

determining whether the mapping includes an entry including an audio position matching the first text position identified in the request, the entry having been added to the mapping prior to the receiving the request and in response to receipt of an earlier request for the audio position correspond to the first text position and in further response to identifying the audio position corresponding to the first text position;

in response to determining that the mapping includes the entry including an audio position matching the first text position identified in the request, responding to the request with the audio position of the entry; and

in response to determining that the mapping does not include an entry including an audio position matching the first text position identified in the request, identifying a corresponding audio position for the first text position, wherein identifying the corresponding audio position comprises:

performing automatic speech recognition (ASR) on an audio segment of the audio representation of the textual work to generate a textual representation of the audio segment, and

searching the electronic representation of the textual work for text matching the textual representation; and

in response to identifying the corresponding audio position for the first text position identified in the request via the performing ASR and the searching, adding an entry to the mapping identifying the corresponding audio position for the first text position and responding to the request with the corresponding audio position.

13. The apparatus of claim 12 , wherein the identifying the corresponding audio position for the first text position further comprises, in response to determining that a text position, determined as a result of the searching, at which text matching the textual representation of the audio segment appears in the electronic representation does not match the first text position:

performing ASR on a second audio segment of the audio representation of the textual work to generate a textual representation of the second audio segment; and

searching the electronic representation of the textual work for text matching the textual representation of the second audio segment.

14. The apparatus of claim 13 , wherein the identifying the corresponding audio position for the first text position further comprises, in response to determining that the text position at which text matching the textual representation of the audio segment appears in the electronic representation does not match the first text position:

selecting the second audio segment based at least in part on a result of a comparison of the first text position and the text position that was determined as a result of the searching and at which the text matching the textual representation of the audio segment appears in the electronic representation.

15. The apparatus of claim 12 , wherein the searching the electronic representation of the textual work for text matching the textual representation comprises searching the electronic representation of the textual work for text exactly matching the textual representation.

16. The apparatus of claim 12 , wherein the searching the electronic representation of the textual work for text matching the textual representation comprises searching the electronic representation of the textual work for text having an edit distance, when compared to the textual representation, below a threshold.

17. The apparatus of claim 12 , wherein:

the plurality of audio positions comprises a first audio position; and

the creating further comprises identifying a first audio position corresponding to a second text position, wherein the identifying the first audio position comprises:

receiving a request for a corresponding text position corresponding to the first audio position, the request identifying the first audio position;

determining whether the mapping includes a second entry including an audio position matching the first audio position identified in the request;

in response to determining that the mapping includes the entry including an audio position matching the first audio position identified in the request, responding to the request with the text position of the entry; and

in response to determining that the mapping does not include an entry including an audio position matching the first audio position identified in the request, identifying a corresponding text position, wherein identifying the corresponding text position comprises:

performing automatic speech recognition (ASR) on a second audio segment of the audio representation of the textual work that appears at the first audio position identified in the request to generate a textual representation of the second audio segment, and

searching the electronic representation of the textual work for text matching the textual representation.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2023
From: NUANCE COMMUNICATIONS, INC.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 065532/0152 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2013
From: GANONG, WILLIAM F., III
To: NUANCE COMMUNICATIONS, INC.
Reel/Frame 030390/0965 →