(57)【要約】      （修正有）【課題】キーワードの自動的抽出の前処理として、種々雑多な文書データから不要な文字列を自動的に削除する技術の実現。【解決手段】第１のノイズ除去後文書ＤＢ46から文書データを読み、各文書データの各行について英数字等の占める割合である英数字等濃度を算出し、この英数字等濃度と閾値Ｄとを比較し、英数字等濃度が閾値Ｄ以上である場合に当該行をノイズ行であると判定し、各文書データから削除する英数字等ノイズ除去部48を備えた文書データのノイズ除去システム40。【選択図】図１３
2009271797.tif 000002
【特許請求の範囲】
【請求項１】
複数の文書データが格納された文書記憶手段から、各文書データを読み込む手段と、
各文書データの各行について、英数字等の占める割合である英数字等濃度を算出する手段と、
この英数字等濃度と予め設定された閾値とを比較し、英数字等濃度が閾値以上である場合に、当該行をノイズ行であると判定する手段と、
ノイズ行を各文書データから削除する手段と、
を備えたことを特徴とする文書データのノイズ除去システム。
【請求項２】
所定の記憶手段からテスト文書データを読み込む手段と、
このテスト文書データについて、以下の(1)〜(3)の処理を予め設定された複数の仮閾値毎に繰り返し、仮閾値毎のノイズ除去後テスト文書データを生成する手段と、
上記テスト文書データの各行についてノイズ行か否かの判定結果が記述された正解データを、所定の記憶手段から読み込む手段と、
上記正解データと各仮閾値毎のノイズ除去後テスト文書データとを比較し、仮閾値毎のＦ値を算出する手段と、
最もＦ値が高い仮閾値を上記の閾値として設定する手段と、
を備えたことを特徴とする請求項１に記載の文書データのノイズ除去システム。
(1)テスト文書データの各行について、英数字等の占める割合である英数字等濃度を算出する。
(2)この英数字等濃度と仮閾値とを比較し、英数字等濃度が各仮閾値以上である場合に、当該行をノイズ行と認定する。
(3)ノイズ行をテスト文書データから削除したノイズ除去後テスト文書データを生成する。
【請求項３】
所定の記憶手段からテスト文書データを読み込む手段と、
このテスト文書データについて、以下の(1)〜(3)の処理を予め設定された複数の仮閾値毎に繰り返し、仮閾値毎のノイズ除去後テスト文書データを生成する手段と、
上記テスト文書データの各行についてノイズ行か否かの判定結果が記述された正解データを、所定の記憶手段から読み込む手段と、
上記正解データと各仮閾値毎のノイズ除去後テスト文書データとを比較し、仮閾値毎の正答数または正答率を算出する手段と、
最も正答数が高い仮閾値または最も正答率の高い仮閾値を上記の閾値として設定する手段と、
を備えたことを特徴とする請求項１に記載の文書データのノイズ除去システム。
(1)テスト文書データの各行について、英数字等の占める割合である英数字等濃度を算出する。
(2)この英数字等濃度と仮閾値とを比較し、英数字等濃度が各仮閾値以上である場合に、当該行をノイズ行と認定する。
(3)ノイズ行をテスト文書データから削除したノイズ除去後テスト文書データを生成する。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は文書データのノイズ除去システムに係り、特に、電子化された大量の文書データ中から注目に値する重要なキーワードを自動的に抽出する際の前処理として、不要な文字列をノイズとして除去することにより、後続のキーワード抽出処理を効率化する技術に関する。
【背景技術】
【０００２】
パソコンやインターネットの普及、あるいは電子ファイリング技術の発展等に伴い、電子化された大量の文書データを利用可能な環境が整いつつあるが、一方で膨大な情報の中から重要なキーワードを自動的に抽出するシステムの必要性が生じている。
例えば、ロボット型の検索エンジンの場合、インターネット上に公開された大量のWebページから重要なキーワードを抽出し、これをインデックス化することによって検索精度を上げることができる。また、企業内においては、社内に蓄積されたナレッジデータを有効活用するために、各データ中のキーワードをリスト化する必要がある。個人ベースでも、膨大な研究論文データや特許データから重要語を抽出することにより、必要な文献に辿り着くことが可能となる。
【０００３】
このため、これまでも様々なキーワード抽出システムが提案され、実用化されている。例えば非特許文献１には、「TermExtract」という専門用語自動抽出アルゴリズムを用いて文書中のキーワードをリストアップするサービスが開示されている。また、非特許文献２には、「茶筌」というキーワード抽出システムについての記述がなされている。
このようなキーワード抽出システムを用いることにより、文書データからキーワードを自動抽出することが可能となる。
【非特許文献１】専門用語（キーワード）自動抽出サービス／「言選Ｗｅｂ」へようこそ［平成２０年４月１９日検索］インターネットURLhttp://gensen.dl.itc.u-tokyo.ac.jp/gensenweb.html
【非特許文献２】形態素解析システム茶筌［平成２０年４月１９日検索］インターネットURL:http://chasen-legacy.sourceforge.jp/
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ブログ記事や雑誌記事、論文などの文書データ中には、ヘッダやフッタに記述された定型文字列やHTMLタグ、数値の羅列からなる統計データ等、キーワード抽出の対象として相応しくない文字列が数多く混入しており、これによってキーワード抽出処理の効率や精度の低下を招来するおそれがある。
このため、従来は不要な文字列をあまり含まないような文書データのみをキーワード抽出の対象として選定するか、あるいは人手を掛けて文書データから不要な文字部分を削除する作業を事前に行っていた。
【０００５】
この発明は従来の上記問題を解決するために案出されたものであり、電子化された大量の文書データ中から重要なキーワードを自動的に抽出する前提として、種々雑多な文書データから不要な文字列を自動的に削除する技術の実現を目的としている。
【課題を解決するための手段】
【０００６】
上記の目的を達成するため、請求項１に記載した文書データのノイズ除去システムは、複数の文書データが格納されたソース文書記憶手段から、各文書データを読み込む手段と、各文書データの各行について、英数字等の占める割合である英数字等濃度を算出する手段と、この英数字等濃度と予め設定された閾値とを比較し、英数字等濃度が閾値以上である場合に、当該行をノイズ行であると判定する手段と、ノイズ行を各文書データから削除する手段とを備えたことを特徴としている。
【０００７】
請求項２に記載した文書データのノイズ除去システムは、請求項１のシステムであって、さらに、所定の記憶手段からテスト文書データを読み込む手段と、このテスト文書データについて、以下の(1)〜(3)の処理を予め設定された複数の仮閾値毎に繰り返し、仮閾値毎のノイズ除去後テスト文書データを生成する手段と、上記テスト文書データの各行についてノイズ行か否かの判定結果が記述された正解データを、所定の記憶手段から読み込む手段と、上記正解データと各仮閾値毎のノイズ除去後テスト文書データとを比較し、仮閾値毎のＦ値を算出する手段と、最もＦ値が高い仮閾値を上記の閾値として設定する手段とを備えたことを特徴としている。
(1)テスト文書データの各行について、英数字等の占める割合である英数字等濃度を算出する。
(2)この英数字等濃度と仮閾値とを比較し、英数字等濃度が各仮閾値以上である場合に、当該行をノイズ行と認定する。
(3)ノイズ行をテスト文書データから削除したノイズ除去後テスト文書データを生成する。
【０００８】
請求項３に記載した文書データのノイズ除去システムは、請求項１のシステムであって、さらに、所定の記憶手段からテスト文書データを読み込む手段と、
このテスト文書データについて、以下の(1)〜(3)の処理を予め設定された複数の仮閾値毎に繰り返し、仮閾値毎のノイズ除去後テスト文書データを生成する手段と、上記テスト文書データの各行についてノイズ行か否かの判定結果が記述された正解データを、所定の記憶手段から読み込む手段と、上記正解データと各仮閾値毎のノイズ除去後テスト文書データとを比較し、仮閾値毎の正答数または正答率を算出する手段と、最も正答数が高い仮閾値または最も正答率の高い仮閾値を上記の閾値として設定する手段とを備えたことを特徴としている。
(1)テスト文書データの各行について、英数字等の占める割合である英数字等濃度を算出する。
(2)この英数字等濃度と仮閾値とを比較し、英数字等濃度が各仮閾値以上である場合に、当該行をノイズ行と認定する。
(3)ノイズ行をテスト文書データから削除したノイズ除去後テスト文書データを生成する。
【発明の効果】
【０００９】
請求項１に記載した文書データのノイズ除去システムによれば、キーワードとして相応しくない英数字等の羅列よりなる統計表や英文等を有効に排除することが可能となる。
【００１０】
請求項２または３に記載した文書データのノイズ除去システムによれば、英数字等の除去の鍵となる濃度閾値を最適化することが可能となる。
【発明を実施するための最良の形態】
【００１１】
図１は、この発明に係る文書データのノイズ除去システムによって生成された文書データの利用例であるキーワード抽出システム10と、これを利用した検索システム11を示すブロック図であり、キーワード抽出システム10は、文書ＤＢ12と、キーワード抽出部14と、キーワードＤＢ16とを備えている。また検索システム11は、上記の他に、関連度算出部18と、キーワード共起頻度表20と、キーワード組合せ頻度総和表22と、キーワード頻度総和表24と、キーワード関連度表26と、固有名詞ＤＢ28と、検索処理部30とを備えている。
【００１２】
上記のキーワード抽出部14、関連度算出部18及び検索処理部30は、コンピュータのCPUが、ＯＳ及び専用のアプリケーションプログラムに従い、必要な処理を実行することによって実現される。
【００１３】
上記の文書ＤＢ12、キーワードＤＢ16、キーワード共起頻度表20、キーワード組合せ頻度総和表22、キーワード頻度総和表24、キーワード関連度表26及び固有名詞ＤＢ28は、同コンピュータのハードディスクに格納されている。
文書ＤＢ12には、新聞記事や学術雑誌、論文等の電子データ（テキストデータ）が予め多数蓄積されている。また、固有名詞ＤＢ28には、企業名、商品名、サービス名、人物名等の固有名詞がカテゴリ別に多数登録されている。
【００１４】
上記のキーワード抽出部14は、図２に示すように、係り受け表現抽出フィルタ32、区切り文字抽出フィルタ34、文字列頻度統計フィルタ36、TermExtractフィルタ38、キーワード認定フィルタ39を備えている。
【００１５】
つぎに、図３のフローチャートに従い、キーワード抽出部14によるキーワード抽出工程について説明する。
まずキーワード抽出部14は、文書ＤＢ12内に蓄積された各文書データに係り受け表現抽出フィルタ32を適用し、各文書データから所定の係り受け表現を備えた文字列を抽出する（Ｓ10）。
すなわち、係り受け表現抽出フィルタ32には、「○○メーカー」、「○○が主力」、「○○を生産」という係り受け表現パターンが予め多数用意されており、キーワード抽出部14は、これに当てはまる表現パターンを検出した後、「○○」に相当する文字列をキーワード候補として抽出する。
【００１６】
つぎにキーワード抽出部14は、各文書データに区切り文字抽出フィルタ34を適用し、「○○」、"○○"、（○○）、［○○］、,○○,のように、カンマや括弧、スペース、タブ等の区切り文字で囲まれた○○の部分をキーワード候補として抽出する（Ｓ12）。
【００１７】
つぎにキーワード抽出部14は、各文書データに文字列頻度統計フィルタ36を適用し、各文書データに含まれる各文字列が他の文書も含めて何回登場するのかを集計し、一定範囲の出現頻度を備えた文字列をキーワード候補として抽出する（Ｓ14）。
まず文字列頻度統計フィルタ36は、図４に示すように、文書中の名詞（ここでは「ＤＶＤ」）に注目し、このＤＶＤという注目語が文書ＤＢ12内に蓄積された各文書データ中に出現する数を集計する。つぎに、文字列頻度統計フィルタ36は、この注目語の前後の形態素に範囲を拡張し、それぞれの全文書中に登場する頻度を集計し、出現頻度が一定以下（例えば20以下）となった時点で文字範囲拡張を停止する。
【００１８】
例えば、ＤＶＤの一つ前の形態素を含む「したＤＶＤ」の出現頻度は「２」と低いため、これ以上前の形態素に範囲が拡張されることはない。これに対し、ＤＶＤの一つ後の形態素を含む「ＤＶＤレコーダー」の出現頻度は「８６２」と多いため、その一つ後の形態素を含む「ＤＶＤレコーダーでは」の出現頻度を集計する。そして、この出現頻度は「５」と低いため、これ以降の形態素に範囲を拡張することが停止される。
【００１９】
つぎに文字列頻度統計フィルタ36は、「ＤＶＤ」及び「ＤＶＤレコーダー」が所定範囲（例えば20〜5,000）内の出現頻度を備えていることを理由にキーワード候補として抽出する。これに対し、「したＤＶＤ」及び「ＤＶＤレコーダーでは」は上記の範囲外であるため、キーワード候補から除外される。
全文書中における出現頻度が20未満のものはそもそも重要語とはいえず、また5,000を越えるものは逆に特徴のない汎用語あるいは一般語と考えられるからであるが、この範囲設定は文書データの分量や検索システムの使用目的に応じて適宜調整される。
【００２０】
ところで、文書ＤＢ12内に蓄積された多量の文書データに含まれる各文字列に関して、それぞれの出現頻度を集計するには膨大な時間を要するため、図５に示すように、文書ＤＢ12内には予め全文書データに登場する各形態素が、個々の文書データ中に存在しているか否かを一覧表にまとめたインデックス（所謂転置インデックス）が生成されている。このため、キーワード抽出部14はこのインデックスを参照することにより、比較的短時間でその出現頻度を取得することが可能となる。
【００２１】
つぎにキーワード抽出部14は、文書ＤＢ12内に蓄積された文書データにTermExtractフィルタ38を適用し、各文書データから所定以上のスコアを備えた文字列をキーワード候補として抽出する（Ｓ16）。
このTermExtractは、専門分野のコーパス（主として研究目的で収集され、電子化された自然言語の文章からなる巨大なテキストデータ）から専門用語を自動抽出するために案出された文字列抽出アルゴリズムであり、文書データ中から単名詞及び複合名詞を候補語として抽出し、各候補語の出現頻度と連接頻度に基づいてそれぞれの重要度を算出する機能を備えている。このTermExtract自体は公知技術であるため、これ以上の説明は省略する。
【００２２】
つぎにキーワード抽出部14は、係り受け表現抽出フィルタ32、区切り文字抽出フィルタ34、文字列頻度統計フィルタ36、TermExtractフィルタ38によって抽出された各キーワード候補をキーワード認定フィルタ39に入力し、キーワードを絞り込む。
キーワード認定フィルタ39では、各フィルタによってリストアップされたキーワード候補同士をマッチングし、２以上のフィルタによってキーワード候補として挙げられているものを最終的なキーワードと認定し、キーワードＤＢ16に格納する（Ｓ18）。
【００２３】
このように、係り受け表現抽出フィルタ32、区切り文字抽出フィルタ34、文字列頻度統計フィルタ36、TermExtractフィルタ38の４つのフィルタを用いることにより、文書データからキーワードを抽出する際に重要語が漏れ落ちることを防止すると共に、キーワード認定フィルタ39を用いて絞り込むことにより、不要なキーワード（ノイズ）が混入することを防止できる。
【００２４】
上記のように４つのフィルタ中の２以上のフィルタによって選別されたキーワード候補を正式なキーワードと認定するのは一例であり、３以上のフィルタによって選別されることをキーワード認定の要件とすることもできる。
また、フィルタの数も上記に限定されるものではなく、他の有効なキーワード候補抽出フィルタをキーワード抽出部14に設けることもできる。
【００２５】
つぎに、図６のフローチャートに従い、関連度算出部18による各キーワード間の関連度算出工程について説明する。
まず関連度算出部18は、各キーワードの各文書データ中における共起頻度を集計し、キーワード共起頻度表20を生成する（Ｓ20）。
図７は、このキーワード共起頻度表20の具体例を示すものであり、文書ＤＢ12に格納された各文書D1〜Dnごとに、各キーワードKW-1〜nの出現頻度が記述されている。
【００２６】
ここで、あるキーワードＸとＹとの間の関連度は、数１のiにキーワード共起頻度表20に記載されたＸとＹの出現頻度を代入することにより、理論的には算出可能である。
【数１】
2009271797.tif 000003
【００２７】
この数１の分子は、キーワードＸ、Ｙの文書毎の出現頻度の積の全文書に亘る総和を意味するため、Ｘ、Ｙが同じ文書に出現する頻度が高いほど値は大きくなる。もっとも、特定の文書中におけるＸ及びＹの出現頻度の絶対数が多ければそれにつられて分子の値は高くなってしまい、必ずしもＸとＹの共起性の高さを表しているとはいえない。これに対し分母は、キーワードＸ、Ｙの文書毎の出現頻度の二乗の全文書に亘る総和の平方根同士を加算したものであり、Ｘ、Ｙの特定文書中の出現頻度が高いほど値が大きくなる。このため、分子の値を分母の値で除算することにより、特定文書中におけるＸ、Ｙの出現頻度の絶対数が多いことの影響を排除し、Ｘ、Ｙ間の共起性の高さに基づく関連度を導くことが可能となる。
【００２８】
ただし、文書データの分量及びキーワードの総数が多い場合には膨大な計算量が発生し、多くの処理時間を要することとなる。
そこで、この実施の形態では、キーワード共起頻度表20に基づいてキーワード組合せ頻度総和表22及びキーワード頻度総和表24を生成することにより、計算工程の簡素化を図っている。
【００２９】
図８は、その要領を例示するものである。この場合、キーワード共起頻度表20にはキーワードKW-1〜KW-5の文書D1における出現頻度が記載されているが、この中KW-3及びKW-4の出現頻度は０であるため、実際に関連度を算出すべきキーワードの組合せは以下の３パターンで済むこととなる。
（KW-1, KW-2）、（KW-1, KW-5）、（KW-2, KW-5）
つぎに関連度算出部18は、各組合せ毎に出現頻度を乗じた値を記述したキーワード組合せ頻度総和表22と、各キーワードの出現頻度を二乗した値を記述したキーワード頻度総和表24を生成する（Ｓ22、Ｓ24）。
【００３０】
図８のキーワード組合せ頻度総和表では、文書D1についての値のみが記述されているが、同様の処理を各文書毎に実行し、その結果に基づいて値を加算していくことにより、各キーワードの値が数１の分子に相当する結果となる。
同じく、図８のキーワード頻度総和表では、文書D1についての値のみが記述されているが、各文書における各キーワードの出現頻度を二乗した値を足し込んでいき、各キーワードの最終的な値の平方根を求めることにより、数１の分母に相当する値が得られることになる。
【００３１】
この結果、図９に示すように、各キーワード間の関連度が比較的容易に算出でき、その値がキーワード関連度表26に記述される（Ｓ26）。
上記のように、文書毎に各キーワード間の組合せパターンを抽出し、それぞれの積及び各キーワードの二乗値を求めた上で、各文書の値を加算していくことにより、値が０のキーワードに係る計算処理を省くことが可能となる。
このため、特許文献１の検索システムのように企業名に限定することなく、全キーワード間における関連度を算出することが現実的になる。
【００３２】
また、文書ＤＢ12に新規の文書データが追加された場合には、この新規文書データ中の各キーワードに係るデータをキーワード組合せ頻度総和表22及びキーワード頻度総和表24に追加し、既存の集計値に追加分の値を加算することによって、簡単にキーワード間の関連度が再計算可能となる。
古くなった文書データの影響を排除する場合にも、当該文書データ中の各キーワードに係るデータをキーワード組合せ頻度総和表22及びキーワード頻度総和表24から削除し、既存の集計値から削除分の値を減算することによって、簡単にキーワード間の関連度を最新の状態に維持することが可能となる。
【００３３】
つぎに、図１０のフローチャートに従い、このシステム10における検索処理手順について説明する。
まずユーザが端末装置αから検索語を入力すると、これを受け付けた検索処理部30は（Ｓ40）、図１１に示すように、キーワード関連度表26を参照し、当該検索語と同一または一定範囲内の類似性を有するキーワードを特定すると共に、当該キーワードに対して所定以上の関連度を有するキーワードのリストを抽出する（Ｓ42）。
つぎに検索処理部30は、固有名詞ＤＢ28の中の例えば企業名ＤＢを参照し、上記リスト中に含まれる企業名を抽出する（Ｓ44）。
この抽出された企業名のリストは、検索語に関連の深い企業リストとして端末装置αに送信される（Ｓ46）。
【００３４】
この結果ユーザは、入力した検索語（例えば時事用語）と関連の深い企業を認識することが可能となり、投資行動の判断材料に利用することができる。
また、固有名詞ＤＢ28として人物名ＤＢを指定すれば、入力した検索語と関連の深い人物をピックアップできる。
【００３５】
もっとも、企業名ＤＢや人物名ＤＢとのマッチングを行うことなく、検索語と関連の深いキーワードのリストを、そのまま端末装置αに返すようにしてもよい。
この後、ユーザがキーワードリスト中の特定のキーワードを検索語として指定すると、そのキーワードと所定以上の関連性を備えたキーワードのリストが検索処理部30によってさらに抽出され、端末装置αに送信される。
この結果、ユーザは関連語から関連語へと、連鎖的に検索範囲を広げていくことが可能となり、予想外のキーワードに辿り着くことが期待できる。
【００３６】
ユーザが検索結果リスト中の特定のキーワードを指定し、その根拠となる文書の提示をリクエストすると、これを受け付けた検索処理部は（Ｓ48）、図１２に示すように、検索語及び当該キーワードに基づいてキーワード共起頻度表20を検索し、両者間で共起の生じている文書番号のリストを生成する（Ｓ50）。
つぎに検索処理部30は、この文書番号リストに基づいて文書ＤＢ12を検索し、文書本文のリストを生成した後、端末装置αに送信する（Ｓ52、Ｓ54）。
この結果、端末装置αのディスプレイには、検索語と当該キーワードとが同時に出現している文書の番号、タイトル、抄録、年月日等がリスト表示される。
【００３７】
また、この中の一つをユーザが選択すると、検索処理部30は該当の文書データを文書ＤＢ12から抽出し、端末装置αに送信する。
この結果ユーザは、当該文書データの内容を閲覧し、検索語とキーワードとの関連性を個別に確認することが可能となる。
【００３８】
つぎに、この発明に係る文書データのノイズ除去システムについて説明する。
図１３に示すように、このノイズ除去システム40は、ソース文書ＤＢ42と、定型文字列ノイズ除去部44と、第１のノイズ除去後文書ＤＢ46と、英数字等ノイズ除去部48と、第２のノイズ除去後文書ＤＢ49と、テスト文書ＤＢ50と、テスト用英数字等ノイズ除去部51と、ノイズ除去後テスト文書ＤＢ52と、正解データ記憶部54と、Ｆ値計算部55と、仮閾値・Ｆ値対応表記憶部56と、閾値設定部57とを備えている。
【００３９】
上記の定型文字列ノイズ除去部44、英数字等ノイズ除去部48、テスト用英数字等ノイズ除去部51、F値計算部55及び閾値設定部57は、コンピュータのCPUが、ＯＳ及び専用のアプリケーションプログラムに従い、必要な処理を実行することによって実現される。
【００４０】
上記のソース文書ＤＢ42には、PDFやHTML、DOC等の様々なファイル形式の文書ファイルを、単純にテキスト形式に自動変換しただけの、種々雑多な文書データが多数格納されている。
図１４(a)はその一例を示すものであり、各文書１〜ｎのヘッダ部分には、「知的資産創造／****年**月号」という定型文字列が共通的に記載されており、フッタ部分には「当レポートに掲載されている…」及び「Copyright 2007 Nomura…」の定型文字列が共通的に記載されている。
【００４１】
このような、各文書に機械的に挿入される定型文字列は、上記したキーワード間の関連度を算出するに際しては邪魔になるため、キーワード抽出処理に先立って除去しておくことが望ましい。
以下、図１５のフローチャートに従い、このような定型文字列除去の手順を説明する。
【００４２】
まず、定型文字列ノイズ除去部44は、ソース文書ＤＢ42から各文書データを読み込む（Ｓ60）。
つぎに定型文字列ノイズ除去部44は、図１４(b)に示すように、各文書中の数字を所定の共通シンボル（例えば"D"）に置き換える（Ｓ61）。数字の部分は、シリアル番号や年月日など、形式的には異なった文字列であっても、概念的には共通のものとして捉えられる場合が多いため、それぞれの個性を捨象する目的で、共通の文字列に置換される。例えば、「2007年１月号→D年D月号」、「Web2.0→WebD.D」、「Copyright 2007 Nomura→Copyright D Nomura」のように変換される。なお、「2007」のような連続数字は、「DDDD」のように各数字が共通シンボルに置換されるのではなく、まとめて一文字の「D」に置換される。
【００４３】
つぎに定型文字列ノイズ除去部44は、各文書中の文字列を行単位でマッチングしてゆき、同一パターンの文字列の頻度を集計する（Ｓ62）。図１４(c)はその一例を示すものであり、「Copyright D Nomura…」及び「当レポートに掲載されている…」の頻度がそれぞれ200であり、「知的資産創造／D年D月号」の頻度が80、「エンジン」及び「課税所得」の頻度がそれぞれ２であることが記載されている。
【００４４】
つぎに定型文字列ノイズ除去部44は、各文字列毎にノイズスコアを算出する。ここでノイズスコアとは、各文字列のパターン長×頻度によって求められる値であり、図１４(c)の例では、「Copyright D Nomura…」のノイズスコアが1,500、「当レポートに掲載されている…」のノイズスコアが1,000、「知的資産創造／D年D月号」のノイズスコアが800、「エンジン」及び「課税所得」の頻度がそれぞれ16であることが記載されている。
【００４５】
つぎに定型文字列ノイズ除去部44は、各文字列のノイズスコアの偏差値を算出する（Ｓ64）。図１４(c)の例では、「Copyright D Nomura」のノイズスコア偏差値が66.2、「当レポートに掲載されている…」のノイズスコア偏差値が57.63「知的資産創造／D年D月号」のノイズスコア偏差値が54.20、「エンジン」及び「課税所得」の頻度がそれぞれ40.66であることが記載されている。
【００４６】
つぎに定型文字列ノイズ除去部44は、各文字列のノイズスコアの偏差値に基づいて、除去すべき定型文字列を決定する（Ｓ65）。ここでは、ノイズスコア偏差値が50以上の文字列を、除去すべき定型文字列として決定するが、この閾値となる偏差値は50に限定されるものではない。
【００４７】
つぎに定型文字列ノイズ除去部44は、各文書中からノイズスコアの偏差値が50以上の除去対象となる定型文字列を削除した後（Ｓ66）、第１のノイズ除去後文書ＤＢ46にノイズ除去後の文書データを格納する（Ｓ67）。
図１４(d)は、定型文字列ノイズ除去後文書の具体例を示すものであり、文書１及び文書ｎから不要なヘッダとフッタが除去され、重要な内容部分が残されている様子が窺える。
【００４８】
このように、各文書からヘッダやフッタのような定型文字列ノイズを除去するだけでも、後続のキーワード抽出処理を相当に効率化することができるが、このシステム40はさらに、文書中おける「非定型ではあっても関連度の算出には無益な文字列」をもノイズとして除去する機能を備えている。
【００４９】
例えば、図１６(a)に示すような文書の場合、文中に含まれる統計データ（数値）60は、定型文字列ではないがキーワード間の関連度に基づいた検索処理には不要な情報といえる。また、上記の検索処理は日本語を前提としているため、文書中に英文字やギリシャ文字、キリル文字等の外国文字、あるいは一部の記号が含まれていた場合も、事前に削除しておくことが望ましい。
以下、図１７のフローチャートに従い、このような不要な英数字等の除去の手順を説明する。
【００５０】
まず、英数字等ノイズ除去部48は、第１のノイズ除去後文書ＤＢ46から定型文字列ノイズ除去後の文書データを読み込む（Ｓ70）。
つぎに英数字等ノイズ除去部48は、行単位で英数字等の濃度を算出する（Ｓ71）。英数字等の濃度とは、当該行の全文字数中に占める不要な英数字等の割合を意味する。不要な英数字等（記号を含む）の具体的範囲は、事前にプログラム内に設定されている。
そして、この濃度が予め設定された閾値Ｄ以上である場合（Ｓ72／Y）、英数字等ノイズ除去部48は当該行を削除対象行と認定し、削除する（Ｓ73）。これに対し、濃度が閾値Ｄ未満である場合（Ｓ72／N）、英数字等ノイズ除去部48は当該行を非削除対象行であると認定し、そのまま維持する（Ｓ74）。
【００５１】
英数字等ノイズ除去部48は上記のＳ71〜Ｓ74の処理を各文書の全ての行に対して実行した後（Ｓ75）、英数字過多の削除対象行（ノイズ行）を除去した文書データを第２のノイズ除去後文書ＤＢ49に格納する。
図１６(b)は、英数字等ノイズ除去部48によるノイズ削除の結果を示すものであり、元の文書中に含まれていた統計表60が削除され、キーワード抽出の対象となるべき文書のみが残された様子が描かれている。
【００５２】
ところで、この英数字等の除去処理を的確に行うためには、上記の閾値Ｄの設定が極めて重要となる。この値が不適切であると、重要な行が削除されてしまったり、不要な行が残されたりする結果となる。
そこで、以下において閾値Ｄの設定方法について説明する。
【００５３】
まず事前準備として、正解データ記憶部54に人間の判断に基づく正解データを蓄積しておく。この正解データは、図１８に示すように、複数のテスト文書の各行について予め人間が内容を吟味し、○×等の記号で要不要（ノイズ行OR非ノイズ行）の判定結果を行毎に記録したものを指す。
【００５４】
また、テスト用英数字等ノイズ除去部51は、正解データの作成に用いたのと同じ複数のテスト文書データに対し、所定の手順に従ってノイズ行を削除したノイズ除去済のテスト文書データを生成し、ノイズ除去後テスト文書ＤＢ52に格納しておく。以下、図１９のフローチャートに従い、このテスト文書データに対するノイズ除去処理に係る手順を説明する。
【００５５】
まずテスト用英数字等ノイズ除去部51は、仮閾値として0.00をセットした上で（Ｓ80）、図１７のＳ70〜Ｓ75と実質的に同じ処理を実行する。すなわち、テスト文書ＤＢ50からテスト文書データを読み込み（Ｓ81）、各文書の行単位で英数字等の濃度を算出し（Ｓ82）、各行の濃度が仮閾値以上の場合には当該行をノイズ行と認定して削除し（Ｓ83、Ｓ84）、仮閾値未満の場合には非ノイズ行と認定して当該行を維持する（Ｓ85）。そして、一つのテスト文書データの全行について処理が終了すると（Ｓ86）、このノイズ除去済のテスト文書データをノイズ除去後テスト文書ＤＢ52に格納する（Ｓ87）。
【００５６】
つぎにテスト用英数字等ノイズ除去部51は、現在の仮閾値（0.00）に0.01をプラスし（Ｓ89）、同テスト文書についてＳ82〜Ｓ87の処理を繰り返し、その結果をノイズ除去後テスト文書ＤＢ52に格納する。
【００５７】
テスト用英数字等ノイズ除去部51は、上記の処理を仮閾値が1.00になるまで繰り返す（Ｓ88）。この結果、ノイズ除去後テスト文書ＤＢ52には、同一テスト文書データについて仮閾値＝0.00〜1.00までの、101通りのノイズ除去後テスト文書データが蓄積されることとなる。
対象となるテスト文書データが複数ある場合、テスト用英数字等ノイズ除去部51は上記の処理をテスト文書データの数だけ繰り返す。
【００５８】
つぎにＦ値計算部55が起動し、正解データ記憶部54に格納された正解データとノイズ除去後テスト文書ＤＢ52に格納された各ノイズ除去後のテスト文書データに基づいて、最適な閾値Ｄを決定する。以下、図２０のフローチャートに従い、この閾値決定処理について説明する。
【００５９】
まず、Ｆ値計算部55は、正解データ記憶部54からテスト文書毎の正解データを読み込んだ後（Ｓ90）、正解データに含まれるノイズ行の数を算出する（Ｓ91）。
【００６０】
つぎにF値計算部55は、ノイズ除去後テスト文書ＤＢ52から仮閾値毎（0.00〜1.00）のノイズ除去後テスト文書データを読み込む（Ｓ92）。
【００６１】
つぎにＦ値計算部55は、正解データと各ノイズ除去後テスト文書データを比較し、仮閾値毎にノイズ判定行数を算出すると共に（Ｓ93）、ノイズ判定行の中で正解データのノイズ行と一致した行の数（正解数）を算出する（Ｓ94）。
【００６２】
つぎにＦ値計算部55は、仮閾値毎に「Ｆ値」を算出し、閾値・Ｆ値対応表記憶部56に格納する（Ｓ95）。図２１は、このＦ値算出の前提概念を示す図であり、人間が判定した正解データ中のノイズ行数を「Hum」とし、システム（テスト用英数字等ノイズ除去部51）が判定した仮閾値毎のノイズ行数を「Sys」、両者の交わった領域であるシステムの正解数を「Col 」とした場合、Ｆ値は以下の要領で算出される。
Ｆ値＝（２×適合率×再現率）÷（適合率＋再現率）
ただし、適合率＝Col÷Sys
再現率＝Col÷Hum
【００６３】
ここで「適合率」はシステムによるノイズ判定の正確性を表す指標であり、「再現率」は正解データのノイズ行に対しどれだけの行数をノイズと判定出来ているかを表す網羅性の指標である。また、Ｆ値は適合率と再現率の調和平均であり、Ｆ値が高いほど判定性能が良いことを意味している。
【００６４】
図２２は、閾値・Ｆ値対応表記憶部56に格納された対応表の一例を示すものであり、0.01刻みの仮閾値毎にＦ値が登録されている。
【００６５】
つぎに閾値設定部57が各仮閾値のＦ値をソートし、最もＦ値が高い仮閾値を正式な閾値Ｄと認定した後（Ｓ96）、英数字等ノイズ除去部48にこの閾値Ｄをセットする（Ｓ97）。
【００６６】
図２３は、この閾値Ｄの決定の要領を示すグラフであり、縦軸にＦ値が設定され、横軸に仮閾値が設定されている。図示の通り、Ｆ値が最も高い仮閾値が、正式な閾値Ｄとして認定されている。
【００６７】
因みに、仮閾値が0.00に近い場合には、英数字等がほとんど含まれていないような行であってもノイズとして除去されてしまうため、人間の判断に基づく正解データとの一致数が低下することとなる。反対に、仮閾値が1.00に近い場合には、ほとんどが英数字等で構成される行に多少の漢字や平仮名、片仮名（例えば年、月、日）が混じっただけで非ノイズとして維持されてしまうため、やはり人間の判断に基づく正解データとの一致数が低下することとなる。
【００６８】
上記にあっては、正解データとノイズ除去後テスト文書データに基づいて仮閾値毎のＦ値を算出し、その高さによって閾値Ｄを決定する例を示したが、正解データに対する正答数または正答率を仮閾値毎に算出し、正答数の多寡あるいは正答率の高低によって閾値Ｄを決定することも当然に可能である。この場合、Ｆ値計算部55の代わりに閾値決定部を設け、この閾値決定部に仮閾値毎の正答数または正答率の算出処理、算出結果を仮閾値と正答数または正答率との対応表に記録する処理を実行させればよい。また、閾値設定部57はこの対応表を参照し、最も正答数の多い仮閾値、あるいは最も正答率の高い仮閾値を正式な閾値Ｄと認定し、英数字等ノイズ除去部48にセットする。
【００６９】
上記にあっては、ソース文書ＤＢ42内に蓄積された文書データに対して、まず定型文字列ノイズ除去部44による定型文字列ノイズの除去処理を実行し、その後に英数字等ノイズ除去部48による英数字等ノイズの除去処理を実行する例を示したが、この発明はこれに限定されるものではない。
【００７０】
例えば、図２４に示すように、ソース文書ＤＢ42内に蓄積された文書データに対して、まず英数字等ノイズ除去部48による英数字等ノイズの除去処理を実行し、英数字等ノイズ除去済の文書データを一旦第１のノイズ除去後文書ＤＢ46に格納した後、定型文字列ノイズ除去部44による定型文字列ノイズの除去処理を実行し、英数字等ノイズ及び定型文字列ノイズ除去済の文書データを第２のノイズ除去後文書ＤＢ49に格納するようにシステム40を構成することができる（図２４においては、英数字等ノイズ除去に係る閾値の算出・設定に関する構成は省略してある）。
【００７１】
また、定型文字列ノイズ除去システムあるいは英数字等ノイズ除去システムのように、それぞれ独立したシステムとして構成することも当然に可能である。
図２５は、ソース文書ＤＢ42内に蓄積された文書データに対して、定型文字列ノイズ除去部44による定型文字列ノイズの除去処理を実行し、定型文字列ノイズ除去済の文書データを第１のノイズ除去後文書ＤＢ46に格納する例を示している。
これに対し図２６は、ソース文書ＤＢ42内に蓄積された文書データに対して、英数字等ノイズ除去部48による英数字等ノイズの除去処理を実行し、英数字等ノイズ除去済の文書データを第１のノイズ除去後文書ＤＢ46に格納する例を示している（図２６においては、英数字等ノイズ除去に係る閾値の算出・設定に関する構成は省略してある）。
【図面の簡単な説明】
【００７２】
【図１】キーワード抽出システム及びこれを利用した検索システムの機能構成を示すブロック図である。
【図２】キーワード抽出部の機能構成を示すブロック図である。
【図３】キーワード抽出工程を示すフローチャートである。
【図４】文字列頻度統計フィルタの動作を示す説明図である。
【図５】文書ＤＢ内に形態素インデックスが形成されている様子を示す説明図である。
【図６】キーワード間の関連度算出工程を示すフローチャートである。
【図７】キーワード共起頻度表の一例を示す説明図である。
【図８】関連度算出処理を簡略化する方法を示す説明図である。
【図９】キーワード組合せ頻度総和表及びキーワード頻度総和表に基づいてキーワード関連度表が生成される様子を示す説明図である。
【図１０】検索処理の手順を示すフローチャートである。
【図１１】検索語に基づき企業名リストを抽出する様子を示す説明図である。
【図１２】検索語及び特定キーワード間の関連度の根拠を提示する様子を示す説明図である。
【図１３】この発明に係る文書データのノイズ除去システムの機能構成を示すブロック図である。
【図１４】定型文字列をノイズとして除去する様子を示す説明図である。
【図１５】定型文字列ノイズ除去の手順を示すフローチャートである。
【図１６】英数字等を多く含む行をノイズ行として除去する様子を示す説明図である。
【図１７】英数字等ノイズ除去の手順を示すフローチャートである。
【図１８】正解データの具体例を示す説明図である。
【図１９】テスト文書データに対する英数字等ノイズ除去の手順を示すフローチャートである。
【図２０】閾値決定処理の手順を示すフローチャートである。
【図２１】Ｆ値算出の前提概念を示す説明図である。
【図２２】仮閾値・Ｆ値対応表の具体例を示す図である。
【図２３】仮閾値とＦ値との関係を示すグラフである。
【図２４】文書データのノイズ除去システムの変形例を示すブロック図である。
【図２５】文書データのノイズ除去システムの変形例を示すブロック図である。
【図２６】文書データのノイズ除去システムの変形例を示すブロック図である。
【符号の説明】
【００７３】
10 キーワード抽出システム
11 検索システム
12 文書ＤＢ
14 キーワード抽出部
16 キーワードＤＢ
18 関連度算出部
20 キーワード共起頻度表
22 キーワード組合せ頻度総和表
24 キーワード頻度総和表
26 キーワード関連度表
28 固有名詞ＤＢ
30 検索処理部
32 係り受け表現抽出フィルタ
34 区切り文字抽出フィルタ
36 文字列頻度統計フィルタ
38 TermExtractフィルタ
39 キーワード認定フィルタ
40 文書データのノイズ除去システム
42 ソース文書ＤＢ
44 定型文字列ノイズ除去部
46 第１のノイズ除去後文書ＤＢ
48 英数字等ノイズ除去部
49 第２のノイズ除去後文書ＤＢ
50 テスト文書ＤＢ
51 テスト用英数字等ノイズ除去部
52 ノイズ除去後テスト文書ＤＢ
54 正解データ記憶部
55 Ｆ値計算部
56 仮閾値・Ｆ値対応表記憶部
57 閾値設定部
60 統計表
【図１】
2009271797.tif 000004
【図２】
2009271797.tif 000005
【図３】
2009271797.tif 000006
【図４】
2009271797.tif 000007
【図５】
2009271797.tif 000008
【図６】
2009271797.tif 000009
【図７】
2009271797.tif 000010
【図８】
2009271797.tif 000011
【図９】
2009271797.tif 000012
【図１０】
2009271797.tif 000013
【図１１】
2009271797.tif 000014
【図１２】
2009271797.tif 000015
【図１３】
2009271797.tif 000016
【図１４】
2009271797.tif 000017
【図１５】
2009271797.tif 000018
【図１６】
2009271797.tif 000019
【図１７】
2009271797.tif 000020
【図１８】
2009271797.tif 000021
【図１９】
2009271797.tif 000022
【図２０】
2009271797.tif 000023
【図２１】
2009271797.tif 000024
【図２２】
2009271797.tif 000025
【図２３】
2009271797.tif 000026
【図２４】
2009271797.tif 000027
【図２５】
2009271797.tif 000028
【図２６】
2009271797.tif 000029