(57)【要約】【課題】暗号化キーワードを含む教師データを用いた機械学習を可能とする学習方法、学習装置、学習プログラム、検索方法、検索装置及び検索プログラムを提供する。【解決手段】複数の教師データに含まれる暗号化単語を抽出し、抽出した暗号化単語に含まれる、平文が一致する複数の暗号化単語のうち、いずれかの暗号化単語を除く他の暗号化単語がいずれかの暗号化単語に置き換えられた新たな複数の教師データを生成し、生成した新たな複数の教師データに含まれる暗号化単語のうち、第１の情報に対応付けられた暗号化単語を、第２の情報に対応付けられた暗号化単語に変換する変換パラメータを機械学習する。【選択図】図４
2018163394.tif 000002
【特許請求の範囲】
【請求項１】
検索端末から受け付ける単語であることを示す第１の情報に対応付けられた暗号化済の単語である暗号化単語と、検索に用いられる単語であることを示す第２の情報に対応付けられた暗号化済の単語である暗号化単語と、をそれぞれが含む複数の教師データを取得し、
取得した前記複数の教師データに含まれる前記暗号化単語を抽出し、
抽出した前記暗号化単語に含まれる、平文が一致する複数の暗号化単語のうち、いずれかの暗号化単語を除く他の暗号化単語が前記いずれかの暗号化単語に置き換えられた新たな複数の教師データを生成し、
生成した前記新たな複数の教師データに含まれる暗号化単語のうち、前記第１の情報に対応付けられた暗号化単語を、前記第２の情報に対応付けられた暗号化単語に変換する変換パラメータを機械学習する、
ことを特徴とする学習方法。
【請求項２】
請求項１において、
前記新たな複数の教師データを生成する工程では、
前記複数の教師データに含まれる暗号化単語が追加される暗号化単語群に、抽出した前記暗号化単語と平文が一致する暗号化単語が含まれているか否かを判定し、
前記平文が一致する暗号化単語が含まれていない場合、抽出した前記暗号化単語を前記暗号化単語群に追加し、前記平文が一致する暗号化単語が含まれている場合、抽出した前記暗号化単語を、前記暗号化単語群に含まれる暗号化単語のうちの前記平文が一致する暗号化単語に置き換える、
ことを特徴とする学習方法。
【請求項３】
請求項２において、さらに、
前記検索端末から検索条件を受け付け、
前記暗号化単語群に、受け付けた前記検索条件に含まれる暗号化単語と平文が一致する暗号化単語が含まれているか否かを判定し、
前記平文が一致する暗号化単語が含まれている場合、前記検索条件に含まれる暗号化単語を、前記暗号化単語群に含まれる暗号化単語のうちの前記平文が一致する暗号化単語に置き換え、
前記変換パラメータにより、前記検索条件に含まれる暗号化単語を、前記第２の情報に対応付けられた暗号化単語に変換し、
変換した前記第２の情報に対応付けられた暗号化単語を用いて検索を行う、
ことを特徴とする学習方法。
【請求項４】
請求項３において、
前記暗号化単語が含まれているか否かを判定する処理では、前記暗号化単語群に、前記検索条件に含まれる暗号化単語と一致しない暗号化単語であって、前記検索条件に含まれる暗号化単語と平文が一致する特定の暗号化単語が含まれているか否かを判定し、
前記暗号化単語を変換する処理では、前記特定の暗号化単語が含まれている場合、前記検索条件に含まれる暗号化単語を、前記特定の暗号化単語に置き換える、
ことを特徴とする学習方法。
【請求項５】
検索端末から検索条件を受け付け、
複数の教師データに含まれる暗号化済の単語である暗号化単語が追加される暗号化単語群に、受け付けた前記検索条件に含まれる暗号化単語と平文が一致する暗号化単語が含まれているか否かを判定し、
前記平文が一致する暗号化単語が含まれている場合、前記検索条件に含まれる暗号化単語のうちの前記平文が一致する暗号化単語を、前記暗号化単語群に含まれる暗号化単語のうちの前記平文が一致する暗号化単語に置き換え、
変換パラメータを用いることにより、前記検索条件に含まれる暗号化単語を、検索に用いられる単語であることを示す特定の情報に対応付けられた暗号化単語に変換し、
変換した前記特定の情報に対応付けられた暗号化単語を用いて検索を行う、
ことを特徴とする検索方法。
【請求項６】
請求項５において、
前記暗号化単語群は、複数の教師データに含まれる暗号化単語のうち、平文が互いに異なる暗号化単語のみを含む、
ことを特徴とする検索方法。
【請求項７】
検索端末から受け付ける単語であることを示す第１の情報に対応付けられた暗号化済の単語である暗号化単語と、検索に用いられる単語であることを示す第２の情報に対応付けられた暗号化済の単語である暗号化単語と、をそれぞれが含む複数の教師データを取得する教師データ取得部と、
取得した前記複数の教師データに含まれる前記暗号化単語を抽出する単語抽出部と、
抽出した前記暗号化単語に含まれる、平文が一致する複数の暗号化単語のうち、いずれかの暗号化単語を除く他の暗号化単語が前記いずれかの暗号化単語に置き換えられた新たな複数の教師データを生成する教師データ生成部と、
生成した前記新たな複数の教師データに含まれる暗号化単語のうち、前記第１の情報に対応付けられた暗号化単語を、前記第２の情報に対応付けられた暗号化単語に変換する変換パラメータを機械学習する機械学習実行部と、を有する、
ことを特徴とする学習装置。
【請求項８】
検索端末から受け付ける単語であることを示す第１の情報に対応付けられた暗号化済の単語である暗号化単語と、検索に用いられる単語であることを示す第２の情報に対応付けられた暗号化済の単語である暗号化単語と、をそれぞれが含む複数の教師データを取得し、
取得した前記複数の教師データに含まれる前記暗号化単語を抽出し、
抽出した前記暗号化単語に含まれる、平文が一致する複数の暗号化単語のうち、いずれかの暗号化単語を除く他の暗号化単語が前記いずれかの暗号化単語に置き換えられた新たな複数の教師データを生成し、
生成した前記新たな複数の教師データに含まれる暗号化単語のうち、前記第１の情報に対応付けられた暗号化単語を、前記第２の情報に対応付けられた暗号化単語に変換する変換パラメータを機械学習する、
処理をコンピュータに実行させることを特徴とする学習プログラム。
【請求項９】
検索端末から検索条件を受け付ける検索条件受付部と、
複数の教師データに含まれる暗号化済の単語である暗号化単語が追加される暗号化単語群に、受け付けた前記検索条件に含まれる暗号化単語と平文が一致する暗号化単語が含まれているか否かを判定する単語判定部と、
前記平文が一致する暗号化単語が含まれている場合、前記検索条件に含まれる暗号化単語のうちの前記平文が一致する暗号化単語を、前記暗号化単語群に含まれる暗号化単語のうちの前記平文が一致する暗号化単語に置き換え、変換パラメータを用いることにより、前記検索条件に含まれる暗号化単語を、検索に用いられる単語であることを示す特定の情報に対応付けられた暗号化単語に変換する単語変換部と、
変換した前記特定の情報に対応付けられた暗号化単語を用いて検索を行う検索実行部と、を有する、
ことを特徴とする検索装置。
【請求項１０】
検索端末から検索条件を受け付け、
複数の教師データに含まれる暗号化済の単語である暗号化単語が追加される暗号化単語群に、受け付けた前記検索条件に含まれる暗号化単語と平文が一致する暗号化単語が含まれているか否かを判定し、
前記平文が一致する暗号化単語が含まれている場合、前記検索条件に含まれる暗号化単語のうちの前記平文が一致する暗号化単語を、前記暗号化単語群に含まれる暗号化単語のうちの前記平文が一致する暗号化単語に置き換え、
変換パラメータを用いることにより、前記検索条件に含まれる暗号化単語を、検索に用いられる単語であることを示す特定の情報に対応付けられた暗号化単語に変換し、
変換した前記特定の情報に対応付けられた暗号化単語を用いて検索を行う、
処理をコンピュータに実行させることを特徴とする検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習方法、学習装置、学習プログラム、検索方法、検索装置及び検索プログラムに関する。
【背景技術】
【０００２】
例えば、利用者にサービスを提供する事業者（以下、単に事業者とも呼ぶ）は、サービスの提供を行うための情報処理システムを構築して稼働させる。
【０００３】
具体的に、事業者は、例えば、情報処理システムとして、検索装置に記憶されたデータ（以下、検索対象データとも呼ぶ）から必要なデータの検索を行う検索システムを構築する。そして、利用者は、例えば、１以上のキーワード（以下、単語とも呼ぶ）からなる検索条件を検索装置に入力し、検索条件に対応するデータを検索結果として取得する。
【０００４】
上記のような検索装置では、例えば、利用者によって検索条件が入力された場合、教師データの機械学習によって生成された評価モデルを用いることにより、検索条件に含まれるキーワードと関連するキーワードの特定を行う。そして、検索装置は、特定したキーワードを追加したキーワードからなる検索条件によって検索を行う。これにより、利用者は、検索精度を向上させることが可能になる（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１５／０６３９０５号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のような検索システムでは、近年のクラウド技術の普及に伴い、例えば、検索装置をクラウド上に配置する場合がある。そして、この場合、検索装置に対して送信されるデータや検索装置から送信されるデータがインターネット等の外部ネットワークを経由することになるため、検索システムでは、外部ネットワークを経由する各データの暗号化を行う。
【０００７】
ここで、同じキーワード（平文）を暗号化することにより生成されるキーワード（以下、暗号化キーワードまたは暗号化単語とも呼ぶ）が毎回同じである場合、暗号化キーワードの出現頻度やパターン等によって、暗号化前のキーワードが外部の者等に推測される可能性がある。そのため、事業者は、例えば、同じキーワードから毎回異なる暗号化キーワードを生成することが可能な技術（例えば、検索可能暗号）を用いてキーワードの暗号化を行う。これにより、事業者は、暗号化前のキーワードが推測されることを防止することが可能になる。
【０００８】
しかしながら、同じキーワードから生成される暗号化キーワードが毎回異なる場合、事業者は、暗号化キーワードを含む教師データを作成することができない。そのため、検索装置は、この場合、教師データの機械学習を行うことができず、検索精度を向上させることができない。
【０００９】
そこで、一つの側面では、暗号化キーワードを含む教師データを用いた機械学習を可能とする学習方法、学習装置、学習プログラム、検索方法、検索装置及び検索プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
実施の形態の一つの態様によれば、検索端末から受け付ける単語であることを示す第１の情報に対応付けられた暗号化済の単語である暗号化単語と、検索に用いられる単語であることを示す第２の情報に対応付けられた暗号化済の単語である暗号化単語と、をそれぞれが含む複数の教師データを取得し、取得した前記複数の教師データに含まれる前記暗号化単語を抽出し、抽出した前記暗号化単語に含まれる、平文が一致する複数の暗号化単語のうち、いずれかの暗号化単語を除く他の暗号化単語が前記いずれかの暗号化単語に置き換えられた新たな複数の教師データを生成し、生成した前記新たな複数の教師データに含まれる暗号化単語のうち、前記第１の情報に対応付けられた暗号化単語を、前記第２の情報に対応付けられた暗号化単語に変換する変換パラメータを機械学習する。
【発明の効果】
【００１１】
一つの側面によれば、暗号化キーワードを含む教師データを用いた機械学習を可能とする。
【図面の簡単な説明】
【００１２】
【図１】図１は、情報処理システム１０の全体構成を示す図である。
【図２】図２は、検索装置１のハードウエア構成を説明する図である。
【図３】図３は、検索装置１の機能ブロック図である。
【図４】図４は、第１の実施の形態における学習処理及び検索処理の概略を説明するフローチャートである。
【図５】図５は、第１の実施の形態における学習処理及び検索処理の概略を説明するフローチャートである。
【図６】図６は、第１の実施の形態における学習処理及び検索処理の概略を説明する図である。
【図７】図７は、第１の実施の形態における学習処理及び検索処理の概略を説明する図である。
【図８】図８は、第１の実施の形態における学習処理及び検索処理の詳細を説明するフローチャートである。
【図９】図９は、第１の実施の形態における学習処理及び検索処理の詳細を説明するフローチャートである。
【図１０】図１０は、第１の実施の形態における学習処理及び検索処理の詳細を説明するフローチャートである。
【図１１】図１１は、第１の実施の形態における学習処理及び検索処理の詳細を説明するフローチャートである。
【図１２】図１２は、第１教師データ１３１に含まれる暗号化キーワードの具体例を説明する図である。
【図１３】図１３は、Ｓ２４からＳ３４の処理の具体例を説明する図である。
【図１４】図１４は、Ｓ２４からＳ３４の処理の具体例を説明する図である。
【図１５】図１５は、Ｓ２４からＳ３４の処理の具体例を説明する図である。
【図１６】図１６は、Ｓ２４からＳ３４の処理の具体例を説明する図である。
【図１７】図１７は、Ｓ２４からＳ３４の処理の具体例を説明する図である。
【図１８】図１８は、Ｓ２４からＳ３４の処理の具体例を説明する図である。
【図１９】図１９は、第２教師データ１３２に含まれる暗号化キーワードの具体例を説明する図である。
【図２０】図２０は、Ｓ４２からＳ４５の処理の具体例を説明する図である。
【図２１】図２１は、Ｓ４２からＳ４５の処理の具体例を説明する図である。
【図２２】図２２は、Ｓ４２からＳ４５の処理の具体例を説明する図である。
【図２３】図２３は、Ｓ４２からＳ４５の処理の具体例を説明する図である。
【発明を実施するための形態】
【００１３】
［情報処理システムの構成］
図１は、情報処理システム１０の全体構成を示す図である。図１に示す情報処理システム１０は、検索装置１（以下、情報処理装置１とも呼ぶ）と、記憶装置２と、利用者端末３（以下、検索端末３とも呼ぶ）と、事業者端末４とが含まれている。図１に示す例において、利用者端末３には、利用者端末３ａ、３ｂ及び３ｃが含まれている。
【００１４】
検索装置１は、例えば、複数の物理マシンから構成され、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｃｏｍｐｕｔｉｎｇ  Ｕｎｉｔ）と、メモリ（ＤＲＡＭ：Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）と、ハードディスク（ＨＤＤ：Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等とを有する。
【００１５】
検索装置１は、利用者が利用者端末３を介して送信する検索条件に含まれると予測されるキーワードと、検索条件に対するデータを適切に検索するために必要なキーワードとをそれぞれ含む複数の教師データの機械学習を行う。具体的に、検索装置１は、事業者が事業者端末４を介して入力した複数の教師データの機械学習を行う。そして、検索装置１は、複数の教師データの機械学習を行うことによって評価モデル１３４（以下、変換パラメータ１３４とも呼ぶ）を生成し、検索装置１の情報格納領域１３０に記憶する。なお、以下、検索条件に含まれると予測されるキーワードであることを示す情報を第１の情報とも呼び、検索条件に対するデータを適切に検索するために必要なキーワードであることを示す情報を第２の情報とも呼ぶ。
【００１６】
その後、検索装置１は、例えば、利用者が利用者端末３を介して送信した検索条件を受信した場合、受信した検索条件に含まれるキーワードを抽出する。具体的に、検索装置１は、例えば、受信した検索条件に含まれる文を形態素分割することにより、キーワードの抽出を行う。そして、検索装置１は、この場合、情報格納領域１３０に記憶された評価モデル１３４を用いることによって、抽出したキーワードに新たなキーワードを追加する。
【００１７】
さらに、検索装置１は、検索対象のデータ（以下、検索対象データＤＴ）を記憶した記憶装置２にアクセスし、例えば、新たなキーワードが追加されたキーワードをより多く含む検索対象データＤＴの抽出を行う。そして、検索装置１は、抽出した検索対象データＤＴを検索結果として利用者端末３（検索条件を送信した利用者端末３）に送信する。
【００１８】
これにより、利用者は、利用者が検索装置１に対して送信した検索条件に応じた検索対象データＤＴの検索を行うことが可能になる。
【００１９】
ここで、図１に示す例において、検索装置１及び利用者端末３は、例えば、インターネット等のネットワークＮＷを介して接続される。そのため、事業者は、この場合、ネットワークＮＷを経由するデータ（例えば、検索装置１に対して送信されるデータや検索装置１から送信されるデータ）の暗号化を行う必要がある。
【００２０】
この点、同じキーワード（平文）を暗号化することにより生成される暗号化キーワードが毎回同じである場合、暗号化キーワードの出現頻度やパターン等によって、暗号化前のキーワードが推測される可能性がある。そのため、事業者は、例えば、同じキーワードから毎回異なる暗号化キーワードを生成することが可能な技術（例えば、検索可能暗号）を用いてキーワードの暗号化を行う。これにより、事業者は、暗号化前のキーワードが推測されることを防止することが可能になる。
【００２１】
しかしながら、同じキーワードから生成される暗号化キーワードが毎回異なる場合、事業者は、暗号化キーワードを含む教師データを作成することができない。そのため、検索装置１は、この場合、教師データの機械学習を行うことができず、検索精度を向上させることができない。
【００２２】
そこで、本実施の形態における検索装置１は、利用者端末３から受け付けるキーワードであることを示す第１の情報に対応付けられた暗号化キーワードと、検索に用いられる単語であることを示す第２の情報に対応付けられた暗号化キーワードと、をそれぞれが含む複数の教師データを取得する。そして、検索装置１は、取得した複数の教師データに含まれる暗号化キーワードを抽出する。
【００２３】
さらに、検索装置１は、抽出した暗号化キーワードに含まれる、暗号化前のキーワードが一致する複数の暗号化キーワードのうち、いずれかの暗号化キーワードを除く他の暗号化キーワードが、そのいずれかの暗号化キーワードに置き換えられた新たな複数の教師データを生成する。
【００２４】
その後、検索装置１は、生成した新たな複数の教師データに含まれる暗号化キーワードのうち、第１の情報に対応付けられた暗号化キーワードを、第２の情報に対応付けられた暗号化キーワードに変換する評価モデル１３４を機械学習する。
【００２５】
すなわち、検索装置１は、同じキーワードから生成された複数種類の暗号化キーワードをいずれか１種類の暗号化キーワードに置き換えた新たな教師データによって機械学習を行う。そして、検索装置１は、検索条件を受け付けた場合、受け付けた検索条件に含まれる暗号化キーワードを新たな教師データに含まれる暗号化キーワードに置き換えてから、評価モデル１３４を用いたキーワードの追加を行う。
【００２６】
これにより、検索装置１は、同じキーワードから生成される暗号化キーワードが毎回異なる場合であっても、暗号化キーワードを含む教師データの機械学習を行うことが可能になり、検索精度を向上させることが可能になる。
【００２７】
［検索装置のハードウエア構成］
次に、検索装置１のハードウエア構成について説明する。図２は、検索装置１のハードウエア構成を説明する図である。
【００２８】
検索装置１は、図２に示すように、プロセッサであるＣＰＵ１０１と、メモリ１０２と、外部インターフェース（Ｉ／Ｏユニット）１０３と、記憶媒体（ストレージ）１０４とを有する。各部は、バス１０５を介して互いに接続される。
【００２９】
記憶媒体１０４は、記憶媒体１０４内のプログラム格納領域（図示しない）に、暗号化キーワードの機械学習を行う処理（以下、学習処理とも呼ぶ）や記憶装置２に記憶された検索対象データＤＴの検索を行う処理（以下、検索処理とも呼ぶ）を行うためのプログラム１１０を記憶する。
【００３０】
ＣＰＵ１０１は、図２に示すように、プログラム１１０の実行時に、プログラム１１０を記憶媒体１０４からメモリ１０２にロードし、プログラム１１０と協働して学習処理及び検索処理を行う。
【００３１】
記憶媒体１０４は、例えば、学習処理及び検索処理を行う際に用いられる情報を記憶する情報格納領域１３０（以下、記憶部１３０とも呼ぶ）を有する。
【００３２】
外部インターフェース１０３（Ｉ／Ｏユニット１０３）は、ネットワークＮＷを介して利用者端末３と通信を行う。また、外部インターフェース１０３は、記憶装置２及び事業者端末４との通信を行う。
【００３３】
［検索装置のソフトウエア構成］
次に、検索装置１のソフトウエア構成について説明する。図３は、検索装置１の機能ブロック図である。
【００３４】
ＣＰＵ１０１は、図３に示すように、プログラム１１０と協働することにより、教師データ取得部１１１と、キーワード抽出部１１２（以下、単語抽出部１１２とも呼ぶ）と、教師データ生成部１１３と、機械学習実行部１１４として動作する。また、ＣＰＵ１０１は、図３に示すように、プログラム１１０と協働することにより、検索条件受付部１１５と、キーワード判定部１１６（以下、単語判定部１１６とも呼ぶ）と、キーワード変換部１１７（以下、単語変換部１１７とも呼ぶ）と、検索実行部１１８として動作する。さらに、情報格納領域１３０には、図３に示すように、第１教師データ１３１と、第２教師データ１３２と、暗号化キーワード情報１３３（以下、暗号化単語群１３３とも呼ぶ）と、評価モデル１３４とが記憶される。
【００３５】
教師データ取得部１１１は、利用者端末３から受け付けるキーワードであることを示す第１の情報に対応付けられた暗号化キーワードと、検索に用いられるキーワードであることを示す第２の情報に対応付けられた暗号化キーワードと、をそれぞれが含む第１教師データ１３１を取得する。具体的に、教師データ取得部１１１は、例えば、事業者が情報処理装置１に対して第１教師データ１３１を入力したことに応じて、入力された第１教師データ１３１の取得を行うものであってよい。また、教師データ取得部１１１は、例えば、事業者によって情報格納領域１３０に予め記憶された第１教師データ１３１の取得を行うものであってもよい。
【００３６】
キーワード抽出部１１２は、教師データ取得部１１１が取得した第１教師データ１３１に含まれる暗号化キーワード（第１の情報または第２の情報に対応付けられた暗号化キーワード）を抽出する。
【００３７】
教師データ生成部１１３は、キーワード抽出部１１２が抽出した暗号化キーワードに含まれる、暗号化前のキーワード（平文）が一致する複数の暗号化キーワードのうち、いずれかの暗号化キーワードを除く他の暗号化キーワードが、そのいずれかの暗号化キーワードに置き換えられた第２教師データ１３２を生成する。
【００３８】
具体的に、教師データ生成部１１３は、情報格納領域１３０に記憶された暗号化キーワード情報１３３に、キーワード抽出部１１２が抽出した暗号化キーワードと平文が一致する暗号化キーワードが含まれているか否かを判定する。暗号化キーワード情報１３３は、第１教師データ１３１に含まれる暗号化キーワードが随時追加される情報である。そして、暗号化キーワード情報１３３に、キーワード抽出部１１２が抽出した暗号化キーワードと平文が一致する暗号化キーワードが含まれていない場合、教師データ生成部１１３は、キーワード抽出部１１２が抽出した暗号化キーワードを暗号化キーワード情報１３３に追加する。一方、暗号化キーワード情報１３３に、キーワード抽出部１１２が抽出した暗号化キーワードと平文が一致する暗号化キーワードが含まれている場合、教師データ生成部１１３は、キーワード抽出部１１２が抽出した暗号化キーワードを、暗号化キーワード情報１３３に含まれるキーワードのうちの平文が一致する暗号化キーワードに置き換える。
【００３９】
なお、各暗号化キーワードが検索可能暗号によって暗号化されている場合、教師データ生成部１１３は、例えば、キーワード抽出部１１２が抽出した暗号化キーワードにそれぞれ含まれるトラップドアを用いることによって、複数の暗号化キーワードの平文が互いに一致するか否かの判定を行うものであってよい。
【００４０】
機械学習実行部１１４は、教師データ生成部１１３が生成した第２教師データ１３２に含まれる暗号化キーワードのうち、第１の情報に対応付けられた暗号化キーワードを第２の情報に対応付けられた暗号化キーワードに変換する評価モデル１３４を機械学習する。
【００４１】
検索条件受付部１１５は、例えば、機械学習実行部１１４による評価モデル１３４の機械学習が行われた後、利用者端末３から検索条件を受け付ける。
【００４２】
キーワード判定部１１６は、情報格納領域１３０に記憶された暗号化キーワード情報１３３に、検索条件受付部１１５が受け付けた検索条件に含まれる暗号化キーワードと平文が一致する暗号化キーワードが含まれているか否かを判定する。
【００４３】
キーワード変換部１１７は、キーワード判定部１１６が暗号化キーワード情報１３３に平文が一致する暗号化キーワードが含まれていると判定した場合、検索条件受付部１１５が受け付けた検索条件に含まれる暗号化キーワードを、暗号化キーワード情報１３３に含まれる暗号化キーワードのうちの平文が一致する暗号化キーワードに置き換える。
【００４４】
そして、キーワード変換部１１７は、情報格納領域１３０に記憶された評価モデル１３４を用いることにより、検索条件受付部１１５が受け付けた検索条件に含まれる暗号化キーワード、または、キーワード変換部１１７が置き換えた暗号化キーワードを、第２の情報に対応付けられた暗号化キーワードに変換する。具体的に、キーワード変換部１１７は、検索条件受付部１１５が受け付けた検索条件に含まれる暗号化キーワード、または、キーワード変換部１１７が置き換えた暗号化キーワードに対し、検索を精度良く行うために追加した方が好ましい暗号化キーワードの追加を行う。
【００４５】
検索実行部１１８は、キーワード変換部１１７が変換した暗号化キーワード（第２の情報に対応付けられた暗号化キーワード）を用いて検索を行う。
【００４６】
具体的に、検索実行部１１８は、記憶装置２に記憶された暗号化データである検索対象データＤＴのうち、キーワード変換部１１７が変換した暗号化キーワードをより多く含むデータを特定する。そして、検索実行部１１８は、例えば、特定したデータを検索結果として利用者端末３（検索装置１に対して検索条件を送信した利用者端末３）に送信する。
【００４７】
［第１の実施の形態の概略］
次に、第１の実施の形態の概略について説明する。図４及び図５は、第１の実施の形態における学習処理及び検索処理の概略を説明するフローチャートである。また、図６及び図７は、第１の実施の形態における学習処理及び検索処理の概略を説明する図である。図６及び図７を参照しながら、図４及び図５の第１の実施の形態における学習処理及び検索処理の説明を行う。
【００４８】
［学習処理の概略］
初めに、学習処理の概略について説明を行う。図４は、第１の実施の形態における学習処理の概略を説明するフローチャートである。
【００４９】
検索装置１は、図４に示すように、学習タイミングまで待機する（Ｓ１のＮＯ）。学習タイミングは、例えば、事業者が事業者端末４を介して暗号化キーワードの機械学習を行う旨の入力を行ったタイミングであってよい。
【００５０】
そして、学習タイミングになった場合（Ｓ１のＹＥＳ）、検索装置１は、利用者端末３から受け付けるキーワードであることを示す第１の情報に対応付けられた暗号化キーワードと、検索に用いられるキーワードであることを示す第２の情報に対応付けられた暗号化キーワードと、をそれぞれが含む第１教師データ１３１を取得する（Ｓ２）。
【００５１】
続いて、検索装置１は、Ｓ２の処理で取得した第１教師データ１３１に含まれる暗号化キーワードを抽出する（Ｓ３）。さらに、検索装置１は、図６に示すように、Ｓ３の処理で抽出した暗号化キーワードに含まれる、平文が一致する複数の暗号化キーワードのうち、いずれかの暗号化キーワードを除く他の暗号化キーワードが、そのいずれかの暗号化キーワードに置き換えられた第２教師データ１３２を生成する（Ｓ４）。
【００５２】
その後、検索装置１は、図６に示すように、Ｓ４の処理で生成した第２教師データ１３２に含まれる暗号化キーワードのうち、第１の情報に対応付けられた暗号化キーワードを、第２の情報に対応付けられた暗号化キーワードに変換する評価モデル１３４を機械学習する（Ｓ５）。
【００５３】
すなわち、検索装置１は、同じキーワードから生成された複数種類の暗号化キーワードをいずれか１種類の暗号化キーワードに置き換えた新たな教師データによって機械学習を行う。そして、検索装置１は、検索条件を受け付けた場合、受け付けた検索条件に含まれる暗号化キーワードを新たな教師データに含まれる暗号化キーワードに置き換えてから、評価モデル１３４を用いたキーワードの追加を行う。
【００５４】
これにより、検索装置１は、同じキーワードから生成される暗号化キーワードが毎回異なる場合であっても、暗号化キーワードを含む教師データの機械学習を行うことが可能になる。
【００５５】
［検索処理の概略］
次に、検索処理の概略について説明を行う。図５は、第１の実施の形態における検索処理の概略を説明するフローチャートである。
【００５６】
検索装置１は、利用者端末３から検索条件を受け付けるまで待機する（Ｓ１１のＮＯ）。具体的に、検索装置１は、図７に示すように、利用者が利用者端末３を介して検索条件を入力するまで待機する。
【００５７】
そして、利用者端末３から検索条件を受け付けた場合（Ｓ１１のＹＥＳ）、検索装置１は、第１教師データ１３１に含まれる暗号化キーワードが追加される暗号化キーワード情報１３３に、Ｓ１１の処理で受け付けた検索条件に含まれる暗号化キーワードと平文が一致する暗号化キーワードが含まれているか否かを判定する（Ｓ１２）。
【００５８】
その結果、平文が一致する暗号化キーワードが含まれていると判定した場合（Ｓ１３のＹＥＳ）、検索装置１は、Ｓ１３の処理で暗号化キーワード情報１３３に含まれていると判定した暗号化キーワードを、暗号化キーワード情報１３３に含まれる暗号化キーワードのうちの平文が一致する暗号化キーワードに置き換える（Ｓ１４）。一方、Ｓ１３の処理において平文が一致する暗号化キーワードが含まれていないと判定した場合（Ｓ１３のＮＯ）、検索装置１は、Ｓ１４の処理を行わない。
【００５９】
続いて、検索装置１は、図７に示すように、情報格納領域１３０に記憶された評価モデル１３４を用いることにより、Ｓ１１の処理で受け付けた検索条件、または、Ｓ１４の処理で置き換えた検索条件に含まれる暗号化キーワードを、第２の情報に対応付けられた暗号化単語に変換する（Ｓ１５）。
【００６０】
その後、検索装置１は、図７に示すように、Ｓ１５の処理で変換した暗号化キーワードを用いて検索を行う（Ｓ１６）。具体的に、検索装置１は、Ｓ１５の処理で変換した暗号化キーワードによって、記憶装置２に記憶された検索対象データＤＴの検索を行う。
【００６１】
すなわち、検索装置１は、検索条件に含まれる暗号化キーワードの全てが、暗号化キーワード情報１３３に含まれる暗号化キーワード（評価モデル１３４を生成する際に用いた第２教師データ１３２に含まれる暗号化キーワード）になるように置き換えを行ってから、評価モデル１３４を用いた暗号化キーワードの変換を行う。
【００６２】
これにより、検索装置１は、同じ平文から生成される暗号化データが毎回異なる場合であっても、学習処理において生成された評価モデル１３４を用いることで、検索精度を向上させることが可能になる。
【００６３】
［第１の実施の形態の詳細］
次に、第１の実施の形態の詳細について説明する。図８から図１１は、第１の実施の形態における学習処理及び検索処理の詳細を説明するフローチャートである。また、図１２から図２３は、第１の実施の形態における学習処理及び検索処理の詳細を説明する図である。図１２から図２３を参照しながら、図８から図１１に示す学習処理及び検索処理を説明する。
【００６４】
［学習処理の詳細］
初めに、学習処理の詳細について説明を行う。図８及び図９は、第１の実施の形態における学習処理の詳細を説明するフローチャートである。
【００６５】
検索装置１の教師データ取得部１１１は、学習タイミングまで待機する（Ｓ２１のＮＯ）。そして、学習タイミングになった場合（Ｓ２１のＹＥＳ）、教師データ取得部１１１は、利用者端末３から受け付けるキーワードであることを示す第１の情報に対応付けられた暗号化キーワードと、検索に用いられるキーワードであることを示す第２の情報に対応付けられた暗号化キーワードと、をそれぞれが含む第１教師データ１３１を取得する（Ｓ２２）。すなわち、検索装置１は、この場合、第２教師データ１３２の生成を開始する。
【００６６】
その後、検索装置１のキーワード抽出部１１２は、Ｓ２２の処理で取得した第１教師データ１３１に含まれる暗号化キーワードを抽出する（Ｓ２３）。以下、第１教師データ１３１から抽出される暗号化キーワードの具体例について説明を行う。
【００６７】
［第１教師データの具体例］
図１２は、第１教師データ１３１に含まれる暗号化キーワードの具体例を説明する図である。図１２に示す情報は、各情報を識別する「項番」と、検索装置１から送信された検索条件に含まれると予測される暗号化キーワードが設定される「暗号化キーワード」とを項目として有する。また、図１２に示す情報は、適切な検索対象データＤＴを検索するために追加することが好ましい暗号化キーワードが設定される「追加キーワード」を項目として有する。
【００６８】
具体的に、図１２に示す情報において、「項番」が「１」である情報には、「暗号化キーワード」として「キーワードＡ，キーワードＢ」が設定され、「追加キーワード」として「キーワードＣ」が設定されている。また、図１２に示す情報において、「項番」が「２」である情報には、「暗号化キーワード」として「キーワードＤ，キーワードＥ」が設定され、「追加キーワード」として「キーワードＦ」が設定されている。さらに、図１２に示す情報において、「項番」が「３」である情報には、「暗号化キーワード」として「キーワードＧ」が設定され、「追加キーワード」として「キーワードＨ」が設定されている。
【００６９】
図８に戻り、検索装置１の教師データ生成部１１３は、第１教師データ１３１に含まれる暗号化キーワードから第１の情報または第２の情報に対応付けられた暗号化単語を１つ抽出する（Ｓ２４）。具体的に、教師データ生成部１１３は、例えば、図１２で説明した情報における「項番」が「１」である情報の「暗号化キーワード」に設定された情報である「キーワードＡ」を抽出する。
【００７０】
そして、教師データ生成部１１３は、第１教師データ１３１に含まれる暗号化キーワードが追加される暗号化キーワード情報１３３に、Ｓ２４の処理で抽出した暗号化キーワードと平文が一致する暗号化キーワードが含まれているか否かを判定する（Ｓ２５）。具体的に、教師データ生成部１１３は、例えば、暗号化キーワード情報１３３に、Ｓ２２の処理で取得した第１教師データ１３１に含まれる暗号化キーワードと異なる暗号化キーワードであって、Ｓ２４の処理で抽出した第１の情報または第２の情報に対応付けられた暗号化キーワードと平文が一致する暗号化キーワードが含まれているか否かの判定を行う。
【００７１】
その結果、図９に示すように、平文が一致する暗号化キーワードが含まれていないと判定した場合（Ｓ３１のＮＯ）、教師データ生成部１１３は、Ｓ２４の処理で抽出した暗号化キーワードを暗号化キーワード情報１３３に追加する（Ｓ３２）。
【００７２】
一方、平文が一致する暗号化キーワードが含まれていると判定した場合（Ｓ３１のＹＥＳ）、教師データ生成部１１３は、Ｓ２４の処理で抽出した暗号化キーワードを、Ｓ２５の処理で含まれていた暗号化キーワードに置き換える（Ｓ３３）。
【００７３】
そして、Ｓ３２またはＳ３３の処理の後、教師データ生成部１１３は、Ｓ２２の処理で取得された第１教師データ１３１に含まれる暗号化キーワードの全てを抽出したか否かを判定する（Ｓ３４）。
【００７４】
その結果、Ｓ２２の処理で取得した第１教師データ１３１に含まれる暗号化キーワードの全ての抽出が完了していない場合、すなわち、第２教師データ１３２の生成が完了していない場合（Ｓ３４のＮＯ）、教師データ生成部１１３は、Ｓ２４以降の処理を再度行う。以下、Ｓ２４からＳ３４の処理の具体例について説明を行う。
【００７５】
［Ｓ２４からＳ３４の処理の具体例］
図１３から図１８は、Ｓ２４からＳ３４の処理の具体例を説明する図である。具体的に、図１３から図１８は、暗号化キーワード情報１３３の生成過程の具体例を説明する図である。
【００７６】
初めに、教師データ生成部１１３は、例えば、図１２で説明した情報における「項番」が「１」である情報の「暗号化キーワード」に設定された「キーワードＡ」を取得し、取得した「キーワードＡ」と平文が同じ暗号化キーワードが暗号化キーワード情報１３３に含まれているか否かを判定する（Ｓ２４、Ｓ２５）。この場合、暗号化キーワード情報１３３には、暗号化キーワードがまだ設定されていない。そのため、教師データ生成部１１３は、図１３に示すように、例えば、暗号化キーワード情報１３３における「項番」が「１」である情報の「暗号化キーワード」に「キーワードＡ」を設定する（Ｓ３１のＮＯ、Ｓ３２、Ｓ３４のＮＯ）。
【００７７】
次に、教師データ生成部１１３は、例えば、図１２で説明した情報における「項番」が「１」である情報の「暗号化キーワード」に設定された「キーワードＢ」を取得し、取得した「キーワードＡ」と平文が同じ暗号化キーワードが暗号化キーワード情報１３３に含まれているか否かを判定する（Ｓ２４、Ｓ２５）。この場合、暗号化キーワード情報１３３には、図１３に示すように、「キーワードＡ」が設定されている。そのため、教師データ生成部１１３は、「キーワードＡ」の平文と「キーワードＢ」の平文とが一致するか否かを判定する。その結果、「キーワードＡ」の平文と「キーワードＢ」の平文とが異なる場合、教師データ生成部１１３は、図１４に示すように、例えば、暗号化キーワード情報１３３における「項番」が「２」である情報の「暗号化キーワード」に「キーワードＢ」を設定する（Ｓ３１のＮＯ、Ｓ３２、Ｓ３４のＮＯ）。
【００７８】
続いて、教師データ生成部１１３は、例えば、図１２で説明した情報における「項番」が「１」である情報の「追加キーワード」に設定された「キーワードＣ」を取得し、取得した「キーワードＣ」と平文が同じ暗号化キーワードが暗号化キーワード情報１３３に含まれているか否かを判定する（Ｓ２４、Ｓ２５）。この場合、暗号化キーワード情報１３３には、図１４に示すように、「キーワードＡ」及び「キーワードＢ」が設定されている。そのため、教師データ生成部１１３は、「キーワードＣ」の平文が「キーワードＡ」の平文または「キーワードＢ」の平文と一致するか否かを判定する。その結果、「キーワードＡ」の平文が「キーワードＡ」の平文及び「キーワードＢ」の平文と異なる場合、教師データ生成部１１３は、図１５に示すように、例えば、暗号化キーワード情報１３３における「項番」が「３」である情報の「暗号化キーワード」に「キーワードＣ」を設定する（Ｓ３１のＮＯ、Ｓ３２、Ｓ３４のＮＯ）。
【００７９】
続いて、教師データ生成部１１３は、例えば、図１２で説明した情報における「項番」が「２」である情報の「暗号化キーワード」に設定された「キーワードＤ」を取得し、取得した「キーワードＤ」と平文が同じ暗号化キーワードが暗号化キーワード情報１３３に含まれているか否かを判定する（Ｓ２４、Ｓ２５）。この場合、暗号化キーワード情報１３３には、図１５に示すように、「キーワードＡ」、「キーワードＢ」及び「キーワードＣ」が設定されている。そのため、教師データ生成部１１３は、「キーワードＤ」の平文が「キーワードＡ」、「キーワードＢ」及び「キーワードＣ」の平文のいずれかと一致するか否かを判定する。その結果、「キーワードＤ」の平文が「キーワードＢ」の平文と一致する場合、教師データ生成部１１３は、図１６に示すように、暗号化キーワード情報１３３に「キーワードＤ」を設定しない（Ｓ３１のＹＥＳ）。
【００８０】
そして、この場合、教師データ生成部１１３は、図１７に示すように、第１教師データ１３１に含まれる暗号化キーワードである「キーワードＤ」を、「キーワードＤ」と平文が一致した「キーワードＢ」に置き換える（Ｓ３３）。
【００８１】
その後、教師データ生成部１１３は、図１８に示すように、第１教師データ１３１に含まれる暗号化キーワードの全てについてＳ２４からＳ３３の処理を行い、暗号化キーワード情報１３３の生成を行う。具体的に、教師データ生成部１１３は、図１８に示すように、暗号化キーワードとして「キーワードＡ」、「キーワードＢ」、「キーワードＣ」、「キーワードＥ」、「キーワードＦ」、「キーワードＧ」及び「キーワードＨ」を含む暗号化キーワード情報１３３の生成を行う。
【００８２】
図９に戻り、Ｓ２２の処理で取得された第１教師データ１３１に含まれる暗号化キーワードの全てが抽出済である場合、すなわち、第２教師データ１３２の生成が完了した場合（Ｓ３４のＹＥＳ）、教師データ生成部１１３は、Ｓ３３の処理等で生成した第２教師データ１３２に含まれる暗号化キーワードのうち、第１の情報に対応付けられた暗号化キーワードを、第２の情報に対応付けられた暗号化キーワードに変換する評価モデル１３４を機械学習する（Ｓ３５）。
【００８３】
これにより、検索装置１は、同じ平文から生成される暗号化データが毎回異なる場合であっても、評価モデル１３４の機械学習を行うことが可能になる。以下、第２教師データ１３２の具体例について説明を行う。
【００８４】
［第２教師データの具体例］
図１９は、第２教師データ１３２に含まれる暗号化キーワードの具体例を説明する図である。図１９に示す情報は、図１２で説明した第１教師データ１３１と同じ項目を有している。
【００８５】
具体的に、図１９に示す情報において、「項番」が「１」である情報には、「暗号化キーワード」として「キーワードＡ，キーワードＢ」が設定され、「追加キーワード」として「キーワードＣ」が設定されている。また、図１９に示す情報において、「項番」が「２」である情報には、「暗号化キーワード」として「キーワードＢ，キーワードＥ」が設定され、「追加キーワード」として「キーワードＦ」が設定されている。さらに、図１９に示す情報において、「項番」が「３」である情報には、「暗号化キーワード」として「キーワードＧ」が設定され、「追加キーワード」として「キーワードＨ」が設定されている。
【００８６】
すなわち、図１９に示す情報における「項番」が「２」である情報の「暗号化キーワード」には、図１２で説明した情報と異なり、「キーワードＥ，キーワードＢ」が設定されている。
【００８７】
［検索処理の詳細］
次に、検索処理の詳細について説明を行う。図１０及び図１１は、第１の実施の形態における検索処理の詳細を説明するフローチャートである。
【００８８】
検索装置１の検索条件受付部１１５は、図１０に示すように、利用者端末３から検索条件を受け付けるまで待機する（Ｓ４１のＮＯ）。そして、利用者端末３から検索条件を受け付けた場合（Ｓ４１のＹＥＳ）、検索装置１のキーワード判定部１１６は、Ｓ４１の処理で受け付けた検索条件に含まれる暗号化キーワードを１つ抽出する（Ｓ４２）。
【００８９】
その後、キーワード判定部１１６は、第１教師データ１３１に含まれる暗号化キーワードが追加される暗号化キーワード情報１３３に、Ｓ４１の処理で受け付けた検索条件に含まれる暗号化キーワードと平文が一致する暗号化キーワードが含まれているか否かを判定する（Ｓ４３）。
【００９０】
その結果、平文が一致する暗号化キーワードが含まれていると判定した場合（Ｓ４４のＹＥＳ）、検索装置１のキーワード変換部１１７は、Ｓ４４の処理で暗号化キーワード情報１３３に含まれていると判定した暗号化キーワードを、暗号化キーワード情報１３３に含まれる暗号化キーワードのうちの平文が一致する暗号化キーワードに置き換える（Ｓ４５）。一方、Ｓ４４の処理において平文が一致する暗号化キーワードが含まれていないと判定した場合（Ｓ４４のＮＯ）、検索装置１は、Ｓ４５の処理を行わない。
【００９１】
そして、Ｓ４１の処理で受け付けた検索条件に含まれる暗号化キーワードの全てを抽出したか否かを判定する（Ｓ４６）。
【００９２】
その結果、Ｓ４１の処理で受け付けた検索条件に含まれる暗号化キーワードの全ての抽出が完了していない場合（Ｓ４６のＮＯ）、キーワード判定部１１６は、Ｓ４２以降の処理を再度行う。以下、Ｓ４２からＳ４５の処理の具体例について説明を行う。
【００９３】
［Ｓ４２からＳ４６の処理の具体例］
図２０から図２３は、Ｓ４２からＳ４５の処理の具体例を説明する図である。具体的に、図２０から図２３は、検索条件に含まれる暗号化キーワードを置き換える過程の具体例を説明する図である。なお、以下、Ｓ４１の処理で受け付けた検索条件には、暗号化キーワードとして「キーワードＩ」、「キーワードＪ」、「キーワードＫ」、「キーワードＬ」、「キーワードＭ」、「キーワードＮ」及び「キーワードＯ」が含まれているものとして説明を行う。また、Ｓ４３の処理において、図１８で説明した暗号化キーワード情報１３３が参照されるものとして説明を行う。
【００９４】
初めに、教師データ生成部１１３は、例えば、Ｓ４１の処理で受け付けた検索条件に含まれる暗号化キーワードのうちの「キーワードＩ」を取得し、取得した「キーワードＩ」と平文が同じ暗号化キーワードが暗号化キーワード情報１３３に含まれているか否かを判定する（Ｓ４２、Ｓ４３）。ここで、図１８で説明した暗号化キーワード情報１３３には、「キーワードＡ」、「キーワードＢ」、「キーワードＣ」、「キーワードＥ」、「キーワードＦ」、「キーワードＧ」及び「キーワードＨ」が設定されている。そのため、教師データ生成部１１３は、「キーワードＩ」の平文が「キーワードＡ」、「キーワードＢ」、「キーワードＣ」、「キーワードＥ」、「キーワードＦ」、「キーワードＧ」または「キーワードＨ」の平文と一致するか否かを判定する。その結果、図２０に示すように、「キーワードＩ」の平文と「キーワードＢ」の平文とが一致する場合、教師データ生成部１１３は、図２１に示すように、Ｓ４１の処理で受け付けた検索条件に含まれる暗号化キーワードのうちの「キーワードＩ」を、「キーワードＩ」と平文が一致する「キーワードＢ」に置き換える。
【００９５】
また、教師データ生成部１１３は、例えば、Ｓ４１の処理で受け付けた検索条件に含まれる暗号化キーワードのうちの「キーワードＬ」を取得し、取得した「キーワードＬ」と平文が同じ暗号化キーワードが暗号化キーワード情報１３３に含まれているか否かを判定する（Ｓ４２、Ｓ４３）。すなわち、教師データ生成部１１３は、図２２に示すように、「キーワードＬ」の平文が「キーワードＡ」、「キーワードＢ」、「キーワードＣ」、「キーワードＥ」、「キーワードＦ」、「キーワードＧ」または「キーワードＨ」の平文と一致するか否かを判定する。その結果、「キーワードＬ」の平文が「キーワードＡ」、「キーワードＢ」、「キーワードＣ」、「キーワードＥ」、「キーワードＦ」、「キーワードＧ」及び「キーワードＨ」の平文のいずれとも異なる場合、教師データ生成部１１３は、図２２に示すように、Ｓ４１の処理で受け付けた検索条件に含まれる暗号化キーワードの置き換えを行わない。
【００９６】
その後、教師データ生成部１１３は、図２３に示すように、Ｓ４１の処理で受け付けた検索条件に含まれる暗号化キーワードの全てについてＳ４２からＳ４６の処理を行い、Ｓ４１の処理で受け付けた検索条件に含まれる暗号化キーワードの置き換えを行う。具体的に、教師データ生成部１１３は、図２３に示すように、暗号化キーワードとして「キーワードＢ」、「キーワードＦ」、「キーワードＡ」、「キーワードＬ」、「キーワードＢ」、「キーワードＥ」及び「キーワードＡ」が含まれるように、検索条件に含まれる暗号化キーワードの置き換えを行う。
【００９７】
図１０に戻り、Ｓ４１の処理で受け付けた検索条件に含まれる暗号化キーワードの全ての抽出が完了した場合（Ｓ４６のＹＥＳ）、キーワード変換部１１７は、図１１に示すように、情報格納領域１３０に記憶された評価モデル１３４を用いることにより、Ｓ４１で受け付けた検索条件、または、Ｓ４５で置き換えた検索条件に含まれる暗号化キーワードを、第２の情報に対応付けられた暗号化キーワードに変換する（Ｓ５１）。すなわち、キーワード変換部１１７は、学習処理で生成した評価モデル１３４を用いることによって、暗号化キーワードの変換を行う。
【００９８】
そして、検索装置１の検索実行部１１８は、Ｓ４５の処理等で暗号化キーワードを変換した検索条件に含まれる暗号化キーワードを用いて、記憶装置２に記憶された検索対象データＤＴを検索する（Ｓ５２）。その後、検索実行部１１８は、Ｓ４１の処理で受け付けた検索条件に対応する検索対象データＤＴとして、Ｓ５２の処理で検索した検索対象データＤＴを出力する（Ｓ５３）。具体的に、検索実行部１１８は、例えば、Ｓ４１の処理で受け付けた検索条件を送信した利用者端末３に対し、Ｓ５２の処理で検索した検索対象データＤＴを送信する。
【００９９】
このように、本実施の形態における検索装置１は、利用者端末３から受け付けるキーワードであることを示す第１の情報に対応付けられた暗号化キーワードと、検索に用いられる単語であることを示す第２の情報に対応付けられた暗号化キーワードと、をそれぞれが含む複数の教師データを取得する。
【０１００】
そして、検索装置１は、取得した複数の教師データに含まれる暗号化キーワードを抽出する。さらに、検索装置１は、抽出した暗号化キーワードに含まれる、暗号化前のキーワードが一致する複数の暗号化キーワードのうち、いずれかの暗号化キーワードを除く他の暗号化キーワードが、いずれかの暗号化キーワードに置き換えられた新たな複数の教師データを生成する。
【０１０１】
その後、検索装置１は、生成した新たな複数の教師データに含まれる暗号化キーワードのうち、第１の情報に対応付けられた暗号化キーワードを、第２の情報に対応付けられた暗号化キーワードに変換する評価モデル１３４を機械学習する。
【０１０２】
すなわち、検索装置１は、同じキーワードから生成された複数種類の暗号化キーワードをいずれか１種類の暗号化キーワードに置き換えた新たな教師データによって機械学習を行う。そして、検索装置１は、検索条件を受け付けた場合、受け付けた検索条件に含まれる暗号化キーワードを新たな教師データに含まれる暗号化キーワードに置き換えてから、評価モデル１３４を用いたキーワードの追加を行う。
【０１０３】
これにより、検索装置１は、同じキーワードから生成される暗号化キーワードが毎回異なる場合であっても、暗号化キーワードを含む教師データの機械学習を行うことが可能になり、検索精度を向上させることが可能になる。
【０１０４】
以上の実施の形態をまとめると、以下の付記の通りである。
【０１０５】
（付記１）
検索端末から受け付ける単語であることを示す第１の情報に対応付けられた暗号化済の単語である暗号化単語と、検索に用いられる単語であることを示す第２の情報に対応付けられた暗号化済の単語である暗号化単語と、をそれぞれが含む複数の教師データを取得し、
取得した前記複数の教師データに含まれる前記暗号化単語を抽出し、
抽出した前記暗号化単語に含まれる、平文が一致する複数の暗号化単語のうち、いずれかの暗号化単語を除く他の暗号化単語が前記いずれかの暗号化単語に置き換えられた新たな複数の教師データを生成し、
生成した前記新たな複数の教師データに含まれる暗号化単語のうち、前記第１の情報に対応付けられた暗号化単語を、前記第２の情報に対応付けられた暗号化単語に変換する変換パラメータを機械学習する、
ことを特徴とする学習方法。
【０１０６】
（付記２）
付記１において、
前記新たな複数の教師データを生成する工程では、
前記複数の教師データに含まれる暗号化単語が追加される暗号化単語群に、抽出した前記暗号化単語と平文が一致する暗号化単語が含まれているか否かを判定し、
前記平文が一致する暗号化単語が含まれていない場合、抽出した前記暗号化単語を前記暗号化単語群に追加し、前記平文が一致する暗号化単語が含まれている場合、抽出した前記暗号化単語を、前記暗号化単語群に含まれる暗号化単語のうちの前記平文が一致する暗号化単語に置き換える、
ことを特徴とする学習方法。
【０１０７】
（付記３）
付記２において、さらに、
前記検索端末から検索条件を受け付け、
前記暗号化単語群に、受け付けた前記検索条件に含まれる暗号化単語と平文が一致する暗号化単語が含まれているか否かを判定し、
前記平文が一致する暗号化単語が含まれている場合、前記検索条件に含まれる暗号化単語を、前記暗号化単語群に含まれる暗号化単語のうちの前記平文が一致する暗号化単語に置き換え、
前記変換パラメータにより、前記検索条件に含まれる暗号化単語を、前記第２の情報に対応付けられた暗号化単語に変換し、
変換した前記第２の情報に対応付けられた暗号化単語を用いて検索を行う、
ことを特徴とする学習方法。
【０１０８】
（付記４）
付記３において、
前記暗号化単語が含まれているか否かを判定する処理では、前記暗号化単語群に、前記検索条件に含まれる暗号化単語と一致しない暗号化単語であって、前記検索条件に含まれる暗号化単語と平文が一致する特定の暗号化単語が含まれているか否かを判定し、
前記暗号化単語を変換する処理では、前記特定の暗号化単語が含まれている場合、前記検索条件に含まれる暗号化単語を、前記特定の暗号化単語に置き換える、
ことを特徴とする学習方法。
【０１０９】
（付記５）
検索端末から検索条件を受け付け、
複数の教師データに含まれる暗号化済の単語である暗号化単語が追加される暗号化単語群に、受け付けた前記検索条件に含まれる暗号化単語と平文が一致する暗号化単語が含まれているか否かを判定し、
前記平文が一致する暗号化単語が含まれている場合、前記検索条件に含まれる暗号化単語のうちの前記平文が一致する暗号化単語を、前記暗号化単語群に含まれる暗号化単語のうちの前記平文が一致する暗号化単語に置き換え、
変換パラメータを用いることにより、前記検索条件に含まれる暗号化単語を、検索に用いられる単語であることを示す特定の情報に対応付けられた暗号化単語に変換し、
変換した前記特定の情報に対応付けられた暗号化単語を用いて検索を行う、
ことを特徴とする検索方法。
【０１１０】
（付記６）
付記５において、
前記暗号化単語群は、複数の教師データに含まれる暗号化単語のうち、平文が互いに異なる暗号化単語のみを含む、
ことを特徴とする検索方法。
【０１１１】
（付記７）
検索端末から受け付ける単語であることを示す第１の情報に対応付けられた暗号化済の単語である暗号化単語と、検索に用いられる単語であることを示す第２の情報に対応付けられた暗号化済の単語である暗号化単語と、をそれぞれが含む複数の教師データを取得する教師データ取得部と、
取得した前記複数の教師データに含まれる前記暗号化単語を抽出する単語抽出部と、
抽出した前記暗号化単語に含まれる、平文が一致する複数の暗号化単語のうち、いずれかの暗号化単語を除く他の暗号化単語が前記いずれかの暗号化単語に置き換えられた新たな複数の教師データを生成する教師データ生成部と、
生成した前記新たな複数の教師データに含まれる暗号化単語のうち、前記第１の情報に対応付けられた暗号化単語を、前記第２の情報に対応付けられた暗号化単語に変換する変換パラメータを機械学習する機械学習実行部と、を有する、
ことを特徴とする学習装置。
【０１１２】
（付記８）
付記７において、
前記教師データ生成部は、
前記複数の教師データに含まれる前記第１の情報または前記第２の情報に対応付けられた暗号化単語を抽出し、
前記複数の教師データに含まれる暗号化単語が追加される暗号化単語群に、抽出した前記第１の情報または前記第２の情報に対応付けられた暗号化単語と平文が一致する暗号化単語が含まれているか否かを判定し、
前記平文が一致する暗号化単語が含まれていない場合、前記第１の情報または前記第２の情報に対応付けられた暗号化単語を前記暗号化単語群に追加し、前記平文が一致する暗号化単語が含まれている場合、前記第１の情報または前記第２の情報に対応付けられた暗号化単語を、前記暗号化単語群に含まれる暗号化単語のうちの前記平文が一致する暗号化単語に置き換える、
ことを特徴とする学習装置。
【０１１３】
（付記９）
検索端末から受け付ける単語であることを示す第１の情報に対応付けられた暗号化済の単語である暗号化単語と、検索に用いられる単語であることを示す第２の情報に対応付けられた暗号化済の単語である暗号化単語と、をそれぞれが含む複数の教師データを取得し、
取得した前記複数の教師データに含まれる前記暗号化単語を抽出し、
抽出した前記暗号化単語に含まれる、平文が一致する複数の暗号化単語のうち、いずれかの暗号化単語を除く他の暗号化単語が前記いずれかの暗号化単語に置き換えられた新たな複数の教師データを生成し、
生成した前記新たな複数の教師データに含まれる暗号化単語のうち、前記第１の情報に対応付けられた暗号化単語を、前記第２の情報に対応付けられた暗号化単語に変換する変換パラメータを機械学習する、
処理をコンピュータに実行させることを特徴とする学習プログラム。
【０１１４】
（付記１０）
付記９において、
前記新たな複数の教師データを生成する処理では、
前記複数の教師データに含まれる前記第１の情報または前記第２の情報に対応付けられた暗号化単語を抽出し、
前記複数の教師データに含まれる暗号化単語が追加される暗号化単語群に、抽出した前記第１の情報または前記第２の情報に対応付けられた暗号化単語と平文が一致する暗号化単語が含まれているか否かを判定し、
前記平文が一致する暗号化単語が含まれていない場合、前記第１の情報または前記第２の情報に対応付けられた暗号化単語を前記暗号化単語群に追加し、前記平文が一致する暗号化単語が含まれている場合、前記第１の情報または前記第２の情報に対応付けられた暗号化単語を、前記暗号化単語群に含まれる暗号化単語のうちの前記平文が一致する暗号化単語に置き換える、
ことを特徴とする学習プログラム。
【０１１５】
（付記１１）
検索端末から検索条件を受け付ける検索条件受付部と、
複数の教師データに含まれる暗号化済の単語である暗号化単語が追加される暗号化単語群に、受け付けた前記検索条件に含まれる暗号化単語と平文が一致する暗号化単語が含まれているか否かを判定する単語判定部と、
前記平文が一致する暗号化単語が含まれている場合、前記検索条件に含まれる暗号化単語のうちの前記平文が一致する暗号化単語を、前記暗号化単語群に含まれる暗号化単語のうちの前記平文が一致する暗号化単語に置き換え、変換パラメータを用いることにより、前記検索条件に含まれる暗号化単語を、検索に用いられる単語であることを示す特定の情報に対応付けられた暗号化単語に変換する単語変換部と、
変換した前記特定の情報に対応付けられた暗号化単語を用いて検索を行う検索実行部と、を有する、
ことを特徴とする検索装置。
【０１１６】
（付記１２）
検索端末から検索条件を受け付け、
複数の教師データに含まれる暗号化済の単語である暗号化単語が追加される暗号化単語群に、受け付けた前記検索条件に含まれる暗号化単語と平文が一致する暗号化単語が含まれているか否かを判定し、
前記平文が一致する暗号化単語が含まれている場合、前記検索条件に含まれる暗号化単語のうちの前記平文が一致する暗号化単語を、前記暗号化単語群に含まれる暗号化単語のうちの前記平文が一致する暗号化単語に置き換え、
変換パラメータを用いることにより、前記検索条件に含まれる暗号化単語を、検索に用いられる単語であることを示す特定の情報に対応付けられた暗号化単語に変換し、
変換した前記特定の情報に対応付けられた暗号化単語を用いて検索を行う、
処理をコンピュータに実行させることを特徴とする検索プログラム。
【符号の説明】
【０１１７】
１：検索装置                ２ａ：記憶装置
３ａ：利用者端末            ３ｂ：利用者端末
３ｃ：利用者端末            ４：事業者端末
１３０：情報格納領域        １３４：評価モデル
ＤＴ：検索対象データ        ＮＷ：ネットワーク
【図１】
2018163394.tif 000003
【図２】
2018163394.tif 000004
【図３】
2018163394.tif 000005
【図４】
2018163394.tif 000006
【図５】
2018163394.tif 000007
【図６】
2018163394.tif 000008
【図７】
2018163394.tif 000009
【図８】
2018163394.tif 000010
【図９】
2018163394.tif 000011
【図１０】
2018163394.tif 000012
【図１１】
2018163394.tif 000013
【図１２】
2018163394.tif 000014
【図１３】
2018163394.tif 000015
【図１４】
2018163394.tif 000016
【図１５】
2018163394.tif 000017
【図１６】
2018163394.tif 000018
【図１７】
2018163394.tif 000019
【図１８】
2018163394.tif 000020
【図１９】
2018163394.tif 000021
【図２０】
2018163394.tif 000022
【図２１】
2018163394.tif 000023
【図２２】
2018163394.tif 000024
【図２３】
2018163394.tif 000025