(57)【要約】【課題】クラスの属性を継承し得る補完クラスを作成し、高精度のノウフウ、ノウハウの確認を可能とするタクソノミ補完方法を提供する。【解決手段】特定のクラスの特定のフレーズが、当該特定のクラスの名前属性を継承し得るか否かを判定し、当該特定のフレーズが当該特定のクラスの名前属性を継承し得る場合に、当該特定のフレーズを名前属性とする子クラスを当該特定のクラスの子クラスとして補完することにより、専門家が作成し得る程度のタクソノミをまず構築し、それを利用して、クラスの属性を継承し得る補完クラスを正確に作成することができ、この正確な補完クラスを閲覧することで、高精度のノウフウ、ノウハウを取得することができる。【選択図】図１６
2010108091.tif 000002
【特許請求の範囲】
【請求項１】
親クラスの性質を継承する子クラスを当該親クラスに属する子クラスとして設定すると共に、子クラスには、親クラスに共通する名前属性を付与することでタクソノミを構築し、所定期間の同一スレッドに関する電子メールの集合をメールセットとし、特定のメールセットの記事内の記述にタクソノミ上の特定のクラスの名前属性がある場合に、当該特定のメールセットを当該特定のクラスに分類するようにして全メールセットをタクソノミに分類し、特定のクラスの特定のフレーズが、当該特定のクラスの名前属性を継承し得るか否かを判定し、当該特定のフレーズが当該特定のクラスの名前属性を継承し得る場合に、当該特定のフレーズを名前属性とする子クラスを当該特定のクラスの子クラスとして補完することを特徴とするタクソノミ補完方法。
【請求項２】
前記特定のクラスの特定のフレーズが、当該特定のクラスの記事数と同等の記事数で且つ当該特定のクラスの親クラスに属する他のクラスにも出現する頻度を算出し、他のクラスを変えながら所定回数繰り返して算出された出現頻度の平均値が閾値以上である場合に、当該特定のフレーズを名前属性とする関連クラスを前記特定のクラスの子クラスとして補完することを特徴とする請求項１に記載のタクソノミ補完方法。
【請求項３】
１つの親クラスに属する２つの異なる子クラスを前記特定のクラスとし、その２つの異なる子クラスの夫々のメールセットの関連度を算出し、その関連度が、前記１つの親クラスに属する全比較対象クラスの中で所定上位以内の場合に、前記２つの異なる子クラスの共通メールセットからなる融合クラスを、当該２つの異なる子クラスに属する共通子クラスとして補完することを特徴とする請求項１に記載のタクソノミ補完方法。
【請求項４】
親クラスの性質を継承する子クラスを当該親クラスに属する子クラスとして設定すると共に、子クラスには、親クラスに共通する名前属性を付与することでタクソノミを構築し、所定期間の同一スレッドに関する電子メールの集合をメールセットとし、特定のメールセットの記事内の記述にタクソノミ上の特定のクラスの名前属性がある場合に、当該特定のメールセットを当該特定のクラスに分類するようにして全メールセットをタクソノミに分類し、特定のクラスの特定のフレーズが、当該特定のクラスの名前属性を継承し得るか否かを判定し、当該特定のフレーズが当該特定のクラスの名前属性を継承し得る場合に、当該特定のフレーズを名前属性とする子クラスを当該特定のクラスの子クラスとして補完し、補完された子クラスの名前属性を頻繁に記述した電子メールのユーザを、当該名前属性に詳しいユーザであると分析することを特徴とするノウフウ分析方法。
【請求項５】
親クラスの性質を継承する子クラスを当該親クラスに属する子クラスとして設定すると共に、子クラスには、親クラスに共通する名前属性を付与することでタクソノミを構築し、所定期間の同一スレッドに関する電子メールの集合をメールセットとし、特定のメールセットの記事内の記述にタクソノミ上の特定のクラスの名前属性がある場合に、当該特定のメールセットを当該特定のクラスに分類するようにして全メールセットをタクソノミに分類し、特定のクラスの特定のフレーズが、当該特定のクラスの名前属性を継承し得るか否かを判定し、当該特定のフレーズが当該特定のクラスの名前属性を継承し得る場合に、当該特定のフレーズを名前属性とする子クラスを当該特定のクラスの子クラスとして補完し、補完された子クラスのメールセットを閲覧することで当該子クラスに関するノウハウを取得することを特徴とするノウハウ分析方法。
【請求項６】
親クラスの性質を継承する子クラスを当該親クラスに属する子クラスとして設定すると共に、子クラスには、親クラスに共通する名前属性を付与することで予め構築されたタクソノミに対し、所定期間の同一スレッドに関する電子メールの集合をメールセットとし、特定のメールセットの記事内の記述にタクソノミ上の特定のクラスの名前属性がある場合に、当該特定のメールセットを当該特定のクラスに分類するようにして全メールセットをタクソノミに分類するステップと、
特定のクラスの特定のフレーズが、当該特定のクラスの名前属性を継承し得るか否かを判定し、当該特定のフレーズが当該特定のクラスの名前属性を継承し得る場合に、当該特定のフレーズを名前属性とする子クラスを当該特定のクラスの子クラスとして補完するステップと
を有する処理をコンピュータに実行させることを特徴とするタクソノミ補完プログラム。
【請求項７】
親クラスの性質を継承する子クラスを当該親クラスに属する子クラスとして設定すると共に、子クラスには、親クラスに共通する名前属性を付与することで予め構築されたタクソノミに対し、所定期間の同一スレッドに関する電子メールの集合をメールセットとし、特定のメールセットの記事内の記述にタクソノミ上の特定のクラスの名前属性がある場合に、当該特定のメールセットを当該特定のクラスに分類するようにして全メールセットをタクソノミに分類するステップと、
特定のクラスの特定のフレーズが、当該特定のクラスの名前属性を継承し得るか否かを判定し、当該特定のフレーズが当該特定のクラスの名前属性を継承し得る場合に、当該特定のフレーズを名前属性とする子クラスを当該特定のクラスの子クラスとして補完するステップと
を有する処理をコンピュータに実行させるプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タクソノミ補完方法、ノウフウ分析方法、ノウハウ分析方法、タクソノミ補完プログラム及びプログラムを記憶した記憶媒体に関するものであり、特に予め構築されたタクソノミのクラスを自動的に補完するのに好適なものである。
【背景技術】
【０００２】
ネットワークサービスや金融サービスを提供するシステムなど、システムを開発する際には、複数の部署に属する多数の技術者が、自身が担当するシステム構成プロダクトの仕様設計からコーディング、試験までの開発業務を、他構成プロダクトの技術者と連携しながら実施することが多い。開発業務に携わる技術者のソーシャルネットワーク上でのやりとりを通じて得られる、各プロダクトに対するシステム開発業務に詳しいユーザ（ノウフウ：know-who）や、開発業務の方法論（ノウハウ：know-how）は、現在のシステム開発に必要とされるだけではなく、今後のシステムの更新や運用時にも必要とされることが多い重要な知識である。
【０００３】
一方、ノウフウやノウハウを形式知として表現し構築することは、不慣れなユーザにとっては手間のかかる作業であるから、後回しにされることも多い。そうした場合、ノウフウやノウハウは、開発に関わった技術者自身が暗黙知として保持することになるのであるが、同じ技術者が同じ部署や開発に長期間関与できないことも多く、結果、ノウフウやノウハウが失われ、新たに別の技術者が１から知識を学習し直す必要が発生する。そこで、技術者が短時間で構築できる程度の小規模なタクソノミを始めに用意し、このタクソノミを補完して、ノウフウやノウハウの分析に用いることが考えられる。タクソノミとは、ドメイン毎の専門家が構築する、そのドメインの情報を網羅的に分類する概念（クラス）階層として定義される。
【０００４】
このようなタクソノミの補完に関する研究として、下記非特許文献１に記載される従来技術としては、ＬＳＡ（Latent Semantec Analysis）を利用して、文書集合から、オントロジ内のインスタンス（実体）に関連するキーフレーズを抽出し、そのキーフレーズをインスタンスとして持つ新たなクラスをオントロジ内に生成する。また、下記非特許文献２に記載される従来技術としては、ブログを対象として、サービスプロバイダの構築するコンテンツのタクソノミに対し、ブログ記事を分類することで、ユーザの興味をタクソノミに沿って抽出し、９５％以上の適合率を確認している。このような音楽ドメインのコンテンツのタクソノミなど、コンテンツのタクソノミは現在比較的多数存在している。
【非特許文献１】Gliozzo, A.~M., Gangemi, A., Presutti, V., Cardillo, E., Dage, E., Salvati, A. and Troiani, G.: A Collaborative Semantec Web Layer to Enhance Legacy Systems,ISWC/ASWC, pp. 764--777(2007)
【非特許文献２】Nakatsuji, M., Miyoshi, Y. and Otsuka, Y.,: Innovation Detection Based on User-Interest Ontology of Blog Community., ISWC, pp 515--528(2006)
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、前記非特許文献１に記載される従来技術では、タクソノミを考慮した関連フレーズの抽出を試みておらず、ノウフウやノウハウ抽出への試みも行わない。また、前記非特許文献２に記載される従来技術では、暗黙知に関するタクソノミは存在していないため、暗黙知解析においては、タクソノミを構築する手間が大きな問題となっている。また、非特許文献１に記載される従来技術でタクソノミを補完し、非特許文献２に記載される従来技術でタクソノミに沿ってユーザ興味やユーザナレッジを抽出することはできる。しかしながら、非特許文献１に記載される従来技術が、タクソノミを利用したタクソノミ補完ではないため、親クラスの性質を継承した補完クラスを生成することができず、結果として、抽出されるユーザのナレッジやクラスに分類される記事から得られるノウハウの精度が低い。
【０００６】
本発明は、これらの諸問題に着目して開発されたものであり、専門家が作成し得る程度のタクソノミをまず構築し、それを利用して、電子メールを基にタクソノミの自動補完を行うことで、クラスの属性を継承し得る補完クラスを作成し、高精度のノウフウ、ノウハウの確認を可能とするタクソノミ補完方法、ノウフウ分析方法、ノウハウ分析方法、タクソノミ補完プログラム及びプログラムを記憶した記憶媒体を提供することを目的とするものである。
【課題を解決するための手段】
【０００７】
上記諸問題を解決するため、本発明のタクソノミ補完方法は、親クラスの性質を継承する子クラスを当該親クラスに属する子クラスとして設定すると共に、子クラスには、親クラスに共通する名前属性を付与することでタクソノミを構築し、所定期間の同一スレッドに関する電子メールの集合をメールセットとし、特定のメールセットの記事内の記述にタクソノミ上の特定のクラスの名前属性がある場合に、当該特定のメールセットを当該特定のクラスに分類するようにして全メールセットをタクソノミに分類し、特定のクラスの特定のフレーズが、当該特定のクラスの名前属性を継承し得るか否かを判定し、当該特定のフレーズが当該特定のクラスの名前属性を継承し得る場合に、当該特定のフレーズを名前属性とする子クラスを当該特定のクラスの子クラスとして補完することを特徴とするものである。
【０００８】
また、本発明のタクソノミ補完方法は、前記特定のクラスの特定のフレーズが、当該特定のクラスの記事数と同等の記事数で且つ当該特定のクラスの親クラスに属する他のクラスにも出現する頻度を算出し、他のクラスを変えながら所定回数繰り返して算出された出現頻度の平均値が閾値以上である場合に、当該特定のフレーズを名前属性とする関連クラスを前記特定のクラスの子クラスとして補完することを特徴とするものである。
【０００９】
また、本発明のタクソノミ補完方法は、１つの親クラスに属する２つの異なる子クラスを前記特定のクラスとし、その２つの異なる子クラスの夫々のメールセットの関連度を算出し、その関連度が、前記１つの親クラスに属する全比較対象クラスの中で所定上位以内の場合に、前記２つの異なる子クラスの共通メールセットからなる融合クラスを、当該２つの異なる子クラスに属する共通子クラスとして補完することを特徴とするものである。
【００１０】
また、本発明のノウフウ分析方法は、親クラスの性質を継承する子クラスを当該親クラスに属する子クラスとして設定すると共に、子クラスには、親クラスに共通する名前属性を付与することでタクソノミを構築し、所定期間の同一スレッドに関する電子メールの集合をメールセットとし、特定のメールセットの記事内の記述にタクソノミ上の特定のクラスの名前属性がある場合に、当該特定のメールセットを当該特定のクラスに分類するようにして全メールセットをタクソノミに分類し、特定のクラスの特定のフレーズが、当該特定のクラスの名前属性を継承し得るか否かを判定し、当該特定のフレーズが当該特定のクラスの名前属性を継承し得る場合に、当該特定のフレーズを名前属性とする子クラスを当該特定のクラスの子クラスとして補完し、補完された子クラスの名前属性を頻繁に記述した電子メールのユーザを、当該名前属性に詳しいユーザであると分析することを特徴とするものである。
【００１１】
また、本発明のノウハウ分析方法は、親クラスの性質を継承する子クラスを当該親クラスに属する子クラスとして設定すると共に、子クラスには、親クラスに共通する名前属性を付与することでタクソノミを構築し、所定期間の同一スレッドに関する電子メールの集合をメールセットとし、特定のメールセットの記事内の記述にタクソノミ上の特定のクラスの名前属性がある場合に、当該特定のメールセットを当該特定のクラスに分類するようにして全メールセットをタクソノミに分類し、特定のクラスの特定のフレーズが、当該特定のクラスの名前属性を継承し得るか否かを判定し、当該特定のフレーズが当該特定のクラスの名前属性を継承し得る場合に、当該特定のフレーズを名前属性とする子クラスを当該特定のクラスの子クラスとして補完し、補完された子クラスのメールセットを閲覧することで当該子クラスに関するノウハウを取得することを特徴とするものである。
【００１２】
また、本発明のタクソノミ補完プログラムは、親クラスの性質を継承する子クラスを当該親クラスに属する子クラスとして設定すると共に、子クラスには、親クラスに共通する名前属性を付与することで予め構築されたタクソノミに対し、所定期間の同一スレッドに関する電子メールの集合をメールセットとし、特定のメールセットの記事内の記述にタクソノミ上の特定のクラスの名前属性がある場合に、当該特定のメールセットを当該特定のクラスに分類するようにして全メールセットをタクソノミに分類するステップと、特定のクラスの特定のフレーズが、当該特定のクラスの名前属性を継承し得るか否かを判定し、当該特定のフレーズが当該特定のクラスの名前属性を継承し得る場合に、当該特定のフレーズを名前属性とする子クラスを当該特定のクラスの子クラスとして補完するステップとを有する処理をコンピュータに実行させることを特徴とするものである。
【００１３】
また、本発明の記憶媒体は、親クラスの性質を継承する子クラスを当該親クラスに属する子クラスとして設定すると共に、子クラスには、親クラスに共通する名前属性を付与することで予め構築されたタクソノミに対し、所定期間の同一スレッドに関する電子メールの集合をメールセットとし、特定のメールセットの記事内の記述にタクソノミ上の特定のクラスの名前属性がある場合に、当該特定のメールセットを当該特定のクラスに分類するようにして全メールセットをタクソノミに分類するステップと、特定のクラスの特定のフレーズが、当該特定のクラスの名前属性を継承し得るか否かを判定し、当該特定のフレーズが当該特定のクラスの名前属性を継承し得る場合に、当該特定のフレーズを名前属性とする子クラスを当該特定のクラスの子クラスとして補完するステップとを有する処理をコンピュータに実行させるプログラムを記憶したものである。
【発明の効果】
【００１４】
本発明によれば、特定のクラスの特定のフレーズが、当該特定のクラスの名前属性を継承し得るか否かを判定し、当該特定のフレーズが当該特定のクラスの名前属性を継承し得る場合に、当該特定のフレーズを名前属性とする子クラスを当該特定のクラスの子クラスとして補完することにより、専門家が作成し得る程度のタクソノミをまず構築し、それを利用して、クラスの属性を継承し得る補完クラスを作成することができ、これにより高精度のノウフウ、ノウハウの確認が可能となる。特に、特定のクラスの特定のフレーズの出現頻度の平均値が閾値以上である場合に、当該特定のフレーズを名前属性とする関連クラスを特定のクラスの子クラスとして補完したり、２つの異なる子クラスの夫々のメールセットの関連度が、親クラスに属する全比較対象クラスの中で所定上位以内の場合に、当該２つの異なる子クラスの共通メールセットからなる融合クラスを、当該２つの異なる子クラスに属する共通子クラスとして補完したりすることで、クラスの属性を継承する補完クラスを正確に作成することができ、この正確な補完クラスを閲覧することで、高精度のノウフウ、ノウハウを確認することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明のタクソノミ補完方法、ノウフウ分析方法、ノウハウ分析方法を、ネットワークシステム開発のためのソーシャルネットワークに適用した実施形態について、図面を参照しながら説明する。
図１は、本実施形態のソーシャルネットワークを示すシステムの概略構成のブロック図である。図１において、端末２〜４及びサーバ５が通信網１を介して接続されている。また、サーバ５にも、夫々、端末７〜９が接続されている。なお、通信網１としては、例えば、ＩＰ通信を行う公衆通信網を用いることができ、インターネットであってもよい。また、企業間の専用通信網であっても、公衆通信網であってもよいが、高信頼性とセキュリティを備えた専用通信を提供できるＩＰ−ＶＰＮ（Internet Protocol-Virtual Private Network）のような網であってもよい。また、端末２〜４、７〜９としては、ノート型パーソナルコンピュータ或いはデスクトップ型パーソナルコンピュータでもよく、携帯電話端末やＰＤＡ（Personal Data Assistant）なども使用可能である。また、サーバ５は、各種のサービスプロバイダ上に設置することができる。また、サーバ５も、各端末２〜４と同様に、各種のコンピュータシステムで構築される。
【００１６】
図２は、各端末２〜４、７〜９或いはサーバ５内のコンピュータシステムのハードウエアの概略構成図であり、記憶媒体に記憶されたプログラムに基づいて、本発明のタクソノミ補完方法、ノウフウ分析方法、ノウハウ分析方法を実行するためのシステムである。このコンピュータシステムのハードウエアは、各種制御や演算処理を担う中央演算処理装置であるＣＰＵ（Central Processing Unit）６０と、主記憶装置（Main Storage）を構成するＲＡＭ（Random Access Memory）６２と、読出し専用の記憶装置であるＲＯＭ(Read Only Memory)６４との間をＰＣＩ（Peripheral Component Interconnect）バスやＩＳＡ（Industrial Standard Architecture）バス等からなる各種内外バス６８で接続すると共に、このバス６８に入出力インターフェース（Ｉ／Ｆ）６６を介して、ＨＤＤ等の外部記憶装置（Secondary Storage）７０や、印刷部、ＣＲＴ、ＬＣＤモニター等の出力装置７２、操作パネルやマウス、キーボード、スキャナ等の入力装置７４、及び通信網１に接続するためのネットワークケーブルＬ等を接続したものである。
【００１７】
そして、電源を投入すると、ＲＯＭ６４等に記憶されたＢＩＯＳ等のシステムプログラムが、ＲＯＭ６４に予め記憶された各種専用のコンピュータプログラムをＲＡＭ６２にロードし、ＲＡＭ６２にロードされたプログラムに記述された命令に従ってＣＰＵ６０が各種リソースを駆使して所定の制御及び演算処理を行うことで、後述する各機能をソフトウエア上で実現するようになっている。
【００１８】
次に、実際には、プログラムに従った演算処理によって何れかのコンピュータシステム内で構築されるタクソノミ補完方法、ノウフウ分析方法、ノウハウ分析方法の概略構成について、図３のブロック図を用いて説明する。このタクソノミ補完方法、ノウフウ分析方法、ノウハウ分析方法は、ネットワークシステム開発のための技術者の専門家が、電子メールに記述されるであろう記事の小規模なタクソノミを構築する。ソフトウエアで構築される記事分類部は、この小規模なタクソノミの一部を取得すると共に、技術者間で情報交換に用いられるメーリングリスト（ＭＬ）上のトピックと取得したタクソノミ上のトピックとの関連性を計算し、関連トピックによってタクソノミを補完しながら、メーリングリストの記事をタクソノミのクラスに分類すると共に、ユーザＩＤが付与される。このタクソノミ上のクラスに分類されたユーザの記事とユーザＩＤから、ナレッジ抽出部１２が、タクソノミに沿ったユーザのナレッジを抽出し、そのユーザのナレッジから、ナレッジ類似度計算部１３が、ユーザ間の類似度を算出し、そのユーザ間の類似度から、ユーザ間関係解析部１４が、タクソノミによって意味づけされたユーザ間の関係を解析する。
【００１９】
次に、前記図３のタクソノミ補完方法、ノウフウ分析方法、ノウハウ分析方法を達成する演算処理の第１実施形態として、図４のフローチャートについて説明する。
この演算処理は、まずステップＳ１０１０で、後述する図５の演算処理を行うことにより、メーリングリスト上の記事及び構築されたタクソノミの一部を入力し、それらの記事をタクソノミ上のクラスに分類し、その分類されたユーザ記事及びユーザＩＤを出力する。
【００２０】
次に、ステップＳ１０２０で、タクソノミ上のクラスに分類されたユーザ記事並びにユーザＩＤを用い、後述のようにしてユーザナレッジをタクソノミに沿って抽出する。
次に、ステップＳ１０３０で、タクソノミに沿って抽出されたユーザナレッジを用い、後述のようにして、タクソノミを考慮しながらユーザナレッジの類似度を計算する。
次に、ステップＳ１０４０で、タクソノミに沿ったユーザのナレッジ並びにユーザ間の類似度を用い、後述のようにして、タクソノミを参照してユーザ間の関係を意味づけ、タクソノミによって意味づけされたユーザ間の関係を出力する。
【００２１】
次に、前記ステップＳ１０１０で行われる図５の演算処理について説明する。この演算処理は、まずステップＳ２０１０で、後述するようにして、メーリングリスト上の記事及び構築されたタクソノミの一部を入力し、それらの記事をタクソノミ上のクラスに分類し、その分類されたユーザ記事及びユーザＩＤを出力する。
次に、ステップＳ２０２０で、後述する図６、図７の演算処理を行うことにより、タクソノミ上のクラスに対し、その性質を継承する子クラスを自動生成したり、別のタクソノミ上のクラスとの関係を解析し、両者の性質を併せ持つ融合クラスを生成し、タクソノミ上のクラスの子クラスとして自動生成したりすることで、タクソノミの補完を行う。
【００２２】
次に、ステップＳ２０３０で、補完されたタクソノミのクラスをも含めて、後述するようにして、メーリングリスト上の記事及び構築されたタクソノミの一部を入力し、それらの記事をタクソノミ上のクラスに分類し、その分類されたユーザ記事及びユーザＩＤを出力する。
次に、前記ステップＳ２０２０で行われる図６の演算処理について説明する。この演算処理は、Ｓ３０１０で、後述する図８の演算処理を行うことにより、タクソノミ上のクラスに対し、その性質を継承する子クラスを自動生成する。
【００２３】
次に、前記ステップＳ２０２０で行われる図７の演算処理について説明する。この演算処理は、Ｓ３０２０で、後述する図１０の演算処理を行うことにより、異なるタクソノミ上のクラス間の関係を解析し、両者の性質を併せ持つ融合クラスを生成し、それを各タクソノミ上のクラスの子クラスとして自動生成する。
次に、前記ステップＳ３０１０で行われる図８の演算処理について説明する。この演算処理は、まずステップＳ４０１０で、ユーザによってホップ数（図ではHop数）を設定してもらう。ホップ数とは、フィルタ対象クラス（補完クラスを設定しようとするクラス）から隣接クラスまでの間に、タクソノミ上に存在するクラス数を意味する。特定のクラスＣｉがクラス階層として別のクラスＣｊに近いことは、タクソノミの性質上意味的にも近いことを意味し、この意味的近さを制御するパラメータとしてホップ数を用いる。
【００２４】
次に、ステップＳ４０２０で、設定されたホップ数内で、メーリングリストから重要フレーズ集合Ｋを抽出する。この抽出には、専門分野ごとに用意されるコーパス（電子化テキスト）から専門用語となりうるフレーズを自動抽出する研究で開発されたtermEX（http://gensen.dl.itc.u-tokyo.ac.jp/win.html）を用いることができる。termEXは、ある単名詞が符号名詞を形成する際の隣接名詞の頻度を用いて専門用語を抽出するものである。これにより、後述するように開発プロジェクトの技術者が、抽出されたフレーズの中で開発プロジェクトに関し重要なトピックとなりうるフレーズ集合Ｋを抽出する。
【００２５】
次に、ステップＳ４０３０で、重要フレーズ集合Ｋから１つの重要フレーズＫｌをランダムに選択する。
次に、ステップＳ４０４０で、親子関係を保持したリストＣにタクソノミ上のクラスを保持し、リストＣから、ある（特定の）クラスＣｉをランダムに選択する。各クラスは、１つの親クラスを持つ。なお、ルートクラスは、その旨を明示する。
【００２６】
次に、ステップＳ４０５０で、後述する図９の演算処理を行うことにより、特定のクラスＣｉの属性（性質）を重要フレーズＫｌが継承し得るかチェックし、重要フレーズＫｌが特定のクラスＣｉの属性を継承し得る場合には、当該重要フレーズＫｌをクラス名（属性でもある）とするクラスＣｒを作成し、そのクラスＣｒを特定のクラスＣｉの子クラス（関連クラスとも称する）とする。
【００２７】
次に、ステップＳ４０６０で、フレーズ集合Ｋ内の全てのフレーズＫｌについてチェックしたか否かを判定し、フレーズ集合Ｋ内の全てのフレーズＫｌについてチェックした場合にはステップＳ４０７０に移行し、そうでない場合にはステップＳ４０３０に移行する。
ステップＳ４０７０では、リストＣ内の全てのクラスＣｉについてチェックしたか否かを判定し、リストＣ内の全てのクラスＣｉについてチェックした場合には復帰し、そうでない場合にはステップＳ４０４０に移行する。なお、親クラスを除く。また、概念（クラス）の粒度が粗すぎると考えられる場合は、第１階層、第２階層などの、階層の浅いクラスに補完クラスを加えないようにするため、それらの階層の子クラスを除いてもよい。
【００２８】
次に、前記ステップＳ４０５０で行われる図９の演算処理について説明する。この演算処理は、まずステップＳ５０１０で、ユーザに設定されたホップ数を越えるクラスを、特定のクラスＣｉの隣接クラスとして、当該特定のクラスＣｉと同程度の記事数を持つクラス集合Ｇをリスト化する。
次に、ステップＳ５０２０で、クラス集合Ｇ内の、特定のクラスＣｉと異なるクラスＣｊを１つ選択する。記事数を同程度としたのは、記事数を多く持つクラスほど、意味的成生度が粗くなると予測され、重要フレーズＫｌの出現頻度が特定のクラスＣｉより多くなる傾向にあり、比較対象としてふさわしくないためである。
【００２９】
次に、ステップＳ５０３０で、特定のクラスＣｉに分類されたメールセットＳ（Ｃｉ）における重要フレーズＫｌの出現頻度│Ｋｌ∈Ｓ（Ｃｉ）│を算出すると共に、異なるクラスＣｊに分類されたメールセットＳ（Ｃｊ）における重要フレーズＫｌの出現頻度│Ｋｌ∈Ｓ（Ｃｊ）│を算出し、それらの出現頻度を用いて、下記１式に従って、出現頻度スコアＵ（Ｋｌ）を算出する。
【００３０】
【数１】
2010108091.tif 000003
【００３１】
次に、ステップＳ５０４０で、異なるクラスＣｊをクラス集合Ｇ内で変えながら、予め設定されたヒューリスティック（経験値的）な試行回数Ｘ回、ステップＳ５０２０、Ｓ５０３０を繰り返し、出現頻度スコアＵ（Ｋｌ）を算出する。
次に、ステップＳ５０５０で、試行回数Ｘ回の出現頻度スコアＵ（Ｋｌ）の平均値をＵ（Ｋｌ）ａ算出する。
【００３２】
次に、ステップＳ５０６０で、算出された出現頻度スコア平均値Ｕ（Ｋｌ）ａがヒューリスティックな閾値α以上であるか否かを判定し、出現頻度スコア平均値Ｕ（Ｋｌ）ａが閾値α以上である場合にはステップＳ５０７０に移行し、そうでない場合にはステップＳ５０８０に移行する。
ステップＳ５０７０では、重要フレーズＫｌが特定のクラスＣｉの属性（性質）を継承し得るとして「Ｔｒｕｅ」とする。
【００３３】
ステップＳ５０８０では、重要フレーズＫｌが特定のクラスＣｉの属性（性質）を継承し得ないとして「Ｆａｌｓｅ」とする。
異なるクラスＣｊがクラス階層として特定のクラスＣｉに近いほど、つまり意味的に近いほど、各クラスにより特徴的なフレーズが抽出されるが、その数が少なくなると言える。従って、ホップ数は、この特定のクラスＣｉと異なるクラスＣｊのタクソノミ上での距離の調整パラメータとなる。なお、試行回数Ｘが多くなるほど、各クラスに特徴的なフレーズがメールセットに残るが、残るフレーズ数は少なくなる。
【００３４】
次に、前記ステップＳ３０２０で行われる図１０の演算処理について説明する。この演算処理は、まずステップＳ６０１０で、親子関係を保持した２つのリストＣ１、Ｃ２の夫々に、異なる２つのタクソノミ上のクラスを保持し、リストＣ１、つまりある（特定の）タクソノミからある（特定の）クラスＣｉをランダムに選択する。各クラスは、１つの親クラスを持つ。ルートクラスは、その旨を明示する。
【００３５】
次に、ステップＳ６０２０で、クラスＣ２、つまり異なるタクソノミから異なるクラス（特定のクラスでもある）Ｃｊをランダムに選択する。
次に、ステップＳ６０３０で、特定のクラスＣｉ及び異なるクラスＣｊの夫々に分類されたメールセットＳ（Ｃｉ）、Ｓ（Ｃｊ）に対し、simpson係数（Rasmussen, E. m.,: Clustering Algorithms, Information Retieval : Data Structures & Algorithms, pp. 419--442(1992)）に基づく関連度Ｒを下記２式に従って算出する。なお、simpson係数では、メールセットＳ（Ｃｉ）、Ｓ（Ｃｊ）内の記事数が極端に少ない場合、特に関連度Ｒが大きくなってしまう問題があるため、記事数が極端に少ない場合は関連度Ｒを０とすることで、この問題を回避する。
【００３６】
【数２】
2010108091.tif 000004
【００３７】
次に、ステップＳ６０４０で、関連度Ｒが、全比較対象クラスＣの中で予め設定された上位Ｙ以内の場合、共通メールセット│Ｓ（Ｃｉ）∩Ｓ（Ｃｊ）│からなる融合クラスＣｉｊを、特定のクラスＣｉ及び異なるクラスＣｊに共通する子クラスとして生成する。
次に、前記図３のタクソノミ補完方法、ノウフウ分析方法、ノウハウ分析方法を達成する演算処理の第２実施形態として、図１１のフローチャートについて説明する。
この演算処理は、まずステップＳ７０１０で、前記ステップＳ１０１０と同様に、後述する図１２の演算処理を行うことにより、メーリングリスト上の記事及び構築されたタクソノミの一部を入力し、それらの記事をタクソノミ上のクラスに分類し、その分類されたユーザ記事及びユーザＩＤを出力する。
【００３８】
次に、ステップＳ７０２０で、後述する図１３の演算処理を行うことにより、タクソノミ上のクラスに分類されたユーザ記事並びにユーザＩＤを用い、ユーザナレッジをタクソノミに沿って抽出する。
次に、ステップＳ７０３０で、前記ステップＳ１０３０と同様に、タクソノミに沿って抽出されたユーザナレッジを用い、タクソノミを考慮しながらユーザナレッジの類似度を計算する。
【００３９】
次に、ステップＳ７０４０で、前記ステップＳ１０４０と同様に、タクソノミに沿ったユーザのナレッジ並びにユーザ間の類似度を用い、タクソノミを参照してユーザ間の関係を意味づけ、タクソノミによって意味づけされたユーザ間の関係を出力する。
次に、前記ステップＳ７０１０で行われる図１２の演算処理について説明する。この演算処理は、まずステップＳ８０１０で、前記ステップＳ２０１０と同様に、メーリングリスト上の記事及び構築されたタクソノミの一部を入力し、それらの記事をタクソノミ上のクラスに分類し、その分類されたユーザ記事及びユーザＩＤを出力する。
【００４０】
次に、ステップＳ８０２０で、前記ステップＳ２０２０と同様に、タクソノミ上のクラスに対し、その性質を継承する子クラスを自動生成したり、別のタクソノミ上のクラスとの関係を解析し、両者の性質を併せ持つ融合クラスを生成し、タクソノミ上のクラスの子クラスとして自動生成したりすることで、タクソノミの補完を行う。
次に、ステップＳ８０３０で、前記ステップＳ２０３０と同様に、補完されたタクソノミのクラスをも含めて、メーリングリスト上の記事をタクソノミ上のクラスに分類し、その分類されたユーザ記事及び分類結果を出力する。特に、補完されたタクソノミにメールセットを分類することにより、ユーザ毎のナレッジを補完タクソノミに沿って抽出することができる。特定のクラスＣｉの関連クラスＣｒや融合クラスＣｉｊについては、特定のクラスＣｉの名前属性と、関連クラスＣｒ又は融合クラスＣｉｊの名前属性の記述を同時に持つメールセットを分類する。
【００４１】
次に、前記ステップＳ７０２０で行われる図１３の演算処理について説明する。この演算処理は、まずステップＳ９０１０で、補完されたクラスへのナレッジ分析を行い、補完クラスに対するユーザのナレッジを検出する。その際、タクソノミを構成する各クラスに対するユーザのナレッジの深さを示すナレッジスコアＮを導入することで、クラス毎に知識を持つユーザの解析を行う。ナレッジスコアＮを以下に定義する。
【００４２】
１）１記事当たりのユーザのナレッジスコアＮは１とする。
２）ある（特定の）記事ｍｉに記述されるクラスの種類をＮ（ｍｉ）個とすると、その記事おけるユーザのナレッジスコアＮは１／Ｎ（ｍｉ）とする。
３）ユーザの全記事集合をＭとすると、そのユーザの各クラス（特定のクラス）Ｃｉに対するナレッジスコアＮ（Ｃｉ）は下記３式で与えられる。
４）特定のクラスＣｉの子クラス、関連クラス、融合クラスの集合をＣとすると、特定のクラスＣｉ配下に対するユーザのナレッジスコアＮ（Ｃｉ＋Ｃ）は下記４式で与えられる。
【００４３】
【数３】
2010108091.tif 000005
【００４４】
補完タクソノミを利用すれば、後述するように、人手で作成したタクソノミに加え、関連クラスや融合クラスに対するナレッジも踏まえ、特定のクラスＣｉに対するユーザナレッジを解析することができる。
次に、ステップＳ９０２０で、前記ステップＳ１０２０と同様に、タクソノミ上のクラスに分類されたユーザ記事並びにユーザＩＤを用い、ユーザナレッジをタクソノミに沿って抽出する。
【００４５】
次に、前記図３のタクソノミ補完方法、ノウフウ分析方法、ノウハウ分析方法を達成する演算処理の第３実施形態として、図１４のフローチャートについて説明する。
この演算処理は、前記図１１のステップＳ７０１０で行われるサブルーチンが変更されたもので、まずステップＳ１００１０で、前記ステップＳ２０１０と同様に、メーリングリスト上の記事及び構築されたタクソノミの一部を入力し、それらの記事をタクソノミ上のクラスに分類し、その分類されたユーザ記事及びユーザＩＤを出力する。
【００４６】
次に、ステップＳ１００２０で、前記ステップＳ２０２０と同様に、タクソノミ上のクラスに対し、その性質を継承する子クラスを自動生成したり、別のタクソノミ上のクラスとの関係を解析し、両者の性質を併せ持つ融合クラスを生成し、タクソノミ上のクラスの子クラスとして自動生成したりすることで、タクソノミの補完を行う。
次に、ステップＳ１００３０で、後述する図１５の演算処理を行うことで、補完されたタクソノミのクラスをも含めて、メーリングリスト上の記事をタクソノミ上のクラスに分類し、その分類されたユーザ記事及び分類結果を出力する。
【００４７】
次に、前記ステップＳ１００３０で行われる図１５の演算処理について説明する。この演算処理は、まずステップＳ１１０１０で、前記ステップＳ８０３０と同様に、補完されたタクソノミのクラスをも含めて、メーリングリスト上の記事をタクソノミ上のクラスに分類し、その分類結果を出力する。
次に、ステップＳ１１０２０で、補完クラスに分類された記事並びに分類結果をユーザに提示する。後述するように、ユーザは補完タクソノミ上のクラスに分類されているメールセットを閲覧することで、各クラスに関するノウハウを獲得することができる。また、タクソノミ上のクラス閲覧による情報探索は、対象についてあまり詳しくないユーザでも、専門知識に沿ってシステム開発トピックを把握することができる。
【００４８】
次に、ステップＳ１１０３０で、特に融合クラスＣｉｊに分類された記事及び分類結果をユーザに提示する。後述するように、融合クラスＣｉｊには、プロダクトに対する開発ラスクのトピックが集約するため、システム開発に必要となるノウハウを発見することができる。なお、クラス内のメールセットをユーザが閲覧する際には、メールセットの中でも、特にそのクラスの名前属性が多く登場するメールセット順にランキングして提示する。
【００４９】
次に、前記各実施形態の演算処理による作用について説明する。始めに、図１６に示す、人手でタクソノミを作成する手順について説明する。まず、設計者はナレッジマネージメントの対象とする開発プロジェクトを決定する。対象プロジェクトの粒度としては、メーリングリストなどで情報交換されている程度のものが、技術者間で共通して議論する必要があるという認識を持たれていることから適切と考えられる。次に、対象プロジェクトで開発されているプロダクトに対するタクソノミと、タスクに対するタクソノミを、図１６に示すように構築する。ここで、タクソノミ上のインスタンス（実体）は、開発対象プロダクト又は開発タスクのトピックであり、クラスはトピックに対するタクソノミで定義される。タクソノミの構築を容易にするため、タクソノミ上のクラス間の関係は、上位クラスの性質を下位クラスが継承するという制約のみとする。例えば、図１６のクラス「ルータ障害管理装置」は、上位クラス「ネットワーク（図ではＮＷ）管理装置」における「ネットワーク管理」という属性を継承している。なお、クラスには複数の名前属性を与える。例えば、「ネットワーク管理装置」というクラスは「ネットワーク管理装置」と「ネットワークオペレーション装置」という２つの属性を持つ。
【００５０】
前記ステップＳ１０２０、Ｓ１０３０、Ｓ２０１０、Ｓ２０３０など、電子メールのタクソノミへの分類には、本発明者等が先に提案した特開平２００８−２７１４２号公報に記載される、ブログ記事をタクソノミへ分類する手法が適用できる。しかし、電子メールはブログと異なり、スレッド単位で様々なトピックを時系列に従って議論するという特徴がある。本実施形態では、システム開発に関するトピックは１週間単位程度で変化することが多いと考え、分類する電子メール集合の単位を、同一スレッドの１週間単位の電子メール集合とし、この単位をメールセットと名付ける。
【００５１】
まず、メール記事に対する前処理として、引用部の除去（＞で始まる行など）や、署名（住所やメールアドレスを含む行）の除去を行う。その後、タクソノミにメーリングリスト内のメールセットを分類する。図１７に示す例を用いて、メールセットの分類手順を説明する。
１）全メールセットをタクソノミに分類する。分類方法としては、ある（特定の）メールセットの記事内の記述にタクソノミ上のある（特定の）クラスＣｉの名前属性があれば、その記事をクラスＣｉに分類する。なお、記事が複数クラスに分類されてもよい。
【００５２】
２）次に、分類誤りのフィルタリングを実施する。例えば、図１７のクラス「getter」の名前属性は、ネットワーク管理情報をルータなどから取得するプロダクトという意味があるだけでなく、java言語におけるフィールドの値を返すメソッドという意味で利用されることも多く、分類誤りが多くなってしまう。そこで、クラス階層の近いクラス間の性質は近いというタクソノミの性質を利用し、以下のようなフィルタリングアルゴリズムを導入する。
【００５３】
即ち、ある（特定の）電子メールｍ内にある（特定の）クラスＣｉの名前属性が記述されている場合、電子メールｍが属するメールセットＳ内に、特定のクラスＣｉの隣接クラスＣｊの記述があるか否かをチェックする。記述がある場合に、特定の電子メールｍとメールセットＳは特定のクラスＣｉに関するトピックとして分類し、ない場合は誤りとする。例えば、図１７の「getter」に対する記述が、ある（特定の）電子メールｍに存在し、そのメールセットＳ内に、例えば「ネットワーク管理」という記述がある場合、当該メールセットＳはクラス「ネットワーク管理」のサブクラス「getter」に属する電子メールとして分類する。ここで、隣接クラスの範囲は、フィルタ対象クラスから隣接クラスまでの間にタクソノミ上に存在するクラス数、即ちホップ数を用いて変更可能とする。例えば、ホップ数１の場合の隣接クラスは親クラスと子クラスであり、「getter」をフィルタ対象クラスとした場合では、「ルータ障害管理装置」である。ホップ数２の場合は祖父クラスと兄弟クラスも含み、図１７では「setter」と「ネットワーク管理装置」も含む。
【００５４】
３）このような分類結果から、メールセット内のメール記事のユーザＩＤに基づいて分類結果を整理すれば、ユーザ毎のシステム開発知識を抽出することができる。
前記ステップＳ１０４０など、ユーザ間の関係解析は、以下のようにして行うことができる。図１８は、ユーザの関係に意味情報を付与し、再構築された興味体系グラフの概念図である。ここでは、ユーザ間の興味オントロジを比較し、興味一致度の高いクラス又はインスタンスを興味一致情報とし、他方、興味が一致しないクラス又はインスタンスをズレ情報として、エッジに与える。また、ユーザカテゴリ間の関係にも意味情報を与える。ユーザカテゴリに属するユーザ集合の興味オントロジをカテゴリ間で比較し、ユーザカテゴリで共有する数の多いクラス又はインスタンスを興味一致情報とし、他方、興味が一致しないクラス又はインスタンスをズレ情報として、エッジに与える。前述において、クラスをも意味情報として付与することによって、各ユーザカテゴリの持つインスタンスが過大となる場合には、探索ユーザはクラスを確認し、自身の興味を満足する探索方向を容易に見出すことができる。
【００５５】
図１８において、ユーザグラフのデータはユーザカテゴリ１０、ユーザカテゴリ２０、…、ユーザカテゴリＮの複数のユーザカテゴリを包摂する。また、これら各ユーザカテゴリ１０、ユーザカテゴリ２０、…、ユーザカテゴリＮには、夫々複数の下位のユーザカテゴリを包摂する。図１８では、説明の便宜上、ユーザカテゴリ１０についてのみ、その下位のユーザカテゴリである、ユーザカテゴリ１１及びユーザカテゴリ１２のサブグラフが例示されている。また、図１８において、サブグラフやユーザ間のつながりの関係は実線で示され、サブグラフやユーザ間の意味関係が破線で示されている。
【００５６】
サブグラフのユーザカテゴリ１１はユーザ１及びユーザ２を擁し、これらユーザ１及びユーザ２の関係は、両者を結ぶ破線に付随して：
一致：インスタンス１ofクラスＡ
ズレ：インスタンス２ofクラスＡ（ユーザ１）
ズレ：インスタンス３ofクラスＡ（ユーザ２）
と表記の通りである。
【００５７】
「一致：インスタンス１ofクラスＡ」とは、クラスＡに所属するインスタンス１が、ユーザ１とユーザ２の間で一致している意である。「ズレ：インスタンス２ofクラスＡ（ユーザ１）」とは、クラスＡに所属するインスタンス２をユーザ１は持っているが、ユーザ２は持っていない意である。「ズレ：インスタンス３ofクラスＡ（ユーザ２）」とは、クラスＡに所属するインスタンス３をユーザ２は持っているが、ユーザ１は持っていない意である。
【００５８】
また、サブグラフのユーザカテゴリ１２はユーザ３及びユーザ４を擁し、これらユーザ３及びユーザ４の関係は、両者を結ぶ破線に付随して：
一致：インスタンス２ofクラスＡ
ズレ：インスタンス４ofクラスＢ（ユーザ３）
ズレ：インスタンス５ofクラスＢ（ユーザ４）
と表記の通りである。
【００５９】
「一致：インスタンス２ofクラスＡ」とは、クラスＡに所属するインスタンス２が、ユーザ３とユーザ４の間で一致している意である。「ズレ：インスタンス４ofクラスＢ（ユーザ３）」とは、クラスＢに所属するインスタンス４をユーザ３は持っているが、ユーザ４は持っていない意である。「ズレ：インスタンス５ofクラスＢ（ユーザ４）」とは、クラスＢに所属するインスタンス５をユーザ４は持っているが、ユーザ３は持っていない意である。
【００６０】
更に、サブグラフであるユーザカテゴリ１１とユーザカテゴリ１２の間の関係は、両者を結ぶ破線に付随して：
一致：インスタンス２ofクラスＡ
ズレ：インスタンス１ofクラスＡ（カテゴリ１１）
ズレ：インスタンス３ofクラスＡ（カテゴリ１１）
ズレ：インスタンス４ofクラスＢ（カテゴリ１２）
ズレ：インスタンス５ofクラスＢ（カテゴリ１２）
と表記の通りである。
【００６１】
「一致：インスタンス２ofクラスＡ」とは、クラスＡに所属するインスタンス２が、カテゴリ１１とカテゴリ１２の間で一致している意である。「ズレ：インスタンス１ofクラスＡ（カテゴリ１１）」とは、クラスＡに所属するインスタンス１をカテゴリ１１は持っているが、カテゴリ１２は持っていない意である。「ズレ：インスタンス３ofクラスＡ（カテゴリ１１）」とは、クラスＡに所属するインスタンス３をカテゴリ１１は持っているが、カテゴリ１２は持っていない意である。「ズレ：インスタンス４ofクラスＢ（カテゴリ１２）」とは、クラスＢに所属するインスタンス４をカテゴリ１２は持っているが、カテゴリ１１は持っていない意である。「ズレ：インスタンス５ofクラスＢ（カテゴリ１２）」とは、クラスＢに所属するインスタンス５をカテゴリ１２は持っているが、カテゴリ１１は持っていない意である。
【００６２】
以上において、例えばインスタンス１がクラスＡに所属しているということは、インスタンスのタクソノミに基づいている、即ち専門家が専門知識で定義していることを意味する。図１８のような興味体系グラフでは、単純なユーザグラフを、階層的なコミュニティ（カテゴリ）分布に置き換え、コミュニティ間に関係を与えている。従って、従来、この関係がないため、距離が離れたユーザは、互いを参照するために、その間に介在するユーザ全てを辿る必要があったのに対し、前述のような関係を与えることによって、ユーザ自身の興味と合致すれば一挙に所望のコミュニティ（カテゴリ）を探索可能となる。
【００６３】
図１８のような興味体系グラフにおいて、ユーザカテゴリ１１に属するユーザ１が探索ユーザであると仮定し、クラスＢ配下のインスタンス４及びインスタンス５に興味があったとする。ユーザ１は、ユーザの関係を見て、ユーザ２のズレ情報には前記インスタンス４及びインスタンス５の情報はないので、隣接ユーザカテゴリ１２のズレ情報を見ると、クラスＢの情報を持つことが分かり、その中のユーザ３とユーザ４を探索して、インスタンス４及びインスタンス５を発見することができる。
前記の例では、ユーザグラフの規模があまり大きくないので、その効果は顕著ではないように見えるが、グラフの規模が大きい場合には、意味づけ情報を辿るという探索手段を持つことによる効果は大きい。
【００６４】
このようなユーザ間の関係解析では、ユーザの嗜好情報からユーザの嗜好に沿ったグラフベースのデータを蓄積管理して、興味体系グラフを形成することができる。また、前述のように、専門家が専門知識で定義したタクソノミに依拠するため、所期の意図に沿った管理体系のマッピングが行われる。従って、ユーザにとっては、直感的な探索操作によって所望の通りのコンテンツを発見し易くなる。特に、従来の推薦（レコメンデーション）では、唐突感のある所謂プッシュ型のレコメンデーションが多かったところ、ユーザ間の関係を明示しながら関係性をユーザが能動的に追跡操作可能とすることによって、そうしたプッシュ型のレコメンデーションの謂わば強引さを払拭することができる。例えば、「一致理由」という意味づけを参照して納得感を得たり、「ズレ理由」という意味づけを参照しながら新たな情報に興味を持ったりする。
【００６５】
次に、本実施形態のタクソノミの自動補完と、その作用について説明する。タクソノミの補完を行うために、前述したtermEXを用いて、メーリングリストから開発に関するフレーズの切出しを行う。そして、開発プロジェクトの技術者が抽出されたフレーズの中で開発プロジェクトに関し重要なトピックとなり得るフレーズ集合Ｋを抽出する。次に、フレーズ集合Ｋからある（特定の）フレーズＫｌを選択し、そのフレーズＫｌとタクソノミ上のある（特定の）クラスＣｉに分類されたメールセットＳ（Ｃｉ）との関連性を算出する。関連性は、前記１式によるフレーズＫｌの出現頻度スコアＵ（Ｋｌ）で求める。そして、前述のように、異なるクラスＣｊを変化させながら、出願頻度スコアＵ（Ｋｌ）をヒューリスティックな試行回数Ｘ回算出し、その出現頻度スコア平均値Ｕ（Ｋｌ）ａがヒューリスティックな閾値α以上である場合には、そのフレーズＫｌを、特定のクラスＣｉに対してのみ特徴的な関連トピックとして抽出し、当該特定のクラスＣｉの子クラスとして関連クラスＣｒに付与する。
【００６６】
タクソノミを利用することの利点は、単純な共起のみでなく、タクソノミ上のクラス間の距離を踏まえた共起の検出を行えることである。例えば、図１９において、「getter」が特定のクラスＣｉだとすると、ホップ数を４以上にすると、「ログファイル」などの一般フレーズは除去され、「SNMP」など、比較的「getter」に特徴的なフレーズが残る。また、ホップ数を２程度に小さくすると、「SNMP」というフレーズもなくなり、「エラー解析」というフレーズのみが残るようになる。
一方、例えばプロダクトのタクソノミ上のクラスと、タスクのタクソノミ上のクラス両方に属するトピックは、プロダクトの開発タスクに関するトピックであり、ノウハウを含むと考えられるため、前述のようにして、こうしたトピックからなる融合クラスＣｉｊを抽出する。
【００６７】
そして、これらの補完タクソノミへ再度メールセットを分類すれば、ユーザ毎のナレッジを補完タクソノミに沿って抽出できる。その際、前述したように、タクソノミを構成する各クラスに対するユーザのナレッジの深さを示すナレッジスコアＮ（Ｃｉ＋Ｃ）を導入することで、クラス毎に知識を持つユーザの解析を行う。補完タクソノミを利用すれば、人手で作成したタクソノミに加え、関連クラスや融合クラスに対するナレッジも踏まえ、ある（特定の）クラスＣｉに対するナレッジを解析できる。これにより、タクソノミ上のある（特定の）クラスＣｉについて、開発者が、そのクラス名をあまり記述していない場合でも、そのクラスＣｉの関連クラスＣｒの名前を頻繁に記述していれば、ある（特定の）クラスＣｉについてナレッジを多く持つユーザとして抽出できるようになる（ノウフウ分析）。開発に関わる担当者は、タクソノミ上のクラス名よりもより細かなトピックに対して記述する傾向にあることを考えると、補完タクソノミ、特に関連クラスを利用したノウフウ分析は有効である。
【００６８】
また、前述したように、ユーザは補完タクソノミ上のクラスに分類されているメールセットを閲覧することで、各クラスに関するノウハウを獲得できる。タクソノミ上のクラス閲覧による情報探索は、対象についてあまり詳しくないユーザでも、専門知識に沿ってシステム開発トピックを把握できる。また、融合クラスＣｉｊには、プロダクトに対する開発タスクのトピックが集約するため、システム開発に必要となるノウハウを発見できる。
【００６９】
また、前述した類似ユーザ間の関係解析にも、補完タクソノミを用いることで、精度向上を期待できる。つまり、前述したように、実際に開発に関わる担当者は、タクソノミ上のクラスに含まれるトピックよりもより細かなトピックに対し記述する傾向があることから、そうしたユーザ間では、タクソノミ上のクラス以外にも、関連クラスＣｒや融合クラスＣｉｊでも類似性を判定することができる。
【００７０】
また、タクソノミを用いる重要な利点は、図２０に示すように、ユーザ間の関係を、より詳細に意味づけできることである。従来、ユーザ間の関係には、類似するユーザ間でナレッジの一致している点、また異なっている点を、キーワードで与えることしかできなかったが、これでは、例えば類似している点が「postgres」、「oracle」、異なる点が「zone」、「アドレス設計」というようにキーワードで全て列挙しなければならない。しかし、ユーザにとっては全キーワードを確認するのは苦痛であるし、キーワードが理解できないことも多い。これに対し、タクソノミを利用することで、図２０に示すように、ユーザＡとユーザＢでナレッジが類似している点は、（パス設定）配下の（パス設定＆アドレス設計）クラスであり、異なっている点は、（ＤＢ）クラス配下の（oracle）と（DNSサーバ）配下の（zone & 設計）であるというように、専門知識に基づいてユーザ間の関係を把握できる。
【００７１】
次に、ネットワークサービスを管理するシステムの開発プロジェクトで用いられているメーリングリストと、技術者が作成したタクソノミを用いて、本実施形態の検証を実施した。検証に用いたメーリングリストは、２３８３３件の電子メール、１３３４２メールセット、１１１人が投稿を行った２年２ヶ月間利用されていたものである。また、３名の技術者が、プロダクトに関しては４９クラス、タスクに関しては５７クラスのみから構成される小規模なタクソノミを、約６時間程度で作成した。更に、フレーズ集合として、前記メーリングリストからtermEXで切り出したフレーズから、一文字のみのものを削除するなど、簡単なルールに基づいて、人手で３時間程度、前処理を行った。最終的に抽出された開発知識のトピックとなりうるフレーズ数は３９５２フレーズ、そしてタクソノミ補完アルゴリズムによって、約１５７５クラスからなる補完タクソノミを構成した。
【００７２】
検証は、１）関連クラスの妥当性、２）ノウフウ抽出の有効性、３）ノウハウ抽出の有効性の３点を確認した。検証方法として、各検証においてアルゴリズムが出した結果のうち、スコアの高い結果上位を、開発プロジェクトの技術者が確認し、正解数の割合（適合率）を確認した。結果の上位確認数を変化させ、結果を確認することで、確認数がどの程度であればよい適合率を得られるかを判断することができる。また、検証する技術者による結果のバラつきを抑えるため、開発プロジェクトに深く関わる技術者３名によるクロスチェックを行いながら、検証を実施した。検証に当たり、前記試行回数Ｘを、３、５、１０と比較して事前検証を実施し、３では関連クラスが少なくなりすぎ、１０では多くなりすぎるため、５と設定した。また、前記閾値αは、０．８、０．８５、０．９、０．９５と変化させ、閾値αが低すぎると結果の精度が落ちるが、高すぎるとクラスに関連するトピックがあまり抽出されなくなったため、０．８５として検証を実施した。更に、前記上位Ｙは５として検証した。比較対象としては、タクソノミを補完しない方法、ＴＦ／ｉＤＦと用いてタクソノミを補完する方法と比較した。
【００７３】
まず、ある（特定の）クラスＣｉに対し、補完された関連クラスＣｒの妥当性を検証した。正解として、クラスＣｉに対し、関連するとされたトピックが、（ａ）クラスＣｉの性質を継承し且つノウハウとして確認したいトピック、（ｂ）クラスＣｉの性質を継承しないがノウハウとして確認したいトピック、という２種類の基準を用意した。検証対象としては、タクソノミ上の全クラスの約１割にあたる１０クラスを選択し、夫々に対し、結果を、上位５トピック、１０トピックと変化させ、出力して検証を行い、検証結果を下記表１にまとめた。これによると、本発明の実施例は、（ａ）に属する正解を、ＴＦ／ｉＤＦに対して、２倍以上多く抽出できる。また、（ｂ）に属する正解は、本発明の実施例もＴＦ／ｉＤＦも同程度の精度が得られる。なお、以後の検証では、上位１０トピックを用い、タクソノミを補完したものを用いた。
【００７４】
【表１】
2010108091.tif 000006
【００７５】
次に、ノウフウ分析に対する効果を検証した。検証の正解の基準としては、人手で作成されたタクソノミ上にあるクラスに対し、ナレッジスコアの高いユーザが、実際にナレッジを深く持つユーザであった場合を正解とした。比較対象としては、タクソノミの補完を行わない場合と、ＴＦ／ｉＤＦを用いてタクソノミを補完する場合との比較を実施した。また、検証対象としては、プロダクトのタクソノミの全クラスの２割にあたる１０クラスを選択し、夫々に対し、特にナレッジスコアが大きいユーザを上位５、１０、１５、２０人と変化させて出力し、検証結果をまとめた。
【００７６】
図２１に、全結果の平均値からなる結果を示す。これによると、元々のタクソノミを利用した場合（補完を行わない場合）よりも、本発明の実施例では、３％〜１０％程度、ＴＦ／ｉＤＦに比べても３％〜８％程度よい適合率を得ることができている。
更に、ユーザ間のナレッジの類似度を求めた際の有効性を検証した。検証対象として、メーリングリストの参加メンバーの約１割にあたる１０人を対象とし、各ユーザと類似する他の技術者を、類似度に基づき上位５、１０、１５、２０人と変化させて出力し、検証結果をまとめた。ここで、検証対象としてユーザ１０人の選択に当たり、プロジェクト全体に関係の深いユーザ、ある（特定の）プロダクト開発にのみ関わったユーザを混ぜて選択し、検証した。
【００７７】
図２２に、全結果の平均値からなる結果を示す。これによると、元々もタクソノミを利用した場合（補完を行わない場合）よりも、本発明の実施例では、１０％〜２０％以上の適合率を得ることが分かる。また、ＴＦ／ｉＤＦに比べても、高い適合率を得ることができる。これらの結果より、タクソノミを本発明によって補完することは、適切なノウフウ検出に繋がることを示せた。
【００７８】
更に、プロダクトのタクソノミ上のクラスの１割にあたる５クラスに対して生成された関連クラス、融合クラス、夫々に分類されたメールセットが、そのクラスに関するノウハウを実際に含んでいるかを検証した。検証では、スレッドに分類されたメールスレッドのうち、上位３、６メールセットと変化させて出力し、その中での正解の割合を確認した。
下記表２に全結果の平均値からなる結果を示す。これによると、元々のタクソノミ上のクラスよりも、関連クラスに多数のノウハウを含むことが分かる。これは、深い階層のクラスの方がより詳細なノウハウを持つということからも妥当といえる。しかし、表の融合クラス１のように、融合クラスでは、正解の割合が低かった。結果を確認したところ、「問題」と「テスト」というタスク上のクラスとの融合クラスの精度が悪いことが分かった。これは、前記フィルタリングアルゴリズムを用いても、「問題」や「テスト」というフレーズが、多義語による誤りを除去し切れなかったためである。そこで、これらのクラスと融合クラスを除いて検証したところ、表２の融合クラス２に示すように精度が向上することを確認した。多義語の問題は、タスクとプロダクト間のクラスの名前属性の共起の確認を、メールセット内ではなく、同一電子メール内にすればよくなると考えられる。
【００７９】
【表２】
2010108091.tif 000007
【図面の簡単な説明】
【００８０】
【図１】本発明を適用したソーシャツネットワークの一例を示すブロック図である。
【図２】図１の端末又はサーバに用いられるコンピュータシステムのブロック図である。
【図３】プログラムに従った演算処理によってコンピュータシステム内に構築されるタクソノミ補完方法、ノウフウ分析方法、ノウハウ分析方法の概略構成である。
【図４】図３の演算処理の第１実施形態を示すフローチャートである。
【図５】図４の演算処理のサブルーチンを示すフローチャートである。
【図６】図５の演算処理のサブルーチンを示すフローチャートである。
【図７】図５の演算処理のサブルーチンを示すフローチャートである。
【図８】図６の演算処理のサブルーチンを示すフローチャートである。
【図９】図８の演算処理のサブルーチンを示すフローチャートである。
【図１０】図７の演算処理のサブルーチンを示すフローチャートである。
【図１１】図３の演算処理の第２実施形態を示すフローチャートである。
【図１２】図１１の演算処理のサブルーチンを示すフローチャートである。
【図１３】図１１の演算処理のサブルーチンを示すフローチャートである。
【図１４】図３の演算処理の第３実施形態として図１１の演算処理のサブルーチンを示すフローチャートである。
【図１５】図１４の演算処理のサブルーチンを示すフローチャートである。
【図１６】最初に構築される小規模なタクソノミの説明図である。
【図１７】タクソノミの各クラスへのメールセット分類の説明図である。
【図１８】ユーザの関係に意味情報を付与して再構築された興味体系グラフの概念図である。
【図１９】ホップ数による隣接クラス設定の説明図である。
【図２０】タクソノミを用いたユーザ間の関係解析の説明図である。
【図２１】本発明による効果の説明図である。
【図２２】本発明による効果の説明図である。
【符号の説明】
【００８１】
１は通信網、２〜４、７〜９は端末、５はサーバ、１１は記事分類部、１２はナレッジ抽出部、１３はナレッジ類似度計算部、１４はユーザ間関係解析部、６０はＣＰＵ、６２はＲＡＭ、６４はＲＯＭ、６６はインターフェース、６８はバス、７０は記憶装置、７２は出力装置、７４は入力装置
【図１】
2010108091.tif 000008
【図２】
2010108091.tif 000009
【図３】
2010108091.tif 000010
【図４】
2010108091.tif 000011
【図５】
2010108091.tif 000012
【図６】
2010108091.tif 000013
【図７】
2010108091.tif 000014
【図８】
2010108091.tif 000015
【図９】
2010108091.tif 000016
【図１０】
2010108091.tif 000017
【図１１】
2010108091.tif 000018
【図１２】
2010108091.tif 000019
【図１３】
2010108091.tif 000020
【図１４】
2010108091.tif 000021
【図１５】
2010108091.tif 000022
【図１６】
2010108091.tif 000023
【図１７】
2010108091.tif 000024
【図１８】
2010108091.tif 000025
【図１９】
2010108091.tif 000026
【図２０】
2010108091.tif 000027
【図２１】
2010108091.tif 000028
【図２２】
2010108091.tif 000029