テクノロジー

キーワード分類モデルを作ったら、機械学習で販促拡大につながった話

こんにちは。Yahoo!広告に関わる分析業務を行っている福地です。

Yahoo!広告では、2020年2月よりYahoo! JAPANのウェブ検索結果の上部に検索キーワードに連動して大型のバナー広告を掲載する「検索連動型ブランディング広告」をリリースしました。 この広告のリリース初期は、広告掲載できるキーワード選定を人力で行っていました。が、日々発生する検索クエリを人力でカバーするには限界があります。今回は、機械学習とデータ分析により人手では拾いきれないキーワードも拾い、販促の拡大につながった事例をご紹介します。

検索連動型ブランディング広告とは

先述の通り、検索連動型ブランディング広告では、Yahoo! JAPANのウェブ検索結果の上部に検索キーワードに連動した大型のバナー広告を掲載します。

検索連動型ブランディング広告ではのイメージ

検索結果の上部に大型の広告が表示されるため、ユーザーの獲得やブランディング効果が大きく期待できる商品です。ところが、ユーザーの検索意図と全く異なる広告が掲載されてしまうと、ユーザーの検索体験が非常に損なわれてしまいます。そのため、広告主自身が所有するブランドに関するキーワードのみ購入できるようにする必要があり、そのワードはヤフーから提示しています(例えば、キーワード「ヤフオク!」を広告主「ヤフー」のみが購入できる)。

今回の活動ではその選定を半自動でできるようにしました。

実施内容の大枠

実施内容の大枠は以下の通りです。

  1. 問題設計
  2. 検索クエリデータを形態素解析により分散表現化
  3. 分散表現データをもとに提示可能キーワードを分類するモデルを作成
  4. 探索的データ分析により精度改善につながる切り捨て指標を発見
  5. 精度を検証、プロダクトマネージャーとすり合わせ合意

問題設計

広告主が自身のブランドに関するキーワードのみを購入できるようにするためには、以下の要件を満たすキーワードリストが半自動的に生成され、広告主の入稿画面で表示できるようにしたら良いと考えました。

  • そのキーワードをどの広告主が所有しているのか正しく紐づけられている
  • 特定の製品/ブランドを表すキーワードのみリストに含まれる(「ヤフオク!」は含まれるが「今日の献立」は含まれない)

前者については、検討の結果、「検索クエリに対する検索結果上のクリック傾向」などを利用するのが良さそうだとわかりました。そこで、検索結果において、リセラーを除きクリック実績が最も高い事業者(広告主)をそのキーワードの持ち主としました。ここでいうリセラーとは、製品の販売者のうち、製造元や他の流通事業者などから仕入れた製品をそのまま顧客に販売する事業者を指します。

よって、今回は後者を解決するための「キーワードをブランドキーワードとそれ以外に分類するモデル」を作成することにフォーカスしました。

単語の分散表現化とは?

普段使っている言語(=自然言語)をコンピューターに理解させるための技術として「自然言語処理」が存在しています。

自然言語処理の技術のうち、単語を固定長のベクトルで表現することを「単語の分散表現」と呼びます。例えば「yahoojapan」に分散表現処理を行うと「0.032,-0.07,-0.07…」というようにベクトルで表現されます。

単語の分散表現イメージ

単語をベクトルで表現できると、単語の意味を定量的に落とし込むことができるので、ロジスティック回帰などの統計学的な分析や、RandomForestなど機械学習モデルに数値ベースで処理させることができます。この単語の分散表現を得る手法として「word2vec」や「BERT」などが有名ですが、今回はDQNN(Deep Query Neural Network)という社内で開発された手法で得られた分散表現を利用しました。

モデル作成

ベクトル化した単語をもとに、GBDT(Gradient Boosting Decision Tree)による分類モデルを作成しました。GBDTにも複数のパッケージが存在していますが、今回はチームで利用経験のあったXgboostというOSSを利用しました。

  • 目的変数

    • 正例 : 特定の製品/ブランドを表すキーワード (ex : 「PayPay」 「Yahoo!ショッピング」)
    • 負例 : 特定の製品/ブランドを表さないキーワード (ex : 「今日の献立」「炭酸水」)
  • 説明変数

    • キーワードを分散表現化して作成できた128次元のベクトル

探索的データ分析により精度改善につながる切り捨て指標を発見

また、データを可視化した際に、そのキーワードが特定の商品/ブランドを表す場合、検索結果の上部などにクリックが集中する傾向があることを発見しました。

検索結果のイメージ

(図 オレンジ:特定の商品/ブランドを表すキーワード 青 : 特定の商品/ブランドを表さないキーワード)

分布可視化

そこで、モデルの予測結果に加え、キーワードの検索結果上部のクリック集中率による切り捨てを行うことで最終的な分類結果とすることにしました。

精度検証結果をプロダクトマネージャーに報告し合意形成

精度としては以下のようになりました。(図内のkwはキーワードの略)精度検証結果

1割程度の誤分類が生じてしまっているのですが、検証用データ内の5割の「特定の商品/ブランドを表すキーワード」を捉えることができていました。(最終的に目視を入れて、誤分類のキーワードは除外し広告主に提示しております)

本結果をプロダクトマネージャーに報告し、この精度なら問題がないと承認を取った上でこのモデルを採用することにしました。

導入結果

2020年上半期のキーワード数は営業提案されたものが対象であり、受注までつながる確度が異なるため単純に比較するのは怪しいのですが、提示広告主数+35倍 提示キーワード数+17倍と販促の拡大ができました。

導入結果

おわりに

私の所属するYahoo!広告に関わる分析を行う部署では、本分析のようにステークホルダーの皆様により良い広告体験をお届けできるような活動を日々行っています。他の分析についても、Yahoo! JAPAN Tech Blogに随時掲載していく予定ですので、楽しみにしていただけると幸いです。


福地 聖矢
Yahoo!広告データアナリスト

関連記事

このページの先頭へ