How AutoNavi engineers improve processing efficiency
1. 背景
まず、本記事に登場する用語について説明します。
インテリジェンス:テキスト、画像、動画などの情報であり、Amap の開発またはナビゲーションでの特定の課題を解決するために使用されます。本質的には、道路や交通に関する知識や事実を指し、特定の時間と場所を通じて特定のユーザーに通知されます。
ユーザーフィードバック:ユーザーが使用するソフトウェアについて、何らかの媒体を利用して、インテリジェンス、提案、苦情などのフィードバック情報を提供することを指します。
2. 問題と解決策
ユーザーフィードバックは、スマートフォンの Amap アプリおよび PC 版から報告できます。報告時には、いくつかの選択肢とテキスト記述を選択して問題を報告します。以下にユーザーフィードバックの例を示します。ここでは、問題の出所、大分類、小分類、道路名が選択肢であり、ユーザー説明文は手動で入力される内容で、一般的に短いテキストです。これらが、私たちが活用する主な特徴でもあります。
各ユーザーは、問題を報告した後、速やかに問題が解決され、フィードバックを受け取ることを期待しています。しかし、ユーザーフィードバックの件数は毎日数十万件に上り、タイムリーなフィードバックを実現することは非常に困難です。
これらのユーザーフィードバック情報について、現在の全体的なプロセスは、まずルールを使用して分類を行い、その中で道路に関連する各フィードバックを手動で検証して、ユーザーが報告した問題の種類と問題の位置を特定し、ナビゲーション用の道路データを適時に更新します。
具体的なフィードバック処理は、インテリジェンス識別、インテリジェンス位置特定、インテリジェンス検証などのステップを経る必要があります。
1) インテリジェンス識別は主に問題の類型を特定し、情報にラベルを付与するために使用されます
ユーザーが報告した情報を分析します。問題の出所、大分類、小分類、ユーザー説明文などが含まれます
アップロードされた画像データを確認します。スマートフォンの自動スクリーンショットやユーザーが撮影した写真が含まれます
2) インテリジェンス位置特定は主に問題の位置情報、すなわち座標を特定します
ユーザーフィードバック問題のタイムスタンプの位置情報の有効性を分析します
ユーザーが問題を報告した時点の車両の位置、すなわち自動走行位置を確認します
ソフトウェア使用中のユーザーの計画ルートや実際の移動軌跡などのログ情報を分析します
3) インテリジェンス検証:前述の 2 つのステップを通じて情報のラベルと位置座標が確定し、このステップでは道路名を含む情報のラベルを検証する必要があります
ビッグデータのヒートマップや道路ネットワークの基礎データを分析します
ユーザーがアップロードしたデータや収集されたマルチメディア画像を確認します
ビジネス処理の全体像は下図に示す通りです。
ユーザーフィードバック処理の全体を通じて貫かれる原則は、ユーザーの問題が実際に存在していると十分に信じることです。ユーザーが報告した情報だけでは問題の種類と位置を判断できない場合、ユーザーの計画ルートや実際の移動軌跡などのログ情報を通じて、ユーザーに有利な結論を導き出します。
現在、ユーザーフィードバック問題処理プロセスにおける主な課題は、ルール振り分けの精度が低いこと、手動検証プロセスが複雑であること、スキル要件が高く効率が低いこと、そして誤判定が深刻であることです。
前述の課題を解決するため、機械学習を導入し、データ駆動で運用能力の向上を図りたいと考えています。具体的な実装を探る過程で、まずビジネスを階層的に分類・整理し、次にアルゴリズムでルールを置き換えて情報を分類し、さらに手動検証プロセスをインテリジェンス識別、インテリジェンス位置特定、インテリジェンス検証などのステップに分解して個々のスキルの迅速な運用を実現し、最終的に分解されたインテリジェンス識別ステップをアルゴリズムで自動化します。
3. 機械学習による問題解決
3.1 ビジネスの整理と階層的なプロセス分解
元のユーザーフィードバック問題はルールで分類された後、インテリジェンス識別、位置特定、検証が行われ、最終的に問題がどの小分類項目(約 100 項目)に属するかを確認し、上位分類と全階層の対応関係を確定します。
ここから分かるように、問題処理プロセス全体は一つのステップしかなく、処理は非常に複雑で、高い手動スキルを必要とし、効率が低くなります。さらに、「千人の目に千のハムレット」と言われるように、個人の主観も問題の判断に影響を与えます。
この状況に対処するため、元のビジネスプロセスを整理・分解し、一部を機械学習とプロセス自動化で解決し、全体的な問題処理の効率向上を目指しました。
まず、有効なインテリジェンスと無効なインテリジェンスの分類を行い、無効なものを除去します。その後、プロセス全体をビジネスレベル 1、ビジネスレベル 2、ビジネスレベル 3、インテリジェンス識別、インテリジェンス位置特定、インテリジェンス検証の 6 階層に分割します。
上図に示すように、分解後の最初の 3 レベルはインテリジェンス分類です。最後の 3 レベルのみ部分的な手動介入が必要で、その他のレベルは直接自動化されています。このように、階層化、自動化、専任スタッフの配置によって問題を大幅に簡素化し、効率を向上させています。
3.2 ビジネスとモデルの適合
ユーザーフィードバックには選択肢と入力項目の両方が含まれていることが分かります。問題の出所などの選択肢にはデフォルト値があり、対応する内訳項目をクリックして選択する必要があります。ユーザーには丁寧には選択する余裕がない場合や、具体的な分類基準を知らないために正しい分類を選択できない場合があります。ユーザー説明文はユーザーが手動で入力するコンテンツであり、ユーザーの真の意図を表現する主要な手段であり、ユーザーフィードバックで最も価値のある内容です。
ユーザー説明文は一般的に、記述なし、記述はあるが無意味、記述があり意味がある、の 3 つの場合に分けられます。前者 2 つを無効記述、後者を有効記述と呼びます。
ビジネス分解の結果に基づき、ビジネスプロセスの最初のステップは無効性の除去です。その後、有効記述と無効記述のユーザーフィードバックを区別し、それぞれに対応するプロセスを構築して処理します。
1) 有効記述のユーザーフィードバックは段階的に分類されます。第 1 レベルではデータ、プロダクト、転送の 3 カテゴリに分け、プロダクトと転送は直接自動処理されます。データカテゴリは第 2 レベルで道路とトピックに分けられます。トピックは非道路交通制限、ステップガイド、サイクリングなどを指します。
2) 無効記述のユーザーフィードバックも同様に分類され、同じプロセスを経ますが、サンプルセットとモデルが異なり、最後にアルゴリズム処理ステップがなく、直接手動またはルールベースで処理されます。
3) 最後に、実際のビジネスニーズに基づき、段階的な分解を経て、ビジネスとモデルの適合構造を形成します。
前述の分析から、インテリジェンス分類とインテリジェンス認識はいずれも多クラステキスト分類問題であることが分かります。異なるデータ特性に応じて対応する操作を行います。
インテリジェンス分類は各レベルで分類内容が異なりますが、モデルアーキテクチャは再利用可能で、わずかな変更を加えるだけで済みます。さらに、以前に手動検証された既存データセット(インテリジェンス識別、インテリジェンス位置特定、インテリジェンス検証などのプロセスを経たもの)があり、最終結果を分類ラベルの正解値として使用できるため、サンプルセットは比較的容易に取得できます。
インテリジェンス認識の分類ラベルはインテリジェンス検証前の中間結果であり、手動でのみラベル付けできます。本番環境の正常な運用を確保する前提で、人的リソースをできる限りラベル付けに割り当てる必要がありますが、リソースは非常に限られています。そのため、まずインテリジェンス分類データセットでファインチューニングを行ってモデルをトレーニングします。その後、手動ラベル付きサンプルがある程度蓄積されてから、インテリジェンス認識の適用を開始します。
3.3 モデル選択
まず、非構造化テキストのユーザー説明文をベクトル形式、すなわちベクトル空間モデルで表現します。従来の手法では、離散特徴の one-hot 表現、つまり tf-idf 値で単語を表現し、ディメンションは辞書サイズとなります。しかし、この表現方法で統計サンプル数が増えると、データのスパース化とディメンションの爆発が発生します。
同様の問題を回避し、単語間の関係(意味的類似性や語順の近接性など)をより良く表現するため、単語埋め込み手法、すなわち Mikolov が提案した word2vec モデルを使用します。このモデルは単語の文脈構造情報を利用して、単語の意味を固定されたベクトル空間に写像でき、ベクトル空間上の類似性がテキストの意味的類似性を表すことができます。本質的には、文脈特徴の抽象的表現とみなすことができます。
次に、最も重要なのがモデル選択です。従来の統計学習手法の複雑な特徴量エンジニアリングステップと比べ、ディープラーニング手法がより注目されています。NLP で最も一般的に使用されるのは循環型ニューラルネットワーク RNN で、ネットワーク内で状態を循環させます。フィードフォワードニューラルネットワークと比較して、より広範な時系列構造の入力を受け入れ、文脈情報をより良く表現できます。ただし、トレーニング中に勾配消失や勾配爆発などの問題が発生する可能性があり、LSTM がこの問題を非常にうまく解決できます。
3.4 モデルアーキテクチャ
各ユーザーフィードバック情報の単語ベクトル結果を LSTM の入力とし、LSTM の最後のユニットの出力をテキスト特徴量として、他のユーザーの選択質問と組み合わせてモデル入力とします。その後、全結合層を経て softmax を出力層として分類を行います。得られる 0 から 1 の間の実数が分類の根拠となります。多カテゴリのネットワークアーキテクチャを下図に示します。
4. 実戦経験のまとめ
ビジネスロジックを明確にし、問題解決の手順を確定し、サンプルのラベル付けとスケジューリングを確認し、最初のモデルを構築した後、問題は半分以上解決したはずだと安堵しました。残りはモデルの調整と最適化を行い、サンプルの蓄積を待って、トレーニング後に容易に本番環境に投入できる状態にするだけです。
しかし、実際の状況は予想以上に多くの問題と困難に直面しました。トレーニングデータの不足、単一モデルの性能不足、ハイパーパラメータ設定の不完全さなどです。長く困難な最適化と反復のプロセスがようやく始まったばかりでした。
4.1 ファインチューニング
モデルを選択した後、インテリジェンス認識が直面する最初の問題はサンプルサイズの深刻な不足です。ファインチューニング手法を使用して、ネットワーク上の学習済みモデルをわずかに修正してからトレーニングを行い、モデルの効果を向上させます。手動ラベル付きサンプルの漸増に伴い、異なるサイズのデータセットで約 3 パーセントポイントの改善を達成できます。
4.2 パラメーター調整
モデルのパラメーター調整は、まさに内力の修行であり秘伝の練成です。実際、効果が必ずしも良いとは限りません。約 30 組のパラメーター調整実験を行い、以下の血と涙に満ちた貴重な経験を得ました。
1) 初期化は必須です。SVD 初期化を選択します
2) ドロップアウトも必ず使用する必要があり、過適合を効果的に防止し、アンサンブルとしての機能も果たします。LSTM の場合、ドロップアウトの位置は LSTM の前に配置すべきです。特に双方向 LSTM では必ずそうする必要があり、さもなければ直接過適合に陥ります
3) 最適化アルゴリズムの選択については、Adam、RMSprop、SGD、AdaDelta などを試しました。実際、RMSprop と Adam の効果に大きな差はありませんが、Adam は RMSprop とモメンタムの組み合わせとみなせるため、最終的に Adam を選択しました
4) バッチサイズは一般的に 128 前後から調整を始めますが、大きいほど良いとは限りません。異なるデータセットに対して、バッチサイズ 64 の場合も必ず試す必要があります。意外な発見があるかもしれません
5) 最後に忘れてはならないのは、データをできる限り十分にシャッフルすることです
4.3 アンサンブル
単一モデルの精度不足を解決するため、アンサンブル法を採用しました。多くの実験グループを経て、最終的に異なるパラメータ設定でトレーニングした最良の 5 つのモデルを選択し、投票によるアンサンブルを行った結果、全体の精度は単一最適モデルより 1.5 ポイント向上しました。
さらに、モデルの効果を最適化するため、双方向 LSTM や異なるパディング手法などのモデル調整も試みました。比較した結果、インテリジェンス認識では大きな差がないことが分かりました。分析の結果、これは各ユーザーの問題記述方法の違いと、分布差が顕著でないことが原因でした。
4.4 信頼度の区別
インテリジェンス認識の多クラス分類モデル自体の構造最適化とパラメーター調整がある程度のボトルネックに達した時点で、最終的なモデル効果と自動化の間にまだ一定のギャップがあることが判明しました。特徴が不完全であること、一部特徴のエンジニアリング抽出精度が限られていること、カテゴリが不均衡であること、単一カテゴリのサンプル数が多くないことが原因です。
アルゴリズムの実装をより良く推進するため、カテゴリ内の信頼度の区別を試みました。主に信頼度モデルとカテゴリ別のしきい値設定という 2 つの方法を使用し、最終的にシンプルで効率的なカテゴリ別しきい値設定方法を選択しました。
信頼度モデルは分類モデルのラベル出力結果を入力として使用します。各ラベルのサンプルセットをトレーニングセットと検証セットに再分割し、トレーニング後に信頼度モデルを取得し、高信頼度の結果を適用します。
信頼度モデル実験では、バイナリ、重み付き交差エントロピー、アンサンブル法で実験を行いました。重み付き交差エントロピーの数式は以下の通りです。
実験結果として、バイナリ法では明確な効果改善が見られませんでした。アンサンブル法は 95% の信頼度で高い再現率を達成しましたが、98% の信頼度モデルには達しませんでした。
インテリジェンス分類アルゴリズムモデルの実装では、カテゴリごとに異なる softmax しきい値を設定して高信頼度判定する方法、すなわちカテゴリ別しきい値設定を採用しました。同様の手法をインテリジェンス認識にも適用した結果、以前作成した高信頼度モデルの効果を上回ったため、最終的にこの方法を選択しました。これにより、運用者の作業効率を大幅に向上させることができます。同時に、運用者の操作複雑さを軽減するため、低信頼度部分の Top N 推薦も提供し、操作時間を最大限に節約します。
5. アルゴリズムの効果と応用成果
5.1 情報分類
アルゴリズム効果:実際のアプリケーション要件に基づき、インテリジェンス分類アルゴリズムの最終効果は、プロダクトクラスの精度が 96% 以上、データクラスの再現率が 99% に達しました。
応用成果:他の戦略と連携して、全体の自動化率が大幅に向上しました。ルール最適化後の実運用では、運用者数と単位操作コストが 4/5 に削減され、ユーザーフィードバックのバックエンド処理のボトルネックを解消しました。
5.2 インテリジェンス識別
アルゴリズム効果:高信頼度部分は自動化し、低信頼度部分は手動でラベル付けする戦略に基づき、インテリジェンス認識アルゴリズムの最終効果は、有効記述の精度が 96% 以上に達しました。
応用成果:インテリジェンスラベル分類モデルをプラットフォームに接続後、高信頼度と低信頼度のラベルを差別化処理することで、運用者の効率は 30% 以上向上しました。
6. まとめと展望
このプロジェクトを通じて、複雑なビジネス問題を効果的に解決する一連の方法論を構築し、NLP アルゴリズムとビジネスを密接に組み合わせて問題を解決する実践経験を蓄積しました。現在、これらの方法と経験は他のプロジェクトでも十分に活用されており、継続的に蓄積と改善が進められています。ユーザー満足度を継続的に向上させる前提で、できるだけ効率的かつ自動的に問題に対処し、プロダクトのあらゆる細部の完璧さを追求すること、それが私たちの原動力であり、変わらぬ目標です。
まず、本記事に登場する用語について説明します。
インテリジェンス:テキスト、画像、動画などの情報であり、Amap の開発またはナビゲーションでの特定の課題を解決するために使用されます。本質的には、道路や交通に関する知識や事実を指し、特定の時間と場所を通じて特定のユーザーに通知されます。
ユーザーフィードバック:ユーザーが使用するソフトウェアについて、何らかの媒体を利用して、インテリジェンス、提案、苦情などのフィードバック情報を提供することを指します。
2. 問題と解決策
ユーザーフィードバックは、スマートフォンの Amap アプリおよび PC 版から報告できます。報告時には、いくつかの選択肢とテキスト記述を選択して問題を報告します。以下にユーザーフィードバックの例を示します。ここでは、問題の出所、大分類、小分類、道路名が選択肢であり、ユーザー説明文は手動で入力される内容で、一般的に短いテキストです。これらが、私たちが活用する主な特徴でもあります。
各ユーザーは、問題を報告した後、速やかに問題が解決され、フィードバックを受け取ることを期待しています。しかし、ユーザーフィードバックの件数は毎日数十万件に上り、タイムリーなフィードバックを実現することは非常に困難です。
これらのユーザーフィードバック情報について、現在の全体的なプロセスは、まずルールを使用して分類を行い、その中で道路に関連する各フィードバックを手動で検証して、ユーザーが報告した問題の種類と問題の位置を特定し、ナビゲーション用の道路データを適時に更新します。
具体的なフィードバック処理は、インテリジェンス識別、インテリジェンス位置特定、インテリジェンス検証などのステップを経る必要があります。
1) インテリジェンス識別は主に問題の類型を特定し、情報にラベルを付与するために使用されます
ユーザーが報告した情報を分析します。問題の出所、大分類、小分類、ユーザー説明文などが含まれます
アップロードされた画像データを確認します。スマートフォンの自動スクリーンショットやユーザーが撮影した写真が含まれます
2) インテリジェンス位置特定は主に問題の位置情報、すなわち座標を特定します
ユーザーフィードバック問題のタイムスタンプの位置情報の有効性を分析します
ユーザーが問題を報告した時点の車両の位置、すなわち自動走行位置を確認します
ソフトウェア使用中のユーザーの計画ルートや実際の移動軌跡などのログ情報を分析します
3) インテリジェンス検証:前述の 2 つのステップを通じて情報のラベルと位置座標が確定し、このステップでは道路名を含む情報のラベルを検証する必要があります
ビッグデータのヒートマップや道路ネットワークの基礎データを分析します
ユーザーがアップロードしたデータや収集されたマルチメディア画像を確認します
ビジネス処理の全体像は下図に示す通りです。
ユーザーフィードバック処理の全体を通じて貫かれる原則は、ユーザーの問題が実際に存在していると十分に信じることです。ユーザーが報告した情報だけでは問題の種類と位置を判断できない場合、ユーザーの計画ルートや実際の移動軌跡などのログ情報を通じて、ユーザーに有利な結論を導き出します。
現在、ユーザーフィードバック問題処理プロセスにおける主な課題は、ルール振り分けの精度が低いこと、手動検証プロセスが複雑であること、スキル要件が高く効率が低いこと、そして誤判定が深刻であることです。
前述の課題を解決するため、機械学習を導入し、データ駆動で運用能力の向上を図りたいと考えています。具体的な実装を探る過程で、まずビジネスを階層的に分類・整理し、次にアルゴリズムでルールを置き換えて情報を分類し、さらに手動検証プロセスをインテリジェンス識別、インテリジェンス位置特定、インテリジェンス検証などのステップに分解して個々のスキルの迅速な運用を実現し、最終的に分解されたインテリジェンス識別ステップをアルゴリズムで自動化します。
3. 機械学習による問題解決
3.1 ビジネスの整理と階層的なプロセス分解
元のユーザーフィードバック問題はルールで分類された後、インテリジェンス識別、位置特定、検証が行われ、最終的に問題がどの小分類項目(約 100 項目)に属するかを確認し、上位分類と全階層の対応関係を確定します。
ここから分かるように、問題処理プロセス全体は一つのステップしかなく、処理は非常に複雑で、高い手動スキルを必要とし、効率が低くなります。さらに、「千人の目に千のハムレット」と言われるように、個人の主観も問題の判断に影響を与えます。
この状況に対処するため、元のビジネスプロセスを整理・分解し、一部を機械学習とプロセス自動化で解決し、全体的な問題処理の効率向上を目指しました。
まず、有効なインテリジェンスと無効なインテリジェンスの分類を行い、無効なものを除去します。その後、プロセス全体をビジネスレベル 1、ビジネスレベル 2、ビジネスレベル 3、インテリジェンス識別、インテリジェンス位置特定、インテリジェンス検証の 6 階層に分割します。
上図に示すように、分解後の最初の 3 レベルはインテリジェンス分類です。最後の 3 レベルのみ部分的な手動介入が必要で、その他のレベルは直接自動化されています。このように、階層化、自動化、専任スタッフの配置によって問題を大幅に簡素化し、効率を向上させています。
3.2 ビジネスとモデルの適合
ユーザーフィードバックには選択肢と入力項目の両方が含まれていることが分かります。問題の出所などの選択肢にはデフォルト値があり、対応する内訳項目をクリックして選択する必要があります。ユーザーには丁寧には選択する余裕がない場合や、具体的な分類基準を知らないために正しい分類を選択できない場合があります。ユーザー説明文はユーザーが手動で入力するコンテンツであり、ユーザーの真の意図を表現する主要な手段であり、ユーザーフィードバックで最も価値のある内容です。
ユーザー説明文は一般的に、記述なし、記述はあるが無意味、記述があり意味がある、の 3 つの場合に分けられます。前者 2 つを無効記述、後者を有効記述と呼びます。
ビジネス分解の結果に基づき、ビジネスプロセスの最初のステップは無効性の除去です。その後、有効記述と無効記述のユーザーフィードバックを区別し、それぞれに対応するプロセスを構築して処理します。
1) 有効記述のユーザーフィードバックは段階的に分類されます。第 1 レベルではデータ、プロダクト、転送の 3 カテゴリに分け、プロダクトと転送は直接自動処理されます。データカテゴリは第 2 レベルで道路とトピックに分けられます。トピックは非道路交通制限、ステップガイド、サイクリングなどを指します。
2) 無効記述のユーザーフィードバックも同様に分類され、同じプロセスを経ますが、サンプルセットとモデルが異なり、最後にアルゴリズム処理ステップがなく、直接手動またはルールベースで処理されます。
3) 最後に、実際のビジネスニーズに基づき、段階的な分解を経て、ビジネスとモデルの適合構造を形成します。
前述の分析から、インテリジェンス分類とインテリジェンス認識はいずれも多クラステキスト分類問題であることが分かります。異なるデータ特性に応じて対応する操作を行います。
インテリジェンス分類は各レベルで分類内容が異なりますが、モデルアーキテクチャは再利用可能で、わずかな変更を加えるだけで済みます。さらに、以前に手動検証された既存データセット(インテリジェンス識別、インテリジェンス位置特定、インテリジェンス検証などのプロセスを経たもの)があり、最終結果を分類ラベルの正解値として使用できるため、サンプルセットは比較的容易に取得できます。
インテリジェンス認識の分類ラベルはインテリジェンス検証前の中間結果であり、手動でのみラベル付けできます。本番環境の正常な運用を確保する前提で、人的リソースをできる限りラベル付けに割り当てる必要がありますが、リソースは非常に限られています。そのため、まずインテリジェンス分類データセットでファインチューニングを行ってモデルをトレーニングします。その後、手動ラベル付きサンプルがある程度蓄積されてから、インテリジェンス認識の適用を開始します。
3.3 モデル選択
まず、非構造化テキストのユーザー説明文をベクトル形式、すなわちベクトル空間モデルで表現します。従来の手法では、離散特徴の one-hot 表現、つまり tf-idf 値で単語を表現し、ディメンションは辞書サイズとなります。しかし、この表現方法で統計サンプル数が増えると、データのスパース化とディメンションの爆発が発生します。
同様の問題を回避し、単語間の関係(意味的類似性や語順の近接性など)をより良く表現するため、単語埋め込み手法、すなわち Mikolov が提案した word2vec モデルを使用します。このモデルは単語の文脈構造情報を利用して、単語の意味を固定されたベクトル空間に写像でき、ベクトル空間上の類似性がテキストの意味的類似性を表すことができます。本質的には、文脈特徴の抽象的表現とみなすことができます。
次に、最も重要なのがモデル選択です。従来の統計学習手法の複雑な特徴量エンジニアリングステップと比べ、ディープラーニング手法がより注目されています。NLP で最も一般的に使用されるのは循環型ニューラルネットワーク RNN で、ネットワーク内で状態を循環させます。フィードフォワードニューラルネットワークと比較して、より広範な時系列構造の入力を受け入れ、文脈情報をより良く表現できます。ただし、トレーニング中に勾配消失や勾配爆発などの問題が発生する可能性があり、LSTM がこの問題を非常にうまく解決できます。
3.4 モデルアーキテクチャ
各ユーザーフィードバック情報の単語ベクトル結果を LSTM の入力とし、LSTM の最後のユニットの出力をテキスト特徴量として、他のユーザーの選択質問と組み合わせてモデル入力とします。その後、全結合層を経て softmax を出力層として分類を行います。得られる 0 から 1 の間の実数が分類の根拠となります。多カテゴリのネットワークアーキテクチャを下図に示します。
4. 実戦経験のまとめ
ビジネスロジックを明確にし、問題解決の手順を確定し、サンプルのラベル付けとスケジューリングを確認し、最初のモデルを構築した後、問題は半分以上解決したはずだと安堵しました。残りはモデルの調整と最適化を行い、サンプルの蓄積を待って、トレーニング後に容易に本番環境に投入できる状態にするだけです。
しかし、実際の状況は予想以上に多くの問題と困難に直面しました。トレーニングデータの不足、単一モデルの性能不足、ハイパーパラメータ設定の不完全さなどです。長く困難な最適化と反復のプロセスがようやく始まったばかりでした。
4.1 ファインチューニング
モデルを選択した後、インテリジェンス認識が直面する最初の問題はサンプルサイズの深刻な不足です。ファインチューニング手法を使用して、ネットワーク上の学習済みモデルをわずかに修正してからトレーニングを行い、モデルの効果を向上させます。手動ラベル付きサンプルの漸増に伴い、異なるサイズのデータセットで約 3 パーセントポイントの改善を達成できます。
4.2 パラメーター調整
モデルのパラメーター調整は、まさに内力の修行であり秘伝の練成です。実際、効果が必ずしも良いとは限りません。約 30 組のパラメーター調整実験を行い、以下の血と涙に満ちた貴重な経験を得ました。
1) 初期化は必須です。SVD 初期化を選択します
2) ドロップアウトも必ず使用する必要があり、過適合を効果的に防止し、アンサンブルとしての機能も果たします。LSTM の場合、ドロップアウトの位置は LSTM の前に配置すべきです。特に双方向 LSTM では必ずそうする必要があり、さもなければ直接過適合に陥ります
3) 最適化アルゴリズムの選択については、Adam、RMSprop、SGD、AdaDelta などを試しました。実際、RMSprop と Adam の効果に大きな差はありませんが、Adam は RMSprop とモメンタムの組み合わせとみなせるため、最終的に Adam を選択しました
4) バッチサイズは一般的に 128 前後から調整を始めますが、大きいほど良いとは限りません。異なるデータセットに対して、バッチサイズ 64 の場合も必ず試す必要があります。意外な発見があるかもしれません
5) 最後に忘れてはならないのは、データをできる限り十分にシャッフルすることです
4.3 アンサンブル
単一モデルの精度不足を解決するため、アンサンブル法を採用しました。多くの実験グループを経て、最終的に異なるパラメータ設定でトレーニングした最良の 5 つのモデルを選択し、投票によるアンサンブルを行った結果、全体の精度は単一最適モデルより 1.5 ポイント向上しました。
さらに、モデルの効果を最適化するため、双方向 LSTM や異なるパディング手法などのモデル調整も試みました。比較した結果、インテリジェンス認識では大きな差がないことが分かりました。分析の結果、これは各ユーザーの問題記述方法の違いと、分布差が顕著でないことが原因でした。
4.4 信頼度の区別
インテリジェンス認識の多クラス分類モデル自体の構造最適化とパラメーター調整がある程度のボトルネックに達した時点で、最終的なモデル効果と自動化の間にまだ一定のギャップがあることが判明しました。特徴が不完全であること、一部特徴のエンジニアリング抽出精度が限られていること、カテゴリが不均衡であること、単一カテゴリのサンプル数が多くないことが原因です。
アルゴリズムの実装をより良く推進するため、カテゴリ内の信頼度の区別を試みました。主に信頼度モデルとカテゴリ別のしきい値設定という 2 つの方法を使用し、最終的にシンプルで効率的なカテゴリ別しきい値設定方法を選択しました。
信頼度モデルは分類モデルのラベル出力結果を入力として使用します。各ラベルのサンプルセットをトレーニングセットと検証セットに再分割し、トレーニング後に信頼度モデルを取得し、高信頼度の結果を適用します。
信頼度モデル実験では、バイナリ、重み付き交差エントロピー、アンサンブル法で実験を行いました。重み付き交差エントロピーの数式は以下の通りです。
実験結果として、バイナリ法では明確な効果改善が見られませんでした。アンサンブル法は 95% の信頼度で高い再現率を達成しましたが、98% の信頼度モデルには達しませんでした。
インテリジェンス分類アルゴリズムモデルの実装では、カテゴリごとに異なる softmax しきい値を設定して高信頼度判定する方法、すなわちカテゴリ別しきい値設定を採用しました。同様の手法をインテリジェンス認識にも適用した結果、以前作成した高信頼度モデルの効果を上回ったため、最終的にこの方法を選択しました。これにより、運用者の作業効率を大幅に向上させることができます。同時に、運用者の操作複雑さを軽減するため、低信頼度部分の Top N 推薦も提供し、操作時間を最大限に節約します。
5. アルゴリズムの効果と応用成果
5.1 情報分類
アルゴリズム効果:実際のアプリケーション要件に基づき、インテリジェンス分類アルゴリズムの最終効果は、プロダクトクラスの精度が 96% 以上、データクラスの再現率が 99% に達しました。
応用成果:他の戦略と連携して、全体の自動化率が大幅に向上しました。ルール最適化後の実運用では、運用者数と単位操作コストが 4/5 に削減され、ユーザーフィードバックのバックエンド処理のボトルネックを解消しました。
5.2 インテリジェンス識別
アルゴリズム効果:高信頼度部分は自動化し、低信頼度部分は手動でラベル付けする戦略に基づき、インテリジェンス認識アルゴリズムの最終効果は、有効記述の精度が 96% 以上に達しました。
応用成果:インテリジェンスラベル分類モデルをプラットフォームに接続後、高信頼度と低信頼度のラベルを差別化処理することで、運用者の効率は 30% 以上向上しました。
6. まとめと展望
このプロジェクトを通じて、複雑なビジネス問題を効果的に解決する一連の方法論を構築し、NLP アルゴリズムとビジネスを密接に組み合わせて問題を解決する実践経験を蓄積しました。現在、これらの方法と経験は他のプロジェクトでも十分に活用されており、継続的に蓄積と改善が進められています。ユーザー満足度を継続的に向上させる前提で、できるだけ効率的かつ自動的に問題に対処し、プロダクトのあらゆる細部の完璧さを追求すること、それが私たちの原動力であり、変わらぬ目標です。
Related Articles
-
A detailed explanation of Hadoop core architecture HDFS
Knowledge Base Team
-
What Does IOT Mean
Knowledge Base Team
-
6 Optional Technologies for Data Storage
Knowledge Base Team
-
What Is Blockchain Technology
Knowledge Base Team
Explore More Special Offers
-
Short Message Service(SMS) & Mail Service
50,000 email package starts as low as USD 1.99, 120 short messages start at only USD 1.00
