# Patent

## Title
System and method for modifying a language model and post-processor information

## Abstract

A system and method for automatically modifying a language model and post-processor information is provided. The system includes the steps of language model identification, site-specific model creation, and language model adaptation.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims the benefit of priority of U.S. Provisional Patent Application No. 60/507,134, entitled “SYSTEM AND METHOD FOR MODIFYING A LANGUAGE MODEL AND POST-PROCESSOR INFORMATION,” filed Oct. 1, 2003, which is hereby incorporated by reference in its entirety.
This application also relates to co-pending U.S. patent application Ser. No. 10/413,405, entitled, “INFORMATION CODING SYSTEM AND METHOD”, filed Apr. 15, 2003; co-pending U.S. patent application Ser. No. 10/447,290, entitled, “SYSTEM AND METHOD FOR UTILIZING NATURAL LANGUAGE PATIENT RECORDS”, filed on May 29, 2003; co-pending U.S. patent application Ser. No. 10/448,317, entitled, “METHOD, SYSTEM, AND APPARATUS FOR VALIDATION”, filed on May 30, 2003; co-pending U.S. patent application Ser. No. 10/448,325, entitled, “METHOD, SYSTEM, AND APPARATUS FOR VIEWING DATA”, filed on May 30, 2003; co-pending U.S. patent application Ser. No. 10/448,320, entitled, “METHOD, SYSTEM, AND APPARATUS FOR DATA REUSE”, filed on May 30, 2003; co-pending U.S. patent application Ser. No. 10/948,625, entitled “METHOD, SYSTEM, AND APPARATUS FOR ASSEMBLY, TRANSPORT AND DISPLAY OF CLINICAL DATA”, filed Sep. 23, 2004; co-pending U.S. Provisional Patent Application Ser. No. 60/507,136, entitled, “SYSTEM AND METHOD FOR DATA DOCUMENT SECTION SEGMENTATIONS”, filed on Oct. 1, 2003; co-pending U.S. Provisional Patent Application Ser. No. 60/507,135, entitled, “SYSTEM AND METHOD FOR POST PROCESSING SPEECH RECOGNITION OUTPUT”, filed on Oct. 1, 2003; co-pending U.S. patent application Ser. No. 10/951,291, entitled, “SYSTEM AND METHOD FOR CUSTOMIZING SPEECH RECOGNITION INPUT AND OUTPUT”, filed Sep. 27, 2004; co-pending U.S. Provisional Patent Application Ser. No. 60/533,217, entitled “SYSTEM AND METHOD FOR ACCENTED MODIFICATION OF A LANGUAGE MODEL” filed on Dec. 31, 2003, co-pending U.S. Provisional Patent Application Ser. No. 60/547,801, entitled, “SYSTEM AND METHOD FOR GENERATING A PHRASE PRONUNCIATION”, filed on Feb. 27, 2004, co-pending U.S. patent application Ser. No. 10/787,889 entitled, “METHOD AND APPARATUS FOR PREDICTION USING MINIMAL AFFIX PATTERNS”, filed on Feb. 27, 2004; co-pending U.S. Provisional Application Ser. No. 60/547,797, entitled “A SYSTEM AND METHOD FOR NORMALIZATION OF A STRING OF WORDS,” filed Feb. 27, 2004; and co-pending U.S. Provisional Application Ser. No. 60/505,428, entitled “CATEGORIZATION OF INFORMATION USING NATURAL LANGUAGE PROCESSING AND PREDEFINED TEMPLATES”, filed Mar. 31, 2004, all of which co-pending applications are hereby incorporated by reference in their entirety.


BACKGROUND OF THE INVENTION
The present invention relates generally to a system and method for producing an optimal language model for performing speech recognition.
Today's speech recognition technology enables a computer to transcribe spoken words into computer recognized text equivalents. Speech recognition is the process of converting an acoustic signal, captured by a transducive element, such as a microphone or a telephone, to a set of words. These words can be used for numerous applications including data entry and word processing. The development of speech recognition technology is primarily focused on accurate speech recognition, which is a formidable task due to the wide variety of pronunciations, individual accents, and speech characteristics of individual speakers. Speech recognition is also complicated by the highly technical and scientific vocabulary used in certain applications for speech recognition technology, such as in the medical profession.
The key to speech recognition technology is the language model. A language model describes the type of text the dictator will speak about. For example, speech recognition technology designed for the medical profession will utilize different language models for different specialties in medicine. In this example, a language model is created by collecting text from doctors in each specialty area, such as radiology, oncology, etc. The type of text collected would include language and words associated with that practice, such as diagnoses and prescriptions.
Today's state of the art speech recognition tools utilize a factory (or out-of-the-box) language model and a separate customizable site-specific language model. A recognition server determines if the site language model requires updating by monitoring the dates the factory language model and the customized site-specific language model were created, modified, or copied. The site language model would then be updated via a process to add words. Making updates to the factory language models requires the recognition server to run through and update all of the language models before they are ready to run recognition tasks.
Separate independent processes are used to (1) update the site language model, and (2) perform the batch speech recognition task using the updated site-specific language model. If the recognition server had not updated the site language model, the previous out-of-date site language model would be used in step 2. Once the speech recognition creates a transcribed output report using the language model, the transcribed report is then run through post-processing which applies formatting to the report.
What is needed is speech recognition technology that automatically updates the site language model and ensures that the most up-to-date site language model is used for recognition.
SUMMARY OF THE INVENTION
The present invention includes a system and method for modifying a language model and post-processor information by adding site specific words to a vocabulary and using preexisting corrected reports along with an optional accented word list to update the task language model.
In a first embodiment, the system may include the steps of language model identification, site-specific model creation, and language model adaptation. In language model identification, the method includes collecting a set of language models, collecting a set of corrected dictated reports, collecting site specific data from a user, matching each dictated report with each language model, determining a perplexity factor for each language model, and determining the language model having the lowest perplexity factor. Each corrected dictated report is matched with each language model and a perplexity factor is determined for each language model. The language model having the lowest perplexity factor is then selected. A site-specific language model is then created by adding the site specific data to the selected language model. In some embodiments, the site specific data includes add word lists and post processing information such as spacing and capitalization. In language model adaptation, a task language model is then created by adapting the site specific language model by updating a set of statistics for the language model, and adding an accent word list to the language model. In some embodiments there is the step of creating a site-specific language model by adding the site specific data to the language model having the lowest perplexity factor and adapting the site specific language model to create a task language model, and outputting the task language model. In some embodiments the adapting step may include updating a set of statistics for the language model and adding an accent word list to the language model to create a task language model. In some embodiments the set of statistics includes bigrams or trigrams. In some embodiments there is a step of adapting the language model with the lowest perplexity factor to create a task language model, and outputting the task language model. The adapting step may include the language model with the lowest perplexity factor including updating a set of statistics for the language model and adding an accent word list to the language model to create the task language model.
In a second embodiment the present invention includes a system and method for modifying a language model and post-processor information, including the steps of collecting the language model, collecting a set of corrected dictated reports, collecting site specific data from a user, determining whether the user has an accent, creating an accent specific list based on the user's accent; and creating a site-specific language model by adding the site specific data to the language model.
In a third embodiment the present invention includes a system and method for modifying a language model and post-processor information, including the steps of collecting the language model, collecting a set of corrected dictated reports, collecting site specific data from a user, determining whether the user has an accent, creating an accent specific list based on the user's accent, and adapting the language model to create a task language model, and outputting the task language model.
In a fourth embodiment the present invention includes an apparatus structured and arranged to modify a language model and post-processor information, including collecting the language model, collecting a set of corrected dictated reports, collecting site specific data from a user, determining whether the user has an accent, creating an accent specific list based on the user's accent, and adapting the language model to create a task language model, and outputting the task language model.



BRIEF DESCRIPTION OF THE DRAWINGS
While the specification concludes with claims particularly pointing out and distinctly claiming the present invention, it is believed the same will be better understood from the following description taken in conjunction with the accompanying drawings, which illustrate, in a non-limiting fashion, the best mode presently contemplated for carrying out the present invention, and in which like reference numerals designate like parts throughout the Figures, wherein:
FIG. 1 shows an architecture view of the system and method for modifying a language model in accordance with certain teachings of the present disclosure;
FIG. 2 shows the language model identification 100;
FIG. 3 is a flow diagram showing the steps for modifying each stage in FIG. 1;
FIG. 4 shows an alternative embodiment of the steps for executing stage 1 language model identification; and
FIG. 5 shows the flow of work through a speech recognition server in accordance with certain teachings of the present disclosure.



DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
The present disclosure will now be described more fully with reference the to the Figures in which an embodiment of the present disclosure is shown. The subject matter of this disclosure may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein.
Referring to FIG. 1 shows an architecture view of the system and method for modifying a language model in accordance with certain teachings of the present disclosure. The inputs to the proposed process include a collection of factory language models 100 that are each designed to support a different type of report, a collection of site specific words 102 that tend to be used at a specific location, and a collection of previously corrected reports 104 for the specific user and the particular work type.
The process to automatically modify a language model runs in three stages. In stage 1 (110), language model identification chooses the best factory language model 106 from the collection of factory language models 100. FIG. 2 illustrates the concept of the language model identification 110 step. Each of the factory language models 100 is associated with a specific task or a specific subject matter. For example, as shown in FIG. 2, a collection of factory language models in the medical profession may be associated with the type of medicine that the user/doctor practices. In this illustrative embodiment, LM1 is a factory language model associated with radiology, LM2 is a factory language model associated with internal medicine, LM3 is a factory language model associated with cardiology, and LM10 is a general factory language model associated with the overall medical profession.
The collection of corrected reports 104 is used to choose the best factory language model 106 and are reports that a user has dictated for the same worktype. For example, in the medical profession, the collection of corrected text reports 104 may include the name of common diagnoses, drugs, and procedures that this doctor dictates about when reporting in this worktype. In one embodiment of this step, each factory language model is matched and compared with corrected text reports 104 in order to determine a perplexity factor for each language model. The language model with the lowest perplexity is selected as the best factory language model 106 for the present application.
In stage 2 (120), the collection of site-specific words 102 are added to the best factory language model 106 in order to create the site language model 108. For example, for speech recognition applications for the medical industry, site-specific words may include doctor names, place names, names of procedures, names of diagnoses, and drug names. If appropriate, an accented word list 114 may also be added at this stage to ensure a better match for users with specific accents.
In stage 3 (130), language model adaptation applies the collection of corrected reports 104 to adapt the site language model 108 to the individual user's speaking style. This is accomplished with bi-grams and tri-grams, which statistically break down the pattern of words used by a specific individual, and acts to actively predict the next most likely word to follow a distinctive word. For example, the next most likely word to follow a doctor's use of the word “dilated” might be “pupil.” The output from this stage is a task language model 112. If appropriate, an accented word list 114 may also be added at this stage to ensure a better match for users with specific accents. Furthermore, it is envisioned that postprocessor information may also be implemented to customize the task language model and thus the speech recognition output, enabling site-specific formatting such as capitalization, and heading format.
The process described herein is implemented automatically using, for example, a computer program in C++ implementing a CDependency object. This CDependency object would be utilized in each of the three stages described with respect to FIG. 1. FIG. 3 illustrates the general algorithm employed by the CDependency object for each stage. First (300), the object determines if any sub-dependencies need to be updated prior to evaluating the inputs to the stage. An example of a sub-dependency would be the language model from a previous stage in the system. For example, referring back to FIG. 1, the task language model 112 depends on the site language model 108 which depends on the selected factory language model 106. Each sub-dependency would be updated in this sequential manner (factory language models, then site language model, then task language model). The CDependency object then would then acquire each of the required inputs (310) and determines whether that stage must be updated to create a new output (320). If that stage is already up-to-date, the pre-existing output of that stage is loaded. If the stage is not up-to-date, that stage is run to create an updated output (330). If any changes were made to that stage, the new output is saved for use in the next stage (340). The same CDependency object can also used to update a post-processor initialization (INI) file. The main inputs to this stage are the factory-created post-processor INI file as well as site-customized post-processor INI files. These files include, for example, formatting information such as headings, capitalization, spacing, font, etc. This post-processor INI customization is updated in one-step and can be used to post-process the output of speech recognition, enabling site-specific formatting of the final output report text.
FIG. 4 shows an alternative embodiment of the steps for automatically executing stage 1 language model identification (LMID) in relation to a speech recognition server. LMID runs automatically whenever the speech recognition server detects new language models have been added to the system. According to the algorithm shown in FIG. 4, the language model identification runs if the dictator does not have a language model assigned for this worktype (402) and has enough corrected text (e.g., >2100 words) to make a selection of the best language model (404), or if the language model identification needs to be rerun due to new or updated language models (400). If not enough corrected text is present locally, an attempt will be made to retrieve corrected text from the speech recognition server. The corrected text is then automatically downloaded from the speech recognition server and will be used by the local dictator program in language model identification (406). As is demonstrated by FIG. 4, LMID, which is a scheduled event in the prior art, may now be launched automatically on an as needed basis depending on the availability of updated information. The same inventive concept can be utilized with respect to stage 2 and stage 3 of the process described in FIG. 1, constantly updating the site language model and task language model, respectively, as more updated site-specific word lists, accented word lists, and corrected reports are added to the speech recognition server.
The flow chart in FIG. 4 describes several scenarios that may occur. First, the job may be submitted without need to run the language model identification (Path A). Second, the language model identification may need to be run, and enough corrected text is present such that the speech recognition server does not download any additional text (Path B). Third, the language model identification may need to be run, and not enough corrected text is present on the management server such that the speech recognition server must download additional corrected text (Paths C and D). Fourth, the language model identification may need to run, yet not enough corrected text is present even after the download from the speech recognition server (Path E). In this case, one option is that the language model defaults to a certain model, such as a general or overall language model. Either speech recognition and correction, or manual transcription can be used to generate more reports, in order to collect more text till there is enough to support LMID
FIG. 5 shows one embodiment for the flow of work for stage 1 language model identification (LMID) through a speech recognition server in accordance with certain teachings of the present disclosure. Interface DLL 500 represents an interface to the outside systems or in this case it would be the EX Speech voice system. Text documents flow to the EX Server 510 via line 505. In the preferred embodiment it is desirable to obtain information about a specified recognition request. A request can be made of the LMID 520 object and a check 515 can be instructed to represent the request. The LMID 520 must determine, based upon a recognition request configuration, whether the specific request requires a LMID. In the present example, the system assumes that it will require LMID. The LMID therefore requires existing data from the Text System which is sought via line 512 through the interface DLL 500.
Once data returns from the text system a signal is sent to the recognition wrappers or agents 530 which is indicated by line 525. The wrapper 530 may be a self-contained component that contains the speech server, or it may sit on a machine external to a speech server. Wrapper 530 is the entity that does the speech recognition tasks. Line 525 represents the LMID 520 object submitting a request to the recognition wrapper 530 to do the LMID task.
Returning to FIG. 5, the recognition wrapper 530 on the system to returns to LMID. Once that returns, the LMID object will use the new value of the LMID chosen by the wrapper 530. The system will update the record (line 527) in memory in the job structure and then return that back to the EX server 510 via line 543. Once the EX server 510 now has received the updated job, and the LM has been updated, the job may be forwarded to the recognition wrapper 530 via line 540. Once that response is returned the system evaluates whether or not it is successful or not (line 545). Assuming success, the database structure that assigns the appropriate LM to this user for this worktype can be updated.
It will be apparent to one of skill in the art that described herein is a novel system and method for automatically modifying a language model. While the invention has been described with reference to specific preferred embodiments, it is not limited to these embodiments. The invention may be modified or varied in many ways and such modifications and variations as would be obvious to one of skill in the art are within the scope and spirit of the invention and are included within the scope of the following claims.

## Claims

1. A method in a computer system for selecting a language model, the method comprising:
operating the computer system to perform steps of:
collecting a plurality of language models;
collecting a set of corrected dictated reports;
comparing the corrected dictated reports with the plurality of language models;
determining a perplexity factor for each of the plurality of language models based on the comparison with the corrected dictated reports; and
selecting the one of the plurality of language models having the lowest perplexity factor.

2. The method according to claim 1, further comprising:
collecting site specific data from a user of said computer system; and
creating a site-specific language model by adding the site specific data to the selected one of the plurality of language models having the lowest perplexity factor.

3. The method according to claim 2, wherein the site specific data comprises add word lists and post processing information.

4. The method according to claim 3, further comprising adapting the site-specific language model to create a task language model, and outputting the task language model.

5. The method according to claim 4, wherein adapting the site-specific language model comprises:
updating a set of statistics for the site-specific language model; and
adding an accent word list to the site-specific language model to create the task language model.

6. The method according to claim 5, wherein the set of statistics includes bigrams or trigrams.

7. The method according to claim 1, further comprising adapting the selected one of the plurality of language models with the lowest perplexity factor to create a task language model, and outputting the task language model.

8. The method according to claim 7, wherein adapting the selected one of the plurality of language models with the lowest perplexity factor comprises:
updating a set of statistics for the selected one of the plurality of language models; and
adding an accent word list to the selected one of the plurality of language models to create the task language model.

9. The method according to claim 8, wherein the set of statistics includes bigrams or trigrams.

10. A method in a computer system comprising:
operating the computer system to perform steps of:
selecting a language model from among a plurality of factory language models;
collecting site specific data from a user;
transforming the selected language model into a site-specific language model by adding the site-specific data to the selected language mode;
determining whether the user has an accent;
creating an accent specific word list based on the user's accent; and
adding the accent specific word list to the site-specific language model.

11. The method according to claim 10, further comprising;
adapting the site-specific language model to create a task language model; and
outputting the task language model.

12. The method according to claim 11, wherein adapting the site-specific language model further comprises:
updating a set of statistics for the site-specific language model.

13. The method according to claim 12, wherein the set of statistics includes bigrams and/or trigrams.

14. A computer system comprising:
at least one computer programmed to perform steps of:
selecting a language model from among a plurality of factory language models;
collecting site specific data from a user;
transforming the selected language model into a site-specific language model by adding the site specific data to the selected language mode;
determining whether the user has an accent;
creating an accent specific word list based on the user's accent; and
adding the accent specific word list to the site-specific language model.

15. The computer system according to claim 14, wherein the at least one computer is further programmed to:
adapt the site specific language model to create a task language model; and
output the task language model.

16. The computer system according to claim 15, wherein adapting the site-specific language model further comprises:
updating a set of statistics for the selected language model.

17. The computer system according to claim 16, wherein the set of statistics includes bigrams or trigrams.