WO2013108746A1 - 検索システム、その制御方法、及びプログラム - Google Patents

検索システム、その制御方法、及びプログラム Download PDF

Info

Publication number
WO2013108746A1
WO2013108746A1 PCT/JP2013/050552 JP2013050552W WO2013108746A1 WO 2013108746 A1 WO2013108746 A1 WO 2013108746A1 JP 2013050552 W JP2013050552 W JP 2013050552W WO 2013108746 A1 WO2013108746 A1 WO 2013108746A1
Authority
WO
WIPO (PCT)
Prior art keywords
search
index
pseudo
random number
data
Prior art date
Application number
PCT/JP2013/050552
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 日本電気株式会社
Publication of WO2013108746A1 publication Critical patent/WO2013108746A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments

Definitions

  • the present invention is based on a Japanese patent application: Japanese Patent Application No. 2012-006565 (filed on Jan. 16, 2012), and the entire contents of this application are incorporated herein by reference.
  • the present invention relates to a search system, a control method thereof, and a program.
  • the present invention relates to a search system that uses a plurality of data similar to a search word as a search result, a control method thereof, and a program.
  • Content search systems are widely used to search for content desired by users from a huge database. Further, a search system for searching for content similar to content desired by a user is disclosed in the following document.
  • Patent Document 1 discloses a content recommendation server that recommends content similar to a user's preference from a database in which a large amount of content is registered.
  • the search result is returned based on the index term registered in the database in advance.
  • the index word is generated in association with the content. For example, if the content is a document, words included in the document are registered as index words. When the content is an image, feature quantities such as color and shape are extracted from the content and registered as index words.
  • Patent Document 1 a feature vector is generated from information included in content to realize a content recommendation server.
  • Patent Document 1 exemplifies content as a television program.
  • the content recommendation server of patent document 1 produces
  • an index registration server for registering pseudo-random numbers based on the first content data as an index word, a search external interface unit for acquiring second content data, and the second content
  • a search chunk data generation unit that divides data and generates a search chunk data sequence, a search pseudo random number unit that calculates a pseudo random number based on each chunk data in the search chunk data sequence, and a search for the pseudo random number
  • a similarity search server including a similarity search unit that extracts all index terms satisfying a similarity criterion as words is connected via a network.
  • a control method for a search system including an external interface unit that acquires content data, the chunk data generation step of dividing the content data and generating a chunk data sequence; A pseudo-random number calculation step of calculating a pseudo-random number based on each chunk data in the chunk data string; and a similarity search step of extracting all index terms satisfying a similarity criterion using the pseudo-random number as a search term.
  • a method for controlling a search system is provided. Note that this method is linked to a specific machine such as a computer that constitutes the index registration server and the similar search server.
  • a program that is executed by a computer that controls a search system including an external interface unit that acquires content data, the chunk that divides the content data and generates a chunk data string.
  • a data generation process a pseudo-random number calculation process that calculates a pseudo-random number based on each chunk data in the chunk data string, and a similar search that extracts all index words that satisfy the similarity criterion using the pseudo-random number as a search word
  • a program for executing the processing is provided.
  • This program can be recorded on a computer-readable storage medium.
  • the storage medium may be non-transient such as a semiconductor memory, hard disk, magnetic recording medium, optical recording medium, or the like.
  • the present invention can also be embodied as a computer program product.
  • a search system a control method thereof, and a program capable of being a similar search target even for unknown binary data.
  • the search system 100 shown in FIG. 1 divides the second content data, an index registration server that registers pseudo-random numbers based on the first content data as index words, a search external interface unit that acquires the second content data, and the second content data.
  • a search chunk data generation unit that generates a search chunk data sequence, a search pseudo random number unit that calculates a pseudo random number based on each chunk data in the search chunk data sequence, a pseudo random number as a search term, and a similarity criterion
  • a similar search server including a similar search unit that extracts all index words satisfying the condition is connected via a network.
  • the similarity search server 1 includes a search external interface unit 10.
  • the search external interface unit 10 acquires content data input as a search condition from an external client. Prior information regarding content data is not necessary.
  • the similarity search server 1 includes a search chunk data generation unit 11.
  • the search chunk data generation unit 11 divides the content data into a plurality of block data (hereinafter, chunk data). Chunk data is a chunk of data after division. Therefore, the search chunk data generation unit 11 can generate a chunk data string of content data.
  • the similarity search server 1 includes a search pseudorandom number unit 12.
  • the search pseudorandom number unit 12 calculates pseudorandom numbers of chunk data of content data by a pseudorandom number generation method.
  • ⁇ ⁇ Pseudorandom numbers are numbers that look like random numbers, but are actually determined by deterministic calculations.
  • a true random number is originally a sequence of numbers that is neither regular nor reproducible.
  • the pseudo-random number is a reproducible number sequence created by calculation.
  • the pseudo random number generation method means an algorithm for generating pseudo random numbers.
  • the search system 100 uses the same pseudorandom number generation method for all content data.
  • pseudo-random number generation methods such as SHA1 (Secure Hash Algorithm 1) and MD5 (Message Digest 5), but the method is not limited. However, it is preferable to select an algorithm that is less likely to cause pseudorandom collisions.
  • the similarity search server 1 includes a similarity search unit 13.
  • the similarity search unit 13 uses a pseudo-random number generated by the search pseudo-random number unit 12 as a search term. This pseudo-random number does not depend on prior information regarding content data.
  • the index registration server 2 registers a pseudo random number based on the content data as an index word. First, the index registration server 2 generates chunk data of content data by the same method as the search chunk data generation unit 11. Then, the index registration server 2 calculates a pseudo random number by the same pseudo random number generation method as the search pseudo random number unit 12. Note that the pseudo-random numbers generated by the index registration server 2 are not dependent on prior information regarding content data.
  • the similarity search unit 13 collates the pseudo random number included in the search word with the pseudo random number included in the index word, and extracts all index words that satisfy the similarity criterion. Thereafter, the similarity search unit 13 outputs a similarity search result based on all the extracted index terms.
  • the search system 100 can acquire a characteristic amount unique to data by using a pseudo random number. In addition, the search system 100 can determine whether a part of the data matches by comparing the pseudo random numbers of the chunk data.
  • FIG. 2 is a diagram illustrating an example of the overall configuration of the search system 100 according to the present embodiment.
  • the search system 100 includes a similar search server 1, an index registration server 2, and an index storage server 3.
  • the similarity search server 1, the index registration server 2, and the index storage server 3 are connected via a network.
  • the network is realized by using industry standard protocols such as NFS (Network File System) and CIFS (Common Internet File System).
  • NFS Network File System
  • CIFS Common Internet File System
  • the search system 100 may be configured such that the similar search server 1, the index registration server 2, and the index storage server 3 are each composed of a plurality of servers.
  • the similar search server 1, the index registration server 2, and the index storage server 3 will be described as being configured from one server.
  • FIG. 3 is a diagram showing an example of the internal configuration of the similarity search server 1.
  • the similar search server 1 includes a search external interface unit 10, a search chunk data generation unit 11, a search pseudo random number unit 12, a similar search unit 13, a search word control unit 14, and an index word input unit 15.
  • FIG. 3 shows only modules related to the search system 100 according to the present embodiment.
  • the search chunk data generation unit 11, the search pseudorandom number unit 12, and the similarity search unit 13 are as described above. Therefore, further explanation is omitted.
  • the search external interface unit 10 acquires the search content data 150 as a search condition. Further, the similarity search server 1 outputs a similarity search result 160 via the search external interface unit 10.
  • the search word control unit 14 has two functions.
  • the first function is a function for generating a search term based on the pseudorandom number generated by the search pseudorandom number unit 12.
  • the second function is a function that mediates data transfer inside the similar search server 1.
  • the index word input unit 15 mediates access from the similar search server 1 to the index storage server 3. Again, the access method to the index storage server 3 does not matter.
  • FIG. 4 is a diagram showing an example of the internal configuration of the index registration server 2.
  • the index registration server 2 includes an index content data collection unit 20, an index chunk data generation unit 21, an index pseudorandom number unit 22, an index word interface unit 23, and an index control unit 24.
  • FIG. 4 shows only modules related to the search system 100 according to the present embodiment for the sake of simplicity.
  • the index content data collection unit 20 acquires the index content data 200 to be registered as an index.
  • the index content data collection unit 20 may acquire a plurality of index content data 200 at a time.
  • the access method from the index registration server 2 to the storage area of the index content data 200 is not limited.
  • a WEB access method such as HTTP (HyperText Transfer Protocol) for the index content data 200 on the WEB server.
  • the index chunk data generation unit 21 performs the same processing as the search chunk data generation unit 11. Therefore, the index chunk data generation unit 21 can generate the chunk data string 210 from the index content data 200.
  • the index pseudorandom number unit 22 performs the same processing as the search pseudorandom number unit 12. Therefore, the index pseudorandom number unit 22 can generate a pseudorandom number 240 from the chunk data sequence 210.
  • the index word interface unit 23 mediates access from the index registration server 2 to the index storage server 3. Again, the access method from the index registration server 2 to the index storage server 3 does not matter.
  • the index control unit 24 has two functions.
  • the first function is a function for generating the index word 250 based on the pseudorandom number generated by the index pseudorandom number unit 22.
  • the index control unit 24 transfers the index word 250 to the index storage server 3 via the index word interface unit 23.
  • the second function is a function that mediates data transfer in the index registration server 2.
  • FIG. 5 is a diagram showing an example of the internal configuration of the index storage server 3.
  • the index storage server 3 includes an index word database 30.
  • FIG. 5 shows only modules related to the search system 100 according to the present embodiment for the sake of simplicity.
  • the index word database 30 is a database that stores index words.
  • the index word database 30 can be shared and accessed from the similar search server 1 and the index registration server 2.
  • the index content data collection unit 20 has registered content data list information in the collection target area.
  • the list information of the content data includes a URI (Uniform Resource Identifier) of each content data.
  • the index content data collection unit 20 sets a file server or a WEB site connected via a network as a collection target area.
  • the index content data collection unit 20 acquires the content data and the URI from which the content data is acquired (step S110). At that time, the index content data collection unit 20 refers to a list of content data in the collection target area.
  • the URI from which the index content data 200 is acquired is the URI 201.
  • the index content data collection unit 20 may acquire a plurality of index content data 200 at a time. However, in the following description, for the sake of simplicity, it is assumed that the index content data 200 is one content data.
  • the index content data collection unit 20 transfers the index content data 200 to the index chunk data generation unit 21 via the index control unit 24.
  • the index content data collection unit 20 transfers the URI 201 to the index control unit 24.
  • the index chunk data generation unit 21 divides the index content data 200 (step S120).
  • the data (chunk data) sequence divided in step S120 will be described as the chunk data sequence 210.
  • the index chunk data generation unit 21 preferably adopts a plurality of division methods as the content data division method. For example, it is also preferable to analyze binary data of the index content data 200 and select a data division method.
  • a method of dividing all index content data 200 with a fixed size will be described.
  • a form that employs a plurality of division methods will be described as the search system 100 according to the second embodiment.
  • the index chunk data generation unit 21 transfers the chunk data sequence 210 to the index pseudorandom number unit 22 via the index control unit 24. Thereafter, the index pseudorandom number unit 22 calculates a pseudorandom number 240 for each chunk data 230 in the chunk data sequence 210 (step S130).
  • the index pseudo-random number unit 22 transfers the pseudo-random number 140 to the index control unit 24.
  • the index control unit 24 creates the index word 250 by associating the pseudo random number 240 with the URI 201 (step S140).
  • a plurality of URIs may be associated with one pseudo random number 140.
  • FIG. 7 is a diagram showing an example of the index word 250.
  • the index word 250 on the first line in FIG. 7 associates the pseudo-random number 1 with two URLs (Uniform Resource Locator). Also, the index word 250 in the second row in FIG. 7 associates the pseudo random number 2 with three file paths. In this way, the index control unit 24 creates an index word 250 by associating a plurality of URIs with one pseudorandom number 140.
  • step S140 will be described in detail using the flowchart of FIG.
  • the index control unit 24 acquires the pseudo random number 240 from the index pseudo random number unit 22 (step S210). Next, the index control unit 24 accesses the index word database 30 and sequentially refers to the registered index words 250. Then, the index control unit 24 determines whether or not a pseudo random number that matches the pseudo random number 240 is registered in the index word database 30 (step S220). When the condition of step S220 is satisfied, the index control unit 24 adds the URI 201 to the URI portion of the index word 250 having the matched pseudorandom number (step S230). On the other hand, consider a case where the condition of step S220 is not satisfied. In that case, the index control unit 24 newly creates an index word 250 (step S240). Here, the index control unit 24 creates the index word 250 by associating the pseudo random number 240 with the URI 201.
  • step S140 the process of step S140 is completed. Thereafter, the processing from step S210 to step S240 is performed for all pseudorandom numbers 240. Thereafter, the index control unit 24 registers the index word 250 in the index word database 30 for all the pseudo random numbers 240 (step S150).
  • FIG. 1 An example of index word creation processing is shown using FIG. 1
  • 201a in FIG. 9 is a URI 201, which indicates uri3.
  • the index registration server 2 After acquiring the index content data 200 (step S110), the index registration server 2 generates a chunk data string 210 (step S120). In the case of FIG. 9, the chunk data string 210 has two chunk data.
  • the index registration server 2 calculates a pseudo random number sequence 220 based on the chunk data sequence 210 (step S130). In the case of FIG. 9, the pseudo random number sequence 220 includes two pseudo random numbers D240p and D240r.
  • the index registration server 2 refers to the index word database 30. In the case of FIG. 9, the index word database 30 stores an index word 250p and an index word 250q.
  • the index word 250p includes a pseudo random number D240p. Furthermore, the index word 250p associates uri1 and uri2 with the pseudorandom number D240p. Note that uri1 and uri2 represent URIs. On the other hand, the index word 250q includes a pseudo random number D240q. Furthermore, the index word 250q associates uri4 with the pseudorandom number D240q. Note that uri4 represents a URI.
  • step S220 the pseudorandom number D240p in the pseudorandom number sequence 220p also exists in the pseudorandom number sequence 250p. Therefore, the condition of step S220 is satisfied. Therefore, the process proceeds to step S230.
  • the index registration server 2 adds uri3 indicated by 201a to the index word 250p.
  • the search external interface unit 10 acquires the search content data 150 from an external client (step S310).
  • the search external interface unit 10 transfers the search content data 150 to the search chunk data generation unit 11 via the search word control unit 14. Thereafter, the search chunk data generation unit 11 performs the same processing as the index chunk data generation unit 21. Then, the search chunk data generation unit 11 generates a chunk data sequence 110 (step S320). However, the search chunk data generation unit 11 adopts the same chunk data generation method as the index chunk data generation unit 21.
  • the search chunk data generation unit 11 transfers the chunk data sequence 110 to the search pseudorandom number unit 12 via the search word control unit 14. Thereafter, the search pseudorandom number unit 12 performs the same processing as the index pseudorandom number unit 22. Then, the search pseudorandom number unit 12 calculates a pseudorandom number 140 for each chunk data 130 in the chunk data sequence 110 (step S330). However, the search pseudorandom number unit 12 adopts the same pseudorandom number generation method as the index pseudorandom number unit 22.
  • the search pseudorandom number unit 12 transfers all the pseudorandom numbers 140 to the similarity search unit 13 via the search control unit 14. Thereafter, the similarity search unit 13 accesses the index word database 30 and sequentially refers to the registered index words 250. Then, the similarity search unit 13 determines whether or not a pseudo random number that matches the pseudo random number 140 is registered in the index word database 30 (step S340). When the condition of step S340 is satisfied, a list of URIs associated with the matched pseudorandom number is acquired from the index word 250 (step S350). And the similarity search part 13 judges the conditions of step S340 about all the pseudorandom numbers 140.
  • the similarity search unit 14 determines the condition in step S340 for all pseudorandom numbers.
  • the similarity search unit 13 transfers the acquired list of all URIs to the search external interface unit 10.
  • this list of URIs is set as a similarity search result 160.
  • the similar search server 1 outputs the similar search result 160 from the search external interface unit 10 to the client terminal (step S360).
  • the first effect of the search system 100 according to the present embodiment is that a similarity search is possible without depending on the type of content data.
  • the search system 100 according to the present embodiment does not require prior information regarding content data. Therefore, the search system 100 according to the present embodiment can provide a search system, a control method thereof, and a program that can be a similar search target even if the binary data is unknown.
  • the second effect of the search system 100 according to this embodiment is that the data capacity consumed for the index can be reduced. This is because there is only one method for registering in the index. Therefore, it is not necessary to manage an index of a plurality of patterns. Therefore, the search system having the first effect can be provided with a small amount of memory resources.
  • This embodiment is an embodiment that includes a plurality of chunk data generation methods and selects an appropriate chunk data generation method.
  • the description of the same parts as those in the first embodiment is omitted.
  • the same components as those in the first embodiment are denoted by the same reference numerals, and the description thereof is omitted.
  • a pseudo-random number based on content data is collated to realize a similarity search.
  • the same pseudo-random number may be calculated even for dissimilar content data. That is, pseudorandom numbers may collide.
  • This pseudo-random number collision occurs when the chunk data is similar. Therefore, in the storage device 1 according to the present embodiment, the chunk data generation method is changed according to the content data. Thereby, the possibility that the same pseudorandom number is calculated can be reduced. Note that the change of the chunk data generation method in this embodiment is adopted in both the similar search server 1 and the index registration server 2.
  • chunk data is generated based on the data format structure. For example, consider data written in a markup language using tags. In that case, chunk data can be generated based on each tag.
  • the first embodiment employs a fixed size division method.
  • a method for determining an appropriate division size (a division method with a variable length size) is also employed.
  • a dividing method with a variable length size there is a method of detecting a data break accompanying data insertion into content data.
  • the search system 100 uses only one of the fixed size division method and the variable length size division method.
  • the search system 100 changes the chunk data generation method based on the analysis of the content data. As a result, it is less likely that the same pseudorandom number is calculated for dissimilar content data. Therefore, the search system 100 according to the present embodiment is more accurate than the search system 100 according to the first embodiment.
  • This embodiment is an embodiment that sorts and outputs similar search results based on the similarity.
  • the description of the same parts as those in the first embodiment is omitted.
  • the same components as those in the first embodiment are denoted by the same reference numerals, and the description thereof is omitted.
  • the similarity search unit 13 determines whether or not the pseudo random number 140 matches the pseudo random number 240 stored in the index word database 30 (step S340). Then, for all the pseudo random numbers 140 in the pseudo random number sequence 120, the similarity search unit 13 determines the condition of step S340.
  • the more similar content the more pseudo-random numbers of chunk data match. That is, the number of matching pseudo-random numbers 140 and pseudo-random numbers 240 represents the similarity of content data. Therefore, in order to present the similarity of the content data to the user, it is preferable to sort the corresponding URIs based on the number of matching pseudo-random numbers 140 and pseudo-random numbers 240.
  • the search system 100 sorts and outputs the similar search results based on the similarity. As a result, the user can grasp the similarity between the content data as the search condition and the content data of the search result. Therefore, the search system 100 according to the present embodiment can provide a search system that is more useful than the other embodiments.
  • An index registration server for registering pseudo-random numbers based on first content data as an index word, a search external interface unit for acquiring second content data, and dividing the second content data to search
  • a search chunk data generation unit that generates a chunk data sequence, a search pseudo random number unit that calculates a pseudo random number based on each chunk data in the search chunk data sequence, and using the pseudo random number as a search word, satisfies a similarity criterion
  • a search system in which a similar search server including a similar search unit that extracts all index terms is connected via a network.
  • the index registration server includes: an index content data collection unit that divides the first content data; an index chunk data generation unit that divides the first content data to generate an index chunk data sequence; A search system comprising: an index pseudo-random number unit that calculates a pseudo-random number based on each chunk data in the index chunk data sequence; and an index control unit that generates an index word based on the pseudo-random number calculated by the index pseudo-random number unit .
  • the similarity criterion includes at least one or more pseudo random numbers corresponding to an index word in a pseudo random number sequence based on the search chunk data sequence.
  • the similarity search unit is a search system that sorts index terms that satisfy the similarity criterion.
  • the said similar search part is a search system which sorts an index word based on the number of the pseudorandom numbers which satisfy
  • a control method for a search system comprising: a pseudo-random number calculation step for calculating a pseudo-random number based on the chunk data; and a similarity search step for extracting all index terms satisfying a similarity criterion using the pseudo-random number as a search term.
  • a method for controlling a search system including an external interface unit for acquiring content data, including an index word generation step for generating an index word having pseudo-random numbers.
  • a method for controlling a search system including an external interface unit for acquiring content data, the method comprising a step of dividing the content data by a fixed division size.
  • a search system control method including an external interface unit for acquiring content data, the method including a step of selecting one division method from two or more data division methods.
  • the program which makes the computer which controls the search system provided with the external interface part which acquires content data perform, Comprising: The chunk data generation process which divides

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 類似するコンテンツを検索するために、コンテンツに関する事前情報が必要となる。そのため、類似検索システムは、検索条件とするコンテンツの種類を限定している。従って、未知のバイナリデータであっても、類似検索対象とすることができる検索システムが、望まれる。検索システムは、第1のコンテンツデータに基づく擬似乱数を索引語として登録する索引登録サーバと、第2のコンテンツデータを取得する検索外部インターフェース部と、第2のコンテンツデータを分割して、検索チャンクデータ列を生成する検索チャンクデータ生成部と、検索チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する検索擬似乱数部と、擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索部と、を備える類似検索サーバと、がネットワークを介して接続されている。

Description

検索システム、その制御方法、及びプログラム
 [関連出願についての記載]
 本発明は、日本国特許出願:特願2012-006565号(2012年 1月16日出願)に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
 本発明は、検索システム、その制御方法及びプログラムに関する。特に検索語に類似する複数のデータを検索結果とする検索システム、その制御方法、及びプログラムに関する。
 コンテンツの検索システムは、膨大なデータベースから、ユーザが希望するコンテンツを探索するために、幅広く利用されている。また、ユーザが希望するコンテンツに類似するコンテンツを検索する検索システムが、以下の文献で開示されている。
 ここで、特許文献1において、膨大なコンテンツが登録されたデータベースから、ユーザの好みに類似するコンテンツを推薦する、コンテンツ推薦サーバが開示されている。
特開2010-67175号公報
 なお、上記先行技術文献の開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明の観点からなされたものである。
 コンテンツの検索システムでは、ユーザが検索語を入力すると、予めデータベースに登録した索引語に基づき、検索結果を返す。ここで、索引語は、コンテンツに対応付けられて生成される。例えば、コンテンツが文書である場合は、文書に含まれる単語を索引語として登録する。また、コンテンツが画像である場合には、コンテンツから色や形状などの特徴量を抽出して、索引語として登録する。
 特許文献1に開示する技術では、コンテンツに含まれる情報から特徴ベクトルを生成し、コンテンツ推薦サーバを実現している。例えば、特許文献1では、コンテンツをテレビ番組として例示している。そして、特許文献1のコンテンツ推薦サーバは、テレビ番組の種類、視聴、録画履歴から特徴ベクトルを生成している。
 以上より、類似するコンテンツを検索するために、コンテンツに関する事前情報が必要となる。しかし、コンテンツのフォーマットが分からず、コンテンツに関する事前情報を抽出できない場合もある。そのため、類似検索システムにおいて、検索条件とするコンテンツの種類を限定する必要が生じている。
 従って、未知のバイナリデータであっても、類似検索対象とすることができる検索システム、その制御方法、及びプログラムが、望まれる。
 本発明の第1の視点によれば、第1のコンテンツデータに基づく擬似乱数を索引語として登録する索引登録サーバと、第2のコンテンツデータを取得する検索外部インターフェース部と、前記第2のコンテンツデータを分割して、検索チャンクデータ列を生成する検索チャンクデータ生成部と、前記検索チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する検索擬似乱数部と、前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索部と、を備える類似検索サーバと、がネットワークを介して接続されている検索システムが、提供される。
 本発明の第2の視点によれば、コンテンツデータを取得する外部インターフェース部を備える検索システムの制御方法であって、前記コンテンツデータを分割して、チャンクデータ列を生成するチャンクデータ生成工程と、前記チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する擬似乱数算出工程と、前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索工程と、を含む検索システムの制御方法が、提供される。
 なお、本方法は、上記した索引登録サーバ、及び類似検索サーバをそれぞれ構成するコンピュータという、特定の機械に結び付けられている。
 本発明の第3の視点によれば、コンテンツデータを取得する外部インターフェース部を備える検索システムを制御するコンピュータに実行させるプログラムであって、前記コンテンツデータを分割して、チャンクデータ列を生成するチャンクデータ生成処理と、前記チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する擬似乱数算出処理と、前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索処理と、を実行するプログラムが、提供される。
 なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント(non-transient)なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
 本発明の各視点によれば、未知のバイナリデータであっても、類似検索対象とすることができる検索システム、その制御方法、及びプログラムが、提供される。
本発明の一実施形態を説明するための図である。 本発明の第1の実施形態に係る検索システム100の全体構成の一例を示す図である。 類似検索サーバ1の内部構成の一例を示す図である。 索引登録サーバ2の内部構成の一例を示す図である。 索引格納サーバ3の内部構成の一例を示す図である。 索引語250の登録処理のフローチャートである。 索引語250の一例を示す図である。 索引語250の作成処理のフローチャートである。 索引語250の作成処理の一例を示す図である。 類似検索処理のフローチャートである。
 初めに、図1を用いて一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図したものではない。
 上述のように、類似するコンテンツを検索するために、コンテンツに関する事前情報が必要となる場合がある。しかし、コンテンツのフォーマットが分からず、コンテンツに関する事前情報を抽出できない場合もある。そのため、類似検索システムは、検索条件とするコンテンツの種類を限定している。従って、未知のバイナリデータであっても、類似検索対象とすることができる検索システム、その制御方法、及びプログラムが、望まれる。
 そこで、一例として図1に示す検索システム100を提供する。図1に示す検索システム100は、第1のコンテンツデータに基づく擬似乱数を索引語として登録する索引登録サーバと、第2のコンテンツデータを取得する検索外部インターフェース部と、第2のコンテンツデータを分割して、検索チャンクデータ列を生成する検索チャンクデータ生成部と、検索チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する検索擬似乱数部と、擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索部と、を備える類似検索サーバと、がネットワークを介して接続されている。
 まず、類似検索サーバ1は、検索外部インターフェース部10を備えている。ここで、検索外部インターフェース部10は、外部のクライアントから検索条件として入力されたコンテンツデータを取得する。なお、コンテンツデータに関する事前情報は不要である。
 次に、類似検索サーバ1は、検索チャンクデータ生成部11を備えている。検索チャンクデータ生成部11は、コンテンツデータを複数のブロックデータ(以下、チャンクデータ)に分割する。チャンクデータとは、分割後のデータの塊のことである。従って、検索チャンクデータ生成部11は、コンテンツデータのチャンクデータ列を生成することができる。
 さらに、類似検索サーバ1は、検索擬似乱数部12を備えている。検索擬似乱数部12は、擬似乱数生成法により、コンテンツデータのチャンクデータの擬似乱数を算出する。
 擬似乱数とは、乱数のように見えるが、実際には確定的な計算によって求めている数列をいう。真の乱数は、本来、規則性も再現性も無い数列である。一方、擬似乱数は、計算によって作り、再現性のある数列である。また、擬似乱数生成法とは、擬似乱数を生成するアルゴリズムを意味する。
 ここで、検索システム100は、全てのコンテンツデータについて、同一の擬似乱数生成法を用いる。なお、擬似乱数生成法は、SHA1(Secure Hash Algorithm 1)や、MD5(Message Digest 5)等、各種存在するがその方式は問わない。ただし、擬似乱数の衝突が発生しにくいアルゴリズムを選択することが好ましい。
 さらに、類似検索サーバ1は、類似検索部13を備えている。類似検索部13は、検索語として、検索擬似乱数部12で生成される擬似乱数を用いる。この擬似乱数は、コンテンツデータに関する事前情報に依存していない。
 また、索引登録サーバ2は、コンテンツデータに基づく擬似乱数を索引語として登録する。まず、索引登録サーバ2は、検索チャンクデータ生成部11と同一の方法で、コンテンツデータのチャンクデータを生成する。そして、索引登録サーバ2は、検索擬似乱数部12と同一の擬似乱数生成法により、擬似乱数を算出する。なお、索引登録サーバ2で生成される擬似乱数についても、コンテンツデータに関する事前情報に依存していない。
 そして、類似検索部13は、検索語に含まれる擬似乱数と、索引語に含まれる擬似乱数を照合し、類似基準を満たす全ての索引語を抽出する。その後、類似検索部13は、抽出した全ての索引語に基づき、類似検索結果を出力する。
 以上より、検索システム100は、擬似乱数によって、データに固有の特徴量を取得することができる。かつ、チャンクデータの擬似乱数の比較によって、データの一部が合致するか否かを、検索システム100は判断できる。
 従って、未知のバイナリデータであっても、類似検索対象とすることができる検索システム、その制御方法、及びプログラムを提供できる。
 以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。
[第1の実施形態]
 本発明の第1の実施形態について、図面を用いてより詳細に説明する。
 図2は、本実施形態に係る検索システム100の全体構成の一例を示す図である。
 検索システム100は、類似検索サーバ1、索引登録サーバ2、索引格納サーバ3から構成される。そして、類似検索サーバ1、及び索引登録サーバ2、及び索引格納サーバ3はネットワークを介して接続されている。ネットワークは、NFS(Network File System)や、CIFS(Common Internet File System)等の業界標準のプロトコルを用いて実現する。また、プロトコルの方式は問わない。
 なお、本実施形態に係る検索システム100は、類似検索サーバ1、索引登録サーバ2、索引格納サーバ3が、それぞれ複数のサーバから構成される形態でもよい。ただし、以下の説明では、類似検索サーバ1、索引登録サーバ2、索引格納サーバ3が、それぞれ1台のサーバから構成されるものとして説明する。
 次に、図3は、類似検索サーバ1の内部構成の一例を示す図である。
 類似検索サーバ1は、検索外部インターフェース部10、検索チャンクデータ生成部11、検索擬似乱数部12、類似検索部13、検索語制御部14、索引語入力部15を備える。図3には、簡単のため、本実施形態に係る検索システム100に関係するモジュールのみを記載する。なお、検索チャンクデータ生成部11、検索擬似乱数部12、類似検索部13は、上述のとおりである。ゆえに、さらなる説明を省略する。
 上述のとおり、検索外部インターフェース部10は、検索条件として、検索コンテンツデータ150を取得する。また、類似検索サーバ1は、検索外部インターフェース部10を介して、類似検索結果160を出力する。
 検索語制御部14は、2つの機能を有する。第1の機能は、検索擬似乱数部12で生成された擬似乱数に基づき、検索語を生成する機能である。第2の機能は、類似検索サーバ1の内部で、データの転送を仲介する機能である。
 索引語入力部15は、類似検索サーバ1から、索引格納サーバ3へのアクセスを仲介する。ここでも、索引格納サーバ3へのアクセス方式は問わない。
 次に、図4は、索引登録サーバ2の内部構成の一例を示す図である。
 索引登録サーバ2は、索引コンテンツデータ収集部20、索引チャンクデータ生成部21、索引擬似乱数部22、索引語インターフェース部23、索引制御部24を備える。図4には、簡単のため、本実施形態に係る検索システム100に関係するモジュールのみを記載する。
 索引コンテンツデータ収集部20は、索引登録対象の索引コンテンツデータ200を取得する。ここで、索引コンテンツデータ収集部20は、1回で複数の索引コンテンツデータ200を取得してもよい。また、索引登録サーバ2から、索引コンテンツデータ200の格納領域へのアクセス方式は問わない。例えば、ローカルネットワーク上の索引コンテンツデータ200に対しては、NFSやCIFS等のファイルサーバが備えるリモートアクセス方式を用いることが好ましい。一方、WEBサーバ上の索引コンテンツデータ200に対しては、HTTP(HyperText Transfer Protocol)等のWEBアクセス方式を用いることが好ましい。
 索引チャンクデータ生成部21は、検索チャンクデータ生成部11と同様の処理を行なう。従って、索引チャンクデータ生成部21は、索引コンテンツデータ200から、チャンクデータ列210を生成することができる。
 索引擬似乱数部22は、検索擬似乱数部12と同様の処理を行なう。従って、索引擬似乱数部22は、チャンクデータ列210から擬似乱数240を生成することができる。
 索引語インターフェース部23は、索引登録サーバ2から索引格納サーバ3へのアクセスを仲介する。ここでも、索引登録サーバ2から索引格納サーバ3へのアクセス方式は問わない。
 索引制御部24は、2つの機能を有する。第1の機能は、索引擬似乱数部22で生成された擬似乱数に基づき、索引語250を生成する機能である。また、索引制御部24は、索引語インターフェース部23を介して、索引語250を索引格納サーバ3へ転送する。第2の機能は、索引登録サーバ2内部で、データの転送を仲介する機能である。
 次に、図5は、索引格納サーバ3の内部構成の一例を示す図である。
 索引格納サーバ3は、索引語データベース30を備える。図5には、簡単のため、本実施形態に係る検索システム100に関係するモジュールのみを記載する。
 索引語データベース30は、索引語を格納するデータベースである。索引語データベース30は、類似検索サーバ1、及び索引登録サーバ2から共有アクセス可能である。
 次に、検索システム100の動作について説明する。
 最初に、図6のフローチャートを用いて、索引語の登録処理について説明する。
 ここで、索引コンテンツデータ収集部20は、収集対象領域のコンテンツデータの一覧情報を登録しているとする。かつ、コンテンツデータの一覧情報は、それぞれのコンテンツデータのURI(Uniform Resource Identifier)を含むとする。また、索引コンテンツデータ収集部20は、ネットワークで接続されたファイルサーバやWEBサイトを収集対象領域とする。
 まず、索引コンテンツデータ収集部20は、コンテンツデータとコンテンツデータの取得元のURIを取得する(ステップS110)。その際に、索引コンテンツデータ収集部20は、収集対象領域のコンテンツデータの一覧を参照する。ここで、索引コンテンツデータ200の取得元のURIをURI201とする。なお、索引コンテンツデータ収集部20は、複数の索引コンテンツデータ200を一回で取得してもよい。ただし、以下の説明では、簡単のため、索引コンテンツデータ200は、1つのコンテンツデータであるとする。
 次に、索引コンテンツデータ収集部20は、索引制御部24を介して、索引コンテンツデータ200を索引チャンクデータ生成部21へ転送する。かつ、索引コンテンツデータ収集部20は、URI201を索引制御部24へ転送する。その後、索引チャンクデータ生成部21は、索引コンテンツデータ200を分割する(ステップS120)。なお、以下の説明では、ステップS120で分割したデータ(チャンクデータ)列をチャンクデータ列210として説明する。
 ここで、索引チャンクデータ生成部21は、コンテンツデータの分割方法として、複数の分割方法を採用することも好ましい。例えば、索引コンテンツデータ200のバイナリデータを解析し、データの分割方法を選択することも好ましい。ただし、本実施形態に係る検索システム100では、全ての索引コンテンツデータ200を固定サイズで分割する方法について説明する。複数の分割方法を採用する形態については、実施形態2に係る検索システム100として、説明をする。
 次に、ステップS120の処理の後、索引チャンクデータ生成部21は、索引制御部24を介して、チャンクデータ列210を索引擬似乱数部22へ転送する。その後、索引擬似乱数部22は、チャンクデータ列210内のそれぞれのチャンクデータ230について、擬似乱数240を算出する(ステップS130)。
 次に、索引擬似乱数部22は、擬似乱数140を索引制御部24へ転送する。そして、索引制御部24は、擬似乱数240と、URI201を対応付けて、索引語250を作成する(ステップS140)。なお、一つの擬似乱数140に対して、複数のURIを対応付けてもよい。
 ここで、図7は、索引語250の一例を示す図である。図7の一行目の索引語250は、擬似乱数1と、2つのURL(Uniform Resource Locator)を対応付けている。また、図7の二行目の索引語250は、擬似乱数2と、3つのファイルパスを対応付けている。このように、索引制御部24は、一つの擬似乱数140に対して、複数のURIを対応付けて、索引語250を作成する。
 さらに、図8のフローチャートを用いて、ステップS140の処理について、詳細に説明する。
 まず、索引制御部24は、索引擬似乱数部22から擬似乱数240を取得する(ステップS210)。次に、索引制御部24は、索引語データベース30にアクセスし、登録されている索引語250を順に参照する。そして、擬似乱数240と合致する擬似乱数が、索引語データベース30に登録されているか否かを、索引制御部24は判断する(ステップS220)。ステップS220の条件を満たす場合には、索引制御部24は、合致した擬似乱数を有する索引語250のURI部分に、URI201を追加する(ステップS230)。一方、ステップS220の条件を満たさない場合を考える。その場合には、索引制御部24は、索引語250を新規に作成する(ステップS240)。ここで、索引制御部24は、擬似乱数240とURI201を対応付けて索引語250を作成する。
 以上により、ステップS140の処理が完了する。その後、全ての擬似乱数240について、ステップS210からステップS240までの処理を行なう。その後、索引制御部24は、すべての擬似乱数240について、索引語250を索引語データベース30に登録する(ステップS150)。
 ここで、図9を用いて、索引語作成処理の一例を示す。
 まず、図9の201aは、URI201であり、uri3を指し示す。索引登録サーバ2は、索引コンテンツデータ200を取得した後(ステップS110)、チャンクデータ列210を生成する(ステップS120)。図9の場合、チャンクデータ列210は、2つのチャンクデータを有する。ステップS120の処理の後、索引登録サーバ2は、チャンクデータ列210に基づき、擬似乱数列220を算出する(ステップS130)。図9の場合、擬似乱数列220は、2つの擬似乱数D240pとD240rを有する。ステップS130の処理の後、索引登録サーバ2は、索引語データベース30を参照する。図9の場合、索引語データベース30は、索引語250pと索引語250qを格納している。また、索引語250pは、擬似乱数D240pを含んでいる。さらに、索引語250pは、擬似乱数D240pに、uri1及びuri2を対応付けている。なお、uri1及びuri2は、URIを表す。一方、索引語250qは、擬似乱数D240qを含んでいる。さらに、索引語250qは、擬似乱数D240qにuri4を対応付けている。なお、uri4はURIを表す。
 ここで、擬似乱数列220p内の擬似乱数D240pは、擬似乱数列250p内にも存在する。従って、ステップS220の条件を満たす。よって、ステップS230に遷移する。ここで、図9の場合、索引登録サーバ2は、索引語250pに201aで示すuri3を追加する。
 次に、図10のフローチャートを用いて、類似検索処理について説明する。
 まず、検索外部インターフェース部10は、外部のクライアントから検索コンテンツデータ150を取得する(ステップS310)。
 次に、検索外部インターフェース部10は、検索語制御部14を介して、検索コンテンツデータ150を検索チャンクデータ生成部11へ転送する。その後、検索チャンクデータ生成部11は、索引チャンクデータ生成部21と同様の処理を行う。そして、検索チャンクデータ生成部11は、チャンクデータ列110を生成する(ステップS320)。ただし、検索チャンクデータ生成部11は、索引チャンクデータ生成部21と同一のチャンクデータ生成方法を採用するものとする。
 次に、検索チャンクデータ生成部11は、検索語制御部14を介して、チャンクデータ列110を検索擬似乱数部12に転送する。その後、検索擬似乱数部12は、索引擬似乱数部22と同様の処理を行なう。そして、検索擬似乱数部12は、チャンクデータ列110内のそれぞれのチャンクデータ130について、擬似乱数140を算出する(ステップS330)。ただし、検索擬似乱数部12は、索引擬似乱数部22と同一の擬似乱数生成法を採用するものとする。
 次に、検索擬似乱数部12は、検索制御部14を介して、全ての擬似乱数140を類似検索部13へ転送する。その後、類似検索部13は、索引語データベース30にアクセスし、登録されている索引語250を順に参照する。そして、擬似乱数140と合致する擬似乱数が、索引語データベース30に登録されているか否かを、類似検索部13は判断する(ステップS340)。ステップS340の条件を満たす場合には、索引語250から、合致した擬似乱数に対応付けられているURIのリストを取得する(ステップS350)。そして、類似検索部13は、全ての擬似乱数140について、ステップS340の条件を判断する。
 その後、類似検索部14は、全ての擬似乱数について、ステップS340の条件を判断したとする。その場合、類似検索部13は、取得した全てのURIのリストを検索外部インターフェース部10へ転送する。ここで、このURIのリストを類似検索結果160とする。最後に、類似検索サーバ1は、検索外部インターフェース部10から、クライアント端末へ類似検索結果160を出力する(ステップS360)。
 以上より、本実施形態に係る検索システム100の第1の効果は、コンテンツデータの種類に依存せず、類似検索が可能であることである。また、本実施形態に係る検索システム100では、コンテンツデータに関する事前情報は不要である。従って、本実施形態に係る検索システム100は、未知のバイナリデータであっても、類似検索対象とすることができる検索システム、その制御方法、及びプログラムを提供できる。
 本実施形態に係る検索システム100の第2の効果は、索引に消費するデータ容量を削減できることである。なぜなら、索引に登録する方法が一つであるからである。従って、複数のパターンの索引を管理する必要がない。よって、少ないメモリ資源で、上記第1の効果を有する検索システムを提供できる。
[第2の実施形態]
 続いて、第2の実施形態について、詳細に説明する。
 本実施形態は、複数のチャンクデータ生成方法を備え、適切なチャンクデータ生成方法を選択する実施形態である。なお、本実施形態における説明では、第1の実施形態と重複する部分の説明は省略する。さらに、本実施形態における説明では、第1の実施形態と同一の構成要素には、同一の符号を付し、その説明を省略する。
 上述のとおり、本願発明では、コンテンツデータに基づく擬似乱数を照合し、類似検索を実現する。しかし、非類似のコンテンツデータであっても、同一の擬似乱数が算出される場合がある。つまり、擬似乱数が衝突する場合がある。この擬似乱数の衝突は、チャンクデータが類似した場合に発生する。そこで、本実施形態に係るストレージ装置1では、コンテンツデータに応じて、チャンクデータ生成方法を変更する。これにより、同一の擬似乱数が算出される可能性を低くすることができる。なお、本実施形態でのチャンクデータ生成方法の変更は、類似検索サーバ1、及び索引登録サーバ2のいずれでも採用するものとする。
 まず、データフォーマットが既知の場合について説明する。データフォーマットが既知の場合には、データフォーマットの構造に基づき、チャンクデータを生成する。例えば、タグを利用したマークアップ言語で記述されたデータを考える。その場合には、それぞれのタグに基づき、チャンクデータを生成できる。
 次に、データフォーマットが未知の場合について説明する。データフォーマットが未知の場合、第1の実施形態では、固定サイズでの分割方法を採用している。しかし、本実施形態では、固定サイズでの分割方法に加えて、適切な分割サイズを決定する方法(可変長サイズでの分割方法)も採用する。例えば、可変長サイズでの分割方法として、コンテンツデータへのデータ挿入に伴うデータの切れ目を検出する方法がある。ただし、本実施形態に係る検索システム100は、固定サイズでの分割方法または可変長サイズでの分割方法のいずれか一方のみを用いるものとする。
 以上より、本実施形態に係る検索システム100では、コンテンツデータ内部の解析に基づき、チャンクデータ生成方法を変更する。その結果、非類似のコンテンツデータに対して、同一の擬似乱数が算出される可能性が低くなる。従って、本実施形態に係る検索システム100は、実施形態1に係る検索システム100より、類似検索結果の精度が向上する。
[第3の実施形態]
 続いて、第3の実施形態について、詳細に説明する。
 本実施形態は、類似度に基づき、類似検索結果をソートして出力する実施形態である。なお、本実施形態における説明では、第1の実施形態と重複する部分の説明は省略する。さらに、本実施形態における説明では、第1の実施形態と同一の構成要素には、同一の符号を付し、その説明を省略する。
 上述のとおり、擬似乱数140が、索引語データベース30に格納されている擬似乱数240と合致するか否かを、類似検索部13は判断する(ステップS340)。そして、擬似乱数列120内の全ての擬似乱数140について、類似検索部13はステップS340の条件を判断する。ここで、類似するコンテンツほど、多くのチャンクデータの擬似乱数が合致することとなる。つまり、擬似乱数140と擬似乱数240が合致する個数は、コンテンツデータの類似度を表す。よって、コンテンツデータの類似度をユーザに提示するには、擬似乱数140と擬似乱数240が合致する個数に基づき、対応するURIをソートすることが好ましい。
 以上より、本実施形態に係る検索システム100では、類似度に基づき、類似検索結果をソートして出力する。その結果、ユーザは、検索条件としたコンテンツデータと、検索結果のコンテンツデータの類似度を把握できる。従って、本実施形態に係る検索システム100は、他の実施形態以上に有益な検索システムを提供できる。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
 (付記1)第1のコンテンツデータに基づく擬似乱数を索引語として登録する索引登録サーバと、第2のコンテンツデータを取得する検索外部インターフェース部と、前記第2のコンテンツデータを分割して、検索チャンクデータ列を生成する検索チャンクデータ生成部と、前記検索チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する検索擬似乱数部と、前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索部と、を備える類似検索サーバと、がネットワークを介して接続されている検索システム。
 (付記2)前記索引登録サーバは、前記第1のコンテンツデータを索引コンテンツデータ収集部と、前記第1のコンテンツデータを分割して、索引チャンクデータ列を生成する索引チャンクデータ生成部と、前記索引チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する索引擬似乱数部と、索引擬似乱数部で算出した擬似乱数に基づき、索引語を生成する索引制御部と、を備える検索システム。
 (付記3)前記類似基準は、前記検索チャンクデータ列に基づく擬似乱数の列内に、索引語に対応する擬似乱数を少なくとも1以上含むこと、とする検索システム。
 (付記4)前記類似検索部は、前記類似基準を満たした索引語をソートする検索システム。
 (付記5)前記類似検索部は、前記類似基準を満たした擬似乱数の個数に基づき、索引語をソートする検索システム。
 (付記6)擬似乱数としてハッシュ値を算出する検索システム。
 (付記7)固定サイズでコンテンツデータを分割する検索システム。
 (付記8)二以上のデータ分割方法から一のデータ分割方法を選択する検索システム。
 (付記9)コンテンツデータを取得する外部インターフェース部を備える検索システムの制御方法であって、前記コンテンツデータを分割して、チャンクデータ列を生成するチャンクデータ生成工程と、前記チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する擬似乱数算出工程と、前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索工程と、を含む検索システムの制御方法。
 (付記10)コンテンツデータを取得する外部インターフェース部を備える検索システムの制御方法であって、擬似乱数を有する索引語を生成する索引語生成工程、を含む検索システムの制御方法。
 (付記11)コンテンツデータを取得する外部インターフェース部を備える検索システムの制御方法であって、前記検索チャンクデータ列に基づく擬似乱数の列内に、前記索引語に含まれる擬似乱数と一致する擬似乱数を少なくとも1以上含む、とする類似基準を満たした索引語をソートする工程、を含む検索システムの制御方法。
 (付記12)コンテンツデータを取得する外部インターフェース部を備える検索システムの制御方法であって、固定分割サイズでコンテンツデータを分割する工程、を含む検索システムの制御方法。
 (付記13)コンテンツデータを取得する外部インターフェース部を備える検索システムの制御方法であって、二以上のデータ分割方法から一の分割方法を選択する工程、を含む検索システムの制御方法。
 (付記14)コンテンツデータを取得する外部インターフェース部を備える検索システムを制御するコンピュータに実行させるプログラムであって、前記コンテンツデータを分割して、チャンクデータ列を生成するチャンクデータ生成処理と、前記チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する擬似乱数算出処理と、前記擬似乱数を検索語として、類似基準を満たす全ての索引コンテンツデータを抽出する類似検索処理と、を実行するプログラム。
 (付記15)コンテンツデータを取得する外部インターフェース部を備える検索システムを制御するコンピュータに実行させるプログラムであって、擬似乱数を有する索引語を生成する索引語生成処理と、を実行するプログラム。
 (付記16)コンテンツデータを取得する外部インターフェース部を備える検索システムを制御するコンピュータに実行させるプログラムであって、前記検索チャンクデータ列に基づく擬似乱数の列内に、前記索引語に含まれる擬似乱数と一致する擬似乱数を少なくとも1以上含む、とする類似基準を満たした索引語をソートする処理、を実行するプログラム。
 (付記17)コンテンツデータを取得する外部インターフェース部を備える検索システムを制御するコンピュータに実行させるプログラムであって、固定分割サイズでコンテンツデータを分割する処理、を実行するプログラム。
 (付記18)コンテンツデータを取得する外部インターフェース部を備える検索システムを制御するコンピュータに実行させるプログラムであって、二以上のデータ分割方法から一の分割方法を選択する処理、を実行するプログラム。
 なお、引用した上記の特許文献の開示は、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
1 類似検索サーバ
2 索引登録サーバ
3 索引格納サーバ
10 検索外部インターフェース部
11 検索チャンクデータ生成部
12 検索擬似乱数部
13 類似検索部
14 検索語制御部
15 索引語入力部
20 索引コンテンツデータ収集部
21 索引チャンクデータ生成部
22 索引擬似乱数部
23 索引語インターフェース部
24 索引制御部
30 索引語データベース
100 検索システム
110、210 チャンクデータ列
120、220 擬似乱数列
130、230 チャンクデータ
140、240 擬似乱数
150 検索コンテンツデータ
160 類似検索結果
200 索引コンテンツデータ
201 URI
250 索引語

Claims (10)

  1.  第1のコンテンツデータに基づく擬似乱数を索引語として登録する索引登録サーバと、
     第2のコンテンツデータを取得する検索外部インターフェース部と、
     前記第2のコンテンツデータを分割して、検索チャンクデータ列を生成する検索チャンクデータ生成部と、
     前記検索チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する検索擬似乱数部と、
     前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索部と、
     を備える類似検索サーバと、
     がネットワークを介して接続されていることを特徴とする検索システム。
  2.  前記索引登録サーバは、
     前記第1のコンテンツデータを取得する索引コンテンツデータ収集部と、
     前記第1のコンテンツデータを分割して、索引チャンクデータ列を生成する索引チャンクデータ生成部と、
     前記索引チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する索引擬似乱数部と、
     索引擬似乱数部で算出した擬似乱数に基づき、索引語を生成する索引制御部と、
     を備える請求項1に記載の検索システム。
  3.  前記類似基準は、
     前記検索チャンクデータ列に基づく擬似乱数の列内に、索引語に含まれる擬似乱数を少なくとも1以上含むこと、
    とする請求項1又は2に記載の検索システム。
  4.  前記類似検索部は、
     前記類似基準を満たした索引語をソートする、
     請求項1乃至3のいずれか一に記載の検索システム。
  5.  前記類似検索部は、
     前記類似基準を満たした擬似乱数の個数に基づき、索引語をソートする、
     請求項1乃至4のいずれか一に記載の検索システム。
  6.  擬似乱数としてハッシュ値を算出する、
     請求項1乃至5のいずれか一に記載の検索システム。
  7.  固定サイズでコンテンツデータを分割する、
     請求項1乃至6のいずれか一に記載の検索システム。
  8.  二以上のデータ分割方法から一のデータ分割方法を選択する、
     請求項1乃至7のいずれか一に記載の検索システム。
  9.  コンテンツデータを取得する外部インターフェース部を備える検索システムの制御方法であって、
     前記コンテンツデータを分割して、チャンクデータ列を生成するチャンクデータ生成工程と、
     前記チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する擬似乱数算出工程と、
     前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索工程と、
     を含むことを特徴とする検索システムの制御方法。
  10.  コンテンツデータを取得する外部インターフェース部を備える検索システムを制御するコンピュータに実行させるプログラムであって、
     前記コンテンツデータを分割して、チャンクデータ列を生成するチャンクデータ生成処理と、
     前記チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する擬似乱数算出処理と、
     前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索処理と、
     を実行するプログラム。
PCT/JP2013/050552 2012-01-16 2013-01-15 検索システム、その制御方法、及びプログラム WO2013108746A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-006565 2012-01-16
JP2012006565 2012-01-16

Publications (1)

Publication Number Publication Date
WO2013108746A1 true WO2013108746A1 (ja) 2013-07-25

Family

ID=48799171

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/050552 WO2013108746A1 (ja) 2012-01-16 2013-01-15 検索システム、その制御方法、及びプログラム

Country Status (2)

Country Link
JP (1) JPWO2013108746A1 (ja)
WO (1) WO2013108746A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008513891A (ja) * 2004-09-15 2008-05-01 ディリジェント テクノロジーズ コーポレイション データを検索し記憶するシステム及び方法
JP2008521074A (ja) * 2004-11-05 2008-06-19 データ ロボティクス インコーポレイテッド 種々のサイズの格納デバイスを許容する動的にアップグレード可能な故障許容格納システムおよび方法
JP2008257444A (ja) * 2007-04-04 2008-10-23 Nec Corp 類似ファイル管理装置、その方法及びそのプログラム
JP2010108416A (ja) * 2008-10-31 2010-05-13 Yahoo Japan Corp インデックス生成方法、プログラム及びサーバ
JP2010256951A (ja) * 2009-04-21 2010-11-11 Data Henkan Kenkyusho:Kk 類似データ検索装置及びそのプログラム
JP2011527801A (ja) * 2008-07-10 2011-11-04 グーグル インコーポレイテッド ユーザ部分入力のための辞書候補

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008513891A (ja) * 2004-09-15 2008-05-01 ディリジェント テクノロジーズ コーポレイション データを検索し記憶するシステム及び方法
JP2008521074A (ja) * 2004-11-05 2008-06-19 データ ロボティクス インコーポレイテッド 種々のサイズの格納デバイスを許容する動的にアップグレード可能な故障許容格納システムおよび方法
JP2008257444A (ja) * 2007-04-04 2008-10-23 Nec Corp 類似ファイル管理装置、その方法及びそのプログラム
JP2011527801A (ja) * 2008-07-10 2011-11-04 グーグル インコーポレイテッド ユーザ部分入力のための辞書候補
JP2010108416A (ja) * 2008-10-31 2010-05-13 Yahoo Japan Corp インデックス生成方法、プログラム及びサーバ
JP2010256951A (ja) * 2009-04-21 2010-11-11 Data Henkan Kenkyusho:Kk 類似データ検索装置及びそのプログラム

Also Published As

Publication number Publication date
JPWO2013108746A1 (ja) 2015-05-11

Similar Documents

Publication Publication Date Title
KR102358604B1 (ko) 융합 데이터 처리 방법 및 정보 추천 시스템
US10362050B2 (en) System and methods for scalably identifying and characterizing structural differences between document object models
KR102133951B1 (ko) 짧은 링크 처리 방법, 디바이스, 및 서버
CN112136123B (zh) 表征文件以进行相似性搜索
US9147154B2 (en) Classifying resources using a deep network
US9164968B2 (en) Techniques for server-side determination of font subsets
CN105027121A (zh) 对本机应用的应用页面建索引
CN110569213A (zh) 文件存取方法、装置和设备
US9659214B1 (en) Locally optimized feature space encoding of digital data and retrieval using such encoding
US11036764B1 (en) Document classification filter for search queries
CN110515631B (zh) 应用安装数据包的生成方法、服务器及计算机存储介质
CN103235821B (zh) 原创内容的搜索方法和搜索服务器
CN113767390A (zh) 用于分布式存储系统中的改变检测的属性分组
CN111597490A (zh) Web指纹识别方法、装置、设备及计算机存储介质
CN114896454A (zh) 一种基于标签分析的短视频数据推荐方法及系统
CN107819748B (zh) 一种抗破解的验证码实现方法及装置
EP3043271A1 (en) Order encoded manifests in a content centric network
CN108460116B (zh) 搜索方法、装置、计算机设备、存储介质及搜索系统
WO2013108745A1 (ja) ストレージ装置、その制御方法、及びプログラム
JP2014160345A (ja) 閲覧行動予測装置、閲覧行動学習装置、閲覧行動予測方法、閲覧行動学習方法及びプログラム
WO2013108746A1 (ja) 検索システム、その制御方法、及びプログラム
CN110019357B (zh) 数据库查询脚本生成方法及装置
US9256644B1 (en) System for identifying and investigating shared and derived content
Nguyen-Van et al. Minimizing data transfers for regular reachability queries on distributed graphs
Asthana et al. Pac'npost: A framework for a micro-blogging social network in an unstructured p2p network

Legal Events

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

Ref document number: 13738107

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013554290

Country of ref document: JP

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 13738107

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE