(57)【特許請求の範囲】
【請求項１】
キーワードを受け付け、
時期情報と専門家情報とが関連づけられた複数の文書情報のうち、受け付けた前記キーワードを含む特定文書情報を抽出し、
前記特定文書情報のそれぞれに関連付けられた前記専門家情報である特定専門家情報を、前記特定専門家情報ごとに決定される優先度に基づいて出力する、
処理をコンピュータに実行させ、
前記特定専門家情報に含まれる第１の特定専門家情報の前記優先度は、前記第１の特定専門家情報に関連付けられた前記特定文書情報に関連付けられた前記時期情報が示す時期が相対的に新しいほど相対的に高く決定されるとともに、前記第１の特定専門家情報に関連付けられた前記特定文書情報の、前記複数の文書情報のうち前記第１の特定専門家情報に関連付けられた文書情報に対する割合が相対的に大きいほど相対的に高く決定される、
ことを特徴とする専門家情報検索プログラム。
【請求項２】
複数の年代を含む期間内に登録された複数の文書と、前記複数の文書の各々に関連する専門家の情報とを含む文書情報を格納する記憶部と、
キーワードを受信する受信部と、
前記キーワードが含まれる文書に関連する１以上の専門家を前記文書情報から検索する検索部と、
前記１以上の専門家の各々について、前記１以上の専門家毎の全ての文書の登録件数に対する、前記キーワードに関連する文書の登録件数の比率と、前記年代が新しいほど値が大きくなる係数とに基づいて、年代毎のスコアを算出するスコア算出部と、
前記年代毎のスコアを合算することにより、前記キーワードに関する専門家値を前記１以上の専門家毎に算出する専門家値算出部と、
前記専門家値の比較に基づいて、前記１以上の専門家の順位付けを実行するソート部と、
を有することを特徴とする専門家検索装置。
【請求項３】
前記スコア算出部は、所定の年代に登録された、前記キーワードに関連する文書の件数が多いほど値が大きくなる指標と、前記所定の年代に対応する前記比率を示す指標と、前記所定の年代に対応する前記係数とを乗算することによって、前記所定の年代のスコアを算出する、
ことを特徴とする請求項２に記載の専門家検索装置。
【請求項４】
前記スコア算出部は、前記所定の年代に登録された、前記キーワードに関連する文書の件数が零である場合、前記所定の年代に対応する前記比率を示す指標を零とする、
ことを特徴とする請求項３に記載の専門家検索装置。
【請求項５】
前記検索部は、前記キーワードが含まれる文書を前記文書情報から抽出し、
前記キーワードが含まれる文書のうち、前記キーワードの出現回数が所定の閾値以上である文書の件数を前記年代毎にカウントする計数部を更に有する、
ことを特徴とする請求項２〜４のいずれか１項に記載の専門家検索装置。
【請求項６】
前記受信部は、検索対象の情報を受信し、
前記検索部は、前記１以上の専門家のうち、前記検索対象に該当する専門家を抽出する、
ことを特徴とする請求項２〜５のいずれか１項に記載の専門家検索装置。
【請求項７】
前記１以上の専門家の各々について、前記キーワードが含まれる文書の登録件数を前記年代毎にカウントするキーワード含有文書計数部と、
前記１以上の専門家の各々について、前記キーワードが含まれない文書の登録件数を前記年代毎にカウントするキーワード非含有文書計数部と、
を更に有し、
前記スコア算出部は、前記キーワードが含まれる文書の登録件数と、前記キーワードが含まれない文書の登録件数とに基づいて、前記比率を算出する、
ことを特徴とする請求項２〜６のいずれか１項に記載の専門家検索装置。
【請求項８】
複数の年代を含む期間内に登録された複数の文書と、前記複数の文書の各々の専門家の情報とを含む文書情報を格納し、
キーワードを受信し、
前記キーワードが含まれる文書に関連する１以上の専門家の情報を前記文書情報から抽出し、
前記１以上の専門家の各々について、前記１以上の専門家毎の全ての文書の登録件数に対する、前記キーワードに関連する文書の登録件数の比率と、前記年代が新しいほど値が大きくなる係数とに基づいて、年代毎のスコアを算出し、
前記年代毎のスコアを合算することにより、前記キーワードに関する専門家値を前記専門家毎に算出し、
前記専門家値の比較に基づいて、前記１以上の専門家の順位付けを実行する、
処理をコンピュータが実行することを特徴とする専門家検索方法。
【請求項９】
複数の年代を含む期間内に登録された複数の文書と、前記複数の文書の各々の専門家の情報とを含む文書情報を格納する記憶部を有する専門家検索装置に、
キーワードを受信する処理と、
前記キーワードが含まれる文書を登録した１以上の専門家の情報を前記文書情報から抽出する処理と、
前記１以上の専門家の各々について、前記１以上の専門家毎の全ての文書の登録件数に対する、前記キーワードに関連する文書の登録件数の比率と、前記年代が新しいほど値が大きくなる係数とに基づいて、年代毎のスコアを算出する処理と、
前記年代毎のスコアを合算することにより、前記キーワードに関する専門家値を前記１以上の専門家毎に算出する処理と、
前記専門家値の比較に基づいて、前記１以上の専門家の順位付けを実行する処理と、
を実行させるための専門家検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、専門家検索装置、専門家検索方法および専門家検索プログラムに関する。
【背景技術】
【０００２】
企業、大学、官庁または研究機関等の組織では、様々な専門家が、同一のネットワークを利用して業務活動を行っている。組織の中で、例えば新規のプロジェクトを立ち上げる際には、組織内に分散した専門家の中から、プロジェクトの遂行に必要となる専門知識を有する専門家を効率的に集められることが望ましい。
【０００３】
そこで近年では、ネットワークを介して専門家を簡便に検索できる技術が開示されている。例えば特許文献１では、ユーザ端末から検索キーワードを指定した検索要求を受信したときに、検索キーワードを文書内に含む文書を文書記憶装置から検索する技術が開示されている。当該技術によれば、検索された文書内における検索キーワードの重要度スコアを決定し、検索された文書の登録者と重要度スコアとに基づいて、検索された文書の登録者の専門度スコアを計算する。この方法により、専門度スコアに基づいて登録ユーザをランキングすることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２３４５５０号公報
【特許文献２】特開２００６−２６８０８０号公報
【特許文献３】特開２０１１−１０３０５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示されている方法によれば、検索キーワードを含む文書を多数登録している人ほど専門性が高いと判断されてしまう。また、現在は検索キーワードに関連する業務に従事していない人であっても、過去の検索キーワードを含む文書の登録件数によっては、専門性が高い人として判断されてしまう。
【０００６】
本発明の１つの側面では、検索キーワードをもとに専門家を検索する精度を向上させることが可能な専門家検索装置、専門家検索方法および専門家検索プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
発明の一観点によれば、複数の年代を含む期間内に登録された複数の文書と、前記複数の文書の各々に関連する専門家の情報とを含む文書情報を格納する記憶部と、キーワードを受信する受信部と、前記キーワードが含まれる文書に関連する１以上の専門家を前記文書情報から検索する検索部と、前記１以上の専門家の各々について、前記１以上の専門家毎の全ての文書の登録件数に対する、前記キーワードに関連する文書の登録件数の比率と、前記年代が新しいほど値が大きくなる係数とに基づいて、年代毎のスコアを算出するスコア算出部と、前記年代毎のスコアを合算することにより、前記キーワードに関する専門家値を前記１以上の専門家毎に算出する専門家値算出部と、前記専門家値の比較に基づいて、前記１以上の専門家の順位付けを実行するソート部と、を有する専門家検索装置が提供される。
【発明の効果】
【０００８】
一実施態様によれば、検索キーワードをもとに専門家を検索する精度を向上させることが可能な専門家検索装置、専門家検索方法および専門家検索プログラムを提供することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、専門家検索システムの構成の一例を示す図である。
【図２】図２は、専門家検索装置のハードウェア構成の一例を示す図である。
【図３】図３は、実施例１における、計数部１５の構成の一例を示す図である。
【図４】図４は、実施例１における、専門家検索装置による専門家検索方法の一例を示すフローチャートである。
【図５】図５は、文書ＤＢの一例を示す図である。
【図６】図６は、Ｓ１０２における、キーワード含有文書および登録者を抽出する処理の一例を示すフローチャートである。
【図７】図７は、Ｓ１０３における、スコアを算出する処理の一例を示すフローチャートである。
【図８】図８は、Ｓ３０３における、ｎに対応する年代に登録された、全登録文書の件数の情報とキーワード含有文書の件数の情報とを取得する処理の一例を示すフローチャートである。
【図９】図９は、Ｓ３０５における、パラメータβの算出方法を示すフローチャートの一例である。
【図１０】図１０は、式（３）に基づいて年代毎に設定されたパラメータγの一例を示す図である。
【図１１】図１１は、Ｓ１０４における、専門家値を算出する処理の一例を示すフローチャートである。
【図１２】図１２は、スコアおよび専門家値の算出結果の一例を示す図である。
【図１３】図１３は、図１２のデータに基づいて作成した各登録者の年代毎の登録文書件数を示す図である。
【図１４】図１４は、検索キーワードを含む文書数に基づいた専門家のランキング結果の一例を示す図である。
【図１５】図１５は、専門家値に基づいて作成した専門家のランキング結果の一例を示す図である。
【図１６】図１６は、実施例２における、専門家検索装置による専門家検索方法の一例を示すフローチャートである。
【図１７】図１７は、Ｓ１０２ａにおける、キーワード含有文書を抽出する処理の一例を示すフローチャートである。
【図１８】図１８は、実施例３における、専門家検索装置による専門家検索方法の一例を示すフローチャートである。
【図１９】図１９は、Ｓ１０２ｂにおける、キーワード含有文書および登録者を抽出する処理の一例を示すフローチャートである。
【図２０】図２０は、Ｓ１０２ｃにおける、分野担当者を抽出する処理の一例を示すフローチャートである。
【図２１】図２１は、実施例４における、計数部１５の構成の一例を示す図である。
【図２２】図２２は、実施例４における、専門家検索装置による専門家検索方法の一例を示すフローチャートである。
【図２３】図２３は、Ｓ３０３ｃにおける、キーワード含有文書の件数およびキーワード非含有文書の件数の情報を取得する処理の一例を示すフローチャートである。
【図２４】図２４は、Ｓ３０５ｃにおける、パラメータβの算出方法を示すフローチャートの一例である。
【図２５】図２５は、ウェブアプリケーションを用いた専門家検索サービスの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、図１から図２５を参照して具体的に説明する。
【００１１】
（実施例１）
図１は、専門家検索システムの一例を示す図である。図１に示すように、専門家検索システムは、専門家検索装置１０と端末装置３０とを有している。専門家検索装置１０と端末装置３０とは、インターネット等のネットワーク５０を介して相互に通信可能に接続されている。
【００１２】
専門家検索装置１０は、文書が登録された文書データベース（文書ＤＢ）を用いて、特定の分野に関する専門家を検索する装置である。ここで専門家とは、専門分野の知識およびスキルを有する人材であり、企業、大学、官庁または研究機関等の組織において、当該専門分野のプロジェクトの立ち上げおよび遂行に力を発揮できる人的資源である。例えば企業の構成員は、専門の分野の業務に直接携わる分野担当者と、当該分野の業務を管理する分野管理者とを含む。本実施形態における専門家検索装置１０は、検索キーワードをもとに文書ＤＢを検索することにより、両者を抽出することができる。なお、文書ＤＢは、文書情報の一例である。専門家検索装置１０は、例えばサーバ、汎用コンピュータ、またはパーソナルコンピュータ（ＰＣ）等によって実現される。専門家検索装置１０が実行する処理の方法については後述する。
【００１３】
端末装置３０は、例えば専門家を検索するために専門家検索装置１０を利用するユーザが所有する端末であり、例えばスマートフォン、携帯電話、ノートＰＣ（Personal Computer）、デスクトップＰＣ、またはタブレット端末等である。また、文書とは、例えば資料、論文、メール文書などのテキスト情報、写真などの静止画、および動画を含む画像情報、または音声情報である。
【００１４】
次に、専門家検索装置１０のハードウェア構成について説明する。
【００１５】
図２は、専門家検索装置１０のハードウェア構成の一例を示す図である。図２に示すように、専門家検索装置１０は、ＣＰＵ（Central Processing Unit）６１、ＲＯＭ（Read Only Memory）６２、ＲＡＭ（Random Access Memory）６３、ストレージ装置６４、ネットワークインタフェース６５、表示装置６６、及び可搬型記憶媒体用ドライブ６７等を備えている。
【００１６】
専門家検索装置１０の構成各部は、バス６８に接続されている。ストレージ装置６４は、例えばＨＤＤ（Hard Disk Drive）である。専門家検索装置１０では、ＲＯＭ６２あるいはストレージ装置６４に格納されているプログラム（専門家検索プログラムを含む）、或いは可搬型記憶媒体用ドライブ６６が可搬型記憶媒体６９から読み取ったプログラム（専門家検索プログラムを含む）をＣＰＵ６１等のプロセッサが実行することにより、専門家検索装置１０の機能が実現される。当該プログラムは、ＲＡＭ６３にロードされ、ＣＰＵ６１等のプロセッサに実行されてもよい。表示装置６６は、例えば液晶ディスプレイ、プラズマディスプレイ、有機ＥＬディスプレイまたは電子ペーパー等である。
【００１７】
図１に戻り、専門家検索装置１０を構成する各部の機能について説明する。
【００１８】
図１に示すように、専門家検索装置１０は、第１記憶部１１と、第２記憶部１２と、受信部１３と、検索部１４と、計数部１５と、スコア算出部１６と、専門家値算出部１７と、専門家ソート部１８と、送信部１９と、出力部２０とを備えている。
【００１９】
第１記憶部１１は、文書ＤＢを用いて特定の分野に関する専門家を検索するための専門家検索プログラムを記憶することができる。第１記憶部１１は、例えば図２のＲＯＭ６２、ストレージ装置６４、可搬型記憶媒体用ドライブ６７あるいは可搬型記憶媒体６９に対応する。
【００２０】
第２記憶部１２は、専門家検索装置１０内で行われる各処理に用いる各種情報を記憶するためのデータベース（ＤＢ；Data Base)として用いられる。例えば、文書ＤＢは、第２記憶部１２に格納される。第２記憶部１２は、例えば図２のＲＯＭ６２、ＲＡＭ６３、ストレージ装置６４、可搬型記憶媒体用ドライブ６７あるいは可搬型記憶媒体６９に対応する。
【００２１】
受信部１３は、端末装置３０から送信された、文字列の情報を含む検索キーワードを受信する。受信部１３は、端末装置３０と相互に通信可能に接続されており、例えば図２のネットワークインタフェース６５によって実現される。
【００２２】
検索部１４は、受信部１３が受信した検索キーワードを用いて、第２記憶部１２に格納されている文書ＤＢを検索する。文書ＤＢを検索することにより、検索部１４は、検索キーワードが含まれている全ての文書を抽出することができる。また、検索部１４は、抽出した全ての文書の中から、それぞれの文書を登録した登録者を抽出することができる。なお、以降の本実施形態の説明では、前提として、登録者と文書の責任者とが同一であり、文書の責任者が当該文書の作成者を含むものとして説明する。
【００２３】
計数部１５は、検索部１４によって抽出された登録者の各々について、当該登録者によって登録された全ての文書の件数を年代毎にカウントすることができる。また、計数部１５は、検索部１４によって抽出された登録者の各々について、当該登録者によって登録された検索キーワードに関連する文書の件数を年代毎にカウントすることができる。
【００２４】
図３は、実施例１における、計数部１５の構成の一例を示す図である。図３に示すように、計数部１５は、年代別計数部２１とキーワード含有文書計数部２２とを含む。年代別計数部２１は、ある登録者が登録した文書の件数を年代毎にカウントする機能を有する。一方、キーワード含有文書計数部２２は、検索キーワードが含まれている文書の件数を年代毎にカウントする機能を有する。年代別計数部２１およびキーワード含有文書計数部２２が行う処理の詳細については後述する。以降では、検索キーワードが含まれている文書を、キーワード含有文書と呼称する。
【００２５】
スコア算出部１６は、登録者によって登録された全ての文書の件数の情報と、当該登録者によって登録された検索キーワードを含む文書の件数の情報と、年代が新しくなるほど値が大きくなる係数とに基づいて、専門家値を算出するために用いられる年代毎のスコアを算出する。ここで、専門家値とは、特定の分野に関する専門性の高さを示す指標であり、登録者毎に算出される値である。スコアの算出方法については後述する。スコア算出部１６は、例えば図２のＣＰＵ６１あるいはＭＰＵ等のプロセッサによって実現される。
【００２６】
専門家値算出部１７は、スコア算出部１６によって年代毎に算出されたスコアを合算することにより、検索キーワードに関する専門家値を登録者毎に算出する。専門家値の算出方法については後述する。専門家値算出部１７は、例えば図２のＣＰＵ６１あるいはＭＰＵ等のプロセッサによって実現される。
【００２７】
専門家ソート部１８は、スコア算出部１６によって算出された専門家値をソートし、登録者の順位付けを実行する。そして専門家ソート部１８は、専門家の順位付けの結果であるランキング結果を示すリストを生成する。専門家ソート部１８は、例えば図２のＣＰＵ６１あるいはＭＰＵ等のプロセッサによって実現される。
【００２８】
送信部１９は、専門家ソート部１８によって生成された専門家の検索結果を、ネットワーク５０に向けて送信する機能を有している。端末装置３０は、ネットワーク５０を介して専門家検索装置１０から送信されたリストを、検索結果として受信する。
【００２９】
出力部２０は、図２の表示装置６６に対応するハードウェア装置であり、専門家ソート部１８によって生成された専門家のリストを出力することができる。
【００３０】
次に、専門家検索装置１０による専門家検索方法について説明する。
【００３１】
図４は、専門家検索装置による専門家検索方法の一例を示すフローチャートである。
【００３２】
まず、受信部１３は、端末装置３０によって入力された検索キーワードの情報を受信する（Ｓ１０１）。検索キーワードは、端末装置３０のユーザが検索しようとしている専門家の専門分野に関するキーワードである。例えば、ユーザがクラウドコンピューティングの専門家を検索する場合、ユーザから例えば「クラウド」または「クラウドコンピューティング」等の語が端末装置３０に入力される。そして受信部１３は、これらの語を検索キーワードとして受信することとなる。
【００３３】
続いて、検索部１４は、検索キーワードを用いて第２記憶部１２に格納されている文書ＤＢを検索し、検索キーワードが含まれている文書と、当該文書の全ての登録者を抽出する（Ｓ１０２）。なお、文書ＤＢを検索した結果、検索キーワードが含まれている文書が文書ＤＢに存在しないことが判明した場合は、専門家を検索する処理を終了する。
【００３４】
図５は、文書ＤＢの一例を示す図である。図５に示すように、文書ＤＢには、文書を一意に識別するための番号（Ｎｏ．）と、文書を登録した登録者と、登録日と、文書名とが対応付けられて登録されている。文書が対応する年代は、文書ＤＢの登録日の欄に格納された情報に基づいて特定することができる。例えば、Ｎｏ．が５１４５の文書は、登録日の欄によれば登録日が２０１３年１２月２３日（図５では２０１３／１２／２３と表記）である。よって、対応する年代を２０１３年と特定することができる。
【００３５】
以下、Ｓ１０２の処理の詳細について説明する。
【００３６】
図６は、Ｓ１０２における、キーワード含有文書および登録者を抽出する処理の一例を示すフローチャートである。Ｓ１０２では、キーワード含有文書およびキーワード含有文書の登録者を、文書ＤＢの先頭行から順次検索する処理を実行する。
【００３７】
まず、検索部１４は、文書ＤＢの１行目から検索を行うため、Ｌの値を初期設定し、Ｌに１を格納する（Ｓ２０１）。
【００３８】
続いて、検索部１４は、文書ＤＢを検索し、文書ＤＢにＬ行目が存在するか否かを判定する（Ｓ２０２）。文書ＤＢにＬ行目が存在しない場合（Ｓ２０２否定）、文書ＤＢの全ての行の検索が終了したものと判定し、Ｓ１０３に移る。一方、文書ＤＢにＬ行目が存在する場合（Ｓ２０２肯定）、検索部１４は、文書ＤＢのＬ行目に登録されている文書を参照し、文書中に検索キーワードが含まれているか否かを判定する（Ｓ２０３）。Ｓ２０３では、検索部１４は、文書ＤＢ中の、文書を一意に識別するための番号に紐づけられて第２記憶部１２に格納されている文書（文書ファイル）を参照して、文書中の検索キーワードを検索する。なお、検索部１４は、文書ファイルを参照するのではなく、文書ＤＢの文書名の項目に登録されている文書名を参照して、文書名の中の検索キーワードを検索してもよい。
【００３９】
Ｌ行目の文書中に検索キーワードが含まれていない場合（Ｓ２０３否定）、検索部１４は、文書ＤＢのＬ行目の文書に検索キーワードが含まれていないものと判定する。そこで、検索部１４は、文書ＤＢの次の行を検索するため、Ｌの値をカウントアップし、Ｌに１を加算した値を新たなＬの値とする（Ｓ２０６）。Ｓ２０６の処理の後、Ｓ２０２に戻り、検索部１４は、Ｓ２０２以降の処理を再び実行する。
【００４０】
一方、Ｌ行目の文書中に検索キーワードが含まれている場合（Ｓ２０３肯定）、検索部１４は、Ｌ行目の文書をキーワード含有文書として抽出する（Ｓ２０４）。そして、検索部１４は、Ｌ行目の文書の登録者を抽出する（Ｓ２０５）。その後、Ｌの値をカウントアップするＳ２０６の処理を経て、Ｓ２０２に戻る。そして、検索部１４は、文書ＤＢの新たなＬ行目を検索するため、Ｓ２０２以降の処理を再び実行する。
【００４１】
やがて、文書ＤＢの全ての行の検索が終了すると、Ｓ２０２においてＳ２０２否定と判定され、Ｓ１０３に移る。これによりＳ１０２の処理が完了する。
【００４２】
図５を参照しながら、Ｓ１０２の処理結果の一例について説明する。例えば、受信部１３が検索キーワードとして「クラウド」を受信したものとする。検索部１４は、検索キーワードとして受信された「クラウド」をもとに図５の文書ＤＢを検索する。その結果、文書ＤＢに登録されている文書の中から、文書Ｎｏ．が４３３２，４５０６，４８６６，４８６７，５０２２および５１４５の文書が順次抽出される。
【００４３】
そして、上述の文書が抽出された場合、図６に示す各処理を経て、文書Ｎｏ．が４８６６，４８６７，５１４５の文書を登録した登録者である「鈴木」と、文書Ｎｏ．が５０２２の文書を登録した登録者である「井上」と、文書Ｎｏ．が４５０６の文書を登録した登録者である「橋本」と、文書Ｎｏ．が４３３２の文書を登録した登録者である「中村」とが抽出される。
【００４４】
以上のようにして、検索部１４は、文書ＤＢから検索キーワードが含まれている文書と、当該文書の登録者を全て抽出することができる。
【００４５】
以降の処理では、年代を「年」と同義と見做して説明する。一方、例えば１年の上半期および下半期をそれぞれ一つの年代として定義する、あるいは複数の年をまとめて一つの年代として定義する等、他の方法で年代を定義することもできる。
【００４６】
図４に戻り、スコア算出部１６は、抽出された登録者の各々について、年代毎にスコアを算出する（Ｓ１０３）。以下、Ｓ１０３の処理の詳細について説明する。
【００４７】
図７は、Ｓ１０３における、スコアを算出する処理の一例を示すフローチャートである。
【００４８】
Ｓ１０３では、まず、スコア算出部１６は、Ｓ１０２で抽出された全ての登録者のうち、未選択の一名を選択する（Ｓ３０１）。
【００４９】
続いて、スコア算出部１６は、文書ＤＢに格納されている文書のうち、最も古い文書が登録された年の数値を変数ｎに格納する（Ｓ３０２）。ここで、変数ｎは、スコアを算出する処理の対象の年代を示す変数である。例えば、２００６は西暦２００６年に対応する年代ＩＤであり、本実施形態では、西暦Ｘ年の年代ＩＤをＸと定義している。最も古い文書が登録された年は、最も古い文書から順番に文書ＤＢのＮｏ．が付与されている場合、すなわち、文書ＤＢの行が登録順である場合は、文書ＤＢの先頭行の文書の登録日から特定することができる。一方、最も古い文書から順番に文書ＤＢのＮｏ．が付与されていない場合は、図６に示すＳ１０２の処理において、文書ＤＢの全ての行を検索することになるため、当該検索が終了した際に、検索した全ての行の中で登録日が最も古い文書に基づいて特定することができる。
【００５０】
Ｓ３０２の処理の後、スコア算出部１６は、文書ＤＢを参照し、Ｓ３０１で選択した登録者に関する、ｎに対応する年代に登録された全ての登録文書の件数の情報と、キーワード含有文書の件数の情報とを取得する（Ｓ３０３）。以降では、ある年代に登録された全ての登録文書を全登録文書と呼称する。例えばｎ＝２００６の場合、スコア算出部１６は、Ｓ３０１で選択した登録者に関する、２００６年の全登録文書の件数の情報と、キーワード含有文書の件数の情報とを取得する。
【００５１】
以下、Ｓ３０３の処理の詳細について説明する。
【００５２】
図８は、Ｓ３０３における、ｎに対応する年代に登録された、全登録文書の件数の情報とキーワード含有文書の件数の情報とを取得する処理の一例を示すフローチャートである。
【００５３】
Ｓ３０３では、まず、検索部１４は、文書ＤＢの１行目から検索を行うため、Ｌの値を初期設定し、Ｌに１を格納する（Ｓ４０１）。
【００５４】
続いて、検索部１４は、文書ＤＢを検索し、文書ＤＢにＬ行目が存在するか否かを判定する（Ｓ４０２）。文書ＤＢにＬ行目が存在する場合（Ｓ４０２肯定）、検索部１４は、文書ＤＢのＬ行目に登録されている文書を参照し、Ｌ行目の文書の登録者が、Ｓ１０２において抽出された登録者の中に含まれているか否かを判定する（Ｓ４０３）。
【００５５】
Ｌ行目の文書の登録者が、Ｓ１０２において抽出された登録者に含まれていない場合（Ｓ４０３否定）、検索部１４は、文書ＤＢの次の行を検索するため、Ｌの値をカウントアップし、Ｌに１を加算した値を新たなＬの値とする（Ｓ４０４）。その後、Ｓ４０２に戻り、Ｓ４０２以降の処理を再び実行する。一方、Ｌ行目の文書の登録者が、Ｓ１０２において抽出された登録者の中に含まれている場合（Ｓ４０３肯定）、計数部１５は、Ｌ行目の文書を、ｎに対応する年代に登録された登録文書としてカウントする（Ｓ４０５）。具体的には、ｎに対応する年代に登録された登録文書の件数を示す変数を設定して初期値として零を格納する。そして、Ｓ４０３肯定と判定される度に変数に１を加算していくことにより、ｎに対応する年代に登録された登録文書の件数をカウントしていく。Ｓ３０３の処理が終了すると、ｎに対応する年代に登録された、全登録文書の件数の情報を取得することができる。
【００５６】
Ｓ４０５の処理の後、検索部１４は、Ｌ行目の文書中に検索キーワードが含まれているか否かを判定する（Ｓ４０６）。Ｌ行目の文書中に検索キーワードが含まれていない場合（Ｓ４０６否定）、Ｌの値をカウントアップするＳ４０４の処理を経てＳ４０２に戻り、Ｓ４０２以降の処理を再び実行する。一方、Ｌ行目の文書中に検索キーワードが含まれている場合（Ｓ４０６肯定）、計数部１５は、Ｌ行目の文書をキーワード含有文書としてカウントする（Ｓ４０７）。具体的には、ｎに対応する年代に登録されたキーワード含有文書の件数を示す変数を設定して初期値として零を格納する。そして、Ｓ４０６肯定と判定される度に変数に１を加算していくことにより、ｎに対応する年代に登録された登録文書の件数をカウントしていく。Ｓ３０３の処理が終了すると、ｎに対応する年代に登録された、キーワード含有文書の件数の情報を取得することができる。
【００５７】
Ｓ４０７の処理の後、スコア算出部１６は、Ｌの値をカウントアップするＳ４０４の処理を経て、Ｓ４０２に戻る。そして、スコア算出部１６は、文書ＤＢの新たなＬ行目を参照するため、Ｓ４０２以降の処理を再び実行する。
【００５８】
やがて、文書ＤＢの全ての行についての処理が終了すると、Ｓ４０２において文書ＤＢにＬ行目が存在しないと判定され（Ｓ４０２否定）、Ｓ３０４に移る。これによりＳ３０３の処理が完了する。
【００５９】
続いて、スコア算出部１６は、キーワード含有文書の件数の対数値からなるパラメータαを算出する（Ｓ３０４）。Ｓ３０４では、例えば以下の式（１）を用いて年代ＩＤがｎの年代におけるパラメータαを算出する。
式（１）：
0006442918.tif 000002
【００６０】
例えば、年代ＩＤがｎの年代における、ある登録者のキーワード含有文書の件数が７件である場合、式（１）のｄｆｎに７を代入することにより、α＝３と算出することができる。式（１）に示すように、パラメータαは、キーワード含有文書の件数が大きいほど値が大きくなるパラメータである。キーワード含有文書の件数の対数を算出することにより、登録者間でキーワード含有文書の件数が異なった場合にαの差が広がるため、αを用いて算出する専門家値の差を広げることができる。そのため、専門家値に基づいて、登録者間の専門性をより容易に比較することができる。
【００６１】
続いて、スコア算出部１６は、全登録文書の件数に対するキーワード含有文書の件数の比率からなるパラメータβを算出する（Ｓ３０５）。
【００６２】
ここで、パラメータβの算出方法について説明する。
【００６３】
図９は、Ｓ３０５における、パラメータβの算出方法を示すフローチャートの一例である。
【００６４】
Ｓ３０５では、まず、スコア算出部１６は、Ｓ３０３で取得したキーワード含有件数の値が零か否かを判定する（Ｓ５０１）。キーワード含有件数の値が零である場合（Ｓ５０１肯定）、当該年代におけるβの値をβ＝０とする（Ｓ５０２）。一方、キーワード含有件数の値が零でない場合（Ｓ５０１否定）、スコア算出部１６は、例えば以下の式（２）を用いて、年代ＩＤがｎにおけるパラメータβを算出する（Ｓ５０３）。
式（２）：
0006442918.tif 000003
【００６５】
例えば、ｎの年代における、ある登録者の全登録文書の件数が９件であり、キーワード含有文書の件数が４件である場合、式（２）のＤｎに９を代入し、ｄｆｎに４を代入することにより、β＝０．５と算出することができる。
【００６６】
式（２）に示すように、パラメータβは、ある年代においてキーワード含有文書を登録した文書の比率が高いほど値が大きくなるパラメータである。ところが、キーワード含有文書の件数の値が零の場合に式（２）を用いてβを算出すると、β＝１となり、キーワード含有文書が全く抽出されていないにも関わらず、キーワード含有文書が抽出された場合よりもβの値が大きくなってしまうことがある。そこで、Ｓ５０２に示すように、キーワード含有文書の件数の値が零の場合にはβ＝０とすることにより、上述の不具合を回避することができる。
【００６７】
以上のようにして、スコア算出部１６はパラメータβを算出する。
【００６８】
図７に戻り、Ｓ３０５の処理の後、スコア算出部１６は、各年代に対応するパラメータγを第２記憶部１２から読み出す。γは、年代の新しさを示す指標であり、年代毎に予め設定され、第２記憶部１２に格納されている。なお、年代毎のγの値は、ｎの最大値である最新の年代の年代ＩＤであるｍと、算出対象の年代の年代ＩＤであるｎとの差であるｍ−ｎに基づいて、例えば式（３）によって算出することができる。
式（３）：
0006442918.tif 000004
【００６９】
ｍの値は、最も古い文書から順番に文書ＤＢのＮｏ．が付与されている場合、すなわち、文書ＤＢの行が登録順である場合は、文書ＤＢの最終行の文書の登録日から特定することができる。一方、最も古い文書から順番に文書ＤＢのＮｏ．が付与されていない場合は、図６に示すＳ１０２の処理において、文書ＤＢの全ての行を検索することになるため、当該検索が終了した際に、検索した全ての行の中で登録日が最も新しい文書に基づいて特定することができる。
【００７０】
一例として、２００６年におけるパラメータγを算出する。２００６年に対応する年代ＩＤは２００６であり、最新の年代を２０１３年とすると、ｍ＝２０１３である。よって、式（３）のｍに２０１３を代入し、ｎに２００６をそれぞれ代入してパラメータγを計算すると、γ≒０．７７と算出することができる。
【００７１】
図１０は、式（３）に基づいて年代毎に設定されたパラメータγの一例を示す図である。γ欄には、小数第２位までのγの値が表示されている。図１０に示すように、パラメータγは、年代が新しいほど値が大きくなる係数である。パラメータαと同様に、対数を用いてパラメータγを算出することにより、年代毎のγの値の差を広げることができる。
【００７２】
図７に戻り、スコア算出部１６は、Ｓ３０４で算出したパラメータαと、Ｓ３０５で算出したパラメータβと、第２記憶部１２から読み出したパラメータγとを用いて、ｎの年代におけるスコアを算出する（Ｓ３０６）。
式（４）：
0006442918.tif 000005
【００７３】
式（４）に示すように、スコアは、全登録文書の件数に対するキーワード含有文書の件数の比率（パラメータβ）と年代の新しさを示す指標（パラメータγ）とを乗算し、乗算により得られた値に、キーワード含有文書の件数の対数（パラメータα）を重み付けすることにより算出される。
【００７４】
続いて、スコア算出部１６は、変数ｎに１を加算する（Ｓ３０７）。例えば、変数ｎに２００６が格納されている場合、ｎに１を加算すると、新たにｎ＝２００７と設定され、処理の対象が２００６年の１年後の年代である２００７年に移ることとなる。
【００７５】
続いて、スコア算出部１６は、新たに設定された変数ｎがｍよりも大きいか否かを判定する（Ｓ３０８）。変数ｎがｍよりも大きいと判定されなかった場合（Ｓ３０８否定）、Ｓ３０１で選択された登録者に関する全ての年代のスコアが算出されていないと判定され、Ｓ３０３に移る。そして、スコア算出部１６は、Ｓ３０３以降の処理を再び実行する。一方、変数ｎがｍよりも大きいと判定された場合（Ｓ３０８肯定）、年代ＩＤの最大値ｍを超えたため、Ｓ３０１で選択された登録者に関する全ての年代のスコアが算出されたと判定される。そして、Ｓ３０９に移る。
【００７６】
Ｓ３０９において、スコア算出部１６は、Ｓ１０２で抽出された全ての登録者を選択したか否かを判定する。全ての登録者を選択していないと判定された場合（Ｓ３０９否定）、全ての登録者の年代毎のスコアが算出されていないと判定され、Ｓ３０１に移る。そして、Ｓ３０１以降の処理を再び実行する。一方、全ての登録者を選択したと判定された場合（Ｓ３０９肯定）、全ての登録者の年代毎のスコアが算出されたと判定され、Ｓ１０４に移る。これと同時に、スコアを算出する処理が終了する。
【００７７】
図４に戻り、Ｓ１０４において、専門家値算出部１７は、Ｓ１０２で抽出された登録者毎に専門家値を算出する。Ｓ１０４では、登録者毎に、Ｓ１０３で算出した各年代のスコアを全て合算することにより、専門家値を算出することができる。以下、Ｓ１０４の処理の具体例について説明する。
【００７８】
図１１は、Ｓ１０４における、専門家値を算出する処理の一例を示すフローチャートである。
【００７９】
Ｓ１０４では、まず、専門家値算出部１７は、Ｓ１０２で抽出された全ての登録者のうち、未選択の一名を選択する（Ｓ６０１）。
【００８０】
続いて、専門家値算出部１７は、文書ＤＢに格納されている文書のうち、最も古い文書が登録された年の数値を変数ｎに格納する（Ｓ６０２）。Ｓ６０２の処理は図７のＳ３０２の処理と略同様であるので、詳細な説明は省略する。
【００８１】
続いて、専門家値算出部１７は、変数Ｘの値を初期化するため、変数Ｘに零を格納する（Ｓ６０３）。以降では、専門家値を算出するために変数Ｘを用いる。
【００８２】
続いて、専門家値算出部１７は、Ｓ６０１で選択された登録者に対応する、年代ｎにおけるスコアを変数Ｘに加算する（Ｓ６０４）。Ｓ６０４では、Ｓ１０３で算出した年代ｎにおけるスコアを変数Ｘに加算することによって、変数Ｘに格納されている値を更新する。
【００８３】
続いて、専門家値算出部１７は、変数ｎに１を加算する（Ｓ６０５）。
【００８４】
続いて、専門家値算出部１７は、新たに設定された変数ｎがｍよりも大きいか否かを判定する（Ｓ６０６）。変数ｎがｍよりも大きいと判定されなかった場合（Ｓ６０６否定）、変数Ｘを更新する処理が完了していないと判定され、Ｓ６０４に戻る。そして、専門家値算出部１７は、Ｓ６０４以降の処理を再び実行する。一方、変数ｎがｍよりも大きいと判定された場合（Ｓ６０６肯定）、年代ＩＤの最大値ｍを超えたため、変数Ｘを更新する処理が完了したと判定される。すなわち、この時点で、Ｓ６０１で選択された登録者に対応する各年代のスコアが全て合算され、合算された値が変数Ｘに格納されたこととなる。そして、専門家値算出部１７は、変数Ｘに格納されている値を、Ｓ６０１で選択された登録者の専門家値として決定する（Ｓ６０７）。
【００８５】
続いて、専門家値算出部１７は、Ｓ１０２で抽出された全ての登録者を選択したか否かを判定する（Ｓ６０８）。全ての登録者を選択していないと判定された場合（Ｓ６０８否定）、全ての登録者の専門家値が算出されていないと判定され、Ｓ６０１に移る。そして、Ｓ６０１以降の処理を再び実行する。一方、全ての登録者を選択したと判定された場合（Ｓ６０８肯定）、全ての登録者の専門家値が算出されたと判定され、Ｓ１０５に移る。これにより、各登録者の専門家値を算出する処理が終了する。
【００８６】
文書ＤＢに格納されている文書のうち、最も古い文書が登録された年が２００６年である場合、Ｓ１０４の処理の中で算出した専門家値は、例えば以下の式（５）で表すことができる。
式（５）：
0006442918.tif 000006
【００８７】
式（５）に示すように、専門家値算出部１７は、最も古い文書が登録された年から最新の年までの各年代について算出したスコアα×β×γを全て合算することによって、専門家値を算出する。この式を用いることにより、限られた年代だけ局所的に高いスコアとなる登録者よりも、一定のスコアを長い年代に渡って維持している登録者の方が、より高い専門家値を得やすくなる。
【００８８】
図１２は、スコアおよび専門家値の算出結果の一例を示す図である。図１２では、キーワード含有文書の件数を「ＫＷ頻度」と表記している。また、全登録文書の件数を「全体頻度」と表記している。Ｓ１０２で抽出された登録者は鈴木、橋本、中村、井上の４名である。本実施例において、鈴木は２００６年から現在まで、検索キーワードに関する業務の管理を継続している分野管理者であると仮定する。橋本は、２０１０年に別の分野の職場に異動した分野担当者であると仮定する。中村は、少なくとも２００６年から現在まで、検索キーワードに関する業務の担当を継続している分野担当者であると仮定する。井上は２００９年に入社した分野担当者であり、検索キーワードに関する業務の担当を現在まで継続している分野担当者であると仮定する。図１２に示す年代毎のＫＷ頻度および全体頻度に基づいて各登録者の専門家値を算出すると、鈴木の専門家値は６．５７、橋本の専門家値は９．４７、中村の専門家値は１３．４９、鈴木の専門家値は９．６１と算出される。なお、これらの各値は、式（５）に基づいて算出された値の小数第３位を四捨五入することによって算出した値である。
【００８９】
ここで、Ｓ１０２で抽出された登録者によって登録された文書の件数の推移について説明する。
【００９０】
図１３は、図１２のデータに基づいて作成した各登録者の年代毎の登録文書件数を示す図である。図１３（ａ）は鈴木、図１３（ｂ）は橋本、図１３（ｃ）は中村、図１３（ｄ）は井上の登録文書件数のデータをそれぞれ示している。図１３の中の棒グラフにおいて、斜線で示していない部分はキーワード含有文書、斜線で示している部分は、キーワード含有文書以外の文書を示している。
【００９１】
図１３（ａ）は、鈴木の登録文書件数のデータである。鈴木は分野管理者であるため、全ての年代において登録文書の件数が他の３名の登録者よりも多い傾向にある。また、２０１０年以前は、キーワード含有文書の登録件数は０件または１件と低く、２０１１年以降における全登録文書の件数に対するキーワード含有文書の件数の比率が２０１０年以前よりも増加していることがわかる。
【００９２】
図１３（ｂ）は、橋本の登録文書件数のデータである。橋本は、全ての年代において分野管理者である鈴木よりも登録文書の件数が低い傾向にある。また、２０１０年以降において、上述のキーワード含有文書の件数の比率が激減している。これは、２０１０年に別の分野の職場に異動したためである。
【００９３】
図１３（ｃ）は、中村の登録文書件数のデータである。中村も橋本と同様に、全ての年代において分野管理者である鈴木よりも登録文書の件数が低い傾向にある。また、中村は全ての年代において、上述のキーワード含有文書の件数の割合は常に５０％以上を維持していることがわかる。
【００９４】
図１３（ｄ）は、井上の登録文書件数のデータである。井上も、橋本および中村と同様に、全ての年代において分野管理者である鈴木よりも登録文書の件数が低い傾向にある。また、井上は、２００８年以前は文書の登録を行っていない。これは、井上が２００９年以前は入社していないためである。
【００９５】
図４に戻り、専門家ソート部１８は、Ｓ１０４で算出した専門家値に基づいて登録者をソートする（Ｓ１０５）。専門家値に基づいて登録者をソートすると、検索キーワードに関連する分野に関する専門家を専門性が高い順序で並べたランキング結果を得ることができる。ここで、専門家値を用いずに専門家のランキングを行うと、以下のようになる。
【００９６】
図１４は、検索キーワードを含む文書数に基づいた専門家のランキング結果の一例を示す図である。前述の通り、検索キーワードに関連する業務を管理する分野管理者は、データベースに登録する文書の件数が多くなる傾向がある。このため、検索キーワードを含む文書数に基づいて順位付けを行うと、図１４に示すように、検索キーワードについての専門性の高さに関わらず、分野管理者が上位にランキングされることがある。また、専門家の検索結果を表示する表示装置において、画面上の表示範囲に制限がある場合、すなわち、画面表示範囲内の一端からそれに対向する他端に向けて、上位から下位の方向に向かう順序であるランク昇順によりランキングを行った場合、図１４に示すように、検索キーワードについての専門家である分野担当者が下位にランキングされ、画面表示範囲から外れてしまうことがある。
【００９７】
図１５は、専門家値に基づいて作成した専門家のランキング結果の一例を示す図である。図１５に示すように、画面表示範囲内に入っている登録者は、中村、橋本、井上の３名である。そして、全ての年代に渡って検索キーワードに関する業務の担当を継続している中村が最上位にランキングされている。なお、画面表示範囲内に入っている登録者は、いずれも分野担当者である。
【００９８】
さらに、図１５を参照すると、２０１０年以前に当該業務を担当していた橋本よりも、２００９年以降継続して当該業務を担当している井上の方がより上位にランキングされていることがわかる。これは、式（５）を用いたことにより、当該業務を担当していた時期が新しい登録者ほど専門家値が高くなったことを示している。
【００９９】
一方、図１４の検索キーワードの頻度に基づいたランキングで最上位にランキングされた分野管理者の鈴木は、下位にランキングされ、画面表示範囲から外れている。これは、キーワード含有文書の件数の比率が５０％を超える期間が橋本、中村および井上よりも短いことが、ランキングに影響したことを示している。
【０１００】
図４に戻り、Ｓ１０５の後、送信部１９は、検索キーワードを送信した端末装置３０にソート結果を送信する（Ｓ１０６）。これにより、検索要求元である端末装置３０のユーザは、検索キーワードに関連する専門家の検索結果を得ることができる。
【０１０１】
以上のようにして、専門家検索装置１０は、特定の分野に関する専門家を検索することができる。
【０１０２】
一般に、検索キーワードに関する業務の担当を継続している期間が長いほど、より高い専門性を有していることが多い。また、当該業務の担当を継続している時期が現在に近いほど最新の専門知識を有している可能性が高くなるため、より高い専門性を有していることが多い。
【０１０３】
本実施形態によれば、専門家値を算出する際の基礎となる各年代のスコアには、全登録文書の件数に対するキーワード含有文書の件数の比率がパラメータとして含まれている。そして、専門家値の算出は、年代毎にスコアを算出した後、各年代のスコアを全て合算することにより行われる。この方法によれば、年代毎のキーワード含有文書の件数の比率と、キーワードに関連する業務に従事している期間の長さが専門家値に反映されるため、検索キーワードに関する業務の担当を継続している期間が長い登録者ほど、より高い専門家値を得やすくなる。これにより、専門家の検索において、検索キーワードに関する専門性が高い分野担当者を漏らすことなく抽出することが可能となる。
【０１０４】
さらに、各年代のスコアは、年代の新しさを示す指標γもパラメータとして含む。この方法によれば、キーワードに関連する業務に従事している時期も専門家値に反映されるため、キーワード含有文書の件数の比率が高い年代が現在に近い登録者ほど、より高い専門家値を得ることができる。換言すれば、キーワードに関する業務の担当を継続している期間が長く、キーワード含有文書の件数の比率が高い年代が現在に近い登録者ほど、より高い専門家値を得ることができ、専門家の検索において抽出されやすくなる。
【０１０５】
以上のように、本実施形態に示す方法で算出した専門家値に基づいて登録者のランキングを行うことにより、検索キーワードをもとに専門家を検索する精度を向上させることが可能となる。
【０１０６】
（実施例２）
次に、実施例２について説明する。なお、実施例２を実現するための専門家検索システムは、図１乃至図３に例示されている専門家検索システムの構成を用いることができるため、説明を省略する。
【０１０７】
実施例１では、文書中に検索キーワードに該当する語が１か所でも含まれている場合、その文書はキーワード含有文書として抽出される。これに対して実施例２では、文書中に登場する検索キーワードの数が所定の閾値を満たさない場合に、その文書をキーワード含有文書から除外することを特徴としている。
【０１０８】
図１６は、実施例２における、専門家検索装置による専門家検索方法の一例を示すフローチャートである。Ｓ１０１で行う処理は実施例１と同様であるので、説明は省略する。Ｓ１０１で検索キーワードを受信した後、検索部１４は、第２記憶部１２に格納されている文書ＤＢを参照しながら、キーワード含有文書と、当該文書の登録者を抽出する（Ｓ１０２ａ）。以下、Ｓ１０２ａの処理について具体的に説明する。
【０１０９】
図１７は、Ｓ１０２ａにおける、キーワード含有文書を抽出する処理の一例を示すフローチャートである。
【０１１０】
まず、検索部１４は、第２記憶部１２に格納されている文書ＤＢを検索し、検索キーワードが含まれている文書を全て抽出する（Ｓ７０１）。実施例２では、Ｓ７０１で抽出した検索キーワードが含まれている文書を候補文書と呼称する。
【０１１１】
続いて、検索部１４は、候補文書の中から未選択の文書を１件選択する（Ｓ７０２）。
【０１１２】
続いて、検索部１４は、Ｓ７０２で選択した文書内に出現する検索キーワードの数を示す出現回数が所定の閾値Ｔｈ以上か否かを判定する（Ｓ７０３）。すなわち、Ｓ７０３では、Ｓ７０２で選択した文書中に、検索キーワードが何件出現するかをカウントする。そして、カウントされた出現回数を所定の閾値と比較する。比較に用いる閾値Ｔｈは５以下であることが好ましく、例えば２である。
【０１１３】
文書中の検索キーワードの出現回数が所定の閾値Ｔｈ以上である場合（Ｓ７０３肯定）、検索部１４は、当該文書をキーワード含有文書と判定し（Ｓ７０４）、キーワード含有文書の登録者を抽出する（Ｓ７０５）。その後、Ｓ７０７に移る。一方、文書中の検索キーワードの出現回数が所定の閾値Ｔｈ以上でないと判定された場合（Ｓ７０３否定）、検索部１４は、当該文書がキーワード含有文書でないと判定し（Ｓ７０６）、Ｓ７０７に移る。
【０１１４】
Ｓ７０７では、検索部１４は、全ての候補文書を選択したか否かを判定する。全ての候補文書を選択していないと判定された場合（Ｓ７０７否定）、Ｓ７０２に戻り、Ｓ７０２以降の処理を再び実行する。一方、全ての候補文書を選択したと判定された場合（Ｓ７０７肯定）、Ｓ１０３へ移る。
【０１１５】
以上のようにして、Ｓ１０２ａにおける、キーワード含有文書を抽出する処理を実行する。なお、Ｓ１０３以降の処理は、実施例１で説明したＳ１０３以降の処理と同様であるので、説明は省略する。
【０１１６】
本実施形態によれば、検索キーワードが含まれている文書を抽出した後、その文書内での検索キーワードの出現回数をカウントし、カウント値が所定の閾値に満たない場合に、その文書をキーワード含有文書から除外する。文書によっては、検索キーワードと関連しない内容の文書であっても、検索キーワードの語が文中に登場することがある。本実施形態によれば、検索キーワードの出現回数の情報に基づいて検索キーワードとの関連性が薄い文書をキーワード含有文書から除外することができるため、検索キーワードに関連する文書の選定精度が向上し、専門家値の妥当性を高めることができる。
【０１１７】
（実施例３）
次に、実施例３について説明する。なお、実施例３を実現するための情報処理システムは、図１乃至図３に例示されている専門家検索システムの構成を用いることができるため、説明を省略する。
【０１１８】
実施例１では、図４のＳ１０３において、検索キーワードが含まれている文書を登録した全ての登録者が抽出される。これに対して実施例３では、専門家の検索対象のカテゴリ（職務または職種）を予め指定することを特徴としている。実施例３で用いる文書ＤＢには、文書を一意に識別するための番号（Ｎｏ．）と、文書を登録した登録者と、登録日と、文書名と、登録者のカテゴリ（職務または職種）とが対応付けられて登録されている。
【０１１９】
図１８は、実施例３における、専門家検索装置による専門家検索方法の一例を示すフローチャートである。Ｓ１０１で行う処理は実施例１および実施例２と同様であるので、説明は省略する。Ｓ１０１の処理の後、受信部１３は、端末装置３０のユーザによって指定され、入力された検索対象の情報を受信する（Ｓ１０１ｂ）。検索対象の情報には、例えば、検索対象から分野管理者を除き、分野担当者のみに限定する旨の指定が含まれている。なお、Ｓ１０１ｂで行う処理は、Ｓ１０１で行う処理の中で、同一の処理ステップとして行うこともできる。すなわち、検索対象の情報は、Ｓ１０１で受信する検索キーワードと同時に受信することもできる。また、あるいは、Ｓ１０１ｂの処理を実行した後に、Ｓ１０１の処理を行うこともできる。以降では、端末装置３０のユーザによって、検索対象を分野担当者に限定する旨の指定がなされたものとして説明する。
【０１２０】
Ｓ１０１ｂの処理の後、検索部１４は、検索キーワードを用いて第２記憶部１２に格納されている文書ＤＢを検索し、検索キーワードが含まれている文書と、当該文書の登録者の情報とを全て抽出する（Ｓ１０２ｂ）。
【０１２１】
図１９は、Ｓ１０２ｂにおける、キーワード含有文書および登録者を抽出する処理の一例を示すフローチャートである。Ｓ２０１からＳ２０４までの処理、およびＳ２０４の処理の後、検索部１４は、Ｌ行目の文書の登録者および登録者のカテゴリの情報を抽出する（Ｓ２０５ｂ）。これにより、検索部１４は、抽出された登録者だけでなく、抽出された登録者がどのようなカテゴリに属しているのかについても把握することができる。Ｓ２０５ｂの処理の後、Ｓ２０６に移る。Ｓ２０６の処理は、図８に示す処理と同様であるので、説明は省略する。
【０１２２】
図１８に戻り、Ｓ１０２ｂの処理の後、検索部１４は、キーワード含有文書を登録した登録者の中から、分野担当者を全て抽出する（Ｓ１０２ｃ）。以下、Ｓ１０２ｃの処理について具体的に説明する。
【０１２３】
図２０は、Ｓ１０２ｃにおける、分野担当者を抽出する処理の一例を示すフローチャートである。
【０１２４】
まず、検索部１４は、受信部１３から受信した検索対象の情報に基づいて、分野担当者を検索対象として設定する（Ｓ８０１）。
【０１２５】
続いて、検索部１４は、Ｓ１０２で抽出した全ての登録者の中から、未選択の登録者を１名選択する（Ｓ８０２）。
【０１２６】
続いて、検索部１４は、Ｓ８０２で選択した登録者が分野担当者か否かを判定する（Ｓ８０３）。検索部１４は、Ｓ２０５ｂにおいて登録者に対応付けられて抽出されたカテゴリを参照することにより、Ｓ８０２で選択した登録者が分野担当者であるか否かを判定することができる。検索部１４は、選択した登録者が分野担当者である場合（Ｓ８０３肯定）、検索対象の登録者と判定し（Ｓ８０４）、Ｓ８０６に移る。一方、選択した登録者が分野担当者でない場合（Ｓ８０３否定）、検索対象の登録者でないと判定し（Ｓ８０５）、Ｓ８０６に移る。
【０１２７】
Ｓ８０６では、検索部１４は、全ての登録者を選択したか否かを判定する。全ての登録者を選択していないと判定された場合（Ｓ８０６否定）、Ｓ８０２に戻り、Ｓ８０２以降の処理を再び実行する。一方、全ての登録者を選択したと判定された場合（Ｓ８０６肯定）、Ｓ１０３へ移る。
【０１２８】
以上のようにして、Ｓ１０２ｃにおける分野担当者を抽出する処理を実行する。なお、Ｓ１０２ｃの後に続くＳ１０３以降の各処理は、実施例１または実施例２で説明したＳ１０３以降の各処理と同様であるので、説明は省略する。
【０１２９】
本実施形態によれば、検索キーワードが含まれている文書を登録した全ての登録者の中から、端末装置によって検索範囲として指定された分野担当者のみを抽出する。この方法によれば、例えば検索要求元が新規プロジェクトを立ち上げるにあたって分野担当者のみを探している場合に、分野管理者が専門家検索により抽出されることがなくなる。このため、分野担当者に特化した検索結果を得ることができる。
【０１３０】
（実施例４）
次に、実施例４について説明する。実施例１では、図７のＳ３０３において、全登録文書の件数に対するキーワード含有文書の件数の比率（パラメータβ）を算出するために、年代毎に、登録された全登録文書の件数の情報と、キーワード含有文書の件数の情報とを取得した。これに対して実施例４では、パラメータβを算出するために、年代毎に、検索キーワード含有文書の件数の情報と、検索キーワードを含有しない文書の件数の情報とを取得することを特徴としている。
【０１３１】
実施例４を実現するための情報処理システムは、図１および図２に例示されている専門家検索システムの構成を用いることができるため、説明を省略する。以下、実施例４における計数部１５の構成について説明する。
【０１３２】
図２１は、実施例４における、計数部１５の構成の一例を示す図である。実施例１では、計数部１５は年代別計数部２１を備えていたが、実施例４では、計数部１５は年代別計数部２１の代わりにキーワード非含有文書計数部２３を備えている。キーワード含有文書計数部２２は、実施例１乃至３と同様に、検索キーワード含有文書の件数をカウントする機能を有する。一方、キーワード非含有文書計数部２３は、検索キーワードを含まない文書の件数をカウントする機能を有する。以降では、検索キーワードを含有しない文書を、キーワード非含有文書と呼称する。
【０１３３】
図２２は、実施例４における、専門家検索装置による専門家検索方法の一例を示すフローチャートである。図２２は、図７に示したＳ１０３の処理内容の変形例である。Ｓ１０３の変形例の処理の前に行うＳ１０１およびＳ１０２の各処理は実施例１と同様であるので、説明は省略する。また、Ｓ３０１およびＳ３０２の各処理も実施例１と同様であるので、説明は省略する。
【０１３４】
Ｓ３０２の処理の後、キーワード含有文書計数部２２およびキーワード非含有文書計数部２３は、ｎに対応する年代に登録されたキーワード含有文書の件数およびキーワード非含有文書の件数の情報を取得する（Ｓ３０３ｃ）。以下、Ｓ３０３ｃの処理について具体的に説明する。
【０１３５】
図２３は、Ｓ３０３ｃにおける、キーワード含有文書の件数およびキーワード非含有文書の件数の情報を取得する処理の一例を示すフローチャートである。
【０１３６】
Ｓ３０３ｃでは、まず、検索部１４は、文書ＤＢの１行目から検索を行うため、Ｌの値を初期設定し、Ｌに１を格納する（Ｓ９０１）。
【０１３７】
続いて、検索部１４は、文書ＤＢを検索し、文書ＤＢにＬ行目が存在するか否かを判定する（Ｓ９０２）。文書ＤＢにＬ行目が存在する場合（Ｓ９０２肯定）、検索部１４は、文書ＤＢのＬ行目に登録されている文書を参照し、Ｌ行目の文書の登録者が、Ｓ１０２において抽出された登録者の中に含まれているか否かを判定する（Ｓ９０３）。
【０１３８】
Ｌ行目の文書の登録者が、Ｓ１０２において抽出された登録者の中に含まれていない場合（Ｓ９０３否定）、検索部１４は、文書ＤＢの次の行を検索するため、Ｌの値をカウントアップし、Ｌに１を加算した値を新たなＬの値とする（Ｓ９０４）。その後、Ｓ９０２に戻り、Ｓ９０２以降の処理を再び実行する。一方、Ｌ行目の文書の登録者が、Ｓ１０２において抽出された登録者の中に含まれている場合（Ｓ９０３肯定）、検索部１４は、Ｌ行目の文書中に、検索キーワードが含まれているか否かを判定する（Ｓ９０５）。
【０１３９】
Ｌ行目の文書中に検索キーワードが含まれている場合（Ｓ９０５肯定）、キーワード含有文書計数部２２は、Ｌ行目の文書をキーワード含有文書としてカウントする（Ｓ９０６）。Ｓ９０６の処理の後、検索部１４は、Ｌの値をカウントアップするＳ９０４の処理を経てＳ９０２に戻り、Ｓ９０２以降の処理を再び実行する。一方、Ｌ行目の文書中に検索キーワードが含まれていない場合（Ｓ９０５否定）、キーワード非含有文書計数部２３は、Ｌ行目の文書を非キーワード含有文書としてカウントする（Ｓ９０７）。そして、検索部１４は、Ｌの値をカウントアップするＳ９０４の処理を経て、Ｓ９０２に戻る。そして、検索部１４は、文書ＤＢの新たなＬ行目を参照するため、Ｓ９０２以降の処理を再び実行する。
【０１４０】
やがて、文書ＤＢの全ての行についての処理が終了すると、Ｓ９０２において文書ＤＢにＬ行目が存在しないと判定され（Ｓ９０２否定）、Ｓ３０４に移る。これによりＳ３０３ｃの処理が完了する。
【０１４１】
Ｓ３０４で行う処理は実施例１と同様であるので、説明は省略する。Ｓ３０４の処理の後、スコア算出部１６は、全登録文書の件数に対するキーワード含有文書の件数の比率からなるパラメータβを算出する（Ｓ３０５ｃ）。ここで、実施例４におけるパラメータβの算出方法について説明する。
【０１４２】
図２４は、Ｓ３０５ｃにおける、パラメータβの算出方法を示すフローチャートの一例である。Ｓ３０５ｃでは、まず、キーワード含有文書計数部２２は、Ｓ３０３ｃで取得したキーワード含有文書の件数の値が零か否かを判定する（Ｓ１００１）。キーワード含有文書の件数の値が零である場合（Ｓ１００１肯定）、当該年代におけるβの値をβ＝０とする。一方、キーワード含有文書の件数の値が零でない場合（Ｓ１００１否定）、スコア算出部１６は、例えば以下の式（６）を用いて年代ＩＤがｎにおけるパラメータβを算出する（Ｓ１００３）。
式（６）：
0006442918.tif 000007
【０１４３】
例えば、ｎの年代において、キーワード含有文書の件数が４件であり、キーワード非含有文書の件数が５件である場合、式（６）のｄｆｎに４を代入し、ｄｆｎ’に５を代入することにより、β＝０．５と算出することができる。
【０１４４】
以上のようにしてＳ３０５ｃの処理を実行する。なお、Ｓ３０５ｃの後に続くＳ３０６以降の各処理は、実施例１で説明したＳ３０６以降の各処理と同様であるので、説明は省略する。
【０１４５】
以上、本発明の好ましい実施例について詳述したが、本発明は特定の実施例に限定されるものではなく、種々の変形や変更が可能である。例えば、本実施形態では、文書ＤＢに登録者の項目を設け、登録者と文書の責任者が同一であるものとして説明したが、登録者の項目に替えて、若しくは追加により、文書の作成者を含む責任者の情報を示す項目を文書ＤＢに設け、責任者を対象にして専門家を検索する処理を実行することもできる。この方法によれば、登録者と文書の責任者とが異なるようなケースがある場合においても、検索キーワードについての専門性を有する人材を抽出することができる。
【０１４６】
また、例えば、パラメータα、β、γを算出するために用いる式は、式（１）〜（３）に限定されるものではなく、変形が可能である。また、これまでの実施形態の説明では、年代毎に設定されるパラメータγの値を第２記憶部１２に予め格納しておく例について説明したが、専門家値を算出する処理を実行する度にパラメータγの値を算出するようにしてもよい。
【０１４７】
専門家検索装置１０による専門家検索は、ウェブアプリケーションを用いて行うことができる。図２５は、ウェブアプリケーションを用いた専門家検索サービスの一例を示す図である。図２５に示すように、専門家検索装置１０は、専門家を検索するためのソフトウェアをウェブアプリケーション８０の形態で端末装置３０を所有するユーザに提供する。そしてユーザは、インターネット等のネットワーク５０を介してウェブアプリケーション８０を利用することにより、専門家検索装置１０による専門家検索を行うことができる。
【０１４８】
前述した専門家検索装置および専門家検索方法をコンピュータに実行させるコンピュータプログラム、およびそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで、コンピュータ読み取り可能な記録媒体は、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ（Compact Disc−Read Only Memory）、ＭＯ（Magneto Optical disk）、ＤＶＤ（Digital Video Disc）、ＤＶＤ−ＲＯＭ（ＤＶＤ−Read Only Memory）、ＤＶＤ−ＲＡＭ（ＤＶＤ−Random Access Memory）、ＢＤ（Blue-ray Disc）、半導体メモリである。前記コンピュータプログラムは、前記記録媒体に記録されたものに限られず、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
【符号の説明】
【０１４９】
１０：専門家検索装置
１１：第１記憶部
１２：第２記憶部
１３：受信部
１４：検索部
１５：計数部
１６：スコア算出部
１７：専門家値算出部
１８：専門家ソート部
１９：送信部
２０：出力部
２１：年代別計数部
２２：キーワード含有文書計数部
２３：キーワード非含有文書計数部
３０：端末装置
５０：ネットワーク
６１：ＣＰＵ
６２：ＲＯＭ
６３：ＲＡＭ
６４：ストレージ装置
６５：ネットワークインタフェース
６６：表示装置
６７：可搬型記憶媒体用ドライブ
６８：バス
６９：可搬型記憶媒体
８０：ウェブアプリケーション
【図１】
0006442918.tif 000008
【図２】
0006442918.tif 000009
【図３】
0006442918.tif 000010
【図４】
0006442918.tif 000011
【図５】
0006442918.tif 000012
【図６】
0006442918.tif 000013
【図７】
0006442918.tif 000014
【図８】
0006442918.tif 000015
【図９】
0006442918.tif 000016
【図１０】
0006442918.tif 000017
【図１１】
0006442918.tif 000018
【図１２】
0006442918.tif 000019
【図１３】
0006442918.tif 000020
【図１４】
0006442918.tif 000021
【図１５】
0006442918.tif 000022
【図１６】
0006442918.tif 000023
【図１７】
0006442918.tif 000024
【図１８】
0006442918.tif 000025
【図１９】
0006442918.tif 000026
【図２０】
0006442918.tif 000027
【図２１】
0006442918.tif 000028
【図２２】
0006442918.tif 000029
【図２３】
0006442918.tif 000030
【図２４】
0006442918.tif 000031
【図２５】
0006442918.tif 000032