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

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

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

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

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

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

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

料理の技術ツリー

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Show HN: Parsnip – Duolingo for Cooking | Hacker News

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

Phonetic Bad Word Filter – 読むと不適切に聴こえる文章をフィルタしてくれるAPI

Phonetic Bad Word Filter API は、字面では一見問題なさそうに見えるが、声に出して読み上げるとヤバイ単語に聴こえてしまう文章や、スペルをわざと間違えることでテキスト合致によるフィルタをすり抜けようとする侮辱語などを発見してブロックするための API です。

API は RapidAPI のサービスで提供されていて、無料枠の利用でもクレジットカードの登録が必要です。

APIの呼び出しサンプルでは、実際のヘイトな単語を使うわけにはいかないので “car” という単語がまずい単語だと見立てて、”kar” という似たような発音になる綴りで置き換えても”car”を検知できますよ、というものになっています。

実際にはここに、いわゆるNワードなどを検知するように指定するということですね。

APIの使い道

APIの作者はもともと、Talking Banana(話すバナナ)というアイデアで、バナナの形の人形に YouTube や Twitch での中継中に視聴者のコメントを自動読み上げさせていたようです。

しかし、入力した結果が大勢の人に見られているライブ動画ですぐ読み上げられるとなると、出てくるのがイタズラ。特に侮辱後や人種差別にあたる言葉をわざと打ち込むというイタズラが登場してしまいました。

ヘイトスピーチにあたるような単語をブラックリスト登録することで、元の文に問題のある単語が直接含まれている場合は読み上げがされないよう対処できたのですが、イタズラする方に「機械に喋らせたら、問題のある単語に聴こえるような別の単語の組み合わせ」を入れてくる人が現れたんだそう。

単語一つだけでも、機械に合成させたら禁止ワードに聴こえる組み合わせをリスト化するのは大変そうです。さらに、単語単位での置き換えではなく、ひとつながりの複数の単語の並びの中に、喋ってみたら禁止ワードが聴こえてしまう、というようなものについて、事前にブロックリストを作るのはかなり難しいことでしょう。

喋らせてみたらまずいかも、という入力を実際に合成させた音をチェックさせるというアイデア、誤検出もありそうには思いますが前記のような用途であれば、ファンの入れた単語が間違って読み上げられなくてもそこまで大きな問題ではないのでしょう。

ユーザー入力をそのまま使うサービスというのは攻撃の対象になりやすいもので、できれば作らない方が楽だとは思います。しかし参加者のフィードバックが表示されることの価値も多いんでしょうね。今回の話は、技術と工夫で一旦はイタズラに勝った、という話で、いつもこういう勝ち筋があるといいのですが。

via reddit

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

Felt – 地図を作製・共有するためのWebサービス

from Felt Media Kit
Feltブランドロゴ

Felt は、ブラウザ上でオリジナルの地図を作成することができるサービスです。

線を引いたり、マーカーを置いたり、画像や動画を地図上に貼り付けたりという編集機能がブラウザで提供されています。

作成した地図はURLで共有したり、自分のサイトに埋め込んで表示したりできます。

上は以前から考えていた地図ネタ。地下鉄に乗らなくても地下鉄の通路を歩いて長距離行けるところがあるのでは? と思って作った「ぼくの考えた傘の要らない最長地下道ルート」。

隣の駅まで地下道でつながっている駅が結構あるので、地下鉄に乗らずに何駅分も歩けそうだな、と思ってたのを地図に描いてみました。

Feltで地図を作成している様子

なお、Felt社が全部作ってるわけではなく、地図はMapboxOpenStreetMapを利用して作られているようです。

Feltが提供するレイヤーという形で、道路・鉄道・航路・自転車道、州境や自治体・選挙区・学区・郵便区・タイムゾーン、洪水・森林・山火事、学校・公園・発電所・国立公園、など様々なデータをプロットした地図が提供されており、これらを簡単に重ね合わせて使うことができるようです。

レイヤー選択画面 from Felt Media Kit

「地震」と「火山」のレイヤーを使って日本で地震が起こりやすいことを説明する地図、を作った人もいるようです。

現在は個人での利用が無料、将来的にはチーム向けの有料プランを準備しているということ。

via Hacker News