<実施の形態>
図1は本開示における実施の形態のレビュアー検索システムであるサーバー10を含むレビュー支援システムの構成例を模式的に示す説明図である。
図1において、サーバー10はレビュアー検索システムとして機能し、PC(Personal Computer)等を用いて構成される。サーバー10にはネットワーク11を介して複数のクライアント2i(i=1~n(>1))が接続されている。図1では、クライアント2iとして2つのクライアント21及び22が図示されている。
ネットワーク11は、サーバー10、クライアント21及びクライアント22を接続しており、HTTP(Hypertext Transfer Protocol)等のネットワークプロトコルで通信を行うことができる。
サーバー10はネットワーク11を介してHTTPリクエストを受信することにより、内部のデータベース5にアクセスしてデータベース検索処理を実行し、内部で得られたレビュアー検索結果をHTTPレスポンスとして応答する。このHTTPレスポンスが外部出力情報となる。
クライアント2iは、Internet Explorer(登録商標)、Microsoft Edge(登録商標)、Google Chrome(登録商標)、Mozilla Firefox(登録商標)及びSafari(登録商標)等のブラウザソフトウェアを利用して、ネットワーク11を介してサーバー10へHTTPリクエストを送信し、ネットワーク11を介してサーバー10から送信されたHTTPレスポンスを受信する。
図1で示すレビュー支援システムの利用者はクライアント2iを使い、ブラウザを介してサーバー10に対しレビュアー検索要求D0を含むHTTPリクエストを送り、外部出力情報であるHTTPレスポンスからレビュアー検索結果を取得することができる。
図2は、図1で示したサーバー10の内部構成を模式的に示す説明図である。図3はサーバー10の主要部のデータ授受関係を模式的に示す説明図である。
図2に示すように、サーバー10は、オペレーティングシステム1、通信処理部2、データベースマネジメントシステム3、レビュアー検索処理部4、データベース5及びネットワークインターフェース6を主要構成要素として含んでいる。
オペレーティングシステム1はネットワークインターフェース6を介して、サーバー10に接続されているネットワーク11とデータの送受信を行うことができる。通信処理部2は送信指示を受けたデータに対してネットワークプロトコルに関するデータを付加してオペレーティングシステム1にネットワーク11への送信指示を行う。なお、ネットワークプロトコルとして例えば、TCP/IP、Ethernet(登録商標)等が考えられる。
また、通信処理部2は、オペレーティングシステム1から受け取ったデータに対して、ネットワークプロトコルに関するデータを分離して、ネットワークプロトコルに関するデータをネットワークメタデータとし、上記ネットワークプロメタデータを取り除いた残りのデータをペイロードデータとする。その結果、通信処理部2とレビュアー検索処理部4との間でペイロードデータの授受が行うことができる。
このように、オペレーティングシステム1、通信処理部2及びネットワークインターフェース6を含む外部入力部は、外部からのペイロードデータとしてレビュアー検索要求D0を受け、レビュアー検索処理部4にレビュアー検索要求D0を付与している。
レビュアー検索要求D0には、レビュー対象文書の作成者を示すレビュー対象文書作成者とレビュー対象文書に関連する知識分野を示すレビュー対象知識分野とレビュアー候補の最大検索数XSが含まれる。
データベース5は、検索用データ群DB1~DB4を格納しており、検索用データ群DB1~DB4にはユーザデータ群DB1、レビューデータ群DB2、文書データ群DB3及びコメントデータ群DB4が含まれる。文書データ群DB3は各々が過去に作成された複数の文書を示す複数の文書データを含み、レビューデータ群DB2は各々が複数の文書のいずれかをレビューした事実を示す複数のレビューデータを含んでいる。
検索用データ群DB1~DB4において、文書データ群DB3内の複数の文書データはそれぞれ、文書、文書の作成者、文書に関連する知識分野、及びレビュー検出種別を特定する情報が有している。
また、レビューデータ群DB2内の複数のレビューデータはそれぞれ、レビュー対象文書、及びレビュー担当者を特定する情報を有している。また、レビュー担当者のレビュー検出種別はレビューデータ群DB2のコメントデータの詳細を示すコメントデータ群DB4から特定することができる。
このように、検索用データ群DB1~DB4において、複数の文書データそれぞれに文書、文書の作成者、文書に関連する知識分野、レビュー時に検出されたレビュー検出種別が特定されており、複数のレビューデータそれぞれにレビュー対象文書、レビュー担当者及びレビュー時に検出したレビュー検出種別が特定されている。
なお、ユーザデータ群DB1において、ユーザIDに対応づけてユーザ名、レビュー経験知識分野を特定する情報が格納されている。また、コメントデータ群DB4において、文書データ群DB3のコメントデータに対応する情報が格納されている。コメントデータはレビュー検出種別の詳細を示すデータである。なお、ユーザには、レビュー対象文書作成者及びレビュアー候補が含まれる。
レビュアー検索処理部4は、データベースマネジメントシステム3を介してデータベースマネジメントシステム3にアクセスすることにより、データベース5内の検索用データ群DB1~DB4を用いたデータベース検索処理を実行したり、データベース5内の格納データの追加、削除、変更を含むデータ処理を実行したりすることができる。
このように、レビュアー検索処理部4によるデータベース検索処理は、データ検索機構であるデータベースマネジメントシステム3を介して行われる。
レビュアー検索処理部4は、レビュアー検索要求D0に応答して、検索用データ群DB1~DB4を用いたデータベース検索処理を実行して、レビュアー候補適正度情報D43、レビュアー候補推薦情報D44及び最終レビュアー候補情報D4等を得る。
レビュアー検索処理部4は、レビュアー候補管理部41、知識分野経験度算出部42、文書傾向適正度算出部43、推薦度算出部44、パラメータ管理部45及びHTTP処理部46を主要構成要素として含んでいる。
レビュアー候補管理部41は知識分野経験度算出部42、文書傾向適正度算出部43及び推薦度算出部44とのデータの授受、実行タイミングを制御し、かつ、レビュアー候補となるユーザの情報を作業用レビュアー候補情報として管理している。
また、レビュアー候補管理部41は、レビュアー検索要求D0に基づき、データベース5内の検索用データ群DB1~DB4を用いたレビュアー候補検索処理を実行する。
レビュアー候補管理部41は、レビュアー候補検索処理を実行することにより、各々が過去にレビュー対象文書知識分野に関連する文書のレビュー経験のある複数のレビュアー候補を示すレビュアー候補情報D1を得ている。
したがって、レビュアー候補管理部41で取得される複数のレビュアー候補は全て過去にレビュー対象知識分野の文書のレビュー経験がある知識経験レビュアーとなる。なお、複数のレビュアー候補にはレビュー対象文書作成者は含まれない。
なお、理論的には、レビュアー候補検索処理を実行した際、レビュアー候補が検索されない場合、一のレビュアー候補しか検索されない可能性もある。以下では、説明の都合上、各々が知識経験レビュアーである複数のレビュアー候補が検索されたとして説明する。
このように、レビュアー候補管理部41は、レビュアー候補検索処理を実行するレビュアー候補検索部として機能する。なお、データベース検索処理はレビュアー候補検索処理を含んでいるため、レビュアー候補検索処理はデータベースマネジメントシステム3を介してデータベース5に対して行われる。
また、レビュアー候補管理部41は、レビュアー検索処理部4内のデータ管理処理をさらに行っている。図3で示すデータ管理領域C41は、レビュアー候補管理部41が管理するデータ管理領域を仮想的に線で示している。このデータ管理領域C41上で作業用レビュアー候補情報が管理される。
したがって、レビュアー候補管理部41は、知識分野経験度算出部42、文書傾向適正度算出部43、及び推薦度算出部44に対し必要なデータを提供し、かつ、知識分野経験度算出部42、文書傾向適正度算出部43、及び推薦度算出部44から出力されるデータをデータ管理領域C41にて管理することができる。
さらに、レビュアー候補管理部41は、知識分野経験度算出部42、文書傾向適正度算出部43及び推薦度算出部44それぞれの実行開始の指示を行う実行開始制御を併せて行っている。
知識分野経験度算出部42は、レビュアー候補情報D1に基づき、検索用データ群DB1~DB4を用いた知識分野経験度算出処理を実行することにより、複数のレビュアー候補それぞれのレビュアー知識分野経験度D2を示すレビュアー候補経験度情報D42を取得する。
なお、知識分野経験度算出処理は、レビュアー候補管理部41の制御下で開始される。また、データベース検索処理は知識分野経験度算出処理を含むため、知識分野経験度算出処理はデータベースマネジメントシステム3を介してデータベース5に対して行われる。
文書傾向適正度算出部43は、レビュアー検索要求D0及びレビュアー候補情報D1に基づき、検索用データ群DB1~DB4を用いた文書傾向適正度算出処理を実行する。文書傾向適正度算出処理に実行により、レビュアー候補情報D1で示す複数のレビュアー候補それぞれとレビュー対象文書作成者との文書傾向適性度D3を示すレビュアー候補適正度情報D43を得ることができる。
文書傾向適正度算出部43による文書傾向適正度算出処理は、以下のステップ(a)~(c)を含んでいる。
(a) レビュー対象文書作成者が過去に作成した文書において、レビュー時に検出されたレビュー検出種別を示す作成者文書傾向情報D31を得るステップ、
(b) 複数のレビュアー候補それぞれが過去にレビューした文書において、レビュー時に検出したレビュー検出種別を示すレビュアー文書傾向情報D32を得るステップ、及び
(c) 複数のレビュアー候補それぞれにおいて、作成者文書傾向情報D31とレビュアー文書傾向情報D32とのレビュー検出種別の一致度合を反映した文書傾向適性度D3を算出し、複数のレビュアー候補それぞれの文書傾向適性度D3を示すレビュアー候補適正度情報D43を得るステップ。
なお、文書傾向適正度算出部43による文書傾向適正度算出処理は、レビュアー候補管理部41の制御下で開始される。また、データベース検索処理は文書傾向適正度算出処理を含んでおり、文書傾向適正度算出処理はデータベースマネジメントシステム3を介してデータベース5に対して行われる。
推薦度算出部44は、レビュアー候補情報D1、レビュアー候補経験度情報D42、及びレビュアー候補適正度情報D43に基づき、検索用データ群DB1~DB4を用いた推薦度算出処理を実行する。推薦度算出処理の実行により、レビュアー候補情報D1で示す複数のレビュアー候補それぞれの推薦度VRを算出し、複数のレビュアー候補それぞれの推薦度VRを示すレビュアー候補推薦情報D44が得られる。
複数のレビュアー候補それぞれの推薦度VRは、レビュアー候補適正度情報D43が示す文書傾向適性度D3が高い程大きな値となる第1の数値特性と、レビュアー候補経験度情報D42が示すレビュアー知識分野経験度D2が高い程大きな値となる第2の数値特性を有している。
なお、推薦度算出部44による推薦度算出処理は、レビュアー候補管理部41の制御下で開始される。また、データベース検索処理は推薦度算出処理を含むため、推薦度算出処理はデータベースマネジメントシステム3を介してデータベース5に対して行われる。
レビュアー候補管理部41は、レビュアー候補推薦情報D44に対するデータ整形処理を行うことにより最終レビュアー候補情報D4を作成する。最終レビュアー候補情報D4は、複数のレビュアー候補に推薦度を対応させて、最大検索数XS内で推薦度の高い順に複数のレビュアー候補を並べたリスト形式の情報となる。このように、レビュアー候補管理部41は、データ整形処理を行うデータ整形部としても機能する。
前述したように、HTTP処理部46及びパラメータ管理部45は通信処理部2から受け取ったデータからHTTP処理部46を介してHTTPリクエスト内のレビュアー検索要求D0を取り出し保持する。このように、HTTP処理部46はパラメータ管理部45から受け取ったHTTPリクエストからレビュアー検索要求D0の取り出しを行うことができる。
また、HTTP処理部46は、レビュアー候補管理部41から受け取った最終レビュアー候補情報D4をJSON(JavaScript(登録商標) Object Notation)のデータフォーマットに合わせて整形してレビュアー検索結果を作成する。さらに、作成したレビュアー検索結果をレスポンスボディに含めたHTTPレスポンスデータを作成し、通信処理部2を介してHTTPレスポンスを送信する。
そして、ネットワークインターフェース6により、レビュアー検索処理部4より得られた最終レビュアー候補情報D4を含む検索結果データがネットワーク11を介して、クライアント2iを含む外部に出力される。
すなわち、オペレーティングシステム1、通信処理部2及びネットワークインターフェース6は、最終レビュアー候補情報D4を含む検索結果データを外部のクライアント21及び22に出力する外部出力部として機能する。
(処理回路)
図12は図2で示したサーバー10内の主要構成部に対応する処理回路90の構成を示すブロック図である。主要構成部は、サーバー10内のオペレーティングシステム1、通信処理部2、データベースマネジメントシステム3及びレビュアー検索処理部4を含んでいる。すなわち、サーバー10内において、データベース5及びネットワークインターフェース6を除く部分が主要構成部となる。主要構成部の機能は、図12で示す処理回路90により実現される。すなわち、処理回路90は、主要構成部を含む回路として機能する。
処理回路90が専用のハードウェアである場合、処理回路90は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、またはこれらを組み合わせた回路等である。主要構成部の各機能1~4(41~46)は、複数の処理回路により個別に実現されてもよいし、1つの処理回路によりまとめて実現されてもよい。
図13は主要構成部に対応する処理回路の別の構成例を示すブロック図である。同図に示すように、処理回路90は、プロセッサ91とメモリ92と、プロセッサ91及びメモリ92間のデータ転送経路となるバス96とを含む。プロセッサ91がメモリ92に格納されるプログラムを実行することにより、主要構成部の各部1~4(41~46)の機能が実現される。例えば、プログラムとして記述されたソフトウェアまたはファームウェアがプロセッサ91により実行されることにより、各部1~4の機能が実現される。すなわち、サーバー10の主要構成部は、プログラムを格納するメモリ92と、そのプログラムを実行するプロセッサ91と、メモリ92,プロセッサ91間のデータ転送用のバス96とを含む。
なお、プログラムは、主要構成部の各部1~4(41~46)それぞれの機能の処理手順または処理方法をコンピュータに実行させるものである。
プロセッサ91として、例えば、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、DSP(Digital Signal Processor)等が考えられる。メモリ92として、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)等の、不揮発性または揮発性の半導体メモリが考えられる。または、メモリ92として、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等、今後使用されるあらゆる記憶媒体を用いても良い。
また、データベース5はメモリ92、またはバス96につながる図示しない外部記憶装置によって実現することができる。検索用データ群DB1~DB4はデータベース5に格納されるデータとなる。
上述した主要構成部の各部1~4の各機能は、一部が専用のハードウェアによって実現され、他の一部がソフトウェアまたはファームウェアにより実現されてもよい。このように、処理回路90は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって、上述の各機能を実現する。
なお、ネットワークインターフェース6は、有線または無線で接続されるハードウェアで構成される。
(レビュアー検索処理)
図4は本実施の形態のレビュアー検索システムであるサーバー10内のレビュアー検索処理部4が主として実行するビュアー検索処理の処理手順を示すフローチャートである。また、図5は図4のステップS3で示す知識分野経験度算出処理の詳細を示すフローチャートであり、図6は図4のステップS4で示す文書傾向適正度算出処理の詳細を示すフローチャートであり、図7は図4のステップS5で示す推薦度算出処理の詳細を示すフロ-チャートである。
以下、図4を参照し、図5~図7の説明を適宜加えて、レビュアー検索システムであるサーバー10によるレビュアー検索処理の処理手順を説明する。
まず、ステップS1において、サーバー10はレビュアー検索要求D0を受信する。すなわち、サーバー10は、レビュアー検索要求D0を含むHTTPリクエストの受信をトリガとしてレビュアー候補検索処理を開始する。このHTTPリクエストが外部要求情報となる。
前述したように、HTTPリクエストは、外部入力部であるオペレーティングシステム1、ネットワークインターフェース6及び通信処理部2の組合せを介してレビュアー検索処理部4内に取り込まれる。
このように、外部入力部は、レビュアー検索要求D0を含む外部要求情報であるHTTPリクエストをレビュアー検索処理部4に付与している。
レビュアー検索処理部4によるレビュアー検索処理が開始されるとパラメータ管理部45は、通信処理部2から受信したペイロードデータの中からHTTP処理部46を介してレビュアー検索要求D0の抽出を行い保持する。
その結果、レビュアー検索処理部4は、レビュアー検索要求D0に基づくデータベース検索処理を実行することができる。なお、前述したように、データベース検索処理にはレビュアー候補検索処理、知識分野経験度算出処理、文書傾向適正度算出処理及び推薦度算出処理を含んでいる。
また、パラメータ管理部45は、通信処理部2から受信したネットワークメタデータを応答先情報として保持する。
その後、ステップS2において、レビュアー検索処理部4内のレビュアー候補管理部41は、レビュアー検索要求D0に基づき、検索用データ群DB1~DB4を用いたレビュアー候補検索処理を実行する。レビュアー候補検索処理の実行によって、複数のレビュアー候補を示すレビュアー候補情報D1が得られる。
複数のレビュアー候補はそれぞれレビュアー検索要求D0が示すレビュー対象知識分野に関連する文書のレビュー経験がある知識経験レビュアーである。なお、複数のレビュアー候補にはレビュー対象文書作成者は含まれない。
ステップS2で実行されるレビュアー候補検索処理は、レビュアー候補管理部41がデータベースマネジメントシステム3を介してデータベース5に対して行われる。また、レビュアー検索要求D0及びレビュアー候補情報D1の組合せは、データ管理領域C41上で作業用レビュアー候補情報として管理される。
その後、ステップS3において、知識分野経験度算出部42は、レビュアー候補情報D1に基づき、検索用データ群DB1~DB4を用いた知識分野経験度算出処理を実行することによりレビュアー候補経験度情報D42を得る。
ステップS3の知識分野経験度算出処理は、レビュアー候補管理部41による知識分野経験度算出指示をトリガとして実行開始される。また、ステップS3で実行される知識分野経験度算出処理は、知識分野経験度算出部42がデータベースマネジメントシステム3を介してデータベース5に対して行われる。
以下、図5を参照して、知識分野経験度算出部42による知識分野経験度算出処理の処理内容を説明する。
まず、ステップS31において、検索対象となるレビュアー候補を設定する。ステップS31で設定されるレビュアー候補は、レビュアー候補情報D1で示された複数のレビュアー候補のうち、一のレビュアー候補となる。
その後、ステップS32において、レビュアー検索要求D0で示されたレビュー対象知識分野を検索キーとして、ステップS31で設定したレビュアー候補の過去における全てのレビューデータを検索する。
次に、ステップS33において、ステップS32で検索されたレビューデータから、過去にレビューした文書のうち、レビュー対象知識分野に関連する文書の数を知識合致文書数NYとして算出する。レビューデータはレビュー対象文書及びレビュー担当者を特定する情報を有しており、文書データは文書に知識分野を特定する情報を有しているため、知識分野経験度算出部42は知識分野経験度算出処理を実行することにより、知識合致文書数NYを算出することができる。
図8~図11はデータベース5に格納されている検索用データ群DB1~DB4の具体例を表形式で示す説明図である。図8はユーザデータ群DB1の格納例を示し、図9はレビューデータ群DB2の格納例を示し、図10は文書データ群DB3の格納例を示し、図11はコメントデータ群DB4の格納例を示している。
図8に示すように、ユーザデータ群DB1は、ユーザID、ユーザ名、及びレビュー経験知識分野情報を有している。このように、ユーザデータ群DB1は、ユーザを識別するユーザIDに対応する形式でユーザ名及びレビュー経験知識分野情報を有している。図8では、レビュー経験知識分野情報として、「TCP/IP」、「HTTP」、「放送規格」、「電子回路」、「SD規格」、「財務法務」、及び「ソフトウェア」が示されている。
図9に示すように、レビューデータ群DB2は、レビューID、レビュー名、レビュー日時、レビュー時間、レビュー対象文書ID、参加ユーザID及びコメントデータを有している。このように、レビューデータ群DB2は、レビューした事実を示すレビューIDに対応する形式でレビュー名、レビュー日時、レビュー時間、レビュー対象文書ID、参加ユーザID及びコメントデータを有している。
参加ユーザIDはレビューに参加したユーザのIDを示しており、参加ユーザのうち文書作成者を除くユーザがレビュー担当者となる。コメントデータにはレビュー検討内容に関する議事録が特定づけられている。
図10に示すように、文書データ群DB3は、文書ID、文書名、作成日、作成ユーザID、知識分野情報、及び文書傾向情報を有している。このように、文書データ群DB3は、文書を識別する文書IDに対応する形式で文書名、作成日、作成ユーザID、知識分野情報、及び文書傾向情報を有している。
文書傾向情報には文書IDで特定される文書に関し、レビュー時に検出されたレビュー検出種別が示されている。図10で示す例では、文書ID値DC4のドキュメント4に関し、レビュー時に検出されたレビュー検出種別として「クラス間違い(1)」が示されている。なお、カッコ内は検出数を示している。
図11に示すように、コメントデータ群DB4は、コメントユーザID、指摘箇所、指摘内容、回答ユーザID、回答内容及び検出種別を有している。なお、コメントデータ群DB4は、レビューデータ群DB2のコメントデータの「議事録4」に対応するデータを示している。また、「コメントユーザID」は、レビュー担当者のうち議事録に相当するコメントを述べたユーザIDを示している。
図11に示すように、「指摘箇所」には「指摘対象の文書ID、指摘頁、及び指摘図」が示され、図11の1行目に示す「指摘内容」では、「クラスAに値Bを設定するインタフェースがない」等のレビュー検出種別の指摘内容が具体的に示されている。図11の1行目及び2行目に示す例では、共に文書ID値DC4のドキュメント4が指摘対象となっている。
図11に示すように、「回答ユーザID」は、「指摘内容」に対し回答したユーザIDが示されており、通常、回答者は指摘された文書の文書作成者となる。図11で示す例では、ドキュメント4の作成者である、ユーザIDが“U1”のユーザAが回答ユーザとして示されている。
「回答内容」は回答ユーザIDの回答者による、指摘内容に対する回答内容が具体的に示されている。図11の1行目に示す「回答内容」では、「指摘通りのため修正する」旨、記載されており、「レビュー検出種別」として「クラス間違い」が示されている。一方、図11の2行目に示す「回答内容」では、「クラスXで間違いない」旨、記載されているため、「指摘内容」は肯定されず、「レビュー検出種別」は記載されていない。
このように、コメントデータ群DB4は、コメントユーザIDに対応する形式で指摘箇所、指摘内容、回答ユーザID、回答内容及び検出種別を有している。
上述したように、文書データ群DB3は、複数の文書データそれぞれに文書、文書の作成者、文書に関連する知識分野、レビュー時に検出されたレビュー検出種別を特定する情報を有している。
また、レビューデータ群DB2は、複数のレビューデータそれぞれのレビュー対象文書及びレビュー担当者を有している。また、レビューデータ群DB2とコメントデータ群DB4から、レビュー担当者がレビュー時に検出したレビュー検出種別を特定することができる。したがって、検索用データ群DB1~DB4において、複数のレビューデータそれぞれにレビュー対象文書、レビュー担当者及びレビュー時に検出したレビュー検出種別が特定されている。
以下、図8~図11を参照して、図5のステップS33の処理内容の一例を説明する。例えば、レビュアー候補がユーザID値U5のユーザEの場合、レビューデータ群DB2から、ユーザEは、レビューID値R4で示す文書ID値DC4のドキュメント4のレビュー4に参加したことがわかる。なお、ユーザEはレビューID値R3のドキュメント3のレビュー3にも参加しているが、ドキュメント3はユーザE自身が作成した文書ID値DC3の文書であるため、除外される。
文書データ群DB3に、文書ID値DC4で示すドキュメント4の知識分野は、{「TCP/IP」,「HTTP」及び「ソフトウェア」}であることが示されている。このため、レビュー対象知識分野が「TCP/IP」,「HTTP」及び「ソフトウェア」のいずれかであれば、ドキュメント4はレビュー対象知識分野に一致する知識合致文書となる。そして、レビュアー候補が過去にレビューした文書のうち、レビュー対象知識分野に一致する知識分野の文書の数が知識合致文書数NYとなる。
図5に戻って、ステップS34において、知識合致文書数NYをレビュアー知識分野経験度D2として算出する。したがって、知識合致文書数NYが多い程、レビュアー知識分野経験度D2は大きな値となる。なお、知識合致文書数NYに“1”以外の重み係数βを積算した値をレビュアー知識分野経験度D2としても良い。
その後、ステップS35において、レビュアー候補情報D1で示す複数のレビュアー候補を全て検索対象としたか(YES)否か(NO)が確認され、ステップS35がYESになるまでステップS31~S34の処理が繰り返し実行される。すなわち、レビュアー候補情報D1で示す複数のレビュアー候補全てのレビュアー知識分野経験度D2が算出されるまでステップS31~S34の処理が実行される。
ステップS35でYESになると、知識分野経験度算出処理が終了し、レビュアー候補情報D1が示す複数のレビュアー候補それぞれのレビュアー知識分野経験度D2を示すレビュアー候補経験度情報D42を得ることができる。
レビュアー候補経験度情報D42はレビュアー候補管理部41によってデータ管理領域C41上で管理される。データ管理領域C41上のレビュアー検索要求D0、レビュアー候補情報D1及びレビュアー候補経験度情報D42の組合せがステップS3の実行後の作業用レビュアー候補情報となる。
図4に戻って、ステップS4において、文書傾向適正度算出部43は、レビュアー検索要求D0及びレビュアー候補情報D1に基づき、検索用データ群DB1~DB4を用いた文書傾向適正度算出処理を実行する。文書傾向適正度算出処理の実行により、レビュアー候補情報D1で示す複数のレビュアー候補それぞれの文書傾向適性度D3を示すレビュアー候補適正度情報D43が得られる。
ステップS4の文書傾向適正度算出処理は、レビュアー候補管理部41による文書傾向適正度算出指示をトリガとして開始される。また、ステップS4で実行される文書傾向適正度算出処理は、文書傾向適正度算出部43がデータベースマネジメントシステム3を介してデータベース5に対して行われる。
前述したように、図6は図4で示したステップS4の文書傾向適正度算出処理の詳細を示すフローチャートである。以下、同図を参照して文書傾向適正度算出処理の処理内容を説明する。
まず、ステップS41において、レビュー対象文書作成者が過去に作成した文書データである作成者過去文書データを検索する。
次に、ステップS42において、ステップS41で検索された作成者過去文書データに基づき、作成者文書傾向情報D31を得る。
以下、図8~図11を参照して、ステップS42の処理内容の一例を説明する。例えば、レビュー対象文書作成者がユーザID値U1のユーザAであった場合、検索用データ群DB1~DB4から、ユーザAが作成した文書ID値DC4のドキュメント4に関し、「クラス間違いが1箇所あった」とする、レビュー時に検出されたレビュー検出種別を認識することができる。このレビュー検出種別がレビュー対象文書作成者であるユーザAの文書傾向となる。
このように、ステップS41,S42は、レビュー対象文書作成者が過去に作成した文書において過去にレビューされたレビュー検出種別を示す作成者文書傾向情報D31を得るステップとなる。
その後、ステップS43において、検索対象となるレビュアー候補を設定する。ステップS43で設定されるレビュアー候補は、レビュアー候補情報D1で示された複数のレビュアー候補のうち、一のレビュアー候補となる。
そして、ステップS44において、ステップS43で設定したレビュアー候補が過去にレビューしたレビューデータである過去レビューデータを検索する。
次に、ステップS45において、ステップS44で検索された過去レビューデータに基づき、レビュアー文書傾向情報D32を得る。
以下、図8~図11を参照して、ステップS45の処理内容の一例を説明する。例えば、レビュアー候補がユーザID値U2のユーザBであった場合、文書データ群DB3及びコメントデータ群DB4を参照して、ユーザBがレビューした文書ID値DC4のドキュメント4に関し、コメントデータ群DB4の1行目の内容から「クラス間違いを1箇所検出した」という、レビュー時に検出したレビュー検出種別を認識することができる。このレビュー検出種別がレビュアー候補であるユーザBの文書傾向となる。
このように、ステップS44,S45は、レビュアー候補が過去にレビューした文書において、過去にレビューしたレビュー検出種別を示すレビュアー文書傾向情報D32を得るステップとなる。
次に、ステップS46において、レビュアー候補の文書傾向適性度D3を算出する。文書傾向適性度D3は、ステップS42で得られたレビュアー文書傾向情報D32とステップS45で得られた作成者文書傾向情報D31とのレビュー検出種別の一致度合を反映した値となる。
(仮想条件下でのステップS41~S46の実行内容)
以下で示す仮想条件下において、ステップS41~46の処理がどのように実行されるかを説明する。
レビュー対象文書作成者PAが過去に作成した文書データI及び文書データJで検出されたレビュー検出種別はそれぞれ以下の(K1)、(K2)である。
(K1) 文書データIのレビュー検出種別:シーケンス間違い(検出数=1)、シーケンス抜け(検出数=1)、文書間不整合(検出数=3)
(K2) 文書データJのレビュー検出種別:シーケンス間違い(検出数=1)、クラス抜け(検出数=1)、文書間不整合(検出数=1)
一方、ステップS45の実行により得られたレビュアー文書傾向情報D32の内容は以下の仮想結果(Kb)である。
(Kb) レビュアー文書傾向情報D32で示すレビュアー候補PBのレビュー検出種別:クラス間違い(検出数=5)、クラス抜け(検出数=7)、文書間不整合(検出数=4)
なお、「シーケンス」は、システムの概要・仕様・処理の流れを記載したシーケンス図を意味し、「シーケンス抜け」は、シーケンス図で示す流れに抜けがあったことを示し、「シーケンス間違い」は、シーケンス図で示す流れの一部に誤りがあったことを示している。
また、「クラス」は、システムを構成する要素や関係性を表現したクラス図を意味し、「クラス抜け」は、クラス図で示す要素に抜けがあったことを示し、「クラス間違い」は、クラス図で示す要素の一部に誤りがあったことを示している。
「文書間不整合」は、他の文書との間で用語等の不整合があったことを示している。なお、他のレビュー検出種別として、例えば、「ダイアグラム間不整合」があり、「ダイアグラム間不整合」は、複数の図の間で不整合があったことを示している。
このように、レビュー検出種別は、上述した「シーケンス抜け」、「シーケンス間違い」、「クラス抜け」、「クラス間違い」、「文書間不整合」及び「ダイアグラム間不整合」を含んでいる。これらのレビュー検出種別は、知識分野との関連性が低い文書傾向検出種別に分類される。
上記仮想条件(K1),(K2)でステップS42が実行されると、作成者文書傾向情報D31は以下の(Ka)で示す仮想結果となる。
(Ka) 作成者文書傾向情報D31で示すレビュー対象文書作成者PAの文書傾向:{シーケンス間違い(検出数=2)、シーケンス抜け(検出数=1)、文書間不整合(検出数=4)、クラス抜け(検出数=1)}
上記仮想結果(Ka),(Kb)に基づき、ステップS46が実行されると、文書傾向適性度D3は以下の(KX)で示す内容となる。
(KX) 文書傾向適性度D3:23={7×1(クラス抜け)+4×4(文書間不整合)}
このように、作成者文書傾向情報D31とレビュアー文書傾向情報D32との間でレビュー検出種別が一致する検出数同士を積算して総和を求めることにより、文書傾向適性度D3を得ることができる。
仮想結果(KX)で示す「クラス抜け」に関し、レビュー対象文書作成者PAの検出数が“1”であり、レビュアー候補PBの検出数が“7”であるため、両者を積算することにより“7”が得られる。仮想結果(KX)で示す「文書間不整合」に関し、レビュー対象文書作成者PAの検出数が“4”であり、レビュアー候補PBの検出数が“4”であるため、両者を積算することにより“16”が得られる。その結果、最終的に“7”と“16”との加算値“23”が文書傾向適性度D3となる。
その後、ステップS47において、レビュアー候補情報D1で示す複数のレビュアー候補を全て検索対象としたか(YES)否か(NO)が確認され、ステップS45がYESになるまでステップS43~S46の処理が繰り返し実行される。すなわち、レビュアー候補情報D1で示す複数のレビュアー候補全ての文書傾向適性度D3が算出されるまでステップS43~S46の処理が実行される。
ステップS47でYESになると、レビュアー候補情報D1が示す複数のレビュアー候補それぞれの文書傾向適性度D3を示すレビュアー候補適正度情報D43を得ることができる。
レビュアー候補適正度情報D43はデータ管理領域C41上でレビュアー候補管理部41によって管理される。レビュアー検索要求D0、レビュアー候補情報D1、レビュアー候補経験度情報D42及びレビュアー候補適正度情報D43の組合せが、データ管理領域C41上で管理される作業用レビュアー候補情報となる。
図4に戻って、ステップS5において、推薦度算出部44は、レビュアー候補情報D1、レビュアー候補経験度情報D42及びレビュアー候補適正度情報D43に基づき、検索用データ群DB1~DB4を用いた推薦度算出処理を実行する。推薦度算出処理の実行により、複数のレビュアー候補それぞれの推薦度VRを示すレビュアー候補推薦情報D44が得られる。
ステップS5の推薦度算出処理は、レビュアー候補管理部41による推薦度算出指示をトリガとして開始される。また、ステップS5で実行される推薦度算出処理は、推薦度算出部44がデータベースマネジメントシステム3を介してデータベース5に対して行われる。
前述したように、図7は図4で示したステップS5の推薦度算出処理の詳細を示すフローチャートである。以下、同図を参照して推薦度算出処理の処理内容を説明する。
まず、ステップS51において、全てのレビュアー候補におけるレビュアー知識分野経験度D2の正規化処理を実行する。全てのレビュアー候補とは、レビュアー候補情報D1で示す複数のレビュアー候補の全てを指している。
なお、「正規化」とは、「最小値を“0”、最大値を“1”とするスケーリング手法」を意味する。ここで、正規化処理後のレビュアー知識分野経験度D2を「正規化レビュアー知識分野経験度RD2」とする。
次に、ステップS52において、全てのレビュアー候補における文書傾向適性度D3の正規化処理を実行する。ここで、正規化処理後の文書傾向適性度D3を「正規化文書傾向適性度RD3」とする。
その後、ステップS53において、全てのレビュアー候補における正規化文書傾向適性度RD3に“1”以外の重み係数αを積算し、重み付き文書傾向適性度WD3を得る。重み係数αは通常、“1”を超える値に設定される。
ステップS51~S53の実行後、全てのレビュアー候補における正規化レビュアー知識分野経験度RD2と重み付き文書傾向適性度WD3とが得られる。
その後、ステップS54において、推薦度算出対象となるレビュアー候補を設定する。ステップS54で設定されるレビュアー候補は、レビュアー候補情報D1で示された複数のレビュアー候補のうち、一のレビュアー候補となる。
次に、ステップS55において、ステップS54で設定されたレビュアー候補に対し、推薦度VRを算出する。推薦度VRは正規化レビュアー知識分野経験度RD2と重み付き文書傾向適性度WD3との加算値として得られる。すなわち、{VR=RD2+RD3}となる。
推薦度VRは重み付き文書傾向適性度WD3を反映しており、レビュアー候補適正度情報D43が示す文書傾向適性度D3が高い程大きな値となる第1の数値特性を有する。また、推薦度VRは正規化レビュアー知識分野経験度RD2を反映しており、レビュアー知識分野経験度D2が高い程大きな値となる第2の数値特性を有する。
その後、ステップS56において、レビュアー候補情報D1で示す複数のレビュアー候補を全て検索対象としたか(YES)否か(NO)が確認され、ステップS56がYESになるまでステップS54及びS55の処理が繰り返し実行される。すなわち、レビュアー候補情報D1で示す複数のレビュアー候補全ての推薦度VRが算出されるまでステップS54及びS55の処理が実行される。
ステップS56でYESになると、推薦度算出処理は終了し、レビュアー候補情報D1が示す複数のレビュアー候補それぞれの推薦度VRを示すレビュアー候補推薦情報D44を得ることができる。レビュアー候補推薦情報D44はレビュアー候補管理部41によって管理される。
ステップS51~S55を含むステップS5の実行後は、レビュアー候補情報D1及びレビュアー候補推薦情報D44の組合せが、データ管理領域C41上で管理される作業用レビュアー候補情報となる。
図4に戻って、ステップS5の実行後、ステップS6において、レビュアー候補管理部41は、レビュアー候補推薦情報D44に対しデータ整形処理を実行することにより、最終レビュアー候補情報D4を作成する。最終レビュアー候補情報D4は、複数のレビュアー候補に推薦度を対応させて、推薦度の高い順に複数のレビュアー候補を並べたリスト形式の情報となる。
最終レビュアー候補情報D4を作成する際、レビュアー検索要求D0が指示する最大検索数XSに絞り込む絞り込み処理が併せて行われる。すなわち、最終レビュアー候補情報D4には、最大検索数XS内で推薦度VRの高い順にレビュアー候補を並べたリスト形式の情報となる。なお、最大検索数XSがレビュアー候補情報D1に含まれる複数のビュアー候補の数以上の場合は、上述した絞り込み処理は行われず、レビュアー候補情報D1が示す複数のレビュアー候補の全てが推薦度VRの数値の大きい順に並べられる。
このように、ステップS6のデータ整形処理を実行するレビュアー候補管理部41は、データ整形部としても機能している。
ステップS6の実行後、ステップS7において、レビュアー候補管理部41は、最終レビュアー候補情報D4を外部に送信する。
レビュアー候補管理部41は、パラメータ管理部45から応答先情報を取り出し、最終レビュアー候補情報D4を応答先情報に従って送信するようにHTTP処理部46に送信指示を行う。HTTP処理部46は送信指示を受けると、最終レビュアー候補情報D4をJSONのデータフォーマットに合わせて整形してレビュアー検索結果を作成する。
次に、HTTP処理部46は、作成したレビュアー検索結果をレスポンスボディに含めたHTTPレスポンスデータを作成し、応答先情報を送信先として通信処理部2を介してHTTPレスポンスをネットワークインターフェース6に送信する。
その結果、ネットワークインターフェース6からネットワーク11を介してクライアント2iを含む外部に最終レビュアー候補情報D4を含むHTTPレスポンスを送信することができる。このHTTPレスポンスが外部出力情報となる。
このように、オペレーティングシステム1、通信処理部2及びネットワークインターフェース6を含む外部出力部は、最終レビュアー候補情報D4を含むレビュアー検索結果をサーバー10外に出力している。
(効果)
本実施の形態のレビュアー検索システムであるサーバー10において、レビュアー検索処理部4に含まれる文書傾向適正度算出部43は文書傾向適正度算出処理を実行して、文書傾向適性度D3を示すレビュアー候補適正度情報D43を得ている。
文書傾向適性度D3は、レビュアー文書傾向情報D32と作成者文書傾向情報D31とのレビュー検出種別の一致度合を反映した値であるため、レビュー対象文書作成者の文書傾向に合致度合が高いレビュアー候補の文書傾向適性度D3は比較的高い値を有する。
その結果、本実施の形態のサーバー10は、レビュー対象文書作成者の文書傾向に適合したレビュアー候補の文書傾向適性度D3を高くしたレビュアー候補適正度情報D43を得ることができる。なお、レビュー対象文書作成者の文書傾向は、レビュー対象文書作成者が過去に作成した文書にて検出されたレビュー検出種別の傾向となる。
さらに、レビュアー検索処理部4に含まれる推薦度算出部44は、推薦度算出処理を実行してレビュアー候補推薦情報D44を得ている。
レビュアー候補推薦情報D44において、レビュアー候補情報D1で示される複数のレビュアー候補それぞれの推薦度VRは、レビュアー候補適正度情報D43が示す文書傾向適性度D3が高い程大きな値となる第1の数値特性を有する。このため、推薦度算出部44は、レビュー対象文書作成者の文書傾向に合致するレビュアー候補の推薦度VRの値を大きくすることができる。
その結果、本実施の形態のサーバー10は、レビュー対象文書作成者の文書傾向に適合したレビュアー候補の推薦度VRを高くしたレビュアー候補推薦情報D44を得ることができる。
レビュアー候補管理部41のレビュアー候補検索処理によって得られたレビュアー候補情報は各々が知識経験レビュアーである複数のレビュアー候補を示している。
このため、本実施の形態のレビュアー検索システムであるサーバー10は、レビュアー候補を知識経験レビュアーに事前に絞り込むことができる。
したがって、本実施の形態のサーバー10の推薦度算出部44は、過去にレビュー対象知識分野の文書のレビュー経験があり、かつ、レビュー対象文書作成者の文書傾向に適合したレビュアー候補の推薦度VRを高くしたレビュアー候補推薦情報D44を得ることができる。
さらに、レビュアー候補推薦情報D44に関し、第1の数値特性に加え、複数のレビュアー候補それぞれの推薦度VRはレビュアー知識分野経験度D2が高い程大きな値となる第2の数値特性を有する。
複数のレビュアー候補それぞれの推薦度VRは上述した第1及び第2の数値特性を有するため、本実施の形態のレビュアー検索システムであるサーバー10は、文書傾向適性度D3が高く、かつ、レビュアー知識分野経験度D2が高いレビュアー候補の推薦度VRを大きな値にすることができる。
その結果、本実施の形態のサーバー10は、文書傾向適性度D3とレビュアー知識分野経験度D2との組合せに適合した値の推薦度VRを示すレビュアー候補推薦情報D44を得ることができる。なお、重み係数αを大きくすることにより、第1及び第2の数値特性間における第1の数値特性の比率を高めることができる。
本実施の形態のサーバー10は、オペレーティングシステム1、通信処理部2及びネットワークインターフェース6を主要構成要素とする外部入力部をさらに備えることにより、外部から受けるレビュアー検索要求D0を含む外部要求情報であるHTTPリクエストに応じて、レビュアー検索処理部4によってレビュアー候補検索処理を実行することができる。
さらに、本実施の形態のレビュアー検索システムであるサーバー10は、データ整形部として機能するレビュアー候補管理部41により、最大検索数XS内で推薦度の高い順に複数のレビュアー候補を並べたリスト形式の最終レビュアー候補情報D4を得ている。
レビュアー候補推薦情報D44は最終レビュアー候補情報D4にデータ整形された後、外部出力部によって最終レビュアー候補情報D4を含むHTTPレスポンスとしてサーバー10外に送信される。ここで、外部出力部はオペレーティングシステム1、通信処理部2及びネットワークインターフェース6を含んでいる。
したがって、外部からレビュアー検索要求D0を含むHTTPリクエストをサーバー10に送信した検索要求者となるユーザは、クライアント2iからHTTPレスポンスに含まれる最終レビュアー候補情報D4を参照することにより、最大検索数XSに絞り込まれ、かつ、レビュアー検索要求D0に適したレビュアー候補を容易に認識することができる。
本実施の形態のサーバー10において、レビュアー検索処理部4によるデータベース検索処理は、専用のデータ検索機構であるデータベースマネジメントシステム3を介して行われるため、検索時間の短縮化を図ることができる。
(レビュアー検索方法)
本実施の形態のサーバー10を用いて以下に示すレビュアー検索方法を実行することができる。レビュアー検索方法は、レビュアー検索要求D0に応答して、データベース5にアクセスして、検索用データ群DB1~DB4を利用したデータベース検索処理を行うことによりレビュアー候補適正度情報D43を得る方法である。
本実施の形態のレビュアー検索方法は、以下のステップ(a)を有している。
(a) レビュアー検索要求D0に基づき、データベース5に対するデータベース検索処理を実行することにより、レビュアー候補とレビュー対象文書作成者との文書傾向適性度D3を示すレビュアー候補適正度情報D43を得るステップ。
なお、上記ステップ(a)は図4で示したステップS4の処理に対応している。また、レビュアー候補はレビュアー候補情報D1で示す知識経験レビュアーを含んでいる。
そして、上記ステップ(a)は、以下のステップ(a-1)~(a-3)を含んでいる。
(a-1) レビュー対象文書作成者が過去に作成した文書において、レビュー時に検出されたレビュー検出種別を示す作成者文書傾向情報D31を得るステップ、
(a-2) レビュアー候補が過去にレビューした文書において、レビュー時に検出したレビュー検出種別を示すレビュアー文書傾向情報D32を得るステップ、及び
(a-3) レビュアー候補において、レビュアー文書傾向情報D32と作成者文書傾向情報D31とのレビュー検出種別の一致度合を反映した文書傾向適性度D3算出し、レビュアー候補の文書傾向適性度D3を示すレビュアー候補適正度情報D43を得るステップ。
上記ステップ(a-1)は図6で示したステップS41,S42の処理に対応し、上記ステップ(a-2)は図6で示したステップS44,S45の処理に対応し、上記ステップ(a-3)は図6で示したステップS46の処理に対応する。
本実施の形態のレビュアー検索方法はステップ(a)を実行して、文書傾向適性度D3を示すレビュアー候補適正度情報D43を得ている。
文書傾向適性度D3は、レビュアー文書傾向情報D32と作成者文書傾向情報D31とのレビュー検出種別の一致度合を反映した値であるため、レビュー対象文書作成者の文書傾向との合致度合が高いレビュアー候補の文書傾向適性度D3は比較的高い値を有する。
その結果、本実施の形態のレビュアー検索方法は、レビュアー候補適正度情報D43に基づくことにより、レビュー対象文書作成者の文書傾向に適合したレビュアー候補の検索を行うことができる。
<その他>
本実施の形態のサーバー10を含む図1で示すレビュー支援システムは、サーバー10とクライアント2iとの間の通信にHTTPを利用しているが、必要に応じてHTTP以外の他の通信プロトコルを用いて構成してもよい。
また、図1で示したネットワーク11接続されるサーバー10及びクライアント2iの数は一例にすぎず、ネットワーク11に接続されるサーバー10及びクライアント2iの数を増減してもよい。さらに、サーバー10及びクライアント2i以外の機器が接続されていてもよい。
本実施の形態では、データベースマネジメントシステム3及びデータベース5をサーバー10に内蔵した構成となっているが、データベースマネジメントシステム3及びデータベース5をネットワーク11に接続された、サーバー10とは別のサーバーに搭載する変形構成でも良い。変形構成の場合、ネットワーク11経由でサーバー10からデータベース5に対するデータベース検索処理を行ったり、データベース5内の格納データの追加、削除、変更を含むデータ処理を実行したりすることができる。
なお、本開示は、その開示の範囲内において、実施の形態を適宜、変形、省略することが可能である。