(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-07-19
(45)【発行日】2023-07-27
(54)【発明の名称】処理実行システム、処理実行方法、及びプログラム
(51)【国際特許分類】
G06F 16/906 20190101AFI20230720BHJP
G06N 20/20 20190101ALI20230720BHJP
【FI】
G06F16/906
G06N20/20
(21)【出願番号】P 2023511824
(86)(22)【出願日】2022-02-02
(86)【国際出願番号】 JP2022003988
【審査請求日】2023-02-15
(31)【優先権主張番号】PCT/JP2021/040852
(32)【優先日】2021-11-05
(33)【優先権主張国・地域又は機関】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】399037405
【氏名又は名称】楽天グループ株式会社
(74)【代理人】
【識別番号】110000154
【氏名又は名称】弁理士法人はるか国際特許事務所
(72)【発明者】
【氏名】橋本 力
【審査官】木村 大吾
(56)【参考文献】
【文献】特開2017-049681(JP,A)
【文献】特開2018-124914(JP,A)
【文献】特開平07-282078(JP,A)
【文献】特開2020-123139(JP,A)
【文献】Kai Sheng Tai, 他2名,Improved Semantic Representations From Tree-Structured Long Short-Term Memory Networks,arXiv,米国,2015年05月30日,https://arxiv.org/pdf/1503.00075.pdf
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06N 20/20
(57)【特許請求の範囲】
【請求項1】
第1データ
を入力と
し、
複数の属性の中で前記第1データが属する属性と、当該属性の中で前記第1データが属する属性値と、を含む第1分類情報
を出力とする第1モデルに基づいて、
前記複数の属性の中で第2データが属する属性と、当該属性の中で前記第2データが属する属性値と、を含む第2分類情報を取得する第2分類情報取得部と、
機械学習手法に基づいて、前記第2データ及び前記第2分類情報の組み合わせに関する有効性を推定する有効性推定部と、
前記有効性の推定結果に基づいて、所定の処理を実行する実行部と、
を含む処理実行システム。
【請求項2】
第1データを入力とし、当該第1データの分類に関する第1分類情報を出力とする第1モデルに基づいて、第2データの分類に関する第2分類情報を取得する第2分類情報取得部と、
第3データ及び第3データの分類に関する第3分類情報の組み合わせ
を入力とし、当該組み合わせの有効性
を出力とする第2モデル
に基づいて、前記有効性を推定する
有効性推定部と、
前記有効性の推定結果に基づいて、所定の処理を実行する実行部と、
を含む処理実行システム。
【請求項3】
第1データを入力とし、当該第1データの分類に関する第1分類情報を出力とする第1モデルに基づいて、第2データの分類に関する第2分類情報を取得する第2分類情報取得部と、
前記第2データ
の特徴を示すベクトルと、前記第2分類情報
の特徴を示すベクトルと、の間のコサイン類似度に基づいて、
前記第2データ及び前記第2分類情報の組み合わせに関する有効性を推定する
有効性推定部と、
前記有効性の推定結果に基づいて、所定の処理を実行する実行部と、
を含む処理実行システム。
【請求項4】
第1データを入力とし、当該第1データの分類に関する第1分類情報を出力とする第1モデルに基づいて、第2データの分類に関する第2分類情報を取得する第2分類情報取得部と、
機械学習手法を含む複数の推定方法の各々に基づいて、
前記第2データ及び前記第2分類情報の組み合わせに関する有効性を推定
する有効性推定部と、
前記複数の推定方法の各々による前記有効性の推定結果に基づいて、
所定の処理を実行する
実行部と、
を含む処理実行システム。
【請求項5】
第1データを入力とし、当該第1データの分類に関する第1分類情報を出力とする第1モデルに基づいて、ユーザが入力した検索クエリであ
る第2データの分類に関する第2分類情報を取得する第2分類情報取得部と、
機械学習手法に基づいて、前記第2データ及び前記第2分類情報の組み合わせに関する有効性を推定する有効性推定部と、
前記有効性の推定結果に基づいて、所定の処理を実行する実行部と、
を含む処理実行システム。
【請求項6】
第1データを入力とし、当該第1データの分類に関する第1分類情報を出力とする第1モデルに基づいて、第2データの分類に関する第2分類情報を取得する第2分類情報取得部と、
機械学習手法に基づいて、前記第2データ及び前記第2分類情報の組み合わせに関する有効性を推定する有効性推定部と、
前記第2データ及び前記第2分類情報の組み合わせと、前記有効性の推定結果と、に基づいて
、前記第1モデルに学習させる訓練データを生成す
る処理を実行する
実行部と、
を含む処理実行システム。
【請求項7】
第1データを入力とし、当該第1データの分類に関する第1分類情報を出力とする第1モデルに基づいて、ユーザの投稿に関する
第2データの分類に関する第2分類情報を取得する第2分類情報取得部と、
機械学習手法に基づいて、前記第2データ及び前記第2分類情報の組み合わせに関する有効性を推定する有効性推定部と、
前記有効性の推定結果に基づいて、所定の処理を実行する実行部と、
を含む処理実行システム。
【請求項8】
第1データを入力とし、当該第1データの分類に関する第1分類情報を出力とする第1モデルに基づいて、第2データの分類に関する第2分類情報を取得する第2分類情報取得部と、
所定の取得方法に基づいて
、前記第2データの分類に関する第4分類情報
であって、前記第2分類情報とは異なる前記第4分類情報を取得する第4分類情報取得部
と、
前記第2分類情報と前記第4分類情報とが対応するか否かを判定し、当該判定結果に基づいて、
前記第2データ及び前記第2分類情報の組み合わせに関する有効性を推定する
有効性推定部と、
前記有効性の推定結果に基づいて、所定の処理を実行する実行部と、
を含む処理実行システム。
【請求項9】
前記第1モデルには、前記第1データの候補と、前記第1分類情報の候補と、を含む第1データベースに基づいて取得された、前記第1データと、前記第1分類情報と
、が学習され、
前記第2モデルには、前記第3データの候補と、前記第3分類情報の候補と、を含む第2データベー
スに基づいて取得された、前記第3データと、前記第3分類情報と
、が学習される、
請求項
2に記載の処理実行システム。
【請求項10】
前記処理実行システムは、前記第3データと、前記第1モデルと、に基づいて、前記第3分類情報を取得する第3分類情報取得部を更に含み、
前記第2モデルには、前記第3データ及び前記第3分類情報の組み合わせと、当該組み合わせが有効である旨を示す有効性と
、が学習される、
請求項
2又は
9に記載の処理実行システム。
【請求項11】
前記処理実行システムは、複数の生成方法の各々に基づいて、前記第3データ及び前記第3分類情報の候補を生成する候補生成部を更に含み、
前記第2モデルには、前記複数の生成方法のうちの複数で生成された前記候補が、前記第3データ及び前記第3分類情報として学習される、
請求項
2又は9又は10に記載の処理実行システム。
【請求項12】
前記有効性推定部は、前記第2データ及び前記第2分類情報の組み合わせに基づいて、前記第2モデルから出力されたスコアを取得し、当該取得されたスコアに基づいて、前記有効性を推定する、
請求項
2又は9又は10又は11に記載の処理実行システム。
【請求項13】
前記
有効性推定部は、過去に入力された検索クエリと、当該検索クエリに基づく検索結果に対する選択結果と、の関係を示すクエリ選択デー
タに基づいて、前記有効性を推定する、
請求項
5に記載の処理実行システム。
【請求項14】
前記第1データ及び前記第1分類情報は、検索時のインデックスとして利用されるデータである、
請求項
5又は1
3に記載の処理実行システム。
【請求項15】
前記第1データは、商品の検索時に前記インデックスとして利用される商品タイトルであり、
前記第1分類情報は、前記商品の検索時に前記インデックスとして利用される商品属性情報である、
請求項1
4に記載の処理実行システム。
【請求項16】
前記第2分類情報は、前記ユーザが前記検索クエリを入力した意図に関する情報である、
請求項
5又は13又は14又は15に記載の処理実行システム。
【請求項17】
前記実行部は、前記有効性の推定結果に基づいて、前記処理として、前記検索クエリに応じた検索処理を実行する、
請求項
5又は13又は14又は15又は16に記載の処理実行システム。
【請求項18】
前記第1モデルは、マルチラベルに対応したモデルであり、
前記第2分類情報取得部は、前記第1モデルに基づいて、複数の前記第2分類情報を取得し、
前記有効性推定部は、前記第2分類情報ごとに、前記有効性を推定し、
前記実行部は、前記第2分類情報ごとの前記有効性に基づいて、前記処理を実行する、
請求項1~1
7の何れかに記載の処理実行システム。
【請求項19】
前記実行部は、前記有効性の推定結果に基づいて、前記処理として、前記第2データ及び前記第2分類情報を出力する出力処理を実行する、
請求項1~1
8の何れかに記載の処理実行システム。
【請求項20】
前記取得方法は、前記第1データ又は第4データ
を入力とし、前記第1データ又は前記第4データの前記第4分類情報
を出力とする第3モデルを利用した方法であり、
前記第4分類情報取得部は、前記第3モデルに基づいて、前記第4分類情報を取得する、
請求項
8に記載の処理実行システム。
【請求項21】
前記有効性推定部は、前記第4分類情報に関する候補ごとに、前記第2分類情報に関する候補群が関連付けられた候補群データベースに基づいて、前記第2分類情報が前記第4分類情報に対応するか否かを判定する、
請求項
8又は2
0に記載の処理実行システム。
【請求項22】
前記第2分類情報は、前記第2データに関する第1属性及び第1属性値の組み合わせを示し、
前記第4分類情報は
、第2属性を示し、
前記有効性推定部は、前記第2分類情報が示す前記第1属性と、前記第4分類情報が示す前記第2属性と、が対応するか否かを判定する、
請求項
8又は20又は21に記載の処理実行システム。
【請求項23】
前記第4分類情報は、階層構造を有する分類を示し、
前記有効性推定部は、前記第2分類情報と前記第4分類情報とが対応すると判定された場合に、前記第2分類情報と対応すると判定された前記第4分類情報の階層に基づいて、前記有効性の確度を推定する、
請求項
8又は20又は21又は22に記載の処理実行システム。
【請求項24】
コンピュータが、
第1データ
を入力と
し、
複数の属性の中で前記第1データが属する属性と、当該属性の中で前記第1データが属する属性値と、を含む第1分類情報
を出力とする第1モデルに基づいて、
前記複数の属性の中で第2データが属する属性と、当該属性の中で前記第2データが属する属性値と、を含む第2分類情報を取得する第2分類情報取得ステップと、
機械学習手法に基づいて、前記第2データ及び前記第2分類情報の組み合わせに関する有効性を推定する有効性推定ステップと、
前記有効性の推定結果に基づいて、所定の処理を実行する実行ステップと、
を
実行する処理実行方法。
【請求項25】
第1データ
を入力と
し、
複数の属性の中で前記第1データが属する属性と、当該属性の中で前記第1データが属する属性値と、を含む第1分類情報
を出力とする第1モデルに基づいて、
前記複数の属性の中で第2データが属する属性と、当該属性の中で前記第2データが属する属性値と、を含む第2分類情報を取得する第2分類情報取得部、
機械学習手法に基づいて、前記第2データ及び前記第2分類情報の組み合わせに関する有効性を推定する有効性推定部、
前記有効性の推定結果に基づいて、所定の処理を実行する実行部、
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、処理実行システム、処理実行方法、及びプログラムに関する。
【背景技術】
【0002】
従来、機械学習に関するモデルを利用して、所定のデータの分類を推定する技術が知られている。例えば、特許文献1には、検索クエリに含まれるキーワードの分類の推定結果を出力するモデルを利用して、検索クエリを入力したユーザに有益な情報を提供する技術が記載されている。特許文献1の技術では、モデルの出力として、検索結果の種類、検索のタイプ、又は検索対象の種類等を示すドメインが挙げられている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1の技術では、訓練データが十分でないことに起因してモデルの精度が十分ではない場合には、モデルから不適切なドメインが出力されるので、ユーザに有益な情報を提供できない可能性があった。この点は、特許文献1のようなモデルに限られず、他の目的で他の分類を推定するモデルも同様である。このため、従来の技術では、訓練データが十分ではないことに起因してモデルの精度が十分ではない場合には、所望の結果を得ることはできなかった。
【0005】
本開示の目的の1つは、訓練データが十分ではないことに起因してモデルの精度が十分ではない場合にも、所望の結果を得ることを目的の1つとする。
【課題を解決するための手段】
【0006】
本開示の一態様に係る処理実行システムは、第1データと、当該第1データの分類に関する第1分類情報と、の関係が学習された第1モデルに基づいて、第2データの分類に関する第2分類情報を取得する第2分類情報取得部と、所定の推定方法に基づいて、前記第2データ及び前記第2分類情報の組み合わせに関する有効性を推定する有効性推定部と、前記有効性の推定結果に基づいて、所定の処理を実行する実行部と、を含む。
【発明の効果】
【0007】
本開示によれば、訓練データが十分ではないことに起因してモデルの精度が十分ではない場合にも、所望の結果を得ることができる。
【図面の簡単な説明】
【0008】
【
図1】処理実行システムの全体構成の一例を示す図である。
【
図2】ポータルページから検索が実行される様子の一例を示す図である。
【
図4】処理実行システムで実現される機能の一例を示す機能ブロック図である。
【
図6】検索クエリデータベースの一例を示す図である。
【
図8】クエリ選択データベースの一例を示す図である。
【
図9】第2モデルの訓練データを生成する方法の一例を示す図である。
【
図10】処理実行システムで実行される処理の一例を示すフロー図である。
【
図11】変形例8の機能ブロックの一例を示す図である。
【
図12】変形例8で実行される処理の概要を示す図である。
【発明を実施するための形態】
【0009】
[1.処理実行システムの全体構成]
本開示に係る処理実行システムの実施形態の一例を説明する。
図1は、処理実行システムの全体構成の一例を示す図である。ネットワークNは、インターネット又はLAN等の任意のネットワークである。処理実行システムSは、少なくとも1つのコンピュータを含めばよく、
図1の例に限られない。
【0010】
検索サーバ10は、サーバコンピュータである。制御部11は、少なくとも1つのプロセッサを含む。記憶部12は、RAM等の揮発性メモリと、ハードディスク等の不揮発性メモリと、を含む。通信部13は、有線通信用の通信インタフェースと、無線通信用の通信インタフェースと、の少なくとも一方を含む。
【0011】
学習サーバ20は、サーバコンピュータである。制御部21、記憶部22、及び通信部23の物理的構成は、それぞれ制御部11、記憶部12、及び通信部13と同様である。
【0012】
検索者端末30は、検索クエリを入力するユーザである検索者のコンピュータである。例えば、検索者端末30は、パーソナルコンピュータ、スマートフォン、タブレット端末、又はウェアラブル端末である。制御部31、記憶部32、及び通信部33の物理的構成は、それぞれ制御部11、記憶部12、及び通信部13と同様である。操作部34は、タッチパネル又はマウス等の入力デバイスである。表示部35は、液晶ディスプレイ又は有機ELディスプレイである。
【0013】
作成者端末40は、検索対象のデータを作成するユーザである作成者のコンピュータである。例えば、作成者端末40は、パーソナルコンピュータ、スマートフォン、タブレット端末、又はウェアラブル端末である。制御部41、記憶部42、通信部43、操作部44、及び表示部45の物理的構成は、それぞれ制御部11、記憶部12、通信部13、操作部34、及び表示部35と同様である。
【0014】
なお、記憶部12,22,32,42に記憶されるプログラム又はデータは、ネットワークNを介して供給されてもよい。また、各コンピュータには、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、メモリカードスロット)と、外部機器とデータの入出力をするための入出力部(例えば、USBポート)と、の少なくとも一方が含まれてもよい。例えば、情報記憶媒体に記憶されたプログラム又はデータが、読取部及び入出力部の少なくとも一方を介して供給されてもよい。
【0015】
[2.処理実行システムの概要]
本実施形態では、ウェブページの検索サービスに処理実行システムSを適用した場合を例に挙げる。作成者は、ウェブページを作成し、検索サーバ10又は他のサーバコンピュータにアップロードする。検索者は、検索者端末30のブラウザでウェブページを検索する。例えば、検索者が検索者端末30を操作して検索サーバ10にアクセスすると、検索サービスのポータルページが表示部35に表示される。
【0016】
図2は、ポータルページから検索が実行される様子の一例を示す図である。例えば、検索者は、ポータルページP1の入力フォームF10に検索クエリを入力する。検索者がボタンB11を選択すると、検索サーバ10は、この検索クエリに基づいて、ウェブページの検索処理を実行する。検索者端末30の表示部35には、検索者が入力した検索クエリに応じた検索結果を示す検索結果ページP2が表示される。
【0017】
検索者は、何らかの意図を持って検索クエリを入力し、検索サービスを利用する。
図2の例では、「CG bag Zebra」といった検索クエリが入力されている。この場合、検索者は、「ゼブラ柄のバッグが描かれたコンピュータグラフィック」を検索したいといった意図があると思われる。検索者の意図を推定できれば、例えば、検索サービスにおけるマーケティングに活用したり、検索結果の精度を高めたりできるので、非常に有用である。
【0018】
そこで、本実施形態では、機械学習を利用したモデルに基づいて、検索者の意図が推定される。以降、検索者の意図を推定するモデルを第1モデルと記載する。第1モデルでは、種々の機械学習手法を利用可能である。第1モデルは、教師有り学習、半教師有り学習、又は教師無し学習の何れであってもよい。例えば、第1モデルは、ニューラルネットワークであってもよい。
【0019】
本実施形態では、ウェブページのタイトルと、ウェブページの属性及び属性値と、の関係が第1モデルに学習される。タイトルは、ブラウザのタイトルバーに表示される文字列である。例えば、タイトルは、ウェブページの内容を示すキーワードを含む。タイトルは、検索時のインデックスとして利用される。本実施形態では、作成者がタイトルを入力するものとするが、タイトルは、ウェブページに含まれる文字列から自動的に抽出されてもよいし、検索サービスの管理者が入力してもよい。
【0020】
ウェブページの属性は、ウェブページの分類である。ウェブページの属性は、ウェブページの種類、カテゴリ、又はジャンルということもできる。属性は、文字、数字、その他の記号、又はこれらの組み合わせによって表現される。属性は、所定の観点でウェブページを分類可能なものであればよく、任意の観点で属性を設定可能である。例えば、フリー素材の画像を提供するウェブページには、属性「Image」が関連付けられる。例えば、ニュース記事等の文書を提供するウェブページには、属性「Document」が関連付けられる。
【0021】
ウェブページの属性値は、属性の具体的な値である。属性は、少なくとも1つの属性値が関連付けられる。ウェブページには、属性に関連付けられた属性値のうちの少なくとも1つが関連付けられる。属性値は、文字、数字、その他の記号、又はこれらの組み合わせによって表現される。属性値は、所定の観点で属性の詳細を定義するものであればよく、任意の観点で属性値を設定可能である。
【0022】
例えば、属性「Image」に、属性値「Computer Graphic」と、属性値「Photograph」と、が関連付けられていたとすると、属性「Image」のウェブページには、属性値「Computer Graphic」又は属性値「Photograph」の何れかが関連付けられる。例えば、属性「Document」に、属性値「News」と、属性値「Advertisement」と、が関連付けられていたとすると、属性「Document」のウェブページには、属性値「News」又は属性値「Advertisement」の何れかが関連付けられる。
【0023】
作成者は、何らかの意図でウェブページを作成する。例えば、属性「Image」及び属性値「Computer Graphic」のウェブページは、コンピュータグラフィックの画像を配信するといった意図のもとで作成される。例えば、属性「Document」及び属性値「News」のウェブページは、ニュース記事の文書を配信するといった意図のもとで作成される。作成者の意図は、ウェブページのタイトル、属性、及び属性値に表れると考えられる。このため、ウェブページのタイトルと、ウェブページの属性及び属性値と、の関係は、検索者が入力した検索クエリと、検索者の意図と、の関係に似ていると考えられる。
【0024】
そこで、本実施形態では、検索者の意図を推定するために、ウェブページのタイトルと、ウェブページの属性及び属性値と、の関係を訓練データとして学習させた第1モデルを利用する。第1モデルには、ウェブページのタイトルに対応する情報として、検索クエリが入力される。第1モデルは、ウェブページの属性及び属性値に対応する情報として、検索者の意図を出力する。
【0025】
例えば、第1モデルに学習させる訓練データが十分ではない場合、第1モデルの精度を十分に高めることができない。この場合、検索クエリを第1モデルに入力しても、第1モデルから出力される検索者の意図が不適切なものになる可能性がある。そこで、本実施形態の処理実行システムSでは、訓練データが十分ではないことに起因して第1モデルの精度が十分ではない場合にも、検索者の意図を精度よく推定できるようになっている。
【0026】
図3は、処理実行システムSの概要を示す図である。
図3のように、ページデータベースDB1には、ウェブページのタイトルと、ウェブページの属性及び属性値と、が関連付けられて格納されている。これらのペアは、訓練データとして、第1モデルM1に学習される。検索クエリデータベースDB2には、過去に入力された検索クエリが格納されている。本実施形態では、この検索クエリを入力した検索者の意図が推定される。
【0027】
検索クエリが第1モデルM1に入力されると、第1モデルM1は、検索者の意図として、属性及び属性値を推定する。
図3の例では、
図2の検索クエリ「CG bag Zebra」が第1モデルM1に入力される。第1モデルM1は、検索者の意図として、属性「Image」の属性値「Computer Graphic」、属性「Nation」の属性値「Republic of the Congo」、及び属性「Pattern」の属性値「Zebra」といった3つの推定結果を出力する。
【0028】
先述したように、
図3の検索クエリを入力した検索者の意図は、「ゼブラ柄のバッグが描かれたコンピュータグラフィック」を検索したいといったものである。この意図は、第1モデルM1が出力した3つの推定結果のうち、属性「Image」の属性値「Computer Graphic」と、属性「Pattern」の属性値「Zebra」と、に表れている。
【0029】
一方、第1モデルM1が出力した3つの推定結果のうち、属性「Nation」の属性値「Republic of the Congo」は、ユーザの意図を表すものではない。例えば、訓練データが十分でないことに起因して第1モデルM1の精度が十分ではない場合、このような不適切な推定結果が出力されることがある。これは、検索クエリの一部の文字列「CG」がコンゴ共和国の国コードであることが、何らかの理由で第1モデルM1に学習されていることが原因と考えられる。
【0030】
本実施形態では、不適切な推定結果を除去するための第2モデルM2が用意されている。第2モデルM2は、機械学習を利用したモデルである。第2モデルM2では、種々の機械学習手法を利用可能である。第2モデルM2では、教師有り学習、半教師有り学習、又は教師無し学習の何れであってもよい。例えば、第2モデルは、ニューラルネットワークであってもよい。例えば、第2モデルM2は、検索クエリ及び検索者の意図のペア(即ち、第1モデルM1に入力された検索クエリと、第1モデルM1から出力された推定結果と、のペア)が入力されると、このペアの有効性を出力する。
【0031】
図3の例では、第2モデルM2は、第1モデルM1が出力した3つの推定結果のうち、属性「Image」の属性値「Computer Graphic」と、属性「Pattern」の属性値「Zebra」と、が有効であると推定する。第2モデルM2は、第1モデルM1が出力した3つの推定結果のうち、属性「Nation」の属性値「Republic of the Congo」が有効ではないと推定する。
【0032】
本実施形態では、第2モデルM2の推定結果に基づいて、第1モデルM1の訓練データが生成される。
図3の例であれば、検索クエリ「CG bag Zebra」と、属性「Image」の属性値「Computer Graphic」と、のペアを含む訓練データと、検索クエリ「CG bag Zebra」と、属性「Pattern」の属性値「Zebra」と、のペアを含む訓練データと、が生成される。第1モデルM1には、これら2つの訓練データが学習される。
【0033】
以上のように、処理実行システムSは、第1モデルM1に基づいて、検索クエリを入力した検索者の意図を推定する。処理実行システムSは、第2モデルM2に基づいて、第1モデルM1の推定結果のうち有効ではない推定結果を除去し、第1モデルM1の訓練データを生成する。処理実行システムSは、この訓練データを第1モデルM1に学習させる。これにより、ページデータベースDB1に格納された訓練データが十分ではなかったとしても、第1モデルM1の精度が高まる。第1モデルM1の訓練データを作成する手間を省くこともできる。以降、処理実行システムSの詳細を説明する。
【0034】
[3.処理実行システムで実現される機能]
図4は、処理実行システムSで実現される機能の一例を示す機能ブロック図である。
【0035】
[3-1.検索サーバで実現される機能]
データ記憶部100は、記憶部12を主として実現される。検索部101は、制御部11を主として実現される。
【0036】
[データ記憶部]
データ記憶部100は、検索サービスを提供するために必要なデータを記憶する。例えば、データ記憶部100は、ウェブページのインデックスと、ウェブページのURLと、が関連付けられて格納されたデータベースを記憶する。インデックスは、検索クエリとの比較対象となる情報である。インデックスは、任意の情報を利用可能である。例えば、ウェブページのタイトル、ウェブページの属性及び属性値、ウェブページに含まれる任意のキーワード、又はこれらの組み合わせがインデックスとして利用される。例えば、データ記憶部100は、ポータルページP1及び検索結果ページP2を表示させるためのデータ(例えば、HTMLデータ)を記憶する。他にも例えば、データ記憶部100は、過去に入力された検索クエリの履歴を記憶したり、後述のクエリ選択データを記憶したりしてもよい。
【0037】
[検索部]
検索部101は、検索者が入力した検索クエリに基づいて、検索処理を実行する。検索処理自体は、種々の検索エンジンを適用可能である。例えば、検索部101は、検索者が入力した検索クエリと、データ記憶部100に記憶されたウェブページのインデックスと、に基づいて、ウェブページの検索スコアを計算する。検索スコアは、検索クエリとインデックスとの一致度を示す。検索スコアの計算方法自体は、種々の検索エンジンで採用されている計算方法を適用可能である。
【0038】
検索部101は、検索スコアが高い順に所定数のウェブページを選択し、当該選択されたウェブページへのリンクを含む検索結果ページP2を生成する。検索部101は、検索者端末30に、検索結果ページP2のデータを送信する。検索部101は、検索者端末30から検索者による選択結果を受信すると、検索者が選択したリンクに対応するウェブページに検索者端末30をアクセスさせる。検索部101は、検索者が入力した検索クエリと、検索者が選択したリンクに対応するウェブページと、の関係をデータ記憶部100に記録する。この関係は、後述のクエリ選択データに相当する。
【0039】
[3-2.学習サーバで実現される機能]
データ記憶部200は、記憶部22を主として実現される。第1学習部201、第2分類情報取得部202、候補生成部203、第3分類情報取得部204、第2学習部205、有効性推定部206、及び実行部207の各々は、制御部21を主として実現される。
【0040】
[データ記憶部]
データ記憶部200は、
図3で説明した処理に必要なデータを記憶する。例えば、データ記憶部200は、ページデータベースDB1、検索クエリデータベースDB2、訓練データベースDB3、クエリ選択データベースDB4、第1モデルM1、及び第2モデルM2を記憶する。
【0041】
図5は、ページデータベースDB1の一例を示す図である。ページデータベースDB1は、ウェブページに関する情報が格納されたデータベースである。例えば、ページデータベースDB1には、ウェブページのタイトルと、ウェブページの属性及び属性値と、が関連付けられて格納される。
【0042】
例えば、学習サーバ20は、作成者がウェブページをアップロードした検索サーバ10又は他のサーバから、ウェブページのタイトルと、ウェブページの属性及び属性値と、のペアを取得し、当該取得されたペアをページデータベースDB1に格納する。ページデータベースDB1に格納されたペアは、第1モデルM1の訓練データとして利用される。この訓練データは、後述する初期の第1モデルM1を生成するために利用される。
【0043】
第1モデルM1の訓練データは、入力部分と出力部分のペアを含む。第1モデルM1の訓練データの入力部分は、実際に第1モデルM1に入力されるデータと同じ形式である。本実施形態では、検索クエリを示す文字列が第1モデルM1に入力されるので、第1モデルM1の訓練データの入力部分は文字列である。第1モデルM1の訓練データの出力部分は、実際に第1モデルM1から出力されるデータと同じ形式である。本実施形態では、属性を示す文字列と、属性値を示す文字列と、の組み合わせが第1モデルM1から出力されるので、第1モデルM1の訓練データの出力部分は2つの文字列の組み合わせを含む。
【0044】
図6は、検索クエリデータベースDB2の一例を示す図である。検索クエリデータベースDB2は、過去に入力された検索クエリが格納されたデータベースである。検索サーバ10は、検索者が入力した検索クエリに基づいて検索処理を実行すると、学習サーバ20に検索クエリを送信する。学習サーバ20は、検索サーバ10から受信した検索クエリを、検索クエリデータベースDB2に格納する。
【0045】
図7は、訓練データベースDB3の一例を示す図である。訓練データベースDB3は、第1モデルM1の訓練データが格納されたデータベースである。この訓練データは、後述の実行部207により生成される。この訓練データは、後述する初期の第1モデルM1の精度を高めるために利用される。訓練データベースDB3に格納される訓練データの形式は、ページデータベースDB1に格納された訓練データと同様の形式である。ただし、これらの訓練データの形式自体は同様であるが、これらの訓練データが示す具体的な内容は互いに異なる。
【0046】
例えば、ページデータベースDB1に格納された訓練データの入力部分は、ウェブページのタイトルを示す文字列であるのに対し、訓練データベースDB3に格納された訓練データの入力部分は、検索クエリを示す文字列である。これらの入力部分は、作成者及び検索者の各々が何らかの意図で入力した文字列という意味では同様であるが、具体的な内容は異なる。
【0047】
例えば、ページデータベースDB1に格納された訓練データの出力部分は、ウェブページの属性及び属性値の各々を示す文字列であるのに対し、訓練データベースDB3に格納された訓練データの出力部分は、検索者の意図を示す文字列である。これらの出力部分は、作成者及び検索者の各々の意図が何らかの形で表れた文字列という意味では同様であるが、具体的な内容は異なる。
【0048】
図8は、クエリ選択データベースDB4の一例を示す図である。クエリ選択データベースDB4は、クエリ選択データが格納されたデータベースである。クエリ選択データは、検索クエリに対する選択結果を示すデータである。クエリ選択データは、クエリクリックログと呼ばれることもある。例えば、クエリ選択データベースDB4には、検索クエリと、ページ情報と、が関連付けられて格納される。
【0049】
ページ情報は、ウェブページに関する情報である。このウェブページは、検索クエリを入力した検索者が検索結果ページP2で選択したリンクが示すウェブページである。このウェブページは、検索者により実際に選択されているので、検索者の意図に沿ったウェブページといえる。例えば、ページ情報は、ウェブページのタイトル、属性、及び属性値を含む。ページ情報は、任意の情報を含んでよく、例えば、ウェブページのURLや閲覧日時を含んでもよい。
【0050】
データ記憶部200は、学習済みの第1モデルM1を記憶する。第1モデルM1は、畳み込み等の処理を実行するためのプログラム部分と、重み等のパラメータ部分と、を含む。本実施形態では、第1モデルM1は、マルチラベルに対応したモデルである。マルチラベルに対応したモデルは、入力されたデータに対して複数の分類を推定可能である。第1モデルM1には、ウェブページのタイトルと、ウェブページの属性及び属性値と、の関係が学習される。
【0051】
ウェブページのタイトルは、第1データの一例である。このため、ウェブページのタイトルについて説明している箇所は、第1データと読み替えることができる。第1データは、初期の第1モデルM1の訓練データのうちの入力部分である。初期の第1モデルM1とは、実行部207により生成された訓練データが学習される前の第1モデルM1である。本実施形態では、ページデータベースDB1を利用して初期の第1モデルM1の訓練データが生成されるので、第1データは、ページデータベースDB1に格納されたウェブページのタイトルである。
【0052】
第1データは、第1モデルM1の学習に利用可能なデータであればよく、ウェブページのタイトルに限られない。例えば、第1データは、ウェブページに含まれるタイトル以外の文字列、ウェブページのインデックスとして利用されるキーワード、又はウェブページから作成された要約であってもよい。第1データは、文字列そのものではなく、文字列の何らかの特徴を示す特徴量であってもよい。第1データは、任意の形式であってよく、文字列に限られない。例えば、第1データは、画像データ、動画データ、文書データ、又はその他の任意のデータであってもよい。例えば、第1データは、コンテンツと呼ばれるデータであってもよい。
【0053】
ウェブページの属性及び属性値は、第1分類情報の一例である。このため、ウェブページの属性及び属性値について説明している箇所は、第1分類情報と読み替えることができる。第1分類情報は、第1データの分類に関する情報である。第1分類情報は、初期の第1モデルM1の訓練データのうちの出力部分である。本実施形態では、ページデータベースDB1を利用して初期の第1モデルM1の訓練データが生成されるので、第1分類情報は、ページデータベースDB1に格納された属性及び属性値である。本実施形態では、第1データ及び第1分類情報は、検索時のインデックスとして利用されるデータである。
【0054】
第1分類情報は、第1モデルM1の学習に利用可能な情報であればよく、ウェブページの属性及び属性値に限られない。例えば、第1分類情報は、ウェブページの属性又は属性値の何れかのみを示してもよい。第1分類情報は、任意の形式であってよく、文字列に限られない。例えば、第1分類情報は、分類を一意に識別可能なID又は番号のような情報であってもよい。本実施形態では、属性及び属性値のペアの1つ1つが第1分類情報に相当する場合を説明する。このため、ある1つの第1データに対し、複数の第1分類情報が関連付けられることがある。複数の属性及び属性値のペアを1つの第1分類情報として扱ってもよい。この場合、ある1つの第1データに対し、1つの第1分類情報が関連付けられる。
【0055】
例えば、第1モデルM1には、第1データの候補と、第1分類情報の候補と、を含むページデータベースDB1に基づいて取得された、第1データと、第1分類情報と、の関係が学習される。ページデータベースDB1は、第1データベースの一例である。このため、ページデータベースDBについて説明している箇所は、第1データベースと読み替えることができる。第1データベースは、初期の第1モデルM1の訓練データの候補となるデータが格納されたデータベースである。第1データベースの全部又は一部のデータが、初期の第1モデルM1の訓練データとして利用される。
【0056】
データ記憶部200は、学習済みの第2モデルM2を記憶する。第2モデルM2は、畳み込み等の処理を実行するためのプログラム部分と、重み等のパラメータ部分と、を含む。本実施形態では、第2モデルM2は、有効であるか否かを示す情報(有効であることを示す第1の値、又は、有効ではないことを示す第2の値の何れか)を出力する場合を説明するが、第2モデルM2は、有効性を示すスコアを出力してもよい。即ち、第2モデルM2の出力は、有効であるか否かといった2値的な情報ではなく、スコアのような中間値を有する情報であってもよい。第2モデルM2には、検索クエリと属性及び属性値との組み合わせと、当該組み合わせの有効性と、の関係が学習されている。
【0057】
属性及び属性値が関連付けられた検索クエリは、第3データの一例である。このため、属性及び属性値が関連付けられた検索クエリについて説明している箇所は、第3データと読み替えることができる。第3データは、第2モデルM2の訓練データのうちの入力部分である。本実施形態では、クエリ選択データベースDB4を利用して第2モデルM2の訓練データが生成されるので、クエリ選択データベースDB4に格納された検索クエリは、第3データに相当する。本実施形態では、初期の第1モデルM1の推定結果も第2モデルM2の学習で利用されるので、初期の第1モデルM1に入力された検索クエリも、第3データに相当する。
【0058】
第3データは、第2モデルM2の学習に利用可能なデータであればよく、検索クエリに限られない。例えば、第3データは、ウェブページのタイトル、ウェブページに含まれるタイトル以外の文字列、ウェブページのインデックスとして利用されるキーワード、又はウェブページから作成された要約であってもよい。第3データは、文字列そのものではなく、文字列の何らかの特徴を示す特徴量であってもよい。第3データは、任意の形式であってよく、文字列に限られない。例えば、第3データは、画像データ、動画データ、文書データ、又はその他の任意のデータであってもよい。例えば、第3データは、コンテンツと呼ばれるデータであってもよい。
【0059】
検索クエリに関連付けられた属性及び属性値は、第3分類情報の一例である。このため、検索クエリに関連付けられた属性及び属性値について説明している箇所は、第3分類情報と読み替えることができる。第3分類情報は、第3データの分類に関する情報である。第3分類情報は、第2モデルM2の訓練データのうちの出力部分である。本実施形態では、クエリ選択データベースDB4を利用して第2モデルM2の訓練データが生成されるので、クエリ選択データベースDB4に格納された属性及び属性値は、第3分類情報に相当する。本実施形態では、初期の第1モデルM1の推定結果も第2モデルM2の学習で利用されるので、初期の第1モデルM1により推定された属性及び属性値も、第3分類情報に相当する。
【0060】
第3分類情報は、第2モデルM2の学習に利用可能な情報であればよく、検索クエリに関連付けられた属性及び属性値に限られない。例えば、第3分類情報は、検索クエリに関連付けられた属性又は属性値の何れかのみを示してもよい。第3分類情報は、任意の形式であってよく、文字列に限られない。例えば、第3分類情報は、分類を一意に識別可能なID又は番号のような情報であってもよい。本実施形態では、属性及び属性値のペアの1つ1つが第3分類情報に相当する場合を説明する。このため、ある1つの第3データに対し、複数の第3分類情報が関連付けられることがある。複数の属性及び属性値のペアを1つの第3分類情報として扱ってもよい。この場合、ある1つの第3データに対し、1つの第3分類情報が関連付けられる。
【0061】
第2モデルM2には、第3データ及び第3分類情報の組み合わせと、当該組み合わせが有効である旨を示す有効性と、の関係が学習される。例えば、第2モデルM2には、第3データの候補と、第3分類情報の候補と、を含むクエリ選択データベースDB4であって、クエリ選択データベースDB4に基づいて取得された、第3データと、第3分類情報と、の関係が学習される。クエリ選択データベースDB4は、第2データベースの一例である。このため、クエリ選択データベースDB4について説明している箇所は、第2データベースと読み替えることができる。
【0062】
第2データベースは、第2モデルM2の訓練データの候補となるデータが格納されたデータベースである。第2データベースの全部又は一部のデータが、第2モデルM2の訓練データとして利用される。第2データベースは、第1データベースとは異なる観点のデータベースである。観点とは、訓練データとして用いられるデータの具体的な内容である。第1モデルM1の訓練データに含まれる入力部分と、第2モデルM2の訓練データに含まれる入力部分と、は異なる種類のデータが利用される。本実施形態では、第1モデルM1の訓練データに含まれる入力部分は、ウェブページのタイトルであるのに対し、第2モデルM2の訓練データに含まれる入力部分は、検索クエリである。ウェブページのタイトルと検索クエリは、文字列という意味では同じであるが、具体的な内容は異なる。
【0063】
[第1学習部]
第1学習部201は、第1モデルM1の学習処理を実行する。本実施形態では、ページデータベースDB1に格納されたデータが第1モデルM1の訓練データとして用いられるので、第1学習部201は、この訓練データに基づいて、第1モデルM1の学習処理を実行する。例えば、第1学習部201は、訓練データの入力部分であるウェブページのタイトルが入力された場合に、訓練データの出力部分である属性及び属性値が出力されるように、第1モデルM1の学習処理を実行する。第1モデルM1の学習処理自体は、種々のアルゴリズムを利用可能であり、例えば、誤差逆伝播法又は勾配降下法を利用可能である。
【0064】
[第2分類情報取得部]
第2分類情報取得部202は、ウェブページのタイトルと、当該タイトルの属性及び属性値と、の関係が学習された第1モデルM1に基づいて、検索クエリの属性及び属性値(即ち、検索者の意図の推定結果)を取得する。
【0065】
属性及び属性値が関連付けられていない検索クエリは、第2データの一例である。このため、属性及び属性値が関連付けられていない検索クエリについて説明している箇所は、第2データと読み替えることができる。第2データは、第1モデルM1に入力されるデータである。第2データは、第1データと同じ形式である。本実施形態では、属性及び属性値が関連付けられていない検索クエリが検索クエリデータベースDB2に格納されているので、検索クエリデータベースDB2に格納された検索クエリは、第2データに相当する。即ち、第2データは、ユーザが入力した検索クエリである。
【0066】
第2データは、第1モデルM1の推定対象となるデータであればよく、検索クエリに限られない。例えば、検索者の意図ではなく作成者の意図を推定する場合には、第2データは、ウェブページのタイトル、ウェブページに含まれるタイトル以外の文字列、ウェブページのインデックスとして利用されるキーワード、又はウェブページから作成された要約であってもよい。第2データは、文字列そのものではなく、文字列の何らかの特徴を示す特徴量であってもよい。第2データは、任意の形式であってよく、文字列に限られない。例えば、第2データは、画像データ、動画データ、文書データ、又はその他の任意のデータであってもよい。例えば、第2データは、コンテンツと呼ばれるデータであってもよい。
【0067】
検索クエリに対して推定される属性及び属性値は、第2分類情報の一例である。このため、検索クエリに対して推定される属性及び属性値について説明している箇所は、第2分類情報と読み替えることができる。第2分類情報は、第2データの分類に関する情報である。本実施形態では、第2データが検索クエリなので、第2分類情報は、検索クエリの分類に関する情報である。例えば、第2分類情報は、ユーザが検索クエリを入力した意図に関する情報である。第2分類情報は、第1モデルM1により推定された属性及び属性値である。本実施形態では、第2モデルM2により有効性が推定されるので、第2モデルM2により有効性が推定された属性及び属性値は、第2分類情報に相当する。
【0068】
第2分類情報は、第1モデルM1の推定結果を示す情報であればよく、検索クエリの属性及び属性値に限られない。例えば、第2分類情報は、検索クエリの属性又は属性値の何れかのみを示してもよい。第2分類情報は、任意の形式であってよく、文字列に限られない。例えば、第2分類情報は、分類を一意に識別可能なID又は番号のような情報であってもよい。本実施形態では、属性及び属性値のペアの1つ1つが第2分類情報に相当する場合を説明する。このため、ある1つの第2データに対し、複数の第2分類情報が関連付けられることがある。複数の属性及び属性値のペアを1つの第2分類情報として扱ってもよい。この場合、ある1つの第2データに対し、1つの第2分類情報が関連付けられる。
【0069】
例えば、第2分類情報取得部202は、検索クエリデータベースDB2に格納された検索クエリを、第2データとして第1モデルM1に入力する。第1モデルM1は、この検索クエリの特徴量を計算し、特徴量に応じた属性及び属性値を推定結果として出力する。第2分類情報取得部202は、第1モデルM1から出力された属性及び属性値を、第2分類情報として取得する。本実施形態では、第1モデルM1がマルチラベルに対応しているので、第2分類情報取得部202は、第1モデルM1に基づいて、複数の属性及び属性値を取得する。マルチラベルに対応した第1モデルM1だったとしても、属性及び属性値が1つしか推定されないこともある。
【0070】
なお、本実施形態では、第1モデルM1の処理で必要な特徴量などの計算は、第1モデルM1内で行われるものとする。このため、第2データがそのまま第1モデルM1に入力される場合を説明するが、何らかの集計処理等が必要な第2データであれば、第1モデルM1の外部で集計処理等が実行されたうえで第1モデルM1に入力されてもよい。即ち、第2データがそのまま第1モデルM1に入力されるのではなく、第2データに何らかの処理が実行されたうえで第1モデルM1に入力されてもよい。
【0071】
[候補生成部]
候補生成部203は、複数の生成方法の各々に基づいて、第3データである検索クエリと、第3分類情報である属性及び属性値と、の候補を生成する。候補とは、第3データ又は第3分類情報になりうるデータ又は情報である。本実施形態では、クエリ選択データベースDB4を利用した生成方法と、初期の第1モデルM1を利用した生成方法と、の2つの生成方法を例に挙げる。候補生成部203は、これらの2つの生成方法のうちの何れかだけに基づいて、候補を生成してもよい。
【0072】
図9は、第2モデルM2の訓練データを生成する方法の一例を示す図である。
図9のように、候補生成部203は、クエリ選択データベースDB4に格納された検索クエリと、当該検索クエリを入力した検索者が選択したウェブページの属性及び属性値と、を候補C1として取得する。候補生成部203は、検索クエリデータベースDB2に格納された検索クエリを、初期の第1モデルM1に入力し、初期の第1モデルM1から出力された属性及び属性値を取得することによって、候補C2を取得する。
【0073】
第2モデルM2には、複数の生成方法のうちの複数で生成された候補C3が、第3データ及び第3分類情報として学習される。
図9の例であれば、クエリ選択データベースDB4を利用した生成方法と、初期の第1モデルM1を利用した生成方法と、の両方で取得された候補C3だけが第2モデルM2に学習される。候補C3は、候補C1及び候補C2のANDとなる。クエリ選択データベースDB4を利用した生成方法、又は、初期の第1モデルM1を利用した生成方法の何れかだけで取得された候補については、第2モデルM2には学習されない。
【0074】
[第3分類情報取得部]
第3分類情報取得部204は、第3データである検索クエリと、第1モデルM1と、に基づいて、第3分類情報である属性及び属性値を取得する。この第1モデルM1は、初期の第1モデルM1である。第3分類情報取得部204は、初期の第1モデルM1に、クエリ選択データベースDB4に格納された検索クエリを入力する。初期の第1モデルM1は、この検索クエリの特徴量を計算し、特徴量に応じた属性及び属性値を推定結果として出力する。第3分類情報としての属性及び属性値を取得するための第1モデルM1の処理自体は、第2分類情報としての属性及び属性値を取得するための処理(第2分類情報取得部202の機能で説明した処理)と同様である。
【0075】
本実施形態では、第3分類情報取得部204により取得される属性及び属性値は、
図9の候補C2である。本実施形態では、候補C2のうち、候補C1でも登場するものが第2モデルM2の訓練データになるが、候補C1は関係なく、候補C2を第2モデルM2の訓練データにしてもよい。即ち、第3分類情報取得部204により取得された属性及び属性値がそのまま第2モデルM2の訓練データとして用いられてもよい。逆に、候補C2は関係なく、候補C1を第2モデルM2の訓練データにしてもよい。
【0076】
[第2学習部]
第2学習部205は、第2モデルM2の学習処理を実行する。本実施形態では、訓練データベースDB3に格納されたデータが第2モデルM2の訓練データとして用いられるので、第2学習部205は、この訓練データに基づいて、第2モデルM2の学習処理を実行する。例えば、第2学習部205は、訓練データの入力部分である検索クエリと属性及び属性値との組み合わせが入力された場合に、当該組み合わせに関する有効性が出力されるように、第2モデルM2の学習処理を実行する。第2モデルM2の学習処理自体は、種々のアルゴリズムを利用可能であり、例えば、誤差逆伝播法又は勾配降下法を利用可能である。
【0077】
[有効性推定部]
有効性推定部206は、所定の推定方法に基づいて、第2データである検索クエリと、第2分類情報である属性及び属性値と、の組み合わせに関する有効性を推定する。有効性とは、実行部207の処理に有効であるか否か、又は、実行部207の処理に有効である程度である。本実施形態では、実行部207が訓練データの生成処理を実行するので、上記組み合わせが、訓練データとして適しているか否か、又は、訓練データとして適している程度は、有効性に相当する。有効性は、実行部207の処理における適性ということもできる。
【0078】
本実施形態では、有効性推定部206が、上記組み合わせが有効であるか否かを判定することが有効性を推定することに相当する場合を説明するが、有効の程度を示すスコアを取得することが有効性を推定することに相当してもよい。スコアは、有効性の高さを示す。スコアは、数字で表現されてもよいし、Sランク、Aランク、Bランクといった文字又はその他の記号で表現されてもよい。
【0079】
本実施形態では、有効性推定部206の推定方法の一例として、第3データである検索クエリと第3分類情報である属性及び属性値との組み合わせと、当該組み合わせの有効性と、の関係が学習された第2モデルM2を利用した方法を説明する。有効性推定部206は、第2モデルM2に基づいて、有効性を推定する。検索クエリに対して複数の属性及び属性値が推定された場合には、有効性推定部206は、属性及び属性値ごとに、有効性を推定する。例えば、有効性推定部206は、属性及び属性値ごとに、検索クエリと当該属性及び属性値との組み合わせを第2モデルM2に入力し、第2モデルM2から出力された有効性の推定結果を取得する。
【0080】
図3の例であれば、検索クエリ「CG bag Zebra」に対し、属性「Image」の属性値「Computer Graphic」、属性「Nation」の属性値「Republic of the Congo」、及び属性「Pattern」の属性値「Zebra」が推定されている。
図3のように、1つの検索クエリに対して、属性及び属性値の組み合わせが3つ推定されている場合には、下記のように、有効性の推定結果が3つ取得される。
【0081】
例えば、有効性推定部206は、検索クエリ「CG bag Zebra」と、属性「Image」の属性値「Computer Graphic」と、の組み合わせである第1の組み合わせを第2モデルM2に入力し、第2モデルM2から出力された第1の組み合わせの有効性の推定結果を取得する。
図3の例では、この推定結果は、第1の組み合わせが有効であることを示す。
【0082】
例えば、有効性推定部206は、検索クエリ「CG bag Zebra」と、属性「Nation」の属性値「Republic of the Congo」と、の組み合わせである第2の組み合わせを第2モデルM2に入力し、第2モデルM2から出力された第2の組み合わせの有効性の推定結果を取得する。
図3の例では、この推定結果は、第2の組み合わせが有効ではないことを示す。
【0083】
例えば、有効性推定部206は、検索クエリ「CG bag Zebra」と、属性「Pattern」の属性値「Zebra」と、の組み合わせである第3の組み合わせを第2モデルM2に入力し、第2モデルM2から出力された第3の組み合わせの有効性の推定結果を取得する。
図3の例では、この推定結果は、第3の組み合わせが有効であることを示す。
【0084】
本実施形態では、有効性推定部206の推定方法は、過去に入力された検索クエリと、当該検索クエリに基づく検索結果に対する選択結果と、の関係を示すクエリ選択データを利用した方法である。有効性推定部206は、クエリ選択データに基づいて、有効性を推定する。本実施形態では、クエリ選択データに基づいて第2モデルM2の学習が行われているので、第2モデルM2に基づいて有効性を推定することは、クエリ選択データに基づいて有効性を推定することに相当する。
【0085】
なお、有効性推定部206の推定方法は、第2モデルM2を利用した方法に限られない。例えば、有効性推定部206は、機械学習手法ではなく、予め定められたルールベースの推定方法に基づいて、有効性を推定してもよい。この場合、第2データである検索クエリと、第2分類情報である属性及び属性値と、の組み合わせが入力されると、有効性を出力するルールが予め用意されているものとする。このルールは、決定木のようなものであってもよい。その他の推定方法として、後述の変形例のようなルールベース又は統計ベースの推定方法であってもよい。
【0086】
[実行部]
実行部207は、有効性推定部206による有効性の推定結果に基づいて、所定の処理を実行する。本実施形態では、実行部207は、第2データである検索クエリと第2分類情報である属性及び属性値との組み合わせと、有効性推定部206による有効性の推定結果と、に基づいて、所定の処理として、第1モデルM1に学習させる訓練データを生成する生成処理を実行する。生成処理は、所定の処理の一例である。このため、生成処理について説明している箇所は、所定の処理と読み替えることができる。所定の処理は、任意の処理であってよく、生成処理に限られない。所定の処理の他の例は、後述の変形例で説明する。
【0087】
例えば、実行部207は、有効性推定部206により有効性が推定された検索クエリと、有効であることを示す推定結果が得られた属性及び属性値と、のペアを訓練データとして訓練データベースDB3に格納することによって、生成処理を実行する。有効性推定部206により有効性が推定された検索クエリと、有効であることを示さない推定結果が得られた属性及び属性値と、のペアは、訓練データとして生成されない。
【0088】
第2分類情報として複数の属性及び属性値が取得された場合には、実行部207は、属性及び属性値ごとの有効性に基づいて、生成処理を実行する。例えば、実行部207は、複数の属性及び属性値のうち、有効であることを示す推定結果が得られた属性及び属性値についてのみ訓練データを生成する。複数の属性及び属性値のうち、有効であることを示さない推定結果が得られた属性及び属性値については、訓練データとして生成されない。
【0089】
[3-3.検索者端末で実現される機能]
データ記憶部300は、記憶部32を主として実現される。表示制御部301及び受付部302は、制御部31を主として実現される。データ記憶部300は、検索に必要なデータを記憶する。例えば、データ記憶部300は、ポータルページP1及び検索結果ページP2を表示させるためのブラウザを記憶する。検索者端末30に表示される画面は、ブラウザではなく、他のアプリケーションが利用されてもよい。この場合、データ記憶部300は、当該アプリケーションを記憶する。
【0090】
表示制御部301は、種々の画面を表示部35に表示させる。例えば、表示制御部301は、検索サーバ10からポータルページP1のデータを受信すると、ポータルページP1を表示部35に表示させる。表示制御部301は、検索サーバ10から検索結果ページP2のデータを受信すると、検索結果ページP2を表示部35に表示させる。
【0091】
受付部302は、操作部34から種々の操作を受け付ける。例えば、受付部302は、ポータルページP1の入力フォームF10に対する検索クエリの入力を受け付ける。検索者端末30は、当該入力された検索クエリを検索サーバ10に送信する。例えば、受付部302は、検索結果ページP2が示す検索結果に含まれるリンクの選択を受け付ける。検索者端末30は、当該選択されたリンクを検索サーバ10に送信する。
【0092】
[3-4.作成者端末で実現される機能]
データ記憶部400は、記憶部32を主として実現される。表示制御部401及び受付部402の各々は、制御部41を主として実現される。データ記憶部400は、ウェブページを作成するためのアプリケーションを記憶する。表示制御部401は、種々の画面を表示部45に表示させる。例えば、表示制御部401は、ウェブページを作成するためのアプリケーションの画面を表示させる。受付部402は、操作部44から種々の操作を受け付ける。例えば、受付部402は、作成者によるウェブページの作成操作を受け付けたり、当該ウェブページのタイトル、属性、及び属性値の指定操作を受け付けたりする。
【0093】
[4.処理実行システムで実行される処理]
図10は、処理実行システムSで実行される処理の一例を示すフロー図である。
図10では、処理実行システムSで実行される処理のうち、学習サーバ20により実行される処理を説明する。この処理は、制御部21が記憶部22に記憶されたプログラムに従って動作することによって実行される。
【0094】
図10のように、学習サーバ20は、ページデータベースDB1に基づいて、第1モデルM1の学習処理を実行する(S1)。S1では、学習サーバ20は、ページデータベースDB1に格納されたウェブページのタイトルが示す文字列が入力された場合に、このタイトルに関連付けられた属性及び属性値が出力されるように、第1モデルM1のパラメータが調整される。S1で学習処理が実行された第1モデルM1は、初期の第1モデルM1である。初期の第1モデルM1は、後述のS10の処理により追加の学習処理が実行される。
【0095】
学習サーバ20は、クエリ選択データベースDB4に基づいて、第2モデルM2の訓練データの候補C1を取得する(S2)。S2では、学習サーバ20は、クエリ選択データベースDB4に格納された検索クエリと、この検索クエリを入力した検索者が選択したウェブページの属性及び属性値と、のペアを、第2モデルM2の訓練データの候補C1として取得する。S2では、学習サーバ20は、クエリ選択データベースDB4の全部又は一部のペアを取得する。
【0096】
学習サーバ20は、初期の第1モデルM1に基づいて、第2モデルM2の訓練データの候補C2を取得する(S3)。S3では、学習サーバ20は、検索クエリデータベースDB2に格納された検索クエリを初期の第1モデルM1に入力し、初期の第1モデルM1から出力された属性及び属性値を取得する。学習サーバ20は、第1モデルM1に入力した検索クエリと、第1モデルM1から出力された属性及び属性値と、のペアを訓練データの候補C2として取得する。S3では、学習サーバ20は、検索クエリデータベースDB2の全部又は一部の検索クエリを学習サーバ20に入力し、当該検索クエリと、学習サーバ20から出力された属性及び属性値と、のペアを訓練データの候補C2として取得する。
【0097】
学習サーバ20は、S2で取得した候補C1と、S3で取得した候補C2と、に基づいて、第2モデルM2の訓練データを生成する(S4)。S4では、学習サーバ20は、S2で取得した候補C1と、S3で取得した候補C2と、の両方のANDを取り、これらの両方に存在する候補C3を、第2モデルM2の訓練データとして生成する。
【0098】
学習サーバ20は、S4で生成した訓練データに基づいて、第2モデルM2の学習処理を実行する(S5)。S5では、学習サーバ20は、S4で生成した訓練データに含まれる入力部分の文字列が入力された場合に、この文字列に関連付けられた属性及び属性値が出力されるように、第2モデルM2のパラメータが調整される。
【0099】
学習サーバ20は、第1モデルM1に基づいて、検索クエリデータベースDB2に格納された検索クエリの属性及び属性値を推定する(S6)。S6では、S3における処理の結果が流用されてもよい。学習サーバ20は、第2モデルM2に基づいて、検索クエリとS6で取得した属性及び属性値との組み合わせの有効性を推定する(S7)。S7では、学習サーバ20は、S6の処理の対象となった検索クエリと、S6で推定された属性及び属性値と、のペアを第2モデルM2入力し、第2モデルM2から出力された有効性の推定結果を取得する。
【0100】
学習サーバ20は、S7における有効性の推定結果に基づいて、第1モデルM1の訓練データを生成する(S8)。S8では、学習サーバ20は、S7で有効であると推定された検索クエリと属性及び属性値とのペアを、訓練データとして訓練データベースDB3に格納する。学習サーバ20は、十分な数の訓練データを生成したか否かを判定する(S9)。S9では、S8で生成された訓練データが所定数に達したか否かを判定する。十分な数の訓練データを生成していないと判定された場合(S9;N)、S6の処理に戻り、訓練データの生成が繰り返される。
【0101】
S9において、十分な数の訓練データを生成したと判定された場合(S9;Y)、学習サーバ20は、訓練データベースDB3に基づいて、第1モデルM1の学習処理を実行する(S10)。S10では、学習サーバ20は、訓練データベースDB3に格納された訓練データに含まれる入力部分の文字列が入力された場合に、この文字列に関連付けられた属性及び属性値が出力されるように、第1モデルM2のパラメータが調整される。
【0102】
学習サーバ20は、学習後の第1モデルM1に基づいて、検索クエリデータベースDB2に格納された検索クエリの属性及び属性値を推定し(S11)、本処理は終了する。S11の処理は、S3及びS6と同様であるが、初期の第1モデルM1ではなく、S10の処理で学習済みの第1モデルM1が用いられる点で異なる。学習サーバ20は、S11で推定した属性及び属性値を、検索クエリに関連付けて記憶部22に記録する。当該記録された検索クエリと、属性及び属性値と、は任意の目的で利用される。例えば、学習サーバ20は、処理実行システムSの管理者により、これらの関連付けの参照が要求された場合にマーケティング目的等でこれらの関連付けを出力する。
【0103】
本実施形態の処理実行システムSによれば、所定の推定方法に基づいて、検索クエリと、第1モデルM1により推定された属性及び属性値と、の組み合わせに関する有効性を推定する。処理実行システムSは、有効性を推定したうえで所定の処理を実行するので、訓練データが十分ではないことに起因して第1モデルM1の精度が十分ではない場合にも、所望の結果を得ることができる。例えば、所定の処理として生成処理を実行することにより、有効性を推定したうえで第1モデルM1の訓練データを生成できるので、第1モデルM1の精度が高まる。その結果、第1モデルM1が検索クエリの属性及び属性値を推定する精度が高まるので、ユーザの意図を推定するといった所望の結果を得やすくなる。他にも例えば、過去に入力された検索クエリから第1モデルM1の訓練データを作成できるので、第1モデルM1の訓練データを作成する手間を省くこともできる。
【0104】
また、処理実行システムSは、第2モデルM2に基づいて、検索クエリと属性及び属性値との組み合わせに関する有効性を推定する。これにより、これらの組み合わせの有効性の推定精度が高まる。有効性の推定精度が高まることによって、所定の処理として生成される第1モデルM1の訓練データの精度も高まる。このため、第1モデルM1の推定精度が高まるので、所望の結果を得やすくなる。
【0105】
また、第1モデルM1には、ページデータベースDB1に基づいて取得された、ウェブページのタイトルと、属性及び属性値と、の関係が学習される。第2モデルM2には、ページデータベースDB1とは異なる観点のクエリ選択データベースDB4に基づいて取得された検索クエリと属性及び属性値との関係が学習される。これにより、第2モデルM2による有効性の推定精度が高まる。第1モデルM1と同様の訓練データを第2モデルM2に学習させても、第1モデルM1の推定結果の誤りを特定するような第2モデルM2を作成することは難しいと考えられるが、第1モデルM1の学習で利用した訓練データとは異なる観点の訓練データを利用することによって、第1モデルM1と違った観点で第2モデルM2の学習を行うことができる。このため、第1モデルM1の推定結果の誤りを特定するような第2モデルM2を作成できるので、第2モデルM2による有効性の推定精度が高まる。第2モデルM2による有効性の推定精度が高まることにより、所定の処理として生成される第1モデルM1の訓練データの精度も高まる。このため、第1モデルM1の推定精度が高まるので、所望の結果を得やすくなる。
【0106】
また、第2モデルM2には、初期の第1モデルM1を利用して推定した検索クエリと属性及び属性値との組み合わせと、当該組み合わせが有効である旨を示す有効性と、の関係が学習される。これにより、第2モデルM2の訓練データをより多く生成できるので、第2モデルM2による有効性の推定精度が高まる。第2モデルM2の訓練データを生成する手間を省くこともできる。第2モデルM2による有効性の推定精度が高まることにより、所定の処理として生成される第1モデルM1の訓練データの精度も高まる。このため、第1モデルM1の推定精度が高まるので、所望の結果を得やすくなる。
【0107】
また、処理実行システムSは、複数の生成方法の各々に基づいて、訓練データベースDB3に訓練データとして格納される検索クエリと属性及び属性値との組み合わせの候補を生成する。第2モデルM2には、複数の生成方法のうちの複数で生成された候補が訓練データとして学習される。これにより、第2モデルM2の訓練データをより多く生成できるので、第2モデルM2による有効性の推定精度が高まる。第2モデルM2の訓練データを生成する手間を省くこともできる。第2モデルM2による有効性の推定精度が高まることにより、所定の処理として生成される第1モデルM1の訓練データの精度も高まる。このため、第1モデルM1の推定精度が高まるので、所望の結果を得やすくなる。
【0108】
また、第2モデルM2には、ユーザが入力した検索クエリが第2データとして学習され、検索クエリの属性及び属性値が第2分類情報として学習される。これにより、実際に入力された検索クエリを第2モデルM2の学習で利用するので、第2モデルM2による有効性の推定精度が高まる。第2モデルM2による有効性の推定精度が高まることにより、所定の処理として実行される第1モデルM1の訓練データの精度も高まる。このため、第1モデルM1の推定精度が高まるので、所望の結果を得やすくなる。
【0109】
また、有効性の推定方法は、過去に入力された検索クエリと、当該検索クエリに基づく検索結果に対する選択結果と、の関係を示すクエリ選択データを利用した方法である。ユーザの意図が表れやすいクエリ選択データを利用することによって、検索クエリと属性及び属性値との組み合わせの有効性の推定精度が高まる。有効性の推定精度が高まることによって、所定の処理として生成される第1モデルM1の訓練データの精度も高まる。このため、第1モデルM1の推定精度が高まるので、所望の結果を得やすくなる。
【0110】
また、第1モデルM1に学習されるウェブページのタイトルと属性及び属性値とは、検索時のインデックスとして利用されるデータである。これにより、実際の検索時にインデックスとして利用される実用的なデータに基づいて、第1モデルM1の学習処理を実行できる。このため、第1モデルM1の推定精度が高まるので、所望の結果を得やすくなる。
【0111】
また、第2分類情報である属性及び属性値が、ユーザが検索クエリを入力した意図に関する情報として推定される。これにより、ユーザが検索クエリを入力した意図を推定できる。例えば、ユーザが検索クエリを入力した意図を推定すれば、検索サービスのマーケティングに活用したり、検索結果の精度を向上したりすることができる。
【0112】
また、検索クエリと属性及び属性値の組み合わせと、有効性の推定結果と、に基づいて、第1モデルM1に学習させる訓練データを生成する生成処理を実行する。これにより、第1モデルM1の推定精度が高まるので、所望の結果を得やすくなる。第1モデルM1の訓練データを作成する手間を省くこともできる。
【0113】
また、第1モデルM1は、ウェブページのタイトルと、複数の属性及び属性値と、の関係が学習された、マルチラベルに対応したモデルである。これにより、ユーザが入力した検索クエリに複数の属性及び属性値を関連付けることができる。これにより、第1モデルM1の推定精度が高まるので、所望の結果を得やすくなる。
【0114】
[5.変形例]
本開示は、以上に説明した実施形態に限定されるものではない。本開示の趣旨を逸脱しない範囲で、適宜変更可能である。
【0115】
[5-1.変形例1]
例えば、実施形態では、第2モデルM2が、検索クエリと属性及び属性値との組み合わせの有効性があるか否かを示す2値的な情報を、推定結果として出力する場合を説明したが、第2モデルM2は、この組み合わせの有効性に関するスコアを、推定結果として出力してもよい。スコアについては、実施形態で説明した通りである。変形例1では、スコアが数字によって表現される場合を説明する。スコアが高いほど有効性が高いことを意味する。スコアは、蓋然性又は確率ということもできる。例えば、第2モデルM2は、検索クエリと属性及び属性値との組み合わせが入力されると、この組み合わせのスコアを推定結果として出力する。
【0116】
変形例1の有効性推定部206は、検索クエリと属性及び属性値との組み合わせに基づいて、第2モデルM2から出力されたスコアを取得し、当該取得されたスコアに基づいて、有効性を推定する。例えば、有効性推定部206は、第2モデルM2から出力されたスコアが閾値未満である場合に、検索クエリと属性及び属性値との組み合わせが有効ではないと推定し、第2モデルM2から出力されたスコアが閾値以上である場合に、検索クエリと属性及び属性値との組み合わせが有効であると推定する。
【0117】
変形例1によれば、検索クエリと属性及び属性値との組み合わせに基づいて、第2モデルM2から出力されたスコアを取得し、当該取得されたスコアに基づいて、有効性を推定する。第2モデルM2が、有効であるか否かを示す2値的な情報を出力するのではなく、有効性の高さを示し、中間値を取り得るスコアを出力することによって、第2モデルM2の推定結果を活用しやすくなる。例えば、スコアの値によって、第2モデルM2がどの程度の確度で有効であるかを理解しやすくなる。その結果、所定の処理として実行される第1モデルM1の訓練データの精度も高まる。例えば、第1モデルM1の訓練データを生成するために取得された第2モデルM2のスコアが高いほど、第1モデルM1の重みを大きくするといったこともできる。この場合、有効性が高い訓練データを第1モデルM1に学習させることができる。その結果、第1モデルM1の推定精度が高まるので、所望の結果を得やすくなる。
【0118】
[5-2.変形例2]
例えば、推定方法は、検索クエリと属性及び属性値とに基づくコサイン類似度を利用した方法であってもよい。コサイン類似度は、文字列同士の類似度を計算する手法である。例えば、第1文字列と第2文字列の類否を判定する場合に、第1文字列の特徴を示す第1ベクトルと、第2文字列の特徴を示す第2ベクトルと、のなす角度に基づいて、コサイン類似度が計算される。第1ベクトル及び第2ベクトルが同じ方向を向いているほど、コサイン類似度は高くなる。即ち、検索クエリと、属性及び属性値と、の特徴が似ているほど、コサイン類似度は高くなる。
【0119】
有効性推定部206は、検索クエリと属性及び属性値とに基づくコサイン類似度に基づいて、有効性を推定する。有効性推定部206は、検索クエリの特徴を示す第1ベクトルと、属性及び属性値の特徴を示す第2ベクトルと、のコサイン類似度を計算する。第1ベクトル及び第2ベクトルは、実施形態と同様の第2モデルM2により計算されてもよいし、Word2Vec又はDoc2Vecといった他のモデルにより計算されてもよい。コサイン類似度の計算方法自体は、自然言語処理で利用されている種々の計算方法を利用可能である。
【0120】
例えば、有効性推定部206は、検索クエリと属性及び属性値とに基づくコサイン類似度が閾値未満である場合に、検索クエリと属性及び属性値との組み合わせが有効ではないと推定し、検索クエリと属性及び属性値とに基づくコサイン類似度が閾値以上である場合に、検索クエリと属性及び属性値との組み合わせが有効であると推定する。変形例1及び変形例2を組み合わせて、変形例1で説明したスコアとして、コサイン類似度が利用されてもよい。なお、コサイン類似度に代えてユークリッド距離などベクトル間の比較のための他の指標が利用されてもよい。
【0121】
変形例2によれば、コサイン類似度に基づいて、第1モデルM1の推定結果の有効性を推定する。比較的計算が簡単なコサイン類似度を利用することによって、処理実行システムSの処理を高速化できる。
【0122】
[5-3.変形例3]
例えば、有効性推定部206は、複数の推定方法の各々に基づいて、有効性を推定してもよい。複数の推定方法としては、実施形態で説明した推定方法、変形例1で説明した推定方法、及び変形例2で説明した推定方法が挙げられる。他にも例えば、下記に説明するような推定方法が挙げられる。変形例3では、任意の推定方法を組み合わせることができる。
【0123】
例えば、有効性推定部206は、辞書を利用した推定方法に基づいて、有効性を推定してもよい。例えば、辞書は、属性と、属性値の具体的な文字列と、の関係が定義されている。有効性推定部206は、第1モデルM1により出力された属性及び属性値が辞書に存在しない場合に、第1モデルM1の推定結果が有効ではないと推定し、第1モデルM1により出力された属性及び属性値が辞書に存在する場合に、第1モデルM1の推定結果が有効であると推定する。
【0124】
なお、辞書を利用した推定方法では、任意の辞書を利用可能であり、上記辞書以外の辞書が利用されてもよい。例えば、有効性推定部206は、検索クエリと、有効な属性及び属性値と、の関係が定義された辞書に基づいて、有効性を推定してもよい。この場合、有効性推定部206は、第1モデルM1に入力された検索クエリと、第1モデルM1から出力された属性及び属性値と、の組み合わせが辞書に存在しない場合には、第1モデルM1の推定結果が有効ではないと推定し、この組み合わせが辞書に存在する場合に、第1モデルM1の推定結果が有効であると推定する。
【0125】
他にも例えば、有効性推定部206は、extremeTextなどのマルチラベル分類ツールを利用した推定方法に基づいて、有効性を推定してもよい。この場合、有効性推定部206は、検索クエリと属性及び属性値との組み合わせを分類ツールに入力し、分類ツールから出力されたスコアが閾値未満である場合に、この組み合わせが有効ではないと推定し、このスコアが閾値以上である場合に、この組み合わせが有効であると推定する。
【0126】
実行部207は、複数の推定方法の各々による有効性の推定結果に基づいて、生成処理を実行する。実行部207は、複数の推定方法の各々による有効性の推定結果を総合的に考慮して、生成処理を実行する。即ち、実行部207は、複数の推定方法の各々による有効性の推定結果に基づく統計的な指標を利用して、生成処理を実行してもよい。例えば、実行部207は、有効であると推定された推定方法の数が所定数以上の検索クエリと属性及び属性値との組み合わせを、訓練データベースDB3に格納する。有効であると推定された推定方法の数が所定数未満である検索クエリと属性及び属性値との組み合わせは、訓練データとして利用されない。
【0127】
例えば、実行部207は、複数の推定方法の各々による多数決に基づいて、訓練データを生成して訓練データベースDB3に格納してもよい。推定方法が5つだったとすると、実行部207は、5つの推定方法の各々に基づいて、検索クエリと属性及び属性値との組み合わせの有効性を推定する。即ち、実行部207は、5つの推定結果を取得する。5つの推定結果のうち、3つ以上で有効であるとの推定結果が得られた場合に、実行部207は、検索クエリと属性及び属性値との組み合わせが有効であることを示す訓練データを生成し、訓練データベースDB3に格納する。
【0128】
例えば、実行部207は、複数の推定方法の各々の平均値に基づいて、訓練データを生成して訓練データベースDB3に格納してもよい。推定方法が5つだったとすると、実行部207は、5つの推定方法に基づいて、検索クエリと属性及び属性値との組み合わせの有効性を推定する。即ち、実行部207は、5つの推定結果を取得する。実行部207は、検索クエリと属性及び属性値との組み合わせと、5つの推定結果の平均値と、のペアである訓練データを生成し、訓練データベースDB3に格納する。例えば、5つの推定結果のうち、3つで有効との推定結果が得られた場合には、平均値は、0.6となる。この平均値は、有効性の高さを示す。なお、複数の推定方法を統合的に用いるためのモデルとして、Snorkelのようなプログラマブルなラベリングモデルが利用されてもよい。
【0129】
例えば、実行部207は、複数の推定方法の各々による有効性の推定結果に基づいて、総合的な推定結果を示すスコアを計算してもよい。この場合、実行部207は、この総合的なスコアが閾値未満の場合には、生成処理を実行せず、総合的なスコアが閾値以上の場合に、生成処理を実行する。例えば、実行部207は、有効であると推定された推定方法の数、又は、総合的なスコアに応じて、重みを決定してもよい。この場合、有効であると推定された推定方法の数が多いほど、又は、総合的なスコアが高いほど、訓練データが第1モデルM1に強く学習されるように重みが決定される。
【0130】
変形例3によれば、複数の推定方法の各々に基づいて、有効性を推定し、複数の推定方法の各々による有効性の推定結果に基づいて、生成処理を実行する。これにより、複数の推定方法を総合的に考慮して、検索クエリと属性及び属性値との有効性を推定するので、有効性の推定精度が高まる。第2モデルM2による有効性の推定精度が高まることにより、所定の処理として実行される第1モデルM1の訓練データの精度も高まる。このため、第1モデルM1の推定精度が高まるので、所望の結果を得やすくなる。例えば、有効性の推定で利用する推定方法が多いほど、第1モデルM1の訓練データの精度が高まる。一方で、推定方法が多かったり個々の推定方法の基準が厳しかったりすると、第1モデルM1の訓練データが少ないので、第1モデルM1の学習に十分な数の訓練データを得られない可能性がある。このため、第1モデルM1の訓練データの精度と、第1モデルM1の訓練データの数と、はトレードオフの関係にあると考えられる。
【0131】
[5-4.変形例4]
例えば、実施形態では、ウェブページの検索サービスに処理実行システムSを適用する場合を説明したが、処理実行システムSは、任意のサービスに適用可能である。例えば、処理実行システムSは、電子商取引サービス、旅行予約サービス、ネットオークションサービス、施設予約サービス、SNS(Social Networking Service)、金融サービス、保険サービス、動画配信サービス、又は通信サービスに利用可能である。変形例4では、電子商取引サービスに処理実行システムSを適用する場合を説明する。変形例4では、商品が掲載された商品ページが実施形態で説明したウェブページに相当する。
【0132】
変形例4の第1データは、商品の検索時にインデックスとして利用される商品タイトルである。商品タイトルは、商品の説明を簡潔に示す文字列である。例えば、商品タイトルとは別に商品説明文が用意される。商品タイトルは、商品説明文よりも短い。例えば、商品タイトルは、数文字~100文字程度の文字列であるのに対し、商品説明文は、数十文字~数千文字程度の文字列である。商品タイトルは、店舗の担当者によって作成される。このため、変形例4では、電子商取引サービスにおける店舗の担当者が作成者に相当する。検索者は、電子商取引サービスを利用して商品を購入するユーザである。
【0133】
変形例4の第1分類情報は、商品の検索時にインデックスとして利用される商品属性情報である。商品属性情報は、商品の属性に関する情報である。商品属性情報は、属性及び属性値の少なくとも一方を示す。変形例4では、商品属性情報が属性及び属性値の両方を示す場合を説明するが、商品属性情報は、属性又は属性値の何れかを示してもよい。例えば、商品の属性は、商品のジャンル又はカテゴリである。例えば、商品の属性は、商品の色、サイズ、模様パターン、又は形状といった特徴であってもよい。
【0134】
変形例4のページデータベースDB1には、商品のタイトルと、商品の属性及び属性値と、が関連付けられて格納されている。初期の第1モデルM1には、商品のタイトルと、商品の属性及び属性値と、の関係が学習されている。検索クエリデータベースDB2には、電子商取引サービスにおいて過去に入力された検索クエリが、第2データ及び第3データとして格納されている。第2分類情報取得部202は、第1モデルM1に基づいて、検索クエリデータベースDB2に格納された検索クエリに対応する属性及び属性値を、第2分類情報として取得する。
【0135】
第2モデルM2には、過去に入力された検索クエリと商品の属性及び属性値との組み合わせと、この組み合わせの有効性と、の関係が学習されている。有効性推定部206は、第1モデルM1に入力された検索クエリと、第1モデルM1から出力された商品の属性及び属性値と、の組み合わせを、第2モデルM2に入力する。有効性推定部206は、第2モデルM2からの出力を取得することによって、これらの組み合わせの有効性を推定する。実行部207は、有効性推定部206により推定された有効性に基づいて、これらの組み合わせを第1モデルM1の訓練データとして生成するか否かを決定する。
【0136】
変形例4によれば、第1データは、商品の検索時にインデックスとして利用される商品タイトルであり、第1分類情報は、商品の検索時にインデックスとして利用される商品属性情報である。これにより、電子商取引サービスに処理実行システムSを適用した場合であったとしても、所望の結果を得ることができる。例えば、電子商取引サービスを利用するユーザが入力した検索クエリの意図を推定できる。その結果、電子商取引サービスにおけるマーケティングに活用したり、電子商取引サービスの検索結果の精度を高めたりすることができる。
【0137】
[5-5.変形例5]
例えば、実行部207が実行する所定の処理は、実施形態で説明した生成処理に限られない。実行部207は、有効性の推定結果に基づいて、所定の処理として、検索クエリに応じた検索処理を実行してもよい。変形例5では、ユーザが検索クエリを入力した場合に、第2分類情報取得部202、有効性推定部206、及び実行部207の処理が実行される。第2分類情報取得部202は、第1モデルM1に基づいて、ユーザが入力した検索クエリに対応する属性及び属性値を取得する。この第1モデルM1は、実施形態と同様の方法により学習済みのモデルであってもよいし、他の方法により学習されたモデルであってもよい。
【0138】
有効性推定部206は、検索クエリと属性及び属性値との組み合わせの有効性を推定する。有効性の推定方法は、実施形態と同様である。実行部207は、この組み合わせが有効ではないと推定された場合には、第1モデルM1により推定された属性及び属性値を検索処理で利用せずに、ユーザが入力した検索クエリに基づいて、検索処理を実行する。実行部207は、この組み合わせが有効であると推定された場合には、第1モデルM1により推定された属性及び属性値が検索クエリとして利用されるように、検索処理を実行する。この場合、ユーザが入力した検索クエリとして入力した文字列と、第1モデルM1により推定された属性及び属性値と、が検索クエリとして利用される。
【0139】
変形例5によれば、有効性の推定結果に基づいて、検索クエリに応じた検索処理を実行する。これにより、ユーザが入力した検索クエリだけでなく、有効であると推定された第1モデルM1の推定結果を検索処理で利用できるので、検索処理の精度が高まる。
【0140】
[5-6.変形例6]
例えば、実行部207は、有効性の推定結果に基づいて、所定の処理として、検索クエリと属性及び属性値とを出力する出力処理を実行してもよい。実行部207は、処理実行システムSにおける管理者の端末に、有効と推定された検索クエリと属性及び属性値との組み合わせを出力する。実行部207は、有効性の推定結果と、検索クエリと属性及び属性値との組み合わせと、を管理者の端末に出力してもよい。管理者の端末への出力は、画像を表示させることによって行われてもよいし、データ出力によって行われてもよい。
【0141】
変形例6によれば、有効性の推定結果に基づいて、検索クエリと属性及び属性値とを出力する出力処理を実行する。これにより、検索クエリと属性及び属性値との関係を管理者に通知するといったことができるので、マーケティング等に活用できる。
【0142】
[5-7.変形例7]
例えば、実施形態では、第2データがウェブページの検索クエリである場合を説明したが、第2データは、ユーザの投稿に関するデータであってもよい。投稿は、テキスト及び画像の少なくとも一方を含む。変形例7では、ユーザがSNSに投稿する場合を説明するが、ユーザは、任意のサービスに投稿できる。例えば、インターネット百科事典への投稿、掲示板への投稿、又はニュース記事に対するコメントであってもよい。SNSの投稿自体は、種々の投稿であってよく、例えば、短文のテキストの投稿、画像、動画、又はこれらの組み合わせであってもよい。
【0143】
第2分類情報は、投稿の分類に関する情報である。変形例7では、この分類がハッシュタグと呼ばれる情報である場合を例に挙げるが、変形例7の第2分類情報は、ハッシュタグ以外の情報であってもよい。変形例7では、ユーザが投稿をアップロードした場合に、第2分類情報取得部202、有効性推定部206、及び実行部207の処理が実行される。第2分類情報取得部202は、第1モデルM1に基づいて、ユーザの投稿に対応するハッシュタグを取得する。変形例7の第1モデルM1は、過去にSNSにアップロードされた投稿と、この投稿に付与されたハッシュタグと、の関係が学習されているものとする。この第1モデルM1は、実施形態と同様の方法により学習済みのモデルであってもよいし、他の方法により学習されたモデルであってもよい。
【0144】
有効性推定部206は、ユーザの投稿とハッシュタグとの組み合わせの有効性を推定する。有効性の推定方法は、実施形態と同様である。実行部207は、この組み合わせが有効ではないと推定された場合には、第1モデルM1により推定されたハッシュタグをユーザの投稿に付与しない。実行部207は、この組み合わせが有効であると推定された場合には、第1モデルM1により推定されたハッシュタグをユーザの投稿に付与する。
【0145】
変形例7によれば、第2データは、ユーザの投稿に関するデータであり、第2分類情報は、投稿の分類に関する情報である。これにより、例えばSNSに処理実行システムSを適用した場合であったとしても、所望の結果を得ることができる。例えば、ユーザの投稿に適切なハッシュタグを付与することができる。
【0146】
[5-8.変形例8]
例えば、有効性推定部206による有効性の推定方法は、実施形態及び変形例1-7で説明した方法に限られない。変形例8では、他の推定方法の一例を説明する。変形例8では、変形例4と同様に、電子商取引サービスに処理実行システムSを適用する場合を例に挙げるが、変形例8の推定方法は、電子商取引サービス以外の他のサービスに適用可能である。
【0147】
図11は、変形例8の機能ブロックの一例を示す図である。
図11のように、変形例8では、実施形態及び変形例1-7で説明した機能に加えて、第4分類情報取得部208が実現される。他の各機能は、実施形態及び変形例1-7と同様であってよいが、データ記憶部200は、候補群データベースDB5及び第3モデルM3を記憶する点で異なる。候補群データベースDB5及び第3モデルM3の詳細は、後述する。
【0148】
図12は、変形例8で実行される処理の概要を示す図である。
図12のように、変形例8のページデータベースDB1には、電子商取引サービスで購入可能な商品のタイトル、商品のジャンル、商品のタグ群、及び商品のタグが関連付けられている。ジャンル、タグ群、及びタグは、商品の分類の一例である。変形例8では、ページデータベースDB1に格納されたデータが、第1モデルM1及び第3モデルM3の両方の訓練データとして利用される場合を説明する。
【0149】
商品のジャンルは、商品の種類である。商品のジャンルは、商品のカテゴリと呼ばれることもある。タグ群は、変形例4で説明した属性の一例である。商品のタグは、変形例4で説明した属性値の一例である。変形例8では、タグ群及びタグは、ジャンル又はカテゴリとは異なる観点の分類である。タグ群及びタグは、商品自体の種類ではなく、色、模様パターン、サイズ、又は形状といった商品の特徴を示す情報である。同じジャンルの商品だとしても、複数のタグ群及びタグの組み合わせが存在する。
【0150】
変形例8の第1学習部201は、ページデータベースDB1に格納された商品のタイトルと、商品のタグ群及びタグと、の関係に基づいて、第1モデルM1の学習処理を実行する。第1学習部201は、ある商品のタイトルが入力された場合に、この商品のタグ群及びタグが出力されるように、第1モデルM1の学習処理を実行する。
図12の例では、ジャンル「123456」(「Lady Fashion」を意味するジャンルID)の商品が示されているが、種々のジャンルの商品のデータがページデータベースDB1に格納されており、種々のジャンルの商品が第1モデルM1に学習されるものとする。ジャンルIDは、ジャンルを識別可能なIDである。ジャンルIDは、数字、その他の記号、又はこれらの組み合わせによって表現される。ジャンルは、文字列によって表現されてもよい。
【0151】
変形例8の第2分類情報取得部202は、検索クエリデータベースDB2に格納された検索クエリを第1モデルM1に入力し、第1モデルM1から出力されたタグ群及びタグを、第2分類情報として取得する。変形例8の第2分類情報は、検索クエリに関するタグ群及びタグの組み合わせを示す。検索クエリのタグ群は、第1属性の一例である。検索クエリのタグは、第1属性値の一例である。このため、検索クエリのタグ群について説明している箇所は、第1属性と読み替えることができる。検索クエリのタグについて説明している箇所は、第1属性値と読み替えることができる。属性及び属性値の意味は、実施形態や変形例4で説明した通りである。
【0152】
図12の例では、第2分類情報取得部202は、検索クエリ「Elegant Ladies Down Jacket」を第1モデルM1に入力し、第1モデルM1から出力された3つのタグ群及びタグの組み合わせを、3つの第2分類情報として取得する。1つ目の第2分類情報は、タグ群「Fashion Taste」及びタグ「Elegant」の組み合わせである。2つ目の第2分類情報は、タグ群「Interior Taste」及びタグ「Elegant」の組み合わせである。3つ目の第2分類情報は、タグ群「Material」及びタグ「Down Feather」の組み合わせである。
【0153】
変形例8では、検索クエリが、第1モデルM1だけではなく第3モデルM3にも入力される。第3モデルM3は、ページデータベースDB1に格納された商品のタイトルと、商品のジャンルと、の関係が学習されたモデルである。変形例8では、第1モデルM1の訓練データとして利用される商品と、第3モデルM3の訓練データとして利用される商品と、が同じ場合を説明するが、これらの商品は異なってもよい。即ち、第1モデルM1に学習させた商品とは異なる他の商品のタイトルと、当該他の商品のジャンルと、の関係が第3モデルM3に学習されてもよい。当該他の商品のタイトルは、第4データの一例である。第4データは、第1データとは異なるデータである。第3モデルM3は、第1データ又は第4データと、第1データ又は第4データの第4分類情報と、の関係が学習されたモデルであればよい。
【0154】
例えば、第4分類情報取得部208は、第3モデルM3に基づいて、第2分類情報とは異なる観点における検索クエリの分類に関する第4分類情報を取得する。検索クエリのジャンルは、第4分類情報の一例である。このため、検索クエリのジャンルについて説明している箇所は、第4分類情報と読み替えることができる。変形例8では、第4分類情報は、第1属性とは異なる観点における第2属性を示す。ジャンルは、第2属性の一例でもある。第2属性は、ジャンル以外にも、実施形態や変形例4で説明した他の属性であってもよい。
【0155】
なお、第4分類情報は、第2分類情報とは異なる観点の分類であればよく、ジャンルに限られない。第4分類情報は、処理実行システムSが適用される場面に応じた分類を示せばよい。例えば、実施形態のようなウェブページの分類に処理実行システムSが適用される場合、ウェブページが学術論文であれば、論文が示す技術分野が第4分類情報に相当してもよい。他にも例えば、旅行予約システムにおけるウェブページの分類に処理実行システムSが適用される場合、ホテル、ツアー、高速バス、又はオプションツアーといった旅行商品の種類が第4分類情報に相当してもよい。
【0156】
第4分類情報取得部208は、検索クエリを第3モデルM3に入力し、第3モデルM3から出力されたジャンルを、第4分類情報として取得する。第3モデルM3には、商品のタイトルとジャンルとの関係が学習されているので、検索クエリを商品のタイトルと仮定した場合のジャンルが推定されることになる。別の言い方をすれば、検索クエリを入力したユーザが検索しようとしている商品のジャンルが推定されることになる。
図12の例では、第4分類情報取得部208は、検索クエリ「Elegant Ladies Down Jacket」を第3モデルM3に入力し、第3モデルM3から出力されたジャンル「123456」(「Lady Fashion」を意味するジャンルID)を、第4分類情報として取得する。
【0157】
変形例8では、有効性の推定方法は、第2分類情報と第4分類情報とが対応するか否かを判定することである。第2分類情報と第4分類情報とが対応するとは、第4分類情報が示す分類として適切な第2分類情報であることである。逆に、第2分類情報が示す分類として適切な第4分類情報であることが、第2分類情報と第4分類情報とが対応することに相当してもよい。例えば、第4分類情報が
図12の「123456」といったジャンルを示す場合、女性用のファッション用品には種々のサイズがあるので、タグ群「Size」を示す第2分類情報は、互いに対応する。一方、女性用のファッション用品をインテリアとして利用することは、原則として考えられないので、タグ群「Interior Taste」を示す第2分類情報は、第4分類情報に対応しない。
【0158】
変形例8では、候補群データベースDB5に第2分類情報と第4分類情報との対応付けが定義されている。候補群データベースDB5に定義された第2分類情報と第4分類情報の組み合わせであれば、第2分類情報と第4分類情報とが対応することになる。第2分類情報と第4分類情報との対応付けは、処理実行システムSの管理者が自身で定義してもよいし、電子商取引サービスにおける商品ページのジャンルとタグ群の対応付けがそのまま利用されてもよい。なお、第2分類情報と第4分類情報との対応付けは、候補群データベースDB5以外のデータベースに定義されていてもよいし、これらの対応付けの適否を判定する学習モデルが存在してもよい。この学習モデルには、互いに対応する第2分類情報と第4分類情報の組み合わせが学習されているものとする。
【0159】
図12のように、候補群データベースDB5は、第4分類情報に関する候補ごとに、第2分類情報に関する候補群が関連付けられたデータベースである。例えば、ある1つのジャンルの商品として適切なタグ群が候補群データベースDB5に定義されている。
図12の例では、ジャンル「123456」の商品として適切なタグ群「Fashion Taste」「Material」「Size」が定義されている。他のジャンルについても同様に、当該他のジャンルに適切なタグ群が候補群データベースDB5に定義されている。候補群データベースDB5には、タグ群だけではなく、タグが定義されていてもよい。この場合、ジャンルと、タグ群及びタグと、の適切な組み合わせが候補群データベースDB5に定義される。
【0160】
有効性推定部206は、第2分類情報と第4分類情報とが対応するか否かを判定し、当該判定結果に基づいて、有効性を推定する。有効性推定部206は、第2分類情報と第4分類情報とが対応すると判定しない場合には、検索クエリに対して推定されたタグ群及びタグが有効ではない(即ち、無効である)と判定する。有効性推定部206は、第2分類情報と第4分類情報とが対応すると判定した場合には、検索クエリに対して推定されたタグ群及びタグが有効であると判定する。
【0161】
例えば、有効性推定部206は、候補群データベースDB5に基づいて、第2分類情報が第4分類情報に対応するか否かを判定する。即ち、有効性推定部206は、第2分類情報が示すタグ群と、第4分類情報が示すジャンルと、が対応するか否かを判定する。有効性推定部206は、検索クエリに対して推定されたジャンルと、検索クエリに対して推定されたタグ群と、の組み合わせが候補群データベースDB5に存在する場合、検索クエリに対して推定されたタグ群及びタグが有効であると判定する。
【0162】
図12の例では、3つの第2分類情報が示す3つのタグ群「Fashion Taste」「Interior Taste」「Material」のうち、2つのタグ群「Fashion Taste」「Material」は、候補群データベースDB5において、検索クエリのジャンル「123456」に関連付けられているので、このジャンルに対応する。一方、タグ群「Interior Taste」は、候補群データベースDB5において、検索クエリのジャンル「123456」に関連付けられていないので、このジャンルには対応しない。
【0163】
このため、有効性推定部206は、1つ目の第2分類情報であるタグ群「Fashion Taste」及びタグ「Elegant」の組み合わせと、3つ目の第2分類情報であるタグ群「Material」及びタグ「Down Feather」の組み合わせと、が有効であると推定する。有効性推定部206は、2つ目の第2分類情報であるタグ群「Material」及びタグ「Elegant」の組み合わせが無効であると推定する。有効と推定された第2分類情報の用途は、実施形態及び変形例1-7と同様であってよい。
図12の例では、有効と推定された第2分類情報は第1モデルM1の学習で利用される。
【0164】
なお、第4分類情報の取得方法は、第3モデルM3を利用した方法に限られない。第4分類情報取得部208は、所定の取得方法に基づいて、第4分類情報を取得すればよい。例えば、他の取得方法としては、機械学習のモデルではなく、検索クエリとして入力されうる内容と、この内容に対して適切なジャンルと、の関係が定義されたデータベースが利用されてもよい。この場合、第4分類情報取得部208は、このデータベースを参照し、検索クエリに関連付けられたジャンルを、第4分類情報として取得する。検索クエリと、データベースに格納された内容と、は完全一致又は部分一致が判定されるようにすればよい。
【0165】
また、第4分類情報は、階層構造を有するジャンルを示してもよい。階層構造は、ツリー構造ということもできる。階層が上位であるほど、ジャンルが示す分類が大まかになり、階層が下位であるほど、ジャンルが示す分類が詳細になる。階層が上位であるほど、商品数が多くなり、階層が下位であるほど、商品数が少なくなる。
図12のジャンル「123456」であれば、より上位のジャンルとして「ファッション」を示すジャンルIDが存在する。更に、より下位のジャンルとして「トップス」「ボトムス」「ワンピース」といったジャンルを示すジャンルIDが存在する。
【0166】
ジャンルが階層構造を有する場合、上位のジャンルと下位のジャンルは、原則として1対多の関係にある。ジャンルの階層は、2階層以上であればよく、階層数は、任意であってよい。候補群データベースDB5には、種々の階層のジャンルと、この階層のジャンルに適切なタグ群と、の関係が定義されているものとする。例えば、ジャンルが上位であるほど、その配下に多くの下位ジャンルが存在するので、対応するタグ群が多くなる。ジャンルが下位であるほど、その配下の下位ジャンルが少ない又は存在しないので、対応するタグ群が少なくなる。
【0167】
例えば、有効性推定部206は、第2分類情報と第4分類情報とが対応すると判定された場合に、第2分類情報と対応すると判定された第4分類情報の階層に基づいて、有効性の確度を推定してもよい。例えば、有効性推定部206は、第2分類情報と対応すると判定された第4分類情報の階層が下位であるほど、有効性の確度を高くする。有効性推定部206は、第2分類情報と対応すると判定された第4分類情報の階層が上位であるほど、有効性の確度を低くする。例えば、有効性の確度は、訓練データベースDB3に格納される。第1モデルM1の学習処理では、確度が閾値以上の訓練データのみが利用されてもよいし、確度が高い順に所定数の訓練データが利用されてもよい。
【0168】
変形例8によれば、検索クエリの第2分類情報と、検索クエリの第4分類情報と、が対応するか否かを判定し、当該判定結果に基づいて、検索クエリと第2分類情報の組み合わせの有効性を推定する。これにより、有効性の推定精度が高まる。例えば、計算量が比較的少ない処理によって、有効性を推定できるので、学習サーバ20の処理負荷を軽減し、かつ、有効性を推定する処理を高速化できる。
【0169】
また、処理実行システムSは、第3モデルM3に基づいて、第4分類情報を取得する。これにより、未知の検索クエリ(ページデータベースDB1に格納された商品のタイトルとは異なる文字列の検索クエリ)だったとしても、第4分類情報を推定できる。このため、未知の検索クエリに対して推定された第2分類情報の有効性を推定できるようになる。
【0170】
また、処理実行システムSは、第4分類情報に関する候補ごとに、第2分類情報に関する候補群が関連付けられた候補群データベースDB5に基づいて、第2分類情報が第4分類情報に対応するか否かを判定する。これにより、第2分類情報が第4分類情報に対応するか否かを正確に判定できる。更に、検索クエリの第2分類情報と、検索クエリの第4分類情報と、の組み合わせが候補群データベースDB5に存在するか否かを判定すればよいので、より計算量の少ない処理によって、検索クエリと第2分類情報の組み合わせの有効性を判定できる。このため、学習サーバ20の処理負荷を軽減し、かつ、有効性を推定する処理を高速化できる。
【0171】
また、処理実行システムSは、第2分類情報が示すタグ群と、第4分類情報が示すジャンルと、が対応するか否かを判定する。これにより、電子商取引サービスのように、複数の観点の分類が商品に関連付けられている場合に、これら複数の観点の分類の組み合わせの適否を利用することによって、検索クエリと第2分類情報の組み合わせの有効性を精度よく推定できる。
【0172】
また、処理実行システムSは、第2分類情報と第4分類情報とが対応すると判定された場合に、第2分類情報と対応すると判定された第4分類情報の階層に基づいて、有効性の確度を推定する。これにより、階層構造を利用して、検索クエリと第2分類情報の組み合わせの有効性を精度よく推定できる。
【0173】
[5-9.その他の変形例]
例えば、上記説明した変形例を組み合わせてもよい。
【0174】
例えば、検索サーバ10で実現されるものとして説明した機能は、他のコンピュータで実現されてもよいし、複数のコンピュータで分担されてもよい。学習サーバ20で実現されるものとして説明した機能は、他のコンピュータで実現されてもよいし、複数のコンピュータで分担されてもよい。例えば、データ記憶部100,200に記憶されるものとしたデータは、データベースサーバに記憶されていてもよい。
【要約】
処理実行システム(S)の第2分類情報取得部(202)は、第1データと、当該第1データの分類に関する第1分類情報と、の関係が学習された第1モデルに基づいて、第2データの分類に関する第2分類情報を取得する。有効性推定部(206)は、所定の推定方法に基づいて、第2データ及び第2分類情報の組み合わせに関する有効性を推定する。実行部(207)は、有効性の推定結果に基づいて、所定の処理を実行する。