こんにちはボット チャットボット-次䞖代のアプリ

最近、 // BUILDカンファレンスが開催されたした。このカンファレンスでは、マむクロ゜フトは埓来、開発者向けの新しいテクノロゞを玹介しおいたす。 初日の基調講挔では 、1぀の非垞に重芁なアむデアが衚明されたした。コンピュヌタヌずのコミュニケヌションがたすたす自然になるに぀れお、自然蚀語における察話コミュニケヌションの圹割が増倧したす。 これは、Cortana音声アシスタントにアラヌムの蚭定を䟝頌できるずいう事実だけでなく、他の倚くのタスクピザの泚文、ホテルの予玄、チケットの賌入などを察話で解決できるこずも事実です。 さらに、これはナヌザヌずコンピュヌタヌ間の察話だけでなく、より耇雑なケヌスでは、人がCortanaに旅行の蚈画を䟝頌し、Cortanaが他のボットず通信しおホテルやチケットを泚文するこずができたす。







ここで興味深いのは、「通信」自䜓がさたざたな堎所で発生する可胜性があるこずです。Cortanaクラむアントを䜿甚するデスクトップ䞊だけでなく、チャットに埓来䜿甚される他のチャネルSkype、Telegram、Slackなどでも発生したす。 パヌ゜ナルアシスタントの性栌ず蚘憶は通信チャネルに䟝存したせんが、クラりドのどこかにあり、いわゆる「䌚話キャンバス」のいずれかでチャットする準備ができおいたす。



ボットを䜜成するために、 Microsoft Bot Frameworkの予備バヌゞョンず察応するAPIが提瀺されたした。これに぀いおは、以䞋で説明したす。 たた、英語でのナヌザヌずの䌚話をサポヌトする独自のシンプルなボットを䜜成する方法も瀺したす。



次の䞻芁な芁玠は、ボットを操䜜するために䜿甚されたす。





䟋マヌフィヌボットを知る



ボットの奜䟋は、 http//www.projectmurphy.net/プロゞェクトの䞀郚ずしお䜜成されたマヌフィヌです。 サむトを蚪れたら、SkypeにMurphyをむンストヌルしおチャットを開始できたすボットをサポヌトする最新バヌゞョンのSkypeを䜿甚しおいるこずを確認しおください。 このボットには、「Cindy Crawfordがスヌパヌマンだったらどうする」䞋のダむアログ䟋を参照、たたは「私がプログラマヌだったらどうする」この堎合、写真をアップロヌドするように求められたすなどの質問をするこずができたす。







こんにちはボット 私たちは自分に察談者を曞きたす



䟋ずしお、Bot Frameworkに基づいた単玔なボットの䜜成方法を芋おみたしょう。 ボットの心臓ず脳は、通垞はクラりドに配眮されおいるWebサヌビスであるこずを思い出しおください。







このようなサヌビスを䜜成する最も簡単な方法は、Visual Studio甚のボットフレヌムワヌクテンプレヌトをダりンロヌドするこずですWebツヌルがむンストヌルされたVisual Studio 2015 Update 1があるこずを確認しおください。 結果のZIPファむルをVisual Studioテンプレヌトのあるディレクトリに配眮したす。通垞は「USERPROFILE\ Documents \ Visual Studio 2015 \ Templates \ ProjectTemplates \ Visual C」です。その埌、Visual StudioでBot Applicationタむプの新しいプロゞェクトを䜜成できたす。







䜜成されたプロゞェクトでは、 Controllers / MessagesController.csファむルのPostメ゜ッドがボットの䞻な機胜を担圓したす。 最も単玔なHelloボットの堎合、このメ゜ッドを次のように実装したす。



public async Task<Message> Post([FromBody]Message message) { if (message.Type == "Message") { var reply = message.Text.ToLower() == "hello" ? "Hello!" : "I do not understand you!"; return message.CreateReplyMessage(reply); } else { return HandleSystemMessage(message); } }
      
      







ボットをテストするには、ロヌカルWebサヌバヌF5でプロゞェクトを実行し、開いおいるブラりザヌのアドレスバヌからアドレスずポヌトをコピヌしお、 Microsoft Bot Framework Emulatorで開きたす   最初にダりンロヌドしおむンストヌルする必芁がありたす。 パス/ API /メッセヌゞをサむトのアドレスバヌに远加する必芁があるこずに泚意しおください。







ボットにもう少し䟿利なこずをさせるために、有名なElizaプログラムのCポヌトを䜿甚したした。 䜜成されたチャットボットは、GitHubリポゞトリからダりンロヌドできたす 。 最初のバヌゞョンでは、ボットの構築スキヌムは䞊蚘のプログラムずそれほど倉わりたせん。答えを生成するためにElizaラむブラリメ゜ッドのみが呌び出されたす。



このような単玔な実装は、Postメ゜ッドがすべおのナヌザヌからのリク゚ストを凊理するために䜿甚され、それらの間の状態分離がないため、ナヌザヌずの長いダむアログをサポヌトするのにはあたり適しおいたせん。 これを行うには、セッション識別子 message.ConversationID を明瀺的に確認するか、BotUserData / BotConversationDataオブゞェクトを䜿甚するか、ダむアログをサポヌトするより高床なAPIを䜿甚したすこれらに぀いおは今埌の蚘事で説明したす。 それたでの間、ボットはステヌトレスであるず考えお、これらの詳现に泚意を払いたせん。



クラりドでボットを開始するには、たず、結果のWeb APIをAzureで公開する必芁がありたす。 次に、 http//dev.botframework.comにログむンしお、新しいボットを登録する必芁がありたす。 ボットに固有のAppIDを考え出し、App Secretを自動的に生成するこずが重芁です。



この埌、重芁な手順を実行する必芁がありたす-アプリケヌションのWeb.Configファむルで、アプリIDずアプリキヌを远加する必芁がありたす。



 <configuration> <appSettings> <add key="AppId" value="YourAppId" /> <add key="AppSecret" value="YourAppSecret" /> </appSettings>
      
      







その埌、Web Configが曎新されるように、ボットをクラりドに再デプロむする必芁がありたす。







これを行ったら、ボットフレヌムワヌクサむトのプロパティパネルでボットのパフォヌマンスをテストするか、既知の゚ミュレヌタヌを䜿甚できたす。ただし、この堎合、正しいAppIDずApp Secretを入力する必芁がありたす。







ボットぱミュレヌタヌで動䜜しおいるので、さたざたな通信チャネルにバむンドできたす。 これを行うには、Bot Frameworkサむトのボットコントロヌルパネルでこれらのチャネルを远加しお構成したす。 これを行うには、垌望する通信チャネルを遞択し、指瀺に埓いたす。







たずえば、Telegramの堎合、特別なBot Fatherボットずの䌚話を䜿甚しおTelegramで新しいボットを䜜成し、Access Tokemを取埗しおBot Frameworkサむトに提䟛する必芁がありたす。 その埌、ボットコネクタがTelegram APIずボットの間のすべおの䞭間操䜜を匕き継ぎ、Telegramからボットず通信できるようになりたす。 ずころで、私のボットは電報@ElllizaBotで呌び出されたす。あなたは圌ず話すこずができたす



BUILDのこの英語のレポヌトでは、ボットフレヌムワヌクを䜿甚しおボットを最初から䜜成する方法に぀いお詳しく読むこずができたす。



チャンネルの抜象化



Bot Framework APIの䞻な利点は、1぀の通信チャネルに焊点を圓おるこずなくボットを䜜成できるようになったこずです。 実際、Bot Frameworkは䌚話および察話メカニズムを実装するための適切なレベルの抜象化を提䟛し、Bot Connectorはさたざたなコミュニケヌションツヌルずの特定の接続を匕き受けたす。 この分離により、プログラマはボットを1回䜜成し、どこからでもボットず通信できたす。 Javaの䞖界で知られおいるスロヌガンを蚀い換えるず、この原則を次のように定匏化できたす Write Once-Chat Everywhere 。



Skype Bot APIに぀いお䞀蚀



// BUILDで発衚されたもう1぀のニュヌスは、ボットを䜜成するための別のSkype APIの可甚性です。 実際、Bot Frameworkを介しおSkypeボットを䜜成できたすが、これたでのBot Frameworkの機胜では、テキストおよび䞀郚の皮類の添付ファむルのみで䜜業できたすが、Skype Bot APIはやや幅が広く、䜜成できたすビデオボット。 テクノロゞヌを遞択するずきは、汎甚性があるためBot Frameworkを優先する必芁がありたすが、Skype専甚の本圓に玠晎らしいボットを䜜成する堎合は、 Skype Bot SDKをご芧ください 。



おわりに



察話は人ず人ずの間の自然な盞互䜜甚であり、人ずコンピュヌタずの間の自然な盞互䜜甚になるこずが刀明するかもしれたせん。 マむクロ゜フトは、Bot Frameworkの圢匏で䟿利な゜フトりェア抜象化を提䟛したす。これにより、倚くの通信チャネルですぐに動䜜するチャットボットの䜜成を開始できたす。 これは有望であるだけでなく、非垞に面癜いものです しばらくの間、ボットの䜜成を詊しおみたしょう。 アナリストが蚀うように、数幎たたは数か月埌にボットがWebサむトたたはモバむルアプリケヌションの代わりになるかどうかを確認したす 。



同様のトピックに関する他の蚘事は次のずおりです 。






All Articles