Habrの昨年の秋に最初に話したアリスの音声アシスタントは、Yandex、Yandex.Browserアプリケーション、およびWindowsのベータ版で既に機能しています。 毎日、これらの製品の何百万人ものユーザーが音声アシスタントの助けを借りて特定のタスクを解決します。たとえば、天気予報を学習します。 私たちは定期的に新しい機能を追加していますが、私たちだけでユーザーのすべての関心をカバーすることは不可能です。 このギャップを埋めるために、アリスのスキルが求められます。これは、カットの下での創造の特徴について説明します。
テキストゲーム、情報ボット、または宅配サービスを開発している場合は、Aliceに追加できます。 これは、技術レベルでは、サーバーで実行されているサービスをAliceのプラットフォームに接続できることを意味します。 ユーザーがそのようなスキルをアクティブにすると、アリスはユーザーのレプリカをサーバーに翻訳し、送信したテキストで応答します。 テキスト内の音声認識とプラットフォームが引き継ぎます。 ユーザーにとって、スキルを使用した会話は、音声アシスタントとの通常の会話のように見えます。
この投稿を十分に詳細なドキュメントのリテールにしないために、都市でのゲームの例を使用してスキルを作成する機能について説明します。
アリス、街で遊ぼう
昨年、私たちはアリスにさまざまなゲームを教え始めました。 これについては一度も話しませんでしたが、それらのほとんどすべてがYandex.Dialogsプラットフォームを使用して追加されました。 それらの中で最も人気があるのは都市でのゲームであり、これについてはさらに詳しく検討します。
ゲームは、他のスキルと同様に、「アリス、ゲームを都市に向ける」などのフレーズを認識することから始まります。 「オンにする」という言葉は、検索を使用して答えを探すのではなく、スキルを開始する必要があるというアリスへの信号です。 そのような注意喚起語がいくつかあります。 音声フレーズの「都市でのゲーム」という部分は、Dialogsプラットフォームでスキルを公開するときに開発者が設定するアクティベーション名の1つです。 音声アシスタントは、不正確な一致でも動作するために、同じアクティベーション名のさまざまな形態を理解できます。
アリス、都市にゲームに挑戦通常の状況では、アリスはYandexサービスを使用して回答を検索しますが、スキルである場合、アクティベーション名を認識した後、開発者が指定したサーバーにPOST要求を送信します。 リクエストは使い慣れたJSONで、ユーザーからのテキストとサービス情報(ユーザーおよびセッション識別子)が含まれます。
アリス、街で遊ぼう
アリス、都市でゲームを開始
リクエスト例
{
"meta": {
"locale": "ru-RU",
"timezone": "Europe/Moscow",
"client_id": "ru.yandex.searchplugin/5.80 (Samsung Galaxy; Android 4.4)"
},
"request": {
"type": "SimpleUtterance",
"markup": {
"dangerous_context": true
},
"command": "",
"original_utterance": " . .",
"payload": {}
},
"session": {
"new": true,
"session_id": "2eac4854-fce721f3-b845abba-20d60",
"message_id": 4,
"skill_id": "3ad36498-f5rd-4079-a14b-788652932056",
"user_id": "AC9WC3DF6FCE052E45A4566A48E6B7193774B84814CE49A922E163B8B29881DC"
},
"version": "1.0"
}
. C++, Node.js Python. – 1,5 .
JSON- , . :
{
"response" : {
"tts" : "--+. . . . . «».",
"end_session" : false,
"text" : "--. . . . . «».",
"buttons" : [
{
"url" : "https://www.yandex.ru/search/?text= --",
"title" : " "
},
{
"hide" : 1,
"title" : ""
}
]
},
"version" : "1.0",
"session" : {
"message_id" : 35,
"user_id" : "9F2D0DFC3E56611A1428DBD1ED22E8C7028BD06416F0A9B4F245D2896BA93C7B",
"session_id" : "6f586354-45bbe1e6-647f5637-e008",
"new" : null,
"skill_id" : "672f7477-d3f0-443d-9bd5-2487ab0b6a4c"
}
}
, TTS (text-to-speech). . , .
, JSON- . . ( ), . , , .
. , . , . , , , , .
:
, , . , . . . , .
. , :) , . – . : .
. , . , . . , (, ).
. , :) , . – . : .
. , . , . . , (, ).
– . , Flowwow.com, . , McDonald’s « ».
?
1. ., . Now, .
2. .. , ().
3. . , - ( « » ). , .
- . , . , , . !