2017-02-17 13 views
1

私はVehicleIdentificationNumber(VIN)で車をフィルタリングすべきUWPアプリケーションに取り組んでいます。このVINは17文字の長い文字列です。あらゆる位置に数字と文字を含めることができます。Cortanaが理解できるPhraselistのパターンを作成する

誰もがこの17文字の長い文字列をユーザーに指示させて、Cortanaがこれを正しく理解できるようにする方法はありますか?いくつかのテストでは、Cortanaはいつか数字を理解し、2回目の試行では「3」と書いています。 e。

これはバックグラウンドサービスを呼び出すよりも、私のVCDファイルの行です。 BackgroundServiceでは、VehicleIdentificationNumberから取得した結果は「...」です。

<Command Name="selectedSpecificVehicleByVIN"> 
    <Example>Fahrzeug nach VIN WAUZZZ8V5EA012963 filtern</Example> 
    <ListenFor RequireAppName="BeforeOrAfterPhrase">Fahrzeug nach VIN {VehicleIdentificationNumber} filtern</ListenFor> 
    <Feedback>Suche nach Fahrzeug mit VIN {VehicleIdentificationNumber}</Feedback> 
    <VoiceCommandService Target="VehicleSelectionService"/> 
</Command> 

そして、私のPhraseTopicは、次のようになります

<PhraseTopic Label="VehicleIdentificationNumber" Scenario="Dictation" /> 

答えて

3

このケースの回答が見つかりました。 かなりシンプルでした。私はPhraseTopicに2つの科目を追加するだけでした。

<PhraseTopic Label="VehicleIdentificationNumber" Scenario="Dictation"> 
    <Subject>Characters</Subject> 
    <Subject>Alphabet</Subject> 
</PhraseTopic> 

小さな問題の1つは、綴りのVINの内側に空白が追加されていることです。これは簡単な文字列操作で削除できます。

希望同じ問題を抱えている誰かを助けることができます。

+1

「ディクテーション」シナリオには、最後に見たときのドキュメントがありませんでした。これは私の自身のアプリをかなり助けます。 –

1

私はあなたが提供されていること、文字列の応答を取ると数字に番号テキストを変換しますパーサを書かなければなりませんでした。あなたが一度に1桁をやっているなら、あまりにも悪くないはずです。

ほとんどの人が個別に発言するので、各桁/文字のターゲットを作成することもできます。その後、PhraseTopicを使用する代わりに、Phraselistを使用して、各桁と文字をリストに入れます。

+1

私はあなたの2番目のアドバイスをテストしました。情報:PhraseListを使用して、各桁/文字を内部に置くと、VCDでは最初の発生アイテムのみが使用されるため、動作しません。 私は B ...と私のそれはすべての位置にWがかかりますし、VINを検索します。.. VINがWVWxxxxxであると言って、「WWWWWWWWWWWWWW」のように、このPhraseListを作成している場合。 そして、私が各桁に別々のPhraselistを作った場合、コマンドセットあたりのPhraselistの量は10よりも長くなります。 最初のアドバイスを確認します。 – TiMeJuMp

関連する問題