JP2018163394A - 学習方法、学習装置、学習プログラム、検索方法、検索装置及び検索プログラム - Google Patents

学習方法、学習装置、学習プログラム、検索方法、検索装置及び検索プログラム Download PDF

Info

Publication number
JP2018163394A
JP2018163394A JP2017058719A JP2017058719A JP2018163394A JP 2018163394 A JP2018163394 A JP 2018163394A JP 2017058719 A JP2017058719 A JP 2017058719A JP 2017058719 A JP2017058719 A JP 2017058719A JP 2018163394 A JP2018163394 A JP 2018163394A
Authority
JP
Japan
Prior art keywords
encrypted
word
search
keyword
encrypted word
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017058719A
Other languages
English (en)
Other versions
JP6836068B2 (ja
Inventor
佳祐 廣田
Keisuke Hirota
佳祐 廣田
大紀 塙
Daiki Hanawa
大紀 塙
信子 高瀬
Nobuko Takase
信子 高瀬
俊秀 宮城
Toshihide Miyagi
俊秀 宮城
淳真 工藤
Jumma Kudo
淳真 工藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017058719A priority Critical patent/JP6836068B2/ja
Priority to US15/908,408 priority patent/US11195121B2/en
Publication of JP2018163394A publication Critical patent/JP2018163394A/ja
Application granted granted Critical
Publication of JP6836068B2 publication Critical patent/JP6836068B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】暗号化キーワードを含む教師データを用いた機械学習を可能とする学習方法、学習装置、学習プログラム、検索方法、検索装置及び検索プログラムを提供する。
【解決手段】複数の教師データに含まれる暗号化単語を抽出し、抽出した暗号化単語に含まれる、平文が一致する複数の暗号化単語のうち、いずれかの暗号化単語を除く他の暗号化単語がいずれかの暗号化単語に置き換えられた新たな複数の教師データを生成し、生成した新たな複数の教師データに含まれる暗号化単語のうち、第1の情報に対応付けられた暗号化単語を、第2の情報に対応付けられた暗号化単語に変換する変換パラメータを機械学習する。
【選択図】図4

Description

本発明は、学習方法、学習装置、学習プログラム、検索方法、検索装置及び検索プログラムに関する。
例えば、利用者にサービスを提供する事業者(以下、単に事業者とも呼ぶ)は、サービスの提供を行うための情報処理システムを構築して稼働させる。
具体的に、事業者は、例えば、情報処理システムとして、検索装置に記憶されたデータ(以下、検索対象データとも呼ぶ)から必要なデータの検索を行う検索システムを構築する。そして、利用者は、例えば、1以上のキーワード(以下、単語とも呼ぶ)からなる検索条件を検索装置に入力し、検索条件に対応するデータを検索結果として取得する。
上記のような検索装置では、例えば、利用者によって検索条件が入力された場合、教師データの機械学習によって生成された評価モデルを用いることにより、検索条件に含まれるキーワードと関連するキーワードの特定を行う。そして、検索装置は、特定したキーワードを追加したキーワードからなる検索条件によって検索を行う。これにより、利用者は、検索精度を向上させることが可能になる(例えば、特許文献1参照)。
国際公開第2015/063905号
上記のような検索システムでは、近年のクラウド技術の普及に伴い、例えば、検索装置をクラウド上に配置する場合がある。そして、この場合、検索装置に対して送信されるデータや検索装置から送信されるデータがインターネット等の外部ネットワークを経由することになるため、検索システムでは、外部ネットワークを経由する各データの暗号化を行う。
ここで、同じキーワード(平文)を暗号化することにより生成されるキーワード(以下、暗号化キーワードまたは暗号化単語とも呼ぶ)が毎回同じである場合、暗号化キーワードの出現頻度やパターン等によって、暗号化前のキーワードが外部の者等に推測される可能性がある。そのため、事業者は、例えば、同じキーワードから毎回異なる暗号化キーワードを生成することが可能な技術(例えば、検索可能暗号)を用いてキーワードの暗号化を行う。これにより、事業者は、暗号化前のキーワードが推測されることを防止することが可能になる。
しかしながら、同じキーワードから生成される暗号化キーワードが毎回異なる場合、事業者は、暗号化キーワードを含む教師データを作成することができない。そのため、検索装置は、この場合、教師データの機械学習を行うことができず、検索精度を向上させることができない。
そこで、一つの側面では、暗号化キーワードを含む教師データを用いた機械学習を可能とする学習方法、学習装置、学習プログラム、検索方法、検索装置及び検索プログラムを提供することを目的とする。
実施の形態の一つの態様によれば、検索端末から受け付ける単語であることを示す第1の情報に対応付けられた暗号化済の単語である暗号化単語と、検索に用いられる単語であることを示す第2の情報に対応付けられた暗号化済の単語である暗号化単語と、をそれぞれが含む複数の教師データを取得し、取得した前記複数の教師データに含まれる前記暗号化単語を抽出し、抽出した前記暗号化単語に含まれる、平文が一致する複数の暗号化単語のうち、いずれかの暗号化単語を除く他の暗号化単語が前記いずれかの暗号化単語に置き換えられた新たな複数の教師データを生成し、生成した前記新たな複数の教師データに含まれる暗号化単語のうち、前記第1の情報に対応付けられた暗号化単語を、前記第2の情報に対応付けられた暗号化単語に変換する変換パラメータを機械学習する。
一つの側面によれば、暗号化キーワードを含む教師データを用いた機械学習を可能とする。
図1は、情報処理システム10の全体構成を示す図である。 図2は、検索装置1のハードウエア構成を説明する図である。 図3は、検索装置1の機能ブロック図である。 図4は、第1の実施の形態における学習処理及び検索処理の概略を説明するフローチャートである。 図5は、第1の実施の形態における学習処理及び検索処理の概略を説明するフローチャートである。 図6は、第1の実施の形態における学習処理及び検索処理の概略を説明する図である。 図7は、第1の実施の形態における学習処理及び検索処理の概略を説明する図である。 図8は、第1の実施の形態における学習処理及び検索処理の詳細を説明するフローチャートである。 図9は、第1の実施の形態における学習処理及び検索処理の詳細を説明するフローチャートである。 図10は、第1の実施の形態における学習処理及び検索処理の詳細を説明するフローチャートである。 図11は、第1の実施の形態における学習処理及び検索処理の詳細を説明するフローチャートである。 図12は、第1教師データ131に含まれる暗号化キーワードの具体例を説明する図である。 図13は、S24からS34の処理の具体例を説明する図である。 図14は、S24からS34の処理の具体例を説明する図である。 図15は、S24からS34の処理の具体例を説明する図である。 図16は、S24からS34の処理の具体例を説明する図である。 図17は、S24からS34の処理の具体例を説明する図である。 図18は、S24からS34の処理の具体例を説明する図である。 図19は、第2教師データ132に含まれる暗号化キーワードの具体例を説明する図である。 図20は、S42からS45の処理の具体例を説明する図である。 図21は、S42からS45の処理の具体例を説明する図である。 図22は、S42からS45の処理の具体例を説明する図である。 図23は、S42からS45の処理の具体例を説明する図である。
[情報処理システムの構成]
図1は、情報処理システム10の全体構成を示す図である。図1に示す情報処理システム10は、検索装置1(以下、情報処理装置1とも呼ぶ)と、記憶装置2と、利用者端末3(以下、検索端末3とも呼ぶ)と、事業者端末4とが含まれている。図1に示す例において、利用者端末3には、利用者端末3a、3b及び3cが含まれている。
検索装置1は、例えば、複数の物理マシンから構成され、CPU(Central Computing Unit)と、メモリ(DRAM:Dynamic Random Access Memory)と、ハードディスク(HDD:Hard Disk Drive)等とを有する。
検索装置1は、利用者が利用者端末3を介して送信する検索条件に含まれると予測されるキーワードと、検索条件に対するデータを適切に検索するために必要なキーワードとをそれぞれ含む複数の教師データの機械学習を行う。具体的に、検索装置1は、事業者が事業者端末4を介して入力した複数の教師データの機械学習を行う。そして、検索装置1は、複数の教師データの機械学習を行うことによって評価モデル134(以下、変換パラメータ134とも呼ぶ)を生成し、検索装置1の情報格納領域130に記憶する。なお、以下、検索条件に含まれると予測されるキーワードであることを示す情報を第1の情報とも呼び、検索条件に対するデータを適切に検索するために必要なキーワードであることを示す情報を第2の情報とも呼ぶ。
その後、検索装置1は、例えば、利用者が利用者端末3を介して送信した検索条件を受信した場合、受信した検索条件に含まれるキーワードを抽出する。具体的に、検索装置1は、例えば、受信した検索条件に含まれる文を形態素分割することにより、キーワードの抽出を行う。そして、検索装置1は、この場合、情報格納領域130に記憶された評価モデル134を用いることによって、抽出したキーワードに新たなキーワードを追加する。
さらに、検索装置1は、検索対象のデータ(以下、検索対象データDT)を記憶した記憶装置2にアクセスし、例えば、新たなキーワードが追加されたキーワードをより多く含む検索対象データDTの抽出を行う。そして、検索装置1は、抽出した検索対象データDTを検索結果として利用者端末3(検索条件を送信した利用者端末3)に送信する。
これにより、利用者は、利用者が検索装置1に対して送信した検索条件に応じた検索対象データDTの検索を行うことが可能になる。
ここで、図1に示す例において、検索装置1及び利用者端末3は、例えば、インターネット等のネットワークNWを介して接続される。そのため、事業者は、この場合、ネットワークNWを経由するデータ(例えば、検索装置1に対して送信されるデータや検索装置1から送信されるデータ)の暗号化を行う必要がある。
この点、同じキーワード(平文)を暗号化することにより生成される暗号化キーワードが毎回同じである場合、暗号化キーワードの出現頻度やパターン等によって、暗号化前のキーワードが推測される可能性がある。そのため、事業者は、例えば、同じキーワードから毎回異なる暗号化キーワードを生成することが可能な技術(例えば、検索可能暗号)を用いてキーワードの暗号化を行う。これにより、事業者は、暗号化前のキーワードが推測されることを防止することが可能になる。
しかしながら、同じキーワードから生成される暗号化キーワードが毎回異なる場合、事業者は、暗号化キーワードを含む教師データを作成することができない。そのため、検索装置1は、この場合、教師データの機械学習を行うことができず、検索精度を向上させることができない。
そこで、本実施の形態における検索装置1は、利用者端末3から受け付けるキーワードであることを示す第1の情報に対応付けられた暗号化キーワードと、検索に用いられる単語であることを示す第2の情報に対応付けられた暗号化キーワードと、をそれぞれが含む複数の教師データを取得する。そして、検索装置1は、取得した複数の教師データに含まれる暗号化キーワードを抽出する。
さらに、検索装置1は、抽出した暗号化キーワードに含まれる、暗号化前のキーワードが一致する複数の暗号化キーワードのうち、いずれかの暗号化キーワードを除く他の暗号化キーワードが、そのいずれかの暗号化キーワードに置き換えられた新たな複数の教師データを生成する。
その後、検索装置1は、生成した新たな複数の教師データに含まれる暗号化キーワードのうち、第1の情報に対応付けられた暗号化キーワードを、第2の情報に対応付けられた暗号化キーワードに変換する評価モデル134を機械学習する。
すなわち、検索装置1は、同じキーワードから生成された複数種類の暗号化キーワードをいずれか1種類の暗号化キーワードに置き換えた新たな教師データによって機械学習を行う。そして、検索装置1は、検索条件を受け付けた場合、受け付けた検索条件に含まれる暗号化キーワードを新たな教師データに含まれる暗号化キーワードに置き換えてから、評価モデル134を用いたキーワードの追加を行う。
これにより、検索装置1は、同じキーワードから生成される暗号化キーワードが毎回異なる場合であっても、暗号化キーワードを含む教師データの機械学習を行うことが可能になり、検索精度を向上させることが可能になる。
[検索装置のハードウエア構成]
次に、検索装置1のハードウエア構成について説明する。図2は、検索装置1のハードウエア構成を説明する図である。
検索装置1は、図2に示すように、プロセッサであるCPU101と、メモリ102と、外部インターフェース(I/Oユニット)103と、記憶媒体(ストレージ)104とを有する。各部は、バス105を介して互いに接続される。
記憶媒体104は、記憶媒体104内のプログラム格納領域(図示しない)に、暗号化キーワードの機械学習を行う処理(以下、学習処理とも呼ぶ)や記憶装置2に記憶された検索対象データDTの検索を行う処理(以下、検索処理とも呼ぶ)を行うためのプログラム110を記憶する。
CPU101は、図2に示すように、プログラム110の実行時に、プログラム110を記憶媒体104からメモリ102にロードし、プログラム110と協働して学習処理及び検索処理を行う。
記憶媒体104は、例えば、学習処理及び検索処理を行う際に用いられる情報を記憶する情報格納領域130(以下、記憶部130とも呼ぶ)を有する。
外部インターフェース103(I/Oユニット103)は、ネットワークNWを介して利用者端末3と通信を行う。また、外部インターフェース103は、記憶装置2及び事業者端末4との通信を行う。
[検索装置のソフトウエア構成]
次に、検索装置1のソフトウエア構成について説明する。図3は、検索装置1の機能ブロック図である。
CPU101は、図3に示すように、プログラム110と協働することにより、教師データ取得部111と、キーワード抽出部112(以下、単語抽出部112とも呼ぶ)と、教師データ生成部113と、機械学習実行部114として動作する。また、CPU101は、図3に示すように、プログラム110と協働することにより、検索条件受付部115と、キーワード判定部116(以下、単語判定部116とも呼ぶ)と、キーワード変換部117(以下、単語変換部117とも呼ぶ)と、検索実行部118として動作する。さらに、情報格納領域130には、図3に示すように、第1教師データ131と、第2教師データ132と、暗号化キーワード情報133(以下、暗号化単語群133とも呼ぶ)と、評価モデル134とが記憶される。
教師データ取得部111は、利用者端末3から受け付けるキーワードであることを示す第1の情報に対応付けられた暗号化キーワードと、検索に用いられるキーワードであることを示す第2の情報に対応付けられた暗号化キーワードと、をそれぞれが含む第1教師データ131を取得する。具体的に、教師データ取得部111は、例えば、事業者が情報処理装置1に対して第1教師データ131を入力したことに応じて、入力された第1教師データ131の取得を行うものであってよい。また、教師データ取得部111は、例えば、事業者によって情報格納領域130に予め記憶された第1教師データ131の取得を行うものであってもよい。
キーワード抽出部112は、教師データ取得部111が取得した第1教師データ131に含まれる暗号化キーワード(第1の情報または第2の情報に対応付けられた暗号化キーワード)を抽出する。
教師データ生成部113は、キーワード抽出部112が抽出した暗号化キーワードに含まれる、暗号化前のキーワード(平文)が一致する複数の暗号化キーワードのうち、いずれかの暗号化キーワードを除く他の暗号化キーワードが、そのいずれかの暗号化キーワードに置き換えられた第2教師データ132を生成する。
具体的に、教師データ生成部113は、情報格納領域130に記憶された暗号化キーワード情報133に、キーワード抽出部112が抽出した暗号化キーワードと平文が一致する暗号化キーワードが含まれているか否かを判定する。暗号化キーワード情報133は、第1教師データ131に含まれる暗号化キーワードが随時追加される情報である。そして、暗号化キーワード情報133に、キーワード抽出部112が抽出した暗号化キーワードと平文が一致する暗号化キーワードが含まれていない場合、教師データ生成部113は、キーワード抽出部112が抽出した暗号化キーワードを暗号化キーワード情報133に追加する。一方、暗号化キーワード情報133に、キーワード抽出部112が抽出した暗号化キーワードと平文が一致する暗号化キーワードが含まれている場合、教師データ生成部113は、キーワード抽出部112が抽出した暗号化キーワードを、暗号化キーワード情報133に含まれるキーワードのうちの平文が一致する暗号化キーワードに置き換える。
なお、各暗号化キーワードが検索可能暗号によって暗号化されている場合、教師データ生成部113は、例えば、キーワード抽出部112が抽出した暗号化キーワードにそれぞれ含まれるトラップドアを用いることによって、複数の暗号化キーワードの平文が互いに一致するか否かの判定を行うものであってよい。
機械学習実行部114は、教師データ生成部113が生成した第2教師データ132に含まれる暗号化キーワードのうち、第1の情報に対応付けられた暗号化キーワードを第2の情報に対応付けられた暗号化キーワードに変換する評価モデル134を機械学習する。
検索条件受付部115は、例えば、機械学習実行部114による評価モデル134の機械学習が行われた後、利用者端末3から検索条件を受け付ける。
キーワード判定部116は、情報格納領域130に記憶された暗号化キーワード情報133に、検索条件受付部115が受け付けた検索条件に含まれる暗号化キーワードと平文が一致する暗号化キーワードが含まれているか否かを判定する。
キーワード変換部117は、キーワード判定部116が暗号化キーワード情報133に平文が一致する暗号化キーワードが含まれていると判定した場合、検索条件受付部115が受け付けた検索条件に含まれる暗号化キーワードを、暗号化キーワード情報133に含まれる暗号化キーワードのうちの平文が一致する暗号化キーワードに置き換える。
そして、キーワード変換部117は、情報格納領域130に記憶された評価モデル134を用いることにより、検索条件受付部115が受け付けた検索条件に含まれる暗号化キーワード、または、キーワード変換部117が置き換えた暗号化キーワードを、第2の情報に対応付けられた暗号化キーワードに変換する。具体的に、キーワード変換部117は、検索条件受付部115が受け付けた検索条件に含まれる暗号化キーワード、または、キーワード変換部117が置き換えた暗号化キーワードに対し、検索を精度良く行うために追加した方が好ましい暗号化キーワードの追加を行う。
検索実行部118は、キーワード変換部117が変換した暗号化キーワード(第2の情報に対応付けられた暗号化キーワード)を用いて検索を行う。
具体的に、検索実行部118は、記憶装置2に記憶された暗号化データである検索対象データDTのうち、キーワード変換部117が変換した暗号化キーワードをより多く含むデータを特定する。そして、検索実行部118は、例えば、特定したデータを検索結果として利用者端末3(検索装置1に対して検索条件を送信した利用者端末3)に送信する。
[第1の実施の形態の概略]
次に、第1の実施の形態の概略について説明する。図4及び図5は、第1の実施の形態における学習処理及び検索処理の概略を説明するフローチャートである。また、図6及び図7は、第1の実施の形態における学習処理及び検索処理の概略を説明する図である。図6及び図7を参照しながら、図4及び図5の第1の実施の形態における学習処理及び検索処理の説明を行う。
[学習処理の概略]
初めに、学習処理の概略について説明を行う。図4は、第1の実施の形態における学習処理の概略を説明するフローチャートである。
検索装置1は、図4に示すように、学習タイミングまで待機する(S1のNO)。学習タイミングは、例えば、事業者が事業者端末4を介して暗号化キーワードの機械学習を行う旨の入力を行ったタイミングであってよい。
そして、学習タイミングになった場合(S1のYES)、検索装置1は、利用者端末3から受け付けるキーワードであることを示す第1の情報に対応付けられた暗号化キーワードと、検索に用いられるキーワードであることを示す第2の情報に対応付けられた暗号化キーワードと、をそれぞれが含む第1教師データ131を取得する(S2)。
続いて、検索装置1は、S2の処理で取得した第1教師データ131に含まれる暗号化キーワードを抽出する(S3)。さらに、検索装置1は、図6に示すように、S3の処理で抽出した暗号化キーワードに含まれる、平文が一致する複数の暗号化キーワードのうち、いずれかの暗号化キーワードを除く他の暗号化キーワードが、そのいずれかの暗号化キーワードに置き換えられた第2教師データ132を生成する(S4)。
その後、検索装置1は、図6に示すように、S4の処理で生成した第2教師データ132に含まれる暗号化キーワードのうち、第1の情報に対応付けられた暗号化キーワードを、第2の情報に対応付けられた暗号化キーワードに変換する評価モデル134を機械学習する(S5)。
すなわち、検索装置1は、同じキーワードから生成された複数種類の暗号化キーワードをいずれか1種類の暗号化キーワードに置き換えた新たな教師データによって機械学習を行う。そして、検索装置1は、検索条件を受け付けた場合、受け付けた検索条件に含まれる暗号化キーワードを新たな教師データに含まれる暗号化キーワードに置き換えてから、評価モデル134を用いたキーワードの追加を行う。
これにより、検索装置1は、同じキーワードから生成される暗号化キーワードが毎回異なる場合であっても、暗号化キーワードを含む教師データの機械学習を行うことが可能になる。
[検索処理の概略]
次に、検索処理の概略について説明を行う。図5は、第1の実施の形態における検索処理の概略を説明するフローチャートである。
検索装置1は、利用者端末3から検索条件を受け付けるまで待機する(S11のNO)。具体的に、検索装置1は、図7に示すように、利用者が利用者端末3を介して検索条件を入力するまで待機する。
そして、利用者端末3から検索条件を受け付けた場合(S11のYES)、検索装置1は、第1教師データ131に含まれる暗号化キーワードが追加される暗号化キーワード情報133に、S11の処理で受け付けた検索条件に含まれる暗号化キーワードと平文が一致する暗号化キーワードが含まれているか否かを判定する(S12)。
その結果、平文が一致する暗号化キーワードが含まれていると判定した場合(S13のYES)、検索装置1は、S13の処理で暗号化キーワード情報133に含まれていると判定した暗号化キーワードを、暗号化キーワード情報133に含まれる暗号化キーワードのうちの平文が一致する暗号化キーワードに置き換える(S14)。一方、S13の処理において平文が一致する暗号化キーワードが含まれていないと判定した場合(S13のNO)、検索装置1は、S14の処理を行わない。
続いて、検索装置1は、図7に示すように、情報格納領域130に記憶された評価モデル134を用いることにより、S11の処理で受け付けた検索条件、または、S14の処理で置き換えた検索条件に含まれる暗号化キーワードを、第2の情報に対応付けられた暗号化単語に変換する(S15)。
その後、検索装置1は、図7に示すように、S15の処理で変換した暗号化キーワードを用いて検索を行う(S16)。具体的に、検索装置1は、S15の処理で変換した暗号化キーワードによって、記憶装置2に記憶された検索対象データDTの検索を行う。
すなわち、検索装置1は、検索条件に含まれる暗号化キーワードの全てが、暗号化キーワード情報133に含まれる暗号化キーワード(評価モデル134を生成する際に用いた第2教師データ132に含まれる暗号化キーワード)になるように置き換えを行ってから、評価モデル134を用いた暗号化キーワードの変換を行う。
これにより、検索装置1は、同じ平文から生成される暗号化データが毎回異なる場合であっても、学習処理において生成された評価モデル134を用いることで、検索精度を向上させることが可能になる。
[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明する。図8から図11は、第1の実施の形態における学習処理及び検索処理の詳細を説明するフローチャートである。また、図12から図23は、第1の実施の形態における学習処理及び検索処理の詳細を説明する図である。図12から図23を参照しながら、図8から図11に示す学習処理及び検索処理を説明する。
[学習処理の詳細]
初めに、学習処理の詳細について説明を行う。図8及び図9は、第1の実施の形態における学習処理の詳細を説明するフローチャートである。
検索装置1の教師データ取得部111は、学習タイミングまで待機する(S21のNO)。そして、学習タイミングになった場合(S21のYES)、教師データ取得部111は、利用者端末3から受け付けるキーワードであることを示す第1の情報に対応付けられた暗号化キーワードと、検索に用いられるキーワードであることを示す第2の情報に対応付けられた暗号化キーワードと、をそれぞれが含む第1教師データ131を取得する(S22)。すなわち、検索装置1は、この場合、第2教師データ132の生成を開始する。
その後、検索装置1のキーワード抽出部112は、S22の処理で取得した第1教師データ131に含まれる暗号化キーワードを抽出する(S23)。以下、第1教師データ131から抽出される暗号化キーワードの具体例について説明を行う。
[第1教師データの具体例]
図12は、第1教師データ131に含まれる暗号化キーワードの具体例を説明する図である。図12に示す情報は、各情報を識別する「項番」と、検索装置1から送信された検索条件に含まれると予測される暗号化キーワードが設定される「暗号化キーワード」とを項目として有する。また、図12に示す情報は、適切な検索対象データDTを検索するために追加することが好ましい暗号化キーワードが設定される「追加キーワード」を項目として有する。
具体的に、図12に示す情報において、「項番」が「1」である情報には、「暗号化キーワード」として「キーワードA,キーワードB」が設定され、「追加キーワード」として「キーワードC」が設定されている。また、図12に示す情報において、「項番」が「2」である情報には、「暗号化キーワード」として「キーワードD,キーワードE」が設定され、「追加キーワード」として「キーワードF」が設定されている。さらに、図12に示す情報において、「項番」が「3」である情報には、「暗号化キーワード」として「キーワードG」が設定され、「追加キーワード」として「キーワードH」が設定されている。
図8に戻り、検索装置1の教師データ生成部113は、第1教師データ131に含まれる暗号化キーワードから第1の情報または第2の情報に対応付けられた暗号化単語を1つ抽出する(S24)。具体的に、教師データ生成部113は、例えば、図12で説明した情報における「項番」が「1」である情報の「暗号化キーワード」に設定された情報である「キーワードA」を抽出する。
そして、教師データ生成部113は、第1教師データ131に含まれる暗号化キーワードが追加される暗号化キーワード情報133に、S24の処理で抽出した暗号化キーワードと平文が一致する暗号化キーワードが含まれているか否かを判定する(S25)。具体的に、教師データ生成部113は、例えば、暗号化キーワード情報133に、S22の処理で取得した第1教師データ131に含まれる暗号化キーワードと異なる暗号化キーワードであって、S24の処理で抽出した第1の情報または第2の情報に対応付けられた暗号化キーワードと平文が一致する暗号化キーワードが含まれているか否かの判定を行う。
その結果、図9に示すように、平文が一致する暗号化キーワードが含まれていないと判定した場合(S31のNO)、教師データ生成部113は、S24の処理で抽出した暗号化キーワードを暗号化キーワード情報133に追加する(S32)。
一方、平文が一致する暗号化キーワードが含まれていると判定した場合(S31のYES)、教師データ生成部113は、S24の処理で抽出した暗号化キーワードを、S25の処理で含まれていた暗号化キーワードに置き換える(S33)。
そして、S32またはS33の処理の後、教師データ生成部113は、S22の処理で取得された第1教師データ131に含まれる暗号化キーワードの全てを抽出したか否かを判定する(S34)。
その結果、S22の処理で取得した第1教師データ131に含まれる暗号化キーワードの全ての抽出が完了していない場合、すなわち、第2教師データ132の生成が完了していない場合(S34のNO)、教師データ生成部113は、S24以降の処理を再度行う。以下、S24からS34の処理の具体例について説明を行う。
[S24からS34の処理の具体例]
図13から図18は、S24からS34の処理の具体例を説明する図である。具体的に、図13から図18は、暗号化キーワード情報133の生成過程の具体例を説明する図である。
初めに、教師データ生成部113は、例えば、図12で説明した情報における「項番」が「1」である情報の「暗号化キーワード」に設定された「キーワードA」を取得し、取得した「キーワードA」と平文が同じ暗号化キーワードが暗号化キーワード情報133に含まれているか否かを判定する(S24、S25)。この場合、暗号化キーワード情報133には、暗号化キーワードがまだ設定されていない。そのため、教師データ生成部113は、図13に示すように、例えば、暗号化キーワード情報133における「項番」が「1」である情報の「暗号化キーワード」に「キーワードA」を設定する(S31のNO、S32、S34のNO)。
次に、教師データ生成部113は、例えば、図12で説明した情報における「項番」が「1」である情報の「暗号化キーワード」に設定された「キーワードB」を取得し、取得した「キーワードA」と平文が同じ暗号化キーワードが暗号化キーワード情報133に含まれているか否かを判定する(S24、S25)。この場合、暗号化キーワード情報133には、図13に示すように、「キーワードA」が設定されている。そのため、教師データ生成部113は、「キーワードA」の平文と「キーワードB」の平文とが一致するか否かを判定する。その結果、「キーワードA」の平文と「キーワードB」の平文とが異なる場合、教師データ生成部113は、図14に示すように、例えば、暗号化キーワード情報133における「項番」が「2」である情報の「暗号化キーワード」に「キーワードB」を設定する(S31のNO、S32、S34のNO)。
続いて、教師データ生成部113は、例えば、図12で説明した情報における「項番」が「1」である情報の「追加キーワード」に設定された「キーワードC」を取得し、取得した「キーワードC」と平文が同じ暗号化キーワードが暗号化キーワード情報133に含まれているか否かを判定する(S24、S25)。この場合、暗号化キーワード情報133には、図14に示すように、「キーワードA」及び「キーワードB」が設定されている。そのため、教師データ生成部113は、「キーワードC」の平文が「キーワードA」の平文または「キーワードB」の平文と一致するか否かを判定する。その結果、「キーワードA」の平文が「キーワードA」の平文及び「キーワードB」の平文と異なる場合、教師データ生成部113は、図15に示すように、例えば、暗号化キーワード情報133における「項番」が「3」である情報の「暗号化キーワード」に「キーワードC」を設定する(S31のNO、S32、S34のNO)。
続いて、教師データ生成部113は、例えば、図12で説明した情報における「項番」が「2」である情報の「暗号化キーワード」に設定された「キーワードD」を取得し、取得した「キーワードD」と平文が同じ暗号化キーワードが暗号化キーワード情報133に含まれているか否かを判定する(S24、S25)。この場合、暗号化キーワード情報133には、図15に示すように、「キーワードA」、「キーワードB」及び「キーワードC」が設定されている。そのため、教師データ生成部113は、「キーワードD」の平文が「キーワードA」、「キーワードB」及び「キーワードC」の平文のいずれかと一致するか否かを判定する。その結果、「キーワードD」の平文が「キーワードB」の平文と一致する場合、教師データ生成部113は、図16に示すように、暗号化キーワード情報133に「キーワードD」を設定しない(S31のYES)。
そして、この場合、教師データ生成部113は、図17に示すように、第1教師データ131に含まれる暗号化キーワードである「キーワードD」を、「キーワードD」と平文が一致した「キーワードB」に置き換える(S33)。
その後、教師データ生成部113は、図18に示すように、第1教師データ131に含まれる暗号化キーワードの全てについてS24からS33の処理を行い、暗号化キーワード情報133の生成を行う。具体的に、教師データ生成部113は、図18に示すように、暗号化キーワードとして「キーワードA」、「キーワードB」、「キーワードC」、「キーワードE」、「キーワードF」、「キーワードG」及び「キーワードH」を含む暗号化キーワード情報133の生成を行う。
図9に戻り、S22の処理で取得された第1教師データ131に含まれる暗号化キーワードの全てが抽出済である場合、すなわち、第2教師データ132の生成が完了した場合(S34のYES)、教師データ生成部113は、S33の処理等で生成した第2教師データ132に含まれる暗号化キーワードのうち、第1の情報に対応付けられた暗号化キーワードを、第2の情報に対応付けられた暗号化キーワードに変換する評価モデル134を機械学習する(S35)。
これにより、検索装置1は、同じ平文から生成される暗号化データが毎回異なる場合であっても、評価モデル134の機械学習を行うことが可能になる。以下、第2教師データ132の具体例について説明を行う。
[第2教師データの具体例]
図19は、第2教師データ132に含まれる暗号化キーワードの具体例を説明する図である。図19に示す情報は、図12で説明した第1教師データ131と同じ項目を有している。
具体的に、図19に示す情報において、「項番」が「1」である情報には、「暗号化キーワード」として「キーワードA,キーワードB」が設定され、「追加キーワード」として「キーワードC」が設定されている。また、図19に示す情報において、「項番」が「2」である情報には、「暗号化キーワード」として「キーワードB,キーワードE」が設定され、「追加キーワード」として「キーワードF」が設定されている。さらに、図19に示す情報において、「項番」が「3」である情報には、「暗号化キーワード」として「キーワードG」が設定され、「追加キーワード」として「キーワードH」が設定されている。
すなわち、図19に示す情報における「項番」が「2」である情報の「暗号化キーワード」には、図12で説明した情報と異なり、「キーワードE,キーワードB」が設定されている。
[検索処理の詳細]
次に、検索処理の詳細について説明を行う。図10及び図11は、第1の実施の形態における検索処理の詳細を説明するフローチャートである。
検索装置1の検索条件受付部115は、図10に示すように、利用者端末3から検索条件を受け付けるまで待機する(S41のNO)。そして、利用者端末3から検索条件を受け付けた場合(S41のYES)、検索装置1のキーワード判定部116は、S41の処理で受け付けた検索条件に含まれる暗号化キーワードを1つ抽出する(S42)。
その後、キーワード判定部116は、第1教師データ131に含まれる暗号化キーワードが追加される暗号化キーワード情報133に、S41の処理で受け付けた検索条件に含まれる暗号化キーワードと平文が一致する暗号化キーワードが含まれているか否かを判定する(S43)。
その結果、平文が一致する暗号化キーワードが含まれていると判定した場合(S44のYES)、検索装置1のキーワード変換部117は、S44の処理で暗号化キーワード情報133に含まれていると判定した暗号化キーワードを、暗号化キーワード情報133に含まれる暗号化キーワードのうちの平文が一致する暗号化キーワードに置き換える(S45)。一方、S44の処理において平文が一致する暗号化キーワードが含まれていないと判定した場合(S44のNO)、検索装置1は、S45の処理を行わない。
そして、S41の処理で受け付けた検索条件に含まれる暗号化キーワードの全てを抽出したか否かを判定する(S46)。
その結果、S41の処理で受け付けた検索条件に含まれる暗号化キーワードの全ての抽出が完了していない場合(S46のNO)、キーワード判定部116は、S42以降の処理を再度行う。以下、S42からS45の処理の具体例について説明を行う。
[S42からS46の処理の具体例]
図20から図23は、S42からS45の処理の具体例を説明する図である。具体的に、図20から図23は、検索条件に含まれる暗号化キーワードを置き換える過程の具体例を説明する図である。なお、以下、S41の処理で受け付けた検索条件には、暗号化キーワードとして「キーワードI」、「キーワードJ」、「キーワードK」、「キーワードL」、「キーワードM」、「キーワードN」及び「キーワードO」が含まれているものとして説明を行う。また、S43の処理において、図18で説明した暗号化キーワード情報133が参照されるものとして説明を行う。
初めに、教師データ生成部113は、例えば、S41の処理で受け付けた検索条件に含まれる暗号化キーワードのうちの「キーワードI」を取得し、取得した「キーワードI」と平文が同じ暗号化キーワードが暗号化キーワード情報133に含まれているか否かを判定する(S42、S43)。ここで、図18で説明した暗号化キーワード情報133には、「キーワードA」、「キーワードB」、「キーワードC」、「キーワードE」、「キーワードF」、「キーワードG」及び「キーワードH」が設定されている。そのため、教師データ生成部113は、「キーワードI」の平文が「キーワードA」、「キーワードB」、「キーワードC」、「キーワードE」、「キーワードF」、「キーワードG」または「キーワードH」の平文と一致するか否かを判定する。その結果、図20に示すように、「キーワードI」の平文と「キーワードB」の平文とが一致する場合、教師データ生成部113は、図21に示すように、S41の処理で受け付けた検索条件に含まれる暗号化キーワードのうちの「キーワードI」を、「キーワードI」と平文が一致する「キーワードB」に置き換える。
また、教師データ生成部113は、例えば、S41の処理で受け付けた検索条件に含まれる暗号化キーワードのうちの「キーワードL」を取得し、取得した「キーワードL」と平文が同じ暗号化キーワードが暗号化キーワード情報133に含まれているか否かを判定する(S42、S43)。すなわち、教師データ生成部113は、図22に示すように、「キーワードL」の平文が「キーワードA」、「キーワードB」、「キーワードC」、「キーワードE」、「キーワードF」、「キーワードG」または「キーワードH」の平文と一致するか否かを判定する。その結果、「キーワードL」の平文が「キーワードA」、「キーワードB」、「キーワードC」、「キーワードE」、「キーワードF」、「キーワードG」及び「キーワードH」の平文のいずれとも異なる場合、教師データ生成部113は、図22に示すように、S41の処理で受け付けた検索条件に含まれる暗号化キーワードの置き換えを行わない。
その後、教師データ生成部113は、図23に示すように、S41の処理で受け付けた検索条件に含まれる暗号化キーワードの全てについてS42からS46の処理を行い、S41の処理で受け付けた検索条件に含まれる暗号化キーワードの置き換えを行う。具体的に、教師データ生成部113は、図23に示すように、暗号化キーワードとして「キーワードB」、「キーワードF」、「キーワードA」、「キーワードL」、「キーワードB」、「キーワードE」及び「キーワードA」が含まれるように、検索条件に含まれる暗号化キーワードの置き換えを行う。
図10に戻り、S41の処理で受け付けた検索条件に含まれる暗号化キーワードの全ての抽出が完了した場合(S46のYES)、キーワード変換部117は、図11に示すように、情報格納領域130に記憶された評価モデル134を用いることにより、S41で受け付けた検索条件、または、S45で置き換えた検索条件に含まれる暗号化キーワードを、第2の情報に対応付けられた暗号化キーワードに変換する(S51)。すなわち、キーワード変換部117は、学習処理で生成した評価モデル134を用いることによって、暗号化キーワードの変換を行う。
そして、検索装置1の検索実行部118は、S45の処理等で暗号化キーワードを変換した検索条件に含まれる暗号化キーワードを用いて、記憶装置2に記憶された検索対象データDTを検索する(S52)。その後、検索実行部118は、S41の処理で受け付けた検索条件に対応する検索対象データDTとして、S52の処理で検索した検索対象データDTを出力する(S53)。具体的に、検索実行部118は、例えば、S41の処理で受け付けた検索条件を送信した利用者端末3に対し、S52の処理で検索した検索対象データDTを送信する。
このように、本実施の形態における検索装置1は、利用者端末3から受け付けるキーワードであることを示す第1の情報に対応付けられた暗号化キーワードと、検索に用いられる単語であることを示す第2の情報に対応付けられた暗号化キーワードと、をそれぞれが含む複数の教師データを取得する。
そして、検索装置1は、取得した複数の教師データに含まれる暗号化キーワードを抽出する。さらに、検索装置1は、抽出した暗号化キーワードに含まれる、暗号化前のキーワードが一致する複数の暗号化キーワードのうち、いずれかの暗号化キーワードを除く他の暗号化キーワードが、いずれかの暗号化キーワードに置き換えられた新たな複数の教師データを生成する。
その後、検索装置1は、生成した新たな複数の教師データに含まれる暗号化キーワードのうち、第1の情報に対応付けられた暗号化キーワードを、第2の情報に対応付けられた暗号化キーワードに変換する評価モデル134を機械学習する。
すなわち、検索装置1は、同じキーワードから生成された複数種類の暗号化キーワードをいずれか1種類の暗号化キーワードに置き換えた新たな教師データによって機械学習を行う。そして、検索装置1は、検索条件を受け付けた場合、受け付けた検索条件に含まれる暗号化キーワードを新たな教師データに含まれる暗号化キーワードに置き換えてから、評価モデル134を用いたキーワードの追加を行う。
これにより、検索装置1は、同じキーワードから生成される暗号化キーワードが毎回異なる場合であっても、暗号化キーワードを含む教師データの機械学習を行うことが可能になり、検索精度を向上させることが可能になる。
以上の実施の形態をまとめると、以下の付記の通りである。
(付記1)
検索端末から受け付ける単語であることを示す第1の情報に対応付けられた暗号化済の単語である暗号化単語と、検索に用いられる単語であることを示す第2の情報に対応付けられた暗号化済の単語である暗号化単語と、をそれぞれが含む複数の教師データを取得し、
取得した前記複数の教師データに含まれる前記暗号化単語を抽出し、
抽出した前記暗号化単語に含まれる、平文が一致する複数の暗号化単語のうち、いずれかの暗号化単語を除く他の暗号化単語が前記いずれかの暗号化単語に置き換えられた新たな複数の教師データを生成し、
生成した前記新たな複数の教師データに含まれる暗号化単語のうち、前記第1の情報に対応付けられた暗号化単語を、前記第2の情報に対応付けられた暗号化単語に変換する変換パラメータを機械学習する、
ことを特徴とする学習方法。
(付記2)
付記1において、
前記新たな複数の教師データを生成する工程では、
前記複数の教師データに含まれる暗号化単語が追加される暗号化単語群に、抽出した前記暗号化単語と平文が一致する暗号化単語が含まれているか否かを判定し、
前記平文が一致する暗号化単語が含まれていない場合、抽出した前記暗号化単語を前記暗号化単語群に追加し、前記平文が一致する暗号化単語が含まれている場合、抽出した前記暗号化単語を、前記暗号化単語群に含まれる暗号化単語のうちの前記平文が一致する暗号化単語に置き換える、
ことを特徴とする学習方法。
(付記3)
付記2において、さらに、
前記検索端末から検索条件を受け付け、
前記暗号化単語群に、受け付けた前記検索条件に含まれる暗号化単語と平文が一致する暗号化単語が含まれているか否かを判定し、
前記平文が一致する暗号化単語が含まれている場合、前記検索条件に含まれる暗号化単語を、前記暗号化単語群に含まれる暗号化単語のうちの前記平文が一致する暗号化単語に置き換え、
前記変換パラメータにより、前記検索条件に含まれる暗号化単語を、前記第2の情報に対応付けられた暗号化単語に変換し、
変換した前記第2の情報に対応付けられた暗号化単語を用いて検索を行う、
ことを特徴とする学習方法。
(付記4)
付記3において、
前記暗号化単語が含まれているか否かを判定する処理では、前記暗号化単語群に、前記検索条件に含まれる暗号化単語と一致しない暗号化単語であって、前記検索条件に含まれる暗号化単語と平文が一致する特定の暗号化単語が含まれているか否かを判定し、
前記暗号化単語を変換する処理では、前記特定の暗号化単語が含まれている場合、前記検索条件に含まれる暗号化単語を、前記特定の暗号化単語に置き換える、
ことを特徴とする学習方法。
(付記5)
検索端末から検索条件を受け付け、
複数の教師データに含まれる暗号化済の単語である暗号化単語が追加される暗号化単語群に、受け付けた前記検索条件に含まれる暗号化単語と平文が一致する暗号化単語が含まれているか否かを判定し、
前記平文が一致する暗号化単語が含まれている場合、前記検索条件に含まれる暗号化単語のうちの前記平文が一致する暗号化単語を、前記暗号化単語群に含まれる暗号化単語のうちの前記平文が一致する暗号化単語に置き換え、
変換パラメータを用いることにより、前記検索条件に含まれる暗号化単語を、検索に用いられる単語であることを示す特定の情報に対応付けられた暗号化単語に変換し、
変換した前記特定の情報に対応付けられた暗号化単語を用いて検索を行う、
ことを特徴とする検索方法。
(付記6)
付記5において、
前記暗号化単語群は、複数の教師データに含まれる暗号化単語のうち、平文が互いに異なる暗号化単語のみを含む、
ことを特徴とする検索方法。
(付記7)
検索端末から受け付ける単語であることを示す第1の情報に対応付けられた暗号化済の単語である暗号化単語と、検索に用いられる単語であることを示す第2の情報に対応付けられた暗号化済の単語である暗号化単語と、をそれぞれが含む複数の教師データを取得する教師データ取得部と、
取得した前記複数の教師データに含まれる前記暗号化単語を抽出する単語抽出部と、
抽出した前記暗号化単語に含まれる、平文が一致する複数の暗号化単語のうち、いずれかの暗号化単語を除く他の暗号化単語が前記いずれかの暗号化単語に置き換えられた新たな複数の教師データを生成する教師データ生成部と、
生成した前記新たな複数の教師データに含まれる暗号化単語のうち、前記第1の情報に対応付けられた暗号化単語を、前記第2の情報に対応付けられた暗号化単語に変換する変換パラメータを機械学習する機械学習実行部と、を有する、
ことを特徴とする学習装置。
(付記8)
付記7において、
前記教師データ生成部は、
前記複数の教師データに含まれる前記第1の情報または前記第2の情報に対応付けられた暗号化単語を抽出し、
前記複数の教師データに含まれる暗号化単語が追加される暗号化単語群に、抽出した前記第1の情報または前記第2の情報に対応付けられた暗号化単語と平文が一致する暗号化単語が含まれているか否かを判定し、
前記平文が一致する暗号化単語が含まれていない場合、前記第1の情報または前記第2の情報に対応付けられた暗号化単語を前記暗号化単語群に追加し、前記平文が一致する暗号化単語が含まれている場合、前記第1の情報または前記第2の情報に対応付けられた暗号化単語を、前記暗号化単語群に含まれる暗号化単語のうちの前記平文が一致する暗号化単語に置き換える、
ことを特徴とする学習装置。
(付記9)
検索端末から受け付ける単語であることを示す第1の情報に対応付けられた暗号化済の単語である暗号化単語と、検索に用いられる単語であることを示す第2の情報に対応付けられた暗号化済の単語である暗号化単語と、をそれぞれが含む複数の教師データを取得し、
取得した前記複数の教師データに含まれる前記暗号化単語を抽出し、
抽出した前記暗号化単語に含まれる、平文が一致する複数の暗号化単語のうち、いずれかの暗号化単語を除く他の暗号化単語が前記いずれかの暗号化単語に置き換えられた新たな複数の教師データを生成し、
生成した前記新たな複数の教師データに含まれる暗号化単語のうち、前記第1の情報に対応付けられた暗号化単語を、前記第2の情報に対応付けられた暗号化単語に変換する変換パラメータを機械学習する、
処理をコンピュータに実行させることを特徴とする学習プログラム。
(付記10)
付記9において、
前記新たな複数の教師データを生成する処理では、
前記複数の教師データに含まれる前記第1の情報または前記第2の情報に対応付けられた暗号化単語を抽出し、
前記複数の教師データに含まれる暗号化単語が追加される暗号化単語群に、抽出した前記第1の情報または前記第2の情報に対応付けられた暗号化単語と平文が一致する暗号化単語が含まれているか否かを判定し、
前記平文が一致する暗号化単語が含まれていない場合、前記第1の情報または前記第2の情報に対応付けられた暗号化単語を前記暗号化単語群に追加し、前記平文が一致する暗号化単語が含まれている場合、前記第1の情報または前記第2の情報に対応付けられた暗号化単語を、前記暗号化単語群に含まれる暗号化単語のうちの前記平文が一致する暗号化単語に置き換える、
ことを特徴とする学習プログラム。
(付記11)
検索端末から検索条件を受け付ける検索条件受付部と、
複数の教師データに含まれる暗号化済の単語である暗号化単語が追加される暗号化単語群に、受け付けた前記検索条件に含まれる暗号化単語と平文が一致する暗号化単語が含まれているか否かを判定する単語判定部と、
前記平文が一致する暗号化単語が含まれている場合、前記検索条件に含まれる暗号化単語のうちの前記平文が一致する暗号化単語を、前記暗号化単語群に含まれる暗号化単語のうちの前記平文が一致する暗号化単語に置き換え、変換パラメータを用いることにより、前記検索条件に含まれる暗号化単語を、検索に用いられる単語であることを示す特定の情報に対応付けられた暗号化単語に変換する単語変換部と、
変換した前記特定の情報に対応付けられた暗号化単語を用いて検索を行う検索実行部と、を有する、
ことを特徴とする検索装置。
(付記12)
検索端末から検索条件を受け付け、
複数の教師データに含まれる暗号化済の単語である暗号化単語が追加される暗号化単語群に、受け付けた前記検索条件に含まれる暗号化単語と平文が一致する暗号化単語が含まれているか否かを判定し、
前記平文が一致する暗号化単語が含まれている場合、前記検索条件に含まれる暗号化単語のうちの前記平文が一致する暗号化単語を、前記暗号化単語群に含まれる暗号化単語のうちの前記平文が一致する暗号化単語に置き換え、
変換パラメータを用いることにより、前記検索条件に含まれる暗号化単語を、検索に用いられる単語であることを示す特定の情報に対応付けられた暗号化単語に変換し、
変換した前記特定の情報に対応付けられた暗号化単語を用いて検索を行う、
処理をコンピュータに実行させることを特徴とする検索プログラム。
1:検索装置 2a:記憶装置
3a:利用者端末 3b:利用者端末
3c:利用者端末 4:事業者端末
130:情報格納領域 134:評価モデル
DT:検索対象データ NW:ネットワーク

Claims (10)

  1. 検索端末から受け付ける単語であることを示す第1の情報に対応付けられた暗号化済の単語である暗号化単語と、検索に用いられる単語であることを示す第2の情報に対応付けられた暗号化済の単語である暗号化単語と、をそれぞれが含む複数の教師データを取得し、
    取得した前記複数の教師データに含まれる前記暗号化単語を抽出し、
    抽出した前記暗号化単語に含まれる、平文が一致する複数の暗号化単語のうち、いずれかの暗号化単語を除く他の暗号化単語が前記いずれかの暗号化単語に置き換えられた新たな複数の教師データを生成し、
    生成した前記新たな複数の教師データに含まれる暗号化単語のうち、前記第1の情報に対応付けられた暗号化単語を、前記第2の情報に対応付けられた暗号化単語に変換する変換パラメータを機械学習する、
    ことを特徴とする学習方法。
  2. 請求項1において、
    前記新たな複数の教師データを生成する工程では、
    前記複数の教師データに含まれる暗号化単語が追加される暗号化単語群に、抽出した前記暗号化単語と平文が一致する暗号化単語が含まれているか否かを判定し、
    前記平文が一致する暗号化単語が含まれていない場合、抽出した前記暗号化単語を前記暗号化単語群に追加し、前記平文が一致する暗号化単語が含まれている場合、抽出した前記暗号化単語を、前記暗号化単語群に含まれる暗号化単語のうちの前記平文が一致する暗号化単語に置き換える、
    ことを特徴とする学習方法。
  3. 請求項2において、さらに、
    前記検索端末から検索条件を受け付け、
    前記暗号化単語群に、受け付けた前記検索条件に含まれる暗号化単語と平文が一致する暗号化単語が含まれているか否かを判定し、
    前記平文が一致する暗号化単語が含まれている場合、前記検索条件に含まれる暗号化単語を、前記暗号化単語群に含まれる暗号化単語のうちの前記平文が一致する暗号化単語に置き換え、
    前記変換パラメータにより、前記検索条件に含まれる暗号化単語を、前記第2の情報に対応付けられた暗号化単語に変換し、
    変換した前記第2の情報に対応付けられた暗号化単語を用いて検索を行う、
    ことを特徴とする学習方法。
  4. 請求項3において、
    前記暗号化単語が含まれているか否かを判定する処理では、前記暗号化単語群に、前記検索条件に含まれる暗号化単語と一致しない暗号化単語であって、前記検索条件に含まれる暗号化単語と平文が一致する特定の暗号化単語が含まれているか否かを判定し、
    前記暗号化単語を変換する処理では、前記特定の暗号化単語が含まれている場合、前記検索条件に含まれる暗号化単語を、前記特定の暗号化単語に置き換える、
    ことを特徴とする学習方法。
  5. 検索端末から検索条件を受け付け、
    複数の教師データに含まれる暗号化済の単語である暗号化単語が追加される暗号化単語群に、受け付けた前記検索条件に含まれる暗号化単語と平文が一致する暗号化単語が含まれているか否かを判定し、
    前記平文が一致する暗号化単語が含まれている場合、前記検索条件に含まれる暗号化単語のうちの前記平文が一致する暗号化単語を、前記暗号化単語群に含まれる暗号化単語のうちの前記平文が一致する暗号化単語に置き換え、
    変換パラメータを用いることにより、前記検索条件に含まれる暗号化単語を、検索に用いられる単語であることを示す特定の情報に対応付けられた暗号化単語に変換し、
    変換した前記特定の情報に対応付けられた暗号化単語を用いて検索を行う、
    ことを特徴とする検索方法。
  6. 請求項5において、
    前記暗号化単語群は、複数の教師データに含まれる暗号化単語のうち、平文が互いに異なる暗号化単語のみを含む、
    ことを特徴とする検索方法。
  7. 検索端末から受け付ける単語であることを示す第1の情報に対応付けられた暗号化済の単語である暗号化単語と、検索に用いられる単語であることを示す第2の情報に対応付けられた暗号化済の単語である暗号化単語と、をそれぞれが含む複数の教師データを取得する教師データ取得部と、
    取得した前記複数の教師データに含まれる前記暗号化単語を抽出する単語抽出部と、
    抽出した前記暗号化単語に含まれる、平文が一致する複数の暗号化単語のうち、いずれかの暗号化単語を除く他の暗号化単語が前記いずれかの暗号化単語に置き換えられた新たな複数の教師データを生成する教師データ生成部と、
    生成した前記新たな複数の教師データに含まれる暗号化単語のうち、前記第1の情報に対応付けられた暗号化単語を、前記第2の情報に対応付けられた暗号化単語に変換する変換パラメータを機械学習する機械学習実行部と、を有する、
    ことを特徴とする学習装置。
  8. 検索端末から受け付ける単語であることを示す第1の情報に対応付けられた暗号化済の単語である暗号化単語と、検索に用いられる単語であることを示す第2の情報に対応付けられた暗号化済の単語である暗号化単語と、をそれぞれが含む複数の教師データを取得し、
    取得した前記複数の教師データに含まれる前記暗号化単語を抽出し、
    抽出した前記暗号化単語に含まれる、平文が一致する複数の暗号化単語のうち、いずれかの暗号化単語を除く他の暗号化単語が前記いずれかの暗号化単語に置き換えられた新たな複数の教師データを生成し、
    生成した前記新たな複数の教師データに含まれる暗号化単語のうち、前記第1の情報に対応付けられた暗号化単語を、前記第2の情報に対応付けられた暗号化単語に変換する変換パラメータを機械学習する、
    処理をコンピュータに実行させることを特徴とする学習プログラム。
  9. 検索端末から検索条件を受け付ける検索条件受付部と、
    複数の教師データに含まれる暗号化済の単語である暗号化単語が追加される暗号化単語群に、受け付けた前記検索条件に含まれる暗号化単語と平文が一致する暗号化単語が含まれているか否かを判定する単語判定部と、
    前記平文が一致する暗号化単語が含まれている場合、前記検索条件に含まれる暗号化単語のうちの前記平文が一致する暗号化単語を、前記暗号化単語群に含まれる暗号化単語のうちの前記平文が一致する暗号化単語に置き換え、変換パラメータを用いることにより、前記検索条件に含まれる暗号化単語を、検索に用いられる単語であることを示す特定の情報に対応付けられた暗号化単語に変換する単語変換部と、
    変換した前記特定の情報に対応付けられた暗号化単語を用いて検索を行う検索実行部と、を有する、
    ことを特徴とする検索装置。
  10. 検索端末から検索条件を受け付け、
    複数の教師データに含まれる暗号化済の単語である暗号化単語が追加される暗号化単語群に、受け付けた前記検索条件に含まれる暗号化単語と平文が一致する暗号化単語が含まれているか否かを判定し、
    前記平文が一致する暗号化単語が含まれている場合、前記検索条件に含まれる暗号化単語のうちの前記平文が一致する暗号化単語を、前記暗号化単語群に含まれる暗号化単語のうちの前記平文が一致する暗号化単語に置き換え、
    変換パラメータを用いることにより、前記検索条件に含まれる暗号化単語を、検索に用いられる単語であることを示す特定の情報に対応付けられた暗号化単語に変換し、
    変換した前記特定の情報に対応付けられた暗号化単語を用いて検索を行う、
    処理をコンピュータに実行させることを特徴とする検索プログラム。
JP2017058719A 2017-03-24 2017-03-24 学習方法、学習装置、学習プログラム、検索方法、検索装置及び検索プログラム Active JP6836068B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017058719A JP6836068B2 (ja) 2017-03-24 2017-03-24 学習方法、学習装置、学習プログラム、検索方法、検索装置及び検索プログラム
US15/908,408 US11195121B2 (en) 2017-03-24 2018-02-28 Machine learning method and machine learning device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017058719A JP6836068B2 (ja) 2017-03-24 2017-03-24 学習方法、学習装置、学習プログラム、検索方法、検索装置及び検索プログラム

Publications (2)

Publication Number Publication Date
JP2018163394A true JP2018163394A (ja) 2018-10-18
JP6836068B2 JP6836068B2 (ja) 2021-02-24

Family

ID=63583505

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017058719A Active JP6836068B2 (ja) 2017-03-24 2017-03-24 学習方法、学習装置、学習プログラム、検索方法、検索装置及び検索プログラム

Country Status (2)

Country Link
US (1) US11195121B2 (ja)
JP (1) JP6836068B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07210390A (ja) * 1994-01-19 1995-08-11 Oki Electric Ind Co Ltd 問題解決器選択装置
WO2013080365A1 (ja) * 2011-12-01 2013-06-06 株式会社日立製作所 秘匿検索方法および秘匿検索装置
CN104765848A (zh) * 2015-04-17 2015-07-08 中国人民解放军空军航空大学 混合云存储中支持结果高效排序的对称可搜索加密方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9197613B2 (en) * 2011-12-20 2015-11-24 Industrial Technology Research Institute Document processing method and system
US9152870B2 (en) * 2013-03-15 2015-10-06 Sri International Computer vision as a service
JPWO2015063905A1 (ja) 2013-10-31 2017-03-09 株式会社日立製作所 データ分析システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07210390A (ja) * 1994-01-19 1995-08-11 Oki Electric Ind Co Ltd 問題解決器選択装置
WO2013080365A1 (ja) * 2011-12-01 2013-06-06 株式会社日立製作所 秘匿検索方法および秘匿検索装置
CN104765848A (zh) * 2015-04-17 2015-07-08 中国人民解放军空军航空大学 混合云存储中支持结果高效排序的对称可搜索加密方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SUN, XINGMING, ET AL.: ""Privacy preserving keyword based semantic search over encrypted cloud data."", INTERNATIONAL JOURNAL OF SECURITY AND ITS APPLICATIONS, vol. 8, no. 3, JPN6020041707, 2014, pages 9 - 20, ISSN: 0004379411 *

Also Published As

Publication number Publication date
US20180276567A1 (en) 2018-09-27
JP6836068B2 (ja) 2021-02-24
US11195121B2 (en) 2021-12-07

Similar Documents

Publication Publication Date Title
JP6926429B2 (ja) データ処理装置、データ処理方法、およびプログラム
CN102272714B (zh) 具有匹配数据报告模块的型式辨识处理器
US10489604B2 (en) Searchable encryption processing system and searchable encryption processing method
CN107590214B (zh) 搜索关键词的推荐方法、装置及电子设备
CN110083789B (zh) 一种小程序页面获取方法、服务器、客户端及电子设备
CN104866985B (zh) 快递单号识别方法、装置及系统
JP6649582B2 (ja) 検索制御プログラム、検索制御装置及び検索制御方法
CN102132274A (zh) 使用了公开的搜索引擎的搜索装置、搜索方法以及搜索程序
CN110222008A (zh) 一种数据格式的转换方法、系统、介质及电子设备
CN110851481B (zh) 一种可搜索加密方法、装置、设备及可读存储介质
CN109992978B (zh) 信息的传输方法、装置及存储介质
US11120143B2 (en) Data analysis server, data analysis system, and data analysis method
JP6810352B2 (ja) 障害解析プログラム、障害解析装置及び障害解析方法
JP2019053386A (ja) 情報処理装置、情報処理方法、およびプログラム
JP5969716B1 (ja) データ管理システム、データ管理プログラム、通信端末及びデータ管理サーバ
CN112100677B (zh) 隐私数据的保护方法、装置及电子设备
CN116521969B (zh) 一种数据检索方法、服务端、系统及相关设备
JP6836068B2 (ja) 学習方法、学習装置、学習プログラム、検索方法、検索装置及び検索プログラム
US20180225475A1 (en) Encrypted database management device, encrypted database management method, encrypted database management program, and encrypted database management system
JP2018194978A (ja) 情報出力プログラム、情報出力方法および情報処理装置
JP2017004500A (ja) 分析支援方法、分析支援プログラムおよび分析支援装置
JP6167029B2 (ja) レコメンド情報生成装置およびレコメンド情報生成方法
JP2016206555A (ja) 秘匿化装置、復号装置、秘匿化方法および復号方法
CN116541801B (zh) 多设备信息集中处理系统、设备及存储介质
CN113973014B (zh) 一种网络设备弱口令漏洞的监控方法、装置及设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210118

R150 Certificate of patent or registration of utility model

Ref document number: 6836068

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150