Abstract:
A method and apparatus is provided for retrieving specified data content derived from recorded speech. An embodiment comprises converting a compressed audio file comprising recorded speech into a corresponding text file divided into multiple segments having unique identifiers. An index constructed from the text file comprises index elements, each associated with particular information in a text file segment. The index is searched to detect one or more text segments, each containing at least some of the specified content. Identifiers of respective detected segments are then used to locate the specified content in the audio file. Only portions of the audio file that contain specified content require decompression, in order to retrieve the content.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The invention disclosed and claimed herein generally pertains to a method and apparatus for locating and retrieving specified content, wherein the content is in a database containing digitized data that has been compressed. More particularly, the invention pertains to a method of the above type wherein the digital data includes compressed audio or video data derived from the speech of one or more speakers. Even more particularly, the invention pertains to a method of the above type wherein the specified content may be located and retrieved from the database without first decompressing other portions of the compressed data that are unrelated to the specified content. 
     2. Description of the Related Art 
     At present, a great deal of important business information is exchanged during discussions involving two or more persons. The discussions can include face-to-face meetings, and can also include conference calls using devices such as telephones or video conferencing equipment. The material discussed can include substantial amounts of detailed technical or financial information. Accordingly, it is often necessary to make a record of the discussions, and to retain the record for future reference or other use. 
     For conferences of the above type, the task of recording associated audio and video data continues to become progressively easier and less expensive. The recorded audio data can include every word of each conference participant, and video data can include viewable images of respective participants as they speak. Recordings can be made of the same participants for successive discussions, that take place over a period of time and cover a number of different topics. However, all such data, both audio and video, is inherently analog in nature. On the other hand, to most effectively process, transmit and store such data, the recorded analog audio and video data should be converted into digital form. The digitized data can also be compressed, for more compact and efficient storage. 
     Notwithstanding the benefits of storing and compressing data as described above, there can also be significant disadvantages, if it becomes necessary to locate and retrieve a particular portion of such data. For example, it may be desired to access all statements in a compressed audio data file that were made by a particular participant in regard to a particular topic. In one obvious prior art approach, the entire audio data file would first be decompressed and converted to analog form. The audio data would then be manually checked, by listening for the desired statements. If the analog data comprised eight hours of audio recording, for example, eight hours of listening would be required. 
     In another prior art approach for searching compressed audio and video data, different segments or portions of the data files are labeled with brief text. These text labels are then available, at some time in the future, for searching and matching by means of a text search engine. However, since this prior art approach is entirely text based, text labels must be applied extensively to the audio and video data files. Otherwise, the text search engine could miss important elements contained in such files. At present, the text labels must be manually created and applied, and this can require a substantial amount of effort. 
     Clearly, it would be beneficial to provide a more efficient and completely automated procedure for searching for specified content included in compressed audio and video data files, and for retrieving such content after it was located. 
     SUMMARY OF THE INVENTION 
     The invention generally provides a method for locating and retrieving specified data content in a database, wherein data in the database is derived from recorded speech. While the data may comprise compressed digital audio or video files associated with the recorded speech, retrieval of the specified content requires decompression of only a portion of the compressed data. The recorded speech may result from discussions involving two or more people over a period of time, or may be the speech of a single person, such as a series of lectures. In one useful embodiment of the invention, a method is provided for locating specified content of the above type. The method includes the step of converting an audio file comprising the recorded speech into a corresponding text file, wherein the text file is divided into multiple text file segments, each having a unique identifier. The method further includes selectively processing the text file to construct a searchable index. The index comprises a number of index elements, each of the index elements being associated with particular information located in one or more of the text file segments. One or more specified search arguments are used to search respective elements of the searchable index, in order to detect one or more text segments that each contains at least some of the specified content. The identifiers of respective detected text segments are then used to locate the specified content in the audio file. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use and further objectives and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein: 
         FIG. 1  is a schematic diagram showing a conferencing arrangement for acquiring data to be used in connection with an embodiment of the invention. 
         FIG. 2  is a block diagram showing a data processing system for use in the arrangement of  FIG. 1  to implement an embodiment of the invention. 
         FIG. 3  is a schematic diagram illustrating text and audio file segment identification in an embodiment of the invention. 
         FIG. 4  is a schematic diagram illustrating the generation of index elements for a searchable index in an embodiment of the invention. 
         FIG. 5  is a flow chart illustrating respective steps of an embodiment of the invention. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     Referring to  FIG. 1 , there are shown representative conference participants A-D. Participants A-D are at different locations, but are each provided with electronic communication devices for engaging in a succession of conferences or discussions with one another. More particularly, participants A-D are respectively provided with telephones  102   a - d , or with other audio responsive devices for transmitting human speech. Participants are further provided with video cameras  104   a - d  or the like, for generating image signals of respective participants as they engage in discussions with one another. 
     Referring further to  FIG. 1 , there is shown the communication devices of participants A-D connected to a generalized communication network  106 , by respective links or transmission paths  108   a - d . Network  106  could, for example, be the Internet or a local area network (LAN). In addition,  FIG. 1  shows each of the paths directed to a common switching mechanism  110 . Thus, switching mechanism  110  receives all the audio signals provided by respective devices  102   a - d , as well as the video signals generated by devices  104   a - d . Switching mechanism  110  is further operable to route all the audio and video transmissions received from one participant to other participants, during successive conferences. 
       FIG. 1  further shows a data processing system  112  connected to receive an input from switching mechanism  110 . More particularly, the data processing system receives all the audio and video information produced by respective participants A-D, and stores this information in audio and video data files. This data is derived from one or more conferences among the participants, over a selected period of time. Usefully, the data for each participant is stored in files separate from those of other participants. This may be accomplished, for example, by means of software that enables system  112  to readily distinguish between audio signals representing the voices of different participants. 
     After the audio and video data files have been stored, system  112  is operated to process the stored data files in accordance with an embodiment of the invention. This embodiment is described hereinafter, in further detail. 
     Referring to  FIG. 2 , there is shown a block diagram of a generalized data processing system, which is usefully employed as data system  112  in implementing embodiments of the present invention. Data processing system  112  exemplifies a computer, in which code or instructions for implementing the processes of the present invention may be located. Data processing system  112  usefully employs a peripheral component interconnect (PCI) local bus architecture, although other bus architectures may alternatively be used.  FIG. 2  shows a processor  202  and main memory  204  connected to a PCI local bus  206  through a Host/PCI bridge  208 . The stored audio and video data files referred to above may be stored in memory  204 . PCI bridge  208  also may include an integrated memory controller and cache memory for processor  202 . 
     Referring further to  FIG. 2 , there is shown a local area network (LAN) adapter  212 , a small computer system interface (SCSI) host bus adapter  210 , and an expansion bus interface  214  respectively connected to PCI local bus  206  by direct component connection. Audio adapter  216 , a graphics adapter  218 , and audio/video adapter  222  are connected to PCI local bus  206  by means of add-in boards inserted into expansion slots. SCSI host bus adapter  210  provides a connection for hard disk drive  220 , and also for CD-ROM drive  224 . 
     An operating system runs on processor  202  and is used to coordinate and provide control of various components within data processing system  112  shown in  FIG. 2 . The operating system may be a commercially available operating system such as Windows XP, which is available from Microsoft Corporation. Instructions for the operating system and for applications or programs are located on storage devices, such as hard disk drive  220 , and may be loaded into main memory  204  for execution by processor  202 . 
     After recorded audio data is received by data processing system  112  as described above, the audio data is converted from analog to digital form. The data processing system is then operated to carry out an initial step in an embodiment of the invention. More particularly, system  112  converts all the digitized speech-related audio information in an audio data file into corresponding text. System  112  may, for example, implement currently available speech to text conversion software, such as products known as IBM ViaVoice or Dragon NaturallySpeaking software, to perform this task. Thus, recorded speech of each of the participants A-D is rendered into readable text, in a textual data file. Usefully, the text representing the contribution of each conference participant, in like manner with the audio files, will be placed in a textual data file that is separate from those of other participants. After textual data files have been prepared from the audio data for all participants, the audio data is compressed for more efficient storage. 
     Referring to  FIG. 3 , there is shown a further task carried out by data processing system  112  as it prepares a textual data file.  FIG. 3  shows a portion of a textual data file  302 , which provides the text of comments or other contributions of participant B. File  302  is divided into successive 30-second text data segments  304   a - d , wherein time stamps  306   a - d  are applied to respective text segments. Thus, segment  304   a  contains a textual representation of any audio contribution made by participant B during a 30-second period between 10:25:00 and 10:25:30, on the date indicated. Segment  304   b  contains the textual representation during the immediately following 30-second period. It will thus be apparent from  FIG. 3  that the content at any segment of the textual data file of participant B can be readily located, by providing the corresponding time stamp for such segment. 
     Referring further to  FIG. 3 , there is shown a portion of the compressed audio data file  308  that corresponds to textual data file portion  302 . That is, file portion  308  comprises audio data segments  310   a - d , wherein the data in each segment is the compressed audio data equivalent of the textual data in segments  304   a - d , respectively. Moreover, it is seen that each audio data segment  310   a - d  is provided with the same time stamp  306   a - d  as its respectively corresponding text segment  304   a - d . Accordingly, if the time stamp of a text data segment is known, such time stamp can be used to locate the corresponding audio segment of the compressed audio data file. The data in the audio segment may then be readily accessed. 
     After data processing system  112  has generated textual data files with time stamps, as described above, each text file is analyzed with data mining software, in order to identify topics of discussion for other key elements. For example, a concordance may be created of all words used in the discussions among the participants, as indicated by the text files. Respective words in the concordance are then processed, to identify words and word combinations, or phrases, that have the greatest frequencies of use. Such words and phrases are likely to be topics of the adjacent blocks of discussion. Each participant may also assign topics to blocks of text manually, based on his or her understanding of the respective discussions. 
     After various words or phrases are found to be topics, or are otherwise determined to likely be of interest, all such words and phrases are placed into a searchable index as index elements. In the index, a given element is linked to the time stamps of all the text data segments in which it occurs or is found. The index may be stored, for example, in memory  204  of data processing system  112 . 
     As an example of an element of the searchable index,  FIG. 4  shows the frequency of the word “oscillator”, as used by one or more participants during a time period T in one of the conferences. A word may be selected as an index element if it is found to have a specified minimum frequency of use. 
       FIG. 5  is a flow chart briefly setting forth successive steps of a procedure in accordance with the invention, for locating and retrieving specified audio file content. Function block  502  of  FIG. 5  shows that audio data, recorded during a series of participant conferences, is received and stored in corresponding audio data files. As stated above, the audio data for different participants is stored in separate audio files. Function blocks  504  and  506  respectively show that the audio data is converted from analog to digital form, and corresponding textual data files are generated from the respective digitized audio files. 
     Function block  508  indicates that each text file is divided into successive text segments, and a time stamp is applied to each text segment. In accordance with function block  510 , respective audio files are compressed and then similarly divided into audio segments. As stated above, each audio segment corresponds to a text segment, and contains corresponding data. Each audio segment is identified by the same time stamp as its corresponding text segment. 
     Referring further to  FIG. 5 , function block  512  shows construction of a searchable index. In accordance with function block  514 , a number of specified arguments are used to search the index. For example, the arguments could be “phased lock loop” combined with “keystone project”. Searching the index for these arguments would provide the time stamp identifying each text segment that contained content pertaining to both terms together. As shown by function block  516 , the time stamps of text segments detected during the search would then be used to locate the corresponding audio segments, which would collectively contain all the content of interest. In accordance with function block  518 , only those audio segments would be decompressed to recover the content of interest. Other segments of the audio file would not be decompressed. 
     It will be readily apparent that a video file corresponding to audio and text files could be searched for specified content, in like manner with the audio file. 
     The invention can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In a preferred embodiment, the invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc. 
     Furthermore, the invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. 
     The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD. 
     A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution. 
     Input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I/O controllers. 
     Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters. 
     The description of the present invention has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiment was chosen and described in order to best explain the principles of the invention, the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.