(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0006】
非特許文献1では,単語レベルで重要情報を抽出し,表として整理することができるが,抽出できるのは単語レベルであるので,情報量が少ない。そのため,利用者は,重要情報につながる単語を認識することはできるが,重要情報の内容を直ちに理解できるとまではいえない。たとえば上述の
図23では,鳥取県の気候について,重要情報につながる単語として「日本海側気候」,「瀬戸内海側気候」があることは認識できる。しかし,それらが鳥取県には2つの気候があるのか,どのような関係性があるのか,といった重要情報の内容まで理解をすることができない。つまり,利用者は,キーワードとなり得るような単語を認識する程度にとどまっており,重要情報の内容を認識することはできない。
【課題を解決するための手段】
【0007】
本発明者は上記課題に鑑み,重要情報を文レベルで抽出し,表形式で整理可能とすることができる情報解析システムを発明した。
【0008】
第1の発明は,文書等情報に対する情報解析システムであって,前記情報解析システムは,入力を受け付けた文書等情報の一部または全部の文について文ベクトルを算出する文ベクトル算出処理部と,前記文ベクトルを用いてクラスタリング
処理をするクラスタリング処理部と,
前記クラスタリング処理をしたクラスタに対して網羅度を算出する網羅度算出処理部と,前記算出した網羅度を用いて算出した重要度に基づいて,前記クラスタをソートするクラスタソート処理部と,前記クラスタをソートした結果,上位所定数のクラスタを表形式で出力をする表形式処理部と,を有する情報解析システムである。
【0009】
本発明のように,文書等情報における文について文ベクトルを算出し,その文ベクトルを用いたクラスタリングによって得られるクラスタを表形式で出力することで,重要情報を文レベルで抽出して表形式で整理することが可能となる。従来の単語レベルとは異なり,文レベルで表形式で整理されるので,重要情報の内容を理解することも容易となる。
網羅度は対象の単語が,文書等情報におけるページなどで出現する度合いを示しているので,網羅度が高ければそれだけ重要性が高いと考えられる。そこで,本発明のように,網羅度を加味して重要度を算出するとよい。
本発明のように構成することで,クラスタを重要度や出現位置に基づいてソートできる。これによって,上位所定数のクラスタを表形式で出力をすることができるので,重要情報のうち,特にその度合いが高いものを表形式として整理することができる。
【0010】
第2の発明は,文書等情報に対する情報解析システムであって,前記情報解析システムは,入力を受け付けた文書等情報の一部または全部の文における文節について文節ベクトルを算出する文節ベクトル算出処理部と,前記文節ベクトルを用いてクラスタリング
処理をするクラスタリング処理部と,
前記クラスタリング処理をしたクラスタに対して網羅度を算出する網羅度算出処理部と,前記算出した網羅度を用いて算出した重要度に基づいて,前記クラスタをソートするクラスタソート処理部と,前記クラスタをソートした結果,上位所定数のクラスタを表形式で出力をする表形式処理部と,を有する情報解析システムである。
【0011】
本発明を用いることで,文書等情報における文における文節について文節ベクトルを算出し,その文節ベクトルを用いたクラスタリングによって得られるクラスタを表形式で出力することで,重要情報を文節レベルで抽出して表形式で整理することが可能となる。従来の単語レベルとは異なり,文節レベルで表形式で整理されるので,重要情報の内容を理解することも容易となる。
網羅度は対象の単語が,文書等情報におけるページなどで出現する度合いを示しているので,網羅度が高ければそれだけ重要性が高いと考えられる。そこで,本発明のように,網羅度を加味して重要度を算出するとよい。
本発明のように構成することで,クラスタを重要度や出現位置に基づいてソートできる。これによって,上位所定数のクラスタを表形式で出力をすることができるので,重要情報のうち,特にその度合いが高いものを表形式として整理することができる。
【0012】
上述の発明において,前記情報解析システムは,さらに,各クラスタについて,そのクラスタに含まれる単語のうち,網羅度が最大のものをクラスタの項目名として特定する項目名特定処理部,を有する情報解析システムのように構成することができる。
【0013】
クラスタの項目名は,本発明のように網羅度を用いて特定することで,より適切にクラスタの項目名を特定することができる。
【0014】
第4の発明は,文書等情報に対する情報解析システムであって,前記情報解析システムは,入力を受け付けた文書等情報の一部または全部の文について文ベクトルを算出する文ベクトル算出処理部と,前記文ベクトルを用いてクラスタリング
処理をするクラスタリング処理部と,
前記クラスタリング処理をしたクラスタについて,含まれる文の平均文ベクトルを算出し,前記平均文ベクトルとの類似度が最大となる単語ベクトルを有する単語を,クラスタの項目名として特定する項目名特定処理部と,前記クラスタリング処理の結果,一部または全部のクラスタを表形式で出力
し,前記特定したクラスタの項目名を表の項目名とする表形式処理部と,を有する情報解析システムである。
【0015】
本発明のように,文書等情報における文について文ベクトルを算出し,その文ベクトルを用いたクラスタリングによって得られるクラスタを表形式で出力することで,重要情報を文レベルで抽出して表形式で整理することが可能となる。従来の単語レベルとは異なり,文レベルで表形式で整理されるので,重要情報の内容を理解することも容易となる。
クラスタの項目名の特定方法にはさまざまな方法があるが,本発明の方法を用いることで,クラスタの項目名を適切に特定することができる。
【0016】
第5の発明は,文書等情報に対する情報解析システムであって,前記情報解析システムは,入力を受け付けた文書等情報の一部または全部の文における文節について文節ベクトルを算出する文節ベクトル算出処理部と,前記文節ベクトルを用いてクラスタリング
処理をするクラスタリング処理部と,
前記クラスタリング処理をしたクラスタについて,含まれる文の平均文節ベクトルを算出し,前記平均文節ベクトルとの類似度が最大となる単語ベクトルを有する単語を,クラスタの項目名として特定する項目名特定処理部と,前記クラスタリング処理の結果,一部または全部のクラスタを表形式で出力
し,前記特定したクラスタの項目名を表の項目名とする表形式処理部と,を有する情報解析システムである。
【0017】
本発明を用いることで,文書等情報における文における文節について文節ベクトルを算出し,その文節ベクトルを用いたクラスタリングによって得られるクラスタを表形式で出力することで,重要情報を文節レベルで抽出して表形式で整理することが可能となる。従来の単語レベルとは異なり,文節レベルで表形式で整理されるので,重要情報の内容を理解することも容易となる。
クラスタの項目名の特定方法にはさまざまな方法があるが,本発明の方法を用いることで,クラスタの項目名を適切に特定することができる。
【0018】
上述の発明において,前記情報解析システムは,さらに,所定条件を充足した場合に,複数のクラスタを統合するクラスタ統合処理部,を有しており,前記クラスタ統合処理部は,統合後の文の密集度が所定の閾値以上のクラスタがある限り,全てのクラスタにおいて,第1のクラスタと,第1のクラスタ以外の各クラスタについて,統合した場合の文の密集度を算出し,前記算出した文の密集度が最大のクラスタとなったクラスタを特定し,前記第1のクラスタと前記特定したクラスタとを統合する,情報解析システムのように構成することができる。
【0019】
同じ項目名のクラスタが複数に分散する場合がある。そこで本発明を用いることで,分散されたクラスタを統合することができるので,より適切な表を出力することができる。
【0020】
第1の発明の情報解析システムは,本発明のプログラムをコンピュータに読み込ませて実行することで,実現できる。すなわち,コンピュータを,入力を受け付けた文書等情報の一部または全部の文について文ベクトルを算出する文ベクトル算出処理部,前記文ベクトルを用いてクラスタリング
処理をするクラスタリング処理部,
前記クラスタリング処理をしたクラスタに対して網羅度を算出する網羅度算出処理部,前記算出した網羅度を用いて算出した重要度に基づいて,前記クラスタをソートするクラスタソート処理部,前記クラスタをソートした結果,上位所定数のクラスタを表形式で出力をする表形式処理部,として機能させる情報解析プログラムである。
【0021】
第2の発明の情報解析システムは,本発明のプログラムをコンピュータに読み込ませて実行することで,実現できる。すなわち,コンピュータを,入力を受け付けた文書等情報の一部または全部の文における文節について文節ベクトルを算出する文節ベクトル算出処理部,前記文節ベクトルを用いてクラスタリング
処理をするクラスタリング処理部,
前記クラスタリング処理をしたクラスタに対して網羅度を算出する網羅度算出処理部,前記算出した網羅度を用いて算出した重要度に基づいて,前記クラスタをソートするクラスタソート処理部,前記クラスタをソートした結果,上位所定数のクラスタを表形式で出力をする表形式処理部,として機能させる情報解析プログラムである。
【0022】
第4の発明の情報解析システムは,本発明のプログラムをコンピュータに読み込ませて実行することで,実現できる。すなわち,コンピュータを,入力を受け付けた文書等情報の一部または全部の文について文ベクトルを算出する文ベクトル算出処理部,前記文ベクトルを用いてクラスタリング
処理をするクラスタリング処理部,
前記クラスタリング処理をしたクラスタについて,含まれる文の平均文ベクトルを算出し,前記平均文ベクトルとの類似度が最大となる単語ベクトルを有する単語を,クラスタの項目名として特定する項目名特定処理部,前記クラスタリング処理の結果,一部または全部のクラスタを表形式で出力
し,前記特定したクラスタの項目名を表の項目名とする表形式処理部,として機能させる情報解析プログラムである。
【0023】
第5の発明の情報解析システムは,本発明のプログラムをコンピュータに読み込ませて実行することで,実現できる。すなわち,コンピュータを,入力を受け付けた文書等情報の一部または全部の文における文節について文節ベクトルを算出する文節ベクトル算出処理部,前記文節ベクトルを用いてクラスタリング
処理をするクラスタリング処理部,
前記クラスタリング処理をしたクラスタについて,含まれる文の平均文節ベクトルを算出し,前記平均文節ベクトルとの類似度が最大となる単語ベクトルを有する単語を,クラスタの項目名として特定する項目名特定処理部,前記クラスタリング処理の結果,一部または全部のクラスタを表形式で出力
し,前記特定したクラスタの項目名を表の項目名とする表形式処理部,として機能させる情報解析プログラムである。
【発明の効果】
【0038】
本発明の情報解析システムによって,重要情報を文レベルで抽出し,表形式で整理可能とすることができる。そのため,従来の単語レベルでの重要情報の抽出よりも,より正確に重要情報を利用者は認識することができる。とくに,利用者が知りたい情報についてキーワードなどをあらかじめ知らない場合でも,その意味を容易に認識可能な重要情報として収集することができる。
【発明を実施するための形態】
【0040】
本発明の情報解析システム1の全体のシステム構成の一例を
図1に,情報解析システム1で用いるコンピュータのハードウェア構成の一例を
図2に示す。
【0041】
情報解析システム1は,コンピュータによって実現される。コンピュータは,プログラムの演算処理を実行するCPUなどの演算装置70と,情報を記憶するRAMやハードディスクなどの記憶装置71と,ディスプレイなどの表示装置72と,情報の入力を行う入力装置73と,演算装置70の処理結果や記憶装置71に記憶する情報を通信する通信装置74とを有している。なお,コンピュータがタッチパネルディスプレイを備えている場合には表示装置72と入力装置73とが一体的に構成されていてもよい。タッチパネルディスプレイは,たとえばタブレット型コンピュータやスマートフォンなどの可搬型通信端末などで利用されることが多いが,それに限定するものではない。
【0042】
タッチパネルディスプレイは,そのディスプレイ上で,直接,所定の入力デバイス(タッチパネル用のペンなど)や指などによって入力を行える点で,表示装置72と入力装置73の機能が一体化した装置である。
【0043】
情報解析システム1は一台のコンピュータによって実現されていてもよいが,その一部または全部の機能が複数のコンピュータによって実現されていてもよい。この場合のコンピュータとして,たとえばクラウドサーバであってもよい。
【0044】
本発明の情報解析システム1における各手段は,その機能が論理的に区別されているのみであって,物理上あるいは事実上は同一の領域を為していても良い。
【0045】
情報解析システム1は,事前処理部10と情報入力受付処理部11と文ベクトル算出処理部12とクラスタリング処理部13と密集度算出処理部14と網羅度算出処理部15とクラスタソート処理部16と項目名特定処理部17と表形式処理部18とを有する。
【0046】
なお,本発明の情報解析システム1では,ウェブページや,電子化された文書などの文章が記述された情報(以下,「文書等情報」という)を処理対象としている。
【0047】
事前処理部10は,情報解析システム1において処理対象とする文書等情報から重要情報を抽出し,表形式化する処理を実行するにあたっての事前処理を実行する。事前処理としては,基準とする学習用の文書等情報を読み込ませ,そこに記述される単語を所定次元,たとえば300次元でベクトル化する処理を実行する。学習用の文書等情報としては,たとえばWikipediaの日本語の全ウェブページが一例としてあげられるが,それに限定されるものではなく,たとえば電子化された辞書情報のウェブページなどであってもよいし,所定のドキュメントサーバ(文書サーバ)に保存された各種の文書等情報であってもよい。また,単語をベクトル化するには,たとえばfasttextと呼ばれるアプリケーションソフトウェアを用いることができるが,それに限定するものではなく,ほかのアプリケーションソフトウェアを用いることもできる。fasttextを用いる場合,fasttextに文書等情報を入力させることで,単語をベクトル化することができる。
【0048】
情報入力受付処理部11は,情報解析システム1において処理対象とする文書等情報の入力を受け付ける。たとえばWikipediaのある特定の事柄に関するウェブページを処理対象とする場合,その事柄に関するWikipediaのウェブページの指定を受け付け,指定を受け付けたウェブページの情報の入力を受け付ける。
【0049】
文ベクトル算出処理部12は,情報入力受付処理部11で入力を受け付けた文書等情報における文の一部または全部の文について,それぞれ文に分割をし,分割をした各文について文ベクトルを算出する。文書等情報において文を分割するためには,文書等情報における句点を区切りとして各文を分割する方法が一例としてある。また,分割した各文について文ベクトルを算出するには,まず,各文において形態素解析を行い,文に出現する単語を品詞ごとに分解する。そして,分解した単語のうち,品詞が名詞(ただし数,接尾,非自立は除く。また,固有名詞は除いてもよいし,除かなくてもよい)である単語を特定し,特定した単語の単語ベクトルの平均を算出することで文ベクトルを算出する。なお単語ベクトルを算出するために特定する単語としては,品詞が名詞である単語に限られるものではなく,あらかじめ一または複数の品詞を設定し,その品詞の単語を特定すればよい。たとえば品詞として名詞のほか,動詞や形容詞などを設定することもできる。なお,以下の説明では,特段の断りがない限り,品詞が名詞である単語を特定する場合を示す。
【0050】
形態素解析には公知のアプリケーションソフトウェアを用いることができ,たとえば茶筌(ChaSen)があるが,それに限定されず,MeCabなどのアプリケーションソフトウェアを用いてもよいし,ほかのアプリケーションソフトウェアを用いてもよい。
【0051】
たとえば文書等情報において「鳥取県の県庁所在地は鳥取市」との文があった場合,たとえば茶筅(ChaSen)のようなアプリケーションソフトウェアを用いて,その文に対して形態素解析を行い,「鳥取」,「県」,「の」,「県庁」,「所在地」,「は」,「鳥取」,「市」のように分解をし,それぞれの単語の品詞を特定する。そして,たとえばfasttextのようなアプリケーションソフトウェアに処理対象となる文書等情報の一部または全部を入力することで,品詞が名詞の単語についての所定次元の単語ベクトルを生成する。ここでは,「鳥取」,「県」,「県庁」,「所在地」,「鳥取」,「市」についてそれぞれ単語ベクトルを生成する。そして,各単語ベクトルの平均を文ベクトルとして算出する。この処理を模式的に示すのが
図4である。平均としては単純平均が望ましいが,それに限定するものではない。また,文における単語ベクトルに対して平均以外の演算をしてもよいし,上述のように,名詞以外の品詞も単語ベクトルの生成対象としてもよい。すなわち,文ベクトル算出処理部12は,文を構成する一部または全部の単語の単語ベクトルに対して所定の演算を行うことで文ベクトルを算出すればよい。
【0052】
文ベクトルの算出に用いる演算としては,上述のように文における各単語ベクトルの平均のほか,文における単語ベクトルの総和,文における各単語ベクトルについて,tf-idf法で重み付けをした平均,Bi-gramモデルなどを用いることができ,またほかの演算を用いることもできる。
【0053】
クラスタリング処理部13は,文ベクトル算出処理部12で算出した各文ベクトルを所定のクラスタリング手法でクラスタリング処理をする。クラスタリング処理としては,たとえばx-means法,k-means法,階層クラスタリングなどさまざまな処理方法があり,どのような処理方法を用いてもよい。なおx-means法とは,k-means法においてクラスタ数を自動推定するように拡張したクラスタリング手法である。
【0054】
密集度算出処理部14は,クラスタリング処理部13でクラスタリング処理をした各クラスタの文の密集度d
kを算出する。クラスタリング処理部13でクラスタリング処理をした結果においては,たとえば
図5(a)に示すように,関連する文だけで構成される密集度の高いクラスタもあれば,
図5(b)に示すように,関連性のない文が混入した密集度の低いクラスタもある。そこで,k番目のクラスタの文の密集度d
kを数1で定める。ここでN
kはk番目のクラスタに含まれる文の総数であり,S
k,lはk番目のクラスタに含まれるl番目の文ベクトルであり,S
k,meanはk番目のクラスタに含まれる文のベクトルの平均である。数1では,クラスタに含まれる各文の文ベクトルの平均を算出し,この平均文ベクトルと,各文の文ベクトルとのコサイン類似度の平均を算出する。
(数1)
【0055】
また,密集度算出処理部14は,数1により算出した各クラスタの文の密集度d
kを,最小値が0,最大値が1になるように,数2を用いて正規化する。ここでnd
kはk番目のクラスタの正規化された文の密集度であり,Kはクラスタの総数である。
(数2)
【0056】
網羅度算出処理部15は,クラスタリング処理部13でクラスタリング処理をした各クラスタに対して,網羅度c
kを算出する。網羅度c
kは,対象の単語が文書等情報におけるページなどで出現する度合いを示している。たとえば,処理対象となる文書等情報のうちクラスタにおいて文を抽出できた文書等情報の数を,処理対象となる文書等情報の総数で除算して得た値として,数3により算出する。ここでp
kはk番目のクラスタにおいて文を抽出できた所定単位の数(たとえばページの数)であり,Pは所定単位の総数(たとえばページの総数)である。たとえば,あるクラスタにおける「山脈」という単語が,文書等情報の全47ページのうち4ページに含まれている場合,「山脈」という単語のページ網羅度は,4/47で示される。
(数3)
【0057】
また,網羅度算出処理部15は,数3により算出した各クラスタの所定単位(たとえばページ)ごとの網羅度c
kを,最小値が0,最大値が1になるように,数4を用いて正規化する。ここでnc
kは,k番目のクラスタの正規化された所定単位における網羅度である。
(数4)
【0058】
クラスタソート処理部16は,各クラスタを所定の基準にしたがってソートをする。たとえば重要度i
kを数5に定めるように算出し,重要度i
kの大きい順にソートをする。
(数5)
【0059】
なお,数5では正規化した密集度nd
kと,正規化した網羅度nc
kとを用いて重要度i
kを算出しているが,密集度d
kと網羅度c
kとを用いて重要度i
kを算出すれば,ほかの算出方法であってもよい。
【0060】
クラスタソート処理部16は,重要度i
kにしたがってソートをするほか,数6により算出される出現位置でソートをしてもよい。この場合,各クラスタに含まれる文の各文書等情報での出現位置の平均値が小さい順にソートをする。なお,出現位置を用いる場合,文ベクトルの算出処理を行うために用いる単語ベクトルの所定次元数にさらに出現位置を付加してもよい。たとえば単語ベクトルが300次元であると,そこに出現位置の情報を1次元付加し,301次元として取り扱うこともできる。
(数6)
【0061】
項目名特定処理部17は,クラスタの項目名を特定する。クラスタの項目名の特定は,たとえば数7の演算をすることで特定できる。ここでW
wordは単語wordのベクトルであり,各クラスタについて,含まれる文の平均文ベクトルを算出し,この平均文ベクトルとのコサイン類似度がもっとも大きくなる単語ベクトルを有する単語を,クラスタの項目名として特定する。
(数7)
【0062】
項目名特定処理部17における項目名の特定処理として,以下のような処理を実行してもよい。すなわち,クラスタリング処理部13におけるクラスタリング処理の結果,クラスタに属する一部(一以上であり複数を含む)またはすべての行において,出現頻度が高い表現をそのクラスタの項目名として特定をしてもよい。単語ベクトルの算出処理と同様に,特定する表現における単語の品詞は,名詞や動詞,形容詞など一または複数の品詞を設定でき,用言であってもよい。用言で特定する場合には,文節を単位として特定することが好ましい。なお,クラスタの項目名を出現頻度が高い表現で特定する場合,クラスタソート処理部16を設けても設けなくてもよい。出現頻度を用いる場合,出現頻度が高い上位n個の単語を特定する,あるいは所定の閾値(スコア)以上の単語を特定することでよい。
【0063】
クラスタに属する一部またはすべての行において出現頻度が高い表現をそのクラスタの項目名として特定することで,その表現が項目名となり,利用者は,そのクラスタにおける重要情報の内容を想像することが可能な場合もある。そのため,出現頻度による項目名の特定も効果的である。
【0064】
表形式処理部18は,クラスタリングした情報を表形式として表示をする。たとえば表の行方向に処理対象とした文書等情報の入力情報を,表の列方向にクラスタを配置することで,クラスタリングした項目ごとの情報を表形式で表示する。そして表の行に対する項目名として,たとえば文書等情報を識別する情報(ファイル名やウェブページの名称,所定のタイトルなど)を,表の列に対する項目名として項目名特定処理部で特定した項目名を付する。
【0065】
表形式処理部18は,クラスタリングした情報を表形式として表示する際に,クラスタソート処理部16でソートをしたクラスタに基づいて表示をするとよい。一般的に,クラスタの数は多い。すべてのクラスタを表示させてもよいが,その場合には,情報量が過多となり,かえって利用者の理解度を下げることにもつながる。そのため,クラスタソート処理部16でソートしたクラスタのうち,所定の閾値以上(上位所定数)のクラスタを表示することが好ましい。これによって,クラスタリングした項目ごとの情報をソートして表示することができる。
【0066】
文書等情報として,後述するコールセンターにおけるオペレータと顧客との間の会話の音声データをテキスト化したテキストデータ(会話例1乃至会話例12)を入力した場合に,表形式処理部18が出力する表の一例を
図14に示す。なお,
図14では,項目名特定処理部17は,クラスタの項目名として,出現頻度が最上位の表現(用言を含む)を特定し,出現頻度が最上位の表現が複数ある場合には,それらのすべてを特定した場合を示している。
【0067】
図14のクラスタの項目名としては,出現頻度に基づくものであるので,必ずしもクラスタの項目名として適切なものではない可能性がある。そこで表形式処理部18では,利用者によるクラスタの項目名の変更入力を受け付けてもよい。
図14におけるクラスタの項目名の変更入力を受け付けた場合の表の一例が
図15である。
【0068】
また表形式処理部18は,上述のように,クラスタリングした項目ごとに,行方向(横方向)に順に情報をソートするほか,列方向(縦方向)に表示する項目(文書等情報の項目)をソートしてもよい。これによって,列方向(縦方向)にある程度類型化をすることができる。表形式処理部18が,列方向(縦方向)に表示される項目をソートするためには,表が埋まっているところを「1」,空欄(NULL)を「0」とし,所定の閾値以上のクラスタのうち,左の列がなるべく埋まっているもの(「1」であるもの)から順に,上から下にソートをすることで実現できる。
図15の表について,表が埋まっているところを「1」,空欄(NULL)を「0」とした表が
図16であり,それをソートした表が
図17である。さらに,
図17の表に基づいて,
図15の表にかかる情報を対応づけて表示したのが
図18である。
【0069】
表形式処理部18が,列方向(縦方向)に表示される項目をソートするための別の方法としては,上述と同様に,所定の閾値以上のクラスタのうち,表が埋まっているところを「1」,空欄を「0」として,双対尺度法(コレスポンデンス分析)を実行して得られる尺度により,上下方向をソートすることでも実現できる。
【0070】
たとえば
図16に示すように,表が埋まっているところを「1」,空欄を「0」とした表(行列)を,コレスポンド関数(correspond関数)に引数として入力した場合,
図19に示す出力結果が得られる。そしてこの出力結果(
図19)におけるRow scores:の[,1]の値の小さい値から順に,上から下に各会話例の情報を表示すれば,たとえば
図18に示すような出力結果を得られる。
【0071】
さらに,列方向(縦方向)に文書等情報が類型化されていても,どのように類型化されているのかがわかりにくい場合がある。たとえば
図18の場合には,列方向(縦方向)に類型化された文書等情報の項目名(表の行方向に対する項目名)としては「会話例10」,「会話例11」といったように,個々の文書等情報のファイル名などが示されるためである。そこで,表形式処理部18は,
図20に示すように,「クレーム対応」,「製品故障に修理で対応」,「製品故障の対応法を教える」,「新規購入」などのように,表の行方向に対する項目名を類型化した情報の入力を受け付けても良い。これによって,たとえば
図18のように,文書等情報がオペレータと顧客との間の会話の音声データをテキスト化したテキストデータの場合,オペレータと顧客との間の会話を整理することもでき,どのように類型化されているかを把握することができる。さらに横方向にクラスタを出現順にソートされていることで,どのような順序で応対しているのかを概観することができる。
【0072】
加えて,上述した「クレーム対応」,「製品故障に修理で対応」,「製品故障の対応法を教える」,「新規購入」などの,表の行方向に対する項目名を類型化した情報を利用者が入力をするのではなく,自動的に生成してもよい。この場合,クラスタソート処理部16においてソートをせずに,クラスタリング処理部13において,上述のようにk−means法,階層クラスタリングなどの各種のクラスタリング手法によりクラスタリング処理を実行する。また表形式処理部18は,クラスタリングで得られたクラスタに属する一部またはすべての行におけるすべての列での出現頻度の高い単語を,表の行方向に対する項目名を類型化した情報として特定する。ここで出現頻度を用いる場合でも,出現頻度が高い上位n個の単語を特定する,あるいは所定の閾値(スコア)以上の単語を特定することでよい。このような処理の結果,「こんにちは 購入したい 住所 おうかがいしたい 失礼します」,「こんにちは 製品 動かない 症状 聞く 詳しい 情報 すると よいです 失礼します」,「こんちは 製品 動かない 症状 聞く 詳しい 情報 修理します 失礼します」,「こんにちは 申し訳ございません 失礼します」のように,表の行方向に対する項目名を類型化した情報を自動的に特定することができる。これを模式的に示すのが
図21である。なお,
図21では出現頻度がもっとも高い単語を,表の行方向に対する項目名を類型化した情報として特定した場合を示している。また,自動的に特定をした場合,「こんにちは」,「失礼します」のように,定型的な単語で出現頻度が高い単語が特定される場合がある。そのような場合,表の行方向に対する項目名を類型化した情報として,表示をしない(用いない)単語(たとえば挨拶に関する単語や,お礼や謝罪を示す単語などがあるが,それらに限定されず,任意に設定可能である)をあらかじめ登録しておき,それら登録された単語は,類型化した情報として表示しないようにしてもよい。
図21の表において,あらかじめ登録した単語として「こんにちは」,「失礼します」を表示しない場合を
図22に示す。
【0073】
また,表の行方向に対する項目名を類型化した情報として特定した単語のうち,複数の異なる表の行方向に対する項目名を類型化した情報で所定数以上,同一の単語が含まれる場合に,その単語を表示しないようにしてもよい。類型化した情報は識別性が重要であるが,同一の単語が含まれているとその識別性が低下する可能性があるからである。
【0074】
さらに,自動的に特定をした後,上述のように,その情報を参照した利用者により,
図20のように,表の行方向に対する項目名を類型化した情報の変更入力を受け付けてもよく,その場合にはよりわかりやすい類型化した情報とすることができる。
【0075】
表形式処理部18において上述の処理を実行することで,類似する文を表の列方向に類型化することができる。また機械学習をさらに利用すれば,性能高く類似する文を表の列方向に類型化することができる。なお表の行方向には,出現順序を利用して表示することで,重要情報がどのような順序で出現したか,時系列を把握することもできる。
【0076】
このように,本発明の情報解析システム1に文書等情報として文を入力し,文に分割した上で類似の内容を重要情報として把握することができ,また重要情報の類型化ができる。また,列方向に整理した上で,行方向にソートすることで,類似の内容として把握した重要情報を,出現順(時間順)に整理することができる。このように,本発明を用いることによって,文書等情報が上述のように,たとえば,コールセンターにおけるオペレータと顧客との間の会話の音声データをテキスト化したテキストデータであった場合には,どのような種類の会話があり,どのような順序で電話応対をしているかの概略を把握することもできる。
【0077】
なお,表形式における行方向,列方向の表示は,それぞれ逆に表示をしても良い。また,行方向,列方向の各ソートの手法は,異なる方法を用いることもできる。
【0078】
以上のように,本発明の情報解析システム1で文のクラスタリングを実行し,自動的に項目を特定することで,利用者があらかじめキーワードとして認識していた情報以外の情報も,その意味を容易に認識可能な重要情報として的確に収集することができる。クラスタリングによって得られた情報(上述の各図では列方向の情報)をみた利用者は,そのような項目も情報収集に役立つと気づくことができ,自らが意識していなかった新たな気づきにつながることとなる。本発明を用いることによって,文で表現される文書等情報を入力することで,このような新たな気づきが可能となる。
【実施例1】
【0079】
つぎに本発明の情報解析システム1の処理の一例を
図3のフローチャートを用いて説明する。なお以下の説明においては,文書等情報として47都道府県のWikipediaのページを用いる場合を説明するが,文書等情報としては,ウェブページのほか,各種の電子化した文書情報などを用いることもでき,文が記載された電子化された情報であれば文書等情報の種類に限定はない。またファイル形式もテキストファイル形式であることが好ましいが,それに限定するものではない。
【0080】
まず利用者は,処理対象とする文書等情報である47都道府県のWikipediaのページを情報解析システム1に読み込ませる前の事前処理として,基準とする学習用の文書等情報としたWikipediaの日本語の全ページを読み込ませる事前処理を実行する(S100)。すなわち,事前処理部10は,Wikipediaの日本語の全ページを読み込み,そこに記述される単語を,たとえば300次元でベクトル化する処理を実行する。
【0081】
つぎに利用者は,処理対象とする文書等情報である47都道府県のWikipediaのページの入力を行い,入力された文書等情報を情報入力受付処理部11で受け付ける(S110)。そして,文ベクトル算出処理部12は,入力を受け付けた処理対象とする文書等情報の各ページにおいて,句点を区切りとして文に分割をする。文ベクトル算出処理部12は,分割した各文において形態素解析を行い,文に出現する単語を品詞ごとに分解し,各単語のうち,品詞が名詞である単語の単語ベクトルを算出する。そして文ごとに,その文における各単語の単語ベクトルの平均を算出することで,文ベクトルを算出する(S120)。
【0082】
クラスタリング処理部13は,文ベクトル算出処理部12で算出した各文ベクトルについて,たとえばx-means法などにより,クラスタリングをする(S130)。そして,クラスタリング処理部13でクラスタリング処理をした各クラスタの密集度を,密集度算出処理部14が数1により算出し(S140),また,網羅度算出処理部15が,クラスタリング処理部13でクラスタリング処理をした各クラスタに対して,ページの網羅度を数3により算出する(S150)。
【0083】
さらに密集度算出処理部14はS140で算出した密集度について数2により正規化をし(S160),網羅度算出処理部15はS150で算出した網羅度について数4により正規化をする(S170)。
【0084】
クラスタソート処理部16は,以上のようにして算出した正規化した密集度,正規化した網羅度を用いて,各クラスタの重要度を数5により算出し,各クラスタを重要度の大きい順にソートをする(S180)。
【0085】
また,項目名特定処理部17は,各クラスタの項目名を,数7により特定をする(S190)。
【0086】
そして表形式処理部18は,クラスタソート処理部16でソートをした結果,上位所定数のクラスタについて,順に表形式で表示をする(S200)。たとえば,行方向に各県を,列方向に各クラスタを配置し,クラスタリングした項目ごとの情報を対応する箇所に配置して表示させる。
図6に,47都道府県のWikipediaのページを用いた場合の処理結果の一例を示す。
【0087】
以上のような処理を実行することで,自動的に重要情報を抽出し,表形式として表示することが可能となる。なお,
図3に示すフローチャートにおける各処理の順番は固定ではなく,適宜,変更することができる。
【実施例2】
【0088】
つぎに実施例1の情報解析システム1の異なる実施態様として,項目名特定処理部17におけるクラスタの項目名の特定処理を,網羅度c
kにより行う場合を説明する。
【0089】
実施例1の項目名特定処理部17においては,たとえば
図6における「北部」のような,クラスタの項目名としてふさわしくないと解する余地があるものが含まれていた。これは,クラスタに含まれる多くの文において「北部」の単語が出現する場合に,クラスタの平均文ベクトルが,これらの単語ベクトルに近づくためである。
【0090】
そこで,本実施例における項目名特定処理部17は,各クラスタに含まれる品詞があらかじめ設定された単語のうち,文書等情報における所定単位(たとえばページ)の網羅度c
kが最大のものを,そのクラスタの項目名として特定をする。項目名の特定処理において,あらかじめ設定した品詞としては,名詞(ただし数,接尾,非自立は除く。また,固有名詞を除いてもよいし,除かなくてもよい)のほか,動詞,形容詞など一または複数の品詞を設定することができる。また,単語のみならず,用言(動詞,形容詞などによる文節)であってもよい。
【0091】
このように項目名特定処理部17においてクラスタの項目名を特定することで,たとえば
図6の項目名について,
図7に示すように,より適切に改善する(「北部」を排除している)ことができる。
【0092】
さらに,実施例2において,同じ項目名のクラスタが複数に分散されている場合がある(
図7参照)。そこで,実施例2において,実施例1の情報解析システム1に,さらに,クラスタを統合するクラスタ統合処理部19を備えていてもよい。この場合の情報解析システム1の全体のシステム構成の一例を
図8に示す。
【0093】
クラスタ統合処理部19は,あるクラスタとほかのクラスタとを比較し,所定条件を充足した場合には,それらのクラスタを一つに統合する。たとえば,あるクラスタと,そのクラスタ以外のすべてのクラスタについて,それぞれ統合した場合の文の密集度を算出する。そして,統合した場合の文の密集度が最大となるクラスタの対を特定し,それらを一つのクラスタとして統合する。この処理を,統合後の文の密集度が所定の閾値,たとえば0.9以上のクラスタの対がある限り,実行する。これを全てのクラスタに実行することで,クラスタ統合処理部19は,クラスタの統合処理を実行できる。
【0094】
実施例1と同様の処理対象に対して,クラスタ統合処理部19におけるクラスタ統合処理を実行した結果を,
図9に示す。
【実施例3】
【0095】
上述の各実施態様では,文が一文である場合を示したが,たとえば文節レベルで文ベクトルを算出し,以降の処理を実行しても良い。この処理は文ベクトル算出処理部12の代わりに文節ベクトル算出処理部20で実行する。この場合の情報解析システム1の全体のシステム構成の一例を
図10に示す。文節ベクトル算出処理部20は,句点で文を区切るのではなく,文書等情報における各文をさらに文節で区切り,文節単位での文節ベクトルを算出する。この場合の文節ベクトルは,区切られた文節において品詞が名詞(ただし数,接尾,非自立は除く。また,固有名詞を除いてもよいし,除かなくてもよい)の単語の単語ベクトルを算出し,その文節における各単語ベクトルの平均などを算出することで文節ベクトルを算出する。また,以後の処理においても,文レベルでの処理を文節レベルでの処理で読み替えて実行すれば良い。なお,文節レベルのほか,少なくとも二以上の単語を含むように構成された所定単位レベルでのベクトルを算出してもよい。この場合も,以後の処理において,文レベルでの処理を所定単位レベルでの処理に読み替えて実行すればよい。
【実施例4】
【0096】
つぎに本発明の実施例1乃至実施例3の情報解析システム1をコールセンターに用いた場合を説明する。
【0097】
なおコールセンターでは,オペレータと顧客との間の電話などでの会話による応対記録を音声データとして記録している。そしてその音声データをテキスト化したテキストデータを文書等情報として用いる場合を説明する。また,オペレータと顧客との間の一つの応対記録の音声データに基づくテキストデータを,一つの文書等情報とする。さらに,すべてまたは複数の応対記録の音声データに基づくテキストデータを事前処理部10に読み込ませることで,事前処理部10における事前処理(S100)は実行されているとする。
【0098】
オペレータと顧客との間の応対記録の各テキストデータを,処理対象の文書等情報として,情報解析システム1の情報入力受付処理部11で入力を受け付ける(S110)。そして文ベクトル算出処理部12は,入力を受け付けた各テキストデータにおいて,文に分割し,文ベクトルを算出する(S120)。また,クラスタリング処理部13は,文ベクトル算出処理部12で算出した各文ベクトルについて,たとえばx-means法などにより,クラスタリングをする(S130)。そして,クラスタリング処理部13でクラスタリング処理をした各クラスタの密集度を,密集度算出処理部14が数1により算出し(S140),また,網羅度算出処理部15が,クラスタリング処理部13でクラスタリング処理をした各クラスタに対して,ページの網羅度を数3により算出する(S150)。
【0099】
さらに密集度算出処理部14はS140で算出した密集度について数2により正規化をし(S160),網羅度算出処理部15はS150で算出した網羅度について数4により正規化をする(S170)。
【0100】
クラスタソート処理部16は,以上のようにして算出した正規化した密集度,正規化した網羅度を用いて,各クラスタの重要度を数5により算出し,各クラスタを重要度の大きい順にソートをする(S180)。
【0101】
また,項目名特定処理部17は,各クラスタの項目名を,数7により特定をする(S190)。
【0102】
そして表形式処理部18は,クラスタソート処理部16でソートをした結果,上位所定数のクラスタについて,順に表形式で表示をする(S200)。このようにして処理をした処理結果の一例を
図11に示す。
【0103】
従来は,オペレータと顧客との間の応対記録は,オペレータの手作業によって要約が作成されていた。しかし,本発明の情報解析システム1を用いることによって,オペレータと顧客との間の応対記録を自動的に要約することができる。その結果,オペレータの応対記録作成時間が不要となり,顧客対応に時間をかけることができ,また要約の作成品質を向上させることができる。
【0104】
なお,コールセンターに用いるほか,会議の議事録作成や,工事現場の現場代理人の作業者に対する指示(口述筆記)の作成など,さまざまな場面で用いることができる。
【実施例5】
【0105】
上述の各実施例を用いた応用例を説明する。たとえば実施例4に示すように,情報入力受付処理部11で入力を受け付けた文書等情報がオペレータと顧客との間の電話による応対記録をテキスト化したテキストデータであり,それによって,実施例1乃至実施例4の処理を実行することで,表形式処理部18が,
図11に示すような重要情報を表形式で出力したとする。この場合,入力文として各クラスタにおける情報,出力分類としてそのクラスタにおける項目名とすることができる。すなわち,
図12に示すように入力文と出力分類とすることができる。
【0106】
このように,表形式で出力した情報に基づく入力文と出力分類を用いて,公知の教師あり機械学習システムに入力文を学習させることで,出力分類を予測できるシステムを構築することができる。なお,入力は,文の一部,単語,複数の文,段落,あるいはより長いテキストであってもよい。
【0107】
機械学習システムが着目する情報である素性は,さまざまなものを用いることができる。たとえば入力文中の単語,文字列,構文情報,入力文の前後の文の中の単語,文字列,構文情報などを利用することができる。単語や構文情報は,上述のような形態素解析システムによって取得可能である。
【0108】
また,文ベクトルや,あらかじめ作成した単語分類を素性に用いることもできる。たとえば「テレビ」,「ビデオ」を製品という単語分類として,「テレビ」という単語が入力文に出現すれば,「製品」という単語分類を素性に利用できる。
【0109】
上述の機械学習システムとしては,たとえばdeep learning(深層学習),SVM,最大エントロピー法,決定木,決定リスト,シンプルベイズ法などさまざまな方法を用いることができ,これらに限定するものではない。
【0110】
また,表作成の支援が行えても良い。この場合,ある入力文が入力されたとき,その出力分類を推定したいとする。
【0111】
ある入力文aがあった場合に,機械学習システムで分類先を推定する際において,確信度を出力できるが,たとえば
図11における表の項目(b),(c)のいずれの項目も確信度が50%(同一)であり,どちらの項目を推定したらよいか特定できない場合がある。また,確信度について一定の閾値を設け,その閾値より高い確信度を有する分類先がない場合には,あるいはその閾値より高い確信度を有する分類先が複数ある場合には,どの項目を推定したらよいか特定できない場合がある。
【0112】
この場合,推定先の候補となっている項目をユーザに問い合わせるように構成してもよい。上述の例では,項目「(b)問い合わせ内容」と,項目「(c)回答内容」のいずれであるか,をユーザに問い合わせるように構成する。
【0113】
そして,ユーザからの回答の情報を利用して,入力文aに対する回答内容を,表の対応する項目に入力させる。たとえば,ある入力文a(発言a)に対して,項目「(b)問い合わせ内容」と,項目「(c)回答内容」のいずれであるかをユーザに問い合わせ,ユーザからの回答が情報が「(b)問い合わせ内容」であれば,入力文aは,項目「(b)問い合わせ内容」の出力分類として,表のその列に入力文aをいれる。
【0114】
このような処理を設けることで,表をより正確に作成することができる。
【0115】
コールセンターの場合を一例として説明する。そして,コールセンターにおけるオペレータと顧客との間の会話の音声データをテキスト化したテキストデータを文書等情報として,リアルタイムに情報解析システム1が作成した表が
図13であったとする。また現在の会話が会話例3であったとする。
【0116】
ここでは
図13における表において,項目「(b)製品型番」が空欄であるので,オペレータに対し,「製品型番を問い合わせてください」のような表示をその表示装置72に出力し,オペレータに顧客に対して製品型番を確認させることができる。また上記表示の代わりに,顧客に対して,「製品型番を教えてください」のようなメッセージを直接,機械音声などにより伝えても良い。このような処理を設けることで,表をより正確に作成することができる。
【0117】
また表の空欄がなくなった場合には,会話は終了に向かっていると考えられる。そこで,上記に加え,あらかじめ定められた発言,たとえば「当社製品に,なにか要望はありますでしょうか」のような表示をその表示装置72に出力し,オペレータに顧客に対してその確認を行わせても良いし,そのようなメッセージを直接,機械音声などにより伝えても良い。
【解決手段】文書等情報に対する情報解析システム1は、入力を受け付けた文書等情報の一部または全部の文について文ベクトルを算出する文ベクトル算出処理部12と、文ベクトルを用いてクラスタリングするクラスタリング処理部13と、クラスタリング処理の結果、一部または全部のクラスタを表形式で出力する表形式処理部18と、を有する。