機械学習 × kintoneに情熱を傾けるkintone エバンジェリスト
皆さんお久しぶりです!ミケです。東京では桜が顔を出し始めたと思ったら雨(´;ω;`)桜気分が味わえるのも今週中ですね!
今回は「kintoneエバンジェリスト紹介シリーズ」第9弾として、「機械学習に情熱を傾けるkintone エバンジェリスト」TIS株式会社の久保 隆宏さんにインタビューさせていただきました!普段どんなお仕事をされているのか、kintoneとの出会い、機械学習 × kintoneって具体的にどんな内容なのか迫っていきたいと思います。
因みに過去のkintoneエバンジェリスト紹介記事のリンク集はこちらにもまとめているので、ぜひ併せてご覧ください♪
・年末総まとめ!kintone hive online記事リンク集
それでは早速インタビューに!今回はTISさんのコワーキングスペースにお邪魔させていただきました。真剣にコーディングされているこの方は...
そうです、はにかみスマイルが素敵な♪この方が今回インタビューを受けてくださった久保さんです( ー`дー´) 今日はよろしくお願いしますー!
ティータイムに帰れる社会を実現する
昨年のCybozu Daysで開催されたkintone hackでも活躍されていた(下の写真、右から二人目)ので、そこでご存知の方もいらっしゃるかと思います。その時も話題は機械学習 × kintone。当日のプレゼン内容はこちらに詳しくありますので、見てみてください。
現在はTISで研究開発の仕事をしています。チームのミッションは「すべての人がティータイム(15:00)に帰れる社会を実現すること」。これを実現するためには、既存の業務の効率化だけでなく、業務プロセスそのものを変える必要があります。だた、慣れた業務の仕方を変えるというのはなかなか簡単にできるものではないので、実際にプロトタイプを作って効果を「体験」し、「実感」してもらうことが大事になります。そこに機械学習や自然言語などの技術を活用しようとしています。私自身元々はコンサルタントをしていたので、研究で取り組むことになってから、機械学習を一から勉強しました。行っている研究の取り組みについては公開をしているので、良ければこちらの資料をチェックしていただければと思います。
今はこんなプロジェクトを進めていたりします。
・WatchMe
開発環境でエラーが発生した瞬間に、チームメンバーに自動的に通知を行うシステム。新人などはエラーが発生しても先輩に質問する前に2~3時間格闘するというケースもしばしば。そんな時にすかさず手助けして開発時間の効率化をしてくれます。今後はStackOverflowなどから該当の回答を提案することも検討しています。
・karura
kintone上のアプリのデータを利用し、簡単に予測モデルが作れるプラグインです。予測に使う項目と、予測したい項目を設定するだけで、予測モデルを自動的に作成してくれます。単に予測値を出すだけでなく、どういうデータ項目が必要なのかを提案できるように開発しています。そのため、内部では解釈が難しいニューラルネットワークではなく、古典的なモデルをチューニングして利用しています。
機械学習はAIを実現する一つの手法であり、AIそのものではない
早速お話しにも出てきましたが、そもそも機械学習とは何でしょうか?また機械学習とAIは違うと聞きますが、久保さんはどう分けて理解していらっしゃいますか?
機械学習はAIを実現する一つの手法であり、AIそのものではありません。どちらもデータを基に学習して予測を行うという仕組みは共通ですが、機械学習が扱えるのは数値データだけです。
また、機械学習は実体のある技術で、その応用自体も意外と古くから行われています。Amazonのレコメンドの特許が得られたのは1998年ですし、お掃除ロボットで有名なルンバの初号機は2002年に発売です。その意味では、「AIのための技術」というよりは、具体的な「問題解決のツール」になっていると言えると思います。
その一方AI、つまり人工知能は、正直いったい何をするものなのかよく定まっておらず、人によって言うこともかなり異なります。その実装方法にも幅があり、中には機械学習を使っていないものも人工知能と謳われていることがあります。そのため「機械学習は人工知能を実現する一つの手法」と言えますが、「人工知能は機械学習である」とは言えません。ではなんなのか、というと前述のように人によって言うことが異なり、また色々な信念もあったりするので、正直答えを出すのはどれだけ時間をかけても不可能だと思います。そんなことより仕事においては解決しなければならない問題が山のようにあるので、その問題をどう解いていくかを検討する方が重要だと思います。
※こちらも久保さん作成の関連資料があったのでリンク共有です。
よく作る部分は簡略化して、もっと新しいチャレンジをするのにお金を使いたい
コンサルタントをしていた2013年頃に出会いました。システムの開発を行う中で、○○メンテナンス管理画面など毎回同じようなものを作っていて、私もお客さんも、よく作る部分は簡略化してもっと新しいチャレンジをするのにお金を使いたいのにな...という思いがありました。そんな中、Webアプリケーションがドラッグ&ドロップで簡単に作れるkintoneに出会い、これは良さそうだぞということで、kintoneを使った提案をするようになりました。
kintoneの好きなところ、今後期待することを教えてください。
複数のアプリのグラフを組み合わせてダッシュボードを作れる、スペースの機能はお勧めです。これで複数のアプリが必要な業務も上手くまとめられるようになったと思います。
今後への期待という意味では、「Excelの代替にとどまっている場合ではない」と声を大にして言いたいですね。kintoneを使いやすくするアップデートはされていますが、例えば機械学習を組み込むなど今ない可能性の部分をどう増やしていくかも考えていく時期なのかなと思います。
kintoneはkintoneなりの戦い方がある!
ここまで機械学習に取り組むことになったきっかけやkintoneとの出会いについて伺いました。では、なぜその機械学習とkintoneを繋げてみようと思われたのでしょうか?
もともとコンサルタントをしていたとお話ししましたが、そこから研究開発に移ったのは、いわゆる普通のシステムだけでは業務の改善に限界があると感じたからです。私はお客様先に常駐していましたが、自分がシステムを開発してもお客様の仕事がそれほど楽になっていなかったり、また経営指標にインパクトを与えていないことにもどかしさを感じていました。人に「従う」だけでなく、何かデータを基に提案をしたりとか、人をもっと積極的に助けるような仕組みがないと先に行けないなと。そこでkintoneという業務システムのプラットフォームと機械学習を組み合わせたら良いのではないかと思うようになったのです。冒頭紹介したkaruraは、その延長線上にあるものです。
少し具体的なお話しをすると、karuraはkintoneアプリの中のデータを使って機械学習を行うためのプラグインになります。kintoneの特徴の一つとして「誰でも使える簡単さ」があると思うので、karuraもまた「誰でも使える」という点を意識しています。利用に必要なのは3ステップだけで、まずkaruraを導入した後、karuraのアプリから予測に使う項目と予測したい項目を設定します。その後は学習のボタンを押すだけでモデルの作成は完了します。あとは、予測を行いたいアプリ上で「予測する」のボタンを押せば予測結果を返してくれます。
今はこのようにSlackと連携させて、Slack上でkintoneのアプリ名を入れるとその時点のデータでどんな項目が分析に効いているのか、異常値や空白が多い項目はどこなのかといった、データをためていく段階でのサポートもしてくれるような仕組みも試作中です。
本当はすべてkintone上で行いたいのですが、kintoneのコメントやスレッドはリアルタイムの反映や画像の利用に強くないので、現在はSlackを利用しています。アプリ上・スペースでのコミュニケーション機能をもっと充実させてほしいというのはkintoneへの要望ですね。理想はkintoneの画面内でBotが作れたら嬉しいですね。
(前にIBM Watson Hackathonで利用したときは無理やりチャットボット用の画面を埋め込みました。作品)
競合他社もどんどん機械学習をサービス自体に組み込んでいっていますしね、最近はkintoneでも頑張らなきゃと焦りが少し。他社はチームですが、今のところ機械学習 × kintoneメンバーは私一人。戦力が足りないので、ぜひサイボウズ社内外問わずメンバー募って盛り上げていきたいです!
機械学習のシステムを作る企業が多い今、kintoneなりのやり方はあるのでしょうか?
そうですね。MicrosoftのOffice365におけるCortana、SalesforceにおけるEinstein、またワークスアプリケーションズのHUEなど、機械学習や自然言語処理を業務システムへ導入する試みは既にかなり進行しています。MicrosoftやSalesforceはその規模や研究機関も非常に大きいですが、kintoneはkintoneなりの戦い方があると思っています。様々な会社から機械学習やAIを利用したというプレスリリースが出ていますが、まだ「技術を利用した」というアピールにとどまっていて、実際現場で効果を出せるかといえば疑問符が付くものも多いのが現状です。
ですが、kintoneでやるとなったらそうであってはならないと思っています。kintoneはユーザーの「便利!」という感動から広まっている製品だと思うので、機械学習を仮に使うとしてもそれが本当に有用だと感じられるものにすべきだと思います。実際には、実業務で発生しているデータに対して単純に機械学習をかけても、上手くいかないことの方が多いです。ただ、karuraはその点にチャレンジしたいと思っています。そこで今考えているのは、データを蓄積する過程をサポートできないかということです。というのも、「単純に機械学習をかけても、上手くいかない」状態は人間にとってもあまりよくないはずなんです。なぜなら、それはシステムの中のデータだけでは判断できないことがあったり、データ入力の統制が取れていないことと関連するはずで、その状態だと人間でも判断が難しくなりますよね。なので、データがたまっていく段階からちょくちょく使って自分たちの業務が「分かりやすい」状態になっているかをチェックできるようにならないかと考えています。そうして蓄積されたデータは、機械学習はもちろん、人にとっても有益な資産になると思っています。
また、kintoneはそれを取り巻くコミュニティがとても魅力的だと思います。具体的には、エバンジェリスト達がいたりとか、kintone hiveというユーザー同士のノウハウ共有の場があったりとかです。つまり、単純にSaas型のツールを導入するだけでなく、それ以外の価値(コミュニティにジョインして色んな情報を交換できる)に強みがあると思っています。
まだぼんやりとですが、「コミュニティアプリ」という、kintoneユーザーであれば共有して使えるアプリがあってもいいのではないかなと考えています。各社個別に同じようなアプリを別々に作って、同じような問合せを別々に対応しているというのもなんだか無駄な気がするんですよね。そこで「コミュニティアプリ」という、いわばkintoneユーザーのベストプラクティスを結集したアプリを作って、そこで問合せのデータも対応も共有して行うということができたりしないかなと考えています。つまり、他社の問合せも見られるしその問合せに対応することも可能で、逆に自社の問合せに対応してもらうこともできる、ということですね。これだと、複数の会社のデータが一つのアプリに蓄積されるので、機械学習などデータ量が必要な機能も提供しやすくなります。もちろんこれは大分奇抜な発想ですが、働き手が減っていく中で会社同士の「業務のシェア」というのも考えていいんじゃないかと思います。また、これを行えば働き手としては他の会社の業務の仕方が事前に分かるので、転職や兼業もしやすくなります。実際実行に移すのはフリーライダー対策やセキュリティ等含め色んな壁があると思いますが、それを超えられるとしたらユーザー同士のつながりが強いkintoneではないかと思います。
そのため、今後エバンジェリスト個人としては、こうしてkintoneでも機械学習に真剣に取り組んでいるという牽制を行っていくことと、システム導入以上のkintoneの価値(コミュニティなど)を醸成していくことを中心にしたいと思っています。
Easy machine learning platform on kintone『karura』のβユーザー&開発メンバー募集中!
何か今年の意気込みやアピールポイントがあればお願いします~!
今年は、karuraを実地で役に立つものに仕上げ、できれば事例を出したいと考えています。今はまだコンセプトが伝わる部分しかできていないので、効果が出るところまで持っていくのが課題となります。これに向けた取り組みに協力してくださるkarura βユーザー、また開発メンバーは絶賛募集中です!今開発はほぼ一人で行っているので。
あとみんな地方のkintone Caféなどにも出向いていて楽しそうなので、そちらにも行ってみたいですね。
番外編:君も今日から機械学習勉強してみない?
インタビューとは関係なく聞いてみたいことあればぜひ!と言ってくださったので、どんな風に機械学習を勉強されてきたのかちらっとお聞きしてみました。久保先生よりおすすめの勉強法を伝授していただきます。
最初にお話しした通り、私自身も研究開発部門に異動してきた後に、一から勉強を始めました。私自身が素人の状態から勉強してきたので、今素人だ、という方もそんなに臆することはないと思います。このようなサイトを見ながら愚直にやっていきました。
・Coursera Machine Learning
こちらはスタンフォード大学のAndrew先生が教えてくれる機械学習のコースです。英語の講座のため難しそうと思うかもしれないですが、初学者でも分かるようにかなり基礎的なところから教えてくれます。日本語字幕もありますし、解説記事も多いので、まずはこちらから始めてみることをお勧めします。
・Machine Learning From Scratch
Githubで公開されている、機械学習のモデルをライブラリを使わずに実装しているリポジトリになります。各機械学習の理論的な内容と、実際の実装について比較しながら学ぶことができるのでお勧めです。
・Udemy アプリケーション開発者のための機械学習実践講座
私がUdemy上で開講している講座になります。機械学習の理論的な内容というより、実務における導入手順や設計手法にフォーカスした内容になっています。特に機械学習の設計やテストについての情報はまだあまりないので、実アプリケーションに導入したいという時には参考にしていただける内容になっていると思います。
紹介したもの以外にも、学習コンテンツは沢山あります。特に、海外の大学の講座はスタンフォード大学をはじめとして公開されているものが多いので、そちらはとても参考になります。海外の大学の講座というととても難しい印象があると思いますが、かなり分かりやすく、かつ体系的に教えてくれているので、ヘタに日本語のブログを参考にしたりするより良いと思います。
最近、とうとう日本でも東京大学内の研究グループであるAILから深層学習についての講義が開講されました。これは公開講義となっていて、誰でも申し込むことができます。残念ながら既に定員に達してしまいましたが、講義資料などが公開される可能性もあるので、サイトを見ておくと良いと思います。
※久保さんが今まで出されている記事や作品はこちらにまとまっているので、気になる方はぜひ。
おわりに
今回は東京のkintoneエバンジェリスト久保さんをご紹介しました。機械学習×kintone、久保さんと一緒にやってみたいと思われた方、ぜひSNSなどでコメントをお待ちしています^^ karura βユーザーも募集中です!
一夜漬けの機械学習知識の私はインタビュー前からどきどきでしたが、そんな私にも丁寧に説明しながらインタビューを受けてくださいました。久保さんご協力ありがとうございました!
それではまだまだ続きます「kintoneエバンジェリスト特集」、次回もお楽しみに♪
最後に、そんなkintoneエバンジェリストが広めるkintoneが気になる方々へ
手始めにcybozu developer networkでkintoneカスタマイズを学んでみてはいかがでしょうか?参考になるTipsやサンプルが豊富ですよ~
技術者向けサイト
- コミュニティに投稿やコメントしたり、Tips に質問できます。
- API のアップデート情報の通知を受け取ることができます。
- 5ユーザー、1年間無償の開発者ライセンスを申し込むことができます。
- Tipsやサンプルの動きを確認できるデモサイトを利用することができます。
- HTTP Client Tool for kintoneを利用することができます。