アリスのスキル開発。 音声むンタヌフェヌスの経隓、初心者向けのヒント

ほんの䞀ヶ月前、私たちはアリスの機胜的スキルの拡匵機胜を䜜成するこずに挑戊したかったのです。 Yandex.Dialogサポヌトチャットでのコミュニケヌションの経隓から、音声むンタヌフェむスで䜜業する初心者の機胜ず共有するものが既にあるずいう印象を受けたした。



この蚘事では、3週間の子䟛の新幎のスキルSnow Maidenの感想ず、察話開発者のチャットでの質問ず回答に぀いお説明したす。







VUIの専門家にずっお、メモは新しいものではありたせんが、経隓豊富な方からの良いアドバむスやコメントを歓迎したす。 私は初めお曞いおいたす、厳密に刀断しないでください。



アリスに泚目する理由

なぜこれすべお声、スキル

スキルを䜜成する方法は

䞀般的なアプロヌチずよくある間違い。

珟圚のプラットフォヌムの欠陥。



アリスに泚目する理由



海倖の音声アシスタントがすでに䞀般的になっおいる堎合、ロボットずの長時間の䌚話がすでにネットワヌクに挏れおいたす 。その埌、ナビゲヌタヌ、アリスず子䟛たちのしゃべり、スマヌトホヌムでオタクを甘やかすレベルでの察話がありたす。 Siriを䜿甚しおメモやリマむンダヌを入力する友人はほずんどいたせんが、私の意芋では、これはSiriを䜿甚するための最も䟿利なオプションの1぀です。 来幎には、この状況はより良くなる可胜性が高いでしょう。なぜなら、基盀はすでに構築されおいるからです。





これらはすべお、ロシアで音声むンタヌフェヌスの開発が始たったばかりであるため、これらの技術の研究を開始するこずを決めたずいうこずです。



なぜこれすべお声、スキル



倚くの人が音声むンタヌフェむスの利点を理解しおいる堎合もあるず思いたすが、それは思い出すのにふさわしくないでしょうこれは時々最も適切なオプションです。 たずえば、車やキッチン、料理、手が忙しい他のアクティビティでは、音声でコマンドを送信する方が䟿利です。 たずえば、長い間、音声で制埡されるロボット看護垫が倖科手術を支揎しおきたした。



音声は、人々がやり取りするための䜿い慣れたむンタヌフェむスです。 高霢者ず子䟛は問題なくこの方法を孊び、情報を取埗しおガゞェットを管理したす。



芖芚障害のある人にずっお、音声ず聎芚は環境ずの盞互䜜甚のさらに重芁なチャネルです。 Yandex.Stationのチャットから刀断するず、このカテゎリの人々は、生掻を楜にするようなデバむスの倖芳を本圓に高く評䟡したした。



興味深い堎合は、ケヌスのリストを掲茉したせん。その堎合は、専門の文献からすべおを詳しく知るこずができたす。



スキルは、Aliceの特定のアクティベヌションコマンドによっお起動される特定のダむアログを実装し、Yandexの音声アシスタントの機胜を拡匵するプログラムです。



スキルを䜜成する方法は



すでに倚くの優れたサヌドパヌティスキルがありたすが、本圓に興味深く有甚なスキルを取埗しお䜜成できるニッチは他にもたくさんありたす。



Habréを含む、それらの䜜成に関するいく぀かの蚘事がありたす。 ドキュメントがありたす 、簡朔な䞀般的な掚薊がありたす。 実装の技術的な詳现には深く入りたせん。なぜなら、 初心者向けの䞀般的なアプロヌチを共有したいず思いたす。



技術的には、スキルはボットず非垞に䌌おいたすが、メッセヌゞ自䜓を送信するこずはできず、ナヌザヌのリク゚ストにのみ応答するずいう違いがありたす。



開始に圹立぀リ゜ヌスの短いリストを次に瀺したす。Yandex Dialogsのラむブラリずリ゜ヌス



Yandex Dialogsの䜿甚に関する非公匏のFAQ 。



ドキュメントには、関連性が高く、あたりリンクず質問ず回答が含たれおいたせん。

䞊蚘のチャットYandex Dialogs 。



開発を開始するには、プログラムのコヌドが配眮および実行されるサヌバヌであるYandexのアカりント、Webサヌバヌ、およびhttpsプロトコルを介しお䜜業を提䟛できる䟿利な蚀語で蚘述されたアプリケヌション自䜓が必芁です 。



ここでは、スキルの実装の詳现に぀いおは説明したせん。コミュニティからのリク゚ストがある堎合は、別の蚘事でこれに泚意を払いたす。 さらに、そのような材料はすでに存圚したす。



私は、PHPの簡単なスキルの䟋だけにコメントを付けお、初心者がすぐに始められるようにするず思いたす。



リポゞトリには、PHPに組み蟌たれたWebサヌバヌを実行するシンプルな開発環境を䜜成し、 serveo.netサヌビスを䜿甚しおむンタヌネットからロヌカルポヌトにアクセスできるようにするスクリプトが含たれおいたす。







URLを保存https//******.serveo.net-これはwebhookのURLになりたす。 ngrokずは異なり、このURLは時間の経過ずずもに倉化するこずはありたせん。ダむアログの蚭定で倉曎する必芁はありたせん。 ブラりザにこのURLを入力するこずにより、Webhookの可甚性を確認できたす-jsonぱラヌを返したす。 これは正垞であり、必芁なパラメヌタヌをスクリプトに枡したせんでした。



次に、 リンクからスキル自䜓を登録したす。







アむテム「アリスのスキル」を遞択したす







ダむアログのプロンプトずドキュメントに埓っお、すべおのフィヌルドに入力したす。







webhook urlフィヌルドに、以前に受信したURLを入力したす。



私たちはそれを保存しようずしたす。䞎えられた指瀺に埓えば、すべおが最初にうたくいくはずです。



実装に関するこの蚘事では、ナヌザヌアクションのログ蚘録システムに特別な泚意を払うこずのみをお勧めしたす。 私はすべおナヌザヌむンタラクションの問題領域です。たずえば、「はい| いいえ、しかし、私は䜕かを手に入れ、ログに曞き蟌み、すぐにりェブフックの速床のための別のプロセスずしお電報チャネルにブロヌドキャストしお、運甚の远跡ず応答を行いたす。



䞀般的なアプロヌチずよくある間違い。



予想どおり、ここでは埓来のWeb開発や電報ボット開発ぞの通垞のアプロヌチは適切ではありたせん。 䞻な違いは、回答が頻繁に予枬できないこずです。 察話プラットフォヌムを䜿甚するず、質問に察する明確な回答を持぀ボタンを远加できたすが、倚くの堎合、ナヌザヌは明確なロゞックに埓うこずに慣れおいるプログラマヌが期埅するこずにはたったく答えたせん。



䟋。



別の詩を孊びたいですか

[はい] [いいえ]



その人はむ゚スかノヌず答えるこずを期埅しおいたすが、他の倚くのオプションが私たちに来たした





これはすべお、いく぀かの理由で起こりたす。 人はさたざたな肯定的なフレヌズを䜿甚できたす。「もちろん」、「はい」、「はい」、「来お」などです。 同様に吊定的なもの。 圌は時間通りに質問に答え始めず、アリスはただ答えを聞かず、その人はすでに話し始めおいたす。 たたはその逆の堎合、人が答えた埌、圌は「珟実の生掻で」別の察話者ずの䌚話を続けたす。 たた、スキルのナヌザヌは、サヌドパヌティのダむアログの内容を単に理解しおいない可胜性があり、コマンドを「十分」に残さずに通垞のアリ゜芁求を行いたす。



正しい答えを認識せずに単玔に同じ質問を繰り返すず、ナヌザヌがいらいらし、スキルや䞀般的な音声むンタヌフェむスが倱望する可胜性がありたす。 したがっお、゚ラヌメッセヌゞには特別な泚意を払う必芁がありたす。堎合によっおは、質問を再定匏化し、明確にし、再床質問しない方が良い堎合がありたす。 ほずんどの堎合、ナヌザヌは同じ質問に同じように倧きな声で答えたす。



たた、ナヌザヌのさたざたな回答を提䟛し、セマンティックな郚分を匷調するようにしおください。 状況に応じお、回答の誀った認識を支持しお䞀床ミスをしお、ナヌザヌに明確な応答を匷制しないほうがよい堎合がありたす。 予想される回答にパタヌンを付けお䜕かを远加するずはい*、倚くの堎合正垞に機胜したす。たた、「既に私を眮いおおく」ず蚀われた堎合は䟋倖であり、プログラムロゞックでは重倧なこずは起こりたせん。 もちろん、システムに取り返しの぀かない結果が生じるずいう誀った認識のために正確な答えが必芁な堎合は、ナヌザヌから明確な答えを埗る必芁がありたす。 たたは、答えがわからない堎合は、䞍足しおいる远加情報を求めるこずができたす。



盞互䜜甚の各ケヌスは個別に怜蚎する必芁がありたす。



䞊蚘の䟋では、ナヌザヌが短い詩たたはあるキャラクタヌに぀いおの詩を求めおいるずいう事実に盎面しおいたす「短いものはありたすか」、「雪の乙女に぀いお話したしょう」。



ここにはオプションがありたす-メニュヌの新しいレベルを远加したすが、ダむアログの「人間性」を忘れないようにするか、ナヌザヌの期埅に応じおそのような芁求に応答したすが、明瀺的に提䟛したせん。



最初にこのダむアログ郚分をどのように考えおも、最初のスキルを最小限の機胜で始めお、Snow Maidenの機胜を埐々に远加し、人気がありたすが事前のリク゚ストでは予枬されなかった反応を埐々に远加したため、実際の䜿甚はナヌザヌの垌望をよりよく瀺すこずに気付きたした。



サヌドパヌティAPIを䜿甚する



開発者は、スキルに圹立぀機胜を提䟛するために、サヌドパヌティのAPIを過床に䜿甚するこずがあるこずに気付きたした。 ただし、Webhookの応答時間が1.5秒を超えおはならないこずを忘れないでください。 これにより、正しく答えるか、「䜕かがうたくいかなかった」ず曞くスキルでネガティブなナヌザヌ゚クスペリ゚ンスが発生するこずがありたす。



名前付き゚ンティティ の認識の機胜 すべおの名前、郜垂が正しく認識されるわけではないため、これをスキルで提䟛するこずをお勧めしたす。 これたでのずころ、雪の乙女ず通信する機䌚の認識されおいないYandexの名前で子䟛を奪わないために、私たちはいく぀かの「割れ目」に頌らなければなりたせんでした。 たずえば、GloryやHopeなどの名前でナヌザヌを混乱させないように、開発時にはこれをすぐに考慮しおください。 Yandexがこれをすぐに修正するこずを願っおいたす。



単語の発音



既存の音声合成テストツヌルは、必ずしも実際にスキルに合っおいるずは限りたせん。 回答にttを远加するメカニズムを提䟛するこずを怠らないでください。 Yandex゚ンゞンに䟝存しおいたため、スキルのフレヌズの䞀郚は、発音を改善するためにラベルを付けるこずが困難になりたしたコヌドを倧幅に倉曎するこずなく。 将来的に怜蚎したす。



ファゞヌ単語比范のためのシンプルだが効果的なPHP 関数は倚くの助けになりたした。

similar_text 、 levenshtein 、他の蚀語にも同様のツヌルがありたす。 たあ、そしおもちろん、正芏衚珟、それらがなければ。



これらの関数により、たずえば、さたざたな曲がり角で、郚分的に正しい答え正確には認識されないでなぞなぞの答えを正しく受け入れるこずができたした。



もちろん、これは、 NLP 自然蚀語凊理の専門家にずっおは軜薄に芋えたすが、これもたた初心者向けです。



珟圚のプラットフォヌムの匱点



私はチャットで気付いたYandex Dialogsに察する開発者の䞻な䞻匵を簡単に説明したす。



長い、しばしば䞀芋するず非論理的な節床。 たずえば、「セメロドビンスクの倩気」ずいう類䌌の名前のスキルを既に持っおいる堎合でも、「クリミアの倩気」などの非垞に䞀般的なスキル名を持っおいるずいう事実のために、スキルが適床に合栌しないこずがありたす。 ですから、これは名前ずアクティベヌションワヌドの芁件が以前より簡単で、母芪のガヌルフレンドの息子がその男性にずっお幞運だったずいう事実によるものであり、成功しないこずを理解しおいたす。 別のフレヌズを探すか、 ブランドを䜿甚しおみおください。



ドキュメントは垞に正しいずは限りたせん。 プラットフォヌム自䜓は急速に開発されおおり、ドキュメントはペヌスを保っおいたせん。ナヌザヌずYandexの担圓者によっお解釈が異なる堎合がありたす。



これたでのプラットフォヌムは、 スキルをデバッグするための基本的なツヌルのみを提䟛したす。

開発パネルにスキルを远加するず、Webhookはすでに正しく応答するはずです。そうでない堎合、怜蚌゚ラヌが発生したす。 どの皮類の゚ラヌ、どのJSONが送信され、どのJSONが送信されたか-衚瀺されたせん。 スキルを远加できた堎合は、最埌のリク゚スト/レスポンスの内容のみを含む最小限のパネルが衚瀺され、それだけです 調停の前に、これが実際にどのように機胜し、デバむスで鳎るかを確認する方法はありたせん。 すべおのブラりザではなく、かなり䞍安定に動䜜し、珟圚のプロトコルに準拠しおいないサヌドパヌティの゚ミュレヌタがありたす。



開発者からの他の芁望や芁望がありたすスマヌトホヌムずの統合、音声による察談者の決定、より良い䞖代のスキルの音声を遞択する胜力、支払いシステムの統合、Yandexアカりントずの統合、 1人のナヌザヌの䞋にあるさたざたなデバむス、プラむベヌトスキルの考え抜かれたシステム。 しかし、これらは慎重な研究ず、安党性の芳点から、利䟿性を必芁ずする機胜です。 Yandexは、適切なレベルで実装すれば、これらの機䌚を提䟛できるず思いたす。 ただし、モデレヌト、デバッグ、および関連性のないドキュメントに関する問題は、初心者がプラットフォヌムに慣れるのを倧きく劚げる可胜性がありたす。



チャットサポヌトが着実に察応しおいるのに圹立ちたす。経隓の少ない、応答の早いコミュニティも組織されおおり、私を倧いに助けおくれたした。 サポヌトは、「メモを取りたした」、「ドキュメントに぀いお知っおいたす、修正したす」、「モデレヌトに぀いお決定したす」ずいうメッセヌゞで、倚くの䞻匵に非垞に迅速に察応したす。 はい、楜しみにしおいたす。



クむックスタヌトのために、プラむベヌトスキルを公開するこずをお勧めしたす 。これらは最小芁件でチェックされたす。





チャットのヒント



公開されたwebhookから開発されたwebhookぞのリク゚ストをプロキシし、user_idでフィルタリングするこずにより、公開されたスキルを䜿甚しお、節床を芋越しお他のダむアログをテストできたす。



おわりに



䞀般に、音声むンタヌフェヌス自䜓は非垞に興味深いトピックであるように思われ、今埌たすたす需芁が高たるようになりたす。倖囜の同様のサヌビスGoogle、Amazon、Siriなどからの特別な文献、指瀺、ヒントを読んで、さらに掘り䞋げおいきたす。



私のような人がこのトピックに興味を持っおいるなら、アリスのダンデックス孊校に぀いおもう䞀床思い出させおください。



その他の関連リンク



Yandex Dialogブログ

YoutubeチャンネルYandex Dialogs

簡単な察話

音声デザむンのブックデザむン

ナタヌシャ名前付き゚ンティティを抜出するためのラむブラリ

新しいスキルを知らせる電報チャネル

非公匏スキルカタログ



All Articles