(57)【要約】【課題】シソーラス辞書を用いた検索において、極めて汎用的な上位用語への検索用語の拡張や、抽象的な用語への検索用語の拡張を抑制して、用語の意味を考慮した検索用語の拡張を行い、より条件に合った検索を行うこと。【解決手段】シソーラス辞書検索手段１０１がシソーラス辞書ＤＢ１０３を用いて検索用語を拡張し、人材検索手段１０２が拡張された検索用語を用いて人材ＤＢ１０４を検索する構成を特徴とし、シソーラス辞書ＤＢ１０３は、登録された用語に、汎用的な用語を示すストップマーク、抽象的な用語を示す抽象フラグ等を設定可能なものであり、シソーラス辞書検索手段１０１は、ストップマークが設定された用語をシソーラス辞書の上位検索の終点とするシソーラス辞書検索終点決定手段１０１１と、抽象フラグが設定された用語を検索用語の拡張から排除するシソーラス辞書抽象用語排除手段１０１２とを有する構成を特徴とする。【選択図】図１
2009080675.tif 000002
【特許請求の範囲】
【請求項１】
シソーラス辞書を用いて検索用語の類義語を検索して検索用語を拡張するシソーラス辞書検索手段と、
前記シソーラス辞書検索手段により拡張された検索用語を用いてデータベースを検索するデータベース検索手段と、を有するものであり、
前記シソーラス辞書は、登録された用語に、汎用的な用語を示すストップマーク、抽象的な用語を示す抽象フラグのいずれか又は双方を設定可能であり、
前記シソーラス辞書検索手段は、前記ストップマークが設定された用語をシソーラス辞書の上位検索の終点とするシソーラス辞書検索終点決定手段と、前記抽象フラグが設定された用語を検索用語の拡張から排除するシソーラス辞書抽象用語排除手段とを有する、ことを特徴とする検索装置。
【請求項２】
前記シソーラス辞書は、登録された用語間の類似度が設定されたものであり、
前記シソーラス辞書検索手段は、前記シソーラス辞書検索により拡張された検索用語の有用度を、前記シソーラス辞書の用語間に設定された類似度から算出するシソーラス辞書検索ヒット用語有用度算出手段を有するものであり、
前記データベース検索手段により検索された各データに対して、前記シソーラス辞書検索ヒット用語有用度算出手段によって算出された検索用語の有用度に基づいたスコアを算出する検索スコア算出手段を有することを特徴とする請求項１に記載の検索装置。
【請求項３】
前記シソーラス辞書検索手段は、前記検索用語が必須条件に設定されている場合、該検索用語の上位語への拡張を行わない、ことを特徴とする請求項１又は２に記載の検索装置。
【請求項４】
前記データベースは、該データベースに登録されているデータが確定した時点を示す情報を含むものであり、
前記検索スコア算出手段は、前記検索手段により前記データベースから検索されたデータが確定した時点からの経過期間に応じて減衰率を算出し、該減衰率に応じて前記算出したスコアを減衰させる、ことを特徴とする請求項２又は３に記載の人材検索装置。
【請求項５】
前記検索スコア算出手段は、前記検索手段により前記データベースから検索されたデータのうち前記検索用語のいずれかに完全一致するデータのスコアに対して所定のポイントを加算する、こと特徴とする請求項２乃至４のいずれか１項に記載の検索装置。
【請求項６】
前記検索スコア算出手段は、前記検索手段により前記データベースから検索されたデータのうち前記検索用語及び前記検索用語から拡張された拡張語の全てに一致するデータのスコアに対して所定のポイントを加算する、ことを特徴とする請求項２乃至５のいずれか１項に記載の検索装置。
【請求項７】
データベースは、人材のスキル毎の経験値と、該人材のスキル毎の経験値が確定した時点を示す情報を登録した人材データベースであり、
前記検索スコア算出手段は、前記データベース検索手段により検索された各人材に対して、該人材のスキル毎の経験値と、前記シソーラス辞書検索ヒット用語有用度算出手段によって算出された検索用語の有用度とに基づいたスコアを算出する、ことを特徴とする請求項２乃至６のいずれか１項に記載の検索装置。
【請求項８】
シソーラス辞書検索手段が、シソーラス辞書を用いて検索用語の類義語を検索して検索用語を拡張するシソーラス辞書検索ステップと、
データベース検索手段が、前記シソーラス辞書検索手段により拡張された検索用語を用いてデータベースを検索するデータベース検索ステップと、を有するものであり、
前記シソーラス辞書は、登録された用語に、汎用的な用語を示すストップマーク、抽象的な用語を示す抽象フラグのいずれか又は双方を設定可能であり、
前記シソーラス辞書検索ステップは、前記ストップマークが設定された用語をシソーラス辞書の上位検索の終点とするシソーラス辞書検索終点決定ステップと、前記抽象フラグが設定された用語を検索用語の拡張から排除するシソーラス辞書抽象用語排除ステップとを有する、ことを特徴とする検索方法。
【請求項９】
コンピュータを、
シソーラス辞書を用いて検索用語の類義語を検索して検索用語を拡張するシソーラス辞書検索手段と、
前記シソーラス辞書検索手段により拡張された検索用語を用いてデータベースを検索するデータベース検索手段として機能させるためのプログラムであり、
前記シソーラス辞書は、登録された用語に、汎用的な用語を示すストップマーク、抽象的な用語を示す抽象フラグのいずれか又は双方を設定可能であり、
前記シソーラス辞書検索手段は、前記ストップマークが設定された用語をシソーラス辞書の上位検索の終点とするシソーラス辞書検索終点決定手段と、前記抽象フラグが設定された用語を検索用語の拡張から排除するシソーラス辞書抽象用語排除手段とを有する、ことを特徴とするプログラム。
【請求項１０】
コンピュータを、
シソーラス辞書を用いて検索用語の類義語を検索して検索用語を拡張するシソーラス辞書検索手段と、
前記シソーラス辞書検索手段により拡張された検索用語を用いてデータベースを検索するデータベース検索手段として機能させるためのプログラムであり、
前記シソーラス辞書は、登録された用語に、汎用的な用語を示すストップマーク、抽象的な用語を示す抽象フラグのいずれか又は双方を設定可能であり、
前記シソーラス辞書検索手段は、前記ストップマークが設定された用語をシソーラス辞書の上位検索の終点とするシソーラス辞書検索終点決定手段と、前記抽象フラグが設定された用語を検索用語の拡張から排除するシソーラス辞書抽象用語排除手段とを有するプログラムを、記録したコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索用語をシソーラス辞書を用いて拡張してデータベース検索を行う際の制御に関する。
【背景技術】
【０００２】
特許文献１には、検索対象となる用語からシソーラス辞書の最上位語(または最下位語)まで検索することで、検索対象となる用語の類義語拡張を行う検索装置が開示されている。この検索装置は、上記拡張した全ての類義語において類似度の算出を行い、この類似度の閾値により、検索対象となる用語の絞込みを行っている。または、この検索装置は、検索するにあたって、シソーラス辞書の階層範囲を指定し、検索対象となる用語の絞込みを行っている。
【特許文献１】特開２００３−３４５８２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、一般的に、シソーラス辞書は用語によってその類義語の階層にバラツキがある。例えば、ある用語の類義語の階層は細かく、また、ある用語の類義語の階層は大雑把に作成されている。これは、例えば、シソーラス辞書を作る人の専門能力が異なる為に、専門的に詳しい分野では階層の多い辞書が作成されるといったこと等に起因する。
【０００４】
このように、シソーラス辞書に登録された用語が用語により類義語の階層に差が生じている場合、上記特許文献１に記載の検索装置のように、類義語を検索するにあたって類似度の閾値や回数でその検索範囲を指定する方法では、拡張する検索用語によって、非常に関連性の高いものしか拡張されない、或いは、あまり関連性のない単語まで拡張してしまうという差がでてしまうといった恐れがある。
【０００５】
また、一般的に、シソーラス辞書は、辞書に登録されている類義語の意味を考慮せず管理されている。このため、上記特許文献１の検索装置のように、類似度の閾値や回数でその検索範囲を指定する方法では、この検索範囲の全てが検索対象となる為、検索対象として意味のない類義語にまで検索用語を拡張してしまう恐れがある。
【０００６】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、シソーラス辞書を用いた検索において、極めて汎用的な上位用語への検索用語の拡張や、抽象的な用語への検索用語の拡張を抑制して、用語の意味を考慮した検索用語の拡張を行うことができ、より条件に合った検索を行うことができる仕組みを提供することである。
【課題を解決するための手段】
【０００７】
本発明は、シソーラス辞書を用いて検索用語の類義語を検索して検索用語を拡張するシソーラス辞書検索手段と、前記シソーラス辞書検索手段により拡張された検索用語を用いてデータベースを検索するデータベース検索手段と、を有するものであり、前記シソーラス辞書は、登録された用語に、汎用的な用語を示すストップマーク、抽象的な用語を示す抽象フラグのいずれか又は双方を設定可能であり、前記シソーラス辞書検索手段は、前記ストップマークが設定された用語をシソーラス辞書の上位検索の終点とするシソーラス辞書検索終点決定手段と、前記抽象フラグが設定された用語を検索用語の拡張から排除するシソーラス辞書抽象用語排除手段とを有する、ことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、シソーラス辞書を用いた検索において、極めて汎用的な上位用語への検索用語の拡張や、抽象的な用語への検索用語の拡張を抑制して、用語の意味を考慮した検索用語の拡張を行うことができ、より条件に合った検索を行うことができる等の効果を奏する。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して本発明の実施形態について説明する。なお、本説明では、本発明による検索装置を人材検索に用いることを想定した場合を例にあげて説明を行う。
【００１０】
図１は、本発明に係る検索装置を適用可能な人材検索装置の構成の一例を示すシステム構成図である。
【００１１】
図１において、１００は人材検索装置であり、シソーラス辞書検索を行うシソーラス辞書検索手段１０１と、人材検索を行う人材検索手段１０２と、シソーラス辞書を管理するシソーラス辞書ＤＢ１０３と、人材データを管理する人材ＤＢ（人材データベース）１０４からなる。
【００１２】
また、シソーラス辞書検索手段１０１は、シソーラス辞書の上位検索の終点（極めて汎用的な用語であるため、それ以上上位の検索を行っても意味のない用語）を決定するシソーラス辞書検索終点決定手段１０１１、シソーラス辞書検索でヒットした用語の中でその用語が抽象的であるために検索用語の拡張から排除するシソーラス辞書抽象用語排除手段１０１２、シソーラス検索でヒットした用語の有用度を算出するシソーラス辞書検索ヒット用語有用度算出手段１０１３を有する。
【００１３】
人材検索手段１０２は、人材検索でヒットした人材の経験値を算出する人材検索スコア算出手段１０２１を有する。
【００１４】
これら、シソーラス辞書検索手段１０１および人材検索手段１０２はJava（登録商標（以下省略））サーブレットなどの一般的なＷｅｂアプリケーション技術によって実現することが可能である。
【００１５】
また、クライアント通信手段１０５は、ＷｅｂアプリケーションのプラットフォームとなるＷｅｂアプリケーションサーバによって提供される機能を利用することができる。例えば、ＷｅｂアプリケーションサーバTomcatで動作するJavaサーブレットプログラムとしてこれらの機能を実現することができる。
【００１６】
１１１はクライアント装置であり、所定の通信媒体を介して人材検索装置１００と通信可能に接続されている。なお、クライアント装置１１１には、パーソナルコンピュータ等で構成され、例えばＷｅｂブラウザ等を用いて人材検索装置１００と通信可能である。
【００１７】
人材検索装置１００は、クライアント装置１１１から入力される検索条件に基づいて検索処理を行い、検索結果をクライアント装置１１０に送信する構成を有する。
【００１８】
図２は、図１に示した人材検索装置１００のハードウェア構成の一例を示すブロック図である。
【００１９】
図２に示すように人材検索装置１００は、中央処理装置（以下、ＣＰＵ）２０１と、ＲＯＭ（Read Only Memory）２０２と、ＲＡＭ（Random Access Memory）２０３と、ＨＤＤ（Hard Disk Drive）２０４と、ネットワークインタフェース２０５からなる。
【００２０】
ＣＰＵ２０１は、ＨＤＤ２０４に格納されたプログラムをＲＡＭ２０３上にロードして実行することにより、後述する各種機能を実現することができる。
【００２１】
なお、図１に示したシソーラス辞書検索手段１０１（シソーラス辞書検索終点決定手段１０１１，シソーラス辞書抽象用語排除手段１０１２，シソーラス辞書検索ヒット用語有用度算出手段１０１３を含む），人材検索手段１０２（人材検索スコア算出手段１０２１を含む）は、ＣＰＵ２０１がＨＤＤ２０４に格納されるプログラムをＲＡＭ２０３にロードして実行することにより実現される機能に対応する。
【００２２】
また、図１に示したシソーラス辞書ＤＢ１０３，人材ＤＢ１０４は、例えばＨＤＤ２０４上等に実現される。
【００２３】
まず、図３〜図７を参照して、本実施形態で用いるシソーラス辞書ＤＢ１０３の構成について説明する。
【００２４】
図３は、図１に示したシソーラス辞書ＤＢ１０３の一例を模式的に示した模式図である。なお、ここでは「ソフトウェア」を例にしたシソーラス辞書ＤＢ１０３の例を示してある。
【００２５】
図中、３０１に示すように、矢印のついていない線（−）は、上位、下位を示す。
【００２６】
また、図中、３０２に示すように、矢印（→）で繋がっている単語は、関連語を示す。なお、矢印のない単語から見て矢印のある単語が関連する言葉であることを示す（逆は真ではない）。
【００２７】
さらに、図中、３０３に示すように、矢印が両端についている線（←→）は、矢印（←→）で繋がっている単語が相互に関連語であることを示す。
【００２８】
また、図中、３０４，３０５に示すように、アンダーラインが付されてる単語は、下記の意味を有する。
【００２９】
まず、図中、３０４に示すように、通常の下線が付されている単語は、抽象属性を持つ単語（抽象的であるため検索用語の拡張から排除する用語）であることを示す。
【００３０】
また、波線（不図示）が付されている単語は、上位終端属性を持つ単語（極めて汎用的な用語であるためシソーラス辞書の上位検索の終点とする用語）であることを示す。
【００３１】
さらに、図中、３０５に示すように、二重線が付されている単語は、上位終端属性、且つ、抽象属性を持つ単語であることを示す。
【００３２】
図４は、図３に示したシソーラス辞書ＤＢ１０３に登録された各単語に付された重みの一例を模式的に示した模式図である。ここでは、「Java1.3」からたどった場合の例を示す。
【００３３】
図４中の数値は、各用語間に付された重み（類似度）を示す。例えば、４０１は「Java1.3」からみた上位語「Java」の重みを示したものであり、ここでは「０．８」の重みとなっている。
【００３４】
一方、４０２は「Java」からみた下位語「Java1.3」の重みを示したものであり、ここでは「１．０」の重みとなっている。
【００３５】
図５は、図３，図４に示したシソーラス辞書ＤＢ１０３登録された各単語のデータ構成の一例を示すデータ構成図である。
【００３６】
図５において、５００はシソーラス辞書ＤＢ１０３登録された単語であり、見出し５０１、同義語リスト（同義語Ｌｉｓｔ）５０２、上位語５０３、下位語リスト（下位語Ｌｉｓｔ）５０４、関連語リスト（関連語Ｌｉｓｔ）５０５、抽象フラグ５０６、ストップマーク（Ｓｔｏｐマーク）５０７から構成される。
【００３７】
見出し５０１には、文字列が格納される。また、同義語リスト５０２は、同義語のリストである。なお、各同義語には、文字列が格納される。
【００３８】
上位語５０３は、上位語を示す情報（上位語情報）で構成される。下位語リスト５０４は、下位語を示す情報（下位語情報）のリストである。関連語リスト５０５は、関連語を示す情報（関連語情報）のリストである。なお、上位語情報、下位語情報(１〜ｊの個々のもの)、関連語情報(１〜ｋの個々のもの)のデータ構成は後述する図６に示す。
【００３９】
抽象フラグ５０６は、その単語が極めて抽象的な用語の為、シソーラス辞書ＤＢ１０３を用いて用語を拡張する際に、その単語を検索語として対象外とすることを示すフラグである。この抽象フラグ５０６が「ＴＲＵＥ」の場合にはその単語を検索用語として対象外とする。即ち、用語を拡張する際のシソーラス辞書検索実行時に抽象フラグに「ＴＲＵＥ」が設定された用語は検索用語の拡張から排除される。
【００４０】
ストップマーク５０７は、その単語が極めて汎用的な用語の為、シソーラス辞書ＤＢ１０３を用いて用語を拡張する際に、その単語以上上位の検索（上位拡張）を行わないことを示すマークである。このストップマーク５０７が「ＴＲＵＥ」の場合にはその単語以上上位の検索を行わないものとする。即ち、用語を拡張する際のシソーラス辞書検索実行時にストップマークが設定された用語がシソーラス辞書の上位検索の終点となる。
【００４１】
図６は、図５に示した上位語情報、下位語情報(１〜ｊの個々のもの)、関連語情報(１〜ｋの個々のもの)の詳細構造を示すデータ構成図である。
【００４２】
図６に示すように、上位語情報、下位語情報、関連語情報は、相手見出し６０１、類似度６０２から構成される。相手見出し６０１には、上位語、下位語、又は、関連語（即ちシソーラス内の別ノードの単語）の見出し５０１（図５）に対応する文字列が格納される。また、類似度６０２には、現在着目している単語から相手見出しの単語の累積重み（数値）が算出され格納される（算出方法は後述する）。
【００４３】
図７は、シソーラス辞書ＤＢ１０３内の単語の一例を示す図である。
【００４４】
図７において、（ａ）は、見出しを「Oracle（登録商標（以下省略））」とした場合のシソーラス辞書ＤＢ１０３内の単語の一例を示す。また、（ｂ）は、「Oracle」の上位語の一例を示す。なお、この例は、「Oracle」からみた上位語「RDB」の重みが「0.5」である場合に対応する。
【００４５】
以下、フローチャートを参照して本発明の検索装置における検索処理について説明する。
【００４６】
図８は、本発明における第１の制御処理手順の一例を示すフローチャートであり、人材検索装置１００における検索処理に対応する。なお、このフローチャートの処理は、図２に示したＣＰＵ２０１がＨＤＤ２０４に格納されるプログラムをＲＡＭ２０３にロードして実行することにより実現される機能に対応する。
【００４７】
まず、ステップＳ８０１では、ＣＰＵ２０１は、クライアント装置１１１からの送信される検索条件の入力を受け付ける。
【００４８】
クライアント装置１１１では、ディスプレイに検索条件入力画面９００（図９）を表示し、検索条件入力画面９００により検索条件の入力を受け付ける。
【００４９】
図９は、本実施形態における検索条件入力画面９００の一例を示す図である。なお、検索条件入力画面９００は、人材検索装置１００から送信されてクライアント装置１１１のディスプレイに表示される構成であっても、クライアント装置１１１のハードディスク等から読み出されてディスプレイに表示される構成であってもよい。
【００５０】
図９において、９０１は必須チェックボックスであり、このチェックボックスにチェックされた検索条件は必須の検索条件となる。
【００５１】
９０２は技術／環境条件入力欄、９０３は工程条件入力欄、９０４は役割条件入力欄、９０５は経験時間条件入力欄である。
【００５２】
９０６はキャンセルボタンであり、このボタンがクリック指示（押下）されると、検索条件入力画面９００により入力された検索条件は破棄され、検索処理はキャンセルされる。
【００５３】
９０７は検索開始ボタンであり、このボタンがクリック指示（押下）されると、当該検索条件入力画面９００により入力された検索条件が、クライアント装置１１１から人材検索装置１００に送信される。
【００５４】
人材検索装置１００では、クライアント装置１１１から検索条件を受信すると、人材検索装置１００のＣＰＵ２０１は、受信した検索条件を図１０〜図１３に示すデータ構造でＲＡＭ２０３に格納し、ステップＳ１３０２に処理を進める。
【００５５】
図１０は、人材検索装置１００で保持される検索条件のデータ構成の一例を示すデータ構成図である。
【００５６】
図１０に示すように、検索条件は、複数の検索条件（条件１，条件２，条件３，・・・，条件ｎ）のリスト構造（検索条件リスト１０００）で保持される。
【００５７】
検索条件リスト１０００内の各検索条件には、検索条件入力画面の必須チェックボックス９０１、技術／環境条件入力欄９０２、工程条件入力欄９０３、役割条件入力欄９０４、経験時間条件入力欄９０５で入力された一組の検索条件（即ち図１０の横一列の入力条件）が格納される。
【００５８】
図１１は、図１０に示した検索条件リスト１０００内の各検索条件のデータ構成の一例を示すデータ構成図である。
【００５９】
図１１に示すように、検索条件は、技術／環境条件１１０１，工程条件１１０１，役割条件１１０３，要求経験レベル１１０４から構成される。
【００６０】
技術／環境条件１１０１は、条件見出し１１０５，拡張リスト１１０６，必須フラグ１１０７から構成される。
【００６１】
技術／環境条件１１０１の条件見出し１１０５には、検索条件入力画面９００の技術／環境条件入力欄９０２で入力された条件が格納される。
【００６２】
工程条件１１０２には、検索条件入力画面９００の工程条件入力欄９０３で入力された条件が格納される。役割条件１１０３の条件見出し１１０５には、検索条件入力画面９００の役割条件入力欄９０４で入力された条件が格納される。要求経験レベル１１０４の条件見出し１１０５には、検索条件入力画面９００の経験時間入力欄９０４で入力された経験時間数値が格納される。
【００６３】
また、技術／環境条件１１０１の必須フラグ１１０７には、必須チェックボックス９０１がチェックされている場合には「ＴＲＵＥ」、チェックされていない場合には「ＦＡＬＳＥ」がそれぞれ格納される。
【００６４】
なお、図８のステップＳ８０１でスキル条件（検索条件）が入力された時点では、技術／環境条件１１０１の拡張リスト１１０６にはデータは格納されず、後述するステップＳ８０２において拡張される拡張語の情報が格納される。
【００６５】
図１２は、図１１に示した拡張リスト１１０６内の各拡張語のデータ構成の一例を示すデータ構成図である。
【００６６】
図１２に示すように、拡張語は、拡張見出し１２０１，拡張重み１２０２，抽象フラグ１２０３で構成され、後述する図８のステップＳ８０２で拡張される拡張語の情報が格納される。
【００６７】
拡張見出し１２０１には、拡張語の拡張語見出し文字が格納される。拡張重み１２０２には、拡張語の拡張重み（拡張された検索用語の有用度を示すものであり詳細は後述する）が格納される。抽象フラグ１２０３には、拡張語の抽象フラグの真偽値が格納される。
【００６８】
図１３は、図１０に示した検索条件リストの一例を示す図である。
【００６９】
図１３に示した例では、検索条件入力画面９００の技術／環境条件入力欄９０２に「Oracle」，「Java1.3」が入力された場合に対応する。
【００７０】
以下、図８のフローチャートの説明に戻る。
【００７１】
ステップＳ８０２では、ＣＰＵ２０１（シソーラス辞書検索手段１０１）は、類義語を利用した検索語拡張処理（キーワードの拡張処理）を実行する。なお、この検索語拡張処理の詳細は図１４を用いて後述する。
【００７２】
次に、ステップＳ８０３では、ＣＰＵ２０１（人材検索手段１０２）は、ステップＳ８０２のキーワード拡張処理結果を用いた人材スキルプロファイルＤＢ検索処理を実行する。なお、この人材スキルプロファイルＤＢ検索処理の詳細は図２３を用いて後述する。
【００７３】
次に、ステップＳ８０４では、ＣＰＵ２０１（人材検索計検知算出手段１０２１）は、ステップＳ８０３の人材検索結果の一人材ごとに検索条件より近しいかのポイントを付加する処理（検索された人材のスコアリング処理）を実行する。なお、この検索された人材のスコアリングの詳細は図２４を用いて後述する。
【００７４】
次に、ステップＳ８０５では、ＣＰＵ２０１は、ステップＳ８０３で検索され、ステップＳ８０４でスコアリングされた人材検索結果一覧（一例を後述する図２５に示す）を、人材検索を依頼したクライアント装置１１１に送信する。この人材検索結果一覧を受信したクライアント装置１１１では、この人材検索結果一覧をディスプレイに表示等する。
【００７５】
以下、図１４のフローチャートを参照して図８のステップＳ８０２に示した類義語辞書を利用して検索条件を意味の近い言葉へ拡張する検索語拡張処理について説明する。
【００７６】
図１４は、本発明における第２の制御処理手順の一例を示すフローチャートであり、図８のステップＳ８０２に示した検索語拡張処理に対応する。なお、このフローチャートの処理は、図２に示したＣＰＵ２０１がＨＤＤ２０４に格納されるプログラムをＲＡＭ２０３にロードして実行することにより実現されるシソーラス辞書検索手段１０１の機能に対応する。
【００７７】
まず、ステップＳ１４０１では、ＣＰＵ２０１は、ステップＳ８０１で入力されたＲＡＭ２０３内に保持された検索条件リスト１０００内に、未拡張の検索条件（スキル条件）が存在するか判定し、未拡張の検索条件が存在すると判定した間は、ステップＳ１４０２〜Ｓ１４０８の処理を実行する。なお、本実施形態では、検索条件内の技術／環境条件１１０１のみを検索語の拡張を行うものとするが、工程条件１１０２，役割条件１１０３も夫々検索語の拡張を行うように構成してもよい。
【００７８】
一方、ステップＳ１４０１で、未拡張の検索条件が存在しないと判定した場合には、ＣＰＵ２０１は、検索語拡張処理を終了する。
【００７９】
ステップＳ１４０２では、ＣＰＵ２０１は、検索条件リスト１０００から検索条件（スキル条件）を抜き出す。
【００８０】
ステップＳ１４０３では、ＣＰＵ２０１は、ステップＳ１４０２で抜き出した検索条件（スキル条件）からキーワード（条件見出し１１０５（図１１））を抜き出す。
【００８１】
ステップＳ１４０４では、ＣＰＵ２０１は、ステップＳ１４０３で抜き出したキーワードをシソーラス辞書ＤＢ１０３を用いて代表語へ統制する同義語統制処理を実行する。なお、この同義語統制処理の詳細は図１５を用いて後述する。
【００８２】
ステップＳ１４０５では、ＣＰＵ２０１は、ステップＳ１４０４で代表語へ統制したキーワードとシソーラス辞書ＤＢ１０３を用いてキーワードの上位語拡張を行う上位検索処理を実行する。なお、この上位検索処理の詳細は図１６を用いて後述する。
【００８３】
ステップＳ１４０６では、ＣＰＵ２０１は、ステップＳ１４０５で拡張された上位語とシソーラス辞書ＤＢ１０３を用いてキーワードの下位語拡張を行う下位検索処理を実行する。なお、この下位検索処理の詳細は図１７を用いて後述する。
【００８４】
ステップＳ１４０７では、ＣＰＵ２０１は、ステップＳ１４０４で代表語へ統制したキーワードとシソーラス辞書ＤＢ１０３を用いてキーワードの関連のある用語への拡張を行う関連語検索処理を実行する。なお、この関連語検索処理の詳細は図１８を用いて後述する。
【００８５】
次に、ステップＳ１４０８では、ＣＰＵ２０１（シソーラス辞書抽象用語排除手段１０１２）は、キーワードの拡張リスト１１０６から、抽象フラグ１２０３が「ＦＡＬＳＥ」の拡張語を削除する抽象後排除処理を実行する。これにより、拡張語の中で極めて抽象的な用語を検索語として対象外として排除することができる。
【００８６】
そして、ＣＰＵ２０１は、図８のステップＳ８０１で入力されたＲＡＭ２０３内に保持された検索条件リスト１０００内に未拡張の検索条件（スキル条件）が存在しなくなったら、本フローチャートの処理を終了する。
【００８７】
以下、図１５のフローチャートを参照して図１４のステップＳ１４０４に示した同義語統制処理について説明する。
【００８８】
図１５は、本発明における第３の制御処理手順の一例を示すフローチャートであり、図１４のステップＳ１４０４に示した同義語統制処理に対応する。なお、このフローチャートの処理は、図２に示したＣＰＵ２０１がＨＤＤ２０４に格納されるプログラムをＲＡＭ２０３にロードして実行することにより実現されるシソーラス辞書検索手段１０１の機能に対応する。
【００８９】
まず、ステップＳ１５０１では、ＣＰＵ２０１は、図１４のステップＳ１４０３で抜き出したキーワード（即ち、検索条件（スキル条件）として入力されたキーワード）を代表語へ統制する。例えば、検索条件として入力されたキーワードが「ジャヴァ」や「JAVA（登録商標（以下省略））」であった場合、検索条件を「Java」という文字（代表語）に変換することである。
【００９０】
用語管理手段において、代表語と代表語ではないものは、図５に示したシソーラス辞書ＤＢ１０３内各単語の詳細構造から判別することができる。
【００９１】
代表語は、図５シソーラス辞書ＤＢ１０３内各単語の詳細構造の同義語リスト５０２に情報を保持していない。
【００９２】
一方、代表語ではないものは、図５のシソーラス辞書ＤＢ１０３内各単語の詳細構造の同義語リスト５０３にその代表語となる情報を保持している。
【００９３】
即ち、ステップＳ１５０１では、ＣＰＵ２０１は、検索条件として入力されたキーワードを用いて図５のシソーラス辞書ＤＢ１０３内を検索する。そして、該検索された単語の同義語リスト５０３にその代表語となる情報を保持されている場合には、ＣＰＵ２０１は、当該キーワード（即ち、図１１の条件見出し１１０５）をその代表語に書き換える（変換する）。
【００９４】
以下、図１６のフローチャートを参照して図１４のステップＳ１４０５に示した上位語検索処理について説明する。
【００９５】
図１６は、本発明における第４の制御処理手順の一例を示すフローチャートであり、図１４のステップＳ１４０５に示した上位語検索処理に対応する。なお、このフローチャートの処理は、図２に示したＣＰＵ２０１がＨＤＤ２０４に格納されるプログラムをＲＡＭ２０３にロードして実行することにより実現されるシソーラス辞書検索手段１０１の機能に対応する。
【００９６】
まず、ＣＰＵ２０１は、まず、ステップＳ１６０１において、図１４のステップＳ１４０４で代表語へ統制されたキーワード（以下、キーワード）が必須条件に設定されたキーワードか否かを判定する。ＣＰＵ２０１は、キーワードを条件見出し１１０５としたスキル条件内の必須フラグ１１０７（図１１）に「ＴＲＵＥ」であった場合キーワードが必須条件に設定されたと判定する。
【００９７】
ステップＳ１６０１で、キーワードが必須条件に設定されたと判定した場合には、ＣＰＵ２０１は、ステップＳ１６０８に処理を進める。
【００９８】
ステップＳ１６０８では、ＣＰＵ２０１は、キーワードを、キーワードを条件見出し１１０５としたスキル条件内の拡張リスト１１０６（図１１）の先頭要素に設定する。即ち、上記拡張リスト１１０６の先頭に拡張語を追加し、該追加した拡張語の拡張見出し１２０１に上記キーワードに対応する文字列を設定する。その後、ＣＰＵ２０１は、ステップＳ１６０９に処理を進める。
【００９９】
次に、ステップＳ１６０９では、ＣＰＵ２０１は、上記拡張語の拡張重み１２０２に「１」、抽象フラグ１２０３に「ＴＲＵＥ」を入力し、本フローチャートの処理を終了する。
【０１００】
一方、ステップＳ１６０１で、キーワードが必須条件に設定されていないと判定した場合には、ＣＰＵ２０１は、ステップＳ１６０２に処理を進める。
【０１０１】
ステップＳ１６０２では、ＣＰＵ２０１は、キーワードを、キーワードを条件見出し１１０５としたスキル条件内の拡張リスト１１０６（図１１）の先頭要素に設定する。さらに、ＣＰＵ２０１は、キーワードを"着目中の用語"としてＲＡＭ２０３に記憶させ、ステップＳ１６０３に処理を進める。
【０１０２】
次に、ステップＳ１６０３では、ＣＰＵ２０１は、上記拡張語の拡張重み１２０２に「１」を入力する。さらに、ＣＰＵ２０１は、上記"着目中の用語"でシソーラス辞書ＤＢ１０３を検索し、シソーラス辞書ＤＢ１０３内で上記"着目中の用語"に設定されている抽象フラグ５０６の真偽値を、上記拡張語の抽象フラグ１２０３に入力し、ステップＳ１６０４に処理を進める。なお、拡張重み１２０２に「１」を設定したのは上記"着目中の用語"がまだ上位語拡張前であるためである。
【０１０３】
次にステップＳ１６０４では、ＣＰＵ２０１は、"着目中の用語"がシソーラス辞書ＤＢ１０３の最上位（上位語５０３に情報が無い）かどうかを判定する。
【０１０４】
そして、ステップＳ１６０４で、"着目中の用語"がシソーラスの最上位である（上位語５０３に情報が無い）と判定した場合には、ＣＰＵ２０１は、本フローチャートの処理を終了させる。
【０１０５】
一方、ステップＳ１６０４で、"着目中の用語"がシソーラスの最上位でない（上位語５０３に情報が有る）と判定した場合には、ＣＰＵ２０１は、ステップＳ１６０５に処理を進める。
【０１０６】
ステップＳ１６０５では、ＣＰＵ２０１（シソーラス辞書検索終点決定手段１０１１）は、"着目中の用語"がストップマークの付いた用語（ストップマーク５０７の「ＴＲＵＥ」）かどうかを判定する。
【０１０７】
そして、ステップＳ１６０５で、"着目中の用語"がストップマークの付いた用語である（ストップマーク５０７の「ＴＲＵＥ」）と判定した場合には、ＣＰＵ２０１（シソーラス辞書検索終点決定手段１０１１）は、本フローチャートの処理を終了させる。
【０１０８】
一方、ステップＳ１６０５で、"着目中の用語"がストップマークの付いた用語でない（ストップマーク５０７の「ＦＡＬＳＥ」）と判定した場合には、ＣＰＵ２０１（シソーラス辞書検索終点決定手段１０１１）は、ステップＳ１６０６に処理を進める。
【０１０９】
ステップＳ１６０６では、ＣＰＵ２０１は、シソーラス辞書ＤＢ１０３より"着目中の用語"の上位語５０３を取得し、上記拡張リスト１１０６の先頭要素に設定する。さらに、ＣＰＵ２０１は、上記取得した上位語を新たな"着目中の用語"に設定する（"着目中の用語"としてＲＡＭ２０３内に記憶させる）。図３を用いて説明すると、"着目中の用語"が「Java1.3」であった場合に、上位語として「Java」を取得し、新たな"着目中の用語"に「Java」を設定する。そして、ＣＰＵ２０１は、ステップＳ１６０７に処理を進める。
【０１１０】
次に、ステップＳ１６０３では、ＣＰＵ２０１（シソーラス辞書検索ヒット用語有用度算出手段１０１３）は、上記拡張語の拡張重み１２０２に累積の重み（後述）を設定する。さらに、ＣＰＵ２０１は、上記拡張語の抽象フラグ１２０３にシソーラス辞書ＤＢ１０３内に設定されている"着目中の用語"の真偽値を設定し、ステップＳ１６０４に処理を戻す。
【０１１１】
なお、ここでいう"累積の重み"とは、シソーラス辞書ＤＢ１０３に設定されている上記拡張リスト１１０６で上記新たな"着目中の用語"の次要素と上記新たな"着目中の用語"との間の単語間の重み（類似度６０２）と上記次要素の累積の重みとを掛け合わせたものであり、拡張された検索用語の有用度を示すものである。図４を用いて説明すると、例えば、上記新たな"着目中の用語"が「オブジェクト指向言語」の場合、拡張リストで次要素となる「Java」と「オブジェクト指向言語」との間の単語間の重み（ここでは「0.7」）と、上記拡張リストで次要素となる「Java」の累積の重み（ここでは「0.8(=0.8×1.0)」）を掛け合わせた「0.56」が上記"累積の重み"として算出される。
【０１１２】
以下、図１７のフローチャートを参照して図１４のステップＳ１４０６に示した下位語検索処理（上位語拡張フローにて代表語を上位語へ拡張した結果を対象に下位語への拡張を行う処理）について説明する。
【０１１３】
図１７は、本発明における第５の制御処理手順の一例を示すフローチャートであり、図１４のステップＳ１４０６に示した下位語検索処理に対応する。なお、このフローチャートの処理は、図２に示したＣＰＵ２０１がＨＤＤ２０４に格納されるプログラムをＲＡＭ２０３にロードして実行することにより実現されるシソーラス辞書検索手段１０１の機能に対応する。
【０１１４】
まず、ステップＳ１７０１では、ＣＰＵ２０１は、代表語の拡張結果であるキーワードを条件見出し１１０５としたスキル条件内の拡張リスト１１０６（図１４のステップＳ１４０５（図１６）で上位検索処理で追加された拡張リスト）内の全ての拡張語に対して（下位語未検索拡張語がなくなるまで）、ステップＳ１７０２〜Ｓ１７０９の処理を繰り返す。
【０１１５】
ステップＳ１７０２では、ＣＰＵ２０１は、上記拡張リスト１１０６から拡張語を一つ選択する。
【０１１６】
次に、ステップＳ１７０３では、ＣＰＵ２０１は、ステップＳ１７０２で選択した拡張語に下位語情報があるかどうか判定する。この判定は、上記拡張語に基づいてシソーラス辞書ＤＢ１０３を検索して、当該拡張語の下位語リスト５０４（図５）を取得し、該拡張リスト５０４に下位語情報があるかどうかで判定する。
【０１１７】
そして、ステップＳ１７０３において、拡張語に下位語情報があると判定した場合には、ＣＰＵ２０１は、ステップＳ１７０４に処理を進める。
【０１１８】
ステップＳ１７０４では、ＣＰＵ２０１は、ステップＳ１７０２で選択した拡張語の下位語リスト５０４内の全ての下位語に対して（未処理の下位語がなくなるまで）、ステップＳ１７０５〜Ｓ１７０９の処理を繰り返す。
【０１１９】
ステップＳ１７０５では、ＣＰＵ２０１（シソーラス辞書検索ヒット用語有用度算出手段１０１３）は、ステップＳ１７０２で選択した拡張語の下位語リスト５０４より下位語を一つ選択し、ステップＳ１７０２で選択した拡張語と上記下位語間の"累積の重み"を算出する。この"累積の重み"は、拡張語の累積の重み（図１２の拡張重み１２０２）と、下位語の単語間の重み（図６の類似度６０２）の積で算出される。
【０１２０】
次に、ステップＳ１７０６では、ＣＰＵ２０１は、ステップＳ１７０５で選択した下位語が拡張リスト１１０６内に存在するか否かを判定する。
【０１２１】
そして、ステップＳ１７０６において、ステップＳ１７０５で選択した下位語が拡張リスト１１０６内に存在しないと判定した場合には、ＣＰＵ２０１はステップＳ１７０９の処理を行うように制御する。
【０１２２】
ステップＳ１７０９では、ＣＰＵ２０１は、ステップＳ１７０５で選択した下位語を拡張リスト１１０６の最後に追加する。詳細には、ＣＰＵ２０１は、拡張リスト１１０６の最後に拡張語を追加し、追加した拡張語の拡張見出し１２０１に上記下位語の相手見出し６０１、拡張重み１２０２（拡張された検索用語の有用度）にステップＳ１７０５で算出した"累積の重み"、抽象フラグ１２０３にシソーラス辞書ＤＢ１０３内に設定されている上記下位語の真偽値を格納し、ステップＳ１７０４に処理を戻す。
【０１２３】
一方、ステップＳ１７０６において、ステップＳ１７０５で選択した下位語が拡張リスト１１０６内に存在すると判定した場合には、ＣＰＵ２０１はステップＳ１７０７，Ｓ１７０８の処理を行うように制御する。
【０１２４】
ステップＳ１７０７では、ＣＰＵ２０１（シソーラス辞書検索ヒット用語有用度算出手段１０１３）は、既に拡張リスト１１０６内にある上記下位語の"累積の重み"（拡張重み１２０２）とステップＳ１７０５で算出した"累積の重み"を比較する。
【０１２５】
そして、ステップＳ１７０７において、ＣＰＵ２０１は、ステップＳ１７０５で算出した"累積の重み"の方が大きい場合（キーワードにより近い場合）は、ステップＳ１７０８へ処理を進める。
【０１２６】
ステップＳ１７０８では、ＣＰＵ２０１は、既に拡張リスト１１０６内にある上記下位語の"累積の重み"（拡張重み１２０２）をステップＳ１７０５で算出した"累積の重み"に書き換え、ステップＳ１７０４に処理を戻す。
【０１２７】
一方、ステップＳ１７０７において、ＣＰＵ２０１は、ステップＳ１７０５で算出した"累積の重み"の方が大きくない場合（キーワードにより遠い場合）には、そのままステップＳ１７０４に処理を戻す。本実施形態では同一の下位語が複数存在した場合、よりキーワードに近い"累積の重み"（より大きい有用度）を残すようにしている。
【０１２８】
そして、ステップＳ１７０４において、ＣＰＵ２０１は、ステップＳ１７０２で選択した拡張語の下位語リスト５０４内の全ての下位語に対して（未処理の下位語がなくなるまで）、ステップＳ１７０５〜Ｓ１７０９の処理を実行したと判定した場合には、ステップＳ１７０１に処理を戻す。
【０１２９】
そして、ステップＳ１７０１において、ＣＰＵ２０１は、代表語の拡張結果であるキーワードの拡張リスト１１０６内の全ての拡張語に対して（下位語未検索拡張語がなくなるまで）、ステップＳ１７０２〜Ｓ１７０８の処理を実行したと判定した場合には、本フローチャートの処理を終了する。
【０１３０】
以下、図１８のフローチャートを参照して図１４のステップＳ１４０７に示した関連語検索処理（同義語拡張において統制表示した代表語から関連語への拡張処理）について説明する。
【０１３１】
図１８は、本発明における第６の制御処理手順の一例を示すフローチャートであり、図１４のステップＳ１４０７に示した関連語検索処理に対応する。なお、このフローチャートの処理は、図２に示したＣＰＵ２０１がＨＤＤ２０４に格納されるプログラムをＲＡＭ２０３にロードして実行することにより実現されるシソーラス辞書検索手段１０１の機能に対応する。
【０１３２】
まず、ステップＳ１８０１では、ＣＰＵ２０１は、図１４のステップＳ１４０４で代表語へ統制されたキーワード（以下、キーワード）に対応するシソーラス辞書ＤＢ１０３内の単語の関連語リスト５０５（図５）を参照し、関連語リスト５０５に関連語が一つでも存在するか否かを判定する。例えば、図４のシソーラス図を参考にすると、代表語が「Java」である場合、関連語は「JSP」、「Servlet」、「Swing」となる。
【０１３３】
そして、ステップＳ１８０１において、キーワードの関連語リスト５０５に関連語が一つの存在しないと判定した場合には、ＣＰＵ２０１は、本フローチャートの処理を終了させる。
【０１３４】
一方、ステップＳ１８０１において、キーワードの関連語リスト５０５に関連語が一つでも存在すると判定した場合には、ＣＰＵ２０１は、ステップＳ１８０２に処理を進める。
【０１３５】
ステップＳ１８０２では、ＣＰＵ２０１は、上記キーワードが持つ関連語リスト５０５全てに対してステップＳ１８０３〜Ｓ１８０６の処理を行う。
【０１３６】
ステップＳ１８０３では、ＣＰＵ２０１は、上記キーワードが持つ関連語リスト５０５より関連後を一つ選択し、該選択した関連語が上記キーワードが持つ拡張リスト１１０６内に存在するか否かを判定する。
【０１３７】
そして、ステップＳ１８０３において、上記関連語が上記拡張リスト１１０６内に存在すると判定した場合には、ＣＰＵ２０１はステップＳ１８０４の処理を行うように制御する。
【０１３８】
ステップＳ１８０４では、ＣＰＵ２０１（シソーラス辞書検索ヒット用語有用度算出手段１０１３）は、上記関連語の"累積の重み"（拡張された検索用語の有用度）を算出する。なお、上記関連語の"累積の重み"は、上記キーワードの"累積の重み"に、上記キーワードと上記関連語との間の重みを掛け合わせて算出する。そして、上記関連語の"累積の重み"と、既に拡張リスト１１０６内に存在する関連語の"累積の重み"（即ち拡張重み１２０２）を比較し、より数値の大きい（より代表語と言葉の意味が近い）方を既に拡張リスト１１０６内に存在する関連語の拡張重み１２０２（拡張された検索用語の有用度）に登録し、ステップＳ１８０２に処理を戻す。
【０１３９】
一方、ステップＳ１８０３において、上記関連語が上記拡張リスト１１０６内に存在しないと判定した場合には、ＣＰＵ２０１はステップＳ１８０５の処理を行うように制御する。
【０１４０】
ステップＳ１８０５では、ＣＰＵ２０１は、上記関連語を上記拡張リスト１１０６の最後に追加する。詳細には、ＣＰＵ２０１は、拡張リスト１１０６の最後に拡張語を追加し、追加した拡張語の拡張見出し１２０１に上記関連語の相手見出し６０１、抽象フラグ１２０３に上記関連語のシソーラス辞書ＤＢ１０３内での抽象フラグ５０６の真偽値を登録する。
【０１４１】
次に、ステップＳ１８０６において、ＣＰＵ２０１（シソーラス辞書検索ヒット用語有用度算出手段１０１３）は、上記関連語の"累積の重み"（拡張された検索用語の有用度）を算出する。なお、上記関連語の"累積の重み"は、上記キーワードの"累積の重み"に、上記キーワードと上記関連語との間の重みを掛け合わせて算出する。そして、ＣＰＵ２０１は、上記算出した上記関連語の"累積の重み"を上記追加した拡張語の拡張重み１２０２に登録し、ステップＳ１８０２に処理を戻す。
【０１４２】
そして、ステップＳ１８０２において、上記キーワードが持つ関連語リスト５０５全てに対してステップＳ１８０３〜Ｓ１８０６の処理を実行したと判定した場合には、本フローチャートの処理を終了する。
【０１４３】
以下、図１９〜図２２を参照して図１４〜図１８に詳細に説明した検索語拡張処理結果について例示する。
【０１４４】
図１９は、図１３に示した検索条件リスト１０００の例の条１における検索後の拡張処理結果の一例を示す図である。
【０１４５】
ここでの例示は、検索条件の条件見出し１１０５が「Oracle」、必須フラグ１１０７が「ＴＲＵＥ」の場合の拡張処理結果に対応する。
【０１４６】
この場合、必須フラグ１１０７が「ＴＲＵＥ」のため、上位語には拡張されない。また、図３に示されるようにシソーラス辞書ＤＢ１０３には「Oracle」の下位語が登録されていないため実質的に下位語への拡張もされない。しかし、図３に示されるようにシソーラス辞書ＤＢ１０３には「Oracle」の関連語として「SQL」が登録されているため、拡張リスト１１０６に関連語「SQL」が登録されている。
【０１４７】
図２０は、図１３に示した検索条件リスト１０００の例の条２における検索後の拡張処理結果の一例を示す図である。
【０１４８】
ここでの例示は、検索条件の条件見出し１１０５が「Java1.3」、必須フラグ１１０７が「ＦＡＬＳＥ」の場合の拡張処理結果に対応する。
【０１４９】
この場合、必須フラグ１１０７が「ＦＡＬＳＥ」のため、まず「Java1.3」は上位語として「Java」，「オブジェクト指向言語」が順次拡張リスト１１０６の先頭に登録される。次に、下位語として「Java1.4」，「C++」，「SmallTalk」が順次拡張リスト１１０６の最後に登録される。なお、図３に示されるようにシソーラス辞書ＤＢ１０３には「Java1.3」の関連語が登録されていないため関連語への拡張はされない。
【０１５０】
図２１は、図２０に示した拡張リスト内の拡張語「Java1.3」を例示する図である。
【０１５１】
図２２は、図２０に示した拡張リスト内の拡張語「Java」を例示する図である。
【０１５２】
以下、図２３のフローチャートを参照して図８のステップＳ８０３に示した人材プロファイルＤＢ検索処理（検索条件として入力され拡張されたキーワードに該当する人材を人材DB１０４から検索する処理）について説明する。
【０１５３】
図２３は、本発明における第７の制御処理手順の一例を示すフローチャートであり、図８のステップＳ８０３に示した人材プロファイルＤＢ検索処理に対応する。なお、このフローチャートの処理は、図２に示したＣＰＵ２０１がＨＤＤ２０４に格納されるプログラムをＲＡＭ２０３にロードして実行することにより実現される人材検索手段１０２の機能に対応する。
【０１５４】
まず、ステップＳ２３０１では、ＣＰＵ２０１は、初期化した検索式（即ち、検索条件無し）をＲＡＭ２０３内に記憶させ、ステップＳ２３０１に処理を進める。
【０１５５】
次に、ステップＳ２３０２では、ＣＰＵ２０１は、検索条件リスト１０００の検索条件全てに対して、人材ＤＢ１０４を検索する為の検索式を作成する処理（ステップＳ２３０３〜Ｓ２３０７）を実行する。
【０１５６】
まず、ステップＳ２３０３では、ＣＰＵ２０１は、検索条件リスト１０００からまだ検索式を作成していない検索条件を一つを選択する。
【０１５７】
ステップＳ２３０４では、ＣＰＵ２０１は、ステップＳ２３０３で選択した検索条件の検索要素間複数（即ち、拡張リスト１１０６内の拡張語）全てをORで繋げて"条件式"を作成する。
【０１５８】
次に、ステップＳ２３０５では、ＣＰＵ２０１は、ステップＳ２３０３で選択した検索条件が必須条件か否かを判定する。
【０１５９】
そしてステップＳ２３０５において、ステップＳ２３０３で選択した検索条件が必須条件であると判定した場合には、ＣＰＵ２０１は、ステップＳ２３０６へ処理を進める。
【０１６０】
ステップＳ２３０６では、ＣＰＵ２０１は、検索式を作成（更新）する。詳細には、必須条件の検索式を作成する場合、ＣＰＵ２０１は、ＲＡＭ２０３に記憶される検索式に対して、ステップＳ２３０４で作成した条件式を「AND」で繋げ、検索式を作成（更新）する。例えば「"検索式" = "検索式" AND "条件式"」のように作成する。そして、ＣＰＵ２０１はステップＳ２３０２に処理を戻す。
【０１６１】
一方、ステップＳ２３０５において、ステップＳ２３０３で選択した検索条件が必須条件でないと判定した場合には、ＣＰＵ２０１は、ステップＳ２３０７へ処理を進める。
【０１６２】
ステップＳ２３０７では、ＣＰＵ２０１は、検索式を作成（更新）する。詳細には、非必須条件の検索式を作成する場合、ＣＰＵ２０１は、ＲＡＭ２０３に記憶される検索式に対して、ステップＳ２３０４で作成した条件式を「OR」で繋げ、検索式を作成（更新）する。例えば「"検索式" = "検索式" OR "条件式"」のように作成する。そして、ＣＰＵ２０１はステップＳ２３０２に処理を戻す。
【０１６３】
そして、ステップＳ２３０２において、全ての検索条件からＤＢ検索の為の検索式を作成し終えたと判定した場合には、ＣＰＵ２０１は、ステップＳ２３０８へ処理を進める。
【０１６４】
ステップＳ２３０８では、ＣＰＵ２０１は、ステップＳ２３０６またはステップＳ２３０７で作成した検索式を用いて、人材ＤＢ１０４（例えば、後述する図２４）を検索する。
【０１６５】
ステップＳ２３０９では、ＣＰＵ２０１は、ステップＳ２３０８で行った検索結果を一覧（例えば、後述する図２５）として作成し、本フローチャートの処理を終了する。
【０１６６】
図２４は、図１に示した人材ＤＢ１０４の一例を示す図である。
【０１６７】
図２５は、図２３のステップＳ２３０９で作成される人材検索結果の一覧の一例を示す図である。
【０１６８】
図２５において、２５０１は検索された人材を示す。２５０３は、検索に用いられた各スキル条件（検索条件）を示す。
【０１６９】
２５０２はトータルポイントを示す。
【０１７０】
図２５では全てのスコアリングが終了した人材検索結果が示されているが、図２３に示した人材プロファイルＤＢ検索処理が終了した時点では、トータルポイント２５０２は、未だ算出されていない。このトータルポイント２５０２は、以下に示す人材のスコアリング処理により算出される。
【０１７１】
以下、図２６のフローチャートを参照して図８のステップＳ８０４に示した検索された人材のスコアリング処理について説明する。
【０１７２】
図２６は、本発明における第８の制御処理手順の一例を示すフローチャートであり、図８のステップＳ８０４に示した検索された人材のスコアリング処理（人材スキルプロファイルＤＢ検索処理の検索結果に対して各人材が持つスキルのスコアリングを行う処理）に対応する。なお、このフローチャートの処理は、図２に示したＣＰＵ２０１がＨＤＤ２０４に格納されるプログラムをＲＡＭ２０３にロードして実行することにより実現される人材検索スコア算出手段１０２１の機能に対応する。
【０１７３】
まず、ステップＳ２６０１では、ＣＰＵ２０１は、図２３に示した人材スキルプロファイルＤＢ検索処理の検索結果一覧（例えば図２５）に含まれる全ての人材に対してスコアリング処理（ステップＳ２６０２〜Ｓ２６０６）を行う。
【０１７４】
まず、ステップＳ２６０２では、ＣＰＵ２０１は、図２３に示した人材スキルプロファイルＤＢ検索処理の検索結果から１人材を選択して着目中の人材に設定し、ＲＡＭ２０３に記憶される着目中の人材のスコアとなる値（トータルスコア）を０で初期化する。
【０１７５】
次に、ステップＳ２６０３では、ＣＰＵ２０１は、着目中の人材が持つスキル全てに対してスコアリング（ステップＳ２６０４〜Ｓ２６０６）を行う。
【０１７６】
まず、ステップＳ２６０４では、ＣＰＵ２０１は、着目中の人材が持つスキルから１スキルを選択し、着目中のスキルに設定し、着目中のスキルの経験時間と着目中のスキルの拡張重み（検索条件内に保持されている着目中のスキルに対応する拡張語の拡張重み（有用度）１２０２（図２５ではスキル条件２５０３内のスコアに相当））を掛け合わせることで経験時間を再算出する。
【０１７７】
次に、ステップＳ２６０５では、ＣＰＵ２０１は、上記選択したスキルに対して、ステップＳ２６０４で再算出した経験時間を利用して経験値の減衰処理を行って想定経験月数を求める。なお、減衰処理の詳細は図２７を用いて後述する。
【０１７８】
次に、ステップＳ２６０６では、ＣＰＵ２０１は、ステップＳ２６０５で減衰処理を行ったスキルに対するスコアを以下の式（１）を用いて算出し、ステップＳ２６０２で初期化したトータルスコアに加算し、ステップＳ２６０３に処理を戻す。
【０１７９】
2009080675.tif 000003
【０１８０】
※式（１）は、便宜上１００点満点とする。
※absは絶対値を表す。
【０１８１】
ステップＳ２６０３において、着目中の人材が持つスキル全てに対してスコアリングが終了したと判定した場合には、ＣＰＵ２０１は、ステップＳ２６０７へ処理を進める。
【０１８２】
ステップＳ２６０７では、ＣＰＵ２０１は、着目中の人材の全スキルからボーナスポイント付加処理を実行する。なお、ボーナスポイント付加処理は図２９を用いて後述する。
【０１８３】
次に、ステップＳ２６０８では、ＣＰＵ２０１は、ステップＳ２６０７で算出されたボーナスポイントをトータルスコアに加算して、着目中の人材のトータルポイント２５０１（図２５）としてＲＡＭ２０３内に保存し、ステップＳ２６０１に処理を戻す。
【０１８４】
ステップＳ２６０１において、ＣＰＵ２０１が、図２３に示した人材スキルプロファイルＤＢ検索処理の検索結果一覧に含まれる全ての人材に対してスコアリング処理（ステップＳ２６０２〜Ｓ２６０６）を終了したと判定した場合には、本フローチャートの処理を終了する。
【０１８５】
以下、図２７のフローチャートを参照して図２６のステップＳ２６０５に示した減衰処理について説明する。
【０１８６】
図２７は、本発明における第９の制御処理手順の一例を示すフローチャートであり、図２６のステップＳ２６０５に示した減衰処理に対応する。なお、このフローチャートの処理は、図２に示したＣＰＵ２０１がＨＤＤ２０４に格納されるプログラムをＲＡＭ２０３にロードして実行することにより実現される人材検索スコア算出手段１０２１の機能に対応する。
【０１８７】
まず、ステップＳ２７０１では、ＣＰＵ２０１は、経験値の減衰を算出する対象の人材（以下、着目中の人材）が所持するスキルのうち経験値の減衰を算出する対象のスキル（以下、着目中のスキル）が確定した時（日付）を表すレイティング日（即ち、図２４に示す終了年月日２４０１）を人材ＤＢ１０４より取得する。そして、取得したレイティング日（終了年月日２４０１）と各スキルの減衰した経験値を算出する日付を表す変換日（システム管理者もしくは利用者により予め入力されてＲＡＭ２０３に記憶されている）を用いて以下の式（２）よりブランク月数（即ち、検索された人材のスキルが確定した時点からの経過期間）を算出し、ステップＳ２７０２に処理を進める。
【０１８８】
「ブランク月数＝(変換日の年−レイティング日の年)×１２＋変換日の月−レイティング日の月」・・・（２）
次に、ステップＳ２７０２では、ＣＰＵ２０１は、システム管理者もしくは利用者により予め設定されてＨＤＤ２０４に記憶されている着目中のスキルの減衰開始期間（図２８の２８０１）と減衰終了期間（図２８の２８０２）を取得する。そして、ＣＰＵ２０１は、取得した減衰開始期間と減衰終了期間から減衰期間（図２８の２８０３）を以下の式（３）より算出し、ステップＳ２７０３に処理を進める。
【０１８９】
「減衰期間＝減衰終了期間−減衰開始期間」・・・（３）
図２８は、ブランク月数による減衰率を説明するための図である。
【０１９０】
次に、ステップＳ２７０３では、ＣＰＵ２０１は、ステップＳ２５０１で算出されたブランク月数と着目中のスキルの減衰開始期間を比較する。そして、比較した結果、ブランク月数が減衰開始期間より小さかったと判定した場合には、ＣＰＵ２０１は、ステップＳ２７０６に処理を進める。
【０１９１】
ステップＳ２７０６では、ＣＰＵ２０１は、ブランク月数が減衰開始期間より短い、つまり減衰が始まっていないので、着目中のスキルの減衰率に「１」（減衰無し）を設定し、ステップＳ２５１０に処理を進める。
【０１９２】
一方、ステップＳ２７０３において、ブランク月数が減衰開始期間以上であったと判定した場合には、ＣＰＵ２０１は、ステップＳ２７０４に処理を進める。
【０１９３】
ステップＳ２７０４では、ＣＰＵ２０１は、ステップＳ２７０１で算出されたブランク月数と着目中のスキルの減衰終了期間を比較する。そして、比較した結果、ブランク月数が減衰終了期間より大きいと判定した場合には、ＣＰＵ２０１は、ステップＳ２７０７に処理を進める。
【０１９４】
ステップＳ２７０７では、ＣＰＵ２０１は、ブランク月数が減衰終了期間を経過しているため、減衰率に着目中のスキルの最大減衰率（図２８の２８０４；システム管理者もしくは利用者により予め設定されＨＤＤ２０４に記憶されている）を設定し、ステップＳ２５１０に処理を進める。
【０１９５】
一方、ステップＳ２７０４において、ブランク月数が減衰終了期間以下と判定した場合には、ＣＰＵ２０１は、ステップＳ２７０５に処理を進める。
【０１９６】
ステップＳ２７０５では、ＣＰＵ２０１は、着目中のスキルの減衰開始期間と減衰終了期間を比較する。そして、比較した結果、減衰開始期間と減衰終了期間が等しい（即ち、減衰期間が「０」）と判定した場合には、ＣＰＵ２０１は、ステップＳ２７０７に処理を進める。
【０１９７】
一方、ステップＳ２７０４において、減衰開始期間と減衰終了期間が等しくない（即ち、減衰期間が「０」でない）と判定した場合には、ＣＰＵ２０１は、ステップＳ２７０８に処理を進める。
【０１９８】
ステップＳ２７０８では、ＣＰＵ２０１は、ステップＳ２７０２で算出した減衰開間と最大減衰率から減衰傾きを以下の式（４）より算出し、ブランク月数と着目中のスキルの減衰開始期間から減衰ブランク月数（図２８の２８０５）を以下の式（５）より算出し、ステップＳ２７０９に処理を進める。
【０１９９】
「減衰傾き＝（１−最大減衰率）／減衰期間」・・・（４）
「減衰ブランク月数＝ブランク月数−減衰開始期間」・・・（５）
ステップＳ２７０９では、ステップＳ２７０８で算出した減衰傾きと減衰ブランク月数から減衰率を以下の式（６）より算出し、ステップＳ２５１０に処理を進める。
【０２００】
「減衰率＝１−減衰傾き×減衰ブランク月数」・・・（６）
ステップＳ２７１０では、ＣＰＵ２０１は、着目中のスキルの経験月数（図２６のステップＳ２６０４で算出した経験時間）と着目中のスキルの最大経験月数（システム管理者もしくは利用者により予め設定されＨＤＤ２０４に記憶されている）を比較する。
【０２０１】
そして、ステップＳ２７１０において、着目中のスキルの経験月数が最大経験月数以下と判定した場合には、ＣＰＵ２０１は、ステップＳ２７１１に処理を進める。
【０２０２】
ステップＳ２５１１では、ＣＰＵ２０１は、着目中のスキルの経験月数を最大経験月数に置き換え、ステップＳ２５１２に処理を進める。
【０２０３】
一方、ステップＳ２７１０において、着目中のスキルの経験月数が最大経験月数より大きいと判定した場合には、ＣＰＵ２０１は、そのままステップＳ２７１２に処理を進める。
【０２０４】
ステップＳ２５１２では、ＣＰＵ２０１は、算出した着目中のスキルの減衰率と経験月数から以下の式（７）により想定経験月数を計算し、経験値減衰フローの処理を終了する。
【０２０５】
「想定経験月数＝減衰率×経験月数」・・・（６）
以下、図２９のフローチャートを参照して図２６のステップＳ２６０７に示したボーナスポイント処理（人材スキルプロファイルＤＢ検索処理結果である人材検索結果に対してボーナスポイントを付加する処理）について説明する。
【０２０６】
図２９は、本発明における第１０の制御処理手順の一例を示すフローチャートであり、図２６のステップＳ２６０７に示したボーナスポイント処理に対応する。なお、このフローチャートの処理は、図２に示したＣＰＵ２０１がＨＤＤ２０４に格納されるプログラムをＲＡＭ２０３にロードして実行することにより実現される人材検索スコア算出手段１０２１の機能に対応する。
【０２０７】
まず、ステップＳ２９０１では、ＣＰＵ２０１は、人材スキルプロファイルＤＢ検索処理結果である人材検索結果（図２５）にある全ての人材に対して、ボーナスポイントの算出（ステップＳ２９０２〜Ｓ２９０７の処理）を行う。
【０２０８】
ステップＳ２９０２では、ＣＰＵ２０１は、人材検索結果から１人材を選択して着目中の人材に設定し、着目中の人材が持つ「スキル」と「検索条件の条件見出し１１０５」が完全に一致した数（以下、カウント数）と、着目中の人材が持つ「スキル」と「検索条件の同義語」いずれかが一致した数（以下、Ｐチェックカウント数）をカウントする。
【０２０９】
例えば、Ａさんは「Java1.3」、「C言語」、「SQL」のスキルを保持し、Ｂさんは「C++」、「Windows（登録商標（以下省略）） XP」のスキルを保持しているとする。なお、「C++」は「C言語」の同義語とする。
【０２１０】
この時、検索条件を「Java1.3」、「C言語」とした場合、Ａさんの代表語カウント数は「２」、拡張語カウント数は「２」となり、Ｂさんの代表語カウント数は「０」、拡張語カウント数は「１」となる。
【０２１１】
次に、ステップＳ２９０３では、ＣＰＵ２０１は、ＲＡＭ２０３に記憶される着目中の人材のボーナスポイントを０で初期化する。
【０２１２】
次にステップＳ２９０４では、ＣＰＵ２０１は、上記カウント数による判定を行う。上記カウント数が「０」又は「１」でないと判定した場合には、ＣＰＵ２０１は、ステップＳ２９０５に処理を進める。
【０２１３】
ステップＳ２９０５では、ＣＰＵ２０１は、上記カウンタ数と基準点（システム管理者もしくは利用者により予め設定されＨＤＤ２０４に記憶されている）から人材に対するボーナスポイントを式「（カウント数−１）×基準点＝ボーナスポイント」により算出し、ステップＳ２９０６に処理を進める。
【０２１４】
図３０は、検索条件とのマッチング数によるボーナスポイントを説明する図であり、検索条件数を１０個とした例に対応する。
【０２１５】
図３０の３００１に示すように、カウント数（マッチング数）に応じてボーナスポイントが与えられる。
【０２１６】
即ち、人材検索スコア算出手段１０２１は、検索された人材が有する、検索用語のいずれかに完全一致するスキルの個数に応じたボーナスポイントを、該検索された人材データのトータルスコアに対して加算する。
【０２１７】
以下、図２９のフローチャートの説明に戻る。
【０２１８】
一方、ステップＳ２９０４において、上記カウント数が「０」又は「１」と判定した場合には、ＣＰＵ２０１は、そのままステップＳ２９０６へ処理を進める。
【０２１９】
次にステップＳ２９０６では、ＣＰＵ２０１は、上記Ｐカウント数による判定を行う。上記Ｐカウント数が検索件数と一致すると判定した場合には、ＣＰＵ２０１は、ステップＳ２９０７に処理を進める。
【０２２０】
ステップＳ２９０７では、ＣＰＵ２０１は、図３０に示すように、ステップＳ２９０５で算出したボーナスポイント３００１にパーフェクトボーナスポイント３００２（システム管理者もしくは利用者により予め設定されＨＤＤ２０４に記憶されている）を付加してボーナスポイント（最終結果値）を算出する。即ち、「ボーナスポイント＋パーフェクトボーナスポイント＝ボーナスポイント（最終結果値）」を計算する。
【０２２１】
例えば、先に例示したＡさんＢさんを用いて説明すると、検索条件は「Java1.3」、「C言語」であるので、検索条件数は「２」となる。そして、ＡさんはＰカウント数が「２」である為、パーフェクトボーナスポイントが付加される。ＢさんはＰカウント数が「１」である為、パーフェクトボーナスポイントは付加されない。
【０２２２】
即ち、人材検索スコア算出手段１０２１は、検索された人材データの有するスキルが、検索用語及び前記検索用語から拡張された拡張語の全てに一致する場合に、該人材のトータルスコアに対して、パーフェクトボーナスポイントを加算する。
【０２２３】
そして、ステップＳ２９０７の処理が終了すると、ＣＰＵ２０１は、ステップＳ２９０１に処理を戻す。
【０２２４】
一方、ステップＳ２９０６において、上記Ｐカウント数が検索件数と一致すると判定した場合には、ＣＰＵ２０１は、そのままステップＳ２９０１に処理を戻す。
【０２２５】
そして、ステップＳ２９０１において、人材検索結果にある全ての人材に対して、ボーナスポイントの算出（ステップＳ２９０２〜Ｓ２９０７の処理）を終えたと判定した場合には、ＣＰＵ２０１は、本フローチャートの処理を終了する。
【０２２６】
以下のスキル条件と図２４の人材ＤＢ１０４にある「山田太郎」の場合について、スコアリングの流れを具体的に説明する。
【０２２７】
検索スキル条件(変換日：2007年4月)を、スキル条件１（スキル「Java1.4」、工程「実装」、役割「TM」経験時間「54」ヶ月）、スキル条件２（スキル「RDB」、工程「実装」、役割「TM」経験時間「24」ヶ月）、スキル条件３（スキル「UML2.0」、工程「設計」、役割「TM」経験時間「24」ヶ月）とする。
【０２２８】
なお、検索スキル条件１の「Java1.4」は、「Java1.3」等に拡張され、該拡張語「Java1.3」の拡張重みは「0.8」とする。また、検索スキル条件２の「RDB」は、「Oracle10.g」等に拡張され、該拡張語「Java1.3」の拡張重みは「1」とする。さらに、検索スキル条件３の「UML2.0」は、「UML1.5」と「UML2.0」等に拡張され、該拡張語「UML1.5」と「UML2.0」の拡張重みはそれぞれ「0.9」とする。なお、いずれの拡張重みについても、構築されたシステムのシソーラス辞書によって異なる場合もあり、また、適宜拡張重みの見直しも可能である。
【０２２９】
図２４の人材ＤＢ１０４より、人材「山田太郎」の場合、「Java1.3」は「60」ヶ月、「Oracle10.g」は「24」ヶ月、「UML1.5」は「32」ヶ月の経験時間を保有している。
【０２３０】
各検索条件の拡張重みと経験時間の積を取り、経験時間を再算出すると、人材「山田太郎」の場合、「Java1.3」は「48」ヶ月、「Oracle10.g」は「24」ヶ月、「UML1.5」は「28.8」ヶ月の経験時間となる。
【０２３１】
なお、「山田太郎」のスキル「Java1.3」、「Oracle10.g」、「UML1.5」は、終了年月が「2007/04」とあるので、ブランク月数が「0」となり、減衰処理での経験値減衰は発生しない。
【０２３２】
上記再算出した経験時間から式（１）を用いて、各スキルのスコアを算出すると、「Java1.3」は「88」、「Oracle10.g」は「100」、「UML1.5」は「80」となる。
【０２３３】
よって、山田太郎さんの保有スキルのみによるトータルスコアは「268」となる。
【０２３４】
なお、「山田太郎」は検索条件「Java」，「RDB」，「UML」に一致した数（カウント数）が「0」であるため、ボーナスポイントは加算されない。
【０２３５】
しかし、山田太郎さんは検索条件の同義語にの全てにマッチしている為、トータルスコアにパーフェクトボーナスポイント（ここでは「150」とする）が加算される。このパーフェクトボーナスポイントについては、構築されたシステムによって変更することができ、また、適宜ボーナスポイントの見直しも可能である。
【０２３６】
以上から、山田太郎さんのトータルスコア（最終結果値）は、トータルスコア「268」＋パーフェクトボーナスポイント「150」＝「418」となる。
【０２３７】
以上、説明したように、本実施形態の人材検索装置は、シソーラス(上位・下位語、類義語、関連語)を柔軟に利用し、検索語の拡張を行って検索を行うものであり、シソーラスの上位語で、極めて汎用的な用語まで拡張した場合に、それ以上上位の検索を行わない事を表す「ストップマーク」と、シソーラスで極めて抽象的な用語の為、検索語として対象外であることを示す「抽象フラグ」を利用し、用語の意味を考慮した検索語の拡張を行うものである。
【０２３８】
そして、上記ストップマークや抽象フラグを用いることにより、閾値や回数で単純に用語を拡張させるのではなく、用語の意味を考慮した用語の絞込みを行うことができ、より条件に合った人材の検索を行うことができる。
【０２３９】
なお、上記実施形態では、本発明による検索装置を人材検索に用いることを想定した場合を例にあげて説明を行ったが、本発明は、人材検索装置に限られるものではなく、人材ＤＢ以外の一般のデータベースを検索する検索装置にも適用可能である。
【０２４０】
このように、本発明を一般的なデータベースの検索に用いる場合、データベースの構成によっては、人材ＤＢ１０４の経験時間２４０２（即ち、人材のスキル毎の経験値）に相当するような数値データが検索結果に含まれていない場合がある。このような場合、上記経験時間２４０２に相当する数値データを全てデフォルトの数値（例えば「１」）として、図２６〜図３０に示したスコアリング処理を実行するように構成する。
【０２４１】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【０２４２】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０２４３】
以上示したように、本発明の検索装置は、シソーラス(上位語、下位語、関連語等の類義語)を柔軟に利用し、検索語の拡張を行うシステムであって、シソーラスの上位語で、極めて汎用的な用語まで拡張した場合にそれ以上上位の検索を行わない事を表す「ストップマーク」と、シソーラスで極めて抽象的な用語の為に検索語として対象外であることを示す「抽象フラグ」を利用し、用語の意味を考慮した検索語の拡張を行うことにより、シソーラス辞書を用いた検索において、極めて汎用的な上位用語への検索用語の拡張や、抽象的な用語への検索用語の拡張を抑制して、用語の意味を考慮した検索用語の拡張を行うことができ、より条件に合った検索を行うことができる等の効果を奏する。
【０２４４】
よって、従来のように、類義語を検索するにあたって類似度の閾値や回数でその検索範囲を指定する方法とは異なり、拡張する検索用語によって、非常に関連性の高いものしか拡張されない、或いは、あまり関連性のない単語まで拡張してしまうという差がでてしまうといった事態や、検索対象として意味のない類義語にまで検索用語を拡張してしまうといった事態の発生を抑えて、適切な条件で検索を行うことができる。
【０２４５】
以下、図３１に示すメモリマップを参照して本発明に係る人材検索装置１００で読み取り可能なデータ処理プログラムの構成について説明する。
【０２４６】
図３１は、本発明に係る人材検索装置１００で読み取り可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明する図である。
【０２４７】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０２４８】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０２４９】
本実施形態における図８，図１４，図１５，図１６，図１７，図１８，図２３，図２６，図２７，図２９に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０２５０】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０２５１】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０２５２】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ，シリコンディスク等を用いることができる。
【０２５３】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２５４】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２５５】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０２５６】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ，データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０２５７】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【産業上の利用可能性】
【０２５８】
人材ＤＢ１０４の代わりに他のＤＢを設け、該ＤＢの検索条件を、検索条件として入力することにより、人材以外の検索用途にも適用できる。
【図面の簡単な説明】
【０２５９】
【図１】本発明に係る検索装置を適用可能なシステムの構成の一例を示すシステム構成図である。
【図２】図１に示した人材検索装置１００のハードウェア構成の一例を示すブロック図である。
【図３】図１に示したシソーラス辞書ＤＢ１０３の一例を模式的に示した模式図である。
【図４】図３に示したシソーラス辞書ＤＢ１０３に登録された各単語に付された重みの一例を模式的に示した模式図である。
【図５】図３，図４に示したシソーラス辞書ＤＢ１０３登録された各単語のデータ構成の一例を示すデータ構成図である。
【図６】図５に示した上位語情報、下位語情報(１〜ｊの個々のもの)、関連語情報(１〜ｋの個々のもの)の詳細構造を示すデータ構成図である。
【図７】シソーラス辞書ＤＢ１０３内の単語の一例を示す図である。
【図８】本発明における第１の制御処理手順の一例を示すフローチャートである。
【図９】本実施形態における検索条件入力画面９００の一例を示す図である。
【図１０】人材検索装置１００で保持される検索条件のデータ構成の一例を示すデータ構成図である。
【図１１】図１０に示した検索条件リスト１０００内の各検索条件のデータ構成の一例を示すデータ構成図である。
【図１２】図１１に示した拡張リスト１１０６内の各拡張語のデータ構成の一例を示すデータ構成図である。
【図１３】図１０に示した検索条件リストの一例を示す図である。
【図１４】本発明における第２の制御処理手順の一例を示すフローチャートである。
【図１５】本発明における第３の制御処理手順の一例を示すフローチャートである。
【図１６】本発明における第４の制御処理手順の一例を示すフローチャートである。
【図１７】本発明における第５の制御処理手順の一例を示すフローチャートである。
【図１８】本発明における第６の制御処理手順の一例を示すフローチャートである。
【図１９】図１３に示した検索条件リスト１０００の例の条１における検索後の拡張処理結果の一例を示す図である。
【図２０】図１３に示した検索条件リスト１０００の例の条２における検索後の拡張処理結果の一例を示す図である。
【図２１】図２０に示した拡張リスト内の拡張語「Java1.3」を例示する図である。
【図２２】図２０に示した拡張リスト内の拡張語「Java」を例示する図である。
【図２３】本発明における第７の制御処理手順の一例を示すフローチャートである。
【図２４】図１に示した人材ＤＢ１０４の一例を示す図である。
【図２５】図２３のステップＳ２３０９で作成される人材検索結果の一覧の一例を示す図である。
【図２６】本発明における第８の制御処理手順の一例を示すフローチャートである。
【図２７】本発明における第９の制御処理手順の一例を示すフローチャートである。
【図２８】ブランク月数による減衰率を説明するための図である。
【図２９】本発明における第１０の制御処理手順の一例を示すフローチャートである。
【図３０】検索条件とのマッチング数によるボーナスポイントを説明する図である。
【図３１】本発明に係る人材検索装置１００で読み取り可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明する図である。
【符号の説明】
【０２６０】
１００    人材検索装置
１０１    シソーラス辞書検索手段
１０１１    シソーラス辞書検索終点決定手段
１０１２    シソーラス辞書抽象用語排除手段
１０１３    シソーラス辞書検索ヒット用語有用度算出手段
１０２    人材検索手段
１０２１    人材検索計検知算出手段
１０３    シソーラス辞書ＤＢ
１０４    人材ＤＢ
１０５    クライアント通信手段
２０１    中央処理装置（ＣＰＵ）
２０２    ＲＯＭ
２０３    ＲＡＭ
２０４    ＨＤＤ
２０５    ネットワークインタフェース
【図１】
2009080675.tif 000004
【図２】
2009080675.tif 000005
【図３】
2009080675.tif 000006
【図４】
2009080675.tif 000007
【図５】
2009080675.tif 000008
【図６】
2009080675.tif 000009
【図７】
2009080675.tif 000010
【図８】
2009080675.tif 000011
【図９】
2009080675.tif 000012
【図１０】
2009080675.tif 000013
【図１１】
2009080675.tif 000014
【図１２】
2009080675.tif 000015
【図１３】
2009080675.tif 000016
【図１４】
2009080675.tif 000017
【図１５】
2009080675.tif 000018
【図１６】
2009080675.tif 000019
【図１７】
2009080675.tif 000020
【図１８】
2009080675.tif 000021
【図１９】
2009080675.tif 000022
【図２０】
2009080675.tif 000023
【図２１】
2009080675.tif 000024
【図２２】
2009080675.tif 000025
【図２３】
2009080675.tif 000026
【図２４】
2009080675.tif 000027
【図２５】
2009080675.tif 000028
【図２６】
2009080675.tif 000029
【図２７】
2009080675.tif 000030
【図２８】
2009080675.tif 000031
【図２９】
2009080675.tif 000032
【図３０】
2009080675.tif 000033
【図３１】
2009080675.tif 000034