(57)【要約】【課題】テキスト文書において、ヘッダの種類ごとに、文書のページを分類する。【解決手段】各ページをヘッダの種類ごとに分類するページ分類装置であって、テキスト文書のページ上端に設定された判定対象行数を取得する行数取得部と、予め定められた最大グループ数Ｎｍａｘを取得するグループ数取得部と、テキスト文書に含まれる全ページを、それぞれ異なるグループに割り当てる割当部と、２グループの全組合せについて、テキスト文書の各ページの判定対象行数に含まれる単語の類似度を算出する計算部と、算出された類似度が最大値の２グループを統合して新たなグループを生成する統合部と、統合部による統合後のグループ数が最大グループ数Ｎｍａｘ以下になったか否かを判断する判断部と、を備え、計算部と統合部とは、統合後のグループ数が最大グループ数Ｎｍａｘ以下になったと判断部により判断されるまで、繰り返し動作する。【選択図】図１
2019128667.tif 000002
【特許請求の範囲】
【請求項１】
複数ページを含むテキスト文書の各ページをヘッダの種類ごとに分類するページ分類装置であって、
前記テキスト文書のページ上端に設定された判定対象行数を取得する行数取得部と、
予め定められた最大グループ数Ｎｍａｘ（Ｎｍａｘは２以上の整数）を取得するグループ数取得部と、
前記テキスト文書に含まれる全ページを、それぞれ異なるグループに割り当てる割当部と、
２グループの全組合せについて、前記テキスト文書の各ページの前記判定対象行数に含まれる単語の類似度を算出する計算部と、
前記算出された類似度が最大値の２グループを統合して新たなグループを生成する統合部と、
前記統合部による統合後のグループ数が前記最大グループ数Ｎｍａｘ以下になったか否かを判断する判断部と、
を備え、
前記計算部と前記統合部とは、前記統合後のグループ数が前記最大グループ数Ｎｍａｘ以下になったと前記判断部により判断されるまで、繰り返し動作する、
ページ分類装置。
【請求項２】
前記計算部は、前記統合後のグループ数が前記最大グループ数Ｎｍａｘ以下になったと前記判断部により判断されると、前記類似度を算出せずに、動作を終了する、
請求項１に記載のページ分類装置。
【請求項３】
予め定められた判定閾値を取得する閾値取得部を更に備え、
前記計算部は、前記統合後のグループ数が前記最大グループ数Ｎｍａｘ以下になったと前記判断部により判断されると、２グループの全組合せについて、前記判定対象行数に含まれる単語の類似度を再び算出し、
前記判断部は、前記再び算出された類似度が前記判定閾値以上の２グループが存在するか否かを判断し、
前記統合部は、前記再び算出された類似度が前記判定閾値以上の２グループが存在すると前記判断部により判断されると、前記判定閾値以上の２グループの組合せのうち、前記再び算出された類似度が最大値の２グループを統合して新たなグループを生成する、
請求項１に記載のページ分類装置。
【請求項４】
複数ページを含むテキスト文書の各ページをヘッダの種類ごとに分類するページ分類方法であって、
前記テキスト文書のページ上端に設定された判定対象行数を取得する行数取得ステップと、
予め定められた最大グループ数Ｎｍａｘ（Ｎｍａｘは２以上の整数）を取得するグループ数取得ステップと、
前記テキスト文書に含まれる全ページを、それぞれ異なるグループに割り当てる割当ステップと、
２グループの全組合せについて、前記テキスト文書の各ページの前記判定対象行数に含まれる単語の類似度を算出する計算ステップと、
前記計算ステップに続いて実行され、前記算出された類似度が最大値の２グループを統合して新たなグループを生成する統合ステップと、
前記統合ステップに続いて実行され、前記統合ステップによる統合後のグループ数が前記最大グループ数Ｎｍａｘ以下になったか否かを判断する判断ステップと、
を備え、
前記計算ステップと前記統合ステップとは、前記統合後のグループ数が前記最大グループ数Ｎｍａｘ以下になったと前記判断ステップにより判断されるまで、繰り返し実行される、
ページ分類方法。
【請求項５】
複数ページを含むテキスト文書の各ページをヘッダの種類ごとに分類するページ分類プログラムであって、
前記ページ分類装置のコンピュータに、
前記テキスト文書のページ上端に設定された判定対象行数を取得する行数取得ステップと、
予め定められた最大グループ数Ｎｍａｘ（Ｎｍａｘは２以上の整数）を取得するグループ数取得ステップと、
前記テキスト文書に含まれる全ページを、それぞれ異なるグループに割り当てる割当ステップと、
２グループの全組合せについて、前記テキスト文書の各ページの前記判定対象行数に含まれる単語の類似度を算出する計算ステップと、
前記計算ステップに続いて実行され、前記算出された類似度が最大値の２グループを統合して新たなグループを生成する統合ステップと、
前記統合ステップに続いて実行され、前記統合ステップによる統合後のグループ数が前記最大グループ数Ｎｍａｘ以下になったか否かを判断する判断ステップと、
を実行させ、
前記計算ステップと前記統合ステップとは、前記統合後のグループ数が前記最大グループ数Ｎｍａｘ以下になったと前記判断ステップにより判断されるまで、繰り返し実行される、
ページ分類プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書のページをヘッダの種類ごとに分類する技術に関するものである。
【背景技術】
【０００２】
文書を解析するに当たって、章又は節で文章を区切りたいという要望がある。一方、文書の各ページの上部には、ヘッダが付加されていることが多い。しかし、ヘッダは、章又は節がページを跨ぐ場合に、章又は節で文書を区切る際の障害となる。このため、章又は節で文章を確実に区切るためには、ヘッダを抽出して、文書のページからヘッダを除去することが望まれる。
【０００３】
文書に含まれるヘッダを認識する技術として、従来、特許文献１に記載の技術が知られている。特許文献１に記載の技術では、ヘッダの他にも、図形及び斜め書きの文章等を認識することが可能になっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２０１２−５１４７９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１に記載の技術では、ヘッダなどを認識するために、ページのカラム及びレイアウト、テキスト要素の幾何学的配置、ページにおけるテキスト要素の位置、要素の書式特性などが用いられている。したがって、例えばポータブルドキュメントフォーマット（ＰＤＦ）のファイルに対して適用することは可能であるが、テキストデータに変換されたテキスト文書に対して適用することは困難となっている。
【０００６】
また、文書のなかには、異なる種類のヘッダを有する文書も存在する。この場合、ヘッダを精度良く抽出するためには、ヘッダの種類ごとに、文書のページを分類することが望まれる。しかしながら、上記特許文献１に記載の技術では、異なる種類のヘッダを有する文書については、十分に検討されていない。
【０００７】
本発明は、上記問題を解決するもので、テキストデータに変換されたテキスト文書において、ヘッダの種類ごとに、文書のページを分類することが可能なページ分類装置、ページ分類方法およびページ分類プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１態様は、
複数ページを含むテキスト文書の各ページをヘッダの種類ごとに分類するページ分類装置であって、
前記テキスト文書のページ上端に設定された判定対象行数を取得する行数取得部と、
予め定められた最大グループ数Ｎｍａｘ（Ｎｍａｘは２以上の整数）を取得するグループ数取得部と、
前記テキスト文書に含まれる全ページを、それぞれ異なるグループに割り当てる割当部と、
２グループの全組合せについて、前記テキスト文書の各ページの前記判定対象行数に含まれる単語の類似度を算出する計算部と、
前記算出された類似度が最大値の２グループを統合して新たなグループを生成する統合部と、
前記統合部による統合後のグループ数が前記最大グループ数Ｎｍａｘ以下になったか否かを判断する判断部と、
を備え、
前記計算部と前記統合部とは、前記統合後のグループ数が前記最大グループ数Ｎｍａｘ以下になったと前記判断部により判断されるまで、繰り返し動作するものである。
【０００９】
本発明の第２態様は、
複数ページを含むテキスト文書の各ページをヘッダの種類ごとに分類するページ分類方法であって、
前記テキスト文書のページ上端に設定された判定対象行数を取得する行数取得ステップと、
予め定められた最大グループ数Ｎｍａｘ（Ｎｍａｘは２以上の整数）を取得するグループ数取得ステップと、
前記テキスト文書に含まれる全ページを、それぞれ異なるグループに割り当てる割当ステップと、
２グループの全組合せについて、前記テキスト文書の各ページの前記判定対象行数に含まれる単語の類似度を算出する計算ステップと、
前記計算ステップに続いて実行され、前記算出された類似度が最大値の２グループを統合して新たなグループを生成する統合ステップと、
前記統合ステップに続いて実行され、前記統合ステップによる統合後のグループ数が前記最大グループ数Ｎｍａｘ以下になったか否かを判断する判断ステップと、
を備え、
前記計算ステップと前記統合ステップとは、前記統合後のグループ数が前記最大グループ数Ｎｍａｘ以下になったと前記判断ステップにより判断されるまで、繰り返し実行されるものである。
【００１０】
本発明の第３態様は、
複数ページを含むテキスト文書の各ページをヘッダの種類ごとに分類するページ分類プログラムであって、
前記ページ分類装置のコンピュータに、
前記テキスト文書のページ上端に設定された判定対象行数を取得する行数取得ステップと、
予め定められた最大グループ数Ｎｍａｘ（Ｎｍａｘは２以上の整数）を取得するグループ数取得ステップと、
前記テキスト文書に含まれる全ページを、それぞれ異なるグループに割り当てる割当ステップと、
２グループの全組合せについて、前記テキスト文書の各ページの前記判定対象行数に含まれる単語の類似度を算出する計算ステップと、
前記計算ステップに続いて実行され、前記算出された類似度が最大値の２グループを統合して新たなグループを生成する統合ステップと、
前記統合ステップに続いて実行され、前記統合ステップによる統合後のグループ数が前記最大グループ数Ｎｍａｘ以下になったか否かを判断する判断ステップと、
を実行させ、
前記計算ステップと前記統合ステップとは、前記統合後のグループ数が前記最大グループ数Ｎｍａｘ以下になったと前記判断ステップにより判断されるまで、繰り返し実行されるものである。
【００１１】
上記第１態様〜第３態様では、テキスト文書に含まれる全ページが、それぞれ異なるグループに割り当てられる。２グループの全組合せについて、テキスト文書の各ページの判定対象行数に含まれる単語の類似度が算出される。判定対象行数は、テキスト文書のページ上端に設定されているので、ヘッダを含んでいる。算出された類似度が最大値の２グループを統合して新たなグループが生成される。統合後のグループ数が最大グループ数Ｎｍａｘ以下になったか否かが判断される。そして、統合後のグループ数が最大グループ数Ｎｍａｘ以下になるまで、類似度の算出と、類似度が最大値の２グループの統合による新たなグループの生成とが、繰り返される。したがって、異なるヘッダを有するテキスト文書において、ヘッダの種類ごとにページを分類することが可能になる。
【００１２】
上記第１態様〜第３態様において、前記判定対象行数は、ヘッダの全体を含むような値に設定されてもよい。
【００１３】
上記第１態様〜第３態様において、前記最大グループ数Ｎｍａｘは、前記テキスト文書に含まれるヘッダの種類より多い値に設定されてもよい。
【００１４】
上記第１態様において、例えば、前記計算部は、前記統合後のグループ数が前記最大グループ数Ｎｍａｘ以下になったと前記判断部により判断されると、前記類似度を算出せずに、動作を終了してもよい。
【００１５】
この態様では、統合後のグループ数が最大グループ数Ｎｍａｘ以下になったと判断されると、類似度が算出されずに、動作は終了する。したがって、ヘッダの種類ごとに分類されたグループが最大グループ数Ｎｍａｘ以下まで絞られている。その結果、ユーザは、同じ種類のヘッダを有するページが異なるグループに分類されているか否かを容易に判断することができる。このため、類似度が算出されずに動作が終了しても、支障を来すことはない。
【００１６】
上記第１態様において、例えば、
予め定められた判定閾値を取得する閾値取得部を更に備えてもよく、
前記計算部は、前記統合後のグループ数が前記最大グループ数Ｎｍａｘ以下になったと前記判断部により判断されると、２グループの全組合せについて、前記判定対象行数に含まれる単語の類似度を再び算出してもよく、
前記判断部は、前記再び算出された類似度が前記判定閾値以上の２グループが存在するか否かを判断してもよく、
前記統合部は、前記再び算出された類似度が前記判定閾値以上の２グループが存在すると前記判断部により判断されると、前記判定閾値以上の２グループの組合せのうち、前記再び算出された類似度が最大値の２グループを統合して新たなグループを生成してもよい。
【００１７】
この態様では、統合後のグループ数が最大グループ数Ｎｍａｘ以下になったと判断されると、２グループの全組合せについて、判定対象行数に含まれる単語の類似度が再び算出される。再び算出された類似度が判定閾値以上の２グループが存在するか否かが判断される。再び算出された類似度が判定閾値以上の２グループが存在すると判断されると、判定閾値以上の２グループの組合せのうち、再び算出された類似度が最大値の２グループが統合されて、新たなグループが生成される。再び算出された類似度が、判定閾値以上であれば、その２グループのヘッダは同じ種類であると考えられる。したがって、この態様によれば、最大グループ数Ｎｍａｘが、ヘッダの種類の数より大きい値に設定されていた場合でも、グループ数をヘッダの種類の数に近づけることができる。
【発明の効果】
【００１８】
本発明によれば、統合後のグループ数が最大グループ数Ｎｍａｘ以下になるまで、類似度の算出と、類似度が最大値の２グループの統合による新たなグループの生成とが、繰り返されるため、異なるヘッダを有するテキスト文書において、ヘッダの種類ごとにページを分類することが可能になる。
【図面の簡単な説明】
【００１９】
【図１】本実施形態におけるページ分類装置の構成例を概略的に示すブロック図である。
【図２】テキスト文書記憶装置に記憶されている文書の第１頁の一例を概略的に示す図である。
【図３】上記文書の第２頁の一例を概略的に示す図である。
【図４】上記文書の第３頁の一例を概略的に示す図である。
【図５】上記文書の第４頁の一例を概略的に示す図である。
【図６】上記文書の第５頁の一例を概略的に示す図である。
【図７】図１に示されるページ分類装置の動作例を概略的に示すフローチャートである。
【図８】１回目の類似度算出における計算結果等を示す図である。
【図９】１回目の類似度算出における計算結果等を示す図である。
【図１０】１回目の新グループのベクトルを示す図である。
【図１１】２回目の類似度算出における計算結果等を示す図である。
【図１２】２回目の類似度算出における計算結果等を示す図である。
【図１３】２回目の新グループのベクトルを示す図である。
【図１４】３回目の類似度算出における計算結果等を示す図である。
【図１５】３回目の類似度算出における計算結果等を示す図である。
【図１６】３回目の新グループのベクトルを示す図である。
【図１７】図７のステップＳ１０４５の類似度算出における計算結果等を示す図である。
【図１８】図７のステップＳ１０４５の類似度算出における計算結果等を示す図である。
【発明を実施するための形態】
【００２０】
以下、本発明の一実施の形態が、図面を参照しながら説明される。なお、各図面において、同じ構成要素には同じ符号が用いられ、適宜、詳細な説明は省略される。
【００２１】
（構成）
図１は、本実施形態におけるページ分類装置１００の構成の一例を概略的に示すブロック図である。図１に示されるように、本実施形態におけるページ分類装置１００は、出力部１１０、入力部１２０、メモリ１３０、テキスト文書記憶装置１４０、及び中央演算処理装置（ＣＰＵ）１５０を備える。
【００２２】
出力部１１０は、ＣＰＵ１５０によって、ヘッダの種類ごとにページが分類された文書を、外部の装置（例えばデータベース等の記憶装置、サーバ装置等）に出力する。入力部１２０は、例えばマウス及びキーボードを含む。入力部１２０は、ユーザにより操作されると、その操作内容を示す操作信号をＣＰＵ１５０に出力する。
【００２３】
メモリ１３０は、例えば半導体メモリ等により構成される。メモリ１３０は、例えばリードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、電気的に消去書き換え可能なＲＯＭ（ＥＥＰＲＯＭ）などを含む。メモリ１３０のＲＯＭは、ＣＰＵ１５０を動作させる本実施形態の制御プログラムを記憶する。
【００２４】
テキスト文書記憶装置１４０は、例えばハードディスク又は半導体メモリ等により構成される。テキスト文書記憶装置１４０は、総ページ数Ｌ（Ｌは２以上の整数）のテキスト形式のページごとに区切られた文書を記憶する。テキスト文書記憶装置１４０は、電子化された文書（例えばポータブルドキュメントフォーマット（ＰＤＦ）の文書）がテキスト形式に変換されページごとに区切られた文書を記憶してもよい。テキスト文書記憶装置１４０は、ページごとに異なる電子ファイルで構成された文書を記憶してもよい。
【００２５】
図２〜図６は、テキスト文書記憶装置１４０に記憶されている文書の一例を概略的に示す図である。本実施形態では、テキスト文書記憶装置１４０に記憶されている文書は、全５頁（つまりＬ＝５）の文書である。図２〜図６は、文書の各頁のヘッダを含む一部分を示す。図２は、文書の第１頁の一例を示し、図３は、文書の第２頁の一例を示し、図４は、文書の第３頁の一例を示し、図５は、文書の第４頁の一例を示し、図６は、文書の第５頁の一例を示す。
【００２６】
図１に戻って、ＣＰＵ１５０は、メモリ１３０に記憶された本実施形態の制御プログラムにしたがって動作することによって、制御部１５１、取得部１５２、計算部１５３、判断部１５４、生成部１５５として機能する。制御部１５１は、ページ分類装置１００の全体の動作を制御する。ＣＰＵ１５０の各部の具体的な機能は、後述される。なお、ページ分類装置１００は、ＣＰＵ１５０に代えて、同一機能を果たす他のハードウェアを備えてもよい。
【００２７】
（動作）
図７は、図１に示されるページ分類装置１００の動作の一例を概略的に示すフローチャートである。図８〜図１８は、それぞれ、図２〜図６の文書例でページ分類装置１００が動作したときの計算の途中経過等を示す図である。
【００２８】
図７のステップＳ１０００において、制御部１５１は、テキスト文書記憶装置１４０からテキスト文書を読み込んで、メモリ１３０のＲＡＭに保存する。本実施形態では、制御部１５１は、図２〜図６に示されるテキスト文書をテキスト文書記憶装置１４０から読み込んで、メモリ１３０のＲＡＭに保存する。
【００２９】
ステップＳ１００５において、取得部１５２は、メモリ１３０のＲＯＭに予め記憶されている、判定対象行数Ｋ１を取得する。判定対象行数Ｋ１は、テキスト文書における１行目からの行数を表す。判定対象行数Ｋ１は、ヘッダが確実に含まれるように、多い目に設定されている。本実施形態では、例えばＫ１＝６である。
【００３０】
ステップＳ１０１０において、取得部１５２は、メモリ１３０のＲＯＭに予め記憶されている、最大グループ数Ｎｍａｘを取得する。最大グループ数Ｎｍａｘは、２以上の整数である。本実施形態では、例えば、Ｎｍａｘ＝２である。
【００３１】
ステップＳ１０１５において、制御部１５１（割当部の一例に相当）は、文書に含まれる全ページを、それぞれ異なるグループに割り当てる。本実施形態では、制御部１５１は、文書に含まれる第１〜第５ページを、それぞれ、グループＧ１〜Ｇ５に割り当てる。ステップＳ１０２０において、計算部１５３は、２グループの全組合せの類似度をそれぞれ算出する。すなわち、初期段階のステップＳ１０２０では、グループＧ１，Ｇ２、グループＧ１，Ｇ３、グループＧ１，Ｇ４、グループＧ１，Ｇ５、グループＧ２，Ｇ３、グループＧ２，Ｇ４、グループＧ２，Ｇ５、グループＧ３，Ｇ４、グループＧ３，Ｇ５、グループＧ４，Ｇ５、の類似度が、それぞれ算出される。
【００３２】
本実施形態では、計算部１５３は、類似度として、一般的な手法であるコサイン類似度を用いる。コサイン類似度は、以下のようにして算出される。すなわち、まず、比較する２つの文章の少なくとも一方に含まれる単語（つまり比較する２つの文章に含まれる単語の和集合）を要素とするベクトルが、比較する文章毎に作成される。この場合において、ベクトルの要素の値は、各ベクトルに対応する文章に含まれる単語の出現回数で表現される。そして、比較する２つの文章に各々対応する２つのベクトルについて、以下の式（Ｆ１）で計算される値がコサイン類似度である。
【００３３】
コサイン類似度
＝（Ｖｅｃ＿Ａ・Ｖｅｃ＿Ｂ）／（｜Ｖｅｃ＿Ａ｜×｜Ｖｅｃ＿Ｂ｜）    （Ｆ１）
式（Ｆ１）において、Ｖｅｃ＿ＡとＶｅｃ＿Ｂとは、比較する２つの文章に対応するベクトルである。また、「・」はベクトルの内積を表す。また、｜Ｖｅｃ＿Ａ｜は、ベクトルＶｅｃ＿Ａのユークリッドノルムを表す。
【００３４】
本実施形態では、グループのベクトルとして、グループに所属する各ページの判定対象行数Ｋ１における単語の出現回数の重心を要素とするベクトルが用いられる。ステップＳ１０１５では、文書に含まれる全ページが、それぞれ異なるグループに割り当てられている。したがって、初期段階におけるグループＧ１〜Ｇ５のベクトルは、それぞれ、第１〜第５ページの判定対象行数Ｋ１（Ｋ１＝６）における単語の出現回数を要素とするベクトルになる。本実施形態では、上述のように、判定対象行数Ｋ１がＫ１＝６に設定されている。よって、第１行から第６行までの文に含まれる単語を要素とするベクトルが作成される。
【００３５】
以下、図１〜図６、図８〜図１８を参照しつつ、図７の手順に沿って、ページにおけるヘッダの種類ごとの分類動作の具体例が説明される。
【００３６】
図８、図９には、１回目のステップＳ１０２０の類似度算出における計算結果等が示されている。「単語の種類」は、図２〜図６の各ページの判定対象行数Ｋ１に含まれる全ての単語の和集合になっている。「Ｇ１」〜「Ｇ５」の欄には、それぞれ、グループＧ１〜Ｇ５の、対応する単語のベクトルの要素が示されている。「Ｇ１＾２」〜「Ｇ５＾２」の欄には、それぞれ、グループＧ１〜Ｇ５の、対応する単語のベクトルの要素の２乗の値が示されている。「Ｇ１・Ｇ２」〜「Ｇ４・Ｇ５」の欄には、それぞれ、各グループの、対応する単語のベクトルの要素の内積が示されている。
【００３７】
グループＧ１，Ｇ２のベクトルのコサイン類似度は、図８、図９に示される、グループＧ１，Ｇ２のそれぞれのベクトルの２乗と、両ベクトルの内積とを用いて、上記式（Ｆ１）により算出され、小数点第３位以下を四捨五入すると、
コサイン類似度
＝２６／（√３６×√３３）
＝０．７５
となる。
【００３８】
グループＧ１，Ｇ３のベクトルのコサイン類似度は、図８、図９に示される、グループＧ１，Ｇ３のそれぞれのベクトルの２乗と、両ベクトルの内積とを用いて、上記式（Ｆ１）により算出され、小数点第３位以下を四捨五入すると、
コサイン類似度
＝２６／（√３６×√３３）
＝０．７５
となる。
【００３９】
グループＧ１，Ｇ４のベクトルのコサイン類似度は、図８、図９に示される、グループＧ１，Ｇ４のそれぞれのベクトルの２乗と、両ベクトルの内積とを用いて、上記式（Ｆ１）により算出され、小数点第３位以下を四捨五入すると、
コサイン類似度
＝１４／（√３６×√３９）
＝０．３７
となる。
【００４０】
グループＧ１，Ｇ５のベクトルのコサイン類似度は、図８、図９に示される、グループＧ１，Ｇ５のそれぞれのベクトルの２乗と、両ベクトルの内積とを用いて、上記式（Ｆ１）により算出され、小数点第３位以下を四捨五入すると、
コサイン類似度
＝１１／（√３６×√３１）
＝０．３３
となる。
【００４１】
グループＧ２，Ｇ３のベクトルのコサイン類似度は、図８、図９に示される、グループＧ２，Ｇ３のそれぞれのベクトルの２乗と、両ベクトルの内積とを用いて、上記式（Ｆ１）により算出され、小数点第３位以下を四捨五入すると、
コサイン類似度
＝２７／（√３３×√３３）
＝０．８２
となる。
【００４２】
グループＧ２，Ｇ４のベクトルのコサイン類似度は、図８、図９に示される、グループＧ２，Ｇ４のそれぞれのベクトルの２乗と、両ベクトルの内積とを用いて、上記式（Ｆ１）により算出され、小数点第３位以下を四捨五入すると、
コサイン類似度
＝１２／（√３３×√３９）
＝０．３３
となる。
【００４３】
グループＧ２，Ｇ５のベクトルのコサイン類似度は、図８、図９に示される、グループＧ２，Ｇ５のそれぞれのベクトルの２乗と、両ベクトルの内積とを用いて、上記式（Ｆ１）により算出され、小数点第３位以下を四捨五入すると、
コサイン類似度
＝１０／（√３３×√３１）
＝０．３１
となる。
【００４４】
グループＧ３，Ｇ４のベクトルのコサイン類似度は、図８、図９に示される、グループＧ３，Ｇ４のそれぞれのベクトルの２乗と、両ベクトルの内積とを用いて、上記式（Ｆ１）により算出され、小数点第３位以下を四捨五入すると、
コサイン類似度
＝１３／（√３３×√３９）
＝０．３６
となる。
【００４５】
グループＧ３，Ｇ５のベクトルのコサイン類似度は、図８、図９に示される、グループＧ３，Ｇ５のそれぞれのベクトルの２乗と、両ベクトルの内積とを用いて、上記式（Ｆ１）により算出され、小数点第３位以下を四捨五入すると、
コサイン類似度
＝１０／（√３３×√３１）
＝０．３１
となる。
【００４６】
グループＧ４，Ｇ５のベクトルのコサイン類似度は、図８、図９に示される、グループＧ４，Ｇ５のそれぞれのベクトルの２乗と、両ベクトルの内積とを用いて、上記式（Ｆ１）により算出され、小数点第３位以下を四捨五入すると、
コサイン類似度
＝２８／（√３９×√３１）
＝０．８１
となる。以上で、ステップＳ１０２０の類似度の算出が終了する。
【００４７】
ステップＳ１０２５において、統合部１５４は、類似度が最大値の２グループを統合して、新グループを生成する。本実施形態では、グループＧ２，Ｇ３のベクトルのコサイン類似度が０．８２で最大であるので、グループＧ２，Ｇ３が統合されて、グループＧ６が生成される。ステップＳ１０３０において、計算部１５３は、新たに生成されたグループＧ６のベクトルを生成する。
【００４８】
図１０には、１回目の新グループのベクトルが示されている。図１０の「単語の種類」は、図８、図９と同様に、図２〜図６の各ページの判定対象行数Ｋ１に含まれる全ての単語の和集合になっている。「Ｇ６」の欄には、グループＧ６のベクトルが示されている。グループＧ６は、グループＧ２，Ｇ３が統合されたものであるので、図１０に示されるように、第２ページ及び第３ページの各ベクトルの要素の重心（つまり平均値）が算出されることにより、グループＧ６のベクトルが生成される。
【００４９】
図１０に示されるグループＧ６のベクトルの要素の重心計算では、ベクトルの各単語に対応する要素の値は、以下の式（Ｆ２）により算出される。
（Ｍｂ１×Ｍｐ１＋Ｍｂ２×Ｍｐ２）／（Ｍｐ１＋Ｍｐ２）    （Ｆ２）
式（Ｆ２）において、符号Ｍｂ１は、統合前の一方のグループのベクトルでの要素を表し、符号Ｍｐ１は、当該一方のグループに所属するページ数を表し、符号Ｍｂ２は、統合前の他方のグループのベクトルでの要素を表し、符号Ｍｐ２は、当該他方のグループに所属するページ数を表す。
【００５０】
例えば図１０において、単語の種類「Ｄｏｃ」に対応する要素は、
（１×１＋１×１）／（１＋１）
＝１
となる。
【００５１】
ステップＳ１０３５において、判断部１５５は、統合後のグループ数が最大グループ数Ｎｍａｘ以下であるか否かを判断する。統合後のグループ数が最大グループ数Ｎｍａｘ以下であれば（ステップＳ１０３５でＹＥＳ）、処理はステップＳ１０４０に進む。一方。統合後のグループ数が最大グループ数Ｎｍａｘを超えていれば（ステップＳ１０３５でＮＯ）、処理はステップＳ１０２０に戻る。現時点のグループ数は、グループＧ１，Ｇ４，Ｇ５，Ｇ６の４個である。また、本実施形態では、Ｎｍａｘ＝２である。したがって、統合後のグループ数が最大グループ数Ｎｍａｘを超えているので（ステップＳ１０３５でＮＯ）、処理はステップＳ１０２０に戻る。
【００５２】
図１１、図１２には、２回目のステップＳ１０２０の類似度算出における計算結果等が示されている。「単語の種類」は、図８、図９と同様に、図２〜図６の各ページの判定対象行数Ｋ１に含まれる全ての単語の和集合になっている。「Ｇ１」、「Ｇ４」〜「Ｇ６」の欄には、それぞれ、グループＧ１，Ｇ４〜Ｇ６の、対応する単語のベクトルの要素が示されている。「Ｇ１＾２」、「Ｇ４＾２」〜「Ｇ６＾２」の欄には、それぞれ、グループＧ１，Ｇ４〜Ｇ６の、対応する単語のベクトルの要素の２乗の値が示されている。「Ｇ１・Ｇ４」〜「Ｇ５・Ｇ６」の欄には、それぞれ、各グループの、対応する単語のベクトルの要素の内積が示されている。
【００５３】
２回目のステップＳ１０２０では、図１２に示されるように、グループＧ１，Ｇ４、グループＧ１，Ｇ５、グループＧ１，Ｇ６、グループＧ４，Ｇ５、グループＧ４，Ｇ６、グループＧ５，Ｇ６、の類似度が、それぞれ算出される。このうち、グループＧ１，Ｇ４、グループＧ１，Ｇ５、グループＧ４，Ｇ５、のコサイン類似度は、それぞれ、１回目と同じ０．３７，０．３３，０．８１である。
【００５４】
グループＧ１，Ｇ６のベクトルのコサイン類似度は、図１１、図１２に示される、グループＧ１，Ｇ６のそれぞれのベクトルの２乗と、両ベクトルの内積とを用いて、上記式（Ｆ１）により算出され、小数点第３位以下を四捨五入すると、
コサイン類似度
＝２６／（√３６×√３０）
＝０．７９
となる。
【００５５】
グループＧ４，Ｇ６のベクトルのコサイン類似度は、図１１、図１２に示される、グループＧ４，Ｇ６のそれぞれのベクトルの２乗と、両ベクトルの内積とを用いて、上記式（Ｆ１）により算出され、小数点第３位以下を四捨五入すると、
コサイン類似度
＝１２．５／（√３９×√３０）
＝０．３７
となる。
【００５６】
グループＧ５，Ｇ６のベクトルのコサイン類似度は、図１１、図１２に示される、グループＧ５，Ｇ６のそれぞれのベクトルの２乗と、両ベクトルの内積とを用いて、上記式（Ｆ１）により算出され、小数点第３位以下を四捨五入すると、
コサイン類似度
＝１０／（√３１×√３０）
＝０．３３
となる。以上で、ステップＳ１０２０の類似度の算出が終了する。
【００５７】
２回目のステップＳ１０２５において、統合部１５４は、類似度が最大値の２グループを統合して、新グループを生成する。本実施形態では、グループＧ４，Ｇ５のベクトルのコサイン類似度が０．８１で最大であるので、グループＧ４，Ｇ５が統合されて、グループＧ７が生成される。２回目のステップＳ１０３０において、計算部１５３は、新たに生成されたグループＧ７のベクトルを生成する。
【００５８】
図１３には、２回目の新グループのベクトルが示されている。図１３の「単語の種類」は、図８、図９と同様に、図２〜図６の各ページの判定対象行数Ｋ１に含まれる全ての単語の和集合になっている。「Ｇ７」の欄には、グループＧ７のベクトルが示されている。グループＧ７は、グループＧ４，Ｇ５が統合されたものであるので、図１３に示されるように、第４ページ及び第５ページの各ベクトルの要素の重心（つまり平均値）が算出されることにより、グループＧ７のベクトルが生成される。
【００５９】
図１３に示されるグループＧ７のベクトルの要素の重心計算では、ベクトルの各単語に対応する要素の値は、上記式（Ｆ２）により算出される。
【００６０】
例えば図１３において、単語の種類「Ｎｏ」に対応する要素は、
（１×１＋１×１）／（１＋１）
＝１
となる。
【００６１】
２回目のステップＳ１０３５では、グループ数は、グループＧ１，Ｇ６，Ｇ７の３個である。また、本実施形態では、Ｎｍａｘ＝２である。したがって、統合後のグループ数が最大グループ数Ｎｍａｘを超えているので（ステップＳ１０３５でＮＯ）、処理はステップＳ１０２０に戻る。
【００６２】
図１４、図１５には、３回目のステップＳ１０２０の類似度算出における計算結果等が示されている。「単語の種類」は、図８、図９と同様に、図２〜図６の各ページの判定対象行数Ｋ１に含まれる全ての単語の和集合になっている。「Ｇ１」、「Ｇ６」、「Ｇ７」の欄には、それぞれ、グループＧ１，Ｇ６，Ｇ７の、対応する単語のベクトルの要素が示されている。「Ｇ１＾２」、「Ｇ６＾２」、「Ｇ７＾２」の欄には、それぞれ、グループＧ１，Ｇ６，Ｇ７の、対応する単語のベクトルの要素の２乗の値が示されている。「Ｇ１・Ｇ６」、「Ｇ１・Ｇ７」、「Ｇ６・Ｇ７」の欄には、それぞれ、各グループの、対応する単語のベクトルの要素の内積が示されている。
【００６３】
３回目のステップＳ１０２０では、図１５に示されるように、グループＧ１，Ｇ６、グループＧ１，Ｇ７、グループＧ６，Ｇ７、の類似度が、それぞれ算出される。このうち、グループＧ１，Ｇ６のコサイン類似度は、２回目と同じ０．７９である。
【００６４】
グループＧ１，Ｇ７のベクトルのコサイン類似度は、図１４、図１５に示される、グループＧ１，Ｇ７のそれぞれのベクトルの２乗と、両ベクトルの内積とを用いて、上記式（Ｆ１）により算出され、小数点第３位以下を四捨五入すると、
コサイン類似度
＝１２．５／（√３６×√３２）
＝０．３７
となる。
【００６５】
グループＧ６，Ｇ７のベクトルのコサイン類似度は、図１４、図１５に示される、グループＧ６，Ｇ７のそれぞれのベクトルの２乗と、両ベクトルの内積とを用いて、上記式（Ｆ１）により算出され、小数点第３位以下を四捨五入すると、
コサイン類似度
＝１１．２５／（√３０×√３２）
＝０．３６
となる。以上で、ステップＳ１０２０の類似度の算出が終了する。
【００６６】
３回目のステップＳ１０２５において、統合部１５４は、類似度が最大値の２グループを統合して、新グループを生成する。本実施形態では、グループＧ１，Ｇ６のベクトルのコサイン類似度が０．７９で最大であるので、グループＧ１，Ｇ６が統合されて、グループＧ８が生成される。３回目のステップＳ１０３０において、計算部１５３は、新たに生成されたグループＧ８のベクトルを生成する。
【００６７】
図１６には、３回目の新グループのベクトルが示されている。図１６の「単語の種類」は、図８、図９と同様に、図２〜図６の各ページの判定対象行数Ｋ１に含まれる全ての単語の和集合になっている。「Ｇ８」の欄には、グループＧ８のベクトルが示されている。グループＧ８は、グループＧ１，Ｇ６が統合されたものであるので、図１６に示されるように、グループＧ１，Ｇ６の各ベクトルの要素の重心（つまり平均値）が算出されることにより、グループＧ８のベクトルが生成される。
【００６８】
図１６に示されるグループＧ８のベクトルの要素の重心計算では、ベクトルの各単語に対応する要素の値は、上記式（Ｆ２）により算出される。例えば図１６において、単語の種類「Ｎｏ」に対応する要素は、グループＧ６がグループＧ２（第２ページ）とグループＧ３（第３ページ）とを統合したものであるので、
（２×１＋２×２）／（１＋２）
＝２
となる。
【００６９】
３回目のステップＳ１０３５では、グループ数は、グループＧ７，Ｇ８の２個である。また、本実施形態では、Ｎｍａｘ＝２である。したがって、統合後のグループ数が最大グループ数Ｎｍａｘ以下であるので（ステップＳ１０３５でＹＥＳ）、処理はステップＳ１０４０に進む。
【００７０】
ステップＳ１０４０において、取得部１５２は、メモリ１３０のＲＯＭに予め記憶されている、判定閾値ＴＨ１を取得する。判定閾値ＴＨ１は、コサイン類似度の高低を判定するための閾値である。本実施形態では、例えばＴＨ１＝０．５である。
【００７１】
ステップＳ１０４５において、計算部１５３は、２グループの全組合せの類似度をそれぞれ算出する。ステップＳ１０５０において、判断部１５５は、類似度が判定閾値ＴＨ１以上の２グループが存在するか否かを判断する。類似度が判定閾値ＴＨ１以上の２グループが存在しなければ（ステップＳ１０５０でＮＯ）、図７の動作は終了する。一方、類似度が判定閾値ＴＨ１以上の２グループが存在すれば（ステップＳ１０５０でＹＥＳ）、処理はステップＳ１０５５に進む。
【００７２】
ステップＳ１０５５において、統合部１５４は、判定閾値ＴＨ１以上の２グループのうちで、類似度が最大値の２グループを統合して、新グループを生成する。ステップＳ１０６０において、計算部１５３は、新たに生成されたグループのベクトルを生成する。その後、処理はステップＳ１０４５に戻る。
【００７３】
図１７、図１８には、１回目のステップＳ１０４５の類似度算出における計算結果等が示されている。「単語の種類」は、図８、図９と同様に、図２〜図６の各ページの判定対象行数Ｋ１に含まれる全ての単語の和集合になっている。「Ｇ７」、「Ｇ８」の欄には、それぞれ、グループＧ７，Ｇ８の、対応する単語のベクトルの要素が示されている。「Ｇ７＾２」、「Ｇ８＾２」の欄には、それぞれ、グループＧ７，Ｇ８の、対応する単語のベクトルの要素の２乗の値が示されている。「Ｇ７・Ｇ８」の欄には、グループＧ７，Ｇ８の、対応する単語のベクトルの要素の内積が示されている。
【００７４】
１回目のステップＳ１０４５では、図１８に示されるように、グループＧ７，Ｇ８の類似度が算出される。グループＧ７，Ｇ８のベクトルのコサイン類似度は、図１７に示される、グループＧ７，Ｇ８のそれぞれのベクトルの２乗と、両ベクトルの内積とを用いて、上記式（Ｆ１）により算出され、小数点第３位以下を四捨五入すると、
コサイン類似度
＝１１．８８／（√３１．５×√２９．５）
＝０．３９
となる。以上で、ステップＳ１０４５の類似度の算出が終了する。ステップＳ１０５０において、０．３９＜０．５であるので、コサイン類似度が判定閾値ＴＨ１未満となり（ステップＳ１０５０でＮＯ）、図７の動作は終了する。
【００７５】
（効果）
以上説明されたように、本実施形態では、第１〜第３ページが、１つのグループ（例えばグループＧａと称される）に所属し、第４〜第５ページが、別のグループ（例えばグループＧｂと称される）に所属することになる。図２〜図６に示される文書例を確認すると、図２〜図４（つまり第１〜第３ページ）のヘッダは互いに同じ種類であり、図５〜図６（つまり第４〜第５ページ）のヘッダは互いに同じ種類であり、図２〜図４のヘッダと、図５〜図６のヘッダとは、互いに異なる種類であることが明らかである。したがって、第１〜第３ページをグループＧａに所属させ、第４〜第５ページをグループＧｂに所属させる図７の動作によって、ヘッダの種類ごとに、文書のページを正確に分類することができる。
【００７６】
また、本実施形態において、ヘッダが同じ種類であっても、ページ番号又は日付のようにページによって異なる単語がヘッダに含まれる場合には、完全に同じ単語を含むヘッダとはならない。例えば図２〜図４のヘッダは、同じ種類であるが、ページ番号が異なっている。また、図５、図６のヘッダは、同じ種類であるが、日付が異なっている。そこで、本実施形態では、計算部１５３は、統合後のグループのベクトルの要素を、統合前の各グループのベクトルの要素の重心（平均値）としている。したがって、本実施形態によれば、重心を要素とするベクトルに更新することによって、ページ番号又は日付のような異なる単語による影響を抑制することができる。
【００７７】
また、例えば図６のページに続くページのヘッダの種類が図２〜図４の種類のヘッダになる文書、すなわち、ページが進むとヘッダの種類が元に戻る文書、或いは、図２〜図４の種類のヘッダと図５、図６の種類のヘッダとが、交互に現れる文書も考えられる。これに対して、本実施形態では、２グループの全組合せの類似度がそれぞれ算出され（図７のステップＳ１０２０）、類似度が最大値の２グループを統合して、新グループが生成されている（図７のステップＳ１０２５）。したがって、本実施形態によれば、上記のような文書でも、ヘッダの種類ごとに、文書のページを正確に分類することができる。
【００７８】
（その他）
（１）上記実施形態により、ヘッダの種類ごとにページが分類されたテキスト文書をヘッダの種類ごとに分割してもよい。その分割されたテキスト文書から、各ページのヘッダを抽出してもよい。
【００７９】
この場合、ＣＰＵ１５０は、前記各ページに含まれる単語の類似度を用いて、前記各ページが前記ヘッダを有するか否かを判断するヘッダ有無判断部と、前記各ページのうち前記ヘッダ有無判断部により前記ヘッダを有すると判断された複数のヘッダ付きページにおいて、前記各ヘッダ付きページに含まれる単語の類似度を用いて、前記各ヘッダ付きページにおける前記ヘッダの範囲を判断するヘッダ範囲判断部と、を備えてもよい。
【００８０】
前記ヘッダ有無判断部は、前記各ページのうち判断対象ページにおける第１範囲（例えば判定対象行数Ｋ２）に含まれる単語と前記判断対象ページ以外のページにおける前記第１範囲に含まれる単語との類似度をそれぞれ算出する第１類似度計算部と、前記第１類似度計算部により算出された前記各類似度に基づく第１評価値（例えば平均値）と、第１閾値ＴＨ２とを比較し、比較結果に基づきヘッダの有無を判断する第１比較判断部と、を含んでもよく、前記第１比較判断部は、前記第１評価値が前記第１閾値未満のときは、前記判断対象ページはヘッダを有しないと判断し、前記第１評価値が前記第１閾値以上のときは、前記判断対象ページはヘッダを有すると判断してもよい。判定対象行数Ｋ２は、各ページの行数のうち、最小値Ｌｍｉｎを判定し、この最小値Ｌｍｉｎに応じて設定してもよい。第１閾値ＴＨ２は、比較的低い値に設定してもよく、例えば、ＴＨ１＝０．３に設定してもよい。
【００８１】
前記ヘッダ範囲判断部は、前記ヘッダ有無判断部によりヘッダを有すると判断された各ページにおける第２範囲（例えば判定対象行数Ｋ３）に含まれる単語の類似度を算出する第２類似度計算部と、前記第２類似度計算部により算出された類似度に基づく第２評価値（例えば平均値）と、第２閾値ＴＨ３とを比較し、比較結果に基づきヘッダの範囲を判断する第２比較判断部と、を含んでもよく、前記第２比較判断部は、前記第２評価値が前記第２閾値以上のときに前記第２範囲がヘッダであると判断してもよい。判定対象行数Ｋ３は、例えばＫ３＝Ｋ２に設定してもよい。第２閾値ＴＨ３は、比較的高い値、例えばコサイン類似度の最大値である１に近い値に設定してもよく、例えば、ＴＨ２＝０．９２に設定してもよい。
【００８２】
このヘッダ範囲判断部は、前記第２比較判断部により前記第２評価値が前記第２閾値未満と判断されると、範囲を小さくした前記第２範囲を新たに再設定する範囲再設定部を更に含んでもよく、前記第２類似度計算部は、前記範囲再設定部により前記第２範囲が新たに再設定される度に、前記類似度を算出してもよく、前記第２比較判断部は、前記範囲再設定部により前記第２範囲が新たに再設定される度に、前記第２評価値と前記第２閾値とを比較し、比較結果に基づきヘッダの範囲を判断してもよい。
【００８３】
（２）上記実施形態では、取得部１５２は、メモリ１３０のＲＯＭに予め記憶されている判定対象行数Ｋ１を取得しているが、本発明は、これに限られない。代替的に、取得部１５２は、入力部１２０を用いてユーザにより設定された判定対象行数Ｋ１を取得してもよい。この場合、制御部１５１は、入力部１２０を用いて入力された判定対象行数Ｋ１をメモリ１３０のＥＥＰＲＯＭに保存してもよい。この変形された実施形態によれば、入力部１２０を用いることによって、判定対象行数Ｋ１を所望の値に設定することができる。
【００８４】
（３）上記実施形態では、取得部１５２は、メモリ１３０のＲＯＭに予め記憶されている最大グループ数Ｎｍａｘを取得しているが、本発明は、これに限られない。代替的に、取得部１５２は、入力部１２０を用いてユーザにより設定された最大グループ数Ｎｍａｘを取得してもよい。この場合、制御部１５１は、入力部１２０を用いて入力された最大グループ数Ｎｍａｘをメモリ１３０のＥＥＰＲＯＭに保存してもよい。この変形された実施形態によれば、入力部１２０を用いることによって、最大グループ数Ｎｍａｘを所望の値に設定することができる。したがって、例えば、テキスト文書の特性からテキスト文書に含まれるヘッダの種類数が推測できる場合に、好適である。
【００８５】
（４）上記実施形態では、図１に示されるように、テキスト文書記憶装置１４０は、ページ分類装置１００に含まれているが、本発明は、これに限られない。テキスト文書記憶装置１４０は、例えば、ページ分類装置１００の外部に設置されてもよく、ページ分類装置１００の外部に設置されたサーバ装置に含まれてもよい。これらの場合には、ページ分類装置１００は、テキスト文書記憶装置１４０と通信可能に構成されていればよい。
【符号の説明】
【００８６】
１２０  入力部
１５０  ＣＰＵ
１５１  制御部
１５２  取得部
１５３  計算部
１５４  統合部
１５５  判断部
【図１】
2019128667.tif 000003
【図２】
2019128667.tif 000004
【図３】
2019128667.tif 000005
【図４】
2019128667.tif 000006
【図５】
2019128667.tif 000007
【図６】
2019128667.tif 000008
【図７】
2019128667.tif 000009
【図８】
2019128667.tif 000010
【図９】
2019128667.tif 000011
【図１０】
2019128667.tif 000012
【図１１】
2019128667.tif 000013
【図１２】
2019128667.tif 000014
【図１３】
2019128667.tif 000015
【図１４】
2019128667.tif 000016
【図１５】
2019128667.tif 000017
【図１６】
2019128667.tif 000018
【図１７】
2019128667.tif 000019
【図１８】
2019128667.tif 000020