(57)【要約】【課題】検索したい建物の属性の値に基づいて、建物の性能等を評価する。【解決手段】本発明の実施形態としての建物情報処理装置は、複数の属性のうちの少なくとも１つの属性の値を含む問い合わせインデクスに基づき、建物情報ＤＢから第１レコードを検索する建物情報検索手段と、第１レコードに含まれるインデクスのうち、問い合わせインデクスに存在して、インデクスに存在しない属性の値を表す第１差分と、問い合わせインデクスに存在せず、インデクスに存在する属性の値とを表す第２差分とを抽出する差分抽出手段と、インデクスにおける第２差分を第１差分で置換することで、修正インデクスを生成し、修正インデクスのデータを、第１差分と第２差分とに基づき建物情報ＤＢを用いて計算する修正手段と、修正インデクスを合成することで合成インデクスを生成し、合成インデクスのデータを、修正インデクスのデータに基づき計算する建物情報合成手段と、を備える。【選択図】図１
2016177665.tif 000002
【特許請求の範囲】
【請求項１】
複数の建物について、複数の属性の値を含むインデクスと、データとを含む複数のレコードを格納する建物情報データベースと、
前記複数の属性のうちの少なくとも１つの属性の値を含む問い合わせインデクスに基づき、前記建物情報データベースから第１レコードを検索する建物情報検索手段と、
前記第１レコードに含まれる前記インデクスのうち、前記問い合わせインデクスに存在して、前記インデクスに存在しない前記属性の値を表す第１差分と、前記問い合わせインデクスに存在せず、前記インデクスに存在する前記属性の値とを表す第２差分とを抽出する差分抽出手段と、
前記インデクスにおける前記第２差分を前記第１差分で置換することで、修正インデクスを生成し、前記修正インデクスのデータを、前記第１差分と前記第２差分とに基づき前記建物情報データベースを用いて計算する修正手段と、
前記修正インデクスを合成することで合成インデクスを生成し、前記合成インデクスのデータを、前記修正インデクスのデータに基づき計算する建物情報合成手段と、
を備えた建物情報処理装置。
【請求項２】
前記修正手段は、前記第２差分を含むレコードを前記建物情報データベースから検索し、検索されたレコードのデータの平均と分散である第１平均と第１分散を計算し、前記第１レコードのデータの前記第１平均からの差を前記第１分散で除算することで第１の値を計算し、
前記第１差分を含むレコードを前記建物情報データベースから検索し、検索されたレコードのデータの平均と分散である第２平均と第２分散を計算し、前記第２分散と前記第１の値とを乗算し、前記第２平均を加算することで、前記修正インデクスのデータを計算する
請求項１に記載の建物情報処理装置。
【請求項３】
前記建物情報合成手段は、前記修正インデクス間で前記属性の値が異なる前記属性を特定し、特定した属性間で前記属性の値をみ合わせ、前記属性の値の組み合わせのそれぞれについて前記建物情報データベースからレコードを検索し、検索したレコードのデータの代表値を計算し、各代表値に基づき前記組み合わせの１つを選択し、前記修正インデクスのうちの１つの前記特定した属性の値を前記選択した組み合わせで置換することで、前記合成インデクスを生成する
請求項１または２に記載の建物情報処理装置。
【請求項４】
前記建物情報データベース内のレコード群のデータの代表値と、前記各代表値とを比較することで、前記組み合わせの１つを選択する
請求項３に記載の建物情報処理装置。
【請求項５】
前記レコード群のデータの代表値に最も近い値を有する代表値に対応する前記組み合わせを選択する
請求項４に記載の建物情報処理装置。
【請求項６】
前記レコード群のデータの代表値は、前記レコード群のデータの平均値であり
前記各代表値は、前記検索したレコードのデータの平均値である
請求項４または５に記載の建物情報処理装置。
【請求項７】
複数の建物について、複数の属性の値を含むインデクスと、データとを含む複数のレコードを格納する建物情報データベースから、前記複数の属性のうちの少なくとも１つの属性の値を含む問い合わせインデクスに基づき、第１レコードを検索する建物情報検索ステップと、
前記第１レコードに含まれる前記インデクスのうち、前記問い合わせインデクスに存在して、前記インデクスに存在しない前記属性の値を表す第１差分と、前記問い合わせインデクスに存在せず、前記インデクスに存在する前記属性の値とを表す第２差分とを抽出する差分抽出ステップと、
前記インデクスにおける前記第２差分を前記第１差分で置換することで、修正インデクスを生成し、前記修正インデクスのデータを、前記第１差分と前記第２差分とに基づき前記建物情報データベースを用いて計算する修正ステップと、
前記修正インデクスを合成することで合成インデクスを生成し、前記合成インデクスのデータを、前記修正インデクスのデータに基づき計算する建物情報合成ステップと、
をコンピュータが実行する建物情報処理方法。
【請求項８】
複数の建物について、複数の属性の値を含むインデクスと、データとを含む複数のレコードを格納する建物情報データベースから、前記複数の属性のうちの少なくとも１つの属性の値を含む問い合わせインデクスに基づき、第１レコードを検索する建物情報検索ステップと、
前記第１レコードに含まれる前記インデクスのうち、前記問い合わせインデクスに存在して、前記インデクスに存在しない前記属性の値を表す第１差分と、前記問い合わせインデクスに存在せず、前記インデクスに存在する前記属性の値とを表す第２差分とを抽出する差分抽出ステップと、
前記インデクスにおける前記第２差分を前記第１差分で置換することで、修正インデクスを生成し、前記修正インデクスのデータを、前記第１差分と前記第２差分とに基づき前記建物情報データベースを用いて計算する修正ステップと、
前記修正インデクスを合成することで合成インデクスを生成し、前記合成インデクスのデータを、前記修正インデクスのデータに基づき計算する建物情報合成ステップと、
をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明の実施形態は、建物情報処理装置、建物情報処理方法、およびコンピュータプログラムに関する。
【背景技術】
【０００２】
従来の検索技術として、建物情報を検索するにあたって、ＣＡＤやＩＦＣ（Ｉｎｄｕｓｔｒｙ  Ｆｏｕｎｄａｔｉｏｎ  Ｃｌａｓｓｅｓ，ＩＳＯ１６７３９）が規定する部品間の関係に従って検索を行うものがあった。この建物情報は、構成情報（例えば建物は１Ｆと２Ｆからなり、１Ｆは部屋１、部屋２、ドア１、床１・・・からなる、など）と、意味構造情報（例えば部屋２とドア１は接続され、床１は部屋２に接触しているなど）、属性情報（部屋や床等の部品の属性など）等を含むものである。上記の検索は、これらの情報が示す部品間の関係を利用して検索を行うものである。
【０００３】
近年、建物情報を利用して、建物の条件を指定したときに、その条件を完全に満たす建物が存在しない場合にも、その建物がどのようなデータ（性能等）を有するか評価したい要望がある。しかしながら、従来は、部品間の関係を利用して、単にその関係にマッチする建物を検索することを可能であるものの、上述したような評価することはできなかった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０６−１３１１８４号公報
【非特許文献】
【０００５】
【非特許文献１】http://www.eia.gov/consumption/commercial/data/2003/index.cfm
【非特許文献２】http://www.elasticsearch.org/
【非特許文献３】http://apps1.eere.energy.gov/buildings/energyplus/
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の実施形態は、所望の建物のデータ（性能等）を評価することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の実施形態としての建物情報処理装置は、複数の建物について、複数の属性の値を含むインデクスと、データとを含む複数のレコードを格納する建物情報データベースと、前記複数の属性のうちの少なくとも１つの属性の値を含む問い合わせインデクスに基づき、前記建物情報データベースから第１レコードを検索する建物情報検索手段と、前記第１レコードに含まれる前記インデクスのうち、前記問い合わせインデクスに存在して、前記インデクスに存在しない前記属性の値を表す第１差分と、前記問い合わせインデクスに存在せず、前記インデクスに存在する前記属性の値とを表す第２差分とを抽出する差分抽出手段と、前記インデクスにおける前記第２差分を前記第１差分で置換することで、修正インデクスを生成し、前記修正インデクスのデータを、前記第１差分と前記第２差分とに基づき前記建物情報データベースを用いて計算する修正手段と、前記修正インデクスを合成することで合成インデクスを生成し、前記合成インデクスのデータを、前記修正インデクスのデータに基づき計算する建物情報合成手段と、を備える。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態に係る建物情報処理装置を備えた建物情報処理システムを示す図。
【図２】物情報ＤＢのレコードの構造例を示す図。
【図３】修正手段の処理を説明するための図。
【図４】第１の実施形態に係る全体の動作シーケンスを示す図。
【図５】修正手段の処理のフローチャートを示す図。
【図６】建物情報合成手段の処理のフローチャートを示す図。
【図７】建物情報処理装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら、本発明の実施形態について説明する。
【００１０】
図１は、本発明の実施形態に係る建物情報処理装置を備えた建物情報処理システム（以下、システム）を示す。このシステムは、建物情報処理装置１００と、入力手段２０１と、表示手段３０１とを備える。建物情報処理装置１００は、類似建物検索手段１０１と、類似度計算手段１０２と、建物情報ＤＢ１０３と、差分抽出手段１０４と、修正手段１０５、建物情報合成手段１０７とを備える。
【００１１】
建物情報ＤＢ１０３は、建物（ビルなど）に関する建物情報モデルを記憶したデータベースである。建物情報モデルは、建物の情報を建物単位で１レコードとして表現し、建物の数分の複数レコードを保持している。建物の情報は、例えば、建物の性質または特徴を表す複数の属性と属性の値とを含むインデクス、建物の性能に関するデータと、建物の構造情報（３Ｄモデルやシミュレーションモデルなど）などを含む。
【００１２】
図２は、建物情報ＤＢ１０３のレコード構造の例を示す。この例では、１つのレコードは、１つの建物に関するインデクスとデータとを含む。インデクスは、建物の属性とその値とを含んでいる。データは、建物のエネルギー消費等、建物の性能に関する情報を含む。インデクスは、検索用に用いられることができる。ここでは、インデクスは、１５項目を含むが、実際にはより多くの項目または少ない項目でもよい。エネルギー消費に関するデータとして、ここでは、年間電力消費量が記録されている。
【００１３】
入力手段２０１は、検索したい建物の少なくとも１つの属性とその値とを含む問い合わせインデクス（検索式）を入力するためのインターフェイスである。入力手段２０１は、一例として、タッチパネル、マウス、およびキーボード等のユーザにより操作されるインターフェイスでもよいし、問い合わせインデクスが格納された記憶装置でもよいし、記録媒体からデータを読み出す読み出しドライブ等でもよい。記憶装置は、ＳＳＤ、ハードディスク、ＵＳＢメモリ等の永続的に情報を記憶する装置または不揮発性メモリでもよいし、ＤＲＡＭ等の揮発性のメモリでもよい。読み出しドライブは、一例として、ＤＶＤ、ＣＤ−ＲＯＭ等のドライブである。
【００１４】
類似建物検索手段１０１が、入力手段２０１から入力された問い合わせインデクスに基づき、建物情報ＤＢ１０３を検索する。問い合わせインデクスに合致する属性値を有するインデクスが存在する場合、そのインデクスを有する建物の建物情報を表示手段３０１で表示する。合致する属性値を有するインデクスがなければ、建物情報ＤＢ１０３の各レコードについて、問い合わせインデクスとの類似度を、類似度計算手段１０２を用いて計算する。類似度は、問い合わせインデクスと、各レコードのインデクスとがどの程度近似しているかを表す。各レコードのうち、類似度が予め定めた条件を満たす１つまたは複数のレコードを、類似レコードとして選択する。
【００１５】
表示手段３０１は、情報を表示するディスプレイである。表示手段３０１は、一例として、液晶表示ディスプレイ、またはその他の任意の表示素子を利用したディスプレイである。単独の独立したディスプレイでもよいし、携帯端末のディスプレイでもよい。
【００１６】
差分抽出手段１０４は、類似レコードのインデクスと、問い合わせインデクスとの間の差分を計算する。具体的に、問い合わせインデクスに存在し、レコードのインデクスに存在しない属性とその値の組を、第１差分として特定し、問い合わせインデクスに存在せず、類似レコードのインデクスに存在する属性とその値の組を、第２差分として特定する。両者に共通に存在する属性とその値を特定してもよい。
【００１７】
修正手段１０５は、類似レコードのインデクスのうち、第２差分を第１差分に置換することで修理レコードを生成する。また第１差分と、第２差分と、建物情報ＤＢ１０３の各レコードに基づき、修正レコードのデータ（ここでは年間電力消費量）を計算する。修正レコードの生成およびデータの計算を、各類似レコードについて行う。修正レコードの生成およびデータの計算方法は後述する。
【００１８】
建物情報合成手段１０７は、修正レコードを合成して、合成レコードを生成する。また、生成した合成レコードのデータ（年間電力消費量）を計算する。合成レコードの生成方法およびデータの計算方法は後述する。合成レコードおよびそのデータは、表示手段３０１で表示する。ユーザは表示手段３０１に表示された合成レコードおよびデータを、問い合わせに対する回答として確認する。
【００１９】
以下、具体的な事例に基づき、本実施形態についてさらに詳細に説明する。
【００２０】
入力手段２０１は、検索用の問い合わせインデクスを入力する。問い合わせインデクスは、１つ以上の属性とのその値とを含む。図２の例では１５個の属性が存在したが、そのうちの一部または全部の属性と、その値とを含む。問い合わせインデクスの構造は、属性名と値とを含む検索文字列として構成される。
【００２１】
例えば"REGION=3 CENDIV=5 SQFTC=7 YRCONC=4 PBA=2 ELUSED=1 NGUSED=2 FKUSED=1 PRUSED=2 STUSED=2 HWUSED=2"であるような場合は、問い合わせインデクスの文字列は、一例として、"REGION3 CENDIV5 SQFTC7 YRCONC4 PBA2 ELUSED1 NGUSED2 FKUSED1 PRUSED2 STUSED2 HWUSED2"となる。すなわち、属性名と値とを結合した単語をスペース等で区切って並べて一文（文章）とする。この例では、インデクスの１５個の項目のうち、１１個の項目を利用している。入力手段２０１は、この形式のインデクスの入力を受けて本装置に入力してもよいし、“属性＝値、属性＝値、・・・”の形式のデータの入力を受け、これを問い合わせインデクスの形式に変換してから本装置に入力してもよい。
【００２２】
類似度計算手段１０２は、問い合わせインデクスと、指定されたレコードのインデクスとの類似度を計算する。インデクス間の類似度を計算する手段としては、インデクス間の距離を定義し、距離の大きさ類似度を測る方法などが考えられる。ここでは、文章中の単語の重みづけの方法の一つであるＴＦ／ＩＤＦを適用して説明する。
【００２３】
指定されたレコードのインデクスは、問い合わせインデクスと同様に、建物情報のレコードにおけるインデクスの属性名と値とを結合した単語をスペース等で区切って並べた一文（文章）とする。例えば
" REGION=3,CENDIV=5,SQFTC=7,YRCONC=4,PBA=2,ELUSED=1,NGUSED=2, FKUSED=1, PRUSED=2, STUSED=2, HWUSED=2, NFLOOR=4, CLIMATE=5, NWKER=300" であれば、これをエンコードして、インデクスは、"REGION3 CENDIV5 SQFTC7 YRCONC4 PBA2 ELUSED1 NGUSED2 FKUSED1 PRUSED2 STUSED2 HWUSED2 NFLOOR4 CLIMATE5 NWKER300" となる。
【００２４】
本実施形態において、インデクス間の類似度は、文章における単語の出現回数から計算する。
【００２５】
TF(Term Frequency:単語の出現頻度)
TF_ij = 文章 D_j における単語 i の出現回数 / 文章 D_j の総単語数
および、
IDF(Inverse Document Frequency:逆文章頻度)
IDF_i = log(文章の総数 / 単語 i を含む文章の数)
とする。
文章 j における単語 i の重み W_ij を、
W_ij = TF_ij * IDF_i 
として計算する。
文章D_jの特徴ベクトルを
Vec(D_j) = (W_1j , W_2j  ... , W_nj )
と表す。
文章D_i,D_j間の類似度は、特徴ベクトルの内積として計算できる。
s(D_i, D_j ) = W_1iW_1j + W_2iW_2j+ .... + W_niW_nj
【００２６】
類似建物検索手段１０１は、入力手段２０１により入力された問い合わせインデクスに対して、類似度計算手段１０２を用いて建物情報ＤＢ１０３に記録されている各レコードのインデクスとの類似度を計算する。そして、類似度が予め定めた条件を満たすレコードを類似レコードとして選択する。予め定めた条件としては、類似度が閾値以上であること、類似度が所定の値の範囲に含まれること、類似度の値が上位Ｎ個のものあるいは上位Ｘ％のものなどがありうるが、他の条件でもよい。なお、問い合わせインデクスにおける属性数が、建物情報ＤＢ１０３のインデクスに含まれる属性数未満の場合、不足している属性に関する単語は存在しない（重みがゼロ）として、処理すればよい。
【００２７】
建物情報ＤＢ１０３の各レコードに対して、事前に各単語の重みを計算しておき、建物情報ＤＢ１０３または別の記憶部に各レコードの各単語と関連づけて記憶しておいてもよい。この場合、レコードの追加、削除、および更新の少なくともいずれかが行われれば、単語の重みを再計算して更新すればよい。
【００２８】
一例として、Commercial Buildings Energy Consumption Survey (CBECS)と呼ばれる、全米の建物に対する属性およびエネルギー消費量に関するアンケートをまとめたデータを活用し、これを、ＴＦ／ＩＤＦを用いた類似検索機能を持つデータベースであるＥｌａｓｔｉｃＳｅａｒｃｈデータベースを利用して、類似検索および、後述する各種統計データ計算を行うことができる。
【００２９】
表示手段３０１は、類似建物検索手段１０１で検索された類似レコードを、計算された類似度とともに表示してもよい。
【００３０】
ここで、問い合わせインデクス、
"REGION3 CENDIV5 SQFTC7 YRCONC4 PBA2 ELUSED1 NGUSED2 FKUSED1 PRUSED2 STUSED2 HWUSED2 NFLOOR7"
に対して、建物情報ＤＢ１０３内の各レコードに対して類似度計算を行い、類似度１．４以上のレコードを、類似レコードとして選択する。この結果、次の２つの類似レコードＡ、Ｂを得たものとする。
【００３１】
類似レコードＡ:
検索用インデクス＝"REGION1 CENDIV1 SQFTC7 YRCONC4 PBA2 ELUSED1 NGUSED2 FKUSED1 PRUSED1 STUSED2 HWUSED2 NFLOOR7 CLIMATE1 NWKER350"
問い合わせインデクスとの類似度＝1.4216362
データ={"ELCNS": 1846660 }
【００３２】
類似レコードＢ:
検索用インデクス＝"REGION3 CENDIV5 SQFTC7 YRCONC4 PBA2 ELUSED1 NGUSED2 FKUSED1 PRUSED2 STUSED2 HWUSED2 NFLOOR4 CLIMATE5 NWKER300"
問い合わせインデクスとの間の類似度＝ 1.4023337
データ={"ELCNS": 10266896}
【００３３】
なお、類似レコードＡのデータ={"ELCNS": 1846660 }は、類似レコードのデータ（年間電力消費量）が1846660kWhであることを意味する（図２参照）。類似レコードＢも同様である。またPUBID（図２参照）については建物固有のIDであり、すべてのレコードで異なるため、ここでは用いていない。
【００３４】
差分抽出手段１０４は、問い合わせインデクスと、類似レコードのインデクスとを比較し、問い合わせインデクスと、類似レコードのインデクスとの間の差分を計算する。この計算により、問い合わせインデクスに存在するが、類似レコードのインデクスには存在しない単語、問い合わせインデクスには存在しないが、類似レコードのインデクスには存在する単語、両方のインデクスに共通に存在する単語が特定される。
【００３５】
本例では、問い合わせインデクスと、類似レコードのインデクス間の差分は、以下のようになる。下記で、[+]は、問い合わせインデクスには出現するが、類似レコードのインデクスには出現しない単語（第１差分）を意味する。[-]は、問い合わせインデクスには出現しないが、類似レコードのインデクスには出現する単語（第２差分）を意味する。[=]は両方のインデクスに共通に出現する単語を意味する。
【００３６】
問い合わせインデクスと、類似レコードＡのインデクスとの差分は以下の通りである。
[+] = [REGION3,CENDIV5,PRUSED2],
[-] = [REGION1,CENDIV1,PRUSED1]
[=] = [SQFTC7 YRCONC4 PBA2 ELUSED1 NGUSED2 FKUSED1 STUSED2 HWUSED2  NFLOOR7]
すなわち、地域、地方、およびガス利用有無が異なっている。
【００３７】
問い合わせインデクスと、類似レコードＢのインデクスとの差分は以下の通りである。
[+] = [NFLOOR7],
[-] = [NFLOOR4]
[=] = [REGION3 CENDIV5 SQFTC7 YRCONC4 PBA2 ELUSED1 NGUSED2 FKUSED1 PRUSED2 STUSED2 HWUSED2]
すなわち、階数が異なっている。
【００３８】
修正手段１０５は、問い合わせインデクス（Xとする）と、類似レコードのインデクス（Yとする）の差分から、予め与えられた修正ルールに従い、類似レコードYを修正し、修正レコードY'を生成する。
【００３９】
本例では、類似レコードＡのインデクスにおいて、問い合わせインデクスとの差分を変更（置換）し、かつデータ（ここでは年間電力消費量）を変更した修正レコードＡ’を生成する。同様に、類似レコードＢのインデクスに対して問い合わせインデクスとの差分を変更し、かつ年間電力消費量を変更した修正レコードＢ’を生成する。
【００４０】
修正レコード（ここでは年間電力消費量）のデータの計算方法として、ここでは統計を利用するルールを例にして説明を行う。建物情報ＤＢ１０３は、ある特定のインデクスをもつレコードを検索し、検索結果であるレコード群の平均Avgと分散（標準偏差）Sigmaの統計情報を計算する機能を持つとする。この機能は建物情報ＤＢ１０３ではなく、修正手段１０５または別の処理部が備えていてもよい。
【００４１】
以下、修正手段１０５の手順の例を示す。
【００４２】
（１）類似レコードに差分[-]および[+]の少なくとも一方がある場合は、以下のステップ１〜５を行う。
ステップ１：差分[-]を含むレコードを建物情報ＤＢから検索し、検索されたレコードに基づき、年間電力消費量の平均と分散を求める。
【００４３】
ステップ２：上記平均と分散に対して、類似レコードの年間電力消費量の当該平均からのズレを計算し、これを分散で除算して、ズレΔ比を計算する。ズレΔ比=（年間電力消費量−平均）/分散である。分散で除算するのは正規化のためである。図３（Ａ）に当該ズレ６０１と平均６０２と年間電力消費量６０３の例を示す。このズレ６０１を分散で除算することで、ズレΔ比を求める。
【００４４】
ステップ３：差分[+]を含むレコードを建物情報ＤＢから検索し、検索されたレコードに基づき、年間電力消費量の平均と分散を求める。
【００４５】
ステップ４：差分[+]の平均と分散に対して、次のステップ５で生成する修正レコードの、当該平均からのズレ（図３（Ｂ）の６０２）を、当該分散とステップ３で求めたズレΔ比から計算し、当該ズレに当該平均を加算することで、修正レコードの年間電力消費量を計算する。図３（Ｂ）に当該ズレ６０４の例を示す。このズレ６０４に、計算した平均６０５を加算することで、年間電力消費量６０６を求める。
すなわち、修正レコードの年間電力消費量＝（平均）＋分散＊ズレΔ比、である
【００４６】
ステップ５：類例レコードの差分[-]を差分[+]に変更し、年間電力消費量をステップ４で求めたものに書き換えることにより、修正レコードを作成する。
【００４７】
（２）類似レコードに差分[-]および[+]のいずれもない場合、すなわち検索された類似レコードのインデクスが、問い合わせのインデクスの単語群をすべて含む場合は、類似レコードとその年間電力消費量を用いることを決定する。
【００４８】
以下、具体例を示す。
【００４９】
類似レコードＡについて、差分[-]である[REGION1,CENDIV1,PRUSED1]に関する統計計算を行うと、以下のようになる（上記ステップ１に相当）。
"aggregations":{"ELCNS8_stat":{"count":44,"min":2614.0,"max":9539286.0,"avg":553779.7045454546,"sum":2.4366307E7,"sum_of_squares":1.09430135460269E14,"variance":2.1803765720214807E12,"std_deviation":1476609.8238944102}}
【００５０】
ここで"count"がヒット数、"avg"は平均、"std_deviation"が分散（標準偏差）を表している。
【００５１】
一方、類似レコードＡについて、差分[+]である[REGION3,CENDIV5,PRUSED2]に関する統計計算を行うと、以下のようになる（上記ステップ３に相当）。
"aggregations":{"ELCNS8_stat":{"count":788,"min":1026.0,"max":1.94434138E8,"avg":2743834.720812183,"sum":2.16214176E9,"sum_of_squares":8.1144898899988176E16,"variance":9.544713105023123E13,"std_deviation":9769704.757577438}}}
【００５２】
類似レコードＡを、上述してステップ２、４、５に従って修正することで、所望の修正レコードＡ’を得る。
【００５３】
最初に、差分[-]に関する平均に対する類似レコードの年間電力消費量の差を、分散で除算することで、ズレΔ比を求める（上記ステップ２に相当）。
すなわち、ズレΔ比=（年間電力消費量−平均）/分散=(1846660-553779)/1476610=0.88
【００５４】
次に差分[+]に関する平均と分散より、当該平均値からのズレ（分散ン＊ズレΔ比）を計算し、これを平均に加算することで、修正レコードの年間電力消費量を計算する（上記ステップ４に相当）。
修正レコードの年間電力消費量＝（平均）＋分散＊ズレΔ比=2743835+9769705*0.88=11341175.4
【００５５】
修正レコードＡ’は、類例レコードの差分[-]を差分[+]に変更し、年間電力消費量を上記11341175.4にすることにより求まる（上記ステップ５に相当）。従って、修正レコードＡ’は、インデクスが、
"REGION3 CENDIV5 SQFTC7 YRCONC4 PBA2 ELUSED1 NGUSED2 FKUSED1 PRUSED2 STUSED2 HWUSED2 NFLOOR7 CLIMATE1 NWKER350"、
年間電力消費量は、11341175.4となる。
【００５６】
同様に、類似レコードＢから、以下のように修正レコードＢ’を求める。
【００５７】
差分[-] である[NFLOOR4]に対して統計計算を行うと、以下のようになり、平均(avg)と分散(std_deviation)を得る。
"aggregations":{"ELCNS8_stat":{"count":276,"min":3731.0,"max":3.1339731E7,"avg":2541202.4239130435,"sum":7.01371869E8,"sum_of_squares":6.076355425727525E15,"variance":1.5558070768696752E13,"std_deviation":3944372.0373079353}}}
【００５８】
一方、差分[+]である[NFLOOR7]に対して統計計算を行うと、以下のようになり、平均(avg)と分散(std_deviation)を得る。
"aggregations":{"ELCNS8_stat":{"count":74,"min":4511.0,"max":7.2195914E7,"avg":1.0114667081081081E7,"sum":7.48485364E8,"sum_of_squares":1.9695847130423508E16,"variance":1.6385360619596916E14,"std_deviation":1.2800531480995981E7}}}
【００５９】
最初に、差分[-]に関する平均に対する類似レコードの年間電力消費量の差を、分散で除算することで、ズレΔ比を求める。
ズレΔ比=（年間電力消費量−平均）/分散=(10266896-2541202)/3944372=1.96
【００６０】
次に差分[+]に関する平均と分散より、当該平均値からのズレ（分散ン＊ズレΔ比）を計算し、これを平均に加算することで、修正レコードの年間電力消費量を計算する。
修正レコードの年間電力消費量＝＝（平均）＋分散＊ズレΔ比=10114667+12800000*1.96=35202667.0
【００６１】
修正レコードＢ’は、類例レコードの差分[-]を差分[+]に変更し、年間電力消費量を上記で求まった35202667.0にすることにより求まる。従って、修正レコードＢ’は、
インデクスが、
"REGION3 CENDIV5 SQFTC7 YRCONC4 PBA2 ELUSED1 NGUSED2 FKUSED1 PRUSED2 STUSED2 HWUSED2 NFLOOR7 CLIMATE5 NWKER300、
年間電力消費量が、35202667.0、となる。
【００６２】
建物情報合成手段１０７は、建物情報修正手段１０５により生成された修正レコードを合成して、合成レコードを生成する。本例では、レコードＡ’とレコードＢ’を合成して、合成レコードＣを新たに生成する。
【００６３】
建物情報合成手段１０７の手順の例を以下に示す。
【００６４】
（ステップ１）修正手段１０５で生成された修正レコードに対して、２つのレコード間の差分（インデクス間の単語の差分）を計算する。
（ステップ２）差分から、可能な単語の組み合わせを計算する。
（ステップ３）単語の組み合わせの各々に対して、建物情報ＤＢ１０３からレコードを検索し、データ（ここでは年間電力消費量）の平均値を計算する。
（ステップ４）建物情報ＤＢ１０３内の全レコードの年間電力消費量の平均に対し最も近い（絶対値が小さい）組み合わせを選択する。
（ステップ５）ステップ４で選択された単語の組み合わせで、任意の１つの類似レコード（いずれの類似レコードを利用しても結果は同じである）を修正する。
【００６５】
以下、具体例を示す。
【００６６】
類似レコードＡの修正後のレコードＡ’のインデクスが、
"REGION3 CENDIV5 SQFTC7 YRCONC4 PBA2 ELUSED1 NGUSED2 FKUSED1 PRUSED2 STUSED2 HWUSED2 NFLOOR7 CLIMATE1 NWKER350"
類似レコードＢの修正後のレコードＢ’のインデクスが、
"REGION3 CENDIV5 SQFTC7 YRCONC4 PBA2 ELUSED1 NGUSED2 FKUSED1 PRUSED2 STUSED2 HWUSED2 NFLOOR7 CLIMATE5 NWKER300"
であったので、２つの差分は
[+] = [CLIMATE1,NWKER350]
[-] = [CLIMATE5,NWKER300]
である。
各差分内の単語の可能な組み合わせを計算すると、以下の４つになる。
{[CLIMATE1,NWKER350],[CLIMATE5,NWKER300],
[CLIMATE5,NWKER350],[CLIMATE1,NWKER300]}
【００６７】
それぞれの組み合わせに対して、建物情報ＤＢ１０３を検索し（検索の際はCLIMATE1を属性＝CLIMATE、値＝1のように元の形式に戻してもよい）、検索されたレコード群の統計計算により、年間電力消費量の平均を求めると、以下のようになる。
[CLIMATE1,NWKER350]→2786202.8
[CLIMATE5,NWKER300]→4573861.4
[CLIMATE5,NWKER350]→3851619.0
[CLIMATE1,NWKER300]→3387754.1
【００６８】
建物情報ＤＢ１０３内の全レコードの年間電力消費量の平均は3649859.3である。この値は、事前に建物情報ＤＢ１０３に登録されていてもよいし、全レコードの年間電力消費量を読み出して平均を計算してもよい。上記４つの組み合わせのうち、当該平均に元も近い（差分の絶対値が小さい）組み合わせである、[CLIMATE5,NWKER350]を選択する。
【００６９】
よって、合成レコードＣのインデクスは、
"REGION3 CENDIV5 SQFTC7 YRCONC4 PBA2 ELUSED1 NGUSED2 FKUSED1 PRUSED2 STUSED2 HWUSED2 NFLOOR7 CLIMATE5 NWKER350"となる。
【００７０】
合成レコードＣの年間電力消費量は、類似レコードＡ’の年間電力消費量11341175.4、類似レコードＢ’の年間電力消費量35202667.0の平均を計算して、23271921.2とする。
【００７１】
表示手段３０１は、建物情報合成手段１０７により得られた合成レコードおよび年間電力消費量を表示する。
【００７２】
図４は、本実施形態に係る全体の動作フローを示す。
【００７３】
（Ｓ１０１）類似建物検索手段１０１が、入力手段２０１から入力される問い合わせインデクスに基づき、建物情報ＤＢ１０３内の各レコードに対して類似度を計算することで、建物情報ＤＢ１０３から類似レコードを検索する。類似度は、問い合わせインデクスと、各レコードのインデクスとがどの程度近似しているかを表す。各レコードのうち、類似度が予め定めた条件を満たすレコードを、類似レコードとして選択する。
【００７４】
（Ｓ１０２）差分抽出手段１０４が、類似レコードのインデクスと、問い合わせインデクスとの間の差分を計算する。具体的に、第１差分（[+]）として、問い合わせインデクスに存在し、類似レコードのインデクスに存在しない単語（属性と値）と、第２差分（[-]）として、問い合わせインデクスに存在せず、類似レコードのインデクスに存在する単語を特定する。両者に共通に存在する単語を特定してもよい。
【００７５】
（Ｓ１０３）修正手段１０５が、類似レコードのインデクスのうち、第２差分（[-]）を第１差分（[+]）に置換することで修理レコードを生成する。また第１差分（[+]）と、第２差分（[-]）と、建物情報ＤＢ１０３の各レコードに基づき、修正レコードのデータ（ここでは年間電力消費量）を計算する。修正レコードの生成およびデータの計算を、各類似レコードについて行う。修正手段１０５の処理のフローを図５に示す。
【００７６】
図５において、まず、問い合わせインデクスの各単語のうち、類似レコードとの差分があるかを判断し（Ｓ２００）、差分がある場合は、ステップＳ２０１〜Ｓ２０５を行う。まず、差分[-]を含むレコードを建物情報ＤＢ１０３から検索し、検索されたレコードに基づき、年間電力消費量の平均と分散を求める（Ｓ２０１）。上記平均と分散に対して、類似レコードの年間電力消費量の当該平均からのズレΔ比を計算する（Ｓ２０２）。ズレΔ比=（年間電力消費量−平均）/分散である。分散で除算するのは正規化のためである。
【００７７】
差分[+]を含むレコードを建物情報ＤＢ１０３から検索し、検索されたレコードに基づき、年間電力消費量の平均と分散を求める（Ｓ２０３）。
【００７８】
差分[+]の平均と分散に対して、当該平均からのズレを、当該分散とステップ３で求めたズレΔ比から計算し、当該ズレに当該平均を加算することで、ステップＳ２０５で生成する修正レコードのデータ（ここでは年間電力消費量）を計算する（Ｓ２０４）。すなわち、修正レコードの年間電力消費量＝（平均）＋分散＊ズレΔ比、である。
【００７９】
類例レコードの差分[-]を差分[+]に変更し、年間電力消費量をステップＳ２０３で求めたものに書き換えることにより、修正レコードを作成する（Ｓ２０５）。
【００８０】
ステップＳ２００で、問い合わせ用インデクスの各単語のうち、類似レコードとの差分が存在しない場合は、類似レコードのデータ（年間電力消費量）をそのまま用いることを決定すればよい（Ｓ２０６）。
【００８１】
（図４のＳ１０４）建物情報合成手段１０７が、各修正レコードを合成して、合成レコードを生成する。また、合成レコードのデータ（年間電力消費量）を計算する。建物情報合成手段１０７の処理のフローを図６に示す。
【００８２】
各修正レコード間で少なくとも１つの単語が異なる項目をすべて特定し、特定した項目の単語を各修正レコードから差分として得る（Ｓ３０１）。
【００８３】
各差分から、可能な単語の組み合わせを計算する（Ｓ３０２）。
【００８４】
組み合わせの各々に対して、建物情報ＤＢ１０３からレコードを検索し、データ（ここでは年間電力消費量）の平均値を計算する（Ｓ３０３）。
【００８５】
建物情報ＤＢ１０３内の全レコードの年間電力消費量の平均に対し最も近い（絶対値が小さい）組み合わせを選択する（Ｓ３０４）。
【００８６】
選択された単語の組み合わせで、任意の１つの類似レコード（いずれの類似レコードを利用しても結果は同じである）の該当する単語を修正（置換）する（Ｓ３０５）。修正レコードのデータ（ここでは年間電力消費量）の平均を計算する（Ｓ３０５）。
【００８７】
この後、表示手段３０１が、ステップＳ３０５で得た合成レコードおよび計算した平均のデータを問い合わせインデクスに対する解として、表示する。
【００８８】
図７は、建物情報処理装置１００のハードウェア構成例を示す。建物情報処理装置１００は、ＣＰＵ４０１、入力部４０２、表示部４０３、通信部４０４、主記憶部４０５、外部記憶部４０６を備え、これらはバス４０７により相互に通信可能に接続される。
【００８９】
入力部４０２は、キーボード、マウス等の入力デバイスを備える。表示部４０３は、ＬＣＤ（Liquid Crystal Display）、ＣＲＴ（Cathode Ray Tube）等の表示ディスプレイを含む。通信部４０４は、無線または有線の通信手段を有し、所定の通信方式で通信を行う。
【００９０】
外部記憶部４０６は、例えば、ＨＤＤ、ＳＳＤ、メモリ装置、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ等の記憶媒体等を含む。外部記憶部４０６は、図１の各処理部の機能を、ＣＰＵ４０１に実行させるためのプログラムを記憶している。また、建物情報ＤＢ１０３も、外部記憶部４０６に含まれる。ここでは、外部記憶部４０６を１つのみ示しているが、複数存在しても構わない。
【００９１】
主記憶部４０５は、ＣＰＵ４０１による制御の下で、外部記憶部４０６に記憶された制御プログラムを展開し、当該プログラムの実行時に必要なデータ、当該プログラムの実行により生じたデータ等を記憶する。主記憶部４０５は、例えば不揮発性メモリ等の任意のメモリを含む。
【００９２】
以上、本実施形態によれば、建物の設計検討の初期段階で、建物の性能に関する見積もりを行うことができ、設計方針決定のための評価が可能になる。また、建物情報ＤＢを統計的に解析して、全体の傾向と齟齬のない、修正レコードを計算できる。また、検索したい建物と同一の建物がなくても、部分的に似ている建物のレコード（類似レコード）から、所望の建物情報を得ることができる。
【００９３】
（第２の実施形態）
第１の実施形態では、建物の性質に関するインデクスと、建物の年間電力消費量に関するデータとを含む建物情報の例を説明した。データは、年間電力消費量といった単純なスカラー値に限定されず、他の形式のものでもよい。例えばシミュレーション用のモデル記述に代表される構造をもったデータなど、複雑なデータでもよい。
【００９４】
例えば、年間電力消費量の代わりに、建物のエネルギーシミュレーション用のモデル（以下、エネルギーモデル）をデータとして用いる場合を考える。エネルギーモデルとしては、例えば、ビル向けのシミュレータであるＥｎｅｒｇｙＰｌｕｓ（ＴＭ）に対する、入力モデル（ＩＤＦモデル）等がある。
【００９５】
建物情報ＤＢ１０３には、建物の性質（特徴）を示す属性と属性値の組み合わせをインデクスとし、データＩＤＦを作成するための手順として、シミュレーション用の入力モデル（ＩＤＦ）と、当該とが記憶されているものとする。
【００９６】
例えば、
インデクスを、
[属性名:値,....]
形式で表現し、
建物情報ＤＢ１０３のインデクスは、以下の形式を持つ。
[Name:名前, Area:床面積, Floor:階数, Dir:方位, Loc:場所, Zone:Zone数, Ac:空調の種類, Shape:形状]
【００９７】
建物情報ＤＢ１０３には、例えば以下のインデクス１
インデクス１＝[Name:5ZoneBasic, Area:463.60, Floor:1, Dir:S, Loc:Chicago, Zone:5, AC:non, Shape:Square]
が記憶され、インデクス１に対応して、以下のデータが記憶されているとする。
["Excersize2.idf",{}]  
ここでデータは、[ＩＤＦファイル名,手順の記述]という構成を持つものとする
【００９８】
ＩＤＦファイルの内容について説明する。ＩＤＦファイルはテキスト形式で記述されたファイルであり、エネルギーシミュレーション用のモデルを構成する“オブジェクト”に関する定義情報を含む。
【００９９】
“オブジェクト”は、カテゴリ名と、＜属性名、属性値＞の組み合わせで定義される（な、インデクスに含まれる属性名および属性値とは別物である）。
“オブジェクト”は、テキストのフォーマットとして、以下の形式にて記述される。２つの形式が示され、各形式が上下の横に延びる破線「o---------------------o」で挟まれて示されている。
o---------------------o
カテゴリ名,値
o---------------------o
あるいは
o---------------------o
カテゴリ名,
属性値,   !-属性名
o---------------------o
【０１００】
以下に、"Excersize2.idf"の一部を示す。
o---------------------o
VERSION,8.2;
Building,
Exercise 2,              !- Name
0.0,                     !- North Axis {deg}
City,                    !- Terrain
0.04,                    !- Loads Convergence Tolerance Value
0.4,                     !- Temperature Convergence Tolerance Value {deltaC}
FullInteriorAndExterior, !- Solar Distribution
,                        !- Maximum Number of Warmup Days
6;                       !- Minimum Number of Warmup Days
Timestep,4;
Site:Location,
CHICAGO_IL_USA TMY2-94846,  !- Name
o---------------------o
【０１０１】
例えば、VERSIONカテゴリのオブジェクトの値は8.2、
BuildingカテゴリのオブジェクトのName属性が値＝"Excercise 2"であることを示している。
【０１０２】
また同じカテゴリのオブジェクトを１ファイル内に複数定義することができる。
以下の例では、２つのZoneカテゴリのオブジェクトがあり、それぞれName属性の値が、PLENUMおよびSOUTH PERIMETERであることを示している。
o---------------------o
Zone,
PLENUM,   !-Name
283.2,    !-Volume
Zone,
SOUTH PERIMETER, !-Name
239.247360229,   !-Volume
o---------------------o
【０１０３】
データにおける「手順の記述」とは、当該ＩＤＦファイルが、元となるＩＤＦファイルに対してどのような修正を行って得られたかの履歴を表す。
【０１０４】
以下の説明では、「手順の記述」を、例えば以下の形式で記述するものとする。
{"orignal":X, "proc":{a,b,c}}
ここでa,b,c,dは“操作記述”であるとする。オリジナルのＩＤＦデータ＝Ｘより、操作{a,b,c}を実行して得られたＩＤＦデータであることを示すとする。
【０１０５】
ここで、
{a,b,c}は  a→b→cの順序で操作を行うことを意味する。
{a,(b|c),d}は    
a→(bまたはc)→dの順で操作を行うことを意味する。bとcはいずれか一方のみを行う。
{a,(b||c),d}は
a→(bとcを実行)→dの順で操作を行うことを意味する。bとcは両方とも実行するが、順序はどちらが先でもよい。'||'は、実行順はどちらが先でもよいことを示す。
【０１０６】
また、{"foreach":$a, "in":b, "proc":{c,d})}の形式の記述について説明する。
$aは変数を指している。foreachは、b に含まれる要素それぞれについて、変数$aに代入して、処理proc:{c,d}を実施することを意味する。“in”:bにおけるbは、具体的な値のリストでもよいし、リストを返す関数式（例：objByCategory(“ZONE”)）でもよい。
たとえば
{“foreach”:$a, “in”:[1,2,3],”proc”:{“print($a+1)”,”print($a*2)”}
は、
“print(1+1),print(1*2)”,
“print(2+1),print(2*2)”,
“print(3+1),print(3*2)”,
に相当する。
【０１０７】
また、“操作記述”は、以下のフォーマットで記述する。
<事前条件,"操作関数",事後条件>
【０１０８】
"操作関数"は
add(カテゴリ、オブジェクト指定、値、属性名）
alter(カテゴリ、オブジェクト指定、値、属性名）
delete(カテゴリ、オブジェクト指定、値、属性名）
という形式をとるものとする。
【０１０９】
「オブジェクト指定」は、同一カテゴリ中の特定のオブジェクトを指定する記述である。オブジェクト指定の例を以下に示す。
「#1」は、同一カテゴリ中１番目のオブジェクト（番号数え上げ）を意味する。
「Name==PREMUM」は、属性Nameの値がPRENUMであるオブジェクトを意味する。
【０１１０】
「値」は、具体的な値（文字列または数値など）でもよいし、変数、 $変数名でもよいものとする。
例えば、インデクス２
[Name:5ZoneHVAC, Area:463.60,1, Dir:S, Loc:Chicago, Floor:5, Ac:{HVAC}, Shape:Square]
に対して、建物情報ＤＢ１０３に記憶されたデータが、
["Excersize2A.idf",
{"original":"Excersize2.idf",
"proc":{
<{},add("HVACTemplate:Thermostat",#1,"Name","Office Thermostat"),{}>,
<{},add("HVACTemplate:Thermostat",#1,"Heating Setpoint ScheduleName", "Office Heating Setpoints"),{}>,
<{},add("HVACTemplate:Thermostat",#1,"Cooling Setpoint ScheduleName", "Office Cooling Setpoints"),{}>,
<{}, {"foreach":$zone, "in":objByCategory("Zone"),
"proc":{
<{},add("HVACTemplate:Zone:VAV",$zone.ObjN,"Zone Name", $zone.Name),{}>,
<{},add("HVACTemplate:Zone:VAV",$zone.ObjN,"VAV System Name", "VAV with Reheat"),{}>}
}
},{}>
}
]
であるとする。ここで$zone.ObjNは $zoneのオブジェクトの番号を表すものとする。
【０１１１】
元となるＩＤＦモデル（"Excersize2.idf"）が以下に示す２つのZoneオブジェクトを持っているとする。
o---------------------o
Zone,
PLENUM,   !-Name
283.2,    !-Volume
Zone,
SOUTH PERIMETER, !-Name
239.247360229,   !-Volume
o---------------------o
このとき、操作を行うことにより、以下の３つのオブジェクトが元々のＩＤＦモデルに追加されることを示している。
o---------------------o
HVACTemplate:Thermostat,
Office Thermostat,  !-Name
Office Heating Setpoints, !-Heating Setpoint ScheduleName
Office Cooling Setpoints, !-Cooling Setpoint ScheduleName
HVACTemplate:Zone:VAV,
PLENUM,   !-Zone Name
VAV with Reheat,  !-VAV System Name
HVACTemplate:Zone:VAV,
SOUTH PERIMETER,   !-Zone Name
VAV with Reheat,  !-VAV System Name
o---------------------o
【０１１２】
このように、元々のＩＤＦモデルと、これに対する操作履歴（ＩＤＦを作成するための手順）という形式で、建物情報ＤＢ１０３にデータが記憶されている。
【０１１３】
また別の建物情報の例として、
インデクス、
[Name:5ZoneVRF, Area:463.60, Floor:1, Dir:S, Loc:Chicago, Zone:5, Ac:{VRF}, Shape:Square]
があり、これに対するデータが以下であるとする。
["Excersize2B.idf",
{"original":"Excersize2.idf",
"proc":{
<{},add("HVACTemplate:Thermostat",#1,"Name","Office Thermostat"),{}>,
<{},add("HVACTemplate:Thermostat",#1,"Heating Setpoint ScheduleName", "Office Heating Setpoints"),{}>,
<{},add("HVACTemplate:Thermostat",#1,"Cooling Setpoint ScheduleName", "Office Cooling Setpoints"),{}>,
<{}, {"foreach":$zone, "in":objByCategory("Zone"),
"proc":{
<{},add("HVACTemplate:Zone:VRF",$zone.ObjN,"Zone Name", $zone.Name),{}>,
<{},add("HVACTemplate:Zone:VRF",$zone.ObjN,"VRF System Name", "TOSHIBA VRF"),{}>}
}
},{}>
}
]
ここで、objByCategory("Zone")は”Zone”カテゴリに組まれるオブジェクトのリストを得る関数であるものとする。
【０１１４】
ここで、"Excersize2.idf"のインデクスは
[Name:5ZoneBasic, Area:463.60, Floor:F, Dir:S, Loc:Chicago, Zone:5, Ac:{},Shape: Square]
とすると、
"Excersize2.idf"のインデクスと、"Excersize2A.idf"のインデクスの差分は、
[+]{Ac:{HVAC}}
である。
【０１１５】
また同様に、
"Excersize2.idf"のインデクスと、"Excersize2B.idf"とのインデクスの差分は、
[+]{Ac:{VRF}}
である。
【０１１６】
また、"Excersize2A.idf"と"Excersize2B.idf"の差は、
[+]{Ac:{VRF}}
[-]{Ac:{HVAC}}
である。
【０１１７】
このように建物情報ＤＢに記憶されている情報から、
差分[+]{Ac:{HVAC}}、に対応する修正操作として"Excersize2A.idf"に含まれる操作情報、
差分[+]{Ac:{VRF}}、に対応する修正操作として"Excersize2B.idf"に含まれる操作情報、
を得る。
【０１１８】
いま、新たに類似レコード（類似事例）を検索するための問い合わせインデクスが以下であるものとする。
問い合わせインデクス=[Name:_, Area:_,Floor:4, Dir:S, Loc:Tokyo, Zone:_, Ac:{HVAC,VRF}, Shape:Square]
ここで"_"は特に値を特定しない値を指しているものとする。
【０１１９】
第１の実施形態と同様に、類似建物検索手段１０１により類似レコードを検索し、差分抽出手段１０４により、問い合わせインデクスと類似レコードのインデクスとの差分を計算する。
【０１２０】
類似レコード（類似事例）として、以下のインデクスをもつ２つの類似レコードが得られたとする。
類似レコード１のインデクス=[Name:5ZoneHVAC, Area:463.60,Floor:1, Dir:S, Loc:Chicago, Zone:5, Ac:{HVAC}, Shape:Square]
類似レコード２のインデクス=[Name:5ZoneVRF, Area:463.60,Floor:1, Dir:S, Loc:Chicago, Zone:5, Ac:{VRF}, Shape:Square]
類似レコード１のＩＤＦモデルは"Excersize2A.idf"、類似レコード２のＩＤＦモデルは"Excersize2B.idf"である。
【０１２１】
類似レコード１のインデクスと、問い合わせインデクスとの差は、
[+][Loc:Tokyo,Floor:4,Ac:{VRF}]
[-][Loc:Chicago,Floor:1]
である。
類似レコード２のインデクスと問い合わせインデクスとの差も、同様にして計算できる。
【０１２２】
修正手段１０５は、差分に基づき、ＩＤＦモデルの修正を行う。例えば、類似レコード１における属性LocのChicagoからTokyoへの変更に対しては、該当するＩＤＦモデルの対応する箇所における属性値の変更を行う。同様に類似レコード１における属性Floorの１から４への変更に対しては、該当するＩＤＦモデルの対応する箇所における属性値の変更を行う。
属性Acに対する修正は、前述した差分である[+]{Ac:{VRF}}に対する操作情報を利用する。
すなわち、類似レコード１のＩＤＦモデル"Excersize2A.idf"に対して、"Excersize2B.idf"のデータに含まれる操作情報（以下に抜粋）を適用する。
----------------------------------------
"proc":{
<{},add("HVACTemplate:Thermostat",#1,"Name","Office Thermostat"),{}>,
<{},add("HVACTemplate:Thermostat",#1,"Heating Setpoint ScheduleName", "Office Heating Setpoints"),{}>,
<{},add("HVACTemplate:Thermostat",#1,"Cooling Setpoint ScheduleName", "Office Cooling Setpoints"),{}>,
<{}, {"foreach":$zone, "in":objByCategory("Zone"),
"proc":{
<{},add("HVACTemplate:Zone:VRF",$zone.ObjN,"Zone Name", $zone.Name),{}>,
<{},add("HVACTemplate:Zone:VRF",$zone.ObjN,"VRF System Name", "TOSHIBA VRF"),{}>}
}
},{}>
}
----------------------------------------
【０１２３】
また同様に、類似レコード２のＩＤＦモデル"Excice2B.idf"に対して、"Excersize2A.idf"のデータに含まれる操作情報を適用する。
【０１２４】
このように、検索された類似レコード（類似事例）に対して、類似レコードのインデクスと問い合わせインデクスとの差分を計算し、差分に対応する操作叙法を適用することにより、類似レコードを修正して、検索したい建物情報に相当するＩＤＦモデルを得ることができる。
【０１２５】
建物情報合成手段１０７は、修正されたデータ（ここではＩＤＦモデル）が２つ与えられたとき、修正部分の組み合わせを計算する。建物情報合成手段１０７は、修正されたＩＤＦモデルの差分に基づき、合成されたモデルを計算する。修正されたモデルの差分をとって提示し、ユーザがこれを修正することも可能であるが、修正対象がエネルギーモデルの場合には、モデルの差分を取り、差分から、第１の実施形態に準じて、可能な組み合わせのバリエーションを列挙する。それぞれの組み合わせに対して、組み合わせ自体がエネルギーモデルとして整合性があるかどうかを、シミュレーションを実施して検証し、矛盾のないモデルが得られるまでシミュレーションを繰り返し、最終的に合成されたモデルを得てもよい。
【０１２６】
以上、本実施形態によれば、建物の設計検討の初期段階で、建物のシミュレーションを行うことができ、設計方針決定のための評価が可能になる。
【０１２７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１２８】
１００：建物情報処理装置
１０１：類似建物検索手段
１０２：類似度計算手段
１０３：建物情報データベース（ＤＢ）
１０４：差分抽出手段
１０５：修正手段
１０７：建物情報合成手段
２０１：入力手段
３０１：表示手段
４０１：ＣＰＵ
４０２：入力部
４０３：表示部
４０４：通信部
４０５：主記憶部
４０６：外部記憶部
４０７：バス
【図１】
2016177665.tif 000003
【図２】
2016177665.tif 000004
【図３】
2016177665.tif 000005
【図４】
2016177665.tif 000006
【図５】
2016177665.tif 000007
【図６】
2016177665.tif 000008
【図７】
2016177665.tif 000009