SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

イベントレポート

【SIGIR 2019 レポート】情報検索の重要カンファレンスで発表された、ランキング学習や評価手法の研究

チュートリアル(2)

評価手法の Directionality と Sensitivity

 評価手法にはsensitivity(感度)と directionality(指向性度)があります。sensitivityはある評価手法における統計学的な有意差の有無の測りやすさのことを指します。評価手法のsensitivityが高ければ高いほど、以下のことが見られます。

  • 評価値の小差を測れる
  • より sensitivity の低い手法に比べて、同じ差を測るのに必要なユーザ・データが少ない
  • 変更が適用された後すぐに評価値が変わる

 一方、directionality は評価値の意味の明瞭さを指し、directionalityが高い方が評価値の意味がはっきりしています。

 例えば、ユーザの投げたクエリ数をメトリックとして用いて、ある実験で全体的にクエリ数の増加が見られたとします。その場合は、検索結果の画面に表示される広告のクリック数も上がり、売り上げが上がる可能性がありますが、クエリの数が上がった理由はユーザの満足度が上がったからか、サービスをよりよく利用しているからか、求めている検索結果が見つからないからクエリを書き換える回数が上がったからかは不明です。求めている検索結果が得られずクエリを書き換える回数が増えたのであれば、長期的な売り上げに悪影響を与える危険性があります。評価値が上がっても、良いことか悪いことか不明だということは、「directionalityが低い」という意味です。

 上記例は、directionalityは低いですが、何かUXに変化があると、すぐにクエリを投げる回数が変わるのでsensitivityは高いです。それに対して、「ユーザの満足度」というメトリックを考えてみましょう。ユーザ満足度は非常にDirectionalityが高いですが、非常に測りにくく(測り得ないことが多く)、クエリ発行数とは異なり変わるのに時間がかかるため非常 sensitivityが低いです。ユーザの満足度を十分に測ることができたら理想的ですが、測れないので別の「ユーザのセッション数」を考えてみましょう。

 セッション数は満足度より測りやすく、sensitivityが高いのに対し、directionalityは低いです。クエリ発行数に関しては、セッションの定義次第ではありますが、クエリ数とは異なり、ユーザが求めている結果が見つからないことが多くなったら、満足度が下がり、利用回数もセッション数も下がるでしょう。しかし、セッション数の変化を測るには長い期間を見なくてはならないので、クエリ数よりsensitivityが低く、directionalityが高いです。

 評価手法はWeb Serviceの目標とsensitivityとdirectionalityを考えながら選択または開発すると良いとのことでした。既存の手法があれば、そのdirectionalityを保ちながら少しずつsensitivityを上げていくことを目標にすれば、Web Serviceの改善を実現できます。

 ワークショップ資料の 「Part 2 Development of online metrics」という部分に directionalityとsensitivityの例、評価手法の開発やYandex評価手法開発に関する事例などが見られます。

Interleaving

 A/Bテストではユーザレベルのノイズを考慮できません。例えば、グループAに現在の本番環境を提供し、グループBに対して実験を行って評価すると、グループAとグループBの差は見られますが、グループBのあるユーザがもしグループAに表示された結果を見たらどうするかはわかりませんので、個人レベルにおける比較は不可能です。実際はどんなクエリでもよくクリックを行うユーザもいれば、求める結果がない場合クエリを何度も書き換えるユーザもいます。このように、多様なユーザが存在するためユーザ間でノイズが生まれます。

 そこで、「interleaving」という手法が開発されました。interleavingでは、以下の図のように2つのランキングを混ぜ合わせて新しいランキングを作り、それをユーザに提供します。

 interleavingにいくつか手法があり、手法によって混ぜ合わせ方や新しい検索結果の表示順が決まります。2つ以上のランキングモデルを比較したい場合は複数のinterleavingを行うか、複数のモデルを比較できるように汎用化されたinterleaving、multileavingといった手法を使います。

 A/Bテストではユーザが本番環境にデプロイ中のランキングモデルとは異なるモデルによるランキングしか見ません。しかし、interleavingではデプロイ中のランキングからいくつか検索結果も見られますので、interleavingでは、ユーザレベルのノイズをなくすのみならず、ある程度実験中のUXの悪化を避けることができます。

次のページ
カンファレンス(1)

関連リンク

この記事は参考になりましたか?

イベントレポート連載記事一覧

もっと読む

この記事の著者

Kamuela Lau(カムエラ ラウ)

 米国ハワイ州出身。2014年に米国マサチューセッツ州の Williams College を物理学と日本語学の二重専攻で卒業後来日。株式会社ロンウイットでランキング学習など機械学習を中心に、製品開発や顧客コンサルティングの業務に従事。米国の Georgia Institute of Technology ...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/11708 2019/09/06 11:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー