これを処理する方法はあなたの文法にあります。これらの「流暢さ」を文法のルールに追加する必要があります。そこで、音声認識の調整が行われます。アプリケーションで認識されないフレーズをすべて調べ、音声録音を聞いて、ユーザーが「文法から外れている」と言っていることを理解してから、それらを追加する必要があります。たとえば、ユーザーに「ピザとハンバーガーのどちらを食べたいですか?」と尋ねると、文法が「ピザ」または「ハンバーガー」のみを処理するように設定されていて、ユーザーが「ええとピザ」と応答した場合、文法外として失敗します。オプションになるように、ルールに「um」を追加する必要があります。XML文法を使用している場合は、次のようになります。
<rule id="whatToEat">
<ruleref uri="influencies" repeat="0-1" />
<one-of>
<item>pizza</item>
<item>hamburger</item>
</one-of>
</rule>
<rule id="influencies">
<one-of>
<item>uh</item>
<item>um</item>
</one-of>
</rule>
戻り値に「影響力」を含めたくない場合は、タグを使用してセマンティック解釈を返します。このセマンティック解釈を含める方法はプラットフォームごとに異なりますが、ここに1つの例を示します。
<rule id="whatToEat">
<ruleref uri="influencies" repeat="0-1" />
<one-of>
<item>pizza<tag>out.mySlot="pizza"</tag></item>
<item>hamburger<tag>out.mySlot="hamburger"</tag></item>
</one-of>
</rule>
<rule id="influencies">
<one-of>
<item>uh</item>
<item>um</item>
</one-of>
</rule>
Microsoftは、ここで意味解釈について議論しています。