(57)【要約】【課題】テキスト解析に基づく効果的な単語抽出を実現する。【解決手段】テキスト解析による単語の抽出を行なう構成において、テキスト内から抽出される文字列に対応する分岐状態の評価値として例えば分岐数（パープレキシティ）を算出し、分岐数（パープレキシティ）をスコアとして設定し、スコアに基づいて単語であるか否かの判定を行なう。例えば、文字列の境界におけるパープレキシティを算出して、算出値に基づいて、文字列が単語であるか否かを決定する。本構成により、例えば形態素解析用の辞書等の辞書に登録されていない単語の抽出が可能となる。【選択図】図１
2008165675.tif 000002
【特許請求の範囲】
【請求項１】
テキストデータから予め定めた文字数以下の文字列の集合を抽出する文字列抽出部と、
テキストデータベース内のテキストを対象とした解析処理により、前記文字列抽出部の抽出した文字列を解析対象文字列として、該解析対象文字列の境界における出現文字列の分岐状態を表す評価値を算出する分岐状態評価値算出部と、
前記分岐状態評価値算出部の算出した評価値に基づいて解析対象文字列に対応するスコアを設定するスコア設定部と、
前記スコア設定部の設定したスコアに基づいて前記解析対象文字列が単語であるか否かを判定する単語判定部と、
を有することを特徴とする言語解析システム。
【請求項２】
前記分岐数算出部で算出される評価値は、
解析対象文字列の両端部のそれぞれ１文字以上における解析対象文字列の外方向の出現文字列の分岐状態を示す評価値と、
前記解析対象文字列に接する両端部のそれぞれ１文字以上における解析対象文字列方向の出現文字列の分岐状態を示す評価値と、
を算出する構成であり、
前記スコア設定部は、
前記分岐数算出部の算出した評価値に基づいてスコアを算出する構成であることを特徴とする請求項１に記載の言語解析システム。
【請求項３】
前記スコア設定部は、
解析対象文字列の両端部の１文字以上における解析対象文字列の外方向の出現文字列の分岐状態を示す評価値と、
前記解析対象文字列に接する両端部の１文字以上における解析対象文字列方向の出現文字列の分岐状態を示す評価値と、
のうちの最小値に基づいてスコアを算出する構成であることを特徴とする請求項２に記載の言語解析システム。
【請求項４】
前記言語解析システムは、さらに、
単語データベース内に登録された単語をｍ文字（ただしｍ≧１の予め定めた数）単位で分割する単語分割部と、
前記分岐状態評価値算出部は、前記単語分割部の分割したｍ文字単位の文字列に対応する解析対象文字列の境界における出現文字列の分岐状態を表す複数の評価値を算出し、
前記分岐状態評価値算出部の算出した複数の評価値から、ｍ文字単位の文字列端部の外部方向の出現文字列の分岐状態を示す評価値を除く複数の評価値の平均値を閾値として算出する閾値設定部を有し、
前記単語判定部は、
前記スコア設定部の設定したスコアと、前記閾値設定部の設定した閾値との比較を実行して、比較結果に応じて前記解析対象文字列が単語であるとの判定を行なう構成であることを特徴とする請求項１に記載の言語解析システム。
【請求項５】
前記言語解析システムは、さらに、
前記文字列抽出部の抽出した文字列の集合から、単語として成立しない文字列を削除するフィルタリング処理を実行する文字列フィルタ部を有し、
前記分岐状態評価値算出部は、
前記文字列フィルタ部におけるフィルタリング後の文字列を解析対象文字列として、該解析対象文字列の境界における出現文字列の分岐状態を表す評価値を算出する処理を実行する構成であることを特徴とする請求項１に記載の言語解析システム。
【請求項６】
前記言語解析システムは、さらに、
前記文字列抽出部の抽出した抽出文字列から、抽出文字列の先頭および末尾文字列を抽出する先頭末尾文字列抽出部を有し、
前記分岐状態評価値算出部は、
前記先頭末尾文字列抽出部の抽出した先頭末尾文字列に基づいて、前記解析対象文字列の境界における出現文字列の分岐状態を表す評価値の算出を実行する構成であることを特徴とする請求項１に記載の言語解析システム。
【請求項７】
前記言語解析システムは、さらに、
前記文字列抽出部の抽出した抽出文字列から、抽出文字列の部分文字列を抽出する部分文字列抽出部を有し、
前記分岐状態評価値算出部は、
前記部分文字列抽出部の抽出した部分文字列に基づいて、前記解析対象文字列の内部における出現文字列の分岐状態を表す評価値の算出を実行し、
前記単語判定部は、
前記スコア設定部の設定したスコアと、前記部分文字列抽出部の抽出した部分文字列に関する前記分岐状態評価値算出部が算出した評価値に基づいて設定した内部スコアとに基づいて前記解析対象文字列が単語であるか否かを判定する処理を実行する構成であることを特徴とする請求項１に記載の言語解析システム。
【請求項８】
前記言語解析システムは、
テキストデータベースに格納されたテキスト単位で単語抽出処理を実行する構成であることを特徴とする請求項１に記載の言語解析システム。
【請求項９】
前記分岐状態評価値算出部において算出される評価値が、解析対象文字列の境界における出現文字列の分岐数を表すパープレキシティであることを特徴とする請求項１〜８のいずれかに記載の言語解析システム。
【請求項１０】
言語解析システムによるテキスト解析に基づいて抽出された単語データを登録した辞書であり、
前記言語解析システムに、
テキストデータから予め定めた文字数以下の文字列の集合を抽出する文字列抽出部と、
テキストデータベース内のテキストを対象とした解析処理により、前記文字列抽出部の抽出した文字列を解析対象文字列として、該解析対象文字列の境界における出現文字列の分岐状態を表す評価値を算出する分岐状態評価値算出部と、
前記分岐状態評価値算出部の算出した評価値に基づいて解析対象文字列に対応するスコアを設定するスコア設定部と、
前記スコア設定部の設定したスコアに基づいて前記解析対象文字列が単語であるか否かを判定する単語判定部と、
を有し、
前記単語判定部において単語として判定された単語データを登録データとして有する辞書。
【請求項１１】
言語解析システムにおいて言語解析処理を実行する言語解析方法であり、
文字列抽出部が、テキストデータから予め定めた文字数以下の文字列の集合を抽出する文字列抽出ステップと、
分岐数算出部が、テキストデータベース内のテキストを対象とした解析処理により、前記文字列抽出ステップにおいて抽出した文字列を解析対象文字列として、該解析対象文字列の境界における出現文字列の分岐状態を表す評価値を算出する分岐状態評価値算出ステップと、
スコア設定部が、前記分岐状態評価値算出ステップで算出した評価値に基づいて解析対象文字列に対応するスコアを設定するスコア設定ステップと、
単語判定部が、前記スコア設定ステップで設定したスコアに基づいて前記解析対象文字列が単語であるか否かを判定する単語判定ステップと、
を有することを特徴とする言語解析方法。
【請求項１２】
言語解析システムにおいて言語解析処理を実行させるコンピュータ・プログラムであり、
文字列抽出部に、テキストデータから予め定めた文字数以下の文字列の集合を抽出させる文字列抽出ステップと、
分岐数算出部に、テキストデータベース内のテキストを対象とした解析処理により、前記文字列抽出ステップにおいて抽出した文字列を解析対象文字列として、該解析対象文字列の境界における出現文字列の分岐状態を表す評価値を算出させる分岐状態評価値算出ステップと、
スコア設定部に、前記分岐状態評価値算出ステップで算出した評価値に基づいて解析対象文字列に対応するスコアを設定させるスコア設定ステップと、
単語判定部に、前記スコア設定ステップで設定したスコアに基づいて前記解析対象文字列が単語であるか否かを判定させる単語判定ステップと、
を実行させることを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、言語解析システム、および言語解析方法、並びにコンピュータ・プログラムに関する。さらに詳細には、テキスト解析による用語の抽出を実行する言語解析システム、および言語解析方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【０００２】
例えばデータベース検索などにおいて適用する検索キーや、用語辞書の索引としてのインデックスの設定など、データ処理において適用する用語を自然言語の文書から抽出する処理は、様々なデータ処理分野において必要となる技術である。
【０００３】
様々なテキストデータの集合はコーパスと呼ばれる。コーパスに含まれる文書からの用語抽出、すなわち意味のある言語単位としての用語を抽出する研究は従来から行われている。例えば、［車が道路を走る］といったありふれた文書であれば、一般的な形態素解析システムを適用することで、［車］、［道路］、［走る］といった形態素を抽出することが可能である。形態素解析システムは、予め定めた形態素解析用の辞書を適用して、辞書登録語に基づいて意味的最小単位である形態素（ｍｏｒｐｈｅｍｅ）に分節して品詞の認定処理を行なうシステムとして知られている。
【０００４】
しかしながら、医療分野のように専門性の高い分野の専門用語を適切な形態素に区切ることは難しい。すなわち、医療分野などの専門性の高い分野で用いられる用語を網羅的に登録した辞書が少なく、辞書にのみ依存した言語解析を行っても、抽出されない専門用語が発生する。
【０００５】
テキストからの用語抽出処理を開示した従来技術しては、例えば以下のような従来技術がある。非特許文献１（Ｓｈｉｍｏｈａｔａ，  Ｓ．  Ｓｕｇｉｏ，  Ｔ．  Ｎａｇａｔａ，  Ｊ．  Ｒｅｔｒｉｅｖｉｎｇ  ｃｏｌｌｏｃａｔｉｏｎｓ  ｂｙ  ｃｏ−ｏｃｃｕｒｒｅｎｃｅｓ  ａｎｄ  ｗｏｒｄ  ｏｒｄｅｒ  ｃｏｎｓｔｒａｉｎｔｓ．  Ｐｒｏｃ．  ｏｆ  ＡＣＬ／ＥＡＣＬ−９７）には、大規模なテキストコーパスが与えられたときに、コロケーション（連語）を抽出する手法が開示されている。この非特許文献１では、コロケーション（連語）を抽出するにあたって、連語のコーパス内でのエントロピー（情報量）を計算し、両側の単語のエントロピーが設定した閾値を越える連語を抽出する構成である。
【０００６】
また、特許文献１（特開平９−１３８８０１）には、自然言語で記述されるテキストから、任意の連続文字列をその周辺文字を考慮して抽出する技術を開示している。テキスト中で連続文字列の周辺に現れる文字を抽出し、連続文字列と同時に出現する頻度が、予め設定されている閾値を超えるものは、連続文字列としてまとめて単語や慣用句として抽出する構成である。
【０００７】
また、非特許文献２（中川，森，湯本．出現頻度と連接頻度に基づく専門用語抽出．自然言語処理  Ｖｏｌ．１０  Ｎｏ．１，２００３年１月）は、専門分野コーパスから専門用語を自動抽出する手法を開示している。コーパスに対して形態素解析を行い、名詞を抽出する構成であり、単名詞もしくは複合名詞のコーパス内での出現頻度と構成する名詞に連接する名詞の頻度を用いてスコアを算出し、単名詞および複合名詞のランキングを行う構成である。
【０００８】
さらに、特許文献２（特開２００６−１３９６８６）は、高精度な未知語抽出を行う技術を開示している。テキストが与えられたときに、事前に用意されたテキスト集合内での文字列の統計量を用いてテキストの単語並びを求め文字列集合を抽出する処理と、形態素解析を行い形態素集合を得る処理との２つの処理を行う構成であり、これらの処理によって、得られた文字列のうち、得られた特定の品詞の形態素に含まれるものは除いて、統計量が一定以上のものを未知語として抽出する構成である。
【０００９】
さらに、特許文献３（特開２００６−３１２９５）には、単語分割済みの第１のテキスト集合と単語非分割の第２のテキスト集合から、単語のｎ−ｇｒａｍ確率を計算し、自然言語処理の精度を向上させる技術が開示されている。第１のテキスト集合から、隣り合う文字もしくは文字種が単語の境界になる確率を求め、第２のコーパスにおいて各文字間の間に分割確率を割り当て、第２のコーパスに対する自然言語処理の精度を向上させる構成である。
【特許文献１】特開平９−１３８８０１号公報
【特許文献２】特開２００６−１３９６８６号公報
【特許文献３】特開２００６−３１２９５号公報
【非特許文献１】Ｓｈｉｍｏｈａｔａ，  Ｓ．  Ｓｕｇｉｏ，  Ｔ．  Ｎａｇａｔａ，  Ｊ．  Ｒｅｔｒｉｅｖｉｎｇ  ｃｏｌｌｏｃａｔｉｏｎｓ  ｂｙ  ｃｏ−ｏｃｃｕｒｒｅｎｃｅｓ  ａｎｄ  ｗｏｒｄ  ｏｒｄｅｒ  ｃｏｎｓｔｒａｉｎｔｓ．  Ｐｒｏｃ．  ｏｆ  ＡＣＬ／ＥＡＣＬ−９７．
【非特許文献２】中川，森，湯本．出現頻度と連接頻度に基づく専門用語抽出．自然言語処理  Ｖｏｌ．１０  Ｎｏ．１，２００３年１月
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は、テキスト解析による用語の抽出を行なう構成において、例えば形態素解析用の辞書等の辞書に登録されていない用語についても抽出を行なうことを可能とする言語解析システム、および言語解析方法、並びにコンピュータ・プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の第１の側面は、
テキストデータから予め定めた文字数以下の文字列の集合を抽出する文字列抽出部と、
テキストデータベース内のテキストを対象とした解析処理により、前記文字列抽出部の抽出した文字列を解析対象文字列として、該解析対象文字列の境界における出現文字列の分岐状態を表す評価値を算出する分岐状態評価値算出部と、
前記分岐状態評価値算出部の算出した評価値に基づいて解析対象文字列に対応するスコアを設定するスコア設定部と、
前記スコア設定部の設定したスコアに基づいて前記解析対象文字列が単語であるか否かを判定する単語判定部と、
を有することを特徴とする言語解析システムにある。
【００１２】
さらに、本発明の言語解析システムの一実施態様において、前記分岐数算出部で算出される評価値は、解析対象文字列の両端部のそれぞれ１文字以上における解析対象文字列の外方向の出現文字列の分岐状態を示す評価値と、前記解析対象文字列に接する両端部のそれぞれ１文字以上における解析対象文字列方向の出現文字列の分岐状態を示す評価値とを算出する構成であり、前記スコア設定部は、前記分岐数算出部の算出した評価値に基づいてスコアを算出する構成であることを特徴とする。
【００１３】
さらに、本発明の言語解析システムの一実施態様において、前記スコア設定部は、解析対象文字列の両端部の１文字以上における解析対象文字列の外方向の出現文字列の分岐状態を示す評価値と、前記解析対象文字列に接する両端部の１文字以上における解析対象文字列方向の出現文字列の分岐状態を示す評価値とのうちの最小値に基づいてスコアを算出する構成であることを特徴とする。
【００１４】
さらに、本発明の言語解析システムの一実施態様において、前記言語解析システムは、さらに、単語データベース内に登録された単語をｍ文字（ただしｍ≧１の予め定めた数）単位で分割する単語分割部と、前記分岐状態評価値算出部は、前記単語分割部の分割したｍ文字単位の文字列に対応する解析対象文字列の境界における出現文字列の分岐状態を表す複数の評価値を算出し、前記分岐状態評価値算出部の算出した複数の評価値から、ｍ文字単位の文字列端部の外部方向の出現文字列の分岐状態を示す評価値を除く複数の評価値の平均値を閾値として算出する閾値設定部を有し、前記単語判定部は、前記スコア設定部の設定したスコアと、前記閾値設定部の設定した閾値との比較を実行して、比較結果に応じて前記解析対象文字列が単語であるとの判定を行なう構成であることを特徴とする。
【００１５】
さらに、本発明の言語解析システムの一実施態様において、前記言語解析システムは、さらに、前記文字列抽出部の抽出した文字列の集合から、単語として成立しない文字列を削除するフィルタリング処理を実行する文字列フィルタ部を有し、前記分岐状態評価値算出部は、前記文字列フィルタ部におけるフィルタリング後の文字列を解析対象文字列として、該解析対象文字列の境界における出現文字列の分岐状態を表す評価値を算出する処理を実行する構成であることを特徴とする。
【００１６】
さらに、本発明の言語解析システムの一実施態様において、前記言語解析システムは、さらに、前記文字列抽出部の抽出した抽出文字列から、抽出文字列の先頭および末尾文字列を抽出する先頭末尾文字列抽出部を有し、前記分岐状態評価値算出部は、前記先頭末尾文字列抽出部の抽出した先頭末尾文字列に基づいて、前記解析対象文字列の境界における出現文字列の分岐状態を表す評価値の算出を実行する構成であることを特徴とする。
【００１７】
さらに、本発明の言語解析システムの一実施態様において、前記言語解析システムは、さらに、前記文字列抽出部の抽出した抽出文字列から、抽出文字列の部分文字列を抽出する部分文字列抽出部を有し、前記分岐状態評価値算出部は、前記部分文字列抽出部の抽出した部分文字列に基づいて、前記解析対象文字列の内部における出現文字列の分岐状態を表す評価値の算出を実行し、前記単語判定部は、前記スコア設定部の設定したスコアと、前記部分文字列抽出部の抽出した部分文字列に関する前記分岐状態評価値算出部が算出した評価値に基づいて設定した内部スコアとに基づいて前記解析対象文字列が単語であるか否かを判定する処理を実行する構成であることを特徴とする。
【００１８】
さらに、本発明の言語解析システムの一実施態様において、前記言語解析システムは、テキストデータベースに格納されたテキスト単位で単語抽出処理を実行する構成であることを特徴とする。
【００１９】
さらに、本発明の言語解析システムの一実施態様において、前記分岐状態評価値算出部において算出される評価値が、解析対象文字列の境界における出現文字列の分岐数を表すパープレキシティであることを特徴とする。
【００２０】
さらに、本発明の第２の側面は、
言語解析システムによるテキスト解析に基づいて抽出された単語データを登録した辞書であり、
前記言語解析システムに、
テキストデータから予め定めた文字数以下の文字列の集合を抽出する文字列抽出部と、
テキストデータベース内のテキストを対象とした解析処理により、前記文字列抽出部の抽出した文字列を解析対象文字列として、該解析対象文字列の境界における出現文字列の分岐状態を表す評価値を算出する分岐状態評価値算出部と、
前記分岐状態評価値算出部の算出した評価値に基づいて解析対象文字列に対応するスコアを設定するスコア設定部と、
前記スコア設定部の設定したスコアに基づいて前記解析対象文字列が単語であるか否かを判定する単語判定部と、
を有し、
前記単語判定部において単語として判定された単語データを登録データとして有する辞書にある。
【００２１】
さらに、本発明の第３の側面は、
言語解析システムにおいて言語解析処理を実行する言語解析方法であり、
文字列抽出部が、テキストデータから予め定めた文字数以下の文字列の集合を抽出する文字列抽出ステップと、
分岐数算出部が、テキストデータベース内のテキストを対象とした解析処理により、前記文字列抽出ステップにおいて抽出した文字列を解析対象文字列として、該解析対象文字列の境界における出現文字列の分岐状態を表す評価値を算出する分岐状態評価値算出ステップと、
スコア設定部が、前記分岐状態評価値算出ステップで算出した評価値に基づいて解析対象文字列に対応するスコアを設定するスコア設定ステップと、
単語判定部が、前記スコア設定ステップで設定したスコアに基づいて前記解析対象文字列が単語であるか否かを判定する単語判定ステップと、
を有することを特徴とする言語解析方法にある。
【００２２】
さらに、本発明の第４の側面は、
言語解析システムにおいて言語解析処理を実行させるコンピュータ・プログラムであり、
文字列抽出部に、テキストデータから予め定めた文字数以下の文字列の集合を抽出させる文字列抽出ステップと、
分岐数算出部に、テキストデータベース内のテキストを対象とした解析処理により、前記文字列抽出ステップにおいて抽出した文字列を解析対象文字列として、該解析対象文字列の境界における出現文字列の分岐状態を表す評価値を算出させる分岐状態評価値算出ステップと、
スコア設定部に、前記分岐状態評価値算出ステップで算出した評価値に基づいて解析対象文字列に対応するスコアを設定させるスコア設定ステップと、
単語判定部に、前記スコア設定ステップで設定したスコアに基づいて前記解析対象文字列が単語であるか否かを判定させる単語判定ステップと、
を実行させることを特徴とするコンピュータ・プログラムにある。
【００２３】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００２４】
請求項１記載の発明によれば、辞書に登録された単語を用いて登録されていない単語を抽出する手法と比較して、出現頻度が少なくても単語としてより正当な文字列を抽出することができる。
請求項２記載の発明によれば、抽出される文字列の境界をより正確に判定できることから、単語としてより正当な文字列が抽出できる。
請求項３記載の発明によれば、さらに出現文字列の分岐状態の多様性が小さい境界が文字列の端部やこの端部に隣接している場合であっても、単語としてより正当な文字列を抽出することができる。
請求項４記載の発明によれば、所定文字数で分割された文字列に関する閾値がより妥当に設定されるようになる。
請求項５記載の発明によれば、不要な分岐状態の評価処理が低減される。
請求項６記載の発明によれば、文字列の抽出を、単語の区切り位置を判断するのに妥当性の高い、文字列の境界における分岐状態に基づいて評価することができる。
請求項７記載の発明によれば、文字列の抽出を、抽出文字列の部分文字列が内部に存在するかどうかに基づいて評価することができる。
請求項８記載の発明によれば、所定数の単語が登録された辞書と比べて、入手が容易で情報量も豊富なテキストを用いることができるので広い分野に適用可能で、また出現頻度の少ない単語としてより正当な文字列の抽出が可能となる。
請求項９記載の発明によれば、文字列抽出に関わる条件設定や調整が容易なシステムを提供できる。
請求項１０記載の発明によれば、これまで登録されていなかった文字列を辞書の登録語として利用できるようになる。
請求項１１記載の発明によれば、辞書に登録された単語を用いて登録されていない単語を抽出する手法と比較して、出現頻度が少なくても単語としてより正当な文字列を抽出することができる。
請求項１２記載の発明によれば、辞書に登録された単語を用いて登録されていない単語を抽出する手法と比較して、出現頻度が少なくても単語としてより正当な文字列を抽出することができるコンピュータ・プログラムを提供できる。
【発明を実施するための最良の形態】
【００２５】
以下、図面を参照しながら本発明の実施形態に係る言語解析システム、および言語解析方法、並びにコンピュータ・プログラムの詳細について説明する。
【００２６】
［実施例１］
図１を参照して、本発明の一実施形態に係る言語解析システムの構成および処理について説明する。図１に示すように本発明の一実施形態に係る言語解析システム１００は、テキスト入力部１０１、文字列抽出部１０２、文字列フィルタ部１０３、先頭・末尾文字列抽出部１０４、周辺文字列抽出部１０５、分岐数算出部１０６、単語分割部１０７、スコア設定部１０８、閾値設定部１０９、単語判定部１１０、さらにテキストデータベース１２１、単語データベース１２２を有する。
【００２７】
本実施例に係る言語解析システムは、解析対象とする文書テキストからの単語抽出処理を行なうシステムであり、辞書に登録されていない単語や、テキスト中での出現頻度の高くない単語を抽出することを可能とした構成を持つ。すなわち、単語抽出を行なう解析対象テキスト集合が与えられたときに、文字列を形態素解析の結果やテキスト集合内での出現頻度によらずに、未知語として抽出することを可能とする装置である。
【００２８】
一般的な単語抽出処理としては、例えば形態素解析により単語登録辞書（標準辞書）を参照して辞書に登録された単語をテキストから選択する処理がある。また、例えば医学分野など有効な専門領域辞書が利用できない場合は、専門領域のテキスト集合に頻出する単語を辞書登録データと同様の単語とみなして未知語を抽出するといった処理が行なわれることもある。しかし、このような構成では、辞書に登録されていない語や、テキスト集合内での出現頻度の小さい文字列を単語として抽出するのは困難である。
【００２９】
図１に示す本実施例に係る言語解析システム１００は、辞書の登録データに依存することなく、また、特定のテキスト集合内での出現頻度の小さい文字列であっても単語として抽出することを実現する。以下、図１に示す言語解析システム１００の処理の詳細について説明する。
【００３０】
まず、図１に示す言語解析システム１００において適用されるテキストデータベース１２１、単語データベース１２２の構成について図２を参照して説明する。テキストデータベース１２１は、図２（ａ）に示すように様々なテキストを格納したデータベースであり、各テキストには識別子としてのＩＤが設定されている。本実施例では、医療分野のテキストを集めたテキストデータベースを利用した例について説明する。
【００３１】
単語データベース１２２は、形態素解析の結果として得られる単語としての形態素を示す［表層］と、その単語［表層］の記録されたデータとしての辞書やテキストの［種類］とを対応付けたデータを登録しており各登録エントリには識別子としての［ＩＤ］が設定されている。
【００３２】
図１に示す本実施例に係る言語解析システムでは、単語抽出処理を行なう前の処理として閾値設定処理を実行する。以下、本実施例に係る言語解析システムにおいて実行する「閾値設定処理」と、「単語抽出処理」について、順次説明する。
【００３３】
［閾値設定処理］
図１に示す本実施例に係る言語解析システム１００を適用したテキストからの単語抽出処理に際しては、まず、単語データベース１２２に登録された単語に基づく閾値設定処理を実行する。この処理は、図１に示す言語解析システム１００の単語分割部１０７、分岐数算出部１０６、閾値設定部１０９の処理として実行される。本実施例における分岐状態の評価値としては、分岐数の指標であるパープレキシティを用いる。文字列のパープレキシティの計算方法は、例えば、北研二．確率的言語モデル．東京大学出版会，１９９９」等に詳細が記載されている。まず、この閾値設定処理について、図３に示すフローチャートを参照して説明する。
【００３４】
まず、単語分割部１０７はステップＳ１０１において、単語データベース１２２に登録された単語を、表層のｍ文字で分割し、「異なり文字列」の集合を抽出する。ｍは予め１〜３位の小さな値を設定しておく。図２（ｂ）に示す単語データベース内の登録データである、
［リンパ節］
［手関節骨折］
これらの［表層］データを対象とした単語分割処理について説明する。
【００３５】
ｍ＝１で異なり文字列集合を抽出すると、
［リンパ節］＝"リ"、"ン"、"パ"、"節" 
［手関節骨折］＝手"、"間"、"接"、"骨"、"折" 
これらの「異なり文字列」の集合が抽出される。
【００３６】
次のステップＳ１０２では、分岐数算出部（パープレキシティ算出部）１０６において、ステップＳ１０１で抽出した「異なり文字列」のパープレキシティを計算する。
【００３７】
文字列のパープレキシティは、ある文字列［Ｗ］に対して左右に出現する文字列のエントロピーの値に基づいて算出される。まず、以下のエントロピー算出式において、文字列［Ｗ］に対して左右に出現する文字列のエントロピーの値を求める。
【数１】
2008165675.tif 000003
【００３８】
上記式において、
ＷＬ：左側に現れる文字列集合
ＷＲ：右側に現れる文字列集合
ｎ：集合の文字列数
である。
上記式によって、以下のエントロピー値が算出される。
Ｈ（ＷＬ）：文字列［Ｗ］に対して左に出現する文字列のエントロピーの値、
Ｈ（ＷＲ）：文字列［Ｗ］に対して右に出現する文字列のエントロピーの値、
【００３９】
次に、文字列［Ｗ］のパープレキシティを以下の計算式によって算出する。
【数２】
2008165675.tif 000004
【００４０】
上記式において、
ＰＰ（ＷＬ）：文字列［Ｗ］に対する左の文字列のパープレキシティ、
ＰＰ（ＷＲ）：文字列［Ｗ］に対する右の文字列のパープレキシティ、
である。
【００４１】
パープレキシティは、ある文字列［Ｗ］に対して左右に出現する文字列の多様性を示す値である。パープレキシティは言語モデルにおける評価指標としてよく用いられており、本実施例では分岐数を示す指標として数２で定義されるパープレキシティを用いる。パープレキシティの値が高い場合は、ある文字列［Ｗ］に対して左右に出現する文字列が多様であることを示し、パープレキシティの値が低い場合は、ある文字列［Ｗ］に対して左右に出現する文字列が多様でない、すなわち限定されることを意味する。
【００４２】
次に、ステップＳ１０３において、閾値設定部１０９が閾値設定処理を実行する。ステップＳ１０２において計算されたパープレキシティの中で、単語の先頭の左側および末尾の右側にしか表れない文字列を除いた平均を取り、閾値［ｔ］として設定する。例えば、ｍ＝１で単語が"リンパ節"の場合、
"リ"、"ン"、"パ"の右側と、
"ン"、"パ"、"節"の左側、
これらの各パープレキシティの値のみを用いてパープレキシティ平均値を算出して、この算出したパープレキシティ平均値を閾値［ｔ］とする。"リ"の左側と"節"の右側のパープレキシティは平均の計算には利用しない。
なお、上述した閾値の計算方法は一例であり、その他の閾値算出手法を適用してもよい。例えば、平均の変わりに中点を用いてもよいし、また閾値を左右２つ別々に計算してもよい。
【００４３】
上述した処理によって閾値［ｔ］を算出して、この閾値［ｔ］を用いて、単語抽出処理が行われることになる。
【００４４】
［単語抽出処理］
次に、図１に示す言語解析システム１００において実行する単語抽出処理の詳細について、図４に示すフローチャートを参照して説明する。
【００４５】
まず、ステップＳ２０１において、単語の抽出処理対象としてのテキストがシステムのテキスト入力部１０１に入力される。例えば、本実施例では医学分野のある１つのテキスト「最新解剖学用語集」に含まれるテキストに対する処理例について説明する。
例えば、テキスト「最新解剖学用語集」には、各エントリが改行で区切られている以下のようなテキストが含まれる。
（テキスト例）
「翼口蓋神経節の副交感神経根
右肺の内側肺底枝（Ｂ７）
後側頭板間静脈
強膜静脈洞
・・・」
【００４６】
次に、ステップＳ２０２において、文字列抽出部１０２が、入力されたテキストを改行・句点等の区切り記号で分割し、分割された各テキストから取りえる全ての部分文字列を抽出する。このとき、重複は除く。また、抽出量を抑えるために部分文字列の最大長を設定してもよい。例えば、
"強膜静脈洞"
から最大長３で部分文字列を抽出すると以下のような抽出文字列が取得される。
｛強，膜，静，脈，洞，強膜，膜静，静脈，脈洞，強膜静，膜静脈，静脈洞｝
【００４７】
次に、ステップＳ２０３において、文字列フィルタリング部１０３において、文字列フィルタリング処理を実行する。ステップＳ２０２において抽出された文字列の内、特定の文字パターンを含むもの、特定の文字で始まるもの、特定の文字で終わるもの、単語データベース１２２に含まれるもの等を削除する。例えば、
（ａ）"が、を、する、と、に、または、による、の、される、のための、および、からの、における、との、への"を平仮名のまとまりとして含むもの、
（ｂ）"ぁぃぅぇぉっゃゅょァィゥェォヵヶッャュョんンー・＋−／％〜：；"のいずれかの文字で始まるもの、
（ｃ）"・，、〜"のいずれかの文字で終わるもの、
これらは基本的に日本語の単語にはなりえないので削除する。文字列フィルタリング部１０３は予め削除する文字列情報を登録情報として保持し、これらの登録情報を適用して文字列フィルタリングを実行する。
【００４８】
また、本実施例では、辞書に登録されていない単語の抽出処理を目的として実行しているので、文字列フィルタリング部１０３は、ステップＳ２０２において抽出された文字列の内、
（ｄ）既に辞書に登録されている単語、
についても削除する処理を実行する。
本処理例では、「最新解剖学用語集」のエントリや形態素解析の標準的な辞書として知られているＩＰＡ辞書（ｈｔｔｐ：／／ｃｈａｓｅｎ．ｎａｉｓｔ．ｊｐ／ｈｉｋｉ／ＣｈａＳｅｎ／）のエントリを予め単語データベース１２２に登録しておき、一致する文字列を削除する。
【００４９】
さらに、従来手法においては抽出されない単語の抽出のみを目的とする場合には、
（ｅ）従来手法において抽出可能な単語であると判定される文字列、
についての削除を行なう構成としてもよい。
例えば、テキストデータベース１２１に格納されたテキスト内での出現頻度の大きい文字列については、従来手法を適用した処理によっても抽出可能な単語であり、これらの単語に相当する文字列を削除してもよい。
なお、従来手法において抽出可能な単語であると判定される文字列についての削除は行わない構成としてもよい。この場合は、これらの文字列についても、本実施例に従った処理を適用して単語として抽出することができる。
【００５０】
ステップＳ２０３において、文字列フィルタリング部１０３は、このようなフィルタリング処理を実行する。本実施例では、ステップＳ２０２において抽出された文字列から、
（１）基本的に日本語の単語にはなりえない文字列（上記（ａ）〜（ｃ））、
（２）既に辞書に登録されている単語（上記（ｄ））、
（３）テキストデータベース１２１に格納されたテキスト内での出現頻度の大きい文字列（上記（ｅ））、
これらの文字列を削除する。このフィルタリング処理の結果として、例えば、ステップＳ２０２において抽出された文字列から、上記（１）〜（３）に該当する文字列が削除され、その他の文字列が解析対象文字列として選択されることになる。ここでは、「最新解剖学用語集から抽出された出現頻度５以下の部分文字列」を解析対象文字列集合とする。例えば、以下の文字列が抽出される。
（解析対象文字列集合）
ＢＩＯ
下腿骨
助骨部
中葉枝
【００５１】
次にステップＳ２０４で、ステップＳ２０３において選択された解析対象文字列集合から最初の文字列を解析対象文字列として取得し、ステップＳ２０５において、先頭・末尾文字列抽出部１０４が、対象文字列の先頭および末尾のｍ文字を抽出する。ｍは１以上の予め設定された値である。
例えば、ｍ＝１で、選択した解析対象文字列が"下腿骨"だとすれば、先頭の"下"と末尾の"骨"を抽出する。
【００５２】
次のステップＳ２０６は、周辺文字列取得部１０５の処理であり、テキストデータベース１２１に格納されたテキストデータを対象とした解析処理により、対象文字列の周辺に現れる、ｍ文字の周辺文字列の集合を抽出する。
例えば、テキストデータベース１２１に格納されている医療テキスト集合から、
文字列"下腿骨"の周辺文字列を抽出する。ｍ＝１とした設定では、文字列"下腿骨"の左側の１文字、右側の１文字をそれぞれ抽出する。その結果として、
左側の周辺文字列："・""、"
これらの２種類の周辺文字列が得られ、
右側の周辺文字列として、"に""折"
これらの２種類の周辺文字列が得られる。
【００５３】
上記の処理結果は、具体的には、テキストデータベース１２１に格納されている医療テキスト集合に、
（ａ）「・・大腿・下腿骨に広範・・・」
（ｂ）「・・象で、下腿骨折の影・・・」
これらの文書が検出された場合の結果である。すなわち、
上記（ａ）から「下腿骨」の左側の１文字「・」、右側の１文字「に」、
上記（ｂ）から「下腿骨」の左側の１文字「、」、右側の１文字「折」、
これらが周辺文字列として抽出される。
【００５４】
次のステップＳ２０７は、分岐数算出部（パープレキシティ算出部）１０６の処理であり、ステップＳ２０６の周辺文字列抽出処理において抽出された、解析対象文字列「下腿骨」を含む文書を構成する
解析対象文字列「下腿骨」の先頭・末尾文字列、および
解析対象文字列「下腿骨」の左右の周辺文字列
これらの文字列集合の、テキストデータベース１２１に格納されたテキストデータ内でのパープレキシティを計算する。すなわち、本処理例では、ステップＳ２０６における周辺文字列抽出処理において抽出された、解析対象文字列「下腿骨」を含む文書は、以下の２つである。
（ａ）「・・大腿・下腿骨に広範・・・」
（ｂ）「・・象で、下腿骨折の影・・・」
【００５５】
分岐数算出部（パープレキシティ算出部）１０６は、この２つの文書から、
解析対象文字列「下腿骨」の先頭・末尾文字列、および
解析対象文字列「下腿骨」の左右の周辺文字列
を選択して、それぞれのパープレキシティを算出する。具体的処理例について、図５、図６を参照して説明する。
【００５６】
図５に示すように、抽出文書、
（ａ）「・・大腿・下腿骨に広範・・・」
この文書から、
解析対象文字列「下腿骨」の先頭文字列［下］と、末尾文字列［骨］が選択され、
「下腿骨」の先頭文字列［下］の左側パープレキシティと、
「下腿骨」の末尾文字列［骨］の右側パープレキシティ、
これらを算出し、さらに、
「下腿骨」の左の周辺文字列［・］の右側パープレキシティと、
「下腿骨」の右の周辺文字列［に］の左側パープレキシティ、
これらを、テキストデータベース１２１に格納されたテキストを対象とした処理によって算出する。
【００５７】
パープレキシティは、先に［閾値設定処理］の説明の欄で説明したように、ある文字列［Ｗ］に対して左右に出現する文字列のエントロピーの値に基づいて算出され、文字列［Ｗ］に対して左右に出現する文字列の多様性を示す値であり、
ＰＰ（ＷＬ）：文字列［Ｗ］に対する左の文字列のパープレキシティ、
ＰＰ（ＷＲ）：文字列［Ｗ］に対する右の文字列のパープレキシティ、
である。
【００５８】
さらに、図６に示すように、もう１つの抽出文書、
（ｂ）「・・象で、下腿骨折の影・・・」
この文書についても同様に、パープレキシティ算出対象文字列を選択する。すでに、解析対象文字列「下腿骨」の先頭文字列［下］と、末尾文字列［骨］については選択済みであるので、
「下腿骨」の左の周辺文字列［、］の右側パープレキシティと、
「下腿骨」の右の周辺文字列［折］の左側パープレキシティ、
これらを、テキストデータベース１２１に格納されたテキストを対象とした処理によって算出する。
【００５９】
分岐数算出部（パープレキシティ算出部）１０６は、次の値を求める。
（１）解析対象文字列「下腿骨」の先頭文字列［下］の左側パープレキシティ
（２）解析対象文字列「下腿骨」の末尾文字列［骨］の右側パープレキシティ
（３）解析対象文字列「下腿骨」の左の周辺文字列［・］［、］の右側パープレキシティの平均値、
（４）解析対象文字列「下腿骨」の右の周辺文字列［に］［折］の左側パープレキシティの平均値、
これらの各値を算出する。
【００６０】
次のステップＳ２０８は、計算されたパープレキシティから対象文字列のスコアを設定する。例えば、
（１）解析対象文字列の先頭ｍ文字の左側のパープレキシティａ、
（２）解析対象文字列の末尾ｍ文字の右側のパープレキシティｂ、
（３）解析対象文字列の左側ｍ文字の周辺文字列の集合の右側のパープレキシティの平均値ｃ、
（４）解析対象文字列の右側ｍ文字の周辺文字列の集合の左側のパープレキシティ平均値ｄ、
の４つの値の最小値を対象文字列のスコアとして設定する。このように設定することで分岐数の小さい境界を有する文字列であっても抽出することができる。
なお、このスコアの設定方法は一例であり、この他の手法を用いる構成としてもよい。例えば、上記４つの値ａ〜ｄの平均をスコアとして用いる構成としてもよく、この場合には同程度の境界を有する文字列が単語として抽出されるために正確な単語が抽出されやすくなる。
【００６１】
上記４つのパープレキシティａ〜ｄは、テキストデータベース１２１内での文字列の境界面でのパープレキシティを表現しており、テキストデータベース１２１にある程度の量のテキストが存在すれば、ｍの値の小さいｍ文字の文字列の出現頻度に関してはほとんどの場合、十分信頼性を得られる程度の計算を行うことができる。このため、４つのパープレキシティａ〜ｄに関しては、対象文字列の出現頻度が小さい場合でも、ほとんどの場合に信頼性のある値が得られる。
【００６２】
次のステップＳ２０９の単語判定処理は、単語判定部１１０の処理である。単語判定部１１０は、解析対象文字列のスコアをスコア設定部１０９から受領して、閾値設定部１０９から閾値［ｔ］を受領する。閾値設定部１０９から受領する閾値［ｔ］は、先に図３のフローチャートを参照して説明した閾値設定処理において設定した閾値［ｔ］である。
【００６３】
単語判定部１１０は、スコア設定部１０９から受領した解析対象文字列のスコアが、閾値設定部１０９から受領する閾値ｔ以上であれば単語として認定する。すなわち、辞書登録のない未知語としての単語として認定する。例えば、
閾値ｔ＝１０．０
とした場合、上述した解析対象文字列「下腿骨」のテキストデータベース１２１を対象として実行したパープレキシティ算出に基づいて設定されたスコアが、
スコア＝３４．９５
とすると、
スコア：３４．９５≧１０．０（閾値）
上記式が成立するので、"下腿骨"を単語として認定する。
【００６４】
ステップＳ２１０では、未処理の解析対象文字列の有無を判定して、未処理の解析対象文字列がある場合は、次の解析対象文字列を選択して、ステップＳ２０５〜Ｓ２０９の処理を繰り返して実行し、その解析対象文字列の単語として認定するか否かを決定する。この処理をすべての解析対象文字列に対して実行し、未処理文字列が無くなった場合は処理を終了する。
【００６５】
なお、このようにして抽出された単語は、例えば形態素解析に適用する辞書データベースに登録するなどの利用が可能である。上述した処理例では医学分野の専門用語としての単語を抽出しているので、例えば医学分野の単語辞書や、形態素解析用の専門辞書の登録語として設定することができる。このようにして抽出した単語を登録した辞書を利用して形態素解析を行なうことで、従来の辞書では抽出できなかった単語の抽出が可能となる。また、上述の処理によって抽出された単語は、例えばデータ検索に利用する単語として利用することができる。このような処理によって医学分野の知識を持たないユーザであっても、上述した処理によって得られた医学用語である単語を利用した有効なデータ検索を行なうことが可能となる。こうして得られた辞書は、本方式で抽出された文字列のみを記憶装置に記憶させて他の辞書とは別個に管理されるデータベースとしてもよいし、先に述べたように他の辞書データベースに追加してもよい。また、その文字列が本方式により抽出されたことを示す情報や、さらにその文字列のスコアを文字列に紐付けして記憶させておくことも可能であり、その場合には抽出された文字列を言語処理に利用する場合に、これらの情報に基づいて文字列の使用、例えばその文字列の採否、表示態様の変更等、を制御することができる。
【００６６】
［本実施例による単語抽出処理の評価］
上述した本発明の一実施例に従った単語抽出処理の結果についての評価処理を実行したので、その結果について以下説明する。
（ａ）上述した実施例に従った処理を行った結果と、
（ｂ）先に説明した非特許文献１（Ｓｈｉｍｏｈａｔａ，  Ｓ．  Ｓｕｇｉｏ，  Ｔ．  Ｎａｇａｔａ，  Ｊ．  Ｒｅｔｒｉｅｖｉｎｇ  ｃｏｌｌｏｃａｔｉｏｎｓ  ｂｙ  ｃｏ−ｏｃｃｕｒｒｅｎｃｅｓ  ａｎｄ  ｗｏｒｄ  ｏｒｄｅｒ  ｃｏｎｓｔｒａｉｎｔｓ．  Ｐｒｏｃ．  ｏｆ  ＡＣＬ／ＥＡＣＬ−９７）に開示された単語抽出処理、すなわち、コロケーション（連語）を抽出するにあたって、連語のコーパス内でのエントロピー（情報量）を計算し、両側の単語のエントロピーが設定した閾値を越える連語を抽出する処理を実行した結果、
これらを比較した。
【００６７】
処理対象としたのは、
（１）「最新解剖学用語集」、
（２）「ＭＥＤＩＳ  標準病名マスター２．４．２」（ｈｔｔｐ：／／ｗｗｗ．ｍｅｄｉｓ．ｏｒ．ｊｐ／）
これらに含まれるテキストデータであり、これらのテキスト中の、約６５，０００件の実際の医療テキスト中での出現頻度が５以下の文字列に関して、
（ａ）上記実施例に従った処理を行い、スコア順に上位２００の文字列を抽出してＩＰＡ辞書に含まれるものを除いた結果Ａ、
（ｂ）上記先行技術（非特許文献１）に記載された方法を適用した処理によって抽出された文字列のスコア順に上位２００文字列を抽出してＩＰＡ辞書に含まれるものを除いた結果Ｂ、
これらの結果Ａと結果Ｂについて、単語として成立するものを専門家である医師が確認したところ、図７に示す評価結果が得られた。
【００６８】
図７（１）は、「最新解剖学用語集」に含まれるテキストデータに基づく本実施例と、従来手法各々の単語抽出処理結果の比較データであり、図７（２）は、「ＭＥＤＩＳ  標準病名マスター２．４．２」に含まれるテキストデータに基づく本実施例と、従来手法各々の単語抽出処理結果の比較データである。
【００６９】
「正答率」とは対象の文字列の内、単語として成立するものの割合である。ＲＲＳＵＭはＲｅｃｉｐｒｏｃａｌ  Ｒａｎｋ（正解となった順位の逆数）の和であり、ランキングを考慮した評価指標である。図７から明らかなように、「最新解剖学用語集」に対する処理においては、本実施例に従った処理が、従来手法に比較して、
正答率で１６．８％、
ＲＲＳＵＭで０．２９
これらの性能向上が見られ、
また、「標準病名マスター」に対する処理においては、本実施例に従った処理が、従来手法に比較して、
正答率で０．６％、
ＲＲＳＵＭで０．５２
これらの性能向上が得られ、本発明の有効性が確認できた。
【００７０】
［実施例２］
次に、本発明の言語解析システムの実施例２の処理について説明する。実施例２の言語解析システムの実行する処理フローを図８に示す。実施例２においてもシステム構成は、図１を参照して説明したシステム構成が適用される。本実施例では、テキストデータベース１２１に含まれるテキスト単位での処理を実行する処理例である。例えば、図２（ａ）を参照して説明したようにテキストデータベース１２１には、様々なテキストが識別子（ＩＤ）に対応付けられて格納されている。本実施例では、これらの識別子の設定された各テキスト単位で単語抽出処理を実行する。各テキスト単位で単語（例えば未知語）を取得することで、各テキストに対応する単語情報を得ることが可能となる。さらに各テキストからの抽出単語のスコア順ランキング処理などが可能となる。
【００７１】
図８に示すフローチャートを参照して本実施例の処理シーケンスを説明する。なお、図８に示す処理フロー中、ステップＳ３０２〜Ｓ３１１の処理は、先に図４を参照して説明した実施例１の処理フロー中のステップＳ２０１〜Ｓ２１０と同様の処理である。
【００７２】
本実施例では、まず、ステップＳ３０１において、テキストデータベース２１１から解析対象とする最初の１つのテキストを選択する。例えば、図２（ａ）に示す例では、例えば、解析対象テキストとして、最初の登録テキスト、すなわち、
ＩＤ１：両側肺野に優位な・・・
上記テキストを選択する。
【００７３】
次にステップＳ３０２において、選択テキストをシステムのテキスト入力部１０１に入力する。
次に、ステップＳ３０３において、文字列抽出部１０２が、入力されたテキストを改行・句点等の区切り記号で分割し、分割された各テキストから取りえる全ての部分文字列を抽出する。
次に、ステップＳ３０４において、文字列フィルタリング部１０３において、文字列フィルタリング処理を実行する。この処理は、先に実施例１において説明したように、
（１）基本的に日本語の単語にはなりえない文字列、
（２）既に辞書に登録されている単語、
（３）テキストデータベース１２１に格納されたテキスト内での出現頻度の大きい文字列、
これらの文字列を削除する処理として実行される。
【００７４】
次にステップＳ３０５で、ステップＳ３０４において選択された解析対象文字列集合から最初の文字列を解析対象文字列として取得し、ステップＳ３０６において、先頭・末尾文字列抽出部１０４が、対象文字列の先頭および末尾のｍ文字を抽出する。ｍは１以上の予め設定された値である。
【００７５】
次のステップＳ３０７は、周辺文字列取得部１０５の処理であり、テキストデータベース１２１に格納されたテキストデータを対象とした解析処理により、対象文字列の周辺に現れる、ｍ文字の周辺文字列の集合を抽出する。
次のステップＳ３０８は、分岐数算出部（パープレキシティ算出部）１０６の処理であり、ステップＳ３０７の周辺文字列抽出処理において抽出された、解析対象文字列を含む文書を構成する
解析対象文字列の先頭・末尾文字列、および
解析対象文字列の左右の周辺文字列、
これらの文字列集合の、テキストデータベース１２１に格納されたテキストデータ内でのパープレキシティを計算する。具体的には、
（１）解析対象文字列の先頭文字列の左側パープレキシティ
（２）解析対象文字列の末尾文字列の右側パープレキシティ
（３）解析対象文字列の左の周辺文字列の右側パープレキシティの平均値、
（４）解析対象文字列の右の周辺文字列の左側パープレキシティの平均値、
これらの各値を算出する。
【００７６】
次のステップＳ３０９は、スコア設定部１０８の処理である。スコア設定部１０８は、計算されたパープレキシティから対象文字列のスコアを設定する。例えば、
（１）解析対象文字列の先頭ｍ文字の左側のパープレキシティａ、
（２）解析対象文字列の末尾ｍ文字の右側のパープレキシティｂ、
（３）解析対象文字列の左側ｍ文字の周辺文字列の集合の右側のパープレキシティの平均値ｃ、
（４）解析対象文字列の右側ｍ文字の周辺文字列の集合の左側のパープレキシティ平均値ｄ、
これらの４つの値ａ〜ｄの最小値を対象文字列のスコアとして設定する。なお、先に図５、図６を参照して説明した処理例はｍ＝１の場合である。
【００７７】
次のステップＳ３１０の単語判定処理は、単語判定部１１０の処理である。単語判定部１１０は、解析対象文字列のスコアをスコア設定部１０９から受領して、閾値設定部１０９から閾値［ｔ］を受領する。閾値設定部１０９から受領する閾値［ｔ］は、先に図３のフローチャートを参照して説明した閾値設定処理において設定した閾値［ｔ］である。
【００７８】
単語判定部１１０は、スコア設定部１０９から受領した解析対象文字列のスコアが、閾値設定部１０９から受領する閾値ｔ以上であれば単語として認定する。すなわち、辞書登録のない未知語としての単語として認定する。
【００７９】
次に、ステップＳ３１１では、未処理の解析対象文字列の有無を判定して、未処理の解析対象文字列がある場合は、次の解析対象文字列を選択して、ステップＳ３０６〜Ｓ３１０の処理を繰り返して実行し、その解析対象文字列の単語として認定するか否かを決定する。この処理をすべての解析対象文字列に対して実行し、未処理文字列が無くなった場合は、ステップＳ３１２に進む。
【００８０】
ステップＳ３１２では、未処理の解析対象テキストがテキストデータベース１２１にあるか否かを判定し、未処理の解析対象テキストがテキストデータベース１２１にある場合は、次の解析対象テキストを選択して、ステップＳ３０２〜Ｓ３１１の処理を繰り返して実行する。この処理をすべての解析対象テキストに対して実行し、未処理テキストが無くなった場合は、処理を終了する。
【００８１】
本処理例では、テキストデータベース１２１に格納された識別子の設定された各テキスト単位で単語抽出処理を実行する。このように、各テキスト単位で単語（例えば未知語）を取得することで、各テキストに対応する単語情報を得ることが可能となる。さらに各テキストからの抽出単語のスコア順ランキング処理などが可能となる。
【００８２】
なお、本処理例においても、抽出された単語は、例えば専門分野の単語辞書や、形態素解析用の専門辞書の登録語として設定することができる。このようにして抽出した単語を登録した辞書を利用して形態素解析を行なうことで、従来の辞書では抽出できなかった単語の抽出が可能となり、また、抽出単語をデータ検索に利用する単語として利用することができる。このような処理によって専門分野の知識を持たないユーザであっても、上述した処理によって得られた専門用語である単語を利用した有効なデータ検索を行なうことが可能となる。
【００８３】
［実施例３］
次に、図９を参照して本発明の言語解析システムの実施例３について説明する。上述した実施例１，２では、例えば図１のシステム構成における先頭・末尾文字列抽出部１０４が、解析対象文字列を含む文書を構成する以下のデータ、すなわち、
解析対象文字列の先頭・末尾のｍ文字の文字列、および、
解析対象文字列の左右の周辺のｍ文字の文字列、
これらのｍ文字の文字列集合に対して、テキストデータベース１２１に格納されたテキストデータ内でのパープレキシティを計算する構成としていた。
【００８４】
すなわち、上述した実施例１，２では、
（１）解析対象文字列の先頭のｍ文字の文字列の左側パープレキシティ
（２）解析対象文字列の末尾のｍ文字の文字列の右側パープレキシティ
（３）解析対象文字列の左の周辺ｍ文字の文字列の右側パープレキシティの平均値、
（４）解析対象文字列の右の周辺ｍ文字の文字列の左側パープレキシティの平均値、
これらの各値を算出する構成としていた。
【００８５】
実施例３では、図１に示す先頭・末尾文字列抽出部１０４を図９に示すように部分文字列抽出部３０１に置きかえている。部分文字列抽出部３０１では、解析対象文字列の先頭、末尾の文字列のみならず、解析対象文字列を構成するｍ文字の部分文字列をすべて抽出して、抽出したｍ文字の部分文字列に対応するパープレキシティを算出する。
【００８６】
先の実施例１，２では、例えばｍ＝１とした場合、先頭・末尾文字列抽出部１０４が、対象文字列の先頭および末尾のｍ＝１文字を抽出し、解析対象文字列が"下腿骨"だとすれば、先頭の"下"と末尾の"骨"を抽出していた。
これに対して本実施例では、ｍ＝１とした場合、部分文字列抽出部３０１が、対象文字列のｍ＝１文字からなるすべての部分文字列を抽出する。解析対象文字列が"下腿骨"だとすれば、先頭の"下"と末尾の"骨"、さらに、中央の"腿"を抽出する。
【００８７】
分岐数算出部（パープレキシティ算出部）１０６では、部分文字列抽出部３０１が抽出した文字列に対応するパープレキシティを算出する。例えば、ｍ＝１で、解析対象文字列が"下腿骨"の場合、先に実施例１において図５、図６を参照して説明した解析対象文字列の境界におけるパープレキシティを算出するとともに、図１０に示すように、
（ａ）"下" の右側のパープレキシティ、
（ｂ）"腿"の右側および左側のパープレキシティ、
（ｃ）"骨"の左側のパープレキシティ、
これらのパープレキシティについても算出する。
【００８８】
さらに、内部スコア設定部３０２では、
（１）"下"と"腿"の右側のパープレキシティの平均、
（２）"腿"と"骨"の左側のパープレキシティの平均、
これらの平均値をそれぞれ計算し、これらの平均値の最大値を内部スコアとして設定する。
【００８９】
スコア設定部１０８では、先の実施例１と同様に、図５、図６を参照して説明した解析対象文字列の境界におけるパープレキシティ、すなわち、
（１）解析対象文字列の先頭ｍ文字の左側のパープレキシティａ、
（２）解析対象文字列の末尾ｍ文字の右側のパープレキシティｂ、
（３）解析対象文字列の左側ｍ文字の周辺文字列の集合の右側のパープレキシティの平均値ｃ、
（４）解析対象文字列の右側ｍ文字の周辺文字列の集合の左側のパープレキシティ平均値ｄ、
これらの４つの値ａ〜ｄの最小値を対象文字列の境界スコア［Ｓ］として設定する。なお、先に図５、図６を参照して説明した処理例はｍ＝１の場合である。
【００９０】
単語判定部１１０は、スコア設定部１０８で設定された境界スコア［Ｓ］と、内部スコア設定部３０２で設定された内部スコア［ＳＩＮ］を比較し、境界スコア［Ｓ］が内部スコア［ＳＩＮ］より大きい場合は、単語として認定する。すなわち、辞書登録のない未知語としての単語として認定する。
【００９１】
本構成によれば、解析対象文字列の部分文字列を抽出して内部スコア［ＳＩＮ］を計算し、境界面スコア［Ｓ］と比較することにより、対象文字列の特性をより強く反映した未知語の抽出が可能となる。
【００９２】
なお、本処理例においても、抽出された単語は、例えば専門分野の単語辞書や、形態素解析用の専門辞書の登録語として設定することができる。このようにして抽出した単語を登録した辞書を利用して形態素解析を行なうことで、従来の辞書では抽出できなかった単語の抽出が可能となり、また、抽出単語をデータ検索に利用する単語として利用することができる。このような処理によって専門分野の知識を持たないユーザであっても、上述した処理によって得られた専門用語である単語を利用した有効なデータ検索を行なうことが可能となる。
【００９３】
なお、上述の実施例では、部分文字列抽出部３０１の処理として、ｍ＝１として解析対象文字列を構成するｍ＝１文字の部分文字列をすべて抽出して、抽出したｍ＝１文字の部分文字列に対応するパープレキシティを算出する構成としたが、ｍは１以上の様々な値に設定することができる。例えば文字の種類（漢字、ひらがな、カタカナ、英数字など）に応じてｍの値を変更する構成とすることができる。このように、文字種によってｍの値を変更することにより、文字種による情報量の違いに対応できる。例えば、漢字ではｍ＝１、ひらがな・カタカナ・英数字ではｍ＝２にすることにより、漢字の情報量を平仮名・片仮名・英数字の２倍として扱うことができる。なお、解析対象文字列の先頭、末尾、左側、右側におけるそれぞれ抽出する文字数ｍを異ならせてもよい。ただし、これらの評価値を組みあせてスコアを設定する場合には、同じ文字数としないと条件の異なる評価値が組み合わされてしまうので、同じとすることが望ましい。
【００９４】
また、上述の実施例では、解析対象文字列の境界における出現文字列の分岐状態を表す評価値として、数２で示すパープレキシティ（平均分岐数）を用いる例を述べたが、出現文字列の多様性の評価値としては、たとえば、言語解析の評価指標として用いられている、エントロピー（数１）を用いることもでき、またシステムの動作に適するように、これらの数式を所定倍、規格化、所定の変換式を用いて演算することで、評価値として用いることもできる。あるいは対象文字列の前後での文字列の出現回数に基づく多様性の評価値を所定の演算式を施すことで求め、この演算結果を評価値として使用することもできる。ただし、パープレキシティは、多様性を示す値として言語処理の分野では慣用されていることから、エントロピーを指標として用いる場合に比べて、単語抽出する場合の条件設定や調整において妥当な設定を行いやすく、システムとして運用がしやすくなる。
【００９５】
最後に、上述した処理を実行する言語解析システムを構成する情報処理装置のハードウェア構成例について、図１１を参照して説明する。ＣＰＵ（Central Processing Unit）５０１は、ＯＳ（Operating System)に対応する処理や、上述の実施例において説明したパープレキシティ算出処理、スコア算出処理、単語抽出処理、抽出した単語を登録した辞書の生成処理、生成した辞書を適用した形態素解析処理などを実行する。これらの処理は、各情報処理装置のＲＯＭ、ハードディスクなどのデータ記憶部に格納されたコンピュータ・プログラムに従って実行される。
【００９６】
ＲＯＭ（Read Only Memory）５０２は、ＣＰＵ５０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Random Access Memory）５０３は、ＣＰＵ５０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバスなどから構成されるホストバス５０４により相互に接続されている。
【００９７】
ホストバス５０４は、ブリッジ５０５を介して、ＰＣＩ(Peripheral Component Interconnect/Interface)バスなどの外部バス５０６に接続されている。
【００９８】
キーボード５０８、ポインティングデバイス５０９は、ユーザにより操作される入力デバイスである。ディスプレイ５１０は、液晶表示装置またはＣＲＴ（Cathode Ray Tube）などから成り、各種情報をテキストやイメージで表示する。
【００９９】
ＨＤＤ（Hard Disk Drive）５１１は、ハードディスクを内蔵し、ハードディスクを駆動し、ＣＰＵ５０１によって実行するプログラムや情報を記録または再生させる。ハードディスクは、例えば上述の実施例において説明した単語抽出によって抽出された単語や、単語を登録した辞書、さらに、上述の実施例において適用するデータ処理プログラム、閾値、スコア等のパラメータや、各種コンピュータ・プログラムが格納される。
【０１００】
ドライブ５１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体５２１に記録されているデータまたはプログラムを読み出して、そのデータまたはプログラムを、インタフェース５０７、外部バス５０６、ブリッジ５０５、およびホストバス５０４を介して接続されているＲＡＭ５０３に供給する。
【０１０１】
接続ポート５１４は、外部接続機器５２２を接続するポートであり、ＵＳＢ，ＩＥＥＥ１３９４等の接続部を持つ。接続ポート５１４は、インタフェース５０７、および外部バス５０６、ブリッジ５０５、ホストバス５０４等を介してＣＰＵ５０１等に接続されている。通信部５１５は、ネットワークに接続され、各種データベースや他の情報処理装置との通信を実行する。
【０１０２】
なお、図１１に示す言語解析システムとしての情報処理装置のハードウェア構成例は、ＰＣを適用して構成した装置の一例であり、本発明の言語解析システムは、図１１に示す構成に限らず、上述した実施例において説明した処理を実行可能な構成であればよい。
【０１０３】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【０１０４】
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【０１０５】
例えば、プログラムは記録媒体としてのハードディスクやＲＯＭ（Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)，ＭＯ(Magneto optical)ディスク，ＤＶＤ(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【０１０６】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、ＬＡＮ(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１０７】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【図面の簡単な説明】
【０１０８】
【図１】本発明の一実施例に係る言語解析システムの構成例を示す図である。
【図２】本発明の一実施例に係る言語解析システムにおいて適用されるテキストデータベースと、単語データベースの構成例について説明する図である。
【図３】本発明の一実施例に係る言語解析システムにおいて実行する閾値設定処理のシーケンスを説明するフローチャートを示す図である。
【図４】本発明の一実施例に係る言語解析システムにおいて実行する単語抽出処理のシーケンスを説明するフローチャートを示す図である。
【図５】本発明の一実施例に係る言語解析システムにおいて実行するパープレキシティの算出処理例について説明する図である。
【図６】本発明の一実施例に係る言語解析システムにおいて実行するパープレキシティの算出処理例について説明する図である。
【図７】本発明の一実施例に係る言語解析システムにおいて実行された単語抽出結果の評価データについて説明する図である。
【図８】本発明の一実施例に係る言語解析システムにおいて実行する閾値設定処理のシーケンスを説明するフローチャートを示す図である。
【図９】本発明の一実施例に係る言語解析システムの構成例を示す図である。
【図１０】本発明の一実施例に係る言語解析システムにおいて実行するパープレキシティおよび内部スコアの算出処理例について説明する図である。
【図１１】本発明の一実施形態に係る言語解析システムのハードウェア構成例について説明する図である。
【符号の説明】
【０１０９】
１００  言語解析システム
１０１  テキスト入力部
１０２  文字列抽出部
１０３  文字列フィルタ部
１０４  先頭・末尾文字列抽出部
１０５  周辺文字列抽出部
１０６  分岐数算出部（パープレキシティ算出部）
１０７  単語分割部
１０８  スコア設定部
１０９  閾値設定部
１１０  単語判定部
１２１  テキストデータベース
１２２  単語データベース
３０１  部分文字列抽出部
３０２  内部スコア設定部
５０１  ＣＰＵ(Central Processing Unit)
５０２  ＲＯＭ（Read-Only-Memory）
５０３  ＲＡＭ（Random Access Memory）
５０４  ホストバス
５０５  ブリッジ
５０６  外部バス
５０７  インタフェース
５０８  キーボード
５０９  ポインティングデバイス
５１０  ディスプレイ
５１１  ＨＤＤ（Hard Disk Drive）
５１２  ドライブ
５１４  接続ポート
５１５  通信部
５２１  リムーバブル記録媒体
５２２  外部接続機器
【図１】
2008165675.tif 000005
【図２】
2008165675.tif 000006
【図３】
2008165675.tif 000007
【図４】
2008165675.tif 000008
【図５】
2008165675.tif 000009
【図６】
2008165675.tif 000010
【図７】
2008165675.tif 000011
【図８】
2008165675.tif 000012
【図９】
2008165675.tif 000013
【図１０】
2008165675.tif 000014
【図１１】
2008165675.tif 000015