Patent Description:
In the modern world, as technology progresses, Artificial Intelligence (AI) systems take a greater role in all fields of industry. AI systems are "data-hungry" and are based on machine learning technology with a training stage. The training model requires a large amount of data as an input, in order to provide good results. The more diverse the data is the better are the results of the machine learning system. The necessity to provide a large amount of data to the AI training model is a challenge that is faced constantly.

"<CIT>, hereinafter "Thomson") teaches a method of training speech recognition systems using word sequences (Thomson, Title). Thomson teaches obtaining a first audio data of a communication session between a first device and a second device, obtaining a text string that is a transcription of the first audio data, and selecting a contiguous sequence of words from the text string as a first word sequence. Thomson then teaches comparing the first word sequence to multiple word sequences obtained before the communication session and in response to the first word sequence corresponding to one of the multiple word sequences, incrementing a counter of multiple counters associated with the one of the multiple word sequences. Subsequently, Thomson teaches deleting the text string and the first word sequence and training and after deleting the text string and the first word sequence, training a language model of an automatic transcription system using the multiple word sequences and the multiple counters (Thomson, Abstract). <CIT>, hereinafter "Jose") teaches Data shredding for speech recognition language model training under data retention restrictions (Jose, Title). As explained by Jose (e.g., Jose, Abstract), training speech recognizers, e.g., their language or acoustic models, using actual user data is useful, but retaining personally identifiable information may be restricted in certain environments due to regulations. Accordingly, Jose teaches a method or system for enabling training of a language model which includes producing segments of text in a text corpus and counts corresponding to the segments of text, the text corpus being in a depersonalized state. The method described by Jose includes enabling a system to train a language model using the segments of text in the depersonalized state and the counts.

The following embodiments and aspects thereof are described and illustrated in conjunction with systems, tools and methods which are meant to be exemplary and illustrative, not limiting in scope.

There is provided, in an embodiment, a method according to claim <NUM>.

There is also provided, in an embodiment, a computer program, comprising instructions which, when the program is executed by a processor, cause the processor to carry out the method of the present disclosure.

There is further provided, in an embodiment, a system according to claim <NUM>.

In some embodiments, the re-training optimizes an accuracy parameter associated with said textual output of said trained speech recognition algorithm.

In some embodiments, the re-trained trained speech recognition algorithm is applied to one or more target audio files, to obtain textual output corresponding to each of said target audio files. In some embodiments, the re-training is performed at least in response to deviations in an expected distribution of features in said target audio files.

In some embodiments, the selecting based on said content comprises rejecting said portions whose corresponding textual output comprises at least one of: a numerical string; textual output which matches an entry in a known database; and textual output which matches, at least in part, the textual output corresponding to another portion in said subset.

In some embodiments, the duration is between <NUM> and <NUM> seconds.

In some embodiments, the confidence score is between <NUM> and <NUM>.

Combinations or sub-combinations of features disclosed herein may also be considered.

Disclosed herein are a method and system for optimized continuous re-training of a speech recognition machine learning model.

In some embodiments, the machine learning model is trained to perform the technical purpose of speech recognition, e.g., mapping a speech input to a text output. In some embodiments, the steps of generating the re-training set and training the machine learning model contribute to optimizing the technical purpose of the machine learning model.

In some embodiments, the machine learning model is initially trained, at least in part, on a training set comprising audio files comprising speech, wherein the audio files are labelled with a 'ground truth' transcription (which may be obtained through manual transcription of the audio files).

In some embodiments, the machine learning model is deployed into production to perform the technical purpose of transcribing speech recordings into textual output.

However, the distributions of the features and characteristics of the production environment inputs may change over time in ways which may violate the model's assumptions, and, consequently, the predictive performance of the model may degrade over time, due to these changes, in a phenomenon known as 'drift.

Accordingly, model deployment should be treated as a continuous process. Rather than deploying a model once and moving on to another project, machine learning models are desirably retrained, continuously or periodically, to account for deviations in input data distributions.

Therefore, in some embodiments, the machine learning model of the present disclosure is retrained based on an optimized training set selected from prior results obtained from the machine learning model, wherein the prior results are selected, processed and labelled to achieve optimized re-training results.

In some embodiments, the source of training data may be audio files obtained from call centers and or customer service centers, which conduct a large number of customer calls.

Because these audio files may include private information pertaining to individuals whose privacy must be protected under applicable laws and regulation, in some embodiments, the training set generating process further provides for removal of private information from the data set used as an input for the training model.

Privacy regulations, such as the EU General Data Protection Regulation (GPDR), impose large penalties on companies for privacy breaches. In addition, companies may face reputational damage from mishandling customers' private data. As such, the present invention may be especially useful for service providers such as online retailers, financial institutions, healthcare providers, and any other enterprise digitally hosting large amounts of customers' personal information, which must be protected from intentional misuse and/or misappropriation, as well as unintentional leaks. Unintended privacy breaches can result, e.g., when data containing private information is sent to the wrong recipients, used for purposes for which they are not authorized, stored in inappropriate storage mediums or locations, or when servers are left publicly accessible. Intentional misappropriation may result when an unauthorized third party gains access into the service provider's servers and uses, e.g., individuals' addresses, financial transactions, or medical records, for financial fraud, identity theft, harassment, and the like.

As used herein, the term "private information" (PI) refers broadly to all types of information relating to an individual's private, professional, or public life. PI can encompass any data point regarding the individual - such as a name, a home address, a photograph, email or phone contact details, bank details, posts on social networking websites, medical information, or a computer's IP address, to name a few. One sub-category of PI includes 'personally identifiable information' (PII), which is generally information that can be used on its own or with other information to identify, contact, and/or locate an individual. 'Sensitive personal information' (SPI) is defined as information that if lost, compromised, or disclosed could result in substantial harm, embarrassment, inconvenience, or unfairness to an individual.

Using the private information removal method of the invention allows to constantly increase the amount of training material available for training the machine learning algorithm and thus improve the performance of the system.

In an embodiment of the invention, the usage of the method and system of the present invention can be related to a speech recognition system. There is a constant need to obtain and add new training material to improve the speech recognition results and to make the speech recognition more robust to noise and new voices/people/accents. One potential source of training data may be call centers and or customer service centers, which conduct a large number of customer calls. Accordingly, a standard way to obtain new training material is to transcribe completed calls received from the call center and use it as a data set. However, this may be problematic when PI and/or PII may be present in the data set. Most call center and/or similar enterprises cannot release complete customer communications due to the danger that sensitive information is included, such as credit card numbers, addresses, etc. Accordingly, the method of the present invention permits obtain data from the sites of the call centers, which is both PII safe, and also optimal in the improvement it gives the speech recognition system.

<FIG> schematically shows a block diagram of an exemplary system <NUM> according to an embodiment of the invention. System <NUM> receives as an input audio files. The audio files comprise speech audio. In an embodiment of the invention, calls from a call center may be the audio files. The audio files are received by speech recognizer <NUM>, which automatically transcribes the audio files to text, e.g., by applying one or more voice recognition and/or similar techniques, and provides a recognized content of each audio file. The audio files and the automatic transcriptions are the raw material which is used by system <NUM>. In some embodiments, the transcription and recognized content of each audio file are provided as an input to a syntactic rule module <NUM>. The syntactic rule module finds syntactic patterns in the transcriptions provided and extracts fragments from each transcription which, e.g., meet one or more desired syntactic patterns. The fragments are outputted and provided as an input to an information filter <NUM>. This removes all the fragments which contain personally-identifiable and/or any other type of private information (such as: credit card numbers, ID numbers, etc.) and/or information that will reduce accuracy of the machine learning. In an embodiment of the invention, the information filter <NUM> comprises three filters. A name filter <NUM>, a numerical filter <NUM> and a duration filter <NUM>. The name filter <NUM> recognizes names by strings comparison, and removes the fragments with recognized names so that said fragments are deleted and are not used in the rest of the process. The numerical filter <NUM> recognizes numerals and numbers through strings comparison in the fragments and removes the fragments with the recognized numerals and numbers. This way, a fragment for instance with PI like credit card number, social security numbers (SSN), Personal Name, zip code, etc. are not selected for transcription and for further use.

The duration filter <NUM>, receives the fragments, which no longer contain names, numerals and numbers, and optionally employs a maximum duration in order to limit the amount of continuous audio in a fragment. An example of maximum duration might be <NUM> seconds. Even if due to speech recognition errors, a fragment is selected with private information, it is limited in the sense that only a portion of the private information might be present. For example, the name but not the credit card number, or the credit card number but not the three numerals on the back of the card. The duration filter also employs a minimum duration to ensure that even though short fragments are used, there is still some context for language modeling.

By filtering such information from data which may violate the model's assumptions, the predictive performance of the model may be stabilized over time, to avoid 'drift.

In some embodiments, selecting fragments with durations of <NUM>-<NUM> seconds minimizes the private information risk while ensuring data is useful for improving the speech recognition system. Eventually, only one fragment from every audio file is used for the training of the machine learning system, as can be seen in <FIG>.

In some embodiments, an active learning filter <NUM> receives the fragments outputted by the duration filter <NUM>.

In some embodiments, a confidence score from <NUM> to <NUM> is given to each fragment. A score of <NUM> means the content of the fragment is recognized with a <NUM>% degree of confidence and a score of <NUM> means the content is recognized with no degree of confidence. In some embodiments, the active learning filter <NUM> only selects fragments with a confidence score between <NUM> and <NUM>. Substantial research was done showing that in order to obtain the best improvement on a given budget (e.g., amount of training hours), one needs to select utterances within a certain confidence range such as <NUM>-<NUM> for manual transcription. The lower bound serves as threshold below which utterances are too noisy. The upper bound refers to a threshold above which the increase of information for the recognizer will be low.

In some embodiments, each fragment is labeled according to its recognized content. In some embodiments, active learning filter <NUM> compares the recognized content of each fragment with the rest of the fragments according to their labels, and the number of fragments that have the same recognized content is limited to a designated number. This stage helps to keep diversity of the language on the one hand, and avoid too many repetitions of the same sentence on the other hand. For example, in a typical call center, there could be hundreds of phrases such as "I have connection issues" or "I have issues with my set top box". In order to avoid repetitions yet keep diversify of the language and the vocabulary, the maximum number of identical content is limited to a designated threshold.

In some embodiments, a channel filter <NUM> is used to select audio from different and diverse channels. For example, in the case of audio received from a call center, audio from the customer channel is preferred over the agent channel, to ensure diversity of speakers. While a company has a multitude of agents, it usually has several orders of magnitude more customers. The customer channel ensures greater diversity of voices and environments. For example, while agents are most always in an office environment and using relatively high-end headsets, customers call from different environments like cars, speakers, indoor locations or outdoor locations.

A fragment selection module <NUM>, eventually selects one fragment from each audio file for manual transcription. The selected fragment is simply the longest fragment, which is shorter than the maximum duration, e.g. <NUM> seconds.

Once a fragment from each audio file is selected, a new audio file is created by the audio extractor <NUM>. The new file is actually a part of the original audio file received as input by the speech recognizer <NUM>. The new file contains the few relevant seconds from the entire call and it is stored in a local folder. For example, if the selected fragment was from time <NUM>:<NUM> to <NUM>:<NUM> on the original audio file, a new audio file is created with a duration of <NUM> seconds, which contains only the fragment with the relevant content.

At this point, there are provided a set of short audio files, with the recognized content of each short audio file (the recognized content is the machine transcription text). This information (audio + text) is kept for future use.

The fragments are manually transcribed, to allow potential for improvement.

In some embodiments, a manual transcription module <NUM> receives the selected fragments for manual transcription, e.g., by a human specialist. This is required in order to add training material for machine learning in general and speech recognition in particular.

After manual transcription, names and numerals are again checked for in the fragments by a private information post filter <NUM>. Any file containing any PI and/or PII is deleted. Statistically, a large majority of the fragments do not contain names or numerals, and those are kept. The remaining fragments are used to train the training model <NUM> of the machine learning system. This way the amount of material available for the model training is increased, thus the results of the machine learning system are improved. For example in accordance with the speech recognition system, it allows to improve the language and acoustic models.

<FIG> schematically shows a flow chart, which describes the functional steps in a method of the invention, according to an embodiment of the invention.

In some embodiments, the present disclosure provides for generating an optimal re-training set for a machine learning model that is trained to perform the technical purpose of speech recognition (e.g., mapping a speech input to a text output), based on the following functional steps:.

Accordingly, with continued reference to <FIG>, at step <NUM> audio files are received as input and automatically transcribed using a trained speech recognition algorithm. In an embodiment of the invention, the audio files are complete calls received from a call center.

At step <NUM>, syntactic patterns are identified in the transcription, e.g., subject-verb-object, and fragments are extracted according to syntactic rules. The syntactic rules are used as a segmentation mechanism to decide the start and end of the extracted fragments. The identified patterns make the step of manual transcription easier since grammatically - nice text is easier to understand, and human effort in the transcription is therefore reduced.

For example, there can be a rule that extracts the sequence: <MAT>.

In order to capture word sequences that fulfill that rule, first a Part of Speech (PoS) tagger (see, e.g., FreeLing, a C++ library providing language analysis functionalities including POS tagging, http://nlp. edu/freeling/index. php/node/!) is used, which will assign a part of speech to each word, for example:.

Then, a sequence of PoS tags that matches the desired sequence is found. As can be seen in the next example:.

In an embodiment of the invention, names, numerals, and/or numbers are recognized through strings comparison against a known list, and fragments which contain names, numerals, and/or numbers are removed. This way, fragments with private information, such as credit card number, social security numbers (SSN), personal names, national identification numbers, zip codes, etc., are removed and are not selected for manual transcription. In addition, a duration filtering is employed by determining a minimum duration and a maximum duration for each audio file fragment. The duration filtering limits the amount of continuous audio in a fragment. An example of minimum and maximum duration might be <NUM> to <NUM> seconds. Even if due to speech recognition errors, a fragment is selected with PI and/or drift-inducing data, potential exposure may be further limited because only a portion of it might be present. For example, the name but not the credit card number, or the credit card number but not the three verification numerals on the back of the credit card. The minimum duration filter is employed to ensure that even though short fragments are used, there is still some context for language modeling. In an embodiment of the invention, a selection of fragments with durations of <NUM> to <NUM> seconds, minimizes the PI and/or drift risk, yet ensures data is useful for the improvement of the speech recognition system.

At step <NUM>, the fragments are further processed at the active learning filter <NUM>, in order to provide an improved data set for the machine learning training model. This step comprises labeling the fragments according to the recognized content of each fragment, and grading each fragment with a confidence score between <NUM> and <NUM>. Then, the labeled fragments are compared in order to select the best fragments for manual transcription, and for the machine learning training model. The fragments are selected according to the following criteria:.

At step <NUM>, one fragment is selected from each audio file. The selected fragment is simply the longest fragment which is shorter than the maximum duration, e.g. <NUM> seconds, in the above example. Once a fragment from each audio file is selected, a new audio file is created. The new audio file is actually a part of the original audio file received as an input. The new file contains the few relevant seconds from the entire audio file and it is stored in a local folder.

At step <NUM>, the fragment selected from each audio file is manually transcribed and then, in step <NUM> of post filtering, names and numerals are again checked for. Any fragment which contains any PI is deleted.

Finally, at step <NUM>, the remaining fragments that were not deleted in the pot filtering step are used to retrain the training model <NUM> of the machine learning system. Retraining with improved data brings to better results of the machine learning system.

In some embodiments, step <NUM> further includes a private information removal step, wherein any PI is found and filtered out of the transcripts. In an embodiment of the invention, private information is defined as a name or a number, however in another embodiment, private information may be defined as data containing a specific keyword or any other data considered as private data.

A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device having instructions recorded thereon, and any suitable combination of the foregoing. Rather, the computer readable storage medium is a non-transient (i.e., not-volatile) medium.

Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages.

The description of a numerical range should be considered to have specifically disclosed all the possible subranges as well as individual numerical values within that range. For example, description of a range from <NUM> to <NUM> should be considered to have specifically disclosed subranges such as from <NUM> to <NUM>, from <NUM> to <NUM>, from <NUM> to <NUM>, from <NUM> to <NUM>, from <NUM> to <NUM>, from <NUM> to <NUM> etc., as well as individual numbers within that range, for example, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM>.

The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

Claim 1:
A method comprising:
receiving (<NUM>), as input, one or more audio files;
applying a trained speech recognition algorithm (<NUM>) to said one or more audio files, to obtain textual output corresponding to each of said one or more audio files;
using (<NUM>) a Part of Speech, PoS, tagger to assign PoS tags to each word of the textual output;
extracting, from each of said one or more audio files, one or more portions having a syntactic pattern matching a desired sequence of PoS tags defined by syntactic rules;
selecting (<NUM>) a subset of said portions based on at least one of:
(i) a content of said textual output associated with each of said portions,
(ii) a duration of each of said portions, and
(iii) a confidence score assigned by said trained speech recognition algorithm to said obtained textual output associated with said portion;
wherein said selecting (<NUM>) comprises excluding, from the subset, portions whose corresponding textual output comprises private information;
receiving, as input, manual transcriptions (<NUM>) of said selected portions;
generating a re-training set comprising:
(i) said portions in said subset, and
(ii) said transcriptions corresponding to said portions in said subset; and re-training (<NUM>) said trained speech recognition algorithm on said re-training set.