実プロダクトのデータで開発プロセスを体験。「働き方改革×機械学習ハッカソン」開催レポート

2019年12月7日、大阪府大阪市のグランフロント大阪カンファレンスルームにて、「多数の導入実績を持つAIプロダクトに挑め。働き方改革×機械学習ハッカソン」が開催されました。エヌ・ティ・ティ・スマートコネクト株式会社(以下、NTTスマートコネクト株式会社)が開発する、AIを用いたプロセスマイニングサービスと同様の「生産性向上が望める作業の洗い出し」をテーマとした本イベント。14名の学生さんが3チームに分かれ、生産性向上可能な作業の定義からその実装までを行う難題に1日で挑戦しました。

課題内容

NTTスマートコネクト株式会社では、PCの作業ログを元に業務効率化を行うプロセスマイニングサービス「wakucone」を開発・提供しています。本イベントでは、「wakucone」で実際に収集されたPCログデータを匿名化したものを使用。参加者はチームでこのデータから、プロダクトと同様に生産性向上可能な作業を洗い出す課題に取り組みます。なお、チーム編成は事前にPeakers側で行い、A・B・Cの3チームでの実施となりました。

当日のワークの様子

課題の特徴は、洗い出すためのモデル構築だけではなく生産性向上可能な作業の定義と検出方法の考案から行う点です。各チームはまずログデータを十分に観察し、実際の業務をイメージしながら生産性向上可能な作業はどんなものがあるか、どうすれば検出できるかを検討しました。

PCログにはアクティブウィンドウ名や時間などが時系列順に記録されており、単純に見ただけでは何をしているかわかりません。その上、日本語・英語・数字・記号など様々な形式の情報が入り混じっており、検出に工夫が必要なデータとなっています。難しいデータですが、参加者の皆さんからは「プロダクトでの実データに近いものが取り扱えた」と好評でした。

定義と方法の検討後、検出の実装まで1日で行っていただきます。コーディングスキルだけではなく、プロダクトの利用イメージを考慮した検出プロセスの設計能力も求められる非常に難易度の高い課題でした。

最終アウトプットは検出モデルのデモと、定義・検出プロセスに関するプレゼンテーションです。評価はNTTスマートコネクト社のメンター陣により、あらかじめ決められた評価基準に従って質的に行われました。

当日の様子

かなりハイレベルな課題にたった1日で挑戦する今回のイベント。計画性を持ってスピーディに取り組みを進める必要があり、どのチームも休みなく議論をかわしたり、モデルを構築したりしていました。

先述の通り、まずはデータを眺めてフローを把握し生産性向上可能な作業の定義を見出します。今回は事前に課題内容とログデータが配布されており、効率化できそうな作業を挙げて当日持ち込む宿題が与えられていました。宿題の結果と、追加してチーム内でデータから気づいたことや定義になりそうなことを洗い出し、その中から定義を作り上げていきます。ディスカッションでチームの方向性を定めることが重要だったため、チームで集まってひとつのPCを囲む姿がよく見られました。また、付箋やボードを用いてチームメンバーの考えを整理するチームも。時間がかなり限られていたこともあって会話は非常に活発でした。

集まって議論するチームAのメンバー

メンターとして学生さんをサポートしたのは、NTTスマートコネクト株式会社で「wakucone」を開発・提供しているたデジタルビジネス推進室の方々です。デジタルビジネス推進室のエンジニアチームのリーダーでデータサイエンティストの辻尾 尚樹さん、(2019年当時)新卒一年目でデータサイエンティスト/UXデザイナーの小山 純汰さん、プロダクトオーナーの柏尾 明希人さんの3名にご参加いただきました。

お三方とも、実際にプロダクトを開発・提供している中での生の知見を伝えながら、答えを提示するのではなくヒントを与えチームを導くようなアドバイスを行っていらっしゃいました。定義のフェーズでかなり苦戦したチームもありましたが、積極的にメンターさんの支援を受けることでチームなりの答えにたどり着いていました。

メンター辻尾さん(写真中央)からアドバイスを受けるチームCのメンバー

定義が固まると、モデルを構築するメンバー・スライドを作成するメンバーなど役割分担して一気に作業を進めていきます。残り少ない時間でアウトプットをまとめるため、どのチームも非常に焦った様子を見せながら全員で力を合わせて取り組んでいました。

終盤集中して作業を進めるチームBのメンバー

最終発表

ワーク時間はあっという間に過ぎ、最終発表です。

チームA

チームAは常に議論が白熱しており、全チームの中で最初に生産性向上可能な作業の定義を決定していました。検出には自然言語処理の手法であるN-gramを利用し、連続した2つのログ(ページAのあとページBに移動した、ページCのあとアプリケーションDを開いた、など)について出現回数順に並べる方法をとりました。頻出する連続作業を洗い出すことでルーティン化している作業を見つけ、改善するアプローチです。

頻出リストの中で業務に関わりのあるものかどうかを判別するところまで実施したかったが、時間が足りなかったとのことでした。また、プロダクトを導入する企業の担当者について、ペルソナを設定していたのが特徴的でした。

チームB

チームBは、モデルの汎化性能を高めることにこだわり、汎用的な定義を見つけ出すため定義づけフェーズに最も時間がかかっていました。他チームとの大きな違いは、ログの中でファイル移動をしたレコードを作業の区切りとみなし、ファイル移動からファイル移動までを1つの作業ブロックとした点です。ブロックごとに同じ動作をしているログの数を抽出・時間を合計し、全ブロックを通じて頻出する類似作業を洗い出しました。結果、非効率的な類似タスクは全体の27.8%あるという見解でした。時間があれば、各ブロック内での繰り返し回数を特徴量として組み込む・オートエンコーディングを用いて行列データから繰り返しを検出するなどを実施したかったとのことです。また、目指していた汎用化については今回は諦めた部分もあったそうですが、少なくとも今回のデータ取得元の企業における新しいデータには対応できるよう工夫された検出方法になっていると感じました。

チームC

他のチームとは異なる視点で生産性向上可能な作業を抽出したのがチームCです。チームCは「サボり」を検出するという方法をとりました。webスクレイピングを用いて業務中に関係のないwebページを閲覧している従業員を見つけ、その時間が一定以上に達した場合は管理者(上司など)に通知を飛ばすものです。

定義を説明するチームCの満留 杏奈さん

サボってしまっている人を探し出すことで、業務効率の改善のほか割り当てる作業量が少ないのではないか・モチベーションが低下しているのではないか、など効率面以外での改善も見込めるという考えでした。一方で、メンターさんからも指摘がありましたが、業種・業務内容などによってはwebページが業務に関係しているかどうかが判断しにくい場合もあり(エンタメ系の職種やwebページ制作会社、ECサイトの運営会社など)、その点は改善が必要との見解でした。

メンターさんからの質問に答えるチームCの大石 悠貴さん

全てのチームの発表が終わり、別室でメンター陣が最終審査を実施。その間、NTTスマートコネクト社経営企画部・事業推進担当の河野 千恵さんによる企業説明が行われました。

河野さん(写真左)による企業説明に耳を傾けるみなさん

果たして、どのチームが優勝を勝ち取ったのでしょうか。

結果発表と総評

お待ちかねの結果発表! 見事優勝を果たしたのは、チームBでした!

準優勝はチームA

3位はチームCとなりました。

優勝のチームBは生産性向上可能な作業の定義および検出方法がどちらも実際のプロダクトに近かったこと、その検出成果も同社で行なったものとかなり近似していたことが高く評価されました。

総評では、まずメンターの辻尾さんより、「wakucone」における生産性向上可能な作業の検出について解説していただきました。「wakucone」では、検出した作業を割合や総時間などの情報が含まれたレポートとして閲覧することができます。その中で提示された全体のPC作業時間に占める繰り返し作業の割合はおよそ25~26%と、チームBが推定した割合とほぼ同じで、会場からは驚きの声が上がっていました。検出の方法も「チームBが行なっていたものを大きく発展させたような形」と、チームBがかなりレベルの高いアウトプットを行なっていたことが伺えます。

続いて同じくメンターの小山さんより全体および各チームへのコメントをいただきました。

「全体的に、想像していたよりもかなりレベルが高かったです。発表時の質疑応答でも皆さんきちんと回答されていて、すごいなと思いました」

「優勝したチームBは、(ブロックを作成し、ブロック単位で集計することで類似タスクを見つけるという)生産性向上可能な作業の定義がとても良く、加えて技術的な取り組みも十分行われていました。また、もっと時間があればより良い成果を出せたのではないかと感じています。検出結果の値が実際のものと近かったことも高評価しました。欲を言えば、検出された生産性向上可能な作業の内容が知りたかったです」

「準優勝のチームAは、まず、ペルソナを設定したところがよかったです。手法については、実は我々がプロダクトの開発初期に行なったものと似ていました。我々はそれを二週間ほどかけて作成したので、今回1日で類似する内容までたどり着いたのはすごいと感じました。また、実際に効率化するための方法まで考えていたところは高評価でした。ペルソナや定義がもう少し整理されていれば、もっと踏み込んだ内容になったのではないかと思います」

「チームCは、作業の検出について考える際の視点はよかったので、定義をより詳細に考えることができれば、かなり面白いものになったのではないかと思っています。また、データ内容が足りないのでwebスクレイピングを用いるという発想も非常に良かったです」

優勝したチームBおよび小山さんには、別途インタビューを実施しています。

機械学習×働き方改革ハッカソン メンターインタビュー – エヌ・ティ・ティ・スマートコネクト株式会社 デジタルビジネス推進室 小山純汰さん

機械学習×働き方改革ハッカソン 優勝チームインタビュー 田中さん 呉さん 西森さん 張さん 徳永さん

優勝チームには工夫した点やもっと改善できた点、小山さんには上位入賞のポイントなどをお伺いしています。併せて是非ご覧くださいませ。

まとめ

たった1日という短い時間の中で全力を出し素晴らしいアウトプットをしてくださった参加者の皆さん、本当にお疲れ様でした。自然言語的にアプローチしたチーム、スクレイピングを用いるチーム、そしてプロダクトにか近い方法まで辿り着いた優勝チームと、三者三様の成果が見られ、発表を聞いていて非常に興味深かったです。

一般的なコンペティションとは異なり、検出するものの定義から行う必要があった今回のハッカソン。普段と違った頭の使い方を求められ、とても大変だったのではないでしょうか。一方で、学生さんからは「企業での業務だと定義のフェーズから始めなければならないと思うので、実務に近いことができてとても勉強になった」といった声がたくさん上がっており、皆さんの大きな成長の機会になったのではないかと感じています。

また、本イベントはPeakersでは2度目となる関西での開催でした。現在は関東圏での開催が中心となっておりますが、オンラインでの開催・交通費の支給などを始め地方にお住いの方にもご参加いただけるようなイベントを開催してまいります。

Peakersでは、今後も様々なハッカソン・MeetUp・インターンシップを開催予定です。ここでしか体験できない学びを手に入れたい学生の皆さん、ご参加をお待ちしております!

[contact-form-7 404 "Not Found"]