WO2010024116A1 - 公開された検索エンジンを用いた検索装置、検索方法及び検索プログラム - Google Patents

公開された検索エンジンを用いた検索装置、検索方法及び検索プログラム Download PDF

Info

Publication number
WO2010024116A1
WO2010024116A1 PCT/JP2009/064184 JP2009064184W WO2010024116A1 WO 2010024116 A1 WO2010024116 A1 WO 2010024116A1 JP 2009064184 W JP2009064184 W JP 2009064184W WO 2010024116 A1 WO2010024116 A1 WO 2010024116A1
Authority
WO
WIPO (PCT)
Prior art keywords
search
word
noise
characters
query
Prior art date
Application number
PCT/JP2009/064184
Other languages
English (en)
French (fr)
Inventor
真耶 川中
吉高 松本
成章 増野
泰男 濱野
Original Assignee
インターナショナル・ビジネス・マシーンズ・コーポレーション
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 インターナショナル・ビジネス・マシーンズ・コーポレーション filed Critical インターナショナル・ビジネス・マシーンズ・コーポレーション
Priority to CN200980132922.5A priority Critical patent/CN102132274B/zh
Priority to JP2010526644A priority patent/JP5306356B2/ja
Priority to EP09809769.4A priority patent/EP2336908B1/en
Publication of WO2010024116A1 publication Critical patent/WO2010024116A1/ja

Links

Images

Classifications

    • 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/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • 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/606Protecting data by securing the transmission between two devices or processes

Definitions

  • the present invention relates to search technology, and more particularly to a search device, a search method, and a search program using a public search engine.
  • secret information (patent information, new product development information, know-how, personal information, etc.) is searched using a public search engine, the secret information may be inferred from keywords included in the search query.
  • Patent Document 1 hides or blurs all or part of the search conditions input to the data search device as confidential information in the data search device.
  • a data search system that performs a search and narrows down the search result with a data search device is disclosed.
  • this system deletes the pre-registered search condition to be concealed from all the input search conditions and replaces the input search condition with a similar word or a broader concept word. Then, an extra search condition is added to the input search condition, or the input search condition is divided into a plurality of search languages.
  • Patent Document 2 discloses a database access system that can use an information providing service while hiding a search condition that a user wants to keep secret.
  • the client computer sends an encrypted query in which the data item to be concealed included in the search condition is encrypted to the server computer, and the server computer does not decrypt the encrypted search condition and the data to be searched
  • the data is retrieved by encrypted data matching while encrypting the data in the same manner as the secret data item.
  • OT "Oblivious Transfer (OT)"
  • the client may be able to obtain information other than the information that he / she wants, but in the OT setting, in addition to satisfying the PIR, the client cannot obtain information other than the data he / she desires.
  • OT there is no limit on the amount of communication.
  • OT is the same as Symmetric PIR appearing in Non-Patent Document 1.
  • JP 11-259512 A Japanese Patent Laid-Open No. 2002-297606
  • An object of the present invention is to provide a search device, a search method, and a search program using a public search engine that can efficiently acquire necessary information without guessing secret information. .
  • the search device extracts a search word input unit that receives an input of a desired search word composed of three or more characters, and extracts any two or more continuous characters from the search word input by the search word input unit, Legal character string generation means for generating a plurality of legal character strings each consisting of the extracted characters, noise word selection means for selecting an arbitrary word as a noise word, and noise words selected by the noise word selection means A noise character string generating means for extracting any two or more consecutive characters and generating a noise character string composed of the extracted characters; a valid character string and a noise character string generating means generated by the valid character string generating means; A query generation unit that generates a query by combining the noise character string generated in Step 1, an external search unit that transmits the query generated by the query generation unit to a search engine, and an external search unit.
  • An internal search means for re-searching the search result returned from the search engine in response to the query with the search term input by the search word input means, and a search result display means for displaying the search result
  • the search device further includes a general word search unit that transmits a general word as a query to the search engine, and a word from a search result returned from the search engine in response to the query from the general word search unit.
  • dictionary generation means for generating a dictionary.
  • the noise word selection means selects an arbitrary word as a noise word from the dictionary generated by the dictionary generation means.
  • the valid character string generation means increases the number of valid character strings to be generated as the number of characters of the search word input by the search word input means increases.
  • the noise character string generating means generates noise character strings until the number exceeds a predetermined threshold value.
  • the search accuracy is low, but the confidentiality of the search word is high.
  • the noise word selection means selects noise words until the number exceeds a predetermined threshold value.
  • the search accuracy is low, but the confidentiality of the search word is high.
  • the present invention also provides a search method and a search program executed by the search device as described above.
  • FIG. 3 is a flowchart showing a query generation subroutine in FIG. 2.
  • a search device 10 includes a CPU (central processing unit) 11, a memory 12, a hard disk 13, a communication device 14, an input device 15, and a display 16. Is provided.
  • the communication device 14 connects the search device 10 to the Internet 20, transmits various requests to the search engines 21 to 23, and receives various responses from the search engines 21 to 23.
  • the input device 15 is a keyboard, a mouse, or the like.
  • the search device 10 is constructed by installing a search program described later on a personal computer (PC).
  • the search program is provided fixedly on a storage medium such as a CD-ROM or downloaded from a server via the Internet 20.
  • search engines 21 to 23 on a WWW (World Wide Web) server connected to the Internet 20, and provide a public website search service to the public for free or for a fee.
  • the search engines 21 to 23 return search results in response to search requests (queries) from an unspecified number of clients connected to the Internet 20.
  • the search apparatus 10 performs a search using such public search engines 21 to 23 as one of clients.
  • the search engines 21 to 23 used here all employ the N-gram method.
  • the CPU 11 executes the search program shown in FIG.
  • the search device 10 receives an input of a desired search word (S1). Specifically, on the screen displayed on the display 16, the user operates the input device 15 and inputs one or more search terms 30 related to information to be searched. Each search word 30 consists of three or more characters. In the example illustrated in FIG. 3, “gene” is input as the search term 30.
  • the search apparatus 10 selects the selected search engine 21. It is determined whether or not the dedicated dictionary 32 has already been generated (S2).
  • the search device 10 transmits a general word as a query to the search engine 21 (S3).
  • a general word As general words, about ten words such as “have” and “get” are prepared in advance. These words are transmitted to the search engine 21 as a query one by one.
  • the search device 10 extracts words from the search results returned from the search engine 21 in response to the query, and generates a dictionary 32 dedicated to the search engine 21 (S4).
  • 10 search results are returned from the search engine 21.
  • Each of the search results includes data necessary for specifying one or more hit web pages (for example, URL (Uniform ⁇ Resource Locator) of web page, title, part of extracted text). Since words transmitted as queries are common, the search results include almost all web pages stored as indexes in the search engine 21. Therefore, the dictionary 32 is like a collection of web page words that can be searched by the search engine 21. When another search result is obtained from the same search engine 21, the dictionary 32 can be updated by adding a new word included therein.
  • the search device 10 generates one or more queries to be transmitted to the search engine 21 based on the search word 30 input in step S1 and the words in the dictionary 32 generated in step S4 ( S5).
  • step S1 two or more arbitrary characters consecutive from the search word 30 input in step S1 are extracted to generate a plurality of valid character strings 34 (S51).
  • Each valid character string 34 is composed of two or more extracted characters. If the number of characters in the search word 30 is less than 12 (YES in S52), steps S51 to S52 are repeated until two valid character strings 34 are generated (NO in S53). On the other hand, when the number of characters of the search word 30 is 12 or more (NO in S52), steps S51 to S52 for generating three valid character strings 34 are repeated (NO in S54).
  • valid character strings “gen” and “ene” are extracted from the search term “gene”.
  • Each valid character string 34 consists of three characters. Increasing the number of characters in each valid character string 34 increases the search accuracy, but decreases the confidentiality of the search word 30. In addition, if the number of valid character strings 34 is increased, the search accuracy increases, but the confidentiality of the search word 30 decreases.
  • a plurality of valid character strings 34 are generated so as to include as many characters as possible.
  • the number of search terms 30 is large, the maximum number of legal character strings 34 to be generated is determined in advance, and the legal character string 34 is generated so as not to exceed this number.
  • one or more arbitrary words are selected from the dictionary 32 as the noise word 36 (S55).
  • two or more arbitrary characters continuous from the noise word 36 are extracted to generate one or more noise character strings 38 (S56).
  • Each noise character string 38 is composed of two or more extracted characters.
  • Step S56 is repeated until the number of generated noise character strings 38 exceeds a predetermined threshold (for example, twice the number of legal character strings 34) (NO in S57).
  • Steps S55 to S57 are repeated until the number of words selected as noise word 36 exceeds a predetermined threshold (for example, three times the number of words of search word 30) (NO in S58).
  • each noise character string 38 is composed of three characters in the same manner as the legal character string 34.
  • noise word 36 different from the search word 30 is preferably selected, but the same noise word 36 as the search word 30 may be selected.
  • step S51 If the number of generated noise character strings 38 exceeds a predetermined threshold value and the number of selected words exceeds a predetermined threshold value (YES in S57 and YES in S58), it is generated in step S51.
  • One or more queries are generated by combining the legitimate character string 34 and the noise character string 38 generated in step S56 (S59). Each query is preferably composed of the logical product (AND) of the legal character string 34 and the noise character string 38, but may be composed of logical sum (OR), negation (NOT), or a combination thereof.
  • the search device 10 transmits each query generated in step S5 to the search engine 21 (S6).
  • the search engine 21 returns a search result 40 to the search device 10 in response to each query.
  • the search engine 21 indexes a large number of webs 42 on the Internet 20 in advance by the N-gram method to generate an index (not shown).
  • the search result 40 is generated based on this index.
  • the search device 10 re-searches the search result 40 returned from the search engine 21 in response to each query using the search word 30 input in step S1, and generates a final search result 44 (S7). ). Since all the search results 40 returned from the search engine 21 are temporarily stored in the hard disk 13 in the search device 10, the re-search is executed completely locally. Specifically, each search result 40 is filtered by the search word 30, and if the main query is transmitted to the search engine 21 as it is, an irrelevant web page that would not hit is excluded from the search result. Then, a plurality of search results from which irrelevant web pages are excluded are integrated.
  • the search device 10 displays the final search result 44 generated in step S7 on the display 16.
  • the combination of the legal character string 34 and the noise character string 38 may be changed from step 59 and the process may be executed again.
  • a query is generated by combining the valid character string 34 extracted from the search word 30 and the noise character string 38 extracted from the noise word 36, and the search engine 21 receives the query. Since it is transmitted, necessary information can be efficiently acquired without guessing secret information from the search word 30. That is, since a large number of valid character strings 34 and a large number of noise character strings 38 are included in the query, even if an attempt is made to restore the search word 30 by combining the valid character string 34 and the noise character string 38 on the search engine 21 side, the combined explosion Thus, it is almost impossible to guess the search word 30.
  • the dictionary 32 suitable for the search engine 21 since the dictionary 32 suitable for the search engine 21 is generated, the number of search hits by the noise word 36 increases, and the confidentiality of the search word 30 increases. Further, when the number of characters in the search word 30 is less than 12, two valid character strings 34 are generated, and when the number of characters in the search word 30 is 12 or more, three valid character strings 34 are generated. Since the number of legitimate character strings 34 to be generated is increased as the number of characters increases, the confidentiality of the search word 30 is lowered, but the search accuracy is increased. Further, since the noise character strings 38 are generated until the number exceeds the predetermined threshold value, the search accuracy is low, but the confidentiality of the search word 30 is high. Further, since the number of noise words 36 is selected until the number exceeds a predetermined threshold value, the search accuracy is lowered, but the confidentiality of the search word is increased.
  • two valid character strings 34 are generated when the number of characters in the search word 30 is less than 12, and three valid character strings 34 are generated when the number of characters in the search word 30 is 12 or more.
  • the number of characters of the search word 30 set as the threshold is not particularly limited, and the number of valid character strings 34 to be generated is not particularly limited. Further, the number of legitimate character strings 34 to be generated is not limited to changing in one step, and may be changed in multiple steps. In short, it is preferable to increase the number of valid character strings 34 to be generated as the number of characters of the search word 30 increases.
  • the dictionary 32 suitable for the search engine 21 is used, but a general dictionary prepared in advance may be used instead. In this case, the confidentiality of the search word 30 is lowered, but the generation process of the dictionary 32 is not necessary.
  • Search device 15
  • Input device 16 Display 20
  • Internet 21-23 Search engine 30 Search term 32
  • Dictionary 34 Valid character string 36
  • Noise word 38 Noise character string 40
  • Search result 44 Final search result

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】秘密情報が推測されることなく、必要な情報を効率的に取得することができる、公開された検索エンジンを用いた検索装置、検索方法及び検索プログラムを提供する。 【解決手段】3以上の文字からなる所望の検索語30の入力を受け付け、検索語30から連続する2以上の任意の文字を抽出し、各々が抽出した文字からなる複数の正当文字列34を生成する。一方、用いる検索エンジンに適合した辞書32から任意の単語をノイズ語36として選択し、ノイズ語36から連続する2以上の任意の文字を抽出し、抽出した文字からなるノイズ文字列38を生成する。正当文字列34とノイズ文字列38とを組み合わせてクエリを生成し、検索エンジンに送信する。クエリに応答して検索エンジンから返信されて来た検索結果40を検索語30で再検索し、その最終検索結果44を表示する。

Description

公開された検索エンジンを用いた検索装置、検索方法及び検索プログラム
 本発明は、検索技術に関し、さらに詳しくは、公開された検索エンジンを用いた検索装置、検索方法及び検索プログラムに関する。
 現在、インターネット上には、ウェブページを検索するための各種検索エンジンが公開され、誰でも利用可能である。しかしながら、公開された検索エンジンを用いて秘密情報(特許情報、新製品の開発情報、ノウハウ、個人情報など)を検索すると、その検索クエリに含まれるキーワードから秘密情報を推測されるおそれがある。
 このような問題を解決するために、特開平11-259512号公報(特許文献1)は、データ検索装置に入力される検索条件の全て又は一部を機密情報としてデータ検索装置に隠蔽又は不鮮明にして検索を行い、その検索結果をデータ検索装置で絞り込むデータ検索システムを開示する。検索条件を隠蔽又は不鮮明にするために、このシステムは、入力された全ての検索条件から予め登録された隠蔽すべき検索条件を削除し、入力された検索条件を類似語若しくは上位概念語に置き換え、入力された検索条件に余分な検索条件を付加し、又は入力された検索条件を複数の検索言語に分割する。
 しかしながら、このシステムは検索条件を上記のように改変しているため、必要な情報をわずかしか取得できなかったり、不必要な情報を多数取得してしまったりするという問題がある。
 特開2002-297606号公報(特許文献2)は、ユーザが機密にしたい検索条件を隠蔽したまま、情報提供サービスを利用できるデータベースアクセスシステムを開示する。クライアント計算機は、検索条件に含まれる秘匿すべきデータ項目を暗号化した暗号化問合せをサーバ計算機に送信し、サーバ計算機は、暗号化された検索条件を復号化することなく、検索対象となるデータを上記秘匿データ項目と同様に暗号化しながら、暗号化データマッチングによってデータ検索する。
 しかしながら、このシステムは暗号化により検索条件の組合せ方法(AND、OR、NOTなど)を秘密にしているに過ぎない。また、暗号化及びそのデータマッチングにかかる処理負荷が大きくなるという問題がある。
 上記のほか、次のような検索方法が提案されている。
 「Private Information Retrieval (PIR)」
 サーバがNビットのデータを所有し、クライアントがNビットの内の1ビットをサーバに知らせることなく取得する問題があるが、この問題の単純な解決方法はサーバが全Nビットをクライアントに送ることである。しかし、複数のサーバの存在や計算複雑性の仮定の下で全ビットを送ることなく解決できるという研究結果は90年代からすでにある。これらは数学的な基礎理論であり、実用にはいたっていない(http://www.cs.umd.edu/~gasarch/papers/pirsurvey.pdf(非特許文献1)参照)。
 「Oblivious Transfer (OT)」
 PIRの場合、クライアントは自分が欲しがる情報以外の情報を得られるかもしれないが、OTの設定ではPIRを満たすほかに、クライアントは自分の欲しがるデータ以外の情報が得られないようなプロトコルを設計する。また、OTの場合、通信量の制限がない。OTは非特許文献1に登場するSymmetric PIRと同じである。これらも理論であり、実装例はほとんどない。
 「New techniques for private stream searching」
 この手法では、ユーザの公開鍵でクエリをサーバ側で暗号化し、同時にインデックスも暗号化することで、サーバ側に情報を公開せずに、検索結果を得ることができる。しかし、この手法では、サーバ側の実装が必要になるため、通常利用されている検索サーバを活用することができない(http://acsc.csl.sri.com/privss/(非特許文献2))参照)。
特開平11-259512号公報 特開2002-297606号公報
http://www.cs.umd.edu/~gasarch/papers/pirsurvey.pdf http://acsc.csl.sri.com/privss/
 本発明の目的は、秘密情報が推測されることなく、必要な情報を効率的に取得することができる、公開された検索エンジンを用いた検索装置、検索方法及び検索プログラムを提供することである。
 本発明による検索装置は、3以上の文字からなる所望の検索語の入力を受け付ける検索語入力手段と、検索語入力手段で入力された検索語から連続する2以上の任意の文字を抽出し、各々が該抽出された文字からなる複数の正当文字列を生成する正当文字列生成手段と、任意の単語をノイズ語として選択するノイズ語選択手段と、ノイズ語選択手段で選択されたノイズ語から連続する2以上の任意の文字を抽出し、該抽出された文字からなるノイズ文字列を生成するノイズ文字列生成手段と、正当文字列生成手段で生成された正当文字列とノイズ文字列生成手段で生成されたノイズ文字列とを組み合わせてクエリを生成するクエリ生成手段と、クエリ生成手段で生成されたクエリを検索エンジンに送信する外部検索手段と、外部検索手段からのクエリに応答して検索エンジンから返信されて来た検索結果を検索語入力手段で入力された検索語で再検索する内部検索手段と、内部検索手段による検索結果を表示する検索結果表示手段とを備える。
 本発明によれば、検索語から抽出した正当文字列と、ノイズ語から抽出したノイズ文字列とを組み合わせてクエリを生成し、検索エンジンに送信しているため、検索語から秘密情報が推測されることなく、必要な情報を効率的に取得することができる。
 好ましくは、検索装置はさらに、一般的な単語をクエリとして検索エンジンに送信する一般語検索手段と、一般語検索手段からのクエリに応答して前記検索エンジンから返信されて来た検索結果から単語を抽出して辞書を生成する辞書生成手段とを備える。ノイズ語選択手段は、辞書生成手段で生成された辞書から任意の単語をノイズ語として選択する。
 この場合、検索エンジンに適合した辞書を生成しているため、ノイズ語による検索のヒット件数が増え、検索語の秘匿度は高くなる。
 好ましくは、正当文字列生成手段は、検索語入力手段で入力された検索語の文字数が多いほど生成すべき正当文字列の数を増やす。
 この場合、検索語の秘匿度は低くなるが、検索精度は高くなる。
 好ましくは、ノイズ文字列生成手段は、ノイズ文字列をその数が所定のしきい値を超えるまで生成する。
 この場合、検索精度は低くなるが、検索語の秘匿度は高くなる。
 好ましくは、ノイズ語選択手段は、ノイズ語をその数が所定のしきい値を超えるまで選択する。
 この場合、検索精度は低くなるが、検索語の秘匿度は高くなる。
 本発明は、上述のような検索装置で実行される検索方法及び検索プログラムも提供する。
本発明の実施の形態による検索装置の構成を示す機能ブロック図である。 図1に示した検索装置内の検索プログラムを示すフロー図である。 図1に示した検索装置の動作を説明するための図である。 図2中のクエリ生成のサブルーチンを示すフロー図である。
 以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
 図1を参照して、本発明の実施の形態による検索装置10は、CPU(中央演算処理装置)11と、メモリ12と、ハードディスク13と、通信装置14と、入力装置15と、ディスプレイ16とを備える。通信装置14は、検索装置10をインターネット20に接続し、各種要求を検索エンジン21~23に送信し、かつ、検索エンジン21~23からの各種応答を受信する。入力装置15は、キーボード、マウスなどである。検索装置10は、後述する検索プログラムをパーソナルコンピュータ(PC)にインストールすることにより構築される。検索プログラムは、CD-ROM等の記憶媒体に固定されて提供されるか、又はサーバからインターネット20経由でダウンロードされる。
 各種事業者は、インターネット20に接続されたWWW(World Wide Web)サーバ上に検索エンジン21~23を構築し、ウェブサイトの検索サービスを無料又は有料で公衆に提供している。検索エンジン21~23は、インターネット20に接続された不特定多数のクライアントからの検索要求(クエリ)に応答して検索結果を返信する。検索装置10もクライアントの1つとして、このような公開された検索エンジン21~23を用いて検索を行う。ここで用いる検索エンジン21~23は全てNグラム(N-gram)法を採用している。
 以下、検索装置10の動作を説明する。CPU11は、図2に示した検索プログラムを実行する。
 図2及び図3を参照して、検索装置10は、所望の検索語の入力を受け付ける(S1)。具体的には、ディスプレイ16に表示された画面上において、ユーザは入力装置15を操作し、検索しようとする情報に関連する1又は2以上の検索語30を入力する。各検索語30は3以上の文字からなる。図3に示した例では、検索語30として「gene」が入力される。
 ユーザが検索エンジン21~23の中から検索に用いる所望の検索エンジン(以下、検索エンジン21が選択された場合を例に説明する。)を選択すると、検索装置10は、選択された検索エンジン21専用の辞書32が既に生成されているか否かを判断する(S2)。
 辞書32がまだ生成されていない場合(S2でNO)、検索装置10は、一般的な単語をクエリとして検索エンジン21に送信する(S3)。一般的な単語としては、「have」、「get」などの単語を10個程度あらかじめ用意する。これらの単語は1つずつクエリ
として検索エンジン21に送信される。
 続いて、検索装置10は、クエリに応答して検索エンジン21から返信されて来た検索結果から単語を抽出して検索エンジン21専用の辞書32を生成する(S4)。10個の単語を1つずつクエリとした場合、検索エンジン21から10個の検索結果が返信される。検索結果の各々は、ヒットした1又は2以上のウェブページを特定するために必要なデータ(たとえばウェブページのURL(Uniform Resource Locator)、タイトル、抽出された本文の一部)を含む。クエリとして送信された単語は一般的であるので、検索結果は、検索エンジン21にインデクスとして蓄積されているほとんど全てのウェブページを含む。したがって、辞書32は、検索エンジン21で検索可能なウェブページの単語集のようなものである。なお、同じ検索エンジン21から別の検索結果を得たとき、その中に含まれる新しい単語を追加すれば、辞書32を更新することができる。
 続いて、検索装置10は、ステップS1で入力された検索語30及びステップS4で生成された辞書32中の単語に基づいて、検索エンジン21に送信すべき1又は2以上のクエリを生成する(S5)。
 具体的には図4を参照して、ステップS1で入力された検索語30から連続する2以上の任意の文字を抽出し、複数の正当文字列34を生成する(S51)。各正当文字列34は、抽出された2以上の文字からなる。検索語30の文字数が12未満の場合(S52でYES)、2つの正当文字列34を生成するまでステップS51~S52を繰り返す(S53でNO)。一方、検索語30の文字数が12以上の場合(S52でNO)、3つの正当文字列34を生成するステップS51~S52を繰り返す(S54でNO)。
 図3に示した例では、検索語「gene」から正当文字列「gen」及び「ene」が抽出される。各正当文字列34は3文字からなる。各正当文字列34の文字数を多くすると、検索精度が高くなるが、検索語30の秘匿度が低くなる。また、正当文字列34の数を多くすると、検索精度が高くなるが、検索語30の秘匿度が低くなる。
 なお、複数の検索語30が入力された場合、なるべく全ての検索語30の文字を含むように複数の正当文字列34を生成する。検索語30の数が多い場合、生成する正当文字列34の最大数をあらかじめ決めておき、この数を超えないように正当文字列34を生成する。
 また、辞書32の中から1以上の任意の単語をノイズ語36として選択する(S55)。続いて、ノイズ語36から連続する2以上の任意の文字を抽出し、1以上のノイズ文字列38を生成する(S56)。各ノイズ文字列38は、抽出された2以上の文字からなる。生成されたノイズ文字列38の数が所定のしきい値(たとえば正当文字列34の数の2倍)を超えるまでステップS56を繰り返す(S57でNO)。また、ノイズ語36として選択された単語の数が所定のしきい値(たとえば検索語30の語数の3倍)を超えるまでステップS55~S57を繰り返す(S58でNO)。
 図3に示した例では、ノイズ語「algorithm」からノイズ文字列「ori」、「rit」及び「thm」が抽出され、ノイズ語「hello」からノイズ文字列「hel」及び「llo」が抽出される。各ノイズ文字列38は正当文字列34と同様に3文字からなる。
 なお、検索語30と異なるノイズ語36が選択されるのが好ましいが、検索語30と同じノイズ語36が選択されてもよい。
 生成されたノイズ文字列38の数が所定のしきい値を超え、かつ、選択された単語の数が所定のしきい値を超えた場合(S57でYESかつS58でYES)、ステップS51で生成された正当文字列34とステップS56で生成されたノイズ文字列38とを組み合わせて1以上のクエリを生成する(S59)。各クエリは、正当文字列34及びノイズ文字列38の論理積(AND)で構成されるのが好ましいが、論理和(OR)、否定(NOT)又はこれらの組合せで構成されてもよい。
 再び図2を参照して、検索装置10は、ステップS5で生成された各クエリを検索エンジン21に送信する(S6)。検索エンジン21は、各クエリに応答して検索結果40を検索装置10に返信する。検索エンジン21は、あらかじめNグラム法でインターネット20上の多数のウェブ42をインデクシングし、インデックス(図示せず)を生成している。検索結果40はこのインデックスに基づいて生成される。
 続いて、検索装置10は、各クエリに応答して検索エンジン21から返信されて来た検索結果40をステップS1で入力された検索語30で再検索し、最終検索結果44を生成する(S7)。検索エンジン21から返信されて来た検索結果40は全て検索装置10内のハードディスク13に一時的に保存されるので、再検索は完全にローカルで実行される。具体的には、各検索結果40を検索語30でフィルタリングし、メインクエリをそのまま検索エンジン21に送信していたならヒットしないであろう無関係なウェブページを検索結果から除外する。そして、無関係なウェブページが除外された複数の検索結果を統合する。
 最後に、検索装置10は、ステップS7で生成された最終検索結果44をディスプレイ16に表示する。ユーザが最終検索結果44を見て不十分と判断した場合、ステップ59から正当文字列34及びノイズ文字列38の組合せを変えて再実行してもよい。
 以上のように、本発明の実施の形態によれば、検索語30から抽出した正当文字列34と、ノイズ語36から抽出したノイズ文字列38とを組み合わせてクエリを生成し、検索エンジン21に送信しているため、検索語30から秘密情報が推測されることなく、必要な情報を効率的に取得することができる。すなわち、多数の正当文字列34及び多数のノイズ文字列38がクエリに含まれるため、検索エンジン21側で正当文字列34及びノイズ文字列38を組み合わせて検索語30を復元しようとしても、組合せ爆発を起こして検索語30を推測することはほぼ不可能である。
 また、検索エンジン21に適合した辞書32を生成しているため、ノイズ語36による検索のヒット件数が増え、検索語30の秘匿度は高くなる。また、検索語30の文字数が12未満の場合は2つの正当文字列34を生成し、検索語30の文字数が12以上の場合は3つの正当文字列34を生成するというように、検索語30の文字数が多いほど生成すべき正当文字列34の数を増やしているため、検索語30の秘匿度は低くなるが、検索精度は高くなる。また、ノイズ文字列38をその数が所定のしきい値を超えるまで生成しているため、検索精度は低くなるが、検索語30の秘匿度は高くなる。また、ノイズ語36をその数が所定のしきい値を超えるまで選択しているため、検索精度は低くなるが、検索語の秘匿度は高くなる。
 上記実施の形態は、検索語30の文字数が12未満の場合は2つの正当文字列34を生成し、検索語30の文字数が12以上の場合は3つの正当文字列34を生成しているが、しきい値として設定される検索語30の文字数は特に限定されず、また、生成される正当文字列34の数も特に限定されない。また、生成される正当文字列34の数を1段階で変えることに限定されず、多段階で変えてもよい。要するに、検索語30の文字数が多いほど生成すべき正当文字列34の数を増やすのが好ましい。
 また、上記実施の形態は、検索エンジン21に適合した辞書32を用いているが、あらかじめ用意された一般的な辞書を代わりに用いてもよい。この場合、検索語30の秘匿度は低くなるが、辞書32の生成処理が不要になる。
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
10 検索装置
15 入力装置
16 ディスプレイ
20 インターネット
21~23 検索エンジン
30 検索語
32 辞書
34 正当文字列
36 ノイズ語
38 ノイズ文字列
40 検索結果
44 最終検索結果

Claims (7)

  1.  公開された検索エンジンを用いた検索装置であって、
     3以上の文字からなる所望の検索語の入力を受け付ける検索語入力手段と、
     前記検索語入力手段で入力された検索語から連続する2以上の任意の文字を抽出し、各々が該抽出された文字からなる複数の正当文字列を生成する正当文字列生成手段と、
     任意の単語をノイズ語として選択するノイズ語選択手段と、
     前記ノイズ語選択手段で選択されたノイズ語から連続する2以上の任意の文字を抽出し、該抽出された文字からなるノイズ文字列を生成するノイズ文字列生成手段と、
     前記正当文字列生成手段で生成された正当文字列と前記ノイズ文字列生成手段で生成されたノイズ文字列とを組み合わせてクエリを生成するクエリ生成手段と、
     前記クエリ生成手段で生成されたクエリを前記検索エンジンに送信する外部検索手段と、
     前記外部検索手段からのクエリに応答して前記検索エンジンから返信されて来た検索結果を前記検索語入力手段で入力された検索語で再検索する内部検索手段と、
     前記内部検索手段による検索結果を表示する検索結果表示手段とを備える、ことを特徴とする検索装置。
  2.  請求項1に記載の検索装置であってさらに、
     一般的な単語をクエリとして前記検索エンジンに送信する一般語検索手段と、
     前記一般語検索手段からのクエリに応答して前記検索エンジンから返信されて来た検索結果から単語を抽出して辞書を生成する辞書生成手段とを備え、
     前記ノイズ語選択手段は、前記辞書生成手段で生成された辞書から任意の単語を前記ノイズ語として選択する、ことを特徴とする検索装置。
  3.  請求項1に記載の検索装置であって、
     前記正当文字列生成手段は、前記検索語入力手段で入力された検索語の文字数が多いほど生成すべき正当文字列の数を増やす、ことを特徴とする検索装置。
  4.  請求項1に記載の検索装置であって、
     前記ノイズ文字列生成手段は、前記ノイズ文字列をその数が所定のしきい値を超えるまで生成する、ことを特徴とする検索装置。
  5.  請求項1に記載の検索装置であって、
     前記ノイズ語選択手段は、前記ノイズ語をその数が所定のしきい値を超えるまで選択する、ことを特徴とする検索装置。
  6.  公開された検索エンジンを用いた検索方法であって、
     3以上の文字からなる所望の検索語の入力を受け付けるステップと、
     前記入力された検索語から連続する2以上の任意の文字を抽出し、各々が該抽出された文字からなる複数の正当文字列を生成するステップと、
     任意の単語をノイズ語として選択するステップと、
     前記選択されたノイズ語から連続する2以上の任意の文字を抽出し、該抽出された文字からなるノイズ文字列を生成するステップと、
     前記生成された正当文字列と前記生成されたノイズ文字列とを組み合わせてクエリを生成するステップと、
     前記生成されたクエリを前記検索エンジンに送信するステップと、
     前記クエリに応答して前記検索エンジンから返信されて来た検索結果を前記入力された検索語で再検索するステップと、
     前記再検索による検索結果を表示するステップとを含む、ことを特徴とする検索方法。
  7.  請求項6に記載の各ステップをコンピュータに実行させるための検索プログラム。
PCT/JP2009/064184 2008-08-26 2009-08-11 公開された検索エンジンを用いた検索装置、検索方法及び検索プログラム WO2010024116A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN200980132922.5A CN102132274B (zh) 2008-08-26 2009-08-11 使用了公开的搜索引擎的搜索装置以及搜索方法
JP2010526644A JP5306356B2 (ja) 2008-08-26 2009-08-11 公開された検索エンジンを用いた検索装置、検索方法及び検索プログラム
EP09809769.4A EP2336908B1 (en) 2008-08-26 2009-08-11 Search device, search method and search program using open search engine

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-216821 2008-08-26
JP2008216821 2008-08-26

Publications (1)

Publication Number Publication Date
WO2010024116A1 true WO2010024116A1 (ja) 2010-03-04

Family

ID=41721286

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/064184 WO2010024116A1 (ja) 2008-08-26 2009-08-11 公開された検索エンジンを用いた検索装置、検索方法及び検索プログラム

Country Status (5)

Country Link
US (1) US8150823B2 (ja)
EP (1) EP2336908B1 (ja)
JP (1) JP5306356B2 (ja)
CN (1) CN102132274B (ja)
WO (1) WO2010024116A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013097592A (ja) * 2011-11-01 2013-05-20 Nec Corp クライアント装置、サーバ装置、通信システム、及び通信方法
JP5367179B1 (ja) * 2012-09-20 2013-12-11 株式会社東芝 データ処理装置、データ管理システム、データ処理方法およびプログラム
JP2014106723A (ja) * 2012-11-27 2014-06-09 Kddi Corp 検索情報難読化装置、検索情報難読化方法、およびプログラム

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8725729B2 (en) 2006-04-03 2014-05-13 Steven G. Lisa System, methods and applications for embedded internet searching and result display
US7725453B1 (en) * 2006-12-29 2010-05-25 Google Inc. Custom search index
US20110113038A1 (en) * 2009-11-12 2011-05-12 International Business Machines Corporation Search term security
US8751516B1 (en) 2009-12-22 2014-06-10 Douglas Tak-Lai Wong Landing page search results
US8745022B2 (en) * 2011-11-22 2014-06-03 Navteq B.V. Full text search based on interwoven string tokens
US8738595B2 (en) 2011-11-22 2014-05-27 Navteq B.V. Location based full text search
US8700661B2 (en) 2012-04-12 2014-04-15 Navteq B.V. Full text search using R-trees
US9721020B2 (en) * 2013-07-31 2017-08-01 International Business Machines Corporation Search query obfuscation via broadened subqueries and recombining
US9118631B1 (en) * 2013-08-16 2015-08-25 Google Inc. Mixing secure and insecure data and operations at server database
JP7139157B2 (ja) * 2018-06-04 2022-09-20 株式会社ユニバーサルエンターテインメント 検索文生成システム、及び検索文生成方法
US11178135B2 (en) 2019-06-10 2021-11-16 Microsoft Technology Licensing, Llc Partial pattern recognition in a stream of symbols
US11514149B2 (en) 2019-06-10 2022-11-29 Microsoft Technology Licensing, Llc Pattern matching for authentication with random noise symbols and pattern recognition
US11258783B2 (en) 2019-06-10 2022-02-22 Microsoft Technology Licensing, Llc Authentication with random noise symbols and pattern recognition
US11736472B2 (en) 2019-06-10 2023-08-22 Microsoft Technology Licensing, Llc Authentication with well-distributed random noise symbols
US10866699B1 (en) * 2019-06-10 2020-12-15 Microsoft Technology Licensing, Llc User interface for authentication with random noise symbols
US11240227B2 (en) 2019-06-10 2022-02-01 Microsoft Technology Licensing, Llc Partial pattern recognition in a stream of symbols
US11496457B2 (en) 2019-06-10 2022-11-08 Microsoft Technology Licensing, Llc Partial pattern recognition in a stream of symbols
US11394551B2 (en) 2019-07-17 2022-07-19 Microsoft Technology Licensing, Llc Secure authentication using puncturing
US11133962B2 (en) 2019-08-03 2021-09-28 Microsoft Technology Licensing, Llc Device synchronization with noise symbols and pattern recognition
KR20190113693A (ko) * 2019-09-18 2019-10-08 엘지전자 주식회사 단어 사용 빈도를 고려하여 사용자의 음성을 인식하는 인공 지능 장치 및 그 방법
CN111767445A (zh) * 2020-06-29 2020-10-13 平安科技(深圳)有限公司 数据搜索方法、装置、计算机设备和存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08320873A (ja) * 1995-05-25 1996-12-03 Nippon Telegr & Teleph Corp <Ntt> キーワード自動抽出方法および装置
JPH11259512A (ja) 1998-03-12 1999-09-24 Hitachi Ltd データ検索システム
JP2002132813A (ja) * 2000-10-18 2002-05-10 Sharp Corp 情報提供制御装置、情報提供方法、情報提供プログラムを記録した記録媒体および情報提供システム
JP2002278970A (ja) * 2001-03-16 2002-09-27 Ricoh Co Ltd 文書管理システム
JP2002297606A (ja) 2001-01-26 2002-10-11 Hitachi Ltd 問合せ内容を隠蔽可能なデータベースのアクセス方法およびシステム
JP2002312377A (ja) * 2001-04-18 2002-10-25 Nec Corp 検索装置、検索用サーバ、検索システム、検索方法およびそのプログラム
JP2002351908A (ja) * 2001-05-15 2002-12-06 Internatl Business Mach Corp <Ibm> データベース検索装置、データベース検索システム、データベース検索方法、プログラム及び記憶媒体
JP2004021654A (ja) * 2002-06-17 2004-01-22 Internatl Business Mach Corp <Ibm> データベース検索システム、データ共有システム及びそのデータ検索方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL119444A (en) * 1995-10-20 2001-10-31 Yeda Res & Dev Method and system for private retrieval of information
US5995921A (en) * 1996-04-23 1999-11-30 International Business Machines Corporation Natural language help interface
US6182068B1 (en) * 1997-08-01 2001-01-30 Ask Jeeves, Inc. Personalized search methods
US7058944B1 (en) * 2000-04-25 2006-06-06 Microsoft Corporation Event driven system and method for retrieving and displaying information
US6778994B2 (en) * 2001-05-02 2004-08-17 Victor Gogolak Pharmacovigilance database
US6961722B1 (en) * 2001-09-28 2005-11-01 America Online, Inc. Automated electronic dictionary
US7725451B2 (en) * 2006-01-23 2010-05-25 Microsoft Corporation Generating clusters of images for search results
US7984169B2 (en) * 2006-06-28 2011-07-19 Microsoft Corporation Anonymous and secure network-based interaction
JP2008216821A (ja) 2007-03-06 2008-09-18 Hamamatsu Kagaku Gijutsu Kenkyu Shinkokai 簿記教材作成用装置及びプログラム
US7877368B2 (en) * 2007-11-02 2011-01-25 Paglo Labs, Inc. Hosted searching of private local area network information with support for add-on applications
JP5116593B2 (ja) * 2008-07-25 2013-01-09 インターナショナル・ビジネス・マシーンズ・コーポレーション 公開された検索エンジンを用いた検索装置、検索方法及び検索プログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08320873A (ja) * 1995-05-25 1996-12-03 Nippon Telegr & Teleph Corp <Ntt> キーワード自動抽出方法および装置
JPH11259512A (ja) 1998-03-12 1999-09-24 Hitachi Ltd データ検索システム
JP2002132813A (ja) * 2000-10-18 2002-05-10 Sharp Corp 情報提供制御装置、情報提供方法、情報提供プログラムを記録した記録媒体および情報提供システム
JP2002297606A (ja) 2001-01-26 2002-10-11 Hitachi Ltd 問合せ内容を隠蔽可能なデータベースのアクセス方法およびシステム
JP2002278970A (ja) * 2001-03-16 2002-09-27 Ricoh Co Ltd 文書管理システム
JP2002312377A (ja) * 2001-04-18 2002-10-25 Nec Corp 検索装置、検索用サーバ、検索システム、検索方法およびそのプログラム
JP2002351908A (ja) * 2001-05-15 2002-12-06 Internatl Business Mach Corp <Ibm> データベース検索装置、データベース検索システム、データベース検索方法、プログラム及び記憶媒体
JP2004021654A (ja) * 2002-06-17 2004-01-22 Internatl Business Mach Corp <Ibm> データベース検索システム、データ共有システム及びそのデータ検索方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
See also references of EP2336908A4
YASUSHI OGAWA ET AL.: "N-gram Sakuin ni Okeru Fukugo Kensaku Joken no Koritsuteki na Shori Hoho, No.SIG5 (TOD 2)", TRANSACTIONS OF INFORMATION PROCESSING SOCIETY OF JAPAN, vol. 40, no. SIG5, 15 May 1999 (1999-05-15), pages 43 - 53, XP008138457 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013097592A (ja) * 2011-11-01 2013-05-20 Nec Corp クライアント装置、サーバ装置、通信システム、及び通信方法
JP5367179B1 (ja) * 2012-09-20 2013-12-11 株式会社東芝 データ処理装置、データ管理システム、データ処理方法およびプログラム
JP2014106723A (ja) * 2012-11-27 2014-06-09 Kddi Corp 検索情報難読化装置、検索情報難読化方法、およびプログラム

Also Published As

Publication number Publication date
EP2336908A4 (en) 2013-10-09
US20100057709A1 (en) 2010-03-04
EP2336908B1 (en) 2014-01-29
JP5306356B2 (ja) 2013-10-02
CN102132274A (zh) 2011-07-20
JPWO2010024116A1 (ja) 2012-01-26
EP2336908A1 (en) 2011-06-22
CN102132274B (zh) 2015-08-19
US8150823B2 (en) 2012-04-03

Similar Documents

Publication Publication Date Title
JP5306356B2 (ja) 公開された検索エンジンを用いた検索装置、検索方法及び検索プログラム
JP5116593B2 (ja) 公開された検索エンジンを用いた検索装置、検索方法及び検索プログラム
US10013574B2 (en) Method and apparatus for secure storage and retrieval of encrypted files in public cloud-computing platforms
Zhang et al. SE-PPFM: A searchable encryption scheme supporting privacy-preserving fuzzy multikeyword in cloud systems
US20130238646A1 (en) Partial-Match Searches of Encrypted Data Sets
CN107463592B (zh) 用于将内容项目与图像匹配的方法、设备和数据处理系统
Zhang et al. PRMS: A personalized mobile search over encrypted outsourced data
CN111026788A (zh) 一种混合云中基于同态加密的多关键词密文排序检索方法
CN107273467A (zh) 一种支持可搜索加密的安全索引结构及其构造方法
Henzinger et al. Private web search with Tiptoe
WO2015198113A1 (en) Processing search queries and generating a search result page including search object related information
JP4840914B2 (ja) システム、端末、サーバ、及び、動的情報提供方法
Yu et al. Hide-n-seek: An intent-aware privacy protection plugin for personalized web search
Khare et al. Smart crawler for harvesting deep web with multi-classification
CN110928980A (zh) 一种面向移动云计算的密文数据存储与检索方法
WO2015198114A1 (en) Processing search queries and generating a search result page including search object information
Wang et al. Achieve web search privacy by obfuscation
JP2008234559A (ja) ドキュメント絞り込み検索装置、方法及びプログラム
Manasrah et al. A privacy-preserving multi-keyword search approach in cloud computing
kumar Sharma et al. SAFSB: A self-adaptive focused crawler
Kumar et al. Efficient methodologies to optimize website for link structure based search engines
Hu et al. Personalized searching for web service using user interests
Umarani et al. Generating Enhanced Web Log File using Advanced Data Cleansing Algorithm in Pre-Processing Phase
Kumar et al. Fast Phrased Search for Encrypted Cloud Storage
JP2004348550A (ja) ブラウジング履歴管理方法および装置およびプログラム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200980132922.5

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09809769

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2010526644

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2009809769

Country of ref document: EP