(57)【要約】【課題】メールやＷｅｂ上のコンテンツに対し、それらの利用傾向から個人の知識情報を算出し、検索に利用することができる高速かつ高精度なＫｎｏｗ−Ｗｈｏ検索を実現する。【解決手段】メールやＷｅｂ上のコンテンツ中に含まれる特徴的な文字列を抽出するステップと、抽出した特徴的な文字列をもとにメールやＷｅｂ上のコンテンツの作成者が含まれる成員の集合における特徴的な文字列の出現頻度情報を比較することにより作成した個人の知識属性を抽出するステップと、抽出した知識属性の集合をもとに作成者のプロファイルデータを形成するステップにより個人の知識情報を算出し、蓄積する。蓄積したプロファイルデータを用いてＫｎｏｗ−Ｗｈｏ検索者が指定した知識を持つ人物の有識度を算出するステップと、算出された有識度を用いて検索結果を表示するステップを有することにより、Ｋｎｏｗ−Ｗｈｏ検索を実現する。【選択図】図１
2008234290.tif 000002
【特許請求の範囲】
【請求項１】
メールやＷｅｂ上のコンテンツに対し、各コンテンツのコンテンツ作成者の中から、検索者が指定した内容を知識として保有するコンテンツ作成者を検索する検索方法であって、
前記メールやＷｅｂ上のコンテンツ中に含まれる少なくとも１個以上の部分文字列を抽出する部分文字列抽出ステップと、
前記コンテンツ作成者が作成したコンテンツの集合における該当部分文字列の出現頻度情報と前記コンテンツ作成者を含む特定された成員の集合によって作成されたコンテンツの集合における該当部分文字列の出現頻度情報を比較することにより、各コンテンツ作成者の知識属性を抽出する知識属性抽出ステップと、
前記知識属性抽出ステップにて抽出されたコンテンツ作成者の知識属性の集合を元にコンテンツ作成者のプロファイルテーブルを形成するプロファイル作成ステップと、
前記プロファイル作成ステップにて抽出された各コンテンツ作成者のプロファイルテーブルを用いて検索者が指定した知識をもつ可能性を算出する有識度算出ステップと、
前記有識度算出ステップにて算出された各コンテンツ作成者の有識度を用いて、前記検索者が指定した内容を知識として保有するコンテンツ作成者を検索する検索ステップとを有することを特徴とする検索方法。
【請求項２】
前記知識属性抽出ステップは、各コンテンツ作成者が作成したコンテンツがどの程度他のコンテンツ作成者によって引用、転記、転送などの手段で再利用されたかという再利用度と再利用したコンテンツ作成者自身の前記有識度を元に当該コンテンツがどの程度有用であったかを算出する有用度算出ステップを有することを特徴とする請求項１に記載の検索方法。
【請求項３】
前記知識属性抽出ステップは、コンテンツがどの程度時間が経過した情報であり、どういった手段で提供された情報であるかを抽出する時間空間属性抽出ステップを有し、
前記有識度算出ステップは、前記時間空間属性抽出ステップにて抽出されたコンテンツの経過時間情報や空間情報を用いて検索者が求める知識に対してどの程度時間空間的に有用なのかを算出する時間空間属性算出ステップを有することを特徴とする請求項１に記載の検索方法。
【請求項４】
前記有識度算出ステップにて作成した各コンテンツ作成者の有識度情報、あるいは予め作成した各コンテンツ作成者の有識度情報を参照することにより、コンテンツの信頼度を表示するステップを有することを特徴とする請求項１ないし請求項３のいずれか１項に記載の検索方法。
【請求項５】
メールやＷｅｂ上のコンテンツに対し、各コンテンツのコンテンツ作成者の中から、検索者が指定した内容を知識として保有するコンテンツ作成者を検索する検索装置であって、
前記メールやＷｅｂ上のコンテンツ中に含まれる少なくとも１個以上の部分文字列を抽出する部分文字列抽出手段と、
前記コンテンツ作成者が作成したコンテンツの集合における該当部分文字列の出現頻度情報と前記コンテンツ作成者を含む特定された成員の集合によって作成されたコンテンツの集合における該当部分文字列の出現頻度情報を比較することにより、各コンテンツ作成者の知識属性を抽出する知識属性抽出手段と、
前記知識属性抽出手段にて抽出されたコンテンツ作成者の知識属性の集合を元にコンテンツ作成者のプロファイルテーブルを形成するプロファイル作成手段と、
前記プロファイル作成手段にて抽出された各コンテンツ作成者のプロファイルテーブルを用いて検索者が指定した知識をもつ可能性を算出する有識度算出手段と、
前記有識度算出ステップにて算出された各コンテンツ作成者の有識度を用いて、前記検索者が指定した内容を知識として保有するコンテンツ作成者を検索する検索手段とを有することを特徴とする検索装置。
【請求項６】
前記知識属性抽出手段は、各コンテンツ作成者が作成したコンテンツがどの程度他のコンテンツ作成者によって引用、転記、転送などの手段で再利用されたかという再利用度と再利用したコンテンツ作成者自身の前記有識度を元に当該コンテンツがどの程度有用であったかを算出する有用度算出手段を有することを特徴とする請求項５に記載の検索装置。
【請求項７】
前記知識属性抽出手段は、コンテンツがどの程度時間が経過した情報であり、どういった手段で提供された情報であるかを抽出する時間空間属性抽出手段を有し、
前記有識度算出手段は、前記時間空間属性抽出手段にて抽出されたコンテンツの経過時間情報や空間情報を用いて検索者が求める知識に対してどの程度時間空間的に有用なのかを算出する時間空間属性算出手段を有することを特徴とする請求項５に記載の検索装置。
【請求項８】
前記有識度算出手段で作成した各コンテンツ作成者の有識度情報、あるいは予め作成した各コンテンツ作成者の有識度情報を参照することにより、コンテンツの信頼度を表示する表示手段を有することを特徴とする請求項５ないし請求項７のいずれか１項に記載の検索装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ装置を用いた検索システムやコンテンツ管理システムに係わり、特に、ユーザが指定した内容を知識として保有する人の検索を高精度に行なうことのできるようにしたＫｎｏｗ−Ｗｈｏ検索方法および検索装置に関する。
【背景技術】
【０００２】
オフィスには文書が大量に存在する。また、近年、パーソナルコンピュータなどの計算機とネットワークの普及により、業務の効率化を目的として、オフィス内で文書を共有し、その上でユーザが所望する文書を迅速かつ的確に提供できるよう、文書の管理を行うことが重要視されている。ワープロソフトなどで作成された電子データに対する文書共有の方法としては、「文書管理システム」という名目で既に実用化され、高速かつ効率的に所望の文書を検索できる仕組みが提供されている。
一方、知識や情報が「ヒト」「モノ」「カネ」と同様に組織活動における重要な基盤であるとの認識から、オフィス内に存在する文書やコンテンツ、あるいは個別に発信するメールといった電子的コミュニケーション手段などから得られる知識を資産と捉え、これを効率的に蓄積し、ユーザの目的に合わせて迅速かつ的確に知識を持つ人の情報を提供する（以下、Ｋｎｏｗ‐Ｗｈｏ検索と呼ぶ）ための手法が考えられている。
ユーザが作成した文書やユーザ間の会話からユーザの知識を抽出する方法としては、例えば、下記特許文献１に開示されている技術（以下、従来技術１という。）が知られている。
従来技術１では、あるユーザが作成した複数の文書に重複する文書特徴を見つけ出すことで、当該ユーザの仕事特徴を抽出し、抽出された仕事特徴によってユーザの知識を表現する。さらに前記文書特徴の抽出処理において、一般的な文書の文書特徴量を前もって保持しておき、見つけ出された文書特徴との差をとることによって文書特徴を抽出することもできる。
【０００３】
また、複数のユーザが送受信を行ったメッセージから、価値のある知識を特定する方法として、下記特許文献２に開示されている技術（以下、従来技術２という。）が知られている。
従来技術２では、複数のユーザが送受信を行ったメッセージ情報の各々に対して複数のユーザが行った操作、すなわち「作成」、「閲覧」、「返信」、「転送」、「削除」などの履歴と、メッセージ情報の内容を解析することで得るメッセージ情報間の内容の類似度とに基づいて、各メッセージ間における関係の強さを抽出する。
そして抽出された関係の強さにより、より多くのメッセージと強い関係を持つメッセージを、より価値のある知識を含むものとして特定する。さらに、任意の語によるメッセージ検索機能を備え、所望の知識に関連する語を検索条件に指定してメッセージ検索を行えば、指定した語を含むメッセージとそれに強い関係を持つ別のメッセージの両方を検索結果に得ることができ、得られるメッセージへの操作履歴を持つユーザを、所望の知識にかかわりを持つユーザとして特定できる。
例えば、あるシステムＸを構築する組織Ａの担当者が発注元の組織Ｂの担当者にシステム設計内容について説明した上で関連文書を郵送した旨のメールを送信し、組織Ａの担当者が記述したメール内容を全文引用した上で、組織Ｂの担当者から郵便物が届いた旨のメールが届いたとする。この場合、組織Ａの担当者はシステムＸの知識を保有しているものと考えられるが、組織Ｂの担当者が現時点でシステムＸの知識を保有しているとは考えにくい。しかし、従来技術２の方式では、組織Ｂの担当者も同等程度の知識を保有しているものとして提示されることになる。
【０００４】
なお、本願発明に関連する先行技術文献としては以下のものがある。
【特許文献１】特開２０００−１１３０６４号公報
【特許文献２】特開２００３−２８８３５１号公報
【特許文献３】特開２００３−１６０９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術には、それぞれ以下のような問題点があった。
従来技術１では、ユーザが所属する特定のグループ、すなわちユーザが職務上所属する特定の組織や事業所などの中において、相対的に特徴付けられるような文書特徴、並びに仕事特徴を抽出するためには、前記特定のグループにおいて一般的な文書の文書特徴量を前もって抽出し保持しておく必要があった。
従来技術２では、発信した各々のメッセージに対し、内容の関連度を抽出する仕組みは存在するが、メッセージの関係をまたがって、発信した人を中心としてメッセージの内容の解析をするような仕組みは存在しない。そのため、従来技術２では、ある内容に関連したトピックを追跡することはできるが、特定の知識を保有する人を検索するためには、実際にはシステムより提示された関連するメールなどの一覧およびその内容を全て確認し、本当に知識のある人は誰なのかを人手で探し出す作業が必要となった。
本発明は、前記従来技術の問題点を解決するためになされたものであり、本発明の目的は、メールやＷｅｂ上のコンテンツに対し、それらの利用傾向から個人の知識情報を算出し、検索に利用することができる高速かつ高精度なＫｎｏｗ−Ｗｈｏ検索を実現することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述及び添付図面によって明らかにする。
【課題を解決するための手段】
【０００６】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、下記の通りである。
上記課題を解決するため、本発明では、（１）メールやＷｅｂ上のコンテンツ中に含まれる特徴文字列を抽出する部分文字列抽出ステップと、（２）抽出した特徴文字列をもとにメールやＷｅｂ上のコンテンツの作成者が含まれる成員の集合における特徴文字列の出現頻度情報を比較することにより作成した個人の知識属性を抽出する知識属性抽出ステップと、（３）抽出した知識属性の集合をもとに作成者のプロファイルデータを形成するプロファイル作成ステップと、（４）プロファイルデータを用いてＫｎｏｗ−Ｗｈｏ検索者が指定した知識を持つ人物の有識度を算出する有識度算出ステップと、（５）算出された有識度を用いて検索結果を表示する検索結果表示ステップを有する。
特に、本発明においては、上記従来技術１における課題は前記（２）のステップにおいて、作成者の業務における特徴文字列の出現頻度を、作成者を含む成員の集合における特徴文字列の出現頻度と比較するステップを有することにより解決が可能となる。また、従来技術２における課題は前記（２）から（４）のステップにおいて、作成した個人の知識属性情報として各特徴文字列とその出現傾向を分析および蓄積するステップを有することにより解決が可能である。
【発明の効果】
【０００７】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記の通りである。
本発明によれば、メールやＷｅｂ上のコンテンツに対し、それらの利用傾向から個人の知識情報を算出し、検索に利用することができる高速かつ高精度なＫｎｏｗ−Ｗｈｏ検索を実現することが可能となる。
【発明を実施するための最良の形態】
【０００８】
以下、図面を参照して本発明の実施例を詳細に説明する。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を付け、その繰り返しの説明は省略する。
［実施例１］
はじめに、本発明の実施例１におけるシステムの全体構成について説明する。
図１は、本実施例におけるシステムの全体構成を示す図である。本実施例は、知識情報登録サブシステム１０、知識情報検索サーバ１１、メールサーバ１２、Ｗｅｂサーバ１３、コンテンツ受信サーバ１４、知識情報検索クライアント２０、メールクライアント２１、Ｗｅｂクライアント２２、コンテンツ配信クライアント２３およびネットワーク１８０から構成される。
知識情報登録サブシステム１０は、ネットワーク１８０上に流通するコンテンツを捕捉し、捕捉されたコンテンツを解析し、検索時に必要となるプロファイルデータを作成する。このプロファイルデータは、ネットワーク１８０を介して知識情報検索サーバ１１に転送され、後に知識情報検索サーバ１１が検索処理を行なう際に用いられる。
知識情報検索サーバ１１は、知識情報検索クライアント２０からの検索コマンドを受け取り、知識情報登録サブシステム１０が作成したプロファイルデータを用いて検索コマンドの指定する条件に適合する知識情報の検索を行ない、検索結果データを要求元の知識情報検索クライアント２０に送り返す。
知識情報検索クライアント２０は、ユーザが対話的に検索条件を指定する為の画面をディスプレイ１５０上に表示し、この画面上でユーザが指定した検索条件を、知識情報検索サーバ１１にとって解釈可能なコマンドの形に変換し、この検索コマンドをネットワーク１８０を介して知識情報検索サーバ１１に送信する。前述した通り、知識情報検索サーバ１１が検索コマンドに対応する処理を行い、検索結果データを送り返してくると、知識情報検索クライアント２０は受け取った検索結果データを画面に表示してユーザに提示する。なお、図１では１台のコンピュータを知識情報検索クライアント２０として使用する構成例を示したが、知識情報検索クライアントを２台以上とする構成をとることもできる。
【０００９】
メールサーバ１２は、ネットワーク１８０に常に接続され、電子メールの送信や受信を行うためのコンピュータである。メールサーバについてはすでに公知であるため、ここでは言及しない。なお、図１では１台のコンピュータをメールサーバ１２として使用する構成例を示したが、メールサーバを２台以上とする構成をとることもできる。
メールクライアント２１は、電子メールの作成や送受信、受信したメールの保存・管理を行うソフトウェアを搭載したコンピュータである。メールクライアントについてはすでに公知であるため、ここでは言及しない。なお、図１では１台のコンピュータをメールクライアント２１として使用する構成例を示したが、メールクライアント２１を２台以上とする構成をとることもできる。
Ｗｅｂサーバ１３は、ＷＷＷシステムにおける情報送信を行うコンピュータである。Ｗｅｂサーバについてはすでに公知であるため、ここでは言及しない。なお、図１では１台のコンピュータをＷｅｂサーバ１３として使用する構成例を示したが、Ｗｅｂサーバを２台以上とする構成をとることもできる。
Ｗｅｂクライアント２２は、ＷｅｂブラウザなどＷＷＷシステム上の情報を表示するためのクライアントソフトウェアを搭載したコンピュータである。Ｗｅｂクライアントについてはすでに公知であるため、ここでは言及しない。なお、図１では１台のコンピュータをＷｅｂクライアント２２として使用する構成例を示したが、Ｗｅｂクライアントを２台以上とする構成をとることもできる。
【００１０】
コンテンツ受信サーバ１４は、文書や映像などのコンテンツを受信し、受信したコンテンツの保存・管理を行うソフトウェアを搭載したコンピュータである。コンテンツ受信サーバについてはすでに公知であるため、ここでは言及しない。なお、図１では１台のコンピュータをコンテンツ受信サーバ１４として使用する構成例を示したが、コンテンツ受信サーバを２台以上とする構成をとることもできる。
コンテンツ配信クライアント２３は、コンテンツを配信するためのコンピュータである。コンテンツ配信クライアントについてはすでに公知であるため、ここでは言及しない。なお、図１では１台のコンピュータをコンテンツ配信クライアント２３として使用する構成例を示したが、コンテンツ配信クライアントを２台以上とする構成をとることもできる。
また、図１では、知識情報登録サブシステム１０、メールサーバ１２、Ｗｅｂサーバ１３およびコンテンツ受信サーバ１４を別個のコンピュータを使用する構成としたが、これらのシステムを組み合せて同一のコンピュータ上で実行する構成をとることもできる。また、図１では、知識情報検索クライアント２０、メールクライアント２１、Ｗｅｂクライアント２２、コンテンツ配信クライアント２３を別個のコンピュータを使用するものとしたが、これらのシステムを組み合せて同一のコンピュータ上で実行する構成をとることもできる。
【００１１】
ネットワーク１８０は、ローカルエリアネットワークおよび（または）広域エリアネットワークであって、知識情報登録サブシステム１０、知識情報検索サーバ１１、メールサーバ１２、Ｗｅｂサーバ１３、コンテンツ受信サーバ１４、知識情報検索クライアント２０、メールクライアント２１、Ｗｅｂクライアント２２、コンテンツ配信クライアント２３が各種データやコマンドを送受信するために用いられる。ここで、図１では知識情報登録サブシステム１０から知識情報検索サーバ１１にプロファイルテーブルを転送するためにネットワーク１８０を使用するものとしたが、代わりにフロッピーディスク、光磁気ディスク、追記型光磁気ディスクなどの可搬型媒体を使用する構成をとることもできる。あるいは、知識情報登録サブシステム１０と知識情報検索サーバ１１を１台のコンピュータ上に実装し、データ転送を行わない構成をとることもできる。さらに、図１では知識情報検索クライアント２０と知識情報検索サーバ１１を別個のコンピュータを使用するものとしたが、１個以上の知識情報検索クライアントを知識情報検索サーバと同一のコンピュータで実行する構成をとることもできる。
以上が、本実施例におけるシステムの全体構成についての説明である。
【００１２】
次に、本実施例における知識情報登録サブシステム１０について説明する。
知識情報登録サブシステム１０は、ディスプレイ１５０、キーボードやマウスなどの入力装置１６０、主メモリ１００、磁気ディスク装置２００、通信制御装置１７０、システムバスおよび中央演算装置など一般的なコンピュータの構成をとる。
ディスプレイ１５０は、本サブシステムにおける処理の実行状況を表示するために使用する。入力装置１６０は、知識情報登録処理の実行などを指示するコマンドを入力するために使用する。主メモリ１００は、本サブシステムによる処理を行うための各種プログラムおよび一時的なデータを保持するために使用する。磁気ディスク装置２００は、本サブシステムが作成するインデックスファイル、知識属性テーブル、プロファイルテーブルを格納するために使用する。通信制御装置１７０は、ネットワーク１８０を介して知識情報検索サーバ１１と通信し、知識情報登録あるいは知識情報検索に関するリクエストおよびデータの送受信を行うために使用する。
主メモリ１００中には、システム制御プログラム１００１、知識情報登録制御プログラム１００２、特徴文字列抽出プログラム１００３、知識属性算出プログラム１００４、プロファイル作成プログラム１００５が格納されると共にワークエリアが確保される。これらのプログラムは、フロッピーディスクや光磁気ディスクなどの可搬型媒体に格納され、ここから読み出し、磁気ディスク装置２００へインストールする。本サブシステム起動時に、システム制御プログラム１００１が起動し、これらのプログラムを磁気ディスク装置２００から読み出し、主メモリ１００へ格納する。
磁気ディスク装置２００中には、インデックスファイル格納領域２００１、知識属性テーブル格納領域２００２、プロファイルテーブル格納領域２００３および各種プログラム格納領域が確保される。
【００１３】
システム制御プログラム１００１は、周辺機器との間のデータの入出力など、コンピュータ上で本サブシステムを構成する各種プログラムを実行するための基本機能を提供する。
知識情報登録制御プログラム１００２は、特徴文字列抽出プログラム１００３、知識属性算出プログラム１００４、プロファイル作成プログラム１００５の起動および実行制御を行うと共に、これらのプログラムによって生成されたプロファイルテーブル格納領域２００３に格納されているプロファイルテーブルをネットワーク１８０を介して前記知識情報検索サーバ１１に転送する。
特徴文字列抽出プログラム１００３は、メールクライアント２１などから配信されたネットワーク１８０上に流通するコンテンツの内容から特徴的な部分文字列（以下、特徴文字列）を抽出し、コンテンツに付随する各種属性データと抽出した特徴文字列を元にインデックスデータを生成する。生成したインデックスデータをインデックスファイル格納領域２００１に格納されているインデックステーブルに登録し、インデックステーブルを更新する。
知識属性算出プログラム１００４は、前記特徴文字列抽出プログラム１００３にて更新されたインデックステーブルを元に、特徴文字列に対して各々重み付けを行ない、知識属性テーブル格納領域２００２に格納されている知識属性テーブルに登録し、知識属性テーブルを更新する。
プロファイル作成プログラム１００５は、前記知識属性算出プログラム１００４にて更新された知識属性テーブル格納領域２００２に格納されている知識属性テーブルを元に、ユーザ毎の知識属性値を算出する。算出した知識属性値をプロファイルテーブル格納領域２００３に格納されているプロファイルテーブルに登録し、プロファイルテーブルを更新する。
なお、本実施例ではネットワーク１８０上に流通するコンテンツを知識情報の登録対象とする構成としたが、フロッピーディスク、光磁気ディスク、追記型光ディスクなど可搬型媒体からコンテンツを読み込む構成を取ることもできる。さらに、メールサーバ１２、Ｗｅｂサーバ１３、コンテンツ受信サーバ１４にすでに存在するコンテンツをネットワーク１８０を介して読み込む構成を取ることもできる。以上が、本実施例における知識情報登録サブシステムのシステム構成に関する説明である。
【００１４】
次に、本実施例の知識情報登録処理の手順を図１、図２を用いて説明する。なお、図２は、本実施例の知識情報登録処理における概略手順を示すＤＦＤ図である。
入力装置１６０からの登録指示コマンド等により、知識情報登録制御プログラム１００２が起動されると、本プログラムはまずネットワーク１８０を観測し、ネットワーク上に流通するコンテンツを捕捉する。コンテンツを捕捉すると、すべてのコンテンツに対し、以下に示すステップＡ２からステップＡ６までの処理を繰り返し実行する（ステップＡ１）。
ステップＡ２では、捕捉したコンテンツに対してコンテンツ識別子を割り当て、ワークエリアへ格納する。なお、コンテンツ識別子はコンテンツデータベース中で特定のコンテンツを一意に識別する番号である。
ステップＡ３では、ワークエリアに格納されたコンテンツを入力とし、特徴文字列抽出プログラム１００３を実行する。特徴文字列抽出プログラム１００３は、コンテンツから特徴文字列とその特徴文字列の出現頻度を抽出する。特徴文字列の抽出方法は、形態素解析の手法やテキスト中に含まれる単語ベクトルの類似度に基づいたベクトル空間モデル、あるいは、前述の特許文献３で公開されている技術を用いても構わない。
次に、ステップＡ４では、ステップＡ３にて抽出された特徴文字列とその出現頻度、コンテンツ識別子、作成者、作成日付などのコンテンツの属性を元にインデックスデータを作成する。さらに、作成したインデックスデータをインデックスファイル格納領域２００１に格納されているインデックステーブル２００１０に登録し、インデックステーブル２００１０を更新する。このステップＡ２からステップＡ４が図２におけるプロセス１００３０に相当する。
【００１５】
ステップＡ５では、ステップＡ４で更新されたインデックステーブル２００１０を入力として知識属性算出プログラム１００４を実行する。知識属性算出プログラム１００４は、インデックステーブル２００１０の特徴文字列の出現情報、出現頻度および各々特徴文字列に対応した重み値を更新する。なお、本ステップにおける知識属性算出プログラム１００４の詳細な説明は後述する。このステップＡ５が図２におけるプロセス１００４０に相当する。
ステップＡ６では、ステップＡ５において更新された知識属性テーブル２００２０を入力としてプロファイル作成プログラム１００５を実行する。プロファイル作成プログラム１００５では、ユーザ毎の知識属性テーブルの重み値と全コンテンツにおける知識属性テーブル２００２０を比較することにより、ユーザ毎の特徴文字列とその知識属性の値を算出し、プロファイル更新データを生成する。生成したプロファイル更新データをプロファイルテーブル格納領域２００３に登録し、プロファイルテーブルを更新する。なお、本ステップにおけるプロファイル作成プログラム１００５の詳細な説明は後述する。このステップＡ６が図２におけるプロセス１００５０に相当する。
すべての登録対象コンテンツに対し、上記ステップＡ２からステップＡ６までに示す一連の処理が終了すると、知識情報登録制御プログラム１００２は、ステップＡ７を実行して終了する。ステップＡ７では、プロファイルテーブル格納領域２００３に格納されたすべてのプロファイルテーブルを、ネットワーク１８０を介して知識情報検索サーバ１１に転送する。以上が、本実施例における知識情報登録処理の動作手順の概要である。
【００１６】
以下では、前記ステップＡ５とステップＡ６における詳細について、図３、図４を用いて説明する。
まずは、ステップＡ５の詳細について説明する。図３は、ステップＡ５の詳細、すなわち本実施例における知識属性算出プログラム１００４の処理手順を示す図である。
知識属性算出プログラム１００４は、インデックステーブルを入力として起動されると、まず、ステップ１０５１において、インデックステーブルから現時点での特徴文字列の出現情報および出現頻度を読み出す。
ステップ１０５２では、読み出したインデックステーブル中に存在するすべての特徴文字列の出現情報とその出現頻度を知識属性更新データとして生成する。生成した知識属性更新データと知識属性テーブル格納領域２００２に格納されている全成員を母集団としたコンテンツ集合における知識属性テーブルを照合し、知識属性更新データと知識属性テーブルに差異がみられる場合には知識属性テーブルを更新する。
ステップ１０５３では、全成員を母集団としたコンテンツ集合に対応する各特徴文字列の重み値を再計算する。重み値の算出方法は、各特徴文字列の出現頻度に対し全成員を母集団とした場合におけるコンテンツの登録数で割った１コンテンツあたりの特徴文字列出現頻度平均値を用いてもよいし、前述の特許文献３に公開されている方式を用いてもよい。この重み値の算出方法については、すでに公知であるため、詳細については言及しない。
ステップ１０５４では、前記ステップ１０５３にて算出した各特徴文字列の重み値を元に、全成員を母集団としたコンテンツ集合における知識属性テーブルの重み値を更新する。
【００１７】
ステップ１０５５では、更新すべきユーザが存在するかどうかを判定する。もし、更新すべきユーザが存在する場合には、そのユーザに対し、以下に示すステップ１０５６からステップ１０５８までの処理を実行する。もし、更新すべきユーザが存在しない、あるいは、更新すべきすべてのユーザについて以下に示すステップ１０５６からステップ１０５８までの処理が終了した場合は、知識属性算出プログラム１００４を終了する。
ステップ１０５６では、更新すべきユーザに対し、読み出したインデックステーブル中に存在する該ユーザの特徴文字列の出現情報とその出現頻度を知識属性更新データとして生成する。生成した知識属性更新データと知識属性テーブル格納領域２００２に格納されている該ユーザを対象としたコンテンツ集合における知識属性テーブルを照合し、知識属性更新データと知識属性テーブルに差異がみられる場合には知識属性テーブルを更新する。
ステップ１０５７では、更新すべきユーザを対象としたコンテンツ集合に対応する各特徴文字列の重み値を再計算する。重み値の算出方法は、ステップ１０５３にて採用した方式と同じものを採用する。
ステップ１０５８では、前記ステップ１０５７にて算出した各特徴文字列の重み値を元に、更新すべきユーザを対象としたコンテンツ集合における知識属性テーブルの重み値を更新する。ステップ１０５８が終了すると、ステップ１０５５に戻り、処理を継続する。
以上、知識属性算出プログラム１００４、すなわち、知識情報検索手段におけるステップＡ５の詳細についての説明である。
【００１８】
次に、ステップＡ６の詳細について説明する。図４は、ステップＡ６の詳細、すなわち本実施例におけるプロファイル作成プログラム１００５の処理手順を示す図である。
プロファイル作成プログラム１００５は、知識属性テーブルを入力として起動されると、まず、ステップ１０６１において、知識属性テーブルから各ユーザの特徴文字列の出現情報およびその重み値を読み出す。
ステップ１０６２では、読み出した各ユーザの知識属性テーブルに対し、プロファイルテーブルを更新すべきかどうかを判定する。もし、更新すべきユーザであるならば、以下に示すステップ１０６３からステップ１０６５までの処理を実行する。もし、更新すべきユーザではない、あるいは、更新すべきすべてのユーザについて以下に示すステップ１０６３からステップ１０６５までの処理が終了した場合は、プロファイル作成プログラム１００５を終了する。
ステップ１０６３では、該ユーザの知識属性テーブルに存在する各特徴文字列の重み値に対し、全成員を母集団としたコンテンツ集合における知識属性テーブルにおける当該特徴文字列の重み値との差分を算出する。この差分の値が該ユーザにおける当該特徴文字列の傾向を示す値となる。算出した各特徴文字列における傾向値をワークエリアに格納する。
ステップ１０６４では、まず、全成員を母集団としたコンテンツ集合に対するユーザが作成したコンテンツ集合の占有率を算出する。算出した占有率とワークエリアに格納されている各特徴文字列における傾向値を乗算することにより、ユーザの当該特徴文字列における知識属性を示す値を算出する。算出した各特徴文字列における知識属性値をワークエリアに格納する。
ステップ１０６５では、ワークエリアに格納されている各特徴文字列とその知識属性値を読み出し、プロファイルテーブル格納領域２００３に格納されている該ユーザのプロファイルテーブルを更新する。ステップ１０６５が終了すると、ステップ１０６２に戻り、処理を継続する。
以上、プロファイル作成プログラム１００５、すなわち、知識情報検索手段におけるステップＡ６の詳細についての説明である。
以上が、本発明の実施例における知識情報登録サブシステム１０についての説明である。
【００１９】
次に、本発明の実施例における知識情報検索サーバ１１について説明する。
まず、本発明の実施例における知識情報検索サーバ１１のシステム構成について説明する。知識情報検索サーバ１１は、ディスプレイ１５０、キーボードやマウスなどの入力装置１６０、主メモリ１００、磁気ディスク装置２００、通信制御装置１７０、システムバスおよび中央演算装置など一般的なコンピュータの構成をとる。
ディスプレイ１５０は、本検索サーバの稼動状況を表示するために使用する。入力装置１６０は、本検索サーバの起動・停止などを指示するコマンドを入力するために使用する。主メモリ１００は、本検索サーバによる処理を行うための各種プログラムおよび一時的なデータを保持するために使用する。磁気ディスク装置２００は、本検索サーバが使用するインデックスファイルなどを格納するために使用する。通信制御装置１７０は、ネットワーク１８０を介して前記知識情報登録サブシステム１０および知識情報検索クライアント２０と通信し、知識情報登録あるいは知識情報検索に関するリクエストおよびデータの送受信を行うために使用する。
主メモリ１００中には、システム制御プログラム１００１、知識情報検索制御プログラム１０１０、検索条件式解析プログラム１０１１、有識度算出プログラム１０１２、検索結果取得プログラム１０１３が格納されると共にワークエリアが確保される。これらのプログラムは、フロッピーディスクや光磁気ディスクなどの可搬型媒体に格納され、ここから読み出し、磁気ディスク装置２００へインストールする。本検索サーバ起動時に、システム制御プログラム１００１が起動し、これらのプログラムを磁気ディスク装置２００から読み出し、主メモリ１００へ格納する。
磁気ディスク装置２００中には、プロファイルテーブル格納領域２００３および各種プログラム格納領域が確保される。
【００２０】
システム制御プログラム１００１は、周辺機器との間のデータの入出力など、コンピュータ上で本検索サーバを構成する各種プログラムを実行するための基本機能を提供する。
知識情報検索制御プログラム１０１０は、検索条件式解析プログラム１０１１、有識度算出プログラム１０１２、検索結果取得プログラム１０１３の起動および実行制御を行うと共に、ネットワーク１８０を介して、知識情報登録サブシステム１０および知識情報検索クライアント２０との間で知識情報登録または知識情報検索に関するリクエストおよびデータの送受信を行う。
検索条件式解析プログラム１０１１は、知識情報検索クライアント２０から受信した検索リクエスト中に含まれる検索条件式を解析し、有識度算出プログラム１０１２によって直接検索可能な条件指定に翻訳する。
有識度算出プログラム１０１２は、検索条件式解析プログラム１０１１によって翻訳された条件指定に従って、プロファイルテーブル格納領域２００３に格納されているプロファイルテーブルを検索し、得られた検索結果データをワークエリアに格納する。
検索結果取得プログラム１０１３は、有識度算出プログラム１０１２によって取得された検索結果データを有識度の降順にソートし、この情報を要求元の検索クライアントに転送する。
以上が、本実施例における知識情報検索サーバ１１のシステム構成に関する説明である。
【００２１】
次に、本実施例における知識情報検索処理の手順について、図１および図５を用いて説明する。なお、図５は、知識情報検索処理における概略手順を示すＤＦＤ図である。
入力装置１６０からのサーバ起動コマンド等により、知識情報検索制御プログラム１０１０が起動されると、本プログラムは、サーバとして、知識情報登録サブシステム１０および知識情報検索クライアント２０からリクエストを受信してはその処理を行なうループ（ステップＢ１）に入る。このループは入力装置１６０からサーバの停止を指示するコマンドが入力されるまで継続する。
ステップＢ１のループは、知識情報登録サブシステム１０および知識情報検索クライアント２０から知識情報登録あるいは知識情報検索に関するリクエストを受信する処理（ステップＢ２）と、受信したリクエストの種別を判定し、該種別に対応する処理に分岐する処理（ステップＢ３）を繰り返す。
ステップＢ３では、受信したリクエストの種別を判定し、該リクエストが知識情報登録サブシステムから送信されたデータベース更新リクエストであった場合、ステップＢ４の処理に分岐する。また、前記リクエストが知識情報検索クライアント２０から送信された検索リクエスト（特定の検索条件を満たす知識情報群の検索を求めるリクエスト）であった場合、ステップＢ５、ステップＢ６、ステップＢ７、ステップＢ８からなる処理に分岐する。また、前記リクエストが知識情報検索クライアント２０から送信された検索結果問合せリクエスト（特定の検索処理の結果を問合せるリクエスト）であった場合、ステップＢ９の処理に分岐する。分岐先の処理が終了した後は、再びステップＢ１に戻ってループを継続する。
【００２２】
ステップＢ４では、知識情報登録サブシステム１０から新規に登録されたプロファイルデータを受信し、受信したプロファイルデータを反映してプロファイルテーブル格納領域２００３に存在するプロファイルテーブルを更新する。
ステップＢ５では、検索条件式解析プログラム１０１１を実行し、検索リクエスト中で指定された検索条件を解析し、該検索条件を有識度算出プログラム１０１２にて直接処理可能な条件指定に変換する。このステップＢ５が図５におけるプロセス１０１１０に相当する。
次に、ステップＢ６では、ステップＢ５にて生成された条件指定を入力として、有識度算出プログラム１０１２を実行し、プロファイルテーブルに対し、該検索条件を満たす有識者を検索する。なお、有識者の有識度はプロファイルテーブル上の条件指定に対応する知識属性値を参照することで有識度を算出する。このステップＢ６が図５におけるプロセス１０１２０に相当する。
次に、ステップＢ７では、検索結果取得プログラム１０１３を実行し、有識度算出プログラム１０１２にて算出された有識度の降順に有識者をソートし、この有識者リストと共に各有識者に対応した有識度といった情報をまとめた検索結果データをワークエリアに格納する。このステップＢ７が図５におけるプロセス１０１３０に相当する。
次に、ステップＢ８では、検索結果データ集合を要求元の検索クライアントに返送する。
ステップＢ９では、問合せの内容に応じて前記ステップＢ７にて求めた検索結果データの一部もしくは全体をワークエリアから抽出し、要求元の検索クライアントに返送する。
以上が本実施例における知識情報検索処理の動作手順であり、本実施例における知識情報検索サーバ１１の説明である。
【００２３】
次に、本発明の実施例における知識情報検索クライアント２０のシステム構成について説明する。知識情報検索クライアント２０は、ディスプレイ１５０、キーボードやマウスなどの入力装置１６０、主メモリ１００、磁気ディスク装置２００、通信制御装置１７０、システムバスおよび中央演算装置など一般的なコンピュータの構成をとる。
ディスプレイ１５０は、ユーザが対話的に検索条件を入力するための画面や検索結果などを表示するために使用する。入力装置１６０は、検索条件の入力や検索処理の実行などを指示するコマンドを入力するために使用する。主メモリ１００は、本検索クライアントによる処理を行うための各種プログラムおよび一時的なデータを保持するために使用する。磁気ディスク装置２００は、検索結果として得られたデータおよびその他のデータやプログラムなどを格納するために使用する。通信制御装置１７０は、ネットワーク１８０を介して前記知識情報検索サーバ１１と通信し、知識情報検索に関するリクエストおよびデータの送受信を行うために使用する。
主メモリ１００中には、システム制御プログラム１００１、知識情報検索入出力制御プログラム１０２０、検索条件入力プログラム１０２１、検索結果表示プログラム１０２２が格納されると共にワークエリアが確保される。これらのプログラムは、フロッピーディスクや光磁気ディスクなどの可搬型媒体に格納され、ここから読み出し、磁気ディスク装置２００へインストールする。本検索クライアント起動時に、システム制御プログラム１００１が起動し、これらのプログラムを磁気ディスク装置２００から読み出し、主メモリ１００へ格納する。
【００２４】
磁気ディスク装置２００中には、検索結果データ格納領域２０２０および各種プログラム格納領域が確保される。
システム制御プログラム１００１は、周辺機器との間のデータの入出力など、コンピュータ上で本検索クライアントを構成する各種プログラムを実行するための基本機能を提供する。
知識情報検索入出力制御プログラム１０２０は、検索条件入力プログラム１０２１、検索結果表示プログラム１０２２の起動および実行制御を行うと共に、ネットワーク１８０を介して、知識情報検索サーバ１１との間で知識情報検索に関するリクエストおよびデータの送受信を行う。
検索条件入力プログラム１０２１は、ユーザと対話しつつ検索条件の入力および解釈を行なう。
検索結果表示プログラム１０２２は、知識情報検索サーバ１１から受け取った検索結果の表示を行なう。
なお、本検索クライアントにプリンタを接続し、検索結果を印刷するようなシステム構成をとることもできる。
以上が、本実施例における知識情報検索クライアントのシステム構成に関する説明である。
【００２５】
次に、本実施例における知識情報検索クライアント２０の動作手順について、図１および図５を用いて説明する。なお、図５は、知識情報検索処理における概略手順を示すＤＦＤ図である。
入力装置１６０からのクライアント起動コマンド等により、知識情報検索入出力制御プログラム１０２０が起動されると、本プログラムはユーザから検索を指示するコマンドを受け取ってはその処理を行なうループに入る（ステップＣ１）。このループは、入力装置１６０からクライアントの停止を指示するコマンドが入力されるまで継続する。
ステップＣ１のループは、以下に示すステップＣ２からステップＣ８までの処理を繰り返す。
ステップＣ２では、ユーザが対話的に検索条件を入力するための画面を表示する。
ステップＣ３では、検索条件入力プログラム１０２１を実行し、ユーザとの対話により検索条件を入力し、知識情報検索サーバ１１が解釈可能な検索リクエストに変換する。
ステップＣ４では、ネットワーク１８０を介し、変換した検索リクエストを知識情報検索サーバ１１に送信する。このステップＣ２からステップＣ４までの処理が図５におけるプロセス１０２１０に相当する。
ステップＣ５では、前記検索リクエストの返送として検索結果データ集合が返されるのを待ち、検索結果データ集合を受信する。
ステップＣ６では、受信した検索結果データ集合を入力として検索結果表示プログラム１０２２を起動し、ユーザと対話しつつ検索結果データの問合せおよび画面表示を行なう。このステップＣ５とステップＣ６が図５におけるプロセス１０２２０に相当する。
以上、本実施例における知識情報検索クライアントの動作手順の概要である。
【００２６】
以下では、知識情報検索クライアント２０の動作手順におけるステップＣ６の詳細、すなわち本実施例における検索結果表示プログラム１０２２について説明する。
検索結果表示プログラム１０２２は、知識情報検索入出力制御プログラム１０２０から起動されると、直ちにステップＤ１のループに入る。該ループは、ユーザから検索結果表示の終了を指示するコマンドを入力されるまで、以下に示すステップＤ２からステップＤ９までに示す処理を繰り返し実行する。
ステップＤ１のループ内では、まずステップＤ２において、検索結果の表示とユーザからの指示入力のために用いる画面をディスプレイ１５０に表示する。
次に、ステップＤ３において、前記画面上でユーザが指定した指示内容を読み込む。
次に、ステップＤ４において、前記ユーザの指示内容の種別を判定し、その種別に対応した分岐を行なう。すなわち、該指示が検出有識者数の表示を求めるものであった場合は、以下に示すステップＤ５およびステップＤ６の処理に分岐し、該指示が有識者リスト表示を求めるものであった場合には、以下に示すステップＤ７およびステップＤ８の処理に分岐する。各分岐先の処理が終了するとステップＤ１に戻り、前記ループを継続する。
ステップＤ５では、検出有識者数を問合せるための検出有識者数問合せリクエストを作成し、該リクエストを知識情報検索サーバ１１に送信する。
次に、ステップＤ６では、前記リクエストに対応して知識情報検索サーバ１１から転送されてきた有識者数を受信し、該数値をディスプレイ１５０に表示する。
ステップＤ７では、検出有識者のリストを問合せるための有識者問合せリクエストを作成し、該リクエストを知識情報検索サーバ１１に送信する。
次に、ステップＤ８では、前記リクエストに対応して知識情報検索サーバ１１から転送されてきた有識者の集合を受信し、該集合に含まれる有識者リストを検索結果データ格納領域２０２０に格納し、ディスプレイ１５０に有識者のリストを表示する。
以上が、検索結果表示プログラム１０２２の詳細についての説明であり、本実施例における知識情報検索クライアント２０の説明である。
【００２７】
以下では、本実施例における知識情報登録および知識情報検索について、具体的な例を用いて説明する。
まずは、知識情報登録における処理手順について、知識情報登録サブシステム１０の処理手順に基づき、具体例を用いて説明する。
図６における４００は、知識情報登録に用いるコンテンツの一例を示したものである。このコンテンツはユーザ「鈴木」がメールクライアント２１において作成したメールの一部である。このメールはユーザ「斉藤」が作成したメールに対して返信する形にて作成されている。
このメールをユーザ「鈴木」がメールクライアント２１からメールサーバ１２へ向けて送信した場合、知識情報登録サブシステム１０は、このコンテンツを捕捉することで、知識情報登録の処理手順が実行される（ステップＡ１）。
図７における５００は、知識情報登録サブシステム１０の処理手順におけるステップＡ２からステップＡ４によって生成されたインデックステーブルの一例である。今回のインデックステーブルからは、コンテンツのコンテンツ識別子が「ｍｓｇ２７４２」と割り当てられ、その作成者が「鈴木」、元作成者（ソース）が「斉藤」、作成日付が「２００６／３／３」となっていることがわかる。また、特徴文字列としてＡｐａｃｈｅ（４）、ＨＴＴＰ（６）、Ｗｅｂ（２３）などが抽出されている。なお、カッコ内の数字は特徴文字列の出現回数を示している。
図７における５００に示すようなインデックステーブルが作成されると、知識情報登録サブシステム１０はステップＡ５、すなわち本実施例における知識属性算出プログラム１００４を実行することにより、知識属性テーブルを更新する。このステップＡ５で更新する知識属性テーブルには、全成員を母集団としたコンテンツ集合に対する知識属性テーブルと各ユーザのコンテンツ集合に対する知識属性テーブルがある。
【００２８】
図８における５１０は全成員を母集団としたコンテンツ集合に対する知識属性テーブルの一例である。既存の知識属性テーブルにインデックステーブルにて作成した各特徴文字列の出現回数を加算することで出現頻度を更新する（ステップ１０５２）。もし、特徴文字列が知識属性テーブルに存在しない場合には、特徴文字列とその出現回数を新規に追加する。
例えば、図７における５００のインデックステーブル上で更新された部分におけるＡｐａｃｈｅという特徴文字列の出現回数の総計が１０回であったとすると、図８における５１０の知識属性テーブルのＡｐａｃｈｅという特徴文字列の出現頻度を１５１０と更新する。また、図７における５００のインデックステーブル上で更新された部分には、ＵＢＬという特徴文字列の出現回数の総計が１２回であり、図８における５１０の知識属性テーブルにはＵＢＬという特徴文字列が存在しなかった場合、新たにＵＢＬという特徴文字列を追加し、その出現頻度を１２と設定する。なお、ここでは、インデックステーブルは更新された部分のみ反映する方式としたが、インデックステーブルに含まれるすべての情報に対して知識属性テーブルにおける出現頻度の更新を行なう方式をとっても構わない。インデックステーブル上に存在するすべての特徴文字列とその出現頻度について知識属性テーブル２００２０の更新処理が終了すると、更新した出現頻度を元に重み値の算出を行なう（ステップ１０５３）。
【００２９】
重み値の算出については、各特徴文字列の出現頻度に対し全成員を母集団とした場合におけるコンテンツの登録数で割った１コンテンツあたりの特徴文字列出現頻度平均値を用いてもよいし、前述の特許文献３に公開されているＴＦ・ＩＤＦ重み付け方式を利用する方式を用いてもよい。ここでは、１コンテンツあたりの特徴文字列出現頻度平均値を重み値として設定する場合を具体例として説明する。
まず、図８における５１０の知識属性テーブル２００２０では、このテーブルを構成するコンテンツの登録件数が１００、０００件存在したとする。図８における５１０では、Ａｐａｃｈｅという特徴文字列は１、５００という出現頻度となっていることから、このＡｐａｃｈｅという特徴文字列の重み値は、１、５００／１００、０００＝０．１５という値を算出することになる。この重み値を知識属性テーブルの重み値として設定する（ステップ１０５４）。同様の計算と設定を図８における５１０に存在するすべての特徴文字列に対して実行することで重み値の更新を行なう。
前記全成員を母集団としたコンテンツ集合に対する知識属性テーブルの更新が終了すると、ユーザ固有のコンテンツ集合に対する知識属性テーブルも更新することになる。
【００３０】
図９における５２０は、あるユーザのコンテンツ集合に対する知識属性テーブルの一例である。図９における５２０の知識属性テーブルはユーザ毎に作成されることになる。ここでは、図９における５２０はユーザ「鈴木」の知識属性テーブルを示しているものとして説明を行なう。
まず、図７における５００のインデックステーブルに存在するユーザ「鈴木」が作成者として含まれる情報を抽出し、抽出された情報に含まれている特徴文字列とその出現頻度を算出する（ステップ１０５６）。
例えば、ユーザ「鈴木」が作成したコンテンツの特徴文字列としてＡｐａｃｈｅがあり、インデックステーブル上で更新された部分における出現回数の総計が７回だったとすると、図９における５２０のＡｐａｃｈｅという特徴文字列の出現頻度を１７回に更新する。また、ユーザ「鈴木」に対するインデックステーブル上で更新された部分には、ＵＢＬという特徴文字列の出現回数の総計が６回存在し、図９における５２０の知識属性テーブルにはＵＢＬという特徴文字列が存在しなかった場合、新たにＵＢＬという特徴文字列を追加し、その出現頻度を６と設定する。
なお、ここでは、インデックステーブルは更新された部分のみ反映する方式としたが、インデックステーブルに含まれるすべての情報に対して知識属性テーブルにおける出現頻度の更新を行なう方式をとっても構わない。
インデックステーブル上に存在するすべての特徴文字列とその出現頻度について知識属性テーブルの更新処理が終了すると、更新した出現頻度を元に重み値の算出を行なう（ステップ１０５７）。この重み値の算出は、ステップ１０５３にて採用した算出方法と同様の方式をとる。例えば、図９における５２０の知識属性テーブルを構成するコンテンツの登録件数が１００件であった場合、図９における５２０に存在する特徴文字列Ａｐａｃｈｅの重み値は、１０／１００＝０．１という値になる。
【００３１】
この重み値をユーザ「鈴木」の知識属性テーブルの重み値として設定する（ステップ１０５８）。同様の計算と設定を図９における５２０に存在するすべての特徴文字列に対して実行することで重み値の更新を行なう。
図８における５１０および図９における５２０に示すような知識属性テーブルが作成されると、知識情報登録サブシステムはステップＡ６、すなわち本実施例におけるプロファイル作成プログラム１００５を実行することにより、各ユーザのプロファイルテーブルを更新する。図１０における５３０はあるユーザのプロファイルテーブルの一例である。なお、プロファイルテーブルはユーザ毎に作成される。ここでは、図１０における５３０は、前記図９における５２０にて例示したユーザ「鈴木」のプロファイルテーブルを示すものとして説明を行なう。
まず、図９における５２０に格納されている特徴文字列とその重み値からユーザの知識傾向を示す値（知識傾向値）を算出する（ステップ１０６３）。知識傾向を示す値は、ユーザの知識属性テーブル（図９における５２０）に存在する各特徴文字列の重み値に対し、全成員を母集団としたコンテンツ集合における知識属性テーブル（図８における５１０）における当該特徴文字列の重み値との差分により算出する。例えば、ユーザ「鈴木」の知識属性テーブルでは、Ａｐａｃｈｅという特徴文字列に対して重み値０．１が設定されており、全成員を母集団としたコンテンツ集合における知識属性テーブルでは、Ａｐａｃｈｅの重み値は０．１５である。したがって、ユーザ「鈴木」における特徴文字列Ａｐａｃｈｅの知識傾向値は０．１−０．１５＝−０．０５と算出される。
【００３２】
次に、ユーザの持つ知識傾向値が全成員の中でどの程度影響力を持つのかを示す知識属性値を算出する（ステップ１０６４）。この知識属性値を算出するために、まず、全成員を母集団としたコンテンツ集合に対してユーザのコンテンツ集合が占める割合（占有率）を算出する。ここでは、ユーザ「鈴木」のコンテンツ登録件数が１００件、全成員を母集団としたコンテンツの登録件数が１００、０００件であるとする。この場合、占有率は１００／１００、０００＝０．００１となる。
次に、ステップ１０６３にて算出されたユーザの知識傾向値と占有率を乗算することにより、知識属性値が算出される。なお、占有率は０以上１以下の数値となるために各特徴文字列における知識属性値の差異が小さく算出されてしまうことを考慮し、特定の定数を乗算してもよい。ここでは、ユーザ「鈴木」の特徴文字列Ａｐａｃｈｅの知識傾向値が−０．０５、ユーザ「鈴木」の占有率が０．００１であるため、−０．０５×０．００１×１０、０００＝−０．５という知識属性値が算出できる（なお、乗算した１０、０００は定数である）。この知識属性値をユーザ「鈴木」のプロファイルテーブルに設定する。同様の計算と設定を図９における５２０の知識属性テーブルに存在するすべての特徴文字列に対して実行することで重み値の更新を行なう。
図１０の５３０は、ユーザ「鈴木」に対する前記の処理を行なった結果の一例となる。図１０の５３０を俯瞰すると、ユーザ「鈴木」は例えば「Ａｐａｃｈｅ」というキーワードに対しては全成員の知識平均と比較して０．５ポイント不足しており、「ＸＢＲＬ」というキーワードについては、全成員の知識平均よりも１１．７ポイント満足している。このことから、ユーザ「鈴木」は「ＸＢＲＬ」、「ＳＯＡ」、「ＥＳＢ」といった情報に詳しく、「Ａｐａｃｈｅ」に関する情報はそれほど詳しくないことがわかる。
以上の処理をすべてのユーザに対して実行し、生成したプロファイルテーブルをデータベース更新リクエストとして知識情報検索サーバ１１に転送する（ステップＡ７）。
以上が、本発明の第一の実施例における知識情報登録の具体的な処理例である。
【００３３】
次に、知識情報検索における処理手順について、知識情報検索サーバ１１の処理手順および知識情報検索クライアント２０の処理手順に基づき、具体例を用いて説明する。
まず、知識情報検索クライアント２０で、ユーザが対話的に検索条件を入力するための画面を表示する（ステップＣ１）。
表示された画面を用いてユーザは検索条件を入力し、検索情報クライアントは検索条件入力プログラム１０２１により、ユーザが入力した検索条件を知識情報検索サーバ１１が解釈可能な検索リクエストに変換する（ステップＣ２）。ここでは、あるユーザが「ＸＢＲＬ」と「ＳＯＡ」と「ＥＳＢ」の知識がある人を検索したいと入力したとする。
図１１の６００は検索条件入力プログラム１０２１を用いてこの検索条件から生成された検索リクエストの一例である。この検索リクエストでは、ＤＢ１というデータベース内で「ＸＢＲＬ」、「ＳＯＡ」、「ＥＳＢ」のすべての特徴文字列を含むユーザを検索することになる。また、「ＸＢＲＬ」、「ＳＯＡ」、「ＥＳＢ」のいずれかの特徴文字列を含むユーザを検索したい場合には、上記特徴文字列と論理和（ＯＲ）で結合すればよい。この検索リクエストを知識情報検索サーバ１１に送信する。
知識情報検索サーバ１１においてこの検索リクエストを受信すると、知識情報検索サーバ１１の処理手順におけるステップＢ５により、検索リクエスト中で指定された検索条件を解析し、有識度算出プログラム１０１２にて直接処理可能な条件指定に変換する。もし、受信した検索リクエストがそのまま有識度算出プログラム１０１２にて直接処理可能な条件指定となっている場合はこのステップは省略する。ここでは、図１１における６００の検索リクエストがそのまま有識度算出プログラム１０１２にて処理できるものとして説明する。
【００３４】
次に、知識情報検索サーバ１１の処理手順におけるステップＢ６およびステップＢ７により、有識者の検索を行なう。有識者の検索には有識度算出プログラム１０１２を用いる。有識者の検索には、ユーザ毎に設定されているプロファイルテーブルを検索することにより実現する。例えば、図１１における６００のような検索条件が入力されると、「ＸＢＲＬ」、「ＳＯＡ」、「ＥＳＢ」のすべての特徴文字列を含むユーザを検索し、例えば、「鈴木」、「佐藤」、「田中」といったユーザを検索結果として抽出することになる。実行後、抽出された各ユーザの知識属性の値（例えば、「ＸＢＲＬ」、「ＳＯＡ」、「ＥＳＢ」の各特徴文字列における知識属性値の総和）を基準にして降順にソートし、検索結果データ集合として要求元の知識情報検索クライアントに返送する。
知識情報検索クライアントでは、検索結果データ集合を受信し、検索結果表示プログラム１０２２を実行することで検索結果を表示する。
以上説明したように、本実施例を適用することにより、ネットワーク上に流通するコンテンツに含まれるユーザの知識情報を蓄積することが可能となる。また、その知識情報を蓄積するために人手が必要になることもない。さらに、蓄積したユーザの知識情報には、全成員に対してどの程度知識があるのか、あるいは、どの程度影響力を保持しているのかを示す知識属性値が設定されており、その知識属性値を利用することにより、所望の知識を保有する有識者を高速かつ高精度に検索することが可能となる。つまり、高速かつ高精度なＫｎｏｗ−Ｗｈｏ検索システムを実現することができる。
【００３５】
なお、本実施例における知識情報検索処理を利用することで、コンテンツの信頼度を算出し、それを表示するステップを備えたメールやＷｅｂ上のコンテンツを検索するシステムを構築することも容易に実現可能である。
コンテンツを検索するためのクライアント（以下コンテンツ検索クライアント）で検索条件を元とした検索リクエストを作成する。コンテンツ検索クライアントは、作成した検索リクエストをコンテンツの検索を行なうためのサーバ（以下、コンテンツ検索サーバ）に送信する。コンテンツ検索サーバは検索リクエストを受信すると、コンテンツの検索処理を行なうと共に、知識情報検索サーバ１１に対して検索リクエストを送信する。なお、コンテンツの検索処理については公知であるため、詳細は言及しない。
知識情報検索サーバ１１は、検索リクエストを受信し、知識検索処理を実行する。実行後、検索結果データ集合をコンテンツ検索サーバに送信する。
コンテンツ検索サーバでは、検索結果データ集合を受信し、各コンテンツの作成者に対して、知識属性の値を信頼度として表示することで、各コンテンツの作成者の知識レベルの情報をユーザに提示できるようになる。なお、図１２における７００はコンテンツ検索クライアントにおける検索結果表示画面の一例である。このように、コンテンツの内容がユーザの所望するものであるかどうかを表示するだけでなく、そのコンテンツを作成した人の知識レベルを表示することにより、そのコンテンツがどの程度信頼できるものなのかを確認することができる。
【００３６】
［実施例２］
次に、本発明の実施例２の検索方法と検索装置について、図面を用いて説明する。本実施例のシステム構成は、前述の実施例１と同一であるが、知識情報登録サブシステム１０の処理において、知識属性算出方法とＫｎｏｗ−Ｗｈｏ検索に用いるプロファイルテーブルの作成結果が異なっている。その結果、Ｋｎｏｗ−Ｗｈｏ検索による検索結果が前述の実施例１とは異なっている。
以下、本実施例における知識情報登録サブシステム１０の詳細について説明する。本実施例のシステム構成は、図１に示す実施例１と同様である。ただし、主メモリ中に存在する知識属性算出プログラム１００４およびプロファイル作成プログラム１００５が異なる。また、磁気ディスク装置２００中に存在する知識属性テーブル格納領域２００２に格納されている知識属性テーブル２００２０の構成が異なる。
本実施例における知識属性算出プログラム１００４は、前述の実施例１で説明した処理に加えて、次の処理を行う。
特徴文字列抽出プログラム１００３にて、更新されたインデックステーブルの「作成者」と「ソース」の項目を元に、各コンテンツの作成者と元作成者を示すデータを抽出する。作成者の、知識属性テーブル格納領域２００２に格納されている知識属性テーブルの「重み値」の項目を参照して元作成者の有用度を算出する。算出された有用度を元作成者の知識属性テーブルの「有用度」の項目に登録し、知識属性テーブルを更新する。
本実施例におけるプロファイル作成プログラム１００５は、前述の実施例１で説明した処理に加えて、知識属性値を示す値を算出する過程において、知識属性テーブルの「重み値」の値に加えて、「有用度」の値を用いる。算出された知識属性値を示す値を、プロファイルテーブル格納領域２００３に格納されているプロファイルテーブルに登録し、プロファイルテーブルを更新する。
【００３７】
次に、本実施例における知識情報登録処理の手順を図１、図２を用いて説明する。本実施例における処理手順においては、図２に示す前述の実施例１の場合と変わらない。ただし、前述の実施例１におけるステップＡ５（図２におけるプロセス１００４０）とステップＡ６（図２におけるプロセス１００５０）の具体的な処理内容が異なる。
ステップＡ５では、ステップＡ４（図２におけるプロセス１００３０）で更新されたインデックステーブルを入力として知識属性算出プログラム１００４を実行する。
本実施例における知識属性算出プログラム１００４は、前述の実施例１で説明した処理に加えて、インデックステーブルから元作成者を読み出し、元作成者の知識属性テーブルの有用度を更新する。なお、本ステップにおける知識属性算出プログラム１００４の詳細な説明は後述する。このステップＡ５が図２におけるプロセス１００４０に相当する。
ステップＡ６では、ステップＡ５において更新された知識属性テーブルを入力としてプロファイル作成プログラム１００５を実行する。本実施例におけるプロファイル作成プログラムでは、前述の実施例１で説明した処理に加えて、ユーザ毎の知識属性テーブルの有用度を元に、知識属性に反映する値を算出し、プロファイル更新データを生成する。
生成したプロファイル更新データをプロファイルテーブル格納領域２００３のプロファイルテーブル２００３０に登録し、プロファイルテーブルを更新する。なお、本ステップにおけるプロファイル作成プログラム１００５の詳細な説明は後述する。このステップＡ６が図２におけるプロセス１００５０に相当する。
以上、本実施例における知識情報登録処理の動作手順の概要である。
【００３８】
以下では、上記ステップＡ５とステップＡ６における詳細について、図１３、図１４を用いて説明する。
まずは、ステップＡ５の有用度算出ステップの詳細について説明する。図１３は、ステップＡ５の詳細、すなわち本実施例における知識属性算出プログラム１００４の処理手順を示す図である。ステップ１０５１から１０５８までは、前述の実施例１と同一であるため言及せず、ステップ１０７１からステップ１０７３、すなわち、有用度算出ステップの詳細について説明する。 
知識属性算出プログラム１００４は、インデックステーブルを入力として起動されると、全体およびユーザごとの知識属性テーブルを必要に応じて更新する。前述の実施例１ではステップ１０５５で、この処理が終了と判定された場合、知識属性算出プログラム１００４を終了するが、本実施例では以下で説明する有用度の算出、および更新を行う。
まず、ステップ１０７１において、作成したコンテンツが引用、転記、転送などの手段により再利用されており、有用度を更新すべきユーザが存在するかを判定する。もし、該ユーザが存在する場合には、該ユーザに対し、以下に示すステップ１０７２からステップ１０７３までの処理を実行する。もし、該ユーザが存在しない、あるいは、処理すべき全てのユーザについて以下に示すステップ１０７２からステップ１０７３までの処理が終了した場合には、知識属性算出プログラム１００４を終了する。
ステップ１０７２では、更新すべきユーザ、すなわち、再利用されたコンテンツの作成者（元作成者）に対して、再利用者の知識属性テーブルの重み値をもとに、有用度更新データを生成する。
ステップ１０７３では、ステップ１０７２で算出した有用度更新データをもとに、元作成者の知識属性テーブルの有用度を更新する。ステップ１０７３が終了すると、ステップ１０７１に戻り、処理を継続する。
以上が本実施例における知識属性算出プログラム１００４、すなわち、前記知識情報登録手段におけるステップＡ５の詳細についての説明である。
【００３９】
次に、ステップＡ６の詳細について説明する。図１４は、ステップＡ６の詳細、すなわち、本実施例におけるプロファイル作成プログラム１００５の処理手順を示す図である。前述の実施例１におけるプロファイル作成プログラム１００５とは、有用度を読み取り、プロファイルテーブルの知識属性に反映させる部分が異なる。
ステップ１０６３からステップ１０６４までの重み値に関する処理については前述の実施例１と同一であるため、ここでは言及しない。また、本実施例では重み値から算出（ステップ１０６３からステップ１０６４）した知識属性値を自己知識属性値、有用度から算出した知識属性値を再利用知識属性値と呼ぶ。
以下では、有用度に関する処理について詳細を説明する。
プロファイル作成プログラム１００５は、知識属性テーブルを入力として起動されると、まず、ステップ１０６１において、知識属性テーブルから各ユーザの特徴文字列の出現情報、重み値、及び有用度を読み出す。
ステップ１０６２では、読み出した各ユーザの知識属性テーブルに対し、プロファイルテーブルを更新すべきかどうかを判定する。もし、更新すべきユーザであるならば、以下に示すステップ１０６３からステップ１０６６までの処理を実行する。もし、更新すべきユーザではない、あるいは、更新すべきすべてのユーザについて以下に示すステップ１０６３からステップ１０６６までの処理が終了した場合は、プロファイル作成プログラム１００５を終了する。
ステップ１０６５では、該ユーザの各特徴文字列に対する有用度と自己知識属性値に対する再利用知識属性値の重み値を乗算することで再利用知識属性値を算出する。算出した再利用知識属性値をワークエリアに格納する。
ステップ１０６６では、ワークエリアに格納されている各特徴文字列の自己知識属性値と再利用知識属性値を読み出し、両者を加算した値をプロファイルテーブル格納領域２００３に格納されている該ユーザのプロファイルテーブルの知識属性として登録する。すべての特徴文字列についてプロファイルテーブルの更新が行なわれステップ１０６６が終了すると、ステップ１０６２に戻り、処理を継続する。
以上、プロファイル作成プログラム１００５、すなわち、前記知識情報登録手段におけるステップＡ６の詳細についての説明である。
以上が本実施例におけるプロファイル作成プログラム１００５、すなわち、知識情報登録処理手段におけるステップＡ６の詳細についての説明である。
以上、本実施例における知識情報登録サブシステム１０についての説明である。
【００４０】
本実施例における知識情報検索の処理については、前述の実施例１と同様であるため省略とし、以下では、本実施例における知識情報登録の処理について具体的な例をあげて説明する。
本実施例における知識情報登録の処理について、インデックステーブルの作成から知識属性テーブルの重み値の更新までは前述の実施例１と同様の処理手順である。そのため、ここでは、本実施例で追加された知識属性テーブルの有用度の更新処理、及び有用度を用いたプロファイルテーブルの更新に関する処理手順について、具体例を用いて説明する。
図７における５００は、インデックステーブルの一例である。以下では、コンテンツ識別子が「ｍｓｇ２７４２」のコンテンツを用いて説明する。該コンテンツでは、その作成者が「鈴木」、元作成者（ソース）が「斉藤」となっている。この例では、作成者「鈴木」の知識属性テーブルの重み値から、元作成者「斉藤」の有用度を算出する。
本実施例における知識属性テーブルでは、前述の実施例１の知識属性テーブルに有用度の列を追加している。図１５における５４０は、該コンテンツの作成者「鈴木」の知識属性テーブルである。
作成者「鈴木」の知識属性テーブルから、「鈴木」は特徴文字列「Ａｐａｃｈｅ」の重み値が０．３５、「ＨＴＴＰ」の重み値が０．８、及び「Ｗｅｂ」の重み値が１．２と分かる。こられの各特徴文字列の重み値から、元作成者「斉藤」の知識属性テーブルの有用度の値に加算する値（有用度更新データ）を算出する。
【００４１】
有用度更新データは、該コンテンツで再利用された各特徴文字列の重み値に、全成員を母集団としたコンテンツ集合に対してユーザのコンテンツ集合が占める割合（占有率）を乗算して算出する。（ステップ１０７２）。
コンテンツ識別子が「ｍｓｇ２７４２」のコンテンツに含まれる特徴文字列「Ａｐａｃｈｅ」を例に説明する。元作成者「斉藤」の知識属性テーブルの特徴文字列「Ａｐａｃｈｅ」の重み値は０．５５であり、元作成者「斉藤」はＡｐａｃｈｅの有識者と考えられる。そのため、作成者「鈴木」はコンテンツ識別子「ｍｓｇ２７４２」のコンテンツの作成にあたり、元作成者「斉藤」のコンテンツからＡｐａｃｈｅの情報を再利用したと判断する。
次に、「Ａｐａｃｈｅ」に関する有用度更新データを算出する。作成者「鈴木」の知識属性テーブルの特徴文字列「Ａｐａｃｈｅ」の重み値は、０．３５である。また、ここでは、ユーザ「鈴木」のコンテンツ登録件数が１００件、全成員を母集団としたコンテンツの登録件数が１００、０００件であるとする。この場合、占有率は１００／１００、０００＝０．００１であるため、特徴文字列「Ａｐａｃｈｅ」の有用度更新データは、０．３５×０．００１＝０．０００３５となる。算出された有用度更新データはワークエリアに格納される。
これらの処理は、作成者「鈴木」が再利用した全ての特徴文字列に対して行なわれる。また、ここでは元作成者「斉藤」の再利用者は作成者「鈴木」のみとして説明したが、他にも再利用者が存在する場合、同様の処理を繰り返すものとする。
【００４２】
次に、前記処理でワークエリアに格納した、元作成者「斉藤」に関する全ての有用度更新データを取り出し、元作成者「斉藤」の知識属性テーブルの各特徴文字列の有用度に加算する（ステップ１０７３）。
図１６における５５０は、この有用度算出処理を行った後の、元作成者「斉藤」の知識属性テーブルである。作成者「鈴木」の重み値を加算したため、特徴文字列「Ａｐａｃｈｅ」の有用度が０．０００３５となっている。
図１５における５４０、および図１６における５５０に示すような知識属性テーブルが作成されると、知識情報登録サブシステムはステップＡ６、すなわち、本実施例におけるプロファイル作成プログラム１００５を実行することにより、各ユーザのプロファイルテーブルを更新する。
図１７における５６０は、あるユーザのプロファイルテーブルの一例である。なお、プロファイルテーブルはユーザ毎に作成される。ここでは、図１７における５６０は、図１６における５５０にて例示したユーザ「斉藤」のプロファイルテーブルを示すものとして説明を行う。
【００４３】
本実施例における知識属性値の算出は、（１）前述の実施例１と同様の重み値にもとづく算出（自己知識属性値）、（２）有用度にもとづく算出（再利用知識属性値）の２段階で行なわれ、（１）（２）それぞれの算出結果を加算した値が知識属性値となる。（１）自己知識属性値については、前述の実施例１と同様であるため、ここでは言及せず、（２）再利用知識属性値の算出処理について説明する。
再利用知識属性値は、図１６における５５０に格納されている各特徴文字列の有用度と自己知識属性に対する重み値、及び定数を乗算することにより算出する。この自己知識属性に対する重み値は、自己知識属性に対する再利用知識属性の重み付けのために用いている。定数には自己知識属性値の算出で用いた定数と同様の値を用いる。
例えば、ユーザ「斉藤」の知識属性テーブルでは、特徴文字列「Ａｐａｃｈｅ」に対して有用度０．０００３５が設定されている。ここで、自己知識属性に対する重み値を０．０１とした場合、０．０００３５×０．０１×１０、０００＝０．０３５と算出される。（なお、乗算した１０、０００は定数である）。
ワークエリアから（１）自己知識属性値を読み出して、（２）再利用知識属性値と加算することで、本実施例における知識属性値が算出される。例えば、ユーザ「斉藤」の再利用知識属性値は０．０３５であるため、（１）自己知識属性値と（２）再利用知識属性値を加算した最終的な知識属性値は８．０＋０．０３５＝８．０３５と算出される。
この知識属性値を、図１７に示すように、ユーザ「斉藤」のプロファイルテーブルに設定する。同様の計算と設定を図１６における５５０の知識属性テーブルに存在する、すべての特徴文字列に対して実行することで知識属性値の更新を行う。
以上の処理をすべてのユーザに対して実行し、生成したプロファイルテーブルをデータベース更新リクエストとして知識情報検索サーバ１１に転送する（ステップＡ７）。
【００４４】
［実施例３］
以下、本発明の実施例３について、図面を用いて説明する。本実施例のシステム構成は、前述の実施例１および実施例２と同様である。ただし、知識情報登録サブシステム１０と、知識情報検索サーバ１１の磁気ディスク内に時間空間管理テーブル格納領域２００４が存在する点が異なっている。
また、知識情報登録サブシステム１０の処理における知識属性算出方法と、知識情報検索サーバ１１の処理における有識者検索方法が異なる。その結果、Ｋｎｏｗ−Ｗｈｏ検索における検索結果が、前述の実施例１および実施例２とは異なっている。
以下、本実施例における知識情報登録サブシステム１０の詳細について説明する。
本実施例における全体のシステム構成を図1８に示す。図１に示す前述の実施例１および実施例２の構成とは、磁気ディスク装置２００中に存在する時間空間管理テーブル格納領域２００４に格納されている時間空間管理テーブル２００４０が存在する点が異なる。また、主メモリ１００中に存在する知識属性算出プログラム１００４が異なる。
本実施例における知識属性算出プログラム１００４は、前述の実施例１で説明した処理に加えて、特徴文字列抽出プログラム１００３にて更新されたインデックステーブル２００１０から、「場所」と「日付」を読み出し、時間空間管理テーブル格納領域２００４に格納されている時間空間管理テーブル２００４０を更新する処理を行う。
【００４５】
次に、本実施例における知識情報登録処理の手順について図１９を用いて説明する。本実施例における処理手順においては、図２に示す前述の実施例１の場合とステップＡ５（図１９におけるプロセス１００４０）が異なる。
以上、本実施例における知識情報登録処理の動作手順の概要である。以下では、前記ステップＡ５における詳細について図２０を用いて説明する。
ステップＡ５では、ステップＡ４（図１９におけるプロセス１００３０）で更新されたインデックステーブルを入力として知識属性算出プログラム１００４を実行する。本実施例における知識属性算出プログラム１００４は、前述の実施例１で説明した処理に加えて、インデックステーブルから「作成者」、「場所」、及び「日付」を読み出し、時間空間管理テーブル格納領域２００４に格納されている時間空間管理テーブル２００４０を更新する（時間空間属性抽出ステップ）。
このステップＡ５が、図１９におけるプロセス１００４０に相当する。ステップ１０５２からステップ１０５４、ステップ１０５６からステップ１０５８までは前述の実施例１と同一であるため言及しない。
【００４６】
ステップ１０５１では、前述の実施例１の処理に加えて、時間空間管理テーブルを更新するために、インデックスデータからコンテンツの作成者、日付、及び場所のデータを読み出す。
ステップ１０５５では、更新すべきユーザが存在するかどうかを判定する。もし、更新すべきユーザが存在する場合には、そのユーザに対し、以下に示すステップ１０５６からステップ１０５８までの処理を実行する。もし、更新すべきユーザが存在しない、あるいは、更新すべきすべてのユーザについて以下に示すステップ１０５６からステップ１０５８までの処理が終了した場合は、ステップ１０８１へ進み処理を継続する。
ステップ１０８１では、更新すべき特徴文字列が存在するかどうかを判定する。もし、更新すべき特徴文字列が存在する場合には、その特徴文字列に対し、以下に示すステップ１０８２の処理を実行する。もし、更新すべき特徴文字列が存在しない、あるいは、更新すべきすべての特徴文字列について以下に示すステップ１０８２の処理が終了した場合は、知識属性算出プログラム１００４を終了する。
以上が本実施例における知識属性算出プログラム１００４、すなわち、前記知識情報登録手段におけるステップＡ５の詳細についての説明である。
以上、本実施例における知識情報登録サブシステム１０についての説明である。
【００４７】
次に、本発明の実施例における知識情報検索サーバ１１について説明する。
本実施例におけるシステム構成を図1８に示す。図１に示す前述の実施例１および実施例２の構成とは磁気ディスク装置２００中に存在する時間空間管理テーブル格納領域２００４に格納されている時間空間管理テーブル２００４０が存在する点が異なる。また、主メモリ１００中に存在する有識度算出プログラム１０１２が異なる。
本実施例における有識度算出プログラム１０１２は、前述の実施例１で説明した処理に加えて、時間空間管理テーブル格納領域２００４に格納されている時間空間管理テーブル２００４０から「作成者」、「日付」（時間属性）、及び「場所」（空間属性）を読み出し、コンテンツの作成日付にもとづく作成者の有識度（時間有識度）、コンテンツの公開場所にもとづく作成者の有識度（空間有識度）を算出して検索結果に反映する処理を行う。
次に、本実施例における知識情報検索処理の手順について図２１を用いて説明する。本実施例における処理手順においては、図５に示す前述の実施例１の場合とステップＢ６（図２１におけるプロセス１０１２０）が異なる。
以上、本実施例における知識情報検索処理の動作手順の概要である。以下では、前述のステップＢ６における動作手順について図２１を用いて説明する。
ステップＢ６では、ステップＢ５（図２１におけるプロセス１０１１０）にて生成された条件指定を入力として、有識度算出プログラム１０１２を実行する。
本実施例における有識度算出プログラム１０１２は、前述の実施例１で説明した処理に加えて、時間空間管理テーブルに対して、該検索条件を満たすコンテンツを検索する。本実施例における有識者の有識度は、前述の実施例１で説明したプロファイルテーブル上の条件指定に対応する知識属性値を参照して算出した有識度（（Ａ）知識属性有識度）と、時間空間管理テーブル上の条件指定に対応するコンテンツの時間空間属性にもとづいて算出した（Ｂ）時間有識度、（Ｃ）空間有識度の３種類の有識度を乗算（（Ａ）×（Ｂ）×（Ｃ））することで算出する。このステップＢ６が図２１におけるプロセス１０１２０に相当する。
【００４８】
次に、本実施例におけるステップＢ６、すなわち、有識度算出ステップの詳細について説明する。図２２は、ステップＢ６の詳細、すなわち、本実施例における有識度算出プログラム１０１２の処理手順を示す図である。
本実施例では、ステップ１１６４からステップ１１６６の時間空間属性算出ステップが追加されている。また、ステップ１１６７における有識度の算出に関する処理内容が異なる。以下では各ステップの詳細について説明する。
まず、ステップ１１６１において、検索条件式解析プログラム１０１１の実行結果としてワークエリアに格納されている、有識度算出プログラム１０１２にて直接処理可能な条件指定を読み出す。検索条件式解析プログラム１０１１については、前述の実施例１と同様であるので、ここでは言及しない。
ステップ１１６２では、プロファイルテーブルから、検索条件を満たすユーザ（有識者）を抽出する。
ステップ１１６３では、ステップ１１６２で抽出された各有識者に対して、プロファイルテーブルの知識属性値から有識度（知識属性有識度）を算出する。知識属性有識度は、検索条件を満たす各特徴文字列の知識属性値の総和によって算出する。
ステップ１１６４では、時間空間管理テーブルから、検索条件を満たすデータを抽出する。
ステップ１１６５では、ステップ１１６４で抽出されたデータから、ステップ１１６２で抽出された各有識者が作成したコンテンツの時間属性を読み出し、各有識者の有識度（時間有識度）を算出する。時間有識度は、有識者の持つ知識の鮮度を表す。そのため、知識属性有識度に乗算することで、時間の経過に伴い有識度を低下させる係数として用いる。
時間有識度は、次の２ステップで算出する。
（１）各コンテンツに対して、作成から一定時間が経過するごとに加算する値の逆数を算出して、コンテンツ鮮度を算出。
（２）各有識者に対して、作成したコンテンツのコンテンツ鮮度の総和を算出して、この総和を各有識者が作成したコンテンツの総数で除算。
【００４９】
ステップ１１６６では、ステップ１１６４で抽出されたデータから、ステップ１１６２で抽出された各有識者が作成したコンテンツの空間属性を読み出し、各有識者の有識度（空間有識度）を算出する。
空間有識度は、コンテンツの公開場所・公開手段により有識者の持つ知識を重み付ける。そのため、知識属性有識度に乗算することで、公開場所・公開手段に応じて有識度を上下させる係数として用いる。
空間有識度は、次の２ステップで算出する。
（１）コンテンツの公開場所・公開手段ごとに重み値（空間有識度用重み値）を設定。
（２）各有識者に対して、作成した各コンテンツの空間有識度用重み値の総和を算出して、この総和を各有識者が作成したコンテンツの総数で除算。
ステップ１１６７では、有識者の有識度を示す値を算出してワークエリアに格納する。有識度は知識属性有識度、時間有識度、及び空間有識度の乗算によって算出する。
以上が本実施例における有識度算出プログラム１０１２、すなわち、前記知識情報検索手段におけるステップ１１６の詳細についての説明である。
以上が本実施例における知識情報検索処理の動作手順と、知識情報検索サーバ１１の説明である。
【００５０】
以上が、本実施例３の概要についての説明である。以下では、本実施例における知識情報登録および知識情報検索について、具体的な例を用いて説明する。
まず、知識情報登録サブシステム１０の処理手順に基づき、具体例を用いて説明する。
本実施例における知識情報登録の処理について、インデックステーブルの作成から知識属性テーブルの更新までは前述の実施例１と同様の処理手順である。そのため、ここでは、本実施例で追加された時間空間管理テーブルの更新に関する処理手順について、具体例を用いて説明する。
図７における５００に示すようなインデックステーブルが作成されると、知識情報登録サブシステムはステップＡ５、すなわち本実施例における知識属性算出プログラム１００４を実行することにより、知識属性テーブルと時間空間管理テーブルを更新する。
図２３における５７０は、時間空間管理テーブルの一例である。既存の時間空間管理テーブルにインデックステーブルの作成者、公開場所、及び作成日付などのコンテンツ属性を特徴文字列（時間空間管理テーブル上ではキーワードとよぶ）ごとに追加することで更新する。もし、キーワードが時間空間管理テーブルに存在しない場合には、該キーワードとそのコンテンツ属性を新規に追加する。
例として、図７における５００のインデックステーブルのコンテンツ識別子が「ｍｓｇ２７４２」のコンテンツにおける特徴文字列「Ａｐａｃｈｅ」をキーワードとした場合について説明する。
図２３における５７０の時間空間管理テーブルのキーワード「Ａｐａｃｈｅ」のデータに、コンテンツ識別子が「ｍｓｇ２７４２」のコンテンツのコンテンツ属性として「作成者」に「鈴木」、「場所」に「メールサーバ１」、「日付」に「２００６／３／３」を登録して更新する。
また、図７における５００のインデックステーブル上で更新された部分に、ＵＢＬという特徴文字列があり、図２３における５７０の時間空間管理テーブルにはＵＢＬがキーワードとして存在しなかった場合、新たにＵＢＬをキーワードとして追加し、コンテンツ識別子が「ｄｏｃ５６３７」のコンテンツのコンテンツ属性として「作成者」に「山田」、「場所」に「Ｗｅｂサーバ２」、「日付」に「２００６／２／３」を登録して更新する。
同様の処理を図７における５００の更新されたインデックスデータに存在するすべての特徴文字列（キーワード）に対して実行することで時間空間管理テーブルの更新を行う。
以降の本実施例における知識情報登録の具体的な処理は前述の実施例１と同様である。以上が、本発明の実施例３における知識情報登録の具体的な処理例である。
【００５１】
次に、知識情報検索における処理手順について説明する。本実施例における知識情報検索においては、前述の実施例１に対して有識度算出プログラム１０１２において時間空間管理テーブルの情報を用いる点が異なる。そのため、ここでは知識情報検索サーバ１１の有識度算出プログラム１０１２の処理手順について具体例を用いて説明する。
知識情報検索サーバ１１の処理手順におけるステップＢ６において有識度算出プログラム１０１２によって、有識者の有識度の算出処理を行う。
本実施例における有識度算出プログラム１０１２では、有識度の算出にプロファイルテーブルの情報に加えて時間空間管理テーブルの情報を用いる。
例えば、図２４における８００のような検索条件が入力されると、プロファイルテーブルより、すべての特徴文字列を含むユーザを検索し、例えば、「鈴木」、「佐藤」、「田中」といったユーザを抽出してワークエリアに格納する。
一方、時間空間管理テーブルより「Ａｐａｃｈｅ」、「ＳＯＡ」、「ＥＳＢ」の各特徴文字列に該当するキーワードを検索し、該当するデータを抽出してワークエリアに格納する。これらの抽出した情報をもとに有識度を算出する。
ここでは、ユーザ「鈴木」が有識者としてプロファイルテーブルから抽出された場合を例として、キーワード「Ａｐａｃｈｅ」に関して有識度算出プログラムの具体的な処理について説明する。
時間空間管理テーブルから抽出したキーワード「Ａｐａｃｈｅ」のデータのコンテンツ属性情報には作成者「鈴木」、場所「メールサーバ１」、日付「２００６／３／３」が存在する。該コンテンツ属性をもとに作成者「鈴木」の時間有識度、空間有識度を算出する。
【００５２】
まず、日付属性をもとに時間有識度を算出する。なお、本具体例では年単位でコンテンツ鮮度を算出する。例えば、該コンテンツのコンテンツ属性における日付情報は「２００６／３／３」である。現在を２００７年とした場合、２００６年作成のコンテンツは２年目のデータであるため１／２となる。同様に２００５年であれば３年目のコンテンツであるため１／３となる。該検索条件に該当する各キーワードについて、「鈴木」が作成した全てのコンテンツの鮮度を算出して、その総和を得る。この総和を各有識者が作成した、該キーワードをもつコンテンツの総数で除算する。例えば、「鈴木」が２年目のコンテンツと３年目のコンテンツの、２コンテンツを作成していた場合、（１／２＋１／３）÷２＝０．４２が時間有識度の値となる。
次に、場所属性をもとに空間有識度を算出する。空間有識度は、予めコンテンツの公開場所ごとに重み付けを行っておき、その値（空間有識度用重み値）を用いて算出する。
例えば、空間有識度用重み値として、「Ｗｅｂサーバ１」を１、「メールサーバ１」を０．５と設定した場合、該コンテンツ属性では、キーワード「Ａｐａｃｈｅ」、作成者「鈴木」のコンテンツが「メールサーバ１」で公開されているため、「メールサーバ１」の０．５が、そのコンテンツの公開場所にもとづく重み値となる。
この算出処理を各有識者が作成した、該キーワードをもつ全てのコンテンツに対して行い総和を得る。この総和を各有識者が作成した、該キーワードをもつコンテンツの総数で除算する。例えば、「鈴木」が「メールサーバ１」と「Ｗｅｂサーバ１」で、それぞれ１つのコンテンツを公開していた場合、（０．５＋１）÷２＝０．７５が空間有識度の値となる。
【００５３】
実行後、抽出された各ユーザの知識属性有識度の値（例えば、「Ａｐａｃｈｅ」、「ＳＯＡ」、「ＥＳＢ」の各特徴文字列における知識属性値の総和）に時間有識度と空間有識度の値を乗算して有識度の値を得る。例えば、「鈴木」の知識属性有識度が１００である場合、１００×０．４２×０．７５＝３１．５が有識度の値となる。この有識度の値を降順にソートし、検索結果データ集合として要求元の知識情報検索クライアントに返送する。
以降の本実施例における知識情報検索の具体的な処理は前述の実施例１と同様である。以上が本実施例１における知識情報検索の具体的な処理例である
以上説明したように、Ｋｎｏｗ−Ｗｈｏ検索を行う場合においては、ユーザは、本実施例の方式にて作成されたプロファイルデータを検索する仕組みを利用するだけで、所望の知識を保有する人物を検索することが可能となり、その結果表示においては所望の知識の有識度という数値で表現されるため、どの人物がより所望の知識を保有しているかを知ることが可能となる。
また、本実施例を適用することにより、通常の文書検索においても、作成した人物の当該知識の有識度を参照することにより、どの程度信頼できる文書であるかを表示することが可能となり、文書の信頼性を図る指標として利用することができる。
以上、本発明者によってなされた発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【図面の簡単な説明】
【００５４】
【図１】本発明の実施例１の知識情報検索システムのシステム全体構成を示す図である。
【図２】本発明の実施例１の知識情報登録サーバの概略手順を示すＤＦＤ図である。
【図３】本発明の実施例１の知識属性算出アルゴリズムを示す図である。
【図４】本発明の実施例１におけるプロファイル作成アルゴリズムを示す図である。
【図５】本発明の実施例１の知識情報検索サーバおよび知識情報検索クライアントの概略手順を示すＤＦＤ図である。
【図６】本発明の実施例１の知識情報登録に用いるコンテンツの具体例を示す図である。
【図７】本発明の実施例１のインデックステーブルの一例を示す図である。
【図８】本発明の実施例１のコンテンツ全体における知識属性テーブルの一例を示す図である。
【図９】本発明の実施例１における、ユーザ毎の知識属性テーブルの一例を示す図である。
【図１０】本発明の実施例１における、ユーザ毎のプロファイルテーブルの一例を示す図である。
【図１１】本発明の実施例１の検索リクエストの一例を示す図である。
【図１２】本発明の実施例１の知識情報検索処理を利用したコンテンツ検索の検索結果画面の一例を示す図である。
【図１３】本発明の実施例２の知識属性算出アルゴリズムを示す図である。
【図１４】本発明の実施例２のプロファイル作成アルゴリズムを示す図である。
【図１５】本発明の実施例２のコンテンツ再利用者の知識属性テーブルの例を示す図である。
【図１６】本発明の実施例２のコンテンツ元作成者の知識属性テーブルの例を示す図である。
【図１７】本発明の実施例２のコンテンツ元作成者のプロファイルテーブルの例を示す図である。
【図１８】本発明の実施例３の知識情報検索システムのシステム全体構成を示す図である。
【図１９】本発明の実施例３の知識情報登録サーバの概略手順を示すＤＦＤ図である。
【図２０】本発明の実施例３の知識属性算出アルゴリズムを示す図である。
【図２１】本発明の実施例３の知識情報検索サーバの概略手順を示すＤＦＤ図である。
【図２２】本発明の実施例３の有識度算出アルゴリズムを示す図である。
【図２３】本発明の実施例３の時間空間管理テーブルの例を示す図である。
【図２４】本発明の実施例３の検索リクエストの一例である。
【符号の説明】
【００５５】
１０  知識情報登録サブシステム
１１  知識情報検索サーバ
１２  メールサーバ
１３  Ｗｅｂサーバ
１４  コンテンツ受信サーバ
２０  知識情報検索クライアント
２１  メールクライアント
２２  Ｗｅｂクライアント
２３  コンテンツ配信クライアント
１００  主メモリ
１５０  ディスプレイ
１６０  入力装置
１７０  通信制御装置
１８０  ネットワーク
２００  磁気ディスク装置
１００１  システム制御プログラム
１００２  知識情報登録制御プログラム
１００３  特徴文字列抽出プログラム
１００４  知識属性算出プログラム
１００５  プロファイル作成プログラム
１０１０  知識情報検索制御プログラム
１０１１  検索条件式解析プログラム
１０１２  有識度算出プログラム
１０１３  検索結果取得プログラム
１０２０  知識情報検索入出力制御プログラム
１０２１  検索条件入力プログラム
１０２２  検索結果表示プログラム
２００１  インデックスファイル格納領域
２００２  知識属性テーブル格納領域
２００３  プロファイルテーブル格納領域
２００４  時間空間管理テーブル格納領域
２０２０  検索結果データ格納領域
【図１】
2008234290.tif 000003
【図２】
2008234290.tif 000004
【図３】
2008234290.tif 000005
【図４】
2008234290.tif 000006
【図５】
2008234290.tif 000007
【図６】
2008234290.tif 000008
【図７】
2008234290.tif 000009
【図８】
2008234290.tif 000010
【図９】
2008234290.tif 000011
【図１０】
2008234290.tif 000012
【図１１】
2008234290.tif 000013
【図１２】
2008234290.tif 000014
【図１３】
2008234290.tif 000015
【図１４】
2008234290.tif 000016
【図１５】
2008234290.tif 000017
【図１６】
2008234290.tif 000018
【図１７】
2008234290.tif 000019
【図１８】
2008234290.tif 000020
【図１９】
2008234290.tif 000021
【図２０】
2008234290.tif 000022
【図２１】
2008234290.tif 000023
【図２２】
2008234290.tif 000024
【図２３】
2008234290.tif 000025
【図２４】
2008234290.tif 000026