以下、添付した図面を参照して、本発明の一実施形態に係る情報処理システム100を詳細に説明する。情報処理システム100は、サーバコンピュータ1、ならびにクライアントコンピュータ2a、2b、および2c(以下、総称して「クライアントコンピュータ2」)を含む。サーバコンピュータ1およびクライアントコンピュータ2は、ネットワーク3(インターネットなどのパブリックネットワークまたは専用線などのプライベートネットワークを含む)を介して相互に接続される。
サーバコンピュータ1は、ホストコンピュータなど、クライアントコンピュータからの要求に応じて処理を実行するコンピュータデバイス(情報処理装置)であり、1つのコンピュータデバイスで構成されてもよく、または複数のコンピュータデバイスで構成されてもよい。また、サーバコンピュータ1は、データベースマネジメントシステム(DBMS)を実装するが、サーバコンピュータ1がDBMSサーバを実装した別のサーバコンピュータと連携してもよく、またはサーバコンピュータ1自体がDBMSサーバを実装してもよい。
クライアントコンピュータ2の各々は、情報処理システム100を利用するユーザが使用するコンピュータデバイス(情報処理装置)である。クライアントコンピュータ2は、スマートフォンおよびタブレットなどの携帯型コンピュータデバイス、ラップトップ型コンピュータデバイス、ならびにノート型コンピュータデバイスなどであってもよい。サーバコンピュータ1は、1つまたは複数のクライアントコンピュータ2と通信し、各々のクライアントコンピュータ2からの要求に応じて対象情報を返す。
次に、図2を参照して、情報処理システム100を構成するサーバコンピュータ1およびクライアントコンピュータ2の詳細な構成要素の例を説明する。サーバコンピュータ1およびクライアントコンピュータ2は、同一の構成を有してもよく、または異なる構成を有してもよい。
サーバコンピュータ1は、制御装置11、メモリ12、記憶装置13、および通信装置14を含む。制御装置11は、プロセッサとも称され、上記各構成要素の制御やデータの演算を実行する。また、制御装置11は、本発明の一実施形態に係る各種処理を実行するための、記憶装置13に記憶されているプログラムをメモリ12に読み出して実行する。ここで、上述したプログラムとは、情報処理システム100を実装するためのプログラムであり、サーバコンピュータ1の記憶装置13に記憶されている。
メモリ12は、クライアントコンピュータ2などから送信されたデータ、コンピュータ実行可能な命令、および当該命令による演算処理後のデータなどを記憶した揮発性データ記憶装置である。メモリ12は、RAM(ランダムアクセスメモリ)(例えば、SRAM(スタティックRAM)およびDRAM(ダイナミックRAM))などで実装されてもよい。
記憶装置13は、上述したプログラムおよび情報処理システム100が実装するデータベースマネジメントシステム(DBMS)によって使用されるデータベーステーブルなどを記憶した不揮発性データ記憶装置である。記憶装置13は、ROM(リードオンリメモリ)などの不揮発性半導体メモリ、磁気記憶装置(ハードディスクドライブなど)、および光ディスクなどで実装されてもよい。なお、プログラムおよびデータベーステーブルなどのデータは、記憶装置13に加えまたはその代わりに、NAS(Network Attached Storage)および/またはSAN(Storage Area Network)などに記憶されてもよい。
通信装置14は、ネットワーク3を介して接続されたクライアントコンピュータ2との間でデータおよび制御情報を送受信するネットワークインタフェースである。このネットワークインタフェースは、例えば、TCP/IPなどのプロトコルに準拠したネットワークカード(例えば、LANカード)などによって実装される。
クライアントコンピュータ2は、制御装置21、メモリ22、記憶装置23、通信装置24、表示装置25、および入力装置26を備えている。制御装置21、メモリ22、記憶装置23、および通信装置24は、サーバコンピュータ1が有する制御装置11、メモリ12、記憶装置13、および通信装置14と同等の機能を有する。
表示装置15は、クライアントコンピュータ2が記憶装置23に記憶された所定のプログラムを実行することによって(または、サーバコンピュータ1からインタフェース画面をダウンロードすることによって)、ユーザが所定の情報を入力し、対象情報を表示するための入出力インタフェース画面を表示する。表示装置15は、クライアントコンピュータ2と一体化されたディスプレイデバイス(例えば、タッチパネルディスプレイ)、または別個に接続されたディスプレイデバイス(例えば、液晶パネル)などで実装されてもよい。
入力装置26は、ユーザが上述した入出力インタフェース画面に所定の情報を入力するためのポインティングデバイスであり、例えば、マウス、タッチパッド、タッチパネル、およびスタイラスペンなどを含んでもよい。入力装置26は、クライアントコンピュータ2と一体化されてもよく、(例えば、表示装置25に実装されたタッチパネルなど)、または別個に接続されたポインティングデバイス(例えば、マウスおよびキーボードなど)で実装されてもよい
<第1の実施形態>
次に、本発明の第1の実施形態を説明する。以下の第1の実施形態乃至第3の実施形態ではいずれも、サーバコンピュータ1がCRMシステムを実装する例として説明する。つまり、ユーザは、クライアントコンピュータ2を使用して、営業先となる企業に関する情報を検索および閲覧することができる。ユーザは、情報処理システム100(CRMシステム)において、自身を識別するユーザIDおよび所属する企業IDが割り当てられているものとする。つまり、情報処理システム100において、ユーザごとの情報が管理されている(例えば、ユーザが所属する企業およびその企業における役職など)。
図3は、クライアントコンピュータ2の表示装置25に表示される顧客情報管理インタフェース画面300の例を示す。ユーザは、自身のユーザIDおよびパスワードなどで認証することによって、図3に示すユーザごとに独立した顧客情報管理インタフェース画面300にログインすることができる。認証する際に入力されるユーザIDは、メモリ22に記憶される。顧客情報管理インタフェース画面300は、企業名入力フィールド301および企業名表示フィールド302を含む。企業名入力フィールド301は、対象情報となる企業名、つまり検索条件を入力するためのフィールドである。
ユーザが企業名入力フィールド301に所定の情報(検索条件)を入力して検索すると、入力した検索条件を含む入力電文(入力情報)がサーバコンピュータ1に送信される。サーバコンピュータ1の通信装置14が入力電文を受信すると、制御装置11が入力電文に含まれる検索条件に基づいて、記憶装置13に記憶された企業データテーブル(データベーステーブル)400から検索条件に一致する企業名を取得する。ここで、一致とは、入力された検索条件の部分一致を含み、また、入力された検索条件が平仮名の場合、それを漢字から平仮名に変換したときに一致するような一致も含む(つまり、平仮名、片仮名、および漢字の間で相互に変換した後の一致または部分一致)。さらに、一致とは、検索条件が旧企業名に一致することも含む。
図4に企業データテーブル400の例を示す。図4に示すように、企業データテーブル400は、情報項目として企業ID401、企業名402、企業名(平仮名)403、企業名(片仮名)404、住所405、業種406、資本金407、従業員数408、および旧企業名409を含むが、これらの情報項目は例示にすぎない。制御装置11は、企業データテーブル400から検索条件に一致した1つまたは複数の企業データレコードを取得し、通信装置14がクライアントコンピュータ2に返す。
企業名表示フィールド302には、検索条件に一致した1つまたは複数の企業名(候補)が表示される。図3に示すように、企業名表示フィールド302は、8件の企業名が表示されている。これは、入力された検索条件である「〇〇」と一致した企業名(旧企業名)が9件あることを示す。また、企業名表示フィールド302の1件目、2件目、および9件目に表示された3つの企業は、全く同一の名称を有していることを示す。なお、本実施形態では、ユーザが企業名を入力し、その企業名に基づいて企業データテーブル400から候補を検索する例を示しているが、企業名以外に住所および業種などの他の属性に基づいて検索してもよい。
ユーザが企業名表示フィールド302に表示された企業名のうちのいずれかを選択すると、選択した企業についての詳細情報を表示する画面(図示せず)に遷移する。詳細情報は、企業データテーブル400が有する情報項目を含む。なお、企業データテーブル400に含まれる住所などの情報の有無は、企業によって異なり、企業名および業種のみを有する企業(つまり、住所などの情報を有さない)、企業名および住所のみを有する企業(つまり、業種などの情報を有さない)などが存在する。
ユーザが企業名表示フィールド302に表示された企業名のうちのいずれかを選択すると、クライアントコンピュータ2の制御装置21は、該当のユーザのユーザIDおよび選択した企業に対応する企業IDを含む情報閲覧電文を生成し、通信装置24が情報閲覧電文をサーバコンピュータ1に送信する。サーバコンピュータ1の通信装置14が情報閲覧電文を受信すると、制御装置11は、情報閲覧電文に基づいて、情報閲覧データテーブル(データベーステーブル)500にレコードを追加する。図5に、情報閲覧データテーブルの例を示す。
情報閲覧データテーブル500は、ユーザが企業情報を閲覧した対応する企業(閲覧対象)および日時などを管理するデータテーブルであり、図5に示すように、少なくとも、情報項目としてユーザID501、閲覧日時502、および企業ID503を含む。このように、サーバコンピュータ1は、ユーザが企業情報を閲覧する都度、ユーザが情報を閲覧した履歴を管理している。情報閲覧データテーブル500によって、ユーザが閲覧した閲覧対象および閲覧日時が管理されることになる。
なお、本実施形態では、ユーザが企業名表示フィールド302に表示された企業名のうちのいずれかを選択すると、選択された企業に対応する情報閲覧電文がサーバコンピュータ1に送信されるが、そのような実施形態に限定されない。例えば、選択された企業についての詳細情報を表示する画面において確定ボタン(図示せず)を設け、ユーザが確定ボタンを押下したときのみ情報閲覧電文をサーバコンピュータ1に送信してもよい。ユーザが企業名表示フィールド302に表示された複数の企業を1つずつ閲覧する場合、意図しない企業を閲覧した場合に、その企業に対応するレコードを情報閲覧データテーブル500にレコードを追加しないようにするためである。
図3に示したように、企業名表示フィールド302には、複数の企業名が表示され、特に、同一の名称を有する複数の企業名が表示される場合、図3に示す画面では、ユーザは自身が対象情報とする企業がどれであるかを判断することができないことがある。第1の実施形態に係る処理では、ユーザが企業名入力フィールド301に入力した検索条件に基づいて、検索条件に一致した複数の企業名が存在する場合、情報閲覧データテーブル500に記憶された情報に基づいて、複数の企業名から絞り込みおよび/または優先付けを行う。図6に示すフローチャートを参照して、第1の実施形態に係る処理の例を説明する。
ステップS601では、ユーザが企業名入力フィールド301に検索条件(企業名)を入力すると、制御装置21は、該当のユーザのユーザIDおよび入力された検索条件を含む入力電文(入力情報)を生成する。次に、通信装置24は、生成した入力電文をサーバコンピュータ1に送信する(ステップS602)。
次に、サーバコンピュータ1の通信装置14が入力電文を受信すると、制御装置11は、企業データテーブル400を検索し、企業名401または旧企業名409に設定された企業名が入力電文に含まれる検索条件に一致する企業データレコードを全て取得する(ステップS603)。次に、制御装置11は、入力電文に含まれるユーザIDに基づいて、情報閲覧データテーブル500から該当の情報閲覧データレコードを取得する(ステップS604)。このときに、取得したデータレコードを件数が所定の閾値以上である場合、または無条件に、閲覧日時502に設定された日時が新しい順に、所定の数のレコードを取得してもよい。また、閲覧日時502に設定された日時が所定の日時以降であるレコードを取得してもよい。
次に、ステップS604で取得した情報閲覧データレコードに基づいて、ステップS603で取得した企業データレコードを絞り込み、または優先付けるための優先度を決定する(ステップS605)。以下では、優先度を決定する例を説明する。ここで、上記説明した情報閲覧データテーブル500には、既に該当のユーザが企業情報を閲覧したことに対応するデータレコードが存在するものとし、ステップS604では、50件の情報閲覧データレコードを取得しているものとする。
優先度を決定する1つ目の例として、50件の情報閲覧データレコードを、それぞれが有する企業ID503に設定された企業ID別に集計する(つまり、閲覧対象ごとに閲覧回数を集計する)。例えば、企業ID「AA192387」が設定された情報閲覧データレコードの件数が10件であり、「AA192390」が設定された情報閲覧データレコードの件数が7件であり、「AA192393」が設定された情報閲覧データレコードの件数が5件であるものとする。このことは、該当のユーザが過去の所定の期間内に企業情報を閲覧した回数である50回のうち、10回が企業ID「AA192387」に対応する企業情報の閲覧であり、7回および5回がそれぞれ企業ID「AA192390」および「AA192393」に対応する企業情報の閲覧であることを意味する。
この場合、企業ID「AA192387」に対応する企業の閲覧履歴に第1の優先度が割り当てられる。同様に、企業ID「AA192390」に対応する企業の閲覧履歴に第2の優先度が割り当てられ、企業ID「AA192393」に対応する企業の閲覧履歴に第3の優先度が割り当てられる。
優先度を決定する2つ目の例として、50件の情報閲覧データレコードのそれぞれが有する企業ID503に設定された企業IDに基づいて、企業データテーブル400から対応する企業データレコードをそれぞれ取得する。つまり、50件の情報閲覧データレコードのそれぞれに対応する50件の企業データレコードが取得される。そして、取得した50件の企業データレコードのそれぞれが有する住所405に設定された住所を、例えば、都道府県別に集計する(つまり、閲覧対象に関連する属性に応じて閲覧回数を集計する)。
例えば、住所を東京都に有する企業に対応する情報閲覧データレコードの件数が38件であり、住所を神奈川県に有する企業に対応する情報閲覧データレコードの件数が3件であるものとする。このことは、該当のユーザが過去の所定の期間内に企業情報を閲覧した回数である50回のうち、38回が住所を東京都に有する企業に対応する企業情報の閲覧であり、3回が住所を神奈川県に有する企業に対応する企業情報の閲覧であることを意味する。この場合、住所を東京都に有する企業の閲覧履歴に第1の優先度が割り当てられ、住所を神奈川県に有する企業の閲覧履歴に第2の優先度が割り当てられる。
住所と同様に、例えば、取得した50件の企業データレコードのそれぞれが有する業種406に設定された業種を業種別に集計し、集計件数の多い順に優先度を割り当ててもよい。資本金および従業員数も同様に、資本金の額および従業員数の人数を予め定められたクラスに分類し、そのクラスごとに集計してもよい。なお、住所を都道府県別に集計することは例示にすぎず、集計する範囲はそのような範囲に限定されない。また、業種についても、必ずしも同一の業種ごとに集計すること必要はなく、業種ごとに予め定められたクラスに分類し、そのクラスごとに集計してもよい。
優先度を決定する1つ目の例として説明した方法は、ユーザが過去に企業名を基準に閲覧した回数に基づいて優先度を決定している。企業名も企業情報における属性の1つであるので、上記説明した優先度を決定する2つの例はいずれも、ユーザが閲覧した閲覧対象に関連する属性に基づいて優先度を決定していると言える。なお、上記説明した住所などの属性は例示にすぎず、その他の属性に基づいて優先度を決定してもよい。また、閲覧対象が複数の属性を有する場合、それらの属性が単独で、またはそれぞれを組み合わせて使用されてもよい。
例えば、以下のような方式で優先度を決定してもよい。前提として、例えば、50件の情報閲覧データレコードのそれぞれが有する企業ID503に設定された企業IDを件数別に集計する。その結果、企業ID「AA192387」が設定された情報閲覧データレコードの件数が10件であり、「AA192390」が設定された情報閲覧データレコードの件数が7件であり、「AA192393」が設定された情報閲覧データレコードの件数が5件であるものとする。また、50件の企業データレコードのそれぞれが有する住所405に設定された住所を、例えば、都道府県別に集計する。その結果、住所を東京に有する企業に対応する情報閲覧データレコードの件数が38件であるものとする。さらに、50件の企業データレコードのそれぞれが有する業種406に設定された業種を業種別に集計する。その結果、業種「ソフトウェア開発」が設定された情報閲覧データレコードの件数22件であり、業種「金融」が設定された情報閲覧データレコードの件数が12件であるものとする。
上述したことは、該当のユーザが過去の所定の期間内に特定の企業を閲覧した回数、特定の住所を有する企業を閲覧した回数、および特定の業種に属する企業を閲覧した回数を意味している。これらの回数は50件の情報閲覧データレコードを集計した結果であるので、それぞれの閲覧回数の閲覧総数に対する割合は以下の通りである。
表1 ユーザの閲覧総数に対するそれぞれの閲覧回数の割合
このことから、それぞれの属性に基づく閲覧履歴に対して優先度を以下のように割り当ててもよい。
表2 割り当てられた優先度
つまり、閲覧総数に対してユーザが特定の企業を閲覧した回数の割合、および特定の属性に従って企業を閲覧した回数の割合を、相互に割合の高さに応じて優先度を割り当てる。同一の優先度の中で複数の候補が存在する場合、その下位の優先度に従ってそれらの候補が絞り込まれ、または優先付けられる。
別の例として、表1に示した割合を算出する際に、該当のユーザが過去に閲覧した時期に応じて重み付けがされてもよい。例えば、本処理が実行される日付(つまり、ユーザから検索要求がされたとき)を基準に、上述した50件の情報閲覧データレコード(対応する企業データレコード)を、直近の1カ月以内に閲覧した回数と、1カ月よりも前に閲覧した回数とに分けて集計する。具体的には、基準日を2018年8月31日とし、2018年7月31日よりも前に閲覧したか(第1の期間)、および2018年7月31日から2018年8月31日の間に閲覧したか(第2の期間)を基準に、50件の情報閲覧データレコードを集計する。
その結果、例えば、それぞれの閲覧回数は以下のようになるとする。
表3 閲覧回数
ユーザが情報を検索したときを基準に、例えば、東京都に住所を有する企業についての情報を100回閲覧した履歴があるとしても、その大部分の閲覧した時期が1年前であり、直近の1カ月にほとんど閲覧してない場合を考える。この場合、東京都に住所を有する企業についての情報は、直近ではほとんど閲覧していないことから、ユーザが意図する対象情報でない可能性が高く、優先度が低く割り当てられるべきである。
このことから、表3に示したそれぞれの属性に基づく閲覧履歴について、例えば、第1の期間内の閲覧履歴に重み値0.5を割り当て、第2の期間内の閲覧履歴に重み値1を割り当てる。つまり、閲覧した時期が前であるにつれて、低い重み値が割り当てられる。その結果、それぞれの閲覧回数は以下のようになる。
表4 閲覧回数
表4に示す重み値が割り当てられた閲覧回数の閲覧総数に対する割合を算出する。算出した割合は以下の通りである。
表5 ユーザの閲覧総数に対するそれぞれの閲覧回数の割合
このことから、それぞれの属性に基づく閲覧履歴に対して優先度を以下のように割り当ててもよい。
表6 割り当てられた優先度
表6に示すように、該当のユーザが、東京に住所を有する企業についての情報を閲覧した回数(38)が、業種「ソフトウェア開発」に属する企業についての情報を閲覧した回数(22)よりも多いにも関わらず、割り当てられた優先度が低い。このようにして、閲覧回数を時期に応じて別個に集計し、それぞれの時期に応じて異なる重み値を割り当てて割合を算出してもよい。この重み付けは、統計などに基づいて予め定義されてもよく、またはユーザごとに定義されてもよい。
さらなる別の例として、表1に示した割合を算出する際に、該当のユーザが閲覧した閲覧対象に関連する属性に応じて、それぞれの閲覧履歴に重み付けがされてもよい。例えば、ユーザの閲覧回数を都道府県別(住所)、および業種別に集計することについて考える。一般に、企業の業種は大多数の分類にわたるが、都道府県は47に限定される。つまり、業種の分布は、都道府県の分布と比較して広い。このように、それぞれ属性がとり得る範囲の分布の広さが異なる場合、その分布に応じて異なる重み付け値が割り当てられてもよい。例えば、とり得る範囲の分布が広い属性に対しては、高い重み値が割り当てられてもよい。この重み付けも、統計などに基づいて予め定義されてもよく、またはユーザごとに定義されてもよい。
上述したように、ユーザが閲覧した閲覧対象に関連する属性ごとに重み付けを行って、閲覧回数を集計する2つの例を説明した。上記2つの例はつまり、特定の要因または基準に応じてユーザが閲覧した閲覧対象に関連する属性に重み付けを行っていると言える。
図6に戻り、ステップS605で優先度が決定されると、制御装置11は、決定した優先度に基づいて、ステップS603で取得した企業データレコードを絞り込み、または優先付ける(ステップS606)。優先付けとは、上述した顧客情報管理インタフェース画面300の企業名表示フィールド302に表示される順序を意味する(最も優先順位が高い企業が最も上に表示される)。絞り込みは、決定した優先度に従って、予め定められた件数まで絞り込んでもよく、またはユーザによって指定された件数まで絞り込んでもよい。
優先付けまたは絞り込みが行われると、その優先付けられまたは絞り込まれた企業データレコードがクライアントコンピュータ2に送信され(ステップS607)、企業名表示フィールド302に対応する企業名が表示される(ステップS608)。
以上のように、第1の実施形態に係る処理の例を説明した。第1の実施形態では、ユーザが閲覧した閲覧対象に関連する属性ごとの閲覧回数に基づいて優先度を決定するが、閲覧回数以外の要因に基づいて優先度を決定してもよい。第1の実施形態に係る処理によれば、ユーザが入力した検索条件に一致した複数の候補が存在する場合に、ユーザが閲覧した閲覧対象に関連する属性に基づいてユーザが意図する対象情報を特定している。よって、ユーザに対して適切な対象情報が提供されるようになる。特に、第1の実施形態に係る処理は、入力データに誤った情報が含まれ、または情報が不足する場合にその情報を訂正または補足するデータクレンジング処理、および複数の関連する情報を1つにまとめる名寄せ処理に使用することができる。以下の第2の実施形態および第3の実施形態に係る処理でも同様である。
また、第1の実施形態に係る処理によれば、ユーザが閲覧した閲覧対象に関連する複数の属性に基づいて優先度を決定している。よって、住所などの属性についての情報が管理されていない企業が存在する場合でも、その他の属性(例えば、業種)に基づいて優先度を決定することによって、ユーザに対して適切な対象情報が提供されるようになる。
さらに、第1の実施形態に係る処理によれば、特定の要因または基準に従って、ユーザが閲覧した閲覧対象に関連する複数のそれぞれの属性に重み付けを行って優先度を決定している。このことは、検索条件に一致した複数の候補から、ユーザが意図する対象情報を特定する精度をさらに高めることにつながる。
加えて、第1の実施形態に係る処理は、ユーザが情報を閲覧した回数に基づいて、検索条件に一致した複数の候補から、ユーザが意図する対象情報を特定している。このことは、ユーザが情報の閲覧を重ねるにつれて、対象情報を特定する精度を高めることにつながる。
<第2の実施形態>
次に、本発明の第2の実施形態を説明する。第2の実施形態では、サーバコンピュータ1が実装するCRMシステムが、ユーザが行った営業活動に関する日報(営業日報)を管理する。ユーザは、クライアントコンピュータ2の表示装置25に表示される営業日報入力インタフェース画面700aを介して、自身の営業日報を入力することができる。
図7Aは、営業日報入力インタフェース画面700aの例を示す。ユーザは、自身のユーザIDおよびパスワードなどで認証することによって、図7Aに示すユーザごとに独立した営業日報入力インタフェース画面700aにログインすることができる。認証する際に入力されるユーザIDは、メモリ22に記憶される。図7Aに示すように、営業日報入力インタフェース画面700aは、営業活動を行った活動日および営業先となる企業名などの日報情報を入力することができる。これらの情報を入力すると、クライアントコンピュータ2の制御装置21は、日報情報およびユーザIDを含む入力電文(入力情報)を生成し、通信装置24がサーバコンピュータ1に送信する。サーバコンピュータ1の制御装置11は、入力電文に含まれる情報に基づいて、ユーザが行った営業日報を管理する営業日報データテーブル(図示せず)にデータレコードを追加する。
図7Aに示す営業日報入力インタフェース画面700aでは、ユーザが営業先となる企業名を直接入力する例を示している。この場合、入力した企業名に対応する企業名が複数存在する場合、営業日報データベーステーブルにデータレコードを追加する際に、企業IDを特定することができない。この場合、以下のように処理してもよい。
入力電文(または、入力した企業名のみ)がサーバコンピュータ1に送信されると、サーバコンピュータ1の制御装置11が入力電文に含まれる企業名に基づいて企業データテーブル400を検索し、一致する企業データレコードを全て取得する。その後は、図6で説明したステップS604乃至S608に従って、絞り込みまたは優先付けられた企業名を営業日報入力インタフェース画面700bに表示する。
なお、営業日報入力インタフェース画面700aでユーザによって入力された企業名に「株式会社」および「有限会社」などの企業名を表す一般用語が含まれる場合、入力された企業名からその用語を除いて検索してもよい。図7Aに示す営業日報入力インタフェース画面700aには、「〇〇株式会社」と入力されているので、企業データテーブル400からは、「〇〇」に一致する企業データレコードが取得される。
図7Bは、絞り込みまたは優先付けられた企業名が表示された営業日報入力インタフェース画面700bを示す。図7Bに示すように、営業日報入力インタフェース画面700bには、絞り込みまたは優先付けられた1つまたは複数の企業名が表示される。ユーザが表示された企業名を選択すると、選択した企業についての詳細情報を表示する画面(図示せず)に遷移し、選択された企業の詳細情報を確認することができる。
ユーザが営業日報入力インタフェース画面700bに表示された決定ボタンを押下すると、クライアントコンピュータ2の制御装置21は、少なくとも該当のユーザのユーザIDおよび選択した企業に対応する企業IDをサーバコンピュータ1に送信する。そして、サーバコンピュータ1の制御装置11は、送信されたユーザID、企業ID、および営業日報入力インタフェース画面700aにおいて入力された情報(上述した入力電文)基づいて、営業日報データテーブルにデータレコードを追加する。
上述したように、従来技術では、日報情報に企業名のみが含まれ、ユーザが営業活動を行った対象の企業を適切に特定することができなかった。第2の実施形態に係る処理によれば、営業日報、つまりユーザの活動情報を入力する際に、ユーザの過去の閲覧履歴に基づいて、その活動対象(対象情報)を適切に特定することができる。
上記処理に加え、ユーザが営業日報入力インタフェース画面700bに表示された決定ボタンを押下すると、クライアントコンピュータ2の制御装置21は、活動情報電文を生成し、通信装置24が活動情報電文をサーバコンピュータ1に送信してもよい。活動情報電文は、少なくとも該当のユーザのユーザID、選択した企業に対応する企業ID、および営業日報入力インタフェース画面700aにおいて入力された活動日を含む。
活動情報電文がサーバコンピュータ1に送信されると、サーバコンピュータ1の制御装置11は、活動情報電文に含まれるユーザID、企業ID、および活動日に基づいて、活動履歴データベーステーブルにデータレコードを追加する。活動履歴データベーステーブルは、ユーザが営業活動を行った対応する企業(活動対象)および活動日などを管理するデータテーブルであり、データ構造は、図5に示した情報閲覧データテーブル500と同様であるので説明は省略する。このように、サーバコンピュータ1は、ユーザが営業活動を含む活動を行う都度、その活動に対応する活動対象についての活動履歴を管理している。
このようにして、ユーザが特定の活動を行うと、活動履歴データベーステーブルにデータレコードが蓄積される。このような状態で、図6で説明したステップS601乃至S608と同様の処理を実行することによって、ユーザが企業名を検索する際に、ユーザの過去の活動履歴に基づいて、適切な対象情報を特定することができる。図6で説明したステップS604の処理では、情報閲覧データテーブル500から情報閲覧データレコードが取得されることになるが、第2の実施形態では代わりに、上述した活動データベーステーブルから活動データレコードが取得されることになる。
第2の実施形態に係る処理に従って企業名を検索する場合、第1の実施形態で説明した閲覧回数の代わりに、ユーザの過去の活動履歴(活動回数)に基づいて対象情報が特定される(活動データベーステーブルに記憶された活動データレコードに基づいて)。つまり、ユーザが過去の所定の期間内に特定の企業に営業活動を行った回数、および特定の住所を有する企業に営業活動を行った回数(または、営業活動総数に対する割合)などに基づいて優先度が決定される。つまり、第2の実施形態に係る処理は、ユーザが活動した活動対象に関連する属性に基づいて優先度を決定していると言える。
なお、上述した営業日報を入力する際に、営業日報入力インタフェース画面700aにおいて入力された企業名から、ユーザの過去の閲覧履歴に基づいて(第1の実施形態で説明した処理に従って)企業IDを特定することは上述した。代わりに、営業日報入力インタフェース画面700aにおいて入力された企業名から、ユーザの過去の活動履歴に基づいて活動データベーステーブルに記憶された活動データレコードに基づいて)企業IDを特定してもよい。
以上のように、第2の実施形態に係る処理の例を説明した。第1の実施形態で説明した処理では、ユーザが情報を閲覧した回数に基づいて、検索条件に一致した複数の候補から対象情報を特定している。情報を閲覧した回数は、上述した顧客情報管理インタフェース画面300の企業名表示フィールド302に表示された企業名を選択すると(または、確定ボタンを押下すると)、閲覧回数が加算されることになる。このことは、ユーザが複数の候補のそれぞれを詳細に確認する場合、または誤って確定ボタンを押下した場合も、閲覧回数が加算されることになる。つまり、ユーザが意図しない候補に対して高い優先度が割り当てられる可能性もある。第2の実施形態に係る処理によれば、ユーザが実際に活動した活動対象に関連する属性に基づいて入力情報に一致した複数の候補から対象情報を特定するので、対象情報を特定する精度がより高くなる。
なお、第2の実施形態では、例えば、ユーザが実際に企業を訪問した際の位置情報をサーバコンピュータ1に記憶し、その位置情報に基づいて上述した優先度を決定してもよい。このように構成することによって、ユーザが過去に訪問した企業の近くで、第2の実施形態に係る処理を実行する場合、過去に訪問した位置情報に基づいて優先度が決定される。つまり、ユーザの実際の活動情報は、ユーザの位置情報を含み、その位置情報に基づいて入力情報に一致した複数の候補から対象情報を特定する。この場合、クライアントコンピュータ2は、GPS受信機を含み、所定のタイミングでサーバコンピュータ1に現在位置の情報を送信することになる。
<第3の実施形態>
次に、本発明の第3の実施形態を説明する。第3の実施形態では、サーバコンピュータ1は、情報処理システム100を利用するユーザを管理するユーザデータテーブル800を記憶装置13に記憶している。本実施形態では、各ユーザは、自身を識別するユーザIDおよび所属する企業IDが割り当てられていることは上述した。よって、ユーザデータテーブル800は、ユーザおよびそのユーザが属する企業の関連性を管理する。
図8は、ユーザデータテーブル800の例を示す。ユーザデータテーブル800は、図8に示すように、情報項目として、ユーザID801、企業ID802、部署803、職種804、および関連ユーザID805を含む。ユーザデータテーブル800は、情報処理システム100を利用するユーザごとに対応するユーザデータレコードが予め記憶されており、ユーザID801、企業ID802、部署803、および職種804には、該当のユーザのそれぞれのIDおよび部署などが設定される。関連ユーザID805は、例えば、該当のユーザの直属の上司など、該当のユーザに関連するユーザに対応するユーザIDが設定される。
第3の実施形態に係る処理では、情報を検索するユーザ(第1のユーザ)が、第1のユーザが過去に情報を閲覧した回数(または、ユーザの実際の活動の回数)のみでなく、そのユーザとの所定の関係を有する第2のユーザが過去に情報を閲覧した回数(または、ユーザの実際の活動の回数)にも基づいて、複数の候補から対象情報を特定する。図9に示すフローチャートを参照して、第3の実施形態に係る処理の例を説明する。
図9に示すステップS901乃至S903の処理は、図6で説明したステップS601乃至S603の処理と同様であるので、説明を省略する。ステップS904では、制御装置11は、入力電文に含まれるユーザIDに基づいて、ユーザデータテーブル800から、該当のユーザデータレコードを取得する。このときに取得されるユーザデータレコードは、第1のユーザ(つまり、検索要求を行ったユーザ)に対応する。そして、取得したユーザデータレコードに含まれる企業ID802、部署803、職種804、および関連ユーザID805のいずれか、またはいずれかの組み合わせに基づいて、ユーザデータテーブル800から、該当のユーザデータレコードを取得する。このときに取得されるユーザデータレコードは、第2のユーザ(つまり、第1のユーザと所定の関係を有するユーザ)に対応する。
ステップS904の処理は、検索要求を行ったユーザ(第1のユーザ)に対応するユーザデータレコード(第1のユーザデータレコード)および検索要求を行ったユーザと関連付けられた(所定の関係を有する)ユーザ(第2のユーザ)に対応するユーザデータレコード(第2のユーザデータレコード)を取得している。所定の関係とは、例えば、第1のユーザと同一の企業、同一の部署、同一の職種、および/または直属の上司などの関係である。
次に、制御装置11は、第1のユーザデータレコードに含まれるユーザIDに基づいて、情報閲覧データテーブル500から該当の情報閲覧データレコードを取得する。また、第2のユーザデータレコードに含まれるユーザIDに基づいて、情報閲覧データテーブル500から該当の情報閲覧データレコードを取得する(ステップS905)。つまり、第1のユーザが過去の所定の期間に情報を閲覧した履歴を取得するとともに、第2のユーザが閲覧した履歴を取得する。
次に、ステップS906乃至S909の処理が実行されるが、これらの処理は、図6で説明したステップS605乃至S608の処理と同様である。つまり、第1のユーザおよび第2のユーザのそれぞれが所定の期間に情報を閲覧した回数に基づいて、検索条件に一致した複数の候補を絞り込みまたは優先付けるための優先度を決定する。例えば、第1のユーザが新入社員であり、情報を閲覧した実績があまりない場合に、当該ユーザが意図する対象情報を精度よく特定することができない場合がある。このような場合に、第1のユーザと所定の関係を有する第2のユーザの閲覧履歴にも基づいて対象情報を特定するので、その精度を確保することができる。
第3の実施形態に係る処理でも、第1の実施形態および第2の実施形態で説明したいずれかの方式に従って、各属性に応じて情報閲覧データレコード(企業データレコード)を集計し、属性に応じて集計した件数の割合を算出してもよい。また、割合を算出する際に、上述したいずれかの方式に従って、それぞれの属性に重み値が割り当てられてもよい。
ステップS905で第1のユーザおよび第2のユーザのそれぞれに対して取得された情報閲覧データレコードは、合算して集計されてもよい。代わりに、それぞれの情報閲覧データレコードを別個に集計し、集計した件数に基づいて割合を算出する際に、第1のユーザおよび第2のユーザのそれぞれの履歴に対して異なる重み値が割り当てられてもよい。例えば、第2のユーザは、検索要求を行った本人ではないので、第2のユーザの履歴は第1のユーザの履歴よりも低い重み値が割り当てられてもよい。代わりに、第1のユーザが情報を閲覧した実績がほとんどないような場合、第2のユーザの履歴は、第1のユーザの履歴よりも高い重み値が割り当てられてもよい。
第1のユーザの閲覧件数および第1のユーザの閲覧件数を別個に集計し、異なる重み付けがされて割合を算出する場合、それぞれに対して算出された割合を最終的には合算して、優先度を決定してもよい。
なお、本実施形態では、ステップS905において無条件に、第2のユーザに対して情報閲覧データレコードを取得しているが、このような方式に限定されない。例えば、第1のユーザに対して情報閲覧データレコードを取得した結果、件数が所定の件数以下である場合のみ、第2のユーザに対して情報閲覧データレコードを取得してもよい。また、所定の条件またはユーザの定義によって、第2のユーザに対してのみ情報閲覧データレコードを取得してもよい。
以上のように、第3の実施形態に係る処理の例を説明した。第3の実施形態で説明した処理では、第1のユーザと所定の関係を有する第2のユーザの閲覧履歴にも基づいて対象情報を特定するので、対象情報を特定する精度がさらに高くなることにつながる。
上記実施形態で説明したハードウェアの構成要素は例示的なものにすぎず、その他の構成も可能であることに留意されたい。また、上記実施形態で説明した処理の順序は、必ずしも説明した順序で実行される必要がなく、任意の順序で実行されてもよい。さらに、本発明の基本的な概念から逸脱することなく、追加のステップが新たに加えられてもよい。
また、本発明の一実施形態に係る情報処理システム100は、サーバコンピュータ1および/またはクライアントコンピュータ2によって実行されるプログラムによって実装されるが、当該プログラムは、非一時的記憶媒体に記憶されてもよい。非一時的記憶媒体の例は、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、レジスタ、キャッシュメモリ、半導体メモリ装置、内蔵ハードディスクおよび取外可能ディスク装置などの磁気媒体、光磁気媒体、ならびにCD−ROMディスクおよびデジタル多用途ディスク(DVD)などの光学媒体などを含む。