4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[初心者さん・学生さん大歓迎!] Xamarin その1Advent Calendar 2017

Day 19

IBM Watson ConversationのChatBotクライアントをXamarinで作ってみた

Last updated at Posted at 2017-12-19

本記事は、初心者さん・学生さん大歓迎! Xamarin その1 Advent Calendar 2017 の19日目の記事です。

先日、IBM Cloud ライトプランが、発表されました。
無料、無期限、クレジットカード登録なしで42種類ものプラットフォームサービスやAPIを使うことができ、もちろんWatson APIも無料で使うことができます。

その中でも、Watson APIの一つであるConversationを使うと、自然言語を意図分類しながら回答するAIチャットボットが、わりと簡単に作成できます。

そんなConversationですが、IBM CloudのWeb管理コンソールから、作ったBotのデモンストレーションを行うことができます。

スクリーンショット 2017-12-19 13.46.58.png

でもお客さんに見せる時、管理コンソールは、、、っとかありますよね。
LINEやSlack連携なども可能ですが、Developer Accountの取得、設定など、多少手間がかかります。(それでも簡単ですが)
そんな時に簡易的にデモを行えるツール(アプリ)が欲しいなーと思い、作ることにしました。

IBMCloudの管理画面からサービス資格情報
  -> 一覧からConversationサービスを選択
    -> 資格情報の表示を押下すると表示される、UserName,Password
をアプリで入力することで、接続できます。
LINEや他のChatサービス連携とは違い、Developer Accountの取得や、管理ポータルでの設定は不要です。

本当はXamarinについての質問を返すAIチャットボットを作って、Xamarin.Formsクライアントからデモを行う、というのをやりたかったのですが、間に合わなかったので、それは別の機会に。

作ったもの

まずは動画をご覧ください。

conversationclient.gif

Conversationのチュートリアルとして用意されている、車のAIチャットボットに繋いでみました。

「play music」 と入力すると、音楽のジャンルはなんだ?と聞き返されます。
「Jazz」と入力すると、Jazzの音楽を起動してくれます。
「Thanks」と入力すると、言われ慣れていないのか「何言ってるかわかんない」と言われますw(覚えさせていないだけ)
こんな感じで、ボットのデモを行うことができるアプリです。

フレームワーク、ライブラリ

作り方

Watson Developer Cloudが .NET Standard 1.6〜に対応しているため、
Xamarin.Forms でPCLを .NET Standardに変更しました。せっかくなので、2.0対応しました。

あとは WatsonDeveloerCloud Conversation API をラップしたModelクラスを作成し、ViewModelを介して画面を更新しています。

ソースも公開しています。

まだUIも味気なく、ログイン機能もないですが、資格情報をご自身のUserName,Passwordに変更することで、実際にお試しいただけます。

近々、ログイン機能やUIの刷新を行ったのち、ストアにリリースできればいいなと思っております。
技術的内容が薄めですみませんが、以上となります!
なお、所属する会社のアドベンドカレンダーにXamarin Profierでメモリリーク解析を書きましたので、よろしければご覧ください。

明日はJXUG主催 田淵さんの「何がNativeで何がEmbeddingなの?って初心者向けの話を書きます。」です。
引き続き初心者さん・学生さん大歓迎! Xamarin その1 Advent Calendar 2017をお楽しみください。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?