オリンピック選手のトレーニングを一般に – Athletes’ Performance –

ロンドンオリンピックも終わり、一時の狂騒も、銀座でのメダリストパレードでようやく一区切りつきました。私はそれほど頑張って見ていたわけではありませんが、特に女子バレーの中国戦。第5セット(^^;)から見た私はそれまでのセットのスコアを見て驚きました。スコアがすべてを語っていたというか…。

ところで、最近のスポーツ界というのは、ITなしでは考えられないようになっていますね。試合などコートの外でもデータ戦と言えるようなバトルが繰り広げられています。

DBオンライン的ロンドンオリンピック評―過去最高メダル獲得数を支えた、さまざまなデータ活用

フィットネスまたアスリートの練習・トレーニングは、最新の科学的見地から、一昔前には考えられなかったような方法が取り入れられていたり、全くノウハウのかたまりといった感がありますね。

スポーツ、未開の大陸

なんていう連載を見ると、ICTの対象としてスポーツ分野は結構これからの分野かも…というわけで、今回も事例を…

IBMのJRulesを用いてアスリート向けのトレーニングプログラムノウハウをルール化し、一般向けにもスケールアウト(スケールアップ?)した話。

BRMSというと、日本だと金融・保険関係の話が多くて…確かに事例は多いのは事実なんだが…何だかなあと思っていたら…IBM JRulesのサクセスストーリーとして、Athletes’ Performance 社の事例を見つけました。

Athletes’ Performance社

米国アリゾナ州フェニックスを本拠とするAthletes’ Performance社は、プロフェッショナルなアスリートや選抜されたアスリート向けに独自の総合的なアプローチで運動機能トレーニング、栄養、理学療法を提供しているパイオニアの企業であり、またこれらのノウハウを一般向けにも提供している。アリゾナ、カリフォルニア、フロリダ、テキサスにトレーニング施設を持つほか、これらメニューのオンサイトでのサービスも行っているとのこと。

ビジネスの要求:
現在、スプレッドシートに散在している専門ノウハウや、行動科学、フィットネス、栄養、理学療法それぞれの第一人者の知識を コストをかけずにコード化・自動化することで、パーソナライズされたフィットネス・プログラム製品を、より大きな健康増進(wellness)のマーケットに投入していきたい。

ソリューション:
IBMのBRMS WebSphere ILOG JRules を用いて、トレーニングや栄養ノウハウをルール化し、個々の顧客に合わせてカスタマイズされた健康増進のためのプログラムを提供する。

結果:
・顧客の定着率が92%にものぼるようになった。
・1人のトレーニングスペシャリストが一度に16人の顧客を相手にできるようになった。
・長年の経験がより多くの人々に提供できるようになった。

もともと Athletes’ Performance 社は、プロフェッショナルやオリンピック級のアスリートにハイレベルな支援を行っていた企業ですが(たとえば、今シーズン、サッカーの英国プレミアリーグのエバートン(←開幕戦で香川のいるマンUと戦いましたね)をサポートしているとのこと)、このハイレベルなトレーニングノウハウを一般向けに普及させ、アマチュアのアスリートたちのマーケットに参入していこうとしたもの。

当然のことながら、そのためには、すでに世間で評価を得ているハイクオリティなトレーニングノウハウを、レベルを落とさずに幅広い層にスケールさせていくことが必要になってきます。そしてトレーニングスペシャリストの数が限られている中、これは既存のトレーニングプログラムの多くは自動化していかなければならないことを意味しています。

この自動化に際して選択されたのが、ルールベースによるアプローチ。専門家たちの高度なノウハウを、ビジネスルールの形式で表現して実装するために IBMのBRMSであるIBM WebSphere ILOG JRules が選択されました。

JRulesによるシステムを配備したことで、すべてのトレーニングメニューの「おすすめ」が直ちに、エクササイズマシンのタッチスクリーンや、モバイル端末、Webを通してアクセスすることができるようになりました。現在、社内のフィットネス専門家により過去編み出されExcelのスプレッドシートに蓄積されてきた知識、経験から、抽出された36000ものルールがJRulesのシステムに実装されています。

この JRules によるシステムは、オープンソースベースの SOA/REST の基盤にのっており、ルールの修正反映・デプロイを迅速に行うことができます。日々の評価から、ひとりひとりの顧客の情報を収集し、会社独自の方法論、コア・パフォーマンス・トレーニングメソッド(Core Performance training methodology) に照らし合わせて、それぞれカスタマイズされたプログラムを作成します。この コア・パフォーマンス処方箋エンジン(Core Performance Prescription Engine – CPPE -) は、身体の状態やペース、スケジュールを考慮に入れ実際のトレーニング方法に対してリアルタイムで修正をかけます。

また、このシステムによって、フィットネス・スタッフが常時トレーニング情報に磨きをかけていくことが可能となりました。一人のITスタッフの支援のもと、専門のトレーナーたちのチームがルールの修正をすばやく行い、その結果をただちに世界中の顧客に向けて展開することができるようになりました。

このCPPEは最適で一貫した身体トレーニングを世界中にリアルタイムで届けることのできる世界で最初のルールベースのシステムであり、またこのことにより顧客は、Athletes’ Performance 社のどの施設でも同じ、高品質で一貫したサービスが受けられるようになりました。

また、通常フィットネスクラブの顧客定着率は年間で60%程度を行ったり来たりしているものなのですが、Athletes’ Performance 社は、何と年間で92%を誇るようになっています。

さらに、このシステムにより健康増進(wellness)のガイダンスが自動化されたことで、一人のトレーナーがクオリティを落とさずに一度に16人までの顧客に対応できるようになりました。

以上、見てきてみると最近の保険などでの事例とくらべ、何というか…オーソドックスなエキスパートシステム…的な…事例です。

このシステムがうまくいっているというのは、私の想像するに

・ルールの数は多いが、それぞれのルールは単純であり(たとえば脈拍が○○以上だからちょっとペースダウン云々?) 、他のルールに長く連鎖して動く(条件が○○だからゆえに××、××だからゆえに△△、△△だから結果□□…など)部分がない。

→したがって、ひとつひとつのルールが独立していて修正変更がしやすい。

・さまざまなケースで同じルールが適用できる。

→したがって、ルールの適用できる部分については自動で処理でき、人間の専門家は、ルールに当てはまらない例外的なケースへの対応に集中できる。機械的に対応できる部分を自動化されたルールに任せることで、いわばレバレッジの効果が生まれてくる。

・現場を知っているトレーナー自身でルールを変更できる仕組みを作った。

→ルールによって自動化ができると言っても、ルールそのものが最適な結果を導いているかは今までの経験や理論以上の保証がない。したがって、その結果はサンプリングするなりして常にルールに磨きをかけていく必要があります。その際、ITの専門家を通していると変更のスピードが落ちるだけでなく、仕様の伝達ミスなども発生しかねず、いろいろな意味で変更のコストが大きくなってきます。現場の専門家自身が変更できるようになり変更がより容易に行えるようになります。

さて、こんな事例が出てくるようになると、センサーデータを駆使してリアルでアドバイスをするようなCEPを使った事例などでてきそうな気もしますね。CEPではないですが、

などの事例も出てきています。
ヘルスケアなどは今後伸びていく分野だと言われています。そしてそのヘルスケアにBRMSが活用されてきています…ちょっとおもしろいと思いませんか。

FICO:住宅ローン審査システム

日経コンピュータにBRMSの記事が載ったおかげか、BRMSへの注目度も高くなってまいりました。当の記事には、日本のほかに韓国の事例が載っておりましたが、世界に目を向ければ特にサムスンだけが進んでいるわけではなく、さまざまな企業・団体が導入していることがわかります。たとえば、IBMの事例集など

Client Success Stories (WebSphere ILOG JRules)

を見てみても、ここ数年オープンになる事例の数が急に増えてきていて、業種も金融・保険関係だけでなく物流、ヘルスケア、小売・流通、公的機関などなどさまざまにわたるようになってきています。

というわけで、事例については以前にも折に触れ紹介していましたが、今後、前にもましてBRMSの事例を充実させていこうと考えております。で、その最初ということでFICOのBlazeAdvisorの事例を。

以前の記事で、FICOのBlaze Advisorの紹介をしましたが、何といってもやはりBRMSの老舗だけあって、実績についてはIBMのJRules(Websphere Operational Decision Management)と並ぶものがあります。

このBlaze Advisor 、エキスパートシステム構築ツールであるNeuron Data社のNexpert を源流にもち、買収などの紆余曲折を経て今ではFICOスコアで有名なフェアアイザックの製品となっています。このフェアアイザックが持っているだけあって、金融・クレジットカード関係に強く、日本国内でも金融関連を中心に50社程度の顧客を有しているようです。

(ちなみにFICOスコアについては、
FICOスコア
クレジットスコアを知っていますか?
とか、Googleで「FICOスコア」などと検索してみるとたくさんでてきます。)

さて、事例ということで、まずはちょっと古く 6~7年くらい前の事例になりますが、日本の地方銀行の住宅ローン審査システムをとりあげてみます。Blaze Advisorにより、ローンの承認/不承認や保証料率の決定を行うものです。

背景:
当地方銀行は、貸し倒れのリスクを回避するために住宅ローンの審査が厳格であり、さらに審査の回答に時間がかかっていた。そのためハウスメーカーからの案件持込み件数も減少していた。

ソリューション:
・リスクを計量化するためのスコアリングモデルを導入することで、適切な審査基準を設定。案件承認率を向上させる。
・Blaze Advisor により意思決定を自動化し、審査処理のスピードを向上させる。

結果:
・問題のない案件であれば、最短1時間程度で審査結果を回答
・案件承認率は80%から90%にアップ
・ハウスメーカーからの持込案件が大幅増大(件数4倍、金額5倍)
・住宅ローン獲得額はシステム導入後のH16年度下半期で対前年比34%増

ということ。

実際、こういった人間が行っている住宅ローンの「審査」などは、年収、年齢、個人の信用情報、担保評価額等々などから機械的に判断できる部分も多く、こういった意思決定を自動化するのはBRMSのもっとも得意とするところです。機械的な判断そのものは通常のプログラムで書くことも可能なのですが、BRMSによれば、実装されたビジネスルールからその元になっている個々の審査基準(のドキュメント)へのトレースが非常に容易になり、また審査基準の変更に追随した実装ルールの変更も容易になります。

上の事例は少々古いので、現在の状況までフォローはできていないのですが、今流行のデシジョンマネージメントという立場でさらに発展形を考えてみると、

・貸し倒れ率、案件承認率などの指標を統計的に解析して審査基準を修正してみる。
・新たな審査基準と今までの審査データを用いて結果をシミュレーションしてみる。
・上記の結果をうけて新たな審査基準を実地に適用する。

といったことも出てくるかと。実際、欧米などの状況を見てみると時代はこういった方向に向かっているようですが。

JBoss BRMS で顧客管理システム

日経コンピュータのレポートに、こんな記事がありました。

北陸コカ・コーラが顧客管理システムを刷新 - オープンソースのBRMSで投資3割減

北陸コカコーラの顧客管理システムの刷新にJBossのBRMSが採用されているそうです。記事によれば

「JBoss BRMSはシステムに組み込みたい業務プロセスのルールをフロー図上で作成でき、開発時のプログラミング作業を極力なくすことができる。保守も容易だ。組織変更で承認フローが変わっても、グラフィカルな画面でルールの定義を変更すれば済む。」

ということですが、これを見るといわゆるデシジョンとしてのルールというよりも、プロセスのフローのルールをハンドリングするためにJBossのBRMSが使われているようです。・・・ってことはむしろBPM(jBPM)の話に近い気もしますが、ともあれJBossのBRMSが使われているということでご紹介。

金融事務へのルールエンジンの適用

最近は、日本でも保険関連でルールエンジンが使われ始めているのはうれしい限り。いくつかのプロジェクトは公の雑誌記事やセミナーの事例題材にも取り上げられています。そのうちのひとつが東京海上日動システムズの401kの事務処理のシステム。BRMSとしてはCorticonを用いて実現しています。

複雑な金融事務を“ルールエンジン”で処理 文書イメージのワークフローで効率化も達成【東京海上日動システムズ】

Drools Fusion (Complex Event Processing)

今年の初め、東証の株式売買の新取引システム「アローヘッド」が稼動しました。今までとは桁違いの高速な処理が売りのようで、人間のディーラーやデイトレーダーは大変だとか。アルゴリズム取引もよりリアルタイム度が増していくのでしょうね。

さて、表題にあげたComplex Event Processing ・・・CEP (ちなみにDrools Fusionは、DroolsのうちのCEPの機能を持ったモジュールの名称) は、金融セクターなどで注目・採用されているリアルタイムで大量のデータを処理する技術。現在のシステムではデータはデータベースに保存した後処理されるのが普通ですが、CEPでは、流れてくるデータを直接処理して結果を導き出します。たとえば、銀行の預金のトランザクションは日に何万件と出てくるわけですが、その中から不正な引き出しを検出したりするのはCEPの得意分野かと。

「短期間に通常より大きな額の引き出しが複数回あったら、警告を投げる」といったような不正検出ルールをCEPシステムに実装しておくと、そのシステムに預金トランザクションデータのストリームを流せば、不正検出ルールのパターンに合ったデータに対して片っ端から警告を投げていく・・・というもの。

なんとなく、アルゴリズム取引とか、クレジットカード取引の不正検出とか・・・使えそうですね。

CEPはこのように金融セクターなどのほか、情報通信の分野などで使われてきました。Drools FusionはCEPの実装としてはかなり新しいので実績はそれほど多くないのですが、それでもたとえばFedExのシステムなどは有名な実例といえるでしょう。

さて今日は、Drools Fusionの実例をまたひとつ見つけました。Plug Tree という アメリカ・フロリダとアルゼンチンにオフィスを構えているDroolsのコンサルティング会社が行った比較的大規模な健康管理組合(Health care Management Organization)の不正検出システムの例です。

(ここであげた健康管理組合とは、単純な生命保険のしくみだけではなくて、医療関係者(provider)のネットワークを中に抱えて一次的な(家庭医のような)健康管理の仕組みや、さらにより高度な医療が必要になった場合には専門医を紹介するなどトータルな健康管理を提供する組織のようです)

この健康管理組合は、ラテンアメリカ全域を対象とし、4000人以上の従業員、1000億円超の収入、100万人以上の加入者と30000人以上の医療従事者を抱えた大規模な健康管理組合です。

さて、そこでの問題は不正な医療費の請求の問題。この組織ではおよそ75000件/日のオンライントランザクションがありますが、データのサンプリング調査によってその5%が不正であることが分かっています。これは1年間分として金額換算にすると約5000万円の損失となります。

組織のトップはこの5%を1%におさえようと、今までのような手作業でのサンプリングでの不正検出ではなく、この不正の検出を(多少の手作業での調査は残るにせよ)原則オートメーション化する方針をうちたてました。

→不正検出をするためのルールというのは具体的にはすこししか書いてありませんでしたが、トランザクションを流して片っ端からチェックしていくというのは、まさにCEPの得意とするところでしょう。

この不正検出システムのアーキテクチャは以下のとおり
・トランザクションサーバ(AS/400)
すべてのオンラインリクエストをこのトランザクションサーバに集中させ、ESBにトランザクションに対するXMLリクエストを投げ、返ってきたOK/FAILステータスコードにしたがって、当該トランザクションを許可してもよいか、拒否すべきかを選択する。

・ESBとしてはApache ServiceMix と Apache ActiveMQ を用いている

・Drools Server (Drools 5 instance) は JBoss AS 5上で動かし、Guvnor やGuided Editorも使用

・これらのサーバは、高可用性・スケーラビリティを保障するためにクラスタシステムの上にのっかっている。たとえば、仮にこのシステムが止まると1分あたり何千ドルもの損失を組織に与えることになる。

なお、このプロジェクトでは5つの発見ルールを作りました。たとえば「同じ加入者から2つのほとんど同じトランザクションが短期間のうちに発生した場合には不正の可能性がある」とされます。

さて、5ヶ月後プロジェクトは予算超過や期間超過もなく成功裡に終わりました。最初は10のサービスプロバイダで始めそれを2ヶ月で横展開していきました。現在は実用に供する段階に入ったとともに新たな不正ケースに対してのルールを追加・洗練させることに力が注がれています。当初5%あった不正比率は現在3%に低下しています。今後はルールを追加・洗練させることにより、これをさらに当初の目標の1%へと近づけようとしています。

→以上、詳細については原文を参照することとして、最近海外ではDroolsを用いた実用例が着実に増えてきているようです。

→ちなみにエイプリルフール用の記事ではないので念のため。

福祉サービスの給付判断、申請書類管理にIlog JRules (スペイン)

ちょっと前になってしまいましたが、以下のプレスリリースがありました。

スペインのカスティーリャ・イ・レオン自治州政府が、IBM ILOG JRulesを利用して福祉サービス業務を省力化
新法で制定された福祉サービスの給付判断と申請書類の管理をIBM ILOG JRulesが支援
http://www.ilog.co.jp/about/pressrelease/20090416.html

日本だと、介護保険の給付や申請業務に適用するというところでしょうか。

日程くん

サッカーのJリーグももう大詰めとなってまいりました(サッカーに興味がない方にはどうでもいい話ですが・・・)。今現在上位5チームが勝ち点3の間にいて混戦模様ですね。

さて、このJリーグの年間対戦スケジュールを作成したのが表題の「日程くん」(「日程くん」でググるとたくさん出てきます)。これのベースとなったパッケージは、あのアイログの制約論理のプログラミングツールだそうです(ルールエンジンとはちょっと違いますが・・・)。

J リーグがアイログの最適化技術で対戦スケジュールの割り当て業務を効率化(プレスリリース)

今年春の話題で恐縮ですが、何で思い出したかというと、Drools 5の中に、Drools Solverというのを発見したからなのですね。ソルバーと言えば、何らかのスケジューリングをするときに必要な制約を書いて(最)適解を求めるツール。上の日程くんも一種のソルバーです。生産計画やSCMなどでもよく使われるようになり(特にコンピュータの性能が飛躍的にあがってきたここ何年か)、ずいぶん一般化してきました。

前々から制約論理系のオープンソースツールはあったのですが、今回Droolsの1モジュールとしてSolverが入ったことで、ちょっとまた試してみようかという気になっています。まあ、ソフトウェアとしてまだ安定していないようですがね。

JESSルールエンジン

JESSと言えばJavaによるルールエンジンの草分けであり、もっとも有名なうちの一つでしょう。今でもバリバリの現役・・・???
と思って先日ネットを調べていたらこんなニュースリリースがありました。

JESSがUSA海軍の次期ミサイル駆逐艦に採用される。

どうも、次期ミサイル駆逐艦の制御や警報装置などに組み込まれるようです。

JESSは、CLIPS(CLIPS超入門も参照)のシンタックスを受け継いだLispライクな言語を持つルールベースエンジン。Javaが生まれて間もないころすでに最初の版が存在していた歴史ある言語です。個人的には、Lispライクなシンタックス(→実はJava風のシンタックスよりも好き)を持っており、Javaともうまくインターフェースがとれているので結構好きなのですが、ライセンスがCLIPSやDroolsと比べるとオープンでなくなかなかちょっと試す以上のことまではできていません。

ところで、JESSは歴史のあるルールエンジンだけあって、JESS IN ACTIONというちゃんとした成書があります。この本にはJESSの入門から比較的まとまったJESSアプリケーションプログラムのことまでが記載されており、(JESSによる)ルールベースを本できちんと学びたいという方にはこの本はなかなかよいのではないかとおもいます。(その点Droolsは、若くて発展途上なのできちんとした本がありません。実はアマゾンで1冊だけ”Pro Drools・・・”という洋書を見つけたのですが、発売後すぐ品切れになってしまいました。)

JESS IN ACTIONは今、ちょっとamazonで調べたところ品切れになっているようですね。