(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023137658
(43)【公開日】2023-09-29
(54)【発明の名称】情報処理装置、情報処理方法、及びプログラム
(51)【国際特許分類】
G06F 16/903 20190101AFI20230922BHJP
G06Q 30/0251 20230101ALI20230922BHJP
【FI】
G06F16/903
G06Q30/02 398
【審査請求】有
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022043947
(22)【出願日】2022-03-18
(71)【出願人】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100154852
【弁理士】
【氏名又は名称】酒井 太一
(74)【代理人】
【識別番号】100181124
【弁理士】
【氏名又は名称】沖田 壮男
(74)【代理人】
【識別番号】100194087
【弁理士】
【氏名又は名称】渡辺 伸一
(72)【発明者】
【氏名】熊谷 俊宏
(72)【発明者】
【氏名】五十嵐 亮
(72)【発明者】
【氏名】南 翔太郎
【テーマコード(参考)】
5B175
5L049
【Fターム(参考)】
5B175HA01
5L049BB08
(57)【要約】
【課題】検索の利便性をより向上させることができる情報処理装置、情報処理方法、及びプログラムを提供することである。
【解決手段】情報処理装置は、ユーザによって入力されたクエリを取得する取得部と、前記取得されたクエリと、互いに異なる複数の判定条件とに基づいて、ある対象領域を検索する意図が前記ユーザにあるのか否かを判定する判定部と、前記判定された意図の有無に応じて、前記対象領域に関するコンテンツであるターゲティングコンテンツを前記クエリによる検索結果の一部として前記ユーザに提供する提供部と、を備える。
【選択図】
図4
【特許請求の範囲】
【請求項1】
ユーザによって入力されたクエリを取得する取得部と、
前記取得されたクエリと、互いに異なる複数の判定条件とに基づいて、ある対象領域を検索する意図が前記ユーザにあるのか否かを判定する判定部と、
前記判定された意図の有無に応じて、前記対象領域に関するコンテンツであるターゲティングコンテンツを前記クエリによる検索結果の一部として前記ユーザに提供する提供部と、
を備える情報処理装置。
【請求項2】
複数の判定条件には、
前記クエリが入力されたことに応じて第1スコアを出力するように学習された第1機械学習モデルの出力結果を第1閾値と比較する第1判定条件と、
前記クエリが入力されたことに応じて第2スコアを出力するように学習された第2機械学習モデルの出力結果を第2閾値と比較する第2判定条件と、が含まれる、
請求項1に記載の情報処理装置。
【請求項3】
前記第1機械学習モデルは、ある学習対象者によって入力されたクエリである学習対象クエリに対して、前記学習対象者に提供された前記ターゲティングコンテンツが前記学習対象者によって選択されやすかったかどうかの程度を表す前記第1スコアが対応付けられた第1トレーニングデータセットを基に学習されており、
前記第2機械学習モデルは、前記学習対象クエリに対して、前記学習対象クエリの検索結果として提供された複数のコンテンツの中から、前記学習対象者が前記対象領域を扱う事業者のコンテンツを選択したか否かを表す前記第2スコアが対応付けられた第2トレーニングデータセットを基に学習されている、
請求項2に記載の情報処理装置。
【請求項4】
前記第1トレーニングデータセットにおいて、前記学習対象クエリが入力された時刻に応じて、前記第1スコアが重み付けられる、
請求項3に記載の情報処理装置。
【請求項5】
前記学習対象クエリには、第1時刻に入力された第1学習対象クエリと、前記第1時刻よりも後の第2時刻に入力された第2学習対象クエリとが含まれており、
前記第1学習対象クエリに対応付けられる前記第1スコアの重み係数に比べて、前記第2学習対象クエリに対応付けられる前記第1スコアの重み係数が大きい、
請求項4に記載の情報処理装置。
【請求項6】
前記第2トレーニングデータセットにおいて、前記学習対象クエリが入力された時刻に応じて、前記第2スコアが重み付けられる、
請求項3から5のうちいずれか一項に記載の情報処理装置。
【請求項7】
前記学習対象クエリには、第1時刻に入力された第1学習対象クエリと、前記第1時刻よりも後の第2時刻に入力された第2学習対象クエリとが含まれており、
前記第1学習対象クエリに対応付けられる前記第2スコアの重み係数に比べて、前記第2学習対象クエリに対応付けられる前記第2スコアの重み係数が大きい、
請求項6に記載の情報処理装置。
【請求項8】
前記判定部は、
前記取得されたクエリを前記第1機械学習モデルに入力することで前記第1機械学習モデルに前記第1スコアを出力させ、
前記取得されたクエリを前記第2機械学習モデルに入力することで前記第2機械学習モデルに前記第2スコアを出力させ、
前記第1機械学習モデルに出力させた前記第1スコアが前記第1閾値を超え、かつ前記第2機械学習モデルに出力させた前記第2スコアが前記第2閾値を超える場合に、前記対象領域を検索する意図が前記ユーザにあると判定する、
請求項2から7のうちいずれか一項に記載の情報処理装置。
【請求項9】
前記ターゲティングコンテンツは、前記クエリによる検索結果として提供されるネットワーク上のページの一部領域に表示されるコンテンツである、
請求項1から8のうちいずれか一項に記載の情報処理装置。
【請求項10】
コンピュータが、
ユーザによって入力されたクエリを取得し、
前記取得されたクエリと、互いに異なる複数の判定条件とに基づいて、ある対象領域を検索する意図が前記ユーザにあるのか否かを判定し、
前記判定された意図の有無に応じて、前記対象領域に関するコンテンツであるターゲティングコンテンツを前記クエリによる検索結果の一部として前記ユーザに提供する、
情報処理方法。
【請求項11】
コンピュータに、
ユーザによって入力されたクエリを取得すること、
前記取得されたクエリと、互いに異なる複数の判定条件とに基づいて、ある対象領域を検索する意図が前記ユーザにあるのか否かを判定すること、
前記判定された意図の有無に応じて、前記対象領域に関するコンテンツであるターゲティングコンテンツを前記クエリによる検索結果の一部として前記ユーザに提供すること、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
ユーザが用いた検索キーワードを、所定のカテゴリIDに置き換えた上で広告や商品レコメンドなど情報の選択に用いる技術が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術では、検索の利便性を向上させる余地があった。
【0005】
本発明は、上記の課題に鑑みてなされたものであり、検索の利便性をより向上させることができる情報処理装置、情報処理方法、及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【0006】
本発明の一態様は、ユーザによって入力されたクエリを取得する取得部と、前記取得されたクエリと、互いに異なる複数の判定条件とに基づいて、ある対象領域を検索する意図が前記ユーザにあるのか否かを判定する判定部と、前記判定された意図の有無に応じて、前記対象領域に関するコンテンツであるターゲティングコンテンツを前記クエリによる検索結果の一部として前記ユーザに提供する提供部と、を備える情報処理装置である。
【発明の効果】
【0007】
本発明の一態様によれば、検索の利便性をより向上させることができる。
【図面の簡単な説明】
【0008】
【
図1】第1実施形態における情報処理装置100を含む情報処理システム1の一例を示す図である。
【
図3】ダイレクトディスプレイDDの一例を表す図である。
【
図4】第1実施形態における情報処理装置100の構成の一例を示す図である。
【
図5】第1実施形態の情報処理装置100によるランタイムにおいて実行される一連の処理の流れを示すフローチャートである。
【
図6】第1機械学習モデルMDL1及び第2機械学習モデルMDL2を模式的に表す図である。
【
図7】DNNによって実装された場合の第1機械学習モデルMDL1又は第2機械学習モデルMDL2のレイヤ構造の一例を表す図である。
【
図8】第1実施形態の情報処理装置100によるトレーニングにおいて実行される一連の処理の流れを示すフローチャートである。
【
図9】実施形態の情報処理装置100のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0009】
以下、本発明を適用した情報処理装置、情報処理方法、及びプログラムを、図面を参照して説明する。
【0010】
[概要]
情報処理装置は、一以上のプロセッサにより実現される。情報処理装置は、ユーザによって入力されたクエリを取得し、その取得したクエリと、互いに異なる複数の判定条件とに基づいて、ある対象領域を検索する意図がユーザにあるのか否かを判定する。
【0011】
領域とは、例えば、不動産、飲食、旅行、求人、ショッピング、オークション、天気、映画、ドラマ、スポーツ、漫画、アニメ、ニュース、といったあらゆる領域を含んでよい。また、領域は更に細分化されていてもよい。例えば、不動産という領域であれば、マンション・アパートという領域と、一戸建てという領域に細分化されていてもよいし、購入という領域と賃貸という領域に細分化されていてもよい。対象領域とは、このような複数の領域のなかの少なくともいずれか一つの領域である。
【0012】
情報処理装置は、対象領域を検索する意図がユーザにあるのか否かを判定すると、その判定結果、つまりユーザによる検索意図の有無に応じて、対象領域に関するコンテンツ(以下、ターゲティングコンテンツという)を、クエリによる検索結果の一部としてユーザが利用する端末装置(具体的にはクエリの入力に利用された端末装置)に提供する。以降、「ユーザが利用する端末装置に提供する」を単に「ユーザに提供する」と説明する場合がある。このようなユーザの検索意図を判定することによって、ユーザがより所望するコンテンツを提供しやすくなり、ユーザによる検索の利便性をより向上させることができる。
【0013】
<第1実施形態>
[全体構成]
図1は、第1実施形態における情報処理装置100を含む情報処理システム1の一例を示す図である。第1実施形態における情報処理システム1は、例えば、一以上の端末装置10と、サービス提供装置20と、情報処理装置100とを備える。これらの装置は、ネットワークNWを介して接続される。また、これらの装置のうち一部は、他の装置に仮想的な装置として包含されてもよく、例えば、サービス提供装置20の機能の一部または全部が、情報処理装置100の機能によって実現される仮想マシンであってもよい。
【0014】
図1に示す各装置は、ネットワークNWを介して種々の情報を送受信する。ネットワークNWは、例えば、インターネット、WAN(Wide Area Network)、LAN(Local Area Network)、プロバイダ端末、無線通信網、無線基地局、専用回線などを含む。なお、
図1に示す各装置の全ての組み合わせが相互に通信可能である必要はなく、ネットワークNWは、一部にローカルなネットワークを含んでもよい。
【0015】
端末装置10は、例えば、スマートフォンなどの携帯電話、タブレット端末、各種パーソナルコンピュータなどの、入力装置、表示装置、通信装置、記憶装置、および演算装置を備える端末装置である。通信装置は、NIC(Network Interface Card)などのネットワークカード、無線通信モジュールなどを含む。端末装置10では、ウェブブラウザやアプリケーションプログラムなどのUA(User Agent)が起動し、ユーザの入力する内容に応じたリクエストをサービス提供装置20に送信する。また、UAが起動された端末装置10は、サービス提供装置20から取得した情報に基づいて、表示装置に各種情報を表示させる。
【0016】
サービス提供装置20は、例えば、UAとして起動されたウェブブラウザからのリクエストに応じてウェブページを端末装置10に提供するウェブサーバである。ウェブページは、典型的には、検索サイトであるがこれに限定されず、例えば、複数の店舗が出店するショッピングサイトや、オークションサイト、フリーマーケットサイト、SNS(Social Networking Service)などであってもよい。
【0017】
また、サービス提供装置20は、UAとして起動されたアプリケーションからのリクエストに応じてコンテンツを端末装置10に提供することで、各種ウェブサイトと同様のサービスを提供するアプリケーションサーバであってもよい。以下、一例として、サービス提供装置20によって提供されるサービスが、「検索サイト」であるものとして説明する。
【0018】
情報処理装置100は、検索サイト上で入力されたクエリと、互いに異なる複数の判定条件とに基づいて、クエリを入力したユーザに、ある対象領域を検索する意図があるのか否かを判定する。本実施形態では、一例として、対象領域が「不動産」であるものとして説明する。
【0019】
情報処理装置100は、「不動産」を検索する意図がユーザにある場合、「不動産」に関するコンテンツへアクセス可能なリンクを張ったダイレクトディスプレイDDを、クエリの検索結果のトップページの一部領域に表示するよう、サービス提供装置20に指示する。これを受けて、サービス提供装置20は、一部領域にダイレクトディスプレイDDが表示された検索結果のトップページを、端末装置10に提供する。ダイレクトディスプレイDDそのもの、又はそのダイレクトディスプレイDDの表示領域内に張られたリンク先のコンテンツは「ターゲティングコンテンツ」の一例である。
【0020】
図2は、検索サイトの一例を示す図である。検索サイトには、検索窓Wが設けられており、ユーザが検索窓Wに文字列を入力すると、その文字列がクエリとして端末装置10からサービス提供装置20に送信される。サービス提供装置20は、端末装置10からクエリを受信すると、クエリに応じた検索結果を端末装置10に送信する。検索結果を端末装置10に送信するのに先立って、サービス提供装置20は、端末装置10から受信したクエリを情報処理装置100に送信する。
【0021】
情報処理装置100は、サービス提供装置20からクエリを受信すると、そのクエリの検索意図を判定する。例えば図示のように、検索サイト上の検索窓Wに「東京都_賃貸」という文字列がクエリとして入力されたとする。アンダーバーを文字と文字との間に入力されたスペースを表している。この場合、情報処理装置100は、「東京都_賃貸」というクエリを用いてユーザが「不動産」に関するコンテンツを検索する意図があるのかどうかを判定する。ユーザが「不動産」に関するコンテンツを検索する意図があると判定されると、「東京都_賃貸」というクエリの検索結果のトップページの一部領域にダイレクトディスプレイDDが表示される。
【0022】
図3は、ダイレクトディスプレイDDの一例を表す図である。図示のように、ダイレクトディスプレイDDは、検索結果のトップページの最上位に表示されてよい。例えば、ダイレクトディスプレイDDのなかには、ユーザの検索意図があると判定された「不動産」に関するコンテンツのリンクが表示されてよい。具体的には、「不動産」の事業者が検索サイトの管理者に広告を依頼していた場合、ダイレクトディスプレイDD上には、広告主である「不動産」の事業者のウェブサイト(例えば不動産仲介サイト等)へのリンクが表示されてよい。
【0023】
[情報処理装置の構成]
図4は、第1実施形態における情報処理装置100の構成の一例を示す図である。図示のように、情報処理装置100は、例えば、通信部102と、処理部110と、記憶部130とを備える。
【0024】
通信部102は、例えば、NIC等の通信インターフェースを含む。通信部102は、ネットワークNWを介して、サービス提供装置20などと通信する。
【0025】
処理部110は、例えば、取得部112と、判定部114と、通信制御部116と、学習部118とを備える。通信部102と、通信制御部116と、サービス提供装置20とを合わせたものは、「提供部」の一例である。
【0026】
処理部110の構成要素は、例えば、CPU(Central Processing Unit)などのプロセッサが記憶部130に格納されたプログラムを実行することにより実現される。また、処理部110の構成要素の一部または全部は、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、またはGPU(Graphics Processing Unit)などのハードウェア(回路部;circuitry)により実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。
【0027】
記憶部130は、例えば、HDD(Hard Disc Drive)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、ROM(Read Only Memory)、RAM(Random Access Memory)などの記憶装置により実現される。記憶部130には、ファームウェアやアプリケーションプログラムなどの各種プログラムの他に、ユーザ素性132や、辞書134、モデル情報136などが格納される。
【0028】
ユーザ素性132は、各ユーザの素性に関するデータベースであり、例えば、ユーザの性別や、年齢、住所、趣味、嗜好、行動履歴などのうち一部または全部を含む。行動履歴とは、閲覧したコンテンツや購買した商品などのネットワークにおける行動や、ユーザの端末装置10により提供された位置情報などを含む。ユーザの素性はユーザの特徴と読み替えられてもよい。
【0029】
辞書134は、不動産、飲食、旅行、求人といった複数の領域のそれぞれでクエリと入力されやすい固有表現などが登録されたデータベースである。
【0030】
モデル情報136は、後述する2つの機械学習モデルを定義した情報(プログラムやデータ構造、アルゴリズム)である。詳細については後述する。
【0031】
[情報処理装置の処理フロー(ランタイム)]
以下、ランタイムにおける処理部110の処理内容についてフローチャートを用いて説明する。
図5は、第1実施形態の情報処理装置100によるランタイムにおいて実行される一連の処理の流れを示すフローチャートである。本フローチャートの処理は、例えば、所定の周期で繰り返し行われてよい。
【0032】
まず、取得部112は、通信部102を介して、サービス提供装置20から、検索意図の判定対象とするユーザ(以下、判定対象者という)が検索サイトの検索窓Wに入力した文字列を、クエリとして取得する(ステップS100)。
【0033】
次に、判定部114は、取得部112によって取得された判定対象者のクエリと、互いに異なる複数の判定条件とに基づいて、判定対象者に「不動産」を検索する意図があるのか否かを判定する(ステップS102)。
【0034】
複数の判定条件には、第1判定条件と、第2判定条件とが含まれる。第1判定条件とは、クエリが入力されたことに応じて第1スコアを出力するように学習された第1機械学習モデルMDL1の出力結果と、ある第1閾値とを比較するというものである。第2判定条件とは、クエリが入力されたことに応じて第2スコアを出力するように学習された第2機械学習モデルMDL2の出力結果と、ある第2閾値とを比較するというものである。第1機械学習モデルMDL1及び第2機械学習モデルMDL2は、モデル情報136によって定義される。
【0035】
第1機械学習モデルMDL1及び第2機械学習モデルMDL2は、例えば、CNN(Convolutional Neural Network)などのDNN(Deep Neural Network(s))によって実装されてよい。また、第1機械学習モデルMDL1及び第2機械学習モデルMDL2のうち一方又は双方は、DNNに限られず、ロジスティック回帰や、サポートベクターマシン、決定木、単純ベイズ分類器、ランダムフォレストといった他のモデルやアルゴリズムによって実装されてもよい。
【0036】
第1機械学習モデルMDL1及び第2機械学習モデルMDL2のうち少なくとも一方がDNNによって実装される場合、モデル情報136には、例えば、当該DNNを構成する入力層、一以上の隠れ層(中間層)、出力層の其々に含まれるユニット(ユニットあるいはノード)が互いにどのように結合されるのかという結合情報や、結合されたユニット間で入出力されるデータに付与される結合係数がいくつであるのかという重み情報などが含まれる。結合情報は、例えば、各層に含まれるユニット数や、各ユニットの結合先のユニットの種類を指定する情報、各ユニットを実現する活性化関数、隠れ層のユニット間に設けられたゲートなどの情報を含む。ユニットを実現する活性化関数は、例えば、ReLU(Rectified Linear Unit)関数やELU(Exponential Linear Units)関数、クリッピング関数、シグモイド関数、ステップ関数、ハイパポリックタンジェント関数、恒等関数などであってよい。ゲートは、例えば、活性化関数によって返される値(例えば1または0)に応じて、ユニット間で伝達されるデータを選択的に通過させたり、重み付けたりする。結合係数は、例えば、ニューラルネットワークの隠れ層において、ある層のユニットから、より深い層のユニットにデータが出力される際に、出力データに対して付与される重みを含む。また、結合係数は、各層の固有のバイアス成分などを含んでもよい。
【0037】
図6は、第1機械学習モデルMDL1及び第2機械学習モデルMDL2を模式的に表す図である。第1機械学習モデルMDL1は、モデルの学習のために対象とするユーザ(以下、学習対象者という)がダイレクトディスプレイDD上に表示されたコンテンツをどの程度選択したのかというスコア(以下、第1スコアという)に基づき学習されている。
【0038】
例えば、ある学習対象者がクエリを入力して、そのクエリに応じた検索結果のページが学習対象者の端末装置10に提供されたとする。この検索結果のページには、例えば、予め決められた「不動産」に関するコンテンツへのリンクが張られたダイレクトディスプレイDDが表示されたり、学習対象者の素性や辞書などをもとに、学習対象者の素性に類似した他のユーザが検索したコンテンツや、クエリと同じ又は類似する文字列を含むコンテンツなどのリンクが張られたダイレクトディスプレイDDが表示されたりするものとする。学習対象者には、過去のある時点において学習対象であった判定対象者が含まれていてもよい。つまり、学習対象者と判定対象者は同一人物であってもよい。
【0039】
このような場合に、学習対象者がダイレクトディスプレイDD上のリンクをクリックすると、ダイレクトディスプレイDDの表示回数(インプレッション数)に対するダイレクトディスプレイDDのクリック回数の割合、すなわちCTR(Click Through Rate)を求めることができる。
【0040】
第1機械学習モデルMDL1は、学習対象者によって入力されたクエリに対して、上記のように求められたダイレクトディスプレイDDのCTRが第1スコアとして対応付けられた第1トレーニングデータセットを基に学習される。なお、第1スコアはCTRに限られず、ダイレクトディスプレイDDのクリック回数であってもよいし、ダイレクトディスプレイDD上のリンク先で至ったコンバージョンの回数や割合、獲得単価であってもよいし、マーケティングで利用されるその他の指標であってもよい。
【0041】
一方、第2機械学習モデルMDL2は、学習対象者がクエリの検索結果のページ上に表示された複数のコンテンツの中から、「不動産」を取り扱う事業者のコンテンツを選択したか否かを表すスコア(以下、第2スコアという)に基づき学習されている。
【0042】
例えば、ある学習対象者がクエリを入力して、そのクエリに応じた検索結果のページが学習対象者の端末装置10に提供されたとする。この検索結果のページには、学習対象者の素性や辞書などをもとに、学習対象者の素性に類似した他のユーザが検索したコンテンツや、クエリと同じ又は類似する文字列を含むコンテンツが含まれる。
【0043】
このような場合に、学習対象者が検索結果のページ上の複数のコンテンツの中から「不動産」に関するコンテンツを探し出し、そのコンテンツをクリックすれば、「不動産」に関するコンテンツが選択されたことになり、反対にコンテンツをクリックしなければ、その「不動産」に関するコンテンツは選択されなかったことになる。
【0044】
第2機械学習モデルMDL2は、学習対象者によって入力されたクエリに対して、上記のように「不動産」に関するコンテンツの選択の有無(クリックの有無)が第2スコアとして対応付けられた第2トレーニングデータセットを基に学習される。例えば、「不動産」に関するコンテンツが選択されれば(クリックされれば)、第2スコアは1になり、「不動産」に関するコンテンツが選択されなければ(クリックされなければ)、第2スコアは0になってよい。なお、第2スコアはコンテンツの選択の有無(1又は0)に限られず、コンテンツの選択回数(クリック回数)であってもよいし、その他の指標であってもよい。
【0045】
図7は、DNNによって実装された場合の第1機械学習モデルMDL1又は第2機械学習モデルMDL2のレイヤ構造の一例を表す図である。図示のように、DNNによって実装された各モデルには、入力層(input)と、埋め込み層(Embedding)と、畳み込み層(Convolution)と、プーリング層(pooling)と、平坦化層(Flatten)と、全結合層(Fully Connected)と、出力層(Output)とが含まれてよい。なおこれらレイヤはあくまでも一例であり、既存の一部レイヤが他のレイヤに置き換わっもよいし、更に別のレイヤが加えられていてもよいし、既存の一部レイヤが省略されてもよい。例えば、過学習を抑制することを目的に、テンソルの一部の要素を間引くドロップアウト層が含まれていてもよい。
【0046】
入力層の各ユニットには、クエリとして入力された文字列の各文字が入力される。
【0047】
埋め込み層は、入力層の各ユニットに入力された一文字一文字を、次元数が固定された多次元ベクトル(密ベクトル)に変換し、変換した複数のベクトルを配列したテンソル(例えば二階テンソル)を生成する。
【0048】
畳み込み層は、埋め込み層から入力されたテンソルとカーネルと呼ばれる重み行列とを畳み込み(内積を求め)、カーネルと重なる複数の要素を含む領域を、一つの単位領域に圧縮する。この単位領域には、畳み込みにより得られた単変量値が特徴量として対応付けられている。畳み込み層は、テンソル上でカーネルをシフト移動させながら畳み込み処理を繰り返し、畳み込みの特徴量を要素値としたテンソルを生成し、それをプーリング層に出力する。
【0049】
プーリング層は、畳み込み層から入力されたテンソルの次元数をプーリング(例えマックスプーリングやグローバルアベレージプーリングなど)によって圧縮し、そのテンソルを平坦化層に出力する。
【0050】
平坦化層は、プーリング層から入力されたテンソルを1次元のベクトルに変換する。
【0051】
全結合層は、平坦化層から入力されたベクトルの要素を変数としたときに活性化関数(例えばReLU関数など)によって返される値に対して、学習によって決定されたバイアス成分を加算し、平坦化層から入力されたベクトルの要素値を、その加算結果に置き換えたベクトルを生成する。全結合層は、ベクトルの要素値を置き換える際に、学習によって決定されたカーネルをベクトルに掛け合わせる。全結合層は、生成したベクトルを出力層に出力する。
【0052】
出力層は、全結合層から入力されたベクトルを出力する。出力層によって出力されるベクトルは、各スコアに相当する。
【0053】
図5のフローチャートの説明に戻る。判定部114は、S102の処理において、取得部112によって取得されたクエリを、第1機械学習モデルMDL1と第2機械学習モデルMDL2とのそれぞれに入力する。これを受けて、第1機械学習モデルMDL1は、入力されたクエリに応じて第1スコアを出力する。同様に、第2機械学習モデルMDL2は、入力されたクエリに応じて第2スコアを出力する。
【0054】
次に、判定部114は、第1機械学習モデルMDL1によって出力された第1スコアが第1閾値を超えるか否かを判定するとともに、第2機械学習モデルMDL2によって出力された第2スコアが第2閾値を超えるか否かを判定する(ステップS104)。第1閾値と第2閾値は同じ値であってもよいし、互いに異なる値であってもよい。
【0055】
判定部114は、第1スコアが第1閾値を超え、かつ第2スコアが第2閾値を超える場合に、判定対象者に対象領域である「不動産」を検索する意図があると判定する。一方、判定部114は、第1スコアが第1閾値以下である場合、又は第2スコアが第2閾値以下である場合、判定対象者に対象領域である「不動産」を検索する意図がないと判定する。
【0056】
通信制御部116は、判定対象者に対象領域である「不動産」を検索する意図があると判定された場合、通信部102を介して、「不動産」に関するコンテンツが含まれるダイレクトディスプレイDDを、クエリの検索結果のトップページの一部領域に表示するようサービス提供装置20に指示する(ステップS106)。サービス提供装置20は、ダイレクトディスプレイDDの表示指示を受けると、
図3に例示するように、判定対象者の端末装置10に、「不動産」に関するコンテンツが含まれるダイレクトディスプレイDDが表示されたページを、クエリの検索結果として提供する。
【0057】
通信制御部116は、判定対象者に対象領域である「不動産」を検索する意図がないと判定された場合、上記ダイレクトディスプレイDDの表示を指示しないか、又は通信部102を介して、上記ダイレクトディスプレイDDを、クエリの検索結果のトップページの一部領域に表示しないようサービス提供装置20に指示する(ステップS108)。サービス提供装置20は、ダイレクトディスプレイDDの表示指示を受けなかった場合、又はダイレクトディスプレイDDの非表示指示を受けた場合、判定対象者の端末装置10に、ダイレクトディスプレイDDが表示されていないページを、クエリの検索結果として提供する。これによって本フローチャートの処理が終了する。
【0058】
[情報処理装置の処理フロー(トレーニング)]
以下、トレーニングにおける処理部110の処理内容についてフローチャートを用いて説明する。
図8は、第1実施形態の情報処理装置100によるトレーニングにおいて実行される一連の処理の流れを示すフローチャートである。
【0059】
まず、学習部118は、各トレーニングデータセットからクエリを取得し、そのクエリを各機械学習モデルに入力する(ステップS200)。
【0060】
例えば、学習部118は、学習対象者のクエリに対してダイレクトディスプレイDDのCTR等が第1スコアとして対応付けられた第1トレーニングデータセットから、クエリを取得し、それを第1機械学習モデルMDL1に入力する。更に、学習部118は、学習対象者のクエリに対して「不動産」に関するコンテンツの選択の有無(クリックの有無)が第2スコアとして対応付けられた第2トレーニングデータセットから、クエリを取得し、それを第2機械学習モデルMDL2に入力する。
【0061】
次に、学習部118は、第1機械学習モデルMDL1から第1スコアを取得するとともに、第2機械学習モデルMDL2から第2スコアを取得する(ステップS202)。
【0062】
次に、学習部118は、各スコアの誤差を算出する(ステップS204)。
【0063】
例えば、学習部118は、第1機械学習モデルMDL1から取得した第1スコアと、第1トレーニングデータセットにおいて第1機械学習モデルMDL1に入力したクエリに対応付けられていた正解の第1スコアとの誤差(以下、第1誤差という)を算出する。同様に、学習部118は、第2機械学習モデルMDL2から取得した第2スコアと、第2トレーニングデータセットにおいて第2機械学習モデルMDL2に入力したクエリに対応付けられていた正解の第2スコアとの誤差(以下、第2誤差という)を算出する。
【0064】
次に、学習部118は、算出した各誤差が許容範囲内であるか否かを判定し(ステップS206)、その誤差が許容範囲を超える場合、誤差逆伝番等の勾配法に基づいて、各機械学習モデルのパラメータを学習する(ステップS208)。
【0065】
例えば、学習部118は、第1誤差が許容範囲内となるまで第1機械学習モデルMDL1を学習することを繰り返すとともに、第2誤差が許容範囲内となるまで第2機械学習モデルMDL2を学習することを繰り返す。これによって、本フローチャートの処理が終了する。
【0066】
以上説明した第1実施形態によれば、情報処理装置100は、ユーザによって入力されたクエリを取得し、取得されたクエリと、互いに異なる複数の判定条件(第1機械学習モデルMDL1及び第2機械学習モデルMDL2の其々の出力スコア)とに基づいて、ある対象領域(例えば「不動産」)を検索する意図がユーザにあるのか否かを判定する。情報処理装置100は、ユーザに対象領域を検索する意図がある場合、対象領域に関するコンテンツを含むダイレクトディスプレイDDをクエリの検索結果とともにユーザに提供するようサービス提供装置20に指示する。サービス提供装置20は、ユーザの端末装置10に、対象領域に関するコンテンツが含まれるダイレクトディスプレイDDが表示されたページを、クエリの検索結果として提供する。この結果、ユーザによる検索の利便性をより向上させることができる。
【0067】
<第2実施形態>
以下、第2実施形態について説明する。第2実施形態では、各機械学習モデルを学習する際に、クエリの入力時刻に応じて各スコアを重み付ける点で上述した第1実施形態と相違する。以下、第1実施形態との相違点を中心に説明し、第1実施形態と共通する点については説明を省略する。なお、第2実施形態の説明において、第1実施形態と同じ部分については同一符号を付して説明する。
【0068】
第2実施形態における学習部118は、第1トレーニングデータセットにおいて、学習対象者によってクエリが入力された時刻に応じて、そのクエリに対応付ける第1スコアを重み付ける。例えば、学習対象者がある時刻t1にクエリを入力し、時刻t1よりも後の時刻t2にもクエリを入力したとする。時刻t1は「第1時刻」の一例であり、その時刻t1に入力されたクエリは「第1学習対象クエリ」の一例である。時刻t2は「第2時刻」の一例であり、その時刻t2に入力されたクエリは「第2学習対象クエリ」の一例である。
【0069】
このような場合、学習部118は、第1トレーニングデータセットにおいて、時刻t1のクエリ(古いクエリ)に対応付けられた第1スコアの重み係数に比べて、時刻t2のクエリ(新しいクエリ)に対応付けられた第1スコアの重み係数を大きくする。これによって、直近のクエリほど、第1機械学習モデルMDL1の学習に寄与させることができる。
【0070】
同様に、学習部118は、第2トレーニングデータセットにおいて、学習対象者によってクエリが入力された時刻に応じて、そのクエリに対応付ける第2スコアを重み付けてもよい。例えば、学習部118は、第2トレーニングデータセットにおいて、時刻t1のクエリ(古いクエリ)に対応付けられた第2スコアの重み係数に比べて、時刻t2のクエリ(新しいクエリ)に対応付けられた第2スコアの重み係数を大きくする。これによって、直近のクエリほど、第2機械学習モデルMDL2の学習に寄与させることができる。
【0071】
以上説明した第2実施形態によれば、各機械学習モデルを学習する際に、クエリの入力時刻に応じて各スコアを重み付けるため、ユーザに対象領域を検索する意図があるか否かをより精度よく判定することができる。この結果、ユーザによる検索の利便性を更に向上させることができる。
【0072】
<その他の実施形態>
以下、その他の実施形態(変形例)について説明する。上述した実施形態では、情報処理装置100の処理部110が学習部118を備えるものとして説明したがこれに限られない。例えば、学習部118は、それ自体が情報処理装置100とは異なる一つの装置であってもよい。この場合、情報処理システム1は、例えば、一以上の端末装置10と、サービス提供装置20と、情報処理装置100と、学習装置200とを備えてよい。学習装置200は、上述した学習部118と同等の機能を有する。
【0073】
また、上述した実施形態では、ユーザの意図判定に、2種類の機械学習モデルを利用したがこれに限られない。例えば、ユーザの意図判定は、1つの機械学習モデルによって行われてもよい。具体的には、学習部118は、第1トレーニングデータセットと第2トレーニングデータセットとを組み合わせて一つのトレーニングデータセットを生成する。一つに組み合わされたトレーニングデータセットは、例えば、学習対象者のクエリに対して、第1スコアと第2スコアとの平均などが正解のスコアとして対応付けられたデータセットであってよい。これによって、単一の機械学習モデルのスコアと閾値とを比較することで、判定対象者に対象領域を検索する意図があるのか否かを判定することができる。
【0074】
また、上述した実施形態では、対象領域が「不動産」であるものとして説明したがこれに限られず、既に説明したように、飲食、旅行、求人、ショッピング、オークション、天気、映画、ドラマ、スポーツ、漫画、アニメ、ニュース、といったその他の領域が対象領域であってもよい。
【0075】
<ハードウェア構成>
上述した実施形態の情報処理装置100は、例えば、
図9に示すようなハードウェア構成により実現される。
図9は、実施形態の情報処理装置100のハードウェア構成の一例を示す図である。
【0076】
情報処理装置100は、NIC100-1、CPU100-2、RAM100-3、ROM100-4、フラッシュメモリやHDDなどの二次記憶装置100-5、およびドライブ装置100-6が、内部バスあるいは専用通信線によって相互に接続された構成となっている。ドライブ装置100-6には、光ディスクなどの可搬型記憶媒体が装着される。二次記憶装置100-5、またはドライブ装置100-6に装着された可搬型記憶媒体に格納されたプログラムがDMAコントローラ(不図示)などによってRAM100-3に展開され、CPU100-2によって実行されることで、処理部110が実現される。処理部110が参照するプログラムは、ネットワークNWを介して他の装置からダウンロードされてもよい。
【0077】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何ら限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【0078】
1…情報処理システム、10…端末装置、20…サービス提供装置、100…情報処理装置、102…通信部、110…処理部、112…取得部、114…判定部、116…通信制御部、118…学習部、130…記憶部