BLOG
インテリジェント・アラート・グルーピングのためのビルド・タイトル

投稿:2022年7月22日   |    更新:2022年7月22日

共著者:PagerDutyデータサイエンティストVI、Chris Bonnell氏

引き続き、IAG(Intelligent Alert Grouping)の活用・改善方法について、第3回目をお届けします 最初の投稿では、インテリジェント アラート グループ化機能を紹介しました(こちら)。2回目の投稿では、IAGがどのようにマージを使用してアラートをグループ化するのかを説明しました(こちら)。本日は、IAGのマッチングを向上させるためにアラートタイトルを使用する方法について説明します。

アラートタイトルが表示される場所 - 再確認

アラートがプラットフォームでトリガーされると、電子メール、テキスト、またはアプリ自体からのプッシュ通知など、いくつかの経路で通知が行われることがあります。どの経路であっても、表示される最小限の情報は、アラート番号、サービス、およびアラートタイトルです。これは、いくつかの注目すべき場所に表示されます。アラートの受信方法によっては、これらの一部または全部が見慣れたものに見えるかもしれません。緊急度レベル(例:高)は、連絡方法を決定するために使用されますが、目に見える形で表示されないことに注意してください(ただし、インシデントの詳細には表示されます)。

電話のプッシュ通知とテキスト通知

例えば、iPhoneのロック画面を見てみましょう(同じ事件のメール通知や電話着信の他に)。

image2-139x300@2x.png

この場合、ブログ投稿のために、すべてのチャネルにアラートをプッシュしています。ここでは、アラートのタイトル、番号、サービスが表示されていることがわかります。テキストメッセージも似たような感じです。

image3-300x116.png

メール通知

これらは少し違っているように見えます。メールの件名にはあまり詳細が書かれていませんが、メッセージの本文にはアラートの詳細が記載されています。

image1-1-300x291@2x.png

なぜ、アラートタイトルの表示場所を見直すのですか?

私のように、実際の状況やサービスに対してアラートタイトルや説明文を書いていたときは、人間の脳に最適化していた可能性が高いです。この結果は、上にも表れています。このアラートタイトルは、ブログ記事のタイトルのように読め、タイトル自体に「Title」という識別子を強引に含んで、それが表示される場所を強調しています。これは人間のためのもので、画像を読み飛ばすときに、特定の部分に注目してもらいたいのです。

もし、人間以外の人のためにデザインするとしたら?たとえば、機械学習に関するデザインならどうでしょう?機械学習について知っていること、学んだことは何でも取り込んで、それに有利なようにメッセージを歪め始めるでしょう。

私が皆さんにお伝えしたいのは、このことです。インテリジェント・アラート・グルーピングの体験を向上させるために機械学習を取り入れる際にも、人間のことを念頭に置く必要があるということです。

アラートタイトルを活用する

人のためにアラートタイトルを構築するとき、忘れてはならないことがあります。

  • 簡潔であること。ご覧の通り、プッシュ通知もテキスト通知も文字数制限が短いです。

    • OSやウェブブラウザによって制限が異なります。例えば、Androidの場合、プッシュするタイトルの文字数制限は65文字で、さらに説明文の文字数制限は240文字ですが、iOSの場合はタイトルと説明文を合わせて178文字となっています。
  • 明確であること。タイトルが分かりにくくなったり、何も伝わらなかったりするほど簡潔であってはならない。

  • タイトル欄を優先して、他の欄をおろそかにしないこと。

    • ウェブインターフェースと同様に、PagerDutyモバイルアプリでは、他のインシデント、そのサービス、その説明を含む完全なインシデント情報を利用することができます。最初に表示されるからと言って、タイトルフィールドに情報をトップロードしないでください。

これらの詳細については、インシデントレスポンス運用ガイドの「アラート発信の原則」のページをご覧ください。

機械学習では、以下のことに注意しましょう。

  • 識別性と頻度を上手に利用する。
  • データモデルは(人間が読むのと同じ意味で)読むことができない。
  • データモデルは意図を推論することができない。

その理由は、「自然言語処理」と呼ばれるものを機械がどのように行っているかを理解するためである。自然言語処理とは、スペルチェックや文法チェッカーが「it's」と「its」を区別して著者に通知したり、オートコレクトがどの単語と活用、どの形式(活用、辞退)を提案するかを知るためのものです。アラートタイトルに適用される自然言語処理では、タイトルを匿名化し(詳細は後述)、「文トークン化」と「単語トークン化」というプロセスでそれぞれ文と単語に分解し、単語をレマタイズして、最終結果を頻度の決定と他のアラートとの相関性の検索に使用します。

匿名化から始めると、例えば特定のIPアドレスをxx.xx.xxに置き換えるように、そうでなければあまりにもユニークな情報をその情報のパターンに置き換えることが目的です。このテキストは、関連する可能性のあるコンテキストを完全に削除するのではなく、ユニークな情報によって、本来関連するはずのタイトルが関連しなくなることを防ぐために、完全に削除されるわけではありません。レンマ化とは、活用語や断末魔をレンマと呼ばれる基本形に単純化する作業のことです。再び例で説明する。{犬」、「犬の」、「犬の」、「犬」}はすべて「犬」にレンマ化され、同様に{「である」、「である」、「である」}は「である」にレンマ化される。つまり、"The dog's bones." と "The dogs' bones." のような文は、この段階でどちらも {"the", "dog", "bone", "."} にレムマター化されるのである。

この時点で、Intelligent Alert Groupingモデルは、N-gram(N個の単語のグループ)とインシデント言語のパターンに関する知識の両方を使用して、アラートタイトルから情報を抽出し、意味のある相関関係を作成します。前回の記事で紹介した例をもう一度見てみましょう。

  • 最初のパターン
    • 地域 $REGION のサーバ $NAME でメモリ使用量が多い (> N %)
  • 2つ目のパターン
    • ホストでのメモリ使用率が高い (> N %)

すでにN %と$NAMEで少し匿名化しましたが、これらのタイトルにあるものをトークン化する練習をしてみましょう。

  • トークン化、レマタイズされた最初のパターン。
    • {"memory", "use", "high", "(", ">", "N", "%", ")", "on", "server", "$NAME", "in", "region", "$REGION"} に相当する。
  • トークン化、レンマート化された第2パターン。
    • {"memory", "use", "on", "host", "be", "high", "(", ">", "N", "%", ")"}

パターンが意味することの影響を考えると、2番目の警告では、そこに置かれた値によって変化する唯一の用語はNである。もし閾値が現在のメモリ使用量ではなく、一貫したものであれば、Nは全く変化しないか、タイトルに表示される値が1つか2つしかない可能性があります。それに対して、最初の警告のタイトルには、サーバー名とその地域の一意性がより強くなっています。つまり、1つまたは全く変化しないのではなく、3つの変化する用語があるわけです。言語処理装置に関する限り、2番目のパターンのアラートは、したがって、1番目のパターンよりも相関関係がある可能性がはるかに高いです。

これからの方向性

アラートのタイトルを作成する際には、人間と機械学習の両方を考慮することが重要です。機械学習で最適化すると、人間はアラートやインシデントの詳細情報を利用して追加のコンテキストや情報を得ることができますが、インテリジェント アラート グループ化ではタイトル フィールドのみを使用するため、若干偏りが生じます。自然言語処理の基本については、Towards Data Scienceブログの「Introduction to Natural Language Processing for Text」ブログ記事をご覧ください。一般的にアラートやインシデントに含めるべき情報についてのベストプラクティスは、当社のインシデントレスポンス運用ガイドをご覧ください。

この記事はPagerDuty社のウェブサイトで公開されているものをDigital Stacksが日本語に訳したものです。無断複製を禁じます。原文はこちらです。

book-markタグ: