FileMaker、Watsonと出会う

FileMaker 16でのJSONへの対応によって、FileMakerの応用範囲は無限に広がりました。その一つの例として、今回はColibri SolutionsのJ. SciarraさんによるIBM Watsonとの連携に関する記事を紹介します。
なおWatsonとの接続の具体的な設定手順については、p388cellさんこちらの記事が詳しいです。


Colibri Solutions

FileMaker Meet Watson

(元記事はこちら)

J. Sciarra
2017/6/2

FileMaker 16が登場し、新しい機能としてネイティブにWebサービスとやりとりするためのツールや、FileMaker自体をWebサービス/REST APIとして公開する機能が強化されました。これまで長い間FileMakerを使って外部のAPIと通信をしてきましたし、その間にSOAP/XMLがREST/JSONに置き換えられるのを見てきました。FileMaker開発者は今までも、プラグインと「URLから挿入」を使ってWebサービスとセキュアに通信ができました。では、ネイティブなツールを使えるようになることの何がそんなにすばらしいのでしょうか?

第一に、ネイティブツールはサードパーティにからむメンテナンスやバージョン互換性などの問題を排除してくれますし、一般的にはスクリプティングの方法論により沿った形で書くことができます。さらに重要な点として、私たちは今インターネットの新しい段階に入りつつあり、そこはウェブ開発の共通言語としてJavaScriptとJSONに支配されています。

FileMakerプラットフォームはこのトレンドに適応すべく、急速に変化するソフトウェア開発の分野で、競争力を維持するツールを開発者に提供してくれました。「URLからの挿入」とcURLを使用してREST APIとネイティブに通信することができ、返された結果のJSONを解析できるようになりました。また、リクエストの一部としてJSON形式のデータを生成することもできます。

実際面では、これは、外部に存在するすべてのAPIが身近なものとなり、より簡単に利用できることを意味します。あなたがもしこの現状がよくわからないという場合は、 ProgrammableWebを見てみるのがいいでしょう 。

やりとりしたり消費したりできるWebサービスの数は驚異的なレベルに達しています。ポイントは、FileMaker(やその他の環境)でアプリケーションを開発する方法が変わるかもしれない変曲点に近づいているということです。

もう一つの現在のトレンドは、AI・機械学習・エキスパートシステムの成熟です 。今まで非常に長い間、AIへの期待は、実際に提供できるものよりもずっと大きいものでした。従来は巨大なコンピューティングリソースを必要とし、AIとエキスパートシステムとのやりとりの手段はほとんどの開発者の手の届かないものでした。

私は何年もこのエコシステムをウォッチしてきましたが、今が手を出してみるには絶好の時期だと感じています。ここで「AI」という場合に、実際には2種類のシステムがあります。一つ目はニューラルネットワークで、人間の脳のニューロンの働きを模倣するプログラムを使用しています。テストデータを使用して、ネットワークへのフィードバックによってシステムに「学習」させ、それぞれの繋がりに強弱をつけます。ニューラルネットが実際のシステムで利用できるという事実は驚異的です。一つの良い例はGoogleのTensorflowで、APIとしても利用可能です。

IBMのWatson

  AIへのもう一つのアプローチはエキスパートシステムで、IBMはこれらのサービスに大きく投資して、メインフレーム事業から未来への架け橋を提供しています。ご存じのようにIBMのDeep BlueとWatsonはチェス王者決定戦と米国のクイズ番組「Jeopardy」で人間に勝利したエキスパートシステムです。このシステムは、ニューラルネットの定義でいうと厳密にはAIではありません。ある特定領域に合ったツールを使って網羅的に問い合わせをすることで、特殊専門領域の知識体系を構築したものです。IBMは現在、医療および法律分野の実務に対応するための、ハイエンドのエキスパートシステム用ツールを提供しています。より一般向けなものとして、IBMは一連の「スマート」サービスWatson Developer CloudをBluemixクラウドプラットフォームを通じて提供しています。現在は、言語、音声、画像、データ理解の4つのカテゴリがあります。

デモ用のFileMaker 16ファイルTone Analyzer(感情分析)をダウンロード用に準備しました。入力テキストを見て、そのテキストの感情的な内容を説明するデータを返します。サンプルファイルではGetメソッドを使用しますが、Postを使用することもできます。Watsonにリクエストを送信し、返されたJSONを解析してFileMakerテーブルに格納し、それをグラフ表示します。

(我々は言語翻訳APIも実験してみました。画像認識APIには学習用に複数の画像が必要です。)

URLの構造を正しく設定することが、Watsonサービスを統合する上での最大の課題でした。Todd GeistのGeneratorツールが、いくつかの問題で私をスピードアップさせる大きな助けとなりました。一度コツをつかんでしまえば、JSONを合理的に解析するスクリプトルーチンを作るのは比較的簡単でした。FileMaker 16と改良されたデータビューアの素晴らしい点は、ネイティブツールを使用して簡単にJSONを投げてその結果のアクションを確認することによって、フィードバックを簡単に取得でき解析手法を検討できることです。私の考えでは、JSONはXMLと非常によく似ていますが、読みやすく、解析するのがより簡単です。

サンプルファイルTone Analyzer.fmp12をダウンロードしてください。

これによって何が手に入るのでしょうか? 簡単に言えば、非常に強力なAI/エキスパートシステムAPIと、それらと簡単にやりとりできるFileMakerの機能が、新しいダイナミズムを作り出して、FileMakerカスタムAppではかつてはとても手が届かなかったビジネスや創造的洞察を顧客に提供できるようになったのです。これらのサービスは、コンピューティングパワーを、競争の激しい環境でビジネスに訴求する(無料ではないものの)手頃な価格の消費者向け商品に変換しつつあります。

追加の推薦図書: ここのところ読んでいるこの本に私は魅せられ続けています。一般にはほとんど知られていないか理解されていないコンピューティングの歴史について書かれています。強くお勧めします。

The Dream Machine: J. C. R. Licklider and the Revolution That Made Computing Personal

Leave a Reply