パンダからの脱却

赴くままに

人工知能チャットボットハッカソンでIBM賞頂きました

人工知能チャットボットハッカソン

イベント詳細は下記。なんと6倍の倍率だったので運良く当選して嬉しい限り。

connpass.com

 

User Localとは

大量のデジタルデータを収集・分析している会社。データ解析ツールも提供している。

 

 

下記、Userlocal様からの趣旨説明内容

なぜ今年人工知能が注目なのか

  •  GoogleのCEOが「AIが重要」と発言。ユーザーファーストからAIファーストへ。(2015)
  • 国内でプロ将棋棋士に勝利(2014)
  • Deep learningを用いてAlphaGo囲碁勝利(2016)

単純なロジック

より複雑なパターン認識

機械学習

深層学習←今ココ

複雑なものでも人間以上のパフォーマンスを出せることが証明され、サービスとして利用され始めている。

現状のチャットボット流れ

  • 国内アプリAU数順位の上位3つであるLine, Facebook, Twitter。会話型インターフェースが主流に。
  • 2つサービスが今年チャットボットのプラットフォームを公開
  • SNSアプリがチャットボットに対応したため、一対多数のコミュニケーションを円滑にした。例えば長友選手のLINEボットなど。
  • アプリの次は音声会話?→Amazon Echo, Google Home

Userlocal

課題は、まだまだ実際作っている人はほとんどいないため、いろんな人が作りやすいようにUserlocalのサービスを利用してほしい

 

Userlocalが考える良いチャットボットとは何か?

  • 人の役に立つ(=賢い答えを導き出す)
  • 楽しい(暇つぶしができるおもしろボット、話題性とプロも効果があるため)
  • もっと話したい(好き・心を動かす、性別や声、容姿も重要かも。スタンプや動画なども。映画でいうとHer、エクスマキナなど)

これからのボットで大事な点

人間とロボットの違いは感情のあるなしだから感情認識や空気を読むなどが重要。Jiboやペッパーなどがその類。

 

という流れで開会式が終わりハッカソン始まり!まずはチームを作ってアイディアソン。下記、各チームから出ていたアイディアメモになります。

 

アイディアソン

  • 中二病ボット
  • トイレボット、どのタイミングでトイレに行けばいいか教えてくれるボット
  • 逆転裁判ボット
  • 間に入ってクッションになってくれるボット
  • レシピボット、家の冷蔵庫に残っている材料を撮って送ると、このレシピ作れるよって教えてくれる
  • 旅行ボット、オリンピックに向けて日本語サイトをボットを通して検索やサジェストできるボット
  • 車保険の購入コンシェルジュボット
  • 出前ボット
  • 死んだおじいちゃんと話せるボット
  • 女子高生ターゲットのファーストメイクをサポートしてくれるボット
  • 便利彼氏ボット
  • 自撮りボット、自撮り写真を分析してその人にあったベストなアングルを教えてくれる
  • ラップボット、インを自然に踏んでくれてラップしてくれる
  • グルメボット、今日の夜予約しておきまいしたというクレイジーさを出したい
  • 悟りボット、悟りを返す
  • 恋人探しボット

 

開発

アイディアソンが終わったら各自開発を初めます。私のチームはメンバーが3名で進めておりましたが、全員初対面という事もあり緊張しました。でも一日目から私ともう一人の開発メンバーは終わった後もカフェにこもりモクモク作業。でも業務で使っていない言語が触れ、新しいサービスに触れてとても楽しかった。

発表

下記は自分用メモに取っていたものを載せます。わかりやすいようにサービス名を書き換えていたりしてるのであしからず。

逆転裁判ボット(写真撮り忘れ。。。)

②恋人探しができるコピーボット(私のチーム)

f:id:hiro004:20160710230531j:plain

  • 自分の分身ボットを作成し、その分身ボット同士が会話。会話が盛り上がったら本人へ会いませんか?と通知しお互いが会いたいと答え課金したら、実際の連絡先を交換できる。
  • チャットの実装自体はFirebaseと、自動応答APIを利用
  • ボットごとの会話DBには、

    カップルのLINE (@couple_LINE) | Twitter をスクレーピングし各会話形式を分類し登録

  • 2人の会話の盛り上がり度はBluemixのTone Analyzerを利用

Lifelineのような脱出ボット(写真撮り忘れ。。。)

  • ボットがどこかに迷い込んでしまい、ボットとやり取りしながらゴールに導くシミュレーションゲーム
  • 遊んでいる最中の没入感を楽しむなんともシュールだけど楽しい!

④韻を踏むラップボット

f:id:hiro004:20160710230147j:plain

  • 作詞モード、バトルモード、単語をいうと韻を踏んで返すモードがある

  • 単語DBはwikiで、解析はmecab

  • 韻を踏むのはrubyのgemでrhymerを利用している

⑤死んだ人にアエルボット

f:id:hiro004:20160710230207j:plain

  • 死んだ人(おじいちゃん)と話せる

  • チャットでのテキストだけではなく、声によるボイスメッセージと懐かしい写真のやり取りも今後はしていく予定

  • 形態素解析でその人らしさ(感動詞を利用)の特徴を抽出して、口調として返す。過去のTwitter発言を元に解析。Twitterは返信(メンションがある発言)に関してのみ抽出。

  • バックエンドはRuby on Railsで、サーバーはHeroku

  • 最終的にUserLocalの全自動会話APIを用いてLINEチャットでやり取りを返す

⑥参加者管理と日程調整をするボット

f:id:hiro004:20160710230323j:plain

  • イベントの参加者管理・日程調整をするボット。幹事の雑務をサポートするイメージ。

  • 各人がFacebookメッセンジャーでボットと繋がり、ボットと会話することで幹事登録or参加者登録を実施

  • 登録するときは、名前と役割を登録できる

  • 「日程調整開始」とつぶやくと「いつがいいの?」。幹事が「来週のどこか」とつぶやくとボットが他参加者へ「来週のいつがいいの?」と聞いて参加できる人をまとめて日程と人数を幹事へ送ってくれる。幹事はまとめて提示されたリストから「12日にする」などつぶやくとボットは参加者へ連絡をする 。

⑦メンヘラ彼女 りなちゃんボット

f:id:hiro004:20160710230225j:plain

  • 自分のことを知ろうとしてくれるヤンデレ彼女ボットりなちゃん
  • りなちゃんとLINEで繋がると、Facebook連携するお誘いが送られてくる

  • 連携後は、りなちゃんが個人情報を勝手に取ってきて友達の情報や元カノ的な人の質問をどんどんしてくる

⑧コンビニの商品から栄養管理をしてくれるボット

f:id:hiro004:20160710230335j:plain

  • コンビニの商品から栄養管理してくれるボット

  • 身長と体重を質問し、返答でユーザー属性を分類。

  • コンビニのデータをDBへ保管している。

  • LINEBOTと連携して、サーバーはEC2。

  • コンビニのデータはHPからスクレーピングしてUserlocalのDBへ入れた。

  • ユーザが食べた過去のデータも登録することができるので、前後を考えた食べ物の提案ができる。

  • 今回はコンビニの商品データはスクレーピングだとカロリーのみ取れた状況。栄養素はなかったため、サンプル・データとして新たに登録した?

⑨ちょうど良いボット

f:id:hiro004:20160710230333j:plain

  • 調度よいタイミングで通知を教えてくれるボット

  • メッセンジャーが発達してきてSlackやFacebook,LINEなどからたくさん来て集中が途切れる→通知着る→けど寂しくて1時間に1回みる→でも通知着てないがっかり  という負を解決する調度良いボット

  • 利用したのは自動会話APIChromeデータ

  • 周囲にBotを自分のアカウントだと思わせておく、友達が「お腹すいた」とおくると「食べたら良い」とボットが自分の代わりに返答する。

  • 利用者がサボったというタイミングはTwitterFacebookを開いたという行動ログをChromのExtensionを利用して判定している。その判定がTrueのときはTwitterダイレクトメッセージ上に身代わりのボットから送った内容を教えてくれる。

  • 送った内容があまりにも辛辣な場合はTwitterダイレクトメッセージから「ごめん言い過ぎた」という返答を返すとLINEボットへの会話へ登録してくれる。

⑩結果にコミットする応援ボット

f:id:hiro004:20160710230328j:plain

  • 家に余っていた材料をポストすると、それを元にヘルシーなレシピを送ってくれる

  • 他にもモチベ維持のためにビシビシ指導してくれる。「あまえるな」「過去の自分に編まれるな」「努力して結果が出ると自身になる、努力して結果が出ないと脂肪が残る?(あんまり聞き取れなかった。。。)」

審査結果

  • 最優秀賞 韻を踏むラップボット
  • 優秀賞 参加者管理と日程調整をするボット
  • IBM賞 コピーロボットで恋人探し
  • ツイキャス賞 ちょうど良いボット

Bluemixのtone analyzerを使っていたのでなんとIBM賞頂きました。わー!私が担当してた実装部分なので嬉しいです。チームメンバーも技術力・発想力ある方々で初対面でしたがメンバーに恵まれました。

 

最後は皆で撮影会。お疲れ様でした。

f:id:hiro004:20160710231939j:plain