IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社エクサの特許一覧

<>
  • 特許-知識収集支援システム 図1
  • 特許-知識収集支援システム 図2
  • 特許-知識収集支援システム 図3
  • 特許-知識収集支援システム 図4
  • 特許-知識収集支援システム 図5
  • 特許-知識収集支援システム 図6
  • 特許-知識収集支援システム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-19
(45)【発行日】2024-04-30
(54)【発明の名称】知識収集支援システム
(51)【国際特許分類】
   G06Q 10/10 20230101AFI20240422BHJP
   G06Q 10/06 20230101ALI20240422BHJP
   G16Y 10/75 20200101ALI20240422BHJP
【FI】
G06Q10/10 310
G06Q10/06
G16Y10/75
【請求項の数】 13
(21)【出願番号】P 2020102109
(22)【出願日】2020-06-12
(65)【公開番号】P2021196795
(43)【公開日】2021-12-27
【審査請求日】2023-05-09
(73)【特許権者】
【識別番号】591057256
【氏名又は名称】株式会社エクサ
(74)【代理人】
【識別番号】110002572
【氏名又は名称】弁理士法人平木国際特許事務所
(72)【発明者】
【氏名】齊藤 良介
(72)【発明者】
【氏名】石川 美紀
(72)【発明者】
【氏名】鈴木 肖太
(72)【発明者】
【氏名】▲高▼桑 美季
(72)【発明者】
【氏名】濱野 莞月
(72)【発明者】
【氏名】増田 美奈
【審査官】和田 財太
(56)【参考文献】
【文献】特開2019-175203(JP,A)
【文献】特開2007-004504(JP,A)
【文献】特開2004-295484(JP,A)
【文献】特開2016-103270(JP,A)
【文献】特開2020-077024(JP,A)
【文献】特開2016-153965(JP,A)
【文献】特開2020-013514(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/10
G06Q 10/06
G16Y 10/75
(57)【特許請求の範囲】
【請求項1】
情報システム開発プロジェクトにおいて必要となる知識を収集することを支援する知識収集支援システムであって、
過去に実施された開発プロジェクトに関する質問を含む自然言語文字列を記述した質問データをチャットツールが発信するメッセージとして受け取る発話データ収集部、
機械学習モデルを用いて前記質問データを分類するように構成された分類器、
前記分類器による分類結果と前記質問データを用いて、前記チャットツールにおける過去の会話ログを検索する、全文検索部、
前記検索の結果を画面表示するユーザインターフェース、
を備え、
前記知識収集支援システムはさらに、前記会話ログを記録するとともに、前記会話ログのなかでその会話内容に関する開発プロジェクトにおいて必要となる知識を有している者として取り扱われた有識者のIDを記録する、データベースを備え、
前記全文検索部は、前記会話ログを検索する際に、前記会話ログにおける前記有識者のうち前記分類結果に対応するものを併せて検索し、
前記ユーザインターフェースは、前記検索の結果として、前記有識者のIDを画面表示し、
前記ユーザインターフェースは、前記検索の結果として得られた前記有識者のIDを選択することにより、前記チャットツールにおいてその有識者と会話を開始できるように構成されている
ことを特徴とする知識収集支援システム。
【請求項2】
前記データベースは、過去に実施された開発プロジェクトの分類属性と、その開発プロジェクトに参加した前記有識者のIDとを関連付けて記録しており、
前記全文検索部は、前記分類器が前記質問データを分類することにより得られた分類属性と合致する分類属性を有する前記開発プロジェクトを前記データベースから検索するとともに、その合致した前記開発プロジェクトに参加した前記有識者のIDを検索し、
前記ユーザインターフェースは、前記合致した開発プロジェクトに参加した前記有識者のIDを画面表示する
ことを特徴とする請求項1記載の知識収集支援システム。
【請求項3】
前記ユーザインターフェースは、前記分類器が前記質問データを分類することにより得られた分類属性と合致する前記開発プロジェクトと、その開発プロジェクトに参加した前記有識者との間の関連性を表すグラフを、前記全文検索部による検索結果として画面表示する
ことを特徴とする請求項2記載の知識収集支援システム。
【請求項4】
前記データベースは、過去に実施された開発プロジェクトに参加した前記有識者のその開発プロジェクトにおける役割、または、その開発プロジェクトに参加した期間、のうち少なくともいずれかを記録しており、
前記ユーザインターフェースは、前記役割の重要性または前記参加した期間の長さにしたがって、前記グラフ上における前記開発プロジェクトと前記有識者との間の接続の強弱を表すように構成されている
ことを特徴とする請求項3記載の知識収集支援システム。
【請求項5】
前記データベースは、過去に実施された開発プロジェクトに関する質問に対する前記有識者の貢献度を表すデータを、前記有識者のIDごとに記録しており、
前記ユーザインターフェースは、前記貢献度にしたがって、前記グラフ上における前記開発プロジェクトと前記有識者との間の接続の強弱を表すように構成されている
ことを特徴とする請求項3記載の知識収集支援システム。
【請求項6】
前記全文検索部は、前記開発プロジェクトを前記データベースから検索するとき、検索条件に合致する程度を表すスコアを検索結果とともに取得し、
前記ユーザインターフェースは、前記スコアにしたがって、前記グラフ上における前記開発プロジェクトと前記有識者との間の接続の強弱を表すように構成されている
ことを特徴とする請求項3記載の知識収集支援システム。
【請求項7】
前記データベースは、前記ユーザインターフェースにおいて選択された前記有識者が参加した開発プロジェクトの分類属性と、その有識者との会話における発話データとを関連付けて記録し、
前記分類器は、前記選択された有識者が参加した開発プロジェクトの分類属性と前記発話データとを学習データとして学習することにより、前記選択された有識者が参加した開発プロジェクトの分類属性にしたがって前記発話データを分類する
ことを特徴とする請求項2記載の知識収集支援システム。
【請求項8】
前記知識収集支援システムはさらに、前記質問データに含まれる自然言語文字列が質問を含むか否かを、前記チャットツールにおいて発信されるメッセージごとに判断する、質問判断器を備え、
前記分類器は、前記質問データに含まれる自然言語文字列が質問を含む旨を前記質問判断器が判断した場合は、前記分類器によるその質問データの分類結果とその質問データを学習データとして学習し、
前記分類器は、前記質問データに含まれる自然言語文字列が質問を含まない旨を前記質問判断器が判断した場合は、その質問データを学習データとして用いない
ことを特徴とする請求項1記載の知識収集支援システム。
【請求項9】
前記分類器は、前記質問データを、
前記質問データが関連する情報システムの種別、
前記質問データが関連する開発プロジェクトの特性、
前記質問データが関連する開発プロジェクトにおいて使用した技術、
のうちすくなくともいずれかの分類属性に基づいて分類するように構成されており、
前記全文検索部は、前記分類属性にしたがって前記質問データを分類した結果を用いて前記会話ログを検索する
ことを特徴とする請求項1記載の知識収集支援システム。
【請求項10】
前記データベースは、過去に実施された開発プロジェクトの分類属性として、
情報システムの種別、
開発プロジェクトの特性、
開発プロジェクトにおいて使用した技術、
のうちすくなくともいずれかを記録しており、
前記分類器は、前記データベースが記録している前記分類属性にしたがって、前記質問データを分類し、
前記全文検索部は、前記分類属性にしたがって前記質問データを分類した結果を用いて前記会話ログを検索することにより、前記質問データによって質問する開発プロジェクトに関連する前記有識者のIDを検索する
ことを特徴とする請求項2記載の知識収集支援システム。
【請求項11】
前記全文検索部は、前記分類器による分類結果と前記質問データに合致する前記会話ログが見つかった場合は、検索結果として、その見つかった会話ログを出力し、
前記全文検索部は、前記分類器による分類結果と前記質問データに合致する前記会話ログが見つからなかった場合は、検索結果として、前記有識者のIDを出力する
ことを特徴とする請求項1記載の知識収集支援システム。
【請求項12】
前記全文検索部は、前記分類器による分類結果と前記質問データを文字列として結合したキーワードを用いて前記会話ログを検索することにより、前記分類器による分類結果と前記質問データを個別に用いて前記会話ログを検索した場合よりも、検索の再現率を向上させる
ことを特徴とする請求項1記載の知識収集支援システム。
【請求項13】
前記全文検索部は、前記分類器による分類結果を用いて前記会話ログを絞り込み、その絞り込んだ会話ログに対して前記質問データを用いて検索を実施することにより、前記分類器による分類結果と前記質問データを並列的に組み合わせて用いた場合よりも、検索の適合率を向上させる
ことを特徴とする請求項1記載の知識収集支援システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報システム開発プロジェクトにおいて必要となる知識を収集することを支援する知識収集支援システムに関する。
【背景技術】
【0002】
情報システムを開発するプロジェクトにおいては、開発案件に関する様々な情報を収集する。例えば情報システムの所有者となる顧客企業についての情報、情報システムが取り扱うデータや処理などの特性、開発に際して用いる技術、などが挙げられる。これら情報を収集するためには、例えば過去の類似プロジェクトにおける資料や有識者からの情報提供を用いることが考えられる。しかしこの作業は一般に人的負荷が高く、開発プロジェクトを円滑に推進するうえで支障となる。特に属人化した知識は他作業者に対して継承することが難しく、有識者が開発プロジェクトから離任することにより、その知識が損失する場合がある。
【0003】
このような知識を継承するためには、ナレッジ検索システムを構築して同システム内に知識を集約することが考えられる。ただしシステムに対して適切なキーワードを用いて検索を実施しなければ、適切な回答を得ることは困難である。そこで例えば、自然言語文字列によって記述した質問文と、ナレッジ検索システムに対する検索キーワードとの間の対応関係を機械学習によって学習し、その学習結果を用いて、質問文を適切な検索キーワードなどへ変換することが考えられる。
【0004】
下記特許文献1は、『従来技術においては、“取得したいデータを特定するために、意図的に特定情報を準備”する必要がある。また、そのための専用手順が必要となる。』ことを課題として、『情報検索するに際して、回答抽出に際しての問合せ者、回答者双方の負荷削減、問合せ者へのアドバイス情報の提供、そしてジャストフイットした回答を検索するのに、マスタデータ、パターンデータ、そして集計テーブルを手段として具備する。 更に、回答が不可能であった場合も、有益な質問を蓄積するためのテンポラリエリアを備えたナレッジDBを併せ持つ。』という技術を開示している(要約参照)。
【0005】
下記特許文献2は、『自然文検索を可能とする検索システムの学習対象のデータを抽出する学習対象抽出装置、方法及びプログラムに関する。』ことを課題として、『検索可能な既知の質問を含む自然文を記憶する自然文記憶部と、検索要求のあった質問データを当該自然文と比較して、質問データを分類する自然文分類部と、既知の質問と回答とを記憶する質問回答記憶部と、質問データに基づいて自然文分類部を実行して検索結果を出力する自然文検索部と、当該検索結果から回答を抽出する回答抽出部と、キーワードデータに基づいて質問回答記憶部を検索して回答を出力する回答出力部と、回答抽出部、回答出力部が出力する出力結果から、質問データに対応する回答を抽出した抽出結果と質問データが学習対象であるか否かを判定する学習対象判定部と、抽出結果と質問データを学習対象のデータとして抽出する学習対象抽出部と、を有する。』という技術を開示している(要約参照)。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2009-042950号公報
【文献】特開2019-175203号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
従来のナレッジ検索システムにおいては、機械学習を用いて質問文を加工する場合、学習データを収集して学習をあらかじめ実施しておく必要がある。しかし機械学習モデルを生成するために必要な学習データを収集する作業負荷は高く、このことがシステム導入の妨げとなる場合がある。
【0008】
本発明は、上記のような課題に鑑みてなされたものであり、情報システム開発プロジェクトにおいて必要となる知識を有する有識者と容易にコンタクトをとることができる知識収集支援システムを提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明に係る知識収集支援システムは、チャットツールを介して発信した質問データに基づき過去の会話ログを検索し、その検索の際に、質問データの分類結果に対応する有識者IDを併せて検索し、その検索結果をGUIによって表示する。質問者は、GUI上の検索結果を介して有識者を選択することにより、その有識者とチャットツール上で会話を開始できる。
【発明の効果】
【0010】
本発明に係る知識収集支援システムによれば、情報システム開発プロジェクトにおいて必要となる知識を有する有識者と容易にコンタクトをとることができる。
【図面の簡単な説明】
【0011】
図1】実施形態1に係る知識収集支援システム10の構成図である。
図2】チャットツール300のユーザが質問を発信したときの各部の動作を説明するシーケンス図である。
図3】チャットツール300のユーザが質問を発信したときの各部の動作を説明するシーケンス図である。
図4】開発プロジェクトと有識者との間の関連性を表すグラフの例である。
図5】質問者がチャットツール300上で有識者との会話を開始した以後の各部の動作を説明するシーケンス図である。
図6】検索の再現率を重視する場合における検索動作を説明する模式図である。
図7】検索の適合率を重視する場合における検索動作を説明する模式図である。
【発明を実施するための形態】
【0012】
<実施の形態1>
図1は、本発明の実施形態1に係る知識収集支援システム10の構成図である。知識収集支援システム10は、情報システム開発プロジェクトにおいて必要となる知識を収集することを支援するシステムである。知識収集支援システム10は、サーバ100、データベース200、チャットツール300を有する。
【0013】
チャットツール300は、2以上のユーザが対話するために用いるツールである。チャットツール300は例えば、デスクトップアプリケーションやWebアプリケーションとして構成することができる。ユーザはチャットツール300を用いて、開発プロジェクトにおいて必要となる知識を質問する。その質問は、自然言語文字列の形式で記述された質問データとして、ネットワークを介してサーバ100へ送信される。
【0014】
サーバ100は、質問データに対する回答を提供するコンピュータである。サーバ100は、発話データ収集部110、分類器120、質問判断器130、全文検索部140、UI生成部150を備える。
【0015】
発話データ収集部110は、チャットツール300から質問データを収集する。質問判断器130は、その質問データに含まれる文字列のうち、質問文である部分とそれ以外の部分を識別する。チャットツールが発信するメッセージごとに質問文か否かを判断してもよいし、1文ごとに判断してもよい。以下では記載の便宜上、メッセージごとに判断するものとする。同様に記載の便宜上、チャットツール300が発信する1つのメッセージを1つの質問データとして説明する。
【0016】
分類器120は、機械学習によって質問データを分類する。機械学習のアルゴリズムとしては任意の公知技術を使用できる。分類属性となる項目(分類ラベル)としては、例えば以下のようなものが挙げられる:(a)質問データが関連する情報システムの種別(例:システムが対象とする業務内容)、(b)質問データが関連する情報システムの開発プロジェクトの特性(例:同システムにおける新規開発プロジェクト/保守プロジェクトなどの区別とそのプロジェクトの対象)、(c)質問データが関連する開発プロジェクトにおいて用いる技術。例えばこれら3つの分類ラベルを持つ分類器を用いる場合、分類器120は、質問データを分類空間上に構成されたいずれかのクラスへ分類するように、機械学習をあらかじめ実施する。
【0017】
全文検索部140は、質問データそのものと、分類器120が質問データを分類した結果とを用いて、後述する会話ログ210に対して全文検索を実施する。検索がヒットした場合、UI生成部150はその検索結果を提示するUI(典型的にはGUI:Graphical User Interface)を生成してチャットツール300のユーザへ送信する。例えば、検索結果を提示するWebページを生成してチャットツール300へ返信する。チャットツール300はそのWebページをユーザ端末上で表示する。検索がヒットしなかった場合については後述する。
【0018】
データベース200は、サーバ100が用いるデータテーブルなどを保持する。データベース200は具体的には、会話ログ210、有識者テーブル220、開発プロジェクトテーブル230、有識者・プロジェクト関連テーブル240、学習データテーブル250、を保持する。
【0019】
会話ログ210は、チャットツール300上における過去の会話記録である。原則として全てのユーザの全ての会話を記録するが、例えば後述する有識者との間の会話のみを記録してもよい。
【0020】
有識者テーブル220は、過去に実施された開発プロジェクトに参加した有識者のIDを記録したデータテーブルである。開発プロジェクトに対する全ての参加者が有識者として記録されている。したがってここでいう有識者とは、有識者として取り扱うことができる者の候補ということもできる。
【0021】
開発プロジェクトテーブル230は、過去に実施された開発プロジェクトのIDとその開発プロジェクトの分類属性を記録するデータテーブルである。ここでいう分類属性は、分類器120が質問データを分類する際の分類属性と一致するように構成されている。この理由については後述する。
【0022】
有識者・プロジェクト関連テーブル240は、過去に実施された開発プロジェクトとその開発プロジェクトに参加した有識者を関連付けるためのデータテーブルである。例えば有識者テーブル220上の有識者IDと開発プロジェクトテーブル230上の開発プロジェクトIDとを関連付けて記録する。
【0023】
学習データテーブル250は、チャットツール300上におけるユーザと有識者との間の会話を、分類器120の学習データとして一時的に保存するためのデータテーブルである。
【0024】
<実施の形態1:会話ログの検索がヒットした場合>
図2は、チャットツール300のユーザが質問を発信したときの各部の動作を説明するシーケンス図である。知識収集支援システム10は、質問者にとって必要な知識を、まず会話ログ210から検索する。ここでは全文検索部140による会話ログ210に対する検索がヒットした場合の動作について説明する。
【0025】
質問者はチャットツール300上で、過去に実施された開発プロジェクトに関する質問を自然言語によって質問する。チャットツール300は、その質問文を含むメッセージ(質問データ)をサーバ100に対して発信する。発話データ収集部110はその質問データを取得する。
【0026】
分類器120は、あらかじめ機械学習を実施した結果にしたがって、質問データを分類し、分類結果を全文検索部140へ出力する。ここでいう分類結果とは、質問データが各分類属性におけるどの分類に属するのかを判定した結果である。例えば、分類ラベルとしては上述の(a)~(c)を用いる場合、(a)情報システム種別=保険システム、(b)開発プロジェクト特性=保険商品システムの新規開発プロジェクト、(c)使用技術=自社製クラウド、などである。分類ラベルは上記(a)~(c)に限るものではなく、開発プロジェクトにおいて必要となる知識を有する有識者の属性を適切に記述することができれば、その他の分類ラベルを用いてもよい。以下では上述の(a)~(c)を前提とする。
【0027】
全文検索部140は、質問データと分類結果を用いて、会話ログ210に対して全文検索を実施する。質問データと分類結果をどのように用いるのかについての詳細は後述の実施形態2で説明するが、最も単純には、質問データの文字列と分類結果の文字列を単純に文字列結合したものを用いて検索を実施すればよい。
【0028】
検索がヒットした場合、UI生成部150はその検索結果を提示するGUIを生成してチャットツール300へ返信する。チャットツール300(またはチャットツール300を実行しているユーザ端末)は、そのGUIを画面表示する。具体的には、検索によって得られた過去の会話ログ(会話者と会話内容)を、会話時系列に沿って画面表示すればよい。複数の会話がヒットした場合は、会話ごとに整列してもよい。
【0029】
以上の動作により、質問者は質問内容に対応する過去の開発プロジェクトにおける質疑会話を参照して、質問内容に関する必要な知識を収集することができる。
【0030】
<実施の形態1:会話ログの検索がヒットしなかった場合>
図3は、チャットツール300のユーザが質問を発信したときの各部の動作を説明するシーケンス図である。ここでは全文検索部140による会話ログ210に対する検索がヒットしなかった場合の動作について説明する。知識収集支援システム10は、会話ログ210から有用な質疑会話が得られなかった場合、質問内容に関する知識を有していると想定される有識者を、以下の手順によって質問者に対して提示する。
【0031】
全文検索部140が会話ログ210を検索するステップまでは図2と同じである。全文検索部140はさらに、質問データと分類結果を用いて、開発プロジェクトテーブル230が保持している開発プロジェクトの分類属性に対して、全文検索を実施する。質問データと分類結果をどのように用いるのかについては、会話ログ210を検索するときと同様であるので、詳細は実施形態2で説明する。会話ログの検索がヒットしなかった場合は開発プロジェクトをさらに自動的に検索してもよいし、ヒットしなかった旨をチャットツール300上にいったん表示し、質問者がさらに開発プロジェクトを検索することを促すボタンなどを表示してもよい。
【0032】
全文検索部140は、検索にヒットした開発プロジェクトを検索キーとして有識者・プロジェクト関連テーブル240を検索することにより、ヒットした開発プロジェクトに参加した参加者のIDを取得する。全文検索部140はさらに、その参加者IDを用いて有識者テーブル220を検索することにより、その参加者についての詳細(氏名、所属、得意分野など)を取得する。全文検索部140はこのとき、開発プロジェクトと有識者との間の関連性(有識者がどの開発プロジェクトに参加したか、など)を併せて取得する。
【0033】
UI生成部150は、検索によって得られた開発プロジェクトと有識者との間の関連性を表すグラフを含むGUIを生成し、チャットツール300へ返信する。チャットツール300(またはチャットツール300を実行しているユーザ端末)は、そのGUIを画面表示する。グラフの例については後述する。
【0034】
図4は、開発プロジェクトと有識者との間の関連性を表すグラフの例である。開発プロジェクトテーブル230を検索することにより、質問データとその分類結果に関連すると想定される開発プロジェクトを抽出することができる。その開発プロジェクトに参加した参加者は、質問内容に関連する知識を有する有識者の候補とみなすことができる。このGUIはその有識者候補を提示するものである。
【0035】
各有識者のIDは、その有識者との間でチャットツール300を介して会話を開始できるように構成されている。質問者が有識者IDを選択(クリック)すると、その有識者との会話が開始される。質問者は、有識者との会話を通じて、質問内容に関する知識を収集することを図る。選択した有識者が必要な知識を有していなければ、その質問者との会話を終了して別の有識者IDを選択してもよい。
【0036】
図4は、ツリービューによってグラフを表現した例を示している。ツリーのルートは情報システム種別に相当する。ツリーの2段目はその情報システムにおける開発プロジェクト特性に相当する。グラフにおける有識者と開発プロジェクトを接続するリンクは、強弱をつけることもできる。図4においては有識者3を強調表示している。強弱の基準としては、例えば以下のようなものが考えられる。
【0037】
(リンク強弱の例その1)有識者・プロジェクト関連テーブル240において、各参加者のその開発プロジェクトにおける役割や、その開発プロジェクトに対する参加期間を定義することができる。その役割の重要性や参加期間の長さに応じて、有識者と開発プロジェクトとの間のリンクの強弱をつけることができる。例えばプロジェクトマネージャのように重要な役割の参加者についてはリンクを他の参加者よりも太くし、参加期間が短ければリンクを細くする、などが考えられる。
【0038】
(リンク強弱の例その2)有識者テーブル220または有識者・プロジェクト関連テーブル240において、質問者の質問に対する有識者の貢献度を記録することができる。例えばグラフ上において有識者が選択された回数を、その有識者が参加した開発プロジェクトのIDと関連付けて記録する。開発プロジェクトに関する質問に対して貢献度が高い有識者は、その他参加者よりもリンクを太くすることができる。選択された回数以外の貢献度を表すパラメータを用いてもよい。例えば過去の会話内容が検索においてヒットした回数などが考えられる。
【0039】
(リンク強弱の例その3)全文検索部140が開発プロジェクトテーブル230を検索する際に、検索条件に合致する程度を表すスコアを得ることができる。そのスコアが高い開発プロジェクトに属する有識者については、その他の開発プロジェクトに属する有識者よりもリンクを太くすることが考えられる。
【0040】
図5は、質問者がチャットツール300上で有識者との会話を開始した以後の各部の動作を説明するシーケンス図である。質問者が有識者と会話を開始したということは、質問者は自身の質問内容に関する必要な知識をその有識者が有していると判断したことを意味する。そうすると、それ以後における質問者と有識者との間の会話内容は、最初の質問内容の分類結果との間で関連を有していることになる。すなわちその会話内容は、分類器120が質問データを分類する際の学習データとして用いることができるといえる。そこで本実施形態1においては、図5の手順にしたがって、分類器120のための学習データを収集することとした。
【0041】
質問者はチャットツール300上で、有識者と会話する。チャットツール300は、その会話文を含むメッセージ(発話データ)をサーバ100に対して発信する。発話データ収集部110はその発話データを取得する。質問データと同様に、1つのメッセージを1つの発話データとみなすことにする。
【0042】
質問者と有識者との間の会話は、図2図3で説明した場面とは異なり、双方向の会話である。したがってその会話内容は、必ずしも有識者からの質問文に限られず、一般的会話を含む場合がある。そこで質問判断器130は、発話データが質問文であるか否かをメッセージごとに判断する。質問文であるか否かは、文法規則にしたがって判断してもよいし、質問文であるか否かを判断するようにあらかじめ機械学習を実施した学習器によって判断してもよい。その他適当な手法を用いて判断してもよい。
【0043】
質問判断器130は、発話データが質問文であると判断した場合は、その発話データを学習データテーブル250に格納する。この時点において、質問者は有識者を選択することにより、その有識者が参加した開発プロジェクトを間接的に選択していることになる。すなわち質問内容とその開発プロジェクトは、一定の関連性を有していることになる。この関連性を学習することにより、以後開発プロジェクトを検索する際に、検索精度を高めることができると考えられる。そこで質問判断器130は、選択した有識者が参加した開発プロジェクトの分類属性を、発話データと関連付けて、学習データテーブル250に格納する。例えばメッセージごとに、そのメッセージの分類結果を併せて格納する。
【0044】
質問判断器130は、発話データが質問文ではないと判断した場合は、その発話データを処理しない。これにより、質問者が開発プロジェクトに関する知識を要求している場合のみ学習データとしてその発話データを収集することになるので、学習データとして有用な発話データのみを絞り込むことができる。
【0045】
質問者と有識者との間の会話が終了すると、分類器120は、学習データテーブル250が格納しているメッセージと分類結果を用いて、さらなる学習を実施する。これにより分類精度をさらに高めることができる。また学習データを収集するための作業が必要ないので、そのための作業負担を抑制できる。
【0046】
<実施の形態1:まとめ>
本実施形態1に係る知識収集支援システム10は、質問データに基づき会話ログ210を検索する際に、質問データの分類結果に対応する有識者IDを併せて検索し、その検索結果をGUIによって表示する。質問者は、GUI上の検索結果を介して有識者を選択することにより、その有識者とチャットツール300上で会話を開始できる。これにより質問者は、過去の開発プロジェクトに関する知識が属人化していて会話ログ210などに記録されていない場合であっても、その知識を円滑に取得することができる。
【0047】
本実施形態1に係る知識収集支援システム10において、開発プロジェクトテーブル230は、過去の開発プロジェクトの分類属性を格納しており、質問データの分類結果と合致する分類属性を有する開発プロジェクトを開発プロジェクトテーブル230から検索するとともに、その開発プロジェクトに参加した参加者を有識者の候補としてGUI上で提示する。これにより、質問データに関する知識を有していると想定される有識者を効率的に検索することができる。
【0048】
本実施形態1に係る知識収集支援システム10は、検索により得られた開発プロジェクトと有識者との間の関連性を表すグラフを、検索結果として提示する。これにより質問者は、必要な知識を有していると想定される有識者を効率的に選択できる。また選択した有識者が必要な知識を有していない場合であっても、他の有識者を速やかに選択することができる。
【0049】
本実施形態1に係る知識収集支援システム10は、質問者と有識者との間のチャットツール300上の会話を、その有識者が参加した開発プロジェクトの分類結果と関連付けて学習データテーブル250に格納しておき、分類器120は学習データテーブル250が格納しているこれらデータを学習データとして用いる。これにより、分類器120が学習を実施するための学習データを収集する作業負荷を抑制できる。
【0050】
本実施形態1に係る知識収集支援システム10は、質問者と有識者との間のチャットツール300上の会話を、有識者が参加した過去の開発プロジェクトの分類属性と関連付けて学習データテーブル250に格納しておき、分類器120は学習データテーブル250が格納しているこれらデータを学習データとして用いる。これにより、発話データと開発プロジェクトとの間の関係を学習できるので、以後の有識者検索において適切な有識者を検索することができる。
【0051】
本実施形態1に係る知識収集支援システム10において、質問判断器130は、質問者と有識者との間のチャットツール300上の会話において、質問文と判断した発話データのみを学習データテーブル250に格納する。これにより、学習データとして有用な発話データのみを絞り込んで学習することができる。
【0052】
本実施形態1に係る知識収集支援システム10は、質問データを用いて会話ログ210を検索することにより検索結果が得られた場合はその検索結果を質問者へ提示し、検索結果が得られなかった場合は質問データに合致する開発プロジェクトおよび有識者を改めて検索してその結果を質問者へ提示する。これにより、会話ログ210内に必要な情報が存在する場合はこれをそのまま提示して効率的な知識収集を実現するとともに、必要な知識が属人化している場合などであってもその知識を有識者から収集できる。
【0053】
<実施の形態2>
本発明の実施形態2では、全文検索部140が質問データと分類結果を用いて会話ログ210を検索する際における詳細動作を説明する。知識収集支援システム10の構成は実施形態1と同じである。
【0054】
図6は、検索の再現率を重視する場合における検索動作を説明する模式図である。再現率は、検索の網羅性を表す指標であり、(True Positive/(True Positive+False Negative))によって表される。換言すると再現率は、検索キーワードと真に合致する検索結果のうち、実際に検索にヒットしたものの割合を表す。
【0055】
再現率を高めるためには、質問データと関連すると想定される検索結果をできる限り広く収集することが望ましい。そこでこの場合、全文検索部140は、質問データの文字列と分類結果の文字列を単純に文字列結合したものを、検索キーワードとして用いる。これにより、質問データと分類結果のうちいずれかに合致する会話ログを、幅広く収集することができる。これは、上記計算式のうちFalse Negativeが減少することによると考えられる。
【0056】
図7は、検索の適合率を重視する場合における検索動作を説明する模式図である。適合率は、検索の正確性を表す指標であり、(True Positive/(True Positive+False Positive))によって表される。換言すると適合率は、検索結果のうち検索キーワードと真に合致するものの割合を表す。
【0057】
適合率を高めるためには、検索を実施する前に、検索対象とする会話ログをあらかじめヒット可能性が高いものに絞り込むことが有用である。そこでこの場合、全文検索部140は、分類結果に合致する会話ログ210を検索することによって、検索対象とする会話ログをあらかじめ絞り込み、その絞り込んだ会話ログに対して、質問データを用いて全文検索を実施する。これにより、質問データに合致する可能性が高い会話ログを得ることができる。これは、上記計算式のうちFalse Positiveが減少することによると考えられる。
【0058】
図6図7で説明した検索動作は、開発プロジェクトテーブル230を検索する際にも適用することができる。すなわち、(a)再現率を高める場合は質問データと分類結果を文字列結合して開発プロジェクトテーブル230を全文検索し、(b)適合率を高める場合は分類結果によって開発プロジェクトテーブル230内のレコードをあらかじめ絞り込んだ上で質問データによって改めて開発プロジェクトテーブル230を全文検索する。
【0059】
<本発明の変形例について>
以上の実施形態において、サーバ100が備える各機能部は、その機能を実装した回路デバイスなどのハードウェアによって構成することもできるし、その機能を実装したソフトウェアを演算装置が実行することにより構成することもできる。
【0060】
以上の実施形態において、分類器120は、任意の機械学習アルゴリズム(例えばニューラルネットワーク)を用いるソフトウェアと、その学習結果を記録するデータとによって構成することができる。
【0061】
以上の実施形態において、全文検索部140が開発プロジェクトテーブル230を検索してもヒットしなかった場合は、検索結果なしである旨をチャットツール300へ返信してもよいし、併せて質問内容を変更するように促すメッセージを返信してもよい。
【0062】
図4において、開発プロジェクトとその参加者との間の関連性を、ツリー形式のグラフで表示する例を説明したが、関連性を提示する方式はこれに限るものではなく、同様の関連性を提示できればその他の表示形式を用いてもよい。
【符号の説明】
【0063】
10:知識収集支援システム
100:サーバ
110:発話データ収集部
120:分類器
130:質問判断器
140:全文検索部
150:UI生成部
200:データベース
210:会話ログ
220:有識者テーブル
230:開発プロジェクトテーブル
240:有識者・プロジェクト関連テーブル
250:学習データテーブル
300:チャットツール
図1
図2
図3
図4
図5
図6
図7