JP5433764B1 - 階層構造改変処理装置、階層構造改変方法及びプログラム - Google Patents

階層構造改変処理装置、階層構造改変方法及びプログラム Download PDF

Info

Publication number
JP5433764B1
JP5433764B1 JP2012241436A JP2012241436A JP5433764B1 JP 5433764 B1 JP5433764 B1 JP 5433764B1 JP 2012241436 A JP2012241436 A JP 2012241436A JP 2012241436 A JP2012241436 A JP 2012241436A JP 5433764 B1 JP5433764 B1 JP 5433764B1
Authority
JP
Japan
Prior art keywords
node
hierarchical structure
nodes
lowering operation
data
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.)
Active
Application number
JP2012241436A
Other languages
English (en)
Other versions
JP2014092826A (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.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan 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 Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2012241436A priority Critical patent/JP5433764B1/ja
Application granted granted Critical
Publication of JP5433764B1 publication Critical patent/JP5433764B1/ja
Publication of JP2014092826A publication Critical patent/JP2014092826A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】階層構造の幅又は深さが膨大となってしまうことを回避する階層構造改変処理装置を提供する。
【解決手段】階層構造改変処理装置は、階層構造のノードを格納する階層構造データと複数のノードの各々の分類結果データとを記憶する記憶手段と、所定の条件で現在位置から上位の階層に変更する上げ操作候補のノードの集合を抽出する上げ操作候補抽出手段と、上げ操作の候補になるノードの変更先である階層にあるノード数が、予め定められた閾値より多い又は以上である場合は、該ノードを前記集合から取り除く取除手段を備える。
【選択図】図1

Description

本発明は、階層構造改変処理装置、階層構造改変方法及びプログラムに関する。
従来、階層構造を微小変化させるタクソノミー(分類学)改変手法が開示されている(例えば、非特許文献1)。
また、特許文献1には、階層構造のデータの変更をまとめて適用すると共に互いに矛盾する変更を回避する階層構造改変処理装置、階層構造改変方法及びプログラムを提供することを課題とし、階層構造改変処理装置は、階層構造のノードを格納する階層構造データと複数のノードの各々の分類結果データとを記憶する記憶部と、所定の条件で現在位置から上位の階層に変更する上げ操作候補のノードの集合を抽出する上げ操作候補抽出部と、他の所定の条件で現在位置から下位の階層に変更する下げ操作候補のノードの集合を抽出する下げ操作候補抽出部と、上げ操作候補抽出部により抽出された上げ操作候補のノードと下げ操作候補抽出部により抽出された下げ操作候補のノードとに対する操作をまとめて処理することで、互いに矛盾する操作を回避する矛盾回避処理部とを備えることが開示されている。
特許文献2には、複雑な属性情報が付与されたコンテンツを動的かつ自動的に分類をどの程度の細かさで行うかを設定して分類可能な情報処理装置、コンテンツ記録装置、コンテンツ記録システム及び情報処理プログラムを提供することを課題とし、2階層以上の階層構造を有する属性情報が付加されたコンテンツデータを、属性情報に基づいていずれかの階層に分類して記録部に記録する情報処理装置であって、フォルダ管理部は、記録部に新たにコンテンツデータが記録された際に、任意の階層の任意のフォルダに関して、そのフォルダに属するコンテンツ数とそのフォルダの下位となるフォルダの数との合計が所定の閾値以上とならないように、コンテンツの分類をどの程度の細かさで行うかを変化させることが開示されている。
特許文献3には、複数の異なるクラスタリング方法及び自動分類方法を1つの分類階層の中で自由に組み合わせて用いることを可能とすることを課題とし、クラスタリング制御部は、複数の文書のうちユーザによって指定された文書からなる文書集合に対して文書クラスタリング処理又は単語クラスタリング処理を実行し、カテゴリ分類方法設定部は、クラスタリング処理によって生成された文書集合中の部分集合が分類されるカテゴリの分類方法をカテゴリ記憶部に設定し、自動分類制御部は、ユーザの操作に応じて分類先候補カテゴリ集合及び分類対象文書集合を決定し、自動分類制御部は、カテゴリ記憶部に設定された分類先候補カテゴリ集合の各カテゴリの分類方法に基づいて、分類先候補カテゴリ集合及び分類対象文書集合を対象にルールベース自動分類処理及び事例ベース自動分類処理を制御することが開示されている。
特開2010−170192号公報 特開2009−86970号公報 特開2010−267141号公報
タンレイ(Lei Tang)、他4名、「グループ・プロファイリングへのトピック・タクソノミー適応(Topictaxonomy adaptation for group profiling)」、(米国)、エーシーエム データからの知識発見論文集(ACMTransactions on Knowledge Discovery from Data)、2008年1月、第1巻、第4号、p.1-28
非特許文献1に記載の従来技術は、階層構造を構成する1つのノードの位置を移動させる(微小変化を行う)毎に、影響を受ける階層構造部分の性能を測定しなおすものである。そのため、例えば、数十万のノードからなる大規模階層構造に適用する場合には、幅又は深さが膨大となり、高精度で高効率な機械的処理が困難なような階層構造が生じる場合がある。
本発明は、階層構造の幅又は深さが膨大となってしまうことを回避する階層構造改変処理装置、階層構造改変方法及びプログラムを提供することを目的とする。
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
(1) 階層構造を構成する複数のノードからなる階層構造データと、複数の分類器によって算出された前記複数のノードの各々に対する分類結果データとを記憶する記憶手段と、前記分類結果データに含まれる前記各ノードの適正位置が前記階層構造データの前記各ノードの位置である現在位置より上位の階層である割合を示す上げ操作指数が第1の所定値を超えている、前記現在位置から前記上位の階層に変更する上げ操作の候補になる前記ノードの集合を抽出する上げ操作候補抽出手段と、前記上げ操作候補抽出手段によって抽出された上げ操作の候補になるノードの変更先である階層にあるノード数が、予め定められた閾値より多い又は以上である場合は、該ノードを前記集合から取り除く取除手段と、を備える階層構造改変処理装置である。
(2) 階層構造を構成する複数のノードからなる階層構造データと、複数の分類器によって算出された前記複数のノードの各々に対する分類結果データとを記憶する記憶手段と、同一の階層の前記各ノードの組み合わせのうち、前記分類結果データに含まれる前記各ノードの適正位置から、ペア対象毎に、正解データと結果データとが不一致となる場合にカウントするミスに対する、正解データと結果データとが不一致で、かつ、その結果データがペア対象の場合にカウントする曖昧性の割合に基づき算出された曖昧性スコアを示す下げ操作指数が最高値の組み合わせに対して、所定の条件によって前記現在位置から下位の階層に変更する下げ操作の候補になる前記ノードの集合を抽出する下げ操作候補抽出手段と、前記下げ操作候補抽出手段によって抽出された下げ操作の候補になるノードよりも下位にある階層の数と該ノードに対して祖先の関係にあるノードよりも上位にある階層の数との和が、予め定められた閾値より多い又は以上である場合は、該ノードを前記集合から取り除く取除手段と、を備える階層構造改変処理装置である。
(3) 階層構造を構成する複数のノードからなる階層構造データと、複数の分類器によって算出された前記複数のノードの各々に対する分類結果データとを記憶する記憶手段と、上げ操作候補抽出手段と、取除手段とを備えるコンピュータによって行われる階層構造改変方法であって、前記上げ操作候補抽出手段が行う、前記分類結果データに含まれる前記各ノードの適正位置が前記階層構造データの前記各ノードの位置である現在位置より上位の階層である割合を示す上げ操作指数が第1の所定値を超えている、前記現在位置から前記上位の階層に変更する上げ操作の候補になる前記ノードの集合を抽出するステップと、前記取除手段が行う、前記上げ操作候補抽出手段によって抽出された上げ操作の候補になるノードの変更先である階層にあるノード数が、予め定められた閾値より多い又は以上である場合は、該ノードを前記集合から取り除くステップを含む階層構造改変方法である。
(4) (3)に記載の階層構造改変方法のステップをコンピュータに実行させるためのプログラムである。
(5) 階層構造を構成する複数のノードからなる階層構造データと、複数の分類器によって算出された前記複数のノードの各々に対する分類結果データとを記憶する記憶手段と、下げ操作候補抽出手段と、取除手段とを備えるコンピュータによって行われる階層構造改変方法であって、前記下げ操作候補抽出手段が行う、同一の階層の前記各ノードの組み合わせのうち、前記分類結果データに含まれる前記各ノードの適正位置から、ペア対象毎に、正解データと結果データとが不一致となる場合にカウントするミスに対する、正解データと結果データとが不一致で、かつ、その結果データがペア対象の場合にカウントする曖昧性の割合に基づき算出された曖昧性スコアを示す下げ操作指数が最高値の組み合わせに対して、所定の条件によって前記現在位置から下位の階層に変更する下げ操作の候補になる前記ノードの集合を抽出するステップと、前記取除手段が行う、前記下げ操作候補抽出手段によって抽出された下げ操作の候補になるノードよりも下位にある階層の数と該ノードに対して祖先の関係にあるノードよりも上位にある階層の数との和が、予め定められた閾値より多い又は以上である場合は、該ノードを前記集合から取り除くステップを含む階層構造改変方法である。
(6) (5)に記載の階層構造改変方法のステップをコンピュータに実行させるためのプログラムである。
本発明によれば、階層構造を構成する複数のノードからなる階層構造データを、複数の分類器によって算出された分類結果データを用いて改変するのに際して、階層構造の幅又は深さが膨大となってしまうことを回避することができる。
第1実施形態に係る階層構造改変処理装置の機能構成を示す図である。 第1実施形態に係る階層構造改変処理装置のハードウェア構成を示す図である。 第1実施形態に係る階層構造データの例を示す図である。 第1実施形態に係るノード上げ操作を説明する図である。 第1実施形態に係るノード下げ操作を説明する図である。 第1実施形態に係る矛盾する変更に対する回避方法を示す図である。 第1実施形態に係るノードマージ操作を説明する図である。 第1実施形態に係る幅抑制処理を説明する図である。 第1実施形態に係る階層構造改変処理のフローチャートである。 第1実施形態に係る階層構造改変処理のフローチャートである。 第2実施形態に係る階層構造改変処理装置の機能構成を示す図である。 第2実施形態に係る矛盾する変更に対する回避方法を示す図である。 第2実施形態に係る階層構造改変処理のフローチャートである。 第2実施形態に係る階層構造改変処理のフローチャートである。 第3実施形態に係る階層構造改変処理装置の機能構成を示す図である。 第3実施形態に係る矛盾する変更に対する回避方法を示す図である。 第3実施形態に係る階層構造改変処理のフローチャートである。 第3実施形態に係る階層構造改変処理のフローチャートである。
以下、本発明を実施するための形態について図を参照しながら説明する。なお、これはあくまでも一例であって、本発明の技術的範囲はこれに限られるものではない。
(第1実施形態)
[階層構造改変処理装置100の機能構成]
図1は、第1実施形態に係る階層構造改変処理装置100の機能構成を示す図である。階層構造改変処理装置100は、階層構造を構成する複数のノードを記憶した階層構造データに対して、タクソノミー改変を行う装置である。階層構造データを構成する複数のノードは、例えば、文書に対応している。文書を階層構造に分類することで、例えば、情報検索時の検索の性能を向上させることができ、オントロジーの構築に用いることができる。タクソノミー改変とは、分類法を用いた階層構造データの変更をいい、具体的には、階層構造を構成するノードの位置を、その位置から上位又は下位に変更することをいう。
階層構造改変処理装置100は、制御モジュール1と記憶モジュール2とを備える。制御モジュール1は、上げ操作候補抽出モジュール10と、下げ操作候補抽出モジュール11と、操作判定モジュール12と、階層構造改変処理モジュール13と、矛盾回避処理モジュール15と、操作抑制モジュール16とを備える。操作判定モジュール12と、階層構造改変処理モジュール13とは、矛盾回避処理モジュール15の処理の一部である。記憶モジュール2は、階層構造データを記憶する階層構造データ記憶モジュール20、分類結果データ記憶モジュール21、改変後階層構造データ記憶モジュール22を備える。各機能の詳細は、後述する。
階層構造改変処理装置100は、ハードウェアの数に制限はなく、必要に応じて一又は複数のハードウェアで構成してよい。また、複数のハードウェアで構成する場合には、例えば、通信回線(図示せず)を介して各ハードウェアを接続してもよい。前述した各機能毎に別サーバとし、各サーバ間での信号の送受信により、各サーバを連携させることで、本実施形態の機能を実現してもよい。
[階層構造改変処理装置100のハードウェア構成図]
図2は、第1実施形態に係る階層構造改変処理装置100のハードウェア構成を示す図である。本発明が実施される処理装置は標準的なものでよく、以下に、構成の一例を示す。
階層構造改変処理装置100は、制御モジュール1を構成するCPU(Central
Processing Unit)1010(マルチプロセッサ構成ではCPU1012等複数のCPUが追加されてもよい)、バスライン1005、通信I/F(I/F:インタフェース)1040、メインメモリ1050、BIOS(Basic Input Output System)1060、表示装置1122、I/Oコントローラ1070、キーボード及びマウス等の入力装置1100、ハードディスク1074、光ディスクドライブ1076、並びに半導体メモリ1078を備える。なお、ハードディスク1074、光ディスクドライブ1076、及び半導体メモリ1078はまとめて記憶モジュール2と呼ぶ。
制御モジュール1は、階層構造改変処理装置100を統括的に制御する部分であり、ハードディスク1074に記憶された各種プログラムを適宜読み出して実行することにより、前述したハードウェアと協働し、本発明に係る各種機能を実現している。
通信I/F1040は、階層構造改変処理装置100が、通信回線を介して他の装置と情報を送受信する場合のネットワーク・アダプタである。通信I/F1040は、モデム、ケーブル・モデム及びイーサネット(登録商標)・アダプタを含んでよい。
BIOS1060は、階層構造改変処理装置100の起動時にCPU1010が実行するブートプログラムや、階層構造改変処理装置100のハードウェアに依存するプログラム等を記録する。
表示装置1122は、ブラウン管表示装置(CRT)、液晶表示装置(LCD)等のディスプレイ装置を含む。
I/Oコントローラ1070には、ハードディスク1074、光ディスクドライブ1076、及び半導体メモリ1078等の記憶装置である記憶モジュール2を接続することができる。
入力装置1100は、階層構造改変処理装置100の管理者による入力の受け付けを行うものである。
ハードディスク1074は、本ハードウェアを階層構造改変処理装置100として機能させるための各種プログラム、本発明の機能を実行するプログラム及び前述した階層構造データ等を記憶する。なお、階層構造改変処理装置100は、外部に別途設けたハードディスク(図示せず)を外部記憶装置として利用することもできる。
光ディスクドライブ1076としては、例えば、DVD−ROMドライブ、CD−ROMドライブ、DVD−RAMドライブ、CD−RAMドライブを使用することができる。この場合は各ドライブに対応した光ディスク1077を使用する。光ディスク1077から光ディスクドライブ1076によりプログラム又はデータを読み取り、I/Oコントローラ1070を介してメインメモリ1050又はハードディスク1074に提供することもできる。
なお、本発明でいうコンピュータとは、記憶モジュール、制御モジュール等を備えた情報処理装置をいい、階層構造改変処理装置100は、記憶モジュール2、制御モジュール1等を備えた情報処理装置により構成され、この情報処理装置は、本発明のコンピュータの概念に含まれる。
[階層構造データ30]
図3は、第1実施形態に係る階層構造データ30の例を示す図である。階層構造データ30は、階層構造データ記憶モジュール20(図1参照)に格納されている。階層構造データ30は、図3において円で表された複数のノードが、線で表されるエッジによって結び付けられ、階層構造を形成している。階層構造データ30は、1つのノードの下位に複数のノードがつながっている構造である。なお、下位には1つのノードがつながっていてもよいし、下位につながっているノードがない場合(いわゆるリーフノード)もある。図3の例は、ノード31の上位のノードがノード32であり、ノード32の更に上位のノードがノード33であることを示し、ノード33は、下位のノード32以外の複数のノードに対してつながっている。階層構造は、木構造を含む。また、1つの下位のノードが2つ以上の上位のノードにつながっていてもよい。図3の例に表された1つのノードは、例えば、1つの文書に対応している。なお、階層構造データ30は、文書に対応している必要はないが、文書を分類するための文書分類器を実際に構成するためには、ノードに対応付けられた文書事例が必要であり、これをコーパスという。コーパスには、機械学習分類器を訓練するための訓練コーパス(トレーニングコーパス)と、分類性能を測定するためのテストコーパス(正解データ)とがあるが、いずれも、1つのノードに対して複数の文書が対応してよい。また、1つのノードは、文書の他、属性を表すクラスに対応付けられていてもよい。なお、以降の図において、ノード内に表される記号、例えば、ノード31の「k.3」をラベルという。
コーパスはタクソノミーを前提として、それに付随するものである。上げ操作等は全てタクソノミーの構造を対象としたものであるので、その結果としてテストコーパスにもトレーニングコーパスにも影響する。したがって、本実施の形態における対象としている階層構造データ30は、訓練コーパス、テストコーパスのいずれか一方又は両方であってもよい。
[基本操作]
図4は、第1実施形態に係るノード上げ操作を説明する図である。図5は、第1実施形態に係るノード下げ操作を説明する図である。ここでは、いずれも「k.3」のラベルを有するノード31に焦点をあてて説明する。
図4(a)は、階層分類器(複数の局所分類器)で分類を行った結果である分類結果データに、評価を反映した上げ操作検証テーブル40である。上げ操作検証テーブル40は、分類結果データから集計して生成することができる。分類結果データは、分類結果データ記憶モジュール21に記憶されている。生成した上げ操作検証テーブル40を、分類結果データ記憶モジュール21に記憶してもよい。階層分類器とは、機械学習分類器であり、事前に与えられたデータを例題として、例題のデータをガイドに学習を行い、その結果を反映したものである。階層分類器毎に事前に与えられた例題が異なるため、各階層分類器は、階層分類器毎に異なる分類結果データを出力することになる。なお、「階層分類器」という場合は、分類器全体を指す場合に用い、「局所分類器」という場合は、階層分類器を構成する多数の分類器を指す。本実施の形態では、階層分類器を実現するための手法として、局所分類器手法を採用する。つまり、親子関係にある構造の親ノードに子ノードへの分類を行う局所分類器をそれぞれ配置するという構成をとる。
分類結果データは、正解データ41と、その結果データ42とからなる。正解データ41は、階層構造データ30においての正解のデータである。結果データ42は、階層分類器毎に導き出された結果のデータである。正解データ41に対する結果データ42の差異は、前述での説明の通り、階層分類器の学習過程により生じる。Hミス43には、正解データ41のノードの親と結果データ42のノードの親とが異なる場合に「1」を格納する。また、Lミス44には、正解データ41のノードの親と結果データ42のノードの親とは一致するが、ラベルが異なる場合に「1」を格納する。HIT45は、正解データ41と、その結果データ42とが同一の場合に「1」を格納する。Hミス43、Lミス44、HIT45は、各々その件数が合計されて、順番に、hm46、lm47、Nh48に合計数が格納される。
次に、図4(b)に示す式により、上げ操作指数duを算出する。上げ操作指数duは、分類結果データにおけるHミス43の割合と、Lミス44の割合との差の大きさにより求められる。上げ操作指数duが、予め定められた係数α(第1の所定値)を超えていれば、対象のノード31の位置を上位の階層に変更する候補とする。しかし、上げ操作指数duが、予め定められた係数α以下の場合には、何もしない(変更しない)。
図4(c)は、ノード31の上げ操作指数duが係数αを超えている場合に、ノード31を上位の階層に変更する階層構造データ30の状態を表す。「k.3」のラベルを有するノード31を、上位の階層であるノード32と同一の階層にするため、ノード32の上位の階層であるノード33の階層の子ノードに移動することで、「k.3」のラベルを有するノードをノード31からノード34に変更する。
図5(a)は、階層分類器で分類を行った結果である分類結果データに、図4(a)とは異なる評価を反映した下げ操作検証テーブル50である。下げ操作検証テーブル50は、分類結果データから集計して生成することができる。生成した下げ操作検証テーブル50を分類結果データ記憶モジュール21に記憶してもよい。分類結果データである正解データ51及び結果データ52は、上げ操作検証テーブル40の正解データ41及び結果データ42と同一である。下げ操作検証テーブル50は、あるノードの下位に位置する同一の階層のノードのペアの組み合わせについて検証したテーブルである。ここでは、「j.3」のラベルを有するノード32の下位のノードのうち、「k.3」のラベルを有するノード31と、「k.2」のラベルを有するノード35との組み合わせについて検討する。なお、ノード32の下位の同一の階層の組み合わせは、(k.1,k.2),(k.1,k.3),…,(k.1,k.m),(k.2,k.3),…(k.2,k.m),…、であり、C(m,2)通り存在する。
下げ操作検証テーブル50に記憶されるのは、正解データ51と、結果データ52とが各々の組み合わせの対象であるものである。図5(a)の例では、下げ操作検証テーブル50には、「k.2」のラベルと「k.3」のラベルとを有するノードについて記憶している。曖昧性53は、例えば、下げ操作検証子テーブル50Aの場合には、正解データ51と結果データ52との内容が不一致で、間違えた先が「k.2」の場合に「1」を格納する。図5(a)では、下げ操作検証テーブル50のうち、下げ操作検証子テーブル50Aは、正解データ51が「k.3」であって、結果データ52が「k.2」のラベルを有するデータであり、「k.3」から「k.2」への曖昧性を意味する。また、下げ操作検証子テーブル50Bは、「k.2」から「k.3」への曖昧性を意味する。ミス54は、正解データ51と結果データ52との内容(ノードのラベル)が不一致の場合に「1」を格納する。HIT55は、正解データ51と結果データ52との内容が一致する場合に「1」を格納する。ミス54とHIT55とは、常に逆の関係が成り立つ。曖昧性53、ミス54、HIT55は、各々その件数が合計されて、順番に、Na56、Nm57、Nh58に合計数が格納される。
次に、図5(b)に示す式により、下げ操作指数ddを算出する。下げ操作指数ddは、分類結果データにおける組み合わせの各々のノードの、ミス54に対する曖昧性53の割合を合算してその大きさにより算出される曖昧性スコアである。下げ操作指数ddは、組み合わせのノードがノードA,Bの場合に、「dd(A,B)」と記述する。同一の階層の各組み合わせにおいて下げ操作指数ddを算出し、下げ操作指数ddが最大値のペアに対して、係数βとの関係(所定の条件)で、図5(b)に示すように組み合わせのノードの一方を他方のノードの下位ノードにしたり、組み合わせのノードの両方を、新たに組み合わせのノードの位置に新設したノードの下位ノードにしたりして、階層構造データ30を変更する候補とする。
図5(c)は、下げ操作指数dd(ノード31,ノード35)がノード31と同一の階層の組み合わせの中で最大値であり、ノード31のミスに対する曖昧性の割合の、ノード35のミスに対する曖昧性の割合の差が、係数βより大きい場合に、ノード31をノード35の下位の階層に変更する階層構造データ30の状態を表す。「k.3」のラベルを有するノード31を、ノード35の下位に「k.3」のラベルを有するノード36として移動する。
階層構造データ30を対象として、分類結果データを用いて改変する場合に、図4でのノードの上げ操作の対象であるノードが、図5でのノードの下げ操作の対象になる場合がある。よって、ノードの上げ操作と下げ操作とをまとめて変更しようとすると、両方に該当するノードにおいて互いに矛盾する変更が生じてしまう。
[アルゴリズム1]
そこで、次に、矛盾する変更をなくしてまとめて処理を行う場合に有用なアルゴリズムについて説明する。図6は、第1実施形態に係る矛盾する変更に対する回避方法を示す図である。ここで、以下は、操作判定モジュール12により判定処理が行われる。「k.3」のラベルを有するノード31は、上げ操作対象のノードであると共に、下げ操作対象のノードである。この場合、一律に下げ操作を優先するものである。
図6(1)は、階層構造データ30のノード31が、上げ操作の態様かつ下げ操作の態様である場合に、ノード31を下げ操作を行うために、ノード35の下位のノード36に変更する過程を示す。図6(2)は、下げ操作を行った後の階層構造データ30を示す。図6(2)に示す階層構造データ30は、ノード32からエッジでつながっている下位ノードに、「k.3」のラベルを有するノードがない。「k.3」のラベルを有するノード35は、ノード32の下位ノードであるノード35からエッジでつながって位置している。変更された階層構造データ30は、改変後階層構造データ記憶モジュール22に記憶する。なお、記憶モジュール2に改変後階層構造データ記憶モジュール22を有さず、階層構造データ記憶モジュール20に、変更された階層構造データ30を上書きしてもよい。
図7は、第1実施形態に係るノードマージ操作を説明する図である。兄弟ノードが相互に混同して予測される場合に、このマージ操作を行う。このマージ操作は、下げ操作の1種である。
図7(1)は、「k.2」のラベルを有するノード35と「k.3」のラベルを有するノード31が、「j.3」のラベルを有するノード32の子のノードの全ての組み合わせの中で最も高い曖昧性スコアdd(下げ操作指数dd)を持ち、ノード35からノード31方向の混同数とノード31からノード35方向の混同数に大きな差がないとする。そして、マージ用ノード61(「k.4」のラベル)を新設し、ノード35とノード31をノード61の下に移動する。これは、図5(b)に示したように「組み合わせのノードの両方を、新たに組み合わせのノードの位置に新設したノードの下位ノードにする」ことに該当する。図7(2)は、その移動後の結果を示すものであり、ノード61の下にノード62(「k.2」のラベルであり、元のノード35)とノード63(「k.3のラベルであり、元のノード31)がある。
図8は、第1実施形態に係る幅抑制処理を説明する図である。つまり、条件を満たす上げ操作候補を適用予定の操作集合から取り除くものである。
操作抑制モジュール16は、上げ操作候補抽出モジュール10によって抽出された上げ操作の候補になるノードの変更先である階層にあるノード数が、予め定められた閾値より多い又は以上である場合は、そのノードを集合(上げ操作の候補になるノードの集合)から取り除く。
例えば、図8(1)の例に示すように、「上げ操作候補抽出モジュール10によって抽出された上げ操作の候補になるノード」として、ノード31(「k.3」のラベル)が抽出されたとする。ここでノード33(「i」のラベル)に所属する子のノード数がnだったとする。つまり、「変更先である階層にあるノード数」がnである。
n>Cmax (1)
ただし、Cmaxは、予め定められた定数(閾値)である。ただし、性能測定の結果によって、この定数を調整するようにしてもよい。また、条件(1)は、n≧Cmaxであってもよい。
条件(1)が成立する場合、ノード31(「k.3」のラベル)を集合から取り除く。つまり、上げ操作の対象としない。そして、条件(1)が成立しない場合、ノード31(「k.3」のラベル)を集合に残す。つまり、上げ操作の対象とする。
次に、図7を用いて、第1実施形態に係る深さ抑制処理を説明する。
操作抑制モジュール16は、下げ操作候補抽出モジュール11によって抽出された下げ操作の候補になるノードよりも下位にある階層の数とそのノードに対して祖先の関係にあるノードよりも上位にある階層の数との和が、予め定められた閾値より多い又は以上である場合は、そのノードを集合(下げ操作の候補になるノードの集合)から取り除く。
例えば、図7(1)の例に示すように、「下げ操作候補抽出モジュール11によって抽出された下げ操作(マージ操作を含む)の候補になるノード」として、ノード31(「k.3」のラベル)が抽出されたとする。ここでノード31(「k.3」のラベル)の深さをdlk.3だったとする。なお、深さdlとは、対象としているノードから下方向にリーフノードまで辿った場合の辿り数の最大値である。また、深さの他に、下位に位置するサブグラフの数を用いてもよい。つまり、対象としているノードよりも下位に位置するサブグラフの数が、予め定められた閾値より多い又は以上である場合は、そのノードを集合(下げ操作の候補になるノードの集合)から取り除くようにしてもよい。対象としているノードの階層そのものを深さとして計数してもよいし、計数しなくてもよい。「そのノードに対して祖先の関係にあるノード」として、ここではノード31の親であるノード32(「j.3」のラベル)を選んだとする。なお、直上の親だけでなく、さらにその上の親のノード、例えば、ノード33(「i」のラベル)であってもよい。ここでノード32(「j.3」のラベル)の深さをdrj.3だったとする。深さdrとは、ルートノードから対象としているノードまで辿った場合の辿り数の最大値である。
drj.3+dlk.3>Dmax (2)
ただし、Dmaxは、予め定められた定数(閾値)である。ただし、性能測定の結果によって、この定数を調整するようにしてもよい。また、条件(2)は、drj.3+dlk.3≧Dmaxであってもよい。
条件(2)が成立する場合、ノード31(「k.3」のラベル)を集合から取り除く。つまり、下げ操作の対象としない。そして、条件(2)が成立しない場合、ノード31(「k.3」のラベル)を集合に残す。つまり、下げ操作の対象とする。
この例に基づいて説明すると、深さ抑制機能は、下げ操作及びマージ操作の各候補について、
a)操作対象ノードの親のルートからリーフまでの深さ
b)操作対象ノードを頂点とするサブグラフのリーフまでの深さ
を加算して、一定値を越える候補を取り除く処理を行うものである。深さ抑制機能そのものでは、下げ操作及びマージ操作のタクソノミー構造への適用は行わないので、構造変更に伴う深さ変動も生じない。なお、下げ操作及びマージ操作を後の処理で適用した場合は、操作対象ノードのルートからの深さは1増加することになる。前記b)の値はこの適用によっては変化しない。
また、幅抑制機能は上げ操作に、深さ抑制機能は下げ操作及びマージ操作に適用するものである。
次に、図6の処理を説明する。図9は、第1実施形態に係る階層構造改変処理のフローチャートである。
S10:制御モジュール1(上げ操作候補抽出モジュール10)は、階層構造データ30の全てのノードに対して、上げ操作の候補を抽出する。上げ操作の候補は、前述の図4で説明した処理により抽出できる。階層構造データ30の各ノードに対する処理順序は、どのような順序でもよく、例えば、上からでも、下からでも、深さ優先でも、ランダムでもよい。
S11:制御モジュール1(操作抑制モジュール16)は、幅抑制の条件を満たす上げ操作候補を適用予定の操作集合から取り除く。
S12:制御モジュール1は、上げ操作の対象になるノードの集合を記憶モジュール2に退避する。
S13:制御モジュール1(下げ操作候補抽出モジュール11)は、階層構造データ30の全てのノードに対して、下げ操作の候補を抽出する。下げ操作の候補は、前述の図5で説明した処理により抽出できる。階層構造データ30の各ノードに対する処理順序は、どのような順序でもよい。
S14:制御モジュール1(下げ操作候補抽出モジュール11)は、階層構造データ30の全てのノードに対して、マージ操作の候補を抽出する。
S15:制御モジュール1(操作抑制モジュール16)は、深さ抑制の条件を満たす下げ操作候補又はマージ操作候補を適用予定の操作集合から取り除く。
S16:制御モジュール1は、下げ操作とマージ操作の対象になるノードの集合を記憶モジュール2に退避する。
S17:制御モジュール1(操作判定モジュール12)は、上げ操作対象かつ下げ操作対象になるノードが存在するか否かを判断する。制御モジュール1は、対象のノードが存在する場合(S17:YES)は、処理をS18に移し、対象のノードが存在しない場合(S17:NO)は、処理をS19に移す。
S18:制御モジュール1(操作判定モジュール12)は、上げ操作の対象になるノードの集合から、上げ操作の対象かつ下げ操作の対象になるノードを削除する。本処理により、上げ操作の対象になり、下げ操作の対象になるノードは、下げ操作の対象にのみ含まれる。
S19:制御モジュール1(階層構造改変処理モジュール13)は、上げ操作の対象になるノードの集合の各ノードに対して上げ操作を行う。
S20:制御モジュール1(階層構造改変処理モジュール13)は、下げ操作の対象になるノードの集合の各ノードに対して下げ操作を行う。
S21:制御モジュール1(階層構造改変処理モジュール13)は、マージ操作の対象になるノードの集合の各ノードに対してマージ操作を行う。
S22:制御モジュール1は、操作を行った階層構造データを、改変後階層構造データ記憶モジュール22に記憶する。
このように、階層構造改変処理装置100は、階層構造データ30に対する矛盾する変更を生じるノードに対して、一律下げ操作を優先する。よって、階層構造データ30のタクソノミー改変を、矛盾解決に要する計算コストを抑えつつ、矛盾する変更を回避するものにすることができる。また、上げ操作の候補と下げ操作の候補とを抽出した上で、まとめて操作処理を行うので、効率がよい。また、幅抑制機能、深さ抑制機能によって、膨大となってしまうことを回避することができる。その結果、高精度で高効率な機械的処理が容易な階層構造とすることができる。
なお、本処理において、上げ操作の対象になりかつ下げ操作の対象になるノードに関する判定処理を行ってから、全てのノードに対する上げ操作の対象のノードと、下げ操作の対象のノードとの処理を行うものであった。しかし、上げ操作の対象になりかつ下げ操作の対象になるノード以外のノードに関して、判定処理と並行して操作処理を行ってもよい。そのようにすることで、処理に要する時間を更に短縮できる。
図10は、第1実施形態に係る別の階層構造改変処理のフローチャートである。図9に例示のフローチャートでは、前半で幅抑制、深さ抑制を行ったが、図10に例示のフローチャートでは、後半で行うものである。先に矛盾解消を行った後に幅抑制、深さ抑制の処理を行うので、幅抑制、深さ抑制の対象は図9に例示のフローチャートよりは減ることになるが、その効果は図9に例示のフローチャートとほぼ同等である。
S110:制御モジュール1(上げ操作候補抽出モジュール10)は、階層構造データ30の全てのノードに対して、上げ操作の候補を抽出する。上げ操作の候補は、前述の図4で説明した処理により抽出できる。階層構造データ30の各ノードに対する処理順序は、どのような順序でもよく、例えば、上からでも、下からでも、深さ優先でも、ランダムでもよい。
S111:制御モジュール1は、上げ操作の対象になるノードの集合を記憶モジュール2に退避する。
S112:制御モジュール1(下げ操作候補抽出モジュール11)は、階層構造データ30の全てのノードに対して、下げ操作の候補を抽出する。下げ操作の候補は、前述の図5で説明した処理により抽出できる。階層構造データ30の各ノードに対する処理順序は、どのような順序でもよい。
S113:制御モジュール1(下げ操作候補抽出モジュール11)は、階層構造データ30の全てのノードに対して、マージ操作の候補を抽出する。
S114:制御モジュール1は、下げ操作とマージ操作の対象になるノードの集合を記憶モジュール2に退避する。
S115:制御モジュール1(操作判定モジュール12)は、上げ操作対象かつ下げ操作対象になるノードが存在するか否かを判断する。制御モジュール1は、対象のノードが存在する場合(S115:YES)は、処理をS116に移し、対象のノードが存在しない場合(S115:NO)は、処理をS117に移す。
S116:制御モジュール1(操作判定モジュール12)は、上げ操作の対象になるノードの集合から、上げ操作の対象かつ下げ操作の対象になるノードを削除する。本処理により、上げ操作の対象になり、下げ操作の対象になるノードは、下げ操作の対象にのみ含まれる。
S117:制御モジュール1(操作抑制モジュール16)は、幅抑制の条件を満たす上げ操作候補を適用予定の操作集合から取り除く。
S118:制御モジュール1(操作抑制モジュール16)は、深さ抑制の条件を満たす下げ操作候補又はマージ操作候補を適用予定の操作集合から取り除く。
S119:制御モジュール1(階層構造改変処理モジュール13)は、上げ操作の対象になるノードの集合の各ノードに対して上げ操作を行う。
S120:制御モジュール1(階層構造改変処理モジュール13)は、下げ操作の対象になるノードの集合の各ノードに対して下げ操作を行う。
S121:制御モジュール1(階層構造改変処理モジュール13)は、マージ操作の対象になるノードの集合の各ノードに対してマージ操作を行う。
S122:制御モジュール1は、操作を行った階層構造データを、改変後階層構造データ記憶モジュール22に記憶する。
(第2実施形態)
次に、本発明を適用した第2実施形態について説明する。第2実施形態は、まとめて処理を行う場合に有用な、第1実施形態とは異なる第2のアルゴリズムに関するものである。なお、以下の説明及び図面において、前述した実施形態と同様の機能を果たす部分には、同一の符号又は末尾に同一の符号を付して、重複する説明を適宜省略する。
[階層構造改変処理装置200の機能構成]
図11は、第2実施形態に係る階層構造改変処理装置200の機能構成を示す図である。階層構造改変処理装置200の制御モジュール201は、次点下げ操作候補抽出モジュール214を備える。また、矛盾回避処理モジュール215の操作判定モジュール212は、次点下げ操作候補抽出モジュール214により抽出されたノードに対する判定をする。記憶モジュール202は、第1実施形態の改変後階層構造データ記憶モジュール22とは異なる階層構造データを格納する改変後階層構造データ記憶モジュール222を備える。
[アルゴリズム2]
図12は、第2実施形態に係る矛盾する変更に対する回避方法を示す図である。ここで、以下は、操作判定モジュール212により判定処理が行われる。「k.3」のラベルを有するノード31は、上げ操作対象のノードであると共に、下げ操作対象のノードである。次点下げ操作候補抽出モジュール214により抽出された組み合わせ(k.1,k.2)と、下げ操作指数ddが最大である組み合わせ(k.2,k.3)との関係において、下げ操作指数dd(k.2,k.3)と下げ操作指数ddn(k.1,k.2)との差の絶対値は、係数γ(第2の所定値)以下である。ここで、次点の組み合わせに対する下げ操作指数を、ddnで表す。この場合に、「k.3」のラベルを有するノード31は、上げ操作対象にする。また、次点の組み合わせである(k.1,k.2)に対して、下げ操作の対象にする。
図12(1)は、階層構造データ30のノード31を、上げ操作を行うために、ノード33の下位のノード34に変更する過程を示す。また、下げ操作対象の組み合わせ(k.1,k.2)のうち、下げ操作の対象である「k.1」のラベルを有するノード37を、ノード35の下位のノード38に変更する過程を示す。なお、(k.1,k.2)の組み合わせに対する変更処理は、前述の図5(b)に示した式により行われる。図12(2)は、「k.3」のラベルを有するノード31に対する上げ操作と、「k.1」のラベルを有するノード37に対する下げ操作とを行った後の階層構造データ30を示す。変更された階層構造データ30は、改変後階層構造データ記憶モジュール222に記憶する。
なお、次点下げ操作候補抽出モジュール214により抽出された組み合わせ(k.1,k.2)と、下げ操作指数ddが最大である組み合わせ(k.2,k.3)との関係において、下げ操作指数dd(k.2,k.3)と下げ操作指数dd(k.1,k.2)との差の絶対値が係数γより大きい場合には、「k.3」のラベルを有するノード31は、下げ操作対象にする。そして、次点の組み合わせである(k.1,k.2)に対しては、変更を行わない。なお、係数γは、階層構造改変処理装置200の入力モジュール(図示せず)から、パラメータとして与えてよい。
次に、図12の処理を説明する。図13は、第2実施形態に係る階層構造改変処理のフローチャートである。
S30〜S37:制御モジュール201は、第1実施形態のS10〜S17と同様の処理を行う。なお、S37がNOの場合には、S44に処理を移す。
S38:制御モジュール201(次点下げ操作候補抽出モジュール214)は、S33で抽出された下げ操作の候補の次に下げ操作指数ddが大きい値であったノードの組み合わせである次点下げ操作の候補を抽出する。この次点下げ操作の候補が上げ操作の候補になっていた場合には、制御モジュール201は、更に次の次点下げ操作の候補を抽出する。
なお、この時点で、次点下げ操作の候補に対して深さ抑制を行ってもよい。
S39:制御モジュール201は、次点下げ操作の対象になるノードを、下げ操作対象のノードに対応付けて記憶モジュール202に退避する。
S40:制御モジュール201(操作判定モジュール212)は、S33で抽出された下げ操作の対象になるノードの下げ操作指数(dd)と、そのノードと同じ階層の次に下げ操作の対象になる次点下げ操作対象のノードの下げ操作指数(ddn)との下げ操作指数の差の絶対値が、係数γより大きいか否かを判断する。差の絶対値が係数γより大きい場合(S40:YES)には、処理をS41に移し、差の絶対値が係数γ以下の場合(S40:NO)には、処理をS42に移す。
S41:制御モジュール201(操作判定モジュール212)は、S40にて処理対象のノードを、上げ操作の対象になるノードの集合から削除する。よって、処理対象のノードは、下げ操作の対象になる。その後、処理をS44に移す。
S42:制御モジュール201(操作判定モジュール212)は、S40にて処理対象のノードを、下げ操作の対象になるノードの集合から削除する。よって、処理対象のノードは、上げ操作の対象になる。
S43:制御モジュール201(操作判定モジュール212)は、S40にて処理対象のノードに対応する同じ階層の次点下げ操作の対象になるノードを、下げ操作の対象に追加する。
S44〜S47:制御モジュール201は、第1実施形態のS19〜S22と同様の処理を行う。なお、S47では、改変後階層構造データ記憶モジュール222に記憶する。
このように、階層構造改変処理装置200は、矛盾する変更を生じるノードに対して、下げ操作指数ddが最大値のものと、その次に大きい値のものとの差の絶対値が、係数γより大きい場合には、下げ操作を優先し、そうでない場合には、上げ操作を優先してかつ次点の組み合わせに対して下げ操作を適用することができる。よって、階層構造データ30の下げ操作の必然性が比較的小さい場合に、上げ操作の機会を失わずに済む。また、上げ操作の候補と下げ操作の候補とを抽出した上で、まとめて操作処理を行うので、効率がよい。また、幅抑制機能、深さ抑制機能によって、膨大となってしまうことを回避することができる。その結果、高精度で高効率な機械的処理が容易な階層構造とすることができる。
図14は、第2実施形態に係る階層構造改変処理のフローチャートである。図13に例示のフローチャートでは、前半で幅抑制、深さ抑制を行ったが、図14に例示のフローチャートでは、後半で行うものである。先に矛盾解消を行った後に幅抑制、深さ抑制の処理を行うので、幅抑制、深さ抑制の対象は図13に例示のフローチャートよりは減ることになるが、その効果は図13に例示のフローチャートとほぼ同等である。
S130〜S135:制御モジュール201は、第1実施形態のS110〜S115と同様の処理を行う。なお、S135がNOの場合には、S142に処理を移す。
S136:制御モジュール201(次点下げ操作候補抽出モジュール214)は、S132で抽出された下げ操作の候補の次に下げ操作指数ddが大きい値であったノードの組み合わせである次点下げ操作の候補を抽出する。この次点下げ操作の候補が上げ操作の候補になっていた場合には、制御モジュール201は、更に次の次点下げ操作の候補を抽出する。
なお、この時点で、次点下げ操作の候補に対して深さ抑制を行ってもよい。
S137:制御モジュール201は、次点下げ操作の対象になるノードを、下げ操作対象のノードに対応付けて記憶モジュール202に退避する。
S138:制御モジュール201(操作判定モジュール212)は、S132で抽出された下げ操作の対象になるノードの下げ操作指数(dd)と、そのノードと同じ階層の次に下げ操作の対象になる次点下げ操作対象のノードの下げ操作指数(ddn)との下げ操作指数の差の絶対値が、係数γより大きいか否かを判断する。差の絶対値が係数γより大きい場合(S138:YES)には、処理をS139に移し、差の絶対値が係数γ以下の場合(S138:NO)には、処理をS140に移す。
S139:制御モジュール201(操作判定モジュール212)は、S138にて処理対象のノードを、上げ操作の対象になるノードの集合から削除する。よって、処理対象のノードは、下げ操作の対象になる。その後、処理をS142に移す。
S140:制御モジュール201(操作判定モジュール212)は、S138にて処理対象のノードを、下げ操作の対象になるノードの集合から削除する。よって、処理対象のノードは、上げ操作の対象になる。
S141:制御モジュール201(操作判定モジュール212)は、S138にて処理対象のノードに対応する同じ階層の次点下げ操作の対象になるノードを、下げ操作の対象に追加する。
S142〜S147:制御モジュール201は、第1実施形態のS117〜S122と同様の処理を行う。なお、S147では、改変後階層構造データ記憶モジュール222に記憶する。
(第3実施形態)
次に、本発明を適用した第3実施形態について説明する。第3実施形態は、まとめて処理を行う場合に有用な、第1及び第2実施形態とは異なる第3のアルゴリズムに関するものである。
[階層構造改変処理装置300の機能構成]
図15は、第3実施形態に係る階層構造改変処理装置300の機能構成を示す図である。階層構造改変処理装置300の制御モジュール301は、上げ操作候補抽出モジュール310、下げ操作候補抽出モジュール311、操作判定モジュール312、矛盾回避処理モジュール315、操作抑制モジュール316を備える。また、記憶モジュール302は、第1実施形態の改変後階層構造データ記憶モジュール22や第2実施形態の改変後階層構造データ記憶モジュール222とは異なる階層構造データを格納する改変後階層構造データ記憶モジュール322を備える。なお、操作抑制モジュール316は、前述の操作抑制モジュール16と同等の機能を有する。
[アルゴリズム3]
図16は、第3実施形態に係る矛盾する変更に対する回避方法を示す図である。ここで、以下は、操作判定モジュール312により判定処理が行われる。「k.3」のラベルを有するノード31は、上げ操作対象のノードであると共に、下げ操作対象のノードである。この場合に、「k.3」ラベルを有するノード31の上げ操作指数duと、ノード31と同一の階層であり下げ操作指数ddが最大値である下げ操作指数dd(k.2,k.3)とにおいて、上げ操作指数duが、下げ操作指数ddに係数δ(第3の所定値)を乗じた値より小さければ、下げ操作対象にする。他方、上げ操作指数duが、下げ操作指数ddに係数δを乗じた値以上であれば、上げ操作対象にする。なお、係数δは、階層構造改変処理装置300の入力モジュール(図示せず)から、パラメータとして与えてよい。
図16(a)は、階層構造データ30のノード31が、下げ操作の対象である場合、つまり、「k.3」のラベルを有する上げ操作指数duが、下げ操作指数dd(k.2,k.3)に係数δを乗じた値より小さい場合を示す。図16(a)には、階層構造データ30のノード31を、下げ操作を行うために、ノード35の下位のノード36に変更する過程が示されている。
図16(b)は、階層構造データ30のノード31が、上げ操作の対象である場合、つまり、「k.3」のラベルを有する上げ操作指数duが、下げ操作指数dd(k.2,k.3)に係数δを乗じた値以上である場合を示す。図16(b)には、階層構造データ30のノード31を、上げ操作を行うために、ノード33の下位のノード34に変更する過程が示されている。
次に、図16で説明した処理を説明する。図17は、第3実施形態に係る階層構造改変処理のフローチャートである。
S50:制御モジュール301(上げ操作候補抽出モジュール310)は、階層構造データ30の全てのノードに対して、上げ操作候補を抽出する。そして、抽出した上げ操作候補に関して上げ操作指数duを算出する。上げ操作候補の抽出及び上げ操作指数duの算出は、前述の図4で説明した処理により抽出できる。
S51:制御モジュール301(操作抑制モジュール316)は、幅抑制の条件を満たす上げ操作候補を適用予定の操作集合から取り除き、duを算出する。
S52:制御モジュール301は、上げ操作の対象になるノードの集合と、各ノードの上げ操作指数duとを記憶モジュール302に退避する。
S53:制御モジュール301(下げ操作候補抽出モジュール311)は、階層構造データ30の全てのノードに対して、下げ操作候補を抽出する。そして、抽出した下げ操作候補に関して下げ操作指数ddを算出する。下げ操作候補の抽出及び下げ操作指数ddの算出は、前述の図5で説明した処理により抽出できる。
S54:制御モジュール301(下げ操作候補抽出モジュール311)は、階層構造データ30の全てのノードに対して、マージ操作の候補を抽出する。
S55:制御モジュール301(操作抑制モジュール316)深さ抑制の条件を満たす下げ操作候補又はマージ操作候補を適用予定の操作集合から取り除き、ddを算出する。
S56:制御モジュール301は、下げ操作とマージ操作の対象になるノードの集合と、各ノードの下げ操作指数ddとを記憶モジュール302に退避する。
S57:制御モジュール301(操作判定モジュール312)は、上げ操作対象かつ下げ操作対象になるノードが存在するか否かを判断する。制御モジュール301は、対象のノードが存在する場合(S57:YES)は、処理をS58に移し、対象のノードが存在しない場合(S57:NO)は、処理をS61に移す。
S58:制御モジュール301(操作判定モジュール312)は、上げ操作の対象になるノードの集合の各ノードの上げ操作指数duが、各ノードに対応する下げ操作の対象になるノードの下げ操作指数ddに係数δを乗じた数より小さいか否かを各々判断する。上げ操作指数duが下げ操作指数ddに係数δを乗じた数より小さい場合(S58:YES)には、処理をS59に移し、上げ操作指数duが下げ操作指数ddに係数δを乗じた数以上である場合(S58:NO)には、処理をS60に移す。
S59:制御モジュール301(操作判定モジュール312)は、S58で処理対象にしたノードを、上げ操作の対象になるノードの集合から削除する。よって、処理対象のノードは、下げ操作の対象になる。その後、処理をS61に移す。
S60:制御モジュール301(操作判定モジュール312)は、S58で処理対象にしたノードを、下げ操作の対象になるノードの集合から削除する。よって、処理対象のノードは、上げ操作の対象になる。
S61:制御モジュール301(階層構造改変処理モジュール13)は、上げ操作の対象になるノードの集合の各ノードに対して上げ操作を行う。
S62:制御モジュール301(階層構造改変処理モジュール13)は、下げ操作の対象になるノードの集合の各ノードに対して下げ操作を行う。
S63:制御モジュール301(階層構造改変処理モジュール13)は、マージ操作の対象になるノードの集合の各ノードに対してマージ操作を行う。
S64:制御モジュール301は、操作を行った階層構造データを改変後階層構造データ記憶モジュール322に記憶する。
このように、階層構造改変処理装置300は、矛盾する変更を生じるノードに対して、上げ操作指数duと下げ操作指数ddとの割合によって上げ操作と下げ操作とのどちらを適用するかを判定するので、より適した根拠により、採用する変更を決定することができる。また、上げ操作の候補と下げ操作の候補とを抽出した上で、まとめて操作処理を行うので、効率がよい。また、幅抑制機能、深さ抑制機能によって、膨大となってしまうことを回避することができる。その結果、高精度で高効率な機械的処理が容易な階層構造とすることができる。
図18は、第3実施形態に係る階層構造改変処理のフローチャートである。図17に例示のフローチャートでは、前半で幅抑制、深さ抑制を行ったが、図18に例示のフローチャートでは、後半で行うものである。先に矛盾解消を行った後に幅抑制、深さ抑制の処理を行うので、幅抑制、深さ抑制の対象は図17に例示のフローチャートよりは減ることになるが、その効果は図17に例示のフローチャートとほぼ同等の効果である。
S150:制御モジュール301(上げ操作候補抽出モジュール310)は、階層構造データ30の全てのノードに対して、上げ操作候補を抽出する。そして、抽出した上げ操作候補に関して上げ操作指数duを算出する。上げ操作候補の抽出及び上げ操作指数duの算出は、前述の図4で説明した処理により抽出できる。
S151:制御モジュール301は、上げ操作の対象になるノードの集合と、各ノードの上げ操作指数duとを記憶モジュール302に退避する。
S152:制御モジュール301(下げ操作候補抽出モジュール311)は、階層構造データ30の全てのノードに対して、下げ操作候補を抽出する。そして、抽出した下げ操作候補に関して下げ操作指数ddを算出する。下げ操作候補の抽出及び下げ操作指数ddの算出は、前述の図5で説明した処理により抽出できる。
S153:制御モジュール301(下げ操作候補抽出モジュール311)は、階層構造データ30の全てのノードに対して、マージ操作の候補を抽出する。
S154:制御モジュール301は、下げ操作とマージ操作の対象になるノードの集合と、各ノードの下げ操作指数ddとを記憶モジュール302に退避する。
S155:制御モジュール301(操作判定モジュール312)は、上げ操作対象かつ下げ操作対象になるノードが存在するか否かを判断する。制御モジュール301は、対象のノードが存在する場合(S155:YES)は、処理をS156に移し、対象のノードが存在しない場合(S155:NO)は、処理をS159に移す。
S156:制御モジュール301(操作判定モジュール312)は、上げ操作の対象になるノードの集合の各ノードの上げ操作指数duが、各ノードに対応する下げ操作の対象になるノードの下げ操作指数ddに係数δを乗じた数より小さいか否かを各々判断する。上げ操作指数duが下げ操作指数ddに係数δを乗じた数より小さい場合(S156:YES)には、処理をS157に移し、上げ操作指数duが下げ操作指数ddに係数δを乗じた数以上である場合(S156:NO)には、処理をS158に移す。
S157:制御モジュール301(操作判定モジュール312)は、S156で処理対象にしたノードを、上げ操作の対象になるノードの集合から削除する。よって、処理対象のノードは、下げ操作の対象になる。その後、処理をS159に移す。
S158:制御モジュール301(操作判定モジュール312)は、S156で処理対象にしたノードを、下げ操作の対象になるノードの集合から削除する。よって、処理対象のノードは、上げ操作の対象になる。
S159:制御モジュール301(操作抑制モジュール316)は、幅抑制の条件を満たす上げ操作候補を適用予定の操作集合から取り除く。
S160:制御モジュール301(操作抑制モジュール316)は、深さ抑制の条件を満たす下げ操作候補又はマージ操作候補を適用予定の操作集合から取り除く。
S161:制御モジュール301(階層構造改変処理モジュール13)は、上げ操作の対象になるノードの集合の各ノードに対して上げ操作を行う。
S162:制御モジュール301(階層構造改変処理モジュール13)は、下げ操作の対象になるノードの集合の各ノードに対して下げ操作を行う。
S163:制御モジュール301(階層構造改変処理モジュール13)は、マージ操作の対象になるノードの集合の各ノードに対してマージ操作を行う。
S164:制御モジュール301は、操作を行った階層構造データを改変後階層構造データ記憶モジュール322に記憶する。
特に、矛盾回避処理に関する発明については、以下のように捉えてもよい。
(1)矛盾回避処理部は、上げ操作候補抽出部による上げ操作の候補であり、かつ下げ操作候補抽出部による下げ操作の候補である各ノードに対して、下げ操作を行うように判定する操作判定部と、前記操作判定部の判定結果に応じた操作を行い、前記上げ操作候補抽出部による前記上げ操作のみの候補である前記各ノードに対して上げ操作を行い、前記下げ操作候補抽出部による前記下げ操作のみの候補である前記各ノードに対して下げ操作を行うことで、対象になる前記各ノードの位置を変更して前記階層構造データを改変する階層構造改変処理部とを有する。
(2)同一の階層の前記各ノードの組み合わせのうち、前記下げ操作指数が前記最高値の組み合わせの次に大きい値の組み合わせである次点組み合わせに対して、前記所定の条件によって前記下げ操作の候補になる前記ノードの集合を抽出する次点下げ操作候補抽出部を備え、矛盾回避処理部は、前記上げ操作候補抽出部による前記上げ操作の候補であり、かつ前記下げ操作候補抽出部による前記下げ操作の候補である前記各ノードに対する操作を判定する操作判定部と、前記操作判定部の判定結果に応じた操作を行い、前記上げ操作候補抽出部による前記上げ操作のみの候補である前記各ノードに対して上げ操作を行い、前記下げ操作候補抽出部による前記下げ操作のみの候補である前記各ノードに対して下げ操作を行うことで、対象になる前記各ノードの位置を変更して前記階層構造データを改変する階層構造改変処理部と、を有し、前記操作判定部は、前記最高値の組み合わせと前記次点組み合わせとの前記下げ操作指数の差の絶対値が第2の所定値より大きいことに応じて、前記各ノードに対して前記下げ操作を行うように判定し、前記最高値の組み合わせと前記次点組み合わせとの前記下げ操作指数の差の絶対値が前記第2の所定値に等しいか小さいことに応じて、前記各ノードに対して、前記上げ操作を行い、かつ、前記次点下げ操作候補抽出部により抽出された前記下げ操作の候補である前記各ノードに対して前記下げ操作を行うように判定する。
(3)矛盾回避処理部は、前記上げ操作候補抽出部による前記上げ操作の候補であり、かつ前記下げ操作候補抽出部による前記下げ操作の候補である前記各ノードに対する操作を判定する操作判定部と、前記操作判定部の判定結果に応じた操作を行い、前記上げ操作候補抽出部による前記上げ操作のみの候補である前記各ノードに対して上げ操作を行い、前記下げ操作候補抽出部による前記下げ操作のみの候補である前記各ノードに対して下げ操作を行うことで、対象になる前記各ノードの位置を変更して前記階層構造データを改変する階層構造改変処理部と、を有し、前記操作判定部は、前記各ノードの前記上げ操作指数が前記下げ操作指数に第3の所定値を乗じた値よりも小さいことに応じて前記下げ操作を行うように判定し、前記上げ操作指数が前記下げ操作指数に前記第3の所定値を乗じた値に等しいか大きいことに応じて前記上げ操作を行うように判定する。
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。実施の形態におけるモジュールは、部、セクション、ユニット、回路等と読み替えてもよい。特に、回路については、一部分のモジュールだけをハードウェアとしての回路と読み替えてもよい。そして、請求項に記載の「手段」は、実施形態におけるモジュールを含み、回路等であってもよい。
前述の実施の形態では、上げ操作に対して幅抑制、下げ操作又はマージ操作に対して深さ抑制を行っているが、上げ操作に対して深さ抑制、下げ操作又はマージ操作に対して幅抑制を行うようにしてもよい。さらに、上げ操作に対して幅抑制と深さ抑制の両方、下げ操作又はマージ操作に対して幅抑制と深さ抑制の両方を行うようにしてもよい。
1,201,301 制御モジュール
2,202,302 記憶モジュール
10,310 上げ操作候補抽出モジュール
11,311 下げ操作候補抽出モジュール
12,212,312 操作判定モジュール
13 階層構造改変処理モジュール
15,215,315 矛盾回避処理モジュール
16,316 操作抑制モジュール
20 階層構造データ記憶モジュール
21 分類結果データ記憶モジュール
22,222,322 改変後階層構造データ記憶モジュール
30 階層構造データ
31〜38 ノード
100,200,300 階層構造改変処理装置
214 次点下げ操作候補抽出モジュール
dd 下げ操作指数
du 上げ操作指数

Claims (9)

  1. 階層構造を構成する複数のノードからなる階層構造データと、複数の分類器によって算出された前記複数のノードの各々に対する分類結果データとを記憶する記憶手段と、
    前記分類結果データに含まれる前記各ノードの適正位置が前記階層構造データの前記各ノードの位置である現在位置より上位の階層である割合を示す上げ操作指数が第1の所定値を超えている、前記現在位置から前記上位の階層に変更する上げ操作の候補になる前記ノードの集合を抽出する上げ操作候補抽出手段と、
    前記上げ操作候補抽出手段によって抽出された上げ操作の候補になるノードの変更先である階層にあるノード数が、予め定められた閾値より多い又は以上である場合は、該ノードを前記集合から取り除く取除手段と、
    を備える階層構造改変処理装置。
  2. 同一の階層の前記各ノードの組み合わせのうち、前記分類結果データに含まれる前記各ノードの適正位置から、ペア対象毎に、正解データと結果データとが不一致となる場合にカウントするミスに対する、正解データと結果データとが不一致で、かつ、その結果データがペア対象の場合にカウントする曖昧性の割合に基づき算出された曖昧性スコアを示す下げ操作指数が最高値の組み合わせに対して、所定の条件によって前記現在位置から下位の階層に変更する下げ操作の候補になる前記ノードの集合を抽出する下げ操作候補抽出手段
    を更に備える請求項1に記載の階層構造改変処理装置。
  3. 前記上げ操作候補抽出手段により抽出された前記上げ操作の候補になる前記ノードと、前記下げ操作候補抽出手段により抽出された前記下げ操作の候補になる前記ノードとに対する操作をまとめて処理することで、互いに矛盾する操作を回避する矛盾回避処理手段
    を更に備える請求項2に記載の階層構造改変処理装置。
  4. 階層構造を構成する複数のノードからなる階層構造データと、複数の分類器によって算出された前記複数のノードの各々に対する分類結果データとを記憶する記憶手段と、
    同一の階層の前記各ノードの組み合わせのうち、前記分類結果データに含まれる前記各ノードの適正位置から、ペア対象毎に、正解データと結果データとが不一致となる場合にカウントするミスに対する、正解データと結果データとが不一致で、かつ、その結果データがペア対象の場合にカウントする曖昧性の割合に基づき算出された曖昧性スコアを示す下げ操作指数が最高値の組み合わせに対して、所定の条件によって前記現在位置から下位の階層に変更する下げ操作の候補になる前記ノードの集合を抽出する下げ操作候補抽出手段と、
    前記下げ操作候補抽出手段によって抽出された下げ操作の候補になるノードよりも下位にある階層の数と該ノードに対して祖先の関係にあるノードよりも上位にある階層の数との和が、予め定められた閾値より多い又は以上である場合は、該ノードを前記集合から取り除く取除手段と、
    を備える階層構造改変処理装置。
  5. 前記ノードは、文書に対応付けられている、
    請求項1から請求項4までのいずれか1項に記載の階層構造改変処理装置。
  6. 階層構造を構成する複数のノードからなる階層構造データと、複数の分類器によって算出された前記複数のノードの各々に対する分類結果データとを記憶する記憶手段と、上げ操作候補抽出手段と、取除手段とを備えるコンピュータによって行われる階層構造改変方法であって、
    前記上げ操作候補抽出手段が行う、前記分類結果データに含まれる前記各ノードの適正位置が前記階層構造データの前記各ノードの位置である現在位置より上位の階層である割合を示す上げ操作指数が第1の所定値を超えている、前記現在位置から前記上位の階層に変更する上げ操作の候補になる前記ノードの集合を抽出するステップと、
    前記取除手段が行う、前記上げ操作候補抽出手段によって抽出された上げ操作の候補になるノードの変更先である階層にあるノード数が、予め定められた閾値より多い又は以上である場合は、該ノードを前記集合から取り除くステップ
    を含む階層構造改変方法。
  7. 請求項6に記載の階層構造改変方法のステップをコンピュータに実行させるためのプログラム。
  8. 階層構造を構成する複数のノードからなる階層構造データと、複数の分類器によって算出された前記複数のノードの各々に対する分類結果データとを記憶する記憶手段と、下げ操作候補抽出手段と、取除手段とを備えるコンピュータによって行われる階層構造改変方法であって、
    前記下げ操作候補抽出手段が行う、同一の階層の前記各ノードの組み合わせのうち、前記分類結果データに含まれる前記各ノードの適正位置から、ペア対象毎に、正解データと結果データとが不一致となる場合にカウントするミスに対する、正解データと結果データとが不一致で、かつ、その結果データがペア対象の場合にカウントする曖昧性の割合に基づき算出された曖昧性スコアを示す下げ操作指数が最高値の組み合わせに対して、所定の条件によって前記現在位置から下位の階層に変更する下げ操作の候補になる前記ノードの集合を抽出するステップと、
    前記取除手段が行う、前記下げ操作候補抽出手段によって抽出された下げ操作の候補になるノードよりも下位にある階層の数と該ノードに対して祖先の関係にあるノードよりも上位にある階層の数との和が、予め定められた閾値より多い又は以上である場合は、該ノードを前記集合から取り除くステップ
    を含む階層構造改変方法。
  9. 請求項8に記載の階層構造改変方法のステップをコンピュータに実行させるためのプログラム。
JP2012241436A 2012-11-01 2012-11-01 階層構造改変処理装置、階層構造改変方法及びプログラム Active JP5433764B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012241436A JP5433764B1 (ja) 2012-11-01 2012-11-01 階層構造改変処理装置、階層構造改変方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012241436A JP5433764B1 (ja) 2012-11-01 2012-11-01 階層構造改変処理装置、階層構造改変方法及びプログラム

Publications (2)

Publication Number Publication Date
JP5433764B1 true JP5433764B1 (ja) 2014-03-05
JP2014092826A JP2014092826A (ja) 2014-05-19

Family

ID=50396596

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012241436A Active JP5433764B1 (ja) 2012-11-01 2012-11-01 階層構造改変処理装置、階層構造改変方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5433764B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113642320A (zh) * 2020-04-27 2021-11-12 北京庖丁科技有限公司 文档目录结构的提取方法、装置、设备和介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113642320A (zh) * 2020-04-27 2021-11-12 北京庖丁科技有限公司 文档目录结构的提取方法、装置、设备和介质

Also Published As

Publication number Publication date
JP2014092826A (ja) 2014-05-19

Similar Documents

Publication Publication Date Title
JP5142135B2 (ja) データを分類する技術
US9972105B2 (en) Visualization of data clusters
US11797607B2 (en) Method and apparatus for constructing quality evaluation model, device and storage medium
US20160004978A1 (en) Automatic detection of anomalies in graphs
JP2017224184A (ja) 機械学習装置
CN110442725B (zh) 实体关系抽取方法及装置
TW200900958A (en) Link spam detection using smooth classification function
JP7332949B2 (ja) 評価方法、評価プログラム、および情報処理装置
US20150169430A1 (en) Selecting webpage test paths
JP7443349B2 (ja) コード分類のためのハイブリッド機械学習モデル
US20230045330A1 (en) Multi-term query subsumption for document classification
JP2017111733A (ja) 学習装置、学習方法および学習プログラム
KR102419824B1 (ko) 메뉴 구조 기반 웹 사이트의 유사도 평가 방법
JP6540384B2 (ja) 評価プログラム、手順書評価方法、および評価装置
US20220004885A1 (en) Computer system and contribution calculation method
JP5433764B1 (ja) 階層構造改変処理装置、階層構造改変方法及びプログラム
JP6432266B2 (ja) グループ化方法、グループ化装置、およびグループ化プログラム
JP5133275B2 (ja) 階層構造改変処理装置、階層構造改変方法及びプログラム
JP5433765B1 (ja) 階層構造改変処理装置、階層構造改変方法及びプログラム
JP6199497B2 (ja) データ処理システム
JP2016045552A (ja) 特徴抽出プログラム、特徴抽出方法、および特徴抽出装置
JP5310196B2 (ja) 分類体系改正支援プログラム、分類体系改正支援装置、および分類体系改正支援方法
JP7087484B2 (ja) 情報処理装置,制御プログラムおよび情報処理方法
WO2016013099A1 (ja) 素性データ管理システム、および素性データ管理方法
JP6633009B2 (ja) 表データ分析プログラム

Legal Events

Date Code Title Description
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: 20131126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131209

R150 Certificate of patent or registration of utility model

Ref document number: 5433764

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350