IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヤフー株式会社の特許一覧

特開2024-132715情報処理装置、情報処理方法及び情報処理プログラム
<>
  • 特開-情報処理装置、情報処理方法及び情報処理プログラム 図1
  • 特開-情報処理装置、情報処理方法及び情報処理プログラム 図2
  • 特開-情報処理装置、情報処理方法及び情報処理プログラム 図3
  • 特開-情報処理装置、情報処理方法及び情報処理プログラム 図4
  • 特開-情報処理装置、情報処理方法及び情報処理プログラム 図5
  • 特開-情報処理装置、情報処理方法及び情報処理プログラム 図6
  • 特開-情報処理装置、情報処理方法及び情報処理プログラム 図7
  • 特開-情報処理装置、情報処理方法及び情報処理プログラム 図8
  • 特開-情報処理装置、情報処理方法及び情報処理プログラム 図9A
  • 特開-情報処理装置、情報処理方法及び情報処理プログラム 図9B
  • 特開-情報処理装置、情報処理方法及び情報処理プログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024132715
(43)【公開日】2024-10-01
(54)【発明の名称】情報処理装置、情報処理方法及び情報処理プログラム
(51)【国際特許分類】
   G06Q 30/0241 20230101AFI20240920BHJP
   G06F 16/35 20190101ALI20240920BHJP
【FI】
G06Q30/0241 444
G06F16/35
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023043607
(22)【出願日】2023-03-17
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り 公開日 2023年2月28日 投稿情報 https://techblog.yahoo.co.jp/entry/2023022830415379/
(71)【出願人】
【識別番号】500257300
【氏名又は名称】LINEヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】岩崎 祥太
(72)【発明者】
【氏名】田中 祐介
(72)【発明者】
【氏名】小林 岳
【テーマコード(参考)】
5B175
5L030
5L049
【Fターム(参考)】
5B175FA03
5L030BB08
5L049BB08
(57)【要約】
【課題】広告主にとって広告効果の高いキーワードをより高精度に予測して提案する。
【解決手段】本願に係る情報処理装置は、キーワードを品詞ごとに形態素解析する言語処理部と、形態素解析後にキーワードを複数次元のベクトルに変換する変換部と、ベクトルを特徴量、CVRを目的変数として学習モデルを作成する学習部と、学習モデルを用いて、キーワードをスコアリングする算出部と、キーワードを入稿した広告アカウントに対して広告キャンペーン及び広告グループを割り当てる割当部と、を備えることを特徴とする。
【選択図】図1
【特許請求の範囲】
【請求項1】
キーワードを品詞ごとに形態素解析する言語処理部と、
形態素解析後に前記キーワードを複数次元のベクトルに変換する変換部と、
前記ベクトルを特徴量、CVRを目的変数として学習モデルを作成する学習部と、
前記学習モデルを用いて、前記キーワードをスコアリングする算出部と、
前記キーワードを入稿した広告アカウントに対して広告キャンペーン及び広告グループを割り当てる割当部と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記キーワードから、ブランド名を、表記ゆれを修正した上で、部分一致検索で除外する前処理部
をさらに備えることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記前処理部は、前記キーワードの異常値を除外する
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記前処理部は、CVRの外れ値を除外し、CVRを0から1に収まるようにする
ことを特徴とする請求項2に記載の情報処理装置。
【請求項5】
前記前処理部は、処理負荷軽減のため学習データが一定の閾値以上の場合ランダムサンプリングを行う
ことを特徴とする請求項2に記載の情報処理装置。
【請求項6】
前記言語処理部は、登録済みのキーワードを形態素解析し、
前記変換部は、形態素解析後の単語をベクトル化し、各ベクトルをキーワードごとに平均集約し、200次元のベクトルとし、
前記学習部は、各単語の200次元のベクトルを特徴量とし、CVRを目的変数として学習した予測モデルを作成する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項7】
前記言語処理部は、検索クエリから抽出された提案キーワードを形態素解析し、
前記変換部は、形態素解析後の単語をベクトル化し、
前記算出部は、前記予測モデルにベクトルをインプットしてCVRを予測したスコアを算出し、スコアを0が最小、1が最大となるように正規化する
ことを特徴とする請求項6に記載の情報処理装置。
【請求項8】
検索広告に登録されている広告キャンペーン及び広告グループのキーワードを抽出する抽出部をさらに備え、
前記抽出部は、前記検索広告のアカウントに登録済のキーワードと所属する広告キャンペーン及び広告グループ情報を抽出する
ことを特徴とする請求項7に記載の情報処理装置。
【請求項9】
前記言語処理部は、広告キャンペーン及び広告グループ情報を形態素解析し、
前記変換部は、広告キャンペーン及び広告グループ情報の単語をベクトル化し、
前記算出部は、ベクトルの平均値を算出し、各提案キーワードのベクトルと、算出されたベクトルの平均値とのコサイン類似度を全通り算出する
ことを特徴とする請求項8に記載の情報処理装置。
【請求項10】
コサイン類似度に応じて、広告キャンペーン及び広告グループ情報をレコメンドする提案部をさらに備え、
前記提案部は、コサイン類似度が最も高い値となるベクトルを、意味的に近いものとみなし、広告キャンペーンと広告グループ情報をレコメンド情報として出力又は記憶する
ことを特徴とする請求項9に記載の情報処理装置。
【請求項11】
情報処理装置が実行する情報処理方法であって、
キーワードを品詞ごとに形態素解析する解析工程と、
形態素解析後に前記キーワードを複数次元のベクトルに変換する変換工程と、
前記ベクトルを特徴量、CVRを目的変数として学習モデルを作成する学習工程と、
前記学習モデルを用いて、前記キーワードをスコアリングする算出工程と、
前記キーワードを入稿した広告アカウントに対して広告キャンペーン及び広告グループを割り当てる割当工程と、
を含むことを特徴とする情報処理方法。
【請求項12】
キーワードを品詞ごとに形態素解析する解析手順と、
形態素解析後に前記キーワードを複数次元のベクトルに変換する変換手順と、
前記ベクトルを特徴量、CVRを目的変数として学習モデルを作成する学習手順と、
前記学習モデルを用いて、前記キーワードをスコアリングする算出手順と、
前記キーワードを入稿した広告アカウントに対して広告キャンペーン及び広告グループを割り当てる割当手順と、
をコンピュータに実行させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【0002】
近年、リスティング広告の運用状況に関する情報を、自然言語処理および統計処理に基づき分析し、リスティング広告の運用情報の改善項目を判断し、改善項目をユーザに提示する技術が提供されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2020-042597号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術は、リスティング広告の運用状況に関する情報、および検索キーワードに関する情報に基づき、運用状況の改善項目に適した検索キーワードを判断するものに過ぎない。キーワードの提案については改善の余地がある。そのため、広告主にとって広告効果の高いキーワードをより高精度に予測して提案する手段が求められている。
【0005】
本願は、上記に鑑みてなされたものであって、広告主にとって広告効果の高いキーワードをより高精度に予測して提案することを目的とする。
【課題を解決するための手段】
【0006】
本願に係る情報処理装置は、キーワードを品詞ごとに形態素解析する言語処理部と、形態素解析後に前記キーワードを複数次元のベクトルに変換する変換部と、前記ベクトルを特徴量、CVRを目的変数として学習モデルを作成する学習部と、前記学習モデルを用いて、前記キーワードをスコアリングする算出部と、前記キーワードを入稿した広告アカウントに対して広告キャンペーン及び広告グループを割り当てる割当部と、を備えることを特徴とする。
【発明の効果】
【0007】
実施形態の一態様によれば、広告主にとって広告効果の高いキーワードをより高精度に予測して提案することができる。
【図面の簡単な説明】
【0008】
図1図1は、実施形態に係る情報処理方法の概要を示す説明図である。
図2図2は、推奨広告キャンペーン及び広告グループの紐づけの概要を示す説明図である。
図3図3は、実施形態に係る情報処理システムの構成例を示す図である。
図4図4は、実施形態に係る端末装置の構成例を示す図である。
図5図5は、実施形態に係るサーバ装置の構成例を示す図である。
図6図6は、利用者情報データベースの一例を示す図である。
図7図7は、履歴情報データベースの一例を示す図である。
図8図8は、フラグ情報データベースの一例を示す図である。
図9A図9Aは、実施形態に係る処理手順の前半部分を示すフローチャートである。
図9B図9Bは、実施形態に係る処理手順の後半部分を示すフローチャートである。
図10図10は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0009】
以下に、本願に係る情報処理装置、情報処理方法及び情報処理プログラムを実施するための形態(以下、「実施形態」と記載する)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法及び情報処理プログラムが限定されるものではない。また、以下の実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0010】
〔1.情報処理方法の概要〕
まず、図1を参照し、実施形態に係る情報処理装置が行う情報処理方法の概要について説明する。図1は、実施形態に係る情報処理方法の概要を示す説明図である。なお、図1では、広告主にとって広告効果の高いキーワードをより高精度に予測して提案する場合を例に挙げて説明する。
【0011】
図1に示すように、情報処理システム1は、端末装置10とサーバ装置100と広告主端末200とを含む。端末装置10とサーバ装置100と広告主端末200とは、ネットワークN(図3参照)を介して有線又は無線で互いに通信可能に接続される。本実施形態では、端末装置10及び広告主端末200は、サーバ装置100と連携する。
【0012】
端末装置10は、利用者U(ユーザ)により使用されるスマートフォンやタブレット端末等のスマートデバイスであり、5G(Generation)やLTE(Long Term Evolution)等の無線通信網を介して任意のサーバ装置と通信を行うことができる携帯端末装置である。また、端末装置10は、液晶ディスプレイ等の画面であって、タッチパネルの機能を有する画面を有し、利用者Uから指やスタイラス等によりタップ操作、スライド操作、スクロール操作等、コンテンツ等の表示データに対する各種の操作を受付ける。なお、画面のうち、コンテンツが表示されている領域上で行われた操作を、コンテンツに対する操作としてもよい。また、端末装置10は、スマートデバイスのみならず、デスクトップPC(Personal Computer)やノートPC等の情報処理装置であってもよい。
【0013】
サーバ装置100は、各利用者Uの端末装置10と連携し、各利用者Uの端末装置10に対して、各種アプリケーション(以下、アプリ)等に対するAPI(Application Programming Interface)サービス等と、各種データを提供する情報処理装置であり、コンピュータやクラウドシステム等により実現される。
【0014】
また、サーバ装置100は、各利用者Uの端末装置10に対して、オンラインで何らかのWebサービスを提供する情報処理装置であってもよい。例えば、サーバ装置100は、Webサービスとして、インターネット接続、検索サービス、SNS(Social Networking Service)、電子商取引(EC:Electronic Commerce)、電子決済、オンラインゲーム、オンラインバンキング、オンライントレーディング、宿泊・チケット予約、動画・音楽配信、ニュース、地図、ルート検索、経路案内、路線情報、運行情報、天気予報等のサービスを提供してもよい。実際には、サーバ装置100は、上記のようなWebサービスを提供する各種サーバと連携し、Webサービスを仲介してもよいし、Webサービスの処理を担当してもよい。
【0015】
なお、サーバ装置100は、利用者Uに関する利用者情報を取得可能である。例えば、サーバ装置100は、利用者Uの性別、年代、居住地域といった利用者Uの属性に関する情報を取得する。そして、サーバ装置100は、利用者Uを示す識別情報(利用者ID等)とともに利用者Uの属性に関する情報を記憶して管理する。
【0016】
また、サーバ装置100は、利用者Uの端末装置10から、あるいは利用者ID等に基づいて各種サーバ等から、利用者Uの行動を示す各種の履歴情報(ログデータ)を取得する。例えば、サーバ装置100は、利用者Uの位置や日時の履歴である位置履歴を端末装置10から取得する。また、サーバ装置100は、利用者Uが入力した検索クエリの履歴である検索履歴を検索サーバ(検索エンジン)から取得する。また、サーバ装置100は、利用者Uが閲覧したコンテンツの履歴である閲覧履歴をコンテンツサーバから取得する。また、サーバ装置100は、利用者Uの商品購入や決済処理の履歴である購入履歴(決済履歴)を電子商取引サーバや決済処理サーバから取得する。また、サーバ装置100は、利用者Uのマーケットプレイスへの出品の履歴である出品履歴や販売履歴を電子商取引サーバや決済処理サーバから取得してもよい。また、サーバ装置100は、利用者Uの投稿の履歴である投稿履歴を口コミの投稿サービスを提供する投稿サーバやSNSサーバから取得する。なお、上記の各種サーバ等は、サーバ装置100自体であってもよい。すなわち、サーバ装置100が上記の各種サーバ等として機能してもよい。
【0017】
広告主端末200は、広告主によって利用される情報処理装置(広告主装置)である。なお、広告主は、法人等であってもよく、例えば、広告主端末200の使用者は、広告主の宣伝担当者等であってもよい。例えば、広告主端末200は、スマートフォンや、タブレット型端末や、ノート型PCや、デスクトップPCや、携帯電話機や、PDA等により実現される。なお、図1の例では、広告主端末200がノート型PCである場合を一例として示す。広告主は、広告主端末200を用いて、サーバ装置100との間で情報の送受信を行う。例えば、広告主端末200は、サーバ装置100から提供された各種の情報を表示する。
【0018】
また、広告主端末200は、サーバ装置100から情報提供を受信し、サーバ装置100へ情報を送信する。例えば、広告主端末200は、広告主による指定を受け付けるためのコンテンツをサーバ装置100から受信する。例えば、広告主端末200は、広告主によるキーワードの指定を受け付けるための指定用コンテンツをサーバ装置100から受信する。例えば、広告主端末200は、指定用コンテンツにより広告主が指定したキーワード(指定キーワード)を示す情報をサーバ装置100へ送信する。広告主端末200は、広告主が指定するキーワードを示す情報をサーバ装置100へ送信する。例えば、広告主端末200は、広告主が指定するキーワードを示す情報をサーバ装置100へ送信する。
【0019】
なお、広告主は、広告主端末200を用いて、広告コンテンツ(以下、単に「広告」ともいう)をサーバ装置100に入稿せずに、広告の入稿を代理店に依頼する場合もある。この場合、サーバ装置100に広告を入稿するのは代理店となる。「広告主」といった表記は、広告主だけでなく代理店を含む概念であり、「広告主端末」といった表記は、広告主装置だけでなく代理店によって利用される代理店装置を含む概念であるものとする。
【0020】
〔1-1.データ拡張モデル構想〕
サーバ装置100は、検索クエリ(キーワード:KW)を入力した際に出てくる広告の入稿に関し、予めキーワードを設定しておき、そのキーワードが入力された場合に、検索結果として広告が表示されるようにする。このとき、サーバ装置100は、コンバージョン(CV:Conversion)数やコンバージョン率(CVR:Conversion Rate)が高くなるように、コンバージョンとキーワードとの関係性をモデルに学習させ、モデルを用いて推定した結果に基づいて、「このキーワードを設定すると、コンバージョン数(又はコンバージョン率)が高くなりますよ」等のメッセージ又はその旨の通知で提案する。
【0021】
しかし、ある広告について、コンバージョンに至ったデータが少ない場合や、登録されているキーワードの数が少ない場合、モデルの学習がうまくいかない場合がある。例えば、モデル学習に必要な登録キーワードが一定以下であるとモデル作成不可でエラーになる(学習データがないため機械学習モデルが作れない)可能性がある。
【0022】
そこで、学習対象範囲を自社(広告主)・競合他社及びそれらと類似する広告アカウントに広げることで汎用的な予測モデル(データ拡張モデル)を作成し、CV数や登録キーワード数が足りずにこれまで予測値をだせなかった広告アカウントにおいて汎用的な予測モデル(データ拡張モデル)によって予測スコアを付与する「データ拡張モデル構想」を検討・検証している。
【0023】
例えば、サーバ装置100は、学習データを集計し、CV数が一定以下(0など)、又は登録キーワード数が一定以下(50以下など)であれば、広告アカウントより上位の概念(広告ベースカテゴリ、広告クロスカテゴリ)でモデルを作成する。
【0024】
これにより、過去のデータが蓄積されていない広告主にも汎用的な予測モデル(データ拡張モデル)を用いて効果的なキーワード(ポテンシャルKW)を提供できれば、初期段階のCV獲得に貢献できると考えられる。また、予測値は出せていたが学習データが足りず精度が十分でないアカウントにおいても、汎用的な予測モデル(データ拡張モデル)を用いることで精度向上ができると考えられる。
【0025】
一方で、単純に類似する広告について、コンバージョンに至った検索クエリをモデルに学習させると、精度が低下してしまう可能性がある。理由として、あるキーワードがどのような意図を示しているか、広告の分野等に応じて変化してしまうことが挙げられる。多くのデータを学習した場合、あるキーワードが全体的にコンバージョンに至る確率が高いかを推定することになるが、全体的にコンバージョンに至る確率が高いからといって、所定の分野に属する広告(例えば、旅行業界等)にとってコンバージョンに至る確率が高いキーワードであるとは言えない。また、元々データが多い広告については、他の広告についてのコンバージョンを考慮すると、精度が低くなる可能性が高い。
【0026】
通常、検索クエリを入力したときに出てくる検索広告の競合他社のデータを用いると、自社(広告主)のデータのみを用いる場合よりもデータ数が多くなるため、学習の効果も高くなると考えられている。しかし、業種によって、検索クエリに対するコンバージョン数が異なる。また、コンバージョンの中身も異なる。さらに、同じ単語であっても、単語の意味が異なる。また、地域性等が強いと、精度が悪い場合もある。
【0027】
また、元々データが多い会社だと単体のデータで元々精度がよい。例えば、元々靴の会社として自社(「靴」の会社)のデータのみを用いて学習してモデルを作成していたのに、競合他社として「靴と服」の会社のデータが含まれると、「靴」の会社のデータと、「靴と服」の会社のデータとを用いて学習してモデルを作成するため、精度が悪くなってしまう。また、同じ表記の単語(特に、略称等)であっても単語の意味が業種によって異なる場合もあるため、業種が広がりすぎると、精度が悪くなる。
【0028】
そこで、精度の低下を抑止し、広告主にとって広告効果の高いキーワードをより高精度に予測して提案する方法について説明する。
【0029】
〔1-2.モデルの学習とスコアリング〕
本実施形態では、サーバ装置100は、クエリを品詞ごとに分解し、その意味をベクトル変換し数値化した上で、機械学習モデルを作成しスコアを予測する。
【0030】
例えば、図1に示すように、サーバ装置100は、検索クエリの入力を受け付け、又は検索履歴から、検索クエリを抽出する(ステップS1)。
【0031】
続いて、サーバ装置100は、検索クエリに対して自然言語処理(NLP:Natural Language Processing)における形態素解析を実行し、検索クエリを品詞ごとに分解する(ステップS2)。
【0032】
続いて、サーバ装置100は、形態素解析後の単語を200次元のベクトルに変換し、“意味”を数値化する(ステップS3)。例えば、サーバ装置100は、文字列を入力として、その文字列に対応するベクトルを出力するベクトル変換モデルを用いて、word2vec等の単語埋め込み(Word Embedding)の手法により、入力された文字列に対応する複数次元(例えば200次元等)のベクトルを出力する。
【0033】
続いて、サーバ装置100は、ベクトルを特徴量、CVRを目的変数として学習モデルを作成する(ステップS4)。
【0034】
続いて、サーバ装置100は、学習モデルを用いて、クエリをスコアリングする(ステップS5)。
【0035】
続いて、サーバ装置100は、クエリのスコアに応じて、新規・推奨入稿アカウントをフラグ付けする(ステップS6)。例えば、サーバ装置100は、広告アカウントのフラグ付けにより、新規・推奨のキーワード(又はそれを含む広告)を入稿した広告アカウントに対して広告キャンペーン割当/広告グループ割当等を行う。
【0036】
〔1-3.広告キャンペーン割当/広告グループ割当〕
図2を参照して、全処理の流れとともに、推奨広告キャンペーン及び広告グループの紐づけの概要について説明する。図2は、推奨広告キャンペーン及び広告グループの紐づけの概要を示す説明図である。図2では、提携キーワードと各広告キャンペーン(グループ)のコサイン類似度が最大のものを入稿先として推奨するロジックについて説明する。
【0037】
例えば、図2に示すように、サーバ装置100は、キーワード(KW)が登録された設定ファイルの読み込みを行い、自社(広告主)の登録キーワード(登録KW)からCV(コンバージョン)しやすさを予測するモデルを作成する(ステップS11)。
【0038】
このとき、サーバ装置100は、自社の検索広告の広告アカウントに登録済のキーワードとCVR(コンバージョン率)の実績値を計算する。例えば、検索広告はリスティング広告(YSA)であり、広告アカウントはYSAアカウントである。なお、実際には、リスティング広告(YSA)に限らず、ディスプレイ広告(YDA)等であってもよい。
【0039】
また、前処理として、サーバ装置100は、設定ファイルに記載のあるブランド名を、表記ゆれを修正した上で、部分一致検索で除外する。除外する理由は、ブランド名など指名系キーワードはCVRが高く外れ値になるためである。また、サーバ装置100は、キーワードの異常値を除外する。また、サーバ装置100は、CVRの外れ値を除外し、CVRを0から1に収まるようにする。また、サーバ装置100は、処理負荷軽減のため学習データが一定の閾値以上の場合ランダムサンプリングを行う。
【0040】
また、サーバ装置100は、設定ファイルに登録されている登録キーワードを形態素解析し、形態素解析後の単語をベクトル化し、各ベクトルをキーワードごとに平均集約し、200次元のベクトルとする。そして、サーバ装置100は、各単語の200次元のベクトルを特徴量とし、CVRを目的変数として学習した予測モデルを作成する。
【0041】
続いて、サーバ装置100は、検索クエリにCVしやすさの確率をスコアリングする(ステップS12)。
【0042】
このとき、サーバ装置100は、自社及び競合他社に流入した検索クエリを抽出し、提案キーワード一覧を用意する(以下、提案キーワード(提案KW)と呼ぶ)。
【0043】
また、サーバ装置100は、上記と同様の前処理を行う。すなわち、サーバ装置100は、設定ファイルに記載のあるブランド名を、表記ゆれを修正した上で、部分一致検索で除外する。また、サーバ装置100は、キーワード(KW)の異常値を除外する。また、サーバ装置100は、CVRの外れ値を除外し、CVRを0から1に収まるようにする。また、サーバ装置100は、処理負荷軽減のため学習データが一定の閾値以上の場合ランダムサンプリングを行う。
【0044】
また、サーバ装置100は、提案キーワードを形態素解析し、形態素解析後の単語をベクトル化し、予測モデルにベクトルをインプットしてCVRを予測したスコアを算出し、スコアを0が最小、1が最大となるように正規化する。
【0045】
続いて、サーバ装置100は、検索広告に登録されている広告キャンペーン及び広告グループのキーワードを抽出する(ステップS13)。
【0046】
このとき、サーバ装置100は、自社の検索広告のアカウントに登録済のキーワードと所属する広告キャンペーン及び広告グループ情報を抽出する。
【0047】
また、サーバ装置100は、上記と同様の前処理を行う。ただし、CVRの外れ値除外は行わない。すなわち、サーバ装置100は、設定ファイルに記載のあるブランド名を、表記ゆれを修正した上で、部分一致検索で除外する。また、サーバ装置100は、キーワードの異常値を除外する。また、サーバ装置100は、処理負荷軽減のため学習データが一定の閾値以上の場合ランダムサンプリングを行う。
【0048】
また、サーバ装置100は、広告キャンペーン及び広告グループ情報を形態素解析し、広告キャンペーン及び広告グループ情報の単語をベクトル化して平均値を算出する。そして、サーバ装置100は、各提案キーワードのベクトルと、算出されたベクトルの平均値とのコサイン類似度を全通り算出する。
【0049】
続いて、サーバ装置100は、コサイン類似度に応じて、広告キャンペーン及び広告グループ情報をレコメンド(提案)する(ステップS14)。
【0050】
このとき、サーバ装置100は、コサイン類似度が最も高い値となるベクトルを、意味的に近いものとみなし、広告キャンペーンと広告グループ情報をレコメンド情報として出力又は記憶する。
【0051】
例えば、サーバ装置100は、広告キャンペーンと広告グループ情報をレコメンド情報として、広告主端末200に送信する。あるいは、サーバ装置100は、広告主端末200からの要求に応じて、広告キャンペーンと広告グループ情報を広告主が閲覧可能な表示形態で提示する。
【0052】
〔1-4.技術バリエーション〕
本実施形態では、検索クエリを探索する競合選定方法として、現状では設定ファイルに手入力を行っているが、将来的にはクエリの流出先データ、インプレッションデータから自動で選定するようにしてもよい。
【0053】
また、検索クエリから除外する前処理として、設定ファイルに入力された除外ワードについて表記ゆれを独自に修正し除外する処理に限らず、広告管理ツール上から除外ワードを抽出して除外する処理や、TF-IDF(Term Frequency - Inverse Document Frequency)などの指標を用いて重要度を見て足切りする処理、あるいはクエリのうち流出先が一点集中しているものを指名系キーワードと判断し除外する処理としてもよい。なお、IF-IDFとは、文書内の単語の重要度(重み)を示す手法の一つである。
【0054】
また、形態素解析については、Mecabに限らず、SudachiやChive等の形態素解析器を利用し、固有名詞等への形態素解析精度を向上させるようにしてもよい。
【0055】
また、単語をベクトル化するモデルとして、日本語で学習したword2vecのオープンソースモデルに限らず、u2ベクトルで学習した独自モデルを使用し、未知語を減らし、検索されたワードごとの意味の近さを考慮するようにしてもよい。
【0056】
また、ベクトル化の手法として、上記の例では、各ベクトルの平均値を算出し、欠損値は0で埋めているが、実際には、ベクトルにTF-IDFなどで単語の重要度別や単語ベクトルに対して頻度分布を用いて加重平均をとるようにしてもよい。
【0057】
また、予測モデル選定について、一律でリッジ回帰(Ridge regression)で予測してもよいが、モデルは各アカウントのサンプルサイズ、CVR、データの分散などに応じて自動選択することも可能である。
【0058】
また、予測モデルにおける目的変数は、CVR(コンバージョン率)に限らず、1コンバージョンあたりの金銭価値及びLTV(Life Time Value:顧客生涯価値)を利用してもよい。
【0059】
また、本実施形態により求められたキーワード(ポテンシャルKW)を活用して、リスティング広告(YSA)の新規入稿キーワードの探索、トレンドキーワードの予測、広告文への採用等を行うことが可能である。
【0060】
また、サーバ装置100は、Dice係数を用いて似ているアカウントを抽出し、抽出されたアカウントのデータを用いてモデルを作成してもよい。また、サーバ装置100は、データが中程度の場合、単体モデルとデータ拡張モデルとで精度が良い方を選択するようにしてもよい。例えば、サーバ装置100は、モデル作成用(学習用)のデータが足りない問題があるが、単にカテゴリでデータを増やせばよいという問題ではないことへの解決策として、競合自動抽出技術(Dice係数を総当たりで計算し似ているアカウントを抽出)を用いて、データを増やしつつ、最終的には精度が良い方のモデルを選択するようにしてもよい。
【0061】
〔1-5.その他〕
例えば、サーバ装置100は、所定の広告について、検索履歴を取得し、設定されているキーワードが入力された際のコンバージョン(クリックして閲覧した、資料請求した、予約した、購入した等)を特定する。
【0062】
また、サーバ装置100は、所定の広告について、設定されているキーワードの数や、検索履歴(キーワードの検索回数)等が所定の条件を満たすか否かを判定(推定)する。すなわち、サーバ装置100は、所定の条件を満たすか否かに基づいて、競合広告の広告情報を含めた方が精度が向上するか否かを判定する。具体的には、サーバ装置100は、ルールベースで、精度が高くなるか否かを判定する。例えば、サーバ装置100は、設定されているキーワードの数が所定の閾値を下回るか否かを判定する。あるいは、サーバ装置100は、コンバージョンの数が所定の閾値を下回るか否かを判定する。
【0063】
また、サーバ装置100は、競合広告を含めた方がよい場合は、競合広告を特定する。例えば、サーバ装置100は、設定されているキーワードが類似する広告を特定する。具体的には、サーバ装置100は、キーワードのベクトルの平均値が所定の広告と類似する他の広告を特定する。
【0064】
あるいは、サーバ装置100は、所定の広告とカテゴリが類似する広告を特定する。また、サーバ装置100は、所定の広告の広告主とカテゴリが類似する競合他社が登録している他の広告を特定する。
【0065】
また、サーバ装置100は、自然言語処理(NLP)を用いたベクトル化により、処理対象の会社(所定の広告の広告主)のベクトルと、競合他社のベクトルとの類似度を算出し、類似度が閾値よりも高い競合他社が登録している他の広告を特定する。このとき、サーバ装置100は、所定の広告と他の広告のそれぞれに含まれる各キーワードのベクトルの傾向の類似度を算出し、類似度が閾値よりも高い他の広告を特定してもよい。なお、全体としての傾向は保ちつつ、個別のベクトルはある程度分散する(ばらける)と好ましい。また、サーバ装置100は、所定の広告の広告主の業種独自の単語の使い方を考慮した学習を行うと好ましい。
【0066】
また、サーバ装置100は、競合広告の情報と、所定の広告の情報とに基づいたモデルの学習を行う。例えば、サーバ装置100は、競合他社が設定しているキーワードと、所定の広告に設定されているキーワードとについて、クリック率(CTR:Click Through Rate)との関係性を学習する。
【0067】
また、サーバ装置100は、所定の広告について、モデルを用いて適切なキーワードを推定する。例えば、サーバ装置100は、所定のキーワード群をモデルに入力して、キーワードごとにそれぞれクリック率(CTR)を予測する。
【0068】
このように、サーバ装置100は、所定のキーワードが検索クエリとして入力された場合に検索結果として提供される所定の広告の検索履歴が所定の条件を満たすか否かを判定(推定)する。このとき、サーバ装置100は、所定の広告の検索履歴が所定の条件を満たす場合には、登録されたキーワードに基づいて、競合関係にある他の広告を特定する。そして、サーバ装置100は、特定した他の広告と、所定の広告とについて、各キーワードと、各キーワードが入力された際に生じたコンバージョンとの間の関係性をモデルに学習させる。
【0069】
〔2.情報処理システムの構成例〕
次に、図3を用いて、実施形態に係るサーバ装置100が含まれる情報処理システム1の構成について説明する。図3は、実施形態に係る情報処理システム1の構成例を示す図である。図3に示すように、実施形態に係る情報処理システム1は、端末装置10とサーバ装置100と広告主端末200とを含む。これらの各種装置は、ネットワークNを介して、有線又は無線により通信可能に接続される。ネットワークNは、例えば、LAN(Local Area Network)や、インターネット等のWAN(Wide Area Network)である。
【0070】
また、図3に示す情報処理システム1に含まれる各装置の数は図示したものに限られない。例えば、図3では、図示の簡略化のため、端末装置10及び広告主端末200をそれぞれ1台のみ示したが、これはあくまでも例示であって限定されるものではなく、2台以上であってもよい。
【0071】
端末装置10は、利用者Uによって使用される情報処理装置である。広告主端末200
は、広告主によって使用される情報処理装置である。例えば、端末装置10及び広告主端末200は、スマートフォン(スマホ)やタブレット端末等のスマートデバイス、フィーチャーフォン(ガラケー・ガラホ)等の携帯電話、PC(Personal Computer)、PDA(Personal Digital Assistant)、通信機能を備えたゲーム機やAV機器、情報家電・デジタル家電、カーナビゲーションシステム、スマートウォッチやヘッドマウントディスプレイ等のウェアラブルデバイス(Wearable Device)、スマートグラス等である。また、端末装置10及び広告主端末200は、IOT(Internet of Things)に対応した住宅・建物、車、家電製品、電子機器等であってもよい。
【0072】
また、かかる端末装置10及び広告主端末200は、LTE(Long Term Evolution)、4G(4th Generation)、5G(5th Generation:第5世代移動通信システム)等の無線通信網や、Bluetooth(登録商標)、無線LAN(Local Area Network)等の近距離無線通信を介してネットワークNに接続し、サーバ装置100と通信することができる。
【0073】
サーバ装置100は、例えばPCやブレードサーバ(blade server)等のコンピュータ、あるいはメインフレーム又はワークステーション等である。なお、サーバ装置100は、クラウドコンピューティングにより実現されてもよい。
【0074】
〔3.端末装置の構成例〕
次に、図4を用いて、端末装置10の構成について説明する。図4は、端末装置10の構成例を示す図である。図4に示すように、端末装置10は、通信部11と、表示部12と、入力部13と、測位部14と、センサ部20と、制御部30(コントローラ)と、記憶部40とを備える。
【0075】
(通信部11)
通信部11は、ネットワークN(図3参照)と有線又は無線で接続され、ネットワークNを介して、サーバ装置100との間で情報の送受信を行う。例えば、通信部11は、NIC(Network Interface Card)やアンテナ等によって実現される。
【0076】
(表示部12)
表示部12は、位置情報等の各種情報を表示する表示デバイスである。例えば、表示部12は、液晶ディスプレイ(LCD:Liquid Crystal Display)や有機ELディスプレイ(Organic Electro-Luminescent Display)である。また、表示部12は、タッチパネル式のディスプレイであるが、これに限定されるものではない。
【0077】
(入力部13)
入力部13は、利用者Uから各種操作を受け付ける入力デバイスである。例えば、入力部13は、文字や数字等を入力するためのボタン等を有する。なお、入力部13は、入出力ポート(I/O port)やUSB(Universal Serial Bus)ポート等であってもよい。また、表示部12がタッチパネル式のディスプレイである場合、表示部12の一部が入力部13として機能する。また、入力部13は、利用者Uから音声入力を受け付けるマイク等であってもよい。マイクはワイヤレスであってもよい。
【0078】
(測位部14)
測位部14は、GPS(Global Positioning System)の衛星から送出される信号(電波)を受信し、受信した信号に基づいて、自装置である端末装置10の現在位置を示す位置情報(例えば、緯度及び経度)を取得する。すなわち、測位部14は、端末装置10の位置を測位する。なお、GPSは、GNSS(Global Navigation Satellite System)の一例に過ぎない。
【0079】
また、測位部14は、GPS以外にも、種々の手法により位置を測位することができる。例えば、測位部14は、位置補正等のための補助的な測位手段として、下記のように、端末装置10の様々な通信機能を利用して位置を測位してもよい。
【0080】
(Wi-Fi測位)
例えば、測位部14は、端末装置10のWi-Fi(登録商標)通信機能や、各通信会社が備える通信網を利用して、端末装置10の位置を測位する。具体的には、測位部14は、Wi-Fi通信等を行い、付近の基地局やアクセスポイントとの距離を測位することにより、端末装置10の位置を測位する。
【0081】
(ビーコン測位)
また、測位部14は、端末装置10のBluetooth(登録商標)機能を利用して位置を測位してもよい。例えば、測位部14は、Bluetooth(登録商標)機能によって接続されるビーコン(beacon)発信機と接続することにより、端末装置10の位置を測位する。
【0082】
(地磁気測位)
また、測位部14は、予め測定された構造物の地磁気のパターンと、端末装置10が備える地磁気センサとに基づいて、端末装置10の位置を測位する。
【0083】
(RFID測位)
また、例えば、端末装置10が駅改札や店舗等で使用される非接触型ICカードと同等のRFID(Radio Frequency Identification)タグの機能を備えている場合、もしくはRFIDタグを読み取る機能を備えている場合、端末装置10によって決済等が行われた情報とともに、使用された位置が記録される。測位部14は、かかる情報を取得することで、端末装置10の位置を測位してもよい。また、位置は、端末装置10が備える光学式センサや、赤外線センサ等によって測位されてもよい。
【0084】
測位部14は、必要に応じて、上述した測位手段の一つ又は組合せを用いて、端末装置10の位置を測位してもよい。
【0085】
(センサ部20)
センサ部20は、端末装置10に搭載又は接続される各種のセンサを含む。なお、接続は、有線接続、無線接続を問わない。例えば、センサ類は、ウェアラブルデバイスやワイヤレスデバイス等、端末装置10以外の検知装置であってもよい。図4に示す例では、センサ部20は、加速度センサ21と、ジャイロセンサ22と、気圧センサ23と、気温センサ24と、音センサ25と、光センサ26と、磁気センサ27と、画像センサ(カメラ)28とを備える。
【0086】
なお、上記した各センサ21~28は、あくまでも例示であって限定されるものではない。すなわち、センサ部20は、各センサ21~28のうちの一部を備える構成であってもよいし、各センサ21~28に加えてあるいは代えて、湿度センサ等その他のセンサを備えてもよい。
【0087】
加速度センサ21は、例えば、3軸加速度センサであり、端末装置10の移動方向、速度、及び、加速度等の端末装置10の物理的な動きを検知する。ジャイロセンサ22は、端末装置10の角速度等に基づいて3軸方向の傾き等の端末装置10の物理的な動きを検知する。気圧センサ23は、例えば端末装置10の周囲の気圧を検知する。
【0088】
端末装置10は、上記した加速度センサ21やジャイロセンサ22、気圧センサ23等を備えることから、これらの各センサ21~23等を利用した歩行者自律航法(PDR:Pedestrian Dead-Reckoning)等の技術を用いて端末装置10の位置を測位することが可能になる。これにより、GPS等の測位システムでは取得することが困難な屋内での位置情報を取得することが可能になる。
【0089】
例えば、加速度センサ21を利用した歩数計により、歩数や歩くスピード、歩いた距離を算出することができる。また、ジャイロセンサ22を利用して、利用者Uの進行方向や視線の方向、体の傾きを知ることができる。また、気圧センサ23で検知した気圧から、利用者Uの端末装置10が存在する高度やフロアの階数を知ることもできる。
【0090】
気温センサ24は、例えば端末装置10の周囲の気温を検知する。音センサ25は、例えば端末装置10の周囲の音を検知する。光センサ26は、端末装置10の周囲の照度を検知する。磁気センサ27は、例えば端末装置10の周囲の地磁気を検知する。画像センサ28は、端末装置10の周囲の画像を撮像する。
【0091】
上記した気圧センサ23、気温センサ24、音センサ25、光センサ26及び画像センサ28は、それぞれ気圧、気温、音、照度を検知したり、周囲の画像を撮像したりすることで、端末装置10の周囲の環境や状況等を検知することができる。また、端末装置10の周囲の環境や状況等から、端末装置10の位置情報の精度を向上させることが可能になる。
【0092】
(制御部30)
制御部30は、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM、入出力ポート等を有するマイクロコンピュータや各種の回路を含む。また、制御部30は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路等のハードウェアで構成されてもよい。制御部30は、送信部31と、受信部32と、処理部33とを有する。
【0093】
(送信部31)
送信部31は、例えば入力部13を用いて利用者Uにより入力された各種情報や、端末装置10に搭載又は接続された各センサ21~28によって検知された各種情報、測位部14によって測位された端末装置10の位置情報等を、通信部11を介してサーバ装置100へ送信することができる。
【0094】
(受信部32)
受信部32は、通信部11を介して、サーバ装置100から提供される各種情報や、サーバ装置100からの各種情報の要求を受信することができる。
【0095】
(処理部33)
処理部33は、表示部12等を含め、端末装置10全体を制御する。例えば、処理部33は、送信部31によって送信される各種情報や、受信部32によって受信されたサーバ装置100からの各種情報を表示部12へ出力して表示させることができる。
【0096】
(記憶部40)
記憶部40は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置によって実現される。かかる記憶部40には、各種プログラムや各種データ等が記憶される。
【0097】
〔4.サーバ装置の構成例〕
次に、図5を用いて、実施形態に係るサーバ装置100の構成について説明する。図5は、実施形態に係るサーバ装置100の構成例を示す図である。図5に示すように、サーバ装置100は、通信部110と、記憶部120と、制御部130とを備える。
【0098】
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。また、通信部110は、ネットワークN(図3参照)と有線又は無線で接続される。
【0099】
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、HDD、SSD、光ディスク等の記憶装置によって実現される。図5に示すように、記憶部120は、利用者情報データベース121と、履歴情報データベース122と、フラグ情報データベース123とを有する。
【0100】
(利用者情報データベース121)
利用者情報データベース121は、利用者Uに関する利用者情報を記憶する。例えば、利用者情報データベース121は、利用者Uの属性等の種々の情報を記憶する。図6は、利用者情報データベース121の一例を示す図である。図6に示した例では、利用者情報データベース121は、「利用者ID(Identifier)」、「年齢」、「性別」、「自宅」、「勤務地」、「興味」といった項目を有する。
【0101】
「利用者ID」は、利用者Uを識別するための識別情報を示す。なお、「利用者ID」は、利用者Uの連絡先(電話番号、メールアドレス等)であってもよいし、利用者Uの端末装置10を識別するための識別情報であってもよい。
【0102】
また、「年齢」は、利用者IDにより識別される利用者Uの年齢を示す。なお、「年齢」は、利用者Uの具体的な年齢(例えば35歳など)を示す情報であってもよいし、利用者Uの年代(例えば30代など)を示す情報であってもよい。あるいは、「年齢」は、利用者Uの生年月日を示す情報であってもよいし、利用者Uの世代(例えば80年代生まれなど)を示す情報であってもよい。また、「性別」は、利用者IDにより識別される利用者Uの性別を示す。
【0103】
また、「自宅」は、利用者IDにより識別される利用者Uの自宅の位置情報を示す。なお、図6に示す例では、「自宅」は、「LC11」といった抽象的な符号を図示するが、緯度経度情報等であってもよい。また、例えば、「自宅」は、地域名や住所であってもよい。
【0104】
また、「勤務地」は、利用者IDにより識別される利用者Uの勤務地(学生の場合は学校)の位置情報を示す。なお、図6に示す例では、「勤務地」は、「LC12」といった抽象的な符号を図示するが、緯度経度情報等であってもよい。また、例えば、「勤務地」は、地域名や住所であってもよい。
【0105】
また、「興味」は、利用者IDにより識別される利用者Uの興味を示す。すなわち、「興味」は、利用者IDにより識別される利用者Uが関心の高い対象を示す。例えば、「興味」は、利用者Uが検索エンジンに入力して検索した検索クエリ(キーワード)等であってもよい。なお、図6に示す例では、「興味」は、各利用者Uに1つずつ図示するが、複数であってもよい。
【0106】
例えば、図6に示す例において、利用者ID「U1」により識別される利用者Uの年齢は、「20代」であり、性別は、「男性」であることを示す。また、例えば、利用者ID「U1」により識別される利用者Uは、自宅が「LC11」であることを示す。また、例えば、利用者ID「U1」により識別される利用者Uは、勤務地が「LC12」であることを示す。また、例えば、利用者ID「U1」により識別される利用者Uは、「スポーツ」に興味があることを示す。
【0107】
ここで、図6に示す例では、「U1」、「LC11」及び「LC12」といった抽象的な値を用いて図示するが、「U1」、「LC11」及び「LC12」には、具体的な文字列や数値等の情報が記憶されるものとする。以下、他の情報に関する図においても、抽象的な値を図示する場合がある。
【0108】
なお、利用者情報データベース121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、利用者情報データベース121は、利用者Uの端末装置10に関する各種情報を記憶してもよい。また、利用者情報データベース121は、利用者Uのデモグラフィック(人口統計学的属性)、サイコグラフィック(心理学的属性)、ジオグラフィック(地理学的属性)、ベヘイビオラル(行動学的属性)等の属性に関する情報を記憶してもよい。例えば、利用者情報データベース121は、氏名、家族構成、出身地(地元)、職業、職位、収入、資格、居住形態(戸建、マンション等)、車の有無、通学・通勤時間、通学・通勤経路、定期券区間(駅、路線等)、利用頻度の高い駅(自宅・勤務地の最寄駅以外)、習い事(場所、時間帯等)、趣味、興味、ライフスタイル等の情報を記憶してもよい。
【0109】
(履歴情報データベース122)
履歴情報データベース122は、利用者Uの行動を示す履歴情報(ログデータ)に関する各種情報を記憶する。図7は、履歴情報データベース122の一例を示す図である。図7に示した例では、履歴情報データベース122は、「利用者ID」、「位置履歴」、「検索履歴」、「閲覧履歴」、「購入履歴」、「投稿履歴」といった項目を有する。
【0110】
「利用者ID」は、利用者Uを識別するための識別情報を示す。また、「位置履歴」は、利用者Uの位置や移動の履歴である位置履歴を示す。また、「検索履歴」は、利用者Uが入力した検索クエリの履歴である検索履歴を示す。また、「閲覧履歴」は、利用者Uが閲覧したコンテンツの履歴である閲覧履歴を示す。また、「購入履歴」は、利用者Uによる購入の履歴である購入履歴を示す。また、「投稿履歴」は、利用者Uによる投稿の履歴である投稿履歴を示す。なお、「投稿履歴」は、利用者Uの所有物に関する質問を含んでいてもよい。
【0111】
例えば、図7に示す例において、利用者ID「U1」により識別される利用者Uは、「位置履歴#1」の通りに移動し、「検索履歴#1」の通りに検索し、「閲覧履歴#1」の通りにコンテンツを閲覧し、「購入履歴#1」の通りに所定の店舗等で所定の商品等を購入し、「投稿履歴#1」の通りに投稿したことを示す。
【0112】
ここで、図7に示す例では、「U1」、「位置履歴#1」、「検索履歴#1」、「閲覧履歴#1」、「購入履歴#1」及び「投稿履歴#1」といった抽象的な値を用いて図示するが、「U1」、「位置履歴#1」、「検索履歴#1」、「閲覧履歴#1」、「購入履歴#1」及び「投稿履歴#1」には、具体的な文字列や数値等の情報が記憶されるものとする。
【0113】
なお、履歴情報データベース122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、履歴情報データベース122は、利用者Uの所定のサービスの利用履歴等を記憶してもよい。また、履歴情報データベース122は、利用者Uの実店舗の来店履歴又は施設の訪問履歴等を記憶してもよい。また、履歴情報データベース122は、利用者Uの端末装置10を用いた決済(電子決済)での決済履歴等を記憶してもよい。
【0114】
(フラグ情報データベース123)
フラグ情報データベース123は、アカウントのフラグ付けに関する各種情報を記憶する。図8は、フラグ情報データベース123の一例を示す図である。図8に示した例では、フラグ情報データベース123は、「クエリ」、「Score」、「CA」、「ADG」、「new」といった項目を有する。
【0115】
「クエリ」は、検索クエリとして入力されたキーワードを示す。また、「Score」は、キーワードのスコアを示す。なお、「Score」は、キーワードを形態素解析してベクトル化したベクトルを特徴量、CVRを目的変数として学習した予測モデルを用いて算出されたスコアを、0が最小、1が最大となるように正規化したものである。また、「CA」は、広告キャンペーンを示す。また、「ADG」は、広告グループを示す。また、「new」は、キーワードが新規に入稿を推奨するキーワードであるか否かを示す。なお、「new」は、「1」の場合に新規かつ入稿を推奨するキーワードであることを示し、「0」の場合に新規に入稿を推奨するキーワードではないことを示す。
【0116】
例えば、図8に示す例において、クエリ「沖縄、SUP」は、スコア「0.95」であり、CA「AA」及びADG「d」に属し、新規に入稿を推奨するキーワードであることを示す。
【0117】
ここで、図8に示す例では、「AA」及び「d」といった抽象的な値を用いて図示するが、「AA」及び「d」には、具体的な文字列や数値等の情報が記憶されるものとする。
【0118】
なお、フラグ情報データベース123は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、フラグ情報データベース123は、予測モデル(又はモデルを識別するための識別情報)等を記憶してもよい。また、フラグ情報データベース123は、自社(広告虫)の広告アカウントと似ている競合他社の広告アカウント等を記憶してもよい。
【0119】
(制御部130)
図5に戻り、説明を続ける。制御部130は、コントローラ(Controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等によって、サーバ装置100の内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAM等の記憶領域を作業領域として実行されることにより実現される。図5に示す例では、制御部130は、取得部131と、前処理部132と、言語処理部133と、変換部134と、学習部135と、算出部136と、抽出部137と、提案部138と、割当部139とを有する。
【0120】
(取得部131)
取得部131は、利用者U(ユーザ)により入力された検索クエリを取得する。例えば、取得部131は、利用者Uが検索エンジン等に検索クエリを入力してキーワード検索を行った際に、通信部110を介して、当該検索クエリを取得する。すなわち、取得部131は、通信部110を介して、利用者Uにより検索エンジンやサイト又はアプリの検索窓に入力されたキーワードを取得する。
【0121】
また、取得部131は、通信部110を介して、利用者Uに関する利用者情報を取得する。例えば、取得部131は、利用者Uの端末装置10から、利用者Uを示す識別情報(利用者ID等)や、利用者Uの位置情報、利用者Uの属性情報等を取得する。また、取得部131は、利用者Uのユーザ登録時に、利用者Uを示す識別情報や、利用者Uの属性情報等を取得してもよい。そして、取得部131は、利用者情報を、記憶部120の利用者情報データベース121に登録する。
【0122】
また、取得部131は、通信部110を介して、利用者Uの行動を示す各種の履歴情報(ログデータ)を取得する。例えば、取得部131は、利用者Uの端末装置10から、あるいは利用者ID等に基づいて各種サーバ等から、利用者Uの行動を示す各種の履歴情報を取得する。そして、取得部131は、各種の履歴情報を、記憶部120の履歴情報データベース122に登録する。
【0123】
また、取得部131は、通信部110を介して、キーワード(KW)が登録された設定ファイルを取得して記憶部120に記憶し、要求又は必要に応じて読み込んでもよい。このとき、設定ファイルに登録されているキーワードを登録キーワードとしてもよい。
【0124】
(前処理部132)
前処理部132は、キーワードから、ブランド名を、表記ゆれを修正した上で、部分一致検索で除外する。また、前処理部132は、キーワードの異常値を除外する。また、前処理部132は、CVRの外れ値を除外し、CVRを0から1に収まるようにする。また、前処理部132は、処理負荷軽減のため学習データが一定の閾値以上の場合ランダムサンプリングを行う。
【0125】
(言語処理部133)
言語処理部133は、キーワードを品詞ごとに形態素解析する。例えば、言語処理部133は、登録済みのキーワードを形態素解析する。また、言語処理部133は、検索クエリから抽出された提案キーワードを形態素解析する。
【0126】
(変換部134)
変換部134は、形態素解析後にキーワードを複数次元のベクトルに変換する。例えば、変換部134は、登録済みのキーワードの形態素解析後の単語をベクトル化し、各ベクトルをキーワードごとに平均集約し、200次元のベクトルとする。また、変換部134は、提案キーワードの形態素解析後の単語をベクトル化する。
【0127】
(学習部135)
学習部135は、ベクトルを特徴量、CVRを目的変数として学習モデルを作成する。例えば、学習部135は、各単語の200次元のベクトルを特徴量とし、CVRを目的変数として学習した予測モデルを作成する。
【0128】
(算出部136)
算出部136は、学習モデルを用いて、キーワードをスコアリングする。例えば、算出部136は、予測モデルにベクトルをインプットしてCVRを予測したスコアを算出し、スコアを0が最小、1が最大となるように正規化する。
【0129】
(抽出部137)
抽出部137は、検索広告に登録されている広告キャンペーン及び広告グループのキーワードを抽出する。例えば、抽出部137は、検索広告のアカウントに登録済のキーワードと所属する広告キャンペーン及び広告グループ情報を抽出する。
【0130】
このとき、言語処理部133は、広告キャンペーン及び広告グループ情報を形態素解析する。変換部134は、広告キャンペーン及び広告グループ情報の単語をベクトル化する。算出部136は、広告キャンペーン及び広告グループ情報の単語のベクトルの平均値を算出する。そして、算出部136は、各提案キーワードのベクトルと、算出されたベクトルの平均値とのコサイン類似度を全通り算出する。
【0131】
(提案部138)
提案部138は、コサイン類似度に応じて、広告キャンペーン及び広告グループ情報をレコメンドする。例えば、提案部138は、コサイン類似度が最も高い値となるベクトルを、意味的に近いものとみなし、広告キャンペーンと広告グループ情報をレコメンド情報として出力又は記憶する。
【0132】
(割当部139)
割当部139は、キーワードを入稿した広告アカウントに対して広告キャンペーン及び広告グループを割り当てる。例えば、サーバ装置100は、広告アカウントのフラグ付けにより、新規・推奨のキーワード(又はそれを含む広告)を入稿した広告アカウントに対して広告キャンペーン割当/広告グループ割当等を行う。このとき、割当部139は、キーワードのスコアに応じて、新規・推奨入稿アカウントをフラグ付けしてもよい。
【0133】
〔5.処理手順〕
次に、図9A図9Bを用いて実施形態に係るサーバ装置100による処理手順について説明する。図9Aは、実施形態に係る処理手順の前半部分を示すフローチャートである。図9Bは、実施形態に係る処理手順の後半部分を示すフローチャートである。なお、以下に示す処理手順は、サーバ装置100の制御部130によって繰り返し実行される。
【0134】
例えば、図9Aに示すように、サーバ装置100の取得部131は、キーワード(KW)が登録された設定ファイルの読み込みを行い、登録キーワードを取得する(ステップS101)。
【0135】
続いて、サーバ装置100の前処理部132は、登録キーワードに関する前処理を行う(ステップS102)。
【0136】
例えば、前処理部132は、キーワードから、ブランド名を、表記ゆれを修正した上で、部分一致検索で除外する。また、前処理部132は、キーワードの異常値を除外する。また、前処理部132は、CVRの外れ値を除外し、CVRを0から1に収まるようにする。また、前処理部132は、処理負荷軽減のため学習データが一定の閾値以上の場合ランダムサンプリングを行う。
【0137】
続いて、サーバ装置100の言語処理部133は、登録キーワードを形態素解析する(ステップS103)。
【0138】
続いて、サーバ装置100の変換部134は、形態素解析後の単語をベクトル化し、各ベクトルをキーワードごとに平均集約し、200次元のベクトルとする(ステップS104)。
【0139】
続いて、サーバ装置100の学習部135は、各単語の200次元のベクトルを特徴量とし、CVRを目的変数として学習した予測モデルを作成する(ステップS105)。
【0140】
続いて、サーバ装置100の取得部131は、自社及び競合他社に流入した検索クエリから抽出された提案キーワードを取得する(ステップS106)。
【0141】
続いて、サーバ装置100の前処理部132は、提案キーワードに関する前処理を行う(ステップS107)。なお、当該前処理の内容は、ステップS102と同様である。
【0142】
続いて、サーバ装置100の言語処理部133は、提案キーワードを形態素解析する(ステップS108)。
【0143】
続いて、サーバ装置100の変換部134は、形態素解析後の単語をベクトル化する(ステップS109)。
【0144】
続いて、図9Bに示すように、サーバ装置100の算出部136は、予測モデルにベクトルをインプットしてCVRを予測したスコアを算出し、スコアを0が最小、1が最大となるように正規化する(ステップS110)。
【0145】
続いて、サーバ装置100の抽出部137は、検索広告のアカウントに登録済のキーワードと所属する広告キャンペーン及び広告グループ情報を抽出する(ステップS111)。
【0146】
例えば、抽出部137は、検索広告に登録されている広告キャンペーン及び広告グループのキーワードを抽出する。
【0147】
続いて、サーバ装置100の前処理部132は、広告キャンペーン及び広告グループ情報に関する前処理を行う(ステップS112)。
【0148】
例えば、前処理部132は、広告キャンペーン及び広告グループのキーワードから、ブランド名を、表記ゆれを修正した上で、部分一致検索で除外する。また、前処理部132は、キーワードの異常値を除外する。また、前処理部132は、処理負荷軽減のため学習データが一定の閾値以上の場合ランダムサンプリングを行う。ここでは、CVRの外れ値の除外は行われない。
【0149】
続いて、サーバ装置100の言語処理部133は、広告キャンペーン及び広告グループ情報を形態素解析する(ステップS113)。
【0150】
続いて、サーバ装置100の変換部134は、広告キャンペーン及び広告グループ情報の単語をベクトル化する(ステップS114)。
【0151】
続いて、サーバ装置100の算出部136は、ベクトルの平均値を算出し、各提案キーワードのベクトルと、算出されたベクトルの平均値とのコサイン類似度を全通り算出する(ステップS115)。
【0152】
続いて、サーバ装置100の提案部138は、コサイン類似度に応じて、広告キャンペーン及び広告グループ情報をレコメンドする(ステップS116)。
【0153】
例えば、提案部138は、コサイン類似度が最も高い値となるベクトルを、意味的に近いものとみなし、広告キャンペーンと広告グループ情報をレコメンド情報として出力又は記憶する。
【0154】
続いて、サーバ装置100の割当部139は、キーワードを入稿した広告アカウントに対して広告キャンペーン及び広告グループを割り当てる(ステップS117)。
【0155】
例えば、割当部139は、広告アカウントのフラグ付けにより、新規・推奨のキーワード(又はそれを含む広告)を入稿した広告アカウントに対して広告キャンペーン割当/広告グループ割当等を行う。
【0156】
〔6.変形例〕
上述した端末装置10及びサーバ装置100は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、実施形態の変形例について説明する。
【0157】
上記の実施形態において、サーバ装置100が実行している処理の一部又は全部は、実際には、端末装置10が実行してもよい。例えば、スタンドアローン(Stand-alone)で(端末装置10単体で)処理が完結してもよい。この場合、端末装置10に、上記の実施形態におけるサーバ装置100の機能が備わっているものとする。また、上記の実施形態では、端末装置10はサーバ装置100と連携しているため、利用者Uから見れば、サーバ装置100の処理も端末装置10が実行しているように見える。すなわち、他の観点では、端末装置10は、サーバ装置100を備えているともいえる。
【0158】
また、上記の実施形態において、サーバ装置100は、自社(広告主)の広告アカウントに似ている競合他社の広告アカウントを自動で抽出できるようにしてもよい。現状では、手作業(手動)で自社と競合他社の広告アカウントやURLの情報を指定し、その中からキーワード(KW)候補を選抜している。そこで、学習モデルに自社の広告アカウントを入力して競合の競合他社の広告アカウントをデータドリブンで抽出できるようにする。このとき、自社登録キーワードと競合登録キーワードの一致率を使った抽出ロジックを用いてもよい。自社に近い競合他社の広告アカウントの登録キーワードは、自社でも入稿が期待できる。また、競合他社の広告アカウントを自動抽出することにより、担当者が競合他社の広告アカウントを探し入力する手間が省ける。すなわち、手作業(手動)で競合他社の広告アカウントを調査し、記入する工数が削減できる。また、競合他社の広告アカウントでキーワードが似ているアカウントを新たに候補にすることができる。また、競合他社の広告アカウントでキーワードが似ていないアカウントを排除することができる。
【0159】
また、上記の実施形態において、サーバ装置100は、自社(広告主)の広告アカウントに似ている競合他社の広告アカウントの登録キーワードを自動で抽出して設定ファイルを作成するようにしてもよい。このとき、サーバ装置100は、自社(広告主)の広告アカウントの登録キーワードと、競合他社の広告アカウントの登録キーワードとを組み合わせて設定ファイルを作成してもよい。
【0160】
〔7.効果〕
上述してきたように、本願に係る情報処理装置(端末装置10及びサーバ装置100)は、キーワードを品詞ごとに形態素解析する言語処理部133と、形態素解析後にキーワードを複数次元のベクトルに変換する変換部134と、ベクトルを特徴量、CVRを目的変数として学習モデルを作成する学習部135と、学習モデルを用いて、キーワードをスコアリングする算出部136と、キーワードを入稿した広告アカウントに対して広告キャンペーン及び広告グループを割り当てる割当部139と、を備えることを特徴とする。
【0161】
また、本願に係る情報処理装置は、キーワードから、ブランド名を、表記ゆれを修正した上で、部分一致検索で除外する前処理部132をさらに備える。
【0162】
前処理部132は、キーワードの異常値を除外する。
【0163】
前処理部132は、CVRの外れ値を除外し、CVRを0から1に収まるようにする。
【0164】
前処理部132は、処理負荷軽減のため学習データが一定の閾値以上の場合ランダムサンプリングを行う。
【0165】
言語処理部133は、登録済みのキーワードを形態素解析する。変換部134は、形態素解析後の単語をベクトル化し、各ベクトルをキーワードごとに平均集約し、200次元のベクトルとする。学習部135は、各単語の200次元のベクトルを特徴量とし、CVRを目的変数として学習した予測モデルを作成する。
【0166】
言語処理部133は、検索クエリから抽出された提案キーワードを形態素解析する。変換部134は、形態素解析後の単語をベクトル化する。算出部136は、予測モデルにベクトルをインプットしてCVRを予測したスコアを算出し、スコアを0が最小、1が最大となるように正規化する。
【0167】
また、本願に係る情報処理装置は、検索広告に登録されている広告キャンペーン及び広告グループのキーワードを抽出する抽出部137をさらに備える。抽出部137は、検索広告のアカウントに登録済のキーワードと所属する広告キャンペーン及び広告グループ情報を抽出する。
【0168】
言語処理部133は、広告キャンペーン及び広告グループ情報を形態素解析する。変換部134は、広告キャンペーン及び広告グループ情報の単語をベクトル化する。算出部136は、ベクトルの平均値を算出し、各提案キーワードのベクトルと、算出されたベクトルの平均値とのコサイン類似度を全通り算出する。
【0169】
コサイン類似度に応じて、広告キャンペーン及び広告グループ情報をレコメンドする提案部138をさらに備える。提案部138は、コサイン類似度が最も高い値となるベクトルを、意味的に近いものとみなし、広告キャンペーンと広告グループ情報をレコメンド情報として出力又は記憶する。
【0170】
上述した各処理のいずれかもしくは組合せにより、本願に係る情報処理装置は、広告主にとって広告効果の高いキーワードをより高精度に予測して提案することができる。
【0171】
〔8.ハードウェア構成〕
また、上述した実施形態に係る端末装置10やサーバ装置100は、例えば図10に示すような構成のコンピュータ1000によって実現される。以下、サーバ装置100を例に挙げて説明する。図10は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力I/F(Interface)1060、入力I/F1070、ネットワークI/F1080がバス1090により接続された形態を有する。
【0172】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。演算装置1030は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等により実現される。
【0173】
一次記憶装置1040は、RAM(Random Access Memory)等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等により実現される。二次記憶装置1050は、内蔵ストレージであってもよいし、外付けストレージであってもよい。また、二次記憶装置1050は、USB(Universal Serial Bus)メモリやSD(Secure Digital)メモリカード等の取り外し可能な記憶媒体であってもよい。また、二次記憶装置1050は、クラウドストレージ(オンラインストレージ)やNAS(Network Attached Storage)、ファイルサーバ等であってもよい。
【0174】
出力I/F1060は、ディスプレイ、プロジェクタ、及びプリンタ等といった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインターフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力I/F1070は、マウス、キーボード、キーパッド、ボタン、及びスキャナ等といった各種の入力装置1020から情報を受信するためのインターフェースであり、例えば、USB等により実現される。
【0175】
また、出力I/F1060及び入力I/F1070はそれぞれ出力装置1010及び入力装置1020と無線で接続してもよい。すなわち、出力装置1010及び入力装置1020は、ワイヤレス機器であってもよい。
【0176】
また、出力装置1010及び入力装置1020は、タッチパネルのように一体化していてもよい。この場合、出力I/F1060及び入力I/F1070も、入出力I/Fとして一体化していてもよい。
【0177】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、又は半導体メモリ等から情報を読み出す装置であってもよい。
【0178】
ネットワークI/F1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0179】
演算装置1030は、出力I/F1060や入力I/F1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0180】
例えば、コンピュータ1000がサーバ装置100として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部130の機能を実現する。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器から取得したプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行してもよい。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器と連携し、プログラムの機能やデータ等を他の機器の他のプログラムから呼び出して利用してもよい。
【0181】
〔9.その他〕
以上、本願の実施形態を説明したが、これら実施形態の内容により本発明が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、前述した実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。
【0182】
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0183】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【0184】
例えば、上述したサーバ装置100は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットフォーム等をAPI(Application Programming Interface)やネットワークコンピューティング等で呼び出して実現するなど、構成は柔軟に変更できる。
【0185】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0186】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【0187】
1 情報処理システム
10 端末装置
100 サーバ装置
110 通信部
120 記憶部
121 利用者情報データベース
122 履歴情報データベース
123 フラグ情報データベース
130 制御部
131 取得部
132 前処理部
133 言語処理部
134 変換部
135 学習部
136 算出部
137 抽出部
138 提案部
139 割当部
図1
図2
図3
図4
図5
図6
図7
図8
図9A
図9B
図10