(57)【要約】【課題】階層構造のデータの変更をまとめて適用すると共に互いに矛盾する変更を回避する階層構造改変処理装置、階層構造改変方法及びプログラムを提供する。【解決手段】階層構造改変処理装置１００は、階層構造のノードを格納する階層構造データ３０と複数のノードの各々の分類結果データとを記憶する記憶部２と、所定の条件で現在位置から上位の階層に変更する上げ操作候補のノードの集合を抽出する上げ操作候補抽出部１０と、他の所定の条件で現在位置から下位の階層に変更する下げ操作候補のノードの集合を抽出する下げ操作候補抽出部１１と、上げ操作候補抽出部１０により抽出された上げ操作候補のノードと下げ操作候補抽出部１１により抽出された下げ操作候補のノードとに対する操作をまとめて処理することで、互いに矛盾する操作を回避する矛盾回避処理部１５とを備える。【選択図】図１
2010170192.tif 000002
【特許請求の範囲】
【請求項１】
階層構造を構成する複数のノードからなる階層構造データと、複数の分類器によって算出された前記複数のノードの各々に対する分類結果データとを記憶する記憶部と、
前記分類結果データに含む前記各ノードの適正位置が前記階層構造データの前記各ノードの位置である現在位置より上位の階層である割合を示す上げ操作指数が第１の所定値を超えている、前記現在位置から前記上位の階層に変更する上げ操作の候補になる前記ノードの集合を抽出する上げ操作候補抽出部と、
同一の階層の前記各ノードの組み合わせのうち、前記分類結果データに含む前記各ノードの適正位置から算出された曖昧性スコアを示す下げ操作指数が最高値の組み合わせに対して、所定の条件によって前記現在位置から下位の階層に変更する下げ操作の候補になる前記ノードの集合を抽出する下げ操作候補抽出部と、
前記上げ操作候補抽出部により抽出された前記上げ操作の候補になる前記ノードと、前記下げ操作候補抽出部により抽出された前記下げ操作の候補になる前記ノードとに対する操作をまとめて処理することで、互いに矛盾する操作を回避する矛盾回避処理部と、
を備える階層構造改変処理装置。
【請求項２】
前記矛盾回避処理部は、
前記上げ操作候補抽出部による前記上げ操作の候補であり、かつ前記下げ操作候補抽出部による前記下げ操作の候補である前記各ノードに対して、前記下げ操作を行うように判定する操作判定部と、
前記操作判定部の判定結果に応じた操作を行い、前記上げ操作候補抽出部による前記上げ操作のみの候補である前記各ノードに対して上げ操作を行い、前記下げ操作候補抽出部による前記下げ操作のみの候補である前記各ノードに対して下げ操作を行うことで、対象になる前記各ノードの位置を変更して前記階層構造データを改変する階層構造改変処理部と、
を有する請求項１に記載の階層構造改変処理装置。
【請求項３】
同一の階層の前記各ノードの組み合わせのうち、前記下げ操作指数が前記最高値の組み合わせの次に大きい値の組み合わせである次点組み合わせに対して、前記所定の条件によって前記下げ操作の候補になる前記ノードの集合を抽出する次点下げ操作候補抽出部を備え、
前記矛盾回避処理部は、
前記上げ操作候補抽出部による前記上げ操作の候補であり、かつ前記下げ操作候補抽出部による前記下げ操作の候補である前記各ノードに対する操作を判定する操作判定部と、
前記操作判定部の判定結果に応じた操作を行い、前記上げ操作候補抽出部による前記上げ操作のみの候補である前記各ノードに対して上げ操作を行い、前記下げ操作候補抽出部による前記下げ操作のみの候補である前記各ノードに対して下げ操作を行うことで、対象になる前記各ノードの位置を変更して前記階層構造データを改変する階層構造改変処理部と、
を有し、
前記操作判定部は、前記最高値の組み合わせと前記次点組み合わせとの前記下げ操作指数の差の絶対値が第２の所定値より大きいことに応じて、前記各ノードに対して前記下げ操作を行うように判定し、
前記最高値の組み合わせと前記次点組み合わせとの前記下げ操作指数の差の絶対値が前記第２の所定値に等しいか小さいことに応じて、前記各ノードに対して、前記上げ操作を行い、かつ、前記次点下げ操作候補抽出部により抽出された前記下げ操作の候補である前記各ノードに対して前記下げ操作を行うように判定すること、
を特徴とする請求項１に記載の階層構造改変処理装置。
【請求項４】
前記矛盾回避処理部は、
前記上げ操作候補抽出部による前記上げ操作の候補であり、かつ前記下げ操作候補抽出部による前記下げ操作の候補である前記各ノードに対する操作を判定する操作判定部と、
前記操作判定部の判定結果に応じた操作を行い、前記上げ操作候補抽出部による前記上げ操作のみの候補である前記各ノードに対して上げ操作を行い、前記下げ操作候補抽出部による前記下げ操作のみの候補である前記各ノードに対して下げ操作を行うことで、対象になる前記各ノードの位置を変更して前記階層構造データを改変する階層構造改変処理部と、
を有し、
前記操作判定部は、前記各ノードの前記上げ操作指数が前記下げ操作指数に第３の所定値を乗じた値よりも小さいことに応じて前記下げ操作を行うように判定し、前記上げ操作指数が前記下げ操作指数に前記第３の所定値を乗じた値に等しいか大きいことに応じて前記上げ操作を行うように判定すること、
を特徴とする請求項１に記載の階層構造改変処理装置。
【請求項５】
前記ノードは、文書に対応付けられている、
請求項１から請求項４までのいずれか１項に記載の階層構造改変処理装置。
【請求項６】
コンピュータによって、階層構造を構成する複数のノードに対して、前記各ノードの位置である現在位置を変更する階層構造改変方法であって、
前記各ノードに対して、
複数の分類器によって算出された前記各ノードの適正位置が前記現在位置より上位の階層である割合を示す上げ操作指数が第１の所定値を超えている、前記現在位置から前記上位の階層に変更する上げ操作の候補になる前記ノードの集合を抽出する上げ操作候補抽出ステップと、
同一の階層の前記各ノードの組み合わせのうち、前記複数の分類器によって前記各ノードの適正位置から算出された曖昧性スコアを示す下げ操作指数が最高値の組み合わせに対して、所定の条件によって前記現在位置から下位の階層に変更する下げ操作の候補になる前記ノードの集合を抽出する下げ操作候補抽出ステップと、
前記上げ操作候補抽出ステップにより抽出された前記上げ操作の候補になる前記ノードと、前記下げ操作候補抽出ステップにより抽出された前記下げ操作の候補になる前記ノードとに対する操作をまとめて処理することで、互いに矛盾する操作を回避する矛盾回避処理ステップと、
を含む階層構造改変方法。
【請求項７】
請求項６に記載の階層構造改変方法のステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、階層構造改変処理装置、階層構造改変方法及びプログラムに関する。
【背景技術】
【０００２】
従来、階層構造を微小変化させるタクソノミー（分類学）改変手法が開示されている（例えば、非特許文献１）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】タンレイ（Lei Tang）、他4名、「グループ・プロファイリングへのトピック・タクソノミー適応（Topictaxonomy adaptation for group profiling）」、（米国）、エーシーエム  データからの知識発見論文集（ACM Transactions on Knowledge Discovery from Data）、2008年1月、第1巻、第4号、p.1-28
【発明の概要】
【発明が解決しようとする課題】
【０００４】
非特許文献１に記載の従来技術は、階層構造を構成する１つのノードの位置を移動させる（微小変化を行う）毎に、影響を受ける階層構造部分の性能を測定しなおすものである。そのため、例えば、数十万のノードからなる大規模階層構造に適用する場合には、時間コストが膨大になる。また、非特許文献１に記載の従来技術は、効率化のために、微小変化であるノードの上げ操作と下げ操作とをまとめて処理しようとすると、互いに矛盾する変更が生じる場合がある。
【０００５】
本発明は、階層構造のデータの変更をまとめて適用すると共に互いに矛盾する変更を回避する階層構造改変処理装置、階層構造改変方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明者は、階層構造データの変更に際して、互いに矛盾する変更を回避する方法を見出し、本発明を完成するに至った。本発明は、具体的には次のようなものを提供する。
【０００７】
（１）  階層構造を構成する複数のノードからなる階層構造データと、複数の分類器によって算出された前記複数のノードの各々に対する分類結果データとを記憶する記憶部と、
前記分類結果データに含む前記各ノードの適正位置が前記階層構造データの前記各ノードの位置である現在位置より上位の階層である割合を示す上げ操作指数が第１の所定値を超えている、前記現在位置から前記上位の階層に変更する上げ操作の候補になる前記ノードの集合を抽出する上げ操作候補抽出部と、
同一の階層の前記各ノードの組み合わせのうち、前記分類結果データに含む前記各ノードの適正位置から算出された曖昧性スコアを示す下げ操作指数が最高値の組み合わせに対して、所定の条件によって前記現在位置から下位の階層に変更する下げ操作の候補になる前記ノードの集合を抽出する下げ操作候補抽出部と、
前記上げ操作候補抽出部により抽出された前記上げ操作の候補になる前記ノードと、前記下げ操作候補抽出部により抽出された前記下げ操作の候補になる前記ノードとに対する操作をまとめて処理することで、互いに矛盾する操作を回避する矛盾回避処理部と、
を備える階層構造改変処理装置。
【０００８】
本発明のこのような構成によれば、階層構造を構成する複数のノードからなる階層構造データを、複数の分類器によって算出された分類結果データを用いて改変するのに際して、上げ操作及び下げ操作という互いに矛盾するノードに対する変更を、そのノードに対する操作をまとめて処理することで、互いに矛盾する操作を回避することができる。よって、上げ操作の候補と下げ操作の候補とを抽出した上で、まとめて操作処理を行うことができるので、効率がよい。
【０００９】
（２）  前記矛盾回避処理部は、
前記上げ操作候補抽出部による前記上げ操作の候補であり、かつ前記下げ操作候補抽出部による前記下げ操作の候補である前記各ノードに対して、前記下げ操作を行うように判定する操作判定部と、
前記操作判定部の判定結果に応じた操作を行い、前記上げ操作候補抽出部による前記上げ操作のみの候補である前記各ノードに対して上げ操作を行い、前記下げ操作候補抽出部による前記下げ操作のみの候補である前記各ノードに対して下げ操作を行うことで、対象になる前記各ノードの位置を変更して前記階層構造データを改変する階層構造改変処理部と、
を有する（１）に記載の階層構造改変処理装置。
【００１０】
本発明のこのような構成によれば、階層構造を構成する複数のノードからなる階層構造データを、複数の分類器によって算出された分類結果データを用いて改変するのに際して、上げ操作及び下げ操作という互いに矛盾するノードに対する変更を、常に下げ操作を優先して行うようにすることで、矛盾する変更を回避することができる。よって、常に下げ操作を優先して行うので、矛盾解決に要する計算コストを抑えて、階層構造データを、比較的よい性能の構造に変化させていくことができる。
【００１１】
（３）  同一の階層の前記各ノードの組み合わせのうち、前記下げ操作指数が前記最高値の組み合わせの次に大きい値の組み合わせである次点組み合わせに対して、前記所定の条件によって前記下げ操作の候補になる前記ノードの集合を抽出する次点下げ操作候補抽出部を備え、
前記矛盾回避処理部は、
前記上げ操作候補抽出部による前記上げ操作の候補であり、かつ前記下げ操作候補抽出部による前記下げ操作の候補である前記各ノードに対する操作を判定する操作判定部と、
前記操作判定部の判定結果に応じた操作を行い、前記上げ操作候補抽出部による前記上げ操作のみの候補である前記各ノードに対して上げ操作を行い、前記下げ操作候補抽出部による前記下げ操作のみの候補である前記各ノードに対して下げ操作を行うことで、対象になる前記各ノードの位置を変更して前記階層構造データを改変する階層構造改変処理部と、
を有し、
前記操作判定部は、前記最高値の組み合わせと前記次点組み合わせとの前記下げ操作指数の差の絶対値が第２の所定値より大きいことに応じて、前記各ノードに対して前記下げ操作を行うように判定し、
前記最高値の組み合わせと前記次点組み合わせとの前記下げ操作指数の差の絶対値が前記第２の所定値に等しいか小さいことに応じて、前記各ノードに対して、前記上げ操作を行い、かつ、前記次点下げ操作候補抽出部により抽出された前記下げ操作の候補である前記各ノードに対して前記下げ操作を行うように判定すること、
を特徴とする（１）に記載の階層構造改変処理装置。
【００１２】
本発明のこのような構成によれば、階層構造を構成する複数のノードからなる階層構造データを、複数の分類器によって算出された分類結果データを用いて改変するのに際して、上げ操作及び下げ操作という互いに矛盾するノードに対する変更を、曖昧性のスコアを示す下げ操作指数を用いることで矛盾する変更を回避する。具体的には、下げ操作指数が最高値である組み合わせのペアと、下げ操作指数が最高値である組み合わせの次に大きい値である次点組み合わせのペアとの下げ操作指数との差の絶対値によって、下げ操作指数が最高値である組み合わせのペアの各ノードを上げ操作の対象にするか、下げ操作の対象にするかを決定し、上げ操作の対象にする場合には、次点組み合わせのペアを下げ操作の対象にする。下げ操作指数（曖昧性のスコア）とは、同一の階層の組み合わせのうち、分類結果データが互いに異なるものを集計して算出される値をいい、階層構造の誤りの１つを表す。よって、下げ操作指数が最高値である組み合わせと、下げ操作指数が最高値の組み合わせの次に大きい値である次点組み合わせとの下げ操作指数との差の絶対値が小さい場合、つまり、下げ操作の必然性が比較的小さい場合に、上げ操作の機会を失わずに上げ操作を行うことができる。結果として、階層構造データを、比較的よい性能の構造に変化させていくことができる。
【００１３】
（４）  前記矛盾回避処理部は、
前記上げ操作候補抽出部による前記上げ操作の候補であり、かつ前記下げ操作候補抽出部による前記下げ操作の候補である前記各ノードに対する操作を判定する操作判定部と、
前記操作判定部の判定結果に応じた操作を行い、前記上げ操作候補抽出部による前記上げ操作のみの候補である前記各ノードに対して上げ操作を行い、前記下げ操作候補抽出部による前記下げ操作のみの候補である前記各ノードに対して下げ操作を行うことで、対象になる前記各ノードの位置を変更して前記階層構造データを改変する階層構造改変処理部と、
を有し、
前記操作判定部は、前記各ノードの前記上げ操作指数が前記下げ操作指数に第３の所定値を乗じた値よりも小さいことに応じて前記下げ操作を行うように判定し、前記上げ操作指数が前記下げ操作指数に前記第３の所定値を乗じた値に等しいか大きいことに応じて前記上げ操作を行うように判定すること、
を特徴とする（１）に記載の階層構造改変処理装置。
【００１４】
本発明のこのような構成によれば、階層構造を構成する複数のノードからなる階層構造データを、複数の分類器によって算出された分類結果データを用いて改変するのに際して、上げ操作及び下げ操作という互いに矛盾するノードに対する変更を、上げ操作指数と、下げ操作指数との２つの指数の比率に基づいて上げ操作を行うか下げ操作を行うかを決定するので、比率を用いることで、より適切な変更を行うことができる。なお、上げ操作指数とは、分類結果データに含む各ノードの適正位置が階層構造データの各ノードの位置である現在位置より上位の階層である割合をいい、下げ操作指数とは、同一の階層の各ノードの組み合わせのうち、分類結果データに含む各ノードの適正位置から算出された曖昧性スコアをいう。また、比率は、上げ操作指数が、下げ操作指数に第３の所定値を乗じた値より小さいか否かを表す。
【００１５】
（５）  前記ノードは、文書に対応付けられている、
（１）から（４）までのいずれか１項に記載の階層構造改変処理装置。
【００１６】
本発明のこのような構成によれば、ノードが文書に対して対応付けられているので、文書を階層構造に分類でき、改変後の階層構造データを、例えば、情報検索時の検索の性能を向上させることができたり、オントロジーの構築に用いたりすることができる。
【００１７】
（６）  コンピュータによって、階層構造を構成する複数のノードに対して、前記各ノードの位置である現在位置を変更する階層構造改変方法であって、
前記各ノードに対して、
複数の分類器によって算出された前記各ノードの適正位置が前記現在位置より上位の階層である割合を示す上げ操作指数が第１の所定値を超えている、前記現在位置から前記上位の階層に変更する上げ操作の候補になる前記ノードの集合を抽出する上げ操作候補抽出ステップと、
同一の階層の前記各ノードの組み合わせのうち、前記複数の分類器によって前記各ノードの適正位置から算出された曖昧性スコアを示す下げ操作指数が最高値の組み合わせに対して、所定の条件によって前記現在位置から下位の階層に変更する下げ操作の候補になる前記ノードの集合を抽出する下げ操作候補抽出ステップと、
前記上げ操作候補抽出ステップにより抽出された前記上げ操作の候補になる前記ノードと、前記下げ操作候補抽出ステップにより抽出された前記下げ操作の候補になる前記ノードとに対する操作をまとめて処理することで、互いに矛盾する操作を回避する矛盾回避処理ステップと、
を含む階層構造改変方法。
【００１８】
（７）  （６）に記載の階層構造改変方法のステップをコンピュータに実行させるためのプログラム。
【発明の効果】
【００１９】
本発明によれば、階層構造を構成する複数のノードからなる階層構造データを、複数の分類器によって算出された分類結果データを用いて改変するのに際して、上げ操作及び下げ操作という互いに矛盾するノードに対する変更を回避することで、階層構造データを、比較的よい性能の構造に効率的に変化させていくことができる。
【図面の簡単な説明】
【００２０】
【図１】第１実施形態に係る階層構造改変処理装置の機能構成を示す図である。
【図２】第１実施形態に係る階層構造改変処理装置のハードウェア構成を示す図である。
【図３】第１実施形態に係る階層構造データの例を示す図である。
【図４】第１実施形態に係るノード上げ操作を説明する図である。
【図５】第１実施形態に係るノード下げ操作を説明する図である。
【図６】第１実施形態に係る矛盾する変更に対する回避方法を示す図である。
【図７】第１実施形態に係る階層構造改変処理のフローチャートである。
【図８】第２実施形態に係る階層構造改変処理装置の機能構成を示す図である。
【図９】第２実施形態に係る矛盾する変更に対する回避方法を示す図である。
【図１０】第２実施形態に係る階層構造改変処理のフローチャートである。
【図１１】第３実施形態に係る階層構造改変処理装置の機能構成を示す図である。
【図１２】第３実施形態に係る矛盾する変更に対する回避方法を示す図である。
【図１３】第３実施形態に係る階層構造改変処理のフローチャートである。
【発明を実施するための形態】
【００２１】
以下、本発明を実施するための形態について図を参照しながら説明する。なお、これはあくまでも一例であって、本発明の技術的範囲はこれに限られるものではない。
【００２２】
（第１実施形態）
［階層構造改変処理装置１００の機能構成］
図１は、第１実施形態に係る階層構造改変処理装置１００の機能構成を示す図である。階層構造改変処理装置１００は、階層構造を構成する複数のノードを記憶した階層構造データに対して、タクソノミー改変を行う装置である。階層構造データを構成する複数のノードは、例えば、文書に対応している。文書を階層構造に分類することで、例えば、情報検索時の検索の性能を向上させることができたり、オントロジーの構築に用いることができる。タクソノミー改変とは、分類法を用いた階層構造データの変更をいい、具体的には、階層構造を構成するノードの位置を、その位置から上位又は下位に変更することをいう。
【００２３】
階層構造改変処理装置１００は、制御部１と記憶部２とを備える。制御部１は、上げ操作候補抽出部１０と、下げ操作候補抽出部１１と、操作判定部１２と、階層構造改変処理部１３と、矛盾回避処理部１５とを備える。操作判定部１２と、階層構造改変処理部１３とは、矛盾回避処理部１５の処理の一部である。記憶部２は、階層構造データを記憶する階層構造データ記憶部２０、分類結果データ記憶部２１、改変後階層構造データ記憶部２２を備える。各機能の詳細は、後述する。
【００２４】
階層構造改変処理装置１００は、ハードウェアの数に制限はなく、必要に応じて一又は複数のハードウェアで構成してよい。また、複数のハードウェアで構成する場合には、例えば、通信回線（図示せず）を介して各ハードウェアを接続してもよい。上述した各機能毎に別サーバとし、各サーバ間での信号の送受信により、各サーバを連携させることで、本実施形態の機能を実現してもよい。
【００２５】
［階層構造改変処理装置１００のハードウェア構成図］
図２は、第１実施形態に係る階層構造改変処理装置１００のハードウェア構成を示す図である。本発明が実施される処理装置は標準的なものでよく、以下に、構成の一例を示す。
【００２６】
階層構造改変処理装置１００は、制御部１を構成するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１０（マルチプロセッサ構成ではＣＰＵ１０１２等複数のＣＰＵが追加されてもよい）、バスライン１００５、通信Ｉ／Ｆ（Ｉ／Ｆ：インタフェース）１０４０、メインメモリ１０５０、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）１０６０、表示装置１０２２、Ｉ／Ｏコントローラ１０７０、キーボード及びマウス等の入力装置１１００、ハードディスク１０７４、光ディスクドライブ１０７６、並びに半導体メモリ１０７８を備える。なお、ハードディスク１０７４、光ディスクドライブ１０７６、及び半導体メモリ１０７８はまとめて記憶部２と呼ぶ。
【００２７】
制御部１は、階層構造改変処理装置１００を統括的に制御する部分であり、ハードディスク１０７４に記憶された各種プログラムを適宜読み出して実行することにより、上述したハードウェアと協働し、本発明に係る各種機能を実現している。
【００２８】
通信Ｉ／Ｆ１０４０は、階層構造改変処理装置１００が、通信回線を介して他の装置と情報を送受信する場合のネットワーク・アダプタである。通信Ｉ／Ｆ１０４０は、モデム、ケーブル・モデム及びイーサネット（登録商標）・アダプタを含んでよい。
【００２９】
ＢＩＯＳ１０６０は、階層構造改変処理装置１００の起動時にＣＰＵ１０１０が実行するブートプログラムや、階層構造改変処理装置１００のハードウェアに依存するプログラム等を記録する。
【００３０】
表示装置１０２２は、ブラウン管表示装置（ＣＲＴ）、液晶表示装置（ＬＣＤ）等のディスプレイ装置を含む。
【００３１】
Ｉ／Ｏコントローラ１０７０には、ハードディスク１０７４、光ディスクドライブ１０７６、及び半導体メモリ１０７８等の記憶装置である記憶部２を接続することができる。
【００３２】
入力装置１１００は、階層構造改変処理装置１００の管理者による入力の受け付けを行うものである。
【００３３】
ハードディスク１０７４は、本ハードウェアを階層構造改変処理装置１００として機能させるための各種プログラム、本発明の機能を実行するプログラム及び上述した階層構造データ等を記憶する。なお、階層構造改変処理装置１００は、外部に別途設けたハードディスク（図示せず）を外部記憶装置として利用することもできる。
【００３４】
光ディスクドライブ１０７６としては、例えば、ＤＶＤ−ＲＯＭドライブ、ＣＤ−ＲＯＭドライブ、ＤＶＤ−ＲＡＭドライブ、ＣＤ−ＲＡＭドライブを使用することができる。この場合は各ドライブに対応した光ディスク１０７７を使用する。光ディスク１０７７から光ディスクドライブ１０７６によりプログラム又はデータを読み取り、Ｉ／Ｏコントローラ１０７０を介してメインメモリ１０５０又はハードディスク１０７４に提供することもできる。
【００３５】
なお、本発明でいうコンピュータとは、記憶装置、制御部等を備えた情報処理装置をいい、階層構造改変処理装置１００は、記憶部２、制御部１等を備えた情報処理装置により構成され、この情報処理装置は、本発明のコンピュータの概念に含まれる。
【００３６】
［階層構造データ３０］
図３は、第１実施形態に係る階層構造データ３０の例を示す図である。階層構造データ３０は、階層構造データ記憶部２０（図１参照）に格納されている。階層構造データ３０は、図３において円で表された複数のノードが、線で表されるエッジによって結び付けられ、階層構造を形成している。階層構造データ３０は、１つのノードの下位に複数のノードがつながっている構造である。図３の例は、ノード３１の上位のノードがノード３２であり、ノード３２の更に上位のノードがノード３３であることを示し、ノード３３は、下位のノード３２以外の複数のノードに対してつながっている。階層構造は、木構造を含む。また、１つの下位のノードが２つ以上の上位のノードにつながっていてもよい。図３の例に表された１つのノードは、例えば、１つの文書に対応している。なお、階層構造データ３０は、文書に対応している必要はないが、文書を分類するための文書分類器を実際に構成するためには、ノードに対応付けられた文書事例が必要であり、これをコーパスという。コーパスには、機械学習分類器を訓練するための訓練コーパスと、分類性能を測定するためのテストコーパス（正解データ）とがあるが、いずれも、１つのノードに対して複数の文書が対応してよい。また、１つのノードは、文書の他、属性を表すクラスに対応付けられていてもよい。なお、以降の図において、ノード内に表される記号、例えば、ノード３１の「ｋ．３」をラベルという。
【００３７】
［基本操作］
図４は、第１実施形態に係るノード上げ操作を説明する図である。図５は、第１実施形態に係るノード下げ操作を説明する図である。ここでは、いずれも「ｋ．３」のラベルを有するノード３１に焦点をあてて説明する。
【００３８】
図４（ａ）は、階層分類器（複数の分類器）で分類を行った結果である分類結果データに、評価を反映した上げ操作検証テーブル４０である。上げ操作検証テーブル４０は、分類結果データから集計して生成することができる。分類結果データは、分類結果データ記憶部２１に記憶されている。生成した上げ操作検証テーブル４０を、分類結果データ記憶部２１に記憶してもよい。階層分類器とは、機械学習分類器であり、事前に与えられたデータを例題として、例題のデータをガイドに学習を行い、その結果を反映したものである。階層分類器毎に事前に与えられた例題が異なるため、各階層分類器は、階層分類器毎に異なる分類結果データを出力することになる。
【００３９】
分類結果データは、正解データ４１と、その結果データ４２とからなる。正解データ４１は、階層構造データ３０においての正解のデータである。結果データ４２は、階層分類器毎に導き出された結果のデータである。正解データ４１に対する結果データ４２の差異は、上述での説明の通り、階層分類器の学習過程により生じる。Ｈミス４３には、正解データ４１のノードの親と結果データ４２のノードの親とが異なる場合に「１」を格納する。また、Ｌミス４４には、正解データ４１のノードの親と結果データ４２のノードの親とは一致するが、ラベルが異なる場合に「１」を格納する。ＨＩＴ４５は、正解データ４１と、その結果データ４２とが同一の場合に「１」を格納する。Ｈミス４３、Ｌミス４４、ＨＩＴ４５は、各々その件数が合計されて、順番に、ｈｍ４６、ｌｍ４７、Ｎｈ４８に合計数が格納される。
【００４０】
次に、図４（ｂ）に示す式により、上げ操作指数ｄｕを算出する。上げ操作指数ｄｕは、分類結果データにおけるＨミス４３の割合と、Ｌミス４４の割合との差の大きさにより求められる。上げ操作指数ｄｕが、予め定められた係数α（第１の所定値）を超えていれば、対象のノード３１の位置を上位の階層に変更する候補とする。しかし、上げ操作指数ｄｕが、予め定められた係数α以下の場合には、何もしない（変更しない）。
【００４１】
図４（ｃ）は、ノード３１の上げ操作指数ｄｕが係数αを超えている場合に、ノード３１を上位の階層に変更する階層構造データ３０の状態を表す。「ｋ．３」のラベルを有するノード３１を、上位の階層であるノード３２と同一の階層にするため、ノード３２の上位の階層であるノード３３の階層の子ノードに移動することで、「ｋ．３」のラベルを有するノードをノード３１からノード３４に変更する。
【００４２】
図５（ａ）は、階層分類器で分類を行った結果である分類結果データに、図４（ａ）とは異なる評価を反映した下げ操作検証テーブル５０である。下げ操作検証テーブル５０は、分類結果データから集計して生成することができる。生成した下げ操作検証テーブル５０を分類結果データ記憶部２１に記憶してもよい。分類結果データである正解データ５１及び結果データ５２は、上げ操作検証テーブル４０の正解データ４１及び結果データ４２と同一である。下げ操作検証テーブル５０は、あるノードの下位に位置する同一の階層のノードのペアの組み合わせについて検証したテーブルである。ここでは、「ｊ．３」のラベルを有するノード３２の下位のノードのうち、「ｋ．３」のラベルを有するノード３１と、「ｋ．２」のラベルを有するノード３５との組み合わせについて検討する。なお、ノード３２の下位の同一の階層の組み合わせは、（ｋ．１，ｋ．２），（ｋ．１，ｋ．３），…，（ｋ．１，ｋ．ｍ），（ｋ．２，ｋ．３），…（ｋ．２，ｋ．ｍ），…、であり、Ｃ（ｍ，２）通り存在する。
【００４３】
下げ操作検証テーブル５０に記憶されるのは、正解データ５１と、結果データ５２とが各々の組み合わせの対象であるものである。図５（ａ）の例では、下げ操作検証テーブル５０には、「ｋ．２」のラベルと「ｋ．３」のラベルとを有するノードについて記憶している。曖昧性５３は、例えば、下げ操作検証子テーブル５０Ａの場合には、正解データ５１と結果データ５２との内容が不一致で、間違えた先が「ｋ．２」の場合に「１」を格納する。図５（ａ）では、下げ操作検証テーブル５０のうち、下げ操作検証子テーブル５０Ａは、正解データ５１が「ｋ．３」であって、結果データ５２が「ｋ．２」のラベルを有するデータであり、「ｋ．３」から「ｋ．２」への曖昧性を意味する。また、下げ操作検証子テーブル５０Ｂは、「ｋ．２」から「ｋ．３」への曖昧性を意味する。ミス５４は、正解データ５１と結果データ５２との内容（ノードのラベル）が不一致の場合に「１」を格納する。ＨＩＴ５５は、正解データ５１と結果データ５２との内容が一致する場合に「１」を格納する。ミス５４とＨＩＴ５５とは、常に逆の関係が成り立つ。曖昧性５３、ミス５４、ＨＩＴ５５は、各々その件数が合計されて、順番に、Ｎａ５６、Ｎｍ５７、Ｎｈ５８に合計数が格納される。
【００４４】
次に、図５（ｂ）に示す式により、下げ操作指数ｄｄを算出する。下げ操作指数ｄｄは、分類結果データにおける組み合わせの各々のノードの、ミス５４に対する曖昧性５３の割合を合算してその大きさにより算出される曖昧性スコアである。下げ操作指数ｄｄは、組み合わせのノードがノードＡ，Ｂの場合に、「ｄｄ（Ａ，Ｂ）」と記述する。同一の階層の各組み合わせにおいて下げ操作指数ｄｄを算出し、下げ操作指数ｄｄが最大値のペアに対して、係数βとの関係（所定の条件）で、図５（ｂ）に示すように組み合わせのノードの一方を他方のノードの下位ノードにしたり、組み合わせのノードの両方を、新たに組み合わせのノードの位置に新設したノードの下位ノードにしたりして、階層構造データ３０を変更する候補とする。
【００４５】
図５（ｃ）は、下げ操作指数ｄｄ（ノード３１，ノード３５）がノード３１と同一の階層の組み合わせの中で最大値であり、ノード３１のミスに対する曖昧性の割合の、ノード３５のミスに対する曖昧性の割合の差が、係数βより大きい場合に、ノード３１をノード３５の下位の階層に変更する階層構造データ３０の状態を表す。「ｋ．３」のラベルを有するノード３１を、ノード３５の下位に「ｋ．３」のラベルを有するノード３６として移動する。
【００４６】
階層構造データ３０を分類結果データを用いて改変する場合に、図４でのノードの上げ操作の対象であるノードが、図５でのノードの下げ操作の対象になる場合がある。よって、ノードの上げ操作と下げ操作とをまとめて変更しようとすると、両方に該当するノードにおいて互いに矛盾する変更が生じてしまう。
【００４７】
［アルゴリズム１］
そこで、次に、矛盾する変更をなくしてまとめて処理を行う場合に有用なアルゴリズムについて説明する。図６は、第１実施形態に係る矛盾する変更に対する回避方法を示す図である。ここで、以下は、操作判定部１２により判定処理が行われる。「ｋ．３」のラベルを有するノード３１は、上げ操作対象のノードであると共に、下げ操作対象のノードである。この場合、一律に下げ操作を優先するものである。
【００４８】
図６（１）は、階層構造データ３０のノード３１が、上げ操作の態様かつ下げ操作の態様である場合に、ノード３１を下げ操作を行うために、ノード３５の下位のノード３６に変更する過程を示す。図６（２）は、下げ操作を行った後の階層構造データ３０を示す。図６（２）に示す階層構造データ３０は、ノード３２からエッジでつながっている下位ノードに、「ｋ．３」のラベルを有するノードがない。「ｋ．３」のラベルを有するノード３５は、ノード３２の下位ノードであるノード３５からエッジでつながって位置している。変更された階層構造データ３０は、改変後階層構造データ記憶部２２に記憶する。なお、記憶部２に改変後階層構造データ記憶部２２を有さず、階層構造データ記憶部２０に、変更された階層構造データ３０を上書きしてもよい。
【００４９】
次に、図６の処理を説明する。図７は、第１実施形態に係る階層構造改変処理のフローチャートである。
【００５０】
Ｓ１０：制御部１（上げ操作候補抽出部１０）は、階層構造データ３０の全てのノードに対して、上げ操作の候補を抽出する。上げ操作の候補は、上述の図４で説明した処理により抽出できる。階層構造データ３０の各ノードに対する処理順序は、どのような順序でもよく、例えば、上からでも、下からでも、深さ優先でも、ランダムでもよい。
【００５１】
Ｓ１１：制御部１は、上げ操作の対象になるノードの集合を記憶部２に退避する。
【００５２】
Ｓ１２：制御部１（下げ操作候補抽出部１１）は、階層構造データ３０の全てのノードに対して、下げ操作の候補を抽出する。下げ操作の候補は、上述の図５で説明した処理により抽出できる。階層構造データ３０の各ノードに対する処理順序は、どのような順序でもよい。
【００５３】
Ｓ１３：制御部１は、下げ操作の対象になるノードの集合を記憶部２に退避する。
【００５４】
Ｓ１４：制御部１（操作判定部１２）は、上げ操作対象かつ下げ操作対象になるノードが存在するか否かを判断する。制御部１は、対象のノードが存在する場合（Ｓ１４：ＹＥＳ）は、処理をＳ１５に移し、対象のノードが存在しない場合（Ｓ１４：ＮＯ）は、処理をＳ１６に移す。
【００５５】
Ｓ１５：制御部１（操作判定部１２）は、上げ操作の対象になるノードの集合から、上げ操作の対象かつ下げ操作の対象になるノードを削除する。本処理により、上げ操作の対象になり、下げ操作の対象になるノードは、下げ操作の対象にのみ含まれる。
【００５６】
Ｓ１６：制御部１（階層構造改変処理部１３）は、上げ操作の対象になるノードの集合の各ノードに対して上げ操作を行う。
【００５７】
Ｓ１７：制御部１（階層構造改変処理部１３）は、下げ操作の対象になるノードの集合の各ノードに対して下げ操作を行う。
【００５８】
Ｓ１８：制御部１は、操作を行った階層構造データを、改変後階層構造データ記憶部２２に記憶する。
【００５９】
このように、階層構造改変処理装置１００は、階層構造データ３０に対する矛盾する変更を生じるノードに対して、一律下げ操作を優先する。よって、階層構造データ３０のタクソノミー改変を、矛盾解決に要する計算コストを抑えつつ、矛盾する変更を回避するものにすることができる。また、上げ操作の候補と下げ操作の候補とを抽出した上で、まとめて操作処理を行うので、効率がよい。
【００６０】
なお、本処理において、上げ操作の対象になりかつ下げ操作の対象になるノードに関する判定処理を行ってから、全てのノードに対する上げ操作の対象のノードと、下げ操作の対象のノードとの処理を行うものであった。しかし、上げ操作の対象になりかつ下げ操作の対象になるノード以外のノードに関して、判定処理と並行して操作処理を行ってもよい。そのようにすることで、処理に要する時間を更に短縮できる。
【００６１】
（第２実施形態）
次に、本発明を適用した第２実施形態について説明する。第２実施形態は、まとめて処理を行う場合に有用な、第１実施形態とは異なる第２のアルゴリズムに関するものである。なお、以下の説明及び図面において、上述した実施形態と同様の機能を果たす部分には、同一の符号又は末尾に同一の符号を付して、重複する説明を適宜省略する。
【００６２】
［階層構造改変処理装置２００の機能構成］
図８は、第２実施形態に係る階層構造改変処理装置２００の機能構成を示す図である。階層構造改変処理装置２００の制御部２０１は、次点下げ操作候補抽出部２１４を備える。また、矛盾回避処理部２１５の操作判定部２１２は、次点下げ操作候補抽出部２１４により抽出されたノードに対する判定をする。記憶部２０２は、第１実施形態の改変後階層構造データ記憶部２２とは異なる階層構造データを格納する改変後階層構造データ記憶部２２２を備える。
【００６３】
［アルゴリズム２］
図９は、第２実施形態に係る矛盾する変更に対する回避方法を示す図である。ここで、以下は、操作判定部２１２により判定処理が行われる。「ｋ．３」のラベルを有するノード３１は、上げ操作対象のノードであると共に、下げ操作対象のノードである。次点下げ操作候補抽出部２１４により抽出された組み合わせ（ｋ．１，ｋ．２）と、下げ操作指数ｄｄが最大である組み合わせ（ｋ．２，ｋ．３）との関係において、下げ操作指数ｄｄ（ｋ．２，ｋ．３）と下げ操作指数ｄｄｎ（ｋ．１，ｋ．２）との差の絶対値は、係数γ（第２の所定値）以下である。ここで、次点の組み合わせに対する下げ操作指数を、ｄｄｎで表す。この場合に、「ｋ．３」のラベルを有するノード３１は、上げ操作対象にする。また、次点の組み合わせである（ｋ．１，ｋ．２）に対して、下げ操作の対象にする。
【００６４】
図９（１）は、階層構造データ３０のノード３１を、上げ操作を行うために、ノード３３の下位のノード３４に変更する過程を示す。また、下げ操作対象の組み合わせ（ｋ．１，ｋ．２）のうち、下げ操作の対象である「ｋ．１」のラベルを有するノード３７が、ノード３５の下位のノード３８に変更する過程を示す。なお、（ｋ．１，ｋ．２）の組み合わせに対する変更処理は、上述の図５（ｂ）に示した式により行われる。図９（２）は、「ｋ．３」のラベルを有するノード３１に対する上げ操作と、「ｋ．１」のラベルを有するノード３７に対する下げ操作とを行った後の階層構造データ３０を示す。変更された階層構造データ３０は、改変後階層構造データ記憶部２２２に記憶する。
【００６５】
なお、次点下げ操作候補抽出部２１４により抽出された組み合わせ（ｋ．１，ｋ．２）と、下げ操作指数ｄｄが最大である組み合わせ（ｋ．２，ｋ．３）との関係において、下げ操作指数ｄｄ（ｋ．２，ｋ．３）と下げ操作指数ｄｄ（ｋ．１，ｋ．２）との差の絶対値が係数γより大きい場合には、「ｋ．３」のラベルを有するノード３１は、下げ操作対象にする。そして、次点の組み合わせである（ｋ．１，ｋ．２）に対しては、変更を行わない。なお、係数γは、階層構造改変処理装置２００の入力部（図示せず）から、パラメータとして与えてよい。
【００６６】
次に、図９の処理を説明する。図１０は、第２実施形態に係る階層構造改変処理のフローチャートである。
【００６７】
Ｓ２０〜Ｓ２４：制御部２０１は、第１実施形態のＳ１０〜Ｓ１４と同様の処理を行う。なお、Ｓ２４がＮＯの場合には、Ｓ３１に処理を移す。
【００６８】
Ｓ２５：制御部２０１（次点下げ操作候補抽出部２１４）は、Ｓ２２で抽出された下げ操作の候補の次に下げ操作指数ｄｄが大きい値であったノードの組み合わせである次点下げ操作の候補を抽出する。この次点下げ操作の候補が上げ操作の候補になっていた場合には、制御部２０１は、更に次の次点下げ操作の候補を抽出する。
【００６９】
Ｓ２６：制御部２０１は、次点下げ操作の対象になるノードを、下げ操作対象のノードに対応付けて記憶部２に退避する。
【００７０】
Ｓ２７：制御部２０１（操作判定部２１２）は、Ｓ２２で抽出された下げ操作の対象になるノードの下げ操作指数（ｄｄ）と、そのノードに同じ階層の次に下げ操作の対象になる次点下げ操作対象のノードの下げ操作指数（ｄｄｎ）との下げ操作指数の差の絶対値が、係数γより大きいか否かを判断する。差の絶対値が係数γより大きい場合（Ｓ２７：ＹＥＳ）には、処理をＳ２８に移し、差の絶対値が係数γ以下の場合（Ｓ２７：ＮＯ）には、処理をＳ２９に移す。
【００７１】
Ｓ２８：制御部２０１（操作判定部２１２）は、Ｓ２７にて処理対象のノードを、上げ操作の対象になるノードの集合から削除する。よって、処理対象のノードは、下げ操作の対象になる。その後、処理をＳ３１に移す。
【００７２】
Ｓ２９：制御部２０１（操作判定部２１２）は、Ｓ２７にて処理対象のノードを、下げ操作の対象になるノードの集合から削除する。よって、処理対象のノードは、上げ操作の対象になる。
【００７３】
Ｓ３０：制御部２０１（操作判定部２１２）は、Ｓ２７にて処理対象のノードに対応する同じ階層の次点下げ操作の対象になるノードを、下げ操作の対象に追加する。
【００７４】
Ｓ３１〜Ｓ３３：制御部２０１は、第１実施形態のＳ１６〜Ｓ１８と同様の処理を行う。なお、Ｓ３３では、改変後階層構造データ記憶部２２２に記憶する。
【００７５】
このように、階層構造改変処理装置２００は、矛盾する変更を生じるノードに対して、下げ操作指数ｄｄが最大値のものと、その次に大きい値のものとの差の絶対値が、係数γより大きい場合には、下げ操作を優先し、そうでない場合には、上げ操作を優先してかつ次点の組み合わせに対して下げ操作を適用することができる。よって、階層構造データ３０の下げ操作の必然性が比較的小さい場合に、上げ操作の機会を失わずに済む。また、上げ操作の候補と下げ操作の候補とを抽出した上で、まとめて操作処理を行うので、効率がよい。
【００７６】
（第３実施形態）
次に、本発明を適用した第３実施形態について説明する。第３実施形態は、まとめて処理を行う場合に有用な、第１及び第２実施形態とは異なる第３のアルゴリズムに関するものである。
【００７７】
［階層構造改変処理装置３００の機能構成］
図１１は、第３実施形態に係る階層構造改変処理装置３００の機能構成を示す図である。階層構造改変処理装置３００の制御部３０１は、上げ操作候補抽出部３１０、下げ操作候補抽出部３１１、操作判定部３１２、矛盾回避処理部３１５を備える。また、記憶部３０２は、第１実施形態の改変後階層構造データ記憶部２２や第２実施形態の改変後階層構造データ記憶部２２２とは異なる階層構造データを格納する改変後階層構造データ記憶部３２２を備える。
【００７８】
［アルゴリズム３］
図１２は、第３実施形態に係る矛盾する変更に対する回避方法を示す図である。ここで、以下は、操作判定部３１２により判定処理が行われる。「ｋ．３」のラベルを有するノード３１は、上げ操作対象のノードであると共に、下げ操作対象のノードである。この場合に、「ｋ．３」ラベルを有するノード３１の上げ操作指数ｄｕと、ノード３１と同一の階層であり下げ操作指数ｄｄが最大値である下げ操作指数ｄｄ（ｋ．２，ｋ．３）とにおいて、上げ操作指数ｄｕが、下げ操作指数ｄｄに係数δ（第３の所定値）を乗じた値より小さければ、下げ操作対象にする。他方、上げ操作指数ｄｕが、下げ操作指数ｄｄに係数δを乗じた値以上であれば、上げ操作対象にする。なお、係数δは、階層構造改変処理装置３００の入力部（図示せず）から、パラメータとして与えてよい。
【００７９】
図１２（ａ）は、階層構造データ３０のノード３１が、下げ操作の対象である場合、つまり、「ｋ．３」のラベルを有する上げ操作指数ｄｕが、下げ操作指数ｄｄ（ｋ．２，ｋ．３）に係数δを乗じた値より小さい場合を示す。図１２（ａ）には、階層構造データ３０のノード３１を、下げ操作を行うために、ノード３５の下位のノード３６に変更する過程が示されている。
【００８０】
図１２（ｂ）は、階層構造データ３０のノード３１が、上げ操作の対象である場合、つまり、「ｋ．３」のラベルを有する上げ操作指数ｄｕが、下げ操作指数ｄｄ（ｋ．２，ｋ．３）に係数δを乗じた値以上である場合を示す。図１２（ｂ）には、階層構造データ３０のノード３１を、上げ操作を行うために、ノード３３の下位のノード３４に変更する過程が示されている。
【００８１】
次に、図１２で説明した処理を説明する。図１３は、第３実施形態に係る階層構造改変処理のフローチャートである。
【００８２】
Ｓ４０：制御部３０１（上げ操作候補抽出部３１０）は、階層構造データ３０の全てのノードに対して、上げ操作候補を抽出する。そして、抽出した上げ操作候補に関して上げ操作指数ｄｕを算出する。上げ操作候補の抽出及び上げ操作指数ｄｕの算出は、上述の図４で説明した処理により抽出できる。
【００８３】
Ｓ４１：制御部３０１は、上げ操作の対象になるノードの集合と、各ノードの上げ操作指数ｄｕとを記憶部３０２に退避する。
【００８４】
Ｓ４２：制御部３０１（下げ操作候補抽出部３１１）は、階層構造データ３０の全てのノードに対して、下げ操作候補を抽出する。そして、抽出した下げ操作候補に関して下げ操作指数ｄｄを算出する。下げ操作候補の抽出及び下げ操作指数ｄｄの算出は、上述の図５で説明した処理により抽出できる。
【００８５】
Ｓ４３：制御部３０１は、下げ操作の対象になるノードの集合と、各ノードの下げ操作指数ｄｄとを記憶部３０２に退避する。
【００８６】
Ｓ４４：制御部３０１（操作判定部３１２）は、上げ操作対象かつ下げ操作対象になるノードが存在するか否かを判断する。制御部３０１は、対象のノードが存在する場合（Ｓ４４：ＹＥＳ）は、処理をＳ４５に移し、対象のノードが存在しない場合（Ｓ４４：ＮＯ）は、処理をＳ４８に移す。
【００８７】
Ｓ４５：制御部３０１（操作判定部３１２）は、上げ操作の対象になるノードの集合の各ノードの上げ操作指数ｄｕが、各ノードに対応する下げ操作の対象になるノードの下げ操作指数ｄｄに係数δを乗じた数より小さいか否かを各々判断する。上げ操作指数ｄｕが下げ操作指数ｄｄに係数δを乗じた数より小さい場合（Ｓ４５：ＹＥＳ）には、処理をＳ４６に移し、上げ操作指数ｄｕが下げ操作指数ｄｄに係数δを乗じた数以上である場合（Ｓ４５：ＮＯ）には、処理をＳ４７に移す。
【００８８】
Ｓ４６：制御部３０１（操作判定部３１２）は、Ｓ４５で処理対象にしたノードを、上げ操作の対象になるノードの集合から削除する。よって、処理対象のノードは、下げ操作の対象になる。その後、処理をＳ４８に移す。
【００８９】
Ｓ４７：制御部３０１（操作判定部３１２）は、Ｓ４５で処理対象にしたノードを、下げ操作の対象になるノードの集合から削除する。よって、処理対象のノードは、上げ操作の対象になる。
【００９０】
Ｓ４８：制御部３０１（階層構造改変処理部１３）は、上げ操作の対象になるノードの集合の各ノードに対して上げ操作を行う。
【００９１】
Ｓ４９：制御部３０１（階層構造改変処理部１３）は、下げ操作の対象になるノードの集合の各ノードに対して下げ操作を行う。
【００９２】
Ｓ５０：制御部３０１は、操作を行った階層構造データを改変後階層構造データ記憶部３２２に記憶する。
【００９３】
このように、階層構造改変処理装置３００は、矛盾する変更を生じるノードに対して、上げ操作指数ｄｕと下げ操作指数ｄｄとの割合によって上げ操作と下げ操作とのどちらを適用するかを判定するので、より適した根拠により、採用する変更を決定することができる。また、上げ操作の候補と下げ操作の候補とを抽出した上で、まとめて操作処理を行うので、効率がよい。
【００９４】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【符号の説明】
【００９５】
１，２０１，３０１  制御部
２，２０２，３０２  記憶部
１０，３１０  上げ操作候補抽出部
１１，３１１  下げ操作候補抽出部
１２，２１２，３１２  操作判定部
１３    階層構造改変処理部
１５，２１５，３１５  矛盾回避処理部
２０    階層構造データ記憶部
２１    分類結果データ記憶部
２２，２２２，３２２  改変後階層構造データ記憶部
３０    階層構造データ
３１〜３８  ノード
１００，２００，３００  階層構造改変処理装置
２１４  次点下げ操作候補抽出部
ｄｄ    下げ操作指数
ｄｕ    上げ操作指数
【図１】
2010170192.tif 000003
【図２】
2010170192.tif 000004
【図３】
2010170192.tif 000005
【図４】
2010170192.tif 000006
【図５】
2010170192.tif 000007
【図６】
2010170192.tif 000008
【図７】
2010170192.tif 000009
【図８】
2010170192.tif 000010
【図９】
2010170192.tif 000011
【図１０】
2010170192.tif 000012
【図１１】
2010170192.tif 000013
【図１２】
2010170192.tif 000014
【図１３】
2010170192.tif 000015