はじめに 本記事は CodeZine に掲載されました。 こちら で読めます。 近年、「AI」という言葉をよく見かける背景には、機械学習を使った様々な手法と飛躍的進歩があります。 この機械学習の大きな手法の1つに「教師あり学習」と呼ばれる手法があります。 この教師あり学習には大きく分けて2つのタイプがあります。1つは、ある画像を「犬か否か」推定したり、「犬、猫、鳥」の どれに分類されるか推定するといった「分類」です。もう1つは、ある出来事が起こる確率を推定するといった「回帰」です。 どちらのタイプも教師あり学習ではよく用いられますが、本記事で紹介する「ランキング学習」は一般的な「分類」や「回帰」とは 少し異なります。ランキング学習は近年発展してきた技術のため、特に日本語の情報が非常に少なく、英語の情報がほとんどです。 そのため、本記事では日本語でランキング学習を詳細に解説していきたいと思います。 ランキング学習とは ランキング学習は英語では Learning to rank といって、LTR とよく省略されます。英語のウィキペディアにあるランキング学習の記事では以下のように定義されています。 "Learning to rank or machine-learned ranking is the application of machine learning, typically supervised, semi-supervised, or reinforcement learning, in the construction of ranking models for information retrieval systems." 上記の英文を日本語に訳すと以下のようになります。 「ランキング学習とは情報検索のシステムにおいて、ランキングモデルの構築に適用された機械学習のことです。ランキング学習のアルゴリズムには教師あり学習、半教師あり学習または強化学習があります。」 情報検索やランキング学習のことを知らずに上記の定義を読んだらあまりピンとこないかもしれないので、 より分かりやすく説明したいと思います。検索システムでいえば、ランキングとは検索結果の表示順のことを指します。例えば、「総理大臣」と検索して、一番上に表示