(57)【特許請求の範囲】
【請求項１】
入力情報からキーワードの候補となる語句である候補語句を１つ以上抽出する候補語句抽出手段と、
抽出された前記候補語句のうち、特定の候補語句に類似する文字列を含む他の前記候補語句に関する情報に基づいて、当該特定の候補語句がキーワードであるか否かを判定するキーワード判定手段と、を備え、
前記キーワード判定手段は、
前記候補語句抽出手段により抽出された１以上の前記候補語句から、他の前記候補語句の部分文字列に相当する前記候補語句を除いた残りの前記候補語句である１以上の第１の候補語句のうち、特定の第１の候補語句に類似する文字列を含む他の前記候補語句を検出し、
当該検出された他の前記候補語句の数に基づいて、当該特定の第１の候補語句がキーワードであるか否かを判定する、
キーワード抽出システム。
【請求項２】
前記キーワード判定手段は、
前記第１の候補語句の文字数に応じて定められた基準に基づいて特定の前記第１の候補語句に類似すると判定した文字列を含む他の前記候補語句を検出し、
当該検出された他の前記候補語句の数に基づいて、当該特定の第１の候補語句がキーワードであるか否かを判定する、
請求項１に記載のキーワード抽出システム。
【請求項３】
前記キーワード判定手段は、
前記第１の候補語句ごとに、当該第１の候補語句を構成する文字列に対して所定の文字数以下の任意の文字を追加、削除、及び、置換する処理の少なくとも何れかが実行された文字列を、当該第１の候補語句に類似する文字列であると判定し、
特定の前記第１の候補語句に対して、当該文字列を含む他の前記候補語句を検出し、
当該検出された他の前記候補語句の数に基づいて、当該特定の第１の候補語句がキーワードであるか否かを判定する、
請求項２に記載のキーワード抽出システム。
【請求項４】
前記候補語句抽出手段は、前記入力情報から、第１の文字数以上の文字を含む前記候補語句を抽出し、
前記キーワード判定手段は、前記第１の候補語句の文字数が前記第１の文字数よりも大きい場合には、当該第１の候補語句に対して、前記第１の文字数より小さい第２の文字数分の任意の文字を追加、削除、及び、置換する処理の少なくとも何れかが実行された文字列を、当該第１の候補語句に類似する文字列であると判定する、
請求項３に記載のキーワード抽出システム。
【請求項５】
前記キーワード判定手段は、前記第１の候補語句の文字数が前記第１の文字数である場合には、当該第１の候補語句に対して、前記第２の文字数分の任意の文字を追加、及び、置換する処理の少なくとも何れかが実行された文字列を、当該第１の候補語句に類似する文字列であると判定する、
請求項４に記載のキーワード抽出システム。
【請求項６】
前記候補語句抽出手段は、抽出された前記候補語句のうち前記キーワードの候補から削除すべき前記候補語句を判定可能な基準に基づいて、前記抽出した候補語句のうち少なくとも一部を前記キーワードの候補から削除する、
請求項２乃至請求項５の何れかに記載のキーワード抽出システム。
【請求項７】
前記キーワード判定手段は、
特定の前記候補語句に類似する文字列を含む１以上の他の前記候補語句のうち、特定の前記候補語句を構成する少なくとも一部の文字列に対して所定の変換が行われた文字列により構成される特定の他の前記候補語句を除いた残りの他の前記候補語句の数に基づいて、当該特定の候補語句がキーワードであるか否かを判定する、
請求項２乃至請求項６の何れかに記載のキーワード抽出システム。
【請求項８】
情報処理装置が、
入力情報からキーワードの候補となる語句である候補語句を１つ以上抽出し、
抽出された前記候補語句のうち、特定の候補語句に類似する文字列を含む他の前記候補語句に関する情報に基づいて、当該特定の候補語句がキーワードであるか否かを判定し、
前記キーワードであるか否かの判定において、
抽出された１以上の前記候補語句から、他の前記候補語句の部分文字列に相当する前記候補語句を除いた残りの前記候補語句である１以上の第１の候補語句のうち、特定の第１の候補語句に類似する文字列を含む他の前記候補語句を検出し、
検出された他の前記候補語句の数に基づいて、当該特定の第１の候補語句がキーワードであるか否かを判定する、
キーワード抽出方法。
【請求項９】
入力情報からキーワードの候補となる語句である候補語句を１つ以上抽出する処理と、
抽出された前記候補語句のうち、特定の候補語句に類似する文字列を含む他の前記候補語句に関する情報に基づいて、当該特定の候補語句がキーワードであるか否かを判定する処理と、をコンピュータに実行させ、
前記キーワードであるか否かの判定において、
抽出された１以上の前記候補語句から、他の前記候補語句の部分文字列に相当する前記候補語句を除いた残りの前記候補語句である１以上の第１の候補語句のうち、特定の第１の候補語句に類似する文字列を含む他の前記候補語句を検出し、
検出された他の前記候補語句の数に基づいて、当該特定の第１の候補語句がキーワードであるか否かを判定する、
コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書等の情報から、当該情報に含まれるキーワードを抽出する技術に関する。
【背景技術】
【０００２】
近年、文書等の情報から、当該情報に含まれる重要な、あるいは注目すべき情報等を表す語句であるキーワードを抽出する技術が求められている。
【０００３】
例えば、システム・ソフトウェア開発においては、顧客の要求に漏れなく対応するために、開発者（分析者）は、顧客の要求を記述した提案依頼書（Ｒｅｑｕｅｓｔ  ｆｏｒ  Ｐｒｏｐｏｓａｌ、以下ＲＦＰと称する）からキーワード（重要語句）を抽出する。そして、係る分析者は、提案依頼書においてキーワードが記載されている箇所に要求への対処（対応）が記述されているかをチェックする。
【０００４】
また、分析者は、例えば、契約書や法令・約款などの文書からキーワードを抽出し、抽出したキーワードの表記や内容を比較する場合がある。上記のような開発に関連した文書（開発関連文書）からキーワードを抽出する処理（キーワード抽出）は、分析者により手動で行われていた。しかしながら、係るキーワード抽出には手間と時間がかかる。また、係るキーワード抽出を分析者が手動で行う場合、人的ミスに起因して、キーワードが見逃される可能性があった。
【０００５】
このようなキーワード抽出を支援する技術に関連して、形態素解析を用いて名詞あるいは動詞などの語句を抽出し、統計処理を用いてキーワードに絞り込む方法が知られている。
【０００６】
例えば、非特許文献１に記載の要求獲得法は、名詞あるいは動詞などの語句を抽出し、ＴＦ（Ｔｅｒｍ  Ｆｒｅｑｕｅｎｃｙ）−ＩＤＦ（Ｉｎｖｅｒｓｅ  Ｄｏｃｕｍｅｎｔ  Ｆｒｅｑｕｅｎｃｙ）などの出現頻度に関する統計情報を用いて不要な用語を取り除く。ＴＦ−ＩＤＦを用いたキーワード抽出方法は、特定の文書内における出現頻度が高く（ＴＦ）、当該特定の文書特有で他の文書に出現しにくい（ＩＤＦ）語句を、キーワードとして抽出する。
【０００７】
また、事前に（例えば形態素解析等による）単語を分割せずに、開発関連文書から複数回出現する部分文字列をキーワードとして抽出する方法が知られている。例えば、非特許文献２に記載の語句抽出法は、繰り返し出現する語句をキーワードとして抽出する。
【０００８】
一般的な文書からのキーワード抽出の手法として、以下のような特許文献が開示されている。
【０００９】
特許文献１（特開２００８−３０５２１７号公報）は、同一の事柄を表す複数の略語表記が含まれる文書から、略語の同一性を考慮することにより、キーワードを抽出する技術を開示する。特許文献１に開示された技術は、同一の事柄を表す複数の省略語表記が存在する場合、それらを同一の語句とみなして、一方の語句を削除し、他方の語句の出現頻度としてまとめる。特許文献１に開示された技術は、係る特定の語句の出現頻度に基づいて当該語句の重要度を（例えばＴＦ−ＩＤＦを用いて）算出し、重要度が高い語句をキーワードとして抽出する。
【００１０】
特許文献２（特開平０５−６１９１２号公報）は、文書中に含まれる名詞句のうち、出現頻度が高い名詞句と、出現頻度が希少な名詞句とを、キーワードとして抽出する技術を開示する。特許文献２に開示された技術は、ＴＦ−ＩＤＦを用いたキーワード抽出に類似した技術思想に基づいて、キーワードを抽出する技術である。
【００１１】
特許文献３（特開２００２−２３０００６号公報）は、複数の文書に対して共通に含まれるキーワードを抽出する技術を開示する。特許文献３に開示された技術は、複数の文書から同一の文字列をキーワード候補として抽出する。特許文献３に開示された技術は、抽出したキーワード候補から重複した表現を排除するとともに、キーワードにならない不要文字列を削除することにより、キーワードを抽出する。
【００１２】
なお、キーワード（例えば検索用キーワード等）が予め与えられた場合に、当該キーワードに関連する関連語を抽出あるいは登録する技術が、以下の特許文献４、及び、特許文献５に開示されている。特許文献４（特開２００２−１４０３６６号公報）に開示された技術は、与えられたキーワードに適合する文書を文書データベースから検索し、検索された文書から係るキーワードに関連する関連語を抽出する。特許文献５（特開２００７−２６５１１１号公報）に開示された技術は、特定の検索キーワードに関連して登録された関連語（同義語など）にスコアを設けることにより、ユーザによる適切な関連語の登録を促進する。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００８−３０５２１７号公報
【特許文献２】特開平０５−６１９１２号公報
【特許文献３】特開２００２−２３０００６号公報
【特許文献４】特開２００２−１４０３６６号公報
【特許文献５】特開２００７−２６５１１１号公報
【非特許文献】
【００１４】
【非特許文献１】長谷川亮、北村元博、海谷治彦、佐伯元司、”Ｅｘｔｒａｃｔｉｎｇ  Ｃｏｎｃｅｐｔｕａｌ  Ｇｒａｐｈｓ  ｆｒｏｍ  Ｊａｐａｎｅｓｅ  Ｄｏｃｕｍｅｎｔｓ  ｆｏｒ  Ｓｏｆｔｗａｒｅ  Ｒｅｑｕｉｒｅｍｅｎｔｓ  Ｍｏｄｅｌｉｎｇ”、Ｐｒｏｃ．  ｏｆ  ｔｈｅ  Ｓｉｘｔｈ  Ａｓｉａ−Ｐａｃｉｆｉｃ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｎｃｅｐｔｕａｌ  Ｍｏｄｅｌｌｉｎｇ（ＡＰＣＣＭ  ２００９）、ＡＣＳ、２００９、Ｖｏｌｕｍｅ．９６、ｐ．ｐ．８７−９６
【非特許文献２】Ａｇｕｉｌｅｒａ，  Ｃ．、Ｂｅｒｒｙ，  Ｄ．Ｍ．、”Ｔｈｅ  Ｕｓｅ  ｏｆ  ａ  Ｒｅｐｅａｔｅｄ  Ｐｈｒａｓｅ  Ｆｉｎｄｅｒ  ｉｎ  Ｒｅｑｕｉｒｅｍｅｎｔｓ  Ｅｘｔｒａｃｔｉｏｎ”、Ｊｏｕｒｎａｌ  ｏｆ  Ｓｙｓｔｅｍｓ  ａｎｄ  Ｓｏｆｔｗａｒｅ、１９９１、Ｖｏｌｕｍｅ．１３、ｐ．ｐ．２０９−２３０
【発明の概要】
【発明が解決しようとする課題】
【００１５】
ＲＦＰや契約書などの開発関連文書からキーワードを抽出する場合、例えばＴＦ−ＩＤＦ等の語句の出現頻度に関する情報（出現頻度情報）を利用しても、文書に含まれる語句からキーワードに高精度に絞り込むことが困難である。このような開発関連文書に含まれるキーワードの出現頻度は、当該文書が関連する業界、業種、あるいは当該文書に記載された要件の内容、要求の記述の詳細度に依存する。このことから、文書内におけるキーワードの出現頻度が必ずしも高いとは限らず、文書ごとにキーワードの出現頻度は様々に異なる場合がある。
【００１６】
また、例えば、ＲＦＰの要件に関するキーワードには、機能要件に関するキーワードと、非機能要件に関するキーワードがある。例えば、機能要件に関するキーワードは、当該ＲＦＰが関連する開発案件ごとに特有である一方、非機能要件に関するキーワードは、複数の開発案件で共通である場合がある。これより、特定のキーワードが文書に出現するか否かは、文書ごとに様々に異なる場合がある。また、法令や約款においても、ある文書内における特定のキーワードの出現頻度、あるいは他文書における特定のキーワードの出現頻度は様々に異なる場合ある。
【００１７】
以上より、語句の出現頻度情報だけでは、文書に含まれる語句からキーワードに高精度に絞り込むことが困難である。
【００１８】
また、例えば、非特許文献２に開示されたような、文書に複数回出現する部分文字列を抽出する方法は、出現頻度が１回のキーワードを抽出できない。特に、要求が整理された短いＲＦＰなどの文書からキーワードを抽出する場合、出現頻度が１回のキーワードが多数存在する可能性があるが、上記技術はそれらを抽出できないという問題がある。
【００１９】
また、上記特許文献１、及び、特許文献２に開示された技術は、何れも語句の出現頻度情報を用いてキーワードを抽出する技術である。しかしながら、上記したように、ＲＦＰ、契約書、法令や約款などからのキーワード抽出においては、出現頻度情報を用いた抽出は困難である。
【００２０】
特許文献３に開示された技術は、複数の文書に共通に含まれる語句をキーワードとして抽出することから、単一の文書のみに基づくキーワードの抽出に直接的に適用可能な技術ではない。更に、特許文献３に開示された技術は文字列の同一性のみに着目していることから、一般的な語句が、キーワードとして多量に抽出される可能性がある。
【００２１】
特許文献４、あるいは、特許文献５に開示された技術は、予め与えられたキーワードに関する関連語を抽出あるいは登録する技術であり、文書から新たにキーワードを抽出する技術ではない。
【００２２】
本発明は、上記のような事情を鑑みてなされたものである。即ち、本発明は、文書等の情報から、当該情報に含まれるキーワードの出現頻度によらずに、適切なキーワードを抽出可能なキーワード抽出システム等を提供することを、主たる目的とする。
【課題を解決するための手段】
【００２３】
上記の目的を達成すべく、本発明の一態様に係るキーワード抽出システムは、以下の構成を備える。即ち、本発明の一態様に係る抽出システムは、入力情報からキーワードの候補となる語句である候補語句を１つ以上抽出する候補語句抽出手段と、抽出された上記候補語句のうち、特定の候補語句に類似する文字列を含む他の上記候補語句に関する情報に基づいて、当該特定の候補語句がキーワードであるか否かを判定するキーワード判定手段と、を備える。
【００２４】
また、本発明の一態様に係るキーワード抽出方法は、以下の構成を備える。即ち、本発明の一態様に係る抽出方法は、情報処理装置が、入力情報からキーワードの候補となる語句である候補語句を１つ以上抽出し、抽出された上記候補語句のうち、当該候補語句に類似する文字列を含む他の上記候補語句に関する情報に基づいて、当該特定の候補語句がキーワードであるか否かを判定する。
【００２５】
また、同目的は、上記構成を有するキーワード抽出システム、並びに対応するキーワード抽出方法を、コンピュータによって実現するコンピュータ・プログラム、及び、そのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記録媒体等によっても達成される。
【発明の効果】
【００２６】
本発明によれば、文書等の情報から、当該情報に含まれるキーワードの出現頻度によらずに、適切なキーワードを抽出可能である。
【図面の簡単な説明】
【００２７】
【図１】図１は、本発明の第１の実施形態に係るキーワード抽出システムの機能的な構成例を示すブロック図である。
【図２】図２は、本発明の第１の実施形態に係るキーワード抽出システムの動作の具体例を示すフローチャートである。
【図３】図３は、本発明の第１の実施形態に係るキーワード抽出システムに記憶された文書の具体例を示す図である。
【図４】図４は、本発明の第１の実施形態に係るキーワード抽出システムが抽出した候補語句の具体例を示す図である。
【図５】図５は、本発明の第１の実施形態に係るキーワード抽出システムにおいて、重複する候補語句を検出した結果を例示する図である。
【図６】図６は、本発明の第１の実施形態に係るキーワード抽出システムにおいて、他の候補語句の部分文字列に相当する候補語句を検出した結果を例示する図である。
【図７】図７は、本発明の第１の実施形態に係るキーワード抽出システムにおいて、他の候補語句に関する類似語句に相当する候補語句を検出した結果を例示する図である。
【図８】図８は、本発明の第２の実施形態に係るキーワード抽出システムの機能的な構成例を示すブロック図である。
【図９】図９は、本発明の第２の実施形態に係るキーワード抽出システムに記憶された削除ルールの具体例を示す図である。
【図１０】図９は、本発明の第２の実施形態に係るキーワード抽出システムに記憶された変換ルールの具体例を示す図である。
【図１１】図１１は、本発明の第２の実施形態に係るキーワード抽出システム（特には候補語句抽出部８０５）の動作の具体例を示すフローチャートである。
【図１２】図１２は、本発明の第２の実施形態に係るキーワード抽出システムに記憶された文書の具体例を示す図である。
【図１３】図１３は、本発明の第２の実施形態に係るキーワード抽出システム（特にはキーワード判定部８０６）の動作の具体例を示すフローチャートである。
【図１４】図１４は、本発明の第２の実施形態に係るキーワード抽出システムにより抽出された候補語句の具体例を示す図である。
【図１５】図１５は、本発明の第３の実施形態に係るキーワード抽出システムの機能的な構成を例示するブロック図である。
【図１６】図１６は、本発明の各実施形態に係るキーワード抽出システム、あるいは、その構成要素を実現可能なハードウェアの構成を例示する図である。
【発明を実施するための形態】
【００２８】
次に、本発明を実施する形態について図面を参照して詳細に説明する。以下の各実施形態に記載されているキーワード抽出システムの構成は単なる例示であり、本発明の技術範囲はそれらには限定されない。
【００２９】
以下の各実施形態において説明されるキーワード抽出システムは、単体の専用ハードウェア装置、あるいは、１以上の専用ハードウェア装置の組合せにより実現されてもよい。また、係るキーワード抽出システムは、１以上の物理的なコンピュータ又は仮想的なコンピュータ又はそれらの組合せにより構成されるシステムとして実現されてもよい。係る情報処理装置を実現するハードウェア構成例（図１６）については後述する。
【００３０】
複数の物理的あるいは論理的に離間した構成要素（上記ハードウェア装置、各種コンピュータ等）を用いて本発明に係るキーワード抽出システムを実現する場合、それらの構成要素は、任意の通信ネットワークを用いて、相互に通信可能性に接続されていてもよい。係る通信ネットワークは、無線、有線、あるいはそれらの組合せにより構成されてもよい。なお、本発明に係るキーワード抽出システムが、仮想的なコンピュータを用いて実現される場合、上記通信ネットワークは、仮想的な通信ネットワークとして構成されてもよい。
【００３１】
＜第１の実施形態＞
以下、本発明の第１の実施形態におけるキーワード抽出システムについて図面を参照して詳細に説明する。本実施形態に係るキーワード抽出システム（図１の１００）は、例えば、ＲＦＰ、契約書、法令や約款などの文書からキーワードを抽出する。これらの文書においては、記載内容に齟齬が生じないよう、同一の概念に対して同一の語句が使用されていると仮定することができる。
【００３２】
例えば、ＲＦＰにおいて、同一の機能名に対して「Ａ」、「Ａ’」と異なる表記が割り当てられていた（表記揺れが発生していた）場合を想定する。この場合、「Ａ」と、「Ａ’」とが同一の機能を示すのか、異なる機能を示すのかが曖昧になる。これにより、「Ａ」と、「Ａ’」とが同一の機能であると解釈した場合の提案依頼書と、異なる機能であると解釈した場合の提案依頼書とを比較評価することが困難になってしまう。このような事態を防ぐため、ＲＦＰ等の文書においては、同一の概念に対して同一の語句が使用されている（即ち、同一概念を表す語句に対する表記揺れが比較的少ない）と考えられる。これは、契約書、法令や約款においても同様であると考えられる。即ち、これらの文書においても、契約書、法令や約款の効力範囲を明確にするため、同一の概念に対し同一の語句が使用されていると仮定することができる。
【００３３】
本実施形態に係るキーワード抽出システムは、上記したような文書の特徴を考慮し、表記揺れの少なさ、即ち類似する文字列（類似文字列）の少なさに基づいて、キーワードを抽出する。なお、本実施形態に係るキーワード抽出システムは上記例示したＲＦＰ、契約書、法令、あるいは約款等に限らず、その他の一般的な文書等にも適用可能である。
【００３４】
図１を参照すると、本実施形態に係るキーワード抽出システム１００は、大別して、情報を記憶する記憶部１０１と、プログラム制御により動作する演算部１０４とから構成されている。
【００３５】
記憶部１０１は、文書記憶部１０２と、候補語句記憶部１０３とを備える。
【００３６】
文書記憶部１０２は、キーワード抽出の対象となる文書を記憶する。係る文書は、例えば、ＲＦＰ、契約書、法令や約款などを含む。上記文書は、キーワード抽出システム１００のユーザが、各種入力装置（キーボードなど）を介して入力することにより、指定されてもよい。また、上記文書は、キーワード抽出システム１００に予め記憶（登録）されてもよい。上記に限定されず、上記文祖は、上記以外の任意の方法により指定されてもよい。図３は、文書記憶部１０２に記憶された文書の具体例を示す図である。
【００３７】
候補語句記憶部１０３は、キーワードの候補となる語句（以下「候補語句」と称する）を記憶する。図４は、候補語句記憶部１０３に記憶された候補語句の具体例を示す図である。図４に示す表において、１行目は列見出しを示しており、１列目は候補語句の番号、２列目は候補語句を示している。３列目は２列目の候補語句がキーワードか否かを表す判定結果を示しており、４列目は３列目の判定結果に関する説明を示している。以降、説明を簡単にするため、番号（１列目）がｉの候補語句を、候補語句ｉと表記する。
【００３８】
演算部１０４は、候補語句抽出部１０５と、キーワード判定部１０６とを備える。
【００３９】
候補語句抽出部１０５は、文書記憶部１０２に記憶された文書から、キーワードの候補となる語句である候補語句を抽出し、候補語句記憶部１０３に記憶（登録）する。係る候補語句の抽出方法は、キーワード抽出システム１００のユーザが、各種入力装置（キーボードなど）を介して入力することにより指定されてもよい。また、上記候補語句の抽出方法は、システムに予め記憶されてもよい。上記候補語句の抽出方法は、これらに限定されず、それ以外の任意の方法を採用してよい。
【００４０】
より具体的には、候補語句を抽出する処理（候補語句の抽出処理）においては、例えば、キーワードを構成する単語の品詞が予め定められていてもよい。この場合、候補語句抽出部１０５は、文書に対して形態素解析を行い、予め定められた品詞で構成される語句を抽出してもよい。
【００４１】
また、候補語句の抽出処理においては、キーワードに出現しない不要文字（句点や読点など様々な記号や平仮名など）が予め定められていてもよい。この場合、候補語句抽出部１０５は、キーワードに出現しない文字以外の部分を候補語句として抽出してもよい。
【００４２】
また、候補語句抽出部１０５は、予め定めた品詞で、かつ、予め定めた不要文字を除いた語句を抽出してもよい。また、候補語句抽出部１０５は、キーワードとする語句の文字数（例えば２文字以上等）を予め定めてもよい。
【００４３】
キーワード判定部１０６は、候補語句記憶部１０３に記憶されたそれぞれの候補語句がキーワードであるか否かを判定し、判定結果を候補語句記憶部１０３に記憶する。
【００４４】
より具体的には、キーワード判定部１０６は、候補語句記憶部１０３に記憶された候補語句のうち、他の候補語句の部分文字列となる候補語句をキーワードの候補から除外する。そして、キーワード判定部１０６は、除外されずに残った候補語句のうち、ある候補語句に対して、当該候補語句に類似する類似文字列を部分文字列として含む他の候補語句（類似候補語句）を検出する。この場合、キーワード判定部１０６は、例えば、当該検出した他の候補語句（類似候補語句）の数を計数してもよい。キーワード判定部１０６は、上記検出した他の候補語句に関する情報に基づいて、ある候補語句がキーワードであるか否かを判定し、判定結果を候補語句記憶部１０３に記憶する。より具体的には、キーワード判定部１０６は、例えば、当該検出した他の候補語句の数に基づいて、ある候補語句がキーワードであるか否かを判定してもよい。
【００４５】
文字列Ｔのｉ番目の文字をｔ（ｉ）と表記すると、文字列「Ｔ＝ｔ（１）・・・ｔ（ｎ）」の部分文字列（ｓｕｂｓｔｒｉｎｇ）Ｔ’は、「Ｔ’＝ｔ（１＋ｉ）・・・ｔ（ｎ−ｊ）（ただし、ｉ≧０かつｊ≧０）」により表される文字列である。即ち、部分文字列Ｔ’は、文字列Ｔの一部に含まれる文字列である。
【００４６】
候補語句の集合を｛Ｓ１，  Ｓ２，  ・・・，  ＳＮ｝と表記すると、ｉ番目の候補語句Ｓｉが他の候補語句の部分文字列であるとは、「∃Ｓｊ∈｛Ｓ１，  Ｓ２，  ・・・，  ＳＮ｝（ただし、Ｓｊ≠ＳｉかつＳｉがＳｊの部分文字列）」という関係が満たされることを表す。即ち、ｉ番目の候補語句Ｓｉが、候補語句の集合に含まれる他の候補語句を構成する文字列の一部に含まれる場合、候補語句Ｓｉは当該他の候補語句の部分文字列である。
【００４７】
類似候補語句をどう定めるか（即ち、類似候補語句の判定方法）は、キーワード抽出システム１００のユーザが各種入力装置（キーボードなど）を介して入力することにより指定されてもよい。また、類似候補語句の判定方法は、システムにデフォルトとして記憶されてもよい。上記に限定されず、類似候補語句の判定方法は、それ以外の任意の方法により指定されてよい。
【００４８】
候補語句ｉの類似候補語句は、例えば、候補語句ｉに対し特定数（例えば１文字）の文字の追加、削除、置換（以下、まとめて「変換」と称する場合がある）の少なくとも何れかを行った文字列を含む候補語句であってもよい。また、キーワード判定部１０６は、候補語句ｉに対して他の候補語句が類似候補語句に該当するか否かを、候補語句ｉの文字列長に基づいて定めたルールを用いて判定してもよい。
【００４９】
図７は、キーワード判定部１０６が判定結果を記憶（登録）した後の候補語句記憶部１０３の具体例を示す図である。図７においては、候補語句１「参考見積書」、候補語句２「提出」、候補語句５「省略語」がキーワードとして判定されている。これらの候補語句がキーワードとして判定された理由に関しては、後述する。
【００５０】
なお、図４乃至図７に例示する具体例においては、以下のようなルールに基づいた判定方法を用いて、キーワード判定部１０３が、ある候補語句ｉに対する類似候補語句を判定（検出）する。
【００５１】
即ち、候補語句ｉが３文字以上の場合、当該候補語句ｉに対して１文字の追加、削除、あるいは、置換（変換）を行った文字列が、類似文字列として判定される。これにより、キーワード判定部１０３は、係る類似文字列を部分文字列として含む、候補語句ｉ自身以外の他の候補語句を、類似候補語句として判定（検出）する。
【００５２】
また、候補語句ｉが２文字の場合、当該候補語句に対して１文字の追加あるいは置換を行った文字列が、類似文字列として判定される。これにより、キーワード判定部１０３は、係る類似文字列を部分文字列として含む、候補語句ｉ自身以外の候補語句を、類似候補語句として判定（検出）する。換言すると、係るルールにおいては、２文字の候補語句ｉに対しては、当該候補語句ｉから１文字の削除した他の候補語句は、類似候補語句と判定されない。
【００５３】
キーワード判定部１０３は、候補語句ｉに対する類似候補語句の数が「０（零）」である場合、当該候補国ｉをキーワードと判定する。キーワード判定部１０３の詳細な処理は後述する。
【００５４】
次に、図２に例示するフローチャートを参照して、本実施形態におけるキーワード抽出システム１００の動作について詳細に説明する。
【００５５】
まず、候補語句抽出部１０５は、文書記憶部１０２に記憶された文書から、キーワードの候補となる語句である候補語句を抽出する（ステップＳ２０１）。候補語句の抽出処理においては、例えば、キーワードを構成する単語の品詞が予め定められてもよい（例えば、予めキーワード抽出システムに設定されてもよい）。この場合、候補語句抽出部１０５は、文書に対して形態素解析を行い、予め定めた品詞で構成される語句を抽出してもよい。
【００５６】
また、候補語句の抽出処理においては、キーワードに出現しない不要文字（句点や読点など様々な記号や平仮名など）が予め定められてもよい（例えば、予めキーワード抽出システムに設定されてもよい）。この場合、候補語句抽出部１０５は、キーワードに出現しない文字以外の部分を候補語句として抽出してもよい。
【００５７】
また、候補語句抽出部１０５は、予め定められた品詞で、かつ、予め定められた不要文字を除いた語句を抽出してもよい。また、候補語句抽出部１０５は、キーワードとする語句の文字数を、例えば「２文字以上」などと予め定めてもよい。
【００５８】
以下、図３に例示する文書を例として、候補語句の抽出について説明する。例えば、キーワードの品詞が予め名詞あるいは動詞と設定されていた場合、候補語句抽出部１０５は、図３に例示する文書から、以下の名詞あるいは動詞を抽出する。即ち、候補語句抽出部１０５は、図３に例示する文書から「参考見積書」、「提出する」、「参考見積書」、「６」、「２」、「参照」、「省略語」、「記述」、「略語」、「分かる」、「記載する」を抽出する。候補語句抽出部１０５は、上記語句を抽出する際、周知の形態素解析処理を実行してもよい。係る形態素解析処理としては、例えば、ＭｅＣａｂ等の形態素解析ソフトウェアを採用可能であるが、本実施形態はこれには限定されない。
【００５９】
また、キーワードに出現しない不要文字として、数字あるいは平仮名が含まれるよう予め設定されていた場合、候補語句抽出部１０５は、抽出した語句から、「６」、「２」を除外する。更に、候補語句抽出部１０５は、「提出する」を「提出」に置換し、「分かる」を「分」に置換し、「記載する」を「記載」に変換する。
【００６０】
また、キーワードとする語句の文字数が２以上と予め定められていた場合、候補語句抽出部１０５は、抽出した語句から１文字の語句である「分」を削除する。
【００６１】
候補語句抽出部１０５は、上記した処理により抽出した語句を、候補語句記憶部１０３に記憶（登録）する。その結果、候補語句記憶部１０３には、図４に例示するような語句が記憶される。
【００６２】
なお、上記においては、平仮名を単純に削除する場合を例として説明したが、実際には、「さいたま」、「たばこ」など、キーワードの一部となり得る平仮名表記の文字列が存在する。平仮名により表記された文字列を単純に削除した場合、候補語句抽出部１０５は、これらの平仮名により表記された候補語句を抽出できない場合がある。この場合、最終的に平仮名により表記されたキーワードを抽出できない可能性がある。これに対して、平仮名により表記されたキーワードを抽出可能とするべく、平仮名であっても削除しない文字列が予め定められてもよい。候補語句抽出部１０５は、係る予め定められた平仮名の文字列を削除しないように、候補語句の抽出処理を行ってもよい。
【００６３】
また、上記においては、単純に連続する名詞や動詞を連結して候補語句とする場合を具体例として説明した。しかしながら、実際には、単純に連続する語句を連結した場合、キーワードとして適切ではない語句が抽出される可能性がある。例えば、文書に「考慮の上構築」という文字列が記述されていた場合、候補語句抽出部１０５は、単純に連続する語句を連結することにより、「考慮」と「上構築」を候補語句として抽出する。この場合「上構築」という語句は、キーワードの候補として不適切であると考えられる。このため、「考慮の上」といった頻出する言い回しを予め定めておき、候補語句抽出部１０５は、「上」を削除して候補語句を抽出するよう処理してもよい。
【００６４】
また、候補語句抽出部１０５は、名詞や動詞の単純な連結だけでなく、「省略語の記述」のように、”名詞＋「の」＋名詞”という形式の候補語句を抽出してもよい。なお、この場合、候補語句として抽出する任意の形式（品詞あるいは形態素の並び等）が、予めキーワード抽出システム１００に登録されてもよい。
【００６５】
次に、キーワード判定部１０６は、候補語句記憶部１０３に記憶された候補語句に重複する候補語句が含まれる場合、文書において２回目以降に現れる重複した候補語句をキーワードの候補から除外する（ステップＳ２０２）。即ち、キーワード判定部１０６は、２回目以降の重複した候補語句をキーワードに該当しない（「不可」）と判定する。
【００６６】
図４を例に説明すると、まず、キーワード判定部１０６は、候補語句１と候補語句３とが重複している（ともに「参考見積書」）ことを検出する。これに基づいて、キーワード判定部１０６は、文書（図３）において２回目以降に現れる番号３の判定を「不可」とする。
【００６７】
図５は、図４に例示する候補語句のうち、キーワード判定部１０６が、重複する候補語句に関する判定を「不可」とした結果を例示する図である。図５に例示する具体例において、番号３に対する説明欄（４列目）には、当該番号３の語句に関する判定が「不可」とされた理由（原因）が登録される。即ち、係る説明欄の記載は、当該番号３の語句について、重複候補語句があること、及び、係る重複候補語句は候補語句１であることを示している。係る説明欄の記載は、機械解釈可能な任意の形式を用いて表されてよい。
【００６８】
次に、キーワード判定部１０６は、候補語句記憶部１０３に記憶された候補語句のうち、他の候補語句の部分文字列となる候補語句を、キーワードの候補から除外する（ステップＳ２０３）。即ち、キーワード判定部１０６は、他の候補語句の部分文字列となる候補語句の判定を「不可」とする。
【００６９】
図５を例に説明すると、まず、キーワード判定部１０６は、候補語句７が候補語句５の部分文字列であることを検出する。これに基づいて、キーワード判定部１０６は、番号７の判定を「不可」とする。
【００７０】
図６は、図５に例示する候補語句のうち、他の候補語句の部分文字列に該当する候補語句についてキーワード判定部１０６が「不可」と判定した結果を例示する図である。図６において、番号７に対する説明欄（４列目）には、当該番号７の語句が「不可」と判定された理由（原因）が登録される。即ち、係る説明欄の記載は、当該番号７の候補語句が、他の候補語句５の部分文字列であることを示している。
【００７１】
なお、図２に例示するフローチャートにおいては、重複する候補語句を除外する処理（ステップＳ２０２）と、部分文字列に該当する候補語句を除外する処理（ステップＳ２０３）とを別の処理（ステップ）としたが、これらのステップは統合してもよい。具体的には、キーワード判定部１０６は、ある候補語句ｉが他の候補語句ｊの部分文字列であるとともに、係る候補語句ｉと、候補語句ｊとの文字数が同じ場合に、候補語句ｉと候補語句ｊとが重複すると判定してもよい。即ち、この場合、候補語句の重複は、部分文字列で文字数が同じ場合と考えられる。キーワード判定部１０６は、重複した候補語句のうち１つ残すように処理することにより、ステップＳ２０２と、ステップＳ２０３とを統合してもよい。以下、他の候補語句の部分文字列に相当する文字列が除外された残りの候補語句を、第１の候補語句と称する場合がある。例えば、図６に例示する具体例においては、第１の候補語句は、番号が１、２、４、５、６、及び８の候補語句である。
【００７２】
次に、キーワード判定部１０６は、候補語句の番号ｉを１に初期化する（ステップＳ２０４）。
【００７３】
次に、キーワード判定部１０６は、番号ｉと候補語句数Ｎとを比較する（ステップＳ２０５）。候補語句数Ｎ（Ｎは自然数）は、ステップＳ２０１乃至Ｓ２０４において抽出された候補語句の総数である。図４乃至図７に例示する具体例において、候補語句数Ｎは、「８」である。キーワード判定部１０６は、ｉがＮより大の場合（ステップＳ２０５においてＹＥＳ）は、ステップＳ２１１に処理を移行し、ｉがＮ以下の場合（ステップＳ２０５においてＮＯ）は、次のステップ（ステップＳ２０６）に処理を移行する。
【００７４】
次に、キーワード判定部１０６は、候補語句ｉの判定が「不可」であるか否かを確認する（ステップＳ２０６）。キーワード判定部１０６は、判定が「不可」の場合（ステップＳ２０６においてＹＥＳ）は、ステップＳ２１０に処理を移行し、判定が「不可」でない場合（ステップＳ２０６においてＮＯ）は、次のステップ（ステップＳ２０７）に処理を移行する。
【００７５】
次に、キーワード判定部１０６は、候補語句ｉと候補語句ｉ以外で判定が「不可」ではない候補語句とを比較することにより、類似候補語句を検出する（ステップＳ２０７）。
【００７６】
候補語句ｉの類似候補語句とは、例えば、候補語句ｉに対して特定数の文字の追加、削除、置換の何れかを行った文字列を含む候補語句である。なお、以下、係る特定数が「１」（１文字）である場合の具体例を説明するが、本実施形態はこれには限定されない。
【００７７】
候補語句ｉに対して追加、削除、置換する文字数は、ユーザ等により任意に定められていよい。即ち、候補語句ｉに対して何文字までの追加、削除、置換を行った候補語句を類似候補語句と判定するか（類似候補語句の判定基準）は、キーワード抽出システムのユーザが、各種入力装置（例えばキーボードなど）を介して入力することにより指定してもよい。また、上記類似候補語句の判定基準は、キーワード抽出システム１００に予め記憶されてもよい。上記に限定されず、上記類似候補語句の判定基準は、上記以外の任意の方法により指定されてもよい。
【００７８】
ｎ文字の候補語句「Ｔ＝ｔ（１）・・・ｔ（ｎ）」に対する１文字追加の文字列は、「Ｔ’＝ｔ（１）・・・ｔ（ｉー１）  ｓ  ｔ（ｉ）・・・ｔ（ｎ）、（ただし１≦ｉ≦ｎ、ｓは任意の文字）」と表される文字列である。即ち、これは、候補語句Ｔのｉ番目に文字ｓを追加した文字列を表す。
【００７９】
ｎ文字の候補語句「Ｔ＝ｔ（１）・・・ｔ（ｎ）」に対する１文字削除の文字列は、「Ｔ’＝ｔ（１）・・・ｔ（ｉー１）  ｔ（ｉ＋１）・・・ｔ（ｎ）、（ただし、１≦ｉ≦ｎ）」と表される文字列である。これは、候補語句Ｔのｉ番目の文字を削除した文字列を表す。
【００８０】
ｎ文字の候補語句「Ｔ＝ｔ（１）・・・ｔ（ｎ）」に対する１文字置換の文字列は、「Ｔ’＝ｔ（１）・・・ｔ（ｉー１）  ｓ  ｔ（ｉ＋１）・・・ｔ（ｎ）、（ただし、１≦ｉ≦ｎ、ｓは任意の文字）」と表される文字列である。これは、候補語句Ｔのｉ番目の文字をｓに置換した文字列を表す。
【００８１】
図４乃至図７に例示する具体例においては、以下のようなルールに基づいた判定方法を用いて、キーワード判定部１０３が、ある候補語句ｉに対する類似候補語句を判定（検出）する。
【００８２】
まず、候補語句ｉが３文字以上の場合、当該候補語句ｉに対して１文字の追加、削除、置換を行った文字列を部分文字列として含む、候補語句ｉ自身以外の候補語句が、類似候補語句と判定される。
【００８３】
また、候補語句が２文字の場合、当該候補語句に対して１文字の追加、置換を行った文字列を部分文字列として含む、候補語句ｉ自身以外の候補語句が、類似候補語句と判定される。すなわち、候補語句が２文字の場合、当該候補語句ｉから１文字の削除した他の候補語句は、類似候補語句と判定されない。
【００８４】
なお、本実施形態は上記に限定されず、候補語句ｉに対して追加、削除、置換する文字列の文字数は、適宜選択可能である。
【００８５】
図６を例に、本ステップＳ２０７の処理について説明する。まず、ｉが１の場合、図６を参照すると候補語句ｉ（候補語句１）は「参考見積書」である。キーワード判定部１０６は、当該候補語句ｉと、候補語句ｉ自身以外で判定が「不可」ではない候補語句２、４、５、６、８とを比較する。係る比較の結果、上記ルールに合致する他の候補語句が存在しないことから、キーワード判定部１０６は、類似候補語句を検出しない。
【００８６】
次に、ｉが２の場合、候補語句ｉ（候補語句２）は「提出」である。キーワード判定部１０６は、当該候補語句ｉと、候補語句ｉ自身以外で判定が「不可」ではない候補語句１、４、５、６、８と比較する。係る比較の結果、上記ルールに合致する他の候補語句が存在しないことから、キーワード判定部１０６は、類似候補語句を検出しない。
【００８７】
次に、ｉが４の場合、候補語句ｉ（候補語句４）は「参照」である。キーワード判定部１０６は、当該候補語句ｉと、当該候補語句ｉ自身以外で判定が「不可」ではない候補語句１、２、５、６、８とを比較する。係る比較の結果、候補語句４「参照」の１文字「照」を「考」に置換すると「参考」となることから、キーワード判定部１０６は、候補語句４が候補語句１「参考見積書」に含まれると判定する。これにより、キーワード判定部１０６は、候補語句４に対する類似候補語句として「参考見積書」（候補語句１）を検出する。
【００８８】
次に、ｉが５の場合、候補語句ｉ（候補語句５）は「省略語」である。キーワード判定部１０６は、当該候補語句ｉと、候補語句ｉ自身以外で判定が「不可」ではない候補語句１、２、４、６、８と比較する。係る比較の結果、上記ルールに合致する他の候補語句が存在しないことから、キーワード判定部１０６は、類似候補語句を検出しない。
【００８９】
次に、ｉが６の場合、候補語句ｉ（候補語句６）は「記述」である。キーワード判定部１０６は、候補語句ｉと、当該候補語句ｉ自身以外で判定が「不可」ではない候補語句１、２、４、５、８と比較する。係る比較の結果、候補語句６「記述」の１文字「術」を「載」に置換すると、「記載」（候補語句８そのもの）であることから、キーワード判定部１０６は、候補語句６に対する類似候補語句として、「記載」（候補語句８）を検出する。
【００９０】
次に、ｉが８の場合、候補語句ｉ（候補語句８）は「記載」である。キーワード判定部１０６は、候補語句ｉと、当該候補語句ｉ自身以外で判定が「不可」ではない候補語句１、２、４、５、６とを比較する。係る比較の結果、候補語句８「記載」の１文字「載」を「術」に置換すると「記述」（候補語句６そのもの）であることから、キーワード判定部１０６は、候補語句８に対する類似候補語句として「記述」（候補語句６）を検出する。
【００９１】
次に、キーワード判定部１０６は、上記ステップＳ２０７の結果、候補語句ｉについて検出された類似候補語句の数と、予め定められた閾値Ｔとを比較する（ステップＳ２０８）。キーワード判定部１０６は、候補語句ｉに関する類似候補語句数が閾値Ｔ以上の場合（ステップＳ２０８においてＹＥＳ）は、次のステップ（ステップＳ２０９）に処理を移行する。
【００９２】
キーワード判定部１０６は、候補語句ｉに関する類似候補語句数が閾値Ｔ未満の場合（ステップＳ２０８においてＮＯ）は、係る候補語句ｉをキーワードに該当すると判定する。即ち、この場合、キーワード判定部１０６は、候補語句ｉ関する判定（図４乃至図７における３列目）を「可」とする。その後、キーワード判定部１０６は、ステップＳ２１０に処理を移行する。
【００９３】
閾値Ｔは、キーワード抽出システム１００のユーザが各種入力装置（例えばキーボードなど）を介して入力することにより、指定されてもよい。係る閾値Ｔは、キーワード抽出システム１００に予め記憶されてもよい。上記に限定されず、閾値Ｔは、上記以外の任意の方法により指定されてもよい。
【００９４】
以下、閾値Ｔに「１」が指定された場合を例に説明する。図６に示す具体例において、閾値が予め１と定められた場合を想定する。この場合、ｉが４、６、８の場合（即ち、候補語句４、候補語句６、候補語句８の場合）に、候補語句ｉに関する類似候補語句の数が、閾値である１以上となる。よって、この場合、キーワード判定部１０６は、次のステップ（ステップＳ２０９）に処理を移行する。ｉが１、２、５の場合（即ち、候補語句１、候補語句２、候補語句５の場合）、候補語句ｉに関する類似候補語句数が０（零）である。即ち、この場合、類似候補語句数が閾値である１未満となることから、キーワード判定部１０６は、ステップＳ２１０に処理を移行する。
【００９５】
上記においては、説明を簡単にするために、ステップＳ２０７におけるキーワード判定部１０６の処理の具体例として、候補語句ｉの類似候補語句を全て検出してから、その類似候補語句数と閾値Ｔとを比較する場合について説明した。本実施形態はこれには限定されず、キーワード判定部１０６は、例えば、ステップＳ２０７において閾値Ｔに相当する数の類似候補語句を検出した時点で、それ以上の類似候補語句を検出せずに、ステップＳ２０９に処理を移行してもよい。
【００９６】
次に、ステップＳ２０８の判定結果がＹＥＳの場合、キーワード判定部１０６は、番号ｉの判定を「不可」とする（ステップＳ２０９）。この際、キーワード判定部１０６は、番号ｉに対する説明欄（図４乃至図７に示す表の４列目）に、類似候補語句の情報を登録する。図６に示す具体例を用いて説明すると、キーワード判定部１０６は、ｉが４、６、８の場合（即ち、候補語句４、候補語句６、候補語句８の場合）に、これらの候補語句に対する判定を「不可」とする。図７は、キーワード判定部１０６が判定結果を登録した後の候補語句記憶部１０３の具体例を示す図である。
【００９７】
以下、仮にステップＳ２０３における処理（部分文字列の除外）が存在しない場合について説明する。
【００９８】
この場合、キーワード判定部１０６がステップＳ２０３における処理を実行しないことから、候補語句７は、キーワードの候補から除外されない。ステップＳ２０７において、候補語句の番号ｉが５の場合、候補語句５「省略語」の１文字「省」を削除すると候補語句７そのものとなる。即ち、キーワード判定部１０６は、候補語句５の類似候補語句として「略語」（候補語句７）を検出する。候補語句５に対する類似候補語句７存在することから、結果として、キーワード判定部１０６は、候補語句５を「不可」と判定してしまう。同様に、ステップＳ２０７においてｉが７の場合、候補語句７「略語」に１文字「省」を追加すると、候補語句５そのものとなる。即ち、キーワード判定部１０６は、候補語句７の類似候補語句として「省略語」（候補語句５）を検出する。そして、キーワード判定部１０６は、候補語句７を「不可」と判定する。上記したように、ステップＳ２０３における処理（ある候補語句の部分文字列に相当する他の候補語句の除外）は、適切なキーワードを抽出するために有用な場合がある。即ち、これにより、キーワード判定部１０６は、例えば、一般的な用語（語句）を一部に含む候補語句が、キーワードから排除されてしまう可能性を低減することができる。また、キーワード判定部１０６は、特定の用語（語句）に対して、当該特定の用語の省略語に相当する他の用語がともに文中に存在する場合に、それらの両方がキーワードから除外されてしまう可能性を低減することができる。
【００９９】
上記各ステップ（ステップＳ２０６、ステップＳ２０８、ステップＳ２０９）における処理を実行した後、キーワード判定部１０６は、番号ｉをインクリメントする（ステップＳ２１０）。その後、キーワード判定部１０６は、ステップＳ２０５に戻って処理を続行する。
【０１００】
最後に（ステップＳ２０５においてＹＥＳの場合）、キーワード判定部１０６は、キーワードの抽出結果を整理する（ステップＳ２１１）。ステップＳ２１１において、キーワード判定部１０６は、キーワードの抽出結果として、判定が「可」の候補語句のみを列挙してもよい。また、キーワード判定部１０６は、キーワードの抽出結果に、キーワードとして抽出された候補語句に関する説明欄を含めてもよい。
【０１０１】
キーワード抽出システム１００は、上記整理された抽出結果を、各種表示装置（モニタ装置や、表示パネル装置等）、あるいは各種出力装置（例えば印刷装置など）を介して出力してもよい。また、キーワード抽出システム１００は、上記整理された抽出結果を記憶しておき、ユーザからのリクエストなどに応じて適宜出力してもよい。上記に限らず、キーワード抽出システム１００は、任意の方法により抽出結果を出力してよい。
【０１０２】
上記のように構成された本実施形態におけるキーワード抽出システム１００よれば、ＲＦＰ、契約書、法令や約款などの文書からキーワードを適切に抽出することができる。なぜならば、キーワード抽出システム１００（特には候補語句抽出部１０５）が、文書から特定の基準（例えば、品詞、不要文字、文字数等）に基づいて候補語句を抽出可能だからである。また、キーワード抽出システム１００（特にはキーワード判定部１０６）が、抽出された各候補語句に対する類似候補語句を検出（判定）することにより、当該類似候補語句に関する情報基づいて、各候補語句からキーワードを抽出するからである。より具体的には、キーワード抽出システム１００が、例えば、検出された類似候補語句の数が特定の閾値より少ない候補語句を、キーワードとして抽出するからである。
【０１０３】
ＲＦＰ、契約書、法令や約款などの文書においては、キーワードになり得る重要な語句の表記揺れ（類似する語句）が少ないと考えられる。キーワード抽出システム１００は、類似候補語句が特定の閾値より少ない候補語句を抽出することにより、これらの文書に含まれる重要な語句を抽出可能である。また、キーワード抽出システム１００は、候補語句の出現頻度によらずに、候補語句からキーワードを抽出可能である。これにより、キーワード抽出システム１００は、文書における出現頻度が低い（例えば１回等）キーワードも抽出可能である。また、キーワード抽出システム１００は、文書に含まれる重複した候補語句を排除することから、文書中に同一のキーワードが多量に含まれる場合であっても、当該キーワードを適切に抽出可能である。更に、キーワード抽出システム１００は、他の候補語句の部分文字列に該当する候補語句をキーワードの候補から除外する。これにより、キーワード抽出システム１００は、例えば、一般的な用語（語句）を一部に含む候補語句が、キーワードから排除されてしまう可能性を低減することができる。また、キーワード抽出システム１００は、ある語句と、当該語句の省略語に相当する語句とが、ともにキーワードから除外されてしまう可能性を低減することができる。
【０１０４】
以上より、本実施形態におけるキーワード抽出システム１００は、文書等の情報から、当該情報に含まれるキーワードの出現頻度によらずに、適切なキーワードを抽出可能である。
【０１０５】
＜第２の実施形態＞
次に、本発明の第２の実施形態について図面を参照して詳細に説明する。なお、以下においては、上記第１の実施形態と同様の構成要素については、同一の符号を付し、詳細な説明を省略する。
【０１０６】
本実施形態に係るキーワード抽出システムは、文書に含まれる語句について、その語句により表される意味が同一であることが明確な範囲で、当該語句を構成する文字列に対する追加、削除、置換が起こりえることを想定する。即ち、特定の語句を構成する文字列に対する追加、削除、置換が行われた他の文字列を含むとともに、当該特定の語句と意味が同一である他の語句が、文書に含まれ得ることを想定する。具体例として、ある語句を構成する文字列に対して長音を追加しても、意味が変わらない場合が考えられる（例えば、「サーバー」と「サーバ」等）。上記例示した長音の追加に限定されず、ある語句を構成する文字列に対して、意味が同一であることが明確な範囲で、任意の文字列の追加、削除、置換が行われてもよい。
【０１０７】
また、本実施形態に係るキーワード抽出システムは、文書に含まれる語句を構成する文字列に対して、その語句により表される意味が異なることが明確な、追加、削除、置換が起こりえることを想定する。即ち、特定の語句を構成する文字列に対する追加、削除、置換が行われた他の文字列により構成されるとともに、当該特定の語句と意味が異なる他の語句が、文書に含まれ得ることを想定する。具体例として、固有名詞に対する文字列の追加、置換、あるいは固有名詞からの文字列の削除等が考えられる。より具体的には、例えば、地名に対する一文字の置換（例えば、「川崎」と「川越」等）、あるいは、地名に対する位置文字の追加、削除（例えば、「川崎」と「南川崎」等）等が、上記した文字列の追加、削除、置換に該当する。上記に限定されず、任意の文字列を追加、削除、置換することにより、意味が明確に変化する語句は複数存在する。
【０１０８】
更に本実施形態に係るキーワード抽出システムは、任意の不要語句を除外して、キーワードを抽出する。不要語句とは、例えば、「下記」など、一般的にはキーワードとしてふさわしくない語句である。不要語句は、本実施形態におけるキーワード抽出システムに予め登録されてもよい。また、不要語句を抽出する抽出方法（あるいは抽出基準）等が、本実施形態におけるキーワード抽出システムに予め登録されてもよい。不要語句の抽出に関しては後述する。
【０１０９】
以下、本実施形態におけるキーワード抽出システムの構成について説明する。図８を参照すると、本実施形態に係るキーワード抽出システム８００は、大別して、情報を記憶する記憶部８０１と、プログラム制御により動作する演算部８０４とから構成されている。
【０１１０】
記憶部８０１は、文書記憶部１０２と、削除ルール記憶部８０２と、変換ルール記憶部８０３と、候補語句記憶部１０３とを備える。
【０１１１】
文書記憶部１０２は、上記第１の実施形態と同様としてよいので、詳細な説明を省略する。
【０１１２】
削除ルール記憶部８０２は、候補語句から削除（除外）する語句に関する削除ルールを記憶する。削除ルールは、候補語句のうち、キーワードの候補から除外する語句を判定可能なルールである。係る削除ルールは、キーワード抽出システム８００のユーザが、各種入力装置（例えばキーボードなど）を介して入力することにより指定されてもよい。また、係る削除ルールは、キーワード抽出システム８００に予め記憶されてもよい。上記に限らず、係る削除ルールは、上記以外の任意の方法により指定されてもよい。
【０１１３】
図９は、削除ルール記憶部８０２に記憶された削除ルールの具体例を示す図である。図９において、１列目は列見出しを示し、１列目は削除ルールの番号、２列目は削除ルールの種類、３列目は削除内容を示している。図９において、２行目は、候補語句中の「下記」という文字列を削除することを示し、３行目は、候補語句中の「各種」という文字列を削除することを示し、４行目は、候補語句中の「出来」という文字列を削除することを示している。なお、以下においては、削除文字列が削除ルールに設定される場合を例として説明するが、本実施形態はこれには限定されない。削除ルールには、「＾各種」や「各種＄」など、正規表現を用いて削除ルールが設定されてもよい。ここで、記号「＾」は候補語句を構成する文字列における先頭の文字であることを示し、「＄」は当該文字列における末尾の文字であることを示す。また、上記第１の実施形態において説明した平仮名などの不要文字が、削除ルール記憶部８０２に削除ルールの一部として記憶されてもよい。
【０１１４】
変換ルール記憶部８０３は、ある候補語句に対する類似候補語句を検出する際に実行される文字列の追加、削除、置換に関するルールである変換ルールを記憶する。キーワード判定部８０６は、例えば、変換ルールに基づいて、特定の候補語句（あるいはその一部）に対して所定の変換が実行された文字列を含む他の候補語句を、当該特定の候補語句に対する類似候補語句から除外する。係る所定の変換は、例えば、特定の候補語句に対する文字列の追加、削除、置換等を含んでもよい。
【０１１５】
係る変換ルールは、キーワード抽出システム８００のユーザが、各種入力装置（例えばキーボードなど）を介して入力することにより指定されてもよい。係る変換ルールは、キーワード抽出システム８００に予め記憶されてもよい。上記に限定されず、係る変換ルールは、それ以外の任意の方法により指定されてもよい。
【０１１６】
図１０は、変換ルール記憶部８０３に記憶された変換ルールの具体例を示す図である。図１０において、１行目は列見出しを示し、１列目は、変換ルールの番号、２列目は変換ルールの種類、３列目は変換ルールの内容を示す。
【０１１７】
例えば、固有名詞（例えば、地名、人名、組織名など）に対して１文字以上の追加、削除、置換が行われた文字列と、元の固有名詞とを比較すると、意味が異なることが明確である。これより、図１０に示す具体例においては、固有名詞に対して文字列を追加、削除、置換することにより変換された他の文字列を含む候補語句を、類似候補語句の判定から除外（対象外）するような変換ルールが設定されている。即ち、ある固有名詞に対して文字列を追加、削除、置換するような変換が行われた文字列により構成される語句は、当該固有名詞に関する類似候補語句ではないと判定される。これにより、キーワード抽出システム８００は、ある固有名詞と一部だけ異なる語句が存在することに起因して、係る固有名詞がキーワードから除外されてしまう可能性を低減可能である。
【０１１８】
また、例えば、ある語句に長音（「ー」）を追加した語句と、元の語句とを比較すると、意味が同一である場合がある。同様に、ある語句から長音を削除した語句と、元の語句とを比較すると、意味が同一である場合がある。具体例として、「サーバー」と「サーバ」のような語句については、元の語句に長音が追加（あるいは削除）されても、意味が同一であることは明確である。これより、図１０に示す具体例においては、ある語句に対して長音（ー）が追加あるいは削除された語句を、類似候補語句の判定から除外（対象外）とするような変換ルールが設定されている。即ち、ある語句に対して長音「ー」を追加（あるいは削除）するような変換が行われて語句は、当該語句に関する類似候補語句ではないと判定される。これにより、キーワード抽出システム８００は、長音の有無のみが異なる語句が類似候補語句と判定されることに起因して、係る語句がキーワードから除外されてしまう可能性を低減可能である。
【０１１９】
なお、本実施形態は上記に限定されず、変換ルールには、図１０に例示する具体例以外のルールが適宜設定されてもよい。係る変換ルールは、例えば、以下のような候補語句を、特定の候補語句に関する類似候補語句から除外可能なルールであってもよい。即ち、係る候補語句は、例えば、特定の候補語句とは（文字列としての）表記が異なるものの、意味が同一であることが明白な候補語句であってもよい。また、係る他の候補語句は、例えば、特定の候補語句と（文字列としての）表記が類似するものの、意味が異なることが明白な候補語句であってもよい。
【０１２０】
候補語句記憶部１０３は、第１の実施形態と同様としてよいので、詳細な説明を省略する。
【０１２１】
演算部８０４は、候補語句抽出部８０５と、キーワード判定部８０６とを備える。
【０１２２】
候補語句抽出部８０５は、文書記憶部１０２に記憶された文書から、キーワードの候補となる語句である複数の候補語句を抽出する。そして、候補語句抽出部８０５は、削除ルール記憶部８０２に記憶された削除ルールに基づいて、抽出した候補語句の一部を削除し、候補語句記憶部１０３に記憶する。
【０１２３】
候補語句の一部を削除することは、例えば、以下のような処理を表す。例えば、候補語句が「Ｔ＝ｔ（１）・・・ｔ（ｎ）」であり、削除ルールに、候補語句から削除される文字列（削除文字列）「ｔ（ｉ）  ｔ（ｉ＋１）」が設定されている場合を想定する。この場合、係る削除ルールに基づいて元の候補語句の一部が削除されることにより、候補語句Ｔは「Ｔ＝ｔ（１）・・・ｔ（ｉ−１）  ｔ（ｉ＋２）  ｔ（ｎ）」に変換される。即ち、この場合、元の候補語句Ｔから削除文字列が削除された後の文字列が、候補語句として扱われる。
【０１２４】
キーワード判定部８０６は、候補語句記憶部１０３に記憶された候補語句のうち、他の候補語句の部分文字列に相当する候補語句をキーワードの候補から除外する。そして、キーワード判定部８０６は、除外されずに残った候補語句ごとに、当該候補語句に類似する類似文字列を部分文字列として含む他の候補語句を検出する。この際、キーワード判定部８０６は、ある候補語句に対して、変換ルール記憶部８０３に記憶された変換ルールに基づいて変換可能な文字列を含む他の候補語句を、当該候補語句に対する類似候補語句から更に除外する。キーワード判定部８０６は、ある候補語句に対して、除外されずに残った類似候補語句の数に基づいて、当該候補語句がキーワードであるか否かを判定する。キーワード判定部８０６は、係る判定結果を候補語句記憶部１０３に記憶（登録）する。
【０１２５】
次に、図１１に例示するフローチャートを参照して、本実施形態における候補語句抽出部８０５の動作について詳細に説明する。
【０１２６】
まず、候補語句抽出部８０５は、文書記憶部１０２に記憶された文書から、キーワードの候補となる語句である候補語句を抽出する（ステップＳ１１０１）。本ステップにおける処理は、第１の実施の形態における処理（ステップＳ２０１）と同様である。
【０１２７】
次に、候補語句抽出部８０５は、削除ルール記憶部８０２に記憶された削除ルールに基づいて、候補語句の一部を削除する（ステップＳ１１０２）。そして、候補語句抽出部８０５は、処理を終了し、次のキーワード判定部８０６に処理を移行する。
【０１２８】
図１２は、文書記憶部１０２に記憶された文書の具体例を示す図である。以下、削除ルール記憶８０２に図９に例示する削除ルールが記憶されており、文書記憶部１０２に図１２に例示する文書が記憶されている場合を具体例として、候補語句抽出部８０５の処理を説明する。なお、本実施形態における候補語句抽出部８０５は、上記第１の実施形態における候補語句抽出部１０５と同様の方法により、候補語句を抽出する。
【０１２９】
まず、候補語句抽出部８０５は、ステップＳ１１０１において、形態素解析により、名詞あるいは動詞である候補語句として、「川崎市」、「川越市」、「システム各種」、「接続出来る」、「サーバー要件」、「サーバ要件」、「下記」、「通り」を抽出する。そして、候補語句抽出部８０５は、上記抽出した語句から不要文字（平仮名及び数字）として設定された文字列を削除する。これにより、候補語句抽出部８０５は、候補語句として、「川崎市」、「川越市」、「システム各種」、「接続出来」、「サーバー要件」、「サーバ要件」、「下記」、「通」を抽出する。
【０１３０】
次に、候補語句抽出部８０５は、１文字のみで構成された「通」を除去することにより、候補語句として、「川崎市」、「川越市」、「システム各種」、「接続出来」、「サーバー要件」、「サーバ要件」、「下記」を抽出する。
【０１３１】
次に、候補語句抽出部８０５は、ステップＳ１１０２において、図９に例示する削除ルールに基づいて、「各種」、「出来」、「下記」を削除する。これにより、候補語句抽出部８０５は、候補語句として、「川崎市」、「川越市」、「システム」、「接続」、「サーバー要件」、「サーバ要件」を抽出する。結果として、候補語句記憶部１０３には図１４に例示するような候補語句が記憶される。なお、上記第１の実施形態において説明した、平仮名などの不要文字が、削除ルールとして削除ルール記憶部８０２に予め設定されてもよい。この場合、候補語句抽出部８０５は、ステップＳ１１０２において、係る不要文字を削除してもよい。
【０１３２】
次に、図１３のフローチャートを参照して、本実施形態におけるキーワード判定部８０６が、ｉ番目の候補語句である候補語句ｉに関する類似候補語句を検出する動作について説明する。
【０１３３】
まず、キーワード判定部８０６は、第１の実施形態と同様に、候補語句ｉの類似文字列を含む、他の候補語句（類似候補語句）を検出する（ステップＳ１３０１）。
【０１３４】
次に、キーワード判定部８０６は、ステップＳ１３０１において検出した他の候補語句（類似候補語句）のうち、上記説明した変換ルールに基づいて、対象外となる類似候補語句を除外する（ステップＳ１３０２）。なお、変換ルール記憶部８０３に、品詞情報を用いた変換ルールが設定されている場合、候補語句の品詞情報が必要となる。例えば、候補語句抽出部８０５が（形態素解析等により抽出した）品詞情報を用いる場合には、候補語句記憶部１０３にその品詞情報を記憶しておいてもよい。この場合、キーワード判定部８０６は、その記憶された品詞情報を利用してもよい。又は、キーワード判定部８０６は、本ステップにおいて、形態素解析を行うことにより、各候補語句に関する品詞情報を取得してもよい。
【０１３５】
図１４は、本実施形態における候補語句記憶部１０３に記憶された候補語句の具体例を示す図である。以下、具体例を用いて、キーワード判定部８０６がｉ番目の候補語句ｉの類似候補語句を抽出する処理について説明する。以下説明する具体例においては、図１０に例示する変換ルールが変換ルール記憶部８０３に記憶され、図１４に例示する候補語句が候補語句記憶部１０３に記憶されていることを想定する。
【０１３６】
まず、ｉが１の場合（最初の候補語句の場合）、キーワード判定部８０６は、ステップＳ１３０１において、候補語句１「川崎市」に対して、類似文字列を含む候補語句２「川越市」を検出する。候補語句１「川崎市」に対して、「崎」の一文字を置換した文字列が、候補語句２「川越市」に相当するからである。
【０１３７】
次に、キーワード判定部８０６は、ステップＳ１３０２において、図１０に例示する番号１に登録された「固有名詞」に関する変換ルールに基づいて、候補語句２「川越市」を、候補語句１に対する類似候補語句から除外する。具体的には、候補語句１「川崎市」は固有名詞（地名）であり、固有名詞「川崎」における「崎」の一文字を「越」に置換した文字列が、候補語句２「川越市」に相当する。図１０の番号１に登録された変換ルールは、ある固有名詞に対して所定の変換（文字列の追加、削除、置換）を行った他の文字列を、当該固有名詞に関する類似候補語句から除外するルールである。これより、キーワード判定部８０６は、候補語句１「川崎市」に関する類似候補語句から、候補語句２「川越市」を除外する。結果として、キーワード判定部８０６は、候補語句１「川崎市」の類似文字列を部分に含む他の候補語句を検出しない。
【０１３８】
また、ｉが２の場合、キーワード判定部８０６は、ステップＳ１３０１において、候補語句２「川越市」に対し、類似する文字列を含む候補語句１「川崎市」を検出する。次に、キーワード判定部８０６は、ステップＳ１３０２において、上記ｉが１の場合と同様に、候補語句２「川越市」に対する類似候補語句から、候補語句１「川崎市」を除外する。なぜならば、固有名詞「川越市」に対して、「越」の一文字を「崎」に置換した文字列が、候補語句２「川越市」に相当するからである。結果として、キーワード判定部８０６は、候補語句２「川越市」の類似候補語句を検出しない。
【０１３９】
ｉが３（候補語句３「システム」）の場合、キーワード判定部８０６は、ステップＳ１３０１において、類似候補語句を検出しない。この場合、キーワード判定部８０６は、ステップ１３０１において検出された類似候補語句が存在しないことから、ステップＳ１３０２を実行せずともよい。また、キーワード判定部８０６は、ステップＳ１３０２において何の処理を行わなくてもよい。
【０１４０】
ｉが４（候補語句４「接続」）の場合も、上記ｉが３の場合と同様に、キーワード判定部８０６は類似候補語句を検出しない。
【０１４１】
ｉが５（候補語句５「サーバー要件」）の場合、キーワード判定部８０６は、ステップＳ１３０１において、候補語句５「サーバー要件」に対して、類似する文字列を含む候補語句６「サーバ要件」を検出する。候補語句５「サーバー要件」から、一文字（長音「ー」）を削除した文字列が、候補語句６「サーバ要件」に相当するからである。
【０１４２】
次に、キーワード判定部８０６は、ステップＳ１３０２において、図１０に例示する番号２に登録された長音に関する変換ルールに基づいて、候補語句６「サーバ要件」を、候補語句５に対する類似候補語句から除外する。より具体的には、候補語句５「サーバー要件」から長音「ー」の一文字を削除した文字列が、候補語句６「サーバ要件」に相当する。図１０の番号２に登録された変換ルールは、ある語句に対して長音「ー」を追加、削除した他の文字列を、当該語句に関する類似候補語句から除外するルールである。これより、キーワード判定部８０６は、候補語句５「サーバー要件」に関する類似候補語句から、候補語句６「サーバ要件」を除外する。結果として、キーワード判定部８０６は、候補語句５「サーバー要件」に関する類似候補語句を検出しない。
【０１４３】
ｉが６（候補語句６「サーバ要件」）の場合、キーワード判定部８０６は、ステップＳ１３０１において、候補語句６「サーバ要件」に類似する文字列を含む候補語句５「サーバ要件」を検出する。次に、キーワード判定部８０６は、上記説明したｉが５の場合と同様に、図１０に例示する変換ルール（番号２）に基づいて、候補語句５「サーバ要件」を、候補語句６「サーバ要件」の類似候補語句から除外する。結果として、キーワード判定部８０６は、候補語句６「サーバ要件」の類似候補語句を検出しない。
【０１４４】
上記説明したように、候補語句１乃至候補語句６に関する類似候補語句の数は、それぞれ０となる。キーワード判定部８０６は、例えば、上記第１の実施形態において説明したステップＳ２０５以降の処理を実行することにより、図１４に例示する全ての候補語句１乃至候補語句６を、キーワードと判定する。
【０１４５】
なお、上記においては、説明を簡単にするために、キーワード判定部８０６が類似候補語句を検出してから、変換ルールに基づいて特定の語句を類似候補語句から除外する処理を説明した。上記に限定されず、キーワード判定部８０６は、変換ルールを考慮しながら、類似候補語句を検出してもよい。
【０１４６】
また、上記においては、固有名詞、及び、長音「ー」に関する変換ルールを具体例として説明した。上記に限らず、「登録者」、「登録日」、「登録地」など、一文字の置換で意味が異なることが明確な語句は、多数存在する。例えば、これらにおける一文字の置換文字である「者」、「日」、「地」などの文字が、変換ルール記憶部８０３に変換ルールとして記憶されてもよい。
【０１４７】
また、文書の規模や品質によっては、例えば、「バッジ」と「バッチ」などのタイプミスが起こりうる。これより、文書におけるタイプミスを考慮する必要がある場合がある。このようなタイプミス（例えば、上記例示した「ジ」と「チ」等）による変換については、類似候補語句と判定しないことが望ましい。これより、キーワード抽出システム８００は、頻出すると想定されるタイプミスに関する情報を変換ルール記憶部８０３に記憶しておいてもよい。この場合、係る変換ルールの説明欄（３列目）に、タイプミスの可能性があることが登録されてもよい。
【０１４８】
上記のように構成された本実施形態におけるキーワード抽出システム８００は、文字列としての表記は一部類似するものの、意味が異なることが明白である語句が文書中に含まれる場合であっても、そのような語句からキーワードを適切に抽出可能である。また、本実施形態におけるキーワード抽出システム８００は、文字列としての表記が異なるものの、意味が同一であることが明白である語句が文書中に含まれる場合であっても、そのような語句からキーワードを適切に抽出可能である。即ち、本実施形態におけるキーワード抽出システム８００は、文書中に意味が同一であること、あるいは、異なることが明確な表記揺れが存在する場合でも、キーワードを抽出することができる。なぜならば、本実施形態におけるキーワード抽出システム８００は、変換ルールに基づいて、特定の候補語句を構成する文字列を変換した他の文字列に相当する候補語句を、当該特定の候補語句に関する類似候補語句から除外するからである。
【０１４９】
また、本実施形態におけるキーワード抽出システム８００は、抽出された候補語句の一部を削除ルールに基づいて削除する。これにより、本実施形態におけるキーワード抽出システム８００は、不要な語句がキーワードとして抽出される可能性を低減可能である。また、本実施形態におけるキーワード抽出システム８００は、上記第１の実施形態と同様の構成を有することから、上記第１の実施形態と同様の効果を奏する。
【０１５０】
＜第３の実施形態＞
次に、本発明の第３の実施形態について説明する。図１５は、本実施形態におけるキーワード抽出システム１５００の機能的な構成を例示するブロック図である。
【０１５１】
図１５に例示するように、本実施形態におけるキーワード抽出システム１５００は、候補語句抽出部１５０１と、キーワード判定部１５０２と、を備える。キーワード抽出システム１５００を構成するこれらの構成要素の間は、任意の通信手段により通信可能に接続されていてもよい。以下、それぞれの構成要素について説明する。
【０１５２】
候補語句抽出部１５０１は、キーワード抽出システム１５００に対して入力された入力情報から、キーワードの候補となる語句である候補語句を１つ以上抽出する。係る入力情報は、例えば、文書等の情報であってもよい。
【０１５３】
キーワード判定部１５０２は、候補語句抽出部１５０１により抽出された候補語句のうち、特定の候補語句に類似する文字列を含む他の候補語句に関する情報に基づいて、当該特定の候補語句がキーワードであるか否かを判定する。キーワード判定部１５０２は、例えば、抽出された候補語句ごとに、当該候補語句に類似する文字列を含む他の候補語句の数に基づいて、当該候補語句がキーワードであるか否かを判定してもよい。
【０１５４】
上記のように構成された本実施形態におけるキーワード抽出システム１５００よれば、入力された情報から、キーワードを適切に抽出可能である。なぜならば、キーワードになり得る重要な候補語句については、表記の揺れ（即ち、意味が同一であり、表記が類似する語句）が少ないと考えられる。これに対して、本実施形態におけるキーワード判定部１５０２は、ある候補語句に類似する文字列を含む他の候補語句に関する情報に基づいて、ある候補語句がキーワードか否かを判定する。これにより、キーワード抽出システム１５００は、適切なキーワードを抽出可能である。更にキーワード抽出システム１５００は、入力された情報に含まれる候補語句の頻度に依存することなく、適切なキーワードを抽出可能である。
【０１５５】
以上より、本実施形態におけるキーワード抽出システム１５００は、文書等の情報から、当該情報に含まれるキーワードの出現頻度によらずに、適切なキーワードを抽出可能である。
【０１５６】
＜ハードウェア及びソフトウェア・プログラム（コンピュータ・プログラム）の構成＞
以下、上記説明した各実施形態を実現可能なハードウェア構成について説明する。
【０１５７】
以下の説明において、上記各実施形態において説明したキーワード抽出システム（１００、８００、１５００）をまとめて、単に「キーワード抽出システム」と称する。またキーワード抽出システムの各構成要素を、単に「キーワード抽出システムの構成要素」と称する。
【０１５８】
上記各実施形態において説明したキーワード抽出システムは、１つ又は複数の専用のハードウェア装置により構成してもよい。その場合、上記各図に示した各構成要素は、一部又は全部を統合したハードウェア（処理ロジックを実装した集積回路等）として実現してもよい。
【０１５９】
例えば、キーワード抽出システムを専用のハードウェアにより実現する場合、キーワード抽出システムの構成要素は、それぞれの機能を提供可能な集積回路をＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  ａ  Ｃｈｉｐ）等により実装されてもよい。この場合、例えば、キーワード抽出システムの構成要素が保持するデータは、ＳｏＣとして統合されたＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）領域やフラッシュメモリ領域に記憶されてもよい。
【０１６０】
また、この場合、キーワード抽出システムの各構成要素を接続する通信回線としては、周知の通信バスを採用してもよい。また、各構成要素を接続する通信回線はバス接続に限らず、それぞれの構成要素間をピアツーピアで接続してもよい。
【０１６１】
また、キーワード抽出システムを複数のハードウェア装置により構成する場合、それぞれのハードウェア装置の間は、任意の通信手段（有線、無線、またはそれらの組み合わせ）により通信可能に接続されていてもよい。  また、上述したキーワード抽出システムあるいはその構成要素は、図１６に例示するような汎用のハードウェア装置（コンピュータ等）と、係るハードウェアによって実行される各種ソフトウェア・プログラム（コンピュータ・プログラム）とによって構成されてもよい。この場合、キーワード抽出システムは、任意の数のハードウェア装置及びソフトウェア・プログラムにより構成されてもよい。
【０１６２】
図１６における演算装置１６０１は、汎用のＣＰＵ（中央処理装置：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やマイクロプロセッサ等の演算処理装置である。演算装置１６０１は、例えば後述する不揮発性記憶装置１６０３に記憶された各種ソフトウェア・プログラムを記憶装置１６０２に読み出し、係るソフトウェア・プログラムに従って処理を実行してもよい。例えば、上記各実施形態におけるキーワード抽出システムの構成要素は、演算装置１６０１により実行されるソフトウェア・プログラムとして実現可能である。例えば、上記各実施形態における演算部（１０４、８０４）は、演算装置１６０１を用いて実現可能である。
【０１６３】
記憶装置１６０２は、演算装置１６０１から参照可能な、ＲＡＭ等のメモリ装置であり、ソフトウェア・プログラムや各種データ等を記憶する。なお、記憶装置１６０２は、揮発性のメモリ装置であってもよい。
【０１６４】
不揮発性記憶装置１６０３は、例えば磁気ディスクドライブや、フラッシュメモリによる半導体記憶装置のような、不揮発性の記憶装置である。不揮発性記憶装置１６０３は、各種ソフトウェア・プログラムやデータ等を記憶可能である。
【０１６５】
例えば、上記各実施形態における記憶部（１０１、８０１）は、記憶装置１６０２あるいは不揮発性記憶装置１６０３あるいはその組和わせを用いて実現可能である。
【０１６６】
ネットワークインタフェース１６０６は、通信ネットワークに接続するインタフェース装置であり、例えば有線及び無線のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）接続用インタフェース装置等を採用してもよい。キーワード抽出システムが複数のコンピュータ等により構成される場合、それぞれのコンピュータは、ネットワークインタフェース１６０６を介して通信ネットワークに通信可能に接続されてもよい。
【０１６７】
ドライブ装置１６０４は、例えば、後述する記録媒体１６０５に対するデータの読み込みや書き込みを処理する装置である。
【０１６８】
記録媒体１６０５は、例えば光ディスク、光磁気ディスク、半導体フラッシュメモリ等、データを記録可能な任意の記録媒体である。より具体的には、係る記録媒体は、フロッピー（登録商標）ディスク、ハードディスクなどの磁気ディスクであってもよい。また、係る記録媒体は、ＣＤ（ＣｏｍｐａｃｔＤｉｓｃ）−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤなどの光ディスクであってもよい。また、係る記録媒体は、光磁気ディスク（ＭＯ：Ｍａｇｎｅｔｏ  Ｏｐｔｉｃａｌ  Ｄｉｓｋ）であってもよい。上記に限定されず、係る記録媒体はコンピュータ・プログラムを記憶可能であり、かつコンピュータが読み取り可能な記憶媒体であればよい。係る記録媒体の具体的な記憶形式は、任意の形式を採用可能である。
【０１６９】
入出力インタフェース１６０７は、外部装置との間の入出力を制御する装置である。
【０１７０】
上述した各実施形態を例に説明した本発明におけるキーワード抽出システムは、例えば、１以上の、図１６に例示したハードウェア装置（コンピュータ）により構成されてもよい。この場合、係るハードウェア装置に対して、上記各実施形態において説明した機能を実現可能なソフトウェア・プログラムを供給することにより、本発明が実現されてもよい。より具体的には、例えば、係る装置に対して供給したソフトウェア・プログラムを、演算装置１６０１が実行することによって、本発明が実現されてもよい。この場合、係るハードウェア装置で稼働しているオペレーティングシステムや、データベース管理ソフト、ネットワークソフト等のミドルウェアなどが各処理の一部を実行してもよい。
【０１７１】
上述した各実施形態において、上記各図（例えば、図１、図８、図１５）に示した各部は、上述したハードウェアにより実行されるソフトウェア・プログラムの機能（処理）単位である、ソフトウェアモジュールとして実現することができる。ただし、これらの図面に示した各ソフトウェアモジュールの区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。
【０１７２】
例えば、上記各部をソフトウェアモジュールとして実現する場合、これらのソフトウェアモジュールは、不揮発性記憶装置１６０３に記憶されてもよい。そして、演算装置１６０１が、それぞれの処理を実行する際に、これらのソフトウェアモジュールを記憶装置１６０２に読み出してもよい。
【０１７３】
また、これらのソフトウェアモジュールの間は、共有メモリやプロセス間通信等の適宜の方法により、相互に各種データを伝達できるように構成してもよい。このような構成により、これらのソフトウェアモジュールの間は、相互に通信可能に接続可能である。
【０１７４】
更に、上記各ソフトウェア・プログラムは記録媒体１６０５に記録されてもよい。この場合、上記各ソフトウェア・プログラムは、上記通信装置等の出荷段階、あるいは運用段階等において、適宜ドライブ装置１６０４を通じて不揮発性メモリ１６０３に格納されるよう構成されてもよい。
【０１７５】
なお、上記の場合において、上記キーワード抽出システムへの各種ソフトウェア・プログラムの供給方法は、出荷前の製造段階、あるいは出荷後のメンテナンス段階等において、適当な治具を利用して当該装置内にインストールする方法を採用してもよい。また、各種ソフトウェア・プログラムの供給方法は、インターネット等の通信回線を介して外部からダウンロードする方法等のように、現在では一般的な手順を採用してもよい。
【０１７６】
そして、このような場合において、本発明は、係るソフトウェア・プログラムを構成するコード、あるいは係るコードが記録されたところの、コンピュータ読み取り可能な記録媒体によって構成されると捉えることができる。この場合、係る記録媒体は、ハードウェア装置と独立した媒体に限らず、ＬＡＮやインターネットなどにより伝送されたソフトウェア・プログラムをダウンロードして記憶又は一時記憶した記憶媒体を含む。
【０１７７】
また、上述したキーワード抽出システム、あるいは、当キーワード抽出システムの構成要素は、図１６に例示するハードウェア装置を仮想化した仮想化環境と、当該仮想化環境において実行される各種ソフトウェア・プログラム（コンピュータ・プログラム）とによって構成されてもよい。この場合、図１６に例示するハードウェア装置の構成要素は、当該仮想化環境における仮想デバイスとして提供される。なお、この場合も、図１６に例示するハードウェア装置を物理的な装置として構成した場合と同様の構成にて、本発明を実現可能である。
【０１７８】
以上、本発明を、上述した模範的な実施形態に適用した例として説明した。しかしながら、本発明の技術的範囲は、上述した各実施形態に記載した範囲には限定されない。当業者には、係る実施形態に対して多様な変更又は改良を加えることが可能であることは明らかである。そのような場合、係る変更又は改良を加えた新たな実施形態も、本発明の技術的範囲に含まれ得る。更に、上述した各実施形態、あるいは、係る変更又は改良を加えた新たな実施形態を組み合わせた実施形態も、本発明の技術的範囲に含まれ得る。そしてこのことは、特許請求の範囲に記載した事項から明らかである。
【０１７９】
上記の各実施形態の一部又は全部は、以下の付記のようにも記載されうる。なお、以下の付記は本発明をなんら限定するものではない。
【０１８０】
（付記１）
入力文書からキーワード候補となる複数の語句を抽出する候補語句抽出部と、他の候補語句の部分文字列となる候補語句を除外してから、候補語句ごとに、該候補語句の類似文字列を部分文字列に含む候補語句に基づいて、候補語句がキーワードであるか否かを判定するキーワード判定部とを備えることを特徴とするキーワード抽出システム。
【０１８１】
（付記２）
上記キーワード判定部は、候補語句ごとに、該候補語句の文字数に基づいて予め定めた類似文字列を部分列に含む候補語句の数に基づいて、候補語句がキーワードであるか否かを判定することを特徴とする付記１に記載のキーワード抽出システム。
【０１８２】
（付記３）
上記キーワード判定部の類似文字列は、候補語句ごとに、該候補語句の予め定めた文字数以下の文字を追加・削除・置換した文字列であることを特徴とする付記１または付記２に記載のキーワード抽出システム。
【０１８３】
（付記４）
上記候補語句抽出部は、候補語句を２文字以上に限定し、上記キーワード判定部の類似文字列は、３文字以上の候補語句に対しては１文字の追加・削除・置換した文字列とし、２文字の候補語句に対しては、１文字の追加・置換した文字列と定めることを特徴とする付記１から付記３までに記載のキーワード抽出システム。
【０１８４】
（付記５）
上記候補語句抽出部は、予め定めた削除ルールに基づいて候補語句の一部を削除し、上記キーワード判定部は、予め定めた変換ルールに基づいて判定した類似文字列を部分文字列に含む候補語句を検出することを特徴とする付記１から付記４までに記載のキーワード抽出システム。
【０１８５】
（付記６）
入力文書からキーワード候補となる複数の語句を抽出する候補語句抽出ステップと、他の候補語句の部分文字列となる候補語句を除外してから、候補語句ごとに、該候補語句の類似文字列を部分文字列に含む候補語句に基づいて、候補語句がキーワードであるか否かを判定するキーワード判定ステップとを備えることを特徴とするキーワード抽出方法。
【０１８６】
（付記７）
入力文書からキーワード候補となる複数の語句を抽出する候補語句抽出処理と、他の候補語句の部分文字列となる候補語句を除外してから、候補語句ごとに、該候補語句の類似文字列を部分文字列に含む候補語句に基づいて、候補語句がキーワードであるか否かを判定するキーワード判定処理とをコンピュータに実行させるためのキーワード抽出プログラム。
【符号の説明】
【０１８７】
１００  キーワード抽出システム
１０１  記憶部
１０２  文書記憶部
１０３  候補語句記憶部
１０４  演算部
１０５  候補語句抽出部
１０６  キーワード判定部
８００  キーワード抽出システム
８０１  記憶部
８０２  削除ルール記憶部
８０３  変換ルール記憶部
８０４  演算部
８０５  候補語句抽出部
８０６  キーワード判定部
１５００  キーワード抽出システム
１５０１  候補語句抽出部
１５０２  キーワード判定部
１６０１  演算装置
１６０２  記憶装置
１６０３  不揮発性記憶装置
１６０４  ドライブ装置
１６０５  記録媒体
１６０６  ネットワークインタフェース
１６０７  入出力インタフェース
【図１】
0006476886.tif 000002
【図２】
0006476886.tif 000003
【図３】
0006476886.tif 000004
【図４】
0006476886.tif 000005
【図５】
0006476886.tif 000006
【図６】
0006476886.tif 000007
【図７】
0006476886.tif 000008
【図８】
0006476886.tif 000009
【図９】
0006476886.tif 000010
【図１０】
0006476886.tif 000011
【図１１】
0006476886.tif 000012
【図１２】
0006476886.tif 000013
【図１３】
0006476886.tif 000014
【図１４】
0006476886.tif 000015
【図１５】
0006476886.tif 000016
【図１６】
0006476886.tif 000017