以下、図面を参照して本発明の実施形態を説明する。
<第1の実施形態>
(文書分類装置の構成)
図1は本発明の第1の実施形態に係る文書分類装置1の構成を示す模式図である。
文書分類装置1は、文書記憶部10、カテゴリ記憶部20、文書分類部30及びカテゴリ編集部40を備えている。なお、文書分類装置1は、ハードウェア構成とソフトウェア構成との組合せにより実現可能である。具体的には、予めコンピュータ読み取り可能な記憶媒体またはネットワークから得られた「文書分類プログラム」がコンピュータにインストールされることにより、文書分類装置1としての各機能が実現される。
文書記憶部10は、文書データを記憶する記憶装置であるが、ここでは例えば個別に特徴ベクトルを含む複数の文書データを記憶している。なお、以下の説明において、「文書」とは、文書記憶部10に記憶されている電子化された文書データのことをいうものとする。
この文書記憶部10は、図2に示すように、ユニークな識別子である文書番号11に関連付けて、文書名12や本文13、文書の特徴を表す特徴ベクトル(文書特徴ベクトル)14などの情報を記憶する。
特徴ベクトル14は、後述する「特徴ベクトル生成処理」により求められる。図2においては図の見易さのため、値が0である次元、すなわち当該文書には出現していない単語は特徴ベクトル14として示していない。また、特徴ベクトル14の表示の仕方として、分かり易さのため、単語の重みを括弧内の実数で表わし、この単語の重みが大きい順に単語を示している。
具体的には、図2中、「検索」という単語は、文書中に14回出現しており(後述するtf=14)、その重みは約0.66と最も大きい。一方、「文書」という単語は、文書中に10回出現しているが、この例では、単語「文書」が出現する文書数が単語「検索」が出現する文書数よりも多いため、重みは0.33と比較的小さくなる。
なお、本実施形態では一例として、文書の特徴ベクトルを、当該文書に出現する単語を次元とした単語ベクトルで表現している。ただし、これに限らず、例えば文書の属性情報(日時、種別、作成者など)を、文書を特徴付けるベクトルの次元としてもよい。
カテゴリ記憶部20は、文書の分類先である複数のカテゴリを特徴ベクトルと関連付けて記憶する記憶装置である。また、カテゴリ記憶部20は、後述するように、複数のカテゴリについて、その各々に分類されている文書の情報を記憶する。
このカテゴリ記憶部20は、図3に示すように、ユニークな識別子であるカテゴリ番号21に関連付けて、カテゴリ名22や文書名23、カテゴリの特徴を表わす特徴ベクトル24などの情報を記憶する。例えば図3(a)のカテゴリには、文書番号が「D17」、「D23」、「D41」などの文書が分類されている。カテゴリの特徴を表す特徴ベクトル(カテゴリ特徴ベクトル)24は、後述する「自動分類処理」の際に求められる。図3においては、値が0である次元、すなわち当該文書には出現していない単語は、単語として出現していないため特徴ベクトル24として示していない。
また、特徴ベクトル24の表示の仕方として、分かり易さのため、単語の重みを括弧内の実数で表わし、この単語の重みが大きい順に単語を示している。例えば図3(a)のカテゴリ番号「C01」に対応する特徴ベクトル24には、「検索」、「文書」、「条件」といった単語が、当該カテゴリの特徴をよく表す単語として示されているが、これは、このカテゴリが持つ文書(例えば図2に示す文書「D23」)に、これらの単語が出現する頻度が多いことによる。すなわち、カテゴリcの特徴ベクトルvcは、カテゴリcに含まれる複数の文書の特徴を表す平均的なベクトルに相当する。
文書分類部30は、文書記憶部10に記憶された各文書を特徴ベクトルに基づき複数のカテゴリに分類するものである。この文書分類部30は、特徴ベクトル生成部31と、分類・クラスタリング部32とを有している。
特徴ベクトル生成部31は、後述する「(A)特徴ベクトル生成処理」を実行するものであり、文書記憶部10に記憶されている各文書から、当該文書の特徴を表す特徴ベクトルを生成する。また、特徴ベクトル生成部31は、カテゴリに含まれる複数の文書の特徴ベクトル用いて、当該カテゴリの特徴ベクトルを生成する。なお、カテゴリは文書の部分集合として表現するものである。
分類・クラスタリング部32は、後述する「(B)自動分類処理」を実行するものであり、文書とカテゴリとの間の類似度、もしくは、文書間の類似度を、上述の特徴ベクトルの類似度によって計算し、その類似度に基づいて文書を自動的に分類もしくはクラスタリングする。
カテゴリ編集部40は、カテゴリ記憶部10に記憶されたカテゴリを編集するためのものである。このカテゴリ編集部40により、ユーザは、1つの文書を複数のカテゴリに分類する操作が行え、その操作に応じて、文書の再分類が行なわれる。具体的には、カテゴリ編集部40は、分類先カテゴリ指定部41、特徴ベクトル調整部42、文書再分類部43及び再分類結果提示部44を有している。
分類先カテゴリ指定部41は、一の文書を選択するとともに、当該文書を分類するための複数のカテゴリを指定するものである。この分類先カテゴリ指定部41により、ユーザは、ある文書を、1つまたは複数のカテゴリに分類できる。
特徴ベクトル調整部42は、後述する「(C)特徴ベクトル調整処理」を実行するものであり、分類先カテゴリ指定部41によってユーザが行った操作に従い、文書の分類先として指定されたカテゴリの特徴ベクトルを調整する。具体的には、特徴ベクトル調整部42は、分類先カテゴリ指定部41により指定された複数の分類先カテゴリの特徴ベクトルと、分類する文書の特徴ベクトルとを比較する機能を有している。
さらに、特徴ベクトル調整部42は、比較の結果から、文書の特徴ベクトルの成分のうち、各分類先カテゴリとの関連がある成分と、複数の分類先カテゴリに共通して関連がある成分と、当該文書に固有の特徴であり分類先カテゴリとの関連がない成分とを求め、求めた特徴ベクトルの成分に基づいて、各分類先カテゴリの特徴ベクトルを調整する機能を有している。なお、この特徴ベクトルを調整する機能については、「(C)特徴ベクトル調整処理」において[数1]および[数2]を用いて後に詳述する。
文書再分類部43は、後述する「(D)再分類処理」を実行するものであり、特徴ベクトル調整部42により調整した複数の分類先カテゴリの特徴ベクトルを用いて、文書記憶部10に記憶された各文書を、カテゴリ記憶部20に記憶された各カテゴリに再分類する。この文書分類部43は、後述するように、ユーザが分類先に指定したカテゴリに分類されていた文書について、当該文書が分類されていない別のカテゴリに当該文書を追加して分類したり、当該文書が分類されているカテゴリから当該文書を除いたりする処理を行う。
再分類結果提示部44は、文書再分類部43による再分類の結果をユーザに提示するものである。この再分類結果提示部44により、ユーザは、再分類の結果を確認することができる。これにより、不適切な再分類が行われた場合には、これを却下する作業も可能となる。
なお、カテゴリ編集部40には、上述のように、文書を1つまたは複数のカテゴリに分類する操作以外にも、新しいカテゴリを作成する機能や、既存のカテゴリを削除する機能、複数のカテゴリを1つのカテゴリに統合する機能、1つのカテゴリを複数のカテゴリに分割する機能などを設けて、これらの各機能による操作をユーザが行えるようにしてもよい。これらの機能は従来技術による文書分類装置の一部で実現可能である。
(文書分類装置の動作)
次に本実施形態に係る文書分類装置1の全体的な処理について図4のフローチャートを用いて説明する。
ユーザの指示に従って、分類の対象とする文書が追加された場合(S401−Yes)、特徴ベクトル生成部31にて、後述する「(A)特徴ベクトル生成処理」が実行される(S402)。これにより、追加された文書の特徴ベクトルが作成される。作成された特徴ベクトルは、文書自体のデータとともに、図2に例示した形で文書記憶部10に記憶される(S403)。一方、分類の対象とする文書の追加指示がなければ、次の処理に進む(S401−No,S404)。
次に、ユーザの操作により、分類の対象とする文書集合の自動分類の実行が指示されると(S404−Yes)、分類・クラスタリング部32にて、後述する「(B)自動分類処理」が実行される(S405)。自動分類の結果、カテゴリが作成または変更され、カテゴリの特徴ベクトルも変更される。そして、これらのデータが図3に例示した形でカテゴリ記憶部20に記憶される(S406)。一方、自動分類の実行指示がなければ、次の処理に進む(S404−No,S407)。
次に、ユーザのカテゴリ編集部40の操作により、分類構造の編集処理が実行されると(S407−Yes)、カテゴリが編集される。この際、特徴ベクトル調整部42により必要に応じて編集されたカテゴリに対して後述する「(C)特徴ベクトル調整処理」が実行される。そして、処理実行後のカテゴリのデータがカテゴリ記憶部20に記憶される(S409)。一方、ユーザにより、分類構造の編集処理が実行されない場合、次の処理に進む(S407−No,S410)。
次に、ユーザの操作により「(D)再分類処理」の実行が指示されると(S410−Yes)、後述するように、文書再分類部43によって文書の再分類が行なわれる(S411)。この処理は、主には、前述のカテゴリの編集操作の後に実行される。そして、その結果として変更されたカテゴリのデータがカテゴリ記憶部20に記憶される。一方、再分類処理の実行が指示されない場合、次の処理に進む(S410−No,S413)。
そして、ユーザの操作により終了の指示がなされると(S413−Yes)、文書分類装置1の処理が終了する。一方、終了の指示がなされない場合は(ステップS413−No)、ステップS401の処理に戻る。
(A)特徴ベクトル生成処理
図5は「特徴ベクトル生成処理」を説明するためのフローチャートである。この「特徴ベクトル生成処理」は、特徴ベクトル生成部31によって実行され、前述の図4のステップS402で行われる処理である。
まず、特徴ベクトル生成部31では、文書の全体集合Dallの中の、処理対象とする文書dから、特徴ベクトルを生成する対象のテキストを取得する(S501)。この際、「文書名」と「本文」のテキスト以外は対象テキストから除外する。例えば、図2に示した特許文書では、「要約」、「課題」、「解決方法」などの見出しの部分は文書の内容には直接は関係がないので、これを対象テキストから除去する。
次に、特徴ベクトル生成部31は、テキストを形態素解析し(S502)、形態素結果の各単語tに対して、ステップS503〜S507の処理を実行する。
特徴ベクトル生成部31は、単語tの品詞が、特徴ベクトルに含めるべき所定の品詞の単語であるか、あるいは、不要語であるかどうかを調べる(S504)。ここでは例えば、品詞が名詞やサ変名詞、固有名詞などである単語は特徴ベクトルに含め、接続詞や副詞などは特徴ベクトルに含めないといった単語の選別を行う。また、例えば特許文書を処理対象とする場合には、「装置」、「方法」、「当該」、「前記」といった単語は特許文書の特徴を表さないので、不要語として除去する。
特徴ベクトル生成部31は、単語tの品詞が、特徴ベクトルに含めるべき所定の品詞の単語であり、かつ不要語でない場合(S504−Yes)、文書dのテキスト中で単語tが出現する頻度tfを求める(S505)。
さらに、特徴ベクトル生成部31は、文書の全体集合Dallの中で単語tが出現する文書数dfを求める(S506)。
それから、特徴ベクトル生成部31は、単語tを文書dの特徴ベクトルvdにおける1つの次元とし、その次元のベクトルの値、すなわち単語の重みを、tf*(log(|Dall|/df)+1)の式から算出する(S507)。ここで、|Dall|は、文書集合Dallの文書数である。この計算式は一般にTF・IDFと呼ばれ、情報検索や文書分類の分野で広く使用されている。すなわち、単語tが文書dに出現する頻度が多い(tfが大きい)ほど、当該単語は文書dの特徴をよく表す単語であるとみなされる。また、全文書のうち単語tを含む文書が少ない(dfが小さい)ほど、当該単語は文書dの特徴をよく表す単語であるとみなされる。
また、特徴ベクトル生成部31は、ステップS503〜S507の処理により求めた特徴ベクトルvdの各次元の値を、ノルム|vd|で割ることによって正規化する(S508)。その結果、特徴ベクトルは、文書dによらず、ノルムが1のベクトルとなる。この正規化された特徴ベクトルは、図2に示す形式で文書記憶部10に記憶される。
なお、ステップS506にて、単語tを含む文書数を求める処理では、例えば情報検索における転置ファイルのような手段を用いることで、処理の効率を向上してもよい。
(B)自動分類処理
図6は「自動分類処理」の流れを説明するためのフローチャートである。自動分類処理は、分類・クラスタリング部32によって実行され、図4のステップS405にて行なわれる処理である。本実施形態では、文書の分類やクラスタリングを自動で行う方法として、leader−follower法と呼ばれるクラスタリング手法を用いる。
まず、分類・クラスタリング部32は、分類対象の文書集合Dと、その分類先の候補のカテゴリ集合Cとを設定する(S601)。文書集合Dは、通常は未分類の文書の集合とし、その場合のカテゴリ集合Cは既存のカテゴリの集合とする。また、例えば、カテゴリを階層的に構成する場合には、あるカテゴリに含まれる文書集合Dと、当該カテゴリの下位のカテゴリ集合Cとを設定することで、当該カテゴリの文書を当該カテゴリの下位のカテゴリに分類するようにしてもよい。
次に、分類・クラスタリング部32は、文書集合D中の各文書dに対して、ステップS602〜S612の処理を行う。
分類・クラスタリング部32は、文書dの分類先であるカテゴリcmaxの初期値を「なし」とし、文書dとカテゴリcmaxの類似度smaxの初期値を0とする(S603)。
続いて、分類・クラスタリング部32は、カテゴリ集合C中の全てのカテゴリcに対して、ステップS604〜S607の処理を実行する。詳しくは、分類・クラスタリング部12は、文書dとカテゴリcとの類似度sを求める(S605)。ここで、「類似度s」は、例えば文書の特徴ベクトルvdとカテゴリの特徴ベクトルvcとに対し、ベクトルの余弦、すなわち、(vd・vc)/(|vd|*|vc|)の式から求める。なお、vd・vcはベクトルの内積を表し、|vd|等はベクトルのノルムを表す。この類似度sが所定の閾値sthr以上で、かつ、カテゴリcmaxの類似度smaxより大きければ(S606−Yes)、分類・クラスタリング部32は、cmax=c、smax=sとする(S607)。
ステップS604の繰り返し処理を終了後(S604−No)、既存のカテゴリのうち、文書dとの類似度が最大で、かつ、その類似度が閾値以上のカテゴリcmaxが存在すれば(S608−Yes)、分類・クラスタリング部32が、文書dをカテゴリcmaxに分類する(S611)。そのようなカテゴリcmaxが存在せず(S608−No)、かつ、新規のカテゴリを作成するよう指示されているならば(S609−Yes)、分類・クラスタリング部32は、カテゴリcmaxを新規に作成し、これをカテゴリ集合Cに追加し(S610)、文書dをカテゴリcmaxに分類する(S611)。ステップS610にて新規カテゴリを自動で作成することは、クラスタリングを行うことを意味する。一方、新規カテゴリを作成しない場合には(S609−No)、分類・クラスタリング部32は、既存のカテゴリのうち最も適切なカテゴリに文書dを分類する。ただし、適切なカテゴリが存在しない場合(いずれのカテゴリとも文書dの類似度が閾値未満である場合)、分類・クラスタリング部32は、どのカテゴリにも文書dを分類しない。このような処理は、教師あり分類と同等の処理であると言える。
ステップS611において、文書dがカテゴリcmaxに分類されると、特徴ベクトル生成部31が、文書dが分類されたカテゴリcmaxの特徴ベクトルを再計算する(S612)。カテゴリcmaxの特徴ベクトルの再計算については図7を用いて後で説明する。
上述したように、分類・クラスタリング部32は、ステップS603〜S612の処理を文書集合Dの各文書dについて繰り返し行い、文書集合D中の文書を、既存もしくは新規のカテゴリに分類する。ただし、ステップS610にて新規に作成したカテゴリが1つの文書しか有していない場合は、カテゴリとして意味をなさず不要である。この場合、分類・クラスタリング部32は、文書数が所定の閾値nthr未満である新規カテゴリを削除する(ステップS602−No,S613)。なお、閾値nthrは2としてもよいし、文書数が5個未満のカテゴリは不要であるとする場合には5としてもよい。
図7は特徴ベクトル生成部31によるカテゴリの特徴ベクトルを再計算する処理を示すフローチャートである。この処理は、前述のステップS612で行われる。
まず、特徴ベクトル生成部31では、カテゴリcに分類された文書集合Dcを求める(S701)。前述したように、カテゴリが持つ文書の情報は、カテゴリ記憶部20にて、図3で説明した形式で記憶されている。例えば図3(a)のカテゴリ番号「C01」に分類されている文書として、文書「D17」、「D23」、「D41」などが記憶されている。
次に、特徴ベクトル生成部31は、カテゴリcの特徴ベクトルvcの初期値を空(すべての次元の値が0のベクトル)とする(S702)。
次に、特徴ベクトル生成部31は、文書集合Dc中の各文書dに対して、ステップS703〜S705の処理を実行する。
具体的には、特徴ベクトル生成部31は、文書dの特徴ベクトルvdを求める(S704)。この特徴ベクトルvdは、前述した「特徴ベクトル生成処理」によって求めることができ、図2に示す形式で文書記憶部10に記憶される。
続いて、特徴ベクトル生成部31は、各文書の特徴ベクトルvdを順次加えていき、カテゴリの特徴ベクトルvcを求める(S705)。これにより、カテゴリの特徴ベクトルが再計算される。
以上に説明した自動分類処理によって、文書の教師あり分類と教師なし分類とを兼ねた自動分類の処理を比較的簡単に実現できる。ただし、本実施形態に係る文書分類装置1は、複数のカテゴリに文書が分類されたときに、カテゴリの特徴ベクトルが再計算され、文書記憶部10に記憶された文書が適切に再分類されるものであれば、上述の方法に限定されるものではない。
なお、上述の自動分類処理により文書の集合を自動的に分類すると、各文書が、それぞれの特徴に応じた既存または新規のカテゴリに分類される。ただし、本実施形態に係る文書分類装置1においては、この自動分類処理の段階では、各文書がそれぞれ1つ以下のカテゴリ(上述のcmax)に自動分類されることとする。文書を複数のカテゴリに自動分類することは、図6で説明した処理を変形して、例えば類似度が閾値sthr以上となる複数のカテゴリに文書を分類するようにすれば可能である。しかしながら、一般的には、複数のカテゴリに分類すべき文書は、あまり多くはない上、ある文書を1つのカテゴリのみに分類すべきか、複数のカテゴリに分類すべきかを、自動的に精度よく決定することは困難である。したがって本実施形態では、最初の自動分類の処理においては、複数のカテゴリに文書を分類することはせず、最も確からしい1つのカテゴリに分類することとし、後のユーザの操作と、それを受けた再分類の処理によって、複数のカテゴリに文書を精度よく自動分類するという方法をとる。
(C)特徴ベクトル調整処理
特徴ベクトル調整処理の前提として、ユーザによるカテゴリ編集部40の操作を説明する。
本実施形態に係る文書分類装置1は、図4に示したように、文書分類部30による自動分類処理の結果を、ユーザが画面上で閲覧し、ユーザの意図通りに分類が行われていない場合は、カテゴリ編集部40の操作に応じて編集処理がなされる。例えば、画面上にて、カテゴリの作成、削除や、あるカテゴリから他のカテゴリへの文書の移動などの操作が行なわれる。
図8及び図9は、ユーザがカテゴリの閲覧と編集を行うための画面の例を表す図である。これらの画面の制御は、全体的にはカテゴリ編集部40により行なわれる。図8に示すように、本実施形態の文書分類装置1が表示する画面は3つの部分(3ペイン)81、82、83から構成されており、画面左の部分81にはカテゴリの一覧が表示され、その一覧中に、「検索」のカテゴリ84、「翻訳」のカテゴリ85、「要約」のカテゴリ86などが表示される。なお、一般的な文書分類装置では、カテゴリの構造を階層構造(ツリー構造)とすることで、文書の大分類、中分類、小分類などを表現できるようにしたものがある。
本実施形態では、カテゴリの構造をそのような階層構造にはせず、図8に示すようなフラットな構造でカテゴリを表現することとする。本発明を説明する上で、階層構造は本発明のポイントではないと考えられるためである。ただし、本実施形態では、階層構造を構成するようにカテゴリを作成し、これを表示・編集できるようにすることも可能とする。
図8の画面左の部分81にて、ユーザがあるカテゴリを選択すると、画面右上の部分82には、そのカテゴリに分類されている文書の一覧が表示される。例えば、「検索」のカテゴリ84をユーザが選択した場合には、このカテゴリ84が強調表示されるとともに、このカテゴリ84に含まれる「言語横断検索方法および装置」の文書87などが表示される。そして、図8の部分82でユーザが文書87を選択すると、この文書87が強調表示されるとともに、この文書の文書名や本文などの内容が、画面右下の部分83に表示される。さらに、当該文書の分類先のカテゴリが、分類88の箇所に表示される。図8の例では、文書87が分類されているカテゴリは「検索」であるので、これと同じ内容が分類88の箇所にも表示される。
本実施形態に係る文書分類装置1では、ユーザが、1つの文書を複数のカテゴリに分類することができる。以下はこの操作を中心に、図9を用いて説明する。
例えば、図8の文書87は、すでに「検索」のカテゴリ84に分類されているが、これを「翻訳」のカテゴリ85にも分類したい場合に、ユーザは、例えば、文書87のアイコンをカテゴリ85のアイコン上にドラッグ・アンド・ドロップするという操作によって、文書87をカテゴリ85にも分類できる。
図9(a)はその操作結果の画面例を表す図であり、「検索」のカテゴリ91と「翻訳」のカテゴリ92とに文書93が分類されていることが表示されている(なお、図9の符号91、92、93は、それぞれ、図8の符号84、85、87と同じものを表す)。すなわち、画面右上の部分にて文書93を選択すると、当該文書が分類されているカテゴリとして、「検索」のカテゴリ91に加え、この文書を新しく分類した「翻訳」のカテゴリ92も強調表示される。また、画面右下の部分には、文書93の分類94として、「検索」のみならず「翻訳」も表示される。
一方、図9(b)は、画面左側のカテゴリ一覧表示の部分にて、ユーザが、カテゴリ95とカテゴリ96との両方を選択した場合の表示例である。この例では、カテゴリ95とカテゴリ96との両方に分類されている文書の一覧が、画面右上の部分に表示されるようになっており、その文書一覧中には、両カテゴリに分類されている文書97(図9(a)の93と同じ)が表示される。
図10は「特徴ベクトル調整処理」を説明するためのフローチャートである。ここでは、上述したように、ユーザが1つの文書を複数のカテゴリに分類する操作を行なう。特徴ベクトル調整処理は、特徴ベクトル調整部42によって実行され、前述の図4ではステップS408で行われる処理である。ここで、以下の説明で図4のフローチャートで説明される動作では、特徴ベクトル調整部42が動作の主体となる。
本実施形態においては、特徴ベクトル調整部42での処理の前提として、分類先カテゴリ指定部41でのユーザの操作により、ステップS1001の段階で文書dの分類先として、複数のカテゴリが指定されるようになっている。
次いで、特徴ベクトル調整部42では、ステップS1002でユーザの操作前に文書dが分類されていたカテゴリ集合C1と、ユーザの操作後に文書dが分類されるカテゴリ集合C2とを設定する。ここで、カテゴリ集合C1とカテゴリ集合C2とには、重複したカテゴリが含まれることがある。
更に、ステップS1003で文書dの特徴ベクトルをvdとする。この特徴ベクトルvdについては、図5で説明した特徴ベクトル生成処理によって求めたデータを用いる。
続いて、特徴ベクトル調整部42は、カテゴリ集合C1中の全てのカテゴリcに対して、ステップS1004〜S1006の処理を行う。具体的には、特徴ベクトル調整部42は、カテゴリcがカテゴリ集合C2に含まれていない場合、すなわち、ユーザの分類操作後、文書dがカテゴリcに分類されていない場合には(ステップS1005でYesの場合)、ステップS1006でカテゴリcの特徴ベクトルvcから文書dの特徴ベクトルvdを除く。
同様に、特徴ベクトル調整部42は、カテゴリ集合C2中の全てのカテゴリcに対しても、ステップS1007〜S1009の処理を行う。具体的には、特徴ベクトル調整部42は、カテゴリcがカテゴリ集合C1に含まれていない場合、すなわち、ユーザの分類操作後、文書dがカテゴリcに分類された場合には(ステップS1008でYesの場合)、ステップS1009でカテゴリcの特徴ベクトルvcに文書dの特徴ベクトルvdを追加する。これらステップS1006とステップS1009の処理は、前述の図6で説明した処理と同様に、各々の処理で単純に、カテゴリcの単語ベクトルを、当該カテゴリが持つ文書の特徴ベクトルの和として計算するということを意味する。
次に、ステップS1010とS1011の処理において、文書dがユーザによって複数のカテゴリに分類されたという情報を用いて、カテゴリの特徴ベクトルを調整する。すなわち、カテゴリ集合C2中の全てのカテゴリcについて終了するまで(ステップS1010でYesの場合)、ステップS1011でカテゴリcの特徴ベクトルvcを再分類処理用に次式(1)で調整する。
ステップS1011に示す式(1)により、カテゴリcの特徴ベクトルvcに関して、ある次元(すなわち単語)tに対する値vc[t]は、調整されてvc’[t]となる。
このとき、文書dの特徴ベクトルvdの次元tに対する値vd[t]の値が大きいほど、vc’[t]はvc[t]に対して、より大きく増加する。そして、文書dに次元(すなわち単語)tが存在しない(つまりvd[t]=0である)場合には、vc’[t]はvc[t]に対して変化しない。
また、vc[t]の値が、カテゴリ集合C2中の各カテゴリciの特徴ベクトルのvci[t]の平均的な値と比べて大きいほど、vc’[t]はvc[t]に対して、より大きく増加する。逆に、vc[t]の値が各カテゴリciの特徴ベクトルのvci[t]の平均的な値と比べて、小さい、あるいは、あまり変わらない場合には、vc’[t]はvc[t]に対して、あまり大きく増加しない。
結果として、次元(すなわち単語)tが、文書dにおいて特徴的な単語であり、かつ、カテゴリ集合C2中のカテゴリc以外のカテゴリにおいて特徴的な単語ではなければ、次元tはカテゴリcにおいて特徴的な単語となる。そして、vc'[t]の値は、元のvc[t]の値に対して、より大きく増加する。
なお、本発明では、カテゴリの特徴ベクトルに対してこのような調整が行えるような計算式であれば、式(1)を用いることには限定されないものとする。
また、文書dについても、特徴ベクトル調整部42では、ステップS1012においてカテゴリ集合C2以外のカテゴリに分類すべきかどうかを判断する目的で、次式(2)を用いて文書dの特徴ベクトルvdを調整する。
ステップS1012に示す式(2)により、文書dの特徴ベクトルvdに関して、ある次元tに対する値vd[t]は、調整されてvd’[t]となる。
このとき、カテゴリ集合C2中の各カテゴリciの特徴ベクトルのvci[t]について、平均的な値が大きい次元tほど、vd’[t]はvd[t]に対して、より大きく減少する。逆に、vci[t]の平均的な値が小さい次元tでは、vd’[t]はvd[t]に対して、あまり減少しない。そして、どのカテゴリciの文書にも存在しない単語t(すなわち全ciでvci[t]=0であるt)については、vd’[t]はvd[t]に対して変化しない。
結果として、次元t(すなわち単語)が、カテゴリ集合C2中のカテゴリc以外のカテゴリにおいて特徴的な単語ではなければ、次元tはカテゴリdにおいて特徴的な単語となり、vd'[t]の値は、元のvd[t]の値に対して、あまり減少しない。
なお、本発明では、文書の特徴ベクトルに対してこのような調整が行えるような計算式であれば、式(2)を用いることには限定されない。
したがって、調整後の特徴ベクトルvd’は、元の特徴ベクトルvdの、カテゴリ集合C2の各カテゴリの特徴ベクトルと重複する成分の値を小さくしたものとなり、カテゴリ集合C2との関連が小さい。それ故に、文書d固有の特徴をよく表すベクトルとなる。このような特徴ベクトルvd’を用いることは、文書dを分類すべきカテゴリ集合C2以外のカテゴリを求めるのに有効である。
以下、図11を用いて具体的に説明する。図11では、「検索」のカテゴリ1101、「翻訳」のカテゴリ1102、「要約」のカテゴリ1103について、その各々の特徴ベクトル1104、1105、1106の例を示している。一方、文書の特徴ベクトルの例として、図11の文書1107の特徴ベクトルを1108に示す。ただし、これらの特徴ベクトルの各次元(すなわち単語)の値は、図の見易さのため図11では省略している。
この例において、ユーザが文書1107を「検索」のカテゴリ1101と「翻訳」のカテゴリ1102とに分類したとする。文書1107の特徴ベクトルのうち、「検索」のカテゴリ1101の特徴ベクトルと重複する成分は、図中の欄1109に示した成分となる。また同様に、文書1107の特徴ベクトルのうち、「翻訳」のカテゴリ1102の特徴ベクトルと重複する成分は、図中の欄1110に示した成分となる。
図中の欄1109と欄1110とにおいて、下線を付した単語は、カテゴリの特徴ベクトル1104と1105との片方のみに重複する成分である。このような単語は各々のカテゴリの特徴的な単語であると推定され、図10のステップS1011の計算値が大きくなる。具体的には例えば、「他国語」、「翻訳」、「対訳」などの単語は、「翻訳」のカテゴリ1102の特徴をよく表す単語であると推定される。
一方、図中で下線を付していない「文書」、「単語」などの単語は、両カテゴリの特徴ベクトルに重複する成分である。そのため、図10のステップS1011の式(1)および上述したステップS1011の説明によれば、上記の「他国語」などの単語に比べて、値があまり大きくならない。このようにして、図10のステップS1010とS1011とによって、カテゴリ集合C2の複数のカテゴリの特徴ベクトルが調整される。
また、図10のステップS1012では、文書dの特徴ベクトルが調整される。調整された特徴ベクトルvd’を用いると、文書dを分類すべきカテゴリ集合C2以外のカテゴリを求めるのに有効である。例えば図11に示す例では、S1012の式(2)および上述したステップS1012の説明によれば、文書の特徴ベクトル1108から、カテゴリ1101および1102の重複した成分を除いた特徴ベクトルは、「文章」、「要約」、「提示」などの単語の値が大きくなる。また、これらの成分は、例えば「要約」のカテゴリ1103の特徴ベクトル1106と重複する単語が多いことが図中の欄1111に示されている。
(D)再分類処理
図12は「再分類処理」を説明するためのフローチャートである。この再分類処理は、文書再分類部43によって実行される処理であり、前述の図4ではステップS411で行われる処理である。ここでは、図12のフローチャートとともに、図13を用いて再分類処理を具体的に説明する。なお、以下の説明で図12のフローチャートで説明される動作では、文書再分類部43が動作の主体となる。
まず、本実施形態においては、文書再分類部43での処理の前提として、ステップS1201の段階で、ユーザが文書dを複数のカテゴリへ分類したときの分類先のカテゴリ集合Cを設定するようになっている。具体的には、まずユーザによる一の文書の選択及び当該文書を分類するための複数のカテゴリの指定を支援する分類先カテゴリ指定部41によって、ユーザが文書dを複数のカテゴリへ手作業で分類する操作を行う。次に、文書分類装置1に対して、再分類を実行するように画面上に表示されたメニューなどで明示的にユーザが指示する。そして、文書分類装置1が内部的に特徴ベクトル調整部42によって調整を行い、その後、文書再分類部43で再分類の処理を実行する。
続いて、文書再分類部43は、ステップS1202でカテゴリ集合C中のカテゴリに分類されている文書集合Dを設定する。図13中、ユーザが分類操作を行う前の状態を表したのが図13(a)であり、図中、c1〜c3はカテゴリを表し、これらの左側に関連付けて図示しているd1〜d5は文書を表している。
図13(a)の状態は、例えば、図6で説明したような自動分類による分類結果と考えてよく、この時点では、1つの文書は1つのカテゴリに分類されている。このうち、ユーザがある文書を選択して、複数のカテゴリに分類した結果の例を表したのが図13(b)であり、この例では実線1301に示すように、文書d2が、元々の「検索」のカテゴリc1だけでなく、「翻訳」のカテゴリc2にも分類されている。この状態ではカテゴリ集合Cは「検索」のカテゴリc1および「翻訳」のカテゴリc2となり、文書集合Dはd1、d2、d3、d4となる。
次に、文書再分類部43は、カテゴリ集合C中の各カテゴリciに対して、ステップS1203〜S1210の処理を行う。具体的には、ステップS1204で、図10で説明した方法で各カテゴリciの特徴ベクトルを調整してvci’を求める。続いて、文書再分類部43は、文書集合D中の各文書djに対して、ステップS1205〜S1210の処理を行う。
具体的には、ステップS1206で文書djの特徴ベクトルvdjと、カテゴリの特徴ベクトルvci’との類似度sを求める。この類似度の求め方は、前述した図6のステップS605で説明した方法と同じである。
次に、文書再分類部43は、文書djがカテゴリciに分類されておらず、かつ、類似度sが所定の閾値sthr’以上であるならば(ステップS1207でYesの場合)、ステップS1208で文書djをカテゴリciに加える。例えば、文書再分類部43は、図13(c)の実線1302や1303に示すように、文書d3を「検索」のカテゴリc1に分類したり、文書d1を「翻訳」のカテゴリc2に分類したり、という処理を自動的に行う。
また、文書再分類部43は、文書djがカテゴリciにすでに分類されており、かつ、類似度が所定の閾値sthr’未満であるならば(ステップS1209でYesの場合)、ステップS1210で文書djをカテゴリciから除く処理を行なう。例えば、図13(d)の破線1304に示すように、文書d4を「翻訳」のカテゴリc2から除く、という処理を自動的に行う。これらステップS1208〜S1210の再分類処理は、図10で説明したように、カテゴリの特徴ベクトルを適切に調整した結果、実現される。
ステップS1203において、カテゴリ集合C中の各カテゴリciに対する処理が終了すると、文書再分類部43は、文書d(図13の例では文書d2)に対して、図12のステップS1211〜S1215の処理を行う。
まず、ステップS1211で上述した「特徴ベクトル調整処理」による文書dの特徴ベクトルvd’を求める。
次に、文書再分類部43は、文書dがすでに分類されているカテゴリ集合C以外の全てのカテゴリckに対して、ステップS1212〜S1215の処理を行う。具体的には、ステップS1213でカテゴリckの特徴ベクトルvckと、文書dの調整後の単語ベクトルvd’との類似度sを求める。この類似度が所定の閾値sthr”以上であるならば(ステップS1214でYesの場合)、ステップS1215で文書dをカテゴリckに加える。図13の例では、図13(e)の実線1305に示すように、文書d2を「要約」のカテゴリc3にも分類する。
なお、図12のステップS1208やS1215によれば、各処理で対象としている文書は、類似度が所定の閾値以上の複数のカテゴリに再分類される可能性がある。そこで、これを図6と同様の形に変形して、例えば、類似度が最大となるようなカテゴリにのみ再分類するという方法をとってもよい。
上述した再分類処理により、図13(c)の実線1302、実線1303や、図13(e)の実線1305に例示したように、1つの文書が複数のカテゴリに分類される。また、この再分類の結果を受けて、各カテゴリの特徴ベクトルを図10で説明した方法でさらに調整してもよい。その結果、別の文書が再分類されるようにすることも可能である。例えば、図13(e)に示した再分類の結果、「翻訳」のカテゴリc2と「要約」のカテゴリc3の特徴ベクトルが調整されるので、図13(f)に示すように、文書d5を「翻訳」のカテゴリc2にも自動的に分類することが可能である。
図14は文書の再分類の結果をユーザに提示した画面の一例を示す図である。この提示画面は、再分類結果提示部44によって表示装置に表示される。
図14(a)中、ユーザの操作により、カテゴリ1401とカテゴリ1402とに文書1404が分類されると(図14の文書1404は、図8の87および図9の文書93と同じであり、図13の文書d2にも相当する)、図12の処理(特にステップS1215)によって文書1404が「要約」のカテゴリ1403に自動的に再分類される。そして、再分類結果提示部44が、その再分類処理の結果を、カテゴリ1403の表示色の変更により強調表示し、そして再分類したカテゴリ名を分類1405に表示する。
また、図9(b)で説明したのと同様に、図14(b)にて、ユーザが、「検索」のカテゴリ1406と「翻訳」のカテゴリ1407との両方を選択した場合、再分類結果提示部44が、画面右上の部分に両カテゴリに分類されている文書の一覧を表示する。そして、この文書の一覧中でユーザにより文書1408が選択されると、再分類結果提示部44が、この文書の内容を画面右下の部分に表示する。これにより、図12の処理(特にS1208)によって、この文書1408が「翻訳」のカテゴリ1407に再分類されたことが、分類したカテゴリの表示1409によってユーザに示される。
(文書分類装置の効果)
以上説明したように、本実施形態に係る文書分類装置1は、ユーザが少数の文書を複数のカテゴリに分類するという簡単な操作を行うだけで、ユーザが意図するように各カテゴリの特徴ベクトルが自動的に調整され、他の文書も適切に複数のカテゴリに自動分類される。この結果、大量の文書を分類する作業を効率化することができる。
ここで、本実施形態に係る文書分類装置1の作用について補足する。ユーザが、ある文書dを、ある2つのカテゴリc1とカテゴリc2とに分類した場合、その操作から、文書分類装置1は以下のことを把握し得る。まず、カテゴリc1は文書を分類する意味のある有用なカテゴリであり、カテゴリc2も文書を分類する意味のある有用なカテゴリである。そうでなければ、ユーザが、カテゴリc1もしくはカテゴリc2を、削除してしまってもよいはずだからである。次に、文書d自体は、価値のある文書である。そうでなければ、ユーザが、文書dを削除してしまってよいはずだからである。
次に、カテゴリc1とカテゴリc2とは、それぞれ、別々の意味内容を持つカテゴリである。そうでなければ、ユーザが、カテゴリc1とカテゴリc2とを統合してしまってもよいはずだからである。次に、文書dは、カテゴリc1とカテゴリc2とのそれぞれに関連する、別々の特徴を持っている。そうでなければ、ユーザは、文書dを、カテゴリc1かカテゴリc2かのどちらか一方にのみ分類するはずだからである。
そして、文書dの持つ特徴のうち、カテゴリc1に関連する特徴と、カテゴリc2に関連する特徴とを、明確に区別することができれば、これを用いることで、より精度よく、カテゴリc1およびカテゴリc2への自動分類を行うことができる可能性がある。また、カテゴリc1とカテゴリc2の両方に分類すべき文書が、文書d以外に存在する可能性がある。さらに、文書d自体についても、カテゴリc1とカテゴリc2以外に分類すべきカテゴリが存在する可能性がある。このような考えに基づくことで、文書分類装置1は、ユーザが文書を複数カテゴリへ分類する操作に応じて、当該文書およびそれ以外の文書を、複数のカテゴリへ自動的に精度よく分類する。
また、本実施形態に係る文書分類装置1では、文書再分類部43が、分類先カテゴリ指定部41により指定された複数の分類先カテゴリのいずれかに分類されている文書の特徴ベクトルと、特徴ベクトル調整部42により調整されたカテゴリの特徴ベクトルとに基づき、当該文書が分類されていないカテゴリのうち、当該文書を分類するのに適切なカテゴリが存在する場合に、このカテゴリに当該文書を分類するので、複数のカテゴリに適切に文書を自動分類できる。
さらに、本実施形態に係る文書分類装置1では、文書再分類部43が、分類先カテゴリ指定部41により指定された複数の分類先カテゴリのいずれかに分類されている文書の特徴ベクトルと、特徴ベクトル調整部により調整されたカテゴリの特徴ベクトルとに基づき、当該文書が分類されているカテゴリのうち、当該文書を分類するのに適切でないカテゴリが存在する場合に、このカテゴリから当該文書を除くので、複数のカテゴリに適切に文書を自動分類できる。
加えて、本実施形態に係る文書分類装置1では、文書再分類部43が、分類先カテゴリ指定部41により、複数のカテゴリに分類するように選択された文書の特徴ベクトルのうち、当該文書に固有の特徴であり分類先カテゴリとの関連がない成分と、指定された複数の分類先カテゴリ以外のカテゴリの特徴ベクトルとに基づき、当該文書を分類するのに適切なカテゴリが存在する場合に、このカテゴリに当該文書データを分類するので、複数のカテゴリに適切に文書を自動分類できる。
<実施形態に関するその他の事項>
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
そして、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
さらに、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
加えて、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
なお、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。