(57)【要約】  類似するコンテンツを検索するために、コンテンツに関する事前情報が必要となる。そのため、類似検索システムは、検索条件とするコンテンツの種類を限定している。従って、未知のバイナリデータであっても、類似検索対象とすることができる検索システムが、望まれる。検索システムは、第１のコンテンツデータに基づく擬似乱数を索引語として登録する索引登録サーバと、第２のコンテンツデータを取得する検索外部インターフェース部と、第２のコンテンツデータを分割して、検索チャンクデータ列を生成する検索チャンクデータ生成部と、検索チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する検索擬似乱数部と、擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索部と、を備える類似検索サーバと、がネットワークを介して接続されている。
2013108746.tif 000002
【特許請求の範囲】
【請求項１】
第１のコンテンツデータに基づく擬似乱数を索引語として登録する索引登録サーバと、
第２のコンテンツデータを取得する検索外部インターフェース部と、
前記第２のコンテンツデータを分割して、検索チャンクデータ列を生成する検索チャンクデータ生成部と、
前記検索チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する検索擬似乱数部と、
前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索部と、
を備える類似検索サーバと、
がネットワークを介して接続されていることを特徴とする検索システム。
【請求項２】
前記索引登録サーバは、
前記第１のコンテンツデータを取得する索引コンテンツデータ収集部と、
前記第１のコンテンツデータを分割して、索引チャンクデータ列を生成する索引チャンクデータ生成部と、
前記索引チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する索引擬似乱数部と、
索引擬似乱数部で算出した擬似乱数に基づき、索引語を生成する索引制御部と、
を備える請求項１に記載の検索システム。
【請求項３】
前記類似基準は、
前記検索チャンクデータ列に基づく擬似乱数の列内に、索引語に含まれる擬似乱数を少なくとも１以上含むこと、
とする請求項１又は２に記載の検索システム。
【請求項４】
前記類似検索部は、
前記類似基準を満たした索引語をソートする、
請求項１乃至３のいずれか一に記載の検索システム。
【請求項５】
前記類似検索部は、
前記類似基準を満たした擬似乱数の個数に基づき、索引語をソートする、
請求項１乃至４のいずれか一に記載の検索システム。
【請求項６】
擬似乱数としてハッシュ値を算出する、
請求項１乃至５のいずれか一に記載の検索システム。
【請求項７】
固定サイズでコンテンツデータを分割する、
請求項１乃至６のいずれか一に記載の検索システム。
【請求項８】
二以上のデータ分割方法から一のデータ分割方法を選択する、
請求項１乃至７のいずれか一に記載の検索システム。
【請求項９】
コンテンツデータを取得する外部インターフェース部を備える検索システムの制御方法であって、
前記コンテンツデータを分割して、チャンクデータ列を生成するチャンクデータ生成工程と、
前記チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する擬似乱数算出工程と、
前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索工程と、
を含むことを特徴とする検索システムの制御方法。
【請求項１０】
コンテンツデータを取得する外部インターフェース部を備える検索システムを制御するコンピュータに実行させるプログラムであって、
前記コンテンツデータを分割して、チャンクデータ列を生成するチャンクデータ生成処理と、
前記チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する擬似乱数算出処理と、
前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索処理と、
を実行するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２０１２−００６５６５号（２０１２年  １月１６日出願）に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、検索システム、その制御方法及びプログラムに関する。特に検索語に類似する複数のデータを検索結果とする検索システム、その制御方法、及びプログラムに関する。
【背景技術】
【０００２】
コンテンツの検索システムは、膨大なデータベースから、ユーザが希望するコンテンツを探索するために、幅広く利用されている。また、ユーザが希望するコンテンツに類似するコンテンツを検索する検索システムが、以下の文献で開示されている。【０００３】
ここで、特許文献１において、膨大なコンテンツが登録されたデータベースから、ユーザの好みに類似するコンテンツを推薦する、コンテンツ推薦サーバが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−６７１７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
なお、上記先行技術文献の開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明の観点からなされたものである。【０００６】
コンテンツの検索システムでは、ユーザが検索語を入力すると、予めデータベースに登録した索引語に基づき、検索結果を返す。ここで、索引語は、コンテンツに対応付けられて生成される。例えば、コンテンツが文書である場合は、文書に含まれる単語を索引語として登録する。また、コンテンツが画像である場合には、コンテンツから色や形状などの特徴量を抽出して、索引語として登録する。【０００７】
特許文献１に開示する技術では、コンテンツに含まれる情報から特徴ベクトルを生成し、コンテンツ推薦サーバを実現している。例えば、特許文献１では、コンテンツをテレビ番組として例示している。そして、特許文献１のコンテンツ推薦サーバは、テレビ番組の種類、視聴、録画履歴から特徴ベクトルを生成している。【０００８】
以上より、類似するコンテンツを検索するために、コンテンツに関する事前情報が必要となる。しかし、コンテンツのフォーマットが分からず、コンテンツに関する事前情報を抽出できない場合もある。そのため、類似検索システムにおいて、検索条件とするコンテンツの種類を限定する必要が生じている。【０００９】
従って、未知のバイナリデータであっても、類似検索対象とすることができる検索システム、その制御方法、及びプログラムが、望まれる。
【課題を解決するための手段】
【００１０】
本発明の第１の視点によれば、第１のコンテンツデータに基づく擬似乱数を索引語として登録する索引登録サーバと、第２のコンテンツデータを取得する検索外部インターフェース部と、前記第２のコンテンツデータを分割して、検索チャンクデータ列を生成する検索チャンクデータ生成部と、前記検索チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する検索擬似乱数部と、前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索部と、を備える類似検索サーバと、がネットワークを介して接続されている検索システムが、提供される。【００１１】
本発明の第２の視点によれば、コンテンツデータを取得する外部インターフェース部を備える検索システムの制御方法であって、前記コンテンツデータを分割して、チャンクデータ列を生成するチャンクデータ生成工程と、前記チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する擬似乱数算出工程と、前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索工程と、を含む検索システムの制御方法が、提供される。
なお、本方法は、上記した索引登録サーバ、及び類似検索サーバをそれぞれ構成するコンピュータという、特定の機械に結び付けられている。【００１２】
本発明の第３の視点によれば、コンテンツデータを取得する外部インターフェース部を備える検索システムを制御するコンピュータに実行させるプログラムであって、前記コンテンツデータを分割して、チャンクデータ列を生成するチャンクデータ生成処理と、前記チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する擬似乱数算出処理と、前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索処理と、を実行するプログラムが、提供される。
なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント（ｎｏｎ−ｔｒａｎｓｉｅｎｔ）なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１３】
本発明の各視点によれば、未知のバイナリデータであっても、類似検索対象とすることができる検索システム、その制御方法、及びプログラムが、提供される。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態を説明するための図である。
【図２】本発明の第１の実施形態に係る検索システム１００の全体構成の一例を示す図である。
【図３】類似検索サーバ１の内部構成の一例を示す図である。
【図４】索引登録サーバ２の内部構成の一例を示す図である。
【図５】索引格納サーバ３の内部構成の一例を示す図である。
【図６】索引語２５０の登録処理のフローチャートである。
【図７】索引語２５０の一例を示す図である。
【図８】索引語２５０の作成処理のフローチャートである。
【図９】索引語２５０の作成処理の一例を示す図である。
【図１０】類似検索処理のフローチャートである。
【発明を実施するための形態】
【００１５】
初めに、図１を用いて一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図したものではない。
【００１６】
上述のように、類似するコンテンツを検索するために、コンテンツに関する事前情報が必要となる場合がある。しかし、コンテンツのフォーマットが分からず、コンテンツに関する事前情報を抽出できない場合もある。そのため、類似検索システムは、検索条件とするコンテンツの種類を限定している。従って、未知のバイナリデータであっても、類似検索対象とすることができる検索システム、その制御方法、及びプログラムが、望まれる。
【００１７】
そこで、一例として図１に示す検索システム１００を提供する。図１に示す検索システム１００は、第１のコンテンツデータに基づく擬似乱数を索引語として登録する索引登録サーバと、第２のコンテンツデータを取得する検索外部インターフェース部と、第２のコンテンツデータを分割して、検索チャンクデータ列を生成する検索チャンクデータ生成部と、検索チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する検索擬似乱数部と、擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索部と、を備える類似検索サーバと、がネットワークを介して接続されている。
【００１８】
まず、類似検索サーバ１は、検索外部インターフェース部１０を備えている。ここで、検索外部インターフェース部１０は、外部のクライアントから検索条件として入力されたコンテンツデータを取得する。なお、コンテンツデータに関する事前情報は不要である。
【００１９】
次に、類似検索サーバ１は、検索チャンクデータ生成部１１を備えている。検索チャンクデータ生成部１１は、コンテンツデータを複数のブロックデータ（以下、チャンクデータ）に分割する。チャンクデータとは、分割後のデータの塊のことである。従って、検索チャンクデータ生成部１１は、コンテンツデータのチャンクデータ列を生成することができる。
【００２０】
さらに、類似検索サーバ１は、検索擬似乱数部１２を備えている。検索擬似乱数部１２は、擬似乱数生成法により、コンテンツデータのチャンクデータの擬似乱数を算出する。
【００２１】
擬似乱数とは、乱数のように見えるが、実際には確定的な計算によって求めている数列をいう。真の乱数は、本来、規則性も再現性も無い数列である。一方、擬似乱数は、計算によって作り、再現性のある数列である。また、擬似乱数生成法とは、擬似乱数を生成するアルゴリズムを意味する。
【００２２】
ここで、検索システム１００は、全てのコンテンツデータについて、同一の擬似乱数生成法を用いる。なお、擬似乱数生成法は、ＳＨＡ１（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ  １）や、ＭＤ５（Ｍｅｓｓａｇｅ  Ｄｉｇｅｓｔ  ５）等、各種存在するがその方式は問わない。ただし、擬似乱数の衝突が発生しにくいアルゴリズムを選択することが好ましい。
【００２３】
さらに、類似検索サーバ１は、類似検索部１３を備えている。類似検索部１３は、検索語として、検索擬似乱数部１２で生成される擬似乱数を用いる。この擬似乱数は、コンテンツデータに関する事前情報に依存していない。
【００２４】
また、索引登録サーバ２は、コンテンツデータに基づく擬似乱数を索引語として登録する。まず、索引登録サーバ２は、検索チャンクデータ生成部１１と同一の方法で、コンテンツデータのチャンクデータを生成する。そして、索引登録サーバ２は、検索擬似乱数部１２と同一の擬似乱数生成法により、擬似乱数を算出する。なお、索引登録サーバ２で生成される擬似乱数についても、コンテンツデータに関する事前情報に依存していない。
【００２５】
そして、類似検索部１３は、検索語に含まれる擬似乱数と、索引語に含まれる擬似乱数を照合し、類似基準を満たす全ての索引語を抽出する。その後、類似検索部１３は、抽出した全ての索引語に基づき、類似検索結果を出力する。
【００２６】
以上より、検索システム１００は、擬似乱数によって、データに固有の特徴量を取得することができる。かつ、チャンクデータの擬似乱数の比較によって、データの一部が合致するか否かを、検索システム１００は判断できる。
【００２７】
従って、未知のバイナリデータであっても、類似検索対象とすることができる検索システム、その制御方法、及びプログラムを提供できる。
【００２８】
以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。
【００２９】
［第１の実施形態］
本発明の第１の実施形態について、図面を用いてより詳細に説明する。
【００３０】
図２は、本実施形態に係る検索システム１００の全体構成の一例を示す図である。
【００３１】
検索システム１００は、類似検索サーバ１、索引登録サーバ２、索引格納サーバ３から構成される。そして、類似検索サーバ１、及び索引登録サーバ２、及び索引格納サーバ３はネットワークを介して接続されている。ネットワークは、ＮＦＳ（Ｎｅｔｗｏｒｋ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）や、ＣＩＦＳ（Ｃｏｍｍｏｎ  Ｉｎｔｅｒｎｅｔ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）等の業界標準のプロトコルを用いて実現する。また、プロトコルの方式は問わない。
【００３２】
なお、本実施形態に係る検索システム１００は、類似検索サーバ１、索引登録サーバ２、索引格納サーバ３が、それぞれ複数のサーバから構成される形態でもよい。ただし、以下の説明では、類似検索サーバ１、索引登録サーバ２、索引格納サーバ３が、それぞれ１台のサーバから構成されるものとして説明する。
【００３３】
次に、図３は、類似検索サーバ１の内部構成の一例を示す図である。
【００３４】
類似検索サーバ１は、検索外部インターフェース部１０、検索チャンクデータ生成部１１、検索擬似乱数部１２、類似検索部１３、検索語制御部１４、索引語入力部１５を備える。図３には、簡単のため、本実施形態に係る検索システム１００に関係するモジュールのみを記載する。なお、検索チャンクデータ生成部１１、検索擬似乱数部１２、類似検索部１３は、上述のとおりである。ゆえに、さらなる説明を省略する。
【００３５】
上述のとおり、検索外部インターフェース部１０は、検索条件として、検索コンテンツデータ１５０を取得する。また、類似検索サーバ１は、検索外部インターフェース部１０を介して、類似検索結果１６０を出力する。
【００３６】
検索語制御部１４は、２つの機能を有する。第１の機能は、検索擬似乱数部１２で生成された擬似乱数に基づき、検索語を生成する機能である。第２の機能は、類似検索サーバ１の内部で、データの転送を仲介する機能である。
【００３７】
索引語入力部１５は、類似検索サーバ１から、索引格納サーバ３へのアクセスを仲介する。ここでも、索引格納サーバ３へのアクセス方式は問わない。
【００３８】
次に、図４は、索引登録サーバ２の内部構成の一例を示す図である。
【００３９】
索引登録サーバ２は、索引コンテンツデータ収集部２０、索引チャンクデータ生成部２１、索引擬似乱数部２２、索引語インターフェース部２３、索引制御部２４を備える。図４には、簡単のため、本実施形態に係る検索システム１００に関係するモジュールのみを記載する。
【００４０】
索引コンテンツデータ収集部２０は、索引登録対象の索引コンテンツデータ２００を取得する。ここで、索引コンテンツデータ収集部２０は、１回で複数の索引コンテンツデータ２００を取得してもよい。また、索引登録サーバ２から、索引コンテンツデータ２００の格納領域へのアクセス方式は問わない。例えば、ローカルネットワーク上の索引コンテンツデータ２００に対しては、ＮＦＳやＣＩＦＳ等のファイルサーバが備えるリモートアクセス方式を用いることが好ましい。一方、ＷＥＢサーバ上の索引コンテンツデータ２００に対しては、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等のＷＥＢアクセス方式を用いることが好ましい。
【００４１】
索引チャンクデータ生成部２１は、検索チャンクデータ生成部１１と同様の処理を行なう。従って、索引チャンクデータ生成部２１は、索引コンテンツデータ２００から、チャンクデータ列２１０を生成することができる。
【００４２】
索引擬似乱数部２２は、検索擬似乱数部１２と同様の処理を行なう。従って、索引擬似乱数部２２は、チャンクデータ列２１０から擬似乱数２４０を生成することができる。
【００４３】
索引語インターフェース部２３は、索引登録サーバ２から索引格納サーバ３へのアクセスを仲介する。ここでも、索引登録サーバ２から索引格納サーバ３へのアクセス方式は問わない。
【００４４】
索引制御部２４は、２つの機能を有する。第１の機能は、索引擬似乱数部２２で生成された擬似乱数に基づき、索引語２５０を生成する機能である。また、索引制御部２４は、索引語インターフェース部２３を介して、索引語２５０を索引格納サーバ３へ転送する。第２の機能は、索引登録サーバ２内部で、データの転送を仲介する機能である。
【００４５】
次に、図５は、索引格納サーバ３の内部構成の一例を示す図である。
【００４６】
索引格納サーバ３は、索引語データベース３０を備える。図５には、簡単のため、本実施形態に係る検索システム１００に関係するモジュールのみを記載する。
【００４７】
索引語データベース３０は、索引語を格納するデータベースである。索引語データベース３０は、類似検索サーバ１、及び索引登録サーバ２から共有アクセス可能である。
【００４８】
次に、検索システム１００の動作について説明する。
【００４９】
最初に、図６のフローチャートを用いて、索引語の登録処理について説明する。
【００５０】
ここで、索引コンテンツデータ収集部２０は、収集対象領域のコンテンツデータの一覧情報を登録しているとする。かつ、コンテンツデータの一覧情報は、それぞれのコンテンツデータのＵＲＩ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）を含むとする。また、索引コンテンツデータ収集部２０は、ネットワークで接続されたファイルサーバやＷＥＢサイトを収集対象領域とする。
【００５１】
まず、索引コンテンツデータ収集部２０は、コンテンツデータとコンテンツデータの取得元のＵＲＩを取得する（ステップＳ１１０）。その際に、索引コンテンツデータ収集部２０は、収集対象領域のコンテンツデータの一覧を参照する。ここで、索引コンテンツデータ２００の取得元のＵＲＩをＵＲＩ２０１とする。なお、索引コンテンツデータ収集部２０は、複数の索引コンテンツデータ２００を一回で取得してもよい。ただし、以下の説明では、簡単のため、索引コンテンツデータ２００は、１つのコンテンツデータであるとする。
【００５２】
次に、索引コンテンツデータ収集部２０は、索引制御部２４を介して、索引コンテンツデータ２００を索引チャンクデータ生成部２１へ転送する。かつ、索引コンテンツデータ収集部２０は、ＵＲＩ２０１を索引制御部２４へ転送する。その後、索引チャンクデータ生成部２１は、索引コンテンツデータ２００を分割する（ステップＳ１２０）。なお、以下の説明では、ステップＳ１２０で分割したデータ（チャンクデータ）列をチャンクデータ列２１０として説明する。
【００５３】
ここで、索引チャンクデータ生成部２１は、コンテンツデータの分割方法として、複数の分割方法を採用することも好ましい。例えば、索引コンテンツデータ２００のバイナリデータを解析し、データの分割方法を選択することも好ましい。ただし、本実施形態に係る検索システム１００では、全ての索引コンテンツデータ２００を固定サイズで分割する方法について説明する。複数の分割方法を採用する形態については、実施形態２に係る検索システム１００として、説明をする。
【００５４】
次に、ステップＳ１２０の処理の後、索引チャンクデータ生成部２１は、索引制御部２４を介して、チャンクデータ列２１０を索引擬似乱数部２２へ転送する。その後、索引擬似乱数部２２は、チャンクデータ列２１０内のそれぞれのチャンクデータ２３０について、擬似乱数２４０を算出する（ステップＳ１３０）。
【００５５】
次に、索引擬似乱数部２２は、擬似乱数１４０を索引制御部２４へ転送する。そして、索引制御部２４は、擬似乱数２４０と、ＵＲＩ２０１を対応付けて、索引語２５０を作成する（ステップＳ１４０）。なお、一つの擬似乱数１４０に対して、複数のＵＲＩを対応付けてもよい。
【００５６】
ここで、図７は、索引語２５０の一例を示す図である。図７の一行目の索引語２５０は、擬似乱数１と、２つのＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を対応付けている。また、図７の二行目の索引語２５０は、擬似乱数２と、３つのファイルパスを対応付けている。このように、索引制御部２４は、一つの擬似乱数１４０に対して、複数のＵＲＩを対応付けて、索引語２５０を作成する。
【００５７】
さらに、図８のフローチャートを用いて、ステップＳ１４０の処理について、詳細に説明する。
【００５８】
まず、索引制御部２４は、索引擬似乱数部２２から擬似乱数２４０を取得する（ステップＳ２１０）。次に、索引制御部２４は、索引語データベース３０にアクセスし、登録されている索引語２５０を順に参照する。そして、擬似乱数２４０と合致する擬似乱数が、索引語データベース３０に登録されているか否かを、索引制御部２４は判断する（ステップＳ２２０）。ステップＳ２２０の条件を満たす場合には、索引制御部２４は、合致した擬似乱数を有する索引語２５０のＵＲＩ部分に、ＵＲＩ２０１を追加する（ステップＳ２３０）。一方、ステップＳ２２０の条件を満たさない場合を考える。その場合には、索引制御部２４は、索引語２５０を新規に作成する（ステップＳ２４０）。ここで、索引制御部２４は、擬似乱数２４０とＵＲＩ２０１を対応付けて索引語２５０を作成する。
【００５９】
以上により、ステップＳ１４０の処理が完了する。その後、全ての擬似乱数２４０について、ステップＳ２１０からステップＳ２４０までの処理を行なう。その後、索引制御部２４は、すべての擬似乱数２４０について、索引語２５０を索引語データベース３０に登録する（ステップＳ１５０）。
【００６０】
ここで、図９を用いて、索引語作成処理の一例を示す。
【００６１】
まず、図９の２０１ａは、ＵＲＩ２０１であり、ｕｒｉ３を指し示す。索引登録サーバ２は、索引コンテンツデータ２００を取得した後（ステップＳ１１０）、チャンクデータ列２１０を生成する（ステップＳ１２０）。図９の場合、チャンクデータ列２１０は、２つのチャンクデータを有する。ステップＳ１２０の処理の後、索引登録サーバ２は、チャンクデータ列２１０に基づき、擬似乱数列２２０を算出する（ステップＳ１３０）。図９の場合、擬似乱数列２２０は、２つの擬似乱数Ｄ２４０ｐとＤ２４０ｒを有する。ステップＳ１３０の処理の後、索引登録サーバ２は、索引語データベース３０を参照する。図９の場合、索引語データベース３０は、索引語２５０ｐと索引語２５０ｑを格納している。また、索引語２５０ｐは、擬似乱数Ｄ２４０ｐを含んでいる。さらに、索引語２５０ｐは、擬似乱数Ｄ２４０ｐに、ｕｒｉ１及びｕｒｉ２を対応付けている。なお、ｕｒｉ１及びｕｒｉ２は、ＵＲＩを表す。一方、索引語２５０ｑは、擬似乱数Ｄ２４０ｑを含んでいる。さらに、索引語２５０ｑは、擬似乱数Ｄ２４０ｑにｕｒｉ４を対応付けている。なお、ｕｒｉ４はＵＲＩを表す。
【００６２】
ここで、擬似乱数列２２０ｐ内の擬似乱数Ｄ２４０ｐは、擬似乱数列２５０ｐ内にも存在する。従って、ステップＳ２２０の条件を満たす。よって、ステップＳ２３０に遷移する。ここで、図９の場合、索引登録サーバ２は、索引語２５０ｐに２０１ａで示すｕｒｉ３を追加する。
【００６３】
次に、図１０のフローチャートを用いて、類似検索処理について説明する。
【００６４】
まず、検索外部インターフェース部１０は、外部のクライアントから検索コンテンツデータ１５０を取得する（ステップＳ３１０）。
【００６５】
次に、検索外部インターフェース部１０は、検索語制御部１４を介して、検索コンテンツデータ１５０を検索チャンクデータ生成部１１へ転送する。その後、検索チャンクデータ生成部１１は、索引チャンクデータ生成部２１と同様の処理を行う。そして、検索チャンクデータ生成部１１は、チャンクデータ列１１０を生成する（ステップＳ３２０）。ただし、検索チャンクデータ生成部１１は、索引チャンクデータ生成部２１と同一のチャンクデータ生成方法を採用するものとする。
【００６６】
次に、検索チャンクデータ生成部１１は、検索語制御部１４を介して、チャンクデータ列１１０を検索擬似乱数部１２に転送する。その後、検索擬似乱数部１２は、索引擬似乱数部２２と同様の処理を行なう。そして、検索擬似乱数部１２は、チャンクデータ列１１０内のそれぞれのチャンクデータ１３０について、擬似乱数１４０を算出する（ステップＳ３３０）。ただし、検索擬似乱数部１２は、索引擬似乱数部２２と同一の擬似乱数生成法を採用するものとする。
【００６７】
次に、検索擬似乱数部１２は、検索制御部１４を介して、全ての擬似乱数１４０を類似検索部１３へ転送する。その後、類似検索部１３は、索引語データベース３０にアクセスし、登録されている索引語２５０を順に参照する。そして、擬似乱数１４０と合致する擬似乱数が、索引語データベース３０に登録されているか否かを、類似検索部１３は判断する（ステップＳ３４０）。ステップＳ３４０の条件を満たす場合には、索引語２５０から、合致した擬似乱数に対応付けられているＵＲＩのリストを取得する（ステップＳ３５０）。そして、類似検索部１３は、全ての擬似乱数１４０について、ステップＳ３４０の条件を判断する。
【００６８】
その後、類似検索部１４は、全ての擬似乱数について、ステップＳ３４０の条件を判断したとする。その場合、類似検索部１３は、取得した全てのＵＲＩのリストを検索外部インターフェース部１０へ転送する。ここで、このＵＲＩのリストを類似検索結果１６０とする。最後に、類似検索サーバ１は、検索外部インターフェース部１０から、クライアント端末へ類似検索結果１６０を出力する（ステップＳ３６０）。
【００６９】
以上より、本実施形態に係る検索システム１００の第１の効果は、コンテンツデータの種類に依存せず、類似検索が可能であることである。また、本実施形態に係る検索システム１００では、コンテンツデータに関する事前情報は不要である。従って、本実施形態に係る検索システム１００は、未知のバイナリデータであっても、類似検索対象とすることができる検索システム、その制御方法、及びプログラムを提供できる。
【００７０】
本実施形態に係る検索システム１００の第２の効果は、索引に消費するデータ容量を削減できることである。なぜなら、索引に登録する方法が一つであるからである。従って、複数のパターンの索引を管理する必要がない。よって、少ないメモリ資源で、上記第１の効果を有する検索システムを提供できる。
【００７１】
［第２の実施形態］
続いて、第２の実施形態について、詳細に説明する。
【００７２】
本実施形態は、複数のチャンクデータ生成方法を備え、適切なチャンクデータ生成方法を選択する実施形態である。なお、本実施形態における説明では、第１の実施形態と重複する部分の説明は省略する。さらに、本実施形態における説明では、第１の実施形態と同一の構成要素には、同一の符号を付し、その説明を省略する。
【００７３】
上述のとおり、本願発明では、コンテンツデータに基づく擬似乱数を照合し、類似検索を実現する。しかし、非類似のコンテンツデータであっても、同一の擬似乱数が算出される場合がある。つまり、擬似乱数が衝突する場合がある。この擬似乱数の衝突は、チャンクデータが類似した場合に発生する。そこで、本実施形態に係るストレージ装置１では、コンテンツデータに応じて、チャンクデータ生成方法を変更する。これにより、同一の擬似乱数が算出される可能性を低くすることができる。なお、本実施形態でのチャンクデータ生成方法の変更は、類似検索サーバ１、及び索引登録サーバ２のいずれでも採用するものとする。
【００７４】
まず、データフォーマットが既知の場合について説明する。データフォーマットが既知の場合には、データフォーマットの構造に基づき、チャンクデータを生成する。例えば、タグを利用したマークアップ言語で記述されたデータを考える。その場合には、それぞれのタグに基づき、チャンクデータを生成できる。
【００７５】
次に、データフォーマットが未知の場合について説明する。データフォーマットが未知の場合、第１の実施形態では、固定サイズでの分割方法を採用している。しかし、本実施形態では、固定サイズでの分割方法に加えて、適切な分割サイズを決定する方法（可変長サイズでの分割方法）も採用する。例えば、可変長サイズでの分割方法として、コンテンツデータへのデータ挿入に伴うデータの切れ目を検出する方法がある。ただし、本実施形態に係る検索システム１００は、固定サイズでの分割方法または可変長サイズでの分割方法のいずれか一方のみを用いるものとする。
【００７６】
以上より、本実施形態に係る検索システム１００では、コンテンツデータ内部の解析に基づき、チャンクデータ生成方法を変更する。その結果、非類似のコンテンツデータに対して、同一の擬似乱数が算出される可能性が低くなる。従って、本実施形態に係る検索システム１００は、実施形態１に係る検索システム１００より、類似検索結果の精度が向上する。
【００７７】
［第３の実施形態］
続いて、第３の実施形態について、詳細に説明する。
【００７８】
本実施形態は、類似度に基づき、類似検索結果をソートして出力する実施形態である。なお、本実施形態における説明では、第１の実施形態と重複する部分の説明は省略する。さらに、本実施形態における説明では、第１の実施形態と同一の構成要素には、同一の符号を付し、その説明を省略する。
【００７９】
上述のとおり、擬似乱数１４０が、索引語データベース３０に格納されている擬似乱数２４０と合致するか否かを、類似検索部１３は判断する（ステップＳ３４０）。そして、擬似乱数列１２０内の全ての擬似乱数１４０について、類似検索部１３はステップＳ３４０の条件を判断する。ここで、類似するコンテンツほど、多くのチャンクデータの擬似乱数が合致することとなる。つまり、擬似乱数１４０と擬似乱数２４０が合致する個数は、コンテンツデータの類似度を表す。よって、コンテンツデータの類似度をユーザに提示するには、擬似乱数１４０と擬似乱数２４０が合致する個数に基づき、対応するＵＲＩをソートすることが好ましい。
【００８０】
以上より、本実施形態に係る検索システム１００では、類似度に基づき、類似検索結果をソートして出力する。その結果、ユーザは、検索条件としたコンテンツデータと、検索結果のコンテンツデータの類似度を把握できる。従って、本実施形態に係る検索システム１００は、他の実施形態以上に有益な検索システムを提供できる。
【００８１】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【００８２】
（付記１）第１のコンテンツデータに基づく擬似乱数を索引語として登録する索引登録サーバと、第２のコンテンツデータを取得する検索外部インターフェース部と、前記第２のコンテンツデータを分割して、検索チャンクデータ列を生成する検索チャンクデータ生成部と、前記検索チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する検索擬似乱数部と、前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索部と、を備える類似検索サーバと、がネットワークを介して接続されている検索システム。
【００８３】
（付記２）前記索引登録サーバは、前記第１のコンテンツデータを索引コンテンツデータ収集部と、前記第１のコンテンツデータを分割して、索引チャンクデータ列を生成する索引チャンクデータ生成部と、前記索引チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する索引擬似乱数部と、索引擬似乱数部で算出した擬似乱数に基づき、索引語を生成する索引制御部と、を備える検索システム。
【００８４】
（付記３）前記類似基準は、前記検索チャンクデータ列に基づく擬似乱数の列内に、索引語に対応する擬似乱数を少なくとも１以上含むこと、とする検索システム。
【００８５】
（付記４）前記類似検索部は、前記類似基準を満たした索引語をソートする検索システム。
【００８６】
（付記５）前記類似検索部は、前記類似基準を満たした擬似乱数の個数に基づき、索引語をソートする検索システム。
【００８７】
（付記６）擬似乱数としてハッシュ値を算出する検索システム。
【００８８】
（付記７）固定サイズでコンテンツデータを分割する検索システム。
【００８９】
（付記８）二以上のデータ分割方法から一のデータ分割方法を選択する検索システム。
【００９０】
（付記９）コンテンツデータを取得する外部インターフェース部を備える検索システムの制御方法であって、前記コンテンツデータを分割して、チャンクデータ列を生成するチャンクデータ生成工程と、前記チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する擬似乱数算出工程と、前記擬似乱数を検索語として、類似基準を満たす全ての索引語を抽出する類似検索工程と、を含む検索システムの制御方法。
【００９１】
（付記１０）コンテンツデータを取得する外部インターフェース部を備える検索システムの制御方法であって、擬似乱数を有する索引語を生成する索引語生成工程、を含む検索システムの制御方法。
【００９２】
（付記１１）コンテンツデータを取得する外部インターフェース部を備える検索システムの制御方法であって、前記検索チャンクデータ列に基づく擬似乱数の列内に、前記索引語に含まれる擬似乱数と一致する擬似乱数を少なくとも１以上含む、とする類似基準を満たした索引語をソートする工程、を含む検索システムの制御方法。
【００９３】
（付記１２）コンテンツデータを取得する外部インターフェース部を備える検索システムの制御方法であって、固定分割サイズでコンテンツデータを分割する工程、を含む検索システムの制御方法。
【００９４】
（付記１３）コンテンツデータを取得する外部インターフェース部を備える検索システムの制御方法であって、二以上のデータ分割方法から一の分割方法を選択する工程、を含む検索システムの制御方法。
【００９５】
（付記１４）コンテンツデータを取得する外部インターフェース部を備える検索システムを制御するコンピュータに実行させるプログラムであって、前記コンテンツデータを分割して、チャンクデータ列を生成するチャンクデータ生成処理と、前記チャンクデータ列内のそれぞれのチャンクデータに基づき、擬似乱数を算出する擬似乱数算出処理と、前記擬似乱数を検索語として、類似基準を満たす全ての索引コンテンツデータを抽出する類似検索処理と、を実行するプログラム。
【００９６】
（付記１５）コンテンツデータを取得する外部インターフェース部を備える検索システムを制御するコンピュータに実行させるプログラムであって、擬似乱数を有する索引語を生成する索引語生成処理と、を実行するプログラム。
【００９７】
（付記１６）コンテンツデータを取得する外部インターフェース部を備える検索システムを制御するコンピュータに実行させるプログラムであって、前記検索チャンクデータ列に基づく擬似乱数の列内に、前記索引語に含まれる擬似乱数と一致する擬似乱数を少なくとも１以上含む、とする類似基準を満たした索引語をソートする処理、を実行するプログラム。
【００９８】
（付記１７）コンテンツデータを取得する外部インターフェース部を備える検索システムを制御するコンピュータに実行させるプログラムであって、固定分割サイズでコンテンツデータを分割する処理、を実行するプログラム。
【００９９】
（付記１８）コンテンツデータを取得する外部インターフェース部を備える検索システムを制御するコンピュータに実行させるプログラムであって、二以上のデータ分割方法から一の分割方法を選択する処理、を実行するプログラム。
【０１００】
なお、引用した上記の特許文献の開示は、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【０１０１】
１  類似検索サーバ
２  索引登録サーバ
３  索引格納サーバ
１０  検索外部インターフェース部
１１  検索チャンクデータ生成部
１２  検索擬似乱数部
１３  類似検索部
１４  検索語制御部
１５  索引語入力部
２０  索引コンテンツデータ収集部
２１  索引チャンクデータ生成部
２２  索引擬似乱数部
２３  索引語インターフェース部
２４  索引制御部
３０  索引語データベース
１００  検索システム
１１０、２１０  チャンクデータ列
１２０、２２０  擬似乱数列
１３０、２３０  チャンクデータ
１４０、２４０  擬似乱数
１５０  検索コンテンツデータ
１６０  類似検索結果
２００  索引コンテンツデータ
２０１  ＵＲＩ
２５０  索引語
【図１】
2013108746.tif 000003
【図２】
2013108746.tif 000004
【図３】
2013108746.tif 000005
【図４】
2013108746.tif 000006
【図５】
2013108746.tif 000007
【図６】
2013108746.tif 000008
【図７】
2013108746.tif 000009
【図８】
2013108746.tif 000010
【図９】
2013108746.tif 000011
【図１０】
2013108746.tif 000012
【国際調査報告】
2013108746.tif 000013
2013108746.tif 000014
2013108746.tif 000015
2013108746.tif 000016
2013108746.tif 000017
2013108746.tif 000018