Systems and methods for performing ASR in the presence of heterographs

Systems and methods for performing ASR in the presence of heterographs are provided. Verbal input is received from the user that includes a plurality of utterances. A first of the plurality of utterances is matched to a first word. It is determined that a second utterance in the plurality of utterances matches a plurality of words that is in a same heterograph set. It is identified which one of the plurality of words is associated with a context of the first word. A function is performed based on the first word and the identified one of the plurality of words.

BACKGROUND

Conventional automatic speech recognition (ASR) systems typically perform well in converting speech to text. However, in some cases, the same speech sounds map to different words with different meanings. These types of words are commonly known as heterographs. In these situations, conventional ASR systems will either choose one of the words matching the received speech at random or request input from the user to clarify which word to use. This results in either the wrong output or frustration for the user.

SUMMARY

Accordingly, methods and systems are disclosed herein for performing ASR in the presence of heterographs.

In some embodiments, verbal input is received from the user that includes a plurality of utterances. A first of the plurality of utterances is matched to a first word. In some embodiments, the first utterance is encoded into a phoneme sequence and represented using IPA. The phoneme sequence is cross-referenced with a database of phoneme sequences to identify the first word that matches the phoneme sequence.

In some embodiments, a determination is made that a second utterance in the plurality of utterances matches a plurality of words that is in a same heterograph set. In particular, the plurality of words in the same heterograph set may be phonetically similar to each other. In some embodiments, the second utterance is encoded into a phoneme sequence and represented using IPA. The phoneme sequence is cross-referenced with a database of phoneme sequences to identify a plurality of words that matches the phoneme sequence. In response to determining that a plurality of words matches the same phoneme sequence, a context of the first word is determined. The system then identifies which one of the plurality of words that matches the second phoneme sequence is associated with the context of the first word. A function is performed based on the first word and the identified one of the plurality of words. For example, a search is performed using the first word and only one of the words that match the second sequence having the same or similar context as the first word.

In some embodiments, a knowledge graph of a relationship between words is stored. A distance between words in the knowledge graph may be indicative of strength in relationship between the words. The one of the plurality of words that matches the context is determined based on a distance between each of the plurality of words in the heterograph set to the first word in the knowledge graph. In some implementations, positions of the first word in the knowledge graph and each of the plurality of words are identified. A distance between the first word and each of the plurality of words is computed based on the identified positions. The word in the plurality having a shortest distance that has been computed to the first word is selected as the identified one of the plurality of words.

In some embodiments, the first word may be a name of a competitor in a sporting event. In such cases, the context of the first word may be set to be the sporting event. A determination is made as to which of the plurality of words corresponds to the sporting event, where the identified one of the plurality of words corresponds to another competitor (e.g., another team) in the sporting event.

In some embodiments, the first word may be a name of an actor in a media asset. The context may be set to be the media asset. A determination is made as to which of the plurality of words corresponds to the media asset, where the identified one of the plurality of words corresponds to another actor in the media asset.

In some embodiments, the context may be determined based on a conjunction between two of the plurality of utterances. For example, if the user utters the word “v.” in a phrase as a conjunction between two words, the context may be determined to be a sporting event where the v. represents “versus”.

It should be noted that the systems and/or methods described above may be applied to, or used in accordance with, other systems, methods and/or apparatuses.

DETAILED DESCRIPTION OF DRAWINGS

Methods and systems are disclosed herein for performing ASR in the presence of heterographs. In particular, a plurality of utterances may be received from the user. The utterances may be represented using phoneme sequences. In some cases, a particular phoneme sequence may match multiple words. These words may be in the same heterograph set. A first word of the words in the heterograph set may be selected for processing together with a second word that is detected in the received utterances based on how close or far the first word is to the second word in a knowledge graph. Although this disclosure is discussed with reference to IPA phonetic encoding any other type of phonetic encoding or representation system can be used (e.g., SAMPA, X-SAMPA, Arpabet, extIPA, Kirshenbaum, etc.).

For example, if two words are in the same heterograph set, the system may select the word in the set that is more closely related to another received word for processing together with the another received word. Specifically, if the user is searching for basketball games between the teams Duke and Uconn, the user may utter the phrase “Duke v. Uconn”. The system may determine that the phoneme sequence for the utterance “Uconn” matches two words (e.g., Uconn and Yukon). The system selects the word Uconn instead of Yukon given that Uconn (i.e., the basketball team) is closer to Duke (i.e., the other received utterance) than Yukon (i.e., the river).

One of the functions of the media guidance application is to provide media guidance data to users. As referred to herein, the phrase “media guidance data” or “guidance data” should be understood to mean any data related to content or data used in operating the guidance application. For example, the guidance data may include program information, data used for generating a knowledge graph indicating weighted relationships between words, phoneme sequences mapping to words, guidance application settings, user preferences, user profile information, media listings, media-related information (e.g., broadcast times, broadcast channels, titles, descriptions, ratings information (e.g., parental control ratings, critic's ratings, etc.), genre or category information, actor information, logo data for broadcasters' or providers' logos, etc.), subtitles, media format (e.g., standard definition, high definition, 3D, etc.), advertisement information (e.g., text, images, media clips, etc.), on-demand information, blogs, websites, and any other type of guidance data that is helpful for a user to navigate among and locate desired content selections.

FIG. 1shows illustrative grid program listings display100arranged by time and channel that also enables access to different types of content in a single display. Display100may include grid102with: (1) a column of channel/content type identifiers104, where each channel/content type identifier (which is a cell in the column) identifies a different channel or content type available; and (2) a row of time identifiers106, where each time identifier (which is a cell in the row) identifies a time block of programming. Grid102also includes cells of program listings, such as program listing108, where each listing provides the title of the program provided on the listing's associated channel and time. With a user input device, a user can select program listings by moving highlight region110. Information relating to the program listing selected by highlight region110may be provided in program information region112. Region112may include, for example, the program title, the program description, the time the program is provided (if applicable), the channel the program is on (if applicable), the program's rating, and other desired information.

Grid102may provide media guidance data for non-linear programming including on-demand listing114, recorded content listing116, and Internet content listing118. A display combining media guidance data for content from different types of content sources is sometimes referred to as a “mixed-media” display. Various permutations of the types of media guidance data that may be displayed that are different than display100may be based on user selection or guidance application definition (e.g., a display of only recorded and broadcast listings, only on-demand and broadcast listings, etc.). As illustrated, listings114,116, and118are shown as spanning the entire time block displayed in grid102to indicate that selection of these listings may provide access to a display dedicated to on-demand listings, recorded listings, or Internet listings, respectively. In some embodiments, listings for these content types may be included directly in grid102. Additional media guidance data may be displayed in response to the user selecting one of the navigational icons120. (Pressing an arrow key on a user input device may affect the display in a similar manner as selecting navigational icons120.)

Advertisement124may provide an advertisement for content that, depending on a viewer's access rights (e.g., for subscription programming), is currently available for viewing, will be available for viewing in the future, or may never become available for viewing, and may correspond to or be unrelated to one or more of the content listings in grid102. Advertisement124may also be for products or services related or unrelated to the content displayed in grid102. Advertisement124may be selectable and provide further information about content, provide information about a product or a service, enable purchasing of content, a product, or a service, provide content relating to the advertisement, etc. Advertisement124may be targeted based on a user's profile/preferences, monitored user activity, the type of display provided, or on other suitable targeted advertisement bases.

Another display arrangement for providing media guidance is shown inFIG. 2. Video mosaic display200includes selectable options202for content information organized based on content type, genre, and/or other organization criteria. Selection of option204may return the user to grid102(FIG. 1).

In display200listings206,208,210, and212may provide graphical images including cover art, still images from the content, video clip previews, live video from the content, or other types of content that indicate to a user the content being described by the media guidance data in the listing. Each of the graphical listings may also be accompanied by text to provide further information about the content associated with the listing. For example, listings208,210and212may include more than one portion, including media portion214and text portion216. Media portion214and/or text portion216may be selectable to view content in full-screen or to view information related to the content displayed in media portion214(e.g., to view listings for the channel that the video is displayed on).

The listings in display200are of different sizes (i.e., listing206is larger than listings208,210, and212), but if desired, all the listings may be the same size. Listings may be of different sizes or graphically accentuated to indicate degrees of interest to the user or to emphasize certain content, as desired by the content provider or based on user preferences. Various systems and methods for graphically accentuating content listings are discussed in, for example, Yates, U.S. Patent Application Publication No. 2010/0153885, filed Dec. 29, 2005, which is hereby incorporated by reference herein in its entirety.

Users may access content and the media guidance application (and its display screens described above and below) from one or more of their user equipment devices.FIG. 3shows a generalized embodiment of illustrative user equipment device300. More specific implementations of user equipment devices are discussed below in connection withFIG. 4. User equipment device300may receive content and data via input/output (hereinafter “I/O”) path302. I/O path302may provide content (e.g., broadcast programming, on-demand programming, Internet content, content available over a local area network (LAN) or wide area network (WAN), and/or other content) and data to control circuitry304, which includes processing circuitry306, detecting circuitry320and storage308. Control circuitry304may be used to send and receive commands, requests, and other suitable data using I/O path302. I/O path302may connect control circuitry304(and specifically processing circuitry306) to one or more communications paths (described below). I/O functions may be provided by one or more of these communications paths, but are shown as a single path inFIG. 3to avoid overcomplicating the drawing.

Control circuitry may also instruct detecting circuitry320, which can be used to detect and/or identify a user or users without requiring the user or users to make any affirmative actions by using any suitable biometric determination technique, such as facial determination, brainwave information, body temperature determination, heart rate determination, odor determination, scent determination, body shape determination, voice determination, behavioral determination, any other suitable biometric determination technique or any combination thereof.

Detecting circuitry320may include monitoring component316and power management unit318. Monitoring component316may include one or more components (e.g., an EEG, EMG, pulse oximeter, etc.) for monitoring an activity type (e.g., biometric state, location, or brainwave information) of a user. As referred to herein, “location” refers to any relative or absolute identifier of a position, such as a geographical coordinate, vector for direction, street address, name of building, or any other suitable identifier. For example, a location may be indicated by coordinates in a geographic coordinate system (e.g., latitude or longitude), or a global positioning system (GPS).

It should be noted, monitoring component316may, in some embodiments, be located on a separate device in communication with the device upon which a media guidance application (and control circuitry304) is implemented. For example, in some embodiments, monitoring component316may communicate with device300via a communications network (e.g., communications network414(FIG. 4)). In some embodiments, monitoring component316may be a wearable device (e.g., a wristband, headband, watch, etc.).

Using microphones and voice recognition, control circuitry304may detect or identify users based on the physical characteristics of their vocal tract through voice recognition or identification. Using a sound source and an array of microphones, control circuitry304may determine information about the shape of the area surrounding the biometric device through acoustic localization, similar to the time-of-flight method described above in reference to IR light. For example, a sound source may be located near an array of microphones. A sound broadcast from the sound source may propagate as a wave front away from the source. As the wave front impacts an object, portions of the wave front may be reflected toward the sound source and array of microphones. Depending on the position of the object, the reflected sound may arrive at the microphone at different times. For example, the reflected sound may arrive at a closer microphone in a shorter amount of time than at a farther microphone. Based on the time or phase difference in arrival time at various microphones, total travel time of the sound, and positions of the microphones, it may be possible to generate a spatial areal map. Locations of objects may be determined based on the spatial areal map generated via acoustic localization, IR time of flight, any other suitable mapping method, or any combination thereof. It should be understood that various biometric techniques and devices may be used alone or in combination to supplement each other to more accurately identify or detect users.

In some embodiments, the media guidance application may respond to verbal commands or verbal input received from a user. Control circuitry304may include a voice recognition engine or circuitry with a phoneme encoder to process verbal input from a user. In some implementations, the human language sounds (e.g., utterances) may be received with one or more microphones and provided to the phoneme encoder of control circuitry304. The phoneme encoder may convert the sounds into machine representations of the sounds using a phoneme representation. In one embodiment, the machine representations may be viewed as American Standard Code for Information Interchange (ASCII) representations of the phonemes, or the like, viewable as a sequence of alpha-numeric values. In one embodiment, the machine representations may employ symbols from the International Phonetic Alphabet (IPA) and/or extended sets adapted for use within a computer device.

As used herein, the term “phoneme” refers to a physical representation of a human language sound or utterance. Moreover, a phoneme is a representation of a sound of a language independent of its position in a word or phrase. Thus, phonemes represent sounds in the most neutral form possible. A variety of written representations of phonemes are known in the art, and as such virtually any representation may be used by the present disclosure. For example, in one embodiment, the phonemes may be represented by alpha-numeric symbols such as employed in the International Phonetic Alphabet (IPA), American Standard Code for Information Interchange (ASCII) format, or the like. However, as noted, the disclosure is not limited to this mechanism, and others may be used. As used herein, the term “word” refers to a single distinct meaningful element of speech or writing that matches one or more phoneme sequences. When multiple words match the same phoneme sequence, they are referred to as heterographs or words that are part of the same heterograph set.

Control circuitry304may cross-reference a detected phoneme sequence with a database600(FIG. 6) that maps phoneme sequences to words. The process of cross-referencing phoneme sequences with database600may be used to convert a received plurality of utterances from a user to textual words. After the utterances are converted to their corresponding digital words, the output may be provided to the media guidance application for further processing. For example, the media guidance application may process the identified words (corresponding to the received utterances) to generate recommendations, advertisements, perform search queries, load websites, or perform any other command that corresponds to the identified words. In some implementations, the media guidance application may cross-reference one of the identified words with a commands database to determine whether one or more of the words are commands. The media guidance application may identify a command corresponding to the identified words and perform the command (e.g., a search function). Other parameters of the command may be provided by other identified words or subsequently received utterances.

In some embodiments, control circuitry304may receive verbal input from the user that includes a plurality of utterances. For example, the user may utter the phrase “Duke v. Uconn”. Each utterance may correspond to a particular word spoken by the user. Typically, the utterances are separated from each other by a brief moment of silence. In response to receiving the utterances, control circuitry304may encode the utterances into phoneme sequences. For example, control circuitry304may encode each utterance using IPA as /duk/; /vi/; /yukn/ (where the semicolon represents the silence or the break between utterances). Control circuitry304may store each phoneme sequence using IPA in storage308. Besides using IPA phonetic encoding, any other type of phonetic encoding or representation system can be used (e.g., SAMPA, X-SAMPA, Arpabet, extIPA, Kirshenbaum, etc.)

Control circuitry304may cross-reference the stored IPA for each utterance with database600. Database600may be a local database or remote database. When database600is remote, control circuitry304may communicate the phoneme sequence or IPA to a server, which may then return to control circuitry304the corresponding word or words matching the phoneme sequence or IPA.

In some embodiments, in addition to cross-referencing the IPA output by phoneme encoder, control circuitry304may cross-reference database600with the IPA that is close to the IPA output by phoneme encoder. This may account for possible errors in speech detection or different ways some people say certain words. For example, the user may utter the term “bite”, for which the phoneme encoder outputs the IPA representation as /baIt/. In addition to cross-referencing the output of the phoneme encoder, /baIt/, control circuitry304may also identify other IPAs that are close to /baIt/. One such other IPA may be /braIt/ (corresponding to the word “bright” which is close to “bite”). Accordingly, control circuitry304may retrieve from database600all words that match both IPAs.

In some embodiments, database600may return to control circuitry304the word or words corresponding to a given phoneme sequence. For example, for the IPA of duk, database600may return only one word that matches, “duke”. For the IPA of /yukn/, database600may return multiple words along with an indication that the IPA received is a heterograph. Specifically, database600may return the set of words “Yukon” and “Uconn”. In response to receiving the indication from database600that one of the phoneme sequences matches a heterograph set, control circuitry304may process each word in the heterograph set with other words received in the utterance to select the appropriate word. In some implementations, control circuitry304may use a knowledge graph500to determine which word in the heterograph set was intended by the user who uttered the word based on its relationship to other words uttered by the user.

In some embodiments, control circuitry304may identify a context for the first word and may determine which word in the heterograph set was intended by the user who uttered the word based on whether the word is associated with the context of the first word. For example, control circuitry304may determine that the word “duke” is a university. Accordingly, control circuitry304may set the context to be universities or college sports. Control circuitry304may determine whether the word “Yukon” or the word “Uconn” is associated with the context universities or the context college sports. In response to determining that the word “uconn” is associated with the same context as the word “duke” and that the word “Yukon” is not, control circuitry304may select the combination of words “Duke” and “Uconn” for processing as the user-intended input.

In some embodiments, control circuitry304may identify a context for the word in the heterograph set intended by the user who uttered the word based on a conjunction used in the phrase uttered by the user between the word in the heterograph and another word. For example, control circuitry304may determine that the conjunction used in the phrase “Duke v. Uconn” was “v.”. Control circuitry304may cross-reference the conjunction “v.” with a lookup table of conjunctions to determine the context for the conjunction. For example, control circuitry304may determine based on the lookup table that the conjunction “v.” typically represents a competition, like a sporting event. Accordingly, control circuitry304may set the context to be competitions. Control circuitry304may determine whether the word “Yukon” or the word “Uconn” is associated with the context competitions. Specifically, control circuitry304may determine that the word “uconn” is associated with the context competitions, as Uconn is a university that is typically known to compete in sports and the word “Yukon” is not (as rivers are not known for competitions). Accordingly, control circuitry304may select the combination of words “Duke” and “Uconn” for processing as the user-intended input and not “Duke” and “Yukon”.

In some embodiments, knowledge graph500may map a collection of words and their relationships to each other using entries for each word. Specifically, an entry510in knowledge graph500may include a word520and its corresponding IPA representation530. Although the IPA representation is shown in knowledge graph500, any other type of phonetic encoding or representation system can be used (e.g., SAMPA, X-SAMPA, Arpabet, extIPA, Kirshenbaum, etc.). A first entry is connected to a second entry by a weighted line540. For example, the entry510for the word “Duke” may be connected by line540having a weight of “1” to the entry for the word “university”. A low weight to a line may indicate a stronger or greater relationship between two words. Because Duke is a university, the weight of the line connecting the two entries in knowledge graph500is set to be the maximum value of “1”. Similarly, the entry for the word “Duke” is connected to an entry580for the word “uconn” by a line550having a weight of “2” because there is a weaker relationship between the university Duke and the university Uconn. The lack of a visual connection in knowledge graph500between two entries indicates that the two entries are connected by a line with an infinite weight meaning the two corresponding words are unrelated to each other. As seen in knowledge graph500, two words “Uconn” and “Yukon” have corresponding entries and identical IPA representations. Although the IPA representations are identical, the two entries are related to other entries by different weights because the corresponding words have different meanings.

In some embodiments, the weights between different entities in knowledge graph500may change over time. For example, two entities that represent two teams may be connected with a very strong weight (e.g., “2”) when the two teams are in the same tournament. However, when the tournament is over and the teams are no longer playing each other, the weights between the two entities in knowledge graph500may be greater (e.g., “100” or infinity) indicating the two entities are less closely related. Specifically, the relationship between words and entities in knowledge graph500may adapt over time.

In some embodiments, control circuitry304may compute a distance between two or more words using knowledge graph500. Specifically, control circuitry304may add up the weights to lines connecting different entries in knowledge graph500to determine the shortest distance. For example, if first and second entries are separated from each other in knowledge graph500by three other entries, control circuitry304may accumulate the lines connecting each of the three other entries to determine the distance between the first and second entries. Specifically, the distance between entry510for the word “Duke” and the entry590for the word “area” may be computed as four because entry510is separated from entry590by the entry for the word “North Carolina”. That is, the distance between entry510and the entry for “North Carolina” is “1” and the distance between the entry for “North Carolina” and entry590is “3” which adds up to four.

In some embodiments, in response to receiving an indication from database600that a given phoneme sequence matches multiple words, control circuitry may first select a first word and process the selected first word with another word that corresponds to a different phoneme sequence. For example, control circuitry may first select the word “Yukon” in the heterograph set and combine the selected word with a target word that matches a different phoneme sequence that was received (e.g., “duke”) to determine their relationship. Control circuitry304may use knowledge graph500to compute the distance between the combination of words “duke” and “Yukon” to determine how close or far the words are to each other in a knowledge graph500. In particular, control circuitry304may determine that the shortest distance in knowledge graph500between entities corresponding to the word “duke” and the word “Yukon” is five (e.g., the weight of the line or connection between the entity for the word “Duke” to the entity for the word “North Carolina” being 1; the weight of the line or connection between the entity for the word “North Carolina” to the entity for the word “area” being 3; and the weight of the line or connection between the entity for the word “area” to the entity for the word “Yukon” being 1). Control circuitry304may store in storage308that value of the distance between the first selected word “Yukon” and the target word “duke”.

Control circuitry may determine whether there are other words in the heterograph set for which to determine a distance to the target word. In this case, control circuitry304has “Uconn” in the heterograph set left to process with the target word. Control circuitry may next select the word “Uconn” in the heterograph set and combine the selected word with a target word (e.g., “duke”) to determine their relationship. Control circuitry304may use knowledge graph500to compute the distance between the combination of words “duke” and “Uconn” to determine how close or far the words are to each other in a knowledge graph500. In particular, control circuitry304may determine that the shortest distance in knowledge graph500between entities corresponding to the word “duke” and the word “Uconn” is 2 (e.g., the weight of the line or connection550between the entity for the word “Duke” to the entity for the word “Uconn” being “1”). Control circuitry304may store in storage308that value of the distance between the word “Uconn” and the target word “duke”.

Control circuitry304may compare the distance between each word in the heterograph set and the target word. Control circuitry304may select as the intended combination by the user the word in the heterograph set having the smallest distance to the target word (the word that is most closely related to the target word). In this case, control circuitry304may determine that the intended combination for the utterances /duke/ and /yukn/ corresponds to “duke” and “uconn” rather than “duke” and “yukon”. Control circuitry304may then provide this combination to the media guidance application to perform a media guidance function on the combination (e.g., perform a search or recommendation). For example, the media guidance application may generate a display of upcoming sporting events between the two sporting event teams (“Duke” and “Uconn”).

In some embodiments, database600may return to control circuitry304multiple words for each utterance or sequence of phonemes that control circuitry304provides to database600. For example, the multiple words corresponding to a given utterance may be the result of control circuitry304providing phoneme sequences that are near each other for one utterance. In such circumstances, control circuitry304may compute a distance between each combination of matching words to select the combination having the shortest distance (e.g., the combination of words that are most closely related to each other). For example, control circuitry304may provide a first phoneme sequence /a/ and a second phoneme sequence /b/ to database600. Database600may in response return a first set of words matching the first phoneme sequence (e.g., words A, B, and C) and a second set of words matching the second phoneme sequence (e.g., words D and E). As a result, control circuitry304may generate six combinations of words (e.g., combination1: A+D; combination2: B+D; combination3: C+D; combination4: A+E; combination5: B+E; and combination6: C+E). Control circuitry304may determine a distance between each word in each combination using knowledge graph500. For example, control circuitry304may determine that the words in combinations 1-6 have respective distances of 3, 2, 5, 10, 8, and 50. In response to determining that the words in combination 2 have the shortest distance and hence are most closely related, control circuitry304may automatically select combination 2 for further processing as the user's intended combination.

Accordingly, without receiving input from the user further to receiving the initial verbal input with the phrase “Duke v. Uconn”, control circuitry304may output results of a search featuring the words “Duke” and “Uconn” even though the word “uconn” is in a heterograph set. Namely, the user need not be involved to resolve the ambiguity as to whether the user intended “uconn” the school or “yukon” the river for control circuitry304to provide the intended output (e.g., the school “Uconn”). This is because control circuitry304determines which of the multiple words in the heterograph set is the most likely intended word based on other contextual information, such as other words in the verbal input and their relationship to each word in the heterograph set.

Memory may be an electronic storage device provided as storage308that is part of control circuitry304. As referred to herein, the phrase “electronic storage device” or “storage device” should be understood to mean any device for storing electronic data, computer software, or firmware, such as random-access memory, read-only memory, hard drives, optical drives, digital video disc (DVD) recorders, compact disc (CD) recorders, BLU-RAY disc (BD) recorders, BLU-RAY 3D disc recorders, digital video recorders (DVR, sometimes called a personal video recorder, or PVR), solid state devices, quantum storage devices, gaming consoles, gaming media, or any other suitable fixed or removable storage devices, and/or any combination of the same. Storage308may be used to store various types of content described herein as well as media guidance data described above. For example, storage308may be used to store database600. Database600may include multiple entries. Each entry may include a phoneme sequence field and a corresponding words/heterographs field. The phoneme sequence field may identify a set of phonemes that represent a received utterance and the words/heterographs field may identify the textual representation of the word or words that match the phoneme sequence. Storage308may also be used to store knowledge graph500(FIG. 5) that stores a weighted relationship between different words. Nonvolatile memory may also be used (e.g., to launch a boot-up routine and other instructions). Cloud-based storage, described in relation toFIG. 4, may be used to supplement storage308or instead of storage308.

A user may send instructions to control circuitry304using user input interface310. User input interface310may be any suitable user interface, such as a remote control, mouse, trackball, keypad, keyboard, touch screen, touchpad, stylus input, joystick, voice recognition interface, microphone, or other user input interfaces. Display312may be provided as a stand-alone device or integrated with other elements of user equipment device300. For example, display312may be a touchscreen or touch-sensitive display. In such circumstances, user input interface312may be integrated with or combined with display312. Display312may be one or more of a monitor, a television, a liquid crystal display (LCD) for a mobile device, amorphous silicon display, low temperature poly silicon display, electronic ink display, electrophoretic display, active matrix display, electro-wetting display, electrofluidic display, cathode ray tube display, light-emitting diode display, electroluminescent display, plasma display panel, high-performance addressing display, thin-film transistor display, organic light-emitting diode display, surface-conduction electron-emitter display (SED), laser television, carbon nanotubes, quantum dot display, interferometric modulator display, or any other suitable equipment for displaying visual images. In some embodiments, display312may be HDTV-capable. In some embodiments, display312may be a 3D display, and the interactive media guidance application and any suitable content may be displayed in 3D. A video card or graphics card may generate the output to the display312. The video card may offer various functions such as accelerated rendering of 3D scenes and 2D graphics, MPEG-2/MPEG-4 decoding, TV output, or the ability to connect multiple monitors. The video card may be any processing circuitry described above in relation to control circuitry304. The video card may be integrated with the control circuitry304. Speakers314may be provided as integrated with other elements of user equipment device300or may be stand-alone units. The audio component of videos and other content displayed on display312may be played through speakers314. In some embodiments, the audio may be distributed to a receiver (not shown), which processes and outputs the audio via speakers314.

The guidance application may be implemented using any suitable architecture. For example, it may be a stand-alone application wholly implemented on user equipment device300. In such an approach, instructions of the application are stored locally (e.g., in storage308), and data for use by the application is downloaded on a periodic basis (e.g., from an out-of-band feed, from an Internet resource, or using another suitable approach). Control circuitry304may retrieve instructions of the application from storage308and process the instructions to generate any of the displays discussed herein. Based on the processed instructions, control circuitry304may determine what action to perform when input is received from input interface310. For example, movement of a cursor on a display up/down may be indicated by the processed instructions when input interface310indicates that an up/down button was selected.

User equipment device300ofFIG. 3can be implemented in system400ofFIG. 4as user television equipment402, user computer equipment404, wireless user communications device406, or any other type of user equipment suitable for accessing content, such as a non-portable gaming machine. For simplicity, these devices may be referred to herein collectively as user equipment or user equipment devices, and may be substantially similar to user equipment devices described above. User equipment devices, on which a media guidance application may be implemented, may function as a standalone device or may be part of a network of devices. Various network configurations of devices may be implemented and are discussed in more detail below.

A user equipment device utilizing at least some of the system features described above in connection withFIG. 3may not be classified solely as user television equipment402, user computer equipment404, or a wireless user communications device406. For example, user television equipment402may, like some user computer equipment404, be Internet-enabled allowing for access to Internet content, while user computer equipment404may, like some television equipment402, include a tuner allowing for access to television programming. The media guidance application may have the same layout on various different types of user equipment or may be tailored to the display capabilities of the user equipment. For example, on user computer equipment404, the guidance application may be provided as a website accessed by a web browser. In another example, the guidance application may be scaled down for wireless user communications devices406.

In system400, there is typically more than one of each type of user equipment device but only one of each is shown inFIG. 4to avoid overcomplicating the drawing. In addition, each user may utilize more than one type of user equipment device and also more than one of each type of user equipment device.

In some embodiments, a user equipment device (e.g., user television equipment402, user computer equipment404, wireless user communications device406) may be referred to as a “second screen device.” The content presented on the second screen device may be any suitable content that supplements the content presented on the first device. In some embodiments, the second screen device provides an interface for adjusting settings and display preferences of the first device. In some embodiments, the second screen device is configured for interacting with other second screen devices or for interacting with a social network. The second screen device can be located in the same room as the first device, a different room from the first device but in the same house or building, or in a different building from the first device. In some embodiments, the second screen device may provide verbal input to the first device. In some embodiments, the second screen device may be a thin client that cannot perform voice recognition or ASR but simply sends received utterances from a user to the first device. The first device may include the capability to perform ASR on the utterances received with the second screen device. In such cases, the first device may be a local or remote server. In some embodiments, the second screen device may include full capability to perform ASR on a received utterance and may transmit (if necessary) the corresponding words to the first device for further processing.

System400includes content source416and media guidance data source418coupled to communications network414via communication paths420and422, respectively. Paths420and422may include any of the communication paths described above in connection with paths408,410, and412. Communications with the content source416and media guidance data source418may be exchanged over one or more communications paths, but are shown as a single path inFIG. 4to avoid overcomplicating the drawing. In addition, there may be more than one of each of content source416and media guidance data source418, but only one of each is shown inFIG. 4to avoid overcomplicating the drawing. (The different types of each of these sources are discussed below.) If desired, content source416and media guidance data source418may be integrated as one source device. Although communications between sources416and418with user equipment devices402,404, and406are shown as through communications network414, in some embodiments, sources416and418may communicate directly with user equipment devices402,404, and406via communication paths (not shown) such as those described above in connection with paths408,410, and412.

In a third approach, users of user equipment devices inside and outside a home can use their media guidance application to communicate directly with content source416to access content. Specifically, within a home, users of user television equipment402and user computer equipment404may access the media guidance application to navigate among and locate desirable content. Users may also access the media guidance application outside of the home using wireless user communications devices406to navigate among and locate desirable content.

FIG. 7is a diagram of a process700for performing ASR in the presence of heterographs in accordance with some embodiments of the disclosure. At step710, verbal input from the user is received that includes a plurality of utterances. For example, a microphone may receive a verbal input from the user that includes the phrase “Duke v. Uconn”.

At step720, one of the plurality of utterances is selected. For example, control circuitry304may select the utterance corresponding to “Duke”.

At step730, a phoneme sequence is generated for the selected utterance. For example, a phoneme encoder may encode the utterance corresponding to “Uconn” to represent the utterance as the phoneme sequence /yukn/.

At step740, the phoneme sequence is cross-referenced with a database to identify a set of words that corresponds to the phoneme sequence. For example, control circuitry304may cross-reference the phoneme sequence /duk/ with database600(FIG. 6) to identify the set of words corresponding to the phoneme sequence. For example, the set of words may include one word, “duke” that matches the phoneme sequence /duk/. Similarly, control circuitry304may cross-reference the phoneme sequence /yukn/ with database600(FIG. 6) to identify the set of words corresponding to the phoneme sequence. For example, the set of words may include two words, “Yukon” and “Uconn” that match the phoneme sequence /yukn/.

At step750, a determination is made as to whether additional utterances remain. In response to determining that additional utterances remain, the process proceeds to step720, otherwise the process proceeds to step760.

At step760, combinations that include one word from each set of words for each utterance are generated. For example, control circuitry304may generate one combination that includes the words “duke” and “Yukon” and another combination that includes the words “duke” and “uconn”.

At step770, one of the generated combinations is selected.

At step780, a distance between words in the selected combination is computed using a knowledge graph. For example, control circuitry304may compute a distance between the words in the combination of “duke” and “Yukon” to be “5”. Similarly, control circuitry304may compute a distance between the words in the combination of “duke” and “uconn” to be “2”.

At step790, a determination is made as to whether additional combinations remain. In response to determining that additional combinations remain, the process proceeds to step770, otherwise the process proceeds to step792.

At step792, the computed distances of each combination are compared.

At step794, the combination of words having the smallest distance are processed as the user-intended input. For example, control circuitry304may select the combination of the words “duke” and “uconn” as the distance is “2” which is less than “5” indicating this combination of words to be more relevant to each other. Control circuitry304may perform a media guidance function using the selected combination (e.g., perform a search or recommendation). Specifically, in response to receiving the verbal input from the user with the phrase “Duke v. Uconn”, control circuitry304may output all the games featuring these two schools together without further input from the user even though the term “uconn” in the phrase is a heterograph which phonetically matches multiple words.