カテゴリー
ネットのサービス

Parsnip – 料理サイト+技術ツリー

Parsnip という料理アプリは、料理の作り方を「学習」できる点で他の料理レシピサービスと差別化している、と主張しています。

スマートフォンに入れて使ってみると、料理のレベルを訊かれ、作りたい料理を選ばさせられ、その料理の食材の店頭での選び方や部位の名前、生産方式や輸送方式、保管方法や評判の良い産地、切り方や捨て方、もちろん調理方法も、などなどについてクイズが始まりました。

Parsnipアプリでは食材に関する知識クイズなどを通して料理の学習ができる

料理に必要な知識をクイズに答えて確認しないと先に進めないようで、確かに学習アプリでありただのレシピサイトではありません。答えを間違えた時にも間違いに応じた説明文や写真が出てくるため、一つの料理、それに使われる材料や手法、に問題と解答、解説があるなら大量のコンテンツとなり、あらゆる料理のレシピではなくアプリが提示してきた料理から学びたいものを選ぶ方式だったのは、レシピの数が限定されているのかもしれません。

また、最終的な知りたい「レシピ」はクイズを全部解かないとロックされて出てこないようです。これレシピを見る前に小一時間クイズを解かないといけないのかしら。

料理の技術ツリー

その Parsnip が、まだ実装できてはいないけど現在開発中、と公式ブログで紹介しているのが、いわゆる「技術ツリー」を料理の世界に適用するというアイデア。

技術ツリーの元ネタは名作シミュレーションゲーム「シビライゼーション」ではないかと思われますが、このゲームでプレイヤーは文明を古代から現代・未来まで進化させていく中で、技術を獲得していきます。その時に、「内燃機関と鉄鋼の技術を持っていると自動車を発明できる」「神秘主義と数学を持っていると天文学を獲得できる」と言った風に、ある技術の実現のために必要な前提技術をすべて所有している必要があります。

この必要条件を矢印でつなげ合わせることで、高度で複雑な技術のために必要な前提技術が枝分かれしていき、多数の基本的な技術の組み合わせに分解できる、という図を作れます。これが技術ツリー。

シビライゼーションのオープンソース・クローン Freeciv の技術ツリー (GPL)

そして、ソフトウェアエンジニアが自分のキャリアプランを立てたり、「フルスタックエンジニアになりたい」など多数の分野を知っていないと成れない目標を立てたりする際に何をどういう順番に勉強していくと目標へたどり着けるか、という道程を示すものとして、技術や知識の依存関係が技術ツリーとしてまとめられ、いくつも公開されています。

たとえば、この手の技術ツリーをバックエンド開発者になるためのロードマップなどで見つけることができます。

roadmap.sh では様々なソフトウェア分野の技術ツリーが公開され、オープンソースで作者と貢献者たちによって更新されています。

Parsnip のアイデアはこの要素技術の依存関係のツリーを料理の学習に適用しようというもの。

Parsnip が開発中の料理の「技術ツリー」のグラフ

この例だと、スクランブルエッグを作るには「卵の知識」「コンロの知識」「食材の安全性」の知識が必要で、シュリンプ・タコスを作るには「エビの知識」「エビの調理法」「食材の安全性」の知識が必要。「食材の安全性」はどちらの料理にも必要。ということでしょう。

学びたい料理に対してそれに必要な要素技術が何かが分解されていて、ある技術や知識にはさらにそれらの前提となる技術や知識が必要というツリーになっていれば、目標となる料理に対して何をどんな順番で勉強していけばいいかがわかるわけですね。

あるいは、個別の要素技術をある程度学んだ状態で、「今の自分の調理技術の組み合わせで作れるレシピを検索」とかもできるようになりそうです。

また、現在の Parsnip は料理の種類がサービス提供のものに限定されていますが、料理と必要な技術のツリーが作れれば、自前でレシピデータを全部揃えなくても、外部のレシピに対して(自然言語の解析によって)必要な技術ツリーを作って提案することもできるだろう、と公式ブログでは述べています。

技術ツリーをIT技術の取得以外に使うというアイデアは外国語学習アプリの Duolingo を見て思いついたそうです。他にも技術ツリーの考えを持ち込めるサービスの分野があるかもしれないですね。

Show HN: Parsnip – Duolingo for Cooking | Hacker News

カテゴリー
ゲーム

Regexアドベンチャー – 正規表現で戦うダンジョンRPG

Regex Adventure は、正規表現を解くことで進むことができるゲームアプリです。

[追記 7/4] デモ版がブラウザで遊べるようになっていました。やはりブラウザで遊べると敷居が下がりますね。

Regex Adventure サイトトップ

Windows / Linux / Mac 版が用意されているアプリは、レベル8 まで遊べる無料のデモ版と、追加で20面以上のレベルを含んだ$6.99(660円) の有料版がダウンロード可能です。

Regexアドベンチャー チュートリアル面

デモ版で遊んでみました。各レベルの目的は迷宮のゴールを目指す事。カーソルキーで上下左右に移動し、接敵したら Enter キーで戦闘モードに入ります。

攻撃は敵モンスターの名前に対して、マッチする正規表現を入力することで行われます。ただし、正規表現として入力できる記号は大きく制限されています。ダンジョンの途中で紫色のオーブを拾うことで使える記号が増えることもあります。

例えば、”ant” という名前の敵を倒すのに”.”と”a”のオーブだけを持っていれば、”…”とか”a..”といった入力でなければ相手にダメージを与えることができません。

戦闘の様子

複数の敵と接敵した場合、それらに共通する正規表現を作ることができれば、複数攻撃となります。複数攻撃しないと、生き残った敵の反撃をうけてしまいます。

また、敵の近くに味方が配置されている場合、味方の名前も該当してしまうような正規表現で攻撃すると、味方に流れ弾が当たってしまいます。

味方を攻撃せずに相手にだけダメージを与えるには

流れ弾を当てないように、手持ちのオーブを使って正規表現を組み立てなければならず、レベルを上げていくごとに新しい正規表現の使い方を増やしていけないと、勝つのが難しくなっていくというわけです。

via reddit/programming

関連

RegexOne – 正規表現を段階的に学べるインタラクティブ・チュートリアル

カテゴリー
英語学習

WaitChatter チャットの待ち時間に外国語の単語を覚えさせるMITの研究

WaitChatter は、ネットのメッセージサービスで相手の返答が無いなどの待ち時間を活用して、英単語などを覚えようという実験と、そのツールです。

チャット画面で、[Alt]+J を押すか下の部分をクリックすると、

英語-スペイン語の単語の組が示されます。(スペイン語はデフォルトがそうだったので。フランス語に切り替えることもできます)

その単語を「知ってたか」「知らなかったか」尋ねられるので、どちらか答えます。いくつかの閲覧が終わると、こんどはクイズのモードになり、

スペイン語に対する英語、または英語に対するスペイン語、を答えさせられます。「知らなかった」と答えた単語に関して何度か正しい回答をすると、

「この単語を覚えました」というメッセージがでます。

Chrome拡張のボタンを押すと、上のようにこれまでの学習の経過を見ることができます。

Chrome拡張機能は、Googleトーク 内でWaitChatter を動かすようになっていて、Gmail 内のチャットが Google Hangout に切り替わってる人は、Googleトークに戻さないと試すことができません。

切り替えても、こんなメッセージが出てきてしまうのですけれど。

GoogleトークにChrome拡張という組み合わせ、メジャーでもないしもうすぐ使えなくなってしまうようですが、実験としては組み込み安かったチャットサービスなのでしょうね。今は、メッセージの送信時にサードパーティーのソフトウェアに入出力を扱わせてくれるメッセージサービスもあまりないかもしれませんが、研究の結果学習の効果がある、ということになれば、相手の返信を待つ間に細切れに学習や仕事をする、みたいなのが普及したりするのかもしれません。

MITのデモ動画では、WiFiの接続待ちやアプリのデータ読み込み待ち、メールの(自動応答で返事が来ることがわかっている時とかの)返事待ち、に、単語クイズを1問2問できる、ような例を出しています。

待ち時間のあるツールやアプリで何といっても有効なのは広告でしょうけど、広告を見せる代わりに勉強させるような機能をつけることで、既存のツールがちょっと違う差別化できるという場合もでるのかも。