(57)【要約】  検索システム（１）の検索手段（１０１）は、ユーザにより入力された文字情報をクエリとして、複数のデータ項目が格納されたデータベースを検索する。提供手段（１０２）は、検索手段（１０１）により取得された検索結果のうち、ユーザにより選択されたデータ項目をユーザに提供する。学習手段（１０４）は、ユーザにより選択されたデータ項目の項目情報と、クエリとして用いられた文字情報と、の関係を学習機に学習させる。取得手段（１０６）は、処理対象のデータ項目の項目情報を学習機に入力し、処理対象のデータ項目の特徴情報を学習機から取得する。登録手段（１０７）は、特徴情報を、処理対象のデータ項目に関連付けてデータベースに登録する。
2019176102.tif 000002
【特許請求の範囲】
【請求項１】
ユーザにより入力された文字情報をクエリとして、複数のデータ項目が格納されたデータベースを検索する検索手段と、
前記検索手段により取得された検索結果のうち、前記ユーザにより選択されたデータ項目を前記ユーザに提供する提供手段と、
前記ユーザにより選択されたデータ項目の項目情報と、クエリとして用いられた文字情報と、の関係を学習機に学習させる学習手段と、
処理対象のデータ項目の項目情報を前記学習機に入力し、前記処理対象のデータ項目の特徴情報を前記学習機から取得する取得手段と、
前記特徴情報を、前記処理対象のデータ項目に関連付けて前記データベースに登録する登録手段と、
を含むことを特徴とする検索システム。
【請求項２】
前記取得手段は、前記特徴情報として文字情報を取得し、
前記登録手段は、前記学習機から取得された文字情報を、前記処理対象のデータ項目のインデックスとして前記データベースに登録する、
ことを特徴とする請求項１に記載の検索システム。
【請求項３】
前記項目情報は、第１のインデックスとして定められた文字情報であり、
前記学習手段は、前記ユーザにより選択されたデータ項目の第１のインデックスと、クエリとして用いられた文字情報と、の関係を前記学習機に学習させ、
前記取得手段は、前記処理対象のデータ項目の第１のインデックスを前記学習機に入力し、前記特徴情報としての文字情報を前記学習機から取得し、
前記登録手段は、前記学習機から取得された文字情報を、前記処理対象のデータ項目の第２のインデックスとして前記データベースに登録する、
ことを特徴とする請求項２に記載の検索システム。
【請求項４】
前記検索システムは、前記ユーザにより選択されたデータ項目の項目情報と、クエリとして用いられた文字情報と、の組み合わせを記録する記録手段を更に含み、
前記学習手段は、所定のタイミングが訪れた場合に、前記記録手段により記録された組み合わせに基づいて、前記関係を学習機に学習させる、
ことを特徴とする請求項１〜３の何れかに記載の検索システム。
【請求項５】
前記学習手段は、前記ユーザによりデータ項目が選択されるたびに、前記関係を前記学習機に学習させる、
ことを特徴とする請求項１〜３の何れかに記載の検索システム。
【請求項６】
前記学習手段は、再帰型ニューラルネットワークモデル、長・短期記憶モデル、又はシーケンス変換モデルに基づく前記学習機を生成する、
ことを特徴とする請求項１〜５の何れか１項に記載の検索システム。
【請求項７】
前記検索システムは、前記データベースに新たなデータ項目を追加する追加手段を更に含み、
前記取得手段は、前記新たなデータ項目の項目情報を前記学習機に入力し、前記新たなデータ項目の特徴情報を前記学習機から取得し、
前記登録手段は、前記特徴情報を、前記新たなデータ項目に関連付けて前記データベースに登録する、
ことを特徴とする請求項１〜６の何れか１項に記載の検索システム。
【請求項８】
前記データベースには、データ項目ごとに、第１のインデックスと、前記登録手段により登録された第２のインデックスと、が登録されており、
前記検索手段は、前記第１のインデックスに基づいて第１の検索結果を前記ユーザに提供し、前記第２のインデックスに基づいて第２の検索結果を前記ユーザに提供する、
ことを特徴とする請求項２又は３に記載の検索システム。
【請求項９】
前記データ項目は、商品又はサービスに関するデータ項目であり、
前記検索手段は、前記第１のインデックスに基づいて、商品又はサービスのページを表示させるための第１の検索結果を前記ユーザに提供し、前記第２のインデックスに基づいて、商品又はサービスのクーポンを付与するための第２の検索結果を前記ユーザに提供する、
ことを特徴とする請求項８に記載の検索システム。
【請求項１０】
ユーザにより入力された文字情報をクエリとして、複数のデータ項目が格納されたデータベースを検索する検索ステップと、
前記検索ステップにより取得された検索結果のうち、前記ユーザにより選択されたデータ項目を前記ユーザに提供する提供ステップと、
前記ユーザにより選択されたデータ項目の項目情報と、クエリとして用いられた文字情報と、の関係を学習機に学習させる学習ステップと、
処理対象のデータ項目の項目情報を前記学習機に入力し、前記処理対象のデータ項目の特徴情報を前記学習機から取得する取得ステップと、
前記特徴情報を、前記処理対象のデータ項目に関連付けて前記データベースに登録する登録ステップと、
を含むことを特徴とする検索方法。
【請求項１１】
ユーザにより入力された文字情報をクエリとして、複数のデータ項目が格納されたデータベースを検索する検索手段、
前記検索手段により取得された検索結果のうち、前記ユーザにより選択されたデータ項目を前記ユーザに提供する提供手段、
前記ユーザにより選択されたデータ項目の項目情報と、クエリとして用いられた文字情報と、の関係を学習機に学習させる学習手段、
処理対象のデータ項目の項目情報を前記学習機に入力し、前記処理対象のデータ項目の特徴情報を前記学習機から取得する取得手段、
前記特徴情報を、前記処理対象のデータ項目に関連付けて前記データベースに登録する登録手段、
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索システム、検索方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、ユーザが入力した文字情報をクエリとして、複数のデータ項目が格納されたデータベースを検索する技術が知られている。例えば、特許文献１には、データ項目の一例であるコンテンツからキーワード群を抽出してインデックス化しておき、ユーザがクエリとして入力したキーワードと、インデックス化されたキーワード群と、に基づいてコンテンツの検索を実行し、各コンテンツに対し、キーワード群に対応するメタデータを付与することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２２８５６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記に類する技術としては、検索時に使用されたクエリと、検索結果の中から選択されたコンテンツと、の関係を学習機に学習させ、ユーザが入力したクエリを学習機に入力し、選択される蓋然性の高いコンテンツを学習機から取得して検索結果に含めることも考えられる（想定技術）。しかしながら、この場合、過去に選択されたコンテンツしか学習機に学習されないので、まだユーザによって選択されていないコンテンツ（例えば、新たに追加されたコンテンツ）を検索結果に含ませることができないから、ユーザによって選択されていないコンテンツの検索を、学習機を用いて補助することはできない。【０００５】
本発明は上記課題に鑑みてなされたものであって、その目的は、ユーザによって選択されていないデータ項目であっても、その検索を学習機により補助し、検索精度を高めることが可能な検索システム、検索方法、及びプログラムを提供することである。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る検索システムは、ユーザにより入力された文字情報をクエリとして、複数のデータ項目が格納されたデータベースを検索する検索手段と、前記検索手段により取得された検索結果のうち、前記ユーザにより選択されたデータ項目を前記ユーザに提供する提供手段と、前記ユーザにより選択されたデータ項目の項目情報と、クエリとして用いられた文字情報と、の関係を学習機に学習させる学習手段と、処理対象のデータ項目の項目情報を前記学習機に入力し、前記処理対象のデータ項目の特徴情報を前記学習機から取得する取得手段と、前記特徴情報を、前記処理対象のデータ項目に関連付けて前記データベースに登録する登録手段と、を含むことを特徴とする。【０００７】
本発明に係る検索方法は、ユーザにより入力された文字情報をクエリとして、複数のデータ項目が格納されたデータベースを検索する検索ステップと、前記検索ステップにより取得された検索結果のうち、前記ユーザにより選択されたデータ項目を前記ユーザに提供する提供ステップと、前記ユーザにより選択されたデータ項目の項目情報と、クエリとして用いられた文字情報と、の関係を学習機に学習させる学習ステップと、処理対象のデータ項目の項目情報を前記学習機に入力し、前記処理対象のデータ項目の特徴情報を前記学習機から取得する取得ステップと、前記特徴情報を、前記処理対象のデータ項目に関連付けて前記データベースに登録する登録ステップと、を含むことを特徴とする。【０００８】
本発明に係るプログラムは、ユーザにより入力された文字情報をクエリとして、複数のデータ項目が格納されたデータベースを検索する検索手段、前記検索手段により取得された検索結果のうち、前記ユーザにより選択されたデータ項目を前記ユーザに提供する提供手段、前記ユーザにより選択されたデータ項目の項目情報と、クエリとして用いられた文字情報と、の関係を学習機に学習させる学習手段、処理対象のデータ項目の項目情報を前記学習機に入力し、前記処理対象のデータ項目の特徴情報を前記学習機から取得する取得手段、前記特徴情報を、前記処理対象のデータ項目に関連付けて前記データベースに登録する登録手段、としてコンピュータを機能させる。【０００９】
また、本発明に係る情報記憶媒体は、上記のプログラムが記憶されたコンピュータ読み取り可能な情報記憶媒体である。【００１０】
また、本発明の一態様では、前記取得手段は、前記特徴情報として文字情報を取得し、前記登録手段は、前記学習機から取得された文字情報を、前記処理対象のデータ項目のインデックスとして前記データベースに登録する、ことを特徴とする。【００１１】
また、本発明の一態様では、前記項目情報は、第１のインデックスとして定められた文字情報であり、前記学習手段は、前記ユーザにより選択されたデータ項目の第１のインデックスと、クエリとして用いられた文字情報と、の関係を前記学習機に学習させ、前記取得手段は、前記処理対象のデータ項目の第１のインデックスを前記学習機に入力し、前記特徴情報としての文字情報を前記学習機から取得し、前記登録手段は、前記学習機から取得された文字情報を、前記処理対象のデータ項目の第２のインデックスとして前記データベースに登録する、ことを特徴とする。【００１２】
また、本発明の一態様では、前記検索システムは、前記ユーザにより選択されたデータ項目の項目情報と、クエリとして用いられた文字情報と、の組み合わせを記録する記録手段を更に含み、前記学習手段は、所定のタイミングが訪れた場合に、前記記録手段により記録された組み合わせに基づいて、前記関係を学習機に学習させる、ことを特徴とする。【００１３】
また、本発明の一態様では、前記学習手段は、前記ユーザによりデータ項目が選択されるたびに、前記関係を前記学習機に学習させる、ことを特徴とする。【００１４】
また、本発明の一態様では、前記学習手段は、再帰型ニューラルネットワークモデル、長・短期記憶モデル、又はシーケンス変換モデルに基づく前記学習機を生成する、ことを特徴とする。【００１５】
また、本発明の一態様では、前記検索システムは、前記データベースに新たなデータ項目を追加する追加手段を更に含み、前記取得手段は、前記新たなデータ項目の項目情報を前記学習機に入力し、前記新たなデータ項目の特徴情報を前記学習機から取得し、前記登録手段は、前記特徴情報を、前記新たなデータ項目に関連付けて前記データベースに登録する、ことを特徴とする。【００１６】
また、本発明の一態様では、前記データベースには、データ項目ごとに、第１のインデックスと、前記登録手段により登録された第２のインデックスと、が登録されており、前記検索手段は、前記第１のインデックスに基づいて第１の検索結果を前記ユーザに提供し、前記第２のインデックスに基づいて第２の検索結果を前記ユーザに提供する、ことを特徴とする。【００１７】
また、本発明の一態様では、前記データ項目は、商品又はサービスに関するデータ項目であり、前記検索手段は、前記第１のインデックスに基づいて、商品又はサービスのページを表示させるための第１の検索結果を前記ユーザに提供し、前記第２のインデックスに基づいて、商品又はサービスのクーポンを付与するための第２の検索結果を前記ユーザに提供する、ことを特徴とする。
【発明の効果】
【００１８】
本発明によれば、ユーザによって選択されていないデータ項目であっても、その検索を学習機により補助し、検索精度を高めることが可能になる。
【図面の簡単な説明】
【００１９】
【図１】検索システムの全体構成を示す図である。
【図２】サーバの物理的構成を示す図である。
【図３】オンラインショッピングモールのトップページの一例を示す図である。
【図４】検索結果ページの一例を示す図である。
【図５】商品ページの一例を示す図である。
【図６】検索システムで実現される機能の一例を示す機能ブロック図である。
【図７】商品データベースの一例を示す図である。
【図８】教師データの一例を示す図である。
【図９】商品登録ページの一例を示す図である。
【図１０】学習機から特徴情報が取得される様子を示す図である。
【図１１】教師データ生成処理の一例を示すフロー図である。
【図１２】教師データ生成処理の一例を示すフロー図である。
【図１３】インデックス登録処理の一例を示すフロー図である。
【発明を実施するための形態】
【００２０】
［１．検索システムの全体構成］
以下、本発明に関わる検索システムの実施形態の例を説明する。図１は、検索システムの全体構成を示す図である。図１に示すように、検索システム１は、サーバ１０、ユーザ端末２０、及び店舗端末３０を含み、これらはネットワークＮを介してデータ送受信可能に接続される。なお、図１では、サーバ１０、ユーザ端末２０、及び店舗端末３０の各々を１台ずつ示しているが、これらは複数台あってもよい。
【００２１】
図２は、サーバ１０の物理的構成を示す図である。図２に示すように、サーバ１０は、サーバコンピュータであり、例えば、ＣＰＵ１１、メモリ１２、及び通信インタフェース１３を含み、これらはバス１４で接続されている。ＣＰＵ１１は、メモリ１２に記憶されたプログラムやデータに従って処理を実行する。なお、図２では、ＣＰＵ１１を１つとしているが、サーバ１０は、少なくとも１つのプロセッサを含めばよく、２つ以上のＣＰＵ１１を含んでもよい。メモリ１２は、主記憶部及び補助記憶部を含む。例えば、主記憶部はＲＡＭなどの揮発性メモリであり、補助記憶部は、ハードディスクやフラッシュメモリなどの不揮発性メモリである。通信インタフェース１３は、有線通信又は無線通信用の通信インタフェースであり、例えば、ネットワークを介してデータ通信を行う。
【００２２】
ユーザ端末２０は、ユーザが操作するコンピュータであり、例えば、パーソナルコンピュータ、携帯情報端末（タブレット型コンピュータを含む）、又は携帯電話機（スマートフォンを含む）等である。
【００２３】
店舗端末３０は、店舗の担当者が操作するコンピュータであり、例えば、パーソナルコンピュータ、携帯情報端末（タブレット型コンピュータを含む）、又は携帯電話機（スマートフォンを含む）等である。
【００２４】
なお、メモリ１２に記憶されるものとして説明するプログラム及びデータは、ネットワークを介してサーバ１０に供給されるようにしてもよい。また、サーバ１０のハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、サーバ１０は、コンピュータ読み取り可能な情報記憶媒体を読み取る読取装置（例えば、光ディスクドライブやメモリカードスロット）や外部機器と直接的に接続するための入出力インタフェース（例えば、ＵＳＢ端子）を含んでもよいし、スピーカなどの音声出力装置を含んでもよい。情報記憶媒体に記憶されたプログラムやデータが読取装置又は入出力インタフェースを介して、サーバ１０に供給されるようにしてもよい。
【００２５】
［２．検索システムの概要］
検索システム１は、ユーザがユーザ端末２０から入力した文字情報をクエリとして、複数のデータ項目が格納されたデータベースを検索する。
【００２６】
ユーザ端末２０から入力される文字情報は、少なくとも１つの文字を含む情報である。この文字情報は、クエリとして用いられるので、キーワード又は検索文字列と呼ばれることもある。例えば、文字情報は、１つの単語（検索語）だけを含んでもよいし、複数の単語を含んでもよい。文字情報が複数の単語を含む場合には、複数の単語がスペースで区切られてもよい。この場合、複数の単語は、ＡＮＤ条件で用いられてもよいし、ＯＲ条件で用いられてもよい。また例えば、文字情報は、単語に限られず、文章であってもよいし、文章の一部であってもよい。
【００２７】
データ項目は、検索の対象となるデータの単位であり、例えば、データベースの個々のレコードである。データ項目は、任意の種類のデータであってよく、例えば、ウェブページ、電子書籍、動画、楽曲、又はアプリケーションといったコンテンツであってもよいし、文書ファイル、テキストファイル、画像ファイル、又は音声ファイルといったファイルであってもよい。
【００２８】
本実施形態では、検索システム１をオンラインショッピングモールに適用する場合を説明し、データ項目の一例として、店舗が取り扱う商品の商品ページを説明する。このため、本実施形態で商品ページと記載した箇所は、データ項目と読み替えることができる。例えば、検索システム１は、ユーザがユーザ端末２０から入力した文字情報をクエリとして、種々の商品ページが格納されたデータベースを検索する。
【００２９】
図３は、オンラインショッピングモールのトップページの一例を示す図である。図３に示すように、例えば、ユーザ端末２０がサーバ１０にアクセスすると、オンラインショッピングモールのトップページＰ１がユーザ端末２０に表示される。トップページＰ１では、文字情報、ジャンル（カテゴリ）、又は商品の属性（例えば、色、サイズ）といったクエリを指定可能である。
【００３０】
例えば、ユーザは、トップページＰ１の入力フォームＦ１０から文字情報を入力し、所望の商品ページを検索する。例えば、ユーザが「腕時計  ABC-Watch」といった文字情報を入力して検索すると、検索結果を示す検索結果ページがユーザ端末２０に表示される。
【００３１】
図４は、検索結果ページの一例を示す図である。図４に示すように、検索結果ページＰ２の入力フォームＦ２０には、クエリとして用いられた文字情報が表示される。本実施形態では、当該文字情報に基づいて、商品ページのリストＬ２１を表示させるための検索と、商品のクーポン情報Ｉ２２を表示させるための検索と、の２種類の検索が実行される
【００３２】
例えば、リストＬ２１には、検索でヒットした商品ページへのリンク情報が所定順に並んで表示される。リンク情報は、商品ページの識別情報（例えば、ＵＲＬ）を含み、例えば、商品画像、店舗名、商品タイトル、及び価格といった情報がリストＬ２１に表示される。
【００３３】
商品タイトルは、インターネットショッピングモールにおける店舗が付けた商品名である。商品タイトルは、製品メーカが付けた製品名や型番などであってもよいが、本実施形態では、店舗が自由に商品タイトルを入力できるものとする。このため、同じ製品であったとしても、当該製品を商品として取り扱う店舗によって、商品タイトルの付け方が異なる。
【００３４】
商品タイトルは、少なくとも１つの単語を含み、例えば、複数の単語がスペースで区切られていてもよいし、文章形式で記述されていてもよい。例えば、商品タイトルは、単語、文章、及びカッコなどの記号の組み合わせであってもよい。例えば、商品タイトルは、製品名、型番、ジャンル（カテゴリ）、及び属性（例えば、色、サイズ、産地、素材）といった商品に関する情報を含んでもよいし、「送料無料」、「ポイントアップ」といった店舗のサービスに関する情報を含んでもよい。
【００３５】
クーポン情報Ｉ２２は、検索でヒットしたクーポンの情報であり、例えば、商品画像、店舗名、商品タイトル、及びクーポンの内容と言った情報が表示される。クーポンは、所定の特典を付与するための情報であればよく、例えば、商品を割引価格で購入するための情報であってもよいし、おまけを獲得するための情報であってもよい。ユーザがクーポン情報Ｉ２２を選択すると、クーポンを獲得することができる。一方、ユーザがリストＬ２１内の何れかのリンク情報を選択すると、リンク先の商品ページが表示される。
【００３６】
図５は、商品ページの一例を示す図である。図５に示すように、商品ページＰ３は、商品を購入するためのページであり、例えば、店舗名、商品画像、商品タイトル、価格、及び商品説明が表示される。例えば、ユーザは、商品ページＰ３から商品を買い物かごに入れて購入することもできる。また例えば、ユーザは、再び検索結果ページＰ２に戻って別のリンク情報を選択したり、検索条件を変えて再度検索したりすることもできる。
【００３７】
本実施形態の検索システム１は、複数のユーザの各々の行動を学習機に学習させ、検索結果の一例であるリストＬ２１やクーポン情報Ｉ２２の精度を向上させるようにしている。この点に関し、上述の想定技術は、検索時にクエリとして用いられた文字情報を入力とし、検索結果から選択された商品ページを出力とする学習機であったため、ユーザがまだ選択していないデータ項目の検索を補助することができないという問題が本来的に発生した。これに対し、本実施形態では、この入力−出力の関係を反対にすることで、この想定技術における問題点を解決しているとともに、ユーザによる検索の際に学習機を用いる必要がないため、検索が高速であり、情報処理負荷が極めて小さく、学習機を実現するための性能コストや電力消費が低い有利な特徴を有する。
【００３８】
例えば、ユーザは、所望する商品ページの商品タイトルに含まれている単語を、そのままクエリとして入力するとは限らない。このため、ユーザが入力するクエリは、不正確なクエリといえる。本実施形態の学習機は、ユーザが不正確なクエリを入力しても、所望の商品ページを精度よく検索するために、その不正確なクエリを、現実に使用されたクエリによる結果に基づいて、精度よく予測して出力する。例えば、検索システム１は、商品ページの商品タイトルだけではなく、学習機の出力結果もインデックスとして用いるようにして、ユーザが所望する情報（例えば、クーポン情報Ｉ２２）を提供するようにしている。以降、検索システム１の詳細を説明する。
【００３９】
［３．検索システムで実現される機能］
図６は、検索システム１で実現される機能の一例を示す機能ブロック図である。図６に示すように、検索システム１では、データ記憶部１００、検索部１０１、提供部１０２、記録部１０３、学習部１０４、学習機１０５、追加部１０６、取得部１０７、及び登録部１０８が実現される。本実施形態では、これら各機能がサーバ１０により実現される場合を説明する。
【００４０】
［３−１．データ記憶部］
データ記憶部１００は、メモリ１２を主として実現される。データ記憶部１００は、商品ページの検索に必要なデータを記憶する。ここでは、データ記憶部１００が記憶するデータの一例として、商品データベースＤＢと、教師データＤＴと、について説明する。
【００４１】
図７は、商品データベースＤＢの一例を示す図である。図７に示すように、商品データベースＤＢには、検索対象となる商品ページに関する種々の情報が格納される。商品データベースＤＢは、本発明に係るデータベースの一例である。データベースとしては、データ項目の種類に応じたデータベースを用意すればよく、例えば、データ項目が電子書籍であれば電子書籍のデータベースを用意すればよいし、データ項目が動画であれば動画のデータベースを用意すればよい。
【００４２】
例えば、商品データベースＤＢには、店舗を一意に識別する店舗ＩＤ、商品を一意に識別する商品ＩＤ、商品ページのＵＲＬ、及び商品情報が格納される。商品情報は、商品の内容に関する情報であり、例えば、商品ページに表示させる情報であってもよいし、商品ページの検索時のインデックスとして用いられる情報であってもよい。例えば、商品情報は、商品タイトル、特徴情報、価格、商品説明、商品画像、及びクーポン情報を含む。
【００４３】
図７のデータ格納例では、商品タイトルは、複数の単語がスペースで区切られた形式となっている。例えば、商品タイトルは、インデックスとして用いられる。特徴情報は、登録部１０８により登録された情報であり、詳細は後述する。本実施形態では、特徴情報もインデックスとして用いられる。このため、商品データベースＤＢには、商品ページごとに、第１のインデックス（商品タイトル）と、登録部１０８により登録された第２のインデックス（特徴情報）と、が登録されていることになる。
【００４４】
商品説明は、商品の説明文であり、例えば、商品タイトルよりも情報量（文字数）が多い。例えば、商品タイトルは単語の羅列で記載し、商品説明は文章で記載するといったように、商品タイトルと商品説明の記載形式が予め定められているようにしてもよい。商品説明は、テキストに限られず、例えば、表、動画、音声といった情報を含んでもよい。商品説明は、インデックスとして用いられてもよい。商品画像は、商品の撮影画像であってもよいし、撮影画像を加工した画像であってもよい。なお、商品情報に含まれる情報は、上記の例に限られず、例えば、商品の管理用番号、キャッチコピー、送料、ジャンル、及び属性といった情報が含まれていてもよい。
【００４５】
図８は、教師データＤＴの一例を示す図である。図８に示すように、教師データＤＴは、入力された情報に対して適切な回答を出力できるように学習機１０５を訓練するためのデータである。本実施形態の学習機１０５は、商品タイトルを入力とし、特徴情報を出力とするので、教師データＤＴには、これら入力と出力の関係が示されている。
【００４６】
先述したように、学習機１０５は、ユーザが入力する不正確なクエリを予測して出力する。学習機１０５が出力する特徴情報は、第２のインデックスとなり、クエリに対する検索で用いられる予測クエリ又は想定クエリということができる。例えば、後述する記録部１０３によって、商品タイトルと、現実に使用されたクエリである文字情報と、の組み合わせが教師データＤＴに記録され、後述する学習部１０４によって、教師データＤＴを用いた学習機１０５の学習が行われる。教師データＤＴは、設問と回答が１対１ではない非対称なデータであってよい。
【００４７】
なお、データ記憶部１００に記憶されるデータは、上記の例に限られない。データ記憶部１００は、検索に必要なデータを記憶すればよく、例えば、店舗ＩＤや店舗名などが格納される店舗データベースを記憶してもよい。また例えば、データ記憶部１００は、ユーザの基本情報や獲得したクーポンが格納されるユーザデータベースを記憶してもよい。また例えば、データ記憶部１００は、クエリやインデックス等で用いられる単語を格納した辞書データベースを記憶してもよい。辞書データベースには、インデックス番号と、単語と、が対応付けられて格納される。
【００４８】
［３−２．検索部］
検索部１０１は、ＣＰＵ１１を主として実現される。検索部１０１は、ユーザにより入力された文字情報をクエリとして、複数の商品ページが格納された商品データベースＤＢを検索する。
【００４９】
クエリは、データベースから情報を取り出すための条件である。クエリは、検索条件と呼ばれることもある。本実施形態では、クエリの一例として文字情報を説明するが、クエリは、文字情報に限られず、例えば、ジャンルや属性といった情報がクエリになってもよいし、これらの組み合わせがクエリになってもよい。
【００５０】
例えば、検索部１０１は、ユーザがクエリとして入力した文字情報と、商品データベースＤＢに格納されたインデックスと、に基づいて、商品データベースＤＢを検索する。クエリとインデックスを用いた検索方法自体は、公知の種々の手法を適用可能であり、例えば、クエリと完全一致又は部分一致するインデックスを検索してもよいし、あいまい検索を利用してもよい。あいまい検索自体は、公知の種々のアルゴリズムを適用可能であり、例えば、Bitapアルゴリズムを利用してもよい。
【００５１】
例えば、検索部１０１は、ユーザがクエリとして入力した文字情報と、各商品ページのインデックスと、を所定の計算式に入力して、当該商品ページのスコアを計算する。スコアは、検索の蓋然性を示す値であり、クエリとインデックスの一致度を示す値である。スコアの計算式は、任意に定めてよく、例えば、クエリの特徴ベクトルとインデックスの特徴ベクトルとの距離を利用してもよい。なお、特徴ベクトルは、文字としての特徴量であり、例えば、Word2vecを利用して取得される。検索部１０１は、上記距離が短いほどスコアを高く計算し、上記距離が長いほどスコアを小さく計算してもよい。
【００５２】
例えば、検索部１０１は、各商品ページのスコアに基づいて、検索結果を取得する。検索部１０１は、スコアが高い順に所定数の商品ページを検索結果にヒットさせてもよいし、スコアが閾値以上の商品ページの全てを検索結果にヒットさせてもよい。
【００５３】
本実施形態の商品ページには、第１のインデックスである商品タイトルと、第２のインデックスである特徴情報と、が用意されているので、検索部１０１は、第１のインデックスと第２のインデックスに基づいて、検索を実行する。即ち、検索部１０１は、第１のインデックスと第２のインデックスとの両方を用いて検索結果を取得する。例えば、検索部１０１は、第１のインデックスに基づいて第１の検索結果をユーザに提供し、第２のインデックスに基づいて第２の検索結果をユーザに提供してもよい。
【００５４】
例えば、検索部１０１は、第１のインデックスである商品タイトルに基づいて、商品ページを検索し、第１の検索結果であるリストＬ２１をユーザに提供する。即ち、検索部１０１は、第１のインデックスに基づいて、商品ページを表示させるための第１の検索結果をユーザに提供する。
【００５５】
また例えば、検索部１０１は、第２のインデックスである特徴情報に基づいて、商品のクーポンを検索し、第２の検索結果であるクーポン情報Ｉ２２をユーザに提供する。即ち、検索部１０１は、第２のインデックスに基づいて、商品又はサービスのクーポンを付与するための第２の検索結果をユーザに提供する。
【００５６】
なお、検索部１０１は、第１のインデックスと第２のインデックスの両方に基づいて、リストＬ２１を表示させるための検索を実行してもよい。同様に、検索部１０１は、第１のインデックスと第２のインデックスの両方に基づいて、クーポン情報Ｉ２２を表示させるための検索を実行してもよい。即ち、検索部１０１は、第１のインデックスと第２のインデックスとで異なる検索を実行するのではなく、第１のインデックスと第２のインデックスの両方に基づいて、１つの検索を実行してもよい。
【００５７】
［３−３．提供部］
提供部１０２は、ＣＰＵ１１を主として実現される。提供部１０２は、検索部１０１により取得された検索結果のうち、ユーザにより選択された商品ページをユーザに提供する。ここでの提供とは、例えば、ユーザ端末２０における画像の表示、ユーザ端末２０からの音声の出力、又はユーザ端末２０に対するデータの送信などである。
【００５８】
本実施形態では、データ項目の一例として商品ページを説明するので、提供部１０２は、当該商品ページを表示させるためのデータをユーザ端末２０に送信することによって、商品ページを提供する。このデータとしては、商品ページのＨＴＭＬデータであってもよいし、商品ページのフレームにはめ込む画像やテキストであってもよい。また例えば、商品ページが動画や音声を含むものであれば、当該データは、商品ページ内の動画や音声であってもよい。
【００５９】
例えば、提供部１０２は、ユーザにより選択された商品ページの識別情報（例えば、ＵＲＬ）をユーザ端末２０から受信し、ユーザにより選択された商品ページを特定する。提供部１０２は、商品データベースＤＢを参照し、当該特定した商品ページを表示させるためのデータをユーザ端末２０に送信することになる。
【００６０】
［３−４．記録部］
記録部１０３は、ＣＰＵ１１を主として実現される。記録部１０３は、ユーザにより選択された商品ページの商品情報と、クエリとして用いられた文字情報と、の組み合わせを記録する。当該組み合わせは、データ記憶部１００に記憶されてもよいし、サーバ１０以外のコンピュータ（外部ストレージ）に記憶されてもよい。記録部１０３により記録される商品情報は、本発明に係る項目情報の一例である。
【００６１】
項目情報は、データ項目の内容又は特徴を示す情報である。本実施形態では、商品ページがデータ項目の一例なので、項目情報の一例として商品情報を説明するが、項目情報は、データ項目の種類に応じた情報であればよい。例えば、データ項目が電子書籍であれば、書籍のタイトル、作者、ジャンル、又は要約といった情報であってもよい。また例えば、データ項目が動画であれば、動画のタイトル、制作者、ジャンル、又は概略といった情報であってもよい。なお、項目情報は、インデックスとして用いられる情報であってもよいし、特にインデックスとして用いられない情報であってもよい。
【００６２】
本実施形態では、商品情報に含まれる情報のうち、商品タイトルを項目情報の一例として説明する。このため、本実施形態で商品タイトルと記載した箇所は、項目情報と読み替えることができる。
【００６３】
例えば、記録部１０３は、ユーザにより選択された商品ページの商品タイトルと、クエリとして用いられた文字情報と、の組み合わせを教師データＤＴに記録する。なお、記録部１０３は、これらの組み合わせを任意のデータに記録すればよく、教師データＤＴ以外のデータに記録してもよい。この場合、当該データに基づいて教師データＤＴが生成されることになる。
【００６４】
なお、組み合わせを記録するとは、複数の情報を関連付けて格納することであり、同じレコードに複数の情報を格納することである。また、記録部１０３は、商品タイトル以外の情報を項目情報として記録してもよく、例えば、商品説明やキャッチコピーなどの情報を項目情報として記録してもよい。記録部１０３が記録する情報は、学習機１０５に入力させる情報と、学習機１０５から出力される情報と、の組み合わせに基づいて定めればよい。
【００６５】
［３−５．学習部，学習機］
学習部１０４は、ＣＰＵ１１を主として実現される。学習部１０４は、ユーザにより選択された商品ページの商品タイトルと、クエリとして用いられた文字情報と、の関係を学習機１０５に学習させる。本実施形態では、図８のような教師データＤＴが用意されているので、学習部１０４は、教師データＤＴに基づいて学習機１０５を学習させる。
【００６６】
本実施形態の学習機１０５は、不定長の入力となる商品タイトルに対して、不定長の出力となる特徴情報を出力するため、機械学習アルゴリズムとして、再帰型ニューラルネットワークを利用している。本実施形態では、再帰型ニューラルネットワークの中でも、長・短期記憶セルを用いたシーケンス変換モデルを採用している。このため、学習部１０４は、再帰型ニューラルネットワークモデル、長・短期記憶モデル、又はシーケンス変換モデルに基づく学習機１０５を生成することになる。なお、機械学習アルゴリズムは、同等の機能が実現できるモデルであれば他のモデルであってもよく、例えば、ＧＲＵ（Ｇａｔｅｄ  Ｒｅｃｕｒｒｅｎｔ  Ｕｎｉｔ）モデル等であってもよい。
【００６７】
本実施形態では、商品タイトルを項目情報の一例として説明し、商品タイトルは、商品ページを検索するための第１のインデックスとして定められた文字情報なので、学習部１０４は、ユーザにより選択された商品ページの第１のインデックスと、クエリとして用いられた文字情報と、の関係を学習機１０５に学習させることになる。学習機１０５の学習方法自体は、公知の種々の手法を適用可能であり、例えば、ＢＰＴＴ(Ｂａｃｋ−Ｐｒｏｐａｇａｔｉｏｎ  Ｔｈｒｏｕｇｈ  Ｔｉｍｅ)法を利用してもよいし、ＲＴＲＬ(Ｒｅａｌ−Ｔｉｍｅ  Ｒｅｃｕｒｒｅｎｔ  Ｌｅａｒｎｉｎｇ)法を利用してもよい。
【００６８】
なお、学習機１０５を学習させるタイミングは任意であってよく、学習部１０４は、所定のタイミングが訪れた場合に、記録部１０３により記録された組み合わせに基づいて、上記関係を学習機１０５に学習させる。所定のタイミングは、検索システム１の管理者がサーバ１０に対し所定の要求を送信したタイミングであってもよいし、バッチファイル等に定められた所定日時が到来することであってもよい。学習部１０４は、管理者からの所定の要求を受信したか否かを判定したり、所定日時が到来したか否かを判定したりすることによって、所定のタイミングが訪れたか否かを判定すればよい。
【００６９】
［３−６．追加部］
追加部１０６は、ＣＰＵ１１を主として実現される。追加部１０６は、商品データベースＤＢに新たな商品ページを追加する。本実施形態では、店舗端末３０において所定の登録操作が行われた場合に、追加部１０６は、商品データベースＤＢに新たな商品ページを追加する。例えば、登録操作は、店舗端末３０に表示される商品登録ページから行われる。
【００７０】
図９は、商品登録ページの一例を示す図である。図９に示すように、商品登録ページＰ４には、商品タイトルを入力するための入力フォームＦ４０、価格を入力するための入力フォームＦ４１、商品の説明文を入力するための入力フォームＦ４２、及び商品画像を入力するための入力フォームＦ４３が表示される。
【００７１】
なお、商品登録ページＰ４から入力される情報は、これらに限られず、商品ページのＵＲＬ、クーポン情報、商品の管理用番号、キャッチコピー、送料、ジャンル、及び属性といった情報を入力可能であってよい。
【００７２】
例えば、店舗の担当者が、店舗端末３０を操作して商品ページに関する種々の情報を入力してボタンＢ４４を選択すると、店舗端末３０からサーバ１０に対し、当該情報が送信される。追加部１０６は、受信した当該情報を商品データベースＤＢに格納することによって、新たな商品ページを追加する。
【００７３】
［３−７．取得部］
取得部１０７は、ＣＰＵ１１を主として実現される。取得部１０７は、処理対象の商品ページの項目情報（本実施形態では、商品タイトル）を学習機１０５に入力し、処理対象の商品ページの特徴情報を学習機１０５から取得する。
【００７４】
処理対象の商品ページとは、特徴情報の取得対象となる商品ページであり、学習機１０５に項目情報が入力される商品ページである。処理対象の商品ページは、自動的に決定されてもよいし、管理者の操作に基づいて決定されてもよい。例えば、商品データベースＤＢに登録された商品ページのうち、まだ特徴情報が登録されていない商品ページが処理対象の商品ページとなってもよいが、本実施形態では、追加部１０６により追加される新たな商品ページが処理対象の商品ページに相当する場合を説明する。
【００７５】
特徴情報は、データ項目の特徴を示す情報である。例えば、特徴情報は、インデックスとして用いられる情報であってもよいし、特にインデックスとして用いられない情報であってもよい。また例えば、学習機１０５から出力される文字情報を特徴情報としてもよいし、学習機１０５の内部計算で得られる情報を特徴情報としてもよい。
【００７６】
本実施形態では、取得部１０７は、特徴情報として、学習機１０５から出力される文字情報を取得する場合を説明する。学習機１０５から出力される文字情報は、単語（１又は複数の文字）そのものであってもよいし、単語に関する情報であってもよい。単語に関する情報とは、単語を特定可能な情報であり、単語と１対１で対応付けられた情報である。例えば、単語に関する情報は、単語に割り当てられたインデックス番号であってもよいし、単語の特徴を示す特徴量であってもよい。インデックス番号は、種々の単語を格納した辞書データベースにおいて単語を一意に識別する番号である。特徴量は、単語の特徴を示す数値であり、例えば、Ｗｏｒｄ２ｖｅｃにおけるベクトル情報である。学習機１０５から出力される文字情報は、現実に用いられたクエリから予測した情報なので、文字情報は、学習機１０５から出力される予測クエリリスト又は想定クエリリストということもできる。
【００７７】
図１０は、学習機１０５から特徴情報が取得される様子を示す図である。図１０に示すように、ここでは、再帰型ニューラルネットワークを例に挙げて説明する。本実施形態の学習機１０５は、長・短期記憶セルによる再帰型ニューラルネットワークを用いたシーケンス変換モデルであり、長・短期記憶セルは、エンコーダＥとデコーダＤが用意されている。
【００７８】
なお、長・短期記憶セル自体の構成は公知のため、その詳細の説明は省略する。また、図１０では、長・短期記憶セルを単ブロックとして記載しているが、長・短期記憶セルは多層の構成としてもよい。層数は多いほど出力精度は向上するが計算量が増大するので、実用上十分な精度が得られる程度の総数とするために、例えば、２〜８層程度であってもよい。
【００７９】
図１０では、学習機１０５を単方向ネットワークとして構築しているが、これを双方向ネットワークとしてもよい。学習機１０５は、公知の計算機プログラミングライブラリ、例えばＧｏｏｇｌｅ社から提供される「ＴｅｎｓｏｒＦｌｏｗ」や、Ｐｒｅｆｅｒｒｅｄ  Ｎｅｔｗｏｒｋｓ社から提供される「Ｃｈａｉｎｅｒ」を利用して構築してよい。
【００８０】
図１０における水平方向は、時間ステップを意味しており、左方向から右方向へと手順が進行していることを意味している。本実施形態では、商品タイトルは複数の単語を含むので、取得部１０７は、商品タイトルを個々の単語に分割し、エンコーダＥに対して、各単語を１つずつ入力する。なお、商品タイトルは、スペースの位置で個々の単語に分割されるようにすればよい。
【００８１】
例えば、学習機１０５に対し、商品タイトル「腕時計  ABC-Watch  ABC  メンズ  ブラック  a1234567」が入力されたとすると、取得部１０７は、「腕時計」、「ABC-Watch」、「ABC」、「メンズ」、「ブラック」、「a1234567」の６つの単語に分割し、これら６つの単語を順番に入力する。例えば、取得部１０７は、エンコーダＥに対し、各単語の特徴量（例えば、先述した特徴ベクトル）を入力する。
【００８２】
例えば、学習機１０５は、エンコーダＥに入力された単語に基づいて、内部ベクトルｃｔを計算して順番に記録する。内部ベクトルｃｔは、エンコーダＥの隠れ層における内部状態を示す。内部ベクトルｃｔの次数は、任意であり、長・短期記憶セルの層数にも依存するが、１００〜１０００次元程度としてよい。学習機１０５は、単語の入力ごとに次のステップへと内部ベクトルｃｔを受け渡し、商品タイトルに含まれる全ての単語の入力が終わった時点で、内部ベクトルｃｎが得られる。
【００８３】
学習機１０５は、内部ベクトルｃｎをデコーダＤへと受け渡し、デコーダＤに対し、特別な予約語である入力＜ｇｏ＞を入力する。この予約語は、デコーダＤによる出力の開始を指示するものであり、固定値が割り当てられている。入力＜ｇｏ＞が入力されると、デコーダＤは単語を出力し、内部ベクトルは、ｃｎ＋１へと変化する。出力された単語は、次のステップにおけるデコーダＤへの入力に用いられ、内部ベクトルｃｎ＋１は次のステップにおけるデコーダＤの内部状態として使用される。
【００８４】
図１０の例では、入力＜ｇｏ＞が入力されたデコーダＤは、「腕時計」という単語を出力し、内部ベクトルは、ｃｎ＋１へと変化する。出力された「腕時計」という単語は、次のステップにおけるデコーダＤへの入力に用いられる。当該次のステップにおけるデコーダＤは、「腕時計メンズ」という単語を出力し、内部ベクトルは、ｃｎ＋２へと変化する。このようにして、学習機１０５は、単語の出力及び内部ベクトルｃｔを順次次のステップに受け渡していきながら、デコーダＤが特別な予約語である出力＜ｅｏｓ＞を出力するまで繰り返し実行する。この予約語は、デコーダＤによる出力の終了を意味するものであり、固定値が割り当てられている。
【００８５】
以上のようにして得られる少なくとも１つの単語が最終的な学習機１０５の出力結果となる。取得部１０７は、学習機１０５から出力された当該少なくとも１つの単語を特徴情報として取得する。例えば、取得部１０７は、デコーダＤが出力した複数の単語をスペースでつないで特徴情報としてもよいし、複数の単語をリスト状にしたものを特徴情報としてもよい。
【００８６】
学習機１０５の動作は以上の通りであり、学習部１０４が学習機１０５に機械学習をさせる際には、教師データＤＴを用いて、エンコーダＥ及びデコーダＤの内部パラメータを変更する。例えば、学習部１０４は、商品タイトルを入力とし、クエリとして用いられた文字情報を出力として、出力の前に予約語＜ｇｏ＞を、後に予約語＜ｅｏｓ＞を付加して、ＢＰＴＴ法等によりエンコーダＥ及びデコーダＤの内部パラメータを変更する。この機械学習法の詳細については公知であるため、その詳細は本明細書では割愛する。
【００８７】
なお、以上の説明では、学習機１０５は、長・短期記憶セルを用いたモデルを用いているが、これ以外のセル、例えば、ＧＲＵセル等を用いるものであってもよい。また例えば、ＢｅａｍＳｅａｒｃｈのような探索アルゴリズムを利用して特徴情報が取得されてもよい。また例えば、長・短期記憶セルの構造は公知の任意のものでよく、ピープホールメカニズムやアテンションベクトルの有無は任意である。また、フォーゲットゲートも必須の構成ではないが、フォーゲットゲートを備えたモデルの方が精度の高い結果が得られるようである。また、上記の説明では省略したが、学習機１０５は、単語とともに、蓋然性を示すスコアを出力してもよい。更に、取得部１０７は、スコアが閾値以上の単語のみを特徴情報として取得してもよい。
【００８８】
本実施形態では、学習機１０５に入力される商品タイトルは第１のインデックスとして用いられるので、取得部１０７は、処理対象の商品ページの第１のインデックスを学習機１０５に入力し、特徴情報としての文字情報を学習機１０５から取得することになる。
【００８９】
また例えば、本実施形態では、商品ページが新たに追加される場合に特徴情報が取得されるので、取得部１０７は、新たな商品ページの項目情報を学習機１０５に入力し、新たな商品ページの特徴情報を学習機１０５から取得することになる。
【００９０】
なお、特徴情報は、商品ページが新たに追加される場合ではなく、トレンド変化に対応するために、定期的に更新されるようにしてもよい。例えば、ユーザがどのようなクエリを入力するかは、時期によって変わることがあり、商品ページに関連付けられた特徴情報が古くなると、最新のトレンドに適合しないものとなる可能性がある。このため、取得部１０７は、既に特徴情報が関連付けられた商品ページであったとしても、定期的に、当該特徴情報を更新してもよい。
【００９１】
例えば、商品データベースＤＢに、特徴情報が関連付けられた日時を格納しておき、取得部１０７は、当該日時から一定期間が経過した商品ページについては、最新の学習機１０５から特徴情報を取得しなおして、特徴情報が更新されてもよい。また例えば、特徴情報が関連付けられた日時を格納しておくのではなく、取得部１０７は、一定期間が経過するたびに、全商品ページについて、最新の学習機１０５から特徴情報を取得しなおして、特徴情報が更新されてもよい。また例えば、特徴情報は、不定期的に更新されてもよく、例えば、システム管理者の指示を受け付けた場合に、取得部１０７は、最新の学習機１０５から特徴情報を取得しなおして、特徴情報が更新されてもよい。また例えば、店舗の担当者が商品ページの商品タイトルを修正することも考えられるので、取得部１０７は、商品タイトルが修正された場合に、最新の学習機１０５から特徴情報を取得しなおして、特徴情報が更新されてもよい。
【００９２】
［３−８．登録部］
登録部１０８は、ＣＰＵ１１を主として実現される。登録部１０８は、特徴情報を、処理対象の商品ページに関連付けて商品データベースＤＢに登録する。登録部１０８は、商品データベースＤＢのうち、処理対象の商品ページのレコードに、取得部１０７により取得された特徴情報を格納する。
【００９３】
本実施形態では、特徴情報はインデックスとして用いられるので、登録部１０８は、学習機１０５から取得された文字情報を、処理対象の商品ページのインデックス（例えば、第２のインデックス）としてデータベースに登録することになる。また例えば、本実施形態では、新たな商品ページが処理対象の商品ページの一例である場合を説明するので、登録部１０８は、特徴情報を、新たな商品ページに関連付けてデータベースに登録することになる。
【００９４】
［４．検索システムで実行される処理］
次に、検索システム１で実行される処理について説明する。ここでは、処理の一例として、ユーザの行動をもとに教師データＤＴを生成する教師データ生成処理と、学習機１０５を利用して商品ページのインデックスを登録するインデックス登録処理と、を説明する。
【００９５】
［４−１．教師データ生成処理］
図１１−図１２は、教師データ生成処理の一例を示すフロー図である。図１１−図１２に示す処理は、ＣＰＵ１１がメモリ１２に記憶されたプログラムに従って動作し、ユーザ端末２０が自身に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図６に示す機能ブロックにより実行される処理の一例である。
【００９６】
図１１に示すように、まず、ユーザ端末２０は、サーバ１０に対し、トップページＰ１の表示要求を送信する（Ｓ１０１）。例えば、トップページＰ１の表示要求は、トップページＰ１のＵＲＬが選択されたり、所定のアプリケーションが起動したりした場合に送信される。
【００９７】
サーバ１０においては、表示要求を受信すると、ＣＰＵ１１は、トップページＰ１の表示データをユーザ端末２０に送信する（Ｓ１０２）。なお、トップページＰ１の表示データは、メモリ１２に予め記憶されているものとする。表示データとしては、ＨＴＭＬデータであってもよいし、フレームにはめ込む画像やテキストであってもよい。この点は、以降の説明で表示データと記載した箇所についても同様である。
【００９８】
ユーザ端末２０は、表示データを受信すると、トップページＰ１を表示させる（Ｓ１０３）。以降、ユーザは、ユーザ端末２０から、好きな検索条件を入力することができる。ここでは、ユーザが、入力フォームＦ１０にクエリとして用いられる文字情報を入力する場合を説明する。
【００９９】
ユーザ端末２０は、入力フォームＦ１０に入力された文字情報をクエリとする検索要求を送信する（Ｓ１０４）。Ｓ１０４においては、ユーザ端末２０は、ユーザが入力した文字情報を入力フォームＦ１０に反映し、検索の実行を指示するための所定の操作が行われた場合に検索要求を送信する。検索要求には、入力フォームＦ１０にユーザが入力した文字情報が含まれるものとする。
【０１００】
サーバ１０においては、検索要求を受信すると、ＣＰＵ１１は、ユーザが入力した文字情報をクエリとし、商品タイトルをインデックスとして、商品データベースＤＢを検索する（Ｓ１０５）。Ｓ１０５においては、ＣＰＵ１１は、先述したようなあいまい検索を実行し、検索結果を取得する。
【０１０１】
ＣＰＵ１１は、商品データベースＤＢに基づいて、Ｓ１０５の検索でヒットした商品ページのリンク情報を取得する（Ｓ１０６）。Ｓ１０６においては、ＣＰＵ１１は、検索結果にヒットした商品ページの店舗名、商品タイトル、価格、商品画像、及びＵＲＬといった情報に基づいて、リストＬ２１に埋め込むリンク情報を取得する。
【０１０２】
ＣＰＵ１１は、ユーザが入力した文字情報をクエリとし、特徴情報をインデックスとして、商品データベースＤＢを検索する（Ｓ１０７）。Ｓ１０７における検索方法自体は、Ｓ１０５と同じであってよいが、インデックスとして特徴情報が用いられる点でＳ１０５とは異なる。
【０１０３】
ＣＰＵ１１は、商品データベースＤＢに基づいて、Ｓ１０７の検索でヒットした商品のクーポン情報Ｉ２２を取得する（Ｓ１０８）。Ｓ１０８においては、ＣＰＵ１１は、検索結果にヒットした商品の店舗ＩＤ、商品ＩＤ、店舗名、商品タイトル、商品画像、及びクーポンの内容に基づいて、クーポン情報Ｉ２２を取得する。
【０１０４】
ＣＰＵ１１は、Ｓ１０６で取得したリンク情報と、Ｓ１０８で取得したクーポン情報Ｉ２２と、に基づいて、検索結果ページＰ２の表示データをユーザ端末２０に送信する（Ｓ１０９）。
【０１０５】
ユーザ端末２０は、表示データを受信すると、検索結果ページＰ２を表示させる（Ｓ１１０）。検索結果ページＰ２が表示されると、ユーザは、リストＬ２１内のリンク情報を選択する操作、又は、クーポン情報Ｉ２２を選択する操作をすることができる。
【０１０６】
図１２に移り、ユーザ端末２０は、ユーザの操作を特定する（Ｓ１１１）。ユーザがリストＬ２１内のリンク情報を選択した場合（Ｓ１１１；リンク情報）、ＣＰＵ１１は、サーバ１０に対し、ユーザにより選択されたリンク情報が示す商品ページの表示要求を送信する（Ｓ１１２）。表示要求には、表示させる商品ページの識別情報（例えば、ＵＲＬ）が含まれるものとする。
【０１０７】
サーバ１０においては、表示要求を受信すると、ＣＰＵ１１は、商品データベースＤＢに基づいて、商品ページＰ３の表示データをユーザ端末２０に送信する（Ｓ１１３）。Ｓ１１３においては、ＣＰＵ１１は、表示要求に含まれる識別情報が示す商品ページＰ３のＨＴＭＬデータ等を送信する。
【０１０８】
ＣＰＵ１１は、ユーザにより選択された商品ページの商品タイトルと、ユーザにより入力されたクエリと、の組み合わせを教師データＤＴに記録する（Ｓ１１４）。Ｓ１１４においては、ＣＰＵ１１は、商品データベースＤＢを参照し、ユーザにより選択された商品ページの商品タイトルを特定する。そして、ＣＰＵ１１は、当該特定した商品タイトルと、Ｓ１０５において受信したクエリの文字情報と、の組み合わせを教師データＤＴに記録する。
【０１０９】
ユーザ端末２０は、表示データを受信すると、商品ページＰ３を表示させ（Ｓ１１５）、本処理は終了する。なお、ユーザがトップページＰ１に戻る操作をした場合には、Ｓ１０１に戻り、ユーザが検索結果ページＰ２に戻る操作をした場合には、Ｓ１１１の処理に戻る。
【０１１０】
一方、Ｓ１１１において、ユーザがクーポン情報Ｉ２２を選択した場合（Ｓ１１１；クーポン情報）、ＣＰＵ１１は、サーバ１０に対し、ユーザにより選択されたクーポン情報Ｉ２２の獲得要求を送信する（Ｓ１１６）。獲得要求には、獲得対象のクーポンの識別情報（例えば、商品ＩＤ）が含まれるものとする。
【０１１１】
サーバ１０においては、取得要求を受信すると、ＣＰＵ１１は、ユーザがクーポンを獲得する処理を実行する（Ｓ１１７）。Ｓ１１７においては、ユーザが選択したクーポン情報Ｉ２２の識別情報を、ユーザＩＤに関連付けることによって、ユーザにクーポンを獲得させる。
【０１１２】
ＣＰＵ１１は、学習機１０５を学習させる所定のタイミングが訪れたか否かを判定する（Ｓ１１８）。Ｓ１１８においては、例えば、ＣＰＵ１１は、検索システム１の管理者からの所定の要求を受信したか否かを判定したり、所定の日時が訪れたか否かを判定したりする。
【０１１３】
所定のタイミングが訪れたと判定された場合（Ｓ１１８；Ｙ）、ＣＰＵ１１は、教師データＤＴに基づいて学習機１０５を学習させる（Ｓ１１９）。Ｓ１１９においては、ＣＰＵ１１は、ＢＰＴＴ法等を利用して、学習機１０５のエンコーダＥ及びデコーダＤの内部パラメータを変更する。一方、所定のタイミングが訪れたと判定されない場合（Ｓ１１８；Ｎ）、本処理は終了する。
【０１１４】
［４−２．インデックス登録処理］
図１３は、インデックス登録処理の一例を示すフロー図である。図１３に示す処理は、ＣＰＵ１１がメモリ１２に記憶されたプログラムに従って動作し、店舗端末３０が自身に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図６に示す機能ブロックにより実行される処理の一例である。
【０１１５】
図１３に示すように、まず、店舗端末３０は、サーバ１０に対し、商品登録ページＰ４の表示要求を送信する（Ｓ２０１）。例えば、商品登録ページＰ４の表示要求は、所定のログイン処理が実行された後に、店舗の担当者が商品登録ページＰ４のリンクを選択する操作をした場合に送信される。
【０１１６】
サーバ１０においては、表示要求を受信すると、ＣＰＵ１１は、商品登録ページＰ４の表示データをユーザ端末２０に送信する（Ｓ２０２）。商品登録ページＰ４のＨＴＭＬデータ等は、予めメモリ１２に記憶されているものとする。
【０１１７】
店舗端末３０は、表示データを受信すると、商品登録ページＰ４を表示させる（Ｓ２０３）。商品登録ページＰ４が表示されると、ユーザは、入力フォームＦ４０〜Ｆ４４等から商品情報やＵＲＬなどの情報を入力したり、ボタンＢ４５の選択をしたりすることができる。
【０１１８】
店舗端末３０は、入力フォームＦ４０〜Ｆ４４等に入力された商品情報等の登録要求を送信する（Ｓ２０４）。登録要求には、商品登録ページＰ４に入力された情報が含まれるものとする。
【０１１９】
サーバ１０においては、登録要求を受信すると、ＣＰＵ１１は、受信した情報に基づいて、商品ページを商品データベースＤＢに追加する（Ｓ２０５）。Ｓ２０５においては、ＣＰＵ１１は、商品データベースＤＢに新たなレコードを生成し、当該レコードに商品情報やＵＲＬなどを格納する。
【０１２０】
ＣＰＵ１１は、入力フォームＦ４０に入力された商品タイトルを学習機１０５に入力する（Ｓ２０６）。Ｓ２０６においては、ＣＰＵ１１は、商品タイトルを複数の単語に分割し、各単語を順番に学習に入力する。この流れは、図１０を参照して説明した通りである。
【０１２１】
ＣＰＵ１１は、学習機１０５から出力された特徴情報を取得して商品データベースＤＢに登録し（Ｓ２０７）、本処理は終了する。Ｓ２０７においては、ＣＰＵ１１は、学習機１０５から出力された複数の単語を特徴情報として商品データベースＤＢに登録する。以降、当該登録された特徴情報は、検索時にインデックスとして用いられることになる。
【０１２２】
以上説明した検索システム１によれば、商品ページの商品タイトルを学習機１０５に入力すると、過去にクエリとして使用された文字情報が出力され、当該文字情報が商品ページに関連付けられて登録されるので、まだ選択されていない商品ページであっても、その検索を学習機１０５により補助し、検索精度を高めることができる。また例えば、従来技術として説明したクエリに対して商品ページを返す学習機１０５は、検索のたびに学習機１０５の処理を実行する必要があるので、サーバ１０による高速な応答が困難であるが、検索システム１は、事前に特徴情報が登録されており、検索のたびに学習機１０５の処理を実行する必要がなく、検索結果を返す処理を高速化することができる。
【０１２３】
また、学習機１０５から出力された文字情報をインデックスとして利用することで、検索の精度を高めることができる。例えば、実施形態のように、店舗が商品タイトルを自由に入力する場合には、適切なインデックスが商品ページに登録されない可能性がある。この点、検索システム１は、過去にユーザが実際に入力した文字情報（クエリリスト）がインデックスとして登録されるので、適切なインデックスを登録することができる。
【０１２４】
また、第１のインデックスとして利用される商品タイトルを学習機１０５に入力し、学習機１０５から取得された文字情報を第２のインデックスとすることで、商品ページのインデックスのバリエーションを増やすことができ、検索の精度を効果的に高めることができる。
【０１２５】
また、ユーザにより選択された商品ページの商品タイトルと、クエリとして用いられた文字情報と、の組み合わせを教師データＤＴに記録しておき、所定のタイミングが訪れた場合に教師データＤＴに基づく学習機１０５の学習が行われることで、サーバ１０の処理負荷を軽減することができる。
【０１２６】
また、再帰型ニューラルネットワークモデル、長・短期記憶モデル、又はシーケンス変換モデルに基づく学習機１０５を利用することで、不定長の商品タイトルが入力されたとしても、不定長の特徴情報を出力することができる。また、語順に応じた特徴情報を出力することができる。
【０１２７】
また、新たな商品ページが追加される場合に、当該新たな商品ページが学習機１０５に入力されるので、新たな商品ページに対して、学習機１０５から出力された文字情報を関連付けて登録することができる。
【０１２８】
また、商品ページの第１のインデックスである商品タイトルに基づいて第１の検索結果を提供し、第２のインデックスである特徴情報に基づいて第２の検索結果を提供することで、ユーザに多様な情報を提供することができる。
【０１２９】
また、商品ページの第１のインデックスである商品タイトルに基づいて、商品ページを表示させるためのリストＬ２１を提供し、第２のインデックスである特徴情報に基づいてクーポン情報Ｉ２２を提供することで、ユーザに多様な情報を提供することができる。
【０１３０】
［５．変形例］
なお、本発明は、以上に説明した実施形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
【０１３１】
例えば、実施形態では、所定のタイミングが訪れた場合に学習機１０５の学習が実行される場合を説明したが、学習部１０４は、ユーザにより商品ページが選択されるたびに、実施形態で説明した関係を学習機１０５に学習させてもよい。この場合、ユーザが選択した商品ページの商品タイトルと、クエリとして用いられた文字情報と、の組み合わせを蓄積しておいて一度に学習させるのではなく、学習部１０４は、ユーザにより商品ページが選択された場合に、その都度、学習機１０５の学習を実行してもよい。
【０１３２】
上記変形例によれば、ユーザにより商品ページが選択されるたびに、随時学習機１０５に学習させることで、学習機１０５の精度を高めることができる。
【０１３３】
また例えば、実施形態では、データ項目が商品に関する商品ページである場合を説明したが、データ項目はサービスに関するページであってもよい。この場合、検索部１０１は、サービスに関するページを表示させるための検索結果をユーザに提供してもよいし、サービスのクーポンを付与するための検索結果をユーザに提供してもよい。サービスは、任意の内容であってよく、例えば、旅行予約サービス、保険申し込みサービス、又は金融サービスと言った任意のサービスに関するページを表示させる場合に、実施形態で説明したような処理が行われてもよい。
【０１３４】
また例えば、実施形態では、登録部１０８により登録された特徴情報がインデックスとして利用される場合を説明したが、特徴情報は、特にインデックスとして利用されなくてもよい。例えば、類似する商品ページ同士を関連付けるために特徴情報が利用されてもよい。この場合、例えば、特徴情報が示す文字情報が似ている商品ページ同士を関連付けておき、ユーザが選択した商品ページを表示させる場合に、似た商品ページへのリンクをリコメンドとして表示させてもよい。また例えば、学習機１０５から出力される蓋然性を特徴情報として利用し、蓋然性の値が近い商品ページ同士を関連付けておいてもよい。
【０１３５】
また例えば、検索システム１の各機能のうち、検索部１０１、提供部１０２、学習部１０４、取得部１０７、及び登録部１０８以外の機能は省略してもよい。例えば、データ１００は、検索システム１に含まれている必要はなく、データベースサーバによって実現されてもよい。また例えば、サーバ１０で実現されるものとして説明した機能は、ユーザ端末２０と店舗端末３０との間で分担されるようにしてもよい。
【図１】
2019176102.tif 000003
【図２】
2019176102.tif 000004
【図３】
2019176102.tif 000005
【図４】
2019176102.tif 000006
【図５】
2019176102.tif 000007
【図６】
2019176102.tif 000008
【図７】
2019176102.tif 000009
【図８】
2019176102.tif 000010
【図９】
2019176102.tif 000011
【図１０】
2019176102.tif 000012
【図１１】
2019176102.tif 000013
【図１２】
2019176102.tif 000014
【図１３】
2019176102.tif 000015
【手続補正書】
【提出日】平成31年1月24日(2019.1.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ユーザにより入力された文字情報をクエリとして、複数のデータ項目が格納されたデータベースを検索する検索手段と、
前記検索手段により取得された検索結果のうち、前記ユーザにより選択されたデータ項目を前記ユーザに提供する提供手段と、
前記ユーザにより選択されたデータ項目の第１のインデックスとして定められた文字情報と、クエリとして用いられた文字情報と、の関係を学習機に学習させる学習手段と、
処理対象のデータ項目の第１のインデックスを前記学習機に入力し、前記処理対象のデータ項目の文字情報を前記学習機から取得する取得手段と、
前記学習機から取得された文字情報を、前記処理対象のデータ項目の第２のインデックスとして前記データベースに登録する登録手段と、
を含むことを特徴とする検索システム。
【請求項２】
（削除）
【請求項３】
（削除）
【請求項４】
前記検索システムは、前記ユーザにより選択されたデータ項目の第１のインデックスと、クエリとして用いられた文字情報と、の組み合わせを記録する記録手段を更に含み、
前記学習手段は、所定のタイミングが訪れた場合に、前記記録手段により記録された組み合わせに基づいて、前記関係を学習機に学習させる、
ことを特徴とする請求項１に記載の検索システム。
【請求項５】
前記学習手段は、前記ユーザによりデータ項目が選択されるたびに、前記関係を前記学習機に学習させる、
ことを特徴とする請求項１又は４に記載の検索システム。
【請求項６】
前記学習手段は、再帰型ニューラルネットワークモデル、長・短期記憶モデル、又はシーケンス変換モデルに基づく前記学習機を生成する、
ことを特徴とする請求項１、４、又は５に記載の検索システム。
【請求項７】
前記検索システムは、前記データベースに新たなデータ項目を追加する追加手段を更に含み、
前記取得手段は、前記新たなデータ項目の第１のインデックスを前記学習機に入力し、前記新たなデータ項目の文字情報を前記学習機から取得し、
前記登録手段は、前記学習機から取得された文字情報を、前記新たなデータ項目に関連付けて前記データベースに登録する、
ことを特徴とする請求項１、４、５、又は６に記載の検索システム。
【請求項８】
前記データベースには、データ項目ごとに、第１のインデックスと、前記登録手段により登録された第２のインデックスと、が登録されており、
前記検索手段は、前記第１のインデックスに基づいて第１の検索結果を前記ユーザに提供し、前記第２のインデックスに基づいて第２の検索結果を前記ユーザに提供する、
ことを特徴とする請求項１、４、５、６、又は７に記載の検索システム。
【請求項９】
前記データ項目は、商品又はサービスに関するデータ項目であり、
前記検索手段は、前記第１のインデックスに基づいて、商品又はサービスのページを表示させるための第１の検索結果を前記ユーザに提供し、前記第２のインデックスに基づいて、商品又はサービスのクーポンを付与するための第２の検索結果を前記ユーザに提供する、
ことを特徴とする請求項８に記載の検索システム。
【請求項１０】
ユーザにより入力された文字情報をクエリとして、複数のデータ項目が格納されたデータベースを検索する検索ステップと、
前記検索ステップにより取得された検索結果のうち、前記ユーザにより選択されたデータ項目を前記ユーザに提供する提供ステップと、
前記ユーザにより選択されたデータ項目の第１のインデックスとして定められた文字情報と、クエリとして用いられた文字情報と、の関係を学習機に学習させる学習ステップと、
処理対象のデータ項目の第１のインデックスを前記学習機に入力し、前記処理対象のデータ項目の文字情報を前記学習機から取得する取得ステップと、
前記学習機から取得された文字情報を、前記処理対象のデータ項目の第２のインデックスとして前記データベースに登録する登録ステップと、
を含むことを特徴とする検索方法。
【請求項１１】
ユーザにより入力された文字情報をクエリとして、複数のデータ項目が格納されたデータベースを検索する検索手段、
前記検索手段により取得された検索結果のうち、前記ユーザにより選択されたデータ項目を前記ユーザに提供する提供手段、
前記ユーザにより選択されたデータ項目の第１のインデックスとして定められた文字情報と、クエリとして用いられた文字情報と、の関係を学習機に学習させる学習手段、
処理対象のデータ項目の第１のインデックスを前記学習機に入力し、前記処理対象のデータ項目の文字情報を前記学習機から取得する取得手段、
前記学習機から取得された文字情報を、前記処理対象のデータ項目の第２のインデックスとして前記データベースに登録する登録手段、
としてコンピュータを機能させるためのプログラム。
【国際調査報告】
2019176102.tif 000016
2019176102.tif 000017
2019176102.tif 000018