Language model adaptation based on filtered data

A method for adapting a language model for a context of a domain, comprising obtaining textual contents from a large source by a request directed to the context of the domain, discarding at least a part of the textual contents that contain textual terms determined as irrelevant to the context of the domain, thereby retaining, as retained data, at least a part of the textual contents that contain textual terms determined as relevant to the context of the domain, and adapting the language model by incorporating therein at least a part of the textual terms of the retained data, wherein the method is performed on an at least one computerized apparatus configured to perform the method and equipped for communication with the large source, and an apparatus for performing the same.

BACKGROUND

The present disclosure generally relates to textual terms recognition, and more specifically to speech recognition using a language model adapted with external data.

Some attempts to extend data for training a model for speech recognition are known in the art, as exemplified in the following publications.

WO1999/050830 which reports language model used in a speech recognition which has access to a first smaller data store and a second, larger data store. The language model is adapted by formulation an information retrieval query based on information contained in the first data store and querying the second data store. Information retrieved from the second data store used in adapting the language model.

EP2273490 reports a speech recognition device that may adapt or otherwise modify a generic language model based on a retrieved corpus of text.

WO2006/099621 reports forming and/or improving a language model based on data from a large collection of documents, such as Web data. The collection of documents is queried using queries that are formed from the language model. The language model is subsequently improved using the information thus obtained and the improvement is used to improve the query.

SUMMARY

A non-limiting aspect of the present disclosure is modifying a language model by acquiring textual contents from a sufficiently rich resource of information, discarding contents that do not pertain to a designated subject matter, and incorporating in the language model remaining textual contents that do pertain to the designated subject matter, thereby increasing the recognition reliability of the modified language model with respect to data related to the designated subject matter without unfavorable effects by terms that do not pertain to the designated subject matter.

One exemplary embodiment of the disclosed subject matter is a method for adapting a language model for a context of a domain, comprising obtaining textual contents from a large source by a request directed to the context of the domain, discarding at least a part of the textual contents that contain textual terms determined as irrelevant to the context of the domain, thereby retaining, as retained data, at least a part of the textual contents that contain textual terms determined as relevant to the context of the domain, and adapting the language model by incorporating therein at least a part of the textual terms of the retained data, wherein the method is performed on an at least one computerized apparatus configured to perform the method and equipped for communication with the large source.

Another exemplary embodiment of the disclosed subject matter is a method for adapting a baseline language model for a context of a domain by data of the Web, comprising obtaining, from the domain, data representative of the context of the domain, and based on the data representative of the context of the domain, forming a query that is provided to an at least one search engine of the Web, thereby acquiring an at least one result comprising textual contents, and discarding at least a part of the at least one result in which the textual contents includes at least one textual term that does not pertain to the data representative of the context of the domain, and adapting the baseline language model to an adapted language model by incorporating therein textual terms of the at least one result that pertain to the data representative of the context of the domain, wherein the method is performed on an at least one computerized apparatus configured to perform the method and equipped for communication with at least one computerized server linkable to the Web.

DETAILED DESCRIPTION

In the context of the present disclosure, without limiting and unless otherwise specified, referring to a ‘phrase’ implies one or more words and/or one or more sequences of words and/or a one or more sentences and/or a text document or excerpt thereof, wherein a word may be represented by a linguistic stem thereof. Notwithstanding the above, a phrase may be a word or word combination of unique meaning in the context where they appear, for example, ‘spaceshuttle’, ‘artificial intelligence’ or a name of an organization or a product name. For instance, the word ‘apple’ may be insignificant though in a context of computers and/or telephony it may be unique and refer to Apple Inc (Cupertino, Calif., U.S.A).

Generally, in the context of the present disclosure, without limiting, a vocabulary denotes an assortment of terms as words and/or text such as phrases and/or textual expressions and/or excerpts from documents.

Generally, in the context of the present disclosure, without limiting, a language model is any construct reflecting occurrences of words or phrases or terms in a given vocabulary, so that, by employing the language model, words of phrases of and/or related to the vocabulary provided to the language model can be recognized, at least to a certain faithfulness.

Without limiting, a language model is a statistical language model where phrases, and/or combinations thereof, are assigned probability of occurrence by means of a probability distribution. Such a model is referred to herein, representing any language model such as known in the art.

In the context of the present disclosure, without limiting, a baseline language model or a basic language model imply a language model trained and/or constructed with a vocabulary generally of common everyday phrases and/or unrelated to a particular subject matter and texts in which the distribution of words is generally and/or approximately as common in the respective spoken language. One or more source or a resource of such a vocabulary is also referred to as baseline textual resources.

In the context of the present disclosure, without limiting, referring to a domain implies a field of knowledge and/or a field of activity of a party. For example, a domain of business of a company.

In some embodiments, a domain refers to a certain context of speech audio and may be, for example, audio recordings from a call center of an organization. Generally, without limiting, a domain encompasses a unique language terminology and unique joint words statistics which may be used for lowering the fundamental uncertainty in distinguishing between different sequences of words alternatives in decoding of a speech.

In the context of the present disclosure, without limiting, referring to data of a domain or a domain data implies phrases used and/or potentially used in a domain and/or context thereof. For example, ‘product’, ‘model’, ‘failure’ or ‘serial number’ in a domain of customer service for a product. Further, domain data may also comprise a set of sentences that pertain to the domain. For brevity and streamlining, in referring to contents of a domain the data of a domain is implied. For example, getting from a domain implies getting from the data of the domain.

In the context of the present disclosure, without limiting, referring to a domain of interest implies particular domain and/or data thereof for which a language model is adapted.

In the context of the present disclosure, without limiting, referring to a topic implies a text, comprising one or more words or phrases, directed to a subject matter and/or an issue and/or an objective thus uniquely identifying and/or summarizing the subject matter and/or issue and/or objective. For example, ‘smartphones’, ‘television technology’, or ‘television shows’.

In the context of the present disclosure, without limiting, referring to a dominant phrase implies a unique word or phrase that is frequent in a certain domain more than in a general language. For example, the phrase: “change phone battery” is dominant in the cellular domain or context thereof.

In the context of the present disclosure, without limiting, referring to an utterance implies a textual statement or a sentence or a part thereof.

In the context of the present disclosure, without limiting, referring to a user implies a person operating and/or controlling an apparatus or a process.

In the context of the present disclosure, without limiting, referring to the Web implies the World-Wide-Web as known in the art.

In the context of the present disclosure, without limiting, referring to URL (Uniform Resource Locator) implies an address of a Web page, wherein referring to a page implies a single textual unit that may include one or more utterances, wherein an utterance refers to a sentence or a continuous part of a sentence.

In the context of the present disclosure, without limiting, referring to a large source implies a sufficiently rich resource of information and/or textual content, optionally with respect to a context such as of a domain, and having and/or capable to provide large variety of phrases related to the context, and determined and/or predicted and/or estimated, such as by a user, to be sufficient for an intent such as of a user. An example of sufficiently rich resource is the Web, or Wikipedia (Wikimedia Foundation) or Encyclopedia Britannica (Encyclopaedia Britannica, Inc) or Merriam-Webster's Online Dictionary (Merriam-Webster, Inc.). The large source is accessible, directly and/or indirectly, by a computerized apparatus such as a computer or a mobile device.

In the context of the present disclosure, without limiting, referring to a transcription implies a text that was generated from a conversion of speech to text. In this context, a human transcription refers to speech to text conversion that was generated by manual human process.

In the context of the present disclosure, without limiting, referring to a record implies related items of information handled and/or obtained as a unit.

In the context of the present disclosure, without limiting, referring to a search engine implies software and/or techniques as known in the art, such as of Google (Google Inc.) or Yahoo (Yahoo Inc.). The search engine generally provides one or more records responsive to a query.

In the context of the present disclosure, without limiting, referring to a phonetic dictionary implies to a data structure such as a file containing a mapping of a vocabulary of words to sequences of speech fragments such as phonemes. In some embodiments, each word can have one or more corresponding sequences of speech fragments.

In the context of the present disclosure, without limiting, referring to an acoustic model implies a data structure such as a file that contains statistical representations of each of the distinct sounds that makes up a word and probabilistically maps the speech fragments to acoustic features.

In some of the drawings and consequently in the description below, the phrase ‘LM’ appears, denoting a language model.

The terms cited above denote also inflections, conjugates and pluralities thereof.

One technical problem dealt by the disclosed subject matter is expanding and/or refining the recognition scope of a basic language model to enhance the prediction and recognition fidelity of phrases in data related to a distinctive subject matter when operating in an apparatus configured for phrase recognition by a language model.

One technical solution according to the disclosed subject matter is generating, based on a representative text of the distinctive subject matter, queries directed to the distinctive subject matter that are provided to a search engine of the Web, and acquiring data obtained by the search engine. Consequently, the acquired data and/or elements thereof and/or a part thereof that do not conform to the representative text are discarded, and the basic language model is modified by incorporating therein new phrases in the remaining acquired data that conform to the representative text, thereby expanding the scope of the basic language model to suit the context of the distinctive subject matter and avoid discrepancies due to immaterial phrases.

The incorporation of the new phrases in the basic language model is carried out, for example, by including the new phrases into the learning or training process of adapting the basic language model for the distinctive subject matter, thus, refining the joint words probability distribution and expanding the vocabulary scope of the adapted model.

In some embodiments, at least a part of the remaining acquired data having at least one textual term which do not match any element in a provided set of at least one textual term is discarded prior to adapting or modifying the basic language model.

In some embodiments, the representative text is extracted or derived from a certain domain and/or a representative sample thereof, so that the basic language model is adapted to cope with the context of the domain.

In some embodiments, phrases in the remaining acquired data are incorporated into a joint probability distribution over sequences of phrases belonging to the expanded vocabulary scope. For example, the incorporation is based on the frequency of the phrases in the remaining acquired data.

In some embodiments, a phrase conforms to a representative text of a domain when there is a sufficient preset and/or determined match and/or overlap with the representative text, and/or as determined by using techniques for semantic similarity or relationship such as semantic distance or semantic mapping as known in the art.

In some embodiments, the recognition performance of the adapted language model is checked relative to the basic language model to validate whether a sufficiently better recognition is achieved with respect to the context of the of the domain.

A potential technical effect of the disclosed subject matter is an apparatus for speech text recognition configured by a language model adapted to enhance the reliability of textual recognition of non-textual content related to a certain domain.

In the description above, referring to a representative text does not preclude a plurality of representative texts.

A general non-limiting overview of practicing the present disclosure is presented below. The overview outlines exemplary practice of embodiments of the present disclosure, providing a constructive basis for variant and/or alternative and/or divergent embodiments, some of which are subsequently described.

For brevity and clarity, without limiting, speech recognition from a speech audio signal or a recording is generally related to below.

FIG. 1Aschematically illustrates an apparatus100for speech recognition, as also known in the art.

The apparatus comprises an audio source of speech, represented schematically as a microphone102that generates an audio signal depicted schematically as an arrow118. The audio signal is fed into a processing device110that converts or decodes the audio signal into a sequence or stream of textual items as indicated with symbol112.

Generally, processing device110comprises an electronic circuitry104which comprises an at least one processor such as a processor114, an operational software represented as a program108, a speech recognition component represented as a component116and a speech decoder represented as a component120. Optionally, component116and component120may be combined.

Generally, without limiting, component116comprises and/or employs three parts or modules (not shown) as (1) a language model which models the probability distribution over sequences of words or phrases, (2) a phonetic dictionary which maps words to sequences of elementary speech fragments, and (3) an acoustic model which maps probabilistically the speech fragments to acoustic features.

The audio signal may be a digital signal, such as VoIP, or an analog signal such as from a conventional telephone. In the latter case, an analog-to-digital converter (not shown) comprised in and/or linked to processing device110such as by an I/O port is used to convert the analog signal to a digital one.

Thus, processor114, optionally controlled by program108, employs the language model, optionally together with any necessary components of processing device110, to recognize phrases expressed in the audio signal and generates textual elements such as by methods or techniques known in the art and/or variations or combinations thereof.

In some embodiments, program108and/or component116and/or component120and/or parts thereof are implemented in software and/or one or more firmware devices such as represented by an electronic device106and/or any suitable electronic circuitry.

FIG. 1Bschematically illustrates a computerized apparatus122for obtaining data from a source.

Computerized apparatus122, illustrated by way of example as a personal computer, comprises a communication device124, illustrated as an integrated electronic circuit in an expanded view132of computerized apparatus122.

By employing of communication device124, computerized apparatus122is capable to communicate with another device, represented as a server128, as illustrated by a communication channel126which represents, optionally, a series of communication links.

One of the characteristics of the present disclosure is expanding or adapting a scope of a language model by incorporating phrases that pertain to a particular domain that are obtained or acquired from a sufficiently rich resource of information or textual content such as the internet, while discarding phrases that do not pertain to the domain. Thus, the adapted language model is enriched with phrases related to the domain rendering the adapted language model for compatibility with the context of the domain so that, at least potentially, the reliability of phrase recognition in data of or related to the domain is increased without adversely affecting the recognition performance and fidelity by superfluous and/or irrelevant phrases.

Referring herein to phrases pertaining to a domain implies, at least in some embodiments, phrases that are relevant and/or match and/or sufficiently semantically close to phrases of the domain.

The phrases are obtained or acquired from a source by employing a computerized apparatus, such as general purpose computer, equipped or outfitted with electronic facilities and/or other devices for communicating with a source such as a computerized server, either directly and/or indirectly via one or more intermediate computerized devices, as schematically illustrated, for example, by computerized apparatus122.

FIG. 2schematically and globally illustrates an apparatus200, represented by a dotted frame299, for adaptation of a language model for a context of a domain, according to exemplary embodiments of the disclosed subject matter.

Apparatus200comprises several modules that operate based on provided and acquired data, where data and control flow are indicated by arrows as described below, and where for clarity dashed arrows and units indicate optional operations.

Apparatus200comprises a search module, denoted as a search module230, for obtaining data from a large source, denoted as a source290.

Search module230is provided with a main or a default input of a seed data based on data of the domain, denoted as a seed data232, comprising one or more textual phrases pertaining to a domain of interest as, for example, derived from data of the domain of interest.

Optionally, search module230is further provided with dominant phrases and/or topics, denoted as dominant phrases and/or topics234, which pertain or relate to the domain of interest. The dominant phrases may be defined by a user and/or obtained or derived from a source such as the domain of interest or a domain related to the domain of interest. In some embodiments, the dominant phrases include and/or constitute one or more topics related to the domain of interest.

Optionally and/or alternatively, search module230is further provided with one or more links, such as URLs, denoted as links236, which can refer, directly and/or indirectly to source290, where the links are generally intended to access contents pertaining to the domain of interest.

By the provided input search module230generates a request or multiple requests, denoted as a request292, which is used to request or query a search for data in source290such as by a search engine. Thus, by the provided input, a request is directed to source290for the context of the domain of interest.

Search module230obtains or acquires the data such as search results, denoted as raw data294, which are provided responsive to the query.

Raw data294, possibly after some processing such as removal of inappropriate characters and/or formatting and/or arrangement, is provided as potential data, denoted as potential data238, for adapting a language model and.

Apparatus200further comprises a filtering module, denoted as a filtering module240, for filtering out from the potential data elements or ingredients which are considered as irrelevant to the domain of interest and/or as having adverse effect on the language model adaptation with respect to the domain of interest.

Thus, search module230provides potential data238to filtering module240, and filtering module240is further provided with seed data232and dominant phrases and/or topics234for filtering out irrelevant data from potential data238. Filtering module240comprises or involves a component for semantic similarity or relationship. Filtering module240is further provided with a threshold or a limit, denoted as a semantic limit242, for semantic oriented decision as described below. The filtering may also involve removal of utterances that don't pertain to the domain of interest which may be turned on or off by a control input or switch, denoted as a switch244, which is further provided to filtering module240.

After filtering potential data238by filtering module240and, optionally, after formatting and/or arrangement of the potential data, a filtered data, denoted as filtered data246, is formed by filtering module240.

Apparatus200further comprises a language model adaptation module, denoted as adaptation module250, which receives as input baseline textual resources, denoted as baseline data258, and filtered data246, and, optionally, dominant phrases and/or topics234.

Based on the input thereof, adaptation module250generates an adapted language model, denoted as adapted LM254, and an adapted vocabulary, denoted as an adapted vocabulary256, which are better adapted, at least potentially, for the domain of interest relative to a baseline language model, denoted as a baseline LM252.

Apparatus200further comprises a phonetic dictionary generation module, denoted as a dictionary generator260, which based on adapted vocabulary256generates a phonetic dictionary, denoted as an adapted dictionary262, which maps the words in adapted vocabulary256to a sequence of speech fragments or plurality of sequences of speech fragments.

Principally, the adaptation output of apparatus200comprises of adapted LM254, adapted vocabulary256and, indirectly, adapted dictionary262.

However, in order to check or validate that the speech recognition performance based on adapted LM254and corresponding adapted dictionary262is indeed more suitable for the domain of interest relative to the baseline language model, such as for recognizing terms that pertain to the domain of interest, apparatus200further comprises a language model validation module, denoted as a validation module270, for optional validation of the suitability of the adapted language model for the context of the domain of interest.

The process of validation module270comprises basically a comparison of the performance of the adapted language model relative to the baseline language model with respect to errors or word error rate, and for that purpose validation module270is provided with the following inputs:Baseline LM252.A baseline phonetic dictionary, denoted as a baseline dictionary272.A baseline acoustic model, denoted as an acoustic model274.Adapted LM254.Adapted dictionary262.A set of test audio signals of speech, denoted as an audio276, though not precluding a single test audio signal.Accurate transcripts of the test audio signals, as, for example, performed by a person, and denoted as a transcript278.An error rate limit or threshold, denoted as an error limit282.

Optionally, in case the performance of the adapted language model with respect to errors has passed, a further test is optionally performed to compare the predictive capability of the adapted language model versus the baseline language model with respect to a set of test text pertaining to the domain of interest. The predictive capability of a language model may be judged by perplexity as known in the art, for example, as in Gales M J F, Young S,The application of hidden Markov models in speech recognition, Foundations and Trends in Signal Processing,2008, 1(3): 195-304, or Philipp Koehn,Statistical Machine Translation, ISBN9780521874151.

For the perplexities test the following inputs are provided:A test text pertaining to the domain, denoted as a domain text284.A perplexity test limit or threshold, denoted as a perplexity limit286.A control or switch indicating whether to perform the perplexities test, denoted as a switch788.

The validation outcome or decision, denoted as a validation decision296, is formed as a binary code such as True/False or 1/0 indicating whether the validation has passed or failed. In case the validation test has passed then adapted LM254and corresponding adapted dictionary262are elected for further use for speech recognition of context of the domain of interest. In case the adapted language model failed the validation, the adapted language model may be discarded and baseline LM252and corresponding baseline dictionary272are elected, or, alternatively, the adaptation process is renewed based on different inputs such as different seed data.

The operations of the cited modules of apparatus200are further elaborated below.

Apparatus200and/or any one of the modules thereof and/or any part of the modules may be implemented as software and/or hardware and/or firmware or as any combination thereof.

In some embodiments, any one of the modules of apparatus200may be implemented separately of other modules.

Further, in some embodiments, the operation of apparatus200may be varied. For example, instead of seed data232, only dominant phrases are provided, optionally with links236.

In the following descriptions regarding the modules and parts thereof of apparatus200, the inputs and outputs are based on apparatus200and parts of the modules and are implied by the drawings and are not necessarily further described.

Search module230comprises three components operative therein, as explained along with the description below.

One component of search module230for deriving or extracting a topic or topics and/or dominant phrases pertaining or related to the domain of interest, said component denoted as a topic extractor310, receives seed data232and derives therefrom one or more topics and/or dominant phrases, denoted as topics and/or dominant phrases302.

In some embodiments, the topics are based on the most frequent words, up to a limit, in seed data232. For example, the operation of topic extractor320is based on a TF-IDF (term frequency-inverse document frequency) algorithm, where the ‘top-N’ cardinal words or phrases can be chosen as the selected topics or phrases, where ‘N’ refers to a maximum number of topics or phrases as pre-set and/or as defined by a user.

The topics may be derived as described, for example, in section 1.3.1 of Rajaraman, Anand, and Jeffrey David Ullman,Mining of massive datasets, Cambridge University Press, 2012, or by a semantic data extractor as described, for example, in E. Gabrilovich and S. Markovitch,Computing semantic relatedness using wikipedia-based explicit semantic analysis, Proceedings of The20th International Joint Conference on Artificial Intelligence, Hyderabad, India, January 2007.

Another component for generating a query to the source290, said component denoted as query generator320, receives topics and/or dominant phrases302and, at least optionally, dominant phrases and/or topics234, and generates query304. The query is a phrase or logical expressions of terms based on the topics and optional dominant phrases. For example, a query related to television technology may be ‘television AND technology’.

Another component for inquiry of and/or requesting data from source290and acquiring data therefrom, said component denoted as searcher330, receives query304and, at least optionally, links236, and generates request292. Searcher330uses query304to form request292via one or more search engines, and optionally, separately and/or as part of request292, uses the links in links236to fetch data from source290.

Searcher330obtains or acquires raw data294from source290. The acquired data may constitute files or other data structures, for example, files in HTML format.

In order to clean the data of extraneous ingredient, searcher330processes raw data294by operations such as one or more of the following exemplary operations.Removal of textual terms that are part of the file format, for example internal tags of HTML format.Removal of syntactic characters as for example: ‘.’, ‘,’, or ‘?’.Removal of strings which contain non-letter characters, for example removal of ‘@’ from ‘@domain.com’.Separation of sentences to utterances of words in case there is one or more strings that are removed. For example: the sentence ‘I will eat @my home today’ will be separated into two sentences: ‘I will eat’, ‘home today’.

Searcher330may further process raw data294, such as by formatting and/or arrangement, thereby generating as an output thereof potential data238.

Generally, potential data238is arranged or organized in data structures, referred to also as pages, which contain sentences or utterances.

FIG. 4schematically illustrates data and control flow of filtering module240of apparatus200, as represented by a dotted frame444, according to exemplary embodiments of the disclosed subject matter.

Search module240comprises two components operative therein. One component, denoted as a semantic filter410, performs a semantic test by determining whether contents of a page in potential data238are semantically sufficiently close to the textual data in seed data232. Pages that pass semantic test, the passed pages denoted as semantically filtered data402, are provided by semantic filter410. Another, optional, component, denoted as a lexical filter420, performs a lexical test on the utterance scale by determining whether each utterance of a page in semantically filtered data402contains at least one word or a phrase from dominant phrases and/or topics234. Utterances that pass lexical test, construct the passed pages denoted as lexically filtered data404, are provided by lexical filter420.

Depending on a provided control as switch244that affects selector406and selector408(which could be implemented as one selector), semantically filtered data402are outputted by search module230as filtered data246, or, alternatively, lexically filtered data404are outputted by search module230as filtered data246.

Filtered data246, is generally formed a list and/or other arrangement of pages having contents that passed the tests as described above.

The pages or utterances whose contents did not pass the semantic test, or, depending on a control of switch244, did not pass the lexical test, are discarded.

In some embodiments, semantic filter410employs a semantic mapper to map the page contents to a vector of weights, where each dimension of the vector represents a context. As an example, the implementation of the semantic mapper can follow derivations as in E. Gabrilovich and S. Markovitch,Computing semantic relatedness using wikipedia-based explicit semantic analysis, Proceedings of The20th International Joint Conference on Artificial Intelligence, Hyderabad, India, January 2007.

Thus, both the page contents and seed data232are mapped to vectors, V[page] and V[seed], respectively. The degree of relatedness between the two vectors is measured by a similarity function, mathematically defined as a mapping of the two vectors to a real number. The similarity formulation is based on definitions of an inner product and norm in the vector space. The similarity can be calculated by first normalizing each vector by its norm value. The normalized vectors are denoted as Vn[page], Vn[seed], respectively. Subsequently, the similarity function is calculated as an inner product of the two normalized vectors.

Said process is expressed in the following formulas (1)-(3):
Vn[page]=V[page]/Norm(V[page])  (1)
Vn[seed]=V[seed]/Norm(V[seed])  (2)
SIM(V[page],V[seed])=Inner(Vn[page],Vn[seed])  (3)

Where V[x] is a mapped vector of textual contents of x, Norm(x) is a norm of vector x, Vn[x] is a normalized vector of x, Inner(x,y) represents a vector inner product of x and y, and SIM(x,y) represents a similarity of vectors x and y.

In some embodiments, the norm of a vector is the square root of the inner product of the vector with itself, and, in some embodiments, the inner product is a sum of the elements in a vector constructed by an element-wise multiplication of the input vectors.

A page, that is, the contents thereof, passes the semantic test in case the following condition in formula (4) is asserted.
SIM(V[page],V[seed])>Ts(4)

Where Ts is a positive threshold which is smaller than 1, and wherein the threshold Ts, provided as semantic limit242, may be defined by a user and/or is pre-set.

FIG. 5schematically illustrates data and control flow of an adaptation module250of apparatus200, as represented by a dotted frame555, according to exemplary embodiments of the disclosed subject matter.

Adaptation module250comprises two components operative therein.

One component, denoted as a vocabulary generator510, generates adapted vocabulary256as vocabulary of words that are determined as highly likely to be appear in an audio data that pertain to the domain of interest, while restricting in the vocabulary the amount of words the are less likely to appear in the audio data.

In some embodiments, based on filtered data246, baseline data258and further, optionally, on dominant phrases and/or topics234, all comprising textual words and/or phrases, vocabulary generator510determines the frequency of the words, or phases, and incorporates in adapted vocabulary256the most frequent ones up to a preset or determined maximal limit.

In some embodiments, other methods may be used for determining the words, or phrase, for adapted vocabulary256. For example, words in filtered data246and baseline data258are tagged or categorized according to part of speech, selecting words of highest frequency up to a maximal limit from category, and jointly merging all the selected words into adapted vocabulary256.

In some embodiments, determining frequency of words may be based on histograms or on any suitable technique such as sorting.

Adaptation module250comprises another component, denoted as a model generator520, generates adapted LM254which is trained based on filtered data246and baseline data258.

Training of adapted LM254may be carried out by and/or based on any suitable method or technique for language modeling and/or training. For example, linear interpolation, Maximum A-posteriori adaptation, class-based language model generation, Maximum-Entropy Modeling, Neural Networks and/or any combination thereof.

FIG. 6schematically illustrates data and control flow of validation module270of apparatus200, as represented by a dotted frame666, according to exemplary embodiments of the disclosed subject matter.

Validation module270comprises a component operative therein, denoted as a word error rate test610, that performs two speech recognitions of audio276which comprises a set of test audio signals and, consequently, compares the word error rate (also denoted as WER) between the speech recognitions with respect to transcript278which comprises corresponding accurate transcripts of audio276.

Specifically, the first speech recognition is based on adapted LM254and adapted dictionary262, whereas the second speech recognition is based on baseline LM252and baseline dictionary272, where both of the cited speech recognitions utilize acoustic model274which is a baseline acoustic model that probabilistically maps speech fragments to acoustic features.

According to error limit282that is provided as a threshold to determine whether the difference in error rate is acceptable or passed, word error rate test610generates as an output a binary value code such as True/False or 1/0, denoted as an E-Pass602, respectively indicating whether the threshold condition is held.

Validation module270further comprises another component, denoted as a perplexity test620, which is operative to compare by perplexities the predictive capability of the adapted LM254versus baseline LM252with respect to domain text284.

Depending on a control as switch788that affects selector606and selector608(which could be implemented as one selector), perplexity test620is invoked.

According to perplexity limit286that is provided as a threshold to determine whether the difference of the perplexities is acceptable or passed, perplexity test620generates a code such as True/False or 1/0, denoted as a P-Pass604, respectively indicating whether the threshold condition is held.

Validation module270further comprises another component, denoted as a validation resolver630, which determines validation decision296which is coded by a code such as True/False or 1/0 for pass or fail, respectively, denoting whether the validation has passed or failed.

According to selector608, validation resolver630determines validation decision296either based on E-Pass602or, alternatively, based on E-Pass602and P-Pass604.

In other words, in case perplexity test620is not enabled by switch788, validation decision296is, or based on, E-Pass602. Alternatively, in case perplexity test620is enabled by switch788then validation decision296is, or based on, E-Pass602and P-Pass604such as a logical conjunction, for example, E-Pass602AND P-Pass604.

The operation of validation module270is further elaborated below.

FIG. 7schematically illustrates data and control flow of word error rate test610of validation module270, as represented by a dotted frame777, according to exemplary embodiments of the disclosed subject matter.

Word error rate test610comprises two sub-systems for speech recognition of audio276which comprises a set of test audio signals that pertain to the domain of interest, as follows.

Sub-system702, represented by a dotted frame772, is operative in word error rate test610for speech recognition based on adapted LM254and adapted dictionary262as well as acoustic model274, and by decoding the audio signals by a speech decoder, denoted as decoder710a, yields a transcript, denoted as an adapted transcript712, of the test audio signals

Sub-system704, represented by a dotted frame774, is operative in word error rate test610for speech recognition based on baseline LM252and baseline dictionary272as well as acoustic model274, and by decoding the audio signals by a speech decoder, denoted as decoder710b, yields a transcript, denoted as an baseline transcript714, of the test audio signals.

The operation of the speech recognition sub-systems is as known in the art, for example, as apparatus100or a variation thereof.

In order to determine the error rate in decoding the audio signals, the transcripts are compared to corresponding accurate transcripts of the audio signals.

Thus, adapted transcript712is provided to an error rate calculator component comprised and operative in word error rate test610, denoted as WER calculator720a, together with transcript278. WER calculator720acomputes the error rate respective to adapted LM254and adapted dictionary262, that error rate denoted as A-WER716.

Likewise, baseline transcript714is provided to an error rate calculator component comprised and operative in word error rate test610, denoted as WER calculator720b, together with transcript278. WER calculator720bcomputes the error rate respective to baseline LM252and baseline dictionary272, that error rate denoted as B-WER718.

Word error rate test610further comprises a component operative therein, denoted as a WER resolver730, which receives A-WER716and B-WER718together with error limit282provided as a threshold for error rates difference, and determines whether the difference between A-WER716and B-WER718agrees with the threshold, and outputs the determination's result as E-Pass602according to the following formula (5):
WER[Baseline]−WER[adapted]>Te(5)

Accordingly, E-Pass602is assigned a binary value such as True/False or 1/0, respectively, if the condition in formula (5) holds, indicating, respectively, whether the speech recognition of sub-system702related to the domain of interest is substantially better with respect to Te than the recognition of sub-system704.

It is noted that decoder710aand decoder710bmay be identical or equivalent, and in some embodiments, one decoder operates as both decoder710aand decoder710b.

Likewise, WER calculator720aand WER calculator720bmay be identical or equivalent, and in some embodiments, one WER calculator operates as both WER calculator720aand WER calculator720b.

FIG. 8schematically illustrates data and control flow of a perplexity test620of validation module270, as represented by a dotted frame888, according to exemplary embodiments of the disclosed subject matter.

Perplexity test620comprises two components for perplexity computation of a language model with respect domain text284which comprises test text pertaining to the domain of interest.

One component for perplexity computation, denoted as perplexity computation810a, computes the perplexity of adapted LM254with respect to the domain text284, and generates a result denoted as A-PPL802.

Another component for perplexity computation, denoted as perplexity computation810b, computes the perplexity of baseline LM252with respect to the domain text284, and generates a result denoted as B-PPL804.

Perplexity test620further comprises a component operative therein, denoted as a perplexity resolver820, which receives A-PPL802and B-PPL804. Perplexity test620receives also perplexity limit286that is provided as a threshold for a final decision on a language model as described below. Accordingly, perplexity test620determines whether the ratio between the difference of A-PPL802and B-PPL804relative to B-PPL804agrees with the threshold, and outputs the determination's result as P-Pass604according to the following formula (6):
(PPL[base]−PPL[adapted])/PPL[base]>Tp(6)

Accordingly, P-Pass604is assigned a binary value such as True/False or 1/0, respectively, if the condition in formula (6) holds, indicating, respectively, whether the predictive capability of the adapted language model versus the baseline language model with respect to a set of test text pertaining to the domain of interest is substantially better as judged by Tp.

It is noted that perplexity computation810aand perplexity computation810bmay be identical or equivalent, and in some embodiments, one component operates as both perplexity computation810aand perplexity computation810b.

FIG. 9schematically illustrates an apparatus900, as represented by a dotted frame999, for election of a language model and corresponding dictionary and for employment thereof for transcription of an audio data, according to exemplary embodiments of the disclosed subject matter.

Depending on validation decision296that affects a selector910, either adapted LM254and adapted dictionary262or, alternatively, baseline LM252and baseline dictionary272, are respectively selected as an elected model902and an elected dictionary904.

Elected model902and elected dictionary904, together with acoustic model274, are provided to a speech recognition sub-system denoted as a speech recognition sub-system906, as represented by a dotted frame992, comprising a decoder920for decoding a provided run-time and/or operational speech signal related and/or pertaining to the domain of interest, denoted as real audio930.

Speech recognition sub-system906operates as or similar to sub-system702or apparatus100or a variation thereof, where decoder920decodes real audio930by using the provided elected model902, elected dictionary904and acoustic model274thereby generating a transcript, denoted as a transcription932, of real audio930.

FIG. 10outlines operations1000of adapting a language model and using thereof, according to exemplary embodiments of the disclosed subject matter.

In operation1002topics such as one or more words and/or dominant phrases are extracted from data of and/or related to a domain. The topics may be extracted directly from the data of the domain or indirectly such as from partial data related to a domain, for example, from a seed data.

In operation1004records from a large source are acquired at least by the topics. For example, the topics are used to form queries and the records are acquired by a search engine. Optionally, one or more given phrases are used to form queries to obtain further records. Optionally or additionally, records are acquired by one or more given links to the large source.

In operation1006contents of the records that are irrelevant to the context of the domain are removed, thereby attaining filtered data.

In operation1022, optionally, responsive to a provided control for iteration and data for maximal iterations, the search is repeated or iterated up to maximal iterations according to operation1024described below.

In operation1024further topics and/or dominant phrases are obtained from the filtered data, and further records are acquired from the large source, as indicated by an arrow1032. The records are subsequently filtered out of irrelevant contents, thus augmenting or supplementing the filtered data.

Otherwise, in case no control for iteration is provided and/or by default, in operation1008, based on the filtered data and baseline textual data (as baseline textual resources), an adapted language model is generated by incorporating the filtered data and baseline data, thereby generating an adapted language model for the context of the domain.

Generally, the baseline model is accompanied with a corresponding baseline phonetic dictionary, and based on the filtered data and a corresponding an adapted phonetic dictionary is generated for the adapted language model.

Basically, the adaptation of the baseline language model is thus accomplished.

In order to evaluate the quality of the adapted language model in recognizing terms of the context of the domain, in operation1012, optionally, the performance of term recognition of the adapted language model relative to the performance of the baseline language model is evaluated, generally employing, respectively, decoders and acoustic and phonetic models.

Optionally, in operation1026it is checked or decided whether to try to improve the adapted language model in case the performance of the adapted language model is not sufficiently better than that of the baseline language model. In case it is decided to attempt an improvement, in operation1028other topics based on data of a domain and/or data related to the domain such as dominant phrases are obtained such as described above, and a new search is conducted in the large source thus acquiring other records from the large source, as indicated by an arrow1034denoting an iteration. Optionally, the semantic limit used for filtering is modified for the iteration.

The improvement repetitions or iterations are carried out until a given limit is reached and/or the performance of the adapted language model is determined to be sufficiently satisfactory.

If it is not decided to attempt an improvement of the adapted language model then, optionally, in operation1014, the adapted language model is elected for further use such as for terms recognition in case the performance of the adapted language model is determined to be sufficiently satisfactory, or, otherwise, the baseline language model is elected. Generally, respective to the elected language model a phonetic dictionary is elected.

Further, optionally, in operation1016, the elected model, generally with a corresponding elected phonetic dictionary, is used to perform speech recognition on audio data pertaining to the domain. For example, recognition of speech of a party of the domain.

For clarity, the optional operations in operations1000are indicated by dashed or dotted elements.

It is noted that, in some embodiments, some and/or all the optional operations in operations1000are not performed. Similarly, in some embodiments, some and/or all the optional operations in operations1000are performed.

It is further noted that operations1000and descriptions thereof are provided as a non-limiting example, and that one or more operations and/or order thereof may be varied.

Thus, an exemplary synopsis according to exemplary of embodiments of the present disclosure is provided below.

As a preliminary stage a user defines a domain of interest using some textual data representative of the domain defined as seed data. Optionally or additionally, the user may refer to the target domain by one or more direct links to large source that include textual data pertaining to the domain. For example, in case the large source is the Web, the direct links can be URL links to sites that refer to the domain of interest. Optionally or alternatively, the domain may be represented by a list of relevant topics or dominant phrases that pertain to the domain. For example, if the domain is “Electronics”, a list of topics or dominant phrases could include phrases such as ‘Hardware’, ‘Circuits design’, ‘Computers’ and/or other phrases to that effect.

Further, a search is performed by extracting topics or dominant phrases from the seed data and generating queries to be searched in the large source using a search engine. In case the data source is the Web, the search engine can be, for example, Yahoo or Google search engines. Optionally, the queries may be performed also by incorporating list of topics or dominant phrases provided by a user. Optionally or additionally, the search may be performed by a list of links provided by a user.

The data acquired from the search potentially include data or phrases or a Web page pertaining to the domain, referred to below also as potential data, where the contents of the potential data are also referred to below, without limiting as documents.

The potential data is filtered in order to remove any textual information that doesn't pertain to the domain of interest. The filtering is performed in one or two stages. The first stage is filtering out the potential data in which each document is semantically compared to the seed data. A user defined threshold is used to perform binary decision whether to approve the document or remove it. Optionally, in a second stage, documents that positively passed the semantic filtering are further filtered on an utterance scale as follows. Each document is separated to a list of sentences or utterances and the filter positively approves an utterance in case the utterance includes at least one phrase from a pre-defined list of dominant phrases provided by the user.

The filtered data is incorporated with textual data of general context in order to generate a vocabulary fitted to the domain, thereby generating an expanded vocabulary that potentially pertain to the domain of interest.

The expanded vocabulary is used along with the acquired textual data and/or the baseline textual resources for training and adapting a language model to improve, at least potentially or partially, the performance of an overall speech recognition system.

In some embodiments, the filtered data is incorporated into a training process of a language model which will potentially improve the performance of an overall speech recognition system. Optionally, the performance is validated to insure a determined minimal performance requirement of the adapted language model.

There is thus provided according to the present disclosure a method for adapting a language model for a context of a domain, comprising obtaining textual contents from a large source by a request directed to the context of the domain, discarding at least a part of the textual contents that contain textual terms determined as irrelevant to the context of the domain, thereby retaining, as retained data, at least a part of the textual contents that contain textual terms determined as relevant to the context of the domain, and adapting the language model by incorporating therein at least a part of the textual terms of the retained data, wherein the method is performed on an at least one computerized apparatus configured to perform the method and equipped for communication with the large source.

In some embodiments, at least a part of the retained data having at least one textual term which do not match any element in a provided set of at least one textual term is discarded prior to adapting the language model.

In some embodiments, the at least a part of the textual contents that contains textual terms determined as irrelevant to the context of the domain comprises a plurality of parts of the textual contents that contains textual terms determined as irrelevant to the context of the domain.

In some embodiments, the at least a part of the textual content that contains textual terms determined as relevant to the context of the domain comprises a plurality of parts of the textual contents that contain textual terms determined as relevant to the context of the domain.

In some embodiments, the textual contents are further obtained via a provided at least one link to the large source.

In some embodiments, the large source is at least a part of the Web.

There is thus further provided according to the present disclosure a method for adapting a baseline language model for a context of a domain by data of the Web, comprising obtaining, from the domain, data representative of the context of the domain, and based on the data representative of the context of the domain, forming a query that is provided to an at least one search engine of the Web, thereby acquiring an at least one result comprising textual contents, and discarding at least a part of the at least one result in which the textual contents includes at least one textual term that does not pertain to the data representative of the context of the domain, and adapting the baseline language model to an adapted language model by incorporating therein textual terms of the at least one result that pertain to the data representative of the context of the domain, wherein the method is performed on an at least one computerized apparatus configured to perform the method and equipped for communication with at least one computerized server linkable to the Web.

In some embodiments, the discarding of the at least a part of the at least one result comprises discarding all parts of the at least one result in which the textual contents comprises at least one textual term that does not pertain to the data representative of the context of the domain.

In some embodiments, the discarding of the at least a part of the at least one result comprises discarding the at least one results in which the textual content includes at least one textual term that does not pertain to the data representative of the context of the domain.

In some embodiments, the method further comprises discarding at least a part of the at least one result having textual terms which do not match any element in a provided set of at least one textual term.

In some embodiments, the acquiring at least one result further comprises acquiring further textual contents via a provided at least one link to a Web site.

In some embodiments, the at least one result comprises a plurality of results.

In some embodiments, the textual terms that pertain to the data representative of the context of the domain are determined based on a semantic relationship between the textual terms and the data representative of the context of the domain.

In some embodiments, the method further comprises evaluating the adapted language model by comparing the performance of the adapted language model with the performance of the baseline language model in recognizing textual terms in a provided speech data comprising coded textual terms related to the domain.

In some embodiments, the provided data is an audio data comprising spoken words related to the domain.

In the context of some embodiments of the present disclosure, by way of example and without limiting, terms such as ‘operating’ or ‘executing’ imply also capabilities, such as ‘operable’ or ‘executable’, respectively.

Conjugated terms such as, by way of example, ‘a thing property’ implies a property of the thing, unless otherwise clearly evident from the context thereof.

The terms ‘processor’ or ‘computer’, or system thereof, are used herein as ordinary context of the art, such as a general purpose processor or a micro-processor, RISC processor, or DSP, possibly comprising additional elements such as memory or communication ports. Optionally or additionally, the terms ‘processor’ or ‘computer’ or derivatives thereof denote an apparatus that is capable of carrying out a provided or an incorporated program and/or is capable of controlling and/or accessing data storage apparatus and/or other apparatus such as input and output ports. The terms ‘processor’ or ‘computer’ denote also a plurality of processors or computers connected, and/or linked and/or otherwise communicating, possibly sharing one or more other resources such as a memory.

The terms ‘software’, ‘program’, ‘software procedure’ or ‘procedure’ or ‘software code’ or ‘code’ or ‘application’ may be used interchangeably according to the context thereof, and denote one or more instructions or directives or circuitry for performing a sequence of operations that generally represent an algorithm and/or other process or method. The program is stored in or on a medium such as RAM, ROM, or disk, or embedded in a circuitry accessible and executable by an apparatus such as a processor or other circuitry.

The processor and program may constitute the same apparatus, at least partially, such as an array of electronic gates, such as FPGA or ASIC, designed to perform a programmed sequence of operations, optionally comprising or linked with a processor or other circuitry.

The term computerized apparatus or a computerized system or a similar term denotes an apparatus comprising one or more processors operable or operating according to one or more programs.

As used herein, without limiting, a module represents a part of a system, such as a part of a program operating or interacting with one or more other parts on the same unit or on a different unit, or an electronic component or assembly for interacting with one or more other components.

As used herein, without limiting, a process represents a collection of operations for achieving a certain objective or an outcome.

As used herein, the term ‘server’ denotes a computerized apparatus providing data and/or operational service or services to one or more other apparatuses.

The term ‘configuring’ and/or ‘adapting’ for an objective, or a variation thereof, implies using at least a software and/or electronic circuit and/or auxiliary apparatus designed and/or implemented and/or operable or operative to achieve the objective.

A device storing and/or comprising a program and/or data constitutes an article of manufacture. Unless otherwise specified, the program and/or data are stored in or on a non-transitory medium.

In case electrical or electronic equipment is disclosed it is assumed that an appropriate power supply is used for the operation thereof.

The flowchart and block diagrams illustrate architecture, functionality or an operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosed subject matter. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of program code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, illustrated or described operations may occur in a different order or in combination or as concurrent operations instead of sequential operations to achieve the same or equivalent effect.

The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising” and/or “having” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.

The terminology used herein should not be understood as limiting, unless otherwise specified, and is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosed subject matter. While certain embodiments of the disclosed subject matter have been illustrated and described, it will be clear that the disclosure is not limited to the embodiments described herein. Numerous modifications, changes, variations, substitutions and equivalents are not precluded.