まだプログラマーですが何か?

プログラマーネタ中心。たまに作成したウェブサービス関連の話も https://twitter.com/dotnsf

タグ:analytics

毎年恒例のマンホールマップ年間アクセスランキングを発表します。2019 年にマンホールマップでもっとも人気のあったマンホール蓋をベスト10形式で紹介します。また今年新たに投稿された蓋の中で最も人気があった「新人賞」と、今年最も多くの蓋画像を投稿いただいた方「最多投稿賞」を紹介します。


集計のルールとしては 2019/01/01 から 2019/12/20 までの集計期間における、PC およびスマホのブラウザから単独ページとしてのアクセス数を集計しています。ページビューとしての集計なので、例えば同じページの画面をリロードした場合は1回とだけカウントされます。

なお、過去5回の結果はこちらを参照ください:


2019 最多投稿賞

まず今年は集計期間中に 1006 枚ものマンホール画像が投稿されました(有効投稿のみ)。この集計を取り始めた 2014 年以降では最多で、初の年間 1000 枚投稿を達成しました!マンホールブームは確実に来てます!! 改めて投稿に協力いただいた皆様、ありがとうございました。

そして今年マンホールマップに最も多くの画像を投稿いただいたユーザーに与えられる賞、それが最多投稿賞です。今年もマンホールマップに有効に投稿された全画像の大半が昨年も激しく一位を争った 
minamu4545 様と 42ER03 様の2名のユーザーによって提供されたものでした。今年も感謝の限りでございます。 m(__)m

今年も昨年を上回るレベルでの激しい1位争いの結果、 42ER03 様が今年1年間で 354 枚もの蓋画像を投稿いただき、2年連続での1位となりました!おめでとうございます!!

そして今年もハイレベルな一騎打ちを演出いただき、惜しくも僅差で2位となった minamu4545 様、ありがとうございました。来年もお二人の争いになるのか、はたまた新星が現れるのか? 楽しみにしたいです。

ちなみに私自身は今年は5位でした。自分自身も含めて上位陣の投稿総数という意味では僅かな減少が見られますが、それでも総投稿数が上昇しているという事実も有り、つまるところユーザーの裾野が広がり、全体的な底上げができつつあるように感じられました。2020 年のマンホールは上昇確実銘柄と期待できます!(※投資は自己判断でお願いします)



2019 総合ランキングベスト10

いよいよ 2019 年マンホールマップ年間アクセス数ランキングを発表する時がやってまいりました。総合ランキング1位となる MVM(Most Variable Manhole) の座はどの蓋に!?


まずは 10 ~ 4 位です。

実は今年の10位が大激戦でした。2票差の中に5つの候補がひしめく大激戦を制して神10入りを果たした今年の第10位!

順位昨年順位市区町村投稿者画像
10 - 埼玉県比企郡滑川町iamokura_2


埼玉県滑川町の地名が大きく書かれた地味蓋、マンホールナイト実行委員の新人でもある iamokura_2 さんによる今年5月の投稿でした。iamokura_2 さんのこういう独特な着眼点が僕大好きです!


続いて9位ではなく、8位は同数だったので1つ目の第8位!

順位昨年順位市区町村投稿者画像
8 - 静岡県島田市minamu4545


静岡県島田市島田大祭を描いたカラー蓋、この年間統計ではおなじみ minamu4545 さんによる 2018年10月の投稿作品です。最近多くなったカラフルな蓋作品です。


もう1つの第8位!

順位昨年順位市区町村投稿者画像
8 - 東京都江東区morimo_t

東京都江東区、というかお台場のガンダムと無理やりコラボした morimo_t さんの作品です。2012 年6月の投稿作品です。蓋というよりもガンダム人気で上位に来たような気がしていますw


第7位!

順位昨年順位市区町村投稿者画像
7 - 東京都中央区dotnsf

東京都中央区日本橋のたもとにある日本国道路元標の疑似蓋が第7位でした。東海道の起点としての印なんですが、お江戸日本橋のシンボルにもなっています。ちなみに投稿者は dotnsf つまり僕です σ(^^; 。投稿は 2011 年8月でした。


第6位!

順位昨年順位市区町村投稿者画像
6 - 岡山県倉敷市eRP1pgRkR6B4mSu

岡山県倉敷市ジーンズストリートに飾られたジーンズ地の蓋です。 eRP1pgRkR6B4mSu さんによる 2017 年4月の投稿作品でした。ジーンズ地でジーンズストリート周辺地図を描いた蓋になっています。


第5位!

順位昨年順位市区町村投稿者画像
5 - 静岡県静岡市SakiYumeno

静岡県静岡市、登呂遺跡のイメージキャラクターである『トロベー』が描かれたカラー蓋です。 SakiYumeno さんによる 2019 年 2 月の投稿作品でした。今回のランクイン蓋の中では珍しいキャラクター蓋でした。


第4位!

順位昨年順位市区町村投稿者画像
4 - 静岡県富士市meaculpax3

日本以外でも話題になった、静岡県富士市かぐや姫マンホールです。meaculpax3 さんによる 2011 年 6 月の投稿作品です。 この年間アクセス数ランキングではこのようなメジャーな蓋が上位に来ない、という謎の伝統(?)があったのですが、この有名な蓋が年間アクセス数で4位になったというのはやはりマンホールブームの裾野の広がりを感じさせる結果にもつながります。


昨年・一昨年とマンホールカード勢による新作マンホールが上位を席巻したベスト10でしたが、今年はここまで新作蓋が比較的苦戦している印象を受けます。昔ながらのマンホールが見直されつつあるというのは(そっち好みの)マニアとしては嬉しい限りですが、このあとのベスト3ではどうなるのでしょう!?



どきどきのベスト3の発表です。第3位!!

順位昨年順位市区町村投稿者画像
3 - 香川県小豆郡小豆島町42ER03

香川県小豆郡小豆島町空気弁蓋。最多投稿賞にも輝いた 42ER03 さんによる作品です。マンホールマップへの投稿は 2019 年 6 月と記録されていますが、投稿メッセージに「平成28年12月撮影」とあるので、3年前の撮影画像ということになりますね。

マンホールマップ年間統計ではおなじみのセリフなんですが、「なんでこの蓋がそんなに人気あるの?」が謎の第3位となりました(笑)。


第2位!!

順位昨年順位市区町村投稿者画像
2 - 埼玉県入間郡毛呂山町Nikki_papa

埼玉県入間郡毛呂山(もろやま)町のカエル(ケロ?)が描かれたデザインマンホールが第2位でした。 Nikki_papa さんによる 2011 年7月の投稿作品でした。菊、山吹、つつじという地元の名物が描かれたデザイン・マンホールらしい蓋が第2位となりました。



ここまで古参マンホール勢と静岡県勢が大健闘している 2019 年マンホールマップ年間アクセス数ランキングの上位争い。では 2019 年マンホールマップ年間アクセス数ランキング・第1位となった MVM(Most Variable Manhole) は!?

第1位!!!

 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓




順位昨年順位市区町村投稿者画像
1 - 静岡県富士市minamu4545


1位のマンホール画像は 2019 年の3月に minamu4545 さんによって投稿された静岡県富士市岳南排水路の蓋画像でした。

中央にこの地方が全国トップシェアを誇る加工品であるトイレットペーパーとその工場、下方に駿河湾とその名物である桜エビ&シラス、そして上方には世界遺産・富士山が描かれています。情報をいっぱい詰め込んだ、ある意味でデザインマンホールらしいデザインマンホールが今年の MVM に輝きました。

なお、この画像は今年投稿されたものでもあるため 2019 年新人賞蓋でもあります。 minamu4545 さんはなんと3年連続で新人賞と MVM の同時受賞を達成しました!快挙だと思います、あらためておめでとうございます。


今年はこれまでの新人蓋が上位を席巻するような流れが一変し、以前に投稿された蓋のあらためて慈しむ流れが発生した結果となりました。一方で今年のベスト10画像には昨年のベスト10画像が1つも含まれないという結果となりました。 ただそのような新しい流れの中でも牙城を崩さずに MVM を死守しただけでなく、唯一人ベスト 10 に2枚の蓋を送り込んだ minamu4545 さんの強さ(=行動力?)を確認した 2019 年となりました。



そして最後にマンホールマップ開発者&運営者としての自分からのメッセージです。今年は天災による停電の影響に加え、マンホールマップ自体のメジャーバージョンアップやその後の調整作業などもあって、サービス全体としては比較的不安定な運営となった1年だったと思っています。ご不便をおかけして失礼しました。

一方で調整後の12月になってからは比較的安定した運用ができていると思っています。また新機能であるブロックチェーン連携によって投稿画像の著作権を保護する、という(地味にwすごい)先進技術によって、利用いただくみなさんが安心して使えるサービスをこれからも提供できればと思っています。

加えて、実はマンホールマップの運用開始から約10年が経過しましたが大きな変化がありました。マンホールマップにはいわゆる「いいね!」に相当する「ナイスマンホ!」機能があり、利用者による人気ランキング投票が実現できていましたが、この10年の間、人気1位はほぼ不動で石川県のこの蓋となっていました:


が、今年はついにこの1位に変化があり、12月21日時点で渋谷のこの蓋が同率1位となっています。1位に変化があったのは10年間で初です:



さて来年の今頃、この人気投票はどのような順位になっているのでしょうか? その結果も楽しみにしつつ、来年以降も引き続きマンホールマップを宜しくおねがいします。

2018年にマンホールマップでもっとも人気のあったマンホール蓋をベスト10形式で紹介します。また今年新たに投稿された蓋の中で最も人気があった「新人賞」と、今年最も多くの蓋画像を投稿いただいた方「最多投稿賞」を紹介します。


集計のルールとしては 2018/01/01 から 2018/12/20 までの集計期間における、PC およびスマホのブラウザから単独ページとしてのアクセス数を集計しています。ページビューとしての集計なので、例えば同じページの画面をリロードした場合は1回とだけカウントされます。

なお、過去4回の結果はこちらを参照ください:


2018 最多投稿賞

今年マンホールマップに最も多くの画像を投稿いただいたユーザーに与えられる賞です。実は今年の(も)マンホールマップに有効に投稿された全画像の大半が昨年も激しく一位を争った minamu4545 様と 42ER03 様の2名のユーザーによって提供されたものでした。今年も感謝の限りでございます。 m(__)m

今年も昨年を上回るレベルでの激しい1位争いの結果、昨年惜しくも2位だった 42ER03 様が今年1年間で 355 枚もの蓋画像を投稿いただき1位となりました!2016 年の王座に一年ぶりに返り咲きました。「ほぼ1日1枚」でした、ありがとうございます。 

そして今年もハイレベルな一騎打ちを演出いただいた minamu4545 様、ありがとうございました。来年もお二人の争いになるのか、はたまた新星が現れるのか? 楽しみにしたいです。

ちなみに私自身は今年は4位でした。毎年少しずつ順位が下がっていたのですが、久しぶりに順位上昇でした。今年は出張が多かったからなあ・・・、しみじみ


2018 新人賞

今年マンホールマップに投稿された蓋の中で、もっともアクセス数の多かった蓋画像はこちらでした:

市区町村投稿者画像
千葉県流山市minamu4545



千葉県流山市「流山おおたかの森」駅にも象徴される TX(つくばエクスプレス)とオオタカ、そしてツツジがデザインされた新しいデザインの蓋です。私個人も大学時代に流山市に住んでいたのですが、当時は TX がまだ走ってなくて、流山の新しい風景がデザインされた蓋といえます。2018年1月にマンホールマップ投稿いただいたこの蓋写真が1年間を通じてもっとも多くのアクセス回数を記録する新人蓋となりました。minamu4545 さま、2年連続の新人賞おめでとうございます!


2018 総合ランキングベスト10

いよいよ 2018 年マンホールマップ年間アクセス数ランキングを発表する時がやってまいりました。総合ランキング1位となる MVM(Most Variable Manhole) の座はどの蓋に!?


まずは 10 ~ 4 位です。といいたい所ですが、僅差の11位の蓋をどうしても紹介したく、独断で今年はトップ11を紹介させていただきます。というわけで第11位!

順位昨年順位市区町村投稿者画像
11 - 静岡県静岡市morimo_t


↑マンホーラーの枠を超えて話題になった静岡県静岡市の「ちびまる子ちゃんマンホール」(morimo_t 様提供)。さくらももこ先生がこのマンホールのためにデザインし、残念ながらその設置の直前に亡くなられたことで設置の中止も検討されたというものです。今月からマンホールカードの配布も始まり、9月にデビュー(=設置)したとは思えないアクセス数が記録された一枚でした。改めて、謹んでさくらももこ先生のご冥福をお祈り申し上げると共に、素敵なマンホールデザインを残していただいたことに感謝申し上げます。


では改めてトップ10を。第9位が同数で2点あったので、第9位!

順位昨年順位市区町村投稿者画像
92北海道岩見沢市yanapong


↑同着の9位、1つ目は昨年2位の北海道岩見沢市(旧栗沢町)、yanapong 様提供の「リスのクリちゃん」マンホールでした。昨年まで3年連続トップ3という快挙を達成した超ロングセラー蓋です。今年9位になったことで、4年連続トップ10入りという、これも前例のない大記録を打ち立てました。


もう1つの第9位!

順位昨年順位市区町村投稿者画像
9 - 埼玉県坂戸市minamu4545


↑2つ目の同着9位は埼玉県坂戸市、minamu4545 様提供の「さかつるちゃん」マンホールでした。さかつるちゃんは坂戸鶴ヶ島水道企業団のマスコットキャラクターで「みんなのところにおいしい水を運ぶ水の天使」なのだそうです。このマンホールもマンホールカード化されています。


第8位!

順位昨年順位市区町村投稿者画像
8 - 神奈川県愛甲郡愛川町minamu4545


↑8位はこれも minamu4545 様投稿作品、神奈川県愛川町の、中津川、鮎、ツツジ、そしてカエデが描かれたデザイン蓋。デザイン的にもコントラストが美しい1枚です。なおこのマンホールもマンホールカード化されています。


そして6位も同着でした。1つ目の第6位!

順位昨年順位市区町村投稿者画像
6 - 静岡県熱海市minamu4545


なんとこれも minamu4545 様提供、静岡県熱海市の「金色夜叉」貫一・お宮の有名なシーンと、なぜかバックに上がる花火をまとめてデザインした一枚でした。今だとDV事案になる可能性もあるシーンですが、そんな時代背景的な要素も含めて表現されています。なおこれもマンホールカード化されています。マンホールカード勢、強いな・・・・


もう1つの第6位!


順位昨年順位市区町村投稿者画像
6 - 大阪府吹田市dotnsf


↑もう1つの6位は、、、ごめんなさい。僕の投稿作品でした。大阪市吹田市の吹田スタジアム近くに設置された suitable city マンホールの1つで、ここを本拠地とする GAMBA 大阪のマスコット「ガンバボーイ」と、吹田市のイメージキャラクター「すいたん」がデザインされています。これもマンホールカード対象です。

吹田市はこの蓋ともう2つの観光名所をテーマにしたデザインマンホール3種を今年公開しました。その中の1つがこれなのですが、実は結構探すのが難しい場所にありました。ネタバレありで詳しく知りたい方はこちらも参照ください:
吹田市のデザインマンホール3種を探索(ネタバレあり)


第5位!

順位昨年順位市区町村投稿者画像
5 - 静岡県沼津市minamu4545


↑5位は静岡県沼津市、富士山と愛鷹山をバックに松とハマユウが描かれたマンホールカード蓋です。なおこれも minamu4545 さんの提供作品です。この作品は 2018 年9月に提供いただいたもので、今回ランキング入りした蓋の中では比較的短期間で多くのアクセス数を稼いだことになります。



第4位!

順位昨年順位市区町村投稿者画像
4 - 東京都港区dotnsf


↑4位は、、、ごめんなさい。またも僕の投稿作品でした。2年前になぜか1位になった東京都港区の知り合いの家の近くで撮影したエバタインバート蓋。なぜここにアクセスが集まるのか、2年経っても全くわかりません。 (^^;


2018 年のアクセス数ランキング、ここまで minamu4545 様の提供のデザイン蓋が席巻しています。マンホールカードの広まりもあって、カラフルなデザイン蓋がマンホールマップでも人気を博している様子がわかりますね。


この流れはベスト3にも続くのか? ドキドキの第3位!

順位昨年順位市区町村投稿者画像
31静岡県静岡市minamu4545


↑3位は昨年1位と新人賞を同時受賞した minamu4545 様投稿の静岡県静岡市「かけつけ消防3部隊カワセミーズ」の消火栓蓋でした。2年連続のベスト3入り、つまり2年間に渡って人気が継続した蓋ということになります。

実はここまでの結果を見てもわかるのですが、今年のアクセスランキングは新人蓋(今年投稿された蓋)が上位を席巻しています。そんな人気の入れ替わりの激しい中でのこの結果は素晴らしいです。



第2位!

順位昨年順位市区町村投稿者画像
2 - 静岡県島田市minamu4545


↑2位は静岡県島田市の大井川蓮台越をテーマにデザインしたマンホールでした。この作品も minamu4545 様に提供いただいた作品です。

「箱根八里は馬でも越すが、越すに越されぬ大井川」とも詠まれた難所・大井川の川越えの様子が富士山を背景にしてデザインされています。ドリフやダチョウ倶楽部だとこの後の展開が容易に想像できますね(笑)。


では 2018 年マンホールマップ年間アクセス数ランキング・第1位となった MVM(Most Variable Manhole) は!?

 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓
 ↓


順位昨年順位市区町村投稿者画像
1 - 千葉県流山市minamu4545


↑1位 MVM は新人賞にも輝いた minamu4545 様提供の千葉県流山市、「流山おおたかの森」マンホールでした。2年連続の新人賞&MVM 同時受賞となりました。おめでとうございます。




ここ数年はマンホールカードの影響もあって、新しいデザイン蓋の人気が高いようです。今年のランキングにもその結果が表れています。そしてそれ故に、長い期間人気を維持し続けるマンホールがいかに貴重で素晴らしいかを改めて考えさせられる結果になりました。



そして、今年のランキングで無視できないのは minamu4545 さんの存在です。投稿数ランキングでは惜しくも2位でしたが、新人賞とトップ10内の7つ、そしてトップ3の全てを独占する形になりました。もちろんここまでの独占率を記録したことは過去にもありません。 現在のマンホールマップ人気蓋の多くをプロデュースしていただいております。本当に頭が下がります。


最後に開発者&運用者としての自分から。今年はマンホールマップサーバーが例年になく不安定であったと自覚しています。実はこのブログエントリを書く直前の 2018/12/21 にもサーバーダウンがありました。色々な事情(その多くはコストですが)からパブリッククラウドではなく自宅サーバーで運用しております。OS が落ちなければリモートメンテナンスできる環境は整えてあるのですが、今年はそのリモートメンテができなくなるケースが何度かありました。サーバー機、といっても普通のノートPCですが、の老朽化からディスクメディアが壊れ、冷却ファンが壊れ、これまでもだましだまし使ってきましたが、今年はその影響をユーザーの皆さんにかけてしまうことが多かったと反省しています。年末に新しい機材へ入れ替えを行い、少し安定することを期待していますが、そろそろパブリッククラウドへの本格的な移行も検討する時期かもしれない、と思い始めていたりします。 

一方で、今回の「新しい機材への入れ替え」は比較的スムーズに進んだと自負しております。自分のように自宅ネットワークを構築してサービスを運用する想定での工夫をしてきたつもりですが、今回のトラブル対応の中でやっとその成果を見せることができました(苦笑)。この辺りについては実績もできたことだし、近い内にまたブログで紹介できればと思っています。



では、来年以降もマンホールマップを宜しくお願いします。



Watson API の1つで、複数の選択肢の中から自分の与えた条件に合うアイテムをトレードオフ判断で絞り込んでくれる、という便利な Tradeoff Analytics API があります(ありました)が、残念ながら5月11日をもって新規インスタンスの生成ができなくなってしまいました(作成済みインスタンスは2018年4月まで使えるようです。詳しくはこちら)。

Bluemix に Watson API が追加された当初から存在していた API の1つであるだけでなく、個人的にもデモなどで使っていて、非常にわかりやすくて便利な API だっただけに残念でした。

このアナウンスがされたタイミングから準備はしていたのですが、実はこの Tradeoff Analytics と同様の(近い互換性を持つ)API を自分でオープンソース化前提で作っています。まだ途中といえば途中ですが、制約付きで一応動く状態にはなっています。新インスタンスが生成できなくなったこのタイミングで一旦公開してみようと思いました:
https://github.com/dotnsf/yatradeoff


なお、この API を実際にアプリケーションサーバー上で稼働させているものもこちらに用意しました。ただ API だけ使いたい人はこちらをどうぞ:
https://yatradeoff.au-syd.mybluemix.net/dilemmas


この URL にブラウザで GET アクセスしても何も起こりません(エラーメッセージが表示されるだけ)が、POST アクセスすると API として動きます。その際にはユーザー名: username &パスワード: password を指定してください(オリジナル同様 Basic 認証です)。


元の Tradeoff Analytics API 同様、/dilemma という POST API エンドポイント1つだけが定義されています。ポストする JSON 型インプットデータのフォーマットには互換性があります。

API の実行結果としての JSON データにも互換性をもたせました。ただ現状はオリジナルのサブセットになっています。現状、以下の3点の制約事項があります:
(1) preferable_solutions データは常にブランクになります
(2) 解析結果は solutions に含まれますが、'FRONT' ステータスを持つデータだけが含まれます
(3) map information を出力するようパラメータで指定しても map information は返されません



ただ1点、オリジナルにはなかった優先順位を考慮する機能も加えています。エンドポイント URL のパラメータに prioritised=1 を追加して実行(例: /dilemma?prioritised=1)すると、インプットデータの JSON データは優先順位順に解釈されます(先にある方が高い優先順位であると解釈されて実行されます。例えば「項目AとBを両方ともトレードオフの材料にする」のではなく、「項目AとBを両方ともトレードオフの材料にするが、Aの方をBよりも優先する」というトレードオフを可能にしています)。


そして、このパラメータを付けて実行した時の API 実行結果も優先順位順に返されます。先にある方がよりオススメな結果、ということになります。まあ preferable_solutions の代わりという位置付けです。


※実はこの機能を付けたくて自分で API を改良した、という経緯があります。


結果の JSON テキストの solutions 内がトレードオフの結果です。オリジナル API では全ての選択肢に対して 'FRONT' か 'EXCLUDE' かの結果を含めていましたが、現状この API では 'FRONT' のもの(トレードオフ判断の結果、選択肢の候補として残ったもの)だけが返される点に注意してください。


以前に紹介した SaaS 型のデータ解析サービス IBM Watson Analytics は強力な解析エンジンが安価で使えて、面白いサービスだと思っています:
2017040501



ただちょっと不便に感じたのは、データのインポート方法でした。手元に CSV などのファイルがあれば Watson Analytics 側に用意された機能でインポートできます。またデータが Box や Twitter などのクラウドに公開されたものであれば、やはり Watson Analytics に用意された機能で取り込むことができました:
2017040502


しかし現実的にはデータベースサーバーから直接取り込むことができると便利です。更に言うと、インターネットに公開されたデータベースサーバーではなく、プライベートネットワーク内にあるデータベースのデータを簡単に取り込むことができると、プライベートデータを(いちいち CSV にしてから手動インポートする必要がなくなって)便利なのですが、現在 Watson Analytics 単体にそこまでの機能は提供されていません。


しかし、単体では提供されていなくても、IBM Bluemix から提供されるいくつかの機能を組み合わせることで上記の要件は可能になります。具体的には Secure Gateway サービスと Data Connect サービスを使います。Secure Gateway でプライベートネットワークのデータベースに対してセキュアなトンネリングを貼った上で Data Connect を使い、そのプライベートデータベースと Watson Analytics との間での自動データマイグレーションが実現できます(そのマイグレーションを定期的に実行するようなスケジューリングまで含めて可能になります)。






以下に実際の手順を紹介しますが、実際にこの手順を行うにはプライベートネットワーク内のデータベースに加えて、IBM Bluemix および IBM Watson Analytics 両方のアカウントが必要です。そして IBM Bluemix では Secure Gateway と Data Connect の2つのサービスインスタンスが有効になっている必要があります。無料版にサインアップするなどして、あらかじめご用意ください。


まずプライベートネットワーク内のデータを確認しておきます。今回対象とするのはプライベートネットワーク内のデータベースサーバーで管理されている(仮想の)人事情報とします。名前(name)や年齢(age)、収入レベル(income)、容姿(looking)、血液型(blood_type)、出身地(prefecture)といった情報が格納されているものです(注 乱数で生成した偽データです)。これは認証は当然ですが、現時点ではプライベートネットワーク内からのアクセスしか許可していないものです。目的はこれらのデータを(一度 CSV ファイルにして取り出して手動アップロードしたりするのではなく)Watson Analytics で解析可能なデータとしてシステマチックにインポートすることとします:
2017040513


では実際の手順を紹介します。まずは Secure Gateway でこのプライベートネットワーク内のデータベースを IBM Bluemix 環境からアクセスできるようにします。その手順はこちらを参照してください。
SecureGateway で Bluemix とプライベートネットワークをセキュアに接続する


次に Secure Gateway で参照できるようになったプライベートデータを Data Connect のデータセットとして定義します。この手順についてはこちらを参照してください。
Data Connect サービスでデータベースをマイグレーションする


ここまで完了したら、次は Data Connect の接続先として利用できるよう、Watson Analytics を追加します。Data Connect サービスのダッシュボード画面左メニューから "Connections" を選択し、画面右上の "Create New" をクリックします:
2017040501


接続先のデータベースタイプの選択画面では "IBM Watson Analytics" を選択します:
2017040502


詳細設定画面に移動しますが、ここで設定する項目は接続名称を入力するだけです。最後に画面右上の "Create Connection" をクリックします:
2017040503


この接続情報が保存される際に IBM Watson Analytics への認証が行われます。IBM Watson Analytics を利用している IBM ID とパスワードを指定してログインしてください:
2017040504


正しく有効な ID が確認されると、Data Connect の接続情報として IBM Watson Analytics が追加されます:
2017040505


では作成した Watson Analytics にプライベートデータベースからデータをマイグレーションします。引き続き Data Connect ダッシュボードの画面左メニューから "Activities" を選び、右上の "Create New" をクリックします:
2017040506


まずマイグレーション元を指定します。あらかじめ作成してある Secure Gateway 経由の(プライベートデータベースの)データセットを選択します。選択したら画面右上の "Copy to Target" をクリックします:
2017040507


次にマイグレーション先を指定します。今回のマイグレーション先は IBM Watson Analytics なので、Connections から上記で定義した IBM Watson Analytics の接続名を選択します。このままマイグレーション実行スケジュールの指定("Schedule Activity")も可能ですが、まず1回手動で実行してみることにします。画面右上の並んだボタンから "Run" をクリックします:
2017040508


指定したとおりの(プライベートデータベースから Watson Analytics への)マイグレーション処理が実行され、アクティビティとして記録されます。なお、このアイコンから実行スケジュール(定期実行など)を編集することも可能です:
2017040509


実際にマイグレーションが行われたかどうかを確認してみます。改めて IBM Watson Analytics にログインすると、元々は存在していなかったデータセットが作られているはずです。これをクリックして、実際に解析してみます:
2017040510


解析テンプレートが表示されます。いくつかありますが、"What is the trend of looking over age by blood_type?"(血液型別に年齢と容姿にどういったトレンドがあるか?)が面白そう(笑)なので選択してみます:
2017040511


この解析用の画面に移動します。画面左側に年齢ごとの容姿の推移が血液型ごとの折れ線になって表示されます。また画面右にはこれらの分析からの発見として、「43歳の収入が一番高い」とか「年収をトータルすると AB 型が一番低い」といったインサイトも併せて表示されています(※繰り返しますが、乱数を使って生成した偽データです):
2017040503


特別何もしなくてもデータを与えるだけでここまで分析してくれる Watson Analytics もすごいのですが、その Watson Analytics に直接プライベートデータや社内データをセキュアにマイグレートしてくれる Secure Gateway や Data Connect と併せて利用することで、より便利に大事な情報を簡単に解析できるようになると感じます。


普段は IBM Bluemix の関連で IBM Watson の API を紹介する機会があります(このブログでも何度か扱っています)。これらの多くは Watson Cognitive と呼ばれる言語や画像などを対象にした認識/分類を行うタイプのエンジンです。

一方で、Cognitive 以外の Watson もあります。その1つが Watson Analytics と呼ばれるもので、これは「データ分析」を目的としたエンジンです。現在では API というよりも、クラウド上のツールとしてその機能が提供されています:

http://www.ibm.com/software/jp/cmp/watsonanalytics/
2017020100


この Watson Analytics ツールは、誰でも申し込みから 30 日間は無料で使うことができます。というわけで自分も申し込んで、どんなものなのかを試しに使ってみました。

まず上記ページの「無料トライアルを試す」から申し込みを行います。しばらくすると以下のようなメールが送られてくるので、「ログインする」をクリックして、申込み時に指定したメールアドレスとパスワードで Watson Analytics サービスにログインしてください:
2017020201


Watson Analytics サービスにログインした直後はこのような画面になります:
2017020201



さて、今回このサービスを試用するにあたって、どんなデータで何を試すかを考えました。そこまでアナリティクスに詳しいわけでもなく、そこまで詳しい人を対象に紹介するつもりもないので、自分の守備範囲の中で試すことにします。 というわけで、以前にこのブログで紹介したことと同様のことを Watson Analytics サービスで挑戦してみることにします:

dashDB の R Studio を使ってデータの相関関係を調べる
http://dotnsf.blog.jp/archives/1047597688.html


ここで紹介しているのはセンサーとみなしたラズベリーパイから3種類(CPU 温度、CPU 負荷率、サインカーブを描く値)のデータを1秒おきに取り出したものです(取得済み)。そしてこの3つのデータの相関関係有無を調べてみることにします。同ブログエントリ内でも紹介されていますが、取得済みのデータは CSV で公開しているので、同じものをそのまま使うことにします。ここからダウンロードしておいてください:
https://raw.githubusercontent.com/dotnsf/RPDATA/master/RPDATA.csv


なお、この CSV ファイルをそのままエクセルで開くと、最初の方はこんな感じになります。1行目はヘッダでデータは2行目以降。B列が CPUTEMP(CPU温度)、C列がCPULOAD(CPU負荷率)、そしてD列がSINE(サインカーブを描く値)になっています。A列のIDはユニーク文字列ですが、今回は使いません:

2017020211


ちなみに CPUTEMP と CPULOAD を折れ線グラフにするとこんな感じ。途中でわざと負荷をかけたので、山が1つ出来ていることが見てとれます:

2017020212


一方、同じ期間中の CPULOAD と SINE とを比較したのがこちら。SINE は CPU の負荷とは無関係に、一定のリズムでサインカーブを描いていることがわかると思います:
2017020213


ここまで見た上で意識していただきたいのは以下のことです:
・ CPUTEMP が上がると CPULOAD も上がり、CPUTEMP が下がると CPULOAD も下がる
・ SINE にはそういった相関関係が CPUTEMP にも CPULOAD にもない
・ いまグラフの形を見たからそういうことに気付くことができた
・ また CPUTEMP は CPU 温度で CPULOAD は CPU 負荷率だった。つまりどちらも CPU に関連するセンサー値だった。そこまで理解した上でこの数値やグラフを見ているから、これらには関係があるように推測できた


つまり、人間の目でグラフの形を見比べた上で、なんとなく「形が似ている」と気づけたわけです。また「同じ CPU に関する値だったと分かっていたから、それらには関係があるだろう、と推測できた、ということです。

では同じことを目で判断せずに、加えて事前に同じ CPU の情報であることを知らない Watson が、数値データの羅列を与えただけで気付くことができるでしょうか? ということを今回の調査テーマとしてみることにします。


改めて、この CSV ファイルを Watson Analytics にロードします。新規データとして追加するので "+ New data" と書かれた箇所をクリックします:
2017020201


Watson Analytics には標準でサンプルデータが用意されているのでそれを使うことも出来る上、Box や OneDrive、Twitter などのソーシャルサービスから条件を指定してデータを取り出すことも可能になっています。今回は手元にある CSV ファイルを元にデータを生成したいので、"Local file" タブを選択します:
2017020202


このような画面になったら「Browse」をクリックして、先程ダウンロードした RPDATA.csv ファイルを指定します:
2017020203


こんな感じの画面になって RPDATA.csv ファイルがアップロード候補に加えられている状態になりました。このまま「Import」をクリックしてアップロードします:
2017020204


元の画面に戻りますが、いまアップロードした RPDATA.csv が分析データとして追加されていることが分かります。この画面では "Processing..." と表示されています。これはアップロードは完了しているのですが、分析するための処理を行っている途中であることを意味しています。このままもうしばらく待ちます:
2017020205


下図のような状態になると分析処理も完了したことになります。このアイコンをクリックして、実際の分析結果を確認してみます:
2017020206


(RPDATA に対して)どんな分析をするのか、という選択画面が表示されます。上述したように、今回は値の相関関係を調べたいので、"What drives SINE?"(何が SINE に影響しているのか?)を選びます。SINE との影響だけを調べたいわけではないのですが、この "SINE" の部分を切り替えて調べることができるので、今回はこの観点で各種データの影響要素を調べることにします:
2017020207


"What drives SINE?" をクリックすると、しばらく画面構成の処理で時間がかかるのですが、ロードが完了するとこのような画面になるはずです。結論として、"SINE" に関しては "No key drivers were found."(特に影響要素は存在しない)と表示されています。まあ答をわかっている立場からすると当然の結果なのですが、解析結果としても同じ結論になっていることが分かります:
2017020208


もともとの目的にもよるのですが、例えばこのセンサーモジュールの故障やエラー、利用不可になる予防保全をしたい場合などは CPU 利用率があまり高くない状態をキープしていてほしいものです。センサーが PC などと直結していれば、その PC からセンサーの CPU 状態を把握できることもありますが、そうでないケースも珍しくありません。そうなると「センサーの CPU 状態を直接モニタリングする」ことは簡単ではないことになります。これをどうにかできないでしょうか?

では今度はこの "SINE" を "CPULOAD(CPU 負荷率)" に変更して、CPULOAD に影響を与えている要素があるかどうかを調べてみましょう。画面左下の "SINE" と書かれた箇所をクリックし、"CPULOAD" を選択します:
2017020209


同様にして少し処理時間で待つことになりますが、画面のロードが完了するとこんな結果になりました。"CPULOAD" は "CPUTEMP" の影響を受けている、という解析結果が表示されています!
2017020210


もともとは CPU 負荷率の状態をなんとか調べることができないか、という課題があったわけですが、今回の結果によって、このセンサーモジュールでは CPU 温度と CPU 負荷率との間に相関関係があることが統計的にもわかったことになります。そして CPU の温度は直接外部から測定することもできるものなので、CPU の温度を測定していれば、CPU の負荷が高くなっているのかどうかを判断することができる、という可能性がでてきたことになるわけです!


くどいようですが、我々のように事前にグラフの形を見比べたわけではなく、またこれらがどちらも CPU に関する値である、という情報が事前に与えられたわけでもない中での自動解析結果であることを考慮すると、「ここまで簡単に分かっちゃうのか・・」という印象でした。

今回のデータは ID を除けば3種類しかなく、人間の目や脳でもわかりやすいものでした。ただこれが数10種類ものデータを含むもので、その中から存在するかどうかもわからない相関関係を見つけ出すというのはなかなか大変なんだろうなあ・・・と思うのですが、このツールはその作業負担を大幅に軽減できるものだと思います。


というわけで、このような IBM Watson Analytics サービスが無料で試せるというのはなかなかすごいのではないかと思っています。皆様も興味があれば是非試していただいて、手元にある数値データを使って簡単に解析できるという体験をしていただきたいです。



このページのトップヘ