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