(57)【要約】【課題】辞書を用いずに、テキストに頻出する単語を精度良く抽出する。【解決手段】単語抽出装置１は、文字数が所定文字数以上の文字列であって、テキストに所定回数以上出現する文字列を対象文字列として前記テキストから抽出する対象文字列抽出部と、他の対象文字列の部分文字列であって、前記テキストにおいて前記他の対象文字列に包含される位置以外に出現する回数が前記所定回数より小さい文字列を前記対象文字列抽出部により抽出された対象文字列の集合から削除する第１の削除部と、前記第１の削除部により文字列を削除した後の対象文字列の集合に含まれる文字列を単語とする単語抽出部とを備える。【選択図】図１
2012194870.tif 000002
【特許請求の範囲】
【請求項１】
文字数が所定文字数以上の文字列であって、テキストに所定回数以上出現する文字列を対象文字列として前記テキストから抽出する対象文字列抽出部と、
他の対象文字列の部分文字列であって、前記テキストにおいて前記他の対象文字列に包含される位置以外に出現する回数が前記所定回数より小さい文字列を前記対象文字列抽出部により抽出された対象文字列の集合から削除する第１の削除部と、
前記第１の削除部により文字列を削除した後の前記対象文字列の集合に含まれる文字列を単語とする単語抽出部と、
を備えることを特徴とする単語抽出装置。
【請求項２】
前記テキストに含まれる連続するアルファベット、連続する数字、または連続する片仮名の途中から開始する文字列、或いは、前記テキストに含まれる連続するアルファベット、連続する数字、または連続する片仮名の途中で終了する文字列の数を、当該文字列のテキスト中での出現回数から差し引いた結果が前記所定回数より小さい文字列を対象文字列の集合から削除する第２の削除部
を備えることを特徴とする請求項１に記載の単語抽出装置。
【請求項３】
前記対象文字列の出現回数が、当該対象文字列の部分文字列であって、空白を除く文字の数が当該対象文字列より１文字少ない他の対象文字列の出現回数から前記所定回数を減算した結果より小さい場合に、当該対象文字列を前記対象文字列の集合から削除する第３の削除部
を備えることを特徴とする請求項１又は２に記載の単語抽出装置。
【請求項４】
予め設定された所定文字から始まる文字列を前記対象文字列の集合から削除する第４の削除部
を備えることを特徴とする請求項１から３いずれか１項に記載の単語抽出装置。
【請求項５】
前記対象文字列抽出部は、前記テキストに所定回数以上出現する前記所定文字数の文字列を前記テキストから抽出し、当該抽出した文字列から始まり、かつ、前記テキストに所定回数以上出現する文字列を前記対象文字列として抽出する
ことを特徴とする請求項１から４いずれか１項に記載の単語抽出装置。
【請求項６】
単語抽出装置が、文字数が所定文字数以上の文字列であって、テキストに所定回数以上出現する文字列を対象文字列として前記テキストから抽出するステップと、
前記単語抽出装置が、他の対象文字列の部分文字列であって、前記テキストにおいて前記他の対象文字列に包含される位置以外に出現する回数が前記所定回数より小さい文字列を前記対象文字列抽出部により抽出された対象文字列の集合から削除するステップと、
前記単語抽出装置が、前記文字列を削除した後の前記対象文字列の集合に含まれる文字列を単語とするステップと、
を有することを特徴とする単語抽出方法。
【請求項７】
文字数が所定文字数以上の文字列であって、テキストに所定回数以上出現する文字列を対象文字列として前記テキストから抽出するステップと、
他の対象文字列の部分文字列であって、前記テキストにおいて前記他の対象文字列に包含される位置以外に出現する回数が前記所定回数より小さい文字列を前記対象文字列抽出部により抽出された対象文字列の集合から削除するステップと、
前記文字列を削除した後の前記対象文字列の集合に含まれる文字列を単語とするステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、単語抽出装置、単語抽出方法及びプログラムに関する。
【背景技術】
【０００２】
現在、ネットワーク上では、日々新しい言葉が誕生している。このため、ネットワーク上に流れる大量のテキストを解析するには、これら新しい言葉、或いは、注目されているフレーズを自動的に収集することが重要である。
従来では、人手により、新しい単語をテキスト解析の辞書に追加する方法が一般的であった。また、新しい単語を抽出する試みとしては、日本語の文字種を足掛かりに、日本語の文法知識を用いる方法がある。また、特許文献１には、形態素解析で得られた単語の並びの出現頻度と、予め決めた単語連結のパターンとに基づいて、用語を抽出する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−３４２３２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、日本語の文字種を足掛かりに、日本語の文法知識を用いる方法では、英単語を含む単語への対応が困難である、という問題がある。また、例えば、「打ち合わせを行う」というテキストでは、単語の境界が連続する平仮名「せを」の部分に存在するように、必ずしも文字種により単語を分割できるとは限らない。また、特許文献１に記載された技術では、形態素解析により適切な単語の並びが得られるとは限らず、また、想定していないパターンで連結された単語は抽出することができない、という問題がある。
【０００５】
本発明は上記の点に鑑みてなされたものであり、その目的は、辞書を用いずに、テキストに頻出する単語を精度良く抽出することができる単語抽出装置、単語抽出方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明は上記の課題を解決するためになされたものであり、文字数が所定文字数以上の文字列であって、テキストに所定回数以上出現する文字列を対象文字列として前記テキストから抽出する対象文字列抽出部と、他の対象文字列の部分文字列であって、前記テキストにおいて前記他の対象文字列に包含される位置以外に出現する回数が前記所定回数より小さい文字列を前記対象文字列抽出部により抽出された対象文字列の集合から削除する第１の削除部と、前記第１の削除部により文字列を削除した後の前記対象文字列の集合に含まれる文字列を単語とする単語抽出部と、を備えることを特徴とする単語抽出装置である。
【０００７】
また、本発明の一態様は、上記の単語抽出装置において、前記テキストに含まれる連続するアルファベット、連続する数字、または連続する片仮名の途中から開始する文字列、或いは、前記テキストに含まれる連続するアルファベット、連続する数字、または連続する片仮名の途中で終了する文字列の数を、当該文字列のテキスト中での出現回数から差し引いた結果が前記所定回数より小さい文字列を対象文字列の集合から削除する第２の削除部を備えることを特徴とする。
【０００８】
また、本発明の一態様は、上記の単語抽出装置において、前記対象文字列の出現回数が、当該対象文字列の部分文字列であって、空白を除く文字の数が当該対象文字列より１文字少ない他の対象文字列の出現回数から前記所定回数を減算した結果より小さい場合に、当該対象文字列を前記対象文字列の集合から削除する第３の削除部を備えることを特徴とする。
【０００９】
また、本発明の一態様は、上記の単語抽出装置において、予め設定された所定文字から始まる文字列を前記対象文字列の集合から削除する第４の削除部を備えることを特徴とする。
【００１０】
また、本発明の一態様は、上記の単語抽出装置において、前記対象文字列抽出部は、前記テキストに所定回数以上出現する前記所定文字数の文字列を前記テキストから抽出し、当該抽出した文字列から始まり、かつ、前記テキストに所定回数以上出現する文字列を前記対象文字列として抽出することを特徴とする。
【００１１】
また、本発明の一態様は、単語抽出装置が、文字数が所定文字数以上の文字列であって、テキストに所定回数以上出現する文字列を対象文字列として前記テキストから抽出するステップと、前記単語抽出装置が、他の対象文字列の部分文字列であって、前記テキストにおいて前記他の対象文字列に包含される位置以外に出現する回数が前記所定回数より小さい文字列を前記対象文字列抽出部により抽出された対象文字列の集合から削除するステップと、前記単語抽出装置が、前記文字列を削除した後の前記対象文字列の集合に含まれる文字列を単語とするステップと、を有することを特徴とする単語抽出方法である。
【００１２】
また、本発明の一態様は、文字数が所定文字数以上の文字列であって、テキストに所定回数以上出現する文字列を対象文字列として前記テキストから抽出するステップと、他の対象文字列の部分文字列であって、前記テキストにおいて前記他の対象文字列に包含される位置以外に出現する回数が前記所定回数より小さい文字列を前記対象文字列抽出部により抽出された対象文字列の集合から削除するステップと、前記文字列を削除した後の前記対象文字列の集合に含まれる文字列を単語とするステップと、をコンピュータに実行させるためのプログラムである。
【発明の効果】
【００１３】
本発明によれば、テキストに所定回数以上出現する対象文字列を抽出し、他の対象文字列の部分文字列であって包含される位置以外に出現する回数が所定回数より小さい文字列以外の対象文字列を単語として抽出する。すなわち、他の対象文字列の部分文字列を単語から除外している。これにより、辞書を用いることなく、テキストに頻出する単語を精度良く抽出することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態による単語抽出装置の機能構成を示すブロック図である。
【図２】本実施形態による単語抽出部の機能構成を示すブロック図である。
【図３】本実施形態による単語抽出部における処理の説明図である。
【図４】本実施形態による単語抽出部における処理の説明図である。
【図５】本実施形態による単語抽出部における処理の説明図である。
【図６】本実施形態による単語抽出部における処理の説明図である。
【図７】本実施形態による単語抽出部における処理の説明図である。
【図８】本実施形態による単語抽出部における処理の説明図である。
【図９】本実施形態による単語抽出処理の手順を示すフローチャートである。
【図１０】本実施形態による単語抽出処理の手順を示すフローチャートである。
【図１１】本実施形態による単語抽出処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
図１は、本発明の一実施形態による単語抽出装置１の機能構成を示すブロック図である。
同図に示すように、コンピュータから構成される単語抽出装置１は、テキスト入力部１１と、単語抽出部１２と、未知語検出部１３と、単語格納部１４とを含んで構成される。
【００１６】
テキスト入力部１１は、単語の抽出元となるテキスト（以下、対象テキストとする）の入力を受け付け、入力された対象テキストを単語抽出部１２に出力する。このテキストは、一つのドキュメントでもよいし、短い文章の集合でもよい。単語抽出部１２は、入力された対象テキストに頻出する単語を抽出し、抽出した単語を外部装置（例えば、表示装置、印刷装置、或いは、他の端末装置等）に出力する。単語の抽出方法の詳細については後述する。未知語検出部１３は、単語格納部１４に格納されていない単語を未知語として検出し、検出した未知語を外部装置（例えば、表示装置、印刷装置、或いは、他の端末装置等）に出力する。また、未知語検出部１３は、検出した未知語を単語格納部１４の単語辞書ファイルに書き込む。単語辞書ファイルは、単語の辞書であり、単語抽出部１２により抽出された単語の一覧である。単語格納部１４は、単語辞書ファイルを記憶する。
【００１７】
図２は、本実施形態による単語抽出部１２の機能構成を示すブロック図である。
単語抽出部１２は、処理対象文字列抽出部１２１と、処理対象文字列追加部１２２と、英数文字列除外部１２３と、部分文字列除外部１２４と、接頭語・接尾語除外部１２５と、単語出力部１２６とを含んで構成される。
処理対象文字列抽出部１２１は、対象テキストに閾値α回以上出現する最小文字数（本実施形態では２文字）の文字列を処理対象文字列として抽出し、抽出した処理対象文字列を処理対象文字列追加部１２２に出力する。閾値αは、テキストに出現する回数に関する閾値であって、２以上の整数である。以下、抽出した処理対象文字列の集合を処理集合とする。なお、本実施形態では、最小文字数を２としたが、最小文字列は２以上の整数であればよい。処理対象文字列追加部１２２は、処理対象文字列から始まる３文字（最小文字数＋１）以上の文字列であって、閾値α回以上対象テキストに出現する文字列を処理対象文字列とし、処理集合に追加する。そして、処理対象文字列追加部１２２は、処理対象文字列の処理集合を英数文字列除外部１２３に出力する。処理対象文字列抽出部１２１と処理対象文字列追加部１２２とが、対象テキストに閾値α回以上出現する２文字（最小文字数）以上の文字列を抽出する対象文字列抽出部である。
【００１８】
英数文字列除外部１２３は、英単語（アルファベットの文字列）、数字列、又は、片仮名単語（片仮名の文字列）の途中から始まる文字列、或いは、英単語（アルファベットの文字列）、数字列、又は、片仮名単語（片仮名の文字列）の途中で終わる文字列を処理対象文字列の処理集合から削除し、処理集合に残った処理対象文字列を部分文字列除外部１２４に出力する。また、英数文字列除外部１２３は、対象テキストに含まれる連続するアルファベット、連続する数字、または連続する片仮名の途中から開始する文字列、或いは、対象テキストに含まれる連続するアルファベット、連続する数字、または連続する片仮名の途中で終了する文字列の数を、当該文字列のテキスト中での出現回数から差し引いた結果が前記所定回数より小さい文字列を対象文字列の集合から削除する。部分文字列除外部１２４は、他の処理対象文字列の部分文字列を処理集合から削除する。そして、部分文字列除外部１２４は、処理集合に残った処理対象文字列を単語候補とし、単語候補を接頭語・接尾語除外部１２５に出力する。具体的には、部分文字列除外部（第１の削除部）１２４は、他の処理対象文字列の部分文字列であって、対象テキストにおいて他の処理対象文字列に包含される位置以外に出現する回数が閾値αより小さい文字列を処理集合から削除する。以下、単語候補の集合を候補集合とする。
【００１９】
接頭語・接尾語除外部１２５は、候補集合から接頭語及び接尾語を削除し、残った単語候補を単語出力部１２６に出力する。具体的には、接頭語・接尾語除外部（第３の削除部）１２５は、対象文字列Ａの出現回数が、対象文字列Ａの部分文字列であって、空白を除く文字の数が自身より１文字少ない他の対象文字列の出現回数から閾値αを減算した結果より小さい場合に、対象文字列Ａを対象文字列の処理集合から削除する。単語出力部（単語抽出部）１２６は、接頭語・接尾語除外部１２５により入力された単語候補を単語として出力する。
【００２０】
次に、図３から図８を参照して、本実施形態による単語抽出部１２における処理について説明する。図３から図８は、本実施形態による単語抽出部１２における処理の説明図である。
まず、図３に示す対象テキストがテキスト入力部１１から単語抽出部１２に入力される。図３に示す対象テキストは、文章ａ「今日の打ち合わせは９時から会議室Ｂで行います。」と、文章ｂ「明日、打ち合わせをしましょう。会議室を予約して下さい。」と、文章ｃ「会議室Ａ予約済みです。」と、文章ｄ「会議室Ａにて１９時より打ち合わせ。」との集合である。図３に示す縦軸ａ〜ｄは文章ａ〜ｄを示しており、横軸の数字（１〜２６）は何番目の文字かを示す。以下、文章ｘのｙ番目の文字位置を「ｘｙ」で示す。
【００２１】
次に、単語抽出部１２の処理対象文字列抽出部１２１が、先頭の文字位置（例えば、文章ａでは文字位置「ａ１」）から順に、各文章ａ〜ｄにおける２文字の文字列（例えば、文字位置「ａ１」では「明日」）を抽出する。そして、処理対象文字列抽出部１２１は、対象文字列において、抽出した各文字列の出現回数を計数し、計数した出現回数が閾値α（本例では、２）以上である文字列を処理対象文字列として抽出する（図４参照）。ただし、処理対象文字列抽出部（第４の削除部）１２１は、単語の左端とはならない文字「々」「〃」「ヽ」「ー」「  (空白)」「ヵ」「ヶ」「・」「，」「！」「／」「：」「＝」「；」「？」「。」「、」から始まる文字列を処理対象文字列から除外してもよい。単語の左端とはならない文字は予め設定されている。
【００２２】
以下、文字列が文字位置「ｘ１」と文字位置「ｘ２」とに出現することを出現位置（ｘ１，ｘ２）と表記する。図４に示す例では、対象文字列抽出部１２１は、「明日」（出現位置（ａ１，ｂ１））と、「打ち」（出現位置（ａ４，ｂ４，ｄ１２））と、「ち合」（出現位置（ａ５，ｂ５，ｄ１３））と、「合せ」（出現位置（ａ６，ｂ６，ｄ１４））と、「９時」（出現位置（ａ９，ｄ８））と、「会議」（出現位置（ａ１３，ｂ１５，ｃ１，ｄ１））と、「議室」（出現位置（ａ１４，ｂ１６，ｃ２，ｄ２））と、「予約」（出現位置（ｂ１９，ｃ５））と、「室Ａ」（出現位置（ｃ３，ｄ３））とを処理対象文字列として抽出する。この時点で、処理対象文字列の処理集合は、（「明日」、「打ち」、「ち合」、「合せ」、「９時」、「会議」、「議室」、「予約」、「室Ａ」）である。
【００２３】
次に、単語抽出部１２の処理対象文字列追加部１２２が、処理対象文字列で始まる３文字以上の文字列であって、閾値α（＝２）回以上対象テキストに出現する文字列を処理対象文字列の処理集合に追加する（図５参照）。
図５に示す例では、処理対象文字列追加部１２２は、処理対象文字列「打ち」から始まる文字列「打ち合」（出現位置（ａ４，ｂ４，ｄ１２）及び文字列「打ち合せ」（出現位置（ａ４，ｂ４，ｄ１２））と、処理対象文字列「ち合」から始まる文字列「ち合せ」（出現位置（ａ５，ｂ５，ｄ１３）と、処理対象文字列「会議」から始まる文字列「会議室」（出現位置（ａ１３，ｂ１５，ｃ１，ｄ１））及び文字列「会議室Ａ」（出現位置（ｃ１，ｄ１））と、処理対象文字列「議室」から始まる文字列「議室Ａ」（出現位置（ｃ２，ｄ２））とを処理対象文字列とする。この時点で、処理対象文字列の処理集合は、（「明日」、「打ち」、「ち合」、「合せ」、「９時」、「会議」、「議室」、「予約」、「室Ａ」、「打ち合」、「打ち合せ」、「ち合せ」、「会議室」、「会議室Ａ」、「議室Ａ」）である。
【００２４】
次に、単語抽出部１２の英数文字列除外部１２３が、英単語、数字列、及び、片仮名単語の途中から始まる文字列を処理対象文字列から除外する。英単語の途中から始まる文字列を除外する処理について具体的に説明する。まず、英数文字列除外部１２３は、アルファベットで始まる処理対象文字列を抽出する。そして、英数文字列除外部１２３は、抽出した各処理対象文字列について、出現位置の直前（左側）の文字がアルファベットであるものの数を計数し、計数した回数を出現回数から減算する。そして、英数文字列除外部１２３は、減算処理した出現回数が閾値α（＝２）より小さいものを処理対象文字列の処理集合から削除する。英数文字列除外部１２３は、数字及び片仮名についても同様の処理を行う。
【００２５】
図６に示す具体例を用いて、数字列の途中から始まる文字列を除外する処理を説明する。まず、英数文字列除外部１２３は、数字で始まる処理対象文字列「９時」を抽出する。次に、英数文字列除外部１２３は、抽出した処理対象文字列「９時」について、直前の文字が数字であるもの（ｄ８）を計数し、計数した数１を出現回数２から減算する。そして、英数文字列除外部１２３は、減算した出現回数（２−１＝１）が閾値α（＝２）より小さいため、文字列「９時」を処理対象文字列から除外する。この時点で、処理対象文字列の処理集合は、（「明日」、「打ち」、「ち合」、「合せ」、「会議」、「議室」、「予約」、「室Ａ」、「打ち合」、「打ち合せ」、「ち合せ」、「会議室」、「会議室Ａ」、「議室Ａ」）である。
【００２６】
次に、単語抽出部１２の部分文字列除外部１２４が、他の処理対象文字列の部分文字列を処理対象文字列から除外する（図７参照）。具体的には、処理対象文字列Ｓ１が処理対象文字列Ｓ２の部分文字列である場合、処理対象文字列Ｓ１の出現回数と、処理対象文字列Ｓ１が処理対象文字列Ｓ２に包含される回数との差が閾値α（＝２）より小さい場合に、処理対象文字列Ｓ１を処理対象文字列から除外する。
【００２７】
図７を参照して、部分文字列を処理対象文字列から除外する処理を具体的に説明する。処理対象文字列「打ち合」は、処理対象文字列「打ち合せ」の部分文字列であり、処理対象文字列「打ち合」の出現回数３と、処理対象文字列「打ち合」が処理対象文字列「打ち合せ」に包含される回数３との差（３−３＝０）が閾値α（＝２）より小さい。このため、部分文字列除外部１２４は、文字列「打ち合」を処理対象文字列から除外する。文字列「ち合せ」「議室Ａ」「打ち」「ち合」「合せ」「会議」「議室」「室Ａ」についても同様である。一方、処理対象文字列「会議室」は、処理対象文字列「会議室Ａ」の部分文字列であるが、処理対象文字列「会議室」の出現回数４と、処理対象文字列「会議室」が処理対象文字列「会議室Ａ」に包含される回数２との差（４−２＝２）は閾値α（＝２）と等しい。このため、部分文字列除外部１２４は、文字列「会議室」を処理対象文字列として残す。この時点で、処理対象文字列の処理集合は、（「明日」、「予約」、「打ち合せ」、「会議室」、「会議室Ａ」）である。部分文字列除外部１２４は、処理集合に残った文字列を単語候補とする。
【００２８】
次に、単語抽出部１２の接頭語・接尾語除外部１２５が、単語候補から接頭語及び接尾語を除外する（図８参照）。具体的には、まず、接頭語・接尾語除外部１２５は、次の条件１〜３全てに合致する単語候補を接頭語候補とする。
（条件１）３文字以上。
（条件２）アルファベットの連続する２文字、数字の連続する２文字、又は、片仮名の連続する２文字以外から始まる。
（条件３）正規表現Ｒ１「(^.\s*)([^\s].*$)」に合致する。ただし、「\s」は空白を示す。
正規表現Ｒ１は、任意の１文字とそれに続く０以上の空白からなる文字列（前半「(^.\s*)」）と、空白以外から始まる文字列（後半「([^\s].*$)」）とを連結した文字列を示す。
【００２９】
次に、接頭語・接尾語除外部１２５は、各接頭語候補について、正規表現Ｒ１の後半「([^\s].*$)」に合致する文字列をキーＫとし、キーＫを記憶する。
【００３０】
また、接頭語・接尾語除外部１２５は、上述の条件１及び２と、次の条件４全てに合致する単語候補を接尾語候補とする。
（条件４）正規表現Ｒ２「(^.*[^\s])(\s*.$)」に合致する。
正規表現Ｒ２は、０文字以上の任意の文字と空白以外の１文字（前半「(^.*[^\s])」）からなる文字列と、０以上の空白と任意の１文字からなる文字列（後半「(\s*.$)」）とを連結した文字列を示す。
【００３１】
次に、接頭語・接尾語除外部１２５は、各接頭語候補について、正規表現Ｒ２の前半「(^.*[^\s])」に合致する文字列をキーＫとし、キーＫを記憶する。
【００３２】
次に、接頭語・接尾語除外部１２５は、文字数の多いキーＫから順に、全てのキーＫに対して次の処理０〜２を行う。
（処理０）ｃに０を代入する。ｎに０を代入する。
（処理１）正規表現「[^\s]\s*(キーＫ)」又は正規表現「(キーＫ)\s*[^\s]」に合致する単語候補ｗの出現回数ｃを計数する。
（処理２）キーＫの出現回数ｎを計数する。
（処理３）「ｃ＜ｎ−閾値α」の場合には、単語候補ｗを単語候補の候補集合から削除する。
【００３３】
最後に、接頭語・接尾語除外部１２５は、残った単語候補を単語集合に追加する。そして、単語出力部１２６が、単語集合にある文字列を単語として出力する。
【００３４】
図８を参照して、接頭語及び接尾語を単語候補から除外する処理を具体的に説明する。まず、接頭語・接尾語除外部１２５は、上述した条件１〜４に合致する単語候補「打ち合せ」「会議室Ａ」及び「会議室」を抽出する。そして、接頭語・接尾語除外部１２５は、抽出した単語候補からキーＫを生成する。「打ち合せ」のキーＫ「ち合せ」については、正規表現「[^\s]\s*(キーＫ)」に合致する「打ち合せ」の出現回数はｃ＝２であり、キーＫ「ち合せ」の出現回数ｎ＝２である。よって、キーＫ「ち合せ」はｃ＞ｎ−閾値αであり、キーＫ「ち合せ」により削除する単語候補はない。また、「打ち合せ」のキーＫ「打ち合」については、正規表現「(キーＫ)\s*[^\s]」に合致する単語候補「打ち合せ」の出現回数はｃ＝２であり、キーＫ「打ち合」の出現回数ｎ＝２である。よって、キーＫ「打ち合」はｃ＞ｎ−閾値αであり、キーＫ「打ち合」により削除する単語候補はない。このため、接頭語・接尾語除外部１２５は、単語候補「打ち合せ」を単語候補に残す。「会議室Ａ」及び「会議室」についても同様である。
【００３５】
この結果、「打ち合せ」と、「会議室Ａ」と、「会議室」と、「明日」と、「予約」とが単語候補に残る。単語出力部１２６は、残った単語候補「打ち合せ」、「会議室Ａ」、「会議室」、「明日」、及び「予約」を単語として出力する。
【００３６】
次に、図９から図１１を参照して、単語抽出部１２による単語抽出処理の流れについて説明する。図９から図１１は、本実施形態による単語抽出処理の手順を示すフローチャートである。
まず、単語抽出部１２の処理対象文字列抽出部１２１が、テキスト入力部１１により入力された対象テキスト（テキストファイル）を読み込む（ステップＳ１０１）。次に、処理対象文字列抽出部１２１は、文字位置に１を設定する（ステップＳ１０２）。次に、処理対象文字列抽出部１２１は、抽出文字数に２を設定する（ステップＳ１０３）。次に、処理対象文字列抽出部１２１は、文字位置から抽出文字数分の文字列を抽出する（ステップＳ１０４）。そして、処理対象文字列抽出部１２１は、抽出した文字列と、その文字列の文字位置を記録する（ステップＳ１０５）。
【００３７】
次に、処理対象文字列抽出部１２１は、文字位置が対象テキストの最終（最後の文字の位置）であるか否かを判定する（ステップＳ１０６）。処理対象文字列抽出部１２１は、文字位置が最終でない場合（ステップＳ１０６：Ｎｏ）には、文字位置に１を加算して（ステップＳ１０７）、ステップＳ１０４へ戻る。一方、処理対象文字列抽出部１２１は、文字位置が最終である場合（ステップＳ１０６：Ｙｅｓ）には、記録した文字位置に基づいて、抽出した文字列夫々について、対象テキストに出現する回数を算出する（ステップＳ１０８）。そして、処理対象文字列抽出部１２１は、算出した出現回数が閾値α以上の文字列を処理対象文字列とし、その文字位置とともに保存する（ステップＳ１０９）。
【００３８】
次に、単語抽出部１２の処理対象文字列追加部１２２が、抽出文字数に３を設定する（ステップＳ１１０）。次に、処理対象文字列追加部１２２は、処理対象文字列の全ての文字位置から抽出文字数分の文字列を抽出する（ステップＳ１１１）。次に、処理対象文字列追加部１２２は、ステップＳ１１１において抽出した文字列の出現回数を算出する（ステップＳ１１２）。処理対象文字列追加部１２２は、算出した出現回数が閾値α以上である文字列を処理対象文字列とし、その文字位置とともに保存する（ステップＳ１１３）。次に、処理対象文字列追加部１２２は、ステップＳ１１１において抽出した文字列のうち、出現回数が閾値α以上である文字列があるか否かを判定する（ステップＳ１１４）。出現回数が閾値α以上の文字列がある場合（ステップＳ１１４：Ｎｏ）には、抽出文字数に１を加算して（ステップＳ１１５）、ステップＳ１１１へ戻る。一方、出現回数が閾値α以上の文字列がない場合（ステップＳ１１４：Ｙｅｓ）には、処理対象文字列追加部１１２は、最後の処理対象文字列である（全ての処理対象文字列についてステップＳ１１０からＳ１１５までの処理を行った）か否かを判定する（ステップＳ１１６）。最後の処理対象文字列でない場合（ステップＳ１１６：Ｎｏ）には、次の処理対象文字列に移動して（ステップＳ１１７）、ステップＳ１１０へ戻る。
【００３９】
一方、最後の処理対象文字列である場合（ステップＳ１１６：Ｙｅｓ）には、単語抽出部１２の部分文字列除外部１２４が、処理対象文字列を文字数の降順にソートする（ステップＳ１１８）。以下、このソートした処理対象文字列の順番をレコード番号とする。そして、部分文字列除外部１２４は、３文字以上の処理対象文字列があるか否かを判定する（ステップＳ１１９）。３文字以上の処理対象文字列がない場合（ステップＳ１１９：Ｎｏ）には、ステップＳ１２９へ移行する。
【００４０】
一方、３文字以上の処理対象文字列がある場合（ステップＳ１１９：Ｙｅｓ）には、部分文字列除外部１２４は、文字数が２番目に多い先頭の処理対象文字列のレコード番号を取得する（ステップＳ１２０）。次に、部分文字列除外部１２４は、レコード番号に対応する処理対象文字列を照合文字列とする（ステップＳ１２１）。次に、部分文字列除外部１２４は、照合文字列よりも文字数の多い処理対象文字列のいずれにもこの照合文字列が包含されないか否かを判定する（ステップＳ１２２，Ｓ１２３）。照合文字列がいずれの処理対象文字列にも包含されない場合（ステップＳ１２３：Ｙｅｓ）には、ステップＳ１２７へ移行する。
【００４１】
一方、照合文字列がいずれかの処理対象文字列に包含される場合（ステップＳ１２３：Ｎｏ）には、部分文字列除外部１２４は、照合文字列の出現回数から、包含する処理対象文字列である被参照文字列の出現回数を減算する（ステップＳ１２４）。次に、部分文字列除外部１２４は、減算した出現回数が閾値αより小さいか否かを判定する（ステップＳ１２５）。出現回数が閾値α以上である場合（ステップＳ１２５：Ｎｏ）にはステップＳ１２７へ移行する。一方、減算した出現回数が閾値αより小さい場合（ステップＳ１２５：Ｙｅｓ）には、部分文字列除外部１２４は、照合文字列を削除対象として記録する（ステップＳ１２６）。
【００４２】
次に、部分文字列除外部１２４は、照合文字列が最後の処理対象文字列であるか否かを判定する（ステップＳ１２７）。照合文字列が最後の処理対象文字列でない場合（ステップＳ１２７：Ｎｏ）には、部分文字列除外部１２４は、レコード番号に１を加算して（ステップＳ１２８）、ステップＳ１２１へ戻る。一方、照合文字列が最後の処理対象文字列である場合（ステップＳ１２７：Ｙｅｓ）には、単語出力部１２６が、処理対象文字列の処理集合から削除対象文字列を削除し、残った処理対象文字列を単語として単語辞書ファイルに書き込んで保存する（ステップＳ１２９）。
【００４３】
このように、本実施形態によれば、所定回数（閾値α）以上出現する２文字以上の文字列を抽出し、英数文字列除外部１２３、部分文字列除外部１２４及び接頭語・接尾語除外部１２５による処理で、抽出した文字列にフィルタリングして単語を抽出する。これにより、辞書を用いずに、対象テキストに頻出する単語を抽出することができる。このため、ネットワーク上に流れる新しい言葉やフレーズを自動的に収集することができる。
また、英数文字列除外部１２３において、英単語、数字列、又は、片仮名単語の途中から始まる文字列を処理対象文字列から除外しているため、例えば、対象テキストに文字列「２０００」「２０１０」「２０２０」があった場合に、文字列「２０」を単語として抽出することを防ぐことができる。
また、接頭語・接尾語除外部１２５により接頭語及び接尾語を除外しているため、接頭語又は接尾語を含む文字列を単語として抽出することを防ぐことができる。
【００４４】
また、図９から図１１に示す各ステップを実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、単語抽出処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００４５】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００４６】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
例えば、各単語の期間毎の出現頻度に基づいて、現在注目されている言葉やフレーズを抽出してもよい。この場合、単語格納部１４は、単語辞書ファイルに記憶された各単語の期間毎の出現頻度を記憶する。具体的には、出現頻度の上昇率の大きい単語や、現在の出現頻度が前期間の出現頻度に比べて著しく大きい単語を注目されている言葉とする等が考えられる。
【符号の説明】
【００４７】
１…単語抽出装置  １１…テキスト入力部  １２…単語抽出部  １３…未知語検出部  １４…単語格納部  １２１…処理対象文字列抽出部  １２２…処理対象文字列追加部  １２３…英数文字列除外部  １２４…部分文字列除外部  １２５…接頭語・接尾語除外部  １２６…単語出力部
【図１】
2012194870.tif 000003
【図２】
2012194870.tif 000004
【図３】
2012194870.tif 000005
【図４】
2012194870.tif 000006
【図５】
2012194870.tif 000007
【図６】
2012194870.tif 000008
【図７】
2012194870.tif 000009
【図８】
2012194870.tif 000010
【図９】
2012194870.tif 000011
【図１０】
2012194870.tif 000012
【図１１】
2012194870.tif 000013