Word リスト、認識エンジン コンテキスト、および Factoid について
すべてのアプリケーション ディクショナリは、 WordList オブジェクトを使用して実装されます。 RecognizerContext オブジェクトは、そのオブジェクトの WordList プロパティを使用して認識を一部管理します。 RecognizerContext オブジェクトは、単語リストを認識エンジンに渡します。 RecognizerContext オブジェクトの WordList プロパティを設定することで、アプリケーション内の任意の RecognizerContext でアプリケーション ディクショナリを有効にすることができます。 単語リストをアプリケーション全体で使用できるようにするには、アプリケーション内のすべての RecognizerContext オブジェクトの WordList プロパティを設定する必要があります。
認識エンジン レベルでは、システム ディクショナリを除くすべての辞書が単語リストとして実装されます。 ただし、認識エンジンは一度に 1 つのアクティブな単語リストのみを持つことができます。 つまり、アプリケーション ディクショナリとユーザー ディクショナリの両方を同時にアクティブにすることはできません。 一方、システム ディクショナリをオフにする factoid が設定されていない限り、システム ディクショナリは常に使用できます。
ユーザー辞書は、ユーザーがタブレット PC に追加した単語の一覧です。 RecognizerContext の WordList プロパティが設定されていない場合、RecognizerContext はユーザー辞書を単語リストとして認識エンジンに渡します。 ただし、RecognizerContext オブジェクトの WordList プロパティが設定されている場合、単語リストはユーザー辞書ではなく認識エンジンに渡されます。
注意
WordList プロパティを設定する前に、RecognizerContext オブジェクトの Strokes プロパティを空にする必要があります。 Strokes プロパティが空でない場合は、例外がスローされます。 単語は、 RecognizerContext オブジェクトに割り当てられた後、単語リストに追加しないでください。
RecognizerContext オブジェクトに factoid を設定すると、認識エンジンによるアプリケーション ディクショナリの使用方法にも影響します。 ディクショナリの動作に影響を与えるファクトロイドは次のとおりです。
- 単語
- SystemDictionary
- なし
これまで、アプリケーション ディクショナリに最も役立つ factoid は WordList factoid です。 WordList ファクトロイドは、単語リスト内で見つかった単語のみを返すように認識エンジンをバイアスします。 この factoid は、単語リストを除く他のすべての辞書をオフにします。 WordList factoid が設定されていて、認識エンジン コンテキストで単語リストが指定されていない場合、ユーザー辞書が単語リストとして使用されます。
たとえば、特殊パーツの 10 個の名前のいずれかを受け入れるフィールドを使用して飛行機パーツ アプリケーションを設計する場合は、これらのパーツ名のみを含む単語リストを作成できます。 フィールドに WordList factoid を設定すると、そのフィールドに入力された単語の認識が大幅に向上します。 認識エンジンは、システムディクショナリ内の単語と単語リスト内の単語の間で選択する必要はありません。
SystemDictionary factoid では、システム ディクショナリのみが有効になります。 None factoid は、すべてのディクショナリを無効にします。 これら 2 つのファクトロイドは、特定のインスタンスでの認識精度を向上させるために使用されます。 ただし、アプリケーション ディクショナリを無効にするため、アプリケーション ディクショナリと組み合わせて使用されることはほとんどありません。
ファクトロイドが認識に与える影響の詳細については、「 コンテキストを使用した精度の向上」を参照してください。
SystemDictionary および None factoid の詳細については、「バージョン 1 でサポートされている Factoid」を参照してください。