(57)【要約】【課題】  キーワード抽出に関する情報の記述性、再利用性を向上させながら、精度よく効率的にキーワードを抽出するキーワード抽出装置を得ること【解決手段】  本発明に係るキーワード抽出装置は、キーワードの構成要素となり得る文字列からなる正規表現で記述されたキーワード構成要素パターンを少なくとも有するパターン格納手段と、テキスト中の文字列とキーワード構成要素パターンとのマッチングを行い、テキストからキーワード構成要素パターンにマッチする互いにオーバーラップのないすべての文字列をキーワード構成要素として抽出するキーワード構成要素抽出手段と、各キーワード構成要素からキーワード候補集合を生成するキーワード候補集合生成手段と、キーワード候補集合の各キーワード候補をキーワードとして出力するキーワード出力手段とを備えたものである。【選択図】  図１
2005063470.tif 000002
【特許請求の範囲】
【請求項１】
テキストを入力するテキスト入力手段と、
正規表現による文字列のマッチングを行うパターン処理手段と、
キーワードの構成要素となり得る文字列からなる正規表現で記述されたキーワード構成要素パターンを少なくとも有するパターン格納手段と、
前記パターン処理手段を用いて、前記テキスト中の文字列と前記キーワード構成要素パターンとのマッチングを行い、前記テキストから前記キーワード構成要素パターンにマッチする互いにオーバーラップのない文字列をキーワード構成要素として抽出するキーワード構成要素抽出手段と、
各キーワード構成要素からキーワード候補集合を生成するキーワード候補集合生成手段と、
前記キーワード候補集合の各キーワード候補をキーワードとして出力するキーワード出力手段と、
を備えたことを特徴とするキーワード抽出装置。
【請求項２】
前記パターン格納手段は、不要な先頭文字列を表わす文字列からなる正規表現で記述された不要先頭パターンを有し、
前記キーワード候補集合のキーワード候補と前記不要先頭パターンとのマッチングを行い、前記不要先頭パターンにマッチする部分を含むキーワード候補をマッチした部分が除去されたキーワード候補に置換する不要先頭文字列除去処理を行う不要先頭文字列除去手段を備え、
前記置換されたキーワード候補に対し再度前記不要先頭文字列除去処理を施すことを特徴とする請求項１に記載のキーワード抽出装置。
【請求項３】
前記パターン格納手段は、不要語を表わす文字列からなる正規表現で記述された不要語パターン及び不要な先頭文字列を表わす文字列からなる正規表現で記述された不要先頭パターンを有し、
前記パターン処理手段を用いて、前記キーワード候補と前記不要語パターンとのマッチングを行い、前記不要語パターンにマッチするものを前記キーワード候補から除去する不要語除去処理を行う不要語除去手段と、
前記不要語除去処理が施されたキーワード候補と前記不要先頭パターンとのマッチングを行い、前記不要先頭パターンにマッチする部分を含むキーワード候補をマッチした部分が除去されたキーワード候補に置換する不要先頭文字列除去処理を行う不要先頭文字列除去手段を備え、
前記置換されたキーワード候補に対し再度前記不要語除去処理または前記不要先頭文字列除去処理を施すことを特徴とする請求項１に記載のキーワード抽出装置。
【請求項４】
前記パターン格納手段は、不要な末尾文字を表わす文字列からなる正規表現で記述された不要末尾パターンを有し、
前記キーワード候補集合のキーワード候補と前記不要末尾パターンとのマッチングを行い、前記不要末尾パターンにマッチする部分を含むキーワード候補をマッチした部分が除去されたキーワード候補に置換する不要末尾文字列除去処理を行う不要末尾文字列除去手段を備え、
前記置換されたキーワード候補に対し再度前記不要末尾文字列除去処理を施すことを特徴とする請求項１に記載のキーワード抽出装置。
【請求項５】
前記パターン格納手段は、不要語を表わす文字列からなる正規表現で記述された不要語パターン及び不要な末尾文字を表わす文字列からなる正規表現で記述された不要末尾パターンを有し、
前記パターン処理手段を用いて、前記キーワード候補と前記不要語パターンとのマッチングを行い、前記不要語パターンにマッチするものを前記キーワード候補から除去する不要語除去処理を行う不要語除去手段と、
前記不要語除去処理が施されたキーワード候補と前記不要末尾パターンとのマッチングを行い、前記不要末尾パターンにマッチする部分を含むキーワード候補をマッチした部分が除去されたキーワード候補に置換する不要末尾文字列除去処理を行う不要末尾文字列除去手段を備え、
前記置換されたキーワード候補に対し再度前記不要語除去処理または前記不要末尾文字列除去処理を施すことを特徴とする請求項１に記載のキーワード抽出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、テキストからキーワードを抽出するキーワード抽出装置に関するものである。
【背景技術】
【０００２】
図１１は、たとえば特開平１０−３３４１０２に示された従来のキーワード抽出装置を示す構成図である。図１１において、１はデータベース、２は一次キーワード切出処理部、３は字種情報部、４は一次キーワード格納部、５は不要語除去処理部、６はキーワード情報格納部である。
【０００３】
つぎに、動作について説明する。キーワードとなる文字の種別を定めた字種情報部３の情報に基づき、一次キーワード切出処理部２はデータベース１から一次キーワードとなる文字列を抽出して一次キーワード格納部４に格納する。不要語除去処理部５は他の一次キーワードを結合したものと等しい一次キーワード（合成語）を不要語として除去し、残ったものをキーワード情報格納部に格納する。
【０００４】
また、不要語除去処理部５では１文字の一次キーワードを除去したり、あらかじめ格納された接頭語、接尾語を除いて不要語除去処理を行なったり、あらかじめ登録されているかあるいは頻出する合成語は除去しないなどといった処理も記載されている。
【０００５】
従来のキーワード抽出装置は字種情報をベースとしているので、複数の字種にまたがったキーワードを抽出することが困難であった。またキーワードとはなり得ないと同定できる部分に関してもキーワード抽出処理が行なわれるため、不要な処理の結果、誤ったキーワードを抽出する可能性もあった。さらにキーワードとなるべき合成語や不要な一次キーワード、接頭語、接尾語に関する情報が文字列もしくは単なる文字数として格納／規定されるため、記述の柔軟性、簡潔性に欠け、また本来は接頭語・接尾語ではない部分が誤って削除されたり、キーワードとなるべき１文字の文字列を抽出できないといった問題点もあった。またそれらの情報を分野・文書タイプなどに対応してモジュール化し、必要に応じて組み合わせて用いることも不可能であり、それらの情報の再利用性が乏しかった。
【特許文献１】特開平１０−３３４１０２号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
この発明は、前記のような問題点を解決するためになされたものであり、キーワード抽出に関する情報の記述性、再利用性を向上させながら、精度よく効率的にキーワードを抽出するキーワード抽出装置を得ることを目的とするものである。
【課題を解決するための手段】
【０００７】
本発明に係るキーワード抽出装置は、テキストを入力するテキスト入力手段と、正規表現による文字列のマッチングを行うパターン処理手段と、キーワードの構成要素となり得る文字列からなる正規表現で記述されたキーワード構成要素パターンを少なくとも有するパターン格納手段と、パターン処理手段を用いて、テキスト中の文字列とキーワード構成要素パターンとのマッチングを行い、テキストからキーワード構成要素パターンにマッチする互いにオーバーラップのない文字列をキーワード構成要素として抽出するキーワード構成要素抽出手段と、各キーワード構成要素からキーワード候補集合を生成するキーワード候補集合生成手段と、キーワード候補集合の各キーワード候補をキーワードとして出力するキーワード出力手段とを備えたものである。
【発明の効果】
【０００８】
本発明に係るキーワード抽出装置は、テキストを入力するテキスト入力手段と、正規表現による文字列のマッチングを行うパターン処理手段と、キーワードの構成要素となり得る文字列からなる正規表現で記述されたキーワード構成要素パターンを少なくとも有するパターン格納手段と、パターン処理手段を用いて、テキスト中の文字列とキーワード構成要素パターンとのマッチングを行い、テキストからキーワード構成要素パターンにマッチする互いにオーバーラップのない文字列をキーワード構成要素として抽出するキーワード構成要素抽出手段と、各キーワード構成要素からキーワード候補集合を生成するキーワード候補集合生成手段と、キーワード候補集合の各キーワード候補をキーワードとして出力するキーワード出力手段とを備えているので、記述性の高い正規表現で記述されたパターンを用いて、字種にこだわらない柔軟なキーワード抽出を容易に実現することができる。
【発明を実施するための最良の形態】
【０００９】
実施の形態１
図１は、この発明を実施するための実施の形態１によるキーワード抽出装置を説明するための図である。
【００１０】
図１において、１０はテキスト入力手段、２０はパターン処理手段、３０はパターン格納手段、４０はキーワード構成要素抽出手段、５０はキーワード候補集合生成手段、６０はキーワード出力手段である。
【００１１】
テキスト入力手段１０はたとえばハードディスクなどに格納されたファイルなどから、必要に応じて日本語コードの変換などを行ないながらテキストデータを読み込む。
【００１２】
パターン処理手段２０はテキストなどの文字列と、正規表現もしくは同等のパターンを与えられてマッチングを行ない、マッチした部分文字列とその位置を出力したり、与えられた別の文字列によってマッチした部分文字列の置換を行なう。また、あるパターンにマッチした部分の後続の文字列にそのパターンを再び適用することにより、ある文字列からそのパターンに互いにオーバーラップなくマッチするすべての部分文字列を検索し、置換することも可能である。
【００１３】
正規表現とは特定の文字列ではなく、文字列の一部を一般化して表現することを可能とするものであり、たとえば以下のように定義される。
・通常の文字は、それ自身とマッチする正規表現である。
例）正規表現“い”はテキスト「あいうえお」の「い」にマッチする。
・正規表現を連結したものは、各正規表現にマッチする文字列を連結した文字列にマッチする正規表現である。
例）“うえ”は「あいうえお」の「うえ」にマッチする。
・“＾”は文字列の先頭にマッチする正規表現である。
例）“＾あ”は「あいうえお」の「あ」にマッチする。
・“＄”は文字列の末尾にマッチする正規表現である。
例）“お＄”は「あいうえお」の「お」にマッチする。
・“［“と”］”の間に通常の文字を並べたものは、それらのいずれか１文字にマッチする正規表現である。“［Ａ−Ｚ］”というようにある範囲の文字を指定することも可能である。また“［“の直後に“＾”を置くと、並べた文字以外の１文字とマッチする正規表現となる。
例）“［い−え］”は「あいうえお」の「い」「う」「え」のいずれかにマッチする。
“［＾い−え］”は「あいうえお」の「あ」「お」のいずれかにマッチする。
・“（“と”）”で囲まれた正規表現は括弧内の正規表現と同等の正規表現である。
例）“（うえ）”は「あいうえお」の「うえ」にマッチする。
・“｜”をはさんだ正規表現は、その前後の正規表現のいずれかにマッチする文字列にマッチする正規表現である（選択）。
例）“（い｜うえ）”は「あいうえお」の「い」「うえ」のいずれかにマッチする。
・正規表現に“｛ｍ，ｎ｝”（ｍ，ｎは０以上の整数、ｍ≦ｎ）が後置されたものは、その正規表現のｍ回以上ｎ回以下の反復を表わす正規表現である。
例）“い｛１，３｝”は「あいいえお」の「いい」もしくはいずれかの「い」にマッチする。
・正規表現に“｛ｍ｝”、“｛ｍ，｝”、“＊”、“＋”、“？”が後置されたものはそれぞれ、その正規表現に“｛ｍ，ｍ｝”、“｛ｍ，∞｝”、“｛０，∞｝”、“｛１，∞｝”、“｛０，１｝”が後置されたものと同等の正規表現である。
例）“い｛２｝”は「あいいえお」の「いい」にマッチする。
【００１４】
“い＋”は“い｛１，｝”と同等であり、「あいいえお」の「いい」もしくはいずれかの「い」にマッチする。
“い＊え”は「あいいえお」の「いいえ」「いえ」「え」のいずれかにマッチする。
“い？え”は「あいいえお」の「いえ」「え」のいずれかにマッチする。
【００１５】
正規表現によるマッチングは非決定性有限状態オートマトンを用いて効率的に行なわれるが、この場合：
・文字列の複数の部分がマッチ可能な場合、文字列の先頭に近い部分がマッチする。
（Ｃ１）
・選択において複数の選択肢がマッチ可能な場合、左の選択肢が優先される。  （Ｃ２）
・反復を含む正規表現では、より多くの反復によるマッチが優先される。      （Ｃ３）
という点に注意が必要である。
【００１６】
パターン格納手段３０は、パターン処理手段２０が処理可能な正規表現もしくは同等のパターンを格納しておくものである。以下、パターンは前述の正規表現で記述するものとする。
【００１７】
たとえば円相場情報などのテキストから、円相場の情勢を表わすキーワード構成要素を抽出したい場合には：
“（［０−９］＋［円銭］｜（円｜ドル）［高安］）”                        （１）
などといったキーワード構成要素パターンを用意すればよい。
【００１８】
また技術系文書などでは、連続した漢字やカタカナの文字列をキーワード構成要素とすることが有用な場合が多い。ただし漢字１文字の場合は、「光」「熱」など分野によって意味があるものもあるが、多くの場合ひらがながあとに続いて動詞や形容詞となるため、一部の文字を除いてキーワード構成要素から除外した方がよい場合が多い。またカタカナ１文字をキーワード構成要素とすべき場合も極めて稀である。これらを考慮すると、たとえば以下のようなキーワード構成要素パターンを用いることが考えられる。
“（［亜−瑤］｛２，｝｜［ァ−ヶー−］｛２，｝｜［光熱］）”              （２）
なお、“［亜−瑤］”はすべての漢字を、“［ァ−ヶー−］”はすべてのカタカナと長音符号を表わすパターンである。また、（Ｃ２）に示したようにマッチングでは左の選択肢が優先されるため、“［光熱］”のように短い文字列にマッチする選択肢は右の方に置き、パターン全体としてできるだけ長い文字列にマッチするようにしている。
【００１９】
キーワード構成要素抽出手段４０は、テキスト入力手段１０で入力されたテキストに対し、パターン格納手段３０に格納されたキーワード構成要素パターンを用いて、パターン処理手段２０によりマッチングを行ない、互いに重複なくマッチするすべての文字列をキーワード構成要素として抽出する。
【００２０】
たとえば
「１５日の東京外国為替市場の円相場は１ドル＝１０６円１１銭で、前日に比べ１円１５銭円高となった。」                                                        （３）
というテキストに対し、円相場情報に対応したキーワード構成要素パターン（１）を用いれば、
「１０６円」「１１銭」「１円」「１５銭」「円高」                          （４）
といったキーワード構成要素が抽出される。
【００２１】
また
「光デバイスを用いた通信装置を開発した。」                                （５）
というテキストに対して技術系文書に対応したキーワード構成要素パターン（２）を用いれば、
「光」「デバイス」「通信装置」「開発」                                    （６）
というキーワード構成要素が抽出される。なお、「用いた」の「用」はこのパターンにマッチしないため、キーワード構成要素とはならない。
【００２２】
キーワード候補集合生成手段５０はキーワード構成要素抽出手段４０が抽出したキーワード構成要素からキーワード候補集合を生成する。
【００２３】
最も単純なものは、各キーワード構成要素をそのままキーワード候補とするものである。この方式は要素概念を抽出しやすいものの、いくつかのキーワード構成要素からなる複合キーワードを抽出できないという側面を持つ。
【００２４】
また、テキスト上連続したキーワード構成要素は連結して１つのキーワード候補として、単独のキーワード構成要素はそのままキーワード候補として、キーワード候補集合を生成することも考えられる。前述の例では前二者と後三者がそれぞれ連続しているので、
「１０６円１１銭」「１円１５銭円高」                                      （７）
というキーワード候補集合が生成される。この方式は複合キーワードを抽出しやすいものの、要素概念を取り出しにくいという側面をもつ。
【００２５】
さらに、テキスト上連続したキーワード構成要素はそれぞれを単独のキーワード候補とするとともに、前後のキーワード構成要素を連結したものもそれぞれキーワード候補とする一方、単独のキーワード構成要素はそのままキーワード候補として、キーワード候補集合を生成する方式も考えられる。この場合前述の例では、
「１０６円」「１１銭」「１円」「１５銭」「円高」「１０６円１１銭」「１円１５銭」
「１５銭円高」「１円１５銭円高」                                          （８）
というキーワード候補集合が生成される。この方式によるキーワード候補集合は前二者によるものを包含するものであり、要素概念も複合キーワードも抽出可能であるが、不完全な複合キーワードが抽出される場合もある。
【００２６】
なお、キーワード構成要素がテキスト上連続しているかどうかの判定は、たとえばつぎのように実現される。まずキーワード構成要素抽出手段４０において、キーワード構成要素を抽出するとともに抽出位置をテキストの先頭からの文字数として記録しておく。たとえば、文字列長Ｌ１のキーワード構成要素Ｅ１が位置Ｐ１で抽出され、つぎにキーワード構成要素Ｅ２が位置Ｐ２で抽出されたとすると、Ｐ１＋Ｌ１がＰ２に等しければＥ１とＥ２はテキスト上連続していると判定される。
【００２７】
また、後続処理における冗長性を回避するために、キーワード候補集合生成手段５０は重複したキーワード候補を１つにまとめてもよい。
【００２８】
キーワード出力手段６０は、キーワード候補集合の各キーワード候補をキーワードとしてファイルやプリンタ、ディスプレーなどに出力するものである。
【００２９】
このように実施の形態１によれば、記述性の高い正規表現もしくは同等のパターンを用いてキーワード構成要素を抽出するため、字種にこだわらない柔軟なキーワード抽出を容易に実現することが可能である。
【００３０】
実施の形態２
図２は、この発明を実施するための実施の形態２によるキーワード抽出装置を説明するための図である。
【００３１】
図２において、図１と同一の符号を付したものは、同一またはこれに相当するものである。
【００３２】
図２において、７０は非キーワード候補除去手段である。またパターン格納手段３０には、キーワードの候補となり得ない部分を表わす非キーワード候補パターンが追加して格納されている。
【００３３】
たとえば円相場情報で現在の円相場とは関係なく、単に円相場の動向だけをキーワードとして取り出したい場合、非キーワード候補パターンとして
“１ドル＝［０−９］＋円（［０−９］＋銭）？”                            （９）
といったパターンを格納しておけばよい。
【００３４】
非キーワード候補除去手段７０はパターン処理手段２０を用いて、パターン格納手段３０に格納された非キーワード候補パターンにマッチする互いにオーバーラップ（同一の部分を有する）のない文字列をテキストからすべて検索し、どのパターンも決してそれを含む文字列にマッチしない特別な文字列に置換する。
【００３５】
たとえばどのパターンも決して半角文字を含む文字列にマッチすることがなければ、非キーワード候補パターンにマッチした文字列を、同じ文字数の半角の“###…”という文字列に置換する（“…”は繰返しの省略記号である）。前出の円相場情報の例文（３）は、
「１５日の東京外国為替市場の円相場は###########で、前日に比べ１円１５銭円高となった。」                                                              （１０）
というテキストに変換される。
【００３６】
キーワード構成要素抽出手段４０は、非キーワード候補除去手段７０によって変換されたテキストからキーワード構成要素を抽出する。円相場情報の例では、前記（１０）のテキストに対し、たとえば前述の円相場情報に対応したキーワード構成要素パターン（１）を用いることにより、
「１円」「１５銭」「円高」                                              （１１）
というキーワード構成要素が抽出される。
【００３７】
このように実施の形態２によれば、キーワードの候補となり得ない部分をあらかじめ除去してキーワード構成要素を抽出するので、不要なキーワード構成要素の抽出を防ぐことが可能となる。
【００３８】
実施の形態３
図３は、この発明を実施するための実施の形態３によるキーワード抽出装置を説明するための図である。
【００３９】
図３において、図１〜２と同一の符号を付したものは、同一またはこれに相当するものである。
【００４０】
図３において、８０は例外キーワード構成要素抽出手段である。またパターン格納手段３０には、キーワード構成要素パターンで網羅することが困難なキーワード構成要素を表わす例外キーワード構成要素パターンが追加して格納されている。
【００４１】
たとえば技術系文書の場合、キーワード構成要素パターン（２）では網羅できない、ひらがなの混在したキーワード構成要素を抽出するためのパターンを用意することが考えられる。
【００４２】
また技術系文書ではよく数値データが現れるが、これらを
“［０−９．−］＋”                                                    （１２）
というような非キーワード候補パターンとしておけば非キーワード候補除去手段７０でこれらを除去することが可能である。しかしながらこのようにすると、数字を含んだキーワード構成要素をキーワード構成要素抽出手段４０で抽出できなくなる。
【００４３】
これらのキーワード構成要素を抽出するためにはたとえば、
“（しきい値｜割り込み｜［０−９］＋（進数｜次元））”                  （１３）
というような例外キーワード構成要素パターンを用意する。
【００４４】
例外キーワード構成要素抽出手段８０はパターン処理手段２０を用いて、パターン格納手段３０に格納された例外キーワード構成要素パターンにマッチする、互いにオーバーラップのないすべての文字列を例外キーワード構成要素として抽出し、その抽出位置を記録するとともに、どのパターンも決してそれを含む文字列にマッチしない特別な文字列に置換する。たとえばどのパターンも決して半角文字を含む文字列にマッチすることがなければ、抽出された文字列を同じ文字数の半角の“＠＠＠…”という文字列に置換する。
【００４５】
たとえば
「受光素子を２次元に配列した。」                                        （１４）
というテキストに対して例外キーワード構成要素パターン（１３）を用いれば、
「２次元」                                                              （１５）
という例外キーワード構成要素が抽出されるとともに、もとのテキストは
「受光素子を＠＠＠に配列した。」                                        （１６）
というテキストに変換されて後の処理に移される。
【００４６】
キーワード候補集合生成手段５０は例外キーワード構成要素抽出手段８０で抽出された例外キーワード構成要素と、キーワード構成要素抽出手段４０で抽出されたキーワード構成要素からキーワード候補を生成する。
【００４７】
前出の例文（１４）に対してキーワード構成要素パターン（２）を用いれば
「受光素子」「配列」                                                    （１７）
の２つのキーワード構成要素が抽出され、それらと（１５）の例外キーワード構成要素から、たとえば実施の形態１で述べた方法のいずれかにより、キーワード候補が生成されることになる。
【００４８】
なおキーワード候補集合生成手段５０における、例外キーワード構成要素およびキーワード構成要素のテキスト上の連続性判定については、たとえば例外キーワード構成要素抽出手段８０もしくは非キーワード候補除去手段７０におけるテキストの置換において前述のようにテキストの文字数を変えないようにすることにより、実施の形態１で述べた方法を用いることができる。
【００４９】
このように実施の形態３によれば、キーワード構成要素パターンでは網羅することが困難な、あるいは非キーワード候補の除去に伴って抽出できなくなるキーワード構成要素をあらかじめ抽出することが可能となる。
【００５０】
実施の形態４
図４は、この発明を実施するための実施の形態４によるキーワード抽出装置を説明するための図である。
【００５１】
図４において、図１〜３と同一の符号を付したものは、同一またはこれに相当するものである。
【００５２】
図４において、９０は不要語除去手段である。またパターン格納手段３０には不要語を表わす不要語パターンが追加して格納されている。
【００５３】
たとえば技術系文書において「開発」「利用」などのような一般的な単語や、「同図」「次表」「前行」といった図表などの参照を示すものなどは、その文書で説明されている事物・アイデアなどの機能的な特徴を表わしているとは言えず、キーワードとすべきでない場合が多い。
【００５４】
このようなものを不要語とするには、たとえばつぎのような不要語パターンを用意しておく。
“＾（［同本次前後］［図表式行頁］｜開発｜利用｜…）＄”                （１８）
不要語除去手段９０はキーワード候補集合生成手段５０が生成した各キーワード候補に対してパターン処理手段２０を用い、文字列全体が不要語パターンにマッチするキーワード候補をキーワード候補集合から除去する。なお、パターン（１８）の先頭の“＾”と末尾の“＄”は、各キーワード候補の文字列全体とのマッチングが行なわれることを表わす。
【００５５】
たとえば（６）のキーワード構成要素がキーワード候補集合生成手段５０によってそのままキーワード候補となり、それに対して不要語除去手段９０が（１８）の不要語パターンを用いるとすれば、「開発」が不要語として除去され、
「光」「デバイス」「通信装置」                                          （１９）
の３つがキーワード候補として残ることになる。
【００５６】
また、パターン格納手段３０に必要語を表わす必要語パターンを追加して格納するとともに、不要語除去手段９０において各キーワード候補に対してパターン処理手段２０を用い、文字列全体が必要語パターンにマッチせず、不要語パターンにマッチするキーワード候補をキーワード候補集合から除去するように構成することにより、不要語パターンで誤って必要なキーワード候補が削除されることを防ぐことが可能である。
【００５７】
仮に「同行」が動詞としてキーワードとすべきにもかかわらず、（１８）の不要語パターンを用いるとマッチしてしまう場合、必要語パターンとして、
“＾（同行｜…）＄”                                                    （２０）
を用いれば、「同行」はキーワード候補として残される。
【００５８】
このように実施の形態４によれば、不要なキーワード候補を除去するのに記述性の高いパターンを用いることが可能である。また必要語パターンを用意することにより、不要語パターンで誤ってキーワード候補が削除されることを防ぐことが可能である。
【００５９】
実施の形態５
図５は、この発明を実施するための実施の形態５によるキーワード抽出装置を説明するための図である。
【００６０】
図５において、図１〜４と同一の符号を付したものは、同一またはこれに相当するものである。
【００６１】
図５において、１００は不要先頭文字列除去手段である。またパターン格納手段３０には不要先頭文字列を表わす不要先頭パターンが追加して格納されている。ここで不要先頭文字列とは、「各」「約」などいわゆる接頭語で不要なものだけでなく、キーワード候補の先頭文字列としては不要な部分文字列を指す。
【００６２】
たとえばキーワード構成要素抽出手段４０においてキーワード構成要素パターン（２）を用いる場合、
「電圧を加えた際発振する…」                                            （２１）
というようなテキストにおいて、「際発振」というキーワード構成要素が抽出される。これがそのままキーワード候補となる場合、「際」という文字列を不要先頭文字列と考えることにより、「発振」だけをキーワード候補として残すことが可能である。その他、「実用上」「実際上」など漢字からなる副詞句なども不要先頭文字列として扱う場合、たとえばつぎのような不要先頭パターンが考えられる。
“＾（（実用｜実際｜事実｜…）上｜［各約際…］）”                      （２２）
【００６３】
不要先頭文字列除去手段１００は不要語除去手段９０で除去されなかった各キーワード候補の先頭文字列に対してパターン処理手段２０を用い、不要先頭パターンにマッチしたキーワード候補に対してはマッチした部分を除去し、その結果が空文字列であればもとのキーワード候補をキーワード候補集合から除去し、空文字列でなければそれをもとのキーワード候補と置換する。置換されたキーワード候補は不要語除去手段９０に戻され、再び不要語除去処理、不要先頭文字列除去処理が行なわれる。なお、パターン（２２）の先頭の“＾”は、各キーワード候補の先頭文字列とのマッチングが行なわれることを表わす。
【００６４】
またパターン格納手段３０に必要先頭文字列を表わす必要先頭パターンを追加して格納するとともに、不要先頭文字列除去手段１００において、各キーワード候補の先頭文字列に対してパターン処理手段２０を用い、必要先頭パターンにマッチせず不要先頭パターンにマッチしたキーワード候補に対しては、不要先頭パターンにマッチした部分を除去し、その結果が空文字列であればもとのキーワード候補をキーワード候補集合から除去し、空文字列でなければそれをもとのキーワード候補と置換するように構成することにより、必要な先頭文字列を誤って除去することを防ぐことが可能となる。
【００６５】
たとえば「約数」「約分」というキーワード候補に対して不要先頭パターン（２２）によって「約」だけが誤って除去されないようにするためにはたとえば：
“＾（約数｜約分｜…）”                                                （２３）
というような必要先頭パターンを用意すればよい。
【００６６】
このように実施の形態５によれば、キーワード候補において不要な先頭文字列を除去するのに記述性の高いパターンを用いることが可能である。また必要先頭パターンを用意することにより、不要先頭パターンで誤ってキーワード候補の必要な先頭文字列が削除されることを防ぐことが可能である。
【００６７】
実施の形態６
図６は、この発明を実施するための実施の形態６によるキーワード抽出装置を説明するための図である。
【００６８】
図６において、図１〜５と同一の符号を付したものは、同一またはこれに相当するものである。
【００６９】
図６において、１１０は不要末尾文字列除去手段である。またパターン格納手段３０には不要末尾文字列を表わす不要末尾パターンが追加して格納されている。ここで不要末尾文字列とは、「等」「群」などいわゆる接尾語で不要なものだけでなく、キーワード候補の末尾文字列としては不要な部分文字列を指す。
【００７０】
たとえばキーワード構成要素抽出手段４０においてキーワード構成要素パターン（２）を用いた場合、
「共有メモリを有する並列計算機特に…」                                  （２４）
というようなテキストにおいて、「並列計算機特」というキーワード構成要素が抽出される。これがそのままキーワード候補となる場合、「特」という文字列を不要末尾文字列と考えることにより、「並列計算機」だけをキーワード候補として残すことが可能である。その他、「装置」「手段」など漢字からなる一般的な名詞で、特に機能などの説明には不要な部分も不要末尾文字列として扱う場合、たとえばつぎのような不要末尾パターンが考えられる。
“（装置｜手段｜［等群特…］）＄”                                      （２５）
不要末尾文字列除去手段１１０は、不要語除去手段９０で除去されず、不要先頭文字列除去手段１００によっても変更のなかった各キーワード候補の末尾文字列に対してパターン処理手段２０を用い、不要末尾パターンにマッチしたキーワード候補に対してはマッチした部分を除去し、その結果が空文字列であればもとのキーワード候補をキーワード候補集合から除去し、空文字列でなければそれをもとのキーワード候補と置換する。置換されたキーワード候補は不要語除去手段９０に戻され、再び不要語除去処理、不要先頭文字列除去処理、不要末尾文字列除去処理が行なわれる。なお、（２５）の末尾の“＄”は、各キーワード候補の末尾文字列とのマッチングが行なわれることを表わす。
【００７１】
またパターン格納手段３０に必要末尾文字列を表わす必要末尾パターンを追加して格納するとともに、不要末尾文字列除去手段１１０において、各キーワード候補の末尾文字列に対してパターン処理手段２０を用い、必要末尾パターンにマッチせず不要末尾パターンにマッチしたキーワード候補に対しては、不要末尾パターンにマッチした部分を除去し、その結果が空文字列であればもとのキーワード候補をキーワード候補集合から除去し、空文字列でなければそれをもとのキーワード候補と置換するように構成することにより、必要な末尾文字列を誤って除去することを防ぐことが可能となる。
【００７２】
たとえば「○○症候群」というキーワード候補に対して不要末尾パターン（２５）によって「群」だけが誤って除去されないようにするためにはたとえば：
“（症候群｜…）＄”                                                    （２６）
というような必要末尾パターンを用意すればよい。
【００７３】
このように実施の形態６によれば、キーワード候補において不要な末尾文字列を除去するのに記述性の高いパターンを用いることが可能である。また必要末尾パターンを用意することにより、不要末尾パターンで誤ってキーワード候補の末尾文字列が削除されることを防ぐことが可能である。
【００７４】
なお、実施の形態５または実施の形態６においては、あるキーワード候補に対して不要語除去処理、不要先頭文字列除去処理、不要末尾文字列除去処理のうち２つ以上を組み合わせて、もしくは不要先頭文字列除去処理、不要末尾文字列除去処理のいずれかを２回以上適用することによって、最終的にキーワード候補集合からあるキーワード候補が除去されることがある。１つの文書でそのような文字列を含むフレーズが複数回出現する場合、そのような文字列を不要語パターンの選択肢に付加することにより、冗長な処理を省くことが可能である。
【００７５】
これを実現するにはたとえば、キーワード候補集合生成手段５０で各キーワード候補が生成されたときの文字列を、初期文字列として各キーワード候補に付与しておく。そして不要語除去処理、不要先頭文字列除去処理、不要末尾文字列除去処理のいずれかにおいて最終的にキーワード候補が除去されるとき、その直前の文字列が初期文字列と異なっていれば、初期文字列を不要語パターンの選択肢に付加する。
【００７６】
たとえば「利用手段」というキーワード候補にまず不要末尾パターン（２５）が適用されて「利用」が残り、つぎに不要語パターン（１８）が適用されてキーワード候補集合から最終的に除去されたとする。
このとき“利用手段”を不要語パターンの選択肢に加えておけば、つぎに「各利用手段」というキーワード候補に対して、不要先頭パターン（２２）が適用されて「利用手段」が残ると、つぎには新たな不要語パターンを適用することにより、「利用手段」そのものがマッチして不要語として除去される。このようにして冗長な処理を回避することが可能となる。
【００７７】
実施の形態７
図７は、この発明を実施するための実施の形態７によるキーワード抽出装置を説明するための図である。
【００７８】
図７において、図１〜６と同一の符号を付したものは、同一またはこれに相当するものである。
【００７９】
図７において、３０ａ〜３０ｃはテキストのタイプや分野、格納パターンの種別などに対応した複数のパターン格納手段である。
各パターン格納手段は必ずしも同じ種類のパターンをそろえていなくてもよい。
【００８０】
たとえばモバイルコンピュータ関連のテキストに関してキーワード抽出を行なう場合、キーワード抽出のための情報としては、技術系文書全般に普遍的なもの、コンピュータ関係に一般に利用できるもの、そしてモバイルコンピュータに特有なものといったように、さまざまなレベルのものが考えられる。また同じモバイルコンピュータ関連のテキストにしても、たとえば特許の場合は「発明」「請求項」などの単語はそのテキストの特徴を表わしていないため、キーワードとして適さないといったように、テキストのタイプに応じた情報も考えられる。
【００８１】
そこで図８に示すように、そのようなキーワード抽出に関するさまざまなレベル、タイプの情報に対応したパターンを格納するパターン格納手段を各種用意し、対象とするテキストのタイプや分野などに応じてそれらを組み合わせて利用できるようにすれば、さまざまなテキストに対応したキーワード抽出が効率的に実現される。
【００８２】
パターン処理手段２０は各種パターンを適用する際に、各パターン格納手段に格納された同種のパターンを並行して適用し、最も先頭でマッチしたもののうち、最長の文字列をマッチング結果とする。いずれもマッチしなければ、全体としてマッチングに失敗したものとする。
【００８３】
キーワード構成要素抽出手段４０、非キーワード候補除去手段７０、例外キーワード構成要素抽出手段８０、不要語除去手段９０、不要先頭文字列除去手段１００、不要末尾文字列除去手段１１０は、それぞれの処理において必要なパターンをすべてのパターン格納手段から取り出し、パターン処理手段２０に処理させる。
【００８４】
たとえば例外キーワード構成要素パターンとしてパターン格納手段３０ａ、３０ｂ、３０ｃにそれぞれ
“［０−９］次”                                                      （２７ａ）
“［０−９］次元”                                                    （２７ｂ）
“（書き込み｜読み込み）”                                            （２７ｃ）
というパターンが格納されている場合、
「３次元データとして書き込みを行なう。」                                （２８）
というテキストに対しては、（２７ａ）が「３次」にマッチし、（２７ｂ）が「３次元」にマッチする一方、（２８）は「書き込み」にマッチするが、パターン処理手段２０は最も先頭でマッチする最長の文字列を全体のマッチング結果とするので、まず「３次元」がマッチング結果となる。続いて残りの「データとして書き込みを行なう。」に対してマッチングを行なうと、（２７ｃ）だけが「書き込み」にマッチするので、「書き込み」がマッチング結果となる。残りの「を行なう。」にマッチするものはないため、結果的に例外キーワード構成要素抽出手段８０は
「３次元」「書き込み」                                                  （２９）
を例外キーワード構成要素として抽出する。
【００８５】
あるパターン格納手段に格納された不要語パターンによって不要と判断されるキーワード候補を、あるテキストにおいてキーワードとすべき場合、そのパターン格納手段を用いるのをやめたり、あるいはその不要語パターンを修正することも考えられるが、そのキーワード候補とマッチする必要語パターンを格納するパターン格納手段を合わせて用いることも考えられる。不要先頭パターン、不要末尾パターンに関しても同様に、必要先頭パターン、必要末尾パターンを組み合わせて必要な先頭／末尾文字列が削除されることを防ぐことが可能である。またある非キーワード候補パターンによって削除される部分に含まれる、本来必要なキーワード構成要素に関しても、それにマッチする例外キーワード構成要素パターンを格納したパターン格納手段を合わせて用いることにより、抽出することが可能である。
【００８６】
また、不要語パターンおよび必要語パターンに関してはキーワード候補の文字列全体に対してマッチングが行なわれるため、いずれかのパターンでマッチすれば、他のパターンのマッチング結果は不要であるので、パターン処理手段２０はそれらの適用を中止し、マッチした結果を返して、不要なパターン処理を回避してもよい。
【００８７】
このように実施の形態７によれば、テキストのタイプや分野、格納パターンの種別などに対応した各種パターン格納手段を組み合わせて用いることにより、キーワード抽出に用いる情報の再利用性を向上させ、さまざまなテキストに柔軟かつ効率的に対応させることが可能である。
【００８８】
実施の形態８
図９は、この発明を実施するための実施の形態８によるキーワード抽出装置を説明するための図である。
【００８９】
図９において、図１〜８と同一の符号を付したものは、同一またはこれに相当するものである。
【００９０】
図９において、１２０はパターン統合手段である。
【００９１】
またパターン処理手段２０は、実施の形態７に示したような複数のパターンを並行して適用するものでなく、実施の形態１に示したものでよい。
【００９２】
パターン統合手段１２０は各パターン格納手段に格納された各種パターンを種別ごとに統合して出力する。ここで各パターンの統合においては、各パターンにマッチする可能性のある文字列のうち、最も先頭に近く最も長いものがマッチング結果となるよう、マッチングにおける（Ｃ２）の性質を考慮して統合パターンを構成する。すなわち、各パターンの構成要素における選択や連結、反復などを展開しながら、マッチする可能性のある文字列長が同じパターンをそろえ、それらを長いものから順に選択肢とする統合パターンを構成する。
【００９３】
キーワード構成要素抽出手段４０、非キーワード候補除去手段７０、例外キーワード構成要素抽出手段８０、不要語除去手段９０、不要先頭文字列除去手段１００、不要末尾文字列除去手段１１０は、パターン統合手段１２０によって統合されたパターンを用いてそれぞれの処理を実行する。
【００９４】
以下、具体的に前記パターン統合処理について説明する。
【００９５】
説明を簡略化するため、マッチする可能性のある文字列長が同じパターンをそろえたもの（以下、整列パターンと呼ぶことにする）を、その文字列長を丸数字として先頭に付与したパターンの組で表現する。たとえば、
【００９６】
【数１】
2005063470.tif 000003
は長さ１のパターン“あ”と長さ２のパターン“（いう｜えお）”からなる整列パターンである。
【００９７】
前記のパターン統合処理は、各パターンを選択肢とするパターンに対応した整列パターンを構成し、マッチする可能性のある文字列長が長いパターンから順に選択肢とする統合パターンを出力することにより実現される。たとえば（３０）の整列パターンは最終的に
“（（いう｜えお）｜あ）”                                              （３１）
という統合パターンとして出力される。
【００９８】
また、マッチする可能性のある文字列長に関して上限を設けて、それを超えるパターンは除去して統合パターンを構成することにより、マッチする可能性がないような極端に長いパターンを除外して統合パターンを短縮し、マッチングの効率を向上させることも可能である。入力テキストの文字列長は自明な上限の例であるが、実用的には２０文字程度でも充分な場合が多い。
【００９９】
つぎに、あるパターンに対応する整列パターンは、以下のように求める。
・通常の文字が連続したパターンは、そのパターンをその文字列長に対応してもつ整列パターンとなる。
【０１００】
【数２】
2005063470.tif 000004
・“＾”や“＄”はそれを長さ０に対応してもつ整列パターンとなる。
（例）  “＾”  →  “◎＾”
・“［”と“］”、もしくは“［＾”と“］”との間に通常の文字や文字範囲の並びをもつパターンは、そのパターンを長さ１に対応してもつ整列パターンとなる。
【０１０１】
【数３】
2005063470.tif 000005
・“（”と“）”で囲まれたパターンは、括弧内のパターンに対応した整列パターンとなる。
【０１０２】
【数４】
2005063470.tif 000006
・“｜”をはさんだパターンは、その前後のパターンに対応した整列パターンにおいて、各長さごとに対応したパターンを選択肢とする新たなパターンをもつ整列パターンとなる。
【０１０３】
【数５】
2005063470.tif 000007
・パターンを連結したものは、各パターンに対応する整列パターンについて、それぞれ各長さの組合せに対応したパターンを必要に応じて括弧で囲みながら連結し、連結したパターンを選択肢とする新たなパターンを合計した長さに対応してもつ整列パターンとなる。
【０１０４】
【数６】
2005063470.tif 000008
・パターンに“｛ｍ，ｎ｝”（ｍ，ｎは０以上の整数）が後置されたものは、そのパターンに対応する整列パターンの各長さに対応するパターンを、必要に応じて括弧で囲みながら、“｛ｐ｝”（ｍ≦ｐ≦ｎ）をそれぞれ後置したものを選択肢とする新たなパターンを、そのパターンに対応する長さのｐ倍の長さに対応してそれぞれもつ整列パターンとなる。ただしｐ＝０の場合は単に長さ０に対応して空文字列に対応するパターン（たとえば“（）”）をもたせる。またｐ＝１の場合は“｛１｝”の後置を省略できる。また長さ０に対応するパターンには“｛ｐ｝”を後置しなくてもよい。
【０１０５】
【数７】
2005063470.tif 000009
・パターンに“｛ｍ｝”、“｛ｍ，｝”、“＊”、“＋”、“？”が後置されたものは、それぞれそのパターンに“｛ｍ，ｍ｝”、“｛ｍ，∞｝”、“｛０，∞｝”、“｛１，∞｝”、“｛０，１｝”が後置されたものに対応する整列パターンとなる（ｍは０以上の整数）。
【０１０６】
【数８】
2005063470.tif 000010
【０１０７】
ただし、前記のような反復においてｎが非常に大きい、あるいは∞の場合、反復展開回数に上限を設け、それを超えるようなパターンの反復は、マッチする可能性がないものとして除外して、統合パターンが膨大なものとなることを防ぐことが考えられる。またそのような上限がない場合も、マッチする可能性のある文字列長に関して上限を設けて、それを超えるような反復展開を除去することも考えられる。これはパターンの連結を展開する場合なども同様である。
【０１０８】
不要語パターンおよび必要語パターンに関しては、キーワード候補の文字列全体に対してマッチングが行なわれるため、前記のようなパターン統合処理を行なわず、単に各パターンを選択肢とする統合パターンを出力するだけでもよい。
【０１０９】
このように実施の形態８によれば、テキストのタイプや分野、格納パターンの種別などに対応して各種パターン格納手段に格納された各種パターンの適用を、単一のパターン処理で実現することが可能である。さらにパターン統合手段による各パターンの統合においては、各パターンにマッチする可能性のある文字列のうち、最も先頭に近く最も長いものがマッチング結果となるよう、マッチングにおける（Ｃ２）の性質を考慮して統合パターンが構成されるため、各パターンの選択肢の記述においては（Ｃ２）の性質を考慮する必要がなくなり、より柔軟な記述が可能となる。
【０１１０】
実施の形態９
図１０は、この発明を実施するための実施の形態９によるキーワード抽出装置を説明するための図である。
【０１１１】
図１０において、図１〜９と同一の符号を付したものは、同一またはこれに相当するものである。
【０１１２】
図１０において品詞解析手段１３０は非キーワード候補除去手段７０から入力されたテキストに対し、単語もしくは形態素を抽出して品詞を解析する。入力テキストから単語もしくは形態素を抽出して品詞を解析する手段として、例えば日本文テキストなら形態素解析、英文テキストならPart-of-speech Taggingを用いることができる。
【０１１３】
キーワード候補集合生成手段５０は、品詞解析手段１３０の出力から、キーワード候補とすべき品詞シーケンスとしてあらかじめ定められたものに対応した単語もしくは形態素のシーケンスをキーワード候補とする。
【０１１４】
そのような品詞シーケンスの単純な例として、連続した名詞をキーワード候補とする場合、
「暗号装置を用いた」                                                    （３２）
というテキストを解析して、
「暗号＜名詞＞装置＜名詞＞を＜助詞＞用い＜動詞＞た＜助動詞＞」          （３３）
という結果が得られれば、
「暗号装置」                                                            （３４）
がキーワード候補となる。ただし（３３）では解析結果として各形態素の後に＜＞で品詞を示している。
【０１１５】
ここで（３４）のキーワード候補に対し、（２５）のような不要末尾パターンが用意されていれば、「装置」の部分が不要と判断され、
「暗号」                                                                （３５）
が最終的なキーワード候補となる。
【０１１６】
同様に英文テキストにおいても、たとえば
“A cipher device is used ...”                                        （３６）
というテキストを解析して、
“Ａ＜冠詞＞ cipher＜名詞＞ device＜名詞＞ is＜動詞＞ used＜動詞＞ ...”
（３７）
という結果が得られれば、“cipher device”がキーワード候補として生成される。
【０１１７】
ここで不要末尾パターンとしてたとえば
“ (device|method)(s|)$”                                              （３８）
が用意されていれば、
“cipher”                                                              （３９）
が最終的なキーワード候補となる。なお（３８）では、先頭に単語の区切りを示すスペースが入っているとともに、複数形にも対応したパターンが用いられていることに注意されたい。
【０１１８】
なおここで、キーワード候補とすべき品詞シーケンスとしてあらかじめ定められたものに対応した単語もしくは形態素のシーケンスを抽出する方法にはさまざまなものが考えられるが、１つの方法としてパターンを用いることが考えられる。
【０１１９】
品詞解析手段１３０の出力が、（３３）もしくは（３７）のように、単語もしくは形態素のあとに品詞を＜＞で示されたものがスペースで区切られて出力され、かつ各単語もしくは形態素が“＜”、“＞”の文字を含まない場合、たとえば連続した名詞を取り出すにはパターン処理手段２０を用いて、
“（［＾＜ ＞ ］＋＜名詞＞ ）＋”                                      （４０）
というパターンにマッチした部分を抽出した上で、＜＞で囲まれた品詞の部分を削除し、言語に応じて区切りのスペースを適宜削除すればよい。
【０１２０】
このように実施の形態９によれば、品詞解析を行なって得られたキーワード候補に対しても、パターンを用いた柔軟な不要文字列処理が可能である。
【図面の簡単な説明】
【０１２１】
【図１】実施の形態１のキーワード抽出装置を説明するための図である。
【図２】実施の形態２のキーワード抽出装置を説明するための図である。
【図３】実施の形態３のキーワード抽出装置を説明するための図である。
【図４】実施の形態４のキーワード抽出装置を説明するための図である。
【図５】実施の形態５のキーワード抽出装置を説明するための図である。
【図６】実施の形態６のキーワード抽出装置を説明するための図である。
【図７】実施の形態７のキーワード抽出装置を説明するための図である。
【図８】実施の形態７におけるパターン格納手段の組合せを説明するための図である。
【図９】実施の形態８のキーワード抽出装置を説明するための図である。
【図１０】実施の形態９のキーワード抽出装置を説明するための図である。
【図１１】従来のキーワード抽出装置を説明するための図である。
【図１】
2005063470.tif 000011
【図２】
2005063470.tif 000012
【図３】
2005063470.tif 000013
【図４】
2005063470.tif 000014
【図５】
2005063470.tif 000015
【図６】
2005063470.tif 000016
【図７】
2005063470.tif 000017
【図８】
2005063470.tif 000018
【図９】
2005063470.tif 000019
【図１０】
2005063470.tif 000020
【図１１】
2005063470.tif 000021