Windows Speech Recognition – ExactMatchOverPartialMatch


A user wrote in over the weekend with a question about how to automatically choose an item when prompted with our clarification user interface in Windows Speech Recognition (WSR). But ... Before I answer that question, I have to give a little background.

What is our clarification user interface?

When the recognizer hears the user say something ambiguous and we're not sure what to do, the system will ask the user for clarification (or confirmation). For example, if the user says "File" in an application that both has a "File" menu and a button somewhere that has the word "File" in it (like a toolbar button that is for creating a "New File"), little numbers will fly out and hover over the two items on the screen. The user can then choose, "1", or "2", and then the user can say "OK".

This is related to the feature that David Pogue wrote up as one of 2006's top 10 features of the year. That feature treats everything as ambiguous when the user says "Show Numbers".

There is another form of the clarification user interface, as well, that we use for items that don't have an on screen representation, like applications to start. In this example, if the user says "Start Internet Explorer", the system sees that there are two possible matches, "Internet Explorer" and "Internet Explorer (no add-ins)". Since we're not 100% sure which one the user wanted, we'll ask the user to clarify.

How do I make it automatically pick?

Well, in general, we can't automatically pick the right one because we still haven't perfected "brain wave recognition" yet. 🙂 But ... Seriously, though ... You can make it better.

There's a feature called ExactMatchOverPartialMatch. It's turned off by default, but you can turn it on by changing a value in the registry. If you're not comfortable changing the registry, don't do this. But if you are, here you go:

key = HKEY_CURRENT_USER\Software\Microsoft\Speech\Preferences
value name = ExactMatchOverPartialMatch
value type = DWORD
value = 1 (default is 0)

After changing this registry setting, you'll have to restart speech. Once that's done, now in the two examples I gave earlier ("File", and "Start Internet Explorer") no clarification user interface will be displayed, because there will be one and only one exact match. "File" == "File", and "Internet Explorer"=="Internet Explorer".

ExactMatchOverPartialMatch wont' solve all your problems, but it will make the system better for a lot of people. Try it out. Let us know what you think.

Comments (1)

  1. MSDN Archive says:

    Easy way to add the key is to use the command-line registry tool.  Copy and paste the following into the Run dialog or a command prompt:

    reg add HKCUSoftwareMicrosoftSpeechPreferences /v ExactMatchOverPartialMatch /t REG_DWORD /d 1

Skip to main content