IP Library Granted Patent US 12,079,270
Granted Patent B2
US 12,079,270 · App. 16/708,011 · Granted Sep 3, 2024

System and method for multi-media search in a content management system

Inventors: Gajendra Babu Bandhu (Bangalore, IN); Sharath Babu Pulumati (Warangal, IN)
Assignee: OPEN TEXT HOLDINGS, INC.
G06F16/638G06F16/61G06F16/683
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 12,079,270
App. No.
16/708,011
Granted
Sep 3, 2024
Kind
B2
Abstract

A system comprising a client computer, a data store comprising a content management repository, a server computer coupled to the client computer by a network, the server computer comprising code for: receiving audio data; converting the audio data to text; extracting a specified string from the text as an extracted string; determining an extracted string attribute for the extracted string; storing a media file containing the audio data as a content object; configuring the content object to be searchable by the extracted string; receiving a search query from the client application; searching a plurality of managed objects based on the search query; and based on determining that the extracted string matches a search string, returning an indication of the first media file, the extracted string and the extracted string attribute in a search result.

Claims (71)

1. A computer program product comprising a non-transitory computer-readable medium storing computer-readable instructions for:

providing a content management system, the content management system comprising a content management repository;

assigning, by the content management system, a unique identifier to a voice assistant device;

receiving audio data to be stored in the content management repository, the audio data associated with the voice assistant device;

converting, by an automatic speech recognition (ASR) processor, the audio data to produce a set of text that includes one or more attributes of the audio data associated with portions of the set of text;

in response to converting the audio data to the set of text:

accessing a configuration that specifies information to be extracted from text produced by the ASR processor, the configuration defining:

a set of target strings to be extracted; and

one or more target attributes to determine for strings matching target strings from the set of target strings;

using the configuration:

extracting, by matching text from the set of text to a specified string defined in the configuration, an extracted string, wherein the extracted string matches the specified string defined in the configuration; and

extracting, from the set of text produced by the ASR processor and based on the configuration, a corresponding attribute of the extracted string, the corresponding attribute included in the one or more target attributes defined by the configuration;

storing a first media file containing the audio data in the content management repository as a first managed object owned by the voice assistant device, the first managed object comprising a set of object properties, including an object identifier (ID) of the first managed object, and the first media file;

configuring the first managed object to be searchable by the extracted string, wherein configuring the first managed object to be searchable by the extracted string further comprises:

storing the extracted string in the set of object properties of the first managed object;

storing the corresponding attribute of the extracted string in the set of object properties of the first managed object;

assigning a search privilege to the first managed object for the voice assistant device using the unique identifier of the voice assistant device; and

indexing the first managed object, including the extracted string;

receiving, via a programmatic interface, a search query from a voice assistant tool service, the search query comprising a search string and the unique identifier of the voice assistant device;

searching a plurality of managed objects in the content management repository based on the search query for managed objects that match the search query;

determining that the extracted string matches the search string and that the voice assistant device is permitted access to the first managed object according to the search privilege;

generating a search result, wherein generating the search result comprises an indication of the first media file, the extracted string and the corresponding attribute of the extracted string in the search result, wherein the indication of the first media file, the extracted string and the corresponding attribute of the extracted string are included in the search result based on a determination that the extracted string matches the search string and that the voice assistant device is permitted access to the first managed object according to the search privilege, and wherein the indication of the first media file includes the object ID of the first managed object, as stored in the content management repository; and

returning the search result to the voice assistant tool service via the programmatic interface.

2. The computer program product of claim 1 , wherein receiving the audio data comprises receiving the first media file.

3. The computer program product of claim 1 , wherein the computer-readable instructions further comprise instructions for determining a set of metadata for the first media file and storing the set of metadata in the set of object properties, wherein searching the plurality of managed objects includes:

searching the set of metadata, and

performing a full text search of another data structure that stores extracted strings.

4. The computer program product of claim 1 , wherein the set of object properties include a duration of the first media file.

5. The computer program product of claim 1 , wherein the computer-readable instructions further comprise instructions for determining a determined attribute that includes a count of a number of times the extracted string appears in the set of text.

6. The computer program product of claim 1 , wherein the corresponding attribute that is extracted from the received set of text includes a time at which the extracted string appears in the first media file.

7. The computer program product of claim 1 , wherein storing the extracted string and corresponding attribute in the set of object properties comprises storing the extracted string and corresponding attribute as repeating properties of the first managed object.

8. The computer program product of claim 1 , wherein the computer-readable instructions further comprise instructions for:

storing a second file in the content management repository, the second file containing the extracted string and corresponding attribute; and

associating the second file with the first media file in the first managed object.

9. A system comprising:

a client computer comprising a client application executable to provide an interface between an end-user and a content management system;

a data store;

a server computer coupled to the client computer by a network, the server computer comprising code for:

providing the content management system, the content management system comprising a content management repository on the data store, the content management repository comprising a plurality of managed objects;

assigning, by the content management system, a unique identifier to a voice assistant device;

receiving, from the client application, audio data to be stored in the content management repository, the audio data associated with the voice assistant device;

converting, by an automatic speech recognition (ASR) processor, the audio data to a set of text that includes one or more attributes of the audio data associated with portions of the set of text;

in response to converting the audio data to the set of text:

accessing a configuration that specifies information to be extracted from text produced by the ASR processor, the configuration defining:

a set of target strings; and

one or more target attributes to determine for strings matching target strings from the set of target strings;

using the configuration:

extracting, by matching text from the set of text to a specified string defined in the configuration, an extracted string, wherein the extracted string matches the specified string defined in the configuration; and

extracting, from the set of text produced by the ASR processor and based on the configuration, a corresponding attribute of the extracted string, the corresponding attribute included in the one or more target attributes defined by the configuration;

storing a first media file containing the audio data in the content management repository as a first managed object owned by the voice assistant device, the first managed object comprising a set of object properties, including an object identifier (ID) of the first managed object, and the first media file;

configuring the first managed object to be searchable by the extracted string, wherein configuring the first managed object to be searchable by the extracted string further comprises:

storing the corresponding attribute of the extracted string in the set of object properties of the first managed object;

storing the corresponding attribute in the set of object properties of the first managed object; and

assigning a search privilege to the first managed object for the voice assistant device using the unique identifier of the voice assistant device; and

indexing the first managed object, including the extracted string;

receiving, via a programmatic interface, a search query from a voice assistant tool service, the search query comprising a search string and the unique identifier of the voice assistant device;

searching the plurality of managed objects in the content management repository based on the search query for managed objects that match the search query; and

determining that the extracted string matches the search string and that the voice assistant device is permitted access to the first managed object according to the search privilege;

generating a search result, wherein generating the search result comprises an indication of the first media file, the extracted string and the corresponding attribute of the extracted string in the search result, wherein the indication of the first media file, the extracted string and the corresponding attribute of the extracted string are included in the search result based on a determination that the extracted string matches the search string and that the voice assistant device is permitted access to the first managed object according to the search privilege, and wherein the indication of the first media file includes the object ID of the first managed object, as stored in the content management repository; and

returning the search result to the voice assistant tool service via the programmatic interface.

10. The system of claim 9 , wherein receiving the audio data comprises receiving the first media file.

11. The system of claim 9 , wherein the server computer further comprises code for determining a set of metadata for the first media file and storing the set of metadata in the set of object properties, wherein searching the plurality of managed objects includes:

searching the set of metadata, and

performing a full text search of another data structure that stores extracted strings.

12. The system of claim 9 , wherein the set of object properties include a duration of the first media file.

13. The system of claim 9 , wherein the server computer further comprises code for determining a determined attribute that includes a count of a number of times the extracted string appears in the set of text.

14. The system of claim 9 , wherein the corresponding attribute that is extracted from the received set of text includes a time at which the extracted string appears in the first media file.

15. The system of claim 9 , wherein storing the extracted string and corresponding attribute in the set of object properties comprises storing the extracted string and corresponding attribute as repeating properties of the first managed object.

16. The system of claim 9 , wherein the server computer further comprises code for:

storing a second file in the content management repository, the second file containing the extracted string and corresponding attribute; and

associating the second file with the first media file in the first managed object.

Assignments (2)
MERGER Recorded May 18, 2026
From: OPEN TEXT HOLDINGS, INC.
To: OPEN TEXT INC.
Reel/Frame 074678/0874 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2020
From: BANDHU, GAJENDRA BABU; PULUMATI, SHARATH BABU
To: OPEN TEXT HOLDINGS, INC.
Reel/Frame 051545/0242 →
Continuity (1)
Related Publication 20210173865A1 · Jun 10, 2021