(58)【調査した分野】(Int.Cl.,DB名)
前記少数派クラスタ抽出部によって出力された前記少数派クラスタに属する前記テキスト文書を除外した、前記テキスト文書を対象として、前記パターンを構成する前記ラベル間の相関分析による支持度が所定値よりも高いパターンについて、当該パターンを含む前記テキスト文書を多数派クラスタとして出力する多数派クラスタ抽出部、
をさらに具備することを特徴とする請求項1に記載の文書処理装置。
前記文書データ取得部が取得した前記テキスト文書の各々について、形態素解析を行い、連続する名詞を連結して連続名詞とするとともに、読みが同じ形態素および一部が同一の形態素をまとめて統一した表記とする前処理部をさらに備え、
前記係り受け抽出部は、前記前処理部から出力される前記テキスト文書を処理対象とする、
ことを特徴とする請求項1または2のいずれか一項に記載の文書処理装置。
前記係り受け抽出部によって抽出された前記係り受けについて、係り元と係り先がともに同じ係り受けを、出現数の多い順に上位の所定個数抽出し、抽出された上位の係り受けだけを処理対象として出力するノイズ除去部をさらに備え、
前記ラベル付与部以後の処理においては、前記ノイズ除去部によって処理対象として出力された係り受けのみを処理対象とする、
ことを特徴とする請求項1から3までのいずれか一項に記載の文書処理装置。
【発明を実施するための形態】
【0017】
次に、図面を参照しながら、本発明の実施形態について説明する。
[第1実施形態]
図1は、本実施形態による文書処理装置の概略機能構成を示すブロック図である。図示するように、文書処理装置1は、文書データ取得部11と、前処理部12と、係り受け抽出部14と、ノイズ除去部15と、ラベル付与部16と、パターン照応部17と、少数派クラスタ抽出部18と、多数派クラスタ抽出部19と、を含んで構成される。
【0018】
文書データ取得部11は、外部から文書データを取得する。文書データは、多数の文書からなる文書群である。ここで、文書とは、所定のまとまりのある1件のテキストデータである。文書の例は、SNS(ソーシャルネットワーキングサービス)における1件の投稿文である。具体例としては、ツイッター(投稿された短文を共有できるサービス)における1件の投稿(ツイート)や、LINE(主としてピアトゥピアに、あるいはグループ内で共有する形で、テキスト等をやりとりできるサービス)における投稿や、フェイスブック(特定の個人間ないしはグループ内で情報を共有できるサービス)における投稿記事などが、文書である。文書データ取得部11は、例えば、SNSのサーバー装置から大量の文書群をダウンロードしたり、SNSのサーバー装置から記録媒体等に書かれた大量の文書群を読み込んだりする。
つまり、文書データ取得部11は、複数のテキスト文書からなるデータを取得するものである。
【0019】
前処理部12は、文書データ取得部11が取得したテキスト文書の各々について、形態素解析を行い、連続する名詞を連結して連続名詞とする(さらにその連結名詞と別の名詞とを連結する場合を含む)とともに、読みが同じ形態素および一部が同一の形態素をまとめて統一した表記とする。
係り受け抽出部14は、取得したテキスト文書の各々に含まれる係り受け関係のうち、係り元が名詞であり、且つ係り先が用言類(形容詞と形容動詞と動詞とサ変接続名詞とのいずれか)である特定の係り受けを抽出する。
なお、本実施形態では、係り受け抽出部14は、前処理部12から出力される形態素に区切られたテキスト文書を処理対象とする。
【0020】
ノイズ除去部15は、係り受け抽出部14によって抽出された係り受けについて、係り元と係り先がともに同じ係り受けを、出現数の多い順に上位の所定個数抽出し、抽出された上位の係り受けだけを処理対象として出力する。
ラベル付与部16より以後の処理においては、ノイズ除去部15によって処理対象として出力された係り受けのみを処理対象とする。
【0021】
ラベル付与部16は、抽出された係り受けにラベルを付与する。このとき、ラベル付与部16は、係り先が同一である係り受けには同一のラベルを付与する。また、ラベル付与部16は、係り先が異なる係り受けには異なるラベルを付与する。つまり、ラベル付与部16は、以後の処理において、係り先によって係り受けを識別できるようにしている。
【0022】
パターン照応部17は、係り受けの各々について係り先に応じて付与されたラベルの組み合わせを、パターンとして、テキスト文書ごとにそのパターンを求める。
少数派クラスタ抽出部18は、パターン照応部17によって求められたパターンに基づき、(1)パターンが1種類のラベルのみを有する場合に当該パターンを有するテキスト文書と、(2)パターンが複数種類のラベルを有する場合であって、且つ、パターンに含まれるラベル間の相関分析による信頼度が所定値より高いパターンについて、当該パターンに対応するラベルが付与された係り受けと、同じ係り元を有するテキスト文書と、を少数派クラスタとして出力する。
なお、少数派クラスタ抽出部18が、ラベル間の相関分析による信頼度が高い順に所定件数のパターンを抽出することとしても、信頼度が所定値より高いパターンを抽出しているのと実質的に同じ処理である。
【0023】
多数派クラスタ抽出部19は、少数派クラスタ抽出部18によって出力された少数派クラスタに属するテキスト文書を除外した、テキスト文書を対象として、パターンを構成するラベル間の相関分析による支持度が所定値よりも高いパターンについて、当該パターンを含むテキスト文書を多数派クラスタとして出力する。
なお、多数派クラスタ抽出部19が、ラベル間の相関分析による支持度が高い順に所定件数のパターンを抽出することとしても、支持度が所定値より高いパターンを抽出しているのと実質的に同じ処理である。
【0024】
図2は、前処理部12による詳細な処理の手順を示すフローチャートである。前処理部12は、文書データ取得部11が取得した文書群に含まれる文書を対象として、処理を行う。なお、このフローチャートにおける処理では、形態素のリストを生成していく。この形態素のリストは、複数の形態素を記憶しておく記憶手段を用いて構成されるものであり、初期状態としては要素のない空リストである。ここに、前処理部12が順次、形態素を追加していくことにより、形態素リストができる。なお、この形態素リストは、要素である各形態素の漢字表記とカタカナ表記とひらがな表記とのセットを情報として有している。
以下、このフローチャートに沿って処理の手順を説明する。
【0025】
まずステップS11において、前処理部12は、文書群の中に、未処理の文書が残っているかどうかを判定する。未処理の文書がある場合(ステップS11:YES)には次のステップS12に進む。未処理の文書がない場合(ステップS11:NO)には、このフローチャート全体の処理を終了する。
【0026】
次にステップS12に進んだ場合、前処理部12は、文書群のデータから、未処理の文書データ1件を読み込む。
次にステップS13において、前処理部12は、読み込んだ1件の文書データについて形態素解析処理を行う。形態素解析処理自体は、既存の技術により行うことができる。形態素解析処理の結果として、1件の文書データから、形態素の列が得られる。また、この処理の結果、各形態素には品詞情報が付加されている。
【0027】
ステップS14からS20までの処理では、ステップS13で得られた形態素ごとに処理を繰り返す。
次にステップS14において、前処理部12は、形態素解析結果の中に、未処理の形態素が残っているかどうかを判定する。未処理の形態素がある場合(ステップS14:YES)には次のステップS15に進む。未処理の形態素がない場合(ステップS14:NO)には、次の文書の処理に移るために、ステップS11に戻る。
【0028】
次にステップS15に進んだ場合、前処理部12は、形態素解析結果から、未処理の形態素1個を読み込む。このとき、前処理部12は、その形態素の品詞に関する情報も取得する。
次にステップS16において、前処理部12は、ステップS15で形態素を読み込んだことによって、名詞が連続していたか否かを判定する。ここで、「名詞が連続」とは、最後に読み込んだ形態素の品詞が名詞であり、且つ、ひとつ前に読み込んだ形態素の品詞が名詞である場合をさす。名詞が連続した状態であった(ステップS17:YES)ならば、次のステップS17に進む。名詞の連続ではなかった(ステップS17:NO)ならば、ステップS18に飛ぶ。
【0029】
ステップS18に進んだ場合は、最新の2つの形態素において名詞が連続していた場合である。そのとき、ステップS18において、前処理部12は、最新の名詞とひとつ前の名詞とを連結させて、複合名詞とする。なお、ひとつ前の名詞が既に連結済みの複合名詞であった場合も同様であり、その場合、前処理部12は、さらに連結した長い複合名詞を生成する。つまり、前処理部12は、読み込んだ形態素が連続して名詞だった場合、それらの連続した名詞を一つの名詞にまとめる。
【0030】
次にステップS18において、前処理部12は、最新の形態素(ステップS17で連結した場合には、連結後の形態素)と、読みを共通とする形態素または一部が同一である形態素が、形態素リスト上に既に存在しているか否かを判定する。ここで、「読みを共通とする」とは、一例としては、「避難」という形態素と「避なん」という形態素との関係である。これら両者は、単なる表記の揺れである。またここで、「一部が同一である」とは、一例としては、「横浜急行」という形態素と「横浜急行電鉄」という形態素との関係である。このような場合、本実施形態が分析対象とする文書群においては、両者を同じものとみなしたほうが好都合なことも多い。
最新の形態素と、読みが同じ形態素または一部が同じ形態素が既に形態素リストに存在する場合(ステップS18:YES)、次のステップS19に進む。そのような形態素がまだ形態素リストに存在しない場合(ステップS18:NO)には、ステップS20に飛ぶ。
【0031】
次にステップS19に進んだ場合、前処理部12は、最新の形態素の表記を、既に形態素リストに存在していた表記に変更する。なお、形態素リストに既に保持されている形態素と、読み込んだ最新の形態素の一部の形態素(名詞連結する前の形態素のうちのいずれか)が同じで、読み込んだ最新の形態素の方が長い場合、形態素リストに含まれる要素を、より長い形態素で置き換える。
そしてステップS20において、前処理部12は、その最新の形態素を出力として保持するとともに、その形態素がまだ形態素リストにない新規の形態素であるならば、その形態素を形態素リストに追加する。
そして、ステップS20の処理が終了すると、次の形態素を処理するためにステップS14に戻る。
【0032】
上記の処理により、前処理部12は、形態素の表記ゆれを整える。これにより、後段の処理での文書分類の精度が高くなる。
また、上記の処理により、前処理部12は、同一概念あるいは類似愛念を有する形態素を、統一する。例えば、「携帯」、「電話」、「携帯電話」、「でんわ」といた形態素を、前処理部12は、すべて「携帯電話」として出力する。また例えば、「田園都市線」、「東急田園都市線」といった形態素を前処理部12は、「東急田園都市線」として出力する。
【0033】
入力された文書群のデータがt個の文書T(i){i|1,2,・・・,t}からなるとき、前処理部12は、出力される形態素と文書との関係がわかるように、形態素と文書T(i)とを関連付けて出力する。前処理部12から出力されるデータは、係り受け抽出部14に渡される。
【0034】
図3は、係り受け抽出部14による詳細な処理の手順を示すフローチャートである。係り受け抽出部14は、前処理部12から受け取ったデータに基づいて処理を行う。以下、このフローチャートに沿って処理の手順を説明する。
まずステップS31において、係り受け抽出部14は、受け取った文書群データの中に、未処理の文書があるか否かを判定する。未処理の文書がある場合(ステップS31:YES)には次のステップS32に進む。未処理の文書がない場合(ステップS31:NO)には、このフローチャート全体の処理を終了する。
【0035】
次にステップS32に進んだ場合、係り受け抽出部14は、未処理の文書を1件読み込む。
次にステップS33において、係り受け抽出部14は、ステップS32で読み込んだ文書について、係り受けを抽出する処理を行う。文書を入力して係り受けを抽出する処理自体は、既存の技術を用いて行うことができる。係り受け抽出部14が抽出する係り受けの例については、後で
図4を参照しながら説明する。このステップにおける処理の結果として、文内における文節間の係り受けの関係が得られる。係り受けの情報は、係り元の文節と係り先の文節のペアとして保持される。
【0036】
次にステップS34において、係り受け抽出部14は、文書内における係り受け関係のうちの特定の関係を抽出して保持する。その特定の関係とは、係り元が名詞の文節であって、係り先が形容詞、形容動詞、動詞、サ変(サ行変格活用)接続名詞のいずれかの文節であるような係り受けの関係である。文書T(i)から抽出された、上記の特定の関係を有する係り受けをM(i,j){j|1,2,・・・,m}で表わす。ここで、mは、文書T(i)に含まれる、上記の特定関係の係り受けの数である。なお、係り受けM(i,j)において、係り元をMb(i,j)と表わし、係り先をMo(i,j)と表す。特定係り受け関係M(i,j)は、Mb(i,j)と、Mo(i,j)と、対応する形態素の情報とで表される。
なお、係り受けは、文節間における関係であるが、各文節の主要な要素である形態素の品詞により、上記の判断を行うようにする。
ステップS34の処理が終了すると、係り受け抽出部14は、次の文書を処理するためにステップS31に戻る。
【0037】
係り受け抽出部14は、前処理部12から受け取ったデータと、係り受け抽出の処理によって生成した係り受け関係のデータ(M(i,j)のデータ)とを、ノイズ除去部15に渡す。
【0038】
図4は、係り受け抽出部14が抽出する係り受け関係の例を示す概略図である。図示する例では、係り受け抽出の対象とする文書は、「緊急地震速報のせいで店の携帯がすべて鳴って驚いた」というテキストである。同図は、[緊急地震速報の],[せいで],[店の],[携帯が],[すべて],[鳴って],[驚いた]という7個の文節をノードとして表わし、係り受け関係をノード間の矢印線として表している。矢印線の、矢頭が付いている方が係り先であり、付いていない方が係り元である。つまり、入力されたテキストを元に、係り受け抽出部14は、下記の6個の係り受け関係を抽出する。
(1)係り元:[緊急地震速報の],係り先:[せいで]
(2)係り元:[せいで],係り先:[鳴って]
(3)係り元:[店の],係り先:[携帯が]
(4)係り元:[携帯が],係り先:[鳴って]
(5)係り元:[すべて],係り先:[鳴って]
(6)係り元:[鳴って],係り先:[驚いた]
なお、抽出された上記の6個の係り受け関係のうち、係り元が名詞の文節であって係り先が用言の文節である、特定の係り受け関係は、(1)と(4)である。
【0039】
図5は、ノイズ除去部15による詳細な処理の手順を示すフローチャートである。以下、このフローチャートに沿って処理の手順を説明する。
まずステップS41において、ノイズ除去部15は、入力された文書群全体を対象として、同一の係り受けの出現数を数える。ここで、同一の係り受けとは、係り元と係り先が共に同じであるような係り受けである。
【0040】
次にステップS42において、ノイズ除去部15は、ステップS41において行ったカウント結果に基づいて、出現数が多い順に、係り受け関係を並べ替える。本ステップでの処理の結果として、係り受けが、出現回数の降順に整列される。なお、各々の係り受けM(i,j)は、元の文書T(i)が関連付けられている。つまり、同一である係り受けには、1個または複数の元の文書が関連付けられている。
【0041】
次にステップS43において、ノイズ除去部15は、ステップS42で整列された係り受けのうち、関連付けられている文書数が多いものから順に、文書数をカウントする。そして、そのカウント数(出現数の上位からの累積総数)が値(α×t)となるところまでの係り受けのみを抽出する。ここで、αは、適宜定められる係数であり、0<α≦1である。αの値は、ノイズをどの程度除去するかに応じて、適宜設定することができるようにする。なお、このときに抽出された係り受けの数をnとする。
一例を説明する。入力された文書群に含まれる文書数tが10万であり、αを0.5とするとき、α×t=5万である。よって、出現数の降順に整列させた係り受けM(i,j)のうちの上側の5万件の係り受けだけを、ノイズ除去部15は選択する。
【0042】
次にステップS44において、ノイズ除去部15は、上のステップS43において選択された係り受けのみを、出力する。
このようにノイズを取り除いて抽出された係り受けを、M´(i,j)と表す。そして、係り受けM´(i,j)の係り元および係り先を、それぞれ、M´b(i,j)およびM´o(i,j)と表す。
【0043】
ノイズ除去部15は、以上で説明した処理のように、統計的にノイズとみなせる係り受けを除去する。ノイズ除去部15は、係り受け抽出部14から受け取ったデータのうち、ノイズを除去したデータをラベル付与部16に渡す。つまり、ノイズ除去部15から出力される係り受けは、上のステップS44において選択されたものだけである。
【0044】
図6は、ラベル付与部16による詳細な処理の手順を示すフローチャートである。なお、ラベル付与部16が処理の対象とするデータは、ノイズ除去部15から受け取るデータである。つまり、統計的にノイズとみなされる係り受けは既に除去されている。以下、このフローチャートに沿って処理の手順を説明する。
【0045】
ステップS51において、ラベル付与部16は、対象としている係り受けのうち、係り先が同じである係り受け受けに対して同じラベルを付与する。なお、係り先が異なる場合にはラベルも異なる。つまり、ラベル付与部16は、M´(i,j)のうち、係り先M´o(i,j)の文字内容同士が同じものを検出し、それらM´o(i,j)が同じであるM´(i,j)に対しては同じラベルを付与する。なお、ラベルはL(k){k|1,2,・・・,l}で表される。ここで、l(エル)はラベルの種類の数である。即ち、lは、係り先の種類の数である。
【0046】
本ステップの処理が終了すると、ラベル付与部16は、このフローチャート全体の処理を終了する。
ラベル付与部16は、ノイズ除去部15から受け取ったデータと、そこに含まれる各々の係り受けに付与したラベルの情報とを出力する。ラベル付与部16は、出力するこのデータをパターン照応部17に渡す。
【0047】
図7は、パターン照応部17による詳細な処理の手順を示すフローチャートである。以下、このフローチャートに沿って処理の手順を説明する。
まずステップS61において、パターン照応部17は、各文書に含まれる係り受けに付いたラベルの組み合わせを抽出する。つまり、パターン照応部17は、文書ごとに、前段の処理部から渡されてきた係り受けについての、係り先の集合をパターンとして抽出する。文書ごとのこのパターンは、ラベルL(k)の列として表される。なお、ここで、ラベルの順序は問われない。
【0048】
次にステップS62において、パターン照応部17は、ステップS61で抽出したパターン(ラベルL(k)の組み合わせ)をリスト化する。このパターンを、P(x){x|1,2,・・・,p}と表す。なお、pは、パターンの種類数である。
一例として、P(1)=[L(k
11) L(k
12) L(k
13)]と表される。この例では、P(1)は3種類のラベルの組み合わせによるパターンであるが、あるパターンに含まれるラベルの数には制約はない。
【0049】
図8および
図9は、少数派クラスタ抽出部18による詳細な処理の手順を示すフローチャートである。少数派クラスタ抽出部18による処理は、2段階の処理手順からなり、そのそれぞれを
図8および
図9に示している。少数派クラスタ抽出部18は、パターン照応部17から渡されるデータを対象として以下の処理を行う。
【0050】
少数派クラスタ抽出部18は、まず、各パターンP(x){x|1,2,・・・,p}について、この
図8のフローチャートに示す手順を実行する。
ステップS71において、少数派クラスタ抽出部18は、そのパターンが1つのラベルからなるものであるか否かを判定する。そのパターンが1つのラベルのみで構成される場合(ステップS71:YES)には次のステップS72に進む。そのパターンが2つ以上のラベルの組み合わせとして構成されている場合(ステップS71:NO)には、このフローチャート全体の処理を終了する。なお、あるパターンが1つのラベルのみからなる場合とは、そのパターンに含まれる係り先が1種類しかない場合である。
【0051】
次にステップS72に進んだ場合、少数派クラスタ抽出部18は、その1つのラベルに対応するパターンを有する文書を、少数派クラスとして出力する。つまり、現在処理中のパターンP(x)に該当する文書T(i)を、クラスC(1)として出力する。ここで、クラスC(1)は少数派クラスである。
次にステップS73において、少数派クラスタ抽出部18は、ステップS72において出力クラスに振り分けられた文書を、処理対象の文書群データから削除する。
つまり、後続の
図9および
図10のフローチャートでの処理の対象となるのは、本ステップにおいて削除されなかった文書のみである。
【0052】
すべてのパターンP(x)について
図8に示した処理が終了すると、少数派クラスタ抽出部18は、上記のステップS73で削除されなかった文書およびそれらの文書のパターンを対象として、以下に述べる
図9の処理を行う。
まずステップS74において、少数派クラスタ抽出部18は、残っているすべてのパターンを対象として、それらのパターンにおけるラベルの共起確率を計算する。
【0053】
次にステップS75において、少数派クラスタ抽出部18は、ステップS74で計算されたラベルの共起確率に基づいて、相関分析による信頼度の高い上位A件のパターンのリストを作成する。なお、Aは、適宜設定される整数値である。
【0054】
ラベルL1を前提として、ラベルL1とL2との共起の信頼度は、次の式で表される。
信頼度=(ラベルL1とL2とが共起する確率)/(ラベルL1の出現確率)
あるパターンがラベルL1とL2とを含むとき、少数派クラスタ抽出部18は、次の2つの信頼度の値を計算する。
信頼度1=(ラベルL1とL2とが共起する確率)/(ラベルL1の出現確率)
信頼度2=(ラベルL2とL1とが共起する確率)/(ラベルL2の出現確率)
あるパターンが3つのラベルL1とL2とL3とを含むとき、少数派クラスタ抽出部18は、次の6つの信頼度の値を計算する。
信頼度1=(ラベルL1とL2とが共起する確率)/(ラベルL1の出現確率)
信頼度2=(ラベルL2とL3とが共起する確率)/(ラベルL2の出現確率)
信頼度3=(ラベルL3とL1とが共起する確率)/(ラベルL3の出現確率)
信頼度4=(ラベルL3とL2とが共起する確率)/(ラベルL3の出現確率)
信頼度5=(ラベルL2とL1とが共起する確率)/(ラベルL2の出現確率)
信頼度6=(ラベルL1とL3とが共起する確率)/(ラベルL1の出現確率)
パターンが4つ以上のラベルを含む場合も同様であり、パターンに含まれるあるラベルが、そのラベルと他の1つのラベルとの前提となる度合いが高いパターンを、少数派クラスタ抽出部18は、リストに含める。つまり、本ステップで少数派クラスタ抽出部18が作成するリストに含まれるパターンは、そのパターンに含まれるラベル間の共起の度合いが高いものである。本ステップで作成されたリスト(上位A件)に含まれるパターンを、P´(x)と表す。
【0055】
次のステップS76からS79までの処理では、ステップS75で作成したリストに含まれるパターンP´(x)が対象である。
ステップS76において、少数派クラスタ抽出部18は、リスト内に未処理のパターンがあるか否かを判定する。
リスト内に未処理のパターンが1つ以上ある場合(ステップS76:YES)には次のステップS77に進む。リスト内に未処理のパターンが残っていない場合(ステップS76:NO)には、このフローチャート全体の処理を終了する。
【0056】
ステップS77に進んだ場合、少数派クラスタ抽出部18は、リストから未処理のパターンを一つ読み込む。
次にステップS78において、少数派クラスタ抽出部18は、読み込んだパターンに対応するラベルがつけられた係り受けと、係り元が同じである文書を、少数派クラスとして出力する。
【0057】
この処理の一例として、リストに含まれるパターンの一つであるP´(100)が、3つのラベルL(k
100,1),L(k
100,2),L(k
100,3)に対応する場合を説明する。
この3つのラベルのいずれかがつけられている係り受けは、M´(i
100,1,j
100,1),M´(i
100,2,j
100,2),M´(i
100,3,j
100,3),M´(i
100,4,j
100,4),・・・である。
すると、これらの係り受けにおける係り元は、それぞれ、Mb´(i
100,1,j
100,1),Mb´(i
100,2,j
100,2),Mb´(i
100,3,j
100,3),Mb´(i
100,4,j
100,4),・・・である。
【0058】
少数派クラスタ抽出部18は、処理対象として残っている文書の中から、上記のMb´(i
100,1,j
100,1),Mb´(i
100,2,j
100,2),Mb´(i
100,3,j
100,3),Mb´(i
100,4,j
100,4),・・・を係り元とするような係り受けを含む文書を、少数派クラスC(1)として出力する。
【0059】
つまり、少数派クラスタ抽出部18は、ここでは、パターンが複数種類のラベルを有する場合であって、且つ、パターンに含まれるラベル間の相関分析による信頼度が所定値より高いパターンについて、当該パターンに対応するラベルが付与された係り受けと、同じ係り元を有するテキスト文書、を少数派クラスタとして出力する。
【0060】
次にステップS79において、少数派クラスタ抽出部18は、少数派クラスとして出力した文書を、処理対象の文書群データから削除する。
そして、本ステップの処理が終了すると、リスト内の次のパターンを処理するためにステップS76に戻る。
【0061】
以上のように、少数派クラスタ抽出部18は、少数派クラスの文書を抽出して出力する。この処理が終了すると、少数派クラスタ抽出部18は、残った文書と、それらの各文書に対応するパターンのデータを、多数派クラスタ抽出部19に渡す。
【0062】
図10は、多数派クラスタ抽出部19による詳細な処理の手順を示すフローチャートである。以下、このフローチャートに沿って処理の手順を説明する。
まずステップS91において、多数派クラスタ抽出部19は、各パターンについて、パターンを構成するラベルの共起確率を計算する。なお、パターンが3つ以上のラベルで構成される場合には、多数派クラスタ抽出部19は、パターンが含むラベルのうちの2つのラベルの組み合わせのすべてについて、それぞれ、共起確率を計算する。
【0063】
次にステップS92において、多数派クラスタ抽出部19は、相関分析における支持度の高い上位B件のパターンを含む文書を抽出し、多数派クラスC(2)として出力する。なお、Bは、適宜設定される整数値である。例えば、Bの値は、予備実験などにより、予想される多数派クラスの数を設定する。パターンがラベルL1とL2とを含むとき、その支持度は、次の式で計算される。
支持度=(ラベルL1とL2とが同時に出現する件数)/(対象とする全データ件数)
つまり、支持度は、ステップS91で計算した共起確率そのものである。なお、パターンが3つ以上のラベルで構成される場合には、多数派クラスタ抽出部19は、パターンが含むラベルのうちの2つのラベルの組み合わせのすべてについて、抽出の判断の基となる数値として支持度を利用する。
【0064】
上述した一連の処理により、文書処理装置1は、次のような作用・効果を生じさせる。 即ち、前処理部12は、連続した名詞を1つに連結させたり、単なる表記の違いを統一させたりすることにより、同一概念または類似概念の表記の揺れを正規化させる作用を有する。
また、係り受け抽出部14は、文書ごとの係り受け分析を行うとともに、係り元が名詞で、係り先が用言類(形容詞、形容動詞、動詞、サ変接続名詞)である係り受け関係のみを抽出する作用を有する。このように、係り受け抽出部14によって抽出される特定の品詞の関係を有する係り受け関係が、後段の処理において統計上重要である。
【0065】
また、ノイズ除去部15は、係り元と係り先の組み合わせに関して、出現数が少ないペア(統計的に、ノイズとみなしてよいペア)を除去する作用を有する。これにより、出現数の少ない多種多様なペアを後段の処理の対象としなくなる。つまり、統計的に意味の少ない要素を除去して、分析のために必要な計算量を節約する。言い換えれば、ノイズ除去部15は、分類するほどの量が見込めない雑音となる文書を排除する。
また、ラベル付与部16は、係り先(用言類)が同じ係り受けに対して同じラベルを付与する。このラベルは、後段の処理で使用される。
また、パターン照応部17は、各文書に含まれる係り受けに付いたラベルの組み合わせを、パターンとして抽出する。つまり、ここで抽出されるパターンは、文書に含まれる係り受けの、係り先の種類の組み合わせに対応するパターンである。
【0066】
また、少数派クラスタ抽出部18は、1つのラベルからなるパターンを有する文書を、少数派クラスとして出力する。ここで出力されるのは、係り先が1種類のみの文書である。
また、少数派クラスタ抽出部18は、ラベルの共起確率に基づき、信頼度の高いA件のパターンのリストを作る。また、そのようにリストされたパターンのそれぞれについて、そのパターンに対応するラベルが付けられた係り受けと、係り元が同じ文書を、少数派クラスタとして出力する。つまり、信頼度の高いパターンに属する係り受けの、係り元である名詞が同じ文書を、少数派クラスタとして出力する。
また、多数派クラスタ抽出部19は、残った文書から、支持度の高いパターンを含む文書を、多数派クラスタとして出力する。
【0067】
つまり、上記の構成では、文書処理装置1は、分類後の文書のグループからなるクラスタ内の文書の数に極端に偏りがある文書を入力した際、各文書の係り受けを抽出し、係り先の種類によってつけられたラベルの、同一文書における出現パターンにより、分類されたのち、少数派クラスタ抽出のための特有な処理をしたのち、多数派クラスタ抽出のための処理をおこない、クラスタ内の文書の数に極端に偏りがある文書を精度よく、文書の内容に応じて分類した結果を出力する。
【0068】
このような処理により、文書処理装置は、多数派クラスタの中に埋もれさせずに、少数派クラスタを抽出することができる。
【0069】
次に、第2実施形態について説明する。なお、以下では、本実施形態に特有の事項のみを中心に説明し、前述の実施形態と共通する事項については記載を省略する場合がある。
[第2実施形態]
図11は、本実施形態による文書処理装置の概略機能構成を示すブロック図である。図示するように、文書処理装置2は、文書データ取得部11と、係り受け抽出部14と、ラベル付与部16と、パターン照応部17と、少数派クラスタ抽出部18と、多数派クラスタ抽出部19と、を含んで構成される。
【0070】
文書処理装置2を構成する文書データ取得部11と係り受け抽出部14とラベル付与部16とパターン照応部17と少数派クラスタ抽出部18と多数派クラスタ抽出部19の各々の機能自体は、第1実施形態におけるそれらとほぼ同様である。本実施形態による文書処理装置2は、第1実施形態が有していた前処理部12とノイズ除去部15とを含まない。
【0071】
つまり、文書データ取得部11が外部から取得したデータについて、第1実施形態における前処理部12が行っていた前処理を行わずに、係り受け抽出部14が係り受けの抽出を開始する。これにより、表記の違いによって統計的な安定性が失われる場合もあるが、その点を除いては第1実施形態と同様の効果を得られる。
なお、本実施形態では前処理部を設けないため、文書データ取得部11が、取得した文書のそれぞれについて係り受け分析を行い、その分析の結果を係り受け抽出部14に渡すようにする。
【0072】
また、係り受け抽出部14の処理結果のデータに関して、第1実施形態におけるノイズ除去部15が行っていたノイズの除去の処理を行わずに、ラベル付与部16はラベルを付与する。これにより、ノイズが除去されていない分、分類精度が落ちる場合もあり得るが、その点を除いては、第1実施形態と同様の効果を得られる。
【0073】
なお、本実施形態の変形例として、前処理部12とノイズ除去部15のいずれか一方のみの機能を有するように、文書処理装置を構成しても良い。
【0074】
なお、上述した実施形態における文書処理装置の機能をコンピューターで実現するようにしても良い。その場合、この機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0075】
以上、複数の実施形態を説明したが、本発明はさらに次のような変形例でも実施することが可能である。
例えば、第1実施形態または第2実施形態において、多数派クラスタ抽出部を設けない構成として文書処理装置を実施しても良い。このような文書処理装置は、多数派クラスタに属する文書を抽出することはないが、既に述べた処理手順のうちの、途中までの処理(少数派クラスタ抽出部による処理まで)によって、少数派クラスタに属する文書を抽出することはできる。
【0076】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0077】
[実施例]
次に、第1実施形態による文書処理装置1を実データに適用して分析した例を説明する。
図12は、時間帯ごとおよびトピックごとのSNSにおける文書数の分布を示す3次元のグラフである。便宜上、これらの次元を、x軸、y軸、z軸と呼ぶ。同図に示すグラフのx軸は、文書処理装置1によって分類された文書のトピックに対応している。同図において、z軸(高さ方向)は、時間帯ごと、且つトピックごとの文書数を示している。
【0078】
また、同図におけるy軸(15時、16時、・・・)と示されている軸は、時間帯を表す。対象としている時間帯は、東日本大震災が起こった西暦2011年3月11日の、地震発生直後から、24時までである。
【0079】
また、同図におけるx軸(トピック名が日本語で列挙されている軸)はトピックの違いに対応する次元である。このうち、「A」で示している範囲は、少数派クラスタに属するトピックである。少数派クラスタに属するトピックは、図中の左側から、「疲れる」、「女性不安」、「迎え−行く」、「無事帰宅」、「寒い」、「渋滞」、「避難呼びかけ」、「テレビ」、「休憩場所希望」、「恐い」、「疑問・悩み」、「連絡−取れない」、「徒歩帰宅状況」、「無事・安心」、「地震現状」、「帰宅困難」、「心配」、「人−多い」、「代替住宅」である。また、同じくx軸に沿って「B」で示している範囲は、多数派クラスタに属するトピックである。多数がクラスタに属するトピックは、「運行予測」、「避難所情報」、「鉄道運行情報」である。
【0080】
このように、文書処理装置1を用いることにより、多数派クラスタだけではなく、従来技術ではうまく抽出できなかった少数派クラスタを抽出することに成功している。