SPEECH RECOGNITION SYSTEMS AND METHODS USING RELATIVE AND ABSOLUTE SLOT DATA

Methods and systems are provided for managing speech of a speech system. In one embodiment, a method includes: receiving, by a processor, relative information comprising graph data from at least one relative data datasource; processing, by a processor, the graph data of the relative information to determine at least one of an association and a relationship associated with an element defined in the speech system; and storing, by a processor, the at least one of association and relationship as relative slot data for use by at least one of a speech recognition method and a dialog management method.

TECHNICAL FIELD

The technical field generally relates to speech systems, and more particularly relates to methods and systems for utilizing relative data in speech systems.

BACKGROUND

Vehicle speech systems perform speech recognition or understanding of speech uttered by occupants of the vehicle. The speech utterances typically include commands that communicate with or control one or more features of the vehicle or other systems that are accessible by the vehicle. A speech dialog system of the vehicle speech system generates spoken commands in response to the speech utterances.

For example, a vehicle speech system may receive speech utterances from a user directed to a phone system. The speech utterances can indicate to call a certain person. It is often the case that the user describes the certain person to the speech system using relative information. For example, a user may utter “call my boss, john.” The speech system may not understand “my boss” and/or the user's contact list may not indicate that John is the boss. Multiple dialog prompts may be generated asking for more information before the correct John is selected to be called.

Accordingly, it is desirable to provide improved methods and systems for performing speech recognition and dialog generation using relative information. Furthermore, other desirable features and characteristics of the present invention will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and the foregoing technical field and background.

SUMMARY

Accordingly, methods and systems are provided for managing speech of a speech system. In one embodiment, a method includes: receiving, by a processor, relative information comprising graph data from at least one relative data datasource; processing, by a processor, the graph data of the relative information to determine at least one of an association and a relationship associated with an element defined in the speech system; and storing, by a processor, the at least one of association and relationship as relative slot data for use by at least one of a speech recognition method and a dialog management method.

In another embodiment, a system includes a first non-transitory module that receives, by a processor, relative information comprising graph data from at least one relative data datasource. The system further includes a second non-transitory module that processes, by a processor, the graph data of the relative information to determine at least one of an association and a relationship associated with an element defined in the speech system, and that stores, by a processor, the at least one of association and relationship as relative slot data for use by at least one of a speech recognition method and a dialog management method.

DETAILED DESCRIPTION

The following detailed description is merely exemplary in nature and is not intended to limit the application and uses. Furthermore, there is no intention to be bound by any expressed or implied theory presented in the preceding technical field, background, brief summary or the following detailed description. As used herein, the term module refers to an application specific integrated circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and memory that executes one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality. As can be appreciated, the modules described herein can be combined and/or partitioned into additional modules in various embodiments.

In accordance with exemplary embodiments of the present disclosure a speech system10is shown to be included within a vehicle12. In various exemplary embodiments, the speech system10provides speech recognition or understanding and a dialog for one or more vehicle systems through a human machine interface module (HMI) module14. Such vehicle systems may include, for example, but are not limited to, a phone system16, a navigation system18, a media system20, a telematics system22, a network system24, or any other vehicle system that may include a speech dependent application. As can be appreciated, one or more embodiments of the speech system10can be applicable to other non-vehicle systems having speech dependent applications and thus, is not limited to the present vehicle example. The HMI module14includes, at a minimum a recording device for recording speech utterances28of a user and an audio and/or visual device for presenting a dialog30or any other multimodal interaction to a user.

The speech system10and/or the HMI module14communicate with the multiple vehicle systems16-24through a communication bus and/or other communication means26(e.g., wired, short range wireless, or long range wireless). The communication bus can be, for example, but is not limited to, a controller area network (CAN) bus, local interconnect network (LIN) bus, or any other type of bus.

The speech system10includes a speech recognition module32and a dialog manager module34. As can be appreciated, the speech recognition module32and the dialog manager module34may be implemented as separate speech systems and/or as a combined speech system10as shown. In general, the speech recognition module32receives and processes the speech utterances28from the HMI module14using one or more speech recognition or understanding techniques that rely on semantic interpretation and/or natural language understanding. The speech recognition module32generates one or more possible results from the speech utterance (e.g., based on a confidence threshold) and provides the possible results to the dialog manager module34.

The dialog manager module34manages a dialog based on the results. In various embodiments, the dialog manager module34determines the next dialog prompt30to be generated by the speech system10in response to the results. The next dialog prompt30is provided to the HMI module14to be presented to the user.

As will be discussed in more detail below, the speech system10further includes a slot data manager module36that manages slot data stored in a slot data datastore38. The slot data is used by the speech recognition module32and/or the dialog manager module34to process the speech utterances28and/or to manage the dialog30. The slot data includes absolute slot data40and relative slot data42.

The absolute slot data40includes absolute values of elements used in speech processing methods and/or dialog management methods. For example, the elements for a contact person related to the phone system16can include, but is not limited to a first name, a last name, a mobile phone, a home phone, etc. In such example, the absolute slot data40includes the absolute values for the elements associated with each contact in a user's contact list. The user's contact list can be obtained from the phone system16, a personal device43associated with the vehicle12such as a cell phone, tablet, computer, etc., and/or entered by a user directly into the vehicle12via, for example, the HMI module14. As can be appreciated, the absolute slot data40can include absolute values for other elements (other than a contact) as the disclosure is not limited to the present examples.

The relative slot data42includes relative values of elements used in speech processing methods and/or dialog management methods. For example, the relative values for a contact can indicate a relationship (i.e., mom, dad, sister, husband, etc.) or other association (i.e., boss, group leader, colleague, etc.). As can be appreciated, the relative slot data42can include relative values for other elements (other than a contact) as the disclosure is not limited to the present examples.

The slot data manager module36communicates with one or more relative data datasources44-48to obtain relative information50-54. The relative data datasources44-48include internet sites or accessible databases that maintain the relative information50-54for use by their respective application. The slot data manager module36makes use of their relative information50-54to populate the relative slot data42in the slot data datastore38. For example, given the contact example discussed above, various relative data datasources44-48(e.g., Geni, People Finder, or other organization websites) maintain relative information50-54about people including their relationships or associations with other people. The relationships or associations can be work relationships, familial relationships, social relationships, etc. The relative information50-54is typically maintained by the relative data datasources44-48in a graph format, such as a tree format, or other graph format. The slot data manager module36obtains the relative information50-54in the graph format from one or more of the relative data datasources44-48and processes the relative information50-54to determine the relative slot data42.

In various embodiments, the slot data manager module36obtains the relative information50-54based on an initialization of absolute information (e.g., first time establishing a contact or contact list, etc.). In various embodiments, the slot data manager module36obtains the relative information50-54in realtime, for example, based on a speech utterance28of a user that contains relative language (e.g., “Call Omer from Mo organization,” “Call Eli from ATCI,” “Call Eli from UXT,” “Call cousin Bob,” “Call Rob's wife,” “Call head of SSV group,” etc.). As can be appreciated, the relative information50-54can be obtained for a single element at a time or for multiple elements at a time.

In various embodiments, the slot data manager module36processes the relative information50-54by learning the movement on the graph and learning the relationships/associations associated with each movement on the graph (e.g., given an organization chart of an entity, lateral movement may indicate a colleague, upward movement may indicate a boss, etc.). The slot data manager module36extracts the learned relationships/associations relative to a particular element (e.g., the user) and stores the relationships/associations as the relative slot data42. In various embodiments, the slot data manager module36extracts the learned relationships/associations for known elements (e.g., names already stored in the contact list) relative to the particular element (e.g., the user). In various embodiments, the slot data manager module36extracts relationships/associations for additional elements (e.g., names not within the contact list) within a defined proximity (or other metric associated with the graph) and stores the relative slot data42for the additional elements (e.g., builds additional contacts based on the relative information).

In various embodiments, the slot data manager module36stores the relative information50-54in graph format in the slot data datastore38in addition to the slot data. In such embodiments, the slot data manager module36presents the relative information50-54to the user (graphically or textually via the HMI module14) for confirmation and/or disambiguation of the relative information50-54.

In various embodiments, the slot data manager module36communicates indirectly with the relative data datasources44-46through, for example, the personal device43and a network56to obtain the relative information50-54. For example, as shown in more detail inFIG. 2and with continued reference toFIG. 1, the personal device43may be paired with the vehicle12at100and the contact list (or other absolute elements) are downloaded and parsed into absolute slot data40for use by the speech recognition module32and/or the dialog manager module34at110. In response to the downloaded data, the slot data manager module36of the speech system10communicates a request for relative information to the personal device43at120. The personal device43communicates one or more requests to one or more of the relative data datasources44-48to capture the relative information50-54for a particular element or multiple elements at130-134. The relative data datasources44-48communicate the relative information50-54back to the personal device43at140-144. In response, the personal device43communicates the relative information50-54back to the data slot manager module36at150. The data slot manager module36processes the relative information50-54to determine the relative slot data42and stores the relative slot data42in the slot data datastore38at160for use by the speech system10.

In various other embodiments, as shown inFIG. 1, the data slot manager module36communicates directly with the relative data datasources44-48(e.g., through the network56) to obtain the relative information50-54. For example, as shown in more detail inFIG. 3and with continued reference toFIG. 1, a user communicates a speech utterance28to the speech system10at200. In response, the data slot manager module36processes the speech utterance28at210and communicates a request directly to one or more of the relative data datasources44-48to capture the relative information50-54for a particular element or multiple elements associated with the speech utterance28at220-224. The relative data datasources44-48communicate the relative information50-54back to the data slot manager module36at230-234. The data slot manager module36processes the relative information50-54to determine the relative slot data42and stores the relative slot data42in the slot data datastore38at240for use by the speech system10.

Referring now toFIG. 4, a flowchart illustrates a method300that may be performed by the speech system10in accordance with various exemplary embodiments. As can be appreciated in light of the disclosure, the order of operation within the method300is not limited to the sequential execution as illustrated inFIG. 4, but may be performed in one or more varying orders as applicable and in accordance with the present disclosure. As can further be appreciated, one or more steps of the method300may be added or removed without altering the spirit of the method300.

As shown, the method300may begin at305. The relative information50-54is received at310(for example as discussed above with regard toFIG. 2orFIG. 3). The graph data of the relative information50-54is processed by learning the movement on the graph, learning the relationships/associations associated with each movement on the graph, and extracting the learned relationships/associations relative to a particular element for known elements and/or additional elements at320. The extracted relationships/associations are stored as the relative slot data42in the slot data datastore38at330. Optionally, the relative information50-54is stored in the slot data datastore38at340for use in confirmation and disambiguation performed by the speech recognition module32and/or the dialog manager module34. The stored relative slot data42is then used in speech recognition methods and/or dialog management methods at350. Thereafter, the method may end at360. As can be appreciated, in various embodiments the method300may iterate for any number of speech utterances provided by the user.