以下、添付図面を参照して本発明の実施形態を説明する。本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。各図において共通の構成については同一の参照符号が付されている。
本実施形態はレビュー支援システムを説明する。レビュー支援システムは、システム開発の設計書や業務手順書等のテキスト形式のコンテンツに対する、コンテンツ作成者以外のユーザによるレビューを支援する。レビューとは、コンテンツにおける問題点や修正点等を指摘する作業である。レビューを実施する人であるレビュアがコンテンツに対して、問題点や修正点を指摘するコメントを入力することは、レビューの一例である。
レビュー支援システムは、複数の用語を含む用語データを保持し、各用語は主要分類に属する。用語データに含まれる用語は、例えば、コンテンツに含まれることが望ましい用語である。コンテンツがシステム開発の設計書である場合、セキュリティ、性能、運用、ユーザビリティ、及び法務等はそれぞれ主要分類の一例である。
レビュー支援システムは、コンテンツ及び当該コンテンツに対するコメントの少なくとも一方と用語データとの比較結果に基づいて、主要分類ごとのレコメンド粒度を算出し、算出したレコメンド粒度に基づいて、主要分類ごとのレコメンドをレビュアに対して提示する。レコメンドとは、コンテンツに対する指摘すべき事項を、レビュアに対して提示することである。レコメンド粒度とは、レコメンドにおいて提示する、指摘すべき事項の細かさを示す指標である。
例えば、主要分類「セキュリティ」についてのレコメンド粒度が大きい(粗い)場合、レビュー支援システムは、セキュリティの概要についてのコメントをするよう促すレコメンドを、レビュアに対して提示する。また、例えば、主要分類「セキュリティ」についてのレコメンド粒度が小さい(細かい)場合、レビュー支援システムは、セキュリティの詳細な内容についてコメントをするよう促すレコメンドを、レビュアに対して提示する。
図1は、レビュー支援システムの構成例を示すブロック図である。レビュー支援システムは、例えば、レビュー支援処理装置120と、インターネット等のネットワーク111を介してレビュー支援処理装置120に接続された1以上の作業端末110と、レビュー支援処理装置120に接続されたデータベース130と、を含む。
作業端末110は、例えば、プロセッサ(CPU)、メモリ、補助記憶装置、通信インタフェース、キーボードやマウスや音声入力マイクなどの入力装置に接続された入力インタフェース、及びディスプレイやプリンタなどの出力装置が接続された出力インタフェースを含む計算機によって構成される。作業端末110は、ユーザから入力を受け付け、入力された情報をレビュー支援処理装置120に送信する。また、作業端末110は、例えば、レビュー支援処理装置120による処理結果等をレビュー支援処理装置120から受信し、当該処理結果等を表示装置に出力する。
レビュー支援処理装置120は、プロセッサ(CPU)101、記憶装置であるメモリ102及び補助記憶装置103、並びに通信インタフェース104を有する計算機によって構成される。プロセッサ101は、メモリ102に格納されたプログラムを実行する。メモリ102は、不揮発性の記憶素子であるROM及び揮発性の記憶素子であるRAMを含む。ROMは、不変のプログラム(例えば、BIOS)などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、プロセッサ101が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
補助記憶装置103は、例えば、磁気記憶装置(HDD)、フラッシュメモリ(SSD)等の大容量かつ不揮発性の記憶装置であり、プロセッサ101が実行するプログラム及びプログラムの実行時に使用されるデータを格納する。すなわち、プログラムは、補助記憶装置103から読み出されて、メモリ102にロードされて、プロセッサ101によって実行される。
レビュー支援処理装置120は、入力インタフェース105及び出力インタフェース108を有してもよい。入力インタフェース105は、キーボード106やマウス107などの入力が接続され、オペレータからの入力を受けるインタフェースである。出力インタフェース108は、ディスプレイ109やプリンタなどの出力装置が接続され、プログラムの実行結果をオペレータが視認可能な形式で出力するインタフェースである。
通信インタフェース104は、所定のプロトコルに従って、他の装置との通信を制御するネットワークインターフェース装置である。また、通信インタフェース104は、例えば、USB等のシリアルインターフェースを含む。
プロセッサ101が実行するプログラムは、リムーバブルメディア(CD−ROM、フラッシュメモリなど)又はネットワーク111を介して匿名化サーバ100に提供され、非一時的記憶媒体である不揮発性の補助記憶装置103に格納される。このため、匿名化サーバ100は、リムーバブルメディアからデータを読み込むインタフェースを有するとよい。
レビュー支援処理装置120は、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。
プロセッサ101は、例えば、DB更新部121、コンテンツ・コメント解析部122、レコメンド導出部123、及び送受信部124を含む。例えば、プロセッサ101は、メモリ102にロードされたDB更新プログラムに従って動作することで、DB更新部121として機能し、メモリ102にロードされたコンテンツ・コメント解析プログラムに従って動作することで、コンテンツ・コメント解析部122として機能する。プロセッサ101に含まれる他の部についても同様である。
データベース130は、例えば、コンテンツDB(DataBase)131、コメントDB132、レビュー能力DB133、用語DB134、及びレコメンドDB135を保持する。なお、データベース130が保持するデータの一部又は全部が補助記憶装置103に格納されていてもよい。
なお、本実施形態において、レビュー支援処理装置120が使用する情報は、データ構造に依存せずどのようなデータ構造で表現されていてもよい。例えば、テーブル、リスト、データベース又はキューから適切に選択したデータ構造体が、情報を格納することができる。なお、後に説明する図では、データベース130が保持する各データがテーブル構造で表現されている例を示す。
DB更新部121は、例えば、レビュー支援処理装置120の管理者等からの指示に従って、データベース130に格納されたデータベースを更新する。コンテンツ・コメント解析部122は、コンテンツ及びコンテンツに対して入力されたコメントを解析する。レコメンド導出部123は、各コンテンツに対するレコメンド情報を生成する。送受信部124は、コンテンツ、コメント、及びレコメンド情報を組み合わせた表示画面を生成し、作業端末110やディスプレイ109に送信する。
図2は、プロセッサ101に含まれる各部の構成例を示すブロック図である。DB更新部121は、例えば、レビュアから入力されたコメントを後述するコメントデータ151に格納するコメント更新処理部211と、入力されたコメントに対する統計処理を実行する統計更新部212と、を含む。
コンテンツ・コメント解析部122は、例えば、コンテンツ解析部221及びコメント解析部222を含む。コンテンツ解析部221は、後述するコンテンツデータ141からコンテンツデータを取得し、取得したコンテンツを解析して、解析結果を後述するコンテンツ解析サマリ142及びコンテンツ解析明細143に格納する。コメント解析部222は、コメントデータ151からコメントを取得し、取得したコメントを解析して、解析結果を後述するコメント解析サマリ152及びコメント解析明細153に格納する。
レコメンド導出部123は、例えば、レコメンドベクトル決定部231、レコメンド検索部232、及びスクリーニング部233、を含む。レコメンドベクトル決定部231は、各コンテンツの各主要分類の各レビュアに対するレコメンド粒度を決定し、後述するレコメンドベクトル186を生成する。レコメンド検索部232は、レコメンドベクトル186に従って、各コンテンツの各レビュアに対するレコメンド情報を生成する。スクリーニング部233は、レコメンド情報をスクリーニングすることにより、レビュアに合わせたレコメンド情報を決定する。
送受信部124は、例えば、作業端末110から画面表示要求やコメントを受信するリクエスト受信部241と、コンテンツやコメントやレコメンド情報を画面表示用に加工編集するレスポンス生成部242と、画面表示用に加工編集されたレスポンス情報を作業端末110に送信するレスポンス送信部243と、を含む。
図3は、データベース130の構成例を示すブロック図である。コンテンツDB131は、例えば、レビュー対象のコンテンツを保持するコンテンツデータ141と、コンテンツデータに含まれるコンテンツの解析結果のサマリを保持するコンテンツ解析サマリ142と、当該解析結果の明細であるコンテンツ解析明細143と、を含む。
コメントDB132は、例えば、コンテンツに対して入力されたコメントを保持するコメントデータ151と、コメントデータに含まれるコメントの解析結果のサマリを保持するコメント解析サマリ152と、当該解析結果の明細であるコメント解析明細153と、を含む。
レビュー能力DBは、例えば、個人別保有スキルデータ161、個人別レビュー実績162、レビュー能力定義163、及び個人別実務能力を含む。個人別保有スキルデータ161は、各主要分類における各ユーザのスキルを示すスキル値を保持する。スキル値は、例えば、各ユーザの保有資格や試験成績等の客観的指標に従って、予め定められている。個人別レビュー実績162は、各レビュアが過去に入力したコメントの主要分類ごとの集計結果を保持する。レビュー能力定義163は、個人別保有スキルデータ161と個人別レビュー実績162の情報から、レビュー能力の有無を判定するための情報を保持する。個人別実務能力データ164は、各ユーザの各主要分類におけるコンテンツ作成能力及びレビュー能力の有無を示す情報を保持する。
用語DB134は、主要分類171と用語データ172とを保持する。主要分類171は、主要分類の名称を保持する。用語データ172は、各主要分類に属する用語を保持する。例えば、コンテンツがシステム開発における基本設計書における主要分類は、「セキュリティ」、「性能」、「運用」、「ユーザビリティ」、「法務」等の、システム開発の根幹である分類である。「通信」及び「無線LAN」は、主要分類「セキュリティ」に属する用語の一例である、「レスポンス」及び「スループット」は、主要分類「性能」に属する用語の一例である。
レコメンドDBは、例えば、レコメンド粒度定義181、過去実績参考ケース履歴182、個人別レコメンド粒度反応データ183、レコメンド粒度推奨設定値データ184、レコメンド粒度影響変数調整データ185、レコメンドベクトル186、及びレコメンド詳細187を含む。
レコメンド粒度定義181は、レコメンド粒度影響変数を定義するデータである。レコメンド粒度定義181は、各レコメンド粒度影響変数の値から、各レコメンド粒度影響変数に対応するレコメンド粒度を決定するために用いられる。過去実績参考ケース履歴182は、過去のレビューにおけるレコメンド粒度影響変数、及びレコメンド粒度の実績を示すデータである。個人別レコメンド粒度反応データ183は、各主要分類のレコメンドに対して各レビュアが反応した入力したコメントの件数を保持する。レコメンド粒度推奨設定値データ184は、各主要分類のレコメンド粒度の推奨値を保持する。
レコメンド粒度影響変数調整データ185は、レコメンド粒度影響変数の重みづけ和を算出する際の、各レコメンド粒度影響変数の重みを保持する。レコメンドベクトル186は、各コンテンツの各レビュアに対する各主要分類のレコメンド粒度を保持する。レコメンド詳細187は、各主要分類の各レコメンド粒度に対応するレコメンド内容を保持する。
図4は、コンテンツデータ141の一例である。コンテンツデータ141は、後述するレコメンド支援処理開始前に予めデータベース130に格納されている。コンテンツデータは、例えば、コンテンツ名欄401、コンテンツ欄402、及びコンテンツ作成者欄403を含む。コンテンツデータ141は、コンテンツが格納されたファイルのファイル形式等をさらに格納してもよい。
コンテンツ名欄401は、コンテンツの識別子の一例である名称を格納する。コンテンツ欄402は、言語処理が可能なテキスト形式のコンテンツを格納する。なお、コンテンツが文書ではなく画像や動画等である場合には、コンテンツ欄402は、画像や動画に表示された文章や動画中の音声等がテキスト形式に変換されたコンテンツを保持する。コンテンツ作成者欄403は、コンテンツ作成者の識別子の一例である氏名を格納する。
図5は、コンテンツ解析サマリ142の一例である。コンテンツ解析サマリは、例えば、コンテンツ名欄501、主要分類欄502、コンテンツ関連度欄503、及びコンテンツ網羅率欄504を含む。コンテンツ名欄501は、コンテンツの名称を格納する。主要分類欄502は、主要分類の名称を格納する。コンテンツ関連度欄503は、対応するコンテンツが、対応する主要分類に関連する度合いを示すコンテンツ関連度を格納する。コンテンツ網羅率欄504は、対応する主要分類に属する用語のうち、対応するコンテンツが含む用語の割合、を示すコンテンツ網羅率を格納する。
図6は、コンテンツ解析明細143の一例である。コンテンツ解析明細143は、例えば、コンテンツ名欄601、主要分類欄602、上位用語欄603、用語欄604、及び頻度欄605を含む。コンテンツ名欄601は、コンテンツの名称を格納する。主要分類欄602は、主要分類の名称を格納する。
詳細は後述するが、本実施形態において、各主要分類に1以上の用語が属しており、各用語は、例えば、各主要分類を根ノードとする木構造におけるノードとして定義される。上位用語欄603は、用語欄604に格納された用語の親ノードに相当する用語を格納する。なお、上位用語欄603は、用語欄604に格納された用語の親ノード以外の先祖ノードに相当する用語をさらに格納してもよい。用語欄604は、対応する主要分類に含まれる用語を格納する。頻度欄605は、対応する用語の対応するコンテンツにおける出現頻度を格納する。
図7は、コメントデータ151の一例である。コメントデータ151は、後述するレコメンド支援処理開始前に予めデータベース130に格納されている。コメントデータ151は、例えば、コンテンツ名欄701、対象位置欄702、入力日時欄703、入力者欄704、及びコメント欄705を含む。コンテンツ名欄701は、コメントが入力されたコンテンツの名称を格納する。対象位置欄702は、対応するコメントがコンテンツ内のどの位置に記載されたテキスト等に対するコメントであるかを示す情報を格納する。当該位置は、例えば、コンテンツ内の座標で表されてもよいし、コメント対象のテキストが記載された行番号等で表されてもよい。
入力日時欄703は、例えば、コメントが入力された日時を格納する。入力者欄704は、例えば、コメントを入力した人の氏名を格納する。コメント欄705は、例えば、テキスト形式のコメントを格納する。なお、コメントが文書ではなく画像や動画等である場合には、コメント欄705は、例えば、画像や動画に表示された文章や動画中の音声等がテキスト形式に変換されたコメントを保持する。
図8は、コメント解析サマリ152の一例である。コメント解析サマリ152は、例えば、コンテンツ名欄801、主要分類欄802、コメント関連度欄803、及びコメント網羅率欄804を含む。コンテンツ名欄801は、レビュー対象のコンテンツの名称を格納する。主要分類欄802は、主要分類の名称を格納する。コメント関連度欄803は、対応するコンテンツに入力されたコメントが、対応する主要分類に関連する度合いを示すコメント関連度を格納する。コメント網羅率欄804は、対応する主要分類に属する用語のうち、対応するコンテンツに入力されたコメントが含む用語の割合、を示すコメント網羅率を格納する。
図9は、コメント解析明細153の一例である。コメント解析明細153は、例えば、コンテンツ名欄901、主要分類欄902、上位用語欄903、用語欄904、及び頻度欄905を含む。コンテンツ名欄901は、レビュー対象のコンテンツの名称を格納する。主要分類欄902は、主要分類の名称を格納する。
上位用語欄903は、用語欄904に格納された用語の直近の上位用語を格納する。用語欄904は、対応する主要分類に含まれる用語を格納する。頻度欄605は、対応する用語の対応するコンテンツの全てのコメントにおける総出現頻度を格納する。
図10は、個人別保有スキルデータ161の一例である。個人別保有スキルデータ161は、後述するレコメンド支援処理開始前に予めデータベース130に格納されている。個人別保有スキルデータ161は、例えば、氏名欄1001及びスキル値欄1002を含む。氏名欄1001は、氏名を格納する。スキル値欄1002は、個人が有する各主要分類のスキルの優劣を示す指標であるスキル値を格納する。
なお、本実施形態では、例えば、スキル値が大きいほど、対応する分野のスキルが優れていることを示す。なお、個人別保有スキルデータ161は、スキル値の代わりに、対応する分野のスキルの有無を示すフラグが格納されてもよい。
図11は、個人別レビュー実績162の一例である。個人別レビュー実績162は、例えば、氏名欄1101及びコメント累積件数欄1102を含む。氏名欄は、レビューを実施した個人、即ちレビュアの氏名を格納する。コメント累積件数欄1102、レビュアがコンテンツに対して入力した主要分類別のコメントの件数を格納する。
図12は、レビュー能力定義163の一例である。レビュー能力定義163は、後述するレコメンド支援処理開始前に予めデータベース130に格納されている。レビュー能力定義163は、例えば、スキル値欄1201及びコメント累積件数別レビュー能力欄1202を含む。
スキル値欄1201は、スキル値を格納する。コメント累積件数別レビュー能力欄1202は、各スキル値に対して、コメント累積件数ごとのレビュー能力の有無を示すレビュー能力フラグを格納する。つまり、レビュー能力定義163は、スキル値及びコメント累積件数の組み合わせと、レビュー能力フラグと、の対応を示す情報である。本実施形態では、レビュー能力フラグが「1」である場合、レビュー能力があることを示し、レビュー能力フラグが「0」である場合、レビュー能力がないことを示す。
図13は、個人別実務能力データ164の一例である。個人別実務能力データ164は、例えば、後述するレコメンド支援処理開始前にデータベース130に格納されている。個人別実務能力データ164は、例えば、氏名欄1301、作成能力欄1302、及びレビュー能力欄1303を含む。氏名欄1301は、氏名を格納する。
作成能力欄1302は、コンテンツの作成能力の有無を示す作成能力フラグを主要分類ごとに保持する。本実施形態では、作成能力フラグが「1」である場合、コンテンツ作成能力があることを示し、作成能力フラグが「0」である場合、コンテンツ作成能力がないことを示す。レビュー能力欄1303は、レビュー能力フラグを主要分類ごとに保持する。
なお、例えば、統計更新部212が、レビュー能力欄1303の値を生成及び更新してもよい。具体的には、例えば、統計更新部212は、個人別保有スキルデータ161から各人の各主要分類のスキル値を取得し、個人別レビュー実績162から各人の各主要分類のコメント累積件数を取得する。
統計更新部212は、各人の各主要分類について、当該人のスキル値と当該主要分類のコメント累積件数に対応するコメントレビュー能力フラグを、レビュー能力定義163から取得し、当該人の当該主要分類のレビュー能力欄1303に格納する。
例えば、図10を参照すると、「○○太郎」の「性能」のスキル値は「4」である。また、図11を参照すると、「○○太郎」の「性能」のコメント累積件数は「120」である。図12を参照すると、スキル値「5」かつコメント累積件数「140」である場合のレビュー能力フラグは「1」である。従って、「○○太郎」の「性能」のレビュー能力フラグは「1」である。
なお、レビュー能力欄1303の値の更新は、例えば、定期的に又はユーザからの指示に従って実行される。また、例えば、個人別のコンテンツ作成件数を示す情報、並びにスキル値及びコンテンツ作成件数と、作成能力フラグと、の対応を示す情報が、予めデータベース130に格納されていれば、統計更新部212は、これらの情報を用いて、レビュー能力欄1303の値の生成及び更新と同様の方法で、作成能力欄1302の値を更新及び生成してもよい。
図14は、主要分類171の一例である。主要分類171は、例えば、後述するレコメンド支援処理開始前にデータベース130に格納されている。主要分類171は、主要分類欄1401を含む。主要分類欄1401は、主要分類の名称を格納する。
図15は、用語データ172の一例である。用語データ172は、例えば、後述するレコメンド支援処理開始前にデータベース130に格納されている。本実施形態において、用語は、例えば、各主要分類を根ノードとする木構造のノードとして定義される。用語データ172は、例えば、主要分類欄1501、用語欄1502、階層欄1503、上位用語欄1504、及び関連度欄1505を含む。
主要分類欄1501は、用語欄1502が示す用語が属する主要分類を格納する。用語欄1502は、用語を格納する。階層欄1503は、主要分類が示す木構造において用語が属する階層を格納する。上位用語欄1504は、対応する用語欄1502の用語の親ノードに相当する用語を格納する。関連度欄1505は、対応する用語が対応する主要分類に関連する度合を示す関連度を格納する。同じ木構造に属する用語については、属する階層が上位であるほど関連度が高い。
図16は、レコメンド粒度定義181の一例である。レコメンド粒度定義181は、例えば、後述するレコメンド支援処理開始前にデータベース130に格納されている。レコメンド粒度定義181は、例えば、レコメンド粒度影響変数欄1601及びレコメンド粒度欄1602を含む。レコメンド粒度影響変数欄1601は、各主要分類のレコメンド粒度の決定に用いられる変数名を格納する。つまり、各主要分類のレコメンド粒度は、各主要分類のレコメンド粒度影響変数それぞれのレコメンド粒度から算出される。レコメンド粒度欄1602は、レコメンド粒度影響変数の値と当該レコメンド粒度影響変数のレコメンド粒度との対応、を示す情報を格納する。
本実施形態においては、レコメンド粒度は3段階で定義されているが、段階数に制限はない。また、レコメンド粒度の値は、「1(大)」、「2(中)」、「3(小)」のように、レコメンド粒度が大きいほど小さくなるように定められている。
詳細は後述するが、例えば、コンテンツにおける主要分類の用語の総出現頻度が大きいほど(特に当該主要分類の上位階層における用語の出現頻度が大きいほど)、当該主要分類に対応するコンテンツ関連度が高くなる。つまり、コンテンツと主要分類との間の関連度が高いほど、コンテンツにおける主要分類の用語の総出現頻度が大きい可能性が高く、また当該主要分類の上位階層の用語がコンテンツに記載されている可能性が高い。従って、レコメンド粒度定義181において、コンテンツ関連度については、値が大きいほど、レコメンド粒度が小さくなるよう定義されるのが望ましい。コメント関連度についても同様である。
また、コンテンツがある主要分類に属する用語を網羅する割合が高いほど、当該主要分類の詳細な内容が当該コンテンツに記載されている可能性が高い。従って、レコメンド粒度定義181において、コンテンツ網羅率については、値が大きいほど、レコメンド粒度が小さくなるよう定義されるのが望ましい。コメント網羅率についても同様である。
また、コンテンツ作成者がある主要分類における作成能力を有している場合には、当該主要分類について詳細なコメントが入力された場合に、当該コンテンツ作成者は、当該詳細なコメントを理解し、当該詳細なコメントが示す内容をコンテンツに補足できる可能性が高い。従って、レコメンド粒度定義181において、コンテンツ作成者が作成能力を有する場合に、レコメンド粒度が小さくなるよう定義されるのが望ましい。
また、レビュアがある主要分類におけるレビュー能力を有している場合には、当該レビュアは当該主要分類について詳細なコメントを入力する能力を有する可能性が高い。従って、レコメンド粒度定義181において、レビュアがレビュー能力を有する場合に、レコメンド粒度が小さくなるよう定義されるのが望ましい。
図17は、過去実績参考ケース履歴182の一例である。過去実績参考ケース履歴182は、例えば、コンテンツ名欄1701、氏名欄1702、主要分類欄1703、累積時間欄1704、コンテンツ関連度欄1705、コンテンツ網羅率欄1706、コメント関連度欄1707、コメント網羅率欄1708、作成能力欄1709、レビュー能力欄1710、及びレコメンド粒度欄1711を含む。
コンテンツ名欄1701は、レビューが実施されたコンテンツの名称を格納する。氏名欄1702は、レビューを実施した個人、即ちレビュアの名称を格納する。主要分類欄1703は、主要分類の名称を格納する。累積時間欄1704は、対応するコンテンツのレビュー開始時からの累積経過時間を格納する。なお、1つのコンテンツが複数のレビュアによってレビューされた場合、累積経過時間は、例えば、当該複数人の合計レビュー時間として計測されてもよいし、レビュアごとに計測されてもよい。
コンテンツ関連度欄1705は、対応する累積時間における、対応するコンテンツの対応する主要分類のコンテンツ関連度を格納する。コンテンツ網羅率欄1706は、対応する累積時間における、対応するコンテンツの対応する主要分類のコンテンツ網羅率を格納する。コメント関連度欄1707は、対応する累積時間における、対応するコンテンツの対応する主要分類のコメント関連度を格納する。コメント網羅率欄1708は、対応する累積時間における、対応するコンテンツの対応する主要分類のコメント網羅率を格納する。
作成能力欄1709は、対応するレビュアの対応する主要分類における作成能力フラグを格納する。レビュー能力欄1710は、対応するレビュアの対応する主要分類におけるレビュー能力フラグを格納する。レコメンド粒度欄1711は、対応する累積時間における、対応するコンテンツの対応する主要分類のレコメンド粒度を格納する。なお、過去実績参考ケース履歴182の各欄の値は、後述するレコメンド粒度決定処理等において生成され、生成された値は、例えば、統計更新部212によって過去実績参考ケース履歴182に格納される。
図18は、個人別レコメンド粒度反応データ183の一例である。個人別レコメンド粒度反応データ183は、例えば、氏名欄1801、主要分類欄1802、及びレコメンド粒度別反応コメント件数欄1803を含む。氏名欄1801は、レビュアの氏名を格納する。主要分類欄1802は、主要分類の名称を格納する。レコメンド粒度別反応コメント件数欄1803は、対応するレビュアが対応する主要分類のレコメンドに反応してコメントを入力した件数を、レコメンド粒度別に格納する。例えば、個人別レコメンド粒度反応データ183の各欄の値は、レコメンドに反応したコメントが入力される度に、統計更新部212によって生成される。
図19は、レコメンド粒度推奨設定値データ184の一例である。レコメンド粒度推奨設定値データ184は、例えば、後述するレコメンド支援処理開始前にデータベース130に格納されている。レコメンド粒度推奨設定値データ184は、例えば、主要分類欄1901及び推奨レコメンド粒度欄1902を含む。主要分類欄1901は、主要分類の名称を格納する。推奨レコメンド粒度欄1902は、対応する主要分類のレコメンド粒度の推奨値を格納する。なお、推奨レコメンド粒度欄1902の値は、null値であってもよい。
図20は、レコメンド粒度影響変数調整データ185の一例である。レコメンド粒度推奨設定値データ184は、例えば、後述するレコメンド支援処理開始前にデータベース130に格納されている。レコメンド粒度影響変数調整データ185は、例えば、レコメンド粒度影響変数欄2001及び影響比率欄2002を含む。レコメンド粒度影響変数欄2001は、主要分類のレコメンド粒度の決定に用いられる変数名を格納する。
影響比率欄2002は、レコメンド粒度影響変数から主要分類のレコメンド粒度を決定する際における、各レコメンド粒度影響変数の影響比率を格納する。本実施形態においては、影響比率欄2002の合計が100%である。なお、本実施形態においては、レコメンド粒度影響変数調整データ185は、全ての主要分類に共通して用いられるが、主要分類ごとに設定されていてもよい。
図21は、レコメンドベクトル186の一例である。レコメンドベクトル186は、例えば、コンテンツ名欄2101、氏名欄2102、主要分類欄2103、及びレコメンド粒度欄2104を含む。コンテンツ名欄2101は、コンテンツの名称を格納する。氏名欄2102は、レビュアの氏名を格納する。主要分類欄2103は、主要分類の名称を格納する。レコメンド粒度欄2104は、対応するレビュアに対する、対応するコンテンツ及び主要分類のレコメンド粒度を格納する。
図22は、レコメンド詳細187の一例である。レコメンド詳細187は、例えば、後述するレコメンド支援処理開始前にデータベース130に格納されている。レコメンド詳細187は、例えば、主要分類欄2201、関連用語欄2202、レコメンド粒度欄2203、及びレコメンド内容欄2204を含む。主要分類欄2201は、主要分類の名称を格納する。
関連用語欄2202は、対応する主要分類に属する用語であって、対応するレコメンド内容に関連する用語、を格納する。レコメンド粒度欄2203は、レコメンド粒度を格納する。なお、レコメンド粒度が大きいほど、関連用語欄2202に格納される用語の階層が上位であることが望ましい。レコメンド内容欄2204は、対応する主要分類の対応するレコメンド粒度におけるレコメンド内容を格納する。
図23は、レビュー支援処理の概要の一例を示すフローチャートである。コンテンツ解析部221は、コンテンツデータ141からコンテンツを取得し、取得したコンテンツを解析して、解析結果をコンテンツ解析サマリ142及びコンテンツ解析明細143に追加する(S2301)。
なお、コンテンツ解析部221は、例えば、コンテンツデータ141に新しいコンテンツが登録される度に、当該新しいコンテンツに対してステップS2301の処理を実行してもよいし、定期的に未解析のコンテンツに対してステップS2301の処理を実行してもよい。なお、コンテンツデータ141が保持する全てのコンテンツが解析済みである場合、ステップS2301の処理は実行されなくてもよい。
以下、コンテンツ解析部221による第1コンテンツに対するステップS2301の処理の具体例を説明する。コンテンツ解析部221は、用語データ172から用語欄1502の用語、並びに各用語に対応する主要分類、上位用語、関連度を取得する。コンテンツ解析部221は、第1コンテンツにおける取得した用語それぞれの頻度を算出する。コンテンツ解析部221は、取得した用語それぞれについて、当該用語、算出した頻度、第1コンテンツのコンテンツ名、並びに対応する主要分類及び上位用語をコンテンツ解析明細143に格納する。
また、コンテンツ解析部221は、第1コンテンツの各主要分類に対するコンテンツ関連度及びコンテンツ網羅率を算出する。具体的には、例えば、コンテンツ解析部221は、主要分類が「セキュリティ」である用語の頻度それぞれと、当該用語に対応する関連度と、の積の総和を、第1コンテンツにおける主要分類「セキュリティ」のコンテンツ関連度として算出する。
また、コンテンツ解析部221は、用語データ172において主要分類が「セキュリティ」である用語のうち、第1コンテンツに含まれる用語の割合を、第1コンテンツにおける主要分類「セキュリティ」のコンテンツ網羅率として算出する。
コンテンツ解析部221は、他の主要分類についてのコンテンツ関連度及びコンテンツ網羅率についても同様の方法で算出する。コンテンツ解析部221は、第1コンテンツの名称、各主要分類の名称、並びに各主要分類に対応するコンテンツ関連度及びコンテンツ網羅率をコンテンツ解析サマリ142に格納する。
続いて、コメント解析部222は、コメントデータ151からコメントを取得し、取得したコメントを解析して、解析結果をコメント解析サマリ152及びコメント解析明細153に追加する(S2302)。なお、コメント解析部222は、例えば、コメントデータ151に新しいコメントが登録される度に、当該新しいコメントを含むコンテンツに対してステップS2302の処理を実行してもよいし、定期的に未解析のコメントを含むコンテンツに対してステップS2302の処理を実行してもよい。なお、コメントデータ151が保持する全てのコメントが解析済みである場合、ステップS2302の処理は実行されなくてもよい。
以下、コメント解析部222による第1コンテンツに対するステップS2302の処理の具体例を説明する。コメント解析部222は、コメントデータ151から、第1コンテンツの全てのコメントからなる第1コメント群を取得する。コメント解析部222は、用語データ172から用語欄1502の用語、並びに各用語に対応する主要分類、上位用語、関連度を取得する。コメント解析部222は、第1コメント群における取得した用語それぞれの頻度を算出する。コメント解析部222は、取得した用語それぞれについて、当該用語、算出した頻度、第1コンテンツのコンテンツ名、並びに対応する主要分類及び上位用語をコメント解析明細153に格納する。
また、コメント解析部222は、第1コンテンツの各主要分類に対するコメント関連度及びコメント網羅率を算出する。例えば、コメント解析部222は、主要分類が「セキュリティ」である用語の第1コメント群における頻度それぞれと、当該用語に対応する関連度と、の積の総和を、第1コンテンツにおける主要分類「セキュリティ」のコメント関連度として算出する。
また、コメント解析部222は、用語データ172において主要分類が「セキュリティ」である用語のうち、第1コメント群に含まれる用語の割合を、第1コンテンツにおける主要分類「セキュリティ」のコメント網羅率として算出する。コメント解析部222は、他の主要分類についてのコメント関連度及びコメント網羅率についても同様の方法で算出する。コメント解析部222は、第1コンテンツの名称、各主要分類の名称、並びに各主要分類に対応するコメントツ関連度及びコメント網羅率をコメント解析サマリ152に格納する。
レコメンドベクトル決定部231は、主要分類ごとのレコメンド粒度を示すレコメンドベクトルを決定する(S2303)。ステップS2303における処理の詳細は後述する。続いて、レコメンド検索部232は、決定したレコメンドベクトルに基づいて、レコメンド内容を決定する(S2304)。ステップS2304における処理の詳細は後述する。続いて、スクリーニング部233は、レビュー能力DB133に格納された情報を用いて、レコメンド情報をスクリーニングし、レビュアに適合したレコメンド情報を決定する(S2305)。ステップS2305における処理の詳細は後述する。
なお、レコメンド内容は、コンテンツごと、レビュアごとに異なるため、ステップS2303〜S2305の処理は、例えば、作業端末110から各コンテンツのレビューを実施する各レビュアについて行われる。以下、図24〜図27を用いて、第1コンテンツの第1レビュアに対するレコメンドについてステップS2303〜S2305の処理が行われる例を説明する。また、ステップS2303〜S2305の処理は、例えば、ステップS2301又はステップS2302の処理の一方が実行されるたびに実行される。
図24はステップS2303のレコメンドベクトル決定処理の一例を示すフローチャートである。まず、レコメンドベクトル決定部231は、主要分類171から、第1コンテンツ及び第1レビュアについて、未選択の主要分類を1つ取選択する(S2401)。レコメンドベクトル決定部231は、選択した主要分類に対して、ステップS2402〜S2412の処理を実行する。以下、レコメンドベクトル決定部231が、ステップS2401において、第1主要分類を選択したものとして、第1主要分類に対するステップS2402〜S2412の処理を説明する。
続いて、レコメンドベクトル決定部231は、第1コンテンツの第1主要分類のコンテンツ関連度に対応するレコメンド粒度を算出する(S2402)。具体的には、例えば、レコメンドベクトル決定部231は、コンテンツ解析サマリ142から、第1コンテンツの第1主要分類のコンテンツ関連度を取得する。レコメンドベクトル決定部231は、レコメンド粒度定義181のレコメンド粒度影響変数欄1601の値が「コンテンツ関連度」であるレコードを参照し、取得したコンテンツ関連度の値に対応するレコメンド粒度を取得する。レコメンド導出部123は、ステップS2402の処理により、コンテンツ関連度に応じたレコメンドを生成することができる。
レコメンドベクトル決定部231は、第1コンテンツの第1主要分類のコンテンツ網羅率に対応するレコメンド粒度を算出する(S2403)。具体的には、例えば、レコメンドベクトル決定部231は、コンテンツ解析サマリ142から、第1コンテンツの第1主要分類のコンテンツ網羅率を取得する。レコメンドベクトル決定部231は、レコメンド粒度定義181のレコメンド粒度影響変数欄1601の値が「コンテンツ網羅率」であるレコードを参照し、取得したコンテンツ網羅率の値に対応するレコメンド粒度を取得する。レコメンド導出部123は、ステップS2403の処理により、コンテンツ網羅率に応じたレコメンドを生成することができる。
レコメンドベクトル決定部231は、第1コンテンツの第1主要分類のコメント関連度に対応するレコメンド粒度を算出する(S2404)。具体的には、例えば、レコメンドベクトル決定部231は、コメント解析サマリ152から、第1コンテンツの第1主要分類のコメント関連度を取得する。レコメンドベクトル決定部231は、レコメンド粒度定義181のレコメンド粒度影響変数欄1601の値が「コメント関連度」であるレコードを参照し、取得したコメント関連度の値に対応するレコメンド粒度を取得する。レコメンド導出部123は、ステップS2404の処理により、コメント関連度に応じたレコメンドを生成することができる。
レコメンドベクトル決定部231は、第1コンテンツの第1主要分類のコメント網羅率に対応するレコメンド粒度を算出する(S2405)。具体的には、例えば、レコメンドベクトル決定部231は、コメント解析サマリ152から、第1コンテンツの第1主要分類のコメント網羅率を取得する。レコメンドベクトル決定部231は、レコメンド粒度定義181のレコメンド粒度影響変数欄1601の値が「コメント網羅率」であるレコードを参照し、取得したコメント網羅率の値に対応するレコメンド粒度を取得する。レコメンド導出部123は、ステップS2405の処理により、コメント網羅率に応じたレコメンドを生成することができる。
レコメンドベクトル決定部231は、第1レビュアの第1主要分類における作成能力に対応するレコメンド粒度を算出する(S2406)。具体的には、例えば、レコメンドベクトル決定部231は、個人別実務能力データ164から、第1レビュアの第1主要分類の作成能力を取得する。レコメンドベクトル決定部231は、レコメンド粒度定義181のレコメンド粒度影響変数欄1601の値が「作成能力」であるレコードを参照し、取得した作成能力の値に対応するレコメンド粒度を取得する。レコメンド導出部123は、ステップS2406の処理により、コンテンツ作成者のコンテンツ作成能力に応じたレコメンドベクトルを決定することができる。
レコメンドベクトル決定部231は、第1レビュアの第1主要分類におけるレビュー能力に対応するレコメンド粒度を算出する(S2407)。具体的には、例えば、レコメンドベクトル決定部231は、個人別実務能力データ164から、第1レビュアの第1主要分類のレビュー能力を取得する。レコメンドベクトル決定部231は、レコメンド粒度定義181のレコメンド粒度影響変数欄1601の値が「レビュー能力」であるレコードを参照し、取得したレビュー能力の値に対応するレコメンド粒度を取得する。レコメンド導出部123は、ステップS2407の処理により、レビュアのレビュー能力に応じたレコメンドベクトルを決定することができる。
レコメンドベクトル決定部231は、第1レビュアの第1主要分類における過去実績参考ケース比較に対応するレコメンド粒度を算出する(S2408)。具体的には、例えば、レコメンドベクトル決定部231は、取得したコンテンツ関連度、取得したコンテンツ網羅率、取得したコメント関連度、取得したコメント網羅率、取得した作成能力、及び取得したレビュー能力からなる第1ベクトルを生成する。
また、レコメンドベクトル決定部231は、過去実績参考ケース履歴182の氏名欄1702の値が第1レビュアであり主要分類欄1703の値が第1主要分類であるレコードそれぞれについて、コンテンツ関連度、コンテンツ網羅率、コメント関連度、コメント網羅率、作成能力、及びレビュー能力からなる組み合わせである過去実績ベクトルを生成する。
レコメンドベクトル決定部231は、第1ベクトルと、過去実績ベクトルそれぞれと、を比較して、第1ベクトルに最も近い過去実績ベクトルを特定する。第1ベクトルに最も近い過去実績ベクトルとは、例えば、第1ベクトルとの間の距離が最も小さい過去実績ベクトルである。なお、レコメンドベクトル決定部231は、例えば、第1ベクトル及び過去実績ベクトルの各要素を正規化した上で、当該比較を実行してもよい。レコメンドベクトル決定部231は、特定した過去実績ベクトルに対応する過去実績参考ケース履歴182のレコードのレコメンド粒度を取得する。
続いて、レコメンドベクトル決定部231は、個人適正粒度を算出する(S2409)。具体的には、例えば、レコメンドベクトル決定部231は、個人別レコメンド粒度反応データ183から、第1レビュアの第1主要分類の、各レコメンド粒度における、レコメンド粒度別反応コメント件数を取得し、レコメンド粒度別反応コメント件数が最大のレコメンド粒度を、個人適正粒度に決定する。
なお、レコメンド粒度別反応コメント件数が最大の複数のレコメンド粒度が存在する場合、レコメンドベクトル決定部231は、例えば、当該複数のレコメンド粒度からランダムに1つのレコメンド粒度を選択する。レコメンド導出部123は、前述のように個人適正粒度を決定することにより、レビュアが反応してレビュー可能性が高いレコメンドを生成することができる。
レコメンドベクトル決定部231は、第1主要分類の推奨レコメンド粒度を、レコメンド粒度推奨設定値データ184から取得する(S2410)。なお、第1主要分類の推奨レコメンド粒度がnull値である場合、レコメンドベクトル決定部231は、例えば、第1主要分類の推奨レコメンド粒度を所定の値(例えば2)に決定する。レコメンドベクトル決定部231は、ステップS2402〜S2410で算出したレコメンド粒度から、第1コンテンツの第1主要分類の第1レビュアに対するレコメンド粒度を決定する(S2411)。ステップS2411の処理の詳細は後述する。なお、レコメンドベクトル決定部231は、ステップS2402〜2410の全ての処理を必ずしも実行しなくてもよく、少なくとも1つの処理を実行すればよい。
レコメンドベクトル決定部231は、ステップS2411で決定したレコメンド粒度をレコメンドベクトル186に格納する(S2412)。レコメンドベクトル決定部231は、第1コンテンツ及び第1レビュアについて、未選択の主要分類があるか否かを判定する(S2413)。レコメンドベクトル決定部231は、未選択の主要分類があると判定した場合(S2413:YES)、ステップS2401に遷移し、未選択の主要分類がないと判定した場合(S2413:NO)、レコメンドベクトル決定処理を終了する。
図25は、ステップS2411におけるレコメンド粒度決定処理の一例を示すフローチャートである。レコメンドベクトル決定部231は、レコメンド粒度影響変数調整データ185から未選択のレコードを1つ選択する(S2501)。
レコメンドベクトル決定部231は、選択したレコードのレコメンド粒度影響変数に対応するレコメンド粒度を取得する(S2502)。例えば、選択したレコードのレコメンド粒度影響変数が「コンテンツ関連度」である場合、レコメンドベクトル決定部231は、ステップS2402で算出したコンテンツ関連度に対応するレコメンド粒度を取得する。レコメンドベクトル決定部231は、取得したレコメンド粒度に、選択したレコードにおける影響比率を掛けた補正値を算出する(S2503)。
レコメンドベクトル決定部231は、算出した補正値を、丸め前レコメンド粒度に加算する(S2504)。なお、丸め前レコメンド粒度の初期値は0である。レコメンドベクトル決定部231は、レコメンド粒度影響変数調整データ185に未選択のレコードがあるか否かを判定する(S2505)。レコメンドベクトル決定部231は、未選択のレコードがあると判定した場合(S2505:YES)、ステップS2501に遷移する。
レコメンドベクトル決定部231は、未選択のレコードがないと判定した場合(S2505:NO)、丸め前レコメンド粒度に対して、四捨五入等の丸め処理を実施し、丸め処理後の値を、第1コンテンツの第1主要分類の第1レビュアに対するレコメンド粒度に決定し(S2506)、レコメンド粒度決定処理を終了する。
例えば、ステップS2402〜S2410において算出されたレコメンド粒度がそれぞれ、2(中)、2(中)、2(中)、1(大)、1(大)、3(小)、2(中)、3(小)、2(中)であった場合、図20の例における影響比率を用いて算出される丸め前レコメンド粒度は、2×10%+2×10%+2×10%+1×10%+1×5%+3×5%+2×20%+3×20%+2×10%=2.2であり、丸め処理後のレコメンド粒度は2(中)に決定される。
つまり、レコメンド粒度は、ステップS2402〜S2410において算出されたレコメンド粒度の影響比率による重みづけ和に対して丸め処理をすることにより得られる。なお、例えば、影響比率が全て同じ値である場合、丸め処理前のレコメンド粒度は、各レコメンド粒度影響変数に対応するレコメンド粒度の平均値である。
図26は、ステップS2304におけるレコメンド内容決定処理の一例を示すフローチャートである。レコメンド検索部232は、レコメンドベクトル186から、第1コンテンツの第1レビュアの未選択の主要分類を選択し、選択した主要分類に対応するレコメンド粒度を取得する(S2601)。以下、レコメンド検索部232が、ステップS2601において、第1主要分類を選択したものとして、第1主要分類に対するステップS2602〜S2608の処理を説明する。
レコメンド検索部232は、レコメンド詳細187から、第1主要分類の取得したレコメンド粒度に対応する関連用語を1つ選択する(S2602)。レコメンド検索部232は、コンテンツ解析明細143を参照して、取得した関連用語が第1コンテンツに含まれているか否かを判定する(S2603)。レコメンド検索部232は、取得した関連用語が第1コンテンツに含まれていると判定した場合(S2603:Yes)、ステップS2606に遷移する。
レコメンド検索部232は、取得した関連用語が第1コンテンツに含まれてないと判定した場合(S2603:NO)、コメント解析明細153を参照して、取得した関連用語が第1コンテンツに含まれるコメントのいずれかに含まれているか否かを判定する(S2604)。レコメンド検索部232は、取得した関連用語が第1コンテンツに含まれるコメントのいずれかに含まれていると判定した場合(S2604:YES)、ステップS2606に遷移する。
レコメンド検索部232は、取得した関連用語が第1コンテンツに含まれるコメントのいずれにも含まれていないと判定した場合(S2604:NO)、ステップS2601で選択したレコードにおけるレコメンド内容を取得し、取得したレコメンド内容を、第1レビュアに対して提示する第1コンテンツの第1主要分類のレコメンド内容に決定する(S2605)。なお、当該レコメンド内容と、当該レコメンド内容に対応する粒度及び主要分類と、を含む情報をレコメンド情報と呼ぶ。
例えば、第1主要分類が「セキュリティ」であり、ステップS2602で取得された関連用語が「通信」である場合、レコメンド検索部232は、ステップS2605において、図22の例では、「○○で通信経路のxxが発生、被害総額xxx億円、<URL>」と「通信経路のセキュリティ検討○○、<https://xxxxxx/社内開発ルールNo.1021>」の2つのレコメンド内容を取得する。
続いて、レコメンド検索部232は、第1主要分類の取得したレコメンド粒度に対応する未選択のレコメンド詳細187のレコードがあるか否かを判定する(S2606)。レコメンド検索部232は、未選択のレコードがあると判定した場合(S2606:YES)、ステップS2602に遷移する。レコメンド検索部232は、全てのレコードを選択したと判定した場合(S2606:NO)、第1コンテンツの第1レビュアの未選択の主要分類が、レコメンドベクトル186にあるか否かを判定する(S2607)。
レコメンド検索部232は、第1コンテンツの第1レビュアの未選択の主要分類が、レコメンドベクトル186にあると判定した場合(S2607:YES)、ステップS2601に遷移する。レコメンド検索部232は、レコメンドベクトル186の第1コンテンツの第1レビュアの主要分類を全て選択したと判定した場合(S2607:NO)、レコメンド内容決定処理を終了する。
図27はステップS2305のスクリーニング処理の一例を示すフローチャートである。スクリーニング部233は、ステップS2304で決定されたレコメンド内容に対して、スクリーニング処理を行うか否かを判定する(S2701)。スクリーニング部233は、例えば、スクリーニング機能フラグがONである場合に、スクリーニング処理を行うと判定し、スクリーニング機能フラグがOFFである場合に、スクリーニング処理を行わないと判定する。スクリーニング機能フラグは、例えば、レビュー支援処理装置120の管理者等によって設定される。
なお、スクリーニング部233は、ステップS2304において決定された第1レビュアに対するレコメンド数に応じて、スクリーニング処理を行うか否かを決定してもよい。具体的には、例えば、スクリーニング部233は、第1レビュアに対するレコメンドが所定数以上である場合に、スクリーニング処理を行い、第1レビュアに対するレコメンドが所定数未満である場合にスクリーニング処理を行わない。
スクリーニング部233は、スクリーニング処理を行わないと判定した場合(S2701:NO)、スクリーニング処理を終了し、ステップS2304で決定された第1コンテンツのレコメンド内容を含むレコメンド情報を、第1レビュアが操作する作業端末110に出力する。スクリーニング部233は、スクリーニング処理を行うと判定した場合(S2701:YES)、個人別実務能力データ164から、第1レビュアのレビュー能力フラグが「1」である主要分類を特定する(S2702)。例えば、第1レビュアが「○○太郎」である場合、スクリーニング部233は、ステップS2702において、主要分類「性能」及び「運用」を特定する。
スクリーニング部233は、ステップS2304で決定したレコメンド情報から、ステップS2702で特定した主要分類に該当しないレコメンド情報を出力対象から除外した上で、レコメンド情報を出力し(S2703)、スクリーニング処理を終了する。
図28は、レコメンド表示画面の一例である。レコメンド表示画面2800は、例えば、コンテンツ表示領域2801、1以上のコメント表示領域2802、及び1以上のレコメンド表示領域2803を含む。なお、レコメンド表示画面2800は、レスポンス生成部242によって作成され、レスポンス送信部243によって作業端末110に送信される。
コンテンツ表示領域2801は、例えば、コンテンツデータ141に格納されたコンテンツを表示する。コメント表示領域2802は、例えば、コメントデータ151に格納されたコメントであって、コンテンツ表示領域2801に表示されたコンテンツに対するコメント、を表示する。コメント表示領域2802は、例えば、対象位置欄702が示す対象位置に配置される。また、コメント表示領域2802は、入力者欄704が示すコメント入力者の氏名を表示してもよい。
レコメンド表示領域2803は、例えば、レコメンド情報を表示するレコメンド情報表示領域2804及びコメント入力ボタン2805を含む。レコメンド情報表示領域2804は、例えば、レコメンド粒度、主要分類、及びレコメンド内容を表示する。なお、レコメンド情報表示領域2804は、さらに関連用語を表示してもよい。コメント入力ボタン2805は、表示されたレコメンドに反応して、コメントを入力するためのボタンである。例えば、「○○太郎」が、レコメンドに対応するコメント入力ボタン2805を押下してコメントを入力した場合、コメント更新処理部211は、入力されたコメントをコメントデータ151に追加するとともに、個人別レコメンド粒度反応データ183における、氏名「○○太郎」、主要分類「ユーザビリティ」、レコメンド粒度「1(大)」に対応するレコメンド粒度別反応コメント件数欄1803の値、をインクリメントする。
以上、本実施形態のレビュー支援処理装置120は、コンテンツやコメントにおける主要分類に属する用語の出現状況等に基づいて、レコメンド粒度を決定することにより、レビュアに対して適切なレコメンドを提示することができる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。