文書分類方法
【課題】学習に必要な分類されるカテゴリに属する文書の数とそのカテゴリに属さない非カテゴリ文書の数を減少させる。
【解決手段】利用者は、分類されるカテゴリに属する例題文書を収集し(S101)、例題文書を文書分類システムに入力する(S102)。文書分類システムは、入力された例題文書に含まれるレイアウト上特徴を有する語の中から特徴語を抽出し、反例文書の候補となる反例候補文書を既存文書の中から検索して、画面に表示する(S103)。利用者は、画面に表示された反例候補文書の中から、反例文書を選択する(S104)。文書分類システムは、特徴語に基づいて例題文書と反例文書の特徴ベクトルを生成し、生成された例題文書と反例文書の特徴ベクトルに基づいて分類パラメータを生成する(S105)。そして、文書分類システムは、生成された分類パラメータを用いて分類対象文書をカテゴリに分類する。
【解決手段】利用者は、分類されるカテゴリに属する例題文書を収集し(S101)、例題文書を文書分類システムに入力する(S102)。文書分類システムは、入力された例題文書に含まれるレイアウト上特徴を有する語の中から特徴語を抽出し、反例文書の候補となる反例候補文書を既存文書の中から検索して、画面に表示する(S103)。利用者は、画面に表示された反例候補文書の中から、反例文書を選択する(S104)。文書分類システムは、特徴語に基づいて例題文書と反例文書の特徴ベクトルを生成し、生成された例題文書と反例文書の特徴ベクトルに基づいて分類パラメータを生成する(S105)。そして、文書分類システムは、生成された分類パラメータを用いて分類対象文書をカテゴリに分類する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文書をカテゴリに分類する文書分類方法に関する。
【背景技術】
【0002】
これまでに研究や実用化が行われてきたテキスト分類方法では、テキストを複数のカテゴリに分類している。
【0003】
非特許文献1は、ニュース記事を政治や経済などのカテゴリに分類する技術を開示する。具体的には、非特許文献1に記載の分類技術は、ニュース記事のテキストから、名詞を中心とした単語が記事に含まれるか含まれないかを示す0/1の並びを特徴ベクトルとし、これをSupport Vector Machine
(SVM)と呼ばれる機械学習の技術を使ってカテゴリに分類している。
【0004】
非特許文献2は、電子メールというテキストを分類対象とし、電子メールがスパムか否かSVMを使って分類する技術を開示する。非特許文献2に記載の分類技術では、単純に単語を使った特徴ベクトルではなく、URL (Uniform Resource Locator)やメールアドレス、伏字などスパムによく現れる文字列を所定の文字列に置換することで、スパムの判定精度を向上させる。
【0005】
特許文献1は、分類時に注目する単語に関するものであり、分類済みの文書中の単語の出現頻度を調査、複数の分野で高い頻度で現れる単語を求め、この単語と同じ文書に現れる単語の出現頻度に着目して、文書を分類する技術を開示する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平10-254883号公報
【非特許文献】
【0007】
【非特許文献1】平博順, 春野雅彦,Support Vector Machineによるテキスト分類における属性選択, 情報処理学会論文誌, Vol.41, No.4, pp.1113-1123, 2000.
【非特許文献2】伊加田恵志, spamメールフィルタ, 沖テクニカルレビュー, Vol.73, No.1, 2006年1月.
【発明の開示】
【発明が解決しようとする課題】
【0008】
上述した各文献に記載された分類方法では、実際に分類する前にたくさんの学習用の分類済み文書を用いて分類器に学習させることが必要である。たとえば、非特許文献1では1,000の記事、非特許文献2では約3,000通のメールを使って分類器に学習させる。特許文献1には必要な分類済み文書数の記載はないが、非特許文献1や非特許文献2に記載の分類技術並みかそれ以上の文書が必要な可能性がある。
【0009】
しかし、実際に数百、数千の分類済みの文書やメールを用意するのは大変である。しかも、学習の際には、正例となる分類済みで例題となる文書やメールだけではなく、分類されるカテゴリに属さない非カテゴリ文書を反例として用意する必要があり、分類済みの文書を用意するのと同様に手間のかかる人手の作業となる。
【0010】
本発明の目的は、学習に必要な分類されるカテゴリに属する文書の数とそのカテゴリに属さない非カテゴリ文書の数を減少させることができる文書分類方法を提供することである。
【課題を解決するための手段】
【0011】
上述した課題を解決するために、本発明の文書分類方法は、
分類されるカテゴリに属する正例の例題文書から、文書のレイアウト上特徴のある語に基づいて特徴語を抽出する特徴語抽出ステップと、
前記特徴語に基づいて、分類されるカテゴリに属する文書中に含まれていなければならない特徴語の度合いを定める含有パラメータを求める含有パラメータ生成ステップと、
記憶部に蓄積されている既存文書の中から、前記含有パラメータを満たす特徴語を含む文書を検索し、検索された文書から前記例題文書を除いた文書を反例候補文書として利用者に提示する反例候補文書提示ステップと、
前記特徴語に基づいて、前記例題文書の特徴ベクトルと、利用者によって前記反例候補文書の中から選択された反例文書の特徴ベクトルとを生成する特徴ベクトル生成ステップと、
生成された前記例題文書の特徴ベクトルと前記反例文書の特徴ベクトルとに基づいて分類パラメータを求める分類パラメータ生成ステップと、
前記特徴語と前記分類パラメータとに基づいて分類対象の文書が前記分類されるカテゴリに属するか否かを判定する文書分類判定ステップと、
を備えることを特徴とする。
【0012】
好ましくは、
前記レイアウト上特徴のある語は、
文書の最初のページの中央または上部中央に表われ、文字サイズが大きい語、および/または目立つ色が使用されている語、
項目番号が割り振らており、所定の文字数以下の語、
前記例題文書が所定の帳票のフォーマットを有する場合、当該帳票に現れる帳票名称や項目名、
他の文字に比べて文字サイズが大きいという特徴、イタリック体であるという特徴、下線が引いてあるという特徴、強調文字が使用されているという特徴、他の文字に使われている色と異なる目立つ色であるという特徴、および他の文字に使われているフォントと異なるフォントであるという特徴のうちの少なくとも1つの特徴を有する語、
文書の右上または左上に記載され、資料の送付先または閲覧者を示す語、
箇条書きを示す所定の文字が行頭についており、所定の文字数以下の語、および
所定の括弧で括られた所定の文字数以下の語、
のいずれかである、
ことを特徴とする。
【0013】
好ましくは、本発明の文書分類方法は、
前記特徴ベクトル生成ステップにおいて、前記例題文書全体に含まれる前記特徴語に基づいて前記例題文書の特徴ベクトルを求め、前記反例候補文書全体に含まれる前記特徴語に基づいて前記反例候補文書の特徴ベクトルを求めることを特徴とする。
【0014】
好ましくは、本発明の文書分類方法は、
前記特徴ベクトル生成ステップにおいて、前記例題文書におけるレイアウト上特徴のある語に含まれる前記特徴語に基づいて前記例題文書の特徴ベクトルを求め、前記反例候補文書におけるレイアウト上特徴のある語に含まれる前記特徴語に基づいて前記反例候補文書の特徴ベクトルを求めることを特徴とする。
【0015】
好ましくは、本発明の文書分類方法は、
前記反例候補文書提示ステップにおいて、特徴ベクトルの類似度が高い反例候補文書から順番に利用者に提示されることを特徴とする。
【発明の効果】
【0016】
本発明によれば、学習に必要な分類されるカテゴリに属する文書の数とそのカテゴリに属さない非カテゴリ文書の数を減少させることができる。
【図面の簡単な説明】
【0017】
【図1】利用者の作業を含めた学習の流れの一例を示す図である。
【図2】本発明の実施形態に係る文書分類方法が実施されるコンピュータの構成の一例を示す図である。
【図3】本発明の第1の実施形態に係る文書分類システムの構成の一例を示す図である。
【図4】学習器の処理の流れの一例を示す図である。
【図5】カテゴリが議事録である分類対象文書の一例を示す図である。
【図6】学習器コアに入力される特徴ベクトルの一例を示す図である。
【図7】学習器コアに入力される特徴ベクトルの別の例を示す図である。
【図8】分類器の処理の流れの一例を示す図である。
【図9】図4のステップS203において、特徴ベクトルの類似度が高い反例候補文書を上位に表示する処理の一例を示す図である。
【図10】各例題文書の正規化された特徴ベクトルとの平均距離の短いものから順番に反例候補文書の文書名を表示したウィンドウの一例を模式的に示す図である。
【図11】図10とは異なる方法で反例候補文書を表示したウィンドウの一例を模式的に示す図である。
【図12】本発明の第2の実施形態に係る文書分類システムの構成の一例を示す図である。
【図13】本発明の第2の実施形態に係る文書分類システムの処理の流れの一例を示す図である。
【発明を実施するための形態】
【0018】
最初に、図1を参照して利用者の作業を含めた学習の流れを説明する。
まず、利用者は分類されるカテゴリの文書(以下、例題文書という。)を収集する(S101)。例題文書は。例えばオフィス文書である。カテゴリとしては、契約文書、企画提案文書、見積書、システム提案資料、研究報告書、議事録などがある。本発明では、一つのカテゴリに属する文書の構成は、ほぼ同一であることを前提としている。ここで構成とは、文書に含まれる章/セクション/項目のことである。たとえば、議事録なら、タイトル、出席者、日時、場所、議事録配布先、決定事項、議事内容などの項目がある。例題文書は文書分類システムが学習する際の正例のデータとなる。
次に、利用者は例題文書を文書分類システムに入力する(S102)。
文書分類システムは、入力された例題文書に含まれるレイアウト上特徴を有する語の中から特徴語を抽出する。更に、文書分類システムは、分類されるカテゴリに属さず学習の反例となる文書の候補(以下、反例候補文書という。)を所定の記憶装置に蓄積されている既存文書の中から検索して、画面に表示し、利用者に選択を促す(S103)。
利用者は、画面に表示された反例候補文書の中から、分類されるカテゴリに属さない反例となる文書(以下、反例文書という。)を選択する(S104)。
文書分類システムは、特徴語に基づいて例題文書と反例文書の特徴ベクトルを生成する。そして、文書分類システムは、生成された例題文書と反例文書の特徴ベクトルに基づいて分類対象の文書(以下、分類対象文書という。)が分類されるカテゴリに属するか否かを判定するための分類パラメータを生成する(S105)。
上述した学習の後、文書分類システムは、生成された分類パラメータを用いて分類対象文書をカテゴリに分類する。
【0019】
本発明の実施形態に係る文書分類方法は、図2に示すように、例えば、コンピュータ100を用いて実施される。
コンピュータ100は、CPU(Central Processing Unit)110と、メモリ120と、記憶部130と、入力部140と、表示部150とを有している。
メモリ120は、RAM(Random Access Memory)やROM(Read Only Memory)等で構成される。メモリ120は、文書分類プログラム200を記憶している。CPU110が、文書分類プログラム200を実行することにより、後述する第1の実施形態または第2の実施形態に係る文書分類システムの機能が実現される。
記憶部130は、ハードディスク装置等の磁気ディスク装置やDVD(Digital Versatile Disc)等の光ディスク装置等で構成される。記憶部130は、例題文書310と、既存文書320と、分類対象文書330とを記憶する。
入力部140は、キーボードやマウス等で構成される。入力部140は、利用者による操作を受けつける。
表示部150は、ディスプレイやプリンタ等で構成される。表示部150は、例えば、分類対象文書330が分類されたカテゴリ等を表示する。
【0020】
以下、本発明の実施形態に係る文書分類方法について、図面を参照しながら説明する。
【0021】
図3は、本発明の第1の実施形態に係る文書分類システム101Aの構成の一例を示す。
文書分類システム101Aは、学習器210Aと、分類器220Aとを有する。
学習器210Aは、例題文書310から特徴語を抽出する。そして、学習器210Aは、抽出された特徴語に基づいて正例となる複数の例題文書310の特徴ベクトルと、既存文書320の中から選択された反例となる複数の反例文書の特徴ベクトルを生成する。
学習器コア211は、学習器210Aの一部であり、学習器210Aが生成した特徴ベクトルを入力とし、分類パラメータを生成する。
分類器220Aは、学習器210Aから渡された特徴語等を参照して、分類対象文書330の特徴ベクトルを生成する。
分類器コア221は、分類器220Aの一部であり、学習器210Aから渡された分類パラメータと分類器220Aが生成した特徴ベクトルとを入力とし、分類されるカテゴリに属するか否かを判定する。
【0022】
図4は、学習器210Aの処理の流れの一例を示す。
学習器210Aは、まず、分類されるカテゴリに属する正例の例題文書310から、そのカテゴリの特徴語を抽出する(S201)。ここで、特徴語は、例題文書310の構成を示す文字列であり、以下の特徴語の例(1)〜(7)に示すような文書のレイアウト上特徴のある語である。
(1)文書タイトルのように、文書の最初のページの中央または上部中央に表われ、文字サイズが大きかったり、目立つ色が使用されていたりする語
(2)見出し語のように、項目番号が割り振らており、所定の文字数以下の語
(3)文書が所定の帳票のフォーマットを有する場合、その帳票に現れる帳票名称や項目名
(4)他の文字に比べて文字サイズが大きかったり、イタリック体であったり、下線が引いてあったり、強調文字(太字)が使用されていたり、他の文字に使われている色と異なる目立つ色であったり、他の文字に使われているフォントと異なるフォントであったりというレイアウト上の特徴の少なくとも1つを有する語
(5)文書の右上または左上に記載され、XXXX会議資料、XXXX提出、XXXX御中、XXXX様などのように、資料の送付先または閲覧者を示す語
(6)番号、「・」、「●」等の箇条書きを示す文字が行頭についており、所定の文字数以下の語
(7)[発明の開示]のように、[]『』などの括弧で括られた所定の文字数以下の語
なお、「文字サイズ、下線付き、項目番号の有無等」をパラグラフや文字列のスタイルといい、「右上、左上、真ん中上部のような文字列のページ上の位置」をレイアウトという場合もあるが、本明細書と特許請求の範囲では、レイアウトという用語はスタイルを含むものとして用いる。
【0023】
図5は、カテゴリが議事録である分類対象文書330の一例を示す。図5の議事録での特徴語として、環境対策会議議事録、日時、場所、出席者、決定事項、議事内容がある。これらの特徴語は、上述したような上部中央にあることや、番号が割り振られていること等のレイアウト上の特徴に基づいてコンピュータが識別することができる。
文字や文字列のフォント情報や位置情報を参照することで、このようなレイアウト上の特徴を持つ語を正例の例題文書310から抽出することができるのは明らかであり、そのアルゴリズムの説明は省略する。
文書のタイトルも特徴語となりえるが、タイトルには、第X回、YYYY/MM/DDなど、回数や日付を含む場合が多く、これらを除いたものを特徴語とする。
また、上述した特徴語の例(5)に示した、XXXX提出、XXXX御中、XXXX様などの例では、提出/御中/様などの部分を除いたものを特徴語とする。
【0024】
次に、学習器210Aは、各例題文書310に含まれる特徴語から、特徴語の含有パラメータを求める(S202)。含有パラメータは、分類されるカテゴリに属する文書中に含まれていなければならない特徴語の度合いを定める。含有パラメータとしては、例えば、分類されるカテゴリに属する文書が最低何語の特徴語を含むか、分類されるカテゴリに属する文書が出現頻度の高い特徴語を最低何語含むか、分類されるカテゴリに属する文書に必須の特徴語、特徴語の文書全体の単語に占める割合等がある。含有パラメータは、正例の各例題文書310が満たすように求められるのは当然であるが、ある程度の余裕を持って求められる。例えば、図5の議事録の例は、環境対策会議議事録、日時、場所、出席者、決定事項、議事内容の6つの特徴語を含むが、余裕を持って、分類されるカテゴリに属する文書は最低4つの特徴語を含む等である。
【0025】
次に、学習器210Aは、分類されるカテゴリに属さない反例文書を利用者に選択してもらうために、記憶部130に蓄積されている既存文書320の中から、ステップS202で定めた含有パラメータを満たす範囲で特徴語を含むものを検索し、検索された文書から正例の例題文書を除いた文書を、表示部150に表示し、反例候補文書として利用者に提示する(S203)。
【0026】
利用者は、表示部150に表示された反例候補文書の中から反例文書を選択し、入力部140から選択された反例文書を示す情報を入力する。
学習器210Aは、正例である各例題文書310の特徴ベクトルと利用者によって選択された各反例文書の特徴ベクトルとを生成する(S204)。次に、学習器210Aは、各例題文書310の特徴ベクトルと各反例文書の特徴ベクトルとを学習器コア211に与え、各例題文書310の特徴ベクトルと各反例文書の特徴ベクトルに基づいて分類パラメータを求める(S205)。
学習器コア211自体は本発明の対象外であり、詳細は省略する。代表的学習器コアとしてSVMがある。
学習器コア211に入力される特徴ベクトルは、例えば、図6に示すように文書全体に各特徴語が含まれるか否かを示す0/1のベクトルデータや、図7に示すように文書全体に含まれる語に対する各特徴語が占める割合のベクトルデータである。図6のベクトルデータは、環境対策会議議事録、日時、場所、出席者、決定事項、議事内容という6つの特徴語の有無を示す0/1が並んでいる。また、図7のベクトルデータは、文書全体に含まれる語に占めるこれら6つの特徴語の割合が並んでいる。図6と図7のベクトルデータは、両方とも第5の要素が0となっているが、これは文書中に5番目の特徴語(決定事項)が含まれないことを示している。
最後に、学習器210Aは、特徴語と含有パラメータと分類パラメータを分類器220に渡す(S206)。
【0027】
図8は、分類器220Aの処理の流れの一例を示す。
分類器220Aは、学習器210Aから渡された各特徴語と同一の特徴語を分類対象文書330から抽出し、特徴ベクトルを生成する(S301)。分類器220Aによる特徴ベクトルの生成方法は、上述した学習器210Aでの生成方法と同じである。
次に、分類器220Aは、抽出した特徴ベクトルが含有パラメータを満たすか検査し、満たさない場合(S302:No)、分類されるカテゴリに属さないと判定する(S303)。
一方、特徴ベクトルが含有パラメータを満たす場合(S302:Yes)には、分類器220Aは、ステップS301で生成した特徴ベクトルと、学習器210Aから渡された分類パラメータとを分類器コア221に与えて、分類対象文書330が分類されるカテゴリに属するか否か分類器コア221に判定させる(S304)。
分類器コア221は、ステップS301で生成した分類対象文書330の特徴ベクトルと、学習器210Aから渡された分類パラメータとに基づいて分類対象文書330が分類されるカテゴリに属するか否か判定する。なお、学習器コア210と同様に分類器コア220も本発明の対象外であり、代表的分類器コアもSVMである。ただし、入力データに当たる特徴ベクトルは本発明に含まれる。
なお、ステップS302とステップS303を省略することもできる。すなわち、ステップS301で生成した特徴ベクトルが含有パラメータを満たさない場合にも、特徴ベクトルを分類器コア221に与えて、分類対象文書330が分類されるカテゴリに属さないことを分類器コア221に判定させることもできる。
【0028】
上述した第1の実施形態では、文書全体に特徴語が含まれるか否かを示す0/1のベクトルデータ(図6)や、文書全体に含まれる語に対する特徴語が占める割合のベクトルデータ(図7)を特徴ベクトルとしたが、ステップS204やステップS301における特徴ベクトルの生成処理において、文書全体を対象とするのではなく、特徴語の例(1)〜(7)に示したような文書のレイアウト上特徴のある語を抽出して、その抽出した語に特徴語が含まれるか否かを示す0/1のベクトルデータや、その抽出した語に対する特徴語の割合のベクトルデータを特徴ベクトルとすることもできる。一般に文書のレイアウト上特徴をもつ語を抽出して特徴ベクトルを生成した方が文書全体から特徴ベクトルを生成するよりも高精度と考えられる。
【0029】
図4のステップS203においては、既存文書の中から、含有パラメータを満たす範囲で特徴語を含む文書を検索し、検索された文書から例題文書を除いて、反例候補文書として利用者に提示していたが、表示の順序については触れていなかった。学習器210Aの学習精度を向上するためには、特徴語の出現の仕方が例題文書に類似しているのにもかかわらず、分類されるカテゴリに属さない文書を反例文書として用意することが望ましい。このためには、反例候補文書を表示部150に表示するとき、特徴ベクトルの類似度が高い反例候補文書を上位に表示して利用者に提示し、特徴ベクトルの類似度が高い反例候補文書を利用者が選択しやすくするのが望ましい。
【0030】
図9は、図4のステップS203において、特徴ベクトルの類似度が高い反例候補文書を上位に表示する処理の一例を示す。
学習器210Aは、各例題文書301と各反例候補文書の特徴ベクトルを生成する(S401)。
学習器210Aは、各特徴ベクトルを長さ1に正規化する(S402)。具体的には、各特徴ベクトルの長さを求め、求めた長さで、各特徴ベクトルの要素を割る。
学習器210Aは、反例候補文書の正規化された特徴ベクトル毎に、各例題文書301の正規化された特徴ベクトルとの平均距離を求める(S403)。
学習器210Aは、各例題文書301の正規化された特徴ベクトルとの平均距離が短いほど特徴ベクトルの類似度が高いとみなし、平均距離の短いものから順番に反例候補文書を表示する(S404)。
なお、特徴ベクトルの長さは、特徴ベクトルの各要素の自乗の和の平方根を求めるのが一般的であるが、これに限る必要はない。反例候補文書の正規化された特徴ベクトルと例題文書の正規化された特徴ベクトルとの距離についても同様である。
また、上記説明では、各例題文書301の正規化された特徴ベクトルとの平均距離が短いものから順番に反例候補文書を表示したが、平均距離に替えて最短距離の短いものから表示してもよい。
更に、ステップS402で各特徴ベクトルを長さ1に正規化することなく、平均距離ないしは最短距離の短いものから表示することとしてもよい。
また、特徴ベクトル間の距離ではなく、特徴ベクトルのなす角度が小さいものほど特徴ベクトルの類似度が高いとみなし、特徴ベクトルのなす角度が小さいものから表示することとしてもよい。
更に、特徴ベクトルの類似度に基づいて反例候補文書の表示順序を決めるのではなく、特徴語を多く含む文書を上位に表示することとしてもよい。
【0031】
図10は、各例題文書301の正規化された特徴ベクトルとの平均距離の短いものから順番に反例候補文書の文書名を表示したウィンドウの一例を模式的に示す。
ウィンドウ右側のスクロールバー401を下に下ろすことで、平均距離が遠い文書名を表示することができる。マウスポインタ402で文書名を指定してマウスをクリックすることで、指定された文書を反例文書として選択することができる。また、マウスの別のクリック操作をすることで、文書のサムネール403を表示し、文書名だけではなく文書イメージを参考にして反例文書を選択することができる。
【0032】
図11は、図10とは異なる方法で反例候補文書を表示したウィンドウの一例を模式的に示す。
図10では、各例題文書301の正規化された特徴ベクトルとの平均距離が短いものから順番に表示していたが、図11では、平均距離が一定値以下ないしは短いものから上位100番目までの文書などと、何らかの条件で絞って、反例候補文書を表示する。
絞った後の表示方法は、Windows(登録商標)のExplorerなどOSに付属するファイル管理ツールと同様である。左側ウィンドウ501には反例候補文書のファイルがあるフォルダを階層的に表示する。スクロールバー503を用いて左側ウィンドウ501をスクロールすることができる。
【0033】
フォルダを選択するとフォルダ名が反転し、そのフォルダにある反例候補文書のファイルが右側ウィンドウ502に表示される。スクロールバー504を用いて右側ウィンドウ502をスクロールすることができる。図11では、個々のファイルは、ファイルのアイコンとファイル名で示されるが、ファイルのアイコンの変わりに反例候補文書のサムネールを表示する方法もある。
フォルダやファイルの表示順序は、フォルダ名やファイル名の順番に表示する方法もあるが、平均距離の短い反例候補文書から表示することも可能である。すなわち、一つのフォルダ内で平均距離の短い反例候補文書からファイルを表示したり、下位のフォルダも含めてフォルダに含まれるファイルで一番短い平均距離をそのフォルダの平均距離とみなして、短い平均距離のフォルダから表示したりする方法もある。
【0034】
上記では、分類されるカテゴリに属さない反例候補文書を、特徴ベクトルの平均距離やなす角度に基づいて定まる順番で表示する方法について説明した。学習器コア211としてSVMを用いた場合には、正例である例題文書の特徴ベクトルと反例候補文書の特徴ベクトルのなす角度ではなく、SVMのカーネルに応じた角度が小さいものほど特徴ベクトルの類似度が高いとみなし、SVMのカーネルに応じた角度が小さいものから順番に表示することもできる。
【0035】
ベクトルのなす角度はベクトルの内積から計算できるので、角度の計算方法を示す前に、SVMのカーネルにおける内積を説明する。
通常のベクトルの内積は、二つのベクトルの対応する要素の積の和である。3次元のベクトルx = (x1, x2, x3)とy = (y1, y2, y3)の内積x・yはx・y = x1 * y1 + x2 * y2 + x3 * y3で計算できる。一方でSVMの2次の多項式カーネルK(x, y)での内積はK(x, y) = (x・y)^2 = (x1 * y1 + x2 * y2 + x3
* y3)^2であり、ガウスカーネルK(x, y)での内積はK(x,
y) = exp(-(|x-y|^2)/2(s^2)) = exp(-((x1-y1)^2 + (x2-y2)^2 + (x3-y3)^2)/2(s^2))である。他のカーネルも知られているが、ここでは一般化してxとyのカーネルにおける内積をK(x,
y)と表す。すると、xとyのカーネルに応じたなす角のコサインの値はK(x, y)/(K(x, x)*K(y, y))^(1/2)であり、この値が大きいほどカーネルに応じたxとyとがなす角が小さい。
【0036】
このなす角のコサイン値K(x, y)/(K(x, x)*K(y, y))^(1/2)を用いて、図10に示した方法と同様に、反例候補文書と各例題文書との平均コサイン値が大きい反例候補文書、ないしは最大コサイン値が大きい反例候補文書から順に表示する。または、図11に示した方法と同様に、一定以上のコサイン値をもつ反例候補文書ないしは大きいコサイン値から上位一定数の反例候補文書を表示する。
【0037】
上述した第1の実施形態では、分類されるカテゴリ、すなわち、ある特定のカテゴリに属しているか否かを判定したが、複数あるカテゴリのうちどのカテゴリに属しているかを知りたい場合がある。このような場合には、第1の実施形態に係る文書分類システム101Aを用いてカテゴリ毎に分類対象文書330の分類処理を繰り返すことで複数カテゴリに対応することができる。
【0038】
ただし、複数カテゴリへの対応を効率化することもできる。
図12は、本発明の第2の実施形態に係る文書分類システム101Bの構成の一例を示す。
文書分類システム101Bは、学習器210Bと、分類器220Bとを有する。なお、学習器コア211と分類器コア221は、文書分類システム101Aと文書分類システム101Bとで同一である。
文書分類システム101Bは、カテゴリが複数ある場合に分類対象文書330が属するカテゴリを効率的に決定する。
学習器210Bは、複数のカテゴリ全てについて、それぞれ例題文書310から特徴語を抽出し、特徴語の含有パラメータを定める。そして、学習器210Bは、複数のカテゴリ全てについて、正例となる各例題文書310の特徴ベクトルと、既存文書320の中から選択された反例となる各反例文書の特徴ベクトルを生成する。
学習器コア211は、複数のカテゴリ全てについて、学習器210Aが生成した特徴ベクトルを入力とし、分類パラメータを生成する。
分類器220Bは、学習器210Bから渡された特徴語と含有パラメータを参照して、分類対象文書330が属する可能性のある各カテゴリについて、分類対象文書330の特徴ベクトルを生成する。
分類器コア221は、学習器210Bから渡された分類パラメータと分類器220Bが生成した特徴ベクトルとを入力とし、分類対象文書330が属する可能性のある各カテゴリに属するか否かを判定する。
【0039】
図13は、本発明の第2の実施形態に係る文書分類システム101Bの処理の流れの一例を示す。
学習器210Bは、複数のカテゴリ全てについて、特徴語と含有パラメータと分類パラメータとを求め、これらを分類器220に渡す(S501)。
分類器220Bは、複数のカテゴリ全てについて、学習器210から渡された各特徴語と同一の特徴語を分類対象文書330から抽出する(S502)。
次に、分類器220Bは、複数のカテゴリ全てについて、分類対象文書330から抽出した特徴語が学習器210Bから渡された含有パラメータを満たしているか否か検査し、満たしているカテゴリ、すなわち、分類対象文書330が属する可能性のあるカテゴリを求める(S503)。
そして、分類器220Bは、ステップS503で求められた分類対象文書330が属する可能性のあるカテゴリ毎に特徴ベクトルと分類パラメータを分類器コア221に与え、カテゴリに属するか否か判定する(S504)。
【0040】
以上説明したように、本発明によれば、記載する項目がほぼ決まっているが、項目内容量が異なり、項目が現れる文書中のページや位置が異なる文書においては、10数個の文書で学習すれば分類でき、学習に必要な文書が従来の1/100程度で済むという効果がある。これは、特徴語に注目して、学習と分類を行っているためであり、従来までの文書中の名詞やサ変名詞を特徴ベクトルに使った場合との違いである。
また、学習に必要なカテゴリに属さない反例候補文書を記憶装置に蓄積されている既存文書から検索して表示することで、カテゴリに属さない文書の収集の手間を削減することができる。また、表示の順序として、特徴ベクトルの類似度が高い反例候補文書や特徴語を多く含む反例候補文書を上位に表示することで、特徴語の出現の仕方が正例の例題文書に類似しているのにもかかわらず、分類されるカテゴリに属さない文書を利用者に選択させることができ、より高精度の学習が可能となる。
【符号の説明】
【0041】
100…コンピュータ、110…CPU、120…メモリ、130…記憶部、140…入力部、150…表示部、200…文書分類プログラム、101A、101B…文書分類システム、210A、210B…学習器、211…学習器コア、220A、220B…分類器、221…分類器コア、…、310…例題文書、320…既存文書、330…分類対象文書
【技術分野】
【0001】
本発明は、文書をカテゴリに分類する文書分類方法に関する。
【背景技術】
【0002】
これまでに研究や実用化が行われてきたテキスト分類方法では、テキストを複数のカテゴリに分類している。
【0003】
非特許文献1は、ニュース記事を政治や経済などのカテゴリに分類する技術を開示する。具体的には、非特許文献1に記載の分類技術は、ニュース記事のテキストから、名詞を中心とした単語が記事に含まれるか含まれないかを示す0/1の並びを特徴ベクトルとし、これをSupport Vector Machine
(SVM)と呼ばれる機械学習の技術を使ってカテゴリに分類している。
【0004】
非特許文献2は、電子メールというテキストを分類対象とし、電子メールがスパムか否かSVMを使って分類する技術を開示する。非特許文献2に記載の分類技術では、単純に単語を使った特徴ベクトルではなく、URL (Uniform Resource Locator)やメールアドレス、伏字などスパムによく現れる文字列を所定の文字列に置換することで、スパムの判定精度を向上させる。
【0005】
特許文献1は、分類時に注目する単語に関するものであり、分類済みの文書中の単語の出現頻度を調査、複数の分野で高い頻度で現れる単語を求め、この単語と同じ文書に現れる単語の出現頻度に着目して、文書を分類する技術を開示する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平10-254883号公報
【非特許文献】
【0007】
【非特許文献1】平博順, 春野雅彦,Support Vector Machineによるテキスト分類における属性選択, 情報処理学会論文誌, Vol.41, No.4, pp.1113-1123, 2000.
【非特許文献2】伊加田恵志, spamメールフィルタ, 沖テクニカルレビュー, Vol.73, No.1, 2006年1月.
【発明の開示】
【発明が解決しようとする課題】
【0008】
上述した各文献に記載された分類方法では、実際に分類する前にたくさんの学習用の分類済み文書を用いて分類器に学習させることが必要である。たとえば、非特許文献1では1,000の記事、非特許文献2では約3,000通のメールを使って分類器に学習させる。特許文献1には必要な分類済み文書数の記載はないが、非特許文献1や非特許文献2に記載の分類技術並みかそれ以上の文書が必要な可能性がある。
【0009】
しかし、実際に数百、数千の分類済みの文書やメールを用意するのは大変である。しかも、学習の際には、正例となる分類済みで例題となる文書やメールだけではなく、分類されるカテゴリに属さない非カテゴリ文書を反例として用意する必要があり、分類済みの文書を用意するのと同様に手間のかかる人手の作業となる。
【0010】
本発明の目的は、学習に必要な分類されるカテゴリに属する文書の数とそのカテゴリに属さない非カテゴリ文書の数を減少させることができる文書分類方法を提供することである。
【課題を解決するための手段】
【0011】
上述した課題を解決するために、本発明の文書分類方法は、
分類されるカテゴリに属する正例の例題文書から、文書のレイアウト上特徴のある語に基づいて特徴語を抽出する特徴語抽出ステップと、
前記特徴語に基づいて、分類されるカテゴリに属する文書中に含まれていなければならない特徴語の度合いを定める含有パラメータを求める含有パラメータ生成ステップと、
記憶部に蓄積されている既存文書の中から、前記含有パラメータを満たす特徴語を含む文書を検索し、検索された文書から前記例題文書を除いた文書を反例候補文書として利用者に提示する反例候補文書提示ステップと、
前記特徴語に基づいて、前記例題文書の特徴ベクトルと、利用者によって前記反例候補文書の中から選択された反例文書の特徴ベクトルとを生成する特徴ベクトル生成ステップと、
生成された前記例題文書の特徴ベクトルと前記反例文書の特徴ベクトルとに基づいて分類パラメータを求める分類パラメータ生成ステップと、
前記特徴語と前記分類パラメータとに基づいて分類対象の文書が前記分類されるカテゴリに属するか否かを判定する文書分類判定ステップと、
を備えることを特徴とする。
【0012】
好ましくは、
前記レイアウト上特徴のある語は、
文書の最初のページの中央または上部中央に表われ、文字サイズが大きい語、および/または目立つ色が使用されている語、
項目番号が割り振らており、所定の文字数以下の語、
前記例題文書が所定の帳票のフォーマットを有する場合、当該帳票に現れる帳票名称や項目名、
他の文字に比べて文字サイズが大きいという特徴、イタリック体であるという特徴、下線が引いてあるという特徴、強調文字が使用されているという特徴、他の文字に使われている色と異なる目立つ色であるという特徴、および他の文字に使われているフォントと異なるフォントであるという特徴のうちの少なくとも1つの特徴を有する語、
文書の右上または左上に記載され、資料の送付先または閲覧者を示す語、
箇条書きを示す所定の文字が行頭についており、所定の文字数以下の語、および
所定の括弧で括られた所定の文字数以下の語、
のいずれかである、
ことを特徴とする。
【0013】
好ましくは、本発明の文書分類方法は、
前記特徴ベクトル生成ステップにおいて、前記例題文書全体に含まれる前記特徴語に基づいて前記例題文書の特徴ベクトルを求め、前記反例候補文書全体に含まれる前記特徴語に基づいて前記反例候補文書の特徴ベクトルを求めることを特徴とする。
【0014】
好ましくは、本発明の文書分類方法は、
前記特徴ベクトル生成ステップにおいて、前記例題文書におけるレイアウト上特徴のある語に含まれる前記特徴語に基づいて前記例題文書の特徴ベクトルを求め、前記反例候補文書におけるレイアウト上特徴のある語に含まれる前記特徴語に基づいて前記反例候補文書の特徴ベクトルを求めることを特徴とする。
【0015】
好ましくは、本発明の文書分類方法は、
前記反例候補文書提示ステップにおいて、特徴ベクトルの類似度が高い反例候補文書から順番に利用者に提示されることを特徴とする。
【発明の効果】
【0016】
本発明によれば、学習に必要な分類されるカテゴリに属する文書の数とそのカテゴリに属さない非カテゴリ文書の数を減少させることができる。
【図面の簡単な説明】
【0017】
【図1】利用者の作業を含めた学習の流れの一例を示す図である。
【図2】本発明の実施形態に係る文書分類方法が実施されるコンピュータの構成の一例を示す図である。
【図3】本発明の第1の実施形態に係る文書分類システムの構成の一例を示す図である。
【図4】学習器の処理の流れの一例を示す図である。
【図5】カテゴリが議事録である分類対象文書の一例を示す図である。
【図6】学習器コアに入力される特徴ベクトルの一例を示す図である。
【図7】学習器コアに入力される特徴ベクトルの別の例を示す図である。
【図8】分類器の処理の流れの一例を示す図である。
【図9】図4のステップS203において、特徴ベクトルの類似度が高い反例候補文書を上位に表示する処理の一例を示す図である。
【図10】各例題文書の正規化された特徴ベクトルとの平均距離の短いものから順番に反例候補文書の文書名を表示したウィンドウの一例を模式的に示す図である。
【図11】図10とは異なる方法で反例候補文書を表示したウィンドウの一例を模式的に示す図である。
【図12】本発明の第2の実施形態に係る文書分類システムの構成の一例を示す図である。
【図13】本発明の第2の実施形態に係る文書分類システムの処理の流れの一例を示す図である。
【発明を実施するための形態】
【0018】
最初に、図1を参照して利用者の作業を含めた学習の流れを説明する。
まず、利用者は分類されるカテゴリの文書(以下、例題文書という。)を収集する(S101)。例題文書は。例えばオフィス文書である。カテゴリとしては、契約文書、企画提案文書、見積書、システム提案資料、研究報告書、議事録などがある。本発明では、一つのカテゴリに属する文書の構成は、ほぼ同一であることを前提としている。ここで構成とは、文書に含まれる章/セクション/項目のことである。たとえば、議事録なら、タイトル、出席者、日時、場所、議事録配布先、決定事項、議事内容などの項目がある。例題文書は文書分類システムが学習する際の正例のデータとなる。
次に、利用者は例題文書を文書分類システムに入力する(S102)。
文書分類システムは、入力された例題文書に含まれるレイアウト上特徴を有する語の中から特徴語を抽出する。更に、文書分類システムは、分類されるカテゴリに属さず学習の反例となる文書の候補(以下、反例候補文書という。)を所定の記憶装置に蓄積されている既存文書の中から検索して、画面に表示し、利用者に選択を促す(S103)。
利用者は、画面に表示された反例候補文書の中から、分類されるカテゴリに属さない反例となる文書(以下、反例文書という。)を選択する(S104)。
文書分類システムは、特徴語に基づいて例題文書と反例文書の特徴ベクトルを生成する。そして、文書分類システムは、生成された例題文書と反例文書の特徴ベクトルに基づいて分類対象の文書(以下、分類対象文書という。)が分類されるカテゴリに属するか否かを判定するための分類パラメータを生成する(S105)。
上述した学習の後、文書分類システムは、生成された分類パラメータを用いて分類対象文書をカテゴリに分類する。
【0019】
本発明の実施形態に係る文書分類方法は、図2に示すように、例えば、コンピュータ100を用いて実施される。
コンピュータ100は、CPU(Central Processing Unit)110と、メモリ120と、記憶部130と、入力部140と、表示部150とを有している。
メモリ120は、RAM(Random Access Memory)やROM(Read Only Memory)等で構成される。メモリ120は、文書分類プログラム200を記憶している。CPU110が、文書分類プログラム200を実行することにより、後述する第1の実施形態または第2の実施形態に係る文書分類システムの機能が実現される。
記憶部130は、ハードディスク装置等の磁気ディスク装置やDVD(Digital Versatile Disc)等の光ディスク装置等で構成される。記憶部130は、例題文書310と、既存文書320と、分類対象文書330とを記憶する。
入力部140は、キーボードやマウス等で構成される。入力部140は、利用者による操作を受けつける。
表示部150は、ディスプレイやプリンタ等で構成される。表示部150は、例えば、分類対象文書330が分類されたカテゴリ等を表示する。
【0020】
以下、本発明の実施形態に係る文書分類方法について、図面を参照しながら説明する。
【0021】
図3は、本発明の第1の実施形態に係る文書分類システム101Aの構成の一例を示す。
文書分類システム101Aは、学習器210Aと、分類器220Aとを有する。
学習器210Aは、例題文書310から特徴語を抽出する。そして、学習器210Aは、抽出された特徴語に基づいて正例となる複数の例題文書310の特徴ベクトルと、既存文書320の中から選択された反例となる複数の反例文書の特徴ベクトルを生成する。
学習器コア211は、学習器210Aの一部であり、学習器210Aが生成した特徴ベクトルを入力とし、分類パラメータを生成する。
分類器220Aは、学習器210Aから渡された特徴語等を参照して、分類対象文書330の特徴ベクトルを生成する。
分類器コア221は、分類器220Aの一部であり、学習器210Aから渡された分類パラメータと分類器220Aが生成した特徴ベクトルとを入力とし、分類されるカテゴリに属するか否かを判定する。
【0022】
図4は、学習器210Aの処理の流れの一例を示す。
学習器210Aは、まず、分類されるカテゴリに属する正例の例題文書310から、そのカテゴリの特徴語を抽出する(S201)。ここで、特徴語は、例題文書310の構成を示す文字列であり、以下の特徴語の例(1)〜(7)に示すような文書のレイアウト上特徴のある語である。
(1)文書タイトルのように、文書の最初のページの中央または上部中央に表われ、文字サイズが大きかったり、目立つ色が使用されていたりする語
(2)見出し語のように、項目番号が割り振らており、所定の文字数以下の語
(3)文書が所定の帳票のフォーマットを有する場合、その帳票に現れる帳票名称や項目名
(4)他の文字に比べて文字サイズが大きかったり、イタリック体であったり、下線が引いてあったり、強調文字(太字)が使用されていたり、他の文字に使われている色と異なる目立つ色であったり、他の文字に使われているフォントと異なるフォントであったりというレイアウト上の特徴の少なくとも1つを有する語
(5)文書の右上または左上に記載され、XXXX会議資料、XXXX提出、XXXX御中、XXXX様などのように、資料の送付先または閲覧者を示す語
(6)番号、「・」、「●」等の箇条書きを示す文字が行頭についており、所定の文字数以下の語
(7)[発明の開示]のように、[]『』などの括弧で括られた所定の文字数以下の語
なお、「文字サイズ、下線付き、項目番号の有無等」をパラグラフや文字列のスタイルといい、「右上、左上、真ん中上部のような文字列のページ上の位置」をレイアウトという場合もあるが、本明細書と特許請求の範囲では、レイアウトという用語はスタイルを含むものとして用いる。
【0023】
図5は、カテゴリが議事録である分類対象文書330の一例を示す。図5の議事録での特徴語として、環境対策会議議事録、日時、場所、出席者、決定事項、議事内容がある。これらの特徴語は、上述したような上部中央にあることや、番号が割り振られていること等のレイアウト上の特徴に基づいてコンピュータが識別することができる。
文字や文字列のフォント情報や位置情報を参照することで、このようなレイアウト上の特徴を持つ語を正例の例題文書310から抽出することができるのは明らかであり、そのアルゴリズムの説明は省略する。
文書のタイトルも特徴語となりえるが、タイトルには、第X回、YYYY/MM/DDなど、回数や日付を含む場合が多く、これらを除いたものを特徴語とする。
また、上述した特徴語の例(5)に示した、XXXX提出、XXXX御中、XXXX様などの例では、提出/御中/様などの部分を除いたものを特徴語とする。
【0024】
次に、学習器210Aは、各例題文書310に含まれる特徴語から、特徴語の含有パラメータを求める(S202)。含有パラメータは、分類されるカテゴリに属する文書中に含まれていなければならない特徴語の度合いを定める。含有パラメータとしては、例えば、分類されるカテゴリに属する文書が最低何語の特徴語を含むか、分類されるカテゴリに属する文書が出現頻度の高い特徴語を最低何語含むか、分類されるカテゴリに属する文書に必須の特徴語、特徴語の文書全体の単語に占める割合等がある。含有パラメータは、正例の各例題文書310が満たすように求められるのは当然であるが、ある程度の余裕を持って求められる。例えば、図5の議事録の例は、環境対策会議議事録、日時、場所、出席者、決定事項、議事内容の6つの特徴語を含むが、余裕を持って、分類されるカテゴリに属する文書は最低4つの特徴語を含む等である。
【0025】
次に、学習器210Aは、分類されるカテゴリに属さない反例文書を利用者に選択してもらうために、記憶部130に蓄積されている既存文書320の中から、ステップS202で定めた含有パラメータを満たす範囲で特徴語を含むものを検索し、検索された文書から正例の例題文書を除いた文書を、表示部150に表示し、反例候補文書として利用者に提示する(S203)。
【0026】
利用者は、表示部150に表示された反例候補文書の中から反例文書を選択し、入力部140から選択された反例文書を示す情報を入力する。
学習器210Aは、正例である各例題文書310の特徴ベクトルと利用者によって選択された各反例文書の特徴ベクトルとを生成する(S204)。次に、学習器210Aは、各例題文書310の特徴ベクトルと各反例文書の特徴ベクトルとを学習器コア211に与え、各例題文書310の特徴ベクトルと各反例文書の特徴ベクトルに基づいて分類パラメータを求める(S205)。
学習器コア211自体は本発明の対象外であり、詳細は省略する。代表的学習器コアとしてSVMがある。
学習器コア211に入力される特徴ベクトルは、例えば、図6に示すように文書全体に各特徴語が含まれるか否かを示す0/1のベクトルデータや、図7に示すように文書全体に含まれる語に対する各特徴語が占める割合のベクトルデータである。図6のベクトルデータは、環境対策会議議事録、日時、場所、出席者、決定事項、議事内容という6つの特徴語の有無を示す0/1が並んでいる。また、図7のベクトルデータは、文書全体に含まれる語に占めるこれら6つの特徴語の割合が並んでいる。図6と図7のベクトルデータは、両方とも第5の要素が0となっているが、これは文書中に5番目の特徴語(決定事項)が含まれないことを示している。
最後に、学習器210Aは、特徴語と含有パラメータと分類パラメータを分類器220に渡す(S206)。
【0027】
図8は、分類器220Aの処理の流れの一例を示す。
分類器220Aは、学習器210Aから渡された各特徴語と同一の特徴語を分類対象文書330から抽出し、特徴ベクトルを生成する(S301)。分類器220Aによる特徴ベクトルの生成方法は、上述した学習器210Aでの生成方法と同じである。
次に、分類器220Aは、抽出した特徴ベクトルが含有パラメータを満たすか検査し、満たさない場合(S302:No)、分類されるカテゴリに属さないと判定する(S303)。
一方、特徴ベクトルが含有パラメータを満たす場合(S302:Yes)には、分類器220Aは、ステップS301で生成した特徴ベクトルと、学習器210Aから渡された分類パラメータとを分類器コア221に与えて、分類対象文書330が分類されるカテゴリに属するか否か分類器コア221に判定させる(S304)。
分類器コア221は、ステップS301で生成した分類対象文書330の特徴ベクトルと、学習器210Aから渡された分類パラメータとに基づいて分類対象文書330が分類されるカテゴリに属するか否か判定する。なお、学習器コア210と同様に分類器コア220も本発明の対象外であり、代表的分類器コアもSVMである。ただし、入力データに当たる特徴ベクトルは本発明に含まれる。
なお、ステップS302とステップS303を省略することもできる。すなわち、ステップS301で生成した特徴ベクトルが含有パラメータを満たさない場合にも、特徴ベクトルを分類器コア221に与えて、分類対象文書330が分類されるカテゴリに属さないことを分類器コア221に判定させることもできる。
【0028】
上述した第1の実施形態では、文書全体に特徴語が含まれるか否かを示す0/1のベクトルデータ(図6)や、文書全体に含まれる語に対する特徴語が占める割合のベクトルデータ(図7)を特徴ベクトルとしたが、ステップS204やステップS301における特徴ベクトルの生成処理において、文書全体を対象とするのではなく、特徴語の例(1)〜(7)に示したような文書のレイアウト上特徴のある語を抽出して、その抽出した語に特徴語が含まれるか否かを示す0/1のベクトルデータや、その抽出した語に対する特徴語の割合のベクトルデータを特徴ベクトルとすることもできる。一般に文書のレイアウト上特徴をもつ語を抽出して特徴ベクトルを生成した方が文書全体から特徴ベクトルを生成するよりも高精度と考えられる。
【0029】
図4のステップS203においては、既存文書の中から、含有パラメータを満たす範囲で特徴語を含む文書を検索し、検索された文書から例題文書を除いて、反例候補文書として利用者に提示していたが、表示の順序については触れていなかった。学習器210Aの学習精度を向上するためには、特徴語の出現の仕方が例題文書に類似しているのにもかかわらず、分類されるカテゴリに属さない文書を反例文書として用意することが望ましい。このためには、反例候補文書を表示部150に表示するとき、特徴ベクトルの類似度が高い反例候補文書を上位に表示して利用者に提示し、特徴ベクトルの類似度が高い反例候補文書を利用者が選択しやすくするのが望ましい。
【0030】
図9は、図4のステップS203において、特徴ベクトルの類似度が高い反例候補文書を上位に表示する処理の一例を示す。
学習器210Aは、各例題文書301と各反例候補文書の特徴ベクトルを生成する(S401)。
学習器210Aは、各特徴ベクトルを長さ1に正規化する(S402)。具体的には、各特徴ベクトルの長さを求め、求めた長さで、各特徴ベクトルの要素を割る。
学習器210Aは、反例候補文書の正規化された特徴ベクトル毎に、各例題文書301の正規化された特徴ベクトルとの平均距離を求める(S403)。
学習器210Aは、各例題文書301の正規化された特徴ベクトルとの平均距離が短いほど特徴ベクトルの類似度が高いとみなし、平均距離の短いものから順番に反例候補文書を表示する(S404)。
なお、特徴ベクトルの長さは、特徴ベクトルの各要素の自乗の和の平方根を求めるのが一般的であるが、これに限る必要はない。反例候補文書の正規化された特徴ベクトルと例題文書の正規化された特徴ベクトルとの距離についても同様である。
また、上記説明では、各例題文書301の正規化された特徴ベクトルとの平均距離が短いものから順番に反例候補文書を表示したが、平均距離に替えて最短距離の短いものから表示してもよい。
更に、ステップS402で各特徴ベクトルを長さ1に正規化することなく、平均距離ないしは最短距離の短いものから表示することとしてもよい。
また、特徴ベクトル間の距離ではなく、特徴ベクトルのなす角度が小さいものほど特徴ベクトルの類似度が高いとみなし、特徴ベクトルのなす角度が小さいものから表示することとしてもよい。
更に、特徴ベクトルの類似度に基づいて反例候補文書の表示順序を決めるのではなく、特徴語を多く含む文書を上位に表示することとしてもよい。
【0031】
図10は、各例題文書301の正規化された特徴ベクトルとの平均距離の短いものから順番に反例候補文書の文書名を表示したウィンドウの一例を模式的に示す。
ウィンドウ右側のスクロールバー401を下に下ろすことで、平均距離が遠い文書名を表示することができる。マウスポインタ402で文書名を指定してマウスをクリックすることで、指定された文書を反例文書として選択することができる。また、マウスの別のクリック操作をすることで、文書のサムネール403を表示し、文書名だけではなく文書イメージを参考にして反例文書を選択することができる。
【0032】
図11は、図10とは異なる方法で反例候補文書を表示したウィンドウの一例を模式的に示す。
図10では、各例題文書301の正規化された特徴ベクトルとの平均距離が短いものから順番に表示していたが、図11では、平均距離が一定値以下ないしは短いものから上位100番目までの文書などと、何らかの条件で絞って、反例候補文書を表示する。
絞った後の表示方法は、Windows(登録商標)のExplorerなどOSに付属するファイル管理ツールと同様である。左側ウィンドウ501には反例候補文書のファイルがあるフォルダを階層的に表示する。スクロールバー503を用いて左側ウィンドウ501をスクロールすることができる。
【0033】
フォルダを選択するとフォルダ名が反転し、そのフォルダにある反例候補文書のファイルが右側ウィンドウ502に表示される。スクロールバー504を用いて右側ウィンドウ502をスクロールすることができる。図11では、個々のファイルは、ファイルのアイコンとファイル名で示されるが、ファイルのアイコンの変わりに反例候補文書のサムネールを表示する方法もある。
フォルダやファイルの表示順序は、フォルダ名やファイル名の順番に表示する方法もあるが、平均距離の短い反例候補文書から表示することも可能である。すなわち、一つのフォルダ内で平均距離の短い反例候補文書からファイルを表示したり、下位のフォルダも含めてフォルダに含まれるファイルで一番短い平均距離をそのフォルダの平均距離とみなして、短い平均距離のフォルダから表示したりする方法もある。
【0034】
上記では、分類されるカテゴリに属さない反例候補文書を、特徴ベクトルの平均距離やなす角度に基づいて定まる順番で表示する方法について説明した。学習器コア211としてSVMを用いた場合には、正例である例題文書の特徴ベクトルと反例候補文書の特徴ベクトルのなす角度ではなく、SVMのカーネルに応じた角度が小さいものほど特徴ベクトルの類似度が高いとみなし、SVMのカーネルに応じた角度が小さいものから順番に表示することもできる。
【0035】
ベクトルのなす角度はベクトルの内積から計算できるので、角度の計算方法を示す前に、SVMのカーネルにおける内積を説明する。
通常のベクトルの内積は、二つのベクトルの対応する要素の積の和である。3次元のベクトルx = (x1, x2, x3)とy = (y1, y2, y3)の内積x・yはx・y = x1 * y1 + x2 * y2 + x3 * y3で計算できる。一方でSVMの2次の多項式カーネルK(x, y)での内積はK(x, y) = (x・y)^2 = (x1 * y1 + x2 * y2 + x3
* y3)^2であり、ガウスカーネルK(x, y)での内積はK(x,
y) = exp(-(|x-y|^2)/2(s^2)) = exp(-((x1-y1)^2 + (x2-y2)^2 + (x3-y3)^2)/2(s^2))である。他のカーネルも知られているが、ここでは一般化してxとyのカーネルにおける内積をK(x,
y)と表す。すると、xとyのカーネルに応じたなす角のコサインの値はK(x, y)/(K(x, x)*K(y, y))^(1/2)であり、この値が大きいほどカーネルに応じたxとyとがなす角が小さい。
【0036】
このなす角のコサイン値K(x, y)/(K(x, x)*K(y, y))^(1/2)を用いて、図10に示した方法と同様に、反例候補文書と各例題文書との平均コサイン値が大きい反例候補文書、ないしは最大コサイン値が大きい反例候補文書から順に表示する。または、図11に示した方法と同様に、一定以上のコサイン値をもつ反例候補文書ないしは大きいコサイン値から上位一定数の反例候補文書を表示する。
【0037】
上述した第1の実施形態では、分類されるカテゴリ、すなわち、ある特定のカテゴリに属しているか否かを判定したが、複数あるカテゴリのうちどのカテゴリに属しているかを知りたい場合がある。このような場合には、第1の実施形態に係る文書分類システム101Aを用いてカテゴリ毎に分類対象文書330の分類処理を繰り返すことで複数カテゴリに対応することができる。
【0038】
ただし、複数カテゴリへの対応を効率化することもできる。
図12は、本発明の第2の実施形態に係る文書分類システム101Bの構成の一例を示す。
文書分類システム101Bは、学習器210Bと、分類器220Bとを有する。なお、学習器コア211と分類器コア221は、文書分類システム101Aと文書分類システム101Bとで同一である。
文書分類システム101Bは、カテゴリが複数ある場合に分類対象文書330が属するカテゴリを効率的に決定する。
学習器210Bは、複数のカテゴリ全てについて、それぞれ例題文書310から特徴語を抽出し、特徴語の含有パラメータを定める。そして、学習器210Bは、複数のカテゴリ全てについて、正例となる各例題文書310の特徴ベクトルと、既存文書320の中から選択された反例となる各反例文書の特徴ベクトルを生成する。
学習器コア211は、複数のカテゴリ全てについて、学習器210Aが生成した特徴ベクトルを入力とし、分類パラメータを生成する。
分類器220Bは、学習器210Bから渡された特徴語と含有パラメータを参照して、分類対象文書330が属する可能性のある各カテゴリについて、分類対象文書330の特徴ベクトルを生成する。
分類器コア221は、学習器210Bから渡された分類パラメータと分類器220Bが生成した特徴ベクトルとを入力とし、分類対象文書330が属する可能性のある各カテゴリに属するか否かを判定する。
【0039】
図13は、本発明の第2の実施形態に係る文書分類システム101Bの処理の流れの一例を示す。
学習器210Bは、複数のカテゴリ全てについて、特徴語と含有パラメータと分類パラメータとを求め、これらを分類器220に渡す(S501)。
分類器220Bは、複数のカテゴリ全てについて、学習器210から渡された各特徴語と同一の特徴語を分類対象文書330から抽出する(S502)。
次に、分類器220Bは、複数のカテゴリ全てについて、分類対象文書330から抽出した特徴語が学習器210Bから渡された含有パラメータを満たしているか否か検査し、満たしているカテゴリ、すなわち、分類対象文書330が属する可能性のあるカテゴリを求める(S503)。
そして、分類器220Bは、ステップS503で求められた分類対象文書330が属する可能性のあるカテゴリ毎に特徴ベクトルと分類パラメータを分類器コア221に与え、カテゴリに属するか否か判定する(S504)。
【0040】
以上説明したように、本発明によれば、記載する項目がほぼ決まっているが、項目内容量が異なり、項目が現れる文書中のページや位置が異なる文書においては、10数個の文書で学習すれば分類でき、学習に必要な文書が従来の1/100程度で済むという効果がある。これは、特徴語に注目して、学習と分類を行っているためであり、従来までの文書中の名詞やサ変名詞を特徴ベクトルに使った場合との違いである。
また、学習に必要なカテゴリに属さない反例候補文書を記憶装置に蓄積されている既存文書から検索して表示することで、カテゴリに属さない文書の収集の手間を削減することができる。また、表示の順序として、特徴ベクトルの類似度が高い反例候補文書や特徴語を多く含む反例候補文書を上位に表示することで、特徴語の出現の仕方が正例の例題文書に類似しているのにもかかわらず、分類されるカテゴリに属さない文書を利用者に選択させることができ、より高精度の学習が可能となる。
【符号の説明】
【0041】
100…コンピュータ、110…CPU、120…メモリ、130…記憶部、140…入力部、150…表示部、200…文書分類プログラム、101A、101B…文書分類システム、210A、210B…学習器、211…学習器コア、220A、220B…分類器、221…分類器コア、…、310…例題文書、320…既存文書、330…分類対象文書
【特許請求の範囲】
【請求項1】
分類されるカテゴリに属する正例の例題文書から、文書のレイアウト上特徴のある語に基づいて特徴語を抽出する特徴語抽出ステップと、
前記特徴語に基づいて、分類されるカテゴリに属する文書中に含まれていなければならない特徴語の度合いを定める含有パラメータを求める含有パラメータ生成ステップと、
記憶部に蓄積されている既存文書の中から、前記含有パラメータを満たす特徴語を含む文書を検索し、検索された文書から前記例題文書を除いた文書を反例候補文書として利用者に提示する反例候補文書提示ステップと、
前記特徴語に基づいて、前記例題文書の特徴ベクトルと、利用者によって前記反例候補文書の中から選択された反例文書の特徴ベクトルとを生成する特徴ベクトル生成ステップと、
生成された前記例題文書の特徴ベクトルと前記反例文書の特徴ベクトルとに基づいて分類パラメータを求める分類パラメータ生成ステップと、
前記特徴語と前記分類パラメータとに基づいて分類対象の文書が前記分類されるカテゴリに属するか否かを判定する文書分類判定ステップと、
を備えることを特徴とする文書分類方法。
【請求項2】
前記レイアウト上特徴のある語は、
文書の最初のページの中央または上部中央に表われ、文字サイズが大きい語、および/または目立つ色が使用されている語、
項目番号が割り振らており、所定の文字数以下の語、
前記例題文書が所定の帳票のフォーマットを有する場合、当該帳票に現れる帳票名称や項目名、
他の文字に比べて文字サイズが大きいという特徴、イタリック体であるという特徴、下線が引いてあるという特徴、強調文字が使用されているという特徴、他の文字に使われている色と異なる目立つ色であるという特徴、および他の文字に使われているフォントと異なるフォントであるという特徴のうちの少なくとも1つの特徴を有する語、
文書の右上または左上に記載され、資料の送付先または閲覧者を示す語、
箇条書きを示す所定の文字が行頭についており、所定の文字数以下の語、および
所定の括弧で括られた所定の文字数以下の語、
のいずれかである、
ことを特徴とする請求項1に記載の文書分類方法。
【請求項3】
前記特徴ベクトル生成ステップにおいて、前記例題文書全体に含まれる前記特徴語に基づいて前記例題文書の特徴ベクトルを求め、前記反例候補文書全体に含まれる前記特徴語に基づいて前記反例候補文書の特徴ベクトルを求めることを特徴とする請求項1または2に記載の文書分類方法。
【請求項4】
前記特徴ベクトル生成ステップにおいて、前記例題文書におけるレイアウト上特徴のある語に含まれる前記特徴語に基づいて前記例題文書の特徴ベクトルを求め、前記反例候補文書におけるレイアウト上特徴のある語に含まれる前記特徴語に基づいて前記反例候補文書の特徴ベクトルを求めることを特徴とする請求項1または2に記載の文書分類方法。
【請求項5】
前記反例候補文書提示ステップにおいて、特徴ベクトルの類似度が高い反例候補文書から順番に利用者に提示されることを特徴とする請求項1ないし4のいずれか1項に記載の文書分類方法。
【請求項1】
分類されるカテゴリに属する正例の例題文書から、文書のレイアウト上特徴のある語に基づいて特徴語を抽出する特徴語抽出ステップと、
前記特徴語に基づいて、分類されるカテゴリに属する文書中に含まれていなければならない特徴語の度合いを定める含有パラメータを求める含有パラメータ生成ステップと、
記憶部に蓄積されている既存文書の中から、前記含有パラメータを満たす特徴語を含む文書を検索し、検索された文書から前記例題文書を除いた文書を反例候補文書として利用者に提示する反例候補文書提示ステップと、
前記特徴語に基づいて、前記例題文書の特徴ベクトルと、利用者によって前記反例候補文書の中から選択された反例文書の特徴ベクトルとを生成する特徴ベクトル生成ステップと、
生成された前記例題文書の特徴ベクトルと前記反例文書の特徴ベクトルとに基づいて分類パラメータを求める分類パラメータ生成ステップと、
前記特徴語と前記分類パラメータとに基づいて分類対象の文書が前記分類されるカテゴリに属するか否かを判定する文書分類判定ステップと、
を備えることを特徴とする文書分類方法。
【請求項2】
前記レイアウト上特徴のある語は、
文書の最初のページの中央または上部中央に表われ、文字サイズが大きい語、および/または目立つ色が使用されている語、
項目番号が割り振らており、所定の文字数以下の語、
前記例題文書が所定の帳票のフォーマットを有する場合、当該帳票に現れる帳票名称や項目名、
他の文字に比べて文字サイズが大きいという特徴、イタリック体であるという特徴、下線が引いてあるという特徴、強調文字が使用されているという特徴、他の文字に使われている色と異なる目立つ色であるという特徴、および他の文字に使われているフォントと異なるフォントであるという特徴のうちの少なくとも1つの特徴を有する語、
文書の右上または左上に記載され、資料の送付先または閲覧者を示す語、
箇条書きを示す所定の文字が行頭についており、所定の文字数以下の語、および
所定の括弧で括られた所定の文字数以下の語、
のいずれかである、
ことを特徴とする請求項1に記載の文書分類方法。
【請求項3】
前記特徴ベクトル生成ステップにおいて、前記例題文書全体に含まれる前記特徴語に基づいて前記例題文書の特徴ベクトルを求め、前記反例候補文書全体に含まれる前記特徴語に基づいて前記反例候補文書の特徴ベクトルを求めることを特徴とする請求項1または2に記載の文書分類方法。
【請求項4】
前記特徴ベクトル生成ステップにおいて、前記例題文書におけるレイアウト上特徴のある語に含まれる前記特徴語に基づいて前記例題文書の特徴ベクトルを求め、前記反例候補文書におけるレイアウト上特徴のある語に含まれる前記特徴語に基づいて前記反例候補文書の特徴ベクトルを求めることを特徴とする請求項1または2に記載の文書分類方法。
【請求項5】
前記反例候補文書提示ステップにおいて、特徴ベクトルの類似度が高い反例候補文書から順番に利用者に提示されることを特徴とする請求項1ないし4のいずれか1項に記載の文書分類方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2013−61757(P2013−61757A)
【公開日】平成25年4月4日(2013.4.4)
【国際特許分類】
【出願番号】特願2011−199075(P2011−199075)
【出願日】平成23年9月13日(2011.9.13)
【出願人】(000233055)株式会社日立ソリューションズ (1,610)
【公開日】平成25年4月4日(2013.4.4)
【国際特許分類】
【出願日】平成23年9月13日(2011.9.13)
【出願人】(000233055)株式会社日立ソリューションズ (1,610)
[ Back to top ]