サーバーレス機械学習モデルのアーキテクチャ

この一連の記事では、サポート チケットがサポート エージェントに届く前にサポート チケットを拡充するサーバーレス機械学習(ML)モデルのアーキテクチャについて説明します。

エージェントは、関連するビジネス上の意思決定を行う際に、データにアクセスする必要があります。ログには基本的な分析情報が十分に含まれていますが、拡充されたデータを追加することで、より有益なものになります。このようなシステムの実装は困難である可能性があります。これらの記事では可能な解決方法を示します。

要件とアーキテクチャ

着信するサポート チケットの管理が困難な場合があります。エージェントは問題の解決に取り組む前に、次のことを行う必要があります。

  • サポート チケットのコンテキストを理解します。
  • 問題が顧客にとってどの程度深刻であるかを判断します。
  • 問題を解決するために使用するリソースの数を決定します。

通常、サポート エージェントは、サポート チケットをオープンした顧客から最小限の情報を受け取ります。多くの場合、顧客との数回のやり取りによって追加の詳細が得られます。チケットデータに基づく自動化されたインテリジェンスを追加すると、サポート リクエストを処理するエージェントの戦略的な意思決定に役立ちます。

通常、ユーザーはチケットを記録する前に、複数のフィールドを含むフォームに入力します。この使用例では、サポート チケットは機械学習によって拡充されていないと仮定します。また、現在のサポート システムで数か月間チケットが処理されているとします。

サポート チケットを拡充するには、既存のラベル付きデータを使用する ML モデルをトレーニングする必要があります。この場合、トレーニング データセットは、すでにクローズしているサポート チケットの履歴データで構成されます。必要なデータは次の 2 種類のフィールドにあります。

  • 入力フィールド。ここにはユーザーが入力するフォームデータが含まれます。
  • ターゲット フィールド。これは、チケットが処理されるときに入力されます。

これらのフィールドを組み合わせると、正確な予測が可能なモデルをトレーニングするためのサンプルが作成されます。この使用例の予測には、チケットがオープン状態で維持される可能性がある期間と、チケットを割り当てるための優先度が含まれます。

このシリーズでは、これらの目標を達成するための ML の 4 つの拡充について説明します。

  • チケットの説明に基づいた感情の分析。
  • チケットの説明に基づいた自動タグ設定。
  • チケットがオープン状態で維持される期間の予測。
  • チケットを割り当てる優先度の予測。

ML の拡充ワークフローでは次のことが行われます。

  1. ユーザーがチケットを作成します。
  2. チケットの作成により、機械学習モデルを呼び出して予測する関数がトリガーされます。
  3. チケットデータが、ML モデルによって返された予測で拡充されます。
  4. サポート エージェントは、拡充されたサポート チケットを使用して効率的に意思決定します。

次の図は、このワークフローを示しています。

ML の拡充ワークフロー

チケット発行システム

システムを最初から構築するか、オープンソースのコードを使用するか、商用のソリューションを購入するかに関係なく、この記事では次のことを前提としています。

  • 顧客に表示されるブランド付きの UI でサポート チケットを生成します。すべてのヘルプデスク ツールでこのようなオプションが提供されているわけではないため、簡単なフォームページを使用して作成します。
  • サードパーティのヘルプデスク ツールには、チケットを作成できる RESTful API を通じてアクセスできます。システムではこの API を使用してチケットのバックエンドを更新します。
  • イベントが発生すると、システムではカスタムメイドの顧客 UI をリアルタイムで更新します。

Firebase は、この種の実装に対する優れた選択肢となります。

  • Firebase は、クライアントが更新できるリアルタイムのデータベースであり、登録されている他のクライアントにリアルタイムの更新を表示します。
  • Firebase は Cloud Functions を使用して、ヘルプデスク プラットフォームで利用できるような外部 API を呼び出すことができます。
  • Firebase はデスクトップ プラットフォームとモバイル プラットフォームで動作し、さまざまな言語での開発が可能です。信頼性の低いインターネット接続が発生した場合は、データをローカルのキャッシュに保存できます。

サーバーレス技術とイベントベースのトリガー

「サーバーレス技術」はさまざまな方法で定義できますが、ほとんどの説明には次の前提があります。

  • サーバーは顧客にとって遠い概念であり、認識されません。
  • 通常、アクションはイベントによってトリガーされる関数によって実行されます。
  • 通常、関数は存続時間の短い(数秒または数分続く)タスクを実行します。
  • ほとんどの場合、関数は単一の目的を持っています。

Firebase と Cloud Functions を組み合わせて、インフラストラクチャ管理を最小限に抑えることで、DevOps が効率化されます。オペレーション フローは次のとおりです。

  1. Firebase のデータベース更新に基づく Cloud Functions イベントを作成します。
  2. クライアントは Firebase データベースにチケットを書き込みます。
  3. Cloud Functions トリガーは、いくつかの主なタスクを実行します。

    • デプロイされている機械学習アルゴリズムを使用して予測を実行します。
    • Firebase リアルタイム データベースを拡充されたデータで更新します。
    • 統合されたデータを使用して、ヘルプデスク システムにチケットを作成します。

サポート チケットの拡充

自動タグ設定、感情分析、優先度予測、解決時間予測を 2 つのカテゴリにグループ化できます。これらのカテゴリは、機械学習タスクの実行方法に基づいています。

  • 感情分析と自動タグ設定では、すでに Google によってトレーニングされ、構築された機械学習 API が使用されます。事前トレーニングされたモデルでは、独自に構築したものよりもカスタマイズの自由度は少なくなる可能性はあるものの、すぐに使用できます。
  • チケットの解決時間と優先度を予測するには、モデルを構築するか、あらかじめ用意されているモデルを使用して、入力やターゲット フィールドなどのカスタムデータでモデルをトレーニングする必要があります。

感情分析と自動タグ設定

サポート チケットを記録するとき、エージェントは顧客がどのように感じているかを知りたい場合があります。チケットの説明に対する感情分析を実行すると、この情報の提供に役立つ場合があります。

また、チケットに記載されている内容の概要を理解することも重要です。サポート チケットを作成する場合、通常、顧客はプルダウン リストからいくつかのパラメータを入力しますが、問題を説明するときに、より多くの情報が追加されていることがよくあります。説明に含まれる最も重要な単語を識別するツールを使用することにより、エージェントは主題を絞り込むことができます。このプロセスは、推測による自動タグ設定として定義されています。

どちらの解決策も一般的で、説明することは簡単ですが、最初から構築することは困難です。テキスト分析用にトレーニングされた強力なモデルを大規模に使用することには、明らかにメリットがあります。このようなモデルは開発時間を短縮し、インフラストラクチャの管理を簡素化します。

このような拡充の考え方の両方に適したソリューションが Cloud Natural Language API です。この API は RESTful API として Cloud Functions から簡単にアクセスできます。Natural Language API は、Google 拡張データセットを使用して事前にトレーニングされたモデルで、複数のオペレーションが可能です。

  • 感情分析
  • 顕著性計算によるエンティティ分析
  • 構文解析

この記事では、感情分析とエンティティ分析の両方を活用します。自動タグ設定は、顕著性がカスタム定義のしきい値を超えた単語を保持することで処理します。

特定のタグを自動的に返すモデルが必要な場合は、自然言語処理(NLP)モデルのカスタム トレーニングとカスタム作成が必要です。このアプローチは、チケットを完全に分類することではなく、説明をすばやく分析することが目的であるため、あらゆるタグ付けに対応しています。

チケットの解決時間と優先度の予測

チケットの解決時間とその優先度ステータスは、各ヘルプデスク システムに固有の入力(チケットのフィールド)によって異なります。このため、英語のタグ設定や感情分析の場合と同様に事前トレーニングしたモデルを使用することはできません。独自の機械学習機能をトレーニングする必要があります。

解決時間と優先度を予測するワークフローは似ていますが、2 つのアクションは 2 つの異なる種類の値を表します。

  • 解決時間は連続値です。
  • 優先度には、ヘルプデスク システムに基づいて事前定義された複数のオプションがあります。

「サーバーレス機械学習モデルによるサポート チケットのスマート化」の機械学習では、回帰と分類を使用して両方の問題を解決する方法について説明しています。

次のことが可能になるアーキテクチャを選択します。

  • カスタムデータを使用したモデルのトレーニング。
  • モデルのデプロイおよび Cloud Functions 用の RESTful API としての利用。
  • 必要に応じたモデルのスケーリング。

Cloud Datalab は、クラウドで Jupyter ノートブックを実行する Google 管理のツールです。Cloud Datalab は他の Google Cloud Platform(GCP)プロダクトと統合されています。Cloud Datalab では ML Workbench(ここからノートブックの例をご覧ください)も実行できます。これは、TensorFlowAI Platform という 2 つの主要技術の使用を容易にする Python ライブラリです。

TensorFlow の機能は次のとおりです。

  • TensorFlow 組み込みのグラフ(実行可能ファイル)は移植性があり、さまざまなハードウェアで実行できます。
  • Estimator API を使用すると、事前構築モデルまたはカスタムモデルを使用できます。この記事では ML Workbench を使用することで、データをモデルにマッピングするなどのコンセプトを理解しやすくしています。
  • テストの特徴を使用すると、モデルを取得して、分散環境でトレーニングと評価ができます。

AI Platform は、TensorFlow グラフを実行できるマネージド サービスです。このサービスは、次のような機械学習タスクを容易にします。

  • 分散環境での最小限の DevOps によるモデルのトレーニング。
  • 他の GCP プロダクトとの統合。
  • モデルのトレーニングを改善するハイパーパラメータの調整。
  • RESTful API としてのモデルのデプロイおよび大規模な予測。

ML Workbench は背後で Estimator API を使用しますが、構造化データ予測の問題を扱う際には、ボイラープレート コードの多くを簡素化します。Estimator API により、特徴の関連付け、精度向上のための離散化、カスタムモデルの作成機能などのいくつかの興味深いオプションが追加されています。ただし、現在のユースケースでは、リグレッサーと分類のみが必要とされ、特徴エンジニアリングはほとんど必要ありません。このアプローチは ML Workbench の機能との適合性が高く、AI Platform を使用した分散トレーニング、バッチでのデータ読み取り、必要に応じたスケールアップにも対応します。

TensorFlow とコーディングへの関与の程度に応じて、ML Workbench か TensorFlow Estimator API のいずれかを選択できます。この記事の主目的はサーバーレス環境で ML モデルを呼び出す方法の習得であるため、ここでは ML Workbench を中心に説明します。また、TensorFlow と AI Platform に関する追加情報についても説明します。

ヘルプデスク プラットフォームとの同期

2 つのシステム間の同期は両方向で行われます。

送信
顧客がチケットをオープンするか更新すると、Cloud Functions は Firebase の書き込みをトリガーします。また、Cloud Functions は RESTful API を呼び出すことによって、サードパーティのヘルプデスク プラットフォームを更新します。
受信
エージェントがヘルプデスク プラットフォームを使用してチケットを更新すると、プラットフォームは独自のイベントをトリガーし、Firebase とクライアント UI をリアルタイムで更新する Cloud Functions HTTP ハンドラを呼び出します。

アーキテクチャ

アーキテクチャの流れは次のとおりです。

  1. ユーザーが Firebase にチケットを書き込むと、Cloud Functions がトリガーされます。
  2. Cloud Functions は次の 3 つの異なるエンドポイントを呼び出して、チケットを拡充します。

    • 関数によって優先度を予測できる AI Platform エンドポイント。
    • 関数によって解決時間を予測できる AI Platform エンドポイント。
    • 感情分析と語の顕著性を調べる Natural Language API。
  3. Cloud Functions はレスポンスごとに Firebase リアルタイム データベースを更新します。

  4. Cloud Functions は RESTful API を使用して、ヘルプデスク プラットフォームにチケットを作成します。

次の図は、このアーキテクチャを示しています。

サーバーレス アーキテクチャ

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...