This invention is in the field of creation of interfaces for automated systems.
As a general rule, it is cheaper for an entity to process an interaction using an automated system than it is to process an interaction using live personnel (e.g., agents). However, existing automated systems for processing transactions are generally substantially less flexible than agents in handling transactions. Further, the more flexibility which is built into an automated system, generally the more expensive the creation of that system becomes. Accordingly, there is a need for automated systems which can flexibly handle interactions in a manner closer to that which is possible with human agents. There is also a need for an economically feasible method of creating those systems.
As will be apparent to one of ordinary skill in the art in light of the disclosure set forth herein, the inventors' technology is suitable for implementation in a variety of different contexts. One example of a way that the inventors' technology could be implemented is in a system comprising an input connection, a computer, and a computer readable medium. In such a system, the input connection could be operable to receive a natural language input from a user, the computer readable medium could store a plurality of grammars, and the computer could be configured with a set of computer executable instructions operable to, during an interaction with the user, cause the computer to perform a set of acts.
Before continuing with the discussion of potential system implementations such as described above, the following definitions are provided, which should be used as an aid to understanding the disclosure set forth herein. Particularly, the term “grammar” should be understood to refer to a set of rules which constrain combinations of elements to be syntactically and semantically correct. Examples of grammars include transformational grammars, systemic grammars, functional grammars and frame based grammars, though it should be understood that the enumerated types of grammar are intended to be illustrative only, and that the teachings of this disclosure are not limited to being applied in the context of the enumerated types. Also an “interaction with a user” should be understood to refer to an exchange of inputs and responses (the “interaction”) with someone utilizing a system (the “user,” e.g., a customer or an agent). Further, the terms “computer” and “computer readable medium” should both be read broadly. Thus, a “computer” should be understood to refer to a device or group of devices which is capable of performing one or more logical and/or physical operations on data to produce a result, while a “computer readable medium” should be understood to refer to any object, substance, or combination of objects or substances, capable of storing data or instructions in a form in which they can be retrieved and/or processed by a computer.
Returning to the discussion of a system such as mentioned above, in such a system, the set of computer executable instructions could be operable to configure the computer to perform acts such as:
1) determining a goal for a user based on a natural language input from the user;
2) using a first grammar from the plurality of grammars stored on the computer readable medium, determining a set of information necessary for the user to provide for the goal to be completed;
3) determining a set of information missing from the information necessary to complete the goal;
4) based on a second grammar from the plurality of grammars, determining a prompt to provide the user to obtain one or more elements from the set of missing information; and
5) providing the prompt to the user.
For the purpose of clarity, certain terms used in the description above should be understood as having particular meanings. Thus, the phrase “based on” is used as an indication that something is determined at least in part by the thing that it is identified as being “based on.” When something is completely determined by a thing, it will be described as being “based exclusively on” the thing. Also, the verb “determine” should be understood to refer to the act of generating, selecting or otherwise specifying something. For example, to obtain an output as the result of analysis would be an example of “determining” that output. As a second example, to choose a response from a list of possible responses would be a method of “determining” a response. Further, a “set” should be understood to mean a number, group, or combination of one or more things of similar nature, design, or function, while an “element” should be understood to refer to a discrete and identifiable thing. Thus, an example of an element from a set of missing information could be a departure time, if the user was expected to provide a departure time, but such time had not yet been provided. As another term which should be understood as having a particular meaning, the term “prompt” should be understood to refer to a provision of some kind of information or message from a system. For example, a prompt could be a spoken prompt intended to incite a response (e.g., “Is that correct?”), a text prompt responding to a user statement (e.g., “I'm booking your reservation now”), or some other type of provision entirely (e.g., a modification to a visual or tactile interface provided to a user). Of course, it should be understood that these examples of “prompts” are intended to be illustrative only, and should not be taken as limiting on the types of prompts which could be provided based on the disclosure set forth herein.
Of course, variations and extensions on systems of the type described above could also be implemented based on this disclosure. As one such extension, in some cases where a computer is configured to determine a prompt based on a grammar and provide that prompt to a user, the act of providing the prompt could comprise providing an auditory natural language output to the user, and altering a visual interface presented to the user (for example, if a user is interacting with a system via voice and the internet (e.g., co-browsing through Internet Explorer in combination with speaking to an interactive voice response system over the phone)). Thus, providing the prompt might comprise making a statement asking the user to provide missing departure information, and manipulating the user's browser interface to emphasize the request (e.g., by navigating to a flight information entry screen, and/or by highlighting a flight information entry option on the user's browser). As another potential extension on a system such as mentioned above, in some cases the plurality of grammars might be organized according to a hierarchy having five levels. In such a hierarchy, the grammar from the lowest of the five levels could comprise a vocabulary comprising words corresponding to natural language statements, while the grammars for the other levels could comprise elements provided by a grammar from the next lower level in the hierarchy. Thus, based on the disclosure set forth herein, the grammars could be organized into a hierarchy where the bottom grammars determine words from a statement, the next level of grammar takes those words and identifies phrases, the next level of grammar takes the phrases and identifies sentences or clauses, the next level of grammar takes the sentences/clauses and identifies tasks, and the tasks are then grouped by the next level of grammar into transactions. Of course, as set forth herein, the described hierarchy is not the exclusive approach to implementing the technology developed by the inventors, and so the discussion herein should be understood as being illustrative only, and not limiting.
Another aspect of the technology described herein is the potential to use a website to determine grammars which could then be used in interactions which do not necessarily follow the website. For example, a system could be implemented which comprises a computer readable medium storing a plurality of grammars based on a website, and which comprises a computer configured to achieve a goal during an interaction with a user without requiring the interaction to follow the structure of the website. More concretely, a system could be created which comprises a plurality of grammars stored on a medium where the plurality of grammars are created or refined based on information from a website (e.g., the text which would be presented in a browser, the site's code, or data regarding the site's usage). The grammars could then be used to achieve a goal in an interaction without requiring the interaction to mimic the structure of the website. For example, the grammars could be used in an interaction where information was provided in a different order than it would be in the website, or in an interaction which combines what would have been separate steps in the website (e.g., the user can speak a single sentence providing all information that the website might have used several screens to obtain).
Of course, it should be understood that the description above of various systems is intended to be illustrative only, and should not be treated as indicating limits on potential implementations of the inventors' technology. As set forth herein, the inventors' technology is susceptible to implementation in a wide variety of contexts and applications. Accordingly, the discussion of that technology herein should be understood as being illustrative only, and not limiting.
To avoid unnecessary complexity, this disclosure focuses on natural language aspects of interfaces, in particular to an interactive voice response system (“IVR”) which should be understood to include any system which is capable of responding to one or more statements from a user using voice communication. However, interfaces using grammars such as described herein could also provide output in graphics or text or voice in a multimodal manner. For example, a system could be created so that, based on a user's natural language conversation with an interactive system, a screen presented to the user could be used to take the user to a web-page which is relevant to a statement made by the user, or present some graphic which the user might find helpful. Accordingly, the discussion herein should be treated as being illustrative of potential uses of the inventors' technology, but should not be treated as an exhaustive or limiting recitation of all potential applications in which that technology should be embodied.
Turning now to the discussion of grammars which could be used in an interactive system, consider the hierarchical representation of
Continuing with the discussion of
As an illustration for how a grammar structured according to the description above for
As will be apparent to one of ordinary skill in the art in light of the discussion set forth above, using one or more grammars as described above to provide a natural language interface will enable automated systems to engage in much more intuitive interactions with individual users than prior art systems, which may have been limited to presenting menus of options, then requesting that the user press a button on a telephone keypad corresponding to a choice from the menu. For example, an IVR with a natural language understanding interface of the type described above can enable a user to provide relevant information in any order the user desires to complete a transaction, rather than requiring the user to follow a pre-determined and inflexible menu structure (e.g., “press 1 for departures, press 2 for arrivals . . . ”). As an additional benefit which can be obtained through the use of a grammar such as described herein, it is possible in some cases to implement systems which are capable of error detection and remediation. For example, if a user makes a statement which is indecipherable or has incorrect information (e.g., requests to depart on a flight that does not exist), the fact that the system knows what information the user needs to provide to complete the transaction can allow it to identify the incorrect information (e.g., that a user is trying to book a departure on an arriving flight), and take appropriate action (e.g., suggesting alternatives for the user, or informing the user that the flight they have chosen is an arriving flight). Also, a natural language interface using grammars such as described herein could allow a transaction to be completed at a pace which is appropriate for the user. For instance, if the user is a power user, he or she could make a statement like “I want to fly from Cincinnati to Los Angeles on Jan. 1, 2009, on Delta flight 555, to return on January 14 on Delta flight 1212, and to pay using my American Express card, number 1234 5678 9101 1121” and the system could automatically use the information provided to fill in the necessary slots for a flight reservation transaction. By contrast, (in accordance with the description above) if the user was less experienced, and started with a statement like “I'd like to visit my sister in Los Angeles,” the system could identify the transaction the user wished to accomplish, and provide prompts for the information necessary to complete it (e.g., “What dates were you planning for your visit?”).
In terms of how a grammar such as described above could be built, there are a variety of ways this could take place, and a variety of sources of data which could be utilized in the creation of the grammar. For the sake of clarity, the discussion below is organized in terms of how individual levels of a hierarchy such as
Turning now to the lowest level in the hierarchy depicted in
Similar processes can be applied to determine phrases for the grammar. Sources of data such as a website (including, perhaps, underlying code, which might indicate that a phrase such as a combination of flight number and airline is significant by passing it to a back-end process), and records of previous interactions can be automatically analyzed to determine what statements from a user would be specifically related to various aspects of a transaction, and therefore should be recognized as phrases. Additionally, the determination of phrases might also be augmented by consideration of common elements of speaking style. For example, human to human interactions generally rely on basic rules of grammar and various colloquial usages (linguistic style) to communicate information. Information indicating common usages for various aspects of a transaction (e.g., various noun and verb phrases which are likely to be used by a user) can enable the phrases recognized in a grammar to be more reflective of those which would be included in an interaction than might otherwise be the case. The processes used for identifying phrases could, as with the processes used for identifying individual words, be automated (e.g., identification of words types likely to appear together, analysis of website code, etc), manual (e.g., phrases identified by a subject matter expert), or a combination of the two (e.g., supervised learning, where a subject matter expert could be employed to facilitate the automated process).
The next highest level, after the words and phrases discussed above, is the level of sentences/clauses. As with the words and phrases, sentences/clauses in a grammar could be determined manually or automatically (or using various combinations of manual and automatic processes) using a variety of input sources. Further, in some implementations, sentences corresponding to different types of subtasks in a transaction could be created using different types of data input, though, of course, cross-cutting (i.e., application to multiple different subtasks, levels in the hierarchy, etc) use of input data is also possible. As an example of this, data gathered from a website might be used to identify and categorize sentences which are used for requesting data (e.g., a program could create a sentence corresponding to a single page in a site, where the data required for the sentence is taken from the data requested on the page, and where the category of the sentence is determined based on the function of the underlying page, such as user data collection, back end database access, information validation, etc). However, for sentences used for error handling, a preferable source of information might be transcriptions of previous human-human interactions, where a human agent might have been able to identify confusion on the part of a user, and then make appropriate statements to help remedy that confusion. As another approach to the determination of sentences, it is possible that the words used in statements made during recorded transactions could be used to assign those statements to categories of sentences which would then be incorporated into the grammar (a process which could, of course, be augmented by the incorporation of semantic equivalents and common usages in a manner similar to that discussed above). The specific categories used for classifying the sentences could be automatically determined such as described above, or could be picked by a subject matter expert, though combinations of automatic and manual determination of categories are also possible.
Determining tasks can also be performed using automated or manual processes applied to various sources of data. For a website, tasks can be determined using information such as the structure of the site. As an illustration of this, consider that many websites are organized into a tree hierarchy made up of a plurality of terminal leaf pages, and a plurality of ancestor pages leading to those leaf pages. Such a website organization is depicted in
Transcriptions such as those discussed above could also be helpful in determining the transaction level of a grammar following the structure shown in
Of course, it should be understood that the description above is not intended to be an exhaustive description of different information sources which could be used to create a grammar, or how those information sources could be integrated into the grammar itself. As an example of how an additional information source could be integrated into the creation of a grammar as described above, consider the information which may be recorded regarding an interaction between a caller and an agent operating a multimodal user interface. As described in U.S. provisional application No. 60/991,242 filed Nov. 30, 2007 by Yuschik et al., the disclosure of which is hereby incorporated by reference in its entirety, a multimodal user interface can be designed in such a way that there could be parallel interface structures for a system (e.g., a visual interface could have a sequence of screens for completing various tasks, while a spoken interface could allow an agent to streamline a transaction or provide various information in an order which might bypass one or more of the screens from the visual interface), so that an agent could use whatever modality was most appropriate for a particular situation. Information gained from records of interactions with agents utilizing a multimodal user interface (including the particular ways the agent uses the tools available in the interface) could potentially be usefully employed in grammar creation for tasks such as helping identify transaction types, as well as identifying transaction flows which could then be incorporated into a grammar. Also, information from multimodal user interface transactions could be beneficially applied to incorporating error handling capabilities into a grammar. For example, by examining what aspects of a multimodal interface an agent uses when confronted with a confused customer (which could be shown, for example, by identifying backtracks in the customer's statements) an automated process can identify what actions should be taken by a system when faced with a confused user, and incorporate that information into a grammar accordingly. The same is true of records of interactions between a user and a “hidden agent,” that is, interactions where the user believes he or she is interacting with an automated system, but in which there is actually a human determining the actions that will be taken in the interaction. By examining the statements made by the hidden agent, and the actions taken by the hidden agent, it is possible to identify individual tasks and transactions which should be completed in interactions, as well as to determine how to deal with errors when they occur. As an example of how various sources of information might be mapped to various aspects of a grammar following a structure such as described in
Thus, as shown, there can be a variety of mappings of information sources to aspects of a hierarchical grammar. For example, in some cases it could be true that |A∪B|−|A∩B|≠0 and that B∪C=A∪C, where A is the set of levels from the hierarchy in which at least one aspect of the hierarchical grammar (which could itself be a grammar) is revised based on a first type of information, B is the set of levels from the hierarchy in which at least one aspect of the hierarchical grammar (which could itself be a grammar) is revised based on a second type of information, and C is the set of levels from the hierarchy in which at least one aspect of the hierarchical grammar (which could itself be a grammar) is revised based on a third type of information. Further, for certain types of information, it could also be the case that A∪B≠B and that A∪B≠A.
Of course, it should be understood that table 1 is not intended to be an exhaustive depiction of all potential mappings between types of information and aspects of a grammar and that other mappings and relationships than those set forth above are also possible. In some cases, information mappings not included in table 1 could be included in creating a grammar (e.g., the use of logs of website usage to determine transactions), while it is also possible that some types of information mapping depicted in table 1 might not be included in all instances of grammar creation (e.g., in a case where data related to interactions between users and agents using multimodal interfaces is not available, the grammar could be produced without that data). Indeed, one beneficial aspect of the approach to grammar creation described herein is that it can easily accommodate new information sources which could potentially create richer or more robust grammars. Accordingly, the table of
Also, while the description above was structured in terms of ascending levels of abstraction according to the hierarchy of
Additionally, it is possible that bootstrapping such as described herein could be performed particularly for generative grammars used to determine prompts which should be provided by an automated system, either in addition to, or as an alternative to, using bootstrapping to create grammars (e.g., parsing grammars) which are used to process statements made by a user. As an example of this, consider a case where one or more generative grammars are used to determine statements which comprise a carrier phrase (i.e., a linguistic structure that embodies commonly used words to either acquire or present information) and a set of one or more content words which are associated with information which should be obtained to complete a transaction. As set forth above, a hierarchy of grammars can be used to determine what information is necessary to obtain from a user to complete a transaction. Using the carrier phrase—content word approach described, it is possible that generative grammars could be implemented so that generative grammars which could determine a system's response could be provided with only a relatively small number of sentences. Typical sentences which might be associated with various levels of a grammar hierarchy include (for the transaction level) “Would you like to <task name>?”, (for the task level) “When do you want to <content word>?”, (for the sentence/clause level) “What <content word> do you want?”, or “Would you repeat that?” and (for the phrase or word level) “Did you say <word>?”. For creating the sentences, the bootstrapping methodology could be used by beginning with a first type of information source for creating the generative grammars (e.g., a website, which could provide various words and sentences) and then refining and/or augmenting the generative grammars using further sources (e.g., using linguistic style conventions to determine standard sentences which would be more appropriate than those which might appear in a website). Thus, it should be understood that the approaches described herein are not limited to application in creation of grammars which are used to process user input, but can also be used in the creation of grammars used in determining system output. Of course, the specific types of grammars described for determining system output are intended to be illustrative only, and other types of grammars (e.g., generative grammars having more complicated production rules, or multiple layers of production rules used to transform terminal symbols such as words into acceptable nonterminal statements) are also possible. Accordingly, the description above should be understood as illustrative only, and not limiting.
A further variation contemplated by the inventors which could be implemented in some circumstances is to utilize a hierarchy which diverges from that depicted in
As an example of a further type of variation which could be applied to grammar creation processes such as described above, consider that, while the approaches described above are broadly applicable to systems for any problem domain for which information is available, determining how to populate various levels of the grammar could also be optimized for applications based on subject matter. This can be illustrated by the following approach to using transcriptions to populate a grammar. Initially, a commercially available speech recognizer can be used to generate transcriptions of interactions between users and automated systems. As a general rule, these transcriptions will include some errors, such as misrecognitions and mistranscriptions. However, these errors can be minimized, at least to some extent, by applying multiple recognizers to the data, thereby obtaining a combined transcription which could be more accurate than the transcriptions of any of the recognizers individually. The transcriptions can then be used to train one or more of the speech recognizers towards one which is better suited to the specific domain or task for which the grammar will be utilized, such as by filtering out garbage or non-important words, and re-defining the new vocabularies that the speech recognizer can recognize. By an iterative process of adapting a speech recognizer, a recognizer can be obtained which is most effective in the domain for which the grammar is being created.
As yet another potential approach to implementing a grammar which could be used in an interface to an interactive system such as an IVR, consider a case where a website is organized into a hierarchy having leaf and ancestor pages, where the individual leaf pages represent transactions (e.g., information requests) a user might wish to complete using the website. In such a case, a grammar comprising a statistical n-gram language model and statistical classifier could be created by culling information from a website which, along with weights assigned to that information using a method such as described herein, and using that information as training data for the grammar. An algorithm which could be used to gather and determine weights for training data in such a classification grammar is depicted in the pseudo-code of
An example of data which could be gathered using an algorithm such as shown in
Of course, it should be understood that the algorithms of
As an example of how a grammar created using training data such as described above could actually be used in an interactive system such as an IVR, consider the diagram of
Continuing with the discussion of
Of course, even within a system implementing an interaction flow such as shown in
This application hereby claims priority from U.S. patent application Ser. No. 12/196,713 filed on Aug. 22, 2008, which in turn claims priority from U.S. provisional application No. 60/957,555, which was filed on Aug. 23, 2007. Both of those applications are entitled Method and System for Creating Natural Language Understanding Grammars, and are hereby incorporated by reference in their entirety.
Number | Name | Date | Kind |
---|---|---|---|
5819220 | Sarukkai | Oct 1998 | A |
5915001 | Uppalura | Jun 1999 | A |
6167368 | Wacholder | Dec 2000 | A |
6167369 | Schulze | Dec 2000 | A |
6173266 | Marx | Jan 2001 | B1 |
6178404 | Hambleton et al. | Jan 2001 | B1 |
6192110 | Abella | Feb 2001 | B1 |
6212502 | Ball | Apr 2001 | B1 |
6226361 | Koyama | May 2001 | B1 |
6233547 | Denber | May 2001 | B1 |
6243680 | Gupta et al. | Jun 2001 | B1 |
6243684 | Stuart et al. | Jun 2001 | B1 |
6249809 | Bro | Jun 2001 | B1 |
6253173 | Ma | Jun 2001 | B1 |
6256620 | Jawahar et al. | Jul 2001 | B1 |
6275806 | Pertushin | Aug 2001 | B1 |
6324512 | Junqua et al. | Nov 2001 | B1 |
6343116 | Quinton | Jan 2002 | B1 |
6356869 | Chapados | Mar 2002 | B1 |
6359982 | Foster et al. | Mar 2002 | B1 |
6366658 | Bjornberg et al. | Apr 2002 | B1 |
6381640 | Beck | Apr 2002 | B1 |
6389126 | Bjornberg et al. | May 2002 | B1 |
6393428 | Miller | May 2002 | B1 |
6401061 | Zieman et al. | Jun 2002 | B1 |
6411926 | Chang | Jun 2002 | B1 |
6427002 | Campbell et al. | Jul 2002 | B2 |
6442519 | Kanevsky | Aug 2002 | B1 |
6449588 | Bowman-Amuah | Sep 2002 | B1 |
6487277 | Beyda | Nov 2002 | B2 |
6496567 | Bjornberg | Dec 2002 | B1 |
6498921 | Ho | Dec 2002 | B1 |
6519571 | Guheen | Feb 2003 | B1 |
6519580 | Johnson | Feb 2003 | B1 |
6539419 | Beck | Mar 2003 | B2 |
6567805 | Johnson | May 2003 | B1 |
6571225 | Oles | May 2003 | B1 |
6574599 | Lim | Jun 2003 | B1 |
6584180 | Nemoto | Jun 2003 | B2 |
6587558 | Lo | Jul 2003 | B2 |
6594684 | Hodjat | Jul 2003 | B1 |
6598039 | Livowsky | Jul 2003 | B1 |
6604075 | Brown et al. | Aug 2003 | B1 |
6606598 | Holthouse | Aug 2003 | B1 |
6611825 | Billheimer et al. | Aug 2003 | B1 |
6615172 | Bennett | Sep 2003 | B1 |
6618725 | Fukuda | Sep 2003 | B1 |
6633846 | Bennett et al. | Oct 2003 | B1 |
6643622 | Stuart | Nov 2003 | B2 |
6647111 | Bjornberg | Nov 2003 | B1 |
6652283 | Van Schaack | Nov 2003 | B1 |
6654798 | Skibinski et al. | Nov 2003 | B1 |
6665640 | Bennett | Dec 2003 | B1 |
6665644 | Kanevsky | Dec 2003 | B1 |
6675159 | Lin et al. | Jan 2004 | B1 |
6701311 | Biebesheimer | Mar 2004 | B2 |
6721416 | Farrell et al. | Apr 2004 | B1 |
6725209 | Iliff | Apr 2004 | B1 |
6728707 | Wakefield et al. | Apr 2004 | B1 |
6735578 | Shetty et al. | May 2004 | B2 |
6741699 | Flockhart | May 2004 | B1 |
6757676 | Sugaya et al. | Jun 2004 | B1 |
6760705 | Dvorak | Jul 2004 | B2 |
6763104 | Judkins | Jul 2004 | B1 |
6766320 | Wang | Jul 2004 | B1 |
6772190 | Hodjat | Aug 2004 | B2 |
6775358 | Breitenbach | Aug 2004 | B1 |
6778951 | Contractor | Aug 2004 | B1 |
6785376 | Genette | Aug 2004 | B2 |
6804711 | Dugan | Oct 2004 | B1 |
6810111 | Hunter | Oct 2004 | B1 |
6810375 | Ejerhed | Oct 2004 | B1 |
6842737 | Stiles | Jan 2005 | B1 |
6842877 | Robarts | Jan 2005 | B2 |
6871174 | Dolan | Mar 2005 | B1 |
6885734 | Eberle | Apr 2005 | B1 |
6910003 | Arnold | Jun 2005 | B1 |
6915246 | Gusler | Jul 2005 | B2 |
6924828 | Hirsch | Aug 2005 | B1 |
6931434 | Donoho | Aug 2005 | B1 |
6938000 | Joseph et al. | Aug 2005 | B2 |
6941266 | Gorin et al. | Sep 2005 | B1 |
6952470 | Tioe | Oct 2005 | B1 |
6961720 | Nelken | Nov 2005 | B1 |
6970821 | Shambaugh | Nov 2005 | B1 |
6973429 | Smith | Dec 2005 | B2 |
6993475 | McConnell | Jan 2006 | B1 |
7019749 | Guo | Mar 2006 | B2 |
7054813 | Lewis et al. | May 2006 | B2 |
7062444 | He et al. | Jun 2006 | B2 |
7093129 | Gavagni et al. | Aug 2006 | B1 |
7257530 | Yin | Aug 2007 | B2 |
7331036 | Hambleton et al. | Feb 2008 | B1 |
7685585 | Stienstra | Mar 2010 | B1 |
7739258 | Halevy et al. | Jun 2010 | B1 |
20010010714 | Nemoto | Aug 2001 | A1 |
20010014146 | Beyda et al. | Aug 2001 | A1 |
20010047261 | Kassan | Nov 2001 | A1 |
20010049688 | Fratkina | Dec 2001 | A1 |
20010056346 | Ueyama | Dec 2001 | A1 |
20010056352 | Xun | Dec 2001 | A1 |
20020010574 | Tsourikov et al. | Jan 2002 | A1 |
20020026435 | Wyss | Feb 2002 | A1 |
20020032740 | Stern et al. | Mar 2002 | A1 |
20020062315 | Weiss | May 2002 | A1 |
20020087325 | Lee | Jul 2002 | A1 |
20020103871 | Pustejovsky | Aug 2002 | A1 |
20020143548 | Korall | Oct 2002 | A1 |
20020146668 | Burgin et al. | Oct 2002 | A1 |
20020161626 | Plante | Oct 2002 | A1 |
20020188567 | Candelore | Dec 2002 | A1 |
20020194004 | Glinski et al. | Dec 2002 | A1 |
20020194230 | Polanyi et al. | Dec 2002 | A1 |
20020196679 | Lavi et al. | Dec 2002 | A1 |
20020198701 | Moore | Dec 2002 | A1 |
20030053615 | Anderson | Mar 2003 | A1 |
20030061025 | Abir | Mar 2003 | A1 |
20030078766 | Appelt et al. | Apr 2003 | A1 |
20030078781 | Julia et al. | Apr 2003 | A1 |
20030125929 | Bergstraesser et al. | Jul 2003 | A1 |
20030167266 | Saldanha et al. | Sep 2003 | A1 |
20030212558 | Matula | Nov 2003 | A1 |
20030233224 | Marchisio et al. | Dec 2003 | A1 |
20040006476 | Chiu | Jan 2004 | A1 |
20040030741 | Wolton et al. | Feb 2004 | A1 |
20040062380 | Delaney | Apr 2004 | A1 |
20040068497 | Rishel | Apr 2004 | A1 |
20040083092 | Vallas | Apr 2004 | A1 |
20040122941 | Creamer | Jun 2004 | A1 |
20040141508 | Schoeneberger et al. | Jul 2004 | A1 |
20040153322 | Neuberger et al. | Aug 2004 | A1 |
20040162724 | Hill | Aug 2004 | A1 |
20040162812 | Lane | Aug 2004 | A1 |
20040162824 | Burns | Aug 2004 | A1 |
20040174979 | Hutton | Sep 2004 | A1 |
20040204940 | Alshawi | Oct 2004 | A1 |
20040225499 | Wang | Nov 2004 | A1 |
20040243417 | Pitts | Dec 2004 | A9 |
20040243645 | Broder et al. | Dec 2004 | A1 |
20040267628 | Stillman | Dec 2004 | A1 |
20050105712 | Williams | May 2005 | A1 |
20050131675 | Julia et al. | Jun 2005 | A1 |
20050154580 | Horowitz et al. | Jul 2005 | A1 |
20050171932 | Nandra | Aug 2005 | A1 |
20050187931 | Cofino | Aug 2005 | A1 |
20060059028 | Eder | Mar 2006 | A1 |
20060080107 | Hill | Apr 2006 | A1 |
20070038436 | Cristo et al. | Feb 2007 | A1 |
20070179776 | Segond et al. | Aug 2007 | A1 |
20070208555 | Blass et al. | Sep 2007 | A1 |
20070219780 | Roche et al. | Sep 2007 | A1 |
20080071533 | Cave et al. | Mar 2008 | A1 |
20080201133 | Cave et al. | Aug 2008 | A1 |
Number | Date | Country |
---|---|---|
0 700 563 | Sep 1998 | EP |
0 973 314 | Jan 2000 | EP |
0 982 916 | Mar 2000 | EP |
1 191 772 | Mar 2002 | EP |
0 977 175 | Nov 2005 | EP |
2 342 528 | Dec 2000 | GB |
2 390 191 | Dec 2003 | GB |
2420192 | May 2006 | GB |
10133847 | May 1998 | JP |
2000112486 | Apr 2000 | JP |
2002055695 | Feb 2002 | JP |
2002189483 | Jul 2002 | JP |
2002366552 | Dec 2002 | JP |
2002374356 | Dec 2002 | JP |
WO 9813974 | Apr 1998 | WO |
WO 9953676 | Oct 1999 | WO |
WO 0073955 | Dec 2000 | WO |
WO 0133414 | May 2001 | WO |
WO 0135617 | May 2001 | WO |
WO 0182123 | Nov 2001 | WO |
WO 0209399 | Jan 2002 | WO |
WO 0235376 | May 2002 | WO |
WO 0251114 | Jun 2002 | WO |
WO 02061730 | Aug 2002 | WO |
WO 02073331 | Sep 2002 | WO |
WO 2004072926 | Aug 2004 | WO |
WO 2005006116 | Jan 2005 | WO |
WO 2006093789 | Sep 2006 | WO |
Number | Date | Country | |
---|---|---|---|
Parent | 12196713 | Aug 2008 | US |
Child | 12414060 | US |