アプリの概要と作成 私がこのプロジェクトに参加するよう最初に

アプリの概要と作成
私がこのプロジェクトに参加するよう最初に連絡を受けたのは、今から 2 ヶ月ぐらい前のことです。私が設
計と作成を手伝うように頼まれたアプリは、ユーザーの個人的な好みを基に、そのユーザーがロンドンのどの
地区に住むのが理想的であるかを割り出してくれるアプリです。つまり、このアプリでは、ユーザーが何を重
視するかを考慮できなければなりません。それは例えば、住宅の価格であったり、学校に関することであった
り、その地区でどれだけのことが現在進められているのかいったことであったりします。その上で、ユーザーの
意思決定を支援できるようでなければなりません。つまり、ユーザーにとってどの区が住むのに最も適してい
るかを示すとともに、ユーザーが自分の意思決定を納得できるよう、意思決定に至った過程に関する少し
詳しい情報を提供する必要があります。一部の情報だけを基に「これが正解です」とユーザーに伝えるので
はなく、ユーザーの意思決定をより確かなものにする上で有用な情報を提供しなければならないのです。
プロジェクト・チームは、このようなアプリを約 4 日で作成したいと考えていました。アプリを 4 日で作成す
るにはこなさなければならない課題がいくつもあります。最初にツールを用意してセットアップする、データを
編成する、すべての機能を動作させるなど、それらは通常であれば、少し時間がかかる作業です。けれど
も私たちは話し合いによって、Bluemix を使ってこのアプリを作成することに決めました。そうすれば、極め
て短い時間でアプリを完成できると期待したからですが、その通りになりました。
最初のステップとなるのは、当然、人々が求めていることをすべて考慮して、実際にアプリを作成し始めるた
めに何を使うか、どのようなツールを使用できるのか、どのようなものがあれば役に立つかについて答えを出
すことです。私にとっての最初のステップは、Bluemix にアクセスして、そこに何が用意されているのかを調
べることでした。というのも、私は経験を積んだ優秀な開発者ではありませんが、Bluemix を調べて、そこ
に何が用意されているのかを見ると、例えば、特定の作業に適したツールがどれなのかとか、どのツールが
何を行えるのかといったことがごく簡単にわかるからです。極めて短い時間で、Bluemix に用意されている
いくつかのツールを使用することに決まりました。そのうちの 1 つは、Node‐RED Starter というパッケージ
名のボイラープレートです。この素晴らしく有用なツールは、IBM 社内で作成されたものですが、今ではオ
ープンソースになっていて、誰でも使えるように Bluemix に組み込まれています。このツールを利用するに
は、Bluemix にアクセスして Node‐RED Starter のインスタンスを作成します。すると、このインスタンス
によって、各種のサービスを結びつけるためのグラフィカル・インターフェースが提供されるといった具合です。
この Node-RED はインターネットに関係するもの同士を結びつけるためのビジュアル・ツールとされていま
すが、バックエンド・サービスをはじめ、Web サービス、API など、必要なものを極めて短い時間で結びつ
けることができます。こうしたことから、私は Node-RED を、すべてのものを 1 つに結びつける目的で、最
初に使用することにしました。
次に、これとは別に、データを保管するための何かしらのものが必要になりました。保管するのは、さまざまな
区に関するデータや、住宅の価格に関するデータ、等々です。私たちが必要としたのは、これらのデータを
書き込んで、保管し、必要なときに読み出し、更新も行うという、すべての操作を行う場所であり、こうした
操作を 1 ヶ所で行えるようにしておくことで、チームの私以外の開発者がそこにアクセスして、保管されて
いるデータを変更することができます。例えば、住む地区の候補として、マンチェスターやエディンバラを調べ
られるようにしたければ、関連するデータを抽出し、新たな地区のデータとして保管場所に追加するだけで、
すぐに調べられるようになります。こうした目的でデータを保管するためのデータベースとして、私は
Cloudant を使用することにしました。
これらとは別に、アプリ全体の中で間違いなく最も重要なのが、実際に意思決定を支援するために何を利
用するか、システム全体を支える中枢になるのが何であるかといったことです。この中枢は、ユーザーが何を
重視しているかに基づいてデータを取り出して分析する、実に重要な部分です。この中枢機能には、2 つ
の異なる Watson API を組み合わせて使用することにしました。Tradeoff Analytics は、間違いなく最
も重要な部分であり、このパズル全体のコアとして住む地区のさまざまな候補を取り込みます。この例で言
うと、その候補としては、カムデン、ハックニー、シティ・オブ・ロンドンなどがあります。Tradeoff Analytics は、
ユーザーが重視する要素も、複数の異なるパラメーターとして取り込みます。取り込む要素としては、例え
ば住宅の価格、学校に関すること等々、あらゆる判断基準が挙げられます。Tradeoff Analytics は、バ
ックグラウンドで極めて高度な処理を行い、いくつかの最適な候補をユーザーに返します。これらは通常、ユ
ーザーが重視する要素を基に選ばれた候補であり、他の区に比べるとそのユーザーが住むのに遥かに適し
た区の候補になっています。しかし前にも言ったように、これらの候補は「ここが間違いなく、あなたが住むの
にふさわしい地区です」と言える完結したものではなく、「これが、あなたが意思決定を下すのに役立つ追
加の情報です」とだけ言えるようなものです。
私たちが利用したもう 1 つの Watson API は、Alchemy API です。この API に統合されているニュ
ース API を利用すると、アプリを使用しているユーザーに、どこに住むべきか答えを見つけるための追加情
報が提供されます。この API は、例えば候補となっている区に関する最新のニュースや、その区の近くで
起こった最新のニュースなど、数多くのニュースのヘッドラインをユーザーに送り返し、「XYZ についてこんな
話題があった」と伝えることで、ユーザーが行う意思決定をより確かなものにします。