(57)【特許請求の範囲】
【請求項１】
コンピュータにより実行される平坦データの階層情報を取得するための方法であって、
前記平坦データの中の同じデータ・セットからの少なくとも１つのデータ項目を、構造化された用語システムによって形成されたツリー構造の中の少なくとも１つのノードにマッピングすることと、
前記ツリー構造の中の少なくとも１つの下位ツリー構造を取得することであって、前記少なくとも１つの下位ツリー構造の各々は前記少なくとも１つのノードを自身の葉ノードの全てとする、取得することと、
前記少なくとも１つの下位ツリー構造からターゲット・ツリー構造を選択することと、
前記ターゲット・ツリー構造の中の階層情報を取得することと、
を含むコンピュータにより実行される方法であって、
前記ツリー構造の中の少なくとも１つの下位ツリー構造を取得することは、さらに、
葉ノードとしての前記少なくとも１つのノードの各々から開始して、前記ツリー構造の根ノードまで上向きにトラバースし、それにより、前記葉ノードから前記根ノードまでの少なくとも１つの経路を形成することと、
前記少なくとも１つの経路を統合して、前記葉ノードから前記根ノードまでの第１の下位ツリー構造を取得することと、
前記第１の下位ツリー構造の少なくとも１つの下位ツリー構造を取得することと、
を含み、
前記ツリー構造の中の少なくとも１つの下位ツリー構造を取得することは、さらに、
第１のクラスのノードを前記ツリー構造の中の根ノード候補とすることであって、前記第１のクラスのノードは、到達可能な葉ノードの数が全ての葉ノードの数に等しく、前記第１のクラスのノードの子ノードの到達可能な葉ノードの数がいずれも全ての葉ノードの数より小さいことを特徴とする、根ノード候補とすることと、
根ノードが前記第１のクラスのノードである下位ツリー構造を取得することと、
を含み、
前記ターゲット・ツリー構造を選択することは、さらに、前記少なくとも１つの下位ツリー構造の各々について、前記根ノードから特定の葉ノードまでの経路の長さを求めることと、経路の長さが相対的に短い下位ツリー構造を前記ターゲット・ツリー構造として選択することとを含む
コンピュータにより実行される方法。
【請求項２】
少なくとも１つのデータ項目を少なくとも１つのノードに前記マッピングすることは、
前記少なくとも１つのデータ項目を、前記構造化された用語システムの少なくとも１つの用語にマッピングすることと、前記少なくとも１つの用語を、前記ツリー構造の中の少なくとも１つのノードにマッピングすることと、
を含む、請求項１に記載のコンピュータにより実行される方法。
【請求項３】
ターゲット・ツリー構造を選択することは、前記少なくとも１つの下位ツリー構造の各々に含まれるノードの数を求めることと、ノードの数が最も少ない下位ツリー構造を前記ターゲット・ツリー構造として選択することとを含む、請求項１または請求項２のいずれか１項に記載のコンピュータにより実行される方法。
【請求項４】
全ての葉ノードが同一レベルになるように上位レベルにある葉ノードについてダミーの子ノードを設定することによって、前記ターゲット・ツリー構造のバランスを取ることをさらに含む、請求項１または請求項２のいずれか１項に記載のコンピュータにより実行される方法。
【請求項５】
前記ターゲット・ツリー構造の中の階層情報を取得することは、前記ターゲット・ツリー構造のノード間の階層関係を抽出することと、それらを編成して階層テーブルの形にすることとを含む、請求項１または請求項２のいずれか１項に記載のコンピュータにより実行される方法。
【請求項６】
前記平坦データは電子医療記録を含む臨床データであり、前記構造化された用語システムはＳＮＯＭＥＤ用語システムを含む、請求項１または請求項２のいずれか１項に記載のコンピュータにより実行される方法。
【請求項７】
平坦データの階層情報を取得するための装置であって、
前記平坦データの中の同じデータ・セットからの少なくとも１つのデータ項目を、構造化された用語システムによって形成されたツリー構造の中の少なくとも１つのノードにマッピングするように構成された、ノード・マッピング・ユニットと、
前記ツリー構造の中の少なくとも１つの下位ツリー構造を取得するように構成された下位構造取得ユニットであって、前記少なくとも１つの下位ツリー構造の各々は前記少なくとも１つのノードを自身の葉ノードの全てとする、下位構造取得ユニットと、
前記少なくとも１つの下位ツリー構造からターゲット・ツリー構造を選択するように構成された、ターゲット構造選択ユニットと、
前記ターゲット・ツリー構造の中の階層情報を取得するように構成された、階層情報取得ユニットと、
を含む装置であって、
前記下位構造取得ユニットは、
葉ノードとしての前記少なくとも１つのノードの各々から開始して、前記ツリー構造の根ノードまで上向きにトラバースし、それにより、前記葉ノードから前記根ノードまでの少なくとも１つの経路を形成し、
前記少なくとも１つの経路を統合して、前記葉ノードから前記根ノードまでの第１の下位ツリー構造を取得し、
前記第１の下位ツリー構造の少なくとも１つの下位ツリー構造を取得するように構成され、
前記下位構造取得ユニットは、
第１のクラスのノードであって、前記第１のクラスのノードは、到達可能な葉ノードの数が全ての葉ノードの数に等しく、前記第１のクラスのノードの子ノードの到達可能な葉ノードの数がいずれも全ての葉ノードの数より小さいものであることを特徴とする、第１のクラスのノードを、前記ツリー構造の中の根ノード候補とし、
根ノードが前記第１のクラスのノードである下位ツリー構造を取得するように構成され、
前記ターゲット構造選択ユニットは、前記少なくとも１つの下位ツリー構造の各々について、前記根ノードから特定の葉ノードまでの経路の長さを求め、経路の長さが相対的に短い下位ツリー構造を前記ターゲット・ツリー構造として選択するように構成された
装置。
【請求項８】
前記ノード・マッピング・ユニットは、
前記少なくとも１つのデータ項目を、前記構造化された用語システムの少なくとも１つの用語にマッピングし、前記少なくとも１つの用語を、前記ツリー構造の中の少なくとも１つのノードにマッピングするように構成された、請求項７に記載の装置。
【請求項９】
前記ターゲット構造選択ユニットは、前記少なくとも１つの下位ツリー構造の各々に含まれるノードの数を求め、ノードの数が最も少ない下位ツリー構造を前記ターゲット・ツリー構造として選択するように構成された、請求項７または請求項８のいずれか１項に記載の装置。
【請求項１０】
全ての葉ノードが同一レベルになるように上位レベルにある葉ノードについてダミーの子ノードを設定することによって前記ターゲット・ツリー構造のバランスをとるように構成されたバランス・ユニットをさらに含む、請求項７または請求項８のいずれか１項に記載の装置。
【請求項１１】
前記階層情報取得ユニットは、前記ターゲット・ツリー構造のノード間の階層関係を抽出し、それらを編成して階層テーブルの形にするように構成された、請求項７または請求項８のいずれか１項に記載の装置。
【請求項１２】
前記平坦データは電子医療記録を含む臨床データであり、前記構造化された用語システムはＳＮＯＭＥＤ用語システムを含む、請求項７または請求項８のいずれか１項に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビジネス・インテリジェンスの分野に関し、より具体的には、平坦データの階層情報を取得するための方法及び装置に関する。
【背景技術】
【０００２】
近年、ビジネス・インテリジェンス（ＢＩ）技術は、企業に、データ分析の実施、データ・マイニングの実装、データ・リポートの作成、データ法則の解明などといった総合的なビジネス・データ関連サービスを提供してきた。ビジネス・インテリジェンス技術は、データを分析しリポートを導き出すことによって、企業がより効率的なビジネス意思決定を行うのに役立つことがある。ビジネス・インテリジェンス技術においては、データの次元化及び階層化が、その後の立方体モデルを用いたデータ分析のためのベースとなる。
【０００３】
図１は、多次元及び多階層データの立方体モデルの一例を示す。この例では、製品販売に関連するデータが、３つの軸、即ち時間（ｘ軸）、場所（ｙ軸）及び製品（ｚ軸）に沿った３つの次元に編成され、販売量と時間、場所及び製品との間の機能関係が示されるようになっている。さらに、販売量のデータは、各次元に沿って複数の階層に構造化されており、そのため、階層に従ってデータ分析及び管理を実施することができる。例えば、場所の次元においては、販売量のデータは、各大陸における販売量に構造化されており、大陸ごとに各国における販売量にさらに分割され、次いで各国ごとに必要に応じて州、都市などに分割されることもある。同様に、時間の次元について、販売量のデータは、必要に応じて年間、四半期、月間、日次などに構造化することができ、製品の次元について、販売量のデータは、製品の分類、シリーズ、モデルなどに従ってさらに分割することができる。これらの次元化及び階層化されたデータに基づき、立方体モデルを用いることによってデータのＯＬＡＰ（オンライン分析プロセス）分析及び操作を実施することができ、それにより、ユーザの需要に基づいた各次元及び階層からの統合された情報が提示される。
【０００４】
上記の例を見れば、データの次元化及び階層化は、ビジネス・インテリジェンスにおけるデータ・モデリング及び分析について著しい利便性を提供することが分かる。典型的な階層化された企業データに加えて、ビジネス・インテリジェンスにおける分析及び操作の方法を他のデータに適用することがさらに望まれる。しかしながら、臨床分野などの多くの分野においては、データは、未だに「平坦な(planar)」様式で編成され、格納されている。図２は、既存の臨床データの一例を示す。図２の例において、臨床データの典型的な例としての電子医療記録は、患者の主な症状、診断結果、治療などといった様々な種類のデータを含んでいる。これらのデータは全て、インテリジェント分析における立方体モデリング及びＯＬＡＰ操作の基本そのものであるデータ間の関連性及びデータの階層情報を示すことなく、臨床用語を用いることによって粒度の細かい平坦な形で列挙されていることが分かる。他のビジネス・データにも、多くの同様の平坦データが存在する。階層情報がないため、既存のインテリジェントなモデリング及び操作方法を用いてこうしたデータを更に分析及び管理することは困難であり、このことにより、データのシステム化及びインテリジェント化の限界がもたらされる。したがって、後の平坦データの分析及び管理を容易にするために、既存の平坦データの処理を行ってその階層情報を取得することが望ましい。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の問題に照らして、本発明は、平坦データの階層情報を取得するために提案される。
【課題を解決するための手段】
【０００６】
本発明の第１の態様により、平坦データの階層情報を取得するための方法が提供され、本方法は、平坦データの中の同じデータ・セットからの少なくとも１つのデータ項目を、構造化された用語システムによって形成されたツリー構造の中の少なくとも１つのノードにマッピングすることと、上記のツリー構造の中の少なくとも１つの下位ツリー構造を取得することであって、少なくとも１つの下位ツリー構造の各々は少なくとも１つのノードを自身の葉ノードの全てとする、取得することと、少なくとも１つの下位ツリー構造からターゲット・ツリー構造を選択することと、ターゲット・ツリー構造の中の階層情報を取得することとを含む。
【０００７】
本発明の第２の態様により、平坦データの階層情報を取得するための装置が提供され、本装置は、平坦データの中の同じデータ・セットからの少なくとも１つのデータ項目を、構造化された用語システムによって形成されたツリー構造の中の少なくとも１つのノードにマッピングするように構成された、ノード・マッピング・ユニットと、上記のツリー構造の中の少なくとも１つの下位ツリー構造を取得するように構成された下位構造取得ユニットであって、少なくとも１つの下位ツリー構造の各々は少なくとも１つのノードを自身の葉ノードの全てとする、下位構造取得ユニットと、少なくとも１つの下位ツリー構造からターゲット・ツリー構造を選択するように構成された、ターゲット構造選択ユニットと、ターゲット・ツリー構造の中の階層情報を取得するように構成された、階層情報取得ユニットとを含む。
【０００８】
本発明の方法及び装置を用いることによって、平坦に編成されたデータからデータ項目間の階層情報を取得することができ、それにより、平坦データに関する後の分析及び管理の実施が容易になる。
【図面の簡単な説明】
【０００９】
【図１】多次元及び多階層データの立方体モデルの一例を示す。
【図２】既存の臨床データの一例を示す。
【図３】本発明の実施形態による方法のフローチャートを示す。
【図４】本発明の実施形態によるツリー構造の図を示す。
【図５】本発明の実施形態による下位ツリー構造を示す。
【図６】本発明の実施形態による下位ツリー構造を示す。
【図７】本発明の実施形態による下位ツリー構造を示す。
【図８】図７のツリー構造に対応する階層テーブルを示す。
【図９】本発明の一実施形態による装置のブロック図を示す。
【発明を実施するための形態】
【００１０】
本発明の実施形態が、詳細な例と併せて説明される。例示の目的で説明される例は、本発明の実質的な範囲を限定するものと考えられるべきではないことが理解されるべきである。
【００１１】
上述のように、本発明は、平坦データの階層情報を取得するための方法及び装置を提供する。しかし、このようなデータ自体は、データが属する分野の用語という形で記録されている、平坦な様式で編成された複数のデータ項目のみを含んでおり、各々のデータ項目間の関係を与えることはできない。したがって、平坦データの階層情報を取得するには、外部の構造化された用語システムの助けを借りる必要がある。このような構造化された用語システムは、データが属する分野における規範的な用語を記録しており、様々な用語間の分類及び従属関係を示すために、これらの用語を階層的な形で編成している。
【００１２】
以下では、臨床分野における臨床データ及び構造化された用語システムを例として、本発明の実施形態が説明される。
【００１３】
臨床用語システムの選択に関して、Ｓｙｓｔｅｍａｔｉｚｅｄ  Ｔｅｒｍｉｎｏｌｏｇｙ  ｓｙｓｔｅｍ  ｏｆ  Ｍｅｄｉｃｉｎｅ（ＳＮＯＭＥＤ）が、現時点で広く用いられている用語システムの一タイプであり、疾患、所見、処置、微生物、医薬品といった臨床情報の殆どの範囲を網羅する、系統的に編成されたコンピュータ処理可能な医療用語の集積を提供するものである。このシステムにより、専門分野及び診療ケア全体にわたって臨床データを索引付けし、格納し、検索し、集約するための一貫した手法が可能になる。このシステムはまた、医療記録の内容を編成し、患者の臨床ケア及び研究のためにデータを取り込み、コード化し、使用する方法の違いを減らすのに役立つ。
【００１４】
具体的には、ＳＮＯＭＥＤは３６５，０００個以上の臨床用語を網羅し、各々の用語は、固有の数値コード、固有の名称（即ち、完全に特定された名称）及び「説明」によって特定される。上記の複数の用語は、臨床処置に関連する用語の階層、薬剤に関連する用語の階層、臨床的障害に関連する用語の階層などを含む１９個の上位レベル階層構造に編成され、各々の上位レベル階層は、幾つかの分類された子階層を有しており、例えば、薬剤関連の用語を薬剤名、投薬形態などに基づいて分類することによって更なる分類された階層としたり、臨床的障害関連の用語を身体部位、病因などに基づいて分類することによって更なる分類された階層としたりしている。１つの階層内又は複数の階層にまたがる異なる用語は、約１，４６０，０００個の「関係」を用いることにより結びつけられる。このようにして、ＳＮＯＭＥＤは、記述論理をベースとする構造化された用語システムを形成する。この用語システムにおいては、用語間の「従属」関係のみを考える場合には、各々の用語をノードとするツリー構造をもつ用語関係グラフを得ることができ、グラフのノード間の接続線は、そのノードの間の従属関係を表す。あくまで一般論として、全ての用語の根ノードとして用いられる最も一般的な概念が存在することを常に想定することができる。通常、この根ノードは、「もの」として設定される。したがって、全てのノードは、根ノード「もの」に、その子ノードとして接続される。上述のように、異なる視点から用語間の分類が行われる場合があるため、各々のノードは、複数の子ノード及び複数の親ノードを持つことがある。
【００１５】
ＳＮＯＭＥＤの上記の特徴に基づいて、臨床用語間の階層関係を示すための構造化された用語システムとしてＳＮＯＭＥＤを取り上げることは好ましい選択である。しかし、当然のことながら、臨床用語システムの選択はＳＮＯＭＥＤのみに限定されるものではなく、ＭｅｄＤＲＡ用語システムのような、既に開発済みの又は将来開発されるいずれかの規格化及び構造化された用語システムを使用することができる。このような用語システムは全て、用語を表すノードの間の関連性を表現するために、異なる視点及び異なる態様からツリー構造を形成することができる。
【００１６】
生物学的種のデータ、化学分野におけるデータなどといった他の分野におけるデータについても、対応する構造化された用語システムが存在する。上述のように、こうした構造化された用語システムは、その分野における標準的な用語をツリー構造の形に編成することができる。
【００１７】
詳細な説明の目的のために、本発明の実施形態は以下で、代表的な臨床データ及びＳＮＯＭＥＤ用語システムと関連させて説明される。
【００１８】
図３は、本発明の実施形態による方法のフローチャートを示す。図３に示されるように、本発明の一実施形態による平坦データの階層情報を取得するための方法は、平坦データの中の同一のデータ・セットからの少なくとも１つのデータ項目を、構造化された用語システムによって形成されたツリー構造の中の少なくとも１つのノードにマッピングするステップ３１と、ツリー構造の中の少なくとも１つの下位ツリー構造を取得するステップであって、少なくとも１つの下位ツリー構造の各々は少なくとも１つのノードを自身の葉ノードの全てとする、ステップ３２と、少なくとも１つの下位ツリー構造からターゲット・ツリー構造を選択するステップ３３と、ターゲット・ツリー構造の階層情報を取得するステップ３４とを含む。
【００１９】
具体的には、ステップ３１において、平坦データの中のデータ項目が、構造化された用語システムによって形成されたツリー構造に配置される。これを行うためには、最初に、平坦データからデータ・セットを抽出することによりデータ・セットの中の複数のデータ項目を取得して、分析されるデータ項目が同一のデータ・セットからのものであり、同一の次元の情報を反映するようにする。例えば、例として電子医療記録を取り上げている図２に示される臨床データにおいては、縦の列の各々を、１つの次元からの医療記録情報を反映するデータ・セットとして見なすことができる。具体的には、縦第２列のデータ・セットの中の各データ項目は、症例の主な症状を記述するのに用いられ、縦第７列のデータ・セットの中の各データ項目は、症例の診断結果を記述するのに用いられ、縦第８列のデータ・セットの中の各データ項目は、症例の治療を記述するのに用いられる。従って、同じ縦の列（即ち、同一のデータ・セット）からのデータ項目は、後のステップによって分析されるオブジェクトとして扱われる必要がある。
【００２０】
次に、取得された複数のデータ項目について、データ項目の各々を構造化された用語システムの中の用語にマッピングする。１つの実施形態においては、平坦データは臨床データであり、構造化された用語システムは上述のＳＮＯＭＥＤ用語システムである。現時点では、多数の臨床データが、すでにＳＮＯＭＥＤ用語システムの標準的な用語を導入して臨床情報を記録しており、そのうちの幾つかはさらに、ＳＮＯＭＥＤ用語システムにおける用語のコードを直接導入してデータを記録及び格納している。この場合において、臨床データの中のデータ項目をＳＮＯＭＥＤ用語システムの中の用語にマッピングすることは、単に用語又はコードの検索及び照合を行うことによって実現することができる。臨床データが規範的な用語を用いて記録されていない場合には、データ項目と用語との間の文字列照合及びファジー照合をさらに行うことがある。幾つかの実施形態においては、補助として、用語システムの中の用語の説明又は記述を参照することもできる。他の内容の平坦データについては、同様に、平坦データが構造化された用語システムの中の用語又はコードを用いて記録されている場合には、データ項目の用語へのマッピングは、用語又はコードに関して検索及び照合を行うことによって、直接実現することができ、平坦データが規範的な用語を用いて記録されていない場合には、ファジー照合をさらに行うことができる。さらに、用語の照合のために利用可能な多くの方法が当該分野には既に存在しており、当業者であればこれに基づいた適切な方法を選択して、データ項目と用語との照合及びマッピングを行うことができる。このように、取得された各々のデータ項目を、構造化された用語システムの中の用語にマッピングすることができる。
【００２１】
さらに、上述のように、構造化された用語システムは、レベルに従って用語を編成し、それにより用語のツリー構造を形成するため、それぞれのデータ項目に対応する用語がツリー構造の中のノードとして扱われる。このようにして、データ項目は、ツリー構造の中に配置される。
【００２２】
図４は、本発明の一実施形態によるツリー構造の図を示す。このツリー構造は、ＳＮＯＭＥＤ用語システムによって形成されるツリー構造の一部を例示的に示しており、各々のノードは１つの用語に対応し、ノード間の親−子関係は矢印を伴う接続線によって示され、「もの」がツリー構造全体の根ノードである。上記のステップ３１のマッピングを通じて、データ項目は、ツリー構造の特定のノードに配置される。図４では、データ項目からマッピングされたノードは、ノードＡ、Ｂ、Ｃ、Ｄ、Ｅ、及びＦとして示される。
【００２３】
次に、実施形態の方法はステップ３２に進み、上記のツリー構造において、データ項目からマッピングされたノードを自身の葉ノードの全てとする少なくとも１つの下位ツリー構造が見つけ出される。さらに図４を参照すると、ステップ３２のプロセスは、ツリー構造の全体において、各々がノードＡ−Ｆを自身の葉ノードの全てとする少なくとも１つの下位ツリー構造を見つけ出すことである。
【００２４】
下位ツリー構造の候補を決定するには、ツリー構造におけるノード間の接続関係を利用する必要がある。
【００２５】
１つの実施形態において、ツリー構造を形成する（ＳＮＯＭＥＤのような）構造化された用語システムは、ｌｉｎｋｅｄ  ｏｐｅｎ  ｄａｔａ（ＬＯＤ）の形で公開される。この形では、ツリー構造のノード間の関係は全て、ＲＤＦトリプルの形式で記述され、格納される。当業者には知られているように、ＲＤＦトリプルは、種々の意味及び関係を、＜主語、述語、目的語＞の形で表現する。ノードＡとＢの従属関係（又は、親−子関係と呼ばれる）は、ＲＤＦトリプルでは、＜ノードＡ、ｓｕｂＣｌａｓｓＯｆ、ノードＢ＞と表すことができる。セマンティック・ベースの言語として、ＬＯＤデータにおいては、ｏｗｌ：もの、という概念が存在し、ＬＯＤデータの中の個々の項目はそのメンバーであり、すなわち子ノードと呼ばれる。従って、ＬＯＤにおいて、ノード「ｃｈｉｌｄＮｏｄｅ」の親ノードを照会することを望む場合には、親ノードの値を得るために、以下のＳＰＡＲＱＬクエリ、Ｓｅｌｅｃｔ  ？ｐａｒｅｎｔＮｏｄｅ  ｗｈｅｒｅ｛？ｐａｒｅｎｔＮｏｄｅ  ｒｄｆｓ：ｓｕｂＣｌａｓｓＯｆ  ＜ｃｈｉｌｄＮｏｄｅ＞｝を用いることができる。所与の親ノードの子ノードもまた、同様にして照会することができる。この場合には、ノード間の親−子関係は、コア述語のｓｕｂＣｌａｓｓＯｆを通じて簡単に得られる。他の実施形態においては、構造化された用語システムは、他の特定の形式で格納される。従って、ツリー構造のノード間の親−子関係は、他の特定の形式における従属関係についての記述を捕捉することにより得ることができる。
【００２６】
ノード間の親−子関係が取得可能であることを前提として、ツリー構造において上向き又は下向きのトラバースを実施することができ、したがって、そのようなトラバースを通じて下位ツリー構造を決定することができる。
【００２７】
１つの実施形態においては、ツリー構造の根ノード「もの」から下向きのトラバースを実施して、葉ノードＡ−Ｆに到達することができる経路及び対応するノードを決定し、そのような経路及びノードを組み合わせて下位ツリー構造とする。
【００２８】
１つの実施形態においては、葉ノードＡ−Ｆから根ノード「もの」までの上向きのトラバースが実施される。このプロセス中に、葉ノードの各々について、葉ノードの少なくとも１つの親ノードが、例えば上記のＳＰＡＲＱＬを通じて「ｓｕｂＣｌａｓｓＯｆ」関係を有するノードを取得することにより特定され、次いで、各々の親ノードから開始して根ノード「もの」に到達するまで、より上位のレベルを有する祖先ノードが順に取得され、それにより、葉ノードから根ノードまでの単一の経路が形成される。その後、取得された複数の経路について、それらの取得された経路を統合するために、異なる経路間の共通するノードが見つけ出され、それにより、葉ノードから根ノード「もの」に至る下位ツリー構造が取得される。
【００２９】
図５は、本発明の一実施形態による、図４におけるツリー構造から取得された下位ツリー構造を示す。図５に示されるように、取得された下位ツリー構造は、図４のツリー構造の一部であり、下位ツリー構造の葉ノードの全てはデータ項目からマッピングされたノードＡ−Ｆそのものであり、根ノードは依然として「もの」である。しかし、この下位ツリー構造を根ノード「もの」から葉ノードＡ−Ｆまで観察すれば、下位ツリー構造は、ノードＡ−Ｆを葉ノードとする下位ツリー構造のみではなく、ノード１１を根ノードとする下位ツリー構造のような更なる下位ツリー構造を含むことが分かる。即ち、葉ノードＡ−Ｆと最終的な根ノード「もの」との間のトラバースを実施することによって、複数の下位ツリー構造が決定されることがあり、これらの下位ツリー構造は全て、特定の視点又は態様からみたノードＡ−Ｆの間の潜在的な階層関係を反映し得るものである。従って、ステップ３３に示されるように、必要に応じて、取得された複数の下位ツリー構造のうちの１つをターゲット・ツリー構造として決定することができ、ノードの階層情報は、そのターゲット・ツリー構造によって反映される場合がある。
【００３０】
１つの実施形態においては、最終的に取得される階層情報をより妥当なものにするために、取得された複数の下位ツリー構造がさらにフィルタリングされることが必要であり、そこから、階層情報を反映するように相対的に「コンパクトな」ツリー構造が選択されることになるが、これは、相対的に「コンパクトな」構造を有する階層ツリーにおいては、ノード同士がツリーの特定の分類及びトピックをより良好に反映するより強い関連性を有するからである。
【００３１】
上記の選択プロセスは、図５に示される下位ツリー構造の例と関連させて以下に説明される。
【００３２】
１つの実施形態においては、複数の下位ツリー構造から分析及び選択するのに２つのステップが用いられる。最初に、図５に示される葉ノードから最終的な根ノード「もの」までの下位ツリー構造（ここでは第１の下位ツリー構造と呼ばれる）について、根ノードの候補が予備的に選択される。具体的には、第１の下位ツリー構造において、最終的な根ノード「もの」から開始して、下向きにトラバースすることにより、現時点のノードから到達可能な葉ノードの数が決定される。現時点のノードから到達可能な葉ノードの数が、全ての葉ノードの数（図４−図５の例においては全ての葉ノードの数は６である）に等しい場合には、現時点のノードの子ノードから到達可能な葉ノードの数が、到達可能な葉ノードの数が全ての葉ノードの数より小さくなるまで、さらに決定される。次いで、第１のクラスのノードが、到達可能な葉ノードの数が全ての葉ノードの数に等しく、その子ノードの到達可能な葉ノードの数がいずれも全ての葉ノードの数より小さいことを特徴とするものであり、第２のクラスのノードが、そのノード及びその少なくとも１つの子ノードの到達可能な葉ノードの数がいずれも全ての葉ノードの数に等しいことを特徴とするものであるとすると、第１のクラスのノードは根ノードの候補とされ、第２のクラスのノードは取り除かれる。その理由は、ノードｍがノードｎの親ノードであり、全ての葉ノードがこれらの２つのノードから到達可能である、即ちノードｍが第２のクラスのノードであると想定すると、ノードｎを根ノードとする下位ツリー構造Ｎは、ノードｍを根ノードとする下位ツリー構造Ｍの一部でなければならないからである。このように、ツリー構造Ｍと比較すると、ツリー構造Ｎは、必然的により少ないレベル及びノードを含むことになり、従って、よりコンパクトなものとなる。従って、第２のクラスのノードは、適切な根ノードとして考慮されずに取り除かれるべきである。
【００３３】
図５では、ノードの一部の到達可能な葉ノードの数が実線の四角で示されており、根ノード「もの」並びにその２つの子ノード１１及び１２の到達可能な葉ノードの数は６であり、さらに、ノード１２の１つの子ノード２３の到達可能な葉ノードの数もまた、６である。従って、根ノード「もの」及びノード１２は、第２のクラスのノードであるため取り除かれるべきであり、ノード１１及びノード２３は、根ノードの候補とされるべきである。このようにして、図６に示されるように、それぞれノード１１及びノード２３を根ノードとする２つの下位ツリー構造の候補が、図５に示される最初の下位ツリー構造から予備的に選択される。
【００３４】
次に、予備的に選択された下位ツリー構造に関して更なる判断が行われる。具体的には、下位ツリー構造の各々に含まれるノードの数を決定し、ノードの数が最も少ない下位ツリー構造をターゲット構造として選択することができる。図６に示される２つの下位ツリー構造においては、構造（１）は１８個のノードを含み、構造（２）は１２個のノードを含むため、構造（２）は構造（１）よりもコンパクトであり、（２）におけるノード間の関連性は（１）よりも大きい。従って、構造体（２）は、葉ノード間の階層情報を反映するためのターゲット構造として選択されるべきである。
【００３５】
上記のステップを通じて、よりコンパクトな下位ツリー構造がターゲット・ツリー構造として選択されるが、下位ツリー構造の分析及び選択のために他の手法を用いることもできることが認識されている。例えば、１つの実施形態においては、各々の潜在的な下位ツリー構造について、そこに含まれるノードの数が直接決定され、ノードの数が最も少ない下位ツリー構造がターゲット・ツリー構造として選択される。別の実施形態においては、最初に特定の葉ノードが選択され、次いで、各々の潜在的な下位ツリー構造について、根ノードからその特定の葉ノードまでの経路の長さ、即ちレベルの数が決定され、レベルの数がより少ない下位ツリー構造がターゲット・ツリー構造として選択される。この手法を用いて、下位ツリー構造を予備的にフィルタリングするか、ターゲット・ツリー構造を直接求めるか、又はノードの数に関する判断と併せて最終的なターゲット・ツリー構造を決定することができる。
【００３６】
上記の種々の方法を用いて、ターゲット・ツリー構造として、複数の下位ツリー構造から相対的にコンパクトなツリー構造を見つけ出すことができる。さらに、１つの実施形態においては、最終的な階層ツリーをより対称的でバランスの取れた構造にするために、ターゲット構造において葉ノードの各々の位置するレベルがさらに分析及び調整される。
【００３７】
具体的には、図６の構造（２）を参照すると、構造（２）は、コンパクトであるためターゲット・ツリー構造として選択された。しかしながら、このツリー構造においては、ノードＦと他の葉ノードＡ−Ｅとは、全て葉ノードではあるが、同一のレベルにはない。別の言い方をすれば、根ノードから各々の葉ノードまでの経路の長さは同一ではない。従って、このツリー構造は、バランスの取れたツリー構造ではない。バランスの取れたツリー構造は、後の階層情報分析にとってより有益であるため、ターゲット・ツリー構造は、「バランスが取れる」ように調整することができる。一例では、図７に示されるように、上位レベルにあるノードＦ、即ち根ノードまでの距離が他の葉ノードに比べて短いノードについて、ノードＦと同じ内容を有するが他の葉ノードＡ−Ｅと同一レベルに位置する、ダミーの子ノードＦ’が設定される。従って、調整されたツリー構造においては、全ての葉ノードが同一レベルに存在し、それによりバランスの取れた構造が実現される。葉ノード間に２つ以上のレベル差が存在する場合には、最終的にターゲット・ツリー構造における全ての葉ノードが同一レベルになるように、上位レベルにある葉ノードについて２つ又はそれより大きいレベルのダミーの子ノードを設定する必要があることが分かる。
【００３８】
要約すれば、上記の方法を通じて、データ項目からマッピングされたノードを葉ノードとする、コンパクトでバランスの取れたターゲット・ツリー構造を取得することができる。これに基づき、ステップ３４において、ターゲット・ツリー構造からノード間の階層情報が取得され、このようにして、葉ノードに対応するデータ項目間の関連を知ることができる。例えば、図７に示されるターゲット・ツリー構造を通じて、葉ノードＡ−Ｆの間の階層情報を取得することができ、このようにして、葉ノードＡ−Ｆに対応する臨床データ項目間の特有の関係を取得することができる。例えば、葉ノードＡ−Ｃに対応するデータ項目は同一の分類（ノード４に対応する用語）に属し、葉ノードＤ、Ｅに対応するデータ項目は同一の分類（ノード５に対応する用語）に属し、以下同様である。
【００３９】
１つの実施形態においては、ステップ３４において、階層情報は、取得されたターゲット・ツリー構造からテーブル形式で抽出することも可能である。例えば、図７に示されるターゲット・ツリー構造について、根ノードから葉ノードまでの経路に沿ってそれぞれのノードを対応するレベルに配置することによって、ツリー構造に対応する階層テーブルを取得することができる。図８は、図７のツリー構造に対応する階層テーブルを示す。他の実施形態においては、階層情報は、他の形式で編成することもできる。
【００４０】
上記の取得された階層情報に基づき、平坦に編成されたデータ項目に対して、ビジネス・インテリジェンスにおいて広く採用されているＯＬＡＰ分析及び操作を実施し、それにより、個別の平坦なデータ項目から特有の関連性及びデータ法則を明らかにして、より良好な情報の分析及び管理を行うようにすることが可能である。
【００４１】
同じ発明の概念に基づいて、本発明はまた、平坦データの階層情報を取得するための装置を提供する。図９は、本発明の一実施形態による装置のブロック図を示す。図９に示されるように、本発明の実施形態の装置５０は、平坦データの中の同じデータ・セットからの少なくとも１つのデータ項目を、構造化された用語システムによって形成されたツリー構造の中の少なくとも１つのノードにマッピングするように構成されたノード・マッピング・ユニット５１と、上記のツリー構造から少なくとも１つの下位ツリー構造を取得するように構成された下位構造取得ユニットであって、少なくとも１つの下位ツリー構造の各々は少なくとも１つのノードを自身の葉ノードの全てとする、下位構造取得ユニット５２と、少なくとも１つの下位ツリー構造からターゲット・ツリー構造を選択するように構成されたターゲット構造選択ユニット５３と、ターゲット・ツリー構造の中の階層情報を取得するように構成された階層情報取得ユニット５４とを含む。
【００４２】
具体的には、ノード・マッピング・ユニット５１は、平坦データの中のデータ項目を、構造化された用語システムによって形成されたツリー構造に配置するのに用いられる。これを行うためには、ノード・マッピング・ユニット５１は、最初に、平坦データからデータ・セットを抽出することによりデータ・セットの中の複数のデータ項目を取得して、分析されるデータ項目が同一のデータ・セットからのものであり、同一の次元の情報を反映するようにする。次に、取得された複数のデータ項目について、ノード・マッピング・ユニット５１は、データ項目の各々を構造化された用語システムの中の用語にマッピングする。平坦データが、構造化された用語システムにおける規範的な用語を用いて記述されている場合には、ノード・マッピング・ユニット５１は、単に用語又はコードの検索及びマッチングを行うことによってデータ項目を用語にマッピングすることを実現することができる。平坦データが規範的な用語を用いて記録されていない場合には、ノード・マッピング・ユニット５１は、データ項目と用語との間の文字列照合及びファジー照合をさらに行い、それによりデータ項目を用語にマッピングすることができる。さらに、構造化された用語システムは、レベルに従って用語を編成し、それにより１つの用語がそのツリー構造の１つのノードである用語のツリー構造を形成するため、ノード・マッピング・ユニット５１がデータ項目を用語にマッピングするときは、同時に、データ項目がツリー構造のノードにマッピングされる。
【００４３】
次に、下位構造取得ユニット５２は、データ項目からマッピングされたノードを上記のツリー構造における葉ノードの全てとする少なくとも１つの下位ツリー構造を見つけ出す。
【００４４】
下位ツリー構造の候補を取得するために、下位構造取得ユニット５２は、構造化された用語システムを記録及び格納するためにノード間の接続関係（特に親−子関係）に関する種々の形式の記述を利用することができる。ノード間の親−子関係が取得できる場合には、下位構造取得ユニット５２は、ツリー構造を上向き又は下向きにトラバースし、そのようなトラバースを通じてツリー構造を決定することができる。
【００４５】
１つの実施形態においては、下位構造取得ユニット５２は、ツリー構造の根ノード「もの」から下向きにトラバースして、ノード・マッピング・ユニット５１によってデータ項目からマッピングされたノードであるそれぞれの葉ノードに到達することができる経路を決定する。下位構造取得ユニット５２は、このような経路をそこに含まれるノードと組み合わせて、下位ツリー構造とする。別の実施形態においては、下位構造取得ユニット５２は、葉ノードから根ノード「もの」まで上向きにトラバースし、それにより葉ノードから根ノードまでの経路を形成する。その後、取得された複数の経路について、それらの取得された経路を統合するために、異なる経路間の共通するノードが見つけ出され、それにより、葉ノードから根ノード「もの」に至る第１の下位ツリー構造が得られる。一般に、第１の下位ツリー構造は、実際には多くの可能な下位ツリー構造を含んでおり、従って、取得された複数の下位ツリー構造を必要に応じてさらにフィルタリングし、そこからターゲット・ツリー構造として適切な下位ツリー構造を選択して、階層情報を反映するようにすることができる。
【００４６】
次いで、ターゲット構造選択ユニット５３は、下位構造取得ユニット５２によって取得された複数の下位ツリー構造を分析し、そこから、ノードの階層情報を反映することができるターゲット・ツリー構造を選択する。
【００４７】
１つの実施形態においては、ターゲット構造選択ユニット５３は、２つのステップを用いて、複数の下位ツリー構造を分析し、よりコンパクトな下位ツリー構造をターゲット・ツリー構造として選択する。最初に、第１の下位ツリー構造において、最終的な根ノード「もの」から開始する下向きのトラバースにより、各々のノードについての到達可能な葉ノードの数が求められる。次いで、第１のクラスのノードが、到達可能な葉ノードの数が全ての葉ノードの数に等しく、第１のクラスのノードの子ノードの到達可能な葉ノードの数がいずれも全ての葉ノードの数より小さいことを特徴とするものであり、第２のクラスのノードが、そのノード及びその少なくとも１つの子ノードの到達可能な葉ノードの数がいずれも全ての葉ノードの数に等しいことを特徴とするものであるとすると、第１のクラスのノードは根ノードの候補とされ、第２のクラスのノードは取り除かれる。
【００４８】
次に、第２のクラスのノードが取り除かれた予備的に選択された下位ツリー構造に関して、さらに判断が行われる。具体的には、ターゲット構造選択ユニット５３は、下位ツリー構造の各々に含まれるノードの数を決定し、ノードの数が最も少ない下位ツリー構造をターゲット構造として選択する。
【００４９】
上記のそれぞれのユニットを通じて、装置５０は、データ項目からマッピングされたノードを葉ノードとする複数の下位ツリー構造を取得し、そこからターゲット構造としてよりコンパクトなツリー構造を見つけ出すことができる。さらに、１つの実施形態においては、装置５０はまた、ターゲット構造において葉ノードが位置するレベルを分析及び調整して、最終的なターゲット構造をより対称的でバランスの取れたものにするように構成されたバランス・ユニット（図示せず）を含む。具体的には、ターゲット構造の中のそれぞれの葉ノードが異なるレベルに位置する場合には、バランス・ユニットは、ターゲット・ツリー構造の中の全ての葉ノードが同一レベルとなるようにダミーの子ノードを設定することによって、ターゲット構造のバランスを取ることができる。
【００５０】
ターゲット・ツリー構造が決定されたことに基づいて、階層情報取得ユニット５４は、ターゲット・ツリー構造から階層情報を抽出し、それにより、それぞれのノード間の関連性を表示し、さらに、それぞれのノードに対応するデータ項目間の階層情報を表示する。
【００５１】
本発明の実施形態による装置５０が平坦データの階層情報を取得する詳細な例は、上記の方法と同様のものであり、その詳細は、簡潔にするために本明細書では省略される。
【００５２】
種々の実施形態の方法及び装置を用いて、構造化された用語システムによって平坦データの階層情報を取得し、平坦データに関する後の分析及び管理を容易にすることができる。
【００５３】
当業者であれば、平坦データの階層情報を取得するための上記の方法及び装置は、コンピュータ実行可能命令を用いることによって実装することができる、及び／又は、プロセッサ制御コードの中に含めることができるものであり、コンピュータ実行可能命令及びプロセッサ制御コードは、ディスク、ＣＤ若しくはＤＶＤ−ＲＯＭのような支持媒体、読み取り専用メモリのようなプログラム可能メモリ、又は光若しくは電気的信号支持体のようなデータ支持体上で提供されることが分かるであろう。本実施形態の装置及びその部品は、大規模集積回路若しくはゲート・アレイのようなハードウェア回路、論理チップ若しくはトランジスタのような半導体、又はフィールド・プログラマブル・ゲート・アレイ若しくはプログラム可能論理デバイスのようなプログラム可能ハードウェア・デバイスによって実装するか、種々のタイプのプロセッサによって実行されるソフトウェアにより実装するか、上記のハードウェア回路とソフトウェアとの組み合わせによって実装することができる。本発明の動作を実現するためのソフトウェア及びプログラム・コードは、Ｊａｖａ、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのようなオブジェクト指向プログラミング言語と「Ｃ」プログラミング言語又は同様のプログラミング言語のような従来の手続き型プログラミング言語とを含むがこれらに限定されない１つ又は複数のプログラミング言語のいずれかを組み合わせて、書くことができる。プログラム・コードは、意図される動作を達成するために、コンピュータ上でローカルに、又はリモートで、実行することができる。
【００５４】
平坦データの階層情報を取得するための本発明の方法及び装置が、詳細な実施形態と併せて上記で詳細に説明されたが、本発明はそれに限定されるものではない。当業者であれば、本発明の精神及び範囲から逸脱することなく、本発明の教示の下で、それに種々の変形、置換、及び変更を行うことができる。そうした変形、置換、及び変更の全ても、特許請求の範囲により定められる本発明の保護範囲内にあることを認識されたい。
【図１】
0005822680.tif 000002
【図２】
0005822680.tif 000003
【図３】
0005822680.tif 000004
【図４】
0005822680.tif 000005
【図５】
0005822680.tif 000006
【図６】
0005822680.tif 000007
【図７】
0005822680.tif 000008
【図８】
0005822680.tif 000009
【図９】
0005822680.tif 000010