(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
[第1実施形態]
図1は、本発明の一実施形態に係るマッチング装置100の機能的構成を示すブロック図である。マッチング装置100は、人物(ユーザ)を検索するためのコンピュータ装置であり、ある人物について与えられた条件にマッチ(適合)する他のユーザを選択する機能を有する。具体的には、マッチング装置100は、取得部110と、評価部120と、選択部130とを備える。また、マッチング装置100は、データベース140と接続し、データベース140との間でデータをやり取りできるように構成されている。なお、データベース140は、マッチング装置100の一部として構成されてもよい。
【0013】
取得部110は、電子メッセージを取得する。ここにおいて、電子メッセージとは、通信手段を介して人物間で電磁的にやり取りされる情報をいう。本実施形態において、電子メッセージは、差出人及び宛先の人物を示す人物データと、キーワードとを少なくとも含む。電子メッセージは、例えば、いわゆる電子メールであるが、後述するように電子メールのみに限定されない。電子メールの場合、人物データは、ヘッダ情報の一部(From、To、Cc、Bcc、Reply-To、In-Reply-Toなど)である。また、電子メールのキーワードは、本文、件名、添付ファイルなどに含まれ得る。なお、キーワードは、電子メールの所定のヘッダフィールドに埋め込まれてもよい。
【0014】
取得部110は、例えば、メールサーバなどの外部装置から電子メッセージを取得する。あるいは、取得部110は、各人が使用する端末装置(パーソナルコンピュータ、携帯電話、スマートフォンなど)のそれぞれから電子メッセージを取得することも可能である。取得部110は、他の装置からネットワークを介して電子メッセージを受信してもよいし、電子メッセージが記録された記録媒体(ハードディスク、光ディスクなど)から電子メッセージを読み出してもよい。
【0015】
評価部120は、取得部110により取得された電子メッセージを用いて所定の評価を実行する。ここでいう評価は、例えば、所定の基準に基づいてスコアを算出することに相当する。評価部120は、より詳細には、第1評価部121と第2評価部122とを含む。
【0016】
第1評価部121は、人物間の関係性を評価する。ここでいう関係性は、電子メッセージのやり取りから推測される関係の強さを表す。例えば、電子メッセージを互いにやり取りする頻度が高い人物同士は、そうでない人物同士に比べ、関係性が強いといえる。第1評価部121は、このような関係性の評価に人物データを用いる。
【0017】
また、第1評価部121は、人物間の直接的及び間接的な関係性をそれぞれ評価する。ここにおいて、直接的な関係性は、電子メッセージを直接やり取りし合うことにより評価される。例えば、人物Xが人物Yを宛先とする電子メッセージを送信したことがある場合、人物Xは、人物Yと直接的な関係性を有する。また、間接的な関係性は、電子メッセージのやり取りにおいて他の人物が介在することにより評価される。例えば、人物Xと人物Yとが直接的な関係を有し、人物Yと人物Zとが直接的な関係を有する場合、人物Xは、人物Zと間接的な関係性を有する。
【0018】
第2評価部122は、電子メッセージの差出人である人物の属性を評価する。人物の属性は、例えば、当該人物の専門分野、精通している事項、所属する組織又は部門、趣味嗜好などであるが、マッチングの用途に応じて決められればよい。人物の属性の評価には、例えば、本発明と同一の出願人による特許出願(国際出願番号PCT/JP2014/006217)に記載された方法を適用することが可能である。
【0019】
第2評価部122は、電子メッセージから抽出されるキーワードを用いて属性を評価する。第2評価部122は、例えば、形態素解析やパターンマッチングによりキーワードを抽出し、人物の属性を評価する。なお、第2評価部122は、1人の人物に対して複数の属性を評価してもよい。例えば、第2評価部122は、ある人物に対して複数の属性のスコアを算出してもよい。
【0020】
選択部130は、所定の人物について入力されたキーワードに応じた他の人物を選択する。選択部130は、評価部120により評価された人物間の関係性と各人物の属性とに基づいて、複数の人物の中から所与のキーワードに対応する人物を1又は複数選択する。例えば、選択部130は、入力されたキーワードに対応する属性のスコアが高く、かつマッチング対象の人物との関係性のスコアも高い人物を選択する。なお、ここにおいて入力されるキーワードは、マッチング対象の人物本人によって入力されなくてもよい。
【0021】
選択部130は、選択結果を表すデータを出力する。選択部130は、例えば、人物の名称や識別情報を出力する。また、選択部130は、キーワードに対応する人物を複数選択した場合には、選択した人物を一覧表示するデータを出力してもよい。このとき、選択部130は、評価部120による評価に基づいて、複数の人物を順位付けしてもよい。
【0022】
データベース140は、評価部120による評価結果を表すデータを検索可能に記憶したデータベースである。データベース140は、例えば、人物間の関係性を示すデータと人物の属性を示すデータとを人物毎に記憶する。選択部130は、データベース140を参照して、入力されたキーワード(すなわち検索条件)に応じた人物を検索する。
【0023】
以上のとおり、本実施形態によれば、電子メッセージに基づいて人物間の関係性と人物の属性とをそれぞれ評価することによって、人物間の関係性と人物の属性とを適宜に加味してマッチング対象の人物を選択することが可能である。本実施形態によれば、人物間の関係性を直接的及び間接的に評価するため、例えば、電子メッセージの直接的なやり取りはないものの共通の他者と電子メッセージをやり取りしているような二者をマッチングさせやすくすることができる。また、本実施形態によれば、電子メッセージに含まれる情報以外の情報を用いなくてもマッチング対象の人物を選択することが可能である。
【0024】
[第2実施形態]
図2は、本発明の別の実施形態に係るマッチングシステム20の全体構成を示す図である。マッチングシステム20は、検索対象のユーザが送受信した電子メールを収集し、収集した電子メールに基づくマッチングを実現するためのコンピュータシステムである。マッチングシステム20は、マッチング装置200と、ユーザ端末300と、メールサーバ400とを備える。マッチング装置200、ユーザ端末300及びメールサーバ400は、インターネット、イントラネットなどのネットワークを介して相互に接続される。
【0025】
本実施形態において、マッチングシステム20は、特定の企業内に設置され、例えば、当該企業内における業務(複数の部署のメンバーを要するプロジェクトなど)の人選に用いられる。したがって、ここでいうユーザは、当該企業の被雇用者である。
【0026】
マッチング装置200は、第1実施形態のマッチング装置100と共通する機能を有するコンピュータ装置である。マッチング装置200は、例えば、1又は複数のサーバ装置によって構成される。
【0027】
ユーザ端末300は、ユーザが使用する端末装置である。例えば、ユーザ端末300は、液晶ディスプレイなどの出力手段やキーボードなどの入力手段を備える。ユーザ端末300は、電子メールを送受信する機能を有していれば、その具体的な構成は限定されない。したがって、各々のユーザが使用する複数のユーザ端末300は、それぞれが同一の構成である必要はない。ユーザ端末300は、例えば、パーソナルコンピュータやスマートフォンである。
【0028】
なお、ユーザ端末300の数(及びユーザの数)は、特に限定されない。また、以下においては、説明の便宜上、複数のユーザのうちの特定のユーザを「検索者」といい、他のユーザと区別する。検索者は、ユーザ端末300を用いてマッチング装置200にアクセスし、ユーザを検索することができる。
【0029】
メールサーバ400は、差出人であるユーザのユーザ端末300から電子メールを受信し、受信した電子メールを宛先であるユーザのユーザ端末300に送信するサーバ装置である。また、メールサーバ400は、受信した電子メールを一定期間記憶し、マッチング装置200に提供できるように構成されている。
【0030】
図3は、マッチング装置200のハードウェア構成を示すブロック図である。マッチング装置200は、制御部210と、記憶部220と、通信部230とを備える。
【0031】
制御部210は、マッチング装置200の各部の動作を制御する。制御部210は、CPU(Central Processing Unit)などのプロセッサとメモリ(主記憶装置)とを備える。制御部210は、実行するプログラムに応じた機能を実現する。
【0032】
記憶部220は、制御部210が使用するデータを記憶する。記憶部220は、ハードディスクドライブなどの補助記憶装置を含む。また、記憶部220は、光ディスクなどの記録媒体にアクセスするリーダライタを含んでもよい。制御部210が実行するプログラムは、このような記録媒体に記録されてもよい。
【0033】
通信部230は、ユーザ端末300又はメールサーバ400との間でデータを送受信する。通信部230は、接続するネットワークに応じた通信インターフェース機器を備える。
【0034】
図4は、マッチング装置200の機能的構成を示すブロック図である。マッチング装置200において、制御部210は、所定のプログラムを実行することにより、取得部211、分析部212、関係性データベース213、特徴データベース214、マッチング部215及びインターフェース部216を実現する。
【0035】
取得部211は、電子メールを取得する。具体的には、取得部211は、通信部230がメールサーバ400から受信した電子メールを読み込む。取得部211は、複数のユーザ端末300から随時送信される電子メールを取得できるように、電子メールを繰り返し(例えば所定の時間間隔で)取得する。
【0036】
分析部212は、取得部211により取得された電子メールを分析する。分析部212は、電子メールの差出人(From)及び宛先(To、Cc、Bcc)の分析と、電子メールの内容(件名及び本文)の分析とを実行する。分析部212は、これらの分析を実行することにより、ユーザ間の関係性のスコア(以下「第1のスコア」という。)とユーザの特徴のスコア(以下「第2のスコア」という。)を算出する。また、分析部212は、算出したスコアを関係性データベース213及び特徴データベース214に記録する。分析部212は、第1実施形態の評価部120に相当する機能を含んでいる。なお、本実施形態におけるユーザの特徴は、第1実施形態における属性の一例に相当する。ここでいうユーザの特徴は、例えば、ユーザが有しているスキル、ノウハウ、嗜好などである。
【0037】
分析部212は、ユーザの特徴に応じて決められた所定のキーワードを電子メールの件名及び本文から抽出し、抽出したキーワードに基づいて第2のスコアを算出する。特徴毎のキーワードは、辞書データなどの形態であらかじめ記憶されている。
【0038】
関係性データベース213は、第1のスコアを記憶する。一方、特徴データベース214は、第2のスコアを記憶する。関係性データベース213及び特徴データベース214は、これらのスコアをユーザ毎に分類して記憶する。また、関係性データベース213及び特徴データベース214は、マッチング部215からの要求に応じてスコアを抽出できるように構成されている。制御部210は、記憶部220との協働によって関係性データベース213及び特徴データベース214の機能を実現する。
【0039】
マッチング部215は、検索者によって指定された検索条件に応じたユーザを検索する。マッチング部215は、関係性データベース213及び特徴データベース214に記憶されたスコアを用いて所定の演算を実行し、検索条件に適合するユーザを1又は複数抽出する。マッチング部215は、第1実施形態の選択部130に相当する機能を含んでいる。
【0040】
インターフェース部216は、検索者に対するインターフェース(ユーザインタフェース)を提供する。インターフェース部216は、検索条件を受け付け、検索条件に応じた検索結果を出力する。例えば、インターフェース部216は、検索条件の入力を受け付ける画面(入力画面)や検索結果を表示する画面を表示するためのデータを検索者のユーザ端末300に送信する。また、インターフェース部216は、検索者による入力に従い、マッチング部215に検索を要求する。
【0041】
マッチングシステム20の構成は、以上のとおりである。ユーザは、ユーザ端末300を用いて、例えば業務を遂行する。業務に際し、ユーザは、他のユーザと電子メールをやり取りする。メールサーバ400は、差出人のユーザ端末300から送信された電子メールを宛先のユーザ端末300に転送するほか、自装置を経由する電子メールを一定の期間保存する。メールサーバ400は、少なくともマッチング装置200に読み出されるまでは電子メールを保存しておく。
【0042】
マッチングシステム20において、マッチング装置200の主たる機能は、次の2つである。第1の機能は、電子メールを収集し、収集した電子メールに基づいて第1のスコア及び第2のスコアを算出する機能である。また、第2の機能は、検索者により指定された検索条件に適合したユーザを推薦(リコメンド)する機能である。
【0043】
図5は、第1の機能に対応するスコア算出処理を示すフローチャートである。このスコア算出処理は、制御部210において反復的に実行される処理である。制御部210は、例えば、メールサーバ400から電子メールを新たに取得する毎にスコア算出処理を実行する。
【0044】
スコア算出処理においては、まず、取得部211が電子メールを取得する(ステップSA1)。すると、分析部212は、ステップSA1において取得された電子メールを分析し、スコアを算出する(ステップSA2)。具体的には、分析部212は、電子メールの差出人及び宛先に基づいて第1のスコア(すなわち関係性のスコア)を算出し、電子メールの件名及び本文に基づいて第2のスコア(すなわち特徴のスコア)を算出する。
【0045】
分析部212は、第1のスコアを算出したら、これを関係性データベース213に格納する(ステップSA3)。また、分析部212は、第2のスコアを特徴データベース214に格納する(ステップSA4)。なお、分析部212は、第1のスコア及び第2のスコアを算出及び格納する順番を問わない。
【0046】
図6、
図7は、関係性データベース213、特徴データベース214に格納されるデータをそれぞれ例示する図である。関係性データベース213は、「差出人」、「宛先」及び「スコア(第1のスコア)」を示すデータを互いに関連付けて記憶する。また、特徴データベース214は、「ユーザ」、「キーワード」及び「スコア(第2のスコア)」を示すデータを互いに関連付けて記憶する。
【0047】
分析部212は、例えば、ある差出人からある宛先に電子メールがn回送信された場合に、第1のスコアを「n」とする。また、分析部212は、宛先であるユーザをTo、Cc、Bccのいずれに設定したかによってスコアを変えてもよい。例えば、分析部212は、ユーザをCcに設定した場合にはToに設定した場合の0.3倍とし、ユーザをBccに設定した場合にはToに設定した場合の0.2倍とする、といった重み付けをスコアに対して行ってもよい。
【0048】
また、分析部212は、所定のキーワードが電子メールに含まれる場合に、当該キーワードに関連付けられた第2のスコアを加算する。例えば、
図7に示す例は、ユーザ「A」が「OS」というキーワードを電子メールに用いたことを表しており、そのスコアは「9」である。第2のスコアは、例えば、評価対象のキーワードを含む電子メールの総数を表していてもよいし、1又は複数の電子メールにおいて当該キーワードが用いられた総数を表していてもよい。
【0049】
マッチング装置200は、第1のスコア及び第2のスコアをこのように記録する。また、マッチング装置200は、各ユーザによる電子メールの送受信に応じて、第1のスコア及び第2のスコアを更新する。なお、マッチング装置200は、所定の期間(例えば、直近の6か月間)に送受信された電子メールのみを対象としてスコアを算出してもよいし、期間を定めることなくスコアを積算し続けてもよい。
【0050】
図8は、第2の機能に対応するリコメンド処理を示すフローチャートである。このリコメンド処理は、検索者のユーザ端末300から送信された検索条件を受け付けることによって実行される。検索条件は、マッチング対象のユーザを特定するデータと、キーワードとを少なくとも含む。なお、マッチング対象のユーザは、必ずしも検索者本人でなくてもよい。また、ユーザを特定するデータは、例えばメールアドレスであるが、ユーザと対応付けられた他の識別情報(名前、識別番号など)であってもよい。
【0051】
リコメンド処理においては、まず、インターフェース部216が検索条件の入力を受け付ける(ステップSB1)。すると、マッチング部215は、検索条件により指定されたキーワードに一致又は類似するキーワードに該当するユーザを特徴データベース214から検索する(ステップSB2)。なお、あるキーワードと類似するキーワード(同義語又は類義語)は、あらかじめ定義されている。
【0052】
特徴データベース214は、マッチング部215からキーワードを受け付けると、当該キーワードについて所定の閾値以上のスコア(第2のスコア)を有するユーザを抽出する(ステップSB3)。特徴データベース214は、抽出したユーザをマッチング部215に返す。
【0053】
マッチング部215は、検索条件により指定されたユーザが差出人であるレコードを関係性データベース213から検索する(ステップSB4)。関係性データベース213は、全てのレコードの中から該当するレコードを抽出し(ステップSB5)、マッチング部215に返す。
【0054】
マッチング部215は、関係性データベース213により抽出されたレコードのうち、ステップSB3において抽出されたユーザが宛先であるレコードを参照する(ステップSB6)。このとき、ステップSB3において抽出されたユーザが複数である場合、マッチング部215は、複数のユーザのうちいずれかのユーザのレコードを参照する。
【0055】
マッチング部215は、ステップSB5において参照したレコードのスコア(第1のスコア)が「0」であるか否かを判断する(ステップSB7)。このスコアが「0」である場合は、差出人のユーザと宛先のユーザの間に直接的な関係性がないことを意味する。この場合(ステップSB7:YES)、マッチング部215は、これらのユーザ(すなわち、検索条件により指定されたユーザとステップSB3において抽出されたユーザ)の間の間接的な関係性の有無を判断する(ステップSB8)。具体的には、マッチング部215は、検索条件により指定されたユーザとステップSB3において抽出されたユーザとが、直接的な関係性を有するユーザ同士を組み合わせることで関連付けられるか否かを判断する。
【0056】
マッチング部215は、検索条件により指定されたユーザとステップSB3において抽出されたユーザとが間接的な関係性を有すると判断した場合(ステップSB8:YES)、所定の演算により第1のスコアを算出する(ステップSB9)。一方、マッチング部215は、これらのユーザが間接的な関係性を有しないと判断した場合(ステップSB8:NO)、当該ユーザ間には直接的及び間接的な関係性がいずれも存在しないと判断し、後述する総合スコアの算出対象から除外する(ステップSB10)。
【0057】
なお、マッチング部215は、差出人のユーザと宛先のユーザの間に直接的な関係性があると判断した場合(ステップSB6:NO)には、ステップSB5において参照したレコードのスコアをそのまま第1のスコアとして特定する(ステップSB11)。
【0058】
ここで、マッチング部215は、ステップSB3において抽出されたユーザの全てに対してステップSB7〜SB11の処理を実行したか否かを判断する(ステップSB12)。マッチング部215は、これらの処理を実行していないユーザが存在すれば(ステップSB12:NO)、当該ユーザについてステップSB7〜SB11の処理を実行する。
【0059】
マッチング部215は、ステップSB3において抽出されたユーザの全てに対してステップSB7〜SB11の処理を実行したら(ステップSB12:YES)、第1のスコア及び第2のスコアに基づいて各ユーザの総合スコアを算出する(ステップSB13)。総合スコアは、例えば、第1のスコアと第2のスコアの積である。ただし、総合スコアは、この例に限定されず、第1のスコアと第2のスコアのそれぞれに所定の係数を乗じてから加算した値などであってもよい。
【0060】
最後に、マッチング部215は、それぞれのユーザの総合スコアを比較し、総合スコアが高いユーザをマッチングの相手として推薦(リコメンド)する(ステップSB14)。このとき、マッチング部215は、総合スコアが最も高いユーザのみを推薦してもよいが、複数のユーザを推薦してもよい。また、マッチング部215は、推薦するユーザだけでなく当該ユーザの総合スコアも検索者のユーザ端末300に通知してもよい。さらに、マッチング部215は、第1のスコア及び第2のスコアを検索者のユーザ端末300に通知してもよい。
【0061】
制御部210は、リコメンド処理を以上のように実行する。リコメンド処理は、
図6、
図7に例示されたデータを用いて説明すると、以下に示すように実行される。ここでは、キーワード「OS」、ユーザ「E」が検索条件として入力されたものとする。また、ステップSB3において第2のスコアを抽出する閾値は、「1」であるとする。また、「OS」と「オペレーティングシステム」は同義語であるとする。
【0062】
図7を参照すると、検索条件として入力されたキーワード「OS」に一致または類似するキーワードを電子メールに用いたユーザは、ユーザ「A」とユーザ「C」である。したがって、この例の場合、特徴データベース214は、ステップSB3においてユーザ「A」とユーザ「C」を抽出する。
【0063】
また、ステップSB4の検索に応じて、関係性データベース213は、ユーザ「E」が差出人であるレコードを抽出する。
図6を参照すると、ユーザ「E」が差出人であるレコードは、第17行〜第20行のレコードである。マッチング部215は、ステップSB7において、これらのレコードのうち宛先がユーザ「A」又はユーザ「C」であるレコードのスコアが「0」であるか否かを判断する。
【0064】
図6の例の場合、宛先がユーザ「A」である第17行のレコードのスコアは、「0」である。一方、宛先がユーザ「C」である第19行のレコードのスコアは、「5」である。よって、マッチング部215は、ユーザ「E」とユーザ「C」が直接的な関係性を有すると判断し、ユーザ「E」とユーザ「A」が直接的な関係性を有しないと判断する。結果として、マッチング部215は、ステップSB11において、ユーザ「E」とユーザ「C」のペアの第1のスコアを「5」と特定する(
図6の第19行参照)。
【0065】
また、マッチング部215は、直接的な関係性を有しないと判断したユーザ「E」とユーザ「A」について、間接的な関係性の有無を判断する。具体的には、マッチング部215は、ユーザ「E」について、直接的な関係性を有する(ユーザ「C」以外の)ユーザがユーザ「A」と直接的な関係性を有するか否かを判断する。
【0066】
図6の例の場合、ユーザ「B」、「D」は、いずれもユーザ「A」と直接的な関係性を有する(
図6の第5行、第13行参照)。したがって、マッチング部215は、ステップSB8において、ユーザ「E」がユーザ「B」又は「D」を介してユーザ「A」と間接的な関係性を有すると判断する。
【0067】
なお、ここでいう間接的な関係性とは、複数のユーザを介して関係性を生じる場合を含むものであってもよい。ただし、マッチング部215は、ユーザ数に制限を設け、x人(例えば5人)のユーザを介して関係性を生じない場合には間接的な関係性を有しないと判断してもよい。
【0068】
マッチング部215は、ステップSB8において間接的な関係性を有すると判断したユーザ「E」とユーザ「A」のペアについて、ステップSB9において第1のスコアを算出する。例えば、マッチング部215は、間接的な関係性を有するユーザの組み合わせ毎に、第1のスコアを加算してユーザ数で除する演算を実行する。
【0069】
図6の例において、ユーザ「E」とユーザ「A」のペアについては、ユーザ「B」を介して間接的な関係性が生じる場合とユーザ「D」を介して間接的な関係性が生じる場合とがある。このとき、マッチング部215は、ユーザ「B」を介する場合の第1のスコアとユーザ「D」を介する場合の第1のスコアとをそれぞれ算出し、目的のユーザ(ユーザ「A」)に到達するまでのユーザ数で除算した値を第1のスコアとして用いる。
【0070】
具体的には、ユーザ「B」を介する場合、第1のスコアの合計は、「4(=2+2)」である(
図6の第18行及び第5行参照)。また、ユーザ「D」を介する場合、第1のスコアの合計は、「6(=3+3)」である(
図6の第20行及び第13行参照)。また、ユーザ「E」からユーザ「A」に至るまでのユーザ数(ただし、検索条件であるユーザ「E」を除く。)は、いずれの場合も「2」である。よって、最終的な第1のスコアの値は、ユーザ「B」を介する場合には「2(=4/2)」、ユーザ「D」を介する場合には「3(=6/2)」である。
【0071】
さらに、ステップSB13において総合スコアを算出する場合、マッチング部215は、次の(1)式を用いる。ここにおいて、S、S
1、S
2は、それぞれ総合スコア、第1のスコア、第2のスコアを表す。また、C
1及びC
2は、所定の係数である。係数C
1及びC
2は、第1のスコアS
1と第2のスコアS
2を等価に扱う場合には、C
1=C
2とすればよい。以下においては、説明の便宜上、C
1=C
2=1とする。
S=C
1S
1×C
2S
2 …(1)
【0072】
マッチング部215は、(1)式を用いてユーザ「E」とユーザ「C」のペアの総合スコアを算出すると、解として「25(=5×5)」を得る(
図6の第19行及び
図7の第7行参照)。マッチング部215は、同様の要領でユーザ「E」とユーザ「A」のペアの総合スコアを算出すると、ユーザ「B」を介する場合には解「18(=2×9)」を得る一方、ユーザ「D」を介する場合には解「27(=3×6)」を得る。なお、マッチング部215は、ユーザ「E」とユーザ「A」のペアの総合スコアとして、これらの解のうちより大きい値を用いてもよいし、これらの解の平均値を用いてもよい。結果として、マッチング部215は、ステップSB14において、ユーザ「A」、「C」の少なくともいずれかを推薦する。
【0073】
なお、総合スコアの値は、第1のスコアS
1及び第2のスコアS
2の算出方法や係数C
1及びC
2の大小によって変わり得る。換言すれば、マッチング部215は、第1のスコア(すなわち関係性)と第2のスコア(すなわち特徴)のいずれをより重視するかによって検索結果を異ならせることが可能である。例えば、インターフェース部216は、ユーザの関係性と特徴のいずれを重視するかを検索者が指定できる入力画面を表示させてもよい。この場合、マッチング部215は、ユーザによる指定に従って係数C
1及びC
2を決定することができる。
【0074】
以上のとおり、本実施形態によれば、電子メールに基づいてユーザ間の関係性とユーザの特徴とをそれぞれ評価することにより、これらに基づいたマッチングを実現することが可能である。また、本実施形態によれば、第1のスコアと第2のスコアを算出し、これらを組み合わせて分析及び評価を実行することにより、ユーザ間の関係性とユーザの特徴とを適宜に加味したマッチングを行うことが可能である。
【0075】
コミュニケーションの実態においては、ユーザ間の関係性が円滑なコミュニケーションを阻害する場合がある。例えば、複数の技術分野が関係するプロジェクトのメンバーを割り当てるような場合に、メンバー間の面識、すなわち関係性を全く考慮せずに人選を行うと、その後のコミュニケーションが円滑に進まず、業務の遂行に支障が生じる可能性がある。一方、本実施形態によれば、ユーザ間の関係性とユーザの特徴の双方に基づいてユーザをリコメンドするため、ユーザ間の関係性の程度を加味した人選が可能になる。
【0076】
また、一般に、共通の知人がいるユーザ同士は、そうでないユーザ同士に比べ、コミュニケーションが容易になる可能性が高いといえる。本実施形態によれば、このようなコミュニケーションが容易になる可能性が高いユーザ同士を電子メールのみに基づいて選択することが可能になる。
【0077】
さらに、本実施形態によれば、ユーザの特徴(専門性など)のみによらないリコメンドが可能であるため、専門性が高い特定のユーザにリコメンドが集中することを避けることが可能である。したがって、本実施形態は、人的資源の平準的及び効率的な利用に寄与することが可能である。
【0078】
[変形例]
本発明は、上述した実施形態に限定されない。本発明は、上述した実施形態に対して、いわゆる当業者が理解し得る多様な変更を適用することが可能である。例えば、本発明は、以下の変形例に示す形態によっても実施することができる。また、本発明は、複数の変形例を組み合わせたり、実施形態の一部の構成を他の実施形態の構成と置換したりして実施されてもよい。
【0079】
(1)変形例1
図9は、制御部210が実行するリコメンド処理(
図8参照)の他の例を示すフローチャートである。このリコメンド処理は、検索条件に複数のキーワードを含む場合の処理を示している。なお、以下においては、主として、第2実施形態と異なる点が説明される。また、以下の説明において、
図8と同一の符号を用いて説明されるステップは、第2実施形態と同一又は類似の処理を実行するステップである。
【0080】
ステップSB1において、インターフェース部216は、複数のキーワードを含む検索条件の入力を受け付ける。マッチング部215は、ステップSB2において、複数のキーワードに対応するユーザをそれぞれ検索する。ステップSB3〜SB13の処理も、同様に、複数のキーワードのそれぞれについて実行される。
【0081】
本例のリコメンド処理は、ステップSB15の処理を含む点において第2実施形態のリコメンド処理と異なる。このステップSB15において、マッチング部215は、あるキーワードに基づいて抽出されたユーザと別のキーワードに基づいて抽出された別のユーザとの関係性を評価する。マッチング部215は、ステップSB13において、ステップSB15における評価に基づいて総合スコアを算出する。
【0082】
ここで、キーワードに「OS」及び「仮想化」を含み、ユーザ「E」を指定した検索条件が入力された場合を想定する。この検索条件は、キーワードに「仮想化」を含む点が第2実施形態の検索条件と異なる。この場合、特徴データベース214は、ステップSB3において、キーワード「仮想化」に対応するユーザとしてユーザ「B」を抽出する。ユーザ「B」は、
図6の第18行に示すように、ユーザ「E」と直接的な関係性を有する。よって、マッチング部215は、ステップSB11において第1のスコアを「2」と特定する。
【0083】
ステップSB15において、マッチング部215は、例えば、異なるキーワードに基づいて抽出されたユーザ間の直接的な関係性を評価する。キーワード「OS」から抽出されるユーザは、第2実施形態と同様に、ユーザ「A」及び「C」である。したがって、マッチング部215は、これらのユーザとユーザ「B」の直接的な関係性(すなわち第1のスコア)を参照する。
図6の例では、ユーザ「A」とユーザ「B」の直接的な関係性は「2」であり、ユーザ「C」とユーザ「B」の直接的な関係性は「0」である。
【0084】
ステップSB13において、マッチング部215は、第2実施形態において算出した総合スコアに加え、ユーザ「B」のユーザ「E」に対する総合スコアと、ユーザ「B」とユーザ「A」又は「C」の間の第1のスコアとを加算し、これらの和を総合スコアとする。なお、ユーザ「B」のユーザ「E」に対する総合スコアは、ここでは「4(=2×2)」である。
【0085】
例えば、ユーザ「E」及び「A」のペアにおける総合スコアが「27」である場合、ユーザ「E」、「A」及び「B」の三者の場合における総合スコアは、「33(=27+4+2)」である。また、ユーザ「E」及び「C」のペアにおける総合スコアが「25」である場合、ユーザ「E」、「A」及び「B」の三者の場合における総合スコアは、「29(=25+4+0)」である。
【0086】
マッチング装置200は、本例のように動作することにより、専門性などの特徴が異なる複数のユーザをリコメンドするに際し、当該複数のユーザ間の関係性を総合スコアに反映させることが可能である。したがって、本例によれば、互いに異なる特徴を有するユーザを多数マッチングさせるような場合であっても、ユーザ間の関係性を加味したリコメンドが可能である。
【0087】
(2)変形例2
各種スコアの算出方法は、第1実施形態及び第2実施形態にて説明された例に限定されない。例えば、ユーザ間の関係性は、一方のユーザから他方のユーザに一方的に電子メールが送信されている場合よりも、双方のユーザが電子メールを送受信し合っている場合の方が強い(高い)といえる。ゆえに、第1のスコアは、第1のユーザ(検索条件で指定されたユーザ)から第2のユーザへの電子メールの送信回数に加え、当該第2のユーザから第1のユーザへの電子メールの送信回数に基づいて算出されてもよい。
【0088】
(3)変形例3
上述したとおり、本発明に係る電子メッセージは、電子メールに限定されない。例えば、本発明に係る電子メッセージは、いわゆるインスタントメッセンジャー(チャット等)やSMS(Short Message Service)によってやり取りされるメッセージであってもよい。また、本発明に係る電子メッセージは、ファクシミリ通信によってやり取りされた画像情報から抽出される文字列や、インターネット電話(又はボイスチャット)によってやり取りされた音声情報を音声分析して得られるテキスト情報をキーワードとして用いたものであってもよい。
【0089】
(4)変形例4
本発明において、キーワードと属性(又は特徴)は、必ずしも一致していなくてもよい。例えば、属性は、キーワードに対する上位概念であってもよい。具体的には、例えば、
図7に示された「アンチウィルス」、「セキュリティホール」、「マルウェア」といったキーワードは、「セキュリティ」のような包括的な属性に対応付けられてもよい。
【0090】
(5)変形例5
本発明は、
図1や
図4に示す構成を単一の装置で実現してもよいし、複数の装置の協働により実現してもよい。また、本発明は、マッチング装置又はこれを備えるマッチングシステムのほか、マッチング装置又はマッチングシステムを用いたマッチング方法を提供することが可能である。
【0091】
また、本発明は、コンピュータをマッチング装置として機能させるためのプログラムや、当該プログラムを記録したコンピュータ読み取り可能な記録媒体(光ディスク、磁気ディスク、半導体メモリなど)といった形態で提供され得る。また、本発明に係るプログラムは、ある装置にネットワークを介してダウンロードされ、当該装置をマッチング装置として機能させるものであってもよい。