Azure Bot Services を使用してチャットボットを作成する方法のステップバイステップの手順
翻訳者 | Li Rui
査読者 | Sun Shujuan
メッセンジャー、ネットワーク サービス、その他のソフトウェアはロボット (ボット) と切り離せないものです。ソフトウェア開発およびアプリケーションにおいて、ボットは、ユーザーの要求に応じて作成されたアクションを自動的に実行する (または事前に設定されたスクリプトに従って実行する) ように設計されたアプリケーションです。この記事では、NIX United の開発者である Daniil Mikhov が、Microsoft Azure Bot Services を使用してチャットボットを作成する例を紹介します。この記事は、このサービスを使用してチャットボットを開発したい開発者に役立ちます。 Azure Bot Services を使用する理由
Azure Bot Services でチャットボットを開発する利点は、Microsoft の製品に対する高レベルのサポートです。同社の専門家は技術コミュニティと積極的にコミュニケーションをとり、サービスの脆弱性を迅速に特定して修正します。さらに、Microsoft はメッセンジャーの API の一部で動作するカスタム JSON ファイルを作成する機能を提供しており、開発者がチャットボットを作成する際に多くの可能性を提供しています。Azure Bot Services の他の利点を覚えておくことも重要です:
Azure Bot Services開発者はオープンソース SDK ツール (ソフトウェア開発キット) を使用して、チャットボットを作成、テスト、展開できます。
- # コグニティブ サービスとの統合は、機械学習ツールを使用して一般的なタスクを解決するサービスを指します。コグニティブ サービスは、チャットボットとユーザー間の対話プロセスを確実に改善します。
- マルチプラットフォームとは、元のコードを変更せずにチャットボットを複数のチャネルに接続できる機能を指します。
- 開発プロセスを促進し、すぐに開始できるオープン ソースのサンプルが豊富にあります (GitHub には既製のコード サンプルが多数あります)。
- 開発者は、新しい機能を追加することで、Azure プラットフォーム上のチャットボット インフラストラクチャを拡張できます。たとえば、さらにチャネルを追加し、各チャネルをテストに使用できます。 Cosmos DB サービスを使用して、会話状態とユーザーが入力した情報を保存できます。チャットボットをトレーニングするには、言語理解 (LUIS) を追加できます。機械学習アルゴリズムを使用して、ユーザーとのコミュニケーションを改善します。ただし、LUIS は無料ではなく、すべてのクライアントが追加の資金の割り当てを望んでいるわけではありません。
Azure Bot Services におけるチャットボットの分析
Azure 上で作成されたチャットボットの機能構造は次のように表現できます。
チャットボットに接続されている可能性のあるチャネルのリストが右側に表示されます。このリストは、新しいプラットフォームに合わせて継続的に更新されます。その下部には、Azure プラットフォームで利用できる Microsoft Cognitive Services があります。これらのサービスを使用すると、音声リクエスト、顔の表情、ジェスチャーなどを通じてチャットボットとの通信が可能になります。
Bot Builder SDK は、Azure でチャットボットを開発するために使用されます。この製品はパブリックドメインであり、その主な利点は開発者からの継続的なサポートです。 GitHub の別のフォークでは、サービスに関する最新情報を取得したり、開発者に質問したりできます。
チャットボットの作成
コードを記述する前に、Azure Bot Service でチャットボットを作成する前に考慮すべきニュアンスを分析します。 # #################################- 機能を破壊するアップデート。 Microsoft Corporation は常に製品を更新しています。新しい更新により、以前は機能していたコードの一部が壊れることがよくあります。したがって、新しい Bot Builder SDK バージョンのパッチ リストを必ず理解してください。チャットボットの開発に使用される他のマニュアルは意味がなくなる可能性があります。
- 明白な解決策ではありません。 Bot Builder SDK を使用するときは、常に実験にオープンであり、これまでとは異なることを積極的に実行する必要があります。
- 多用途性。ソース コードを変更せずに、同じチャットボットを異なるチャネル (Telegram、Skype、Slack など) にアップロードできます。チャットボットを開発するときは、プラットフォームごとに微妙な違いがあり、アプリケーションの動作ロジックを作成するときに開発者が異なるアプローチを取る必要があることに留意する必要があります。
(1) チャットボットは人々の質問を正しく理解できますか?
チャットボットとの通信はユーザー インターフェイスを通じて行われます。ユーザー インターフェイス を使用すると、開発者はチャットボットが理解できる言語でチャットボットと通信できます。この目的のために、Microsoft Azure は特定の階層に従うダイアログ システムを使用します。チャットボットとの会話を確立する方法:
プロンプト – チャットボットは、プロンプトと回答を通じてユーザーと対話します。たとえば、チャットボット情報はデジタル プロンプトの形式で提供されます。プロンプトは、ユーザーがプロンプトに正しく答えたかどうかをチェックします。成功すると、チャットボットとの会話が続行されます。ユーザーから不正確な回答を受け取った場合は、有効なデータを入力するよう求められます。
ウォーターフォール – ウォーターフォールは、一連の連続したタスク/質問を通じてユーザーから情報を収集する方法です。ウォーターフォール ダイアログの各ステップは、非同期関数として実装されます。各段階で、チャットボットはユーザーにデータの入力を求め、応答を待って、結果を次のステップに渡します。最初の関数の結果はパラメータとして次の関数に渡され、問題のループ全体が渡されるまで同様に渡されます。
- # コンポーネント - コンポーネントは、大きなダイアログ ボックスを、より小さく管理しやすい部分に分割する方法です。コンポーネントを使用すると、開発者は再利用可能なダイアログ ボックスを作成し、後でさまざまな独立したシナリオで使用できます。たとえば、これを使用して、ユーザーに番地名、住所、郵便番号を順番に尋ねるダイアログ ボックスを作成できます。
- 最後の行には、チャットボットのカスタム リクエストを作成するために許可されているメソッドが表示されます:
- テキスト クエリ (テキスト)
##数値クエリ (数量)
- 日付/時刻リクエスト (日時)
- リクエストの確認 (確認)
- #リクエストの選択 (選択) ##添付リクエスト (添付)
- 本質的に、クエリは段階的なダイアログです。最初の段階では、チャットボットは入力データを要求します。; 2 番目の段階では、チャットボットは入力データを要求します。有効な値をユーザーに返すか、無効な値を受け取った場合はデータ クエリ ループを再開します。
- (2) コントローラーとテンプレート
以下を参照## コード#Daniil Mikhov によって作成された「後で通知する」チャットボットの例。このチャットボットの主なタスクは、将来実行する必要があるアクションを通知することです。
チャットボットを作成するために、Mikhov は、Visual Studio によって提供される空のテンプレートを使用しました。これには、BotController と NotifyController といういくつかの種類のコントローラーが含まれています。
BotController はチャットボットのメッセージを受信し、チャットボット フレームワークに渡します。 Chatbot には、Azure プラットフォームへのアプリケーションのデプロイを容易にするためのいくつかのデプロイ テンプレートも含まれています。
Notify コントローラーは、ユーザーにメッセージを送信するタイミングを決定します。この問題については後で詳しく説明します。
(3) 関数を開始し、ToDoDialog タブにデータを入力します。
##Go to Startup.cs タブをクリックして、その内容を表示します。ここでは、登録されたエラー ハンドラー AdaptorWithErrorHandler を確認できます。プログラムでエラーが発生した場合、アプリケーションはエラーに対応する必要があります。 ConversationState の登録に注意してください - これを使用して、どのユーザーと通信しているのか、会話のどの段階にあるのかをチャットボットに知らせます。
ToDoDialog.cs タブの内容を見てみましょう。 Mikhov は、上で説明したウォーターフォール ダイアログ ボックス内の一連のステップである、waterfallSteps を宣言します。 WaterfallSteps では、ユーザーとチャットボット間の会話を構築するために各ステップでどの非同期関数が使用されるかを指定します。
以下に、チャットボットが使用する入力プロンプトの種類を示します。ここでのコンテンツは非常に標準的なものです。チャットボットは人々にイベントに関するいくつかの質問をし、スケジュールのリマインダーを提供します。
次に、チャットボットを実行し、Bot Framework Emulator インターフェイスを使用してその動作をテストします。
(4) チャットボット フレームワーク シミュレーターを最初に起動してテストします
#このアプリケーションを実行すると、チャットボットがユーザーのメッセージを待機するURLへのリンクが表示されます。
テストを開始する前に、チャットボット フレームワーク シミュレーターで次のリンクを指定します:
最初のコミュニケーション ステップで、チャットボットはユーザーに、通知する必要があるイベントの名前を入力するように求めます。これを行うには、次のコード を呼び出します。
Now 、いつ チャットボットが呼び出されると、次のテキストが返されます: イベントの説明を入力してください。リマインダーを受け取りたいイベント (牛乳を買うなど) を宣言した後、2 番目のステップでコードを呼び出します。ここで、チャットボットは 3 つのリマインダー時間オプションのいずれかを提供します。 :
stepContext の使用に注意してください。ダイアログ ボックスに関するすべての情報が保存され、中間値が記録されます。可能なリマインダー時間のリストを実装するには、ChoicePrompt が使用されます。この方法では、ユーザーに 3 つのオプションと、可能なリマインダー時間 (2 分、5 分、または翌日の同じ時間) が提供されます。もっとたくさんの選択肢がありましたが、選ばれたのは 3 つだけでした。
選択を使用して新しい選択時間を表すと、次のようになります:
#チャットボット フレームワーク シミュレーターでは、このコードは次のようにレンダリングされます:
Parse を使用して結果を解析できます。留意していただきたいのですが、解析はデータを収集して構造化する自動化されたプロセスです。次にチャットボットは、選択したリマインダー時刻を確認するかどうかをユーザーに尋ね、確認プロンプトを使用して同意を確認します。 ##視覚的に見ると、このメソッドは次のようになります:
最後のステップは、以前のstepContext から情報を入力し、conversationReference を追加する必要がある SavedNotificationModel を生成します。これがないと、チャットボットはユーザーとの会話を再開したり、どのユーザーが問題に具体的に対処したかを判断したりできません。
Mikhov辞書メソッドをこれらのイベントの一時リポジトリとして使用します。採用すると、チャットボットはその一意のインスタンス ID を特定の各ダイアログに割り当てます。
これはチャットボット ダイアログで終わります。ダイアログ ボックスの終了を示すテキストをユーザーに表示し、対応するリマインダー要求「ありがとうございます。通知は正常に保存されました」を作成できます。
(5) チャットボットはどのように時間移動するのか For チャットボットを時間内に見つけるために、
Mikhov
通知を受け取るには、BotAdapter の ContinueConversationAsync() メソッドが呼び出され、ConversationReference が渡されます。 ContinueConversationAsync() の最初のパラメーターは常にチャットボット サービスの appId (アプリケーション ID) である必要があります。そうでない場合、機能しません。
さらに、チャットボットは、特定の時刻になったら、特定のユーザーにイベントを通知する必要があることを通知する必要もあります。開発者は、時間トリガー (TimerTrigger) によってトリガーされる Azure 関数 (BotTimerFunction) を使用できます。
関数は毎分、このエンドポイントにリクエストを送信し、指定されたイベントのチェックを開始します。正しい時間枠に達すると、チャットボットはスケジュールされたイベントが間もなく発生することをユーザーに通知します。
現在、WhatsApp、Facebook Messenger、Telegram などのコミュニケーション ツールは、コミュニケーション プラットフォームであるだけでなく、ビジネス プラットフォームでもあります。チャットボットは、企業がオンラインで商品やサービスを効果的に販売および宣伝するのに役立ちます。日々のプロセスを自動化し、必要な製品情報を顧客にタイムリーに提供し、リクエストを受信して処理する – 適切に構成されたチャットボットのこれらすべての機能は、ユーザーを顧客に変えるのに役立ちます。したがって、開発者としては、このツールが現在どれほど人気があるのか、そしてそのようなアプリケーションを作成してその結果として人気のあるエキスパートになれることがどれほど素晴らしいのかを覚えておく必要があります。
元のタイトル: Azure Bot を使用してチャットボットを作成する方法サービス: ステップバイステップの説明 #,著者: Daniil Mikhov # ##################################
以上がAzure Bot Services を使用してチャットボットを作成する方法のステップバイステップの手順の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









この AI 支援プログラミング ツールは、急速な AI 開発のこの段階において、多数の有用な AI 支援プログラミング ツールを発掘しました。 AI 支援プログラミング ツールは、開発効率を向上させ、コードの品質を向上させ、バグ率を減らすことができます。これらは、現代のソフトウェア開発プロセスにおける重要なアシスタントです。今日は Dayao が 4 つの AI 支援プログラミング ツールを紹介します (すべて C# 言語をサポートしています)。皆さんのお役に立てれば幸いです。 https://github.com/YSGStudyHards/DotNetGuide1.GitHubCopilotGitHubCopilot は、より少ない労力でより迅速にコードを作成できるようにする AI コーディング アシスタントであり、問題解決とコラボレーションにより集中できるようになります。ギット

産業オートメーション技術の分野では、人工知能 (AI) と Nvidia という無視できない 2 つの最近のホットスポットがあります。元のコンテンツの意味を変更したり、コンテンツを微調整したり、コンテンツを書き換えたり、続行しないでください。「それだけでなく、Nvidia はオリジナルのグラフィックス プロセッシング ユニット (GPU) に限定されていないため、この 2 つは密接に関連しています。」このテクノロジーはデジタル ツインの分野にまで広がり、新たな AI テクノロジーと密接に関係しています。「最近、NVIDIA は、Aveva、Rockwell Automation、Siemens などの大手産業オートメーション企業を含む多くの産業企業と提携に至りました。シュナイダーエレクトリック、Teradyne Robotics とその MiR および Universal Robots 企業も含まれます。最近、Nvidiahascoll

Machine Power Report 編集者: Wu Xin 国内版の人型ロボット + 大型模型チームは、衣服を折りたたむなどの複雑で柔軟な素材の操作タスクを初めて完了しました。 OpenAIのマルチモーダル大規模モデルを統合したFigure01の公開により、国内同業者の関連動向が注目を集めている。つい昨日、中国の「ヒューマノイドロボットのナンバーワン株」であるUBTECHは、Baidu Wenxinの大型モデルと深く統合されたヒューマノイドロボットWalkerSの最初のデモを公開し、いくつかの興味深い新機能を示した。 Baidu Wenxin の大規模モデル機能の恩恵を受けた WalkerS は次のようになります。 Figure01 と同様に、WalkerS は動き回るのではなく、机の後ろに立って一連のタスクを完了します。人間の命令に従って服をたたむことができる

今週、OpenAI、Microsoft、Bezos、Nvidiaが投資するロボット企業FigureAIは、7億ドル近くの資金調達を受け、来年中に自立歩行できる人型ロボットを開発する計画であると発表した。そしてテスラのオプティマスプライムには繰り返し良い知らせが届いている。今年が人型ロボットが爆発的に普及する年になることを疑う人はいないだろう。カナダに拠点を置くロボット企業 SanctuaryAI は、最近新しい人型ロボット Phoenix をリリースしました。当局者らは、多くのタスクを人間と同じ速度で自律的に完了できると主張している。人間のスピードでタスクを自律的に完了できる世界初のロボットである Pheonix は、各オブジェクトを優しくつかみ、動かし、左右にエレガントに配置することができます。自律的に物体を識別できる

世界初の AI プログラマー Devin の誕生から 1 か月も経たない 2022 年 3 月 3 日、プリンストン大学の NLP チームはオープンソース AI プログラマー SWE-agent を開発しました。 GPT-4 モデルを利用して、GitHub リポジトリの問題を自動的に解決します。 SWE ベンチ テスト セットにおける SWE エージェントのパフォーマンスは Devin と同様で、平均 93 秒かかり、問題の 12.29% を解決しました。専用端末と対話することで、SWE エージェントはファイルの内容を開いて検索したり、自動構文チェックを使用したり、特定の行を編集したり、テストを作成して実行したりできます。 (注: 上記の内容は元の内容を若干調整したものですが、原文の重要な情報は保持されており、指定された文字数制限を超えていません。) SWE-A

Go 言語開発モバイル アプリケーション チュートリアル モバイル アプリケーション市場が活況を続ける中、ますます多くの開発者が Go 言語を使用してモバイル アプリケーションを開発する方法を検討し始めています。シンプルで効率的なプログラミング言語として、Go 言語はモバイル アプリケーション開発でも大きな可能性を示しています。この記事では、Go 言語を使用してモバイル アプリケーションを開発する方法を詳しく紹介し、読者がすぐに始めて独自のモバイル アプリケーションの開発を開始できるように、具体的なコード例を添付します。 1. 準備 始める前に、開発環境とツールを準備する必要があります。頭

以下の 10 種類の人型ロボットが私たちの未来を形作ります。 1. ASIMO: ホンダが開発した ASIMO は、最もよく知られている人型ロボットの 1 つです。身長 4 フィート、体重 119 ポンドの ASIMO には、高度なセンサーと人工知能機能が装備されており、複雑な環境をナビゲートし、人間と対話することができます。 ASIMO は多用途性を備えているため、障害を持つ人々の支援からイベントでのプレゼンテーションまで、さまざまなタスクに適しています。 2. Pepper: ソフトバンクロボティクスによって作成された Pepper は、人間の社会的パートナーになることを目指しています。表情豊かな顔と感情を認識する能力を備えた Pepper は、会話に参加したり、小売現場で手助けしたり、教育サポートを提供したりすることもできます。コショウ

掃除ロボットやモップ拭きロボットは、近年消費者の間で最も人気のあるスマート家電製品の 1 つです。操作の利便性、あるいは操作の必要がないことで、怠け者は手を解放し、消費者は日常の家事から「解放」され、好きなことにもっと時間を費やすことができるようになり、生活の質が向上します。この流行に乗って、市場に出回っているほぼすべての家電ブランドが独自の掃除ロボットや拭き掃除ロボットを製造しており、掃除ロボット市場全体が非常に活発になっています。しかし、市場の急速な拡大は必然的に隠れた危険をもたらします。多くのメーカーがより多くの市場シェアを急速に占有するために機械の海戦術を使用し、その結果、アップグレードポイントのない多くの新製品が生まれるとも言われています。まさに「マトリョーシカ」モデルです。ただし、すべての掃除ロボットやモップロボットがそうであるわけではありません。
