JP5981382B2 - Partial tree merging device, partial tree merging method, and partial tree merging program - Google Patents
Partial tree merging device, partial tree merging method, and partial tree merging program Download PDFInfo
- Publication number
- JP5981382B2 JP5981382B2 JP2013081980A JP2013081980A JP5981382B2 JP 5981382 B2 JP5981382 B2 JP 5981382B2 JP 2013081980 A JP2013081980 A JP 2013081980A JP 2013081980 A JP2013081980 A JP 2013081980A JP 5981382 B2 JP5981382 B2 JP 5981382B2
- Authority
- JP
- Japan
- Prior art keywords
- subtree
- merging
- cost
- node
- search
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、複数の部分木を併合する部分木併合装置、部分木併合方法および部分木併合プログラムに関する。 The present invention relates to a subtree merging apparatus, a subtree merging method, and a subtree merging program for merging a plurality of subtrees.
ユーザによる検索を支援するひとつの方法として、ユーザがシステムから提示されたカテゴリを選択して、検索対象を絞り込みながら検索を行うディレクトリ型検索サービスとして、例えば、非特許文献1がある。ユーザは検索クエリを入力する必要がなく、ユーザが検索クエリとして表現しにくい、または具体的な検索クエリとして思い出せない曖昧な検索要求を持つ場合にも、システムから提示されたカテゴリを選択することで検索対象を絞り込むことができる。
For example, Non-Patent
また、カテゴリをノードとみなしたカテゴリ階層を併合する方法として、例えば非特許文献2に示す手法がある。
Moreover, as a method of merging category hierarchies in which categories are regarded as nodes, there is a method shown in Non-Patent
ディレクトリ検索サービスで用いられているカテゴリ階層は、サービスごとに人手によって構築されているため、サービスごとにカテゴリ階層が異なる。そのため、ユーザはサービスごとに異なるカテゴリ階層をたどらなければならず検索しにくく、ユーザの検索の利便性は低下する。このような状況において、ある1つのサービスにおいて構築された複数のカテゴリ階層、または複数のサービスで個々に構築されたカテゴリ階層を併合して、ユーザにとってたどり易いカテゴリ階層の構築が求められている。 Since the category hierarchy used in the directory search service is manually constructed for each service, the category hierarchy is different for each service. For this reason, the user has to follow different category hierarchies for each service, making it difficult to search, and the convenience of the user's search is reduced. Under such circumstances, there is a need to construct a category hierarchy that can be easily followed by a user by merging a plurality of category hierarchies constructed in one service or a category hierarchy individually constructed by a plurality of services.
しかしながら、非特許文献2に示す併合時の2つのノード間の関係性のみに基づく最短距離法によるクラスタリング手法では、例えば階層の平均深さが大きいカテゴリ階層や各ノードの平均子カテゴリ数が大きいカテゴリ階層など、ユーザの探索にかかる探索コストが大きいカテゴリ階層が構築されてしまう可能性があり、この場合、カテゴリ階層を利用するユーザの平均探索時間が増加するという課題がある。
However, in the clustering method based on the shortest distance method based only on the relationship between two nodes at the time of merging shown in
本発明は、上記事情に鑑みてなされたものであり、本発明の目的は、ユーザの探索にかかる負担を削減し、ユーザの平均探索時間を減少させる部分木併合装置、部分木併合方法および部分木併合プログラムを提供することにある。 The present invention has been made in view of the above circumstances, and an object of the present invention is to reduce a burden on a user's search and reduce a user's average search time, a partial tree merging apparatus, a partial tree merging method, and a partial To provide a tree merger program.
上記目的を達成するため、請求項1記載の本発明は、複数の部分木を併合する部分木併合装置であって、複数の部分木のノード情報を入力し、部分木記憶手段に記憶する入力手段と、前記部分木記憶手段から2つの部分木のノード情報を取得し、第1の部分木の根ノードを、第2の部分木の葉ノード以外の各ノードの子ノードとなるように配置して併合した場合の損失コストをそれぞれ算出し、損失コスト記憶手段に格納する損失コスト算出手段と、前記損失コスト記憶手段から損失コストが最小となる配置を特定し、第1の部分木および第2の部分木を前記特定した配置で併合した併合後の部分木のノード情報を生成し、前記部分木記憶手段に登録するとともに、前記部分木記憶手段から併合前の第1の部分木のノード情報および第2の部分木のノード情報を削除する併合手段と、を備え、前記損失コストは、併合後の部分木の探索コストと、併合前の第1の部分木の探索コストと第2の部分木の探索コストの和との差であることを要旨とする。
In order to achieve the above object, the present invention according to
請求項2記載の本発明は、部分木併合装置であって、前記損失コスト算出手段および前記併合手段は、前記部分木記憶手段に記憶された部分木のノード情報が1つになるまで損失コストの算出および併合を行い、前記併合手段は、前記部分木記憶手段に記憶された部分木のノード情報が1つになった場合、当該部分木のノード情報をカテゴリ階層として出力することを要旨とする。
The present invention according to
請求項3記載の本発明は、部分木併合装置であって、損失コスト算出手段は、ノード間の親子関係の強さを示す親子スコアおよびノード間の兄弟関係の強さを示す兄弟スコアが設定されたペア関係スコア記憶手段を参照して前記探索コストを算出することを要旨とする。
The invention according to
請求項4記載の本発明は、コンピュータが行う複数の部分木を併合する部分木併合方法であって、複数の部分木のノード情報を入力し、部分木記憶部に記憶する入力ステップと、前記部分木記憶部から2つの部分木のノード情報を取得し、第1の部分木の根ノードを、第2の部分木の葉ノード以外の各ノードの子ノードとなるように配置して併合した場合の損失コストをそれぞれ算出し、損失コスト記憶部に格納する損失コスト算出ステップと、前記損失コスト記憶部から損失コストが最小となる配置を特定し、第1の部分木および第2の部分木を前記特定した配置で併合した併合後の部分木のノード情報を生成し、前記部分木記憶部に登録するとともに、前記部分木記憶部から併合前の第1の部分木のノード情報および第2の部分木のノード情報を削除する併合ステップと、を行い、前記損失コストは、併合後の部分木の探索コストと、併合前の第1の部分木の探索コストと第2の部分木の探索コストの和との差であることを要旨とする。 The present invention according to claim 4 is a subtree merging method for merging a plurality of subtrees performed by a computer, wherein the input step of inputting node information of a plurality of subtrees and storing it in a subtree storage unit; Loss cost when node information of two subtrees is acquired from the subtree storage unit, and the root node of the first subtree is arranged and merged so as to be a child node of each node other than the leaf node of the second subtree. Respectively, and a loss cost calculating step for storing the loss cost in the loss cost storage unit, an arrangement in which the loss cost is minimized from the loss cost storage unit, and the first subtree and the second subtree are specified. Node information of the merged subtree after merging is generated and registered in the subtree storage unit, and the node information of the first subtree before merging and the second subtree are merged from the subtree storage unit. No A merging step of deleting information, and the loss cost is calculated by subtracting the subtree after merging, the sum of the search cost of the first subtree before merging and the search cost of the second subtree before merging. The gist is that it is a difference.
請求項5記載の本発明は、部分木併合方法であって、前記損失コスト算出ステップおよび前記併合ステップを、前記部分木記憶部に記憶された部分木のノード情報が1つになるまで行い、前記部分木記憶部に記憶された部分木のノード情報が1つになった場合、当該部分木のノード情報をカテゴリ階層として出力する出力ステップを、さらに行うことを要旨とする。
The present invention according to
請求項6記載の本発明は、部分木併合方法であって、損失コスト算出ステップは、ノード間の親子関係の強さを示す親子スコアおよびノード間の兄弟関係の強さを示す兄弟スコアが設定されたペア関係スコア記憶部を参照して前記探索コストを算出することを要旨とする。 The present invention according to claim 6 is the subtree merging method, wherein the loss cost calculating step sets a parent-child score indicating the strength of the parent-child relationship between the nodes and a sibling score indicating the strength of the sibling relationship between the nodes. The gist is to calculate the search cost with reference to the pair relationship score storage unit.
請求項7記載の本発明は、前記部分木併合装置としてコンピュータを機能させるための部分木併合プログラムである。 The present invention according to claim 7 is a partial tree merging program for causing a computer to function as the partial tree merging device.
本発明によれば、ユーザの探索にかかる負担を削減し、ユーザの平均探索時間を減少させる部分木併合装置、部分木併合方法および部分木併合プログラムを提供することができる。 According to the present invention, it is possible to provide a subtree merging apparatus, a subtree merging method, and a subtree merging program that reduce the burden on the user's search and reduce the average search time of the user.
以下、本発明の実施の形態について、図面を参照して説明する。 Embodiments of the present invention will be described below with reference to the drawings.
図1は、本実施形態における部分木併合装置1の構成を示す構成図である。本実施形態の部分木併合装置1は、ユーザがシステムから提示されたカテゴリを選択して、検索対象を絞り込みながら検索を行うディレクトリ型検索サービスなどにおいて、ユーザの検索のしにくさをユーザの探索にかかるコスト(以下、「探索コスト」と呼ぶ) として数値で表現し、複数のカテゴリ階層を併合して探索コストが小さいカテゴリ階層を構築する。具体的には、部分木併合装置1は、カテゴリペア関係スコアDB2と、部分木DB3を入力として受け付け、カテゴリ階層DB050を出力する。
FIG. 1 is a configuration diagram showing a configuration of a
図示する部分木併合装置1は、カテゴリペア関係スコアDB010と、部分木DB020と、制御部030と、損失コストDB040と、カテゴリ階層DB050とを備える。そして、制御部030は、入力部031と、損失コスト算出部032と、部分木併合部033とを備える。
The partial
入力部031は、カテゴリペア関係スコアDB2および部分木DB3を入力し、作業用のカテゴリペア関係スコアDB010および部分木DB020に格納する。なお、カテゴリペア関係スコアDB2および部分木DB3は、1つのディレクトリ検索サービスで作成された複数のカテゴリ階層(以下、「部分木」と呼ぶ)に基づいて生成されるDBであってもよく、また、複数のディレクトリ検索サービスで個々に作成された複数のカテゴリ階層(以下、「部分木」と呼ぶ)に基づいて生成されるDBであってもよい。
The
損失コスト算出部032は、部分木DB020から任意の未処理の2つの部分木のノード集合(ノード情報)を取得し、第1の部分木の根ノードを、第2の部分木の葉ノード以外の各ノードの子ノードとなるように配置して併合した場合の損失コストをそれぞれ算出し、損失コストDB040に格納する。損失コストは、併合後の部分木の探索コストと、併合前の第1の部分木の探索コストと第2の部分木の探索コストの和との差である。
The loss
部分木併合部033は、損失コストDB040から損失コストが最小となる配置を特定し、第1の部分木および第2の部分木を特定した配置で併合した併合後の部分木のノード集合を生成し、部分木DB020に登録するとともに、部分木DB020から併合前の第1の部分木のノード集合および第2の部分木のノード集合を削除する。
The
また、損失コスト算出部032および部分木併合部033は、部分木DB020に記憶された部分木のノード集合が1つになるまで損失コストの算出および併合を行い、部分木併合部033は、部分木DB020に記憶された部分木のノード集合が1つになった場合、当該部分木のノード集合をカテゴリ階層としてカテゴリ階層DB050に出力する。
Further, the loss
図2は、カテゴリペア関係スコアDB010(または、カテゴリペア関係スコアDB2)のデータ例を示す。カテゴリペア関係スコアDB010は、1つのレコードが2つのノードの関係性の情報を保持しており、本実施形態では、ノード間の親子関係の強さを示す親子スコアおよびノード間の兄弟関係の強さを示す兄弟スコアを保持するものとする。図示するカテゴリペア関係スコアDB010は、カテゴリ1カラムと、カテゴリ2カラムと、親子スコアカラムと、兄弟スコアカラムとを有する。
FIG. 2 shows a data example of the category pair relationship score DB 010 (or category pair relationship score DB 2). In the category pair
カテゴリ1カラムのカテゴリkw1と、カテゴリ2カラムのカテゴリkw2をラベルとする2つのノードに対して、親子スコアoyako score(kw1,kw2)は、kw1がkw2の親ノードである可能性を表す推定値とする。また、兄弟スコアkyodai score(kw1,kw2)は、2つのノードが兄弟関係である可能性を表す推定値とする。
For two nodes labeled with category kw1 in
なお、部分木DB020に格納されている全ノードの任意の2つのノード(カテゴリ)の組み合わせは、すべてカテゴリペア関係スコアDB010に格納されているものとする。すなわち、カテゴリペア関係スコアDB010のカテゴリ1カラムおよびカテゴリ2カラムに格納されているカテゴリは、部分木DB020のノード集合カラムに格納されている全ノード(カテゴリ)の任意の2つのノードの組み合わせであって、1つの組み合わせに対して1レコード有する。
It is assumed that all combinations of arbitrary two nodes (categories) of all nodes stored in the
非特許文献1のgooカテゴリ検索のような既存のディレクトリ検索サービスにおいて、当該検索サービスシステムが持つカテゴリ階層におけるkw1とkw2をラベルにもつノードの配置関係に基づいて、これらのスコアは容易に算出できるものとする。
In an existing directory search service such as the goo category search of Non-Patent
例えば、一方のノードが他方のノードの上位に配置されており、2つのノードの階層の深さの差が小さいほど高くなるようなスコアを算出して親子スコアとする。また、2つのノードが同一の親ノードをもつ場合は高く、そうでない場合は低くなるようなスコアを算出して兄弟スコアとする。 For example, one node is arranged higher than the other node, and a score that is higher as the difference in the depth between the two nodes is smaller is calculated and used as the parent-child score. In addition, a score that is high when two nodes have the same parent node and is low when the two nodes do not have the same parent node is calculated as a sibling score.
図3に、部分木DB020(または、部分木DB3)のデータ例を示す。部分木DB020は、1つのレコードが1つの部分木の情報を保持している。また、各レコード(部分木)毎に、部分木IDカラムとノード集合カラムとを有する。部分木は、カテゴリをノードとみなした木構造である。
FIG. 3 shows a data example of the subtree DB020 (or subtree DB3). In the
ノード集合カラムには、当該部分木に含まれる複数のノードの情報が保持され、ノード毎に、当該ノードのラベル名、当該ノードの親ノードのラベル名、当該ノードの子ノード集合のラベル名が保持される。ただし、ノードが根ノードであるときは、親ノードのラベル名はNoneとする。また、ノードが葉ノードであるときは、子ノード集合のラベル名はNone とする。 The node set column stores information on a plurality of nodes included in the subtree. For each node, the label name of the node, the label name of the parent node of the node, and the label name of the child node set of the node are stored. Retained. However, when the node is a root node, the label name of the parent node is None. If the node is a leaf node, the label name of the child node set is None.
図4に、損失コストDB040のデータ例を示す。損失コストDB040は、部分木ID1カラム、部分木ID2カラム、カテゴリ1カラム、カテゴリ2カラム、損失コストカラムを有する。カテゴリ1カラムおよびカテゴリ2カラムに格納されているカテゴリは、部分木DB020のノード集合カラムに格納されているカテゴリ(ノード)であるとする。
FIG. 4 shows an example of data in the
カテゴリ階層DB050には、部分木DB020の部分木を1つに併合した結果のカテゴリ階層が格納される。カテゴリ階層DB050には、カテゴリ階層として、部分木DB020のノード集合カラムと同様のノード集合カラムが1つ格納される。
The
上記説明した部分木併合装置1は、例えば、CPUと、メモリと、HDD等の外部記憶装置などを備えた汎用的なコンピュータシステムを用いることができる。このコンピュータシステムにおいて、CPUがメモリ上にロードされた部分木併合装置1用のプログラムを実行することにより、部分木併合装置1の各機能が実現される。また、部分木併合装置1用のプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD−ROMなどのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。
As the partial
次に、本実施形態の部分木併合装置1の処理について説明する。
Next, processing of the partial
図5は、制御部030の処理の流れを示すフローチャートである。
FIG. 5 is a flowchart showing a process flow of the
S100:入力部031は、カテゴリペア関係スコアDB2および部分木DB3を入力し、作業用のカテゴリペア関係スコアDB010および部分木DB020に格納する。
S100: The
S110:損失コスト算出部032は、損失コストDB040を空にする。
S110: The loss
S120:損失コスト算出部032は、部分木DB020から未処理の任意の2つの部分木のレコードを取得する。ここで、取得した2つの部分木の部分木IDを、t1、t2とする。
S120: The loss
S130:損失コスト算出部032は、部分木DB020の部分木IDがt2のレコードのノード集合カラムの全ノードの中から子ノード集合のラベル名がNone 以外であるノード(すなわち、葉ノード以外のノード)を取得して、t2の葉ノード以外のすべてのノードの集合をXとする。t1の根ノードn1と、t2の集合Xの要素の各ノードn2に対して、n1をn2の子ノードになるように配置し、部分木t1とt2とを併合したときの損失コストcost(n1,n2)を算出する。
S130: The loss
図6は、併合前の部分木t1とt2について、t1の根ノードn1がt2のn2の子ノードになるように配置して2つの部分木t1、t2を併合した部分木を示すものである。ここで、併合後の部分木の部分木ID をt3とする。 FIG. 6 shows a subtree obtained by merging two subtrees t1 and t2 with subtrees t1 and t2 before merging arranged so that root node n1 of t1 becomes a child node of n2 of t2. . Here, the subtree ID of the subtree after merging is assumed to be t3.
損失コストcost(n1,n2)は、t1の根ノードn1がt2のn2の子ノードになるように配置してt1とt2を併合したことによる、併合前の探索コストの和と、併合後の探索コストとの差を表す。すなわち、損失コストcost(n1,n2)は、探索コストsearch cost(t1)、search cost(t2)、search cost(t3)を用いて、以下の式により算出することができる。
図7は、図6に示す併合前の部分木t1とt2の探索コストと、併合後の部分木t3の探索コストとを模式的に示す図である。 FIG. 7 is a diagram schematically showing the search cost of the subtrees t1 and t2 before merging shown in FIG. 6 and the search cost of the subtree t3 after merging.
部分木Tの探索コストsearch cost(T)は、部分木T を高さ1の部分木で分割したときのそれぞれの高さ1の部分木に対して算出される部分木スコアdivision score(p,Cp)の逆数の和である。つまり、探索コストsearch cost(T)は、部分木スコアdivision score(p,Cp)を用いて、以下の式により算出することができる。
ここで、Tに含まれる葉ノード以外のノードを要素とする集合をPとし、Pの要素pにおける子ノード集合をCp とする。部分木スコアdivision score(p,Cp)は、親ノードをp、pの子ノード集合をCpとする高さ1の部分木における親子関係の強さと兄弟関係の強さを示す推定値である。部分木スコアdivision score(p,Cp)は、例えば、以下の式により算出することができる。
ここで、上記式の親子スコアoyako score(p,c)および兄弟スコアkyodai score(c1,c2)については、カテゴリペア関係スコアDB010を参照し、対応する親子スコアまたは兄弟スコアを取得する。
Here, for the parent-child score oyako score (p, c) and sibling score kyodai score (c1, c2) of the above formula, the corresponding parent-child score or sibling score is obtained by referring to the category pair
|Cp|は、集合Cpの要素数を表す。また、γは集合Cpの任意の2つの要素の組合せ数であり、以下の式のよう表される。また、αは2つのスコアの寄与率を表し、0≦α≦1とする。
部分木スコアdivision score(p,Cp)は、pと集合Cpの親子スコアの平均が高いほど高く、また、子ノード集合の兄弟スコアの平均が高いほど高い。それぞれの高さ1の部分木のdivision score(p,Cp)が高いと、Tにおける親ノードと子ノード集合の親子関係と兄弟関係は強く、探索コストは小さい。
The subtree score division score (p, Cp) is higher as the average of the parent-child scores of p and the set Cp is higher, and is higher as the average of the sibling scores of the child node set is higher. When the division score (p, Cp) of each subtree of
損失コスト算出部032は、t2の集合Xの要素の各ノードn2について、t1の根ノードn1を各n2の子ノードになるように配置したときの損失コストcost(n1,n2)を、それぞれ算出し、損失コストDB040に記憶する。具体的には、(t1,t2,n1,n2,cost(n1,n2))の各レコードをそれぞれ生成し、損失コストDB040に格納する。
The loss
S140:損失コスト算出部032は、部分木DB020の部分木IDがt1のレコードのノード集合カラムの全ノードの中から子ノード集合のラベル名がNone 以外であるノード(すなわち、葉ノード以外のノード)を取得して、t1の葉ノード以外のすべてのノードの集合をYとする。t2の根ノードn2と、t1の集合Yの要素の各ノードn1に対して、n2をn1の子ノードになるように配置し、部分木t1とt2とを併合したときの損失コストcost(n2,n1)を、S130と同様に算出し、損失コストDB040に記憶する。具体的には、(t2,t1,n2,n1,cost(n2,n1))の各レコードを生成し、損失コストDB040に格納する。
S140: The loss
S150:損失コスト算出部032は、未処理の2つの部分木の組み合わせがある場合は(S150:YES)、S120に戻り、未処理の2つの部分木についてS130およびS140を行う。一方、未処理の2つの部分木の組み合わせがない場合、すなわち、全て組み合わせでのS130およびS140の処理を行った場合(S150:NO)、S160に進む。
S150: If there is a combination of two unprocessed subtrees (S150: YES), the loss
S160:部分木併合部033は、損失コストDB040に格納されたレコードの中で、損失コストcost(n1,n2)(またはcost(n2,n1))が最小となる(t1,t2,n1,n2,cost(n1,n2))(または(t2,t1,n2,n1,cost(n2,n1)))のレコードを特定し、n1がn2の子ノード(またはn2がn1の子ノード)になるように部分木t1とt2とを配置して併合する。具体的には、部分木併合部033は、部分木DB020の部分木IDとして未使用の部分木IDを、併合後の部分木の部分木IDとし、また、特定したレコードの配置で部分木t1とt2とを併合したノード集合を生成し、併合後の部分木を1つの部分木のレコードとして部分木DB020に登録する。
S160: The
また、部分木併合部033は、併合前の部分木t1とt2に該当するレコードを部分木DB020から削除する。このように、S160の部分木の併合処理が1回実行される毎に、部分木DB020から1レコード削減される。
The
S170:部分木DB020のレコード数が2以上の場合は(S170:YES)、S110に戻り、以降の処理を繰り返し行う。一方、部分木DB020のレコード数が1の場合は(S170:NO)、S180に進む。
S170: If the number of records in the
S180:部分木併合部033は、部分木DB020のレコード数が1の場合、当該レコードのノード集合カラムをカテゴリ階層DB050に格納する。部分木DB020のレコード数が1であることは、処理開始時に部分木DB020に格納されていた複数の部分木を全て1つに併合したことを意味する。すなわち、この時点で、部分木DB020に格納されている部分木がカテゴリ階層となる。
S180: The
以上説明した本実施形態の部分木併合装置1では、ユーザの検索のしにくさをユーザの探索にかかるコストとして数値で表現し、複数のカテゴリ階層を併合して探索コストが小さいカテゴリ階層を構築する。具体的には、併合後の部分木の探索コストと、併合前の部分木の探索コストの和との差である損失コストが小さいものから順次併合してカテゴリ階層を構築する。
In the
これにより、本実施形態では、探索後の探索コストを考慮した部分木の併合が可能となるため、探索コストが小さいカテゴリ階層の構築が可能となり、ユーザにとって検索・探索しやすいディレクトリ型検索サービスを提供することできる。すなわち、ユーザの探索にかかる負担を削減し、ユーザの平均探索時間を減少させることが可能となり、ユーザの利便性を向上することができる。 As a result, in this embodiment, subtrees can be merged in consideration of the search cost after the search, so that a category hierarchy with a low search cost can be constructed, and a directory-type search service that is easy for a user to search and search is provided. Can be offered. That is, it is possible to reduce the burden on the user's search, reduce the user's average search time, and improve the user's convenience.
また、本実施形態では、図5のS130およびS140において、葉ノードを除いたノードの集合X、Yを用いて、部分木を併合する。このように、葉ノード以外のノードに他の部分木の根ノードを配置することで、併合後の部分木(またはカテゴリ階層)の階層の深さが大きくなり、探索コストが増加することを抑制することができる。 Further, in this embodiment, in S130 and S140 of FIG. 5, the subtrees are merged using the node sets X and Y excluding the leaf nodes. In this way, by placing the root node of another subtree in a node other than the leaf node, the depth of the subtree (or category hierarchy) after merging is increased and the search cost is prevented from increasing. Can do.
なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。 In addition, this invention is not limited to the said embodiment, Many deformation | transformation are possible within the range of the summary.
1 :部分木併合装置
2 :カテゴリペア関係スコアDB
3 :部分木DB
010:カテゴリペア関係スコアDB
020:部分木DB
030:制御部
031:入力部
032:損失コスト算出部
033:部分木併合部
040:損失コストDB
050:カテゴリ階層DB
1: Partial tree merging device 2: Category pair relation score DB
3: Partial tree DB
010: Category pair relation score DB
020: Partial tree DB
030: Control unit 031: Input unit 032: Loss cost calculation unit 033: Subtree merger 040: Loss cost DB
050: Category hierarchy DB
Claims (7)
複数の部分木のノード情報を入力し、部分木記憶手段に記憶する入力手段と、
前記部分木記憶手段から2つの部分木のノード情報を取得し、第1の部分木の根ノードを、第2の部分木の葉ノード以外の各ノードの子ノードとなるように配置して併合した場合の損失コストをそれぞれ算出し、損失コスト記憶手段に格納する損失コスト算出手段と、
前記損失コスト記憶手段から損失コストが最小となる配置を特定し、第1の部分木および第2の部分木を前記特定した配置で併合した併合後の部分木のノード情報を生成し、前記部分木記憶手段に登録するとともに、前記部分木記憶手段から併合前の第1の部分木のノード情報および第2の部分木のノード情報を削除する併合手段と、を備え、
前記損失コストは、併合後の部分木の探索コストと、併合前の第1の部分木の探索コストと第2の部分木の探索コストの和との差であること
を特徴とする部分木併合装置。 A subtree merging device that merges a plurality of subtrees,
Input means for inputting node information of a plurality of subtrees and storing them in the subtree storage means;
Loss when node information of two subtrees is acquired from the subtree storage means and the root node of the first subtree is arranged and merged so as to be a child node of each node other than the leaf node of the second subtree A loss cost calculating means for calculating each cost and storing it in a loss cost storage means;
Identifying an arrangement that minimizes the loss cost from the loss cost storage means, generating node information of a merged subtree obtained by merging the first subtree and the second subtree in the identified arrangement; Merging means for registering in the tree storage means and deleting the node information of the first subtree and the second subtree before merging from the subtree storage means,
The loss cost is the difference between the search cost of the subtree after merging and the sum of the search cost of the first subtree and the search cost of the second subtree before merging. apparatus.
前記損失コスト算出手段および前記併合手段は、前記部分木記憶手段に記憶された部分木のノード情報が1つになるまで損失コストの算出および併合を行い、
前記併合手段は、前記部分木記憶手段に記憶された部分木のノード情報が1つになった場合、当該部分木のノード情報をカテゴリ階層として出力すること
を特徴とする部分木併合装置。 The partial tree merging device according to claim 1,
The loss cost calculating means and the merging means perform calculation and merging of the loss cost until there is only one subtree node information stored in the subtree storage means,
The submergence merging device, wherein when the node information stored in the subtree storage unit becomes one, the merger outputs node information of the subtree as a category hierarchy.
損失コスト算出手段は、ノード間の親子関係の強さを示す親子スコアおよびノード間の兄弟関係の強さを示す兄弟スコアが設定されたペア関係スコア記憶手段を参照して前記探索コストを算出すること
を特徴とする部分木併合装置。 The subtree merging device according to claim 1 or 2,
The loss cost calculation means calculates the search cost with reference to a pair relation score storage means in which a parent-child score indicating the strength of the parent-child relationship between the nodes and a sibling score indicating the strength of the sibling relationship between the nodes are set. This is a partial tree merger.
複数の部分木のノード情報を入力し、部分木記憶部に記憶する入力ステップと、
前記部分木記憶部から2つの部分木のノード情報を取得し、第1の部分木の根ノードを、第2の部分木の葉ノード以外の各ノードの子ノードとなるように配置して併合した場合の損失コストをそれぞれ算出し、損失コスト記憶部に格納する損失コスト算出ステップと、
前記損失コスト記憶部から損失コストが最小となる配置を特定し、第1の部分木および第2の部分木を前記特定した配置で併合した併合後の部分木のノード情報を生成し、前記部分木記憶部に登録するとともに、前記部分木記憶部から併合前の第1の部分木のノード情報および第2の部分木のノード情報を削除する併合ステップと、を行い、
前記損失コストは、併合後の部分木の探索コストと、併合前の第1の部分木の探索コストと第2の部分木の探索コストの和との差であること
を特徴とする部分木併合方法。 A subtree merging method for merging a plurality of subtrees performed by a computer,
An input step of inputting node information of a plurality of subtrees and storing it in a subtree storage unit;
Loss when node information of two subtrees is acquired from the subtree storage unit, and the root node of the first subtree is arranged and merged so as to be a child node of each node other than the leaf node of the second subtree. A loss cost calculating step of calculating each cost and storing in the loss cost storage unit;
The arrangement that minimizes the loss cost from the loss cost storage unit, generates node information of a merged subtree obtained by merging the first subtree and the second subtree in the specified arrangement, and Registering in the tree storage unit, and performing a merging step of deleting the node information of the first subtree and the node information of the second subtree before merging from the subtree storage unit,
The loss cost is the difference between the search cost of the subtree after merging and the sum of the search cost of the first subtree and the search cost of the second subtree before merging. Method.
前記損失コスト算出ステップおよび前記併合ステップを、前記部分木記憶部に記憶された部分木のノード情報が1つになるまで行い、
前記部分木記憶部に記憶された部分木のノード情報が1つになった場合、当該部分木のノード情報をカテゴリ階層として出力する出力ステップを、さらに行うこと
を特徴とする部分木併合方法。 A sub-tree merging method according to claim 4,
The loss cost calculation step and the merging step are performed until the node information of the subtree stored in the subtree storage unit becomes one,
The subtree merging method, further comprising: an output step of outputting the node information of the subtree as a category hierarchy when the node information of the subtree stored in the subtree storage unit becomes one.
損失コスト算出ステップは、ノード間の親子関係の強さを示す親子スコアおよびノード間の兄弟関係の強さを示す兄弟スコアが設定されたペア関係スコア記憶部を参照して前記探索コストを算出すること
を特徴とする部分木併合方法。 The subtree merging method according to claim 4 or 5,
The loss cost calculating step calculates the search cost with reference to a pair relationship score storage unit in which a parent-child score indicating the strength of a parent-child relationship between nodes and a sibling score indicating the strength of a sibling relationship between nodes are set. This is a method for merging subtrees.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013081980A JP5981382B2 (en) | 2013-04-10 | 2013-04-10 | Partial tree merging device, partial tree merging method, and partial tree merging program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013081980A JP5981382B2 (en) | 2013-04-10 | 2013-04-10 | Partial tree merging device, partial tree merging method, and partial tree merging program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2014203431A JP2014203431A (en) | 2014-10-27 |
| JP5981382B2 true JP5981382B2 (en) | 2016-08-31 |
Family
ID=52353775
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2013081980A Expired - Fee Related JP5981382B2 (en) | 2013-04-10 | 2013-04-10 | Partial tree merging device, partial tree merging method, and partial tree merging program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5981382B2 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10990575B2 (en) | 2019-03-22 | 2021-04-27 | Richard E Barry | Reorganization of databases by sectioning |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113657584B (en) * | 2021-08-31 | 2024-04-09 | 安谋科技(中国)有限公司 | Neural network model calculation method, data processing method, electronic device and medium |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8584046B2 (en) * | 2007-04-09 | 2013-11-12 | Microsoft Corporation | Visualizing differences in similarity metrics of hierarchies |
| JP5561860B2 (en) * | 2010-08-19 | 2014-07-30 | 西日本電信電話株式会社 | Advertisement distribution apparatus and method, and program |
| JP5536687B2 (en) * | 2011-01-31 | 2014-07-02 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Table of contents and headline associating method, associating device, and associating program |
-
2013
- 2013-04-10 JP JP2013081980A patent/JP5981382B2/en not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10990575B2 (en) | 2019-03-22 | 2021-04-27 | Richard E Barry | Reorganization of databases by sectioning |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2014203431A (en) | 2014-10-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10713229B2 (en) | Index generating device and method, and search device and search method | |
| KR102138627B1 (en) | Data query method and device, and database system | |
| JP4681544B2 (en) | Array generation method, information processing apparatus, and program | |
| JP2017142844A5 (en) | ||
| CN111324577B (en) | Yml file reading and writing method and device | |
| JP6608972B2 (en) | Method, device, server, and storage medium for searching for group based on social network | |
| CN104182405A (en) | Method and device for connection query | |
| CN111651641B (en) | Graph query method, device and storage medium | |
| CN107251021A (en) | Filtering Data Lineage Diagrams | |
| US11899661B2 (en) | Extraction method, extraction device, and extraction program | |
| WO2015010509A1 (en) | One-dimensional liner space-based method for implementing trie tree dictionary search | |
| CN106294418A (en) | Search method and searching system | |
| US9881055B1 (en) | Language conversion based on S-expression tabular structure | |
| JP5532189B2 (en) | Rule discovery system, method, apparatus and program | |
| CN106844338A (en) | Detection method based on the entity row of the network form of dependence between attribute | |
| CN111666278B (en) | Data storage method, data retrieval method, electronic device and storage medium | |
| JP5981382B2 (en) | Partial tree merging device, partial tree merging method, and partial tree merging program | |
| JP5555238B2 (en) | Information processing apparatus and program for Bayesian network structure learning | |
| KR101067819B1 (en) | Method and Device for Clustering Document Using Ontology | |
| US9959295B1 (en) | S-expression based computation of lineage and change impact analysis | |
| CN104809145B (en) | Hierarchy type data analysing method | |
| KR101565715B1 (en) | Apparatus and Method for generating co-occurrent subgraph in directed graphs | |
| JP6123372B2 (en) | Information processing system, name identification method and program | |
| CN103577560B (en) | Method and device for inputting data base operating instructions | |
| US9767411B2 (en) | Rule discovery system, method, apparatus, and program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150928 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160713 |
|
| 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: 20160726 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160728 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5981382 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |