CookBot
製品概要
Cook x Tech
背景(製品開発のきっかけ、課題等)
- 残りの材料をどうしよう?
- いちいちレシピを探すのが面倒!
- レシピを読むのが面倒!
- 書かれた通りにやったが、途中で失敗した!
料理を作る大勢の人がこのようなことで悩んでいるのではないだろうか?ところで、CookBotが解決できる課題は3つ。
- 冷蔵庫の中に残っている材料で作れそうな料理を手間かげずに見つけてくれる。
- レシピはテキストではなく、最適な調理手順(アルゴリズム)を生成し、で誰でも分かるように可視化してくれる。
- 調理手順をまるで調理師のようにインタラクティブに教えてくれる。
製品説明(具体的な製品の説明)
- CookBotの仕様は非常にシンプル。まず、冷蔵庫の中に残っている材料をまとめて写真を撮ってCookBotに送る。[実例]
- すると、CookBotがその画像に含まれる食材を一個ずつ抽出し、それらを使って調理できそうな料理一覧を見つけてくれる。[実例]
- ユーザーが調理したい料理を選択すると、CookBotがその料理のレシピに対して自然言語処理を行い、最適な調理手順を生成する。
- 生成された調理手順を人間に分かりやすい有向グラフ(flow chart)として可視化してくれる。[実例]
- 調理開始から完了までの間インタラクティブにサポートしてくれる。[実例], [実例]
特長
1. 特長1
食材をいちいちタイピングする必要はなく、まとめ写真を撮ることでレシピの検索ができる。CookBotは一枚の写真だけから複数の材料を認識します。
2. 特長2
書かれている調理手順から最適な調理アルゴリズムを生成し、有向グラフ(flow chart)として可視化する。これがあれば 「ステップ3を待ちながらステップ5の準備をするはずだった」って後から気づいて失敗することはない。
3. 特長3
ユーザーとインタラクティブに対話し、柔軟にサポートする。例えば、レシピ手順の中に "boil for 20 minutes" のような時間情報が入っていれば自動的に "Set timer for 20 min" という便利なボタンを作成してくれ、それをクリックすると20分経ったらに教えてくれる。
4. 特徴4
Messengerボットなので、アプリのインストールは不要である。
解決出来ること
レシピ検索->調理の過程が非常にシンプルかつ楽になる。
調理手順が理解できない、途中で失敗するなどの問題を解決する。
今後の展望
CookBotにもっと賢いAIを持たせ、よりインタラクティブな対話ができる優秀な調理師にする。
現在外部のAPIを用いて画像に載っている食材のラベルを取得しているのだが、今後データセットを作成し、画像認識を100%内部で行うようにする。
注力したこと(こだわり等)
- チャットボットの実装
- 画像認識、部分的認識
- 最適な調理手順(アルゴリズム)の生成
- 調理手順の可視化
開発技術
- チャットボット:
- テキスト処理を行いながら、ユーザーとインタラクティブな対話を行う。
- 部分的画像認識(食材抽出):
- 対象画像上スライディングウインドウを移動させる。
- 各ウインドウに対してCamFindのAPIを呼び出し、そのウインドウに含まれる物体を抽出する。[サンプル]
- 抽出された物体が食材であればスタックにプッシュしていく。
- APIから返されたラベルが食材であるかどうかの判定にweblioなどオンライン辞書のフードカテゴリーを利用する。
- 最適調理手順:
- 自然言語処理
- キーワードネットワーク
- 調理手順の可視化:
- 有向グラフ
活用した外部技術。
API・データ
- チャットボットプラットホーム:
- 画像認識API:
- レシピ検索:
- 音声認識:
- Emojiデータベース:
- 単語カテゴリーデータ:
フレームワーク・ライブラリ・モジュール
- 主な言語:
- Python 3.5.2
- サーバ:
- 自然言語処理:
- 調理手順の可視化:
デバイス
- インフラ:
- Microsoft Azure
- デモ端末:
- Iphone 6s
独自技術
期間中に開発した独自機能・技術
- Sliding Window方法を活用して一枚の写真から複数の材料を認識。
- 自然言語処理を活用して調理手順から調理グラフ(flow chart)を作成。
- 料理手順から時間などのセマンティック情報を抽出し、それを対話的なチャットを実現するのに活用。例えば時間記述を検出して自動タイマーに利用。
研究内容(任意)
テキストベースのレシピから有向グラフを作成するときに以下の論文を参照。
- Yamakata, Yoko, et al. "Feature extraction and summarization of recipes using flow graph." International Conference on Social Informatics. Springer International Publishing, 2013. pdf
- Mori, Shinsuke, et al. "Flow Graph Corpus from Recipe Texts." LREC. 2014. pdf
プロダクトのURL
- ランディングページ: www.cookbot.us
- FB Messenger URL: https://m.me/cookbot.us
どなたでもCookBotが使えるようになりました。是非上のURLから試してください。 (2016/11/08 11:00)
現在Facebookに申請中のため一般のユーザはCookBotを使えないようになっています。使ってみたい方は是非開発者https://www.facebook.com/byambajavにメッセージ送ってください。レビュアーに追加いたします。
Built With
- azure
- beautiful-soup
- bing-speech-api
- camfind-api
- facebook-chat
- flask
- graphviz
- nginx
- nltk
- python
Log in or sign up for Devpost to join the conversation.