(57)【要約】【課題】検索者の意図に合った辞書データを検索可能な検索技術を提供する。【解決手段】インデックス格納部２２は、辞書データ管理部２１が辞書データを辞書ＤＢ１３に登録する際に、当該辞書データに含まれるある種類のアトリビュートを単語解析し、単語要素毎にアトリビュートの種類に応じて重み付けを行って、インデックスを登録する。入力受付部２３が入力を受け付けたキーワードを適宜分解した単語要素とインデックスとを用いて、辞書データを検索する。辞書要素ランキング確定部２５は、検索された辞書データが、クラスに対応する辞書データ及びプロパティに対応する辞書データの両方ある場合、クラスとプロパティとの対応関係に応じてランキングを確定する。検索結果出力部２６は、確定されたランキング順に、各辞書データに含まれる少なくとも推奨名を検索結果として検索者端末１２へ送信する。【選択図】        図３
2010225101.tif 000002
【特許請求の範囲】
【請求項１】
分類を示すクラス毎のデータであってアトリビュートとプロパティによって記述される辞書データ及びプロパティ毎のデータであってアトリビュートによって記述される辞書データを記憶する第１記憶手段と、
前記辞書データのアトリビュートのうちある種類のアトリビュートの値を単語解析して、前記辞書データ毎に第１単語要素を各々得る第１解析手段と、
前記辞書データ毎の各前記第１単語要素に対して、前記アトリビュートの種類に応じた重み付けを行う重み付け手段と、
前記第１単語要素と、当該第１単語要素に対して付けられた重みとを前記辞書データと対応付けて記憶する第２記憶手段と、
キーワードの入力を受け付ける第１入力受付手段と、
前記キーワードを単語解析して、第２単語要素を得る第２解析手段と、
前記第２単語要素と一致する前記第１単語要素に対応する前記辞書データを検索する検索手段と、
検索された前記辞書データを同一のクラス又は同一のプロパティ毎にグループ化し、前記第１単語要素に対して付けられた重みに従って、グループ毎に前記辞書データをランキングするランキング手段と、
検索された辞書データが、クラスに対応する前記辞書データ及びプロパティに対応する前記辞書データの両方ある場合、クラスとプロパティとの対応関係に応じて、前記グループ毎の前記辞書データのランキングを確定する確定手段と、
確定されたランキングの順に前記辞書データのアトリビュートのうち少なくとも１つを出力する出力手段とを備える
ことを特徴とする検索装置。
【請求項２】
前記確定手段は、検索された辞書データが、クラスに対応する前記辞書データ及びプロパティに対応する前記辞書データの両方ある場合、クラスと当該クラスで定義されたプロパティとの関係に応じて、前記グループ毎の前記辞書データのランキングを確定する
ことを特徴とする請求項１に記載の検索装置。
【請求項３】
検索対象となるクラスを識別可能なクラス識別子の入力を受け付ける第２入力受付手段を更に備え、
前記検索手段は、前記クラス識別子によって特定されるクラスに対応する前記辞書データであって前記第２単語要素と一致する前記第１単語要素に対応する前記辞書データを検索する
ことを特徴とする請求項１又は２に記載の検索装置。
【請求項４】
前記辞書データは、階層付けられており、
前記第１記憶手段は、階層の上位の分類に属する前記プロパティがその下位の分類に継承される前記辞書データを記憶する
ことを特徴とする請求項１乃至３のいずれか一項に記載の検索装置。
【請求項５】
前記出力手段は、確定されたランキングの順に前記辞書データのアトリビュートのうち少なくとも推奨名を出力する
ことを特徴とする請求項１乃至４のいずれか一項に記載の検索装置。
【請求項６】
前記第１解析手段は、前記辞書データのうち、アトリビュートの種類である推奨名、別名及び定義のうち少なくとも１つの値を単語解析して、前記辞書データ毎に少なくとも１つの第１単語要素を各々得る
ことを特徴とする請求項１乃至５のいずれか一項に記載の検索装置。
【請求項７】
分類を示すクラス毎のデータであってアトリビュートとプロパティによって記述される辞書データ及びプロパティ毎のデータであってアトリビュートによって記述される辞書データを記憶する第１記憶手段を備える検索装置で実行される検索方法であって、
前記辞書データのアトリビュートのうちある種類のアトリビュートの値を単語解析して、前記辞書データ毎に少なくとも１つの第１単語要素を各々得る第１解析ステップと、
前記辞書データ毎の各前記第１単語要素に対して、前記アトリビュートの種類に応じた重み付けを行う重み付けステップと、
前記第１単語要素と、当該第１単語要素に対して付けられた重みとを前記辞書データと対応付けて第２記憶手段に記憶させる記憶制御ステップと、
キーワードの入力を受け付ける第１入力受付ステップと、
前記キーワードを単語解析して、少なくとも１つの第２単語要素を得る第２解析ステップと、
前記第２単語要素と一致する前記第１単語要素に対応する前記辞書データを検索する検索ステップと、
検索された前記辞書データを同一のクラス又は同一のプロパティ毎にグループ化し、前記第１単語要素に対して付けられた重みに従って、グループ毎に前記辞書データをランキングするランキングステップと、
検索された辞書データが、クラスに対応する前記辞書データ及びプロパティに対応する前記辞書データの両方ある場合、クラスとプロパティとの対応関係に応じて、前記グループ毎の前記辞書データのランキングを確定する確定ステップと、
確定されたランキングの順に前記辞書データのアトリビュートのうち少なくとも１つを出力する出力ステップとを含む
ことを特徴とする検索方法。
【請求項８】
請求項７に記載の方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索装置、方法及びプログラムに関する。
【背景技術】
【０００２】
従来、製品を製造したり販売したりするサプライヤ企業と、その製品を利用するユーザ企業との間で交換される技術文書には、製品カタログ、スペックシート、納入仕様書などがある。これらの文書で用いる用語、特に、製品の仕様を表すデータ項目の統一が急務の課題となっている。用語やデータ項目の統一は、サプライヤ企業内におけるデータ作成のみならず、ユーザ企業とサプライヤ企業との間においても、ユーザ企業側の文書の一覧性の観点から必要となってきている。最近では、サプライヤ企業と、ユーザ企業とが一丸となり製品分類毎に標準的なデータ項目を定めた辞書（標準辞書という）を開発しており、データ項目の標準化や統一化がはかられるようになってきている。辞書の形式の１つとして、ISO13584（通称、ＰＬＩＢ：Parts Library）がある。ＰＬＩＢは、各製品の仕様データを表現するためのデータ項目の集合である「プロパティ」と製品分類を定める「クラス」とを定義するための構造及びその辞書に従って具体的な製品仕様を記述した「コンテンツ」を交換するための構造を定めた国際規格である。ＰＬＩＢにおいては、データ項目が何を意味するかを説明する詳細項目に相当する「アトリビュート」を標準化している。ＰＬＩＢに従ったデータを管理するデータベースは、階層型データベースの１つととらえることができる。
【０００３】
ＰＬＩＢに従う国際辞書としては、計測器に関するISO13584-501や、ボルト／ナットなどに関するISO13584-511などがある。また、工業界標準辞書としては、日本では（社）電子情報技術産業協会のECALS辞書、（社）日本電機工業会のJeMarche辞書などがある。世界各国においても、このような辞書の開発が活発となっている。
【０００４】
ＰＬＩＢ辞書には、「プロパティ」の「アトリビュート」の１つとして、「推奨名」が定義されており、一般の製品仕様文書などの技術文書においても、この「推奨名」で定義された用語が用いられることが望ましいと考えられる。用語として別名が用いられていたとしても、その概念自体は辞書にて定義された「プロパティ」と一致することが望ましい。
【０００５】
通常、技術文書を作成するのは、一般のドメインエンジニアである。このためＰＬＩＢに精通していないエンジニアであっても、自分が頭の中で思い描いている「プロパティ」やその「推奨名」をキーワード入力等により簡単に正しく同定（検索）できる機能が必要とされている。
【０００６】
階層型データベースの「プロパティ」及び「アトリビュート」を含む辞書データを検索する方式としては、例えば以下の２つの方式がある。
（１）いくつかのアトリビュートをまとめて部分一致検索する方式。例えば「推奨名」と「別名」と「短縮名」などのアトリビュートに関して入力したキーワードと部分一致するプロパティを出力するという方式（例えば特許文献１，２参照）。
（２）ベクトル空間法によって検索する方式。例えば、全文検索を利用し、文書をN-gram又は形態素解析により単語に分割して、tf-idfに代表されるように特徴ベクトルを抽出し、これをキーワードのベクトルと比較し、類似する辞書データを検索するという方式。
【０００７】
また、ＰＬＩＢの検索とは少し異なるが、一般のオントロジー検索エンジンの分野において、辞書データを検索する方式としては、例えば以下の２つの方式がある。
（３）Web上のオントロジーについて「クラス名」や「プロパティ名」などを対象に部分一致検索し、閲覧するOntoSelectという方式。これは上述の（１）の方式と略同等である。
（４）より多くのセマンティックＷｅｂコンテンツから参照されているクラスやプロパティが良いオントロジーであるとの前提に立ち、検索結果をランキングするSwoogleにおけるOntoRankやTermRankなどの方式。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００４−１７７９９６号公報
【特許文献２】特開２００４−１７８０１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、（１）、（３）の方式では、個々の辞書データを検索対象としているため、例えば以下のような問題が発生する恐れがある。検索者が「クラス」「プロパティ」をまたがるキーワードを入力することで、関連する辞書データを検索して関連性の高い順にランキングするといったケースでは、辞書上に同一の「推奨名」を持つプロパティが存在する場合、検索者の意図に合わない誤ったランキングを提示してしまう恐れがある。
【００１０】
また、各辞書データを文書と見なし、（２）の方式で辞書データを検索する場合には、例えば以下のことが困難になる恐れがある。辞書データにおける定義は文字数が少ないため、そこから特徴ベクトルを抽出することは不正確となり、ＰＬＩＢ内にある「クラス」「プロパティ」間の明示的な関係を検索結果に反映するということである。更に（４）の方式では、ランキングの上位になった辞書データが、必ずしも対象領域において適用可能であるとは限らない、といった問題があることが分かっている。
【００１１】
本発明は、上記に鑑みてなされたものであって、検索者の意図に合った辞書データを検索可能な検索装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、本発明は、検索装置であって、分類を示すクラス毎のデータであってアトリビュートとプロパティによって記述される辞書データ及びプロパティ毎のデータであってアトリビュートによって記述される辞書データを記憶する第１記憶手段と、前記辞書データのアトリビュートのうちある種類のアトリビュートの値を単語解析して、前記辞書データ毎に少なくとも１つの第１単語要素を各々得る第１解析手段と、前記辞書データ毎の各前記第１単語要素に対して、前記アトリビュートの種類に応じた重み付けを行う重み付け手段と、前記第１単語要素と、当該第１単語要素に対して付けられた重みとを前記辞書データと対応付けて記憶する第２記憶手段と、キーワードの入力を受け付ける第１入力受付手段と、前記キーワードを単語解析して、少なくとも１つの第２単語要素を得る第２解析手段と、前記第２単語要素と一致する前記第１単語要素に対応する前記辞書データを検索する検索手段と、検索された前記辞書データを同一のクラス又は同一のプロパティ毎にグループ化し、前記第１単語要素に対して付けられた重みに従って、グループ毎に前記辞書データをランキングするランキング手段と、検索された辞書データが、クラスに対応する前記辞書データ及びプロパティに対応する前記辞書データの両方ある場合、クラスとプロパティとの対応関係に応じて、前記グループ毎の前記辞書データのランキングを確定する確定手段と、確定されたランキングの順に前記辞書データのアトリビュートのうち少なくとも１つを出力する出力手段とを備えることを特徴とする。
【００１３】
また、本発明は、分類を示すクラス毎のデータであってアトリビュートとプロパティによって記述される辞書データ及びプロパティ毎のデータであってアトリビュートによって記述される辞書データを記憶する第１記憶手段を備える検索装置で実行される検索方法であって、前記辞書データのアトリビュートのうちある種類のアトリビュートの値を単語解析して、前記辞書データ毎に少なくとも１つの第１単語要素を各々得る第１解析ステップと、前記辞書データ毎の各前記第１単語要素に対して、前記アトリビュートの種類に応じた重み付けを行う重み付けステップと、前記第１単語要素と、当該第１単語要素に対して付けられた重みとを前記辞書データと対応付けて第２記憶手段に記憶させる記憶制御ステップと、キーワードの入力を受け付ける第１入力受付ステップと、前記キーワードを単語解析して、少なくとも１つの第２単語要素を得る第２解析ステップと、前記第２単語要素と一致する前記第１単語要素に対応する前記辞書データを検索する検索ステップと、検索された前記辞書データを同一のクラス又は同一のプロパティ毎にグループ化し、前記第１単語要素に対して付けられた重みに従って、グループ毎に前記辞書データをランキングするランキングステップと、検索された辞書データが、クラスに対応する前記辞書データ及びプロパティに対応する前記辞書データの両方ある場合、クラスとプロパティとの対応関係に応じて、前記グループ毎の前記辞書データのランキングを確定する確定ステップと、確定されたランキングの順に前記辞書データのアトリビュートのうち少なくとも１つを出力する出力ステップとを含むことを特徴とする。
【００１４】
また、本発明は、上記の記載の方法をコンピュータに実行させるためのプログラムである。
【発明の効果】
【００１５】
本発明によれば、検索者の意図に合った辞書データを検索可能になる。
【発明を実施するための形態】
【００１６】
以下に添付図面を参照して、この発明にかかる検索装置、方法及びプログラムの最良な実施の形態を詳細に説明する。
【００１７】
（１）構成
まず、本実施の形態にかかる検索システムの構成について図１を用いて説明する。検索システムは、検索装置１０は、辞書管理者端末１１と有線又は無線により接続され、検索者端末１２と有線又は無線により接続される。辞書管理者端末１１は、後述する辞書ＤＢへ登録する辞書データを検索装置１０に送信する。検索者端末１２は、検索者が辞書データを検索するためにキーワードが入力される装置であり、入力されたキーワードを検索装置１０に送信する。
【００１８】
次に、検索装置１０のハードウェア構成について図２を用いて説明する。検索装置１０は、装置全体を制御するＣＰＵ（Central Processing Unit）等の制御部１０１と、各種データや各種プログラムを記憶するＲＯＭ（Read Only Memory）１０４やＲＡＭ１０５（Random Access Memory）等の記憶部と、各種データや各種プログラムを記憶するＨＤＤ（Hard Disk Drive）やＣＤ（Compact Disk）ドライブ装置等の外部記憶部１０７と、これらを接続するバス１０８とを備えており、通常のコンピュータを利用したハードウェア構成となっている。また、検索装置１０には、情報を表示する表示部１０３と、ユーザの指示入力を受け付けるキーボードやマウス等の操作部１０２と、外部装置である辞書管理者端末１１や検索者端末１２との通信を制御する通信Ｉ／Ｆ（interface）とが有線又は無線により各々接続される。
【００１９】
次に、このようなハードウェア構成において、検索装置１０の制御部１０１がＲＯＭ１０４や外部記憶部１０７に記憶された各種プログラムを実行することにより実現される各種機能について具体的に説明する。図３は、検索装置１０の各機能的構成を例示する図である。検索装置１０は、辞書ＤＢ１３と、辞書データ管理部２１と、インデックス格納部２２と、入力受付部２３と、辞書要素あいまい検索部２４と、辞書要素ランキング確定部２５と、検索結果出力部２６とを有する。これらのうち、辞書データ管理部２１と、インデックス格納部２２と、入力受付部２３と、辞書要素あいまい検索部２４と、辞書要素ランキング確定部２５と、検索結果出力部２６とは、制御部１０１のプログラム実行時にＲＡＭ１０５などの記憶部上に生成されるものである。辞書ＤＢ１３は、例えば外部記憶部１０７に記憶されるものである。
【００２０】
辞書ＤＢ１３は、辞書データ及びインデックステーブルを記憶する。辞書データは、製品の分類と階層を示すクラスと、クラスを特徴付けるプロパティによって定義される。またプロパティは少なくとも１つのアトリビュートによって記述される。このクラス及びプロパティ毎に辞書データは存在する。辞書データの具体例及びインデックステーブルの詳細については後述する。尚、製品とは、ユーザのニーズや欲求を満たすために、市場へと提供されるものであり、有形のものだけでなく、サービス、経験、イベント、人、場所、資産、組織、情報、アイデアなどが製品に含まれる。
【００２１】
図４は、辞書ＤＢ１３のデータ構造を例示する図である。同図では、辞書ＤＢ１３は、分類（クラス）を中心とした階層構造を有していることが示されている。同図に示される階層構造においては、「半導体」という分類をルートクラスとし、その子クラスとして「発光ダイオード」と「受光素子」とが存在する。即ち、「半導体」は「発光ダイオード」「受光素子」という２つの分類に細分化されることが示されている。階層構造は何層であっても構わない。尚、（）内に書かれた記号（この例ではC1〜C3）は、辞書ＤＢ１３内で唯一につけられたクラスを表すコードであり、ＰＬＩＢ規格では「クラスＢＳＵコード」と呼ぶ識別子に相当する。
【００２２】
図４に示すように、階層構造を定義するクラスでは、それぞれ固有のプロパティ（図４中、点線で囲まれた部分）が定義される。各クラスにおいては、当該クラスの上位クラスで定義されたプロパティが継承される。例えば、クラス「受光素子」が持つプロパティは、当該クラスで定義されたプロパティと、その上位クラス「半導体」で定義されたプロパティということになる。このようにクラスとプロパティとは対応関係を有している。尚、クラスの場合と同様にプロパティにおいても辞書ＤＢ１３内で唯一に付与されたプロパティを表すコード（「プロパティＢＳＵコード」又は単に「ＢＳＵ」）（この例ではP0〜P3）が付与される。以降では、上述したクラスを表すコード及びプロパティを表すコードを共にＢＳＵコードとして取り扱う。
【００２３】
図５は、クラス毎の辞書データを例示する図である。各行がクラス毎の各辞書データに対応しており、各辞書データは、各クラスを識別するためのＢＳＵコードと、各アトリビュートとして「推奨名」「別名」「定義」と、当該クラスの上位のクラスを識別するための上位クラスのＢＳＵコードとを各々含んでいる。
【００２４】
図６は、プロパティ毎の辞書データを例示する図である。１番上の行を除く各行がプロパティ毎の各辞書データに対応したレコードである。各辞書データは、各プロパティを識別するためのＢＳＵコードと、当該プロパティが定義されたクラス（定義クラスという）を識別するためのＢＳＵコードと、各アトリビュートとして「推奨名」「別名」「定義」「単位」とを各々含んでいる。また本実施の形態では利用しないがプロパティの「短縮名称」や「シンボル」や「データ型」や、プロパティ自体の定義の出典を示す「出典」といったアトリビュートもＰＬＩＢには存在する。このようにクラスの親子関係、プロパティとそのアトリビュートの種類及びデータ型の種類などの辞書の構造を定めたデータモデルの１つとして、前述した製品部品ライブラリの交換フォーマットの国際標準であるISO13584（Parts Library：ＰＬＩＢ）がある。なお、本実施の形態においては、辞書がＰＬＩＢに従った場合の適用例を用いて説明するが、ＰＬＩＢ以外のデータベースへ適用しても構わない。
【００２５】
図３の説明に戻る。辞書データ管理部２１は、辞書ＤＢ１３を管理するものであり、具体的には、辞書管理者端末１１から送信された辞書データを受信し、これを辞書ＤＢ１３に登録したり、辞書ＤＢ１３に登録された辞書データへのアクセスを制御したり当該辞書データの修正や削除を行なったりする。インデックス格納部２２は、辞書データ管理部２１が辞書データを辞書ＤＢ１３に登録する際に、当該辞書データに含まれるアトリビュートのうちある種類のアトリビュートの値を単語解析して各単語（単語要素という）に分解し、単語要素毎にアトリビュートの種類に応じて重み付けを行って、各クラス及び各プロパティの単語要素毎のインデックスとしてインデックステーブルに各々登録する。ある種類のアトリビュートとは、ここでは「推奨名」「別名」「定義」とする。
【００２６】
図７は、インデックスを例示する図である。図７に示されるように、図５及び図６に示した各クラス及び各プロパティのそれぞれについて、アトリビュートである「推奨名」「別名」「定義」の各値である文字列が各々分解された単語要素毎のインデックスが各行において例示されている。各行において示されるインデックスは、クラスかプロパティかをC又はPにより識別するためのC/Pと、当該クラス又はプロパティのＢＳＵコードと、単語要素と、当該単語要素に分解されたアトリビュートのアトリビュート名と、重みの値とを含む。各インデックスは、ＢＳＵコードにより、クラス又はプロパティの辞書データと対応付けられる。
【００２７】
図３の説明に戻る。入力受付部２３は、検索者端末１２において入力され送信されたキーワードを受信し、当該キーワードを単語解析して各単語要素に適宜分解する。辞書要素あいまい検索部２４は、入力受付部２３が入力を受け付けたキーワードを適宜分解した単語要素とインデックステーブルに登録されたインデックスとを用いて、辞書データを検索して、当該辞書データをランキングする。具体的には、辞書要素あいまい検索部２４は、キーワードから適宜分解された単語要素と一致する単語要素を含むインデックスのレコードをインデックステーブルから検索し、その検索結果を同一のクラス又は同一のプロパティ毎にグループ化し、重み付けに従って各辞書データの得点を計算し、得点の順に辞書データをランキングする。尚、検索されたインデックスに含まれるＢＳＵコードに対応する辞書データが、検索された辞書データとなる。辞書要素ランキング確定部２５は、辞書要素あいまい検索部２４が検索した辞書データが、クラスに対応する辞書データ及びプロパティに対応する辞書データの両方ある場合、クラスとプロパティとの対応関係に応じてランキングを確定する。検索結果出力部２６は、辞書要素ランキング確定部２５が確定したランキングの順に、各辞書データに含まれる少なくとも「推奨名」を含むアトリビュートの値を検索結果として検索者端末１２へ送信する。
【００２８】
（２）動作
次に、本実施の形態にかかる検索装置１０の行う処理の手順について説明する。まず、検索装置１０が辞書データを辞書ＤＢ１３に登録すると共にインデックスをインデックステーブルに登録する登録処理の手順について説明する。検索装置１０は、辞書管理者端末１１から送信された辞書データを受信すると、辞書データ管理部２１の機能により、辞書データを辞書ＤＢ１３に登録する。ここで登録対象の辞書データは図５〜６に示したものとする。このとき、検索装置１０は、インデックス格納部２２の機能により、当該辞書データのインデックスをインデックステーブルに登録する。図８は、辞書データのインデックスをインデックステーブルに登録する処理の手順を示すフローチャートである。検索装置１０は、図５〜６に示した登録対象の辞書データをdicElem(i,j)としてＲＡＭ１０５などの記憶部に記憶する（ステップＳ１）。但し、iは一番上の行を除く各行に対応する、辞書データのレコードを表し、jは各列に対応するアトリビュートを表している。上述したようにアトリビュートの種類はここでは「推奨名」「定義」「別名」であり、jの値は左から順に「1」,「2」,「3」とする。次に、検索装置１０は、dicElem(i,j)の全ての辞書データについて（ステップＳ２）、対象とするアトリビュートの全てに対して（ステップＳ３）、アトリビュート値として表される文字列を各々単語解析する（ステップＳ４）。例えば、図５においてiが「2」でありjが「1」のアトリビュートについては、即ち、図５の２行目のクラス「Ｃ２」でアトリビュート「推奨名」については、その文字列は「発光ダイオード」である。この場合、検索装置１０は、単語解析により、これを「発光」と「ダイオード」とに分解する。そして、検索装置１０は、このように分解した全ての単語（単語要素）に対して、アトリビュートの種類に応じた重み付けを行い、この重みの値（w(j)）をＢＳＵコードと共にインデックステーブルに登録する（ステップＳ５）。
【００２９】
本実施の形態では、重みとして、アトリビュートの種類毎に以下の値を用いるものとする。
「推奨名」：1.0
「別名」：0.8
「定義」：0.2
【００３０】
この結果、図５の２行目のクラス「Ｃ２」でアトリビュート「推奨名」については、図７に示されるインデックスＩｄ１〜Ｉｄ２がインデックステーブルに登録される。検索装置１０は、登録対象の全ての辞書データに含まれ、対象となるアトリビュートの全てに対して以上の処理を繰り返す。図５〜６に示した辞書データについては、図７に示される全てのインデックスがインデックステーブルに登録されることになる。
【００３１】
次に、検索者が入力したキーワードに基づいて辞書データを検索する検索処理の手順について図９〜１０を用いて説明する。検索装置１０は、入力受付部２３の機能により、検索者端末１２で入力され送信されたキーワードを受信すると、当該キーワードを単語解析して、単語に分解する（ステップＳ１０）。ここでの単語解析の方法はステップＳ４で行なう単語解析の方法と同様である。例えばここでは、キーワードとして、「ダイオード  上昇時間」が入力されたとする。このとき、ステップＳ１０では、検索装置１０は、「ダイオード」と「上昇」と「時間」との各単語に分解する。続いて、検索装置１０は、分解した各単語（単語要素）を用いて、辞書要素あいまい検索部２４の機能により、以下の処理を行う。まず、検索装置１０は、キーワードから分解した各単語要素に一致する単語要素を含むインデックスをインデックステーブルから検索する（ステップＳ１１）。そして、検索装置１０は、その検索結果を同一のクラス又は同一のプロパティ毎にグループ化して、重み付けに従って辞書データの得点を計算する（ステップＳ１２）。本実施の形態ではＢＳＵコードによりインデックスと辞書データとが対応付けられている。このため、グループ化は、ＢＳＵコード毎に行うものとする。また、得点は、ＢＳＵコード毎に重みの値を単純に合算するものとする。
【００３２】
「ダイオード」と「上昇」と「時間」との各単語要素の例では、ステップＳ１２では、図７に示されるインデックスＩｄ２〜Ｉｄ９が検索の結果得られる。図１１は、この検索結果をＢＳＵコード毎にグループ化し、重み付けに従って計算された辞書データの得点を示す図である。図１１においては、各辞書データを識別するためのＢＳＵコードと、計算された得点とが辞書データ毎に示されている。以上のようにして検索された結果は簡単なあいまい検索の結果と同様であり、この結果だけを参照すると、プロパティ「P1」（クラス「C3」における「立ち上がり時間」）の得点が一番高いため、プロパティ「P1」の辞書データが検索結果としてもっともらしいという結果が得られる。
【００３３】
続いて、検索装置１０は、辞書要素ランキング確定部２５の機能により、ランキングされた辞書データが、クラスに対応する辞書データ及びプロパティに対応する辞書データの両方ある場合、クラスとプロパティとの対応関係に応じてランキングを確定する（ステップＳ１３）。具体的には、検索装置１０は、クラスと当該クラスで定義されたプロパティとについて、その得点をプロパティ毎及びクラス毎に合計して、合計得点の順をランキングとして確定する。ここで、ランキングを確定する処理の手順の詳細について図１０を用いて説明する。尚、プロパティPiの定義されているクラス（定義クラス）をPi.def_classと表記し、プロパティPiに対応する辞書データの得点をPoint^(Pi)と表記する。ここでは、各プロパティの定義クラスは以下の通りである。
P0.def_class=C1
P1.def_class＝C3
P2.def_class＝C2
P3.def_class= C2
【００３４】
検索装置１０は、プロパティPiの得点に対し、その定義クラスPi.def_classの得点を合算して、プロパティPiの合計得点を算出する（ステップＳ２０）。各合計得点は例えば以下の通りとなる。
Point^(P0)=0+0=0
Point^(P1)=2.8+0=2.8
Point^(P2)=2.6+1.0=3.6
Point^(P3)=0+1.0 =1.0
【００３５】
その後、検索装置１０は、合計得点の順に辞書データをランキングする（ステップＳ２１）。上述の例では、プロパティについてのランキングの順は、「P2>P1>P3>P0」となる。
【００３６】
そして、クラス自体の得点については、検索装置１０は変更せずに、その得点の順に辞書データをランキングする（ステップＳ２２）。図６の例では、クラスについてのランキングの順は、「C2>C3=C1」となる。
【００３７】
この結果、プロパティP1，P2の各「推奨名」は、いずれも「立ち上がり時間」であり同一であるが、プロパティと定義クラスとの関係を考慮することで、同一の推奨名を有するプロパティのいずれが、検索者の意図に合うかを判別することができる。従って、適切な辞書データを検索することが可能になる。
【００３８】
図９の説明に戻る。最後に、検索装置１０は、検索結果出力部２６の機能により、ステップＳ１３で確定したランキングの順に、各辞書データとして少なくとも「推奨名」を含むアトリビュートの値を検索結果として検索者端末１２へ送信する（ステップＳ１４）。図１２は、検索結果を例示する図である。図１２においては、辞書データを識別するためのＢＳＵコードと、「推奨名」とが検索結果として各々示されている。
【００３９】
以上のように、クラスの辞書データ及びプロパティの辞書データのうちある種類のアトリビュートについて単語要素を切り出し、アトリビュートの種類に応じて各単語要素に重み付けを行なう。これにより、辞書データ内のあいまい性を持たせた上で、ＰＬＩＢの特徴である辞書データ間で定義された対応関係、例えばプロパティと当該プロパティが定義されているクラスとの関係を考慮した検索を実現することができる。即ち、辞書データにおいて同一の推奨名を持つプロパティが存在し、検索者がクラスとプロパティとで共通するキーワードを入力しこれを用いて検索する場合においても、単語要素に付けられた重みを考慮してランキングすることにより、検索者の意図にあった確からしいランキングで辞書データを提示することができる。このため、ＰＬＩＢに精通していない人でも、キーワードの入力から、「プロパティ」や「推奨名」を簡単に同定（検索）することができる。このため、製品の仕様文書などの技術文書の作成時に、標準辞書で定義された推奨名と概念を用いた記述の支援をすることができる。このように、製品の仕様文書に記述される用語を、標準辞書で定義された推奨名に統一することで、仕様文書を作成するサプライ企業及び仕様文書を利用するユーザ企業間の意味解釈の齟齬をなくすことができ、仕様文書の品質を向上させることができる。
【００４０】
[変形例]
なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、以下に例示するような種々の変形が可能である。
【００４１】
＜変形例１＞
上述した実施の形態において、検索装置１０で実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また当該各種プログラムを、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital Versatile Disk）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成しても良い。
【００４２】
＜変形例２＞
上述した実施の形態において、検索者端末１２でキーワードと共に検索の対象となるクラスが入力され検索装置１０に送信されるようにしても良い。検索装置１０は、キーワードと共にクラスの入力を受け付けると、辞書ＤＢ１３に記憶された辞書データのうち、当該クラスの辞書データのみを検索の対象として上述の検索処理を行うようにする。このように検索の対象を限定することで、検索処理をより効率的に行うことができる。
【００４３】
＜変形例３＞
上述した実施の形態において、インデックス格納部２２は、各クラス及び各プロパティの単語要素毎のインデックスをインデックステーブルに各々登録する際に、助詞や副詞や形容詞などの単語を登録の対象外とし、名詞や未知の単語のみを登録の対象とするようにしても良い。
【００４４】
＜変形例４＞
上述した実施の形態において、重み付けに従って辞書データの得点を計算する方法は、上述の例に限らず、また、クラスとプロパティとの対応関係に応じてランキングを確定する方法も上述の例に限らない。
【００４５】
＜変形例５＞
上述した実施の形態において、検索対象とするクラスを検索者が指定するように構成しても良い。この場合、入力受付部２３は、検索者端末１２を介して、キーワードの他、検索対象のクラスを識別可能なクラス識別子の入力を受け付ける。クラス識別子は、例えばＢＳＵコードや「推奨名」などの名称である。辞書要素あいまい検索部２４は、入力受付部２３が入力を受け付けたキーワードを適宜分解した単語要素とインデックステーブルに登録されたインデックスとを用いて、入力受付部２３が入力を受け付けた検索対象のクラスの辞書データを検索して、当該辞書データをランキングする。
【００４６】
図１３は、本変形例にかかる検索者が入力したキーワードに基づいて辞書データを検索する検索処理の手順を示すフローチャートである。ステップＳ１０は上述の実施の形態と同様である。ステップＳ３０では、検索装置１０は、検索対象のクラスの上位のクラスと、自身を含む下位のクラスと、上位のクラスで定義されたプロパティと、自身を含む下位のクラスで定義されたプロパティとの各々に対応する辞書データを検索対象とする（ステップＳ３０）。検索対象の辞書データのＢＳＵコードの集合を検索対象集合Eとする。例えば、検索対象のクラスとして「発光ダイオード（C2）」が指定されている場合、この上位のクラスはC1である。下位クラスは存在しないため、自身を含む下位のクラスは、C2である。上位のクラスで定義されたプロパティは、P0である。自身を含む下位のクラスで定義されたプロパティは、P2,P3である。従って、検索対象集合は、「E={C1,C2,P0,P2,P3}」となる。
【００４７】
そして、検索装置１０は、ＢＳＵコードが検索対象集合に含まれるインデックスのうち、キーワードから分解した各単語要素に一致する単語要素を含むインデックスをインデックステーブルから検索する（ステップＳ３１）。例えば、キーワードとして、「ダイオード  上昇時間」が入力された場合、キーワードから分解した各単語要素は、「ダイオード」と「上昇」と「時間」である。この各単語要素を用いた検索の結果、本変形例においては、ステップＳ３１では、図７に示されるインデックスＩｄ２，Ｉｄ７〜Ｉｄ９が得られる。そして、検索装置１０は、上述の実施の形態と同様にして、検索結果を同一のクラスと同一のプロパティ毎とにグループ化して、重み付けに従って辞書データの得点を計算する（ステップＳ３２）。図１４は、この検索結果をＢＳＵコード毎にグループ化し、重み付けに従って計算された辞書データの得点を示す図である。ステップＳ１３は上述の実施の形態と同様である。各プロパティの定義クラスは以下の通りである。
P0.def_class=C1
P2.def_class＝C2
P3.def_class= C2
【００４８】
この検索対象集合の例では、検索装置１０は、プロパティPiの得点に対し、その定義クラスPi.def_classの得点を合算して、プロパティPiの合計得点を算出すると、各合計得点は例えば以下の通りとなる。
Point^(P0)=0+0=0
Point^(P2)=2.6+1.0=3.6
Point^(P3)=0+1.0 =1.0
プロパティについてのランキングの順は、「P2>P3>P0」となる。上述の実施の形態の例と比べて、ここでは、プロパティP1及びクラスC3が対象外となっているため、上述の実施の形態の例と異なるランキングとなる。クラスについてのランキングの順は、「C2>C3」となる。このようにランキングを確定した後検索装置１０は、ステップＳ１４で、上述の実施の形態と同様にして検索結果を検索者端末１２へ送信する。
【００４９】
以上のように、検索対象のクラスを絞ることで、検索の処理効率を向上させることができつつ、仕様文書の品質を向上させることができる。
【００５０】
＜変形例６＞
上述した実施の形態において、表面的に仕様文書上の用語を推奨語に合わせることの他に、辞書データを仕様文書に埋め込むことができる場合には、検索した辞書データ自体又はそのＢＳＵコードを仕様文書に埋め込むようにしても良い。図１５は、Office Open XML形式に従い、カスタム定義XMLを利用した時のタグ挿入例を示す図である。図１５においては、辞書データのＢＳＵコードがタグＴＧ１により埋め込まれ、「推奨名」がタグＴＧ２により埋め込まれている。図１６は、尚、予め定義したカスタムXMLのスキーマを例示する図である。このような構成によれば、ステップＳ１４の検索結果として、例えば、図１７に示されるように、タグＴＧ１〜ＴＧ２が表示されないものの、このような情報を埋め込むための情報を、検索者端末１２に表示させることができる。
【図面の簡単な説明】
【００５１】
【図１】一実施の形態にかかる検索システムの構成を例示する図である。
【図２】同実施の形態にかかる検索装置１０のハードウェア構成を例示する図である。
【図３】同実施の形態にかかる検索装置１０の各機能的構成を例示する図である。
【図４】同実施の形態にかかる辞書ＤＢ１３のデータ構造を例示する図である。
【図５】同実施の形態にかかるクラス毎の辞書データを例示する図である。
【図６】同実施の形態にかかるプロパティ毎の辞書データを例示する図である。
【図７】同実施の形態にかかるインデックスを例示する図である。
【図８】同実施の形態にかかる辞書データのインデックスをインデックステーブルに登録する処理の手順を示すフローチャートである。
【図９】検索者が入力したキーワードに基づいて辞書データを検索する検索処理の手順を示すフローチャートである。
【図１０】同実施の形態にかかるランキングを確定する処理の手順の詳細について図１０を用いて説明する。
【図１１】同実施の形態にかかる検索結果をＢＳＵコード毎にグループ化し、重み付けに従って計算された辞書データの得点を示す図である。
【図１２】同実施の形態にかかる最終的な検索結果を例示する図である。
【図１３】同実施の形態の変形例にかかる検索者が入力したキーワードに基づいて辞書データを検索する検索処理の手順を示すフローチャートである。
【図１４】同変形例にかかる検索結果をＢＳＵコード毎にグループ化し、重み付けに従って計算された辞書データの得点を示す図である。
【図１５】一変形例にかかるOffice Open XML形式に従い、カスタム定義XMLを利用した時のタグ挿入例を示す図である。
【図１６】同変形例にかかる予め定義したカスタムXMLのスキーマを例示する図である。
【図１７】同変形例にかかる検索結果を例示する図である。
【符号の説明】
【００５２】
１０  検索装置
１１  辞書管理者端末
１２  検索者端末
１３  辞書ＤＢ
２１  辞書データ管理部
２２  インデックス格納部
２３  入力受付部
２４  辞書要素あいまい検索部
２５  辞書要素ランキング確定部
２６  検索結果出力部
１０１  制御部
１０２  操作部
１０３  表示部
１０７  外部記憶部
１０８  バス
【図１】
2010225101.tif 000003
【図２】
2010225101.tif 000004
【図３】
2010225101.tif 000005
【図４】
2010225101.tif 000006
【図５】
2010225101.tif 000007
【図６】
2010225101.tif 000008
【図７】
2010225101.tif 000009
【図８】
2010225101.tif 000010
【図９】
2010225101.tif 000011
【図１０】
2010225101.tif 000012
【図１１】
2010225101.tif 000013
【図１２】
2010225101.tif 000014
【図１３】
2010225101.tif 000015
【図１４】
2010225101.tif 000016
【図１５】
2010225101.tif 000017
【図１６】
2010225101.tif 000018
【図１７】
2010225101.tif 000019