以下、本発明の実施形態を図面を参照して説明する。
実施形態1.
図1は、本発明の第1の実施形態の関連スコア算出システムの構成例を示すブロック図である。ただし、図1では、通信ネットワークを介して本発明の関連スコア算出システムに接続されている装置も図示している。
本発明の関連スコア算出システム1には、通信ネットワーク10を介して、パーソナルコンピュータ(以下、PCと記す。)91が接続されている。
PC91は、例えば、会社や企業等の組織に属する人によって使用される。各PC91は、1つの組織内に設けられているものとする。以下、組織が会社である場合を例にして説明する。ただし、PC91を使用する人が属する組織は会社や企業でなくてもよい。また、組織は、複数の会社等によって形成される組織であってもよく、また、1つの会社や企業等の一部門であってもよい。
個々のPC91は、ファイルを操作するユーザによって、ファイルに関する1つの操作ログを作成し、記憶する。後述するように、各PC91が記憶している操作ログは、関連スコア算出システム1(より具体的には、関連スコア算出システム1の収集部2)によって収集される。
図2は、PC91で作成される操作ログの例を示す模式図である。操作ログは、例えば、ファイル名と、ファイルを操作したユーザのユーザ名と、操作の内容と、その操作が行われた日時とを関連付けている(図2参照)。図2では、便宜的に、操作ログの番号も図示している。なお、図2は、操作ログの例であり、操作ログは、図2に示す例に限定されない。
PC91は、操作ログに、ファイル名として、パス名を含むファイル名を記述する。
また、PC91は、操作ログに記述するユーザ名を、例えば、ユーザがPC91にログインする際に用いるID(Identification)から判定すればよい。ただし、PC91がユーザ名を判定する方法は、この方法に限定されない。
なお、各実施形態では、ユーザID(ユーザの識別情報)として、ユーザ名を用いる。
操作ログに記述される操作内容の例として、例えば、「ファイルオープン」、「キータッチ」、「更新(保存)」、「ファイルクローズ」等が挙げられる。ただし、操作ログに記述される操作の内容は、これらに限定されず、「新規作成」等であってもよい。
例えば、ユーザ「山田」が、2017年10月10日の13時15分に、ファイル“/・・/人工知能/・・/A社の機械学習.pptx”を開いた場合、PC91は、図2に例示する1番目の操作ログを作成する。また、例えば、ユーザ「山田」が、2017年10月10日の13時16分に、そのファイルに対して、キータッチ(キー入力)を行った場合、PC91は、図2に例示する2番目の操作ログを作成する。また、例えば、ユーザ「山田」が、2017年10月10日の15時17分に、そのファイルを更新(保存)した場合、PC91は、図2に例示するm−1番目の操作ログを作成する。また、例えば、ユーザ「山田」が、2017年10月10日の15時45分に、そのファイルを閉じた場合には、PC91は、図2に例示するm番目の操作ログを作成する。
図2に示すm+1番目からn番目までの操作ログは、ユーザ「山田」が別のファイル“/・・/人工知能/・・/ディープラーニング.docx”を操作した際における操作ログの例である。
各PC91は、それぞれ、同様に、ユーザがファイルに対して操作を行う毎に、操作ログを追加し、記憶していく。
関連スコア算出システム1は、収集部2と、単語抽出部3と、スコア算出部4と、記憶部5とを備える。
収集部2は、各PC91から、各PC91に記憶されている操作ログを収集する。図2に示すように、個々の操作ログは、パス名を含むファイル名と、そのファイル名を有するファイルを使用したユーザのユーザ名とを含む。個々の操作ログは、ユーザと単語との関連の強さを表す指標値である関連スコアを導出可能な情報も含む。図2に示す例では、「日時」および「操作」として記載された情報が、関連スコアを導出可能な情報に該当する。ただし、関連スコアは、1つの操作ログからは導出されず、複数の操作ログから導出される。
単語抽出部3は、収集部2によって収集された各操作ログに記述されている各ファイル名(パス名を含むファイル名)に対して形態素解析を実行することによって、パス名を含むファイル名に含まれている単語を抽出する。ただし、単語抽出部3は、同一の単語を、重複して抽出しない。例えば、単語抽出部3は、「人工知能」という単語を既に抽出している場合、2回目以降に抽出された「人工知能」という単語については無視する。
例えば、単語抽出部3は、“/・・/人工知能/・・/A社の機械学習.pptx”というパス名を含むファイル名に対して形態素解析を実行することによって、「人工知能」、「A社」、「機械学習」等の単語を抽出する。なお、以下の説明において、各ユーザが属している会社(組織)が「A社」であるものとして説明する。
さらに、例えば、単語抽出部3は、“/・・/人工知能/・・/ディープラーニング.docx”というパス名を含むファイル名に対して形態素解析を実行することによって、「人工知能」、「ディープラーニング」等の単語を抽出する。ただし、前述のように、「人工知能」は既に抽出されているので、単語抽出部3は、ここで抽出された「人工知能」という単語については無視する。
単語抽出部3は、同様の処理を、各操作ログに記述されている各ファイル名に対して行うことによって、単語の集合を得る。これらの単語は、互いに異なる。
スコア算出部4は、ファイルを操作した各ユーザと、単語抽出部3によって抽出された各単語の組合せ毎に、ユーザと単語との関連の強さを表す指標値である関連スコアを算出する。なお、ユーザは、操作ログに記述されるユーザ名で表される。
なお、本発明の第2の実施形態等では、単語同士の関連の強さを表す指標値も用いる。本発明において、ユーザと単語との関連の強さを表す指標値を「関連スコア」と称し、単語同士の関連の強さを表す指標値を「関連度」と称することによって、2種類の指標値を区別する。
スコア算出部4は、ユーザ(ユーザ名)と単語の組合せ毎に、関連スコアを算出し、そのユーザ名と単語と関連スコアとの組を記憶部5に記憶させる。
記憶部5は、ユーザ(ユーザ名)と単語と関連スコアとの組を記憶する記憶装置である。
関連スコアの算出方法は、複数、存在する。以下、関連スコアの算出方法として、3種類の方法を説明する。以下に示す3種類のいずれの方法においても、スコア算出部4は、ユーザと単語の組合せ毎に、関連スコアを算出し、記憶部5に記憶させる。
第1の算出方法は、一のユーザ(以下、ユーザUと記す。)と一の単語(以下、単語Wと記す。)の関連スコアとして、単語Wをファイル名に含む各ファイルについてのユーザUの操作時間の総和を算出する方法である。操作時間が長いほど、ユーザUと単語Wの関連が強く、操作時間が短いほど、ユーザUと単語Wの関連が弱いと言える。従って、操作時間を、関連スコアとして用いることができる。
ここではまず、実質参照時間を操作時間として扱う場合を例にして説明する。
なお、ファイル名は、パス名を含むファイル名である。従って、単語Wがパス名の方に含まれている場合であっても、単語Wはファイル名に含まれているものとして扱う。この点は、後述の第2の算出方法および第3の算出方法においても同様である。
実質参照時間は、PC91において、ファイルの内容を表しているウィンドウがアクティブになっている時間(すなわち、ファイルの内容を表しているウィンドウがユーザから見て一番手前に表示されている時間)である。
関連スコアの第1の算出方法では、スコア算出部4は、単語Wをファイル名に含む各ファイルについてのユーザUの実質参照時間の総和を算出し、その総和を、ユーザUと単語Wの関連スコアとする。
キータッチが行われていれば、ファイルの内容を表すウィンドウはアクティブである。従って、例えば、スコア算出部4は、単語Wをファイル名に含む1つのファイルに関して、ユーザUによってキータッチが続けて行われている状態を操作ログから判断し、その状態における最初のキータッチ時刻から、最後のキータッチ時刻までの時間を、そのファイルにおけるユーザUの実質参照時間とする。
さらに、単語Wをファイル名に含み、ユーザUに操作された他のファイルがあれば、スコア算出部4は、そのファイルに関しても同様に、実質参照時間を算出する。
そして、スコア算出部4は、単語Wをファイル名に含み、ユーザUに操作されたファイル毎に算出した実質参照時間の総和を算出し、その総和をユーザUと単語Wの関連スコアとする。
また、操作ログにおいて、アクティブ状態となった開始時刻および終了時刻を明示しているのであれば、スコア算出部4は、操作ログにおいて明示されているそれらの時刻に基づいて、実質参照時間を算出してもよい。
また、スコア算出部4は、ファイルオープンからファイルクローズまでの時間を操作時間として算出してもよい。この場合、スコア算出部4は、単語Wをファイル名に含み、ユーザUに操作されたファイル毎に、ファイルオープンからファイルクローズまでの時間を算出し、その時間の総和をユーザUと単語Wの関連スコアとすればよい。
なお、実質参照時間を操作時間として扱うことが好ましい。
関連スコアの第2の算出方法は、一のユーザ(ユーザU)と一の単語(単語W)の関連スコアとして、単語Wをファイル名に含む各ファイルをユーザUが操作した際のキータッチの回数の総和を算出する方法である。キータッチの回数が多いほど、単語Wをファイル名に含むファイルをユーザUが操作した量が多いことになる。よって、キータッチの回数が多いほど、ユーザUと単語Wの関連が強く、キータッチの回数が少ないほど、ユーザUと単語Wの関連が弱いと言える。従って、キータッチの回数を、関連スコアとして用いることができる。
第2の算出方法では、スコア算出部4は、操作ログを参照して、単語Wをファイル名に含む一つのファイルをユーザUが操作した際のキータッチの回数をカウントすることによって、そのファイルにおけるキータッチの回数を求める。
さらに、単語Wをファイル名に含み、ユーザUに操作された他のファイルがあれば、スコア算出部4は、そのファイルに関しても同様に、キータッチの回数を求める。
そして、スコア算出部4は、単語Wをファイル名に含み、ユーザUに操作されたファイル毎に算出したキータッチの回数の総和を算出し、その総和をユーザUと単語Wの関連スコアとする。
関連スコアの第3の算出方法は、一のユーザ(ユーザU)と一の単語(単語W)の関連スコアを、次に説明する2つの割合に基づいて算出する方法である。この2つの割合のうち、一方の割合をR1と記し、もう一方の割合をR2と記す。
R1は、単語Wをファイル名に含む各ファイルについての組織内の全ユーザの操作時間の総和に対する、単語Wをファイル名に含む各ファイルについてのユーザUの操作時間の総和の割合である。すなわち、R1は、以下に示す式(1)で表される。
R2は、個々の単語に着目した場合における、着目した単語をファイル名に含む各ファイルについてのユーザUの操作時間の総和に対する、単語Wをファイル名に含む各ファイルについてのユーザUの操作時間の総和の割合である。すなわち、R2は、以下に示す式(2)で表される。
R1について説明する。単語Wをファイル名に含む各ファイルについてのユーザUの操作時間の総和(式(1)の右辺の分子)は、前述の第1の算出方法で算出される関連スコアに相当する。すなわち、スコア算出部4は、前述の第1の算出方法で説明した方法で、単語Wをファイル名に含む各ファイルについてのユーザUの操作時間の総和を算出すればよい。
単語Wをファイル名に含む各ファイルについての組織内の全ユーザの操作時間の総和(式(1)の右辺の分母)について説明する。スコア算出部4は、単語Wをファイル名に含む各ファイルについての、組織内の一人目のユーザの操作時間の総和も、前述の第1の算出方法で説明した方法で算出する。同様に、スコア算出部4は、単語をWファイル名に含む各ファイルについての、組織内の二人目のユーザの操作時間の総和も、前述の第1の算出方法で説明した方法で算出する。同様に、スコア算出部4は、組織に属する一人一人について、単語Wをファイル名に含む各ファイルについてのユーザの操作時間の総和を算出する。さらに、スコア算出部4は、組織に属する一人一人について算出した「単語Wをファイル名に含む各ファイルについてのユーザの操作時間の総和」の総和を算出する。この値が、単語Wをファイル名に含む各ファイルについての組織内の全ユーザの操作時間の総に該当する。
例えば、単語Wが「人工知能」であり、ユーザUが「山田」であるとする。また、山田が属する組織「A社」に300人のユーザがいるとする。この場合、スコア算出部4は、「人工知能」をファイル名に含むファイルについてのユーザ「山田」の操作時間の総和を、式(1)の右辺の分子として求める。また、スコア算出部4は、「人工知能」をファイル名に含むファイルについてのユーザの操作時間の総和を、300人の個々のユーザ毎に算出し、さらに、個々のユーザ毎に算出した「操作時間の総和」の総和を、式(1)の右辺の分母として求める。そして、スコア算出部4は、式(1)によって、R1を算出する。
次に、R2について説明する。式(2)の右辺の分子は、式(1)の右辺の分子と同じである。従って、スコア算出部4は、前述の第1の算出方法で説明した方法で、単語Wをファイル名に含む各ファイルについてのユーザUの操作時間の総和を算出すればよい。
個々の単語に着目した場合における、着目した単語をファイル名に含む各ファイルについてのユーザUの操作時間の総和(式(2)の右辺の分母)について説明する。スコア算出部4は、単語抽出部3によって抽出された個々の単語に着目する(換言すれば、個々の単語を1つ1つ選択する)。そして、スコア算出部4は、着目した単語(選択した単語)をファイル名に含む各ファイルについてのユーザUの操作時間の総和を、前述の第1の算出方法で説明した方法で算出する。スコア算出部4は、次の単語に着目し(換言すれば、次の単語を選択し)、着目した単語(選択した単語)をファイル名に含む各ファイルについてのユーザUの操作時間の総和を、前述の第1の算出方法で説明した方法で算出する。このように、スコア算出部4は、単語毎に、単語をファイル名に含む各ファイルについてのユーザUの操作時間の総和を算出する。そして、スコア算出部4は、単語毎に算出した「単語をファイル名に含む各ファイルについてのユーザUの操作時間の総和」の総和を算出する。この値が、式(2)の右辺の分母に該当する。「個々の単語に着目した場合における、着目した単語をファイル名に含む各ファイルについてのユーザUの操作時間の総和(式(2)の右辺の分母)」は、「単語をファイル名に含む各ファイルについてのユーザUの操作時間の総和を単語毎に求めた場合における前記総和の総和」であると言うことができる。
例えば、前述の例のように、単語Wが「人工知能」であり、ユーザUが「山田」であるとする。この場合、スコア算出部4は、「人工知能」をファイル名に含むファイルについてのユーザ「山田」の操作時間の総和を、式(2)の右辺の分子として求める。また、スコア算出部4は、「人工知能」、「A社」、「ディープラーニング」等の抽出された単語毎に、単語をファイル名に含むファイルについてのユーザ「山田」の操作時間の総和を算出する。さらに、個々の単語毎に算出した「操作時間の総和」の総和を、式(2)の右辺の分母として、求める。そして、スコア算出部4は、式(2)によって、R2を算出する。
スコア算出部4は、R1,R2を求めた後、ユーザUと単語Wの関連スコアを、以下に示す式(3)によって算出する。
関連スコア=R1×log(R2) ・・・(3)
この第3の算出方法で関連スコアを算出した場合、組織に属する多くの人に関連のある単語については、関連スコアの値が低くなり、組織に属する特定の人に関連のある単語については、関連スコアの値が高くなる。例えば、各ユーザはA社に属しているので、「A社」という単語は、各ユーザと関連があると考えられる。しかし、「A社」という単語と、各ユーザの関連が強いということは、自明であると言える。そのため、「A社」という単語と各ユーザの関連スコアを高くしても、あまり意味がなく、関連スコアを低くした方が好ましい。また、組織に属する特定のユーザのみが、「人工知能」という単語と関連している場合、そのユーザと「人工知能」という単語の関連スコアは高くした方が好ましい。第3の算出方法では、そのように、関連スコアを算出することができる。
図3は、ユーザと単語の組合せ毎に算出された関連スコアの例を示す模式図である。図3に示す第1の関連スコアは、第1の算出方法で算出された関連スコアである。第2の関連スコアは、第2の算出方法で算出された関連スコアである。第3の関連スコアは、第3の算出方法で算出された関連スコアである。図3では、3種類の関連スコアを図示したが、スコア算出部4は、いずれか1種類の関連スコアを算出すればよい。ただし、スコア算出部4は、2種類以上の関連スコアを算出してもよい。
既に説明したように、スコア算出部4は、ユーザと単語の組合せ毎に、関連スコアを算出し、ユーザ名と単語と関連スコアとの組を記憶部5に記憶させる。
収集部2は、例えば、関連スコア算出プログラムに従って動作するコンピュータのCPU(Central Processing Unit )およびそのコンピュータの通信インタフェースによって実現される。例えば、CPUが、コンピュータのプログラム記憶装置等のプログラム記録媒体から関連スコア算出プログラムを読み込み、関連スコア算出プログラムに従って、通信インタフェースを用いて、収集部2として動作すればよい。また、単語抽出部3およびスコア算出部4も、例えば、関連スコア算出プログラムに従って動作する上記のコンピュータのCPUによって実現される。すなわち、上記のように、関連スコア算出プログラムを読み込んだCPUが、関連スコア算出プログラムに従って、単語抽出部3およびスコア算出部4として動作すればよい。記憶部5は、上記のコンピュータの記憶装置によって実現される。また、収集部2、単語抽出部3およびスコア算出部4がそれぞれ別々のハードウェアによって実現されてもよい。
また、関連スコア算出システム1は、2つ以上の物理的に分離した装置が有線または無線で接続されている構成であってもよい。この点は、後述する他の実施形態でも同様である。
次に、第1の実施形態の処理経過について説明する。図4は、第1の実施形態の関連スコア算出システムの処理経過の例を示すフローチャートである。なお、既に説明した事項については、詳細な説明を省略する。
まず、収集部2が、会社内に設けられている各PC91から、操作ログを収集する(ステップS1)。
次に、単語抽出部3が、各操作ログに記述されているファイル名(パス名を含むファイル名)に対して形態素解析を行うことにより、単語を抽出する(ステップS2)。
次に、スコア算出部4が、各操作ログに基づいて、操作ログに記述されているユーザ名と、ステップS2で抽出された単語との組み合わせ毎に、そのユーザ名が表わすユーザと単語との関連の強さを表す関連スコアを算出。そして、スコア算出部4は、ユーザ名と単語と関連スコアとの組を記憶部5に記憶させる(ステップS3)。スコア算出部4は、前述の第1の算出方法、第2の算出方法、および、第3の算出方法のうちの、いずれの方法で関連スコアを算出してもよい。
この結果、記憶部5には、ユーザ名と単語と関連スコアとの組が複数組、記憶される。
本実施形態によれば、スコア算出部4が、各操作ログに基づいて、ユーザと単語の組合せ毎に、関連スコアを算出する。そして、前述の第1の算出方法、第2の算出方法、および、第3の算出方法は、いずれも、基本的に、単語Wをファイル名に含むファイルに対するユーザUの操作の量(キータッチの回数、操作時間等)が多いほど、関連スコアとして大きな値を算出する。従って、ユーザと単語の組合せ毎に、ユーザと単語との関連の強さが、適切に数値化される。よって、組織内の人と単語との関連の強さを明確化することができる。
次に、第1の実施形態の変形例について説明する。図5は、第1の実施形態の変形例を示すブロック図である。図5に示す関連スコア算出システム1は、収集部2、単語抽出部3、スコア算出部4および記憶部5に加えて、キーワード受付部6と、検索部7と、出力部8とを備える。図1に示す要素と同様の要素については、図1と同一の符号を付し、説明を省略する。
以下に示す例では、ユーザ名と、単語と、前述の第3の算出方法によって算出された関連スコアとの組が、複数、記憶部5に記憶されているものとして説明する。図6は、記憶部5に記憶されている複数の組の例を示す模式図である。
図5に例示する関連スコア算出システム1は、単語を検索キーワードとして受け付け、その単語に応じたユーザのユーザ名を検索する。あるいは、関連スコア算出システム1は、ユーザ名を検索キーワードとして受け付け、そのユーザ名に応じた単語を検索する。また、関連スコア算出システム1は、上記の2種類の検索をそれぞれ実行可能であってもよい。
キーワード受付部6は、検索者から検索キーワードを受け付ける。
検索部7は、検索キーワードに応じて、検索を実行する。
出力部8は、検索結果を出力する。
なお、キーワード受付部6は、例えば、検索者の使用する端末装置(図示略)から、通信ネットワークを介して、検索キーワードを受け付け、出力部8は、その端末装置に対して、検索結果を送信すればよい。以下、このようにキーワード受付部6が検索キーワードを受け付け、出力部8がこのように検索結果を出力する場合を例にして説明する。ただし、検索キーワードの受け付け態様や、検索結果の出力態様は、この例に限定されない。例えば、キーワード受付部6は、関連スコア算出システム1が備える入力デバイス(図示略)を介して検索キーワードを受け付けてもよい。また、出力部8は、関連スコア算出システム1が備えるディスプレイ装置(図示略)に検索結果を出力(表示)してもよい。
キーワード受付部6および出力部8は、収集部2と同様に、例えば、関連スコア算出プログラムに従って動作するコンピュータのCPUおよびそのコンピュータの通信インタフェースによって実現される。また、検索部7は、関連スコア算出プログラムに従って動作するそのコンピュータのCPUによって実現される。また、キーワード受付部6、検索部7、出力部8、および他の構成要素がそれぞれ別々のハードウェアによって実現されてもよい。
次に、関連スコア算出システム1が、単語を検索キーワードとして受け付け、その単語に応じたユーザのユーザ名を検索する処理の例について説明する。
まず、キーワード受付部6が、検索者から単語を検索キーワードとして受け付ける。
次に、検索部7が、記憶部5に記憶されている、ユーザ名と単語と関連スコアとの組の中から、検索キーワードに該当する単語と、閾値(例えば、0.5)以上の関連スコアを含む組を特定し、その組に含まれているユーザ名を検索結果として特定する。
例えば、キーワード受付部6が検索キーワードとして、「人工知能」という単語を受け付けたとする。また、上記の閾値が0.5であるとする。この場合、検索部7は、図6に例示する複数の組の中から、「人工知能」という単語と、0.5以上の関連スコアを含む組を特定する。本例では、図6に示す1番目の組が特定される。検索部7は、特定した組含まれるユーザ名「山田」を検索結果として得る。出力部8は、その検索結果を出力する。なお、検索部7は、「人工知能」という単語と、0.5以上の関連スコアを含む組が複数存在するならば、その組を全て特定し、その各組から得られるユーザ名を検索結果とする。従って、検索結果として得られるユーザ名は1つとは限らない。出力部8は、検索結果として得た複数のユーザ名を、関連スコアの高い順に並べて出力してもよい。
このように、単語からユーザ名が検索できるので、検索者は、検索キーワードとして指定した単語が表わす分野、技術、プロジェクト等に強く関わったユーザのユーザ名を容易に知ることができる。
次に、関連スコア算出システム1が、ユーザ名をキーワードとして受け付け、そのユーザ名に応じた単語を検索する処理の例について説明する。
まず、キーワード受付部6が、検索者からユーザ名を検索キーワードとして受け付ける。
次に、検索部7が、記憶部5に記憶されている、ユーザ名と単語と関連スコアとの組の中から、検索キーワードに該当するユーザ名と、閾値(例えば、0.5)以上の関連スコアを含む組を特定し、その組に含まれている単語を検索結果として特定する。このとき、検索キーワードに該当するユーザ名と、閾値以上の関連スコアを含む組が複数存在するならば、検索部7は、その組を全て特定し、その各組から得られる単語を検索結果とする。従って、検索結果として得られる単語は1つとは限らない。出力部8は、検索結果として得た複数の単語を、関連スコアの高い順に並べて出力してもよい。
例えば、キーワード受付部6が検索キーワードとして、「山田」というユーザ名を受け付けたとする。また、上記の閾値が0.5であるとする。この場合、検索部7は、図6に例示する複数の組の中から、「山田」というユーザ名と、0.5以上の関連スコアを含む組を特定する。本例では、図6に示す1番目の組、3番目の組および4番目の組が特定される。検索部7は、特定した各組に含まれる単語を検索結果として得る。すなわち、検索部7は、「人工知能」、「機械学習」および「ディープラーニング」を検索結果として得る。出力部8は、その検索結果を出力する。
このように、ユーザ名から単語を検索できるので、検索者は、検索キーワードとして指定したユーザ名を有する人が精通している分野、技術等を容易に推定したり、その人が参加したことがあるプロジェクト等を容易に推定したりすることができる。
なお、上記の閾値“0.5”は例示であり、閾値は0.5でなくてもよい。また、閾値は、関連スコアの算出方法に応じて定めておけばよい。
実施形態2.
図7は、本発明の第2の実施形態の関連スコア算出システムの構成例を示すブロック図である。第1の実施形態の関連スコア算出システム(図1参照)や第1の実施形態の変形例(図5参照)に示す構成要素と同様の構成要素については、図1や図5に示す符号と同一の符号を付し、説明を省略する。
第2の実施形態では、関連スコア算出システム1は、収集部2と、単語抽出部3と、スコア算出部4と、記憶部5と、第1のテーブル生成部11と、第2のテーブル生成部12と、キーワード受付部6と、検索部17と、出力部8とを備える。
収集部2、単語抽出部3およびスコア算出部4は、第1の実施形態(図1参照)や、第1の実施形態の変形例(図5参照)で示したそれらの各要素と同様である。
また、キーワード受付部6および出力部8は、第1の実施形態の変形例(図5参照)で示したそれらの各要素と同様である。
記憶部5は、第1の実施形態(図1参照)や、第1の実施形態の変形例(図5参照)における記憶部5と同様である。ただし、本実施形態では、記憶部5は、ユーザ名と単語と関連スコアとの組を複数組記憶するだけでなく、後述の第1のテーブル21および第2のテーブル22も記憶する。以下、スコア算出部4が記憶部5に記憶させる、ユーザ名と単語と関連スコアとの組の集合(例えば、図6に例示する複数の組)を関連スコア算出結果20と記す。
また、本実施形態では、スコア算出部4が、前述の第3の算出方法で関連スコアを算出する場合を例にして説明する。ただし、スコア算出部4は、前述の第1の算出方法または第2の算出方法で関連スコアを算出してもよい。
以下の説明では、スコア算出部4が、既に関連スコアを算出し、記憶部5に関連スコア算出結果20を記憶させているものとして説明する。図8は、関連スコア算出結果20(ユーザ名と単語と関連スコアとの組の集合)の例を示す模式図である。ここでは、図8に例示する関連スコア算出結果20が記憶部5に記憶されている場合を例にして説明する。
第1のテーブル生成部11は、関連スコア算出結果20に基づいて、第1のテーブル21を生成し、記憶部5に記憶させる。第1のテーブル21は、ユーザIDと、単語と、関連スコアとの関係を記述したテーブルである。より具体的には、第1のテーブル21は、関連スコア算出結果20に含まれているユーザ名を縦軸と横軸のうちの一方の軸に並べ、関連スコア算出結果20に含まれている単語を他方の軸に並べ、ユーザ名と単語とが交差する欄に、そのユーザ名を有するユーザとその単語の関連スコアを記述したテーブルである。
本例では、第1のテーブル生成部11が、第1のテーブルを生成する際に、ユーザ名を縦軸に並べ、単語を横軸に並べる場合を例にして説明するが、第1のテーブル生成部11は、ユーザ名を横軸に並べ、単語を縦軸に並べてもよい。
また、第1のテーブル生成部11は、ユーザ名を軸に沿って並べる際、同一ユーザのユーザ名を重複させずに並べる。例えば、図8に示す関連スコア算出結果20において、1番目の組にもユーザ名「山田」が含まれ、2番目の組にもユーザ名「山田」が含まれている。このユーザ名「山田」は、同一ユーザのユーザ名である。従って、第1のテーブル生成部11は、ユーザ名を軸に沿って並べる際、ユーザ名「山田」を1回並べればよい。
同様に、第1のテーブル生成部11は、単語を軸に沿って並べる際、同一の単語を重複させずに並べる。例えば、図8に示す関連スコア算出結果20において、複数の組で「人工知能」という単語が含まれている。しかし、第1のテーブル生成部11は、単語を軸に沿って並べる際、「人工知能」という単語を一回並べればよい。
第1のテーブル生成部11によって生成される第1のテーブルの例を、図9に示す。第1のテーブル生成部11は、関連スコア算出結果20に含まれているユーザ名(「山田」、「鈴木」、「田中」等)を、縦軸の方向に沿って並べる(図9参照)。また、第1のテーブル生成部11は、関連スコア算出結果20に含まれている単語(「人工知能」、「A社」、「機械学習」、「ディープラーニング」等)を、横軸の方向に沿って並べる(図9参照)。
そして、第1のテーブル生成部11は、ユーザ名と単語とが交差する欄に、そのユーザ名を有するユーザとその単語の関連スコアを記述する。例えば、図8に示す例で、ユーザ名「山田」と単語「人工知能」の関連スコアは、“0.80”である。従って、第1のテーブル生成部11は、第1のテーブル21において、「山田」と「人工知能」とが交差する欄に“0.80”を記述する(図9参照)。また、例えば、図8に示す例で、ユーザ名「山田」と単語「A社」の関連スコアは、“0.10”である。従って、第1のテーブル生成部11は、第1のテーブル21において、「山田」と「A社」とが交差する欄に“0.10”を記述する。第1のテーブル生成部11は、ユーザ名と単語とが交差する欄毎に、同様に、関連スコアを記述する。
第1のテーブル生成部11は、上記のようにして生成した第1のテーブル21を、記憶部5に記憶させる。
第2のテーブル生成部12は、第1のテーブル21に基づいて、第2のテーブル22を生成し、記憶部5に記憶させる。第2のテーブルは、第1のテーブルに基づいて算出した単語同士の関連の強さを表す関連度を記述したテーブルである。より具体的には、第2のテーブル22は、縦軸と横軸の両方に単語を並べ、単語同士が交差する欄に、第1のテーブル21に基づいて算出したその単語同士の関連の強さを表す関連度を記述したテーブルである。既に説明したように、本発明では、ユーザと単語との関連の強さを表す指標値を「関連スコア」と称し、単語同士の関連の強さを表す指標値を「関連度」と称することによって、2種類の指標値を区別する。
図10は、第2のテーブルの例を示す模式図である。本例では、第2のテーブル生成部12が、縦軸、横軸それぞれに、第1のテーブル21と同じ順番で単語を並べる場合を例にして説明する。例えば、図9に例示する第1のテーブルでは、単語が、「人工知能」、「A社」、「機械学習」、「ディープラーニング」、・・・の順に並べられている。第2のテーブル生成部12は、第2のテーブルの縦軸、横軸それぞれにおいても、その順番と同じ順番で単語を並べる(図10参照)。
そして、第2のテーブル生成部12は、1つの単語と1つの単語との組合せ毎に、その単語同士の関連の強さを表す関連度を算出し、その単語同士が交差する欄に、その関連度を記述する。なお、第2のテーブル生成部12は、同一の単語同士に関しても、関連度を算出する。例えば、第2のテーブル生成部12は、「人工知能」と「人工知能」の関連度も算出する。
ここで、単語同士の関連度について説明する。まず、図9に例示する第1のテーブ21において、「人工知能」と「機械学習」という2つの単語に着目した場合について説明する。
「人工知能」と個々のユーザの関連スコアを、第1のテーブル21におけるユーザ名順に並べると、以下のようになる。
0.80, 0.20, 0.60, 0.43,・・・
また、「機械学習」と個々のユーザの関連スコアを、第1のテーブル21におけるユーザ名順に並べると、以下のようになる。
0.79, 0.22, 0.58, 0.45, ・・・
上記の関連スコアの並びにおける関連スコアの変化の傾向は似ていると言える。この場合、「人工知能」と「機械学習」の関連度は高いことになる。
次に、「人工知能」と「A社」という2つの単語に着目した場合について説明する。
前述のように、「人工知能」と個々のユーザの関連スコアを、第1のテーブル21におけるユーザ名順に並べると、以下のようになる。
0.80, 0.20, 0.60, 0.43,・・・
また、「A社」と個々のユーザの関連スコアを、第1のテーブル21におけるユーザ名順に並べると、以下のようになる。
0.10, 0.40,0.35, 0.05, ・・・
上記の関連スコアの並びにおける関連スコアの変化の傾向は似ていないと言える。この場合、「人工知能」と「A社」の関連度は低いことになる。
第2のテーブル生成部12は、単語同士の関連度として、単語同士の相関係数を算出すればよい。ここでは、単語w1と単語w2の関連度として、単語w1と単語w2の相関係数を算出する場合について説明する。単語w1と単語w2の相関係数は、より具体的には、単語w1と個々のユーザの関連スコアの並びと、単語w2と個々のユーザの関連スコアの並びとの相関関数である。
1つの単語と個々のユーザの関連スコアを、第1のテーブル21におけるユーザ名順に並べた場合における関連スコア(数値)の並びを、その単語の系列と称することとする。例えば、図9に示す例において、「人工知能」の系列は、以下のようになる。
0.80, 0.20, 0.60, 0.43,・・・
単語w1の系列が(x1,x2,・・・,xn)であるとする。そして、この系列をxとする。なお、図9に示す例では、単語の系列は、数値を縦方向に並べたものであるが、ここでは、便宜的に、(x1,x2,・・・,xn)と横に並べて示す。この点は、次に述べる単語w2についても同様である。
また、単語w2の系列が(y1,y2,・・・,yn)であるとする。そして、この系列をyとする。
上記のように系列に属する関連スコアの数をn個とする。
第2のテーブル生成部12は、単語w1と単語w2の関連度として、xとyの相関係数を算出すればよい。xとyの相関係数をrとする。第2のテーブル生成部12は、以下に示す式(4)の計算により、xとyの相関係数rを算出する。
式(4)において、sxyは、xとyの共分散である。また、sxは、xの標準偏差であり、syは、yの標準偏差である。xiは、xにおけるi番目の関連スコアである。yiは、yにおけるi番目の関連スコアである。
第2のテーブル生成部12は、1つの単語と1つの単語との組合せ毎に、式(4)の計算により、相関係数を算出し、その相関係数を関連度として、第2のテーブル22に記述する。組み合わせをなす2つの単語が異なる単語である場合、その2つの単語の関連度は、第2のテーブル22において、2箇所に記述される。例えば、図10に示す例において、「人工知能」と「A社」の関連度は、第1行第2列と、第2行第1列にそれぞれ記述される。
第2のテーブル生成部12は、上記のようにして生成した第2のテーブル22を、記憶部5に記憶させる。
第2の実施形態の関連スコア算出システム1は、単語を検索キーワードとして受け付け、その単語に応じたユーザのユーザ名を検索する。あるいは、第2の実施形態の関連スコア算出システム1は、ユーザ名を検索キーワードとして受け付け、そのユーザ名に応じた単語を検索する。また、第2の実施形態の関連スコア算出システム1は、上記の2種類の検索をそれぞれ実行可能であってもよい。
検索者に指定された単語に応じたユーザのユーザ名を検索する場合、キーワード受付部6が、検索者から単語を検索キーワードとして受け付ける。そして、検索部17は、第1のテーブル21および第2のテーブル22に基づいて、検索キーワードに該当する単語に応じたユーザ名を検索する。
また、検索者に指定されたユーザ名に応じた単語を検索する場合、キーワード受付部6が、検索者からユーザ名を検索キーワードとして受け付ける。そして、検索部17は、第1のテーブル21および第2のテーブル22に基づいて、検索キーワードに該当するユーザ名に応じた単語を検索する。
第2の実施形態において、収集部2、キーワード受付部6および出力部8は、関連スコア算出プログラムに従って動作するコンピュータのCPUおよびそのコンピュータの通信インタフェースによって実現される。例えば、CPUが、コンピュータのプログラム記憶装置等のプログラム記録媒体から関連スコア算出プログラムを読み込み、関連スコア算出プログラムに従って、通信インタフェースを用いて、収集部2、キーワード受付部6および出力部8として動作すればよい。また、単語抽出部3、スコア算出部4、第1のテーブル生成部11、第2のテーブル生成部12および検索部17も、例えば、関連スコア算出プログラムに従って動作する上記のコンピュータのCPUによって実現される。すなわち、上記のように、関連スコア算出プログラムを読み込んだCPUが、関連スコア算出プログラムに従って、単語抽出部3、スコア算出部4、第1のテーブル生成部11、第2のテーブル生成部12および検索部17として動作すればよい。また、収集部2、キーワード受付部6、出力部8、単語抽出部3、スコア算出部4、第1のテーブル生成部11、第2のテーブル生成部12および検索部17がそれぞれ別々のハードウェアによって実現されてもよい。
図11は、第2の実施形態の処理経過の例を示すフローチャートである。第1の実施形態で説明した動作と同様の動作や、第2の実施形態で既に説明した動作については、詳細な説明を省略する。
ステップS1〜ステップS3は、第1の実施形態におけるステップS1〜S3(図4参照)と同様であり、説明を省略する。
ステップS3の次に、第1のテーブル生成部11は、関連スコア算出結果20に基づいて、第1のテーブル21(図9参照)を生成し、第1のテーブル21を記憶部5に記憶させる(ステップS4)。第1のテーブル21を生成する動作については、既に説明したので、ここでは説明を省略する。
次に、第2のテーブル生成部12は、第1のテーブル21に基づいて、第2のテーブル22(図10参照)を生成し、第2のテーブル22を記憶部5に記憶させる(ステップS5)。第2のテーブル22を生成する動作についても、既に説明したので、ここでは説明を省略する。
第1のテーブル21および第2のテーブル22が生成された後に、キーワード受付部6は、検索者から、検索キーワードを受け付ける(ステップS6)。キーワード受付部6は、検索キーワードとして、単語を受け付けてもよい。また、キーワード受付部6は、検索キーワードとして、ユーザ名を受け付けてもよい。
次に、検索部17は、第1のテーブル21および第2のテーブル22に基づいて、検索キーワードに応じた検索結果を求める(ステップS7)。検索キーワードが単語である場合、検索部17は、第1のテーブル21および第2のテーブル22に基づいて、その単語に応じたユーザ名を検索する。また、検索キーワードがユーザ名である場合、検索部17は、第1のテーブル21および第2のテーブル22に基づいて、そのユーザ名に応じた単語を検索する。ステップS7の動作の詳細については、後述する。
ステップS7の後、出力部8が検索結果を出力する(ステップS8)。出力部8が検索結果を出力する態様は、第1の実施形態の変形例と同様である。
次に、ステップS7の動作について説明する。まず、ステップS6において、キーワード受付部6が選択キーワードとして単語を受け付け、検索部17が単語に応じたユーザ名を検索する場合について説明する。以下、検索キーワードに該当する単語を、キーワード単語と記す。
検索部17は、個々のユーザ名を順次選択し、選択したユーザ名(以下、選択ユーザ名と記す。)とキーワード単語の検索スコアを算出する。検索スコアは、選択ユーザ名を有するユーザと単語の関連の強さを示す指標値であるが、既に説明した関連スコアを用いて算出され、関連スコアとは算出方法が異なる。そのため、以下の説明では、関連スコアと区別して、検索スコアという語を用いる。
検索部17が、1つの選択ユーザ名を選択しているとする。検索部17が選択ユーザ名とキーワード単語の検索スコアを算出する動作について説明する。図12は、選択ユーザとキーワード単語の検索スコアを算出する処理の例を示すフローチャートである。
まず、検索部17は、選択ユーザ名の検索スコアの値を0に初期化する(ステップS11)。
次に、検索部17は、第1のテーブルの軸(第2テーブルの軸でもよい。)に並べられている単語の中から、未だステップS12で選択されていない単語を1つ選択する(ステップS12)。ステップS12で選択した単語を、以下、選択単語と記す。なお、選択単語がキーワード単語と同一である場合もあり得る。
次に、検索部17は、キーワード単語と選択単語の関連度と、選択ユーザ名と選択単語の関連スコアとの積を算出する(ステップS13)。検索部17は、ステップS13で用いる関連度を第2のテーブルから読み込み、ステップS13で用いる関連スコアを第1のテーブルから読み込めばよい。
次に、検索部17は、ステップS13で算出した積を、検索スコアに加算する(ステップS14)。
次に、検索部17は、ステップS12で選択されていない単語があるか否かを判定する(ステップS15)。未選択の単語がある場合(ステップS15のYes)、検索部17は、ステップS12以降の処理を繰り返す。
未選択の単語がない場合(ステップS15のNo)、検索部17は、その時点における検索スコアの値を、選択ユーザ名とキーワード単語の検索スコアとして確定し、処理を終了する。
上記の検索スコアの算出処理は、以下の式(5)で表すことができる。
式(5)において、単語iは、i番目に選択された選択単語を意味する。
例えば、図9に示す第1のテーブル21と図10に示す第2のテーブル22が記憶部5に記憶されているとする。そして、キーワード単語(検索キーワードに該当する単語)が「人工知能」であり、選択ユーザ名が「山田」であるとする。この場合、検索部17は、以下の式によって、選択ユーザ名「山田」とキーワード単語「人工知能」の検索スコアを算出する(図9、図10を参照)。
検索スコア=1.00×0.80+0.07×0.10+0.87×0.79+0.79×0.82+・・・
また、選択ユーザ名が「鈴木」であるとする。この場合、検索部17は、以下の式によって、選択ユーザ名「鈴木」とキーワード単語「人工知能」の検索スコアを算出する(図9、図10を参照)。
検索スコア=1.00×0.20+0.07×0.40+0.87×0.22+0.79×0.18+・・・
検索部17は、第1のテーブル21に記述されているユーザ名毎に、上記の処理によって検索スコアを得る。そして、検索部17は、検索スコアが閾値以上になっているユーザ名を検索結果として得る。従って、検索結果として得られるユーザ名は、複数個となり得る。出力部8は、検索結果として得られたユーザ名を出力する。出力部8は、検索結果として得た複数のユーザ名を、検索スコアの高い順に並べて出力してもよい。
この検索方法では、単語同士の関連度を示す第2のテーブルも用いている。従って、検索者が検索キーワードとして指定した単語との関連度が高い別の単語との関連が強いユーザのユーザ名も検索結果として得ることができる。
例えば、各ユーザが属している会社において、「レッドロケッツ」および「グリーンロケッツ」が重要な製品の製品名であり、その二つの製品の関連性が強いとする。この場合、上記の検索方法によれば、「レッドロケッツ」を検索キーワードにした場合であっても、「レッドロケッツ」と関連の強いユーザのユーザ名だけでなく、「レッドロケッツ」と関連性のある「グリーンロケッツ」と関連の強いユーザのユーザ名も検索結果として得ることができる。従って、検索者が検索キーワードとして指定した単語に基づいて、ユーザ名を幅広く検索することができる。
また、本実施形態では、会社に設けられたPC91から収集した操作ログに含まれる単語を用いて、第2のテーブルを生成する。従って、上記に例示したような「レッドロケッツ」および「グリーンロケッツ」等のその会社独自で用いることの多い単語を、第2のテーブルに含めることができる。仮に、第1のテーブルや第2のテーブルを人手で作成する場合、膨大な手間がかかるだけでなく、組織独自で用いる単語等は、第1のテーブルおよび第2のテーブルから漏れやすい。従って、組織独自で用いる単語も漏らさずに、第1のテーブルや第2のテーブルを容易に作成することができ、さらに上記のように、検索キーワードとして指定した単語に基づいて、ユーザ名を幅広く検索することができる。
次に、ステップS6において、キーワード受付部6が選択キーワードとしてユーザ名を受け付け、検索部17がユーザ名に応じた単語を検索する場合について説明する。以下、検索キーワードに該当するユーザ名を、キーワードユーザ名と記す。
検索部17は、個々の単語を順次選択し、選択した単語とキーワードユーザ名の検索スコアを算出する。この選択された単語をスコア算出対象単語と記す。また、1つのスコア算出対象単語を選択した後にも、後述の説明で示すように、別途、単語を順次選択する(後述の図13におけるステップS22を参照)。後述のステップS22で選択される単語を、選択単語と記す。
検索部17が、1つのスコア算出対象単語を選択しているとする。以下に、検索部17がスコア算出対象単語とキーワードユーザ名の検索スコアを算出する動作について説明する。図13は、スコア算出対象単語とキーワードユーザ名の検索スコアを算出する処理の例を示すフローチャートである。
まず、検索部17は、スコア算出対象単語の検索スコアの値を0に初期化する(ステップS21)。
次に、検索部17は、第1のテーブルの軸(第2テーブルの軸でもよい。)に並べられている単語の中から、未だステップS22で選択されていない単語を1つ選択する(ステップS22)。既に述べたように、ステップS22で選択した単語を、選択単語と記す。なお、選択単語がスコア算出対象単語と同一である場合もあり得る。
次に、検索部17は、キーワードユーザ名と選択単語の関連スコアと、スコア算出対象単語と選択単語の関連度との積を算出する(ステップS23)。検索部17は、ステップS23で用いる関連スコアを第1のテーブルから読み込み、ステップS23で用いる関連度を第2のテーブルから読み込めばよい。
次に、検索部17は、ステップS23で算出した積を、検索スコアに加算する(ステップS24)。
次に、検索部17は、ステップS22で選択されていない単語があるか否かを判定する(ステップS25)。未選択の単語がある場合(ステップS25のYes)、検索部17は、ステップS22以降の処理を繰り返す。
未選択の単語がない場合(ステップS25のNo)、検索部17は、その時点における検索スコアの値を、スコア算出対象単語とキーワードユーザ名の検索スコアとして確定し、処理を終了する。
上記の検索スコアの算出処理は、以下の式(6)で表すことができる。
式(6)において、単語iは、i番目に選択された選択単語を意味する。
例えば、図9に示す第1のテーブル21と図10に示す第2のテーブル22が記憶部5に記憶されているとする。そして、キーワードユーザ名(検索キーワードに該当するユーザ名)が「山田」であり、スコア算出対象単語が「人工知能」であるとする。この場合、検索部17は、以下の式によって、スコア算出対象単語「人工知能」とキーワードユーザ名「山田」の検索スコアを算出する(図9、図10を参照)。
検索スコア=0.08×1.00+0.10×0.07+0.79×0.87+0.82×0.79+・・・
また、スコア算出対象単語が「A社」であるとする。この場合、検索部17は、以下の式によって、スコア算出対象単語が「A社」とキーワードユーザ名「山田」の検索スコアを算出する(図9、図10を参照)。
検索スコア=0.08×0.07+0.10×1.00+0.79×0.09+0.82×0.11+・・・
検索部17は、順次選択するスコア算出対象単語毎に、上記の処理によって検索スコアを得る。そして、そして、検索部17は、検索スコアが閾値以上になっている単語を検索結果として得る。従って、検索結果として得られる単語は、複数個となり得る。出力部8は、検索結果として得られた単語を出力する。出力部8は、検索結果として得た複数の単語を、検索スコアの高い順に並べて出力してもよい。
上記のようにユーザ名から単語を検索する検索方法においても、単語同士の関連度を示す第2のテーブルも用いている。従って、検索者が指定したキーワードユーザ名が表わすユーザ名との関連度が高い単語だけでなく、その単語との関連が強い別の単語も検索結果として得ることができる。
例えば、前述の例のように、各ユーザが属している会社において、「レッドロケッツ」および「グリーンロケッツ」が重要な製品の製品名であり、その二つの製品の関連性が強いとする。そして、ユーザ「山田」と単語「レッドロケッツ」との関連が強いとする。この場合、検索者がキーワードユーザ名として「山田」を指定した場合、「山田」と関連の強い単語「レッドロケッツ」だけでなく、単語「レッドロケッツ」と関連の強い「グリーンロケッツ」も検索結果として得ることができる。「レッドロケッツ」と「グリーンロケッツ」との関連が強いので、「レッドロケッツ」との関連が強い「山田」は、「グリーンロケッツ」とも関連が強いと考えられる。上記の方法によれば、検索キーワードとして指定されたユーザ名が示すユーザと関連が強いと考えられる単語を幅広く検索することができる。
また、組織独自で用いる単語も漏らさずに、第1のテーブルや第2のテーブルを容易に作成することができるという点については、既に説明した通りである。
以上に説明したように、本実施形態では、キーワード受付部6が選択キーワードとして単語を受け付け、検索部17が単語に応じたユーザ名を検索する場合、ユーザ名を幅広く検索することができる。また、キーワード受付部6が選択キーワードとしてユーザ名を受け付け、検索部17がユーザ名に応じた単語を検索する場合、単語を幅広く検索することができる。また、組織独自で用いる単語も漏らさずに、第1のテーブルや第2のテーブルを容易に作成することができる。
実施形態3.
図14は、本発明の第3の実施形態の関連スコア算出システムの構成例を示すブロック図である。第3の実施形態の関連スコア算出システムは、第2の実施形態の関連スコア算出システム(図7参照)が備える構成要素に加え、さらに、クラスタリング部31と、クラスタ出力部32と、除外対象単語受付部33とを備える。図14において、図7に示す要素と同様の要素については、図7と同一の符号を付し、説明を省略する。なお、第1のテーブル生成部11および第2のテーブル生成部12はそれぞれ、第2の実施形態で説明した動作に加え、後述の動作も行う。
クラスタリング部31は、第2のテーブル22(例えば、図10を参照)を記憶部5から読み込み、第2のテーブル22に基づいて、第2のテーブル22に記述されている単語に対してクラスタリングを行う。クラスタリング部31は、例えば、k−means法または階層型クラスタリングアルゴリズム等のクラスタリング方法によって、単語に対するクラスタリングを行う。k−means法または階層型クラスタリングアルゴリズム等のクラスタリング方法では、第2のテーブル22を入力データとして、第2のテーブル22の軸に並ぶ単語に対してクラスタリングを行うことができる。クラスタリング部31は、各クラスタに対して、クラスタの識別情報として、例えば、クラスタ番号を付し、クラスタとそのクラスタに属する単語との関係を、クラスタリング結果23として記憶部5に記憶させる。
クラスタ出力部32は、例えば、関連スコア算出システム1の管理者(以下、単に管理者と記す。)の端末装置(図示略)から、通信ネットワークを介して、クラスタリング結果の出力要求を受け付け、その出力要求に応じて、クラスタリング結果を示す画面の画面情報を、その端末装置(図示略)に送信する。図15は、クラスタリング結果を示す画面の例を示す模式図である。クラスタリング結果を示す画面では、例えば、クラスタ毎に、クラスタ番号と、クラスタに属する各単語が表示される。また、各クラスタ番号および各単語とともに、それぞれチェックボックス41が表示される。図15に示すように、各クラスタに属する単語の数は異なっていてよい。また、クラスタリング結果を示す画面には、確定ボタン42が含まれる。
クラスタ出力部32は、通信ネットワークを介して、管理者の端末装置からクラスタリング結果の出力要求を受け付けると、記憶部5からクラスタリング結果23を読み込む。そして、クラスタ出力部32は、クラスタリング結果23に基づいて、クラスタ番号と、そのクラスタ番号が示すクラスタに属する単語を表示するとともに、各クラスタ番号および各単語とともにそれぞれチェックボックス41を表示し、さらに、確定ボタン42も含む画面(例えば、図15に例示する画面)の画面情報を生成する。そして、クラスタ出力部32は、通信ネットワークを介して、その画面情報を管理者の端末装置に送信する。
管理者の端末装置は、クラスタ出力部32からその画面情報を受信すると、その画面情報に基づいて、例えば、図15に例示する画面を表示する。
管理者は、図15に例示する画面(単語のクラスタリング結果を表示する画面)を確認し、管理者が除外すべきと判断した単語に対応するチェックボックス41にチェックを入れる。また、管理者は、1つのクラスタに属する単語全てを除外すべきであると判断した場合、そのクラスタに対応するチェックボックス41にチェックを入れる。単語に対応するチェックボックス41にチェックが入れられたということは、その単語を除外すべきと判断されたことを意味する。また、クラスタに対応するチェックボックス41にチェックが入れられたということは、そのクラスタに属する単語全てを除外すべきであると判断されたことを意味する。また、ここで、「除外すべき」とは、第1のテーブルの横軸および第2のテーブルの各軸に並ぶ単語から除外すべきであるということを意味する。
確定ボタン42は、各単語に対する、除外すべきか否かの判断が完了したことを入力するためのボタンである。管理者の端末装置は、管理者によって確定ボタン42をクリックされると、どのチェックボックス41にチェックが入れられたかに応じて、管理者が除外すべきと判断した単語を判定し、管理者によって除外すべきと判断された単語を、関連スコア算出システム1に送信する。
関連スコア算出システム1の除外対象単語受付部33は、管理者の端末装置が送信した単語(管理者によって、除外すべきと判断された単語)を、通信ネットワークを介して、受信する。除外対象単語受付部33が受信する単語は、1つとは限らない。除外対象単語受付部33は、第1のテーブルの横軸および第2のテーブルの各軸に並ぶ単語から除外すべき単語の指定を受け付けていると言うことができる。
除外対象単語受付部33は、管理者の端末装置から受信した単語(除外すべき単語)を第1のテーブル生成部11に通知する。第1のテーブル生成部11は、その単語の通知を受けると、既に生成済みの第1のテーブル21の横軸に並ぶ単語から、通知された単語を除外して、第1のテーブル21を再度生成する。そして、第1のテーブル生成部11は、記憶部5に記憶されている第1のテーブル21を、再度生成した第1のテーブル21で置き換える。
第1のテーブル生成部11が第1のテーブル21を再度生成すると、第2のテーブル生成部12は、新たに生成された第1のテーブル21に基づいて、第2のテーブルを再度生成する。このとき、第2のテーブル生成部12は、除外対象単語受付部33が受信した単語を、各軸に並ぶ単語から除外して、第2のテーブルを生成する。そして、第2のテーブル生成部12は、記憶部5に記憶されている第2のテーブル22を、再度生成した第2のテーブル22で置き換える。
第1のテーブル21を再度生成する動作および第2のテーブル22を再度生成する動作は、それぞれ、軸に並ぶ単語数が減少している点を除けば、第2の実施形態で説明した第1のテーブル21を生成する動作および第2のテーブル22を生成する動作と同様である。
クラスタ出力部32および除外対象単語受付部33は、例えば、関連スコア算出プログラムに従って動作するコンピュータのCPUおよびそのコンピュータの通信インタフェースによって実現される。また、クラスタリング部31は、関連スコア算出プログラムに従って動作するそのコンピュータのCPUによって実現される。
本実施形態によれば、管理者によって、第1のテーブルおよび第2のテーブルから除外すべきと判断された単語を、第1のテーブルおよび第2のテーブルから除外することができる。その結果、例えば、ユーザ名を検索キーワードとして、単語の検索を行う場合、管理者が除外すべき単語として指定した単語を、検索結果に含まれないようにすることができる。
管理者によって、除外すべきと判断される単語の例について説明する。例えば、ユーザ「山田」が、新規作成したり閲覧したりするファイル名に、ユーザ名「山田」を含めることがあり得る。その場合、ユーザ名「山田」を検索キーワードとして、単語の検索を行う場合に、検索結果に「山田」という単語が含まれ得る。しかし、ユーザ名「山田」を検索キーワードとして単語の検索を行う場合に、検索結果に「山田」という単語が含まれていても、検索者にとってはあまり意味がない。
そこで、管理者は、例えば、図15に例示する画面が表示された場合、明らかに、ユーザ名と同じ文字列であると考えられる単語「山田」は除外すべきであると判断し、図15に示す単語「山田」に対応するチェックボックス41にチェックを入れ、確定ボタン42をクリックすればよい。その結果、第1のテーブル生成部11は、横軸の単語の並びから「山田」を除外した、新たな第1のテーブルを生成する。続いて、第2のテーブル生成部12は、縦軸および横軸それぞれの単語の並びから「山田」を除外した、新たな第2のテーブルを生成する。その結果、例えば、ユーザ名「山田」を検索キーワードとして単語の検索を行う場合に、検索結果に「山田」という単語が含まれないようにすることができる。
なお、クラスタ出力部32は、クラスタリング結果を示す画面を、関連スコア算出システム1が備えるディスプレイ装置(図示略)に表示してもよい。また、除外対象単語受付部33は、関連スコア算出システム1が備える入力デバイス(図示略)によって、そのディスプレイ装置に表示された画面に対する操作(チェックボックス41へのチェックの入力、および、確定ボタン42のクリック)を受け付け、その操作に応じて、除外すべき単語の指定を受け付けてもよい。
実施形態4.
第1の実施形態から第3の実施形態では、収集部2が操作ログを収集し、単語抽出部3が、各操作ログに記述されている各ファイル名から単語を抽出し、スコア算出部4が、ファイルを操作した各ユーザと抽出された各単語の組合せ毎に、関連スコアを算出する場合を示した。
第4の実施形態では、収集部がファイルの操作ログではなく、スケジュール情報を収集する場合を例にして説明する。
図16は、第4の実施形態の関連スコア算出システムの構成例を示すブロック図である。図16に示す関連スコア算出システム1は、第1の実施形態における収集部2、単語抽出部3およびスコア算出部4を、収集部52、単語抽出部53およびスコア算出部54に置き換えたものである。記憶部5は、第1の実施形態における記憶部5と同様である。
また、図16に示す関連スコア算出システム1は、組織に属する各人のスケジュール情報を保持するスケジュール管理サーバ61に、通信ネットワーク10を介して接続されている。
収集部52は、スケジュール管理サーバ61に記憶されている、組織に属する各人のスケジュール情報を、スケジュール管理サーバ61から収集する。なお、スケジュール情報は個々のPC(図16において図示略)に記憶されていてもよい。この場合、収集部52は、その個々のPCから組織に属する各人のスケジュール情報を収集すればよい。
以下、組織に属する人の識別情報を、人識別情報と記す。また、人識別情報として、例えば、「山田」等の人の名を用いる場合を例にして説明する。
図17は、スケジュール情報の例を示す模式図である。スケジュール情報は、例えば、図17に例示するように、組織に属する人の人識別情報と、イベント名と、そのイベント名を有するイベントにその人が関わった時間帯とが関連付けて記述されている。時間帯は、開始日時および終了日時によって表される。
図17に示す1番目のスケジュール情報は、「山田」という人が、2017年8月17日10時から同日の12時まで、「人工知能開発会議」に関わった(換言すれば、出席した)ということを表している。以下、ある人が、あるイベントに関わった時間をイベント参加時間と記す。1つのイベントに関するイベント参加時間は、そのイベントに関連付けて記述された終了日時から開始日時を減算して得られる時間である。
単語抽出部53は、収集部52によって収集された各スケジュール情報に記述されている各イベント名に対して形態素解析を実行することによって、イベント名に含まれている単語を抽出する。
ただし、単語抽出部53は、同一の単語を、重複して抽出しない。例えば、単語抽出部53は、「人工知能」という単語を既に抽出している場合、2回目以降に抽出された「人工知能」という単語については無視する。この点は、既に説明した単語抽出部3と同様である。
例えば、単語抽出部53は、「人工知能開発会議」というイベント名に対して形態素解析を実行することによって、「人工知能」、「開発」、「会議」等の単語を抽出する。
単語抽出部53は、この処理を、各スケジュール情報に記述されている各イベント名に対して行うことによって、単語の集合を得る。同一の単語は重複して抽出されないので、この集合に属する単語は、互いに異なる。
スコア算出部54は、組織に属する各人と、単語抽出部53によって抽出された各単語の組合せ毎に、人と単語との関連の強さを示す関連スコアを算出する。この関連スコアは、第1の実施形態から第3の実施形態までにおける関連スコアと同様である。ただし、第4の実施形態では、キータッチ回数は、関連スコアとして用いられない。すなわち、単語抽出部53は、第1の実施形態で説明した第2の算出方法で関連スコアを算出することはない。
以下、第4の実施形態における関連スコアの算出方法として、2種類の方法を説明する。以下に示す2種類のいずれの方法においても、スコア算出部54は、人と単語の組合せ毎に、関連スコアを算出し、記憶部5に記憶させる。
第4の実施形態における関連スコアの第1の算出方法は、第1の実施形態における関連スコアの第1の算出方法と同様の方法である。ただし、ファイルの操作時間の代わりに、イベント参加時間を用いる。
第4の実施形態における関連スコアの第1の算出方法は、一の人(以下、人Hと記す。)と一の単語(以下、単語Wと記す。)の関連スコアとして、単語Wをイベント名に含む各イベントへの人Hのイベント参加時間の総和を算出する方法である。イベント参加時間が長いほど、人Hと単語Wの関連が強く、イベント参加時間が短いほど、人Hと単語Wの関連が弱いと言える。従って、イベント参加時間を、関連スコアとして用いることができる。
第1の算出方法では、スコア算出部54は、単語Wをイベント名に含む各イベントに対する人Hのイベント参加時間の総和を算出し、その総和を、人Hと単語Wの関連スコアとする。
すなわち、スコア算出部54は、単語Wをイベント名に含み、人Hが参加したイベント毎にイベント参加時間を算出し、その総和を、人Hと単語Wの関連スコアとする。
第4の実施形態における関連スコアの第2の算出方法は、第1の実施形態における関連スコアの第3の算出方法と同様の方法である。ただし、ファイルの操作時間の代わりに、イベント参加時間を用いる。
本実施形態における関連スコアの第2の算出方法は、一の人(人H)と一の単語(単語W)の関連スコアを、次に説明する2つの割合に基づいて算出する方法である。この2つの割合のうち、一方の割合をQ1と記し、もう一方の割合をQ2と記す。
Q1は、単語Wをイベント名に含む各イベントに対する組織内の全ての人のイベント参加時間の総和に対する、単語Wをイベント名に含む各イベントに対する人Hのイベント参加時間の総和の割合である。すなわち、Q1は、以下に示す式(7)で表される。
Q2は、個々の単語に着目した場合における、着目した単語をイベント名に含む各イベントに対する人Hのイベント参加時間の総和に対する、単語Wをイベント名に含む各イベントに対する人Hのイベント参加時間の総和の割合である。すなわち、Q2は、以下に示す式(8)で表される。
Q1について説明する。単語Wをイベント名に含む各イベントに対する人Hのイベント参加時間の総和(式(7)の右辺の分子)は、前述の第1の算出方法で算出される関連スコアに相当する。すなわち、スコア算出部54は、前述の第1の算出方法で説明した方法で、単語Wをイベント名に含む各イベントに対する人Hのイベント参加時間の総和を算出すればよい。
単語Wをイベント名に含む各イベントに対する組織内の全ての人のイベント参加時間の総和(式(7)の右辺の分母)について、説明する。スコア算出部54は、単語Wをイベント名に含む各イベントに対する、組織内の一人目の人のイベント参加時間の総和も、前述の第1の算出方法で説明した方法で算出する。同様に、スコア算出部54は、単語Wをイベント名に含む各イベントに対する、組織内の二人目の人のイベント参加時間の総和も、前述の第1の算出方法で説明した方法で算出する。同様に、スコア算出部54は、組織に属する一人一人について、単語Wをイベント名に含む各イベントに対する人のイベント参加時間の総和を算出する。さらに、スコア算出部54は、組織に属する一人一人について算出した「単語Wをイベント名に含む各イベントに対する人のイベント参加時間の総和」の総和を算出する。この値が、単語Wをイベント名に含む各イベントに対する組織内の全ての人のイベント参加時間の総和に該当する。
スコア算出部54は、上記のように算出した式(7)の右辺の分子、分母を用いて、式(7)の計算により、Q1を算出する。
次に、Q2について説明する。式(8)の右辺の分子は、式(7)の右辺の分子と同じである。従って、スコア算出部54は、前述の第1の算出方法で説明した方法で、単語Wをイベント名に含む各イベントに対する人Hのイベント参加時間の総和を算出すればよい。
個々の単語に着目した場合における、着目した単語をイベント名に含む各イベントに対する人Hのイベント参加時間の総和(式(8)の右辺の分母)について説明する。スコア算出部54は、単語抽出部53によって抽出された個々の単語に着目する(換言すれば、個々の単語を1つ1つ選択する)。そして、スコア算出部54は、着目した単語(選択した単語)をイベント名に含む各イベントに対する人Hのイベント参加時間の総和を、前述の第1の算出方法で説明した方法で算出する。スコア算出部54は、次の単語に着目し(換言すれば、次の単語を選択し)、着目した単語(選択した単語)をイベント名に含む各イベントに対する人Hのイベント参加時間の総和を、前述の第1の算出方法で説明した方法で算出する。このように、スコア算出部54は、単語毎に、単語をイベント名に含む各イベントに対する人Hのイベント参加時間の総和を算出する。そして、スコア算出部54は、単語毎に算出した「単語をイベント名に含む各イベントに対する人Hのイベント参加時間の総和」の総和を算出する。この値が、式(8)の分母に該当する。「個々の単語に着目した場合における、着目した単語をイベント名に含む各イベントに対する人Hのイベント参加時間の総和(式(8)の右辺の分母)」は、「単語をイベント名に含む各イベントに対する人Hのイベント参加時間の総和を単語毎に求めた場合における前記総和の総和」であると言うことができる。
スコア算出部54は、上記のように算出した式(8)の右辺の分子、分母を用いて、式(8)の計算により、Q2を算出する。
スコア算出部54は、Q1,Q2を求めた後、人Hと単語Wの関連スコアを、以下に示す式(9)によって算出する。
関連スコア=Q1×log(Q2) ・・・(9)
第4の実施形態における第2の算出方法で関連スコアを算出した場合、第1の実施形態で説明した第3の算出方法で関連スコアを算出した場合と同様の効果が得られる。
収集部52は、例えば、関連スコア算出プログラムに従って動作するコンピュータのCPUおよびそのコンピュータの通信インタフェースによって実現される。例えば、CPUが、コンピュータのプログラム記憶装置等のプログラム記録媒体から関連スコア算出プログラムを読み込み、関連スコア算出プログラムに従って、通信インタフェースを用いて、収集部52として動作すればよい。また、単語抽出部53およびスコア算出部54も、例えば、関連スコア算出プログラムに従って動作する上記のコンピュータのCPUによって実現される。すなわち、上記のように、関連スコア算出プログラムを読み込んだCPUが、関連スコア算出プログラムに従って、単語抽出部53およびスコア算出部54として動作すればよい。記憶部5は、上記のコンピュータの記憶装置によって実現される。また、収集部52、単語抽出部53およびスコア算出部54がそれぞれ別々のハードウェアによって実現されてもよい。
第4の実施形態は、第1の実施形態の変形例(図5参照)、第2の実施形態(図7参照)、および第3の実施形態(図14参照)に適用されてもよい。すなわち、第1の実施形態の変形例(図5参照)において、収集部2、単語抽出部3およびスコア算出部4を、第4の実施形態で説明した収集部52、単語抽出部53およびスコア算出部54に置き換えてもよい。また、第2の実施形態(図7参照)において、収集部2、単語抽出部3およびスコア算出部4を、第4の実施形態で説明した収集部52、単語抽出部53およびスコア算出部54に置き換えてもよい。また、第3の実施形態(図14参照)において、収集部2、単語抽出部3およびスコア算出部4を、第4の実施形態で説明した収集部52、単語抽出部53およびスコア算出部54に置き換えてもよい。
図18は、本発明の各実施形態に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ1000は、CPU1001と、主記憶装置1002と、補助記憶装置1003と、インタフェース1004と、通信インタフェース1005とを備える。
本発明の各実施形態の関連スコア算出システム1は、コンピュータ1000に実装される。関連スコア算出システム1の動作は、関連スコア算出プログラムの形式で補助記憶装置1003に記憶されている。CPU1001は、その関連スコア算出プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、その関連スコア算出プログラムに従って上記の処理を実行する。
補助記憶装置1003は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD−ROM(Compact Disk Read Only Memory )、DVD−ROM(Digital Versatile Disk Read Only Memory )、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000がそのプログラムを主記憶装置1002に展開し、上記の処理を実行してもよい。
また、プログラムは、前述の処理の一部を実現するためのものであってもよい。さらに、プログラムは、補助記憶装置1003に既に記憶されている他のプログラムとの組み合わせで前述の処理を実現する差分プログラムであってもよい。
また、各構成要素の一部または全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
次に、本発明の概要について説明する。図19は、本発明の概要を示すブロック図である。本発明の関連スコア算出システムは、収集部82と、単語抽出部83と、関連スコア算出部84とを備える。
収集部82(例えば、収集部2)は、ユーザがファイルを操作した記録である操作ログを、端末装置から収集する。
単語抽出部83(例えば、単語抽出部3)は、各操作ログに記述されているファイル名から単語を抽出する。
関連スコア算出部84(例えば、スコア算出部4)は、各操作ログに基づいて、ユーザと単語との関連の強さを表す関連スコアを算出する。
そのような構成によって、組織内の人と単語との関連の強さを明確化することができる。
図20は、本発明の概要の他の例を示すブロック図である。本発明の関連スコア算出システムは、収集部86と、単語抽出部87と、関連スコア算出部88とを備える。
収集部86(例えば、収集部52)は、人と、イベント名と、そのイベント名を有するイベントにその人が関わった時間帯とを記述したスケジュール情報を収集する。
単語抽出部87(例えば、単語抽出部53)は、各スケジュール情報に記述されているイベント名から単語を抽出する。
関連スコア算出部88(例えば、スコア算出部54)は、各スケジュール情報に基づいて、人と単語との関連の強さを表す関連スコアを算出する。
そのような構成によっても、組織内の人と単語との関連の強さを明確化することができる。
上記の本発明の各実施形態は、以下の付記のようにも記載され得るが、以下に限定されるわけではない。
(付記1)
ユーザがファイルを操作した記録である操作ログを、端末装置から収集する収集部と、
各操作ログに記述されているファイル名から単語を抽出する単語抽出部と、
各操作ログに基づいて、ユーザと単語との関連の強さを表す関連スコアを算出する関連スコア算出部とを備える
ことを特徴とする関連スコア算出システム。
(付記2)
関連スコア算出部は、一のユーザと一の単語の関連スコアとして、前記一の単語をファイル名に含む各ファイルについての前記一のユーザの操作時間の総和を算出する
付記1に記載の関連スコア算出システム。
(付記3)
関連スコア算出部は、一のユーザと一の単語の関連スコアとして、前記一の単語をファイル名に含む各ファイルを前記一のユーザが操作した際のキータッチの回数の総和を算出する
付記1に記載の関連スコア算出システム。
(付記4)
関連スコア算出部は、
一のユーザと一の単語の関連スコアを、
前記一の単語をファイル名に含む各ファイルについての組織内の全ユーザの操作時間の総和に対する、前記一の単語をファイル名に含む各ファイルについての前記一のユーザの操作時間の総和の割合と、
単語をファイル名に含む各ファイルについての前記一のユーザの操作時間の総和を単語毎に求めた場合における前記総和の総和に対する、前記一の単語をファイル名に含む各ファイルについての前記一のユーザの操作時間の総和の割合と
に基づいて算出する
付記1に記載の関連スコア算出システム。
(付記5)
検索キーワードを受け付けるキーワード受付部と、
検索キーワードに応じて検索を実行する検索部とを備え、
前記キーワード受付部は、
検索キーワードとして単語を受け付け、
前記検索部は、
関連スコアに基づいて、前記単語に応じたユーザIDを検索する
付記1から付記4のうちのいずれかに記載の関連スコア算出システム。
(付記6)
検索キーワードを受け付けるキーワード受付部と、
検索キーワードに応じて検索を実行する検索部とを備え、
前記キーワード受付部は、
検索キーワードとしてユーザIDを受け付け、
前記検索部は、
関連スコアに基づいて、前記ユーザIDに応じた単語を検索する
付記1から付記5のうちのいずれかに記載の関連スコア算出システム。
(付記7)
ユーザIDと、単語と、関連スコアとの関係を記述した第1のテーブルを生成する第1のテーブル生成部と、
第1のテーブルに基づいて算出した単語同士の関連の強さを表す関連度を記述した第2のテーブル生成する第2のテーブル生成部と、
検索キーワードを受け付けるキーワード受付部と、
検索キーワードに応じて検索を実行する検索部とを備え、
前記キーワード受付部は、
検索キーワードとして単語を受け付け、
前記検索部は、
前記第1のテーブルおよび前記第2のテーブルに基づいて、前記単語に応じたユーザIDを検索する
付記1から付記4のうちのいずれかに記載の関連スコア算出システム。
(付記8)
ユーザIDと、単語と、関連スコアとの関係を記述した第1のテーブルを生成する第1のテーブル生成部と、
第1のテーブルに基づいて算出した単語同士の関連の強さを表す関連度を記述した第2のテーブル生成する第2のテーブル生成部と、
検索キーワードを受け付けるキーワード受付部と、
検索キーワードに応じて検索を実行する検索部とを備え、
前記キーワード受付部は、
検索キーワードとしてユーザIDを受け付け、
前記検索部は、
前記第1のテーブルおよび前記第2のテーブルに基づいて、前記ユーザIDに応じた単語を検索する
付記1から付記4および付記7のうちのいずれかに記載の関連スコア算出システム。
(付記9)
第2のテーブルに基づいて、単語をクラスタリングするクラスタリング部と、
クラスタ毎に単語を提示する単語提示部と、
提示された単語のうち、第1のテーブルおよび第2のテーブルから除外すべき単語の指定を受け付ける削除対象受付部とを備え、
第1のテーブル生成部は、
除外すべき単語として指定された単語を除外して、第1のテーブルを再度、生成し、
第2のテーブル生成部は、
前記第1のテーブルに基づいて、第2のテーブルを再度、生成する
付記7または付記8に記載の関連スコア算出システム。
(付記10)
人と、イベント名と、前記イベント名を有するイベントに前記人が関わった時間帯とを記述したスケジュール情報を収集する収集部と、
各スケジュール情報に記述されているイベント名から単語を抽出する単語抽出部と、
各スケジュール情報に基づいて、人と単語との関連の強さを表す関連スコアを算出する関連スコア算出部とを備える
ことを特徴とする関連スコア算出システム。
(付記11)
ユーザがファイルを操作した記録である操作ログを、端末装置から収集し、
各操作ログに記述されているファイル名から単語を抽出し、
各操作ログに基づいて、ユーザと単語との関連の強さを表す関連スコアを算出する
ことを特徴とする関連スコア算出方法。
(付記12)
人と、イベント名と、前記イベント名を有するイベントに前記人が関わった時間帯とを記述したスケジュール情報を収集し、
各スケジュール情報に記述されているイベント名から単語を抽出し、
各スケジュール情報に基づいて、人と単語との関連の強さを表す関連スコアを算出する ことを特徴とする関連スコア算出方法。
(付記13)
コンピュータに、
ユーザがファイルを操作した記録である操作ログを、端末装置から収集する収集処理、
各操作ログに記述されているファイル名から単語を抽出する単語抽出処理、および、
各操作ログに基づいて、ユーザと単語との関連の強さを表す関連スコアを算出する関連スコア算出処理
を実行させるための関連スコア算出プログラム。
(付記14)
コンピュータに、
人と、イベント名と、前記イベント名を有するイベントに前記人が関わった時間帯とを記述したスケジュール情報を収集する収集処理、
各スケジュール情報に記述されているイベント名から単語を抽出する単語抽出処理、および、
各スケジュール情報に基づいて、人と単語との関連の強さを表す関連スコアを算出する関連スコア算出処理
を実行させるための関連スコア算出プログラム。