JPWO2017221857A1 - 類似演算装置、方法および記憶媒体 - Google Patents

類似演算装置、方法および記憶媒体 Download PDF

Info

Publication number
JPWO2017221857A1
JPWO2017221857A1 JP2018524062A JP2018524062A JPWO2017221857A1 JP WO2017221857 A1 JPWO2017221857 A1 JP WO2017221857A1 JP 2018524062 A JP2018524062 A JP 2018524062A JP 2018524062 A JP2018524062 A JP 2018524062A JP WO2017221857 A1 JPWO2017221857 A1 JP WO2017221857A1
Authority
JP
Japan
Prior art keywords
similarity
data
label
index
attribute value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018524062A
Other languages
English (en)
Other versions
JP7099316B2 (ja
Inventor
祥治 西村
祥治 西村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JPWO2017221857A1 publication Critical patent/JPWO2017221857A1/ja
Application granted granted Critical
Publication of JP7099316B2 publication Critical patent/JP7099316B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • 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/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof
    • 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/903Querying
    • G06F16/9035Filtering based on additional data, e.g. user or group profiles

Landscapes

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

Abstract

本発明は、データの類似性に基づく演算を行う際に、データの任意のサブセットに関する類似インデックスの再構築を容易にする。
類似インデックス記憶部11は、データの類似性に関わる属性値を格納したノードが、データ間の類似関係を表すよう階層的に構成された類似インデックスを記憶する。ラベル生成部12は、データ毎に、類似インデックスにおいて類似性に関わる属性値が格納されたノードの位置を示すパスに基づくラベルを生成する。データ記憶部13は、データ毎に、類似性に関わる属性値およびラベルを関連付けた情報を記憶する。類似演算部14は、データ記憶部13に記憶された全てまたは一部の情報が示すデータについて、ラベルに基づき類似インデックスを再構成し、再構成した類似インデックスを用いて全てまたは一部のデータを対象とする類似性に基づく演算を実行する

Description

本発明は、データに対して類似性に基づく演算を行う技術に関する。
データに対して類似性に基づく演算を行う技術がある。類似性に基づく演算の一例としては、例えば、類似結合が知られている。類似結合とは、データセットにおいてある2つのデータが所定の類似範囲内にある際に、それらのデータを1つにまとめる演算である。例えば、顔画像が2枚あった場合、類似結合は、それらの顔が同一人物とみなせるほど類似している場合に1つにまとめ、そうでなければ別の人物として分けるような演算を行う。
一般的にデータセットの規模が増大するほど、類似性に基づく演算のコストが大きくなる。そこで、データセットを分割し、複数のプロセッサで類似性に基づく演算を実行する手段がとられる。この時に問題となるのは、データセットをどのように分割するか、そして、分割したサブデータセットにまたがるデータ間での類似性に基づく演算をどのように実現するかである。
上述の問題に関連する技術の一例が、特許文献1に記載されている。この関連技術は、対象とするデータの属性が多次元値であり、かつ、各次元の値を参照できることを前提とする。この前提の下に、この関連技術は、ε−k−dツリーという類似インデックスを構築する。ε−k−dツリーは、ツリーの各段をデータの各次元に対応させている。例えば、ルートノードの子ノードである第1段目のノードは、第1次元に対応し、その子ノードである第2段目のノード群は第2次元に対応する。そして、各段において、その段に対応する次元の値でデータをソートした順で、データが入るべきノードが決められる。各段である次元の値でデータがソートされているので、類似結合は、ノード内のデータおよび隣り合うノード間のデータだけを対象とすればよい。この関連技術は、ε−k−dツリーのこの性質を用い、ε−k−dツリーにおけるある段以下のサブツリーごとに、データセットを分割する。そして、この関連技術は、サブツリー内で類似結合を実行するとともに、隣り合うサブツリー間でそれぞれの最左と最右のノードにあるデータを類似結合する。
また、上述の問題に関連する技術の他の一例が、特許文献2に記載されている。この関連技術は、類似性に基づく演算として、与えられたデータに類似するデータの検索を、分類検索ツリーを用いて実行する。具体的には、この関連技術は、データに自動または手動でタグ付けされたキーワードを基に、分類検索ツリーを生成する。分類検索ツリーは、データを分類する分類器がツリー上に構成されたものである。そして、この関連技術は、与えられたデータを分類検索ツリーの分類器により分類し、続けて、下位の分類器により分類していくことにより、類似するデータを検索する。このように、この関連技術は、与えられたデータに類似するデータの検索処理を、分類検索ツリーの枝に沿う範囲に制限することにより、検索処理を効率化する。
特開平11−242688号公報 特開2014−197412号公報
しかしながら、上述の関連技術には、以下の課題がある。
データの類似性に基づく演算を行う際には、与えられたデータセット全てを対象とせずに、任意のサブセットに対して行いたい場合がある。
ところが、特許文献1に記載された関連技術では、複数のプロセッサのそれぞれが、ε−k−dツリーにおけるある段以下のサブツリーを、ローカルな類似インデックスとしてメモリに記憶し、演算の対象とする。したがって、ローカルな類似インデックスが表すサブセットとは異なる任意のサブセットに対して類似性に基づく演算を行いたい場合、この関連技術は、各プロセッサによって参照されるメモリにあるローカルな類似インデックスを1つに統合する必要が生じる。ローカルな類似インデックスの構造はそれらに挿入されたデータに大きく依存するため、この統合操作に係るコストは、新規に類似インデックスを構築するコストとほぼ等価になる。特に、複数のプロセッサおよびメモリが分散環境に配置されていることを想定する場合、この統合操作は、一か所に該当するデータを集約して、類似インデックスを再構築することになるため、著しく性能を低下させる要因となる。
また、特許文献2に記載された関連技術は、データセットについて構築した分類検索ツリーに沿って類似するデータの検索を行うものの、その任意のサブセットを対象として類似するデータの検索を行うことについては記載がない。したがって、この場合、この関連技術は、任意のサブセットについて分類検索ツリーを再構築する必要があり、性能を低下させる要因となる。
本発明は、上述の課題を解決するためになされたものである。すなわち、本発明は、データの類似性に基づく演算を行う際に用いられる類似インデックスにおいて、任意のデータのサブセットに関する類似インデックスの再構築を容易にする技術を提供することを目的とする。
上記目的を達成するために、本発明の類似演算装置は、データの類似性に関わる属性値を格納したノードが、前記データ間の類似関係を表すよう階層的に構成された類似インデックスを記憶した類似インデックス記憶手段と、前記データ毎に、前記類似インデックスにおいて前記属性値が格納されたノードの位置を示すパスに基づくラベルを生成するラベル生成手段と、前記データ毎に、前記属性値および前記ラベルを関連付けた情報を記憶するデータ記憶手段と、前記データ記憶手段に記憶された全てまたは一部の情報が示すデータについて、前記ラベルに基づき前記類似インデックスを再構成し、再構成した前記類似インデックスを用いて前記全てまたは一部のデータを対象とする類似性に基づく演算を実行する類似演算手段と、を備える。
また、本発明の方法は、コンピュータ装置が、データの類似性に関わる属性値を格納したノードが、前記データ間の類似関係を表すよう階層的に構成された類似インデックスを用いて、前記データ毎に、前記類似インデックスにおいて前記属性値が格納されたノードの位置を示すパスに基づくラベルを生成し、前記データ毎に、前記属性値および前記ラベルを関連付けた情報をデータ記憶手段に記憶し、前記データ記憶手段に記憶された全てまたは一部の情報が示すデータについて、前記ラベルに基づき前記類似インデックスを再構成し、再構成した前記類似インデックスを用いて前記全てまたは一部のデータを対象とする類似性に基づく演算を実行する。
また、本発明の記憶媒体は、データの類似性に関わる属性値を格納したノードが、前記データ間の類似関係を表すよう階層的に構成された類似インデックスを用いて、前記データ毎に、前記類似インデックスにおいて前記属性値が格納されたノードの位置を示すパスに基づくラベルを生成するラベル生成ステップと、前記データ毎に、前記属性値および前記ラベルを関連付けた情報をデータ記憶手段に記憶するデータ記憶ステップと、前記データ記憶手段に記憶された全てまたは一部の情報が示すデータについて、前記ラベルに基づき前記類似インデックスを再構成し、再構成した前記類似インデックスを用いて前記全てまたは一部のデータを対象とする類似性に基づく演算を実行する類似演算ステップと、をコンピュータ装置に実行させるプログラムを記憶している。
本発明は、データの類似性に基づく演算を行う際に用いられる類似インデックスにおいて、任意のデータのサブセットに関する類似インデックスの再構築を容易にする技術を提供することができる。
本発明の第1の実施の形態としての類似演算装置の構成を示すブロック図である。 本発明の第1の実施の形態としての類似演算装置のハードウェア構成の一例を示す図である。 本発明の第1の実施の形態としての類似演算装置がデータ記憶部に情報を記憶する動作を説明するフローチャートである。 本発明の第1の実施の形態としての類似演算装置が類似性に基づく演算を実行する動作を説明するフローチャートである。 本発明の第1の実施の形態の具体例における類似インデックスを模式的に説明する図である。 本発明の第2の実施の形態としての類似演算装置の構成を示すブロック図である。 本発明の第2の実施の形態としての類似演算装置が類似性に基づく演算を実行する動作を説明するフローチャートである。 本発明の第2の実施の形態の具体例における類似インデックスを模式的に説明する図である。 本発明の第3の実施の形態としての類似演算装置の構成を示すブロック図である。 本発明の第3の実施の形態としての類似演算装置がデータ記憶部に情報を記憶する動作を説明するフローチャートである。 本発明の第3の実施の形態としての類似演算装置が類似性に基づく演算を実行する動作を説明するフローチャートである。 本発明の第3の実施の形態における類似インデックスの具体例を模式的に説明する図である。 本発明の第3の実施の形態の具体例において付与されるラベルを模式的に説明する図である。 本発明の第3の実施の形態の具体例において共通のプリフィックスを有するデータを模式的に説明する図である。 本発明の第4の実施の形態としての類似演算装置の構成を示すブロック図である。 本発明の第4の実施の形態としての類似演算装置が類似性に基づく演算を実行する動作を説明するフローチャートである。 本発明の第4の実施の形態の具体例においてデータ記憶部に格納される情報を説明する図である。 本発明の第4の実施の形態の具体例においてデータ記憶部に格納される情報の他の例を説明する図である。
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
(第1の実施の形態)
本発明の第1の実施の形態としての類似演算装置1の機能ブロック構成を図1に示す。図1において、類似演算装置1は、類似インデックス記憶部11と、ラベル生成部12と、データ記憶部13と、類似演算部14とを備える。
ここで、類似演算装置1は、図2に示すようなハードウェア要素によって構成可能である。図2において、類似演算装置1は、CPU(Central Processing Unit)1001、メモリ1002、出力装置1003、および、入力装置1004を含む。メモリ1002は、RAM(Random Access Memory)、ROM(Read Only Memory)、補助記憶装置(ハードディスク等)等によって構成される。出力装置1003は、ディスプレイ装置やプリンタ等のように、情報を出力する装置によって構成される。入力装置1004は、キーボードやマウス等のように、ユーザ操作の入力を受け付ける装置によって構成される。この場合、類似インデックス記憶部11およびデータ記憶部13は、メモリ1002によって構成される。また、ラベル生成部12および類似演算部14は、メモリ1002に格納されるコンピュータ・プログラムを読み込んで実行するとともに出力装置1003や入力装置1004等の各部を制御するCPU1001によって構成される。なお、類似演算装置1およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
類似インデックス記憶部11は、類似インデックスを記憶している。類似インデックスとは、データの類似性に関わる属性値を格納したノードが、データ間の類似関係を表すよう階層的に構成された情報である。なお、類似インデックスは、ノードに、データの類似性に関わる属性値自体を格納してもよいし、類似性に関わる属性値への参照情報を格納してもよい。
例えば、類似インデックスは、あるノードに格納されたあるデータの類似性に関わる属性値に対して類似性を有すると判定される他のデータの類似性に関わる属性値が、そのノードにおけるそのデータの配下のノードに格納されるよう構成されていてもよい。また、この場合、各ノードには、1つまたは複数のデータについてその類似性に関わる属性値が格納される。また、このとき、類似性を有するか否かの判定条件として、下の階層になるほどより類似性が高いことを示す条件を適用することにより、各ノードは、下の階層になるほど、より類似する1つ以上のデータについてその類似性に関わる属性値を格納することになる。また、各ノードにおいて、格納される1つ以上のデータの類似性に関わる属性値は、親のノードにおけるデータとの類似性の順に配置されてもよい。
ラベル生成部12は、データ毎に、類似インデックスにおいて類似性に関わる属性値が格納されたノードの位置を示すパスに基づくラベルを生成する。そして、ラベル生成部12は、データの類似性に関わる属性値と、生成したラベルとを関連付けた情報を、後述のデータ記憶部13に記憶させる。
ここで、パスは、ルートノードから、該当するデータの類似性に関わる属性値が格納されるノードまでのノードの並びによって表される。例えば、ラベルは、パスに含まれるノードを識別する情報を、パスにおける並び順に文字列として連結したものであってもよい。また、前述のように、各ノードにおいて、格納される1つ以上のデータの類似性に関わる属性値が、親のノードにおけるデータとの類似性の順に配置されているとする。この場合、パスは、ルートノードから該当するノードまでの、ノードおよび該ノード内での配置順序を表す情報の並びによって表される。この場合、ラベルは、パスに含まれるノードおよびその配置順序を表す情報を、パスにおける並び順に文字列として連結したものであってもよい。
例えば、ラベル生成部12は、対象となるデータの類似性に関わる属性値を入力として取得する。そして、ラベル生成部12は、取得した類似性に関わる属性値を類似インデックスのいずれのノードに格納するかを決定し、決定したノードに格納すればよい。このとき、ラベル生成部12は、取得した類似性に関わる属性値を格納可能なノードが既に類似インデックスに含まれていれば、そのノードにその類似性に関わる属性値を格納する。また、ラベル生成部12は、取得した類似性に関わる属性値を格納可能なノードが未だ類似インデックスに含まれていなければ、新たにノードを生成してそのノードに類似性に関わる属性値を格納する。以降、「類似インデックスにおいて既存または新規のノードに、データの類似性に関わる属性値を格納する」ことを、「類似インデックスのノードに、データの類似性に関わる属性値を挿入する」とも記載する。そして、ラベル生成部12は、類似インデックスにおいて、ルートノードから挿入したノードまでのパスを求め、求めたパスに基づいて、ラベルを生成すればよい。
データ記憶部13は、データ毎に、類似性に関わる属性値およびラベルを関連付けて記憶する。例えば、データ記憶部13は、データ毎に、類似性に関わる属性値を格納するレコードに、ラベルを格納するカラムを設けてもよい。なお、データ記憶部13は、データの類似性に関わる属性値と、ラベルとの関連性が特定できる手法であれば、どのような形式でデータを格納してもよい。またデータ記憶部13は、各データの類似性に関わる属性値およびラベルを関連付けた情報を、複数のブロックに分散して記憶してもよい。また、その場合、各ブロックは、物理的に異なる複数の装置(例えば、複数のメモリ1002)に分散されていてもよい。
類似演算部14は、データ記憶部13に記憶された全てまたは一部のデータについて、ラベルを用いて類似インデックスを再構成する。そして、類似演算部14は、再構成した類似インデックスを用いて、全てまたは一部のデータを対象として類似性に基づく演算を実行する。例えば、類似演算部14は、演算の条件を、入力として取得してもよい。そして、類似演算部14は、取得した演算の条件に基づいて、再構成した類似インデックスを用いて類似性に基づく演算を実行してもよい。
具体的には、類似演算部14は、データ記憶部13に記憶された全てまたは一部のデータを対象として、ラベルに基づいてソートを行う。ラベルは、類似インデックスにおけるパスを表しているので、ソートにより、類似インデックスが再構成される。
また、例えば、類似性に基づく演算とは、類似結合であってもよい。この場合、類似演算部14は、類似結合の条件を入力として取得し、再構成された類似インデックスにおいて、類似結合の条件を用いて類似結合の演算を実施してもよい。なお、類似結合には、類似インデックスを用いて類似結合を実現する公知の技術を適用可能である。
以上のように構成された類似演算装置1の動作について、図面を参照して説明する。
まず、類似演算装置1がデータ記憶部13に情報を記憶する動作を図3に示す。
図3では、まず、ラベル生成部12は、対象となるデータの類似性に関わる属性値を取得する(ステップA1)。
次に、ラベル生成部12は、取得した類似性に関わる属性値を、類似インデックス記憶部11に記憶された類似インデックスのノードに挿入する(ステップA2)。
次に、ラベル生成部12は、類似性に関わる属性値を挿入したノードを示すパスに基づいて、ラベルを生成する(ステップA3)。
次に、ラベル生成部12は、生成したラベルと、取得した類似性に関わる属性値とを関連付けた情報を、データ記憶部13に記憶させる(ステップA4)。
以上で、類似演算装置1は、データ記憶部13に情報を記憶する動作を終了する。
次に、類似演算装置1が類似性に基づく演算を行う動作を図4に示す。
図4では、まず、類似演算部14は、データ記憶部13に記憶された情報が示すデータのうち演算の対象となるデータについて、ラベルを用いて類似インデックスを再構成する(ステップB1)。なお、対象となるデータは、データ記憶部13に記憶された全ての情報が示すデータであってもよいし、一部の情報が示すデータであってもよい。
次に、類似演算部14は、再構成した類似インデックスを用いて、演算対象のデータのセットについて、類似性に基づく演算を実行する(ステップB2)。
例えば、前述のように、類似演算部14は、入力として取得した演算の条件に基づいて、類似性に基づく演算を行ってもよい。また、前述のように、類似演算部14は、類似性に基づく演算として、類似結合を行ってもよい。
以上で、類似演算装置1は、類似性に基づく演算を行う動作を終了する。
次に、類似演算装置1による動作を具体例で示す。ここでは、類似性に関する演算として、類似結合が適用された例について説明する。
また、この具体例では、類似インデックス記憶部11は、図5に示す類似インデックスを記憶しているものとする。図5において、矩形が連結された長方形は、ノードを表す。例えば、A1〜Anの矩形が連結された長方形は、ノードAを表す。また、それぞれの矩形は、そのノードに格納された各データの類似性に関わる属性値を表す。また、矩形に囲まれたA1、B1等の文字列は、ノードおよびそのノード内での配置順序を表している。例えば、A1は、ノードAにおける配置順序が1番目であることを表している。以降、ノードAにおいて配置順序が1番目であることを、ノードA1とも記載する。なお、図5では、各ノードにn(nは1以上の整数)個ずつのデータが格納される例が示されているが、あるノードに格納されるデータの数は、他のノードに格納されるデータの数と必ずしも同一であるとは限らない。
まず、この具体例において、データ記憶部13に情報が記憶される動作について説明する。
ここでは、ラベル生成部12は、対象となるデータの類似性に関わる属性値を取得し(ステップA1)、類似インデックス記憶部11に記憶された類似インデックスのノードに挿入する(ステップA2)。ここでは、ノードC1に、取得した類似性に関わる属性値が挿入されたとする。
次に、ラベル生成部12は、ルートノードから挿入したノードC1までのパスに基づいてラベルを生成する(ステップA3)。ここでは、ノードC1へのパスは、A1、B1、C1という、ノードおよび配置順序を表す情報の並びによって表される。そこで、ラベル生成部12は、これらのノードおよび配置順序を表す情報をその並びの順に文字列として連結することにより、「A1−B1−C1」というラベルを生成する。なお、ここでは、連結する文字列として、「−」(ハイフン)を用いている。
次に、ラベル生成部12は、生成したラベル「A1−B1−C1」と、このデータの類似性に関わる属性値とを関連付けた情報を、データ記憶部13に記憶させる(ステップA4)。
以上で、データ記憶部13に情報が記憶される動作の具体例の説明を終了する。
次に、この具体例で類似結合を行う動作について説明する。この具体例では、データ記憶部13は、類似性に関わる属性値およびラベルを関連付けた情報を、複数のブロックに分散して記憶するものとする。また、ここでは、ブロック内で類似結合が行われる例について説明する。
まず、類似演算部14は、データ記憶部13に記憶された情報を、ブロック毎にラベルを用いてソートすることにより、類似インデックスを再構成する(ステップB1)。
具体的には、類似演算部14は、データ記憶部13に記憶された情報を、ラベルの文字列の昇順にソートする。このようにソートされた情報の並びでは、ラベルの長さが類似インデックスにおける階層の深さを表す。また、同じ長さのラベルで前後に続くデータは、同一の部分木において隣り合うノードを表す。したがって、類似演算部14は、データ記憶部13に記憶された情報をラベルでソートすることにより、類似インデックスを再構成できる。
次に、類似演算部14は、再構成した類似インデックスを用いて、ブロック毎に類似結合を実行する(ステップB2)。例えば、類似演算部14は、再構成した類似インデックスにおいて、隣り合うノードを類似結合してもよい。
このように、本実施の形態の具体例では、類似演算装置1は、データのサブセットであるブロック毎のデータについて、容易に類似インデックスを再構成することができる。
以上で、具体例の説明を終了する。
次に、本発明の第1の実施の形態の効果について述べる。
本発明の第1の実施の形態としての類似演算装置は、データの類似性に基づく演算を行う際に用いられる類似インデックスにおいて、任意のデータのサブセットに関する類似インデックスの再構築を容易にすることができる。
その理由について説明する。本実施の形態では、類似インデックス記憶部が、データの類似性に関わる属性値を格納したノードが、データ間の類似関係を表すよう階層的に構成された類似インデックスを記憶している。そして、ラベル生成部が、データ毎に、類似インデックスにおいてその類似性に関わる属性値が格納されたノードの位置を示すパスに基づくラベルを生成する。そして、ラベル生成部が、データ毎に、類似性に関わる属性値とラベルとを関連付けた情報を、データ記憶部に記憶させる。また、類似演算部が、データ記憶部に記憶された全てまたは一部の情報が示すデータについて、ラベルを用いて類似インデックスを再構成する。そして、類似演算部が、再構成した類似インデックスを用いて、全てまたは一部のデータを対象とする類似性に基づく演算を実行するからである。
このように、本実施の形態は、データ記憶部に記憶されたラベルを参照することにより、類似インデックス記憶部の類似インデックスを参照することなく、類似インデックスを容易に再構成することができる。
(第2の実施の形態)
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第1の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
まず、本発明の第2の実施の形態としての類似演算装置2の機能ブロック構成を、図6に示す。図6において、類似演算装置2は、本発明の第1の実施の形態としての類似演算装置1に対して、データ記憶部13に替えてデータ記憶部23と、類似演算部14に替えて類似演算部24とを含む点が異なる。なお、類似演算装置2およびその各機能ブロックは、図2を参照して説明した本発明の第1の実施の形態と同一のハードウェア要素によって構成可能である。ただし、類似演算装置2およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
データ記憶部23は、データの類似性に関わる属性値およびラベルを関連付けた情報を、複数のブロックに分散して記憶する。複数のブロックへの分散手法については、公知の技術を適用可能である。
類似演算部24は、ラベルにおけるプリフィックスに基づいて、データの類似性に関わる属性値およびラベルを関連付けた情報を、複数のブロックに再分散する。つまり、類似演算部24は、同一のプリフィックスを有するラベルに関連付けられたデータを1つ以上のブロックから取得し、取得したデータを、同一のブロックに記憶させればよい。例えば、プリフィックスとしては、ラベルの文字列のうち類似インデックスにおいて所定の階層までのパスを表す文字列が適用されてもよい。
そして、類似演算部24は、各ブロックに格納された情報が示すデータについて、ラベルに基づいて類似インデックスを再構成する。また、類似演算部24は、各ブロックに格納された情報が示すデータについて、それぞれの類似インデックスを用いて、類似性に基づく演算を実行する。なお、類似演算部24が、複数のCPU1001により構成される場合、各CPU1001が、対応するブロックについて類似インデックスを再構成し、再構成した類似インデックスを用いて類似性に基づく演算を行ってもよい。
以上のように構成された類似演算装置2の動作について、図面を参照して説明する。なお、類似演算装置2がデータ記憶部23に情報を記憶する動作については、図3を参照して説明した本発明の第1の実施の形態の動作と同様であるため、本実施の形態における説明を省略する。
ここでは、類似演算装置2が類似性に基づく演算を行う動作を図7に示す。
図7では、まず、類似演算部24は、データ記憶部23に記憶された情報を、プリフィックスに基づき複数のブロックに再分散する(ステップB21)。
次に、類似演算部24は、各ブロックに記憶された情報が示すデータについて、ラベルを用いて類似インデックスを再構成する(ステップB22)。
次に、類似演算部24は、各ブロックに記憶された情報が示すデータについて、再構成した類似インデックスを用いて、類似性に基づく演算を実行する(ステップB23)。
以上で、類似演算装置2は、類似性に基づく演算を行う動作を終了する。
次に、類似演算装置2の動作を具体例で示す。ここでは、類似性に関する演算として、類似結合が適用された例について説明する。
この具体例では、データ記憶部23は、任意の分割手法を用いて、データおよびラベルを関連付けた情報を、複数のブロックに分散して記憶しているものとする。このとき、分散配置されたブロックにまたがって、類似結合を行う場合について述べる。また、類似インデックス記憶部11には、図5を参照して説明した本発明の第1の実施の形態の具体例と同様の類似インデックスが記憶されているとする。
この場合、類似演算部24は、データ記憶部23に記憶された情報に対して、ラベルのプリフィックスをキーにしたハッシュ結合を実施する(ステップB21)。
例えば、図5の類似インデックスにおいて、ラベルのプリフィックスとして3階層目のノードまでのパスを適用した例を、図8に示す。図8において、ノードC1以下の部分木に格納されるデータの類似性に関わる属性値は、プリフィックス「A1−B1−C1」を持つラベルに関連付けられている。また、ノードJ1以下の部分木に格納されるデータの類似性に関わる属性値は、プリフィックス「An−I1−J1」を持つラベルに関連付けられている。そこで、類似演算部24は、プリフィックス「A1−B1−C1」や、プリフィックス「An−I1−J1」等を再分散キーとして、ハッシュ結合を実施する。したがって、ハッシュ結合により、同一のプリフィックスを持つラベルに関連付けられたデータの類似性に関わる属性値は、同じブロックに集められる。
その後、類似演算部24は、各ブロックにおいて、ラベルを用いて類似インデックスを再構成し(ステップB22)、再構成した類似インデックスを用いてブロック内の類似結合を行えばよい(ステップB23)。
以上で、具体例の説明を終了する。
次に、本発明の第2の実施の形態の効果について述べる。
本発明の第2の実施の形態としての類似演算装置は、複数のブロックに分散して記憶されたデータの類似性に関わる属性値を用いて、ブロックにまたがった類似性に基づく演算を、効率的に実行することができる。
その理由について説明する。本実施の形態では、データ記憶部が、データの類似性に関わる属性値およびラベルを関連付けた情報を、複数のブロックに分散して記憶している。そして、類似演算部が、データの類似性に関わる属性値およびラベルを関連付けた情報を、プリフィックスに基づき複数のブロックに再分散し、各ブロックに記憶された情報が示すデータについて、ラベルを用いて類似インデックスを再構成する。そして、類似演算部が、各ブロックに記憶された情報が示すデータについて、再構成した類似インデックスを用いて、類似性に基づく演算を実行するからである。
なお、本実施の形態において、データ記憶部は、複数のブロックを、物理的に異なる複数の記憶装置にそれぞれ記憶させてもよい。その場合、本実施の形態は、ラベルのプリフィックスを再分散のためのキーとして用いることにより、効率的なハッシュ結合アルゴリズムを適用して、再分散を行うことができる。その結果、本実施の形態は、効率的に、類似性に基づく演算の対象となるデータを同一の記憶装置に集めることができる。これにより、本実施の形態は、分散環境下での類似性に基づく演算を効率化することができる。
(第3の実施の形態)
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第1および第2の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
まず、本発明の第3の実施の形態としての類似演算装置3の機能ブロック構成を図9に示す。類似演算装置3は、本発明の第2の実施の形態の類似演算装置2に対して、類似インデックス記憶部11に替えて類似インデックス記憶部31と、ラベル生成部12に替えてラベル生成部32と、類似演算部24に替えて類似演算部34とを備える点が異なる。
なお、類似演算装置3およびその各機能ブロックは、図2を参照して説明した本発明の第1の実施の形態と同一のハードウェア要素によって構成可能である。ただし、類似演算装置3およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
類似インデックス記憶部31は、類似インデックスを格納する。類似インデックスは、任意のノード以下に、そのノードに格納されたデータの類似性に関わる属性値に対する類似性が類似閾値以上の他のデータの類似性に関わる属性値が格納されるよう構成される。つまり、このような類似インデックスでは、あるノードに格納されたデータの類似性に関わる属性値と、その子のノードとの関係性に、類似閾値が設定されている。類似閾値としては、例えば、下の階層になるほどより類似度が高いことを表す値が設定されていてもよい。
ラベル生成部32は、ラベルに、データの類似性に関わる属性値が格納されたノードの位置を示すパスにおいて適用された類似閾値を表す情報をさらに含める。例えば、ラベルは、ルートノードから該当するノードまでのパスに含まれる各ノードについて、ノード、ノード内での配置順序、および、子のノードとの関係性に設定された類似閾値の組を表す情報を、パスにおける並び順に連結した文字列であってもよい。
類似演算部34は、ラベルに含まれる類似閾値を表す情報に基づいて、再分散の際に用いるプリフィックスを決定する。例えば、前述のように、類似閾値として、下の階層になるほどより類似度が高いことを表す値が設定されているとする。また、類似閾値は、値が大きいほど類似度が高いものとする。この場合、類似演算部34は、ラベルの文字列において、所定の値以上の類似閾値が適用されたノードまでのパスを表す文字列をプリフィックスとして適用してもよい。そして、類似演算部34は、決定したプリフィックスを用いて、本発明の第2の実施の形態における類似演算部24と同様に、情報の再分散および類似性に基づく演算を実行する。
以上のように構成された類似演算装置3の動作について、図面を参照して説明する。
まず、類似演算装置3がデータ記憶部23に情報を記憶する動作を図10に示す。
図10では、類似演算装置3は、ステップA1〜A2まで、本発明の第1の実施の形態と同様に動作する。これにより、新たに取得されたデータの類似性に関わる属性値が、類似インデックス記憶部31に記憶された類似インデックスのノードに挿入される。
次に、ラベル生成部32は、ルートノードから挿入したノードまでのパスと、そのパスにおいて適用された類似閾値とに基づいて、ラベルを生成する(ステップA33)。
以降、類似演算装置3は、ステップA4を、本発明の第1の実施の形態と同様に実行する。これにより、生成された類似閾値を含むラベルと、対象となるデータの類似性に関わる属性値とが関連付けられて、データ記憶部23に記憶される。
以上で、類似演算装置3は、データ記憶部23に情報を記憶する動作を終了する。
次に、類似演算装置3が類似性に基づく演算を行う動作を図11に示す。
図11では、まず、類似演算部34は、類似閾値に基づいて、再分散に用いるプリフィックスを決定する(ステップB31)。
例えば、類似演算部34は、類似インデックスをルートからたどる各パスにおいて、類似閾値が所定の値を超えるまでのパスを表す文字列を、プリフィックスとして決定してもよい。
以降、類似演算装置3は、ステップB21〜B23まで、本発明の第2の実施の形態と同様に動作する。これにより、ステップB31で決定されたプリフィックスに基づき再分散されたブロック毎に、類似インデックスが再構成され、類似性に基づく演算が実行される。
以上で、類似演算装置3は、類似性に基づく演算を行う動作を終了する。
次に、類似演算装置3による類似性に基づく演算を具体例で示す。
この具体例では、類似性に関する演算として、類似結合が適用された例について説明する。また、類似結合の条件として、「類似度がδq以上」という条件が指定されているものとする。また、データ記憶部23は、データの類似性に関わる属性値およびラベルを関連付けた情報を、複数のブロックに分散して記憶しているものとする。このとき、ブロック内で類似結合を行う場合について述べる。
また、この具体例では、類似インデックス記憶部31は、図12に示した情報を記憶しているものとする。このような類似インデックスの一例を示す関連技術が、次の公知文献に記載されている。
公知文献:「劉 健全、西村 祥治、荒木 拓也著“類似度の階層関係に基づく木構造索引を用いた効率的な類似検索”、第5回データ工学と情報マネジメントに関するフォーラム(第11回日本データベース学会年次大会) DEIM 2013、2013/3/3、セッションA9−1、インターネット<URL:http://db-event.jpn.org/deim2013/proceedings/index.html>」
この公知文献に示された類似インデックスは、図12に示すように、あるノード以下に、当該ノードに記憶された各データの類似性に関わる属性値に対して類似閾値(δx)以上となるデータの類似性に関わる属性値を格納する。つまり、ノードA1に格納されたデータの類似性に関わる属性値の下にある部分木にある全てのノードに格納されたデータは、ノードA1に格納されたデータとの類似度がδ1よりも大きいことを表す。
まず、この具体例でデータ記憶部23に情報が記憶される動作について説明する。
ここでは、ラベル生成部32は、対象となるデータの類似性に関わる属性値を取得し(ステップA1)、類似インデックス記憶部31に記憶された類似インデックスのノードに挿入する(ステップA2)。ここでは、ノードC1にこの類似性に関わる属性値が挿入されたとする。
次に、ラベル生成部32は、図13に示すように、ルートノードであるノードA1から、データを挿入したノードC1までのパスと、そのパスにおいて適用された類似閾値とを文字列として連結してラベルを生成する。生成されたラベルは、図13に示すように、「(A1,δ1)−(B1,δ2)−C1」となる。
次に、類似演算部34は、類似インデックスのルートからの各パスにおいて、類似閾値がδqをはじめて超える要素までの文字列をプリフィックス(すなわち、再分散キー)として決定する(ステップB31)。例えば、図14に示すように、ルートノードからリーフノードにたどった各パスにおいて、類似閾値がδqを初めて超えるのが、δ3、δ10、δ11の3つであるとする。この場合、類似演算部34は、再分散キーとして、(A1,δ1)−(B1,δ2)−(C1,δ3)、(An,δ8)−(I1,δ9)−(J1,δ10)、(An,δ8)−(I1,δ9)−(Jn,δ11)を用いることを決定する。
そして、類似演算部34は、これらのプリフィックスを再分散キーとして用いて、データを再分散する。これにより、図14において、破線で囲んだ部分木ごとにデータが再分散される(ステップB21)。
そして、類似演算部34は、各ブロックにおいて、ラベルを用いて類似インデックスを再構成し(ステップB22)、再構成した類似インデックスを用いてブロック内の類似結合を行えばよい(ステップB23)。
以上で、具体例の説明を終了する。
次に、本発明の第3の実施の形態の効果について述べる。
本発明の第3の実施の形態としての類似演算装置は、複数のブロックに分散して記憶されたデータに対して、ブロックにまたがった類似性に基づく演算を、さらに効率的に実行することができる。
その理由について説明する。本実施の形態では、類似インデックス記憶部が、任意のノード以下に、そのノードに格納されたデータの類似性に関わる属性値に対する類似性が類似閾値以上のデータの類似性に関わる属性値が格納されるよう構成された類似インデックスを記憶している。そして、ラベル生成部は、データ毎に、類似インデックスにおいてそのデータが格納されたノードの位置を示すパスと、そのパスにおいて適用された類似閾値を表す情報とを含めたラベルを生成する。そして、類似演算部は、ラベルに含まれる類似閾値を表す情報に基づいて、再分散の際に用いるプリフィックスを決定するからである。
つまり、本実施の形態は、ラベルに含まれる類似閾値を利用することにより、類似性に基づく演算のために行う再分散に、より適切なプリフィックスを決定することができる。
(第4の実施の形態)
次に、本発明の第4の実施の形態について図面を参照して詳細に説明する。本実施の形態では、データが、類似性に関わる属性以外にも他の属性を有する場合に、他の属性に関する条件を満たすデータを対象に類似性に基づく演算を行う例について説明する。
まず、このような場合において、背景技術で述べた特許文献1に記載の関連技術が抱える問題について説明する。上述した関連技術は、類似性に基づく演算の実行効率を著しく低下させる。例えば、データが、顔画像を含む映像であるとする。この場合、顔画像は、それに映っている顔に関する特徴量(多次元値の類似性に関わる属性)だけでなく、それが撮られた場所や時間などの情報(類似性に関わる属性以外の属性)を有している。この時、顔に関する特徴量だけを条件とした類似結合は、場所や時間に関する属性を用いないため、特許文献1に記載された類似インデックスを適用するだけで十分である。
一方、場所と時間を絞り込んだ上で、顔に関する特徴量を条件として類似結合する場合を考える。この時、顔に関する特徴量による類似結合は、特許文献1に記載された類似インデックスを用いる場合、各データの場所や時間に関する属性が条件を満たすかどうかを判別しながら演算する必要がある。なぜなら、特許文献1に記載された類似インデックスは、顔に関する特徴量に関する操作を効率化するが、それ以外の属性に対する操作の効率化には寄与しないからである。そのため、特許文献1に記載された類似インデックスでは、個々のデータに関して他の属性に関する条件が個別に判別される必要があるためである。
そこで、場所や時間に関する属性による絞り込みを効率化するように、場所や時間の範囲ごとにデータをブロックに分割したとする。このとき、それぞれの場所や時間の範囲内において、特許文献1に記載された類似インデックスを適用すれば、場所や時間に関する条件がその範囲内にある場合は、上記の問い合わせを効率的に実行ができる。なぜなら、場所や時間の条件を満たすブロックを参照するだけで、他の属性により絞り込んだデータに対して類似結合を実行できるからである。しかしながら、場所や時間に関する属性に対する条件が、ブロックの範囲をまたぐ場合、特許文献1に記載された関連技術は、顔に関する特徴量による類似結合を非効率にする。なぜなら、場所や時間に関する属性に対する条件を満たしたそれぞれのブロックにある類似インデックスを1つに統合する必要があるからである。個々のブロックの類似インデックスによって作られた構造はそれらに挿入されたデータに大きく依存するため、この統合操作は、新規に類似インデックスと構築するのとほぼ等価になる。特に、分散環境を想定する場合、一か所に該当するデータを集約して、類似インデックスを再構築することになるため、著しく性能が低下する要因となる。
以下、本実施の形態では、データが類似性に関わる属性以外にも他の属性を有する場合に、特許文献1に記載された関連技術における上述の問題を解決する例について述べる。
なお、本実施の形態の説明において参照する各図面において、本発明の第1〜第3の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
まず、本発明の第4の実施の形態としての類似演算装置4の機能ブロック構成を図15に示す。類似演算装置4は、本発明の第2の実施の形態の類似演算装置2に対して、データ記憶部23に替えてデータ記憶部43と、類似演算部24に替えて類似演算部44とを備える点が異なる。
なお、類似演算装置4およびその各機能ブロックは、図2を参照して説明した本発明の第1の実施の形態と同一のハードウェア要素によって構成可能である。ただし、類似演算装置4およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
データ記憶部43は、データの類似性に関わる属性値およびラベルを関連付けた情報に加えて、さらに、それらのデータについて、類似性に関わる属性値以外の他の属性値に基づく選択を可能にする情報を記憶する。例えば、データ記憶部43は、データ毎に、類似性に関わる属性値と、ラベルと、他の属性値とを関連付けた情報を記憶してもよい。
類似演算部44は、データ記憶部43から、他の属性値に関する選択条件を満たす情報を抽出する。そして、類似演算部44は、抽出した情報を用いて、ラベルに基づき再構成した類似インデックスを用いて類似性に基づく演算を実行する。
以上のように構成された類似演算装置4の動作について、図面を参照して説明する。なお、類似演算装置4がデータ記憶部43に情報を記憶する動作については、図3を参照して説明した本発明の第1の実施の形態の動作と同様であるため、本実施の形態における説明を省略する。ただし、データ記憶部43には、ラベル生成部12によって類似性に関わる属性値およびラベルを関連付けた情報が追加される際に、該データが有する他の属性値に関する情報も併せて関連付けて追加されるものとする。
ここでは、類似演算装置4が類似性に基づく演算を行う動作を図16に示す。
図16では、まず、類似演算部44は、データ記憶部43に記憶された情報のうち、選択条件を満たす情報を抽出する(ステップB41)。
以降、類似演算装置4は、抽出された情報を用いて、本発明の第1の実施の形態と同様にステップB1〜B2を実行する。これにより、ステップB41で抽出された情報が示すデータについて、類似インデックスが再構成され、類似性に基づく演算が実行される。
以上で、類似演算装置4は、類似性に基づく演算を行う動作を終了する。
次に、類似演算装置4の動作を具体例で示す。
ここでは、類似性に関する演算として、類似結合が適用された例について説明する。また、データは、特徴量および時刻という2つの属性を有するものとする。特徴量は、類似性に関わる属性値である。時刻は、類似性に関わる属性値以外の他の属性値である。
また、図3の動作が実行されることにより、データ記憶部43には、図17のように情報が記憶されているとする。図17において、各行は、各データについて、特徴量の類似インデックスに基づき生成されたラベルと、そのデータの時刻とを関連付けた情報を表している。なお、各行には、さらに特徴量を表す情報またはその参照情報が含まれるが、図示が省略されている。
このとき、類似演算部44は、図17に示した情報のうち、時刻に基づく選択条件を満たすデータを抽出する。もし、選択条件が、「時刻が11:00〜12:00の範囲」という条件であれば、類似演算部44は、5〜8行目の情報を抽出する(ステップB41)。
そして、類似演算部44は、5〜8行目の情報について、ラベルを用いて類似インデックスを再構成する(ステップB1)。
そして、類似演算部44は、再構成した類似インデックスを用いて、類似結合を実行する(ステップB2)。
また、他の具体例について述べる。この例では、データ記憶部43は、図18に示すように、データを、時刻に関する属性の範囲でブロックに分割して記憶している。
この場合、類似演算部44は、ステップB41において、時刻に関して与えられた選択条件を満たすブロックの情報を取得する。そして、類似演算部44は、取得したブロックのデータについて、ラベルに基づき類似インデックスを再構成し、類似結合を実行すればよい。このように、他の属性値に基づく選択条件があらかじめ想定される場合は、データ記憶部43は、他の属性値に基づき複数のブロックにデータを分散して記憶していてもよい。
以上で、具体例の説明を終了する。
次に、本発明の第4の実施の形態の効果について述べる。
本発明の第4の実施の形態としての類似演算装置は、データの類似性に基づく演算を行う際に、類似インデックスと任意の他のインデックスとを容易に共存させることができる。
その理由について説明する。本実施の形態では、本発明の第1の実施の形態と同様の構成に加えて、データ記憶部が、類似性に関わる属性値以外の他の属性値に基づいてデータの選択を可能にする情報をさらに記憶している。そして、類似演算部が、他の属性値に関する選択条件を満たすデータについて、ラベルに基づき再構成した類似インデックスを用いて、類似性に基づく演算を実行するからである。
このように、本実施の形態は、本発明の第1の実施の形態と同様に生成したラベルにより、他の属性値に基づく選択条件を満たすようなデータのサブセットについて、類似インデックスの再構成を容易にする。つまり、本実施の形態は、類似性に関わる属性値による類似インデックスと、他の手法のインデックスとの組み合わせを可能にする。その結果、本実施の形態は、他の属性値に基づく選択条件を満たすデータのサブセットについて、再構成した類似インデックスにおける類似性を容易に判定でき、類似性に基づく演算を容易にする。
これにより、本実施の形態は、データセットの規模が大きく、分散して配置される場合であって、類似性に関わる属性以外の他の属性に関する条件を含むような複雑な類似性に関わる演算が必要な場合に、類似性に関わる演算を効率化することができる。
なお、上述した本発明の各実施の形態において、類似インデックス記憶部が、木構造の類似インデックスを記憶する例を中心に説明した。これに限らず、類似インデックス記憶部が記憶する類似インデックスは、木構造の集合であるフォレスト構造であってもよい。
また、上述した本発明の各実施の形態において、ラベル生成部が、ラベルとして、ノードおよびそのノード内での配置順序を表す文字列を、パスに含まれる並びの順にハイフンで連結した文字列を生成する例を中心に説明した。これに限らず、ラベル生成部は、類似インデックスにおいて任意の部分木に挿入されたデータ同士が共通する接頭辞を持つようなラベルを生成すればよい。例えば、ラベルは、パスに含まれるノードにおける配置順序を連結したものであってもよい。例えば、ルートノード内で1番目に配置された属性値の子ノード内で3番目に配置された属性値の子ノード内で2番目に配置された属性値には、「1−3−2」というラベルが生成されてもよい。また、もし、類似インデックスがフォレスト構造である場合、ラベル生成部は、木に番号付けをし、その木の番号およびその木のルートノードからデータの挿入位置を示すパスに基づきラベルを生成すればよい。
また、上述した本発明の各実施の形態において、類似演算部が、類似性に基づく演算として類似結合を実行する例を中心に説明した。ただし、類似性に基づく演算は、類似結合に限らず、類似インデックスを利用して行われる他の演算であってもよい。
また、上述した本発明の各実施の形態において、類似演算装置の各機能ブロックが、メモリに記憶されたコンピュータ・プログラムを実行するCPUによって実現される例を中心に説明した。これに限らず、各機能ブロックの一部、全部、または、それらの組み合わせが専用のハードウェアにより実現されていてもよい。
また、上述した本発明の各実施の形態において、類似演算装置の機能ブロックは、複数の装置に分散されて実現されてもよい。
また、上述した本発明の各実施の形態において、各フローチャートを参照して説明した類似演算装置の動作を、本発明のコンピュータ・プログラムとしてコンピュータ装置の記憶装置(記憶媒体)に格納しておく。そして、係るコンピュータ・プログラムを当該CPUが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコードあるいは記憶媒体によって構成される。
また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。
また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
この出願は、2016年6月21日に出願された日本出願特願2016−122509を基礎とする優先権を主張し、その開示の全てをここに取り込む。
1、2、3、4 類似演算装置
11、31 類似インデックス記憶部
12、32 ラベル生成部
13、23、43 データ記憶部
14、24、34、44 類似演算部
1001 CPU
1002 メモリ
1003 出力装置
1004 入力装置

Claims (6)

  1. データの類似性に関わる属性値を格納したノードが、前記データ間の類似関係を表すよう階層的に構成された類似インデックスを記憶した類似インデックス記憶手段と、
    前記データ毎に、前記類似インデックスにおいて前記属性値が格納されたノードの位置を示すパスに基づくラベルを生成するラベル生成手段と、
    前記データ毎に、前記属性値および前記ラベルを関連付けた情報を記憶するデータ記憶手段と、
    前記データ記憶手段に記憶された全てまたは一部の情報が示すデータについて、前記ラベルに基づき前記類似インデックスを再構成し、再構成した前記類似インデックスを用いて前記全てまたは一部のデータを対象とする類似性に基づく演算を実行する類似演算手段と、
    を備えた類似演算装置。
  2. 前記データ記憶手段が、前記属性値および前記ラベルを関連付けた情報を、複数のブロックに分散して記憶するとき、
    前記類似演算手段は、前記ラベルのプリフィックスに基づいて、前記属性値および前記ラベルを関連付けた情報を複数のブロックに再分散して前記データ記憶手段に記憶させ、再分散された各ブロックに記憶された情報が示すデータについて、前記ラベルに基づき再構成した前記類似インデックスを用いて、前記類似性に基づく演算を実行することを特徴とする請求項1に記載の類似演算装置。
  3. 前記類似インデックス記憶手段は、前記類似インデックスにおいて任意のノード以下に、そのノードに格納された前記データの前記属性値に対する類似性が類似閾値以上の他の前記データの前記属性値を格納するよう構成された前記類似インデックスを記憶し、
    前記ラベル生成手段は、前記ラベルに、前記データの前記属性値が格納されたノードの位置を示すパスにおいて適用された前記類似閾値を表す情報をさらに含め、
    前記類似演算手段は、前記ラベルに含まれる前記類似閾値を表す情報に基づいて、前記再分散の際に用いるプリフィックスを決定することを特徴とする請求項2に記載の類似演算装置。
  4. 前記データ記憶手段は、前記データ毎に、前記類似性に関わる属性値以外の他の属性値に基づく選択を可能にするための情報をさらに記憶し、
    前記類似演算手段は、前記他の属性値に関する選択条件を満たすデータについて、前記ラベルに基づき再構成した前記類似インデックスを用いて前記類似性に基づく演算を実行することを特徴とする請求項1から請求項3のいずれか1項に記載の類似演算装置。
  5. コンピュータ装置が、
    データの類似性に関わる属性値を格納したノードが、前記データ間の類似関係を表すよう階層的に構成された類似インデックスを用いて、
    前記データ毎に、前記類似インデックスにおいて前記属性値が格納されたノードの位置を示すパスに基づくラベルを生成し、
    前記データ毎に、前記属性値および前記ラベルを関連付けた情報をデータ記憶手段に記憶し、
    前記データ記憶手段に記憶された全てまたは一部の情報が示すデータについて、前記ラベルに基づき前記類似インデックスを再構成し、再構成した前記類似インデックスを用いて前記全てまたは一部のデータを対象とする類似性に基づく演算を実行する方法。
  6. データの類似性に関わる属性値を格納したノードが、前記データ間の類似関係を表すよう階層的に構成された類似インデックスを用いて、
    前記データ毎に、前記類似インデックスにおいて前記属性値が格納されたノードの位置を示すパスに基づくラベルを生成するラベル生成ステップと、
    前記データ毎に、前記属性値および前記ラベルを関連付けた情報をデータ記憶手段に記憶するデータ記憶ステップと、
    前記データ記憶手段に記憶された全てまたは一部の情報が示すデータについて、前記ラベルに基づき前記類似インデックスを再構成し、再構成した前記類似インデックスを用いて前記全てまたは一部のデータを対象とする類似性に基づく演算を実行する類似演算ステップと、
    をコンピュータ装置に実行させるプログラムを記憶した記憶媒体。
JP2018524062A 2016-06-21 2017-06-19 類似度演算装置、方法、およびプログラム Active JP7099316B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016122509 2016-06-21
JP2016122509 2016-06-21
PCT/JP2017/022440 WO2017221857A1 (ja) 2016-06-21 2017-06-19 類似演算装置、方法および記憶媒体

Publications (2)

Publication Number Publication Date
JPWO2017221857A1 true JPWO2017221857A1 (ja) 2019-04-11
JP7099316B2 JP7099316B2 (ja) 2022-07-12

Family

ID=60784110

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018524062A Active JP7099316B2 (ja) 2016-06-21 2017-06-19 類似度演算装置、方法、およびプログラム

Country Status (3)

Country Link
US (1) US11113314B2 (ja)
JP (1) JP7099316B2 (ja)
WO (1) WO2017221857A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106527892B (zh) * 2016-11-04 2020-04-07 惠州Tcl移动通信有限公司 一种电子设备的截屏方法及系统
CN112052251B (zh) * 2020-09-14 2022-12-23 深圳市商汤科技有限公司 目标数据更新方法和相关装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005222329A (ja) * 2004-02-05 2005-08-18 Ntt Communications Kk メタデータ付与装置、メタデータ付与方法およびメタデータ付与プログラム
JP2009211554A (ja) * 2008-03-05 2009-09-17 Canon Inc 画像処理装置、画像処理方法、コンピュータプログラム、および記憶媒体
WO2012164735A1 (ja) * 2011-06-03 2012-12-06 富士通株式会社 情報処理装置、データ管理方法およびデータ管理プログラム
JP2013239050A (ja) * 2012-05-16 2013-11-28 Silex Technology Inc データベース操作プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5987468A (en) 1997-12-12 1999-11-16 Hitachi America Ltd. Structure and method for efficient parallel high-dimensional similarity join
US8131722B2 (en) * 2006-11-20 2012-03-06 Ebay Inc. Search clustering
JP2014197412A (ja) 2014-06-12 2014-10-16 トムソン ライセンシングThomson Licensing 画像の類似検索システム及び方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005222329A (ja) * 2004-02-05 2005-08-18 Ntt Communications Kk メタデータ付与装置、メタデータ付与方法およびメタデータ付与プログラム
JP2009211554A (ja) * 2008-03-05 2009-09-17 Canon Inc 画像処理装置、画像処理方法、コンピュータプログラム、および記憶媒体
WO2012164735A1 (ja) * 2011-06-03 2012-12-06 富士通株式会社 情報処理装置、データ管理方法およびデータ管理プログラム
JP2013239050A (ja) * 2012-05-16 2013-11-28 Silex Technology Inc データベース操作プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
劉 健全: "類似度の階層関係に基づく木構造索引を用いた効率的な類似検索", 第5回データ工学と情報マネジメントに関するフォーラム (第11回日本データベース学会年次大会) [O, JPN6021011697, 31 May 2013 (2013-05-31), pages 2013 - 9, ISSN: 0004639620 *

Also Published As

Publication number Publication date
JP7099316B2 (ja) 2022-07-12
WO2017221857A1 (ja) 2017-12-28
US20190179836A1 (en) 2019-06-13
US11113314B2 (en) 2021-09-07

Similar Documents

Publication Publication Date Title
US7689630B1 (en) Two-level bitmap structure for bit compression and data management
KR101329350B1 (ko) 그래프의 매개 중심성 갱신 방법
JPWO2015025386A1 (ja) データ処理システム、データ処理方法およびデータ処理装置
JP6434162B2 (ja) データ管理システム、データ管理方法およびプログラム
JP5844824B2 (ja) Sparqlクエリ最適化方法
WO2017221857A1 (ja) 類似演算装置、方法および記憶媒体
Guyet et al. Incremental mining of frequent serial episodes considering multiple occurrences
Kokkala et al. Classification of Graeco‐Latin Cubes
CN110389953B (zh) 基于压缩图的数据存储方法、存储介质、存储装置和服务器
KR101771352B1 (ko) 동적 환경에서의 그래프 요약 방법 및 장치
WO2018012413A1 (ja) 類似データ検索装置、類似データ検索方法および記録媒体
JP5555238B2 (ja) ベイジアンネットワーク構造学習のための情報処理装置及びプログラム
JP4937709B2 (ja) 構造化文書生成方法及び装置及びプログラム
JP6457290B2 (ja) グラフを剪定する方法、前記グラフを剪定する方法をコンピュータに行なわせる命令を記録している非一時的なコンピュータ可読記憶媒体、及びグラフの剪定を行うためのコンピュータシステム
Heule et al. Clausal Proof Compression.
JP6123372B2 (ja) 情報処理システム、名寄せ判定方法及びプログラム
JP6455087B2 (ja) 帳票情報処理プログラム、帳票情報処理装置、および帳票情報処理方法
JP5387371B2 (ja) トライ木分類プログラムおよびトライ木分類方法
JP5366709B2 (ja) 情報処理装置、共通文字列出力方法及びプログラム
JP5771971B2 (ja) 情報処理装置、情報処理方法、及びコンピュータプログラム
WO2018096998A1 (ja) データ圧縮装置、コンピュータプログラム及びデータ圧縮方法
JP6509719B2 (ja) 構造データ生成装置、検索装置、構造データ生成方法及び構造データ生成プログラム
Paixão et al. Large software component repositories into small index files
US10223405B2 (en) Retrieval control method and retrieval server
Kaushik et al. Graph Isomorphism Using Locality Sensitive Hashing

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181206

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210406

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210528

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20211021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220114

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220531

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220613

R151 Written notification of patent or utility model registration

Ref document number: 7099316

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151