(57)【要約】【課題】  ソフトウェア開発業務において発生する問題点を解決するための情報共有方式のうち、ライセンス管理システムや社内ＳＮＳなどの社内情報システムを活用し、開発者のニーズに合致した情報を効率的に提示できるようにする。【解決手段】  組織内のユーザがインターネットを利用して検索を行ったときの検索履歴を保管する。また、組織内のユーザが社内ＳＮＳに記事を投稿したとき、その投稿した記事の記事内容と類似する検索キーワードで過去に検索された検索履歴を求め、その検索を行ったユーザに対して、当該記事をおすすめ情報として提示する。類似度は、例えば、投稿された記事の記事内容に含まれるソフトウェアのバージョンと、検索履歴に含まれる検索されたソフトウェアのバージョンとを比較して、それらのバージョンが近いほど高くなるようにし、該類似度が所定値以上の場合に当該ユーザをおすすめ情報通知先とする。【選択図】  図１
2013225181.tif 000002
【特許請求の範囲】
【請求項１】
所定の組織内のユーザが記事を投稿し該記事を該組織内の他のユーザが参照できる機能を備える内部ネットワークシステムと、
前記組織内の任意のユーザがインターネットを利用して情報検索したとき、当該情報検索の履歴を格納する検索履歴保管手段と、
前記内部ネットワークシステムへの記事投稿をトリガーとして、投稿された記事の記事内容に類似する検索キーワードで過去に検索されていた検索履歴を前記検索履歴保管手段から検索し、前記投稿された記事内容に類似する検索キーワードで過去に検索を行っていたユーザをおすすめ情報通知先として決定するおすすめ情報通知先決定手段と、
前記おすすめ情報通知先として決定されたユーザに対して、前記投稿された記事をおすすめ情報として提示するおすすめ情報提示手段と
を備えることを特徴とする情報レコメンドシステム。
【請求項２】
請求項１に記載の情報レコメンドシステムにおいて、
前記おすすめ情報通知先決定手段は、前記投稿された記事の記事内容に含まれるソフトウェアのバージョンと、前記検索履歴に含まれる検索されたソフトウェアのバージョンとを比較して、それらのバージョンが近いほど高くなる類似度を求め、求めた類似度が所定値以上の場合に、当該検索履歴の検索を行ったユーザをおすすめ情報通知先として決定することを特徴とする情報レコメンドシステム。
【請求項３】
請求項１に記載の情報レコメンドシステムにおいて、
前記おすすめ情報通知先決定手段は、前記投稿された記事の記事内容に含まれるソフトウェアのバージョンおよび機能と、前記検索履歴に含まれる検索されたソフトウェアのバージョンおよび機能とを比較して、それらのバージョンおよび機能が近いほど高くなる類似度を求め、求めた類似度が所定値以上の場合に、当該検索履歴の検索を行ったユーザをおすすめ情報通知先として決定することを特徴とする情報レコメンドシステム。
【請求項４】
請求項１から３の何れか１つに記載の情報レコメンドシステムにおいて、
前記検索履歴保管手段に保管される各検索履歴は、その検索履歴の新しさを示す指標である鮮度情報を含み、
前記おすすめ情報通知先決定手段は、前記類似度と前記鮮度情報に基づいて、おすすめ情報通知先のユーザを決定することを特徴とする情報レコメンドシステム。
【請求項５】
請求項４に記載の情報レコメンドシステムにおいて、
前記各検索履歴が含む鮮度情報を、各検索履歴の検索実行時からの経過時間によって定期的に更新する手段をさらに備えることを特徴とする情報レコメンドシステム。
【請求項６】
請求項４または５に記載の情報レコメンドシステムにおいて、
前記鮮度情報を、検索を行ったユーザの所属の変化や、グループウェアに登録されている会議の予約情報を基にした当該ユーザに業務上関連する人物の変化に応じて、更新する鮮度更新手段をさらに備えることを特徴とする情報レコメンド方式。
【請求項７】
請求項１から６の何れか１つに記載の情報レコメンドシステムにおいて、
前記内部ネットワークシステムに投稿された各記事に対し、ユーザがその記事に対する有用度を入力する手段と、
前記有用度の入力をトリガーとして、該有用度が入力された記事の記事内容に類似する検索キーワードで過去に検索されていた検索履歴を前記検索履歴保管手段から検索し、前記投稿された記事内容に類似する検索キーワードで過去に検索を行っていたユーザをおすすめ情報再通知先として決定するおすすめ情報再通知先決定手段と、
前記おすすめ情報再通知先として決定されたユーザに対して、前記投稿された記事をおすすめ情報として提示するおすすめ情報再提示手段と
をさらに備えることを特徴とする情報レコメンドシステム。
【請求項８】
所定の組織内のユーザが記事を投稿し該記事を該組織内の他のユーザが参照できる機能を備える内部ネットワークシステムにおいて任意のユーザが記事を投稿する記事投稿工程と、
前記組織内の任意のユーザがインターネットを利用して情報検索したとき、当該情報検索の履歴を格納する検索履歴保管工程と、
前記内部ネットワークシステムへの記事投稿をトリガーとして、投稿された記事の記事内容に類似する検索キーワードで過去に検索されていた検索履歴を検索し、前記投稿された記事内容に類似する検索キーワードで過去に検索を行っていたユーザをおすすめ情報通知先として決定するおすすめ情報通知先決定工程と、
前記おすすめ情報通知先として決定されたユーザに対して、前記投稿された記事をおすすめ情報として提示するおすすめ情報提示工程と
を備えることを特徴とする情報レコメンド方法。
【請求項９】
コンピュータを、
所定の組織内のユーザが記事を投稿し該記事を該組織内の他のユーザが参照できる機能を備える内部ネットワークシステムと、
前記組織内の任意のユーザがインターネットを利用して情報検索したとき、当該情報検索の履歴を格納する検索履歴保管手段と、
前記内部ネットワークシステムへの記事投稿をトリガーとして、投稿された記事の記事内容に類似する検索キーワードで過去に検索されていた検索履歴を前記検索履歴保管手段から検索し、前記投稿された記事内容に類似する検索キーワードで過去に検索を行っていたユーザをおすすめ情報通知先として決定するおすすめ情報通知先決定手段と、
前記おすすめ情報通知先として決定されたユーザに対して、前記投稿された記事をおすすめ情報として提示するおすすめ情報提示手段と
を備える情報レコメンドシステムとして機能させることを特徴とする情報レコメンドプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア開発業務上で発生する問題点を解決するための情報共有方式に関し、特に、ライセンス管理システムや社内ＳＮＳ（Social Networking Service）などの社内情報システムを活用し、開発者のニーズに合致した情報を提示する技術に関する。
【背景技術】
【０００２】
ソフトウェア開発業務においては、顧客要件を基に要求仕様を定義し、外部設計、内部設計、プログラミングやテストといった工程を踏んで、顧客業務に資する業務システムを構築していく。このうち、特に内部設計以降の工程では、顧客要件の技術的な実現可能性の調査、プログラミングのための技術資料の検索、ソフトウェアの不良対策などのさまざまな場面で、技術的問題に関する調査が必要になってくる。この技術的問題の調査の手段の一つとして、インターネット上の検索エンジンにキーワードを入力し、その検索結果を精査するという手法が広く取られている。この手法によって調査を行う調査者は、一般に、検索結果を精査するという作業において、数多くの検索結果を開いて解読し、得られた情報が自分の抱えている問題に対して有効であるかどうかを判断しなくてはならない。
【０００３】
技術的問題の調査に関する従来技術として、調査者が抱えている問題を解決するのに必要な情報だけを調査者に提供することにより、前述の調査者の負担を軽減する技術が提供されている（特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２９３５２３号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ソフトウェア開発業務においては、開発ツールやプログラミング言語、テストツールなどの開発支援ツールはもちろんのこと、典型的な企業向け情報システムでは、アプリケーションサーバやデータベースサーバ、それらを運用するサーバ機やその上のオペレーティングシステムなど、さまざまなツールを駆使しながら業務を遂行する。前述のツール群は、例えばアプリケーションサーバ一つを取ってみると、営利企業やオープンソースコミュニティなどの、アプリケーションサーバの開発を行っている団体が機能の改善を行い、新しいバージョンを公開するといったことを継続的に行っている。このことは、アプリケーションサーバに限らず、ソフトウェア開発業務において開発業務に従事する者が利用するツール群全般に言える。
【０００６】
前述のツール群は、バージョンアップによって旧バージョンの不具合が解消されたり、逆に新しい不具合が作りこまれたりしている。従って、前述のツール群を駆使してソフトウェアを開発する業務における技術的問題の調査を行うときは、前述のツール群のバージョンも重要な手掛かりとなる。
【０００７】
さらに、前述の技術的問題の調査において、実際に調査を実施するのは、プログラマであることが多い。多くの場合、業務経験の浅い担当者がソフトウェア開発業務のうちプログラミングを任されるので、当該業務経験の浅い担当者が調査を実施することがしばしば起こる。しかし、業務経験の浅い担当者は、開発ツールやアプリケーションサーバなどがどのオペレーティングシステム向けのものであるかを意識しなかったり、開発ツールやアプリケーションサーバなどのバージョンを指定せずに情報を検索したりすることが多くある。このため、特許文献１に示す技術を利用して情報を得ても、それが技術的問題の解決に結びつかず、開発業務が停滞するという問題があった。
【０００８】
また、ツールの名称に加えて、そのツールのバージョンを表す文字列を指定して検索を行った場合でも、バージョンを表す文字列は“１２．３．４５６７”のように、数字を並べたものとなり、検索キーワードとしては有効に機能しない場合がある。このため、調査担当者は、得られた検索結果を、自分が使用しているツール群のバージョンに従った形で得ることができず、調査担当者が使用している端末に表示された検索結果を順に精査し、自分が使用しているツール群のバージョンに合致したものかどうかを確認しなくてはならなかった。
【０００９】
さらに、ソフトウェア開発業務を行う企業においては、開発対象ソフトウェアのエンドユーザの業種によって所属が別れていることが多い。しかし、金融業向けと製造業向けとで同じオープンソースのアプリケーションサーバを利用するなど、異なる業種を担当する技術者や異なる部門に所属する技術者が、同じ技術要素を利用していることが通常である。また、技術的問題の調査スキルは属人的である。したがって、例えば、金融業を担当業種とする技術者がある問題の調査を行い、不幸にして解決に結びつかなかった場合でも、あとで同じ技術要素を利用している製造業を担当業種とする技術者が同じ問題に遭遇し、調査の結果解決できたということが起こる。このような、技術的問題の解決に結びついた情報は、生産性向上の観点から、社内ＳＮＳに当該情報を投稿するなどの手段によって部門横断的に共有される。しかし、投稿された情報は、その情報を利用したいユーザによって検索されないと利用されることがないという問題があった。
【００１０】
本発明は、このような状況に鑑みなされたものであり、ソフトウェア開発業務において発生する問題点を解決するための情報共有方式のうち、ライセンス管理システムや社内ＳＮＳなどの社内情報システムを活用し、開発者のニーズに合致した情報を効率的に提示できるようにすることを目的とするものである。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、請求項１に係る情報レコメンドシステムは、所定の組織内のユーザが記事を投稿し該記事を該組織内の他のユーザが参照できる機能を備える内部ネットワークシステムと、前記組織内の任意のユーザがインターネットを利用して情報検索したとき、当該情報検索の履歴を格納する検索履歴保管手段と、前記内部ネットワークシステムへの記事投稿をトリガーとして、投稿された記事の記事内容に類似する検索キーワードで過去に検索されていた検索履歴を前記検索履歴保管手段から検索し、前記投稿された記事内容に類似する検索キーワードで過去に検索を行っていたユーザをおすすめ情報通知先として決定するおすすめ情報通知先決定手段と、前記おすすめ情報通知先として決定されたユーザに対して、前記投稿された記事をおすすめ情報として提示するおすすめ情報提示手段とを備えることを特徴とする。
【００１２】
請求項２に係る発明は、請求項１に記載の情報レコメンドシステムにおいて、前記おすすめ情報通知先決定手段は、前記投稿された記事の記事内容に含まれるソフトウェアのバージョンと、前記検索履歴に含まれる検索されたソフトウェアのバージョンとを比較して、それらのバージョンが近いほど高くなる類似度を求め、求めた類似度が所定値以上の場合に、当該検索履歴の検索を行ったユーザをおすすめ情報通知先として決定することを特徴とする。
【００１３】
請求項３に係る発明は、請求項１に記載の情報レコメンドシステムにおいて、前記おすすめ情報通知先決定手段は、前記投稿された記事の記事内容に含まれるソフトウェアのバージョンおよび機能と、前記検索履歴に含まれる検索されたソフトウェアのバージョンおよび機能とを比較して、それらのバージョンおよび機能が近いほど高くなる類似度を求め、求めた類似度が所定値以上の場合に、当該検索履歴の検索を行ったユーザをおすすめ情報通知先として決定することを特徴とする。
【００１４】
請求項４に係る発明は、請求項１から３の何れか１つに記載の情報レコメンドシステムにおいて、前記検索履歴保管手段に保管される各検索履歴は、その検索履歴の新しさを示す指標である鮮度情報を含み、前記おすすめ情報通知先決定手段は、前記類似度と前記鮮度情報に基づいて、おすすめ情報通知先のユーザを決定することを特徴とする。
【００１５】
請求項５に係る発明は、請求項４に記載の情報レコメンドシステムにおいて、前記各検索履歴が含む鮮度情報を、各検索履歴の検索実行時からの経過時間によって定期的に更新する手段をさらに備えることを特徴とする。
【００１６】
請求項６に係る発明は、請求項４または５に記載の情報レコメンドシステムにおいて、前記鮮度情報を、検索を行ったユーザの所属の変化や、グループウェアに登録されている会議の予約情報を基にした当該ユーザに業務上関連する人物の変化に応じて、更新する鮮度更新手段をさらに備えることを特徴とする。
【００１７】
請求項７に係る発明は、請求項１から６の何れか１つに記載の情報レコメンドシステムにおいて、前記内部ネットワークシステムに投稿された各記事に対し、ユーザがその記事に対する有用度を入力する手段と、前記有用度の入力をトリガーとして、該有用度が入力された記事の記事内容に類似する検索キーワードで過去に検索されていた検索履歴を前記検索履歴保管手段から検索し、前記投稿された記事内容に類似する検索キーワードで過去に検索を行っていたユーザをおすすめ情報再通知先として決定するおすすめ情報再通知先決定手段と、前記おすすめ情報再通知先として決定されたユーザに対して、前記投稿された記事をおすすめ情報として提示するおすすめ情報再提示手段とをさらに備えることを特徴とする。
【００１８】
請求項８に係る情報レコメンド方法は、所定の組織内のユーザが記事を投稿し該記事を該組織内の他のユーザが参照できる機能を備える内部ネットワークシステムにおいて任意のユーザが記事を投稿する記事投稿工程と、前記組織内の任意のユーザがインターネットを利用して情報検索したとき、当該情報検索の履歴を格納する検索履歴保管工程と、前記内部ネットワークシステムへの記事投稿をトリガーとして、投稿された記事の記事内容に類似する検索キーワードで過去に検索されていた検索履歴を検索し、前記投稿された記事内容に類似する検索キーワードで過去に検索を行っていたユーザをおすすめ情報通知先として決定するおすすめ情報通知先決定工程と、前記おすすめ情報通知先として決定されたユーザに対して、前記投稿された記事をおすすめ情報として提示するおすすめ情報提示工程とを備えることを特徴とする。
【００１９】
請求項９は、コンピュータを、所定の組織内のユーザが記事を投稿し該記事を該組織内の他のユーザが参照できる機能を備える内部ネットワークシステムと、前記組織内の任意のユーザがインターネットを利用して情報検索したとき、当該情報検索の履歴を格納する検索履歴保管手段と、前記内部ネットワークシステムへの記事投稿をトリガーとして、投稿された記事の記事内容に類似する検索キーワードで過去に検索されていた検索履歴を前記検索履歴保管手段から検索し、前記投稿された記事内容に類似する検索キーワードで過去に検索を行っていたユーザをおすすめ情報通知先として決定するおすすめ情報通知先決定手段と、前記おすすめ情報通知先として決定されたユーザに対して、前記投稿された記事をおすすめ情報として提示するおすすめ情報提示手段とを備える情報レコメンドシステムとして機能させることを特徴とする情報レコメンドプログラムである。
【発明の効果】
【００２０】
本発明によれば、例えばソフトウェア開発業務における技術的問題の調査において、調査実施者は、業務経験の浅いソフトウェア開発者であっても、自身が利用している開発ツールのバージョンや組み合わせに適合した技術情報を得ることができるようになる。また、自身が利用している開発ツールのバージョンや組み合わせに適合した技術情報を得ることができるので、得られた情報をユーザが自分自身の目で精査する必要がなくなる。さらに、組織内での部門横断的な技術情報の共有が進み、組織全体の開発生産性を向上させることができる。
【図面の簡単な説明】
【００２１】
【図１】本発明による情報レコメンド方式におけるシステム構成例を示すブロック図である。
【図２】ＳＮＳＤＢ、ライセンス管理ＤＢ、および検索履歴ＤＢのデータ構造例を示す図である。
【図３Ａ】技術情報検索履歴保管部で実行される検索履歴ＤＢ保管処理を説明するフローチャート（その１）である。
【図３Ｂ】技術情報検索履歴保管部で実行される検索履歴ＤＢ保管処理を説明するフローチャート（その２）である。
【図４Ａ】ＳＮＳ投稿記事関連技術情報抽出部、ＳＮＳ投稿記事関連検索履歴抽出部、および投稿記事情報通知部によって実行されるおすすめ情報通知処理（その１）を説明するフローチャートである。
【図４Ｂ】ＳＮＳ投稿記事関連技術情報抽出部、ＳＮＳ投稿記事関連検索履歴抽出部、および投稿記事情報通知部によって実行されるおすすめ情報通知処理（その２）を説明するフローチャートである。
【図４Ｃ】ＳＮＳ投稿記事関連技術情報抽出部、ＳＮＳ投稿記事関連検索履歴抽出部、および投稿記事情報通知部によって実行されるおすすめ情報通知処理（その３）を説明するフローチャートである。
【図５】類似度の計算例を説明するフローチャートである。
【図６】技術情報検索履歴鮮度更新部で実行される鮮度更新処理を説明するフローチャートである。
【図７Ａ】記事評価更新部によってＳＮＳ記事の評価が更新されたときに、評価記事情報通知部で実行されるおすすめ情報再通知処理を説明するフローチャート（その１）である。
【図７Ｂ】記事評価更新部によってＳＮＳ記事の評価が更新されたときに、評価記事情報通知部で実行されるおすすめ情報再通知処理を説明するフローチャート（その２）である。
【図８】類似度の計算例における類似度の乗数の求め方の一例を示す表である。
【図９】類似度の乗数の求め方の変形例を示す表Ａである。
【図１０】類似度の乗数の求め方の変形例を示す表Ｂである。
【発明を実施するための形態】
【００２２】
以下、添付図面を参照して本発明の実施形態について説明する。本実施形態は、本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではない。また、各図において、共通の構成については同一の参照番号を付すものとする。
【００２３】
（１）基本的な実施形態
後述する改良された実施形態の基本となる実施形態について以下説明する。
【００２４】
＜情報レコメンド方式の構成＞
図１は、本発明を適用した情報レコメンド方式におけるシステム構成例を示すブロック図である。この情報レコメンド方式は、１台または複数台のユーザ端末と社内ＳＮＳとライセンス管理システムとプロキシサーバを有し、それらがネットワークで接続された構成となっている。
【００２５】
ユーザ端末１は、インターネットの検索エンジンを利用するために検索キーワードを入力する検索キーワード入力部１０１−１と、社内ＳＮＳに投稿された技術情報のうち過去に検索キーワード入力部１０１−１で指定したキーワードに関連の深い情報をおすすめ情報として受信するおすすめ情報受信部１０２−１と、おすすめ情報受信部１０２−１で受信した情報をおすすめ情報として表示するおすすめ情報表示部１０３−１と、社内ＳＮＳに投稿する記事を入力するＳＮＳ投稿記事情報入力部１０４−１と、ユーザ端末１のユーザ以外によって社内ＳＮＳに投稿された記事への評価を入力するＳＮＳ投稿記事評価部１０５−１を有している。
【００２６】
ユーザ端末２は、上記ユーザ端末１と同様のものである。ユーザ端末２の１０１ー２〜１０５ー２は、それぞれ、ユーザ端末１の１０１ー１〜１０５ー１に対応する。ここではユーザ端末が２台の場合を例として説明するが、ユーザ端末の台数は任意である。
【００２７】
社内ＳＮＳ１１０は、当該社内ＳＮＳに投稿された記事の情報を格納するＳＮＳＤＢ（ＳＮＳデータベース）１１１と、ＳＮＳ投稿記事情報入力部１０４−１，１０４−２によって入力された記事を構内ネットワーク経由で受信し、受信した記事をＳＮＳＤＢ１１１に登録するＳＮＳ投稿記事登録部１１２と、社内ＳＮＳに記事が投稿されたときに、当該記事に関連する開発業務用ソフトウェアの情報を抽出するＳＮＳ投稿記事関連技術情報抽出部１１３と、前述の記事からＳＮＳ投稿記事関連技術情報抽出部１１３によって抽出された技術情報を基に、前述の記事を必要としているユーザの一覧を抽出するＳＮＳ投稿記事関連検索履歴抽出部１１４と、ＳＮＳ投稿記事関連検索履歴抽出部１１４によって抽出されたユーザの各々に対して前述の記事をおすすめ情報として構内ネットワークを通して通知する投稿記事情報通知部１１５と、ＳＮＳ投稿記事評価部１０５−１，１０５−２によって入力された社内ＳＮＳの記事への評価をＳＮＳＤＢ１１１に格納する記事評価更新部１１６と、記事評価更新部１１６によって記事の評価が更新されたときに、当該記事を必要としているユーザの一覧を再抽出し、当該記事をまだおすすめ記事として通知していないユーザにおすすめ記事として通知する評価記事情報通知部１１７とを有している。
【００２８】
ライセンス管理システム１２０は、構内ネットワークに接続されているユーザ端末と、各々のユーザ端末にインストールされているソフトウェアの情報と、構内ネットワークに接続されているユーザ端末にインストールすることができるソフトウェアの情報とを保管するライセンス管理ＤＢ１２１を有している。
【００２９】
プロキシサーバ１３０は、検索キーワード入力部１０１−１，１０１−２によって入力された検索キーワードを基にした技術情報の検索履歴を保管する検索履歴ＤＢ１３１と、検索キーワード入力部１０１−１，１０１−２からのインターネットの検索エンジンの利用を含む、構内ネットワークからのインターネットへの接続要求を受け付けるユーザリクエスト受信部１３２と、ユーザリクエスト受信部１３２によって受け付けられたユーザリクエストであって、インターネットの検索エンジンを利用することを要求するユーザリクエストから検索キーワードを抜き出し、技術情報の検索に当たるものを検索履歴ＤＢ１３１に保管する技術情報検索履歴保管部１３３と、技術情報検索履歴保管部１３３によって検索履歴ＤＢ１３１に保管された検索履歴の鮮度を定期的に更新する技術情報検索履歴鮮度更新部１３４とを有している。
【００３０】
＜データ構造＞
図２は、図１に示したＳＮＳＤＢ１１１、ライセンス管理ＤＢ１２１、および検索履歴ＤＢ１３１のデータ構造例を示す図である。
【００３１】
ＳＮＳＤＢ１１１は、社内ＳＮＳに投稿された記事の内容を保管する記事情報２０１と、記事情報２０１に保管された記事に関連する開発業務用ソフトウェアの情報を保管する記事ソフト関連情報２０２と、社内ＳＮＳのユーザ情報を保管するユーザ情報２０３と、社内ＳＮＳのユーザと当該ユーザに対して通知済みの社内ＳＮＳの記事との対応関係の情報を保管する記事通知済みユーザ情報２０４を有している。
【００３２】
記事情報２０１は、データ項目として、記事を一意に識別する記事ＩＤ２０１−１と、記事ＩＤ２０１−１によって一意に識別される記事を投稿したユーザのＩＤを表す投稿ユーザＩＤ２０１−２と、前述の記事のタイトルを表す記事名２０１−３と、当該記事の本文を表すコンテンツ２０１−４と、当該記事に対して投稿ユーザＩＤ２０１−２が表すユーザが記事の分類を行うために付与する文字列を表すタグ２０１−５と、当該記事に対する、投稿ユーザＩＤ２０１−２のユーザ以外のユーザの評価結果を整数値で表す有用度２０１−６とを有する。タグ２０１−５は、投稿ユーザＩＤ２０１−２のユーザが、必要であれば一つの記事に対して２つ以上付与してもよい。有用度２０１−６は、記事作成時は０で設定されるが、社内ＳＮＳのユーザが当該記事を有効であると評価するごとに、数値１が加算される。同じユーザが同じ記事に対して有効であると評価することは、１回のみ可能である。
【００３３】
記事ソフト関連情報２０２は、データ項目として、記事情報２０１の記事ＩＤ２０１−１で表される記事の関連情報であることを表す記事ＩＤ２０２−１と、記事ＩＤ２０２−１で表される記事に関連する開発業務用ソフトウェアを表すソフトＩＤ２０２−２と、記事ＩＤ２０２−１で表される記事に関連する開発業務用ソフトウェアであって、ソフトＩＤ２０２−２で表される開発業務用ソフトウェアのバージョンを表すバージョン２０２−３とを有する。記事ソフト関連情報２０２は、ひとつの記事ＩＤ２０２−１に対して、複数のソフトＩＤ２０２−２を持つことができる。この場合は、同じひとつの記事ＩＤ２０２−１に対して、関連するソフトＩＤ２０２−２の数だけ、記事ソフト関連情報２０２のレコードが存在することになる。
【００３４】
ユーザ情報２０３は、データ項目として、社内ＳＮＳのユーザを一意に識別するユーザＩＤ２０３−１と、ユーザの名前を表すユーザ名２０３−２とを有する。ユーザ情報２０３は、前述のデータ項目の他、社内ＳＮＳへの認証に用いるパスワードや、所属部署、役職、性別、趣味、自己紹介などの情報を有していてもよい。記事通知済ユーザ情報２０４は、データ項目として、ユーザ情報２０３によって社内ＳＮＳのユーザを一意に識別するユーザＩＤ２０４−１と、ユーザＩＤ２０４−１のユーザに対して通知済みの記事を記事情報２０１によって一意に識別する記事ＩＤ２０４−２とを有する。
【００３５】
ライセンス管理ＤＢ１２１は、構内ネットワークに接続する端末の情報を保管する端末情報２１１と、構内ネットワークに接続する端末にインストールされているソフトウェアの情報を保管するライセンス情報２１２と、構内ネットワークに接続する端末にインストール可能なソフトウェアの情報を格納するソフト情報２１３とを有する。
【００３６】
端末情報２１１は、データ項目として、当該端末を利用するユーザを識別するユーザＩＤ２１１−１と、当該端末を一意に識別する端末ＩＤ２１１−２と、当該端末の用途を表す用途２１１−３とを有する。ユーザＩＤ２１１−１は、前述のＳＮＳＤＢのユーザ情報２０３のデータ項目であるユーザＩＤ２０３−１と対応している。
【００３７】
ライセンス情報２１２は、データ項目として、ソフトウェアのインストール先の端末を識別する端末ＩＤ２１２−１と、端末ＩＤ２１２−１の端末にインストールされているソフトウェアを識別するソフトＩＤ２１２−２と、端末ＩＤ２１２−１の端末にインストールされている、ソフトＩＤ２１２−２で識別されるソフトウェアのバージョンを表すバージョン２１２−３とを有する。端末ＩＤ２１２−１は、端末情報２１１のデータ項目である端末ＩＤ２１１−２に対応している。ソフトＩＤ２１２−２は、後述のソフト情報２１３のデータ項目であるソフトＩＤ２１３−１に対応している。
【００３８】
ソフト情報２１３は、データ項目として、ソフトウェアを一意に識別するソフトＩＤ２１３−１と、ソフトＩＤ２１３−１で識別されるソフトウェアの名称を表すソフト名２１３−２と、ソフトＩＤ２１３−１で識別されるソフトウェアの種別を表すソフト種別２１３−３とを有する。ソフト種別２１３−３には、例えば、オペレーティングシステム、文書作成、電子メール、開発業務用などの種別を特定する値が格納される。
【００３９】
検索履歴ＤＢ１３１は、インターネット上の検索エンジンを用いた、構内ネットワークに接続されている端末のユーザによる技術情報検索の履歴を保管する技術情報検索履歴２２１と、技術情報検索履歴２２１に関連する開発業務用ソフトウェアの情報を保管する技術情報検索履歴関連ソフトウェア２２２とを有する。
【００４０】
技術情報検索履歴２２１は、データ項目として、検索履歴を一意に識別する検索履歴ＩＤ２２１−１と、検索履歴ＩＤ２２１−１で識別される検索を実行したユーザを表すユーザＩＤ２２１−２と、検索履歴ＩＤ２２１−１で識別される検索で指定された検索キーワードを表す検索キーワード２２１−３と、検索履歴ＩＤ２２１−１で識別される検索を実行した日付および時刻を表す検索実行日時２２１−４と、検索履歴ＩＤ２２１−１で識別される検索を行うことでユーザＩＤ２２１−２のユーザが欲しかった情報が得られなかったとき、当該ユーザがその情報を今どの程度欲しがっているかを数値で表す鮮度２２１−５を有する。ユーザＩＤ２２１−２は、ＳＮＳＤＢ１１１のユーザ情報２０３のデータ項目であるユーザＩＤ２０３−１に対応する。鮮度２２１−５は、０．００以上１．００以下の浮動小数点数で表される。
【００４１】
技術情報検索履歴関連ソフトウェア２２２は、データ項目として、技術情報検索履歴２２１の検索履歴ＩＤ２２１−１で表される検索履歴の関連情報であることを表す検索履歴ＩＤ２２２−１と、検索履歴ＩＤ２２２−１で表される検索履歴に関連する開発業務用ソフトウェアを表す関連ソフトＩＤ２２２−２と、検索履歴ＩＤ２２１−１で表される検索履歴に関連するソフトウェアであって、関連ソフトＩＤ２２２−２で表されるソフトウェアのバージョンを表すバージョン２２２−３とを有する。
【００４２】
＜情報レコメンド方式の概略＞
次に、上記のように構成された本実施形態の情報レコメンド方式において行われる処理について説明する。本実施形態の情報レコメンド方式では、図３Ａおよび３Ｂに示すように、ユーザがインターネットの検索エンジンを用いて端末のＷｅｂブラウザから検索したときに、当該検索が行われたという履歴情報を、当該検索に係る開発ツールとそのバージョンを表す情報とともに検索履歴ＤＢ１３１に保管する検索履歴ＤＢ保管処理を行う。この検索履歴ＤＢ１３１を用いて、図４Ａ〜４Ｃに示すように、社内ＳＮＳに記事が投稿されたときに、当該記事で触れている開発ツールについて過去にインターネット上の検索エンジンを用いて端末のＷｅｂブラウザから検索した技術情報検索履歴と照合し、投稿された記事と技術情報検索履歴との類似度や技術情報検索履歴の鮮度を基に評価値を計算し、一定以上の評価値が得られた技術情報検索履歴のユーザＩＤをもつユーザに対して当該記事が投稿されたことを通知するおすすめ情報通知処理を行う。ここで、投稿された記事と技術情報検索履歴との類似度は、図５に示す類似度計算処理によって行う。類似度計算処理の中では、図８の類似度乗数決定表を基にして類似度を計算する。
【００４３】
本実施形態の情報レコメンド方式においては、図３Ａおよび３Ｂの処理で検索履歴ＤＢ１３１に保管する技術情報検索履歴２２１は、検索履歴の鮮度という数値情報を持つ（図２の２２１−５）。この数値情報は、おすすめ情報を提示する先のユーザをよりよく選ぶことができるよう、図６に示す鮮度更新処理によって定期的に更新される。
【００４４】
本実施形態の情報レコメンド方式においては、社内ＳＮＳに投稿された記事に対して、社内ＳＮＳのユーザが当該記事を有用であるとして評価する機能を持つ。社内ＳＮＳのユーザによって社内ＳＮＳの記事が有用であると評価されるということは、当該記事が実際に社内のユーザの役に立ったということなので、図７Ａおよび７Ｂに示すように、改めて当該記事をおすすめ情報として提示するユーザを求め、当該ユーザに対して当該記事をおすすめ情報として提示するおすすめ情報再通知処理を行う。
【００４５】
以下において、上記概略に示した、検索履歴ＤＢ保管処理、おすすめ情報通知処理、類似度計算処理、類似度乗数決定表、鮮度更新処理、および、おすすめ情報再通知処理について説明する。
【００４６】
＜検索履歴ＤＢ保管処理＞
図３Ａおよび３Ｂは、図１の技術情報検索履歴保管部１３３で実行される、検索履歴ＤＢ保管処理を説明するためのフローチャートである。ユーザ端末１においてユーザがインターネットの検索エンジンを用いてＷｅｂブラウザから検索を行う（ステップ３０１）と、ステップ３０１によって発生したインターネットへの接続要求をプロキシサーバ１３０のユーザリクエスト受信部１３２が受信する。このとき、プロキシサーバ１３０は、当該接続要求を発行したユーザＩＤを識別できているかどうかを判定する（ステップ３０２）。識別できていない場合は、ユーザ端末１に、プロキシサーバ１３０で認証を行うためのユーザＩＤとパスワードの入力を要求する（ステップ３０３）。ユーザからユーザＩＤとパスワードの入力を受け付け、認証が成功したときは、次のステップ３０４に進む。不図示だが、ステップ３０３で正当なユーザＩＤとパスワードの入力が無かったときは、処理を終了する。ステップ３０１以前にすでにプロキシサーバ１３０がユーザＩＤを識別できている場合は、ステップ３０２からステップ３０４に進む。
【００４７】
プロキシサーバ１３０は、Ｗｅｂブラウザからのリクエストから検索キーワードを抽出する（ステップ３０４）。さらに、プロキシサーバ１３０での現在日時を求め、検索日時とする（ステップ３０５）。ステップ３０４で抽出した検索キーワードをライセンス管理ＤＢ１２１のソフト情報２１３のソフト名２１３−２と照合し、検索キーワードに含まれているソフト名２１３−２とソフトＩＤ２１３−１を抽出する（ステップ３０６）。ステップ３０６におけるソフト名２１３−２とソフトＩＤ２１３−１の抽出で、ソフト種別２１３−３が「開発ツール名」であるものが１件でも抽出されたかどうかを調べる（ステップ３０７）。ステップ３０６におけるソフト名２１３−２とソフトＩＤ２１３−１の抽出で、ソフト種別２１３−３が「開発ツール名」であるものが１件もないときは、処理を終了する。
【００４８】
ステップ３０６におけるソフト名２１３−２とソフトＩＤ２１３−１の抽出で、ソフト種別２１３−３が「開発ツール名」であるものが１件でもあるときは、検索履歴ＩＤを採番する（ステップ３０８）。ステップ３０８で採番した検索履歴ＩＤを検索履歴ＩＤ２２１−１に、識別されたユーザＩＤをユーザＩＤ２２１−２に、ステップ３０４で抽出された検索キーワードを検索キーワード２２１−３に、ステップ３０５で取得した検索日時を検索日時２２１−４に、固定の数値１．００を鮮度２２１−５に、それぞれ設定した技術情報検索履歴のレコードを作成し、技術情報検索履歴２２１に保管する（ステップ３０９）。
【００４９】
次に、ステップ３０６で抽出されたソフトＩＤとソフト名について、ステップ３１１で示す処理を繰り返し行う（ステップ３１０）。さらに、識別されたユーザＩＤに対して、端末情報２１１から、当該ユーザＩＤをユーザＩＤ２１１−１に持つ端末ＩＤ２１１−２を抽出し、抽出された端末ＩＤの分だけ、ステップ３１２からステップ３１４に示す処理を繰り返し行う（ステップ３１１）。ライセンス情報２１２のデータであって、現在の端末ＩＤと現在のソフトＩＤを持つライセンス情報２１２のデータを抽出する（ステップ３１２）。ステップ３１２でライセンス情報２１２のデータが抽出できた場合は、ステップ３０８で採番した検索履歴ＩＤを検索履歴ＩＤ２２２−１に、当該ソフトＩＤを関連ソフトＩＤ２２２−２に、抽出されたライセンス情報２１２のデータのバージョン２１２−３をバージョン２２２−３に、それぞれ設定した技術情報検索履歴関連ソフトウェアのレコードを作成し、技術情報検索履歴関連ソフトウェア２２２に格納する（ステップ３１３）。ステップ３１２でライセンス情報２１２のデータが抽出できなかった場合は、ステップ３０８で採番した検索履歴ＩＤを検索履歴ＩＤ２２２−１に、当該ソフトＩＤを関連ソフトＩＤ２２２−２に、空文字をバージョン２２２−３に、それぞれ設定した技術情報検索履歴関連ソフトウェアのレコードを作成し、技術情報検索履歴関連ソフトウェア２２２に格納する（ステップ３１４）。
【００５０】
＜おすすめ情報通知処理＞
図４Ａ〜４Ｃは、図１のＳＮＳ投稿記事関連技術情報抽出部１１３、ＳＮＳ投稿記事関連検索履歴抽出部１１４、および投稿記事情報通知部１１５によって実行されるおすすめ情報通知処理を説明するためのフローチャートである。ＳＮＳ投稿記事関連技術情報抽出部１１３は、図４Ａのステップ４０１からステップ４０８に示す、社内ＳＮＳに投稿された記事を解析し、関連する開発ツールの情報を記事ソフト関連情報２０２に保管する処理を行う。ＳＮＳ投稿記事関連検索履歴抽出部１１４は、図４Ａ，４Ｂのステップ４０９からステップ４１４に示す、社内ＳＮＳに投稿された記事に関連する開発ツールの情報を過去にインターネットの検索エンジンを用いて検索した技術情報検索履歴２２１および技術情報検索履歴関連ソフトウェア２２２のデータを抽出する処理を行う。投稿記事情報通知部１１５は、図４Ｂ，４Ｃのステップ４１５からステップ４２１に示す、ＳＮＳ投稿記事関連検索履歴抽出部１１４によって抽出された技術情報検索履歴２２１および技術情報検索履歴関連ソフトウェア２２２のデータを基に、社内ＳＮＳに投稿された記事と技術情報検索履歴の類似度を求め、技術情報検索履歴２２１の鮮度２２１−５を考慮して評価値を求め、一定の評価値を上回った場合に、技術情報検索履歴２２１のユーザＩＤ２２１−２に該当するユーザに当該記事をおすすめ情報として通知する処理を行う。
【００５１】
（ＳＮＳ投稿記事関連技術情報抽出部１１３）
ＳＮＳ投稿記事関連技術情報抽出部１１３は、ＳＮＳ投稿記事登録部１１２によって社内ＳＮＳに新規記事が登録されると、投稿された記事のタイトル、コンテンツおよびタグを自然言語解析にかけ、単語のリストを抽出する（ステップ４０１）。ステップ４０１で抽出された各単語について、以下のステップ４０３からステップ４０８で構成される処理を繰り返し行う（ステップ４０２）。
【００５２】
現在の単語が、ライセンス管理ＤＢ１２１のソフト情報２１３に含まれるソフト名２１３−２に一致しているかを調べる（ステップ４０３）。一致していない場合は、現在の単語での後続の処理（ステップ４０４からステップ４０８）は行わず、次の単語を現在の単語として再びステップ４０３からの処理を開始する。現在の単語が、ライセンス管理ＤＢ１２１のソフト情報２１３に含まれる何れかのソフト名２１３−２に一致している場合は、当該一致しているソフト名２１３ー２に対応するソフトＩＤ２１３−１を取得する（ステップ４０４）。投稿された記事の本文中から現在の単語を検索し、その出現位置を求め、その出現位置の直後の単語がx.xx.xxxxのような、半角英数字と半角ピリオドで構成されている文字列かどうかを調べる（ステップ４０５）。ステップ４０５においては、抽出された単語がバージョン文字列であるかどうかの判定を行っているが、バージョン文字列であるかどうかの判定は、ソフトの名称と該名称に続く可能性のあるバージョン文字列の対応を別途持っておき、それと対比する方式など、任意の方式を採用してよい。
【００５３】
ステップ４０５における判定で、直後の単語が半角英数字と半角ピリオドで構成されている文字列である場合は、当該単語をバージョン文字列として設定する（ステップ４０６）。ステップ４０５における判定で、直後の単語が半角英数字と半角ピリオドで構成されている文字列でない場合は、空文字をバージョン文字列として設定する（ステップ４０７）。ステップ４０７においては、端末情報２１１から、記事投稿者のユーザＩＤをユーザＩＤ２１１−１に持ち、用途２１１−３が開発用であるレコードを抽出し、該レコードの端末ＩＤ２１１−２を端末ＩＤ２１２−１に持ち、ステップ４０４で取得したソフトＩＤをソフトＩＤ２１２−２に持つライセンス情報２１２からバージョン２１２−３を取得して設定してもよい。ステップ４０６，４０７の後、社内ＳＮＳに新規登録された記事情報２０１の記事ＩＤ２０１−１を記事ＩＤ２０２−１に、ステップ４０４で取得したソフトＩＤ２１３−１をソフトＩＤ２０２−２に、ステップ４０６またはステップ４０７で設定されたバージョン文字列をバージョン２０２−３に、それぞれ設定した記事ソフト関連情報のレコードを作成し、記事ソフト関連情報２０２に追加する（ステップ４０８）。
【００５４】
以上のステップ４０３〜４０８の処理を、ステップ４０１で抽出された単語のリストの各単語ごとに繰り返し、全ての単語について処理が終了したら、当該繰り返し処理を終えてステップ４０９に進む。
【００５５】
（ＳＮＳ投稿記事関連検索履歴抽出部１１４）
ＳＮＳ投稿記事関連技術情報抽出部１１３の処理により記事ソフト関連情報２０２に１件でもデータを追加したかどうかを調べる（ステップ４０９）。１件も追加していない場合は、おすすめ情報通知処理を終了する。記事ソフト関連情報２０２に１件でもデータを追加した場合は、記事ソフト関連情報２０２に追加した情報のうち、ソフトＩＤ２０２−２をソフトＩＤ２１３−１に持つソフト情報２１３のデータを検索し、ソフト種別２１３−３がＯＳであるソフト情報２１３のデータがないかどうか調べる（ステップ４１０）。ステップ４１０での条件に該当するソフト情報２１３のデータがあった場合（すなわち、記事ソフト関連情報２０２に、ソフト種別がＯＳであるソフトの情報が１件以上追加されていた場合）は、ステップ４１４に進む。
【００５６】
ステップ４１０の判別で、記事ソフト関連情報２０２に、ソフト種別がＯＳであるソフトの情報が全く追加されなかった場合は、ステップ４１１からステップ４１３の処理を行って記事ソフト関連情報２０２にソフト種別がＯＳであるソフトの情報を追加したうえで、ステップ４１４に進む。つまり、記事投稿者のユーザＩＤをユーザＩＤ２１１−１に持つ端末情報２１１であって、用途２１１−３が開発用である端末情報２１１を取得する（ステップ４１１）。ステップ４１１については、特定のＯＳ専用に設計されたソフトウェアなど、前提ＯＳが明確なものについては、ソフトウェアと前提ＯＳの対応関係を持ったテーブルなどから自動的に設定してもよい。次に、ステップ４１１で取得した端末情報２１１の端末ＩＤ２１１−２を端末ＩＤ２１２−１に持つライセンス情報２１２であって、そのソフトＩＤ２１２−２をソフトＩＤ２１３−１に持つソフト情報２１３のソフト種別２１３−３がＯＳであるライセンス情報２１２を取得する（ステップ４１２）。次に、社内ＳＮＳに新規登録された記事情報２０１の記事ＩＤ２０１−１を記事ＩＤ２０２−１に、ステップ４１２で取得したライセンス管理情報２１２のソフトＩＤ２１２−２をソフトＩＤ２０２−２に、前述のライセンス管理情報２１２のバージョン２１２−３をバージョン２０２−３に、それぞれ設定した記事ソフト関連情報のレコードを作成し、記事ソフト関連情報２０２に追加する（ステップ４１３）。
【００５７】
次に、技術情報検索履歴２２１のレコードであって、該レコードの検索履歴ＩＤ２２１−１を検索履歴ＩＤ２２２−１に持つ技術情報検索履歴関連ソフトウェア２２２のレコードの集合に対し、関連ソフトＩＤ２２２−２に、ＳＮＳ投稿記事関連技術情報抽出部１１３において記事ソフト関連情報２０２に作成されたレコードのソフトＩＤ２０２−２がすべて含まれている、技術情報検索履歴２２１のレコードを抽出する（ステップ４１４）。要するに、上記ステップ４０８や４１３で記事ソフト関連情報２０２に追加されたレコードのソフトＩＤ２０２ー２をすべて関連ソフトＩＤ２２２ー２に持つ技術情報検索履歴関連ソフトウェア２２２のレコードを探索し、該技術情報検索履歴関連ソフトウェア２２２のレコードに対応する技術情報検索履歴２２１のレコードを抽出すればよい。
【００５８】
（投稿記事情報通知部１１５）
ＳＮＳ投稿記事関連検索履歴抽出部１１４において、技術情報検索履歴２２１のレコードが１件でも抽出されているかどうかを調べる（ステップ４１５）。１件も抽出されていない場合は、おすすめ情報通知処理を終了する。ＳＮＳ投稿記事関連検索履歴抽出部１１４において、技術情報検索履歴２２１のレコードが１件でも抽出されている場合は、該当する技術情報検索履歴２２１の各レコードについて、ステップ４１７からステップ４２０に示す処理を繰り返し行う（ステップ４１６）。
【００５９】
まず、ＳＮＳ投稿記事登録部１１２によって登録された記事情報２０１の記事ＩＤ２０１−１を記事ＩＤ２０２−１に持つ記事ソフト関連情報２０２のレコードと現在の技術情報検索履歴２２１のレコードを基に、類似度を計算する（ステップ４１７）。この類似度の計算例については、図５にて詳細に説明する。ステップ４１７で計算した類似度と現在の技術情報検索履歴２２１のレコードの鮮度２２１−５との積を計算し、評価値として設定する（ステップ４１８）。ステップ４１８で設定した評価値が所定の基準値（本例では基準値＝０．３０とした）以上であるかどうかを判定し（ステップ４１９）、そうであれば現在の技術情報検索履歴２２１のレコードのユーザＩＤ２２１−２をユーザ情報２０３のユーザＩＤ２０３−１に持つユーザに、当該記事をおすすめ情報として提示する（ステップ４２０）。
【００６０】
おすすめ情報をユーザに提示する手段は、おすすめ情報のタイトル、ＵＲＬや要約などの情報を、Ｅメールによって、提示先ユーザのメールアドレスに送付する手段が考えられる。他にも、社内イントラネットにユーザごとのＷｅｂによるポータル画面がある場合は、提示先ユーザがＷｅｂブラウザからポータル画面を開いたときに、おすすめ情報があることをポータル画面に表示し、具体的なおすすめ情報のタイトルを、おすすめ情報としているＳＮＳ記事へのハイパーリンクによって提示してもよい。
【００６１】
さらに、ステップ４２０でのユーザＩＤ２０３−１をユーザＩＤ２０４−１に、ＳＮＳ投稿記事登録部１１２によって登録された記事情報２０１の記事ＩＤ２０１−１を記事ＩＤ２０４−２に、それぞれ設定した記事通知済ユーザ情報のレコードを作成し、記事通知済ユーザ情報２０４に追加する（ステップ４２１)。ステップ４１８で設定した評価値が所定の基準値０以上でない場合、おすすめ情報の提示は行わず、次の技術情報検索履歴２２１のレコードについて続けて処理を行う。ステップ４１８で設定した評価値が所定の基準値以上でなく、現在の技術情報検索履歴２２１のレコードが最後のレコードである場合は、おすすめ情報通知処理を終了する。
【００６２】
なお、本実施形態においては、おすすめ情報として通知するか否かを決定するためのしきい値である評価値の基準値を０．３０としたが、これはあくまで一例であり、システム導入時の設定などによって０．００以上１．００以下の任意の値で設定してよい。
【００６３】
＜類似度計算処理＞
図５は、図４のフローチャートのステップ４１７における類似度の計算例を説明するためのフローチャートである。類似度計算処理では、類似度の初期値を浮動小数点数１．０に設定する（ステップ５０１）。ＳＮＳ投稿記事登録部１１２によって登録された記事情報２０１の記事ＩＤ２０１−１を記事ＩＤ２０２−１に持つ記事ソフト関連情報２０２のレコードについて、ステップ５０３からステップ５０５の処理を繰り返し行う（ステップ５０２）。
【００６４】
まず、ステップ５０２で述べた記事ソフト関連情報２０２の現在のレコードのソフトＩＤ２０２−２を関連ソフトＩＤ２２２−２に持つ技術情報検索履歴関連ソフトウェア２２２のレコードからバージョン２２２−３を取得する（ステップ５０３）。記事ソフト関連情報２０２の現在のレコードのバージョン２０２−３の値と、ステップ５０３で取得した、技術情報検索履歴関連ソフトウェア２２２のレコードのバージョン２２２−３の値とを比較し、図８に示す類似度乗数決定表に従って類似度の乗数を求める（ステップ５０４）。ステップ５０４で求めた類似度の乗数を類似度の現在の値に乗じ、新しい類似度の値とする（ステップ５０５）。ステップ５０２で示す繰り返し処理をすべて行った後の類似度の値を返す（ステップ５０６）。ステップ５０４において述べた、図８の類似度乗数決定表については、この直後に説明する。
【００６５】
＜類似度乗数決定表＞
図８は、図５における類似度の計算例における類似度の乗数の求め方の一例を示す表である。この類似度乗数決定表は、ステップ５０４での技術情報検索履歴関連ソフトウェア２２２のレコードのバージョン２２２−３の値と記事ソフト関連情報２０２の現在のレコードのバージョン２０２−３の値とを比較して類似度の乗数を求める際に利用する表である。なお、ここでは、メジャーバージョンを表す数値、マイナーバージョンを表す数値、およびリビジョンやビルドを表す数値をこの順でドットで連結した文字列でバージョンを表すものとする。
【００６６】
ステップ５０４での技術情報検索履歴関連ソフトウェア２２２のレコードのバージョン２２２−３の値とステップ５０４での記事ソフト関連情報２０２の現在のレコードのバージョン２０２−３の値が完全に等しいときは、類似度の乗数は１．０とする。
【００６７】
ステップ５０４での技術情報検索履歴関連ソフトウェア２２２のレコードのバージョン２２２−３の値とステップ５０４での記事ソフト関連情報２０２の現在のレコードのバージョン２０２−３の値がマイナーバージョンまで一致（すなわち、メジャーバージョンとマイナーバージョンは一致するが、リビジョンとビルドは異なる）し、ステップ５０４での技術情報検索履歴関連ソフトウェア２２２のバージョン２２２−３が、ステップ５０４での記事ソフト関連情報２０２の現在のレコードのバージョン２０２−３よりも古いときは、類似度の乗数は０．９とする。
【００６８】
ステップ５０４での技術情報検索履歴関連ソフトウェア２２２のレコードのバージョン２２２−３の値とステップ５０４での記事ソフト関連情報２０２の現在のレコードのバージョン２０２−３の値がマイナーバージョンまで一致（すなわち、メジャーバージョンとマイナーバージョンは一致するが、リビジョンとビルドは異なる）し、ステップ５０４での技術情報検索履歴関連ソフトウェア２２２のレコードのバージョン２２２−３がステップ５０４での記事ソフト関連情報２０２の現在のレコードのバージョン２０２−３よりも新しいときは、類似度の乗数は０．９５とする。
【００６９】
ステップ５０４での技術情報検索履歴関連ソフトウェア２２２のレコードのバージョン２２２−３の値とステップ５０４での記事ソフト関連情報２０２の現在のレコードのバージョン２０２−３の値がメジャーバージョンまで一致（すなわち、メジャーバージョンは一致するが、マイナーバージョンおよびリビジョンとビルドは異なる）し、ステップ５０４での技術情報検索履歴関連ソフトウェア２２２のレコードのバージョン２２２−３がステップ５０４での記事ソフト関連情報２０２の現在のレコードのバージョン２０２−３よりも古いときは、類似度の乗数は０．８とする。
【００７０】
ステップ５０４での技術情報検索履歴関連ソフトウェア２２２のレコードのバージョン２２２−３の値とステップ５０４での記事ソフト関連情報２０２の現在のレコードのバージョン２０２−３の値がメジャーバージョンまで一致（すなわち、メジャーバージョンは一致するが、マイナーバージョンおよびリビジョンとビルドは異なる）し、ステップ５０４での技術情報検索履歴関連ソフトウェア２２２のレコードのバージョン２２２−３がステップ５０４での記事ソフト関連情報２０２の現在のレコードのバージョン２０２−３よりも新しいときは、類似度の乗数は０．９とする。
【００７１】
ステップ５０４での技術情報検索履歴関連ソフトウェア２２２のレコードのバージョン２２２−３の値とステップ５０４での記事ソフト関連情報２０２の現在のレコードのバージョン２０２−３のうち、いずれかが指定なしのときは、類似度の乗数は０．７とする。
【００７２】
ステップ５０４での技術情報検索履歴関連ソフトウェア２２２のレコードのバージョン２２２−３の値とステップ５０４での記事ソフト関連情報２０２の現在のレコードのバージョン２０２−３の値がメジャーバージョンも一致せず、ステップ５０４での技術情報検索履歴関連ソフトウェア２２２のレコードのバージョン２２２−３がステップ５０４での記事ソフト関連情報２０２の現在のレコードのバージョン２０２−３よりも古いときは、類似度の乗数は０．４とする。
【００７３】
ステップ５０４での技術情報検索履歴関連ソフトウェア２２２のレコードのバージョン２２２−３の値とステップ５０４での記事ソフト関連情報２０２の現在のレコードのバージョン２０２−３の値がメジャーバージョンも一致せず、ステップ５０４での技術情報検索履歴関連ソフトウェア２２２のレコードのバージョン２２２−３がステップ５０４での記事ソフト関連情報２０２の現在のレコードのバージョン２０２−３よりも新しいときは、類似度の乗数は０．６とする。
【００７４】
＜鮮度更新処理＞
図６は、図１の技術情報検索履歴鮮度更新部１３４で実行される鮮度更新処理を説明するためのフローチャートである。この処理は、技術情報検索履歴２２１の各レコードに対し、例えば所定期間間隔で実行すればよい。
【００７５】
鮮度更新処理では、技術情報検索履歴２２１のレコード１件に対し、検索日時２２１−４から現在日時までの経過週数を求める（ステップ６０１）。ステップ６０１で求めた経過週数を用いて、１．００−０．０３×経過週数の値を求め、これが０．００以上であればそれを鮮度２２１−５の値として、当該技術情報検索履歴２２１のレコードを更新する。１．００−０．０３×経過週数の値が０．００未満であるときは、０．００を鮮度２２１−５の値として、当該技術情報検索履歴２２１のレコードを更新する（ステップ６０２）。
【００７６】
＜おすすめ情報再通知処理＞
図７Ａおよび７Ｂは、図１の記事評価更新部１１６によってＳＮＳ記事の評価が更新されたときに、評価記事情報通知部１１７で実行されるおすすめ情報再通知処理を説明するためのフローチャートである。本システムの社内ＳＮＳ１１０の例えばユーザ端末１のユーザは、ＳＮＳ投稿記事評価部１０５ー１を利用して、ＳＮＳ記事２０１の任意のレコードの有用度２０１ー６の更新を指示することができる。該指示を受けた社内ＳＮＳ１１０は、記事評価更新部１１６により、指示されたＳＮＳ記事２０１のレコードの有用度２０１ー６を更新する。該更新があったとき、評価記事情報通知部１１７により、本おすすめ情報再通知処理が実行される。
【００７７】
記事情報２０１のレコードの有用度２０１−６が更新されたとき、当該記事情報２０１の記事ＩＤ２０１−１を記事ＩＤ２０２−１に持つ記事ソフト関連情報２０２を探索し、１件以上データがあるかどうか調べる（ステップ７０１）。ステップ７０１で該当する記事ソフト関連情報２０２のデータがない場合は、おすすめ情報再通知処理を終了する。ステップ７０１で該当する記事ソフト関連情報２０２のデータがある場合は、技術情報検索履歴２２１のレコードであって、その検索履歴ＩＤ２２１−１を検索履歴ＩＤ２２２−１に持つ技術情報検索履歴関連ソフトウェア２２２の関連ソフトＩＤ２２２−２に、有用度２０１−６が更新された記事情報２０１の記事ＩＤ２０１−１を記事ＩＤ２０２−１に持つ記事ソフト関連情報２０２のレコードのソフトＩＤ２０２−２をすべて持つ技術情報検索履歴２２１のレコードを抽出する（ステップ７０２）。要するに、ステップ７０１で見つかった記事ソフト関連情報２０２のソフトＩＤ２２ー２を関連ソフトＩＤ２２２ー２に持つ技術情報検索履歴関連ソフトウェア２２２のレコードを探索し、該技術情報検索履歴関連ソフトウェア２２２のレコードに対応する技術情報検索履歴２２１のレコードを抽出すればよい。
【００７８】
ステップ７０２で、該当する技術情報検索履歴２２１のレコードが抽出されたかどうかを調べる（ステップ７０３）。該当する技術情報検索履歴２２１のレコードが抽出されていない場合は、おすすめ情報再通知処理を終了する。該当する技術情報検索履歴２２１のレコードが抽出されている場合は、該当する技術情報検索履歴２２１の各レコードについて、ステップ７０５からステップ７１０までの処理を繰り返し行う（ステップ７０４）。
【００７９】
まず、ステップ７０１で抽出された記事ソフト関連情報２０２のレコードと現在の技術情報検索履歴２２１のレコードから、図５の類似度計算処理により類似度を計算する（ステップ７０５）。「ステップ７０５で計算された類似度」×「現在の技術情報検索履歴２２１のレコードの鮮度２２１−５」＋「ＳＮＳ記事の評価が更新されたあとの当該記事の記事情報２０１の有用度２０１−６」×０．１を評価値として設定する（ステップ７０６）。ステップ７０６で設定された評価値が所定値（ここでは０．３０とした）以上であるかどうかを調べる（ステップ７０７）。ステップ７０７で評価値が所定値以上であるときは、現在の技術情報検索履歴２２１のレコードのユーザＩＤ２２１−２をユーザＩＤ２０４−１に持ち、有用度２０１−６が更新された記事情報２０１の記事ＩＤ２０１−１を記事ＩＤ２０４−２に持つ記事通知済ユーザ情報２０４がないかどうか調べる（ステップ７０８）。そのような記事通知済ユーザ情報２０４がないとき（すなわち、当該ユーザに当該記事情報を未だおすすめ情報として提示していなかったとき）は、現在の技術情報検索履歴２２１のレコードのユーザＩＤ２２１−２をユーザ情報２０３のユーザＩＤ２０３−１に持つユーザに、当該記事をおすすめ情報として提示する（ステップ７０９）。さらに、ステップ７０９でのユーザＩＤ２０３−１をユーザＩＤ２０４−１に、有用度２０１−６が更新された記事情報２０１の記事ＩＤ２０１−１を記事ＩＤ２０４−２に、それぞれ設定した記事通知済ユーザ情報のレコードを作成し、記事通知済ユーザ情報２０４に追加する（ステップ７１０）。
【００８０】
ステップ７０７で設定した評価値が所定値以上でない場合、おすすめ情報の提示は行わず、次の技術情報検索履歴２２１のレコードについて続けて処理を行う。ステップ７０８で、現在の技術情報検索履歴２２１のレコードのユーザＩＤ２２１−２をユーザＩＤ２０４−１に持ち、有用度２０１−６が更新された記事情報２０１の記事ＩＤ２０１−１を記事ＩＤ２０４−２に持つ記事通知済ユーザ情報２０４があった場合、当該ユーザには既に当該情報を通知済であるということであるから、おすすめ情報の提示は行わず、次の技術情報検索履歴２２１のレコードについて続けて処理を行う。ステップ７０２で抽出された技術情報検索履歴２２１の全レコードについて上記繰り返し処理が終了したら、おすすめ情報再通知処理を終了する。
【００８１】
（２）改良された実施形態
上述の「（１）基本的な実施形態」において、鮮度は、検索実行時からの時間経過のみによって計算した。しかし、鮮度は、情報の新しさを示すとともに、検索を行ったユーザがどれだけその情報を必要としているかを表す指標である。この意味で、鮮度は、検索日時以外にも、検索を行ったユーザの所属や業務上で関連する人物の変更の影響を受けると考えられる。ユーザの所属や、業務上で関連する人物の変更（例えば、グループウェアに登録されている会議の予約情報などから業務上で関連する人物を認識できる）があるということは、当該ユーザの担当業務に変更があった可能性が高いと考えられ、担当業務の変更以前にインターネットの検索エンジンで調査した内容についておすすめ情報を通知しても意味がないことがあるからである。このような場面を想定すると、鮮度を計算するときには、検索を行ったユーザの所属や、業務上で関連する人物に変更があったかどうかを調べ、業務上意味のある変更が認められた場合は、鮮度の値を現在の値に０．５を乗じたもので更新するようにしてもよい。ユーザの所属の変更は例えば人事システムと連携することで調査できる。また、業務上で関連する人物に変更があったかどうかは、グループウェアなどによってスケジューラが導入されている社内であれば、当該ユーザを含む会議の予約データを参照し、同時に予約されている人物の構成を判断材料とすればよい。
【００８２】
上記実施形態では、図５および図８で説明したように、バージョンの値がどの程度一致しているかに応じて類似度の乗数を決定し、決定した乗数を用いて類似度を計算した。しかし、類似度の計算方法はこれに限らず、検索履歴に係るソフトウェアとＳＮＳに投稿された記事に係るソフトウェアとの類似の程度を示す値を求めることができる任意の計算方法を用いて良い。また、多くの機能を備えたソフトウェアでは、ソフトウェアの機能ごとの互換性を考慮し、バージョンを単純に比較するだけでなく、ソフトウェア間の上位互換性や下位互換性を機能単位で評価して類似度の乗数を求めるようにしてもよい。
【００８３】
図９と図１０は、ソフトウェアの機能ごとの互換性を考慮して類似度の乗数を求める際に使用する表の例を示す。上述の基本的な実施形態の変形例として、これらの表を用いて類似度の乗数を求める方法を説明する。本変形例では、検索履歴でのソフトウェアのバージョンと記事に関連するソフトウェアのバージョンに加え、検索時の検索キーワードも考慮して類似度の乗数を決定する。まず、図９の表Ａを用いて、検索されたソフトウェアのＩＤと検索キーワードを基に、当該検索キーワードが有効な、当該ソフトウェアの「バージョンの有効範囲」を決定する。次に、決定した「バージョンの有効範囲」内にあるバージョンに対して図１０の表Ｂで類似度の乗数が設定されているので、この表を用いて類似度の乗数を求める。
【００８４】
例えば、技術情報検索履歴関連ソフトウェア２２２のレコードのバージョン２２２ー３が上記「バージョンの有効範囲」の外であるとき、その検索は「バージョンの有効範囲」外で当該ソフトにおける当該検索キーワードの機能について検索したものであり、あまり意味のない検索であるから、類似度の乗数は「0.0」であるとする。技術情報検索履歴関連ソフトウェア２２２のレコードのバージョン２２２ー３が上記表Ａに基づいて決定した「バージョンの有効範囲」内にあるとき、記事ソフト関連情報２０２のレコードのバージョン２０２ー３と一致すれば、類似度の乗数は「1.0」であるとする。一致しないときは、図１０の表Ｂによって決める。表Ｂに設定するバージョンと乗数は、ソフトウェアやキーワードによって異なるものとする。
【００８５】
具体例で説明する。例えば、ソフトウェアのＩＤが「ソフトＡ」、キーワード「機能Ｐ」のバージョン7.0について過去に検索を行ったユーザが存在し、ソフトウェアＩＤが「ソフトＡ」、キーワード「機能Ｐ」のバージョン6.0に関する記事が投稿されたとき、上記検索に係る技術情報検索履歴関連ソフトウェア２２２のレコードのバージョン２２２ー３は7.0であり、図９の表Ａから「バージョンの有効範囲」内にある。過去に検索を行ったユーザはバージョン7.0の情報を探していたので、表Ｂの「バージョン」7.0に対する類似度の乗数から、求める類似度の乗数は0.6となる。要するに、当該ソフトウェアの機能Ｐのバージョン6.0に関する記事が投稿されたときには、過去に当該ソフトウェアの機能Ｐのバージョン7.0について検索していたユーザに対して前記記事のお知らせ情報を提示する際の類似度としては、類似度の乗数は0.6程度であろうと考えられるということである。もし、同ソフトの同機能のバージョン5.0についての検索を過去に行っているユーザに対してであれば、当該機能が初めて実装されたバージョンにおいて当該機能について知りたいことがあったから検索したのだと考えられるので、前記記事をお知らせすることは有用と考えられるから、類似度の乗数は1.0としている。逆に、バージョン7.3について過去に検索していたユーザに対しては、既に当該機能が実装されてから幾度かのバージョンアップが為されているということであるから、該検索を行ったユーザも当該機能についてはある程度の知識を有しているものと考えられるので、前記記事をお知らせするか否か決定するための類似度を算出する元にな類似度の乗数は小さめの0.55としている。なお、このとき、表Ｂのバージョン6.0に対する類似度の乗数を1.0に更新してもよい。これは、バージョン6.0に関する記事情報が投稿されたということは、当該機能の当該バージョンに関して有用な情報があるから記事を投稿したと考えられるので、当該バージョン6.0について過去に検索したユーザがいれば、当該ユーザに対しては当該記事のお知らせ情報を提示する可能性を増加させるのが妥当と考えて、類似度の乗数を0.9から1.0に引き上げるものである。
【００８６】
（その他の実施形態）
以上、本発明者によってなされた発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【符号の説明】
【００８７】
１０１−１…検索キーワード入力部（ユーザ端末１）、１０２−１…おすすめ情報受信部（ユーザ端末１）、１０３−１…おすすめ情報表示部（ユーザ端末１）、１０４−１…ＳＮＳ投稿記事情報入力部（ユーザ端末１）、１０５−１…ＳＮＳ投稿記事評価部（ユーザ端末１）、１０１−２…検索キーワード入力部（ユーザ端末２）、１０２−２…おすすめ情報受信部（ユーザ端末２）、１０３−２…おすすめ情報表示部（ユーザ端末２）、１０４−２…ＳＮＳ投稿記事情報入力部（ユーザ端末２）、１０５−２…ＳＮＳ投稿記事評価部（ユーザ端末２）、１１１…ＳＮＳＤＢ、１１２…ＳＮＳ投稿記事登録部、１１３…ＳＮＳ投稿記事関連技術情報抽出部、１１４…ＳＮＳ投稿記事関連検索履歴抽出部、１１５…投稿記事情報通知部、１１６…記事評価更新部、１１７…評価記事情報通知部、１２１…ライセンス管理ＤＢ、１３１…検索履歴ＤＢ、１３２…ユーザリクエスト受信部、１３３…技術情報検索履歴保管１３４…技術情報検索履歴鮮度更新部。
【図１】
2013225181.tif 000003
【図２】
2013225181.tif 000004
【図３Ａ】
2013225181.tif 000005
【図３Ｂ】
2013225181.tif 000006
【図４Ａ】
2013225181.tif 000007
【図４Ｂ】
2013225181.tif 000008
【図４Ｃ】
2013225181.tif 000009
【図５】
2013225181.tif 000010
【図６】
2013225181.tif 000011
【図７Ａ】
2013225181.tif 000012
【図７Ｂ】
2013225181.tif 000013
【図８】
2013225181.tif 000014
【図９】
2013225181.tif 000015
【図１０】
2013225181.tif 000016