以下、本発明の実施形態を添付図面に基づいて説明する。
図1Aは、本発明の実施例を示し、アイデアチェックシステムの一例を示すブロック図である。アイデアチェックシステムは、検索サーバ100と、登録者端末400と、社内サーバ500と、これらを接続する社内ネットワーク310と、社外ネットワーク320を介して社内ネットワーク310に接続された社外サーバ600を含む計算機システムである。
登録者端末400は、アイデアの発案者等が利用する計算機で、入力装置410と出力装置415を介して検索サーバ100でアイデアの検索及び登録を行う。入力装置410は、キーボードやマウスあるいはタッチパネル等で構成される。出力装置415は、ディスプレイやスピーカ等の出力装置を含む。
社内サーバ500は、社内(又は組織内)で蓄積された情報を格納した社内データ510を管理する計算機である。社外(又は組織外)サーバ600は、ニュースやナレッジ等を格納した社外データ610を管理する計算機である。
検索サーバ100は、CPU101と、メモリ102と、記憶装置103と、社内ネットワーク310に接続されるインターフェース104を含む計算機である。記憶装置103は、不揮発性の記憶媒体で構成されてプログラムやデータ及びデータベース200を格納する。
記憶装置103が格納するプログラムとしては、クローラ110と、事例・アイデア検索プログラム120と、検索結果描画プログラム130と、スクリーニングプログラム140が格納される。各プログラムは記憶装置103からメモリ102へロードされて、CPU101によって実行される。
CPU101は、各プログラムに従って処理を実行することによって、所定の機能を提供する機能部として稼働する。例えば、CPU101は、事例・アイデア検索プログラム120に従って処理を実行することで事例及びアイデア検索部として機能する。他のプログラムについても同様である。さらに、CPU101は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
記憶装置103が格納するデータとしては、課題・解決策マップ150とデータベース200が格納される。データベース200は、図示しない管理プログラムによって管理される。
データベース200には、登録者データ210と、事例データ220と、事例詳細データ(社外)230と、事例詳細データ(社内)240と、事例詳細データ(登録者)250と、操作ログ260が含まれる。各データの詳細については後述する。
検索サーバ100のクローラ110は、社内サーバ500の社内データ510と、社外サーバ600の社外データ610をクローリングによってデータベース200に蓄積する。
そして、検索サーバ100の事例・アイデア検索プログラム120は、登録者端末400からアイデア(データ)を受け付けて、入力されたアイデアに類似するアイデアと、入力されたアイデアに関連する情報をデータベース200から検索する。検索結果描画プログラム130は検索結果を含む所定の画面を生成して登録者端末400へ出力する。
また、事例・アイデア検索プログラム120は、登録者端末400から受け付けたアイデア(入力データ)をデータベース200に登録して、検索対象のアイデアとして管理する。
但し、事例・アイデア検索プログラム120は、登録者端末400の利用者(例えば、発案者)からアイデアのデータベース200への自動登録と、検索対象のアイデアとして公開する許諾を取得しておく。
なお、事例・アイデア検索プログラム120は、登録者端末400からの指定に応じて検索対象のアイデアに公開条件(又は非公開の期間と範囲)を設定することができる。検索サーバ100は、非公開の期間が経過した後は、設定された範囲内の登録者端末400で当該アイデアを検索対象のアイデアとして利用する。なお、非公開の期間は、最大1年程度等予め設定した最大値に制限することもでき、検索対象の蓄積データとして有効に活用することもできる。
検索サーバ100は、登録者端末400からデータベース200に登録されたアイデアについて、スクリーニングプログラム140を所定のタイミングで実施して、同一の利用者のアイデアのうち、類似するアイデアを検索対象のアイデアから除外することができる。類似アイデアを検索する行為を、ナレッジの登録行為としているため、同様なアイデアを少し変更して何度も入力することが多発する。そこで、これにより、同一の利用者が過去に検索したアイデアと類似するアイデアが検索結果として複数出力されるのを防止することができる。
以上のように、検索サーバ100は、アイデアの検索とアイデアの登録を自動的に行うことで、登録者端末400の利用者に意識させることなくアイデアの検索と蓄積という2つの目的を実現することができる。また、検索と登録が一緒になっている弊害を解決するため、検索サーバ100は、スクリーニングを所定のタイミングで実施することにより、同一の利用者の類似するアイデアを検索対象から除外することで有意な検索結果を提供することができる。
なお、本実施例の検索サーバ100は、検索対象の入力データとしてアイデアを受け付けて、当該アイデアを蓄積して検索対象データとして公開する例を示したが、検索及び蓄積するデータはアイデアに限定されるものではない。
<処理の概要>
図1Bは、アイデアチェックシステムで行われる処理の一例を示すタイムチャートである。まず、検索サーバ100はクローラ110で社内サーバ500の社内データ510と、社外サーバ600の社外データ610でクローリングを行って情報を収集する(S1)。なお、クローラ110は、1日に1回などの所定の周期で実行される。
クローラ110は、収集した情報から必要なデータを抽出してデータベース200へ蓄積する(S2)。クローラ110は、社外データ610から抽出したデータを事例データ220と、事例詳細データ(社外)230に蓄積する。また、クローラ110は、社内データ510から抽出したデータを事例データ220と、事例詳細データ(社内)240に蓄積する。なお、クローラ110が取得する社外データ610や社内データ510の情報は、Webサイトやデータベースの情報である。
登録者端末400の利用者は、登録者IDとパスワード等の認証情報を入力して検索サーバ100にログインする(S3)。また、検索サーバ100は、認証の際のログイン情報を登録者データ210に格納する。
次に検索サーバ100は、アイデア(検索用データ)を自動的に登録し、検索結果で公開することに対する了承(又は同意)を受け付ける画面(図11で後述)を登録者端末400に出力して、入力装置410からの同意を受け付け、また、登録されるアイデアの公開条件を登録者端末400から受け付ける(S4)。なお、公開条件の設定は登録者端末400から受け付けるアイデア毎に異なる公開条件を受け付けるようにしてもよい。また、公開条件は、後述するように、公開期間と公開する利用者の範囲(会社、部署内、社内等)を含むことができる。
検索サーバ100は、登録者端末400から受け付けた利用者の了承と公開条件をデータベース200の事例データ220に登録する(S5)。次に、検索サーバ100は登録者端末400にアイデア入力画面(図12)を送信して、利用者が入力したアイデアを受け付ける(S6)。
アイデアの入力は、例えば、アイデア名と、課題及び解決策等の所定の項目で実行される。なお、以下で説明するステップS6~S15までの処理は、アイデア毎に繰り返して実行することができる。
アイデアを受け付けた検索サーバ100は、事例・アイデア検索プログラム120で、アイデアの検索とデータベース200への登録を実施する(S7:処理1)。検索サーバ100は、アイデアの検索結果をデータベース200から取得する(S8:処理1)。
なお、検索サーバ100が取得するアイデアの検索結果は、事例データ220に事例詳細データ(登録者)250を加えたアイデアの事例データと、事例データ220に事例詳細データ(社外)230を加えた関連情報(社外)の事例データと、事例データ220に事例詳細データ(社内)240を加えた関連情報(社内)の事例データを含むことができる。
検索サーバ100は、検索結果のうち事例詳細データ(社外)230と事例詳細データ(社内)240を含む情報をアイデアに関連する関連情報とし、事例詳細データ(登録者)250を含む情報を類似アイデアとして扱うようにしてもよい。
次に、検索サーバ100は、取得した検索結果を検索結果描画プログラム130へ入力して、レコメンド結果を生成させる(S9:処理2)。なお、レコメンド結果は、上記検索結果にアイデアの事例データの分析結果を加えた情報である。本実施例では、分析結果として主成分分析による課題・解決策マップ150(図9で後述)を表示する例を示したが、これに限定されるものではなく、アイデアチェックシステムの運用状況やユーザ等に応じて適宜分析の種類を変更することができる。
検索サーバ100は、検索結果描画プログラム130が生成したレコメンド結果を表示する検索結果表示画面を登録者端末400へ出力して、出力装置415に表示させる(S10)。登録者端末400の利用者は、出力装置415に表示されたレコメンド結果(類似アイデアや関連情報)の中から関心を示したレコメンド結果をマウスなどの入力装置410で選択する(S11)。
検索サーバ100は、登録者端末400から入力装置410の操作情報(クリックやスクロールや外部リンク参照)を取得して操作ログ260に登録する。操作ログ260には利用者が選択した事例データと、操作内容が格納される(S13)。
検索サーバ100は、選択されたレコメンド結果について事例データの詳細情報を登録者端末400に出力する(S13)。なお、以下の説明では、事例詳細データ(登録者)250と、事例詳細データ(社外)230と、事例詳細データ(社内)240を区別しない場合には、事例データの詳細情報とする。
また、検索サーバ100は、類似アイデアの事例詳細データ(登録者)250の詳細情報(図17)に対して利用者が登録者端末400から入力したコメント(フィードバック情報)を受け付ける(S14)。検索サーバ100は、入力されたコメントをフィードバック情報として取得してデータベース200へ登録する(S15)。なお、検索サーバ100は、入力されたフィードバック情報を、事例詳細データ(登録者)250にメタデータ等として付加することができる。
登録者端末400の利用者は、アイデアの検索が終了したのでログアウトを行う(S16)。検索サーバ100は、ログアウトを受け付けると登録者データ210にログアウト情報を格納する(S17)。
検索サーバ100は、所定の周期(例えば、毎日)でスクリーニングプログラム140を起動して、予め設定された選別条件に基づいて事例詳細データ(登録者)250の分類を実施する。検索サーバ100は、まず、データベース200の事例詳細データ(登録者)250から、同一の利用者が入力したアイデアを取得する(S18)。
検索サーバ100は、同一の利用者が所定の期間内に検索(及び登録)したアイデアのうち、類似するアイデアについて所定の選別条件で検索対象と除外対象に分類する。検索サーバ100は、分類した結果を事例詳細データ(登録者)250に登録する(S19)。
検索サーバ100は、アイデアを検索する度にアイデアの登録を実行するので、同一の利用者によって内容が非常に近いアイデアが複数登録される場合が生じる。同一の利用者の類似するアイデアが検索結果として複数出力されると、検索結果の内容が低下する場合がある。このため、検索サーバ100は、所定の周期で同一の利用者による類似するアイデアを検索対象から除外しておくことで、検索の品質を維持する。
以上の処理によって、検索サーバ100は、アイデアの発案者等の利用者が検索を利用する際に、アイデアの登録と公開の許諾を取得し、入力されたアイデアに類似する事例データの詳細情報を検索して登録者端末400へ提供し、入力されたアイデアをデータベース200へ自動的に登録することができる。以降、検索サーバ100は、利用者が検索したアイデアを先行するアイデアとして検索結果で公開することができる。
検索サーバ100は、登録及び公開の了承を得ている場合には入力されたアイデアについて利用者に意識させることなくデータベース200に蓄積して、検索対象のアイデアを拡充することができる。また、検索サーバ100は、蓄積されたアイデア(事例データ220及び事例詳細データ(登録者)250)について、同一の利用者で類似するアイデアを除外するスクリーニングを行い、検索結果から除外することで有意な検索結果(レコメンド結果)を提供することができる。
また、検索サーバ100は、公開するアイデアには利用者の要求に応じた公開条件を設定することで、利用者が意図しない期間に公開されるのを防止し、また利用者が意図しない範囲の他の利用者に対して公開されるのを防止することができる。
<データの構成>
図2は、登録者データ210の一例を示す図である。登録者データ210は、検索サーバ100を使用する利用者の情報を管理する。
登録者データ210は、登録者ID211と、LDAP212と、パスワード213と、氏名214と、メールアドレス215と、登録日時216と、所属217を1つのレコードに含む。
登録者ID211は、検索サーバ100が利用者に付与したユニークな識別子を格納する。LDAP(Lightweight Directory Access Protocol)212は、認証を行うサーバの情報を格納する。パスワード213は、認証情報を格納する。
氏名214は、検索サーバ100を利用する利用者名を格納する。なお、図中の「社外Webサイト」は社外サーバ600から社外データ610を取得する際のクローラ110の利用者名である。同様に、「社内データベース」は社内サーバ500から社内データ510を取得する際のクローラ110の利用者名である。
メールアドレス215は、利用者のメールの送信先を格納する。登録日時216は、利用者を登録した日時を格納する。所属217は、利用者が所属する組織名や部署名等を格納する。
図3は、事例データ220の一例を示す図である。事例データ220は、クローラ110が収集したデータや、登録者端末400から受け付けたデータ(アイデア)等の管理情報である。
事例データ220は、事例ID221と、ソース222と、登録日時223と、登録者ID224と、公開期間225と、公開範囲226と、スクリーニング判定227を1つのレコードに含む。
事例ID221は、検索サーバ100が当該事例データに付与した識別子を格納する。なお、事例ID221は、事例詳細データ(社外)230や事例詳細データ(社内)240あるいは事例詳細データ(登録者)250との関連付けを行う情報である。
ソース222は、当該事例データを取得した場所や登録者の情報を格納する。登録日時223は、当該事例データをデータベース200へ登録した日時を格納する。登録者ID224は、当該事例データを登録した利用者の識別子が格納される。公開期間225は、当該事例データ及び事例データの詳細情報を公開可能な時期又は期間を格納する。
公開範囲226は、当該事例データ及び事例データの詳細情報を公開可能な利用者の所属を格納する。公開可能な利用者の所属は、例えば、社内や社外の他に、部署やグループ単位で指定することができる。スクリーニング判定227は、スクリーニング処理の結果が格納され「OK」の場合は検索対象を示し、「NG」の場合は検索対象から除外するデータを示す。
図4は、事例詳細データ(社外)230の一例を示す図である。事例詳細データ(社外)230は、クローラ110が社外サーバ600から収集したデータの実体である。事例詳細データ(社外)230は、事例ID231と、URL232と、タイトル233と、本文234と、課題235と、解決策236を1つのレコードに含む。
事例ID231は、事例データ220の事例ID221に対応する値を格納する。URL232は、社外サーバ600から取得した情報が提供されたアドレスを格納する。タイトル233は、Webページなどの情報の表題を格納する。本文234は、Webページの内容やデータベースの文章などを格納する。
課題235は、クローラ110が収集した本文234から抽出した課題に関する情報を格納する。本文234から課題を抽出する際には、予め設定した機械学習モデル等を用いて課題に相当する情報を抽出して事例詳細データ(社外)230に登録しておく。
解決策236は、クローラ110が収集した本文234から抽出した解決策に関する情報を格納する。本文234から解決策を抽出する際には、予め設定した機械学習モデル等を用いて解決策に相当する情報を抽出して事例詳細データ(社外)230に登録しておく。
なお、課題や解決策を抽出する機械学習モデル等は、本文234のカテゴリなどに応じて、予め設定しておいたモデルを切り替えることが望ましい。
また、事例詳細データ(社外)230の項目は、上記の他に、特徴、業界、マネタイズの項目を含む。事例詳細データ(社内)240、事例詳細データ(登録者)250の項目についても同様である。
図5Aは、事例詳細データ(社内)240の一例を示す図である。事例詳細データ(社内)240は、クローラ110が社内サーバ500から収集したデータの実体である。事例詳細データ(社内)240は、事例ID241と、URL242と、タイトル243と、本文244と、課題245と、解決策246を1つのレコードに含む。
事例ID241は、事例データ220の事例ID221に対応する値を格納する。URL242は、社内サーバ500から取得した情報のアドレス又はパスを格納する。タイトル243は、情報の表題を格納する。本文244は、Webページやデータベースの文章などを格納する。
課題245は、クローラ110が収集した本文244から抽出した課題に関する情報を格納する。本文244から課題を抽出する際には、予め設定した機械学習モデル等を用いて課題に相当する情報を抽出して事例詳細データ(社内)240に登録しておく。
解決策246は、クローラ110が収集した本文244から抽出した解決策に関する情報を格納する。本文244から解決策を抽出する際には、予め設定した機械学習モデル等を用いて解決策に相当する情報を抽出して事例詳細データ(社内)240に登録しておく。
なお、課題や解決策を抽出する機械学習モデル等は、本文244のカテゴリなどに応じて、予め設定しておいたモデルを切り替えることが望ましい。
図5Bは、事例詳細データ(登録者)250の一例を示す図である。事例詳細データ(登録者)250は、登録者端末400から受け付けたアイデア(検索用データ)の実体である。
事例詳細データ(登録者)250は、事例ID251と、タイトル252と、本文253と、課題254と、解決策255を1つのレコードに含む。
事例ID251は、事例データ220の事例ID221に対応する値を格納する。タイトル252と、本文253と、課題254と、解決策255は、登録者端末400から受け付けたデータを格納する。
なお、事例詳細データ(登録者)250に登録するアイデアの項目は、上記に限定されるものではない。例えば、アイデアの項目としては、特徴や、業界、顧客、マネタイズ等、アイデアのカテゴリや分野に応じたフィールドを適宜追加することができる。また、事例詳細データ(社外)230や、事例詳細データ(社内)240の項目についても同様である。
図6は、操作ログ260の一例を示す図である。操作ログ260は、検索サーバ100が登録者端末400から収集した操作情報を格納する。操作ログ260は、登録者ID261と、事例ID262と、URL263と、操作名264と、操作265と、操作日時256を1つのレコードに含む。
登録者ID261は、登録者端末400を利用した登録者データ210の登録者ID211に対応する値を格納する。事例ID262は、登録者端末400で操作が行われた事例データ220の事例ID221に対応する値を格納する。URL263は、登録者端末400の利用者が閲覧したWebページやデータベース等のアドレスを格納する。アドレスは、例えば、事例詳細データ(社外)230のURL231や、事例詳細データ(社内)240のURL241等やリンク先の値を含む。
操作名264は、登録者端末400の入力装置410で行われた操作の名称が格納される。操作265は、操作名264によって利用者が行った操作が格納される。例えば、操作265にURLが格納されているレコードでは、事例ID262のURLや本文内のリンク先を閲覧したことが記録される。操作日時256は、当該レコードを生成した日時が格納される。
操作ログ260の情報を分析することで、利用者(登録者ID261)が興味を示した事例データの詳細情報(事例ID262)と、閲覧したリンク先や、Webサイト等での滞在時間を推定することができる。
<処理の詳細>
図7は、事例・アイデア検索プログラム120で行われる処理の一例を示すフローチャートである。この処理は、図1BのステップS7、S8の処理1で実施される。
なお、以下の説明では、検索サーバ100を処理の主体として記載するが、事例・アイデア検索プログラム120を処理の主体としてもよく、あるいはCPU101を処理の主体として読み替えてもよい。
ステップS21では、検索サーバ100は、事例・アイデア検索プログラム120を起動する。ステップS22では、検索サーバ100は、登録者端末400へアイデアの入力画面(図12)を出力して、アイデア名と課題及び解決策などの所定の項目の入力を受け付ける。また、検索サーバ100は、入力している利用者のログイン情報と公開条件を取得しておく。なお、公開条件は、前述したように、アイデア毎に受け付けるようにしてもよい。なお、公開条件の入力は利用者が必要に応じて設定すればよい。
ステップS22では、検索サーバ100が、入力されたアイデア名と課題及び解決策から事例データの詳細情報を検索する。検索サーバ100は、入力されたアイデアに含まれる単語を形態素解析等で抽出してから、類似又は一致する単語を含む事例詳細データ(登録者)250で、かつ事例データ220のスクリーニング判定227が「OK」のデータを検索する。なお、類似する単語の検索については、周知又は公知の技術を取得すればよいので、本実施例では詳述しない。
ステップS24では、図1BのステップS4で検索サーバ100が受け付けたアイデアの自動登録の了承がある利用者であれば、入力されたアイデアを事例データ220及び事例詳細データ(登録者)250へ登録する。
ステップS25では、検索サーバ100は、取得した検索結果の事例詳細データ(登録者)250について、課題と解決策が記載されているデータについて情報量Sを算出する。そして、検索サーバ100は、情報量Sが所定の閾値Th1以上の事例詳細データ(登録者)250を抽出する。
なお、情報量Sは、抽出された事例詳細データ(登録者)250に含まれる“ある単語”の数を単語Aとし、データベース200のキーワードの数をキーワードBとすると、データベース200に含まれる“ある単語”の数を単語Bとすると、
S=-Σ log P(単語A)=-Σ log((単語A+単語B)/(単語A+キーワードB)) ・・(1)
で表すことができる。Σは、事例詳細データ(登録者)250に含まれる単語で総和することを表す。これにより、検索サーバ100は、データベース200に登録されていない単語が多いほど情報量Sが多いデータとすることができる。
次に、ステップS26では、検索サーバ100が、検索の利用者が入力したアイデアをデータベース200へ登録して公開することを了承しているか否かを判定する。この判定は、図1BのステップS4で検索サーバ100が受け付けた了承の有無に基づいて実行する。検索の利用者が登録及び公開について了承している場合には、ステップS27へ進み、了承していない場合にはステップS28へ進んで、事例詳細データ(登録者)250以外のデータのみを提供する。
ステップS27では、検索サーバ100はステップS25で抽出した事例詳細データ(登録者)250に対応する事例データ220を参照して、ログイン情報と日時が公開期間225と公開範囲226を満たしているデータを抽出する。換言すれば、検索サーバ100は、公開条件を満たしていない事例データ220及び事例データの詳細情報を検索結果から除外する。
ステップS28では、検索サーバ100は、入力されたアイデアに類似又は関連するデータを、事例詳細データ(社外)230と事例詳細データ(社外)240から検索する。検索サーバ100は、入力された単語を含む関連情報あるいは入力された単語に類似する関連情報を検索する。なお、検索の手法については、周知又は公知の技術を適用すればよい。
そして、検索サーバ100は、ステップS27の事例詳細データ(登録者)250の検索結果と、ステップS28の関連情報(事例詳細データ(社外)230及び事例詳細データ(社内)240)からなる事例データの詳細情報を検索結果として出力する。
上記処理によって、検索サーバ100は、入力されたアイデアについて事例データ220及び事例詳細データ(登録者)250に登録及び公開することが了承されている場合には、入力されたアイデアに関連する事例詳細データ(登録者)250と、その他の事例データの詳細情報(関連情報)から検索が行われる。
一方、検索サーバ100の利用者が、入力したアイデアを登録及び公開することを了承していない場合、検索サーバ100は事例詳細データ(登録者)250を検索対象から除外して、事例詳細データ(社外)230と、事例詳細データ(社内)240の関連情報のみから入力されたアイデアに関連するデータの検索が行われる。
また、検索サーバ100は、検索結果の事例詳細データ(登録者)250の情報量Sが閾値Th1以上のデータを検索結果として提供することで、情報量Sが少ない検索結果を除外することが可能となる。
図8は、検索結果描画プログラム130で行われる処理の一例を示すフローチャートである。この処理は、図1BのステップS9の処理2で実施され、図9で後述する課題・解決策マップ150を生成する。
ステップS31では、検索サーバ100が、検索結果描画プログラム130を起動する。ステップS32では、検索サーバ100が、上記図7の処理1で検索した結果を取得する。
検索サーバ100は、利用者の登録者端末400へ、検索結果の表示態様を「課題中心」とするか、「解決策中心」とするかを問い合わせる。まず、ステップS33では、検索サーバ100は、検索結果の表示態様が「課題中心」であるか否かを判定する。「課題中心」の場合はステップS34に進み、そうでない場合にはステップS36へ進む。ステップS34では、検索サーバ100が、検索結果のそれぞれについて、アイデアの課題の文章から抽出されたデータと、アイデアの解決策から抽出された課題のデータをまとめる。
ステップS35では、検索サーバ100が、ステップS34でまとめたアイデア毎に課題の文章をベクトル化(多次元ベクトル)する。文章のベクトル化については、周知又は公知の技術を適用すればよく、例えば、Doc2VecやSCDV(Sparse Composite Document Vectors)等が知られている。
一方、ステップS36では、検索結果の表示態様が「解決策中心」であるか否かを判定する。「解決策中心」の場合はステップS37へ進み、そうでない場合には処理を終了する。
ステップS37では、検索サーバ100が、検索結果のそれぞれについて、アイデアの解決策の文章から抽出されたデータと、アイデアの課題から抽出された解決策のデータをまとめる。
ステップS38では、検索サーバ100が、ステップS37でまとめたアイデア毎に解決策の文章をベクトル化する。ステップS39では、検索サーバ100が、ステップS35又はS38でベクトル化された文章の主成分分析を実施する。7でまとめたアイデア毎に解決策の文章をベクトル化する。
ステップS40では、検索サーバ100が、主成分分析の結果を課題・解決策マップ150(図9参照)として生成する。本実施例では、検索サーバ100は第1主成分を横軸とし、第2主成分を縦軸として、課題・解決策マップ150を生成して各文章の分析結果をプロットする。
なお、図8の例では、検索サーバ100が課題と解決策について異なる課題・解決策マップ150を生成する例を示したが、これに限定されるものではない。例えば、図9の課題・解決策マップ150で示すように、横軸を課題の第1主成分とし、縦軸を解決策の第1主成分としてもよい。
この場合、課題・解決策マップ150の表示態様は、後述する図13の検索結果表示画面で、利用者が「すべて」のタブ4410を選択した場合には、図9のように課題の第1主成分と解決策の第1主成分の課題・解決策マップ150を表示し、「課題中心」のタブ4420を選択した場合には課題を主成分とする課題・解決策マップ150とし、「解決策中心」のタブ4430を選択した場合には解決策を主成分とする課題・解決策マップ150を表示させてもよい。
図9は、課題・解決策マップ150の一例を示す図である。図示の例では、課題の第1主成分の値と、解決策の第1主成分の値の位置に所定のマークをプロットし、マークの近傍には、アイデアのタイトル(S34又はS37でまとめたデータ)などを表示させる。
検索サーバ100の利用者は、課題・解決策マップ150のアイデア間の距離や位置から、入力したアイデアに近い他のアイデアを参照することができる。なお、他のアイデアのマークをクリックすることで他のアイデアの詳細情報を表示するようにしてもよい。
図10は、スクリーニングプログラム140で行われる処理の一例を示すフローチャートである。この処理は、図1BのステップS18、S19の処理3で実施され、図3の事例データ220のスクリーニング判定227を設定する。なお、以下の例では、毎日、検索サーバ100がスクリーニングプログラム140を実行して事例データ220と事例詳細データ(登録者)250の詳細情報を所定の選別条件に基づいて検索対象と除外対象に分類する例を示す。
ステップS51では、検索サーバ100が、スクリーニングプログラム140を起動する。ステップS52では、検索サーバ100が、スクリーニングプログラム140を起動した日付と、事例データ220の登録日時223の日付が一致する登録者ID224を抽出する。
ステップS53では、検索サーバ100が、抽出された登録者ID224を1つ取得して、当該登録者ID224に対応する事例詳細データ(登録者)250を抽出する。ステップS54では、検索サーバ100が、事例詳細データ(登録者)250の課題と解決策の文章を上述したようにベクトル化する。
ステップS55では、検索サーバ100が、上記ステップS53で抽出された事例詳細データ(登録者)250について課題と解決策のベクトルのコサイン類似度を類似度としてそれぞれ算出し、類似度が所定の閾値Th2以上の事例詳細データ(登録者)250を抽出する。また、検索サーバ100は、類似度が所定の閾値Th2未満の事例詳細データ(登録者)250については検索対象として設定する。
なお、本実施例では、事例詳細データ(登録者)250間の類似度をコサイン類似度により算出する例を示すが、これに限定されるものではない。例えば、ユークリッド距離などの周知又は公知の技術を適用することができる。
ステップS56では、検索サーバ100が、上記ステップS55で抽出された事例詳細データ(登録者)250が複数であるか否かを判定する。複数の場合にはステップS57へ進み、そうでない場合にはステップS62へ進む。
ステップS57では、抽出された各事例詳細データ(登録者)250について、事例ID221に対応する操作ログ260取得して、当該事例詳細データ(登録者)250に対する操作を分析して、操作に対する評価値を算出する。
評価値は、例えば、クリックの回数や、スクロールの操作日時266の間隔からの滞在時間等を数値化した指標である。評価値が高いほど、利用者が当該事例ID221の事例詳細データ(登録者)250に興味を示したことを意味する。なお、評価値の算出については、周知又は公知の技術を適用すればよいので、本実施例では詳述しない。そして、検索サーバ100は、複数の事例詳細データ(登録者)250のうち評価値が所定の閾値Th3以上のデータを抽出する。
次に、ステップS58で、検索サーバ100は、上記ステップS57で抽出された事例詳細データ(登録者)250が複数であるか否かを判定する。複数の場合にはステップS59へ進み、そうでない場合にはステップS62へ進む。
ステップS59では、検索サーバ100が、上記ステップS57で抽出された各の事例詳細データ(登録者)250について情報量Sを算出し、情報量Sが所定の閾値Th4以上の事例詳細データ(登録者)250を抽出する。なお、情報量Sの算出は、図7のステップS25と同様に行えばよい。
次に、ステップS60で、検索サーバ100は、上記ステップS59で抽出された事例詳細データ(登録者)250が複数であるか否かを判定する。複数の場合にはステップS61へ進み、そうでない場合にはステップS62へ進む。
ステップS61では、検索サーバ100が事例データ220の登録日時223が最先の事例詳細データ(登録者)250を抽出する。次に、ステップS62では、検索サーバ100が、1つに絞り込まれた事例データ220について、スクリーニング判定227を「OK」に設定し、それ以外の登録者ID224の事例データ220にはスクリーニング判定227に「NG」を設定する。
ステップS63では、上記ステップS52で抽出された登録者ID224のうち未処理のデータがなければ処理を終了し、未処理のデータがある場合には、ステップS53に戻って他の登録者ID224について上記処理を繰り返す。
上記処理によって、同一の登録者ID224の利用者が、複数の検索を実施して複数の事例データ220を登録した場合には、の事例詳細データ(登録者)250の類似度が閾値Th2以上で、操作ログ260の評価値が閾値Th3以上で、情報量Sが閾値Th4以上で、かつ、登録日時223が最先の事例詳細データ(登録者)250が検索対象として抽出され、スクリーニング判定227に「OK」が設定される。
換言すれば、同一の利用者が同日に検索したアイデアのうち、類似度は閾値Th2以上ではあるが、評価値や情報量Sが少なく、注目度も低く、他のアイデアよりも後に登録された事例データ220は、スクリーニング判定227が「NG」に設定されて検索対象から除外されることになる。
なお、上記では検索サーバ100が、1日に1回スクリーニング処理を行う例を示したが、これに限定されるものではなく、1週間毎など所定の周期で実行することができる。
<画面構成>
図11は、アイデアの登録及び利用に関する了承画面420の一例を示す図である。この画面は、図1Bに示したログイン後のステップS4で、検索サーバ100が登録者端末400に出力し、登録者端末400の出力装置415に表示される。
了承画面420は、検索の際に入力するアイデアを検索サーバ100のデータベース200へ自動的に登録し、検索結果として公開されることを了承する意思を設定するチェックボックス421と、検索を開始するスタートボタン422を含む。
利用者はチェックボックス421をチェックしてからスタートボタン422を操作すると、検索サーバ100はアイデアの入力画面を提供する。検索サーバ100は、入力されたアイデアに類似するアイデアや社内、社外の関連情報を検索し、入力されたアイデアをデータベース200に登録する。
一方、利用者がチェックボックス421をチェックせずにスタートボタン422を操作すると、検索サーバ100は入力されたアイデアに関連する社外と社内の関連情報は提供するが、事例詳細データ(登録者)250の情報は提供しない。したがって、検索サーバ100は、アイデアの登録及び公開を望まない利用者には、登録されたアイデアの公開を禁止する。
図12は、アイデアの入力画面430の一例を示す図である。入力画面430は、アイデアの入力項目として、アイデア名431と、課題432と、解決策433と、特徴434と、業界435と、顧客436と、マネタイズ437の入力欄を含む。なお、図7で示したように、課題432と、解決策433は、検索のキーワードを抽出する項目であるので、必須の入力項目とすることが望ましい。
課題432には、アイデアが解決すべき課題が入力される。解決策433には、課題を解決するための手法や仕組みが入力される。特徴434には、アイデアが発揮するであろう優位性等が入力される。
業界435には、当該アイデアを適用可能な業種が入力される。顧客436には、当該アイデアを利用可能な人や組織が入力される。マネタイズ437には、当該アイデアを実施する際の収益方法やビジネスモデル等が入力される。
登録者端末400の利用者は、アイデアの入力が完了すると検索開始を指示するボタン438(図中LET’S CHECK)をクリックすると、検索サーバ100は入力されたアイデアの検索を実行する。
図13は、検索結果の表示画面440の一例を示す図である。検索結果の表示画面440は、検索結果のアイデアと関連情報からなるレコメンド結果を表示する領域4400と、表示内容を切り替えるタブ4410~4450を有する。
領域4400には、行単位で検索結果のアイデア(事例詳細データ(登録者)250)や関連情報(社内データ510又は社外データ610)が表示される。検索結果の項目としては、アイデア名441と、課題442と、解決策443と、特徴444と、業界445と、顧客446と、マネタイズ447を含む。
領域4400に表示される検索結果は、所定の条件でソートされて表示される。例えば、検索サーバ100は、課題、解決策のベクトルのコサイン類似度を算出し、コサイン類似度の高い順に事例データの詳細情報をソートする。あるいは、検索サーバ100が、情報量Sの多い順に事例データの詳細情報をソートして表示してもよい。ベクトルを用いた計算以外にも、TF-IDF(Term Frequency - Inverse Document Frequency)などにより、文章の類似度を計算してもよい。
図中左側のタブは、領域4400に表示される事例詳細データ(登録者)250の検索結果の表示を切り替える。例えば、図中「すべて」のタブ4410が選択されると、課題と解決策の文章をベクトル化してコサイン類似度の高い順に事例詳細データ(登録者)250を行単位のリストで表示される。
あるいは、タブ4410が選択されると、検索サーバ100は、図9で示した課題・解決策マップ150を領域4400内に表示してもよい。また、検索結果の表示画面440には、事例詳細データ(登録者)250のリスト表示と、主成分分析のグラフ表示を切り替えるオブジェクトを加えてもよい。
図中「課題中心」のタブ4420が選択されると、検索サーバ100は、事例詳細データ(登録者)250の課題の文章をベクトル化してコサイン類似度の高い順に事例詳細データ(登録者)250が行単位のリストで表示される。
あるいは、タブ4420が選択されると、検索サーバ100は、図9のステップS34~S40で示したように、横軸を課題の第1主成分とし、縦軸を課題の第2主成分とした課題・解決策マップ150を領域4400内に表示してもよい。
図中「解決策中心」のタブ4430が選択されると、検索サーバ100は、事例詳細データ(登録者)250の解決策の文章をベクトル化してコサイン類似度の高い順に事例詳細データ(登録者)250を行単位のリストで表示される。
あるいは、タブ4430が選択されると、検索サーバ100は、図9のステップS37~S40で示したように、横軸を解決策の第1主成分とし、縦軸を解決策の第2主成分とした課題・解決策マップ150を領域4400内に表示してもよい。
次に、領域4400の上方には、社内データ510の検索結果を表示するタブ4440と、社外データ610の検索結果を表示するタブ4450が配置される。タブ4440又はタブ4450を選択することで、入力したアイデアの関連情報(コンテンツ)として社内データ510や社外データ610をリストなどで表示することができる。登録者端末400の利用者は、リストの表示画面で詳細を参照したいデータをダブルクリック等で指定すると、図16で後述するような情報表示画面470で社内データ510や社外データ610等のコンテンツを閲覧することができる。
登録者端末400の利用者は、検索結果の表示画面440を参照することで、既に発案されたアイデアのうち、入力したアイデアと課題が近似するアイデアや、解決策が近似するアイデアを直感的に把握することが可能となる。これにより、利用者はアイデアのブラッシュアップや、アイデアの視点の修正などを検討することが可能となる。
また、入力したアイデアに関連するコンテンツ(関連情報)を社内データ510や社外データ610から抽出して閲覧することができ、アイデアのブラッシュアップに利用することができる。
図14は、検索結果の絞り込み画面450の一例を示す図である。絞り込み画面450は、図13に示した検索結果の表示画面440で設定ボタン(図示省略)の操作によってポップアップ表示される。
絞り込み画面450は、入力したアイデアの検索で使用する項目やコンテンツ(データ)を調整する。
ボタン451は、事例詳細データ(登録者)250の全ての項目を検索で使用するか否かを設定する。ボタン452は、事例詳細データ(登録者)250の課題の項目を検索で使用するか、又は除外するかを設定する。
ボタン453は、事例詳細データ(登録者)250の解決策の項目を検索で使用するか、又は除外するかを設定する。ボタン454~457は、事例詳細データ(登録者)250の業界、顧客、マネタイズの項目を検索で使用するか、又は除外するかを設定する。
チェックボックス458は、検索結果として表示するコンテンツを選択する。検索結果として表示するコンテンツ(関連情報)としては、社内データ510と社外データ610を選択することができる。
図15は、登録された情報の管理画面460の一例を示す図である。管理画面460は、データベース200に登録された事例データ220及び事例詳細データ(登録者)250の詳細情報を管理する。アイデアの管理画面460は、検索サーバ100の管理者等によって使用される。
ボタン461は、複数のボタンのうち「呼び出す」、「1年後に公開」、「登録」、「参考回数:**回」、「削除」で構成した例を示す。「呼び出す」を選択することで、図13に示した検索結果の表示画面に移動することができる。
「1年後に公開」を選択すると、1年間は検索対象から除外される。「登録」を選択すると、当該事例詳細データ(登録者)250を検索対象に設定する。「削除」を選択すると、当該事例データ220及び詳細情報を削除する。
「参考回数:**回」を選択すると、そのアイデアを参考にした他の人の情報を参照することができる。参照することができる情報として、参考にした人が誰なのか、参考にした人が検索したサービスの内容、検索日時などの情報がある。「**回」の「**」には、参考にされた回数が書かれている。この情報を参照することで、情報が蓄積された後にも参考にされたことを知ることが可能になり、先に情報を蓄積した場合でも連絡することができる。
図16は、検索結果の情報表示画面470の一例を示す図である。情報表示画面470は、登録者端末400の利用者が、図13に示した検索結果の表示画面440で、タブ4440又はタブ4450を選択し、社内データ510又は社外データ610のリスト画面(図示省略)上で選択した情報の詳細を表示する。
領域471には選択された社内データ510と社外データ610のいずれかが表示される。図示の領域471は、社外データ610のニュースサイトが表示される例を示す。
図17は、検索結果の詳細表示ウインドウ480の一例を示す図である。詳細表示ウインドウ480は、図13の検索結果の表示画面440でリスト表示された事例詳細データ(登録者)250のうち、ダブルクリックなどで選択された行の詳細な情報をポップアップで表示する。
詳細表示ウインドウ480は、事例詳細データ(登録者)250に登録されているタイトル名、課題、解決策、特徴、業界、顧客、マネタイズの各項目の内容が拡大して表示される。また、詳細表示ウインドウ480内のボタン481をクリックすることで、詳細表示ウインドウ480の情報を登録した登録者へのコメントを送信する画面(図示省略)へ遷移することができる。利用者は、コメントの送信画面から登録者のアイデアに対するフィードバック等を送信することができる。
<結び>
以上説明したように本実施例の検索サーバ100は、アイデアの登録と公開の許諾に基づいて入力されたアイデアをデータベース200へ自動的に登録し、入力されたアイデアに類似する事例データ220を検索して、登録者端末400へ提供することができる。以降、検索サーバ100は、利用者が検索したアイデアを、先行するアイデアとして検索結果で公開することができる。このように、検索サーバ100は、利用者が明示的に登録しなくても検索の際に入力されたアイデアをデータベース200へ自動的に蓄積して、実施する予定が不明のアイデアを登録することで、検索対象のアイデアを拡充することができる。
また、検索サーバ100は、蓄積されたアイデア(事例データ220及び事例詳細データ(登録者)250)のスクリーニングを実施することで、同一の利用者の類似するアイデアを除外して、有意な検索結果(レコメンド結果)を提供することができる。
また、検索サーバ100は、検索結果として公開するアイデアには利用者の要求に応じた公開条件を設定することで、利用者が意図しない期間に公開されるのを防止し、また利用者が意図しない範囲の他の利用者に対して公開されるのを防止することができる。
なお、上記実施例では、事例データ220と事例データの詳細情報を分離する例を示したが、事例データ220と事例データの詳細情報を一体にして管理してもよい。この場合、利用者のアイデアを蓄積した登録者事例データと、社内データ510と社外データ610からクローリングした外部事例データとして管理してもよい。
上記実施例の検索サーバ100は、以下のような構成とすることができる。
(1)プロセッサ(CPU101)とメモリ(102)を有して検索と登録を行う検索且つ登録装置(検索サーバ100)であって、データ(アイデア)を受け付けて、前記データと類似するデータを予め設定した事例データ(事例詳細データ(登録者)250)から検索して検索結果を出力する検索部(事例・アイデア検索プログラム120)と、検索した前記データを前記事例データ(250)へ自動的に登録する登録部(ステップS24)と、予め設定した選別条件に基づいて、前記事例データ(250)を検索対象と検索対象外に分類するスクリーニング部(スクリーニングプログラム140)と、を有することを特徴とする検索装置。
上記構成により、検索サーバ100は類似するアイデアや先行するアイデアを検索する際に、アイデア(検索内容)を登録する許諾を得るだけで発案者(登録者)は日頃行っている行動をとると自動的にアイデアが蓄積することが可能となって、アイデアの登録が容易になり事例データ220(ナレッジ)の蓄積を促進する。さらに、検索サーバ100が類似するアイデアの分類を高精度で実施することにより、有意な検索結果を得ることが可能となる。
(2)上記(1)に記載の検索装置であって、前記検索部(120)は、検索するデータを受け付ける際には、当該検索装置(100)の利用者の認証を行い、前記スクリーニング部(140)は、同一の前記利用者が所定の期間内に検索した際に自動的に登録された前記事例データ(250)を抽出して、前記抽出された事例データ(250)の類似度を算出し、前記類似度が所定の閾値Th2以上の前記事例データ(250)を抽出し、前記抽出された事例データ(250)について検索対象と検索対象外に分類することを特徴とする検索装置。
上記構成により、検索サーバ100は、事例詳細データ(登録者)250の文章をベクトル化してコサイン類似等で類似度を算出し、類似度が所定の閾値Th2以上の事例詳細データ(登録者)250について検索対象と検索対象外に分類する。これにより、同一の利用者のアイデアのうち、類似するアイデアを検索対象のアイデアから除外することができ、利用者が過去に検索したアイデアと類似するアイデアが検索結果として複数出力されるのを防止することができる。
(3)上記(2)に記載の検索装置であって、前記スクリーニング部(140)は、前記分類された事例データ(250)について、当該事例データ(250)の利用状況に基づいて評価値を算出し、前記評価値が所定の閾値Th3以上の事例データ(250)のうちの1つを検索対象とし、その他を検索対象外として分類することを特徴とする検索装置。
上記構成により、検索サーバ100は、類似度が所定の閾値Th2以上の事例詳細データ(登録者)250のうち、検索の際の利用状況に基づく評価値の高い事例詳細データ(登録者)250から検索対象を抽出することができる。これにより、検索サーバ100は、有意な検索結果を提供することが可能となる。
(4)上記(2)に記載の検索装置であって、前記スクリーニング部(140)は、前記分類された事例データ(250)について、当該事例データ(250)の情報量Sを算出し、前記情報量Sが所定の閾値Th4以上の事例データ(250)のうちの1つを検索対象とし、その他を検索対象外として分類することを特徴とする検索装置。
上記構成により、検索サーバ100は、類似度が所定の閾値Th2以上の事例詳細データ(登録者)250のうち、情報量Sの多い事例詳細データ(登録者)250から検索対象を抽出することができる。これにより、検索サーバ100は、有意な検索結果を提供することが可能となる。
(5)上記(3)又は(4)に記載の検索装置であって、前記スクリーニング部(140)は、前記事例データ(250)のうち当該事例データ(250)への登録日時(222)が最先の事例データ(250)を検索対象とし、その他を検索対象から除外することを特徴とする検索装置。
上記構成により、検索サーバ100は、同一の登録者ID224の利用者が、複数の検索を実施して複数の事例データ220を登録した場合には、事例データの詳細情報の類似度が閾値Th2以上で、操作ログ260の評価値が閾値Th3以上、情報量Sが閾値Th4以上で、かつ、登録日時223が最先の事例データ220が検索対象として抽出され、スクリーニング判定227に「OK」が設定される。これにより、同一の利用者のアイデアのうち、類似するアイデアを検索対象のアイデアから除外することができ、利用者が過去に検索したアイデアと類似するアイデアが検索結果として複数出力されるのを防止することができる。
(6)上記(1)に記載の検索装置であって、前記検索部(120)は、前記検索するデータについて、当該検索装置(100)による登録及び公開に関する同意を受け付けて、前記同意が得られた場合には蓄積された前記事例データ(250)から検索を実行し、前記同意が得られなかった場合には外部のデータ(事例詳細データ(社外)230、事例詳細データ(社内)240)から検索を実行することを特徴とする検索装置。
上記構成により、検索サーバ100は、アイデアの登録及び公開に同意しない利用者には、事例詳細データ(登録者)250の提供を禁止して、事例詳細データ(社外)230又は事例詳細データ(社内)240のデータのうち公開範囲226を満たすデータのみで検索を行う。
(7)上記(6)に記載の検索装置であって、前記検索部(120)は、前記登録及び公開に関する同意が得られた場合には、前記データの公開条件(公開期間225、公開範囲226)を受け付けて前記事例データ(250)に前記公開条件(225、226)を登録し、前記データの検索の際には前記公開条件(224、225)を満たす事例データ(250)を用いて検索を行うことを特徴とする検索装置。
上記構成により、検索サーバ100は、公開条件を満たすまでは事例詳細データ(登録者)250を検索対象から除外することができる。これにより、守秘義務のあるアイデアについても検索サーバ100に登録し、後に公開することができる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を含むものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、又は、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。