JP2019061300A - グラフ生成装置、グラフ生成方法、データ構造、及びプログラム - Google Patents

グラフ生成装置、グラフ生成方法、データ構造、及びプログラム Download PDF

Info

Publication number
JP2019061300A
JP2019061300A JP2017182964A JP2017182964A JP2019061300A JP 2019061300 A JP2019061300 A JP 2019061300A JP 2017182964 A JP2017182964 A JP 2017182964A JP 2017182964 A JP2017182964 A JP 2017182964A JP 2019061300 A JP2019061300 A JP 2019061300A
Authority
JP
Japan
Prior art keywords
graph
vertices
vertex
search
neighborhood
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
JP2017182964A
Other languages
English (en)
Other versions
JP6898818B2 (ja
Inventor
一生 青山
Kazuo Aoyama
一生 青山
正嗣 服部
Masatsugu Hattori
正嗣 服部
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2017182964A priority Critical patent/JP6898818B2/ja
Publication of JP2019061300A publication Critical patent/JP2019061300A/ja
Application granted granted Critical
Publication of JP6898818B2 publication Critical patent/JP6898818B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】探索実行時の精度を高く保ち少ない計算量で近似解又は厳密解に近い解を発見することができるグラフ索引を少時間計算量で構築する。【解決手段】グラフ生成装置において、n個のオブジェクトを探索対象のn個の頂点として入力する入力部と、前記n個の頂点を有するグラフであって、頂点間の辺として近傍辺と近傍辺以外の辺とを有する部分的近傍グラフを生成する生成部と、前記部分的近傍グラフを出力する出力部とを備える。【選択図】図4

Description

本発明は、大規模データを探索する際の索引となるグラフを生成する装置に関するものである。
文書、画像、映像、音声音響信号、センサデータ、記号列データ等の多様な大規模データ(探索対象データ又は被探索データ)から、与えられたクエリデータ(探索対象データと同型のデータ)に類似するデータ又はそれに関連する情報を効率的に発見する探索技術は、データの多様化と大規模化に伴い、重要な技術になっている。
探索技術の中の1つである探索法には、厳密解を求める厳密探索法(exact algorithm)、厳密解に対する精度が保証された近似解を求める近似探索法(approximation algorithm)、如何なる保証もないが厳密解に近いであろう解を見つけることが経験的、実験的に知られているヒューリスティック法(発見的方法)がある。また、大規模データを探索対象とする場合は、これらの探索法の多くは、探索実行前に索引(index)を構築し、高速探索を実現する。
多様なメディア又はその複合メディアを取り扱うには、メディア固有の特徴に基づく索引より、データ間の関係性に着目した抽象度の高いグラフ構造を索引とすることが有望である。多くの場合、索引として用いられるグラフは近傍性を保持したグラフであり、その近傍グラフには2つの系列がある。1つは、ボロノイ図(Voronoi diagram)の双対であるドロネー三角形分割(Delaunay triangulation、DT)、DTの部分グラフである相対近傍グラフ(relative neighborhood graph, RNG)又はRNGの一般化グラフであるβスケルトングラフ、RNGの部分グラフである最小全域木(minimum spanning tree, MST)である。他の1つは、k最近傍グラフ(k-nearest neighbor graph, k-NNグラフ)系列である。
非特許文献1に記載の次数低減k最近傍グラフ(degree-reduced k-nearest neighbor graph, k-DRグラフ)はk最近傍グラフの部分グラフである。なお、k-DRグラフは、非特許文献1では、k-DRNN graphと呼ばれ、特許文献2では、k-GRネットワークと呼ばれている。
グラフ索引を用いた探索法には、近似探索法(非特許文献2)又は発見的方法(特許文献1,2)、(非特許文献1,3)があり、種々のメディアに対して高速探索を実現してきた。
特許第4774016号公報 特許第4774019号公報
K. Aoyama, K. Saito, T. Yamada, and N. Ueda, "Fast similarity search in small-world networks," Int. Workshop Complex Networks (CompleNet 2009), pp. 185-196, 2009. K. Aoyama, K. Saito, H. Sawada, and N. Ueda, "Fast approximate similarity search based on degree-reduced neighborhood graphs," ACM SIGKDD Conf. Knowledge Discovery and Data Mining, 2011. K. Aoyama, A. Ogawa, T. Hattori, T. Hori, and A. Nakamura, "GRAPH INDEX BASED QUERY-BY-EXAMPLE SEARCH ON A LARGE SPEECH DATA SET" Proc. Int. Conf. Acoustics, Speech, and Signal Processing (ICASSP), pp. 8520-8524, 2013. W. Dong, M. Charikar, and K. Li, "Efficient K-nearest neighbor graph construction for generic similarity measures," Int. World Wide Web Conf., 2011.
しかしながら、グラフ索引構築に多大な計算量を要するという問題があった。例えば、素朴な方法を用いると、相対近傍グラフ(RNG)を構築するためにはO(n3)、k-NNグラフを構築するためにはO(n2)の非類似度(又は類似度)計算に対応する時間計算量が必要となる。ここでnは索引に含まれるデータ数、即ち、探索対象データの数である。k-NNグラフの場合の具体的な値は、非類似度が対称性を有しない場合、n(n-1)であり、対称である場合n(n-1)/2である。
この時間計算量を低減する発見的方法の1つにNN-Descent法がある(非特許文献4)。NN-Descent法は、対象となるデータからランダムグラフを作成し、辺を有する頂点間の近傍性を利用して、局所的に近似有向k-NNグラフを構築する方法であり、経験的にはデータサイズが106程度(n〜106)まではO(n1.11〜n1.14)の計算量で、厳密有向k-NNグラフに対してある程度の精度を有する有向k-NNグラフを構築する。大規模データに対しては、更なる高速化が望まれている。
一方、探索実行時には無向k-NNグラフより次数低減k最近傍グラフ(k-DRグラフ)を索引として用いた方が高速であることが知られている(非特許文献1)。また、k-DRグラフは有向k-NNグラフから変換し構築できることも知られている。
本発明は、上記の問題を解決するためになされたものであり、探索実行時の精度を高く保ち少ない計算量で近似解又は厳密解に近い解を発見することができるグラフ索引(特に、k-NNグラフに基づく索引)を少時間計算量で構築することを目的とする。
開示の技術によれば、n個のオブジェクトを探索対象のn個の頂点として入力する入力部と、
前記n個の頂点を有するグラフであって、頂点間の辺として近傍辺と近傍辺以外の辺とを有する部分的近傍グラフを生成する生成部と、
前記部分的近傍グラフを出力する出力部と
を備えることを特徴とするグラフ生成装置が提供される。
開示の技術により、探索実行時の精度を高く保ち少ない計算量で近似解又は厳密解に近い解を発見することができるグラフ索引(特に、k-NNグラフに基づく索引)を少時間計算量で構築することができる。
本発明の実施の形態におけるグラフ索引型類似探索システムの構成図である。 グラフ構築部100の構成図である。 装置のハードウェア構成例を示す図である。 ランダムグラフへの近傍性の導入を説明するための図であり、頂点着目型(Vertex type)を示す。 ランダムグラフへの近傍性の導入を説明するための図であり、近似近傍導入型(NN‐Descent type)を示す。 ランダムグラフへの近傍性の導入を説明するための図であり、辺着目型(Edge type)を示す。 最良優先探索時の辺に関する再現率と平均探索コスト率の関係を示す図である。 多頂点開始貪欲探索時の辺に関する再現率と平均貪欲探索成功率の関係を示す図である。 多頂点開始貪欲探索時の辺に関する再現率と平均探索コスト率の関係を示す図である。 説明に使用する記号の例を説明するための図である。 記号の説明を示す図である。 pを中継点とするlocal joinとT(v)の例を示す図である。 NN−descent法の処理の流れを示すフローチャートである。 NN−descent法の処理例を示す図である。 NN-Descent法により近似20-NNリストを作成した場合のデータサイズと計算量(距離計算回数)との関係を示す図である。 NN-Descent法により近似20-NNリストを作成した場合のデータサイズと計算量(scan rate)との関係を示す図である。 NN-Descent法により近似20-NNリストを作成した場合の計算量(scan rate)と辺の再現率(recall)との関係を示す図である。 近似20-NNリストから構築した部分20-NNグラフを索引とした最良優先探索時の辺に関する再現率と平均探索コスト率の関係を示す図である。 多頂点開始貪欲探索時の辺に関する再現率と平均貪欲探索成功率の関係を示す図である。 多頂点開始貪欲探索時の辺に関する再現率と平均探索コスト率の関係を示す図である。
以下に説明する技術は、探索対象データから作成したランダムグラフの中にデータ間の近傍性に関する情報をデータ間の辺として埋め込んだ近傍性を有する僅かな部分を設定することで、探索実行時の計算量が厳密なk-NNグラフと同等であり、探索精度を高く保つことができるという発見に基づくものである。
ランダムグラフを作成するための時間計算量は他の処理に比べると非常に小さい。本発明に係る技術では、このランダムグラフ中に僅かに近傍性を挿入するだけであるため、非常に少ない時間計算量で部分近傍グラフを構築することができる。
以下、図面を参照して本発明の実施の形態(本実施の形態)を詳細に説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
(システム構成)
図1は、本実施の形態におけるグラフ索引型類似探索システムの構成図である。図1を用いてグラフ索引型類似探索システムを説明する。
図1に示すように、グラフ索引型類似探索システムは、グラフ構築部100と探索実行部200を有する。
探索実行前に、探索対象データ(被探索オブジェクト集合とも呼び、オブジェクト集合の部分集合である)とオブジェクトペア間に定義された関係性尺度とがグラフ構築部100に入力され、索引であるグラフ(部分的近傍グラフと呼ぶ)が構築される。構築された部分的近傍グラフは、探索実行部200に入力される。ここで、関係性尺度とは、2つのオブジェクトの間の近傍性を評価可能な尺度のことであり、非類似度(Kullback-Leibler divergence, Bregman divergenceに代表されるdivergence等)又は距離空間の公理を満たす距離(Euclidean distance等)、並びに類似度(cosine similarity等)などである。以降、関係性尺度の1つである距離を用いて説明する。
探索実行時には、クエリオブジェクトとクエリタイプ等が探索実行部200に入力され、クエリタイプに基づいて探索が実行される。探索前に構築されたグラフは探索実行部200で実行時に索引として利用される。ここで、クエリオブジェクトとはオブジェクト集合の1つ又は複数である。クエリタイプ等とは、クエリオブジェクトから距離rを半径とした超球の内部に存在する被探索オブジェクト集合を列挙するレンジクエリ(range query)やクエリオブジェクトから距離の昇順にk個のオブジェクトを求めるk最近傍クエリ(k-nearest neighbor query: k-NN query)のことである。レンジクエリとk-NNクエリとの各々はrとkとのパラメータも同時に入力される。
探索実行部200により実行されるグラフ上の探索では、初めに初期頂点(被探索オブジェクトに対応し、以降、オブジェクトと頂点とを同一視する)をグラフ上の頂点からランダムに選ぶ。クエリオブジェクトに近い頂点から探索を開始する方が探索終了までに要する計算量が少ないが、大規模高次元データ(intrinsic dimensionalityを含めた次元に基づく意味での高次元)から構築されたk-NNグラフ族(k-DRグラフを含む)は平均最短パス長が非常に小さいことが知られているため(例えば非特許文献1)、任意の頂点を開始点としても良い。
探索実行部200により実行される探索には、隣接頂点(ある頂点と辺で接続され辿ることが可能な頂点)のうちで最もクエリとの距離が小さく、且つ、現在の頂点とクエリとの距離よりも小さい距離に存在する、即ち、近い頂点に移動するという操作を繰り返し、現在の頂点がその隣接頂点のどれよりもクエリに近ければ、探索を終了するという貪欲探索法(greedy search)を用いる方法がある。また、次に移動する頂点を決定するための評価関数を導入することで一般化した最良優先探索法(best-first search)を用いても良い。これらの方法でクエリタイプに応じた解を発見し、探索結果として出力する。
図2はグラフ構築部100の構成図である。図2に示すとおり、グラフ構築部100の主要な構成要素は、ランダムグラフ生成部110と近傍グラフ生成部120である。また、グラフ構築部100は入力部130と出力部140を有する。ランダムグラフ生成部110と近傍グラフ生成部120は、同時に連携しながら動作してもよいし、個別に分離して動作してもよく、そのどちらを実行するかはグラフ構築部100の実装形態に依存する。グラフ構築部100の動作詳細は後述する。なお、グラフ構築部100をグラフ生成装置と称しても良い。
上述したグラフ索引型類似探索システム全体、グラフ構築部100、探索実行部200はいずれも、コンピュータ等の装置に本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、当該装置が有する機能は、コンピュータに内蔵されるCPUやメモリ等のハードウェア資源を用いて、当該装置で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
図3は、上記装置(グラフ索引型類似探索システム、グラフ構築部100、又は探索実行部200)のハードウェア構成例を示す図である。図3の装置は、それぞれバスBで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、及び入力装置1007等を有する。なお、表示装置1006及び入力装置1007を備えないこととしてもよい。
当該装置での処理を実現するプログラムは、例えば、CD−ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って当該装置に係る機能を実現する。インタフェース装置1005は、ネットワークに接続するためのインタフェースとして用いられる。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。
(ランダムグラフに頂点の近傍性を導入する方法について)
前述したように、本実施の形態では、ランダムグラフの中に頂点の近傍性が導入される。図4〜図6を参照して、その方法の例として、第1の方法(頂点着目型)、第2の方法(近似近傍導入型)、及び第3の方法(辺着目型)を説明する。ここでは近傍性を、ある頂点から距離の近いk個の頂点を選択し辺で接続するk近傍として説明する。他には、ある頂点から距離r以内に存在する頂点に辺を張るr近傍もある。なお、「近傍辺」は、その意味として、k近傍頂点(k最近傍頂点と呼んでもよい)に接続された辺と、r近傍頂点に接続された辺を含むものとする。
第1の方法は、頂点に着目し、ある頂点に関しては厳密にk近傍を求め、そのk近傍に辺を張り、残りについてはランダムに辺を張る方法である。第1の方法により生成された部分的近傍グラフにおいては、図4に示すように、近傍辺のみを有する頂点である近傍性頂点と、ランダム辺のみを有する頂点が存在する。
第2の方法は、NN-Descent法を早い段階で停止する方法である。この方法では、k近傍の辺が張られることもあるが、それ以外の辺が張られることもある。但し、前述のk近傍以外の辺もランダムに選択された辺とは異なり、ある程度距離の近い頂点に張られた辺になる。すなわち、第2の方法により生成された部分的近傍グラフにおいては、図5に示すように、近似近傍辺のみが接続された頂点、近似近傍辺と近傍辺が接続された頂点、及び、近似近傍辺と近傍辺とランダム辺が接続された頂点等が存在する。NN-Descent法の他の利用方法としては、第1の方法と同様にある頂点に着目し、その頂点に接続された頂点に関して局所的に近傍性を確保する方法がある。
第3の方法では、辺に着目する。探索対象のn個の頂点のそれぞれについて、当該頂点と他の頂点とを接続している出力辺(out-link, out-going edge, out-edge)のうちk'本(k'<k)の出力辺はk近傍の頂点のうちのいずれかの頂点に接続された辺であり、残りの出力辺はn-1個の頂点からランダムに選択された頂点に接続された辺になるように部分的近傍グラフが生成される。k'は、kより小さい値であれば頂点毎に異なっていてもよい。また、各頂点に接続されている出力辺の数はk本とするが、k'よりも大きければk本でなくてもよい。第3の方法により生成された部分的近傍グラフにおいては、図6に示すように、各頂点において、ランダム辺と近傍辺が接続されている。
すなわち、第3の方法におけるデータ構造は、グラフ索引型類似探索システムにおいて探索対象データの中から探索条件を満たすデータを探索する処理に用いられる索引を表すグラフのデータ構造であって、n個の頂点から成る頂点集合と当該頂点集合に属する頂点の間に設定された無向辺の集合とから構成され、前記n個の頂点の各々は、前記探索対象データに対応付けられており、前記頂点の間に設定された無向辺は、頂点間に定義された関係性尺度に基づき張られた出力辺を無向化した辺であって、前記n個の頂点のそれぞれについて、当該頂点に接続される出力辺のうち、予め定めた整数kより小さいk´本の出力辺はk近傍となる頂点に接続されており、当該k´本の出力辺以外の出力辺は、当該頂点を除くn-1個の頂点の中からランダムに選ばれた頂点に接続されており、前記k近傍となる頂点とは、前記探索対象データの中で当該頂点に対応する探索対象データとの関係性尺度に基づいた関係が強い順に選択されたk個の探索対象データの各々に対応する頂点であることを特徴とするデータ構造である。
次に、グラフ構築部100の動作の詳細を第1の方法と第2の方法を例として用いて説明する。以下、第1の方法を使用する例を第1の実施の形態とし、第2の方法を使用する例を第2の実施の形態とする。
(第1の実施の形態)
グラフ構築部100には、入力部130により、n個のオブジェクトから成るデータオブジェクト集合(頂点集合とも呼ぶ)とデータ関係性尺度としての「距離」が入力される。なお、n、kはいずれも0以上の整数であり、kはn以下である。
グラフ構築部100における近傍グラフ生成部120は、入力されたn個のオブジェクトから成るデータオブジェクト集合からm個(m<n)のオブジェクト(頂点)を選択し、その各々について残りのn-1個と距離計算を行い、k最近傍のオブジェクトを求める。続いて、近傍グラフ生成部120は、選択されたm個の頂点から各々のk最近傍頂点に有向辺を張る。残りの(n-m)個の頂点の各々については、ランダムグラフ生成部110が、ランダムに選択したk個の頂点に有向辺を張る。最後に、有向辺を無向化する。無向化の際には、有向辺を双方向に辿れるようにし、二重辺ができた場合には1つの無向辺にし、単純グラフとする、即ち、対称k-NNグラフ(symmetric k-NN graph)とする。このグラフを部分k-NNグラフ(partial k-NN graph)と呼ぶ。
グラフ構築部100は、部分k-NNグラフを構築する過程で、非特許文献1に記載のk-DRNN graphの生成方法を用いることで部分k-DRグラフを構築することもできる。部分k-NNグラフと部分k-DRグラフはいずれも部分的近傍グラフの例である。生成された部分的近傍グラフのデータは出力部140から出力される。
また、グラフ構築部100は、構築した部分的近傍グラフに対し、任意の頂点間が辺で辿れるかどうかの到達性をチェックし、到達できない頂点の組がある場合(グラフが分離している場合)には、kを大きくして再度部分的近傍グラフの構築を行うこととしてもよい。また、グラフ構築部100は、構築した部分的近傍グラフに対し、到達性に影響しない辺を取り除くこととしてもよい。分離したグラフを再構築する他の方法としては、分離したグラフ間に辺を追加する方法がある。辺の追加方法は、分離したグラフ間からランダムに頂点ペアを選択して辺を追加する方法や互いのグラフのうち最近接する頂点間に辺を追加する方法などがある。また、分離したグラフをそのまま索引として使用することもできる。例えば、探索実行時に、分離したグラフ毎に探索開始頂点を設定し、並列探索(並列処理)実行を行い、各々の探索結果を融合する方法である。
<性能評価>
上述した手続きにより構築した部分k-NNグラフの探索性能を人工的に作成したデータを用いて評価した。16次元ユークリッド空間の単位超球(半径1)上に105個のオブジェクト(16次元ベクトルであり頂点でもある)を無作為(ランダム)に生成し(n=105)、部分k-NNグラフを構築した。性能評価のため、構築の際にk最近傍頂点への辺のみを有する頂点の数(m)をパラメータとした。結果、ランダムグラフ(m=0)からk-NNグラフ(m=n)までを構築した。グラフ構築のための時間計算量を距離計算回数で評価する。ランダムグラフを作成する計算量は0とした。このとき、部分k-NNグラフ構築に要する距離計算回数はm(n-1)である。
構築した各グラフを索引として探索を実行した。探索には、異なる104個のクエリオブジェクト(クエリベクトル又はクエリ頂点、単にクエリと呼ぶ)を用い、各クエリに対して異なる10個の探索開始頂点を用いた。即ち、105回の探索試行を行った。
図7(a)、(b)はクエリに対する最近傍頂点(1-NN)を見つける最良優先探索を行った結果を示す。最良優先探索は、クエリオブジェクト(クエリ頂点又は単にクエリと呼ぶ)と距離計算を実行した頂点のうち、その隣接頂点とクエリとの距離計算が行われていない頂点であって、最もクエリに近い頂点に移動する探索法である。図7(a)、(b)の横軸は再現率(recall)を、縦軸は平均距離計算回数率を表す。但し、recall=(k最近傍頂点と接続された辺の総数)/(全ての辺の数)である。recall=0はランダムグラフ、recall=1はk-NNグラフのことである。また、平均距離計算回数率は、105回の探索試行の結果、1探索試行時に、予め求められていたクエリに最も近い頂点を見つけるまでに計算された頂点間距離の回数の平均値を全頂点数で割った値であり、平均探索コストである。k-NNグラフのkはk=20,30,40,50と変化させている。図7(a)は両軸が線形表示であり、図7(b)は縦軸が対数表示である。図示のとおり、recallが小さい領域であっても平均探索コストが非常に小さくなることが分かる。
次に、近似アルゴリズムである多頂点開始貪欲探索法(multiple-start greedy search algorithm:MSGS)を用いて評価した(非特許文献2参照)。実験データは前述の最良探索法の場合と同じである。クエリ数は103個とし、1探索試行あたりの探索開始点数(L)をパラメータとし、L=8,16,32を用いた。MSGSの場合、クエリに対して必ずしも正解を得られるとは限らず、確率的に保証されている。そのため、評価項目は探索に要した時間計算量(探索コスト)と探索が成功した割合(探索成功率)の2項目で評価する必要がある。MSGSは複数の頂点から同時に貪欲探索を開始し(各々の探索を探索タスクと呼ぶ)、全ての探索タスクが終了した時点で終了することから、MSGSの時間計算量は最も遅く探索タスクが終了したもの、即ち、同時に開始した探索タスクのうち最も距離計算回数が多いもの(最悪値)で評価される。ここで同時に開始される貪欲探索は、分散処理で行っても良いし、多数コアを備えるCPUで共有メモリを用いたスレッド並列性を用いた処理で行っても良い。
図8(a)、(b)は多頂点開始貪欲探索法を用いた場合の再現率と平均貪欲探索成功率とを表す図である。(a)はk=50の場合、(b)はk=20の場合である。recallが小さい領域、即ち、ランダムネスが高い領域であっても、探索成功率が高いことが分かる。例えば、図8(a)のL=32の場合、recall=0.2のとき平均貪欲探索成功率は0.9を超える。
図9(a)、(b)は多頂点開始貪欲探索法を用いた場合の再現率と平均探索コスト率とを表す図である。縦軸は%表示であり、0.1は被探索頂点数nの1/1000であることを表している。ランダムグラフからk-NNグラフまでほぼ一定の低コストであることが分かる。
図8、9は、部分k-NNグラフがランダムネスが高いグラフであっても厳密なk-NNグラフを用いた場合と同様の高い探索成功率と低探索コストとを実現したことを示している。
(第2の実施の形態)
次に、第2の実施の形態を説明する。第2の実施の形態における部分的近傍グラフの生成動作は、近似グラフ生成部120が行ってもよいし、近似グラフ生成部120とランダムグラフ生成部110が連携して行うこととしてもよい。いずれにしてもグラフ構築部100が部分的近傍グラフの生成を行う。
グラフ構築部100には、入力部130により、n個のオブジェクトから成るデータオブジェクト集合(頂点集合とも呼ぶ)とデータ関係性尺度としての「距離」が入力される。まず、グラフ構築部100は、入力されたオブジェクト集合から、非特許文献4に示されているNN-Descent法を用いて、近似k-NNリスト(近似有向k-NNグラフ)を作成する。NN-Descentにはbasic algorithmとfull algorithmとがあり、full algorithmはパラメータρ(Rho)0<ρ<=1を用いる。ρを大きくすると近似k-NNリストを作成する際に要する計算量は大きくなるが、反復アルゴリズムであるNN-Descent法が収束条件を充足した際の近似精度は向上する。収束条件を充足した場合であっても近似k-NNリストであり、厳密なk-NNリストではない。本実施の形態では、ランダムネスを高くするため、反復アルゴリズムの収束条件を著しく緩和する、又は、反復アルゴリズムを強制的に途中で終了する。
次に、グラフ構築部100は、上述した処理により作成したランダムネスの高いk-NNリストを用いて、部分k-NNグラフ、又は非特許文献1に記載の方法を適用して部分k-DRグラフを構築する。この部分k-NNグラフ又は部分k-DRグラフを探索用索引として利用する。部分k-NNグラフと部分k-DRグラフはいずれも部分的近傍グラフの例である。生成された部分的近傍グラフは出力部140から出力される。
近似k-NNリストには頂点毎にk個の頂点の情報が含まれているので、グラフ構築部100は、当該情報を用いて、部分k-NNグラフを下記のようにして作成することができる。
グラフ構築部100は、入力されたn個の頂点からm個(m<n)の頂点を選択し、その各々について、近似k-NNリストのk個の頂点に有向辺を張る。残りの(n-m)個の頂点の各々については、ランダムに選択したk個の頂点に有向辺を張る。最後に、有向辺を無向化する。無向化の際には、有向辺を双方向に辿れるようにし、二重辺ができた場合には1つの無向辺にし、単純グラフとする。
<NN-Descent法>
ここで、グラフ構築部100により実行されるNN-Descent法の処理の一例についてより詳細に説明する。
初めに、ここでのNN-Descent法の説明に使用する記号と用語を定義する。オブジェクトとそれらの関係性を頂点と有向辺を用いて有向グラフで表現するため、オブジェクトと頂点とを同一視し、同じ記号を用いて表す。全k近傍問題の対象であるオブジェクト(頂点)集合をVとし、そのオブジェクト(頂点)数n=|V|とする。頂点集合Vのうち、v∈Vからの距離(非類似度でもよい)が最も小さいk個の頂点をvのk最近傍頂点集合(以降、k近傍頂点集合とも呼ぶ)と呼び、Vの全ての頂点のk近傍頂点集合をリスト形式にまとめたものをk近傍リストと呼ぶ。頂点vのk頂点集合をB(v)、vのリバースk頂点集合をR(v)={u∈V|v∈B(u)}、vの隣接頂点集合をA(v)=B(v)∪R(v)とし、vの隣接頂点部分集合をAS(v)とする(AS(v)⊂=A(v))。また、Vの全ての頂点のk頂点集合及び隣接頂点部分集合をリスト形式にまとめたものをそれぞれB、ASとする。
図10にV={1, 2, 3, 4, 5, 6}を用いた場合のB(v)、R(v)、A(v)を示す。頂点3に着目すると、リバースk頂点集合R(3)は、R(3)={u∈V|{3}∈B(u)}であるため、R(3)={4}となる。これは、グラフでは頂点3 へ有向辺を張っている頂点集合に該当する。頂点3の隣接頂点集合A(3)は、A(3)=B(3)∪R(3)={5}∪{4}= {4, 5}である。図11に、記号をまとめて示している。
次に、NN-Descent法の基本的な考え方と処理手順の概要を説明する。NN-Descent法は、下記の式(1)の目的関数F(V)を最小にするB(v)を求める発見的方法と捉えることができる。
F(V)=Σv∈VΣu∈B(v)σ(v, u) 式(1)
但し、σ:V×V → Rは近傍性を評価する距離関数である。NN-Descent法は「近傍の近傍は近傍になりやすい」という性質を利用し、頂点vと距離計算を行う頂点集合を、次のように絞り込む。まず、各頂点vについて、全頂点から無作為に選択したk個の頂点を頂点集合B(v) とする。次に、頂点vの全ての隣接頂点集合の隣接頂点集合∪u∈A(v)A(u)の頂点と、vとの距離計算を行う。そして、現在のB(v)の頂点より近い頂点が存在する場合、その頂点とvから最も遠い頂点z(z∈B(v))とを置換する。以上の操作を全頂点について実行し、更にB(v)に変更がなくなるまで、操作を繰り返し行う。最終的に得られた各頂点のB(v)をリスト形式にしたものを、近似k近傍リストとする。基本的な考え方と処理手順は以上である。なお、本実施の形態では、「B(v)に変更がなくなるまで、操作を繰り返し行う」という条件は緩和されている。
この処理手順を素朴に実行すると、各頂点について「隣接頂点集合の隣接頂点集合」という空間的に広域な頂点との距離計算を必要とする。局所的かつ効率的な処理を行うために、NN-Descent法では、local join、sampling、early terminationを用いている。Local joinとは、頂点pの隣接頂点部分集合AS(p)に対し、全ての異なる頂点の組み合わせv、u∈AS(p)について距離を計算し、B(v)又はB(u) の更新を行うことである。例えば、図12のグラフが与えられたとき(簡単のためAS(p)=A(p)とする)、pの隣接頂点v、u∈A(p)の距離計算と更新とを行うことは、vとその隣接頂点の隣接頂点uとの距離計算と更新とを行うことに相当する。T(v)= {u|v∈AS(p)∧u∈AS(p), p∈V},即ち、v∈AS(p)となるpを中継点としたvの隣接頂点(p)の隣接頂点を要素として持つ集合を定義する。Local joinとT(v)との関係を図12に示す。Local joinは、処理対象を局所的な頂点のみに限定するものである。
Samplingは、local joinを行う際に、予め設定されたパラメータρを用いて、対象頂点からρk個を無作為に選択し、それらの頂点についてのみ距離計算を行う方法である。Early terminationは、予め設定されたパラメータδを用いて、k近傍リストの更新回数(更新の量)がδkn未満である場合に、反復アルゴリズムを終了させる。ただし、本実施の形態では、当該条件は緩和され、より早期に反復アルゴリズムが終了する。条件を緩和するために、例えば、条件判定に用いる「δkn」として、「δkn」よりも大きな値を使用することが考えられる。
NN-Descent法の全体の流れを例を用いて説明する。図13にNN-Descent 法の処理とデータの流れを、図14に図10のグラフを処理した際のB(v)の更新の流れを示す。なお、図14では、パラメータk=1、ρ=2.0とした。Step 1で全頂点v∈Vについて、k(=1)頂点集合B(v)を頂点集合から無作為に選択し作成する(図10のグラフに相当する)。Step 2でR(v)からsamplingを行い、その結果を用いてAS(v)を作成する。ここでは、AS(4)の作成を例に説明する。
まず、頂点4をk頂点集合に含むB(1)、B(2)、B(6)からR(4)={1, 2, 6} を作成する。次に、R(4)からρk(= 2.0×1=2)個の頂点を無作為に選択する。ここでは、頂点1, 2が選択されたものとする。最後に、R(4)のsampling結果とB(4)との和集合をAS(4)={1, 2, 3}とする。以上の処理を全頂点v∈Vについて行う。尚、頂点4以外の頂点では、|R(v)|≦2であるため、AS(v)=A(v)とする。Step 3では、各v∈Vでlocal joinを行う。ここでは、頂点3をAS(p)に含む頂点pでlocal joinを行い、B(3)を更新することを例に説明する。
頂点3をAS(p)に含む頂点pは、p=4、5である。頂点4でlocal joinを行ったときは、AS (4)={1, 2, 3}の全組み合わせの距離σ(1, 2)、σ(1, 3)、σ(2, 3)を計算し、B(1)、B(2)、B(3)の更新を、頂点5でlocal joinを行ったときは、AS(5) ={3, 6}の全組み合わせの距離σ(3,6)を計算し、B(3)とB(6)との更新を行う。即ち、頂点3とT(3)={1, 2, 6}との距離を計算し、B(3)の更新をすることと同じ操作が行われる。ここでは、頂点3に最も近い頂点を頂点2とし、B(3)={2}に更新されたものとした。以上の操作を全ての頂点について行った後、Step 4では、B(v)(∀v∈V)の更新回数がδkn 未満であるという条件が満たされれば、Bを近似k頂点リストとして出力する。前記以外の場合は、Step 2からStep 4を再度行う。
第2の実施の形態では、更新回数がδkn未満であるという条件が満たされる前に、処理を終了し、得られた近似k頂点リスト(近似k-NNリスト)を用いて部分k-NNグラフあるいは部分k-DRグラフを作成する。なお、上記のSamplingを行わない場合をbasic algorithmと呼び、Samplingを行う場合をfull algorithmと呼んでおり、Samplingを行わないbasic algorithmにおいても、更新回数がδkn未満であるという条件が満たされる前に、処理を終了し、得られた近似k頂点リスト(近似k-NNリスト)を用いて部分k-NNグラフあるいは部分k-DRグラフを作成する。
<性能評価>
第1実施の形態で利用した人工データ(16次元ユークリッド空間の単位超球上のオブジェクト集合)を用いて、前記のグラフ索引構築時の性能及び探索の性能を評価した。
図15は、NN-Descent法を用いて近似20-NNリスト(k-NNリストのk=20の場合)を作成した場合のデータサイズ(オブジェクト数n)と距離計算回数との関係を表す図である。
両対数表示で傾き1.11の直線になっており、このデータサイズ領域ではnに関してn1.11の関数であることが分かる。素朴な方法の場合は、n(n-1)/2であり、nに関して最高次はn2であるため、NN-Descent法は計算量を大きく削減している。
図16はNN-Descent法を用いて近似20-NNリスト(k-NNリストのk=20の場合)を作成した場合のデータサイズ(オブジェクト数n)と計算量(scan rate)との関係を表す図である。scan rateとは、距離計算回数/(n(n-1)/2)であり、素朴に厳密k-NNリストを作成した場合の距離計算回数に対する比率である。
図17は、NN-Descent法により近似20-NNリストを作成した場合の計算量(scan rate)と辺の再現率(recall)との関係を表す図である。横軸のscan rateはアルゴリズムの反復回数に対応しており、反復を途中で強制的に終了することで、非常に小さい計算量で高いrecallの近似k-NNリストを作成できる。例えば、full algorithmでρ=0.5の場合、scan rate=0.022でrecall=0.77の近似k-NN(k=20)リストを作成することができる。このようにfull algorithmのρと反復回数を制御することで、少ないリスト作成計算量且つ高いrecallの近似近傍k-NNリストを作成することができる。
この近似近傍k-NNリストを用いて、部分k-NNグラフ又は部分k-DRグラフを構築する。k-NNリスト作成の計算量と比較して、k-NNリストからk-NNグラフ又はk-DRグラフを構築する計算量は無視できる。例として、full algorithmにおいてρ=0.5, 1.0に設定し、k=20の近似近傍k-NNリストを強制終了することなく作成し、そのリストを用いて部分k-NNグラフを構築した。
第1の実施の形態と同様に、最良優先探索を実行した結果を図18(a),(b)に示す。第1の実施の形態と比べると、ランダムネスが高いrecallが小さい領域で探索コスト率が小さく抑えられていることが分かる。一方、多頂点開始貪欲探索法(MSGS)を用いた場合の探索成功率を図19(a),(b)に示し、探索コスト率を図20(a),(b)に示す。これらに示すとおり、第1の実施の形態の場合と同様の傾向があることが分かる。
以上、ランダムグラフに近傍性を有する部分をわずかに設けたグラフで、グラフ構築計算量を小さく抑えながらも、グラフ索引探索の性能を厳密な近傍グラフを用いた性能とほぼ同程度にすることができた。
(実施の形態のまとめ)
以上、説明したとおり、本実施の形態により、n個のオブジェクトを探索対象のn個の頂点として入力する入力部と、前記n個の頂点を有するグラフであって、頂点間の辺として近傍辺と近傍辺以外の辺とを有する部分的近傍グラフを生成する生成部と、前記部分的近傍グラフを出力する出力部とを備えることを特徴とするグラフ生成装置が提供される。
前記生成部は、前記n個の頂点から選択されたnより小さいm個の頂点の各々について、k最近傍頂点を算出し、当該k最近傍頂点との間に辺を張り、残りのn-m個の頂点の各々について、ランダムに選択したk個の頂点との間に辺を張ることにより前記部分的近傍グラフを生成する、又は、前記n個の頂点に対し、反復アルゴリズムの収束条件を緩和したNN-Descent法の処理を行うことにより近似k-NNリストを作成し、当該近似k-NNリストから前記部分的近傍グラフを生成することとしてもよい。
また、本実施の形態により、グラフ生成装置が実行するグラフ生成方法であって、n個のオブジェクトを探索対象のn個の頂点として入力する入力ステップと、前記n個の頂点から、近傍辺に接続される頂点と、近傍辺以外の辺に接続される頂点とを有する部分的近傍グラフを生成する生成ステップと、前記部分的近傍グラフを出力する出力ステップとを備えることを特徴とするグラフ生成方法が提供される。
前記生成ステップにおいて、前記グラフ生成装置は、前記n個の頂点から選択されたnより小さいm個の頂点の各々について、k最近傍頂点を算出し、当該k最近傍頂点との間に辺を張り、残りのn-m個の頂点の各々について、ランダムに選択したk個の頂点との間に辺を張ることにより前記部分的近傍グラフを生成する、又は、前記n個の頂点に対し、反復アルゴリズムの収束条件を緩和したNN-Descent法の処理を行うことにより近似k-NNリストを作成し、当該近似k-NNリストから前記部分的近傍グラフを生成することとしてもよい。
また、本実施の形態により、グラフ索引型類似探索システムに用いるグラフのデータ構造であって、探索対象のn個の頂点のそれぞれについて、当該頂点と他の頂点とを接続する出力辺のうち、kより小さいk'本の出力辺はk近傍となる頂点に接続されており、当該k'本の出力辺以外の出力辺は、n-1個の頂点からランダムに選ばれた頂点に接続されていることを特徴とするデータ構造が提供される。
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
100 グラフ構築部
200 探索実行部
110 ランダムグラフ生成部
120 近傍グラフ生成部
130 入力部
140 出力部
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置

Claims (6)

  1. n個のオブジェクトを探索対象のn個の頂点として入力する入力部と、
    前記n個の頂点を有するグラフであって、頂点間の辺として近傍辺と近傍辺以外の辺とを有する部分的近傍グラフを生成する生成部と、
    前記部分的近傍グラフを出力する出力部と
    を備えることを特徴とするグラフ生成装置。
  2. 前記生成部は、
    前記n個の頂点から選択されたnより小さいm個の頂点の各々について、k最近傍頂点を算出し、当該k最近傍頂点との間に辺を張り、残りのn-m個の頂点の各々について、ランダムに選択したk個の頂点との間に辺を張ることにより前記部分的近傍グラフを生成する、又は、
    前記n個の頂点に対し、反復アルゴリズムの収束条件を緩和したNN-Descent法の処理を行うことにより近似k-NNリストを作成し、当該近似k-NNリストから前記部分的近傍グラフを生成する
    ことを特徴とする請求項1に記載のグラフ生成装置。
  3. グラフ生成装置が実行するグラフ生成方法であって、
    n個のオブジェクトを探索対象のn個の頂点として入力する入力ステップと、
    前記n個の頂点を有するグラフであって、頂点間の辺として近傍辺と近傍辺以外の辺とを有する部分的近傍グラフを生成する生成ステップと、
    前記部分的近傍グラフを出力する出力ステップと
    を備えることを特徴とするグラフ生成方法。
  4. 前記生成ステップにおいて、前記グラフ生成装置は、
    前記n個の頂点から選択されたnより小さいm個の頂点の各々について、k最近傍頂点を算出し、当該k最近傍頂点との間に辺を張り、残りのn-m個の頂点の各々について、ランダムに選択したk個の頂点との間に辺を張ることにより前記部分的近傍グラフを生成する、又は、
    前記n個の頂点に対し、反復アルゴリズムの収束条件を緩和したNN-Descent法の処理を行うことにより近似k-NNリストを作成し、当該近似k-NNリストから前記部分的近傍グラフを生成する
    ことを特徴とする請求項3に記載のグラフ生成方法。
  5. コンピュータを、請求項1又は2に記載のグラフ生成装置における各部として機能させるためのプログラム。
  6. グラフ索引型類似探索システムにおいて探索対象データの中から探索条件を満たすデータを探索する処理に用いられる索引を表すグラフのデータ構造であって、
    n個の頂点から成る頂点集合と当該頂点集合に属する頂点の間に設定された無向辺の集合とから構成され、
    前記n個の頂点の各々は、前記探索対象データに対応付けられており、
    前記頂点の間に設定された無向辺は、頂点間に定義された関係性尺度に基づき張られた出力辺を無向化した辺であって、
    前記n個の頂点のそれぞれについて、当該頂点に接続される出力辺のうち、予め定めた整数kより小さいk´本の出力辺はk近傍となる頂点に接続されており、当該k´本の出力辺以外の出力辺は、当該頂点を除くn-1個の頂点の中からランダムに選ばれた頂点に接続されており、
    前記k近傍となる頂点とは、
    前記探索対象データの中で当該頂点に対応する探索対象データとの関係性尺度に基づいた関係が強い順に選択されたk個の探索対象データの各々に対応する頂点
    であることを特徴とするデータ構造。
JP2017182964A 2017-09-22 2017-09-22 グラフ生成装置、グラフ生成方法、データ構造、及びプログラム Active JP6898818B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017182964A JP6898818B2 (ja) 2017-09-22 2017-09-22 グラフ生成装置、グラフ生成方法、データ構造、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017182964A JP6898818B2 (ja) 2017-09-22 2017-09-22 グラフ生成装置、グラフ生成方法、データ構造、及びプログラム

Publications (2)

Publication Number Publication Date
JP2019061300A true JP2019061300A (ja) 2019-04-18
JP6898818B2 JP6898818B2 (ja) 2021-07-07

Family

ID=66177366

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017182964A Active JP6898818B2 (ja) 2017-09-22 2017-09-22 グラフ生成装置、グラフ生成方法、データ構造、及びプログラム

Country Status (1)

Country Link
JP (1) JP6898818B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023027810A (ja) * 2021-08-18 2023-03-03 ヤフー株式会社 情報処理装置、情報処理方法、及び情報処理プログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130230255A1 (en) * 2012-03-02 2013-09-05 Microsoft Corporation Image Searching By Approximate k-NN Graph

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130230255A1 (en) * 2012-03-02 2013-09-05 Microsoft Corporation Image Searching By Approximate k-NN Graph

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AOYAMA, KAZUO, SAITO, KAZUMI, YAMADA, TAKESHI, UEDA, NAONORI: "Fast Similarity Search in Small-World Networks", INTERNATIONAL WORKSHOP ON COMPLEX NETWORKS (COMPLENET 2009), JPN7020002226, 2009, pages 190 - 192, ISSN: 0004315415 *
DONG, WEI, CHARIKAR, MOSES, LI, KAI: "Efficient K-Nearest Neighbor Graph Construction for Generic Similarity Measures", INTERNATIONAL WORLD WIDE WEB CONFERENCE COMMITTEE (IW3C2), JPN6020027469, 28 March 2011 (2011-03-28), IN, ISSN: 0004315414 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023027810A (ja) * 2021-08-18 2023-03-03 ヤフー株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
JP7388661B2 (ja) 2021-08-18 2023-11-29 Lineヤフー株式会社 情報処理装置、情報処理方法、及び情報処理プログラム

Also Published As

Publication number Publication date
JP6898818B2 (ja) 2021-07-07

Similar Documents

Publication Publication Date Title
Forestier et al. Generating synthetic time series to augment sparse datasets
JP6977659B2 (ja) グラフ更新装置、グラフ更新方法、及びプログラム
Fried et al. qTorch: The quantum tensor contraction handler
CN109685204B (zh) 图像处理方法及装置、存储介质及电子设备
US20200242295A1 (en) Optimization of a quantum circuit by inserting swap gates
US20220366257A1 (en) Small and Fast Video Processing Networks via Neural Architecture Search
JP5851378B2 (ja) 時系列データ探索方法、装置、及びプログラム
JP2019061300A (ja) グラフ生成装置、グラフ生成方法、データ構造、及びプログラム
Yen et al. A convex atomic-norm approach to multiple sequence alignment and motif discovery
Gao et al. Stochastic second-order method for large-scale nonconvex sparse learning models
JPWO2010016313A1 (ja) パターン判定装置、方法、およびプログラム
Streicher et al. Strengthening probabilistic graphical models: The purge-and-merge algorithm
JP2012043437A (ja) 画像処理方法及び画像処理装置
JP6261669B2 (ja) クエリ校正システムおよび方法
Gupta et al. GRAFENNE: learning on graphs with heterogeneous and dynamic feature sets
Joveini et al. Application of fractal theory on motifs counting in biological networks
JP2013012185A (ja) ロバスト最適化装置、ロバスト最適化方法およびそのコンピュータ・プログラム
Zhao et al. Intelligent optimization algorithm of non-convex function based on genetic algorithm
JP2022003484A (ja) 情報処理装置、回帰モデル生成方法、及び回帰モデル生成プログラム
Hasanzadeh et al. Bayesian graph contrastive learning
US20140232726A1 (en) Space-filling curve processing system, space-filling curve processing method, and program
Li et al. An improved regularity-based vector evolutionary algorithm for multi-objective optimizations
Nguyen et al. Diffusion-based Negative Sampling on Graphs for Link Prediction
Kosman et al. LSP: Acceleration of Graph Neural Networks via Locality Sensitive Pruning of Graphs
US11861768B1 (en) Alpha shape approximation of data points

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190826

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200804

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201005

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210419

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20210419

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20210426

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20210427

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: 20210603

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210611

R150 Certificate of patent or registration of utility model

Ref document number: 6898818

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150