DXプロジェクトを進めるために必要なエンジニアの視点
続いてはInsight Edgeのデータサイエンティスト森昭斗氏が、このプロジェクトをエンジニア視点で振り返り、DXプロジェクトを進めるために必要な3つのステップに沿って語ってくれた。
「1つ目は、MIDの事業や業務の課題をヒアリングし、どの技術を使って解決していくかを落とし込む『課題設定』。2つ目は、開発で時間を使いすぎることなく素早く形にして、業務で検証していく『開発・検証』。3つ目は利用者のフィードバックから新しい課題を抽出し、業務を磨き続ける『業務改善』。DXでは特にこの業務改善が重要です」(森氏)
課題設定
約2000カテゴリある商品の分類ミスや専門用語の多さ、カテゴリのデータ数の不均衡など、課題を整理。その複雑さとデータ量から、既存の商品カテゴリ分類をまずクレンジングすることを考えた。
アルゴリズムは同一カテゴリ内で外れ値検出する「out of distribution」を使い、そのカテゴリ内でそのカテゴリに合致した商品だけを取り出す。次にクレンジングされたデータセットで、分類アルゴリズムを構築していく。英語、インドネシア語、英語&インドネシア語の3パターンで、2000カテゴリの他クラス分類のあるモデルを作った。
「ここで重要なのは、現地スタッフが利用しやすいツールを提供するだけでなく、そのフィードバックからさらに改善していくことです」(森氏)
開発・検証
既存の商品カテゴリのクレンジングは、いきなり難しい手法を使うのではなく、基本的なアルゴリズムでトライし、精度確認を行うこと。また、業務で使えそうかを確認することが重要だと森氏は強調する。
「今回使えるデータ候補として、画像データとテキストデータの2種類がありました。画像データは生成モデルによる再構成誤差を使った外れ値検出の手法、テキストデータは1Class SVMの手法を使い、外れ値(out of distribution)を検出しました。その後、現場スタッフや佐々木さんに結果を共有し、合ってるか間違ってるかヒアリングしました」(森氏)
続いて、クレンジングしたデータセットで分類のアルゴリズムを構築していく。
「学習データセットは、2178カテゴリ、約150万商品の商品名とテキストで説明データを使っています。検討したアルゴリズムは、Word2vecで単語ごとの重みを計算したあとにMLP・CNN・RNNで分類するやり方や、カテゴリ数が多い分類に有効なExtreme Classificationなどです。ニューラルネットワーク手法の中でも、すごくシンプルな手法、最もシンプルなモデルで結構な性能が出ました」(森氏)
だが、このアルゴリズムの予測が外れた場合、従来の業務が発生してしまう。そこで、複数候補を提示し、その複数の候補の中に正しい真のカテゴリが入っていれば、そのまま使うという考え方で進めることになった。
5カテゴリを予測して、その中に真のカテゴリが含まれていたら正解としたところ、英語とインドネシア英語&インドネシア語のモデルで約98%。英語のみは約99%の精度で実際に分類することができた。
だが、いくら予測精度の高いシステムでも、現地スタッフが使いこなせなければ意味がない。森氏がこだわったのはそこだ。現地スタッフが日常業務で使い慣れているExcelに近いGoogle スプレッドシートで入力できるように配慮した。
今回の学習データDBはAWSを採用したが、住友商事のグループ会社によって扱っている使うクラウドが異なるため、案件に応じてGoogle Cloud Platform (GCP)や、Microsoft Azureでも構築可能だという。
業務改善
森氏いわく、今回のプロジェクトで実際に現地のスタッフに使ってもらった結果、わかった課題は以下の3つだ。
- 現地スタッフの学習コストへの配慮
- 現地スタッフの使いやすさと、エンジニアが思う使いやすさの違い
- データシフトによるカテゴリ予測精度悪化
「新しい業務にインドネシアの現地スタッフが慣れるのに、約1カ月は必要でした。1回教えただけではなかなか習得してもらうのは難しい。繰り返し教えて、何度も説明する必要がありました。DXのシステムを導入後は、実際にシステムを利用する方が慣れる期間を想定する必要性を学びました」(森氏)
と言うのも、実はこのシステム、現地スタッフには非常に使いにくいと不評だった。現地スタッフが思う使いやすさと、エンジニアが考える使いやすさの違いがあったからだ。業務の効率化を優先し、セルに入力するとカテゴリが表示されるように設計したものの、現地スタッフが使いやすいと感じたのは、マニュアルに落とし込やすい設計だったのだ。
アルゴリズム面でもデータシフトによるカテゴリ予測の精度が悪化する問題があった。学習データで使っていたデータと、実際に運用時に入力されるデータが違うことによって、アルゴリズムの精度が悪化する問題である。
「実際の利用ログとしては左側が学習データに使った文字列、右側は現地スタッフが実際に入力する情報です。マスターデータに対して、現地スタッフが入力する情報が貧弱であることが要因としてあります」(森氏)
このデータシフト問題に対し、森氏は2つの方針を打ち出している。
- 方針1:少ない情報でも精度が出るようにアルゴリズム改修する
- 方針2:業務フローから見直し、アルゴリズムへの入力情報を増やす
最後のまとめとして、森氏はDXプロジェクトを料理に例え、時間やコストをかけて最高の環境やアルゴリズムを用意するよりも、料理を食べる受け手の視点で、使いやすいものを素早くリーズナブルに提供することが重要だと語った。
そして、Insight Edgeとしてデジタルを使った新しい価値の創出や、テクノロジーの導入に積極的に取り組んでいきたいと決意を示し、セッションを結んだ。