説明

言語解析システム、および言語解析方法、並びにコンピュータ・プログラム

【課題】テキスト解析に基づく効果的な単語抽出を実現する。
【解決手段】テキスト解析による単語の抽出を行なう構成において、テキスト内から抽出される文字列に対応する分岐状態の評価値として例えば分岐数(パープレキシティ)を算出し、分岐数(パープレキシティ)をスコアとして設定し、スコアに基づいて単語であるか否かの判定を行なう。例えば、文字列の境界におけるパープレキシティを算出して、算出値に基づいて、文字列が単語であるか否かを決定する。本構成により、例えば形態素解析用の辞書等の辞書に登録されていない単語の抽出が可能となる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、言語解析システム、および言語解析方法、並びにコンピュータ・プログラムに関する。さらに詳細には、テキスト解析による用語の抽出を実行する言語解析システム、および言語解析方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【0002】
例えばデータベース検索などにおいて適用する検索キーや、用語辞書の索引としてのインデックスの設定など、データ処理において適用する用語を自然言語の文書から抽出する処理は、様々なデータ処理分野において必要となる技術である。
【0003】
様々なテキストデータの集合はコーパスと呼ばれる。コーパスに含まれる文書からの用語抽出、すなわち意味のある言語単位としての用語を抽出する研究は従来から行われている。例えば、[車が道路を走る]といったありふれた文書であれば、一般的な形態素解析システムを適用することで、[車]、[道路]、[走る]といった形態素を抽出することが可能である。形態素解析システムは、予め定めた形態素解析用の辞書を適用して、辞書登録語に基づいて意味的最小単位である形態素(morpheme)に分節して品詞の認定処理を行なうシステムとして知られている。
【0004】
しかしながら、医療分野のように専門性の高い分野の専門用語を適切な形態素に区切ることは難しい。すなわち、医療分野などの専門性の高い分野で用いられる用語を網羅的に登録した辞書が少なく、辞書にのみ依存した言語解析を行っても、抽出されない専門用語が発生する。
【0005】
テキストからの用語抽出処理を開示した従来技術しては、例えば以下のような従来技術がある。非特許文献1(Shimohata, S. Sugio, T. Nagata, J. Retrieving collocations by co−occurrences and word order constraints. Proc. of ACL/EACL−97)には、大規模なテキストコーパスが与えられたときに、コロケーション(連語)を抽出する手法が開示されている。この非特許文献1では、コロケーション(連語)を抽出するにあたって、連語のコーパス内でのエントロピー(情報量)を計算し、両側の単語のエントロピーが設定した閾値を越える連語を抽出する構成である。
【0006】
また、特許文献1(特開平9−138801)には、自然言語で記述されるテキストから、任意の連続文字列をその周辺文字を考慮して抽出する技術を開示している。テキスト中で連続文字列の周辺に現れる文字を抽出し、連続文字列と同時に出現する頻度が、予め設定されている閾値を超えるものは、連続文字列としてまとめて単語や慣用句として抽出する構成である。
【0007】
また、非特許文献2(中川,森,湯本.出現頻度と連接頻度に基づく専門用語抽出.自然言語処理 Vol.10 No.1,2003年1月)は、専門分野コーパスから専門用語を自動抽出する手法を開示している。コーパスに対して形態素解析を行い、名詞を抽出する構成であり、単名詞もしくは複合名詞のコーパス内での出現頻度と構成する名詞に連接する名詞の頻度を用いてスコアを算出し、単名詞および複合名詞のランキングを行う構成である。
【0008】
さらに、特許文献2(特開2006−139686)は、高精度な未知語抽出を行う技術を開示している。テキストが与えられたときに、事前に用意されたテキスト集合内での文字列の統計量を用いてテキストの単語並びを求め文字列集合を抽出する処理と、形態素解析を行い形態素集合を得る処理との2つの処理を行う構成であり、これらの処理によって、得られた文字列のうち、得られた特定の品詞の形態素に含まれるものは除いて、統計量が一定以上のものを未知語として抽出する構成である。
【0009】
さらに、特許文献3(特開2006−31295)には、単語分割済みの第1のテキスト集合と単語非分割の第2のテキスト集合から、単語のn−gram確率を計算し、自然言語処理の精度を向上させる技術が開示されている。第1のテキスト集合から、隣り合う文字もしくは文字種が単語の境界になる確率を求め、第2のコーパスにおいて各文字間の間に分割確率を割り当て、第2のコーパスに対する自然言語処理の精度を向上させる構成である。
【特許文献1】特開平9−138801号公報
【特許文献2】特開2006−139686号公報
【特許文献3】特開2006−31295号公報
【非特許文献1】Shimohata, S. Sugio, T. Nagata, J. Retrieving collocations by co−occurrences and word order constraints. Proc. of ACL/EACL−97.
【非特許文献2】中川,森,湯本.出現頻度と連接頻度に基づく専門用語抽出.自然言語処理 Vol.10 No.1,2003年1月
【発明の開示】
【発明が解決しようとする課題】
【0010】
本発明は、テキスト解析による用語の抽出を行なう構成において、例えば形態素解析用の辞書等の辞書に登録されていない用語についても抽出を行なうことを可能とする言語解析システム、および言語解析方法、並びにコンピュータ・プログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明の第1の側面は、
テキストデータから予め定めた文字数以下の文字列の集合を抽出する文字列抽出部と、
テキストデータベース内のテキストを対象とした解析処理により、前記文字列抽出部の抽出した文字列を解析対象文字列として、該解析対象文字列の境界における出現文字列の分岐状態を表す評価値を算出する分岐状態評価値算出部と、
前記分岐状態評価値算出部の算出した評価値に基づいて解析対象文字列に対応するスコアを設定するスコア設定部と、
前記スコア設定部の設定したスコアに基づいて前記解析対象文字列が単語であるか否かを判定する単語判定部と、
を有することを特徴とする言語解析システムにある。
【0012】
さらに、本発明の言語解析システムの一実施態様において、前記分岐数算出部で算出される評価値は、解析対象文字列の両端部のそれぞれ1文字以上における解析対象文字列の外方向の出現文字列の分岐状態を示す評価値と、前記解析対象文字列に接する両端部のそれぞれ1文字以上における解析対象文字列方向の出現文字列の分岐状態を示す評価値とを算出する構成であり、前記スコア設定部は、前記分岐数算出部の算出した評価値に基づいてスコアを算出する構成であることを特徴とする。
【0013】
さらに、本発明の言語解析システムの一実施態様において、前記スコア設定部は、解析対象文字列の両端部の1文字以上における解析対象文字列の外方向の出現文字列の分岐状態を示す評価値と、前記解析対象文字列に接する両端部の1文字以上における解析対象文字列方向の出現文字列の分岐状態を示す評価値とのうちの最小値に基づいてスコアを算出する構成であることを特徴とする。
【0014】
さらに、本発明の言語解析システムの一実施態様において、前記言語解析システムは、さらに、単語データベース内に登録された単語をm文字(ただしm≧1の予め定めた数)単位で分割する単語分割部と、前記分岐状態評価値算出部は、前記単語分割部の分割したm文字単位の文字列に対応する解析対象文字列の境界における出現文字列の分岐状態を表す複数の評価値を算出し、前記分岐状態評価値算出部の算出した複数の評価値から、m文字単位の文字列端部の外部方向の出現文字列の分岐状態を示す評価値を除く複数の評価値の平均値を閾値として算出する閾値設定部を有し、前記単語判定部は、前記スコア設定部の設定したスコアと、前記閾値設定部の設定した閾値との比較を実行して、比較結果に応じて前記解析対象文字列が単語であるとの判定を行なう構成であることを特徴とする。
【0015】
さらに、本発明の言語解析システムの一実施態様において、前記言語解析システムは、さらに、前記文字列抽出部の抽出した文字列の集合から、単語として成立しない文字列を削除するフィルタリング処理を実行する文字列フィルタ部を有し、前記分岐状態評価値算出部は、前記文字列フィルタ部におけるフィルタリング後の文字列を解析対象文字列として、該解析対象文字列の境界における出現文字列の分岐状態を表す評価値を算出する処理を実行する構成であることを特徴とする。
【0016】
さらに、本発明の言語解析システムの一実施態様において、前記言語解析システムは、さらに、前記文字列抽出部の抽出した抽出文字列から、抽出文字列の先頭および末尾文字列を抽出する先頭末尾文字列抽出部を有し、前記分岐状態評価値算出部は、前記先頭末尾文字列抽出部の抽出した先頭末尾文字列に基づいて、前記解析対象文字列の境界における出現文字列の分岐状態を表す評価値の算出を実行する構成であることを特徴とする。
【0017】
さらに、本発明の言語解析システムの一実施態様において、前記言語解析システムは、さらに、前記文字列抽出部の抽出した抽出文字列から、抽出文字列の部分文字列を抽出する部分文字列抽出部を有し、前記分岐状態評価値算出部は、前記部分文字列抽出部の抽出した部分文字列に基づいて、前記解析対象文字列の内部における出現文字列の分岐状態を表す評価値の算出を実行し、前記単語判定部は、前記スコア設定部の設定したスコアと、前記部分文字列抽出部の抽出した部分文字列に関する前記分岐状態評価値算出部が算出した評価値に基づいて設定した内部スコアとに基づいて前記解析対象文字列が単語であるか否かを判定する処理を実行する構成であることを特徴とする。
【0018】
さらに、本発明の言語解析システムの一実施態様において、前記言語解析システムは、テキストデータベースに格納されたテキスト単位で単語抽出処理を実行する構成であることを特徴とする。
【0019】
さらに、本発明の言語解析システムの一実施態様において、前記分岐状態評価値算出部において算出される評価値が、解析対象文字列の境界における出現文字列の分岐数を表すパープレキシティであることを特徴とする。
【0020】
さらに、本発明の第2の側面は、
言語解析システムによるテキスト解析に基づいて抽出された単語データを登録した辞書であり、
前記言語解析システムに、
テキストデータから予め定めた文字数以下の文字列の集合を抽出する文字列抽出部と、
テキストデータベース内のテキストを対象とした解析処理により、前記文字列抽出部の抽出した文字列を解析対象文字列として、該解析対象文字列の境界における出現文字列の分岐状態を表す評価値を算出する分岐状態評価値算出部と、
前記分岐状態評価値算出部の算出した評価値に基づいて解析対象文字列に対応するスコアを設定するスコア設定部と、
前記スコア設定部の設定したスコアに基づいて前記解析対象文字列が単語であるか否かを判定する単語判定部と、
を有し、
前記単語判定部において単語として判定された単語データを登録データとして有する辞書にある。
【0021】
さらに、本発明の第3の側面は、
言語解析システムにおいて言語解析処理を実行する言語解析方法であり、
文字列抽出部が、テキストデータから予め定めた文字数以下の文字列の集合を抽出する文字列抽出ステップと、
分岐数算出部が、テキストデータベース内のテキストを対象とした解析処理により、前記文字列抽出ステップにおいて抽出した文字列を解析対象文字列として、該解析対象文字列の境界における出現文字列の分岐状態を表す評価値を算出する分岐状態評価値算出ステップと、
スコア設定部が、前記分岐状態評価値算出ステップで算出した評価値に基づいて解析対象文字列に対応するスコアを設定するスコア設定ステップと、
単語判定部が、前記スコア設定ステップで設定したスコアに基づいて前記解析対象文字列が単語であるか否かを判定する単語判定ステップと、
を有することを特徴とする言語解析方法にある。
【0022】
さらに、本発明の第4の側面は、
言語解析システムにおいて言語解析処理を実行させるコンピュータ・プログラムであり、
文字列抽出部に、テキストデータから予め定めた文字数以下の文字列の集合を抽出させる文字列抽出ステップと、
分岐数算出部に、テキストデータベース内のテキストを対象とした解析処理により、前記文字列抽出ステップにおいて抽出した文字列を解析対象文字列として、該解析対象文字列の境界における出現文字列の分岐状態を表す評価値を算出させる分岐状態評価値算出ステップと、
スコア設定部に、前記分岐状態評価値算出ステップで算出した評価値に基づいて解析対象文字列に対応するスコアを設定させるスコア設定ステップと、
単語判定部に、前記スコア設定ステップで設定したスコアに基づいて前記解析対象文字列が単語であるか否かを判定させる単語判定ステップと、
を実行させることを特徴とするコンピュータ・プログラムにある。
【0023】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【0024】
請求項1記載の発明によれば、辞書に登録された単語を用いて登録されていない単語を抽出する手法と比較して、出現頻度が少なくても単語としてより正当な文字列を抽出することができる。
請求項2記載の発明によれば、抽出される文字列の境界をより正確に判定できることから、単語としてより正当な文字列が抽出できる。
請求項3記載の発明によれば、さらに出現文字列の分岐状態の多様性が小さい境界が文字列の端部やこの端部に隣接している場合であっても、単語としてより正当な文字列を抽出することができる。
請求項4記載の発明によれば、所定文字数で分割された文字列に関する閾値がより妥当に設定されるようになる。
請求項5記載の発明によれば、不要な分岐状態の評価処理が低減される。
請求項6記載の発明によれば、文字列の抽出を、単語の区切り位置を判断するのに妥当性の高い、文字列の境界における分岐状態に基づいて評価することができる。
請求項7記載の発明によれば、文字列の抽出を、抽出文字列の部分文字列が内部に存在するかどうかに基づいて評価することができる。
請求項8記載の発明によれば、所定数の単語が登録された辞書と比べて、入手が容易で情報量も豊富なテキストを用いることができるので広い分野に適用可能で、また出現頻度の少ない単語としてより正当な文字列の抽出が可能となる。
請求項9記載の発明によれば、文字列抽出に関わる条件設定や調整が容易なシステムを提供できる。
請求項10記載の発明によれば、これまで登録されていなかった文字列を辞書の登録語として利用できるようになる。
請求項11記載の発明によれば、辞書に登録された単語を用いて登録されていない単語を抽出する手法と比較して、出現頻度が少なくても単語としてより正当な文字列を抽出することができる。
請求項12記載の発明によれば、辞書に登録された単語を用いて登録されていない単語を抽出する手法と比較して、出現頻度が少なくても単語としてより正当な文字列を抽出することができるコンピュータ・プログラムを提供できる。
【発明を実施するための最良の形態】
【0025】
以下、図面を参照しながら本発明の実施形態に係る言語解析システム、および言語解析方法、並びにコンピュータ・プログラムの詳細について説明する。
【0026】
[実施例1]
図1を参照して、本発明の一実施形態に係る言語解析システムの構成および処理について説明する。図1に示すように本発明の一実施形態に係る言語解析システム100は、テキスト入力部101、文字列抽出部102、文字列フィルタ部103、先頭・末尾文字列抽出部104、周辺文字列抽出部105、分岐数算出部106、単語分割部107、スコア設定部108、閾値設定部109、単語判定部110、さらにテキストデータベース121、単語データベース122を有する。
【0027】
本実施例に係る言語解析システムは、解析対象とする文書テキストからの単語抽出処理を行なうシステムであり、辞書に登録されていない単語や、テキスト中での出現頻度の高くない単語を抽出することを可能とした構成を持つ。すなわち、単語抽出を行なう解析対象テキスト集合が与えられたときに、文字列を形態素解析の結果やテキスト集合内での出現頻度によらずに、未知語として抽出することを可能とする装置である。
【0028】
一般的な単語抽出処理としては、例えば形態素解析により単語登録辞書(標準辞書)を参照して辞書に登録された単語をテキストから選択する処理がある。また、例えば医学分野など有効な専門領域辞書が利用できない場合は、専門領域のテキスト集合に頻出する単語を辞書登録データと同様の単語とみなして未知語を抽出するといった処理が行なわれることもある。しかし、このような構成では、辞書に登録されていない語や、テキスト集合内での出現頻度の小さい文字列を単語として抽出するのは困難である。
【0029】
図1に示す本実施例に係る言語解析システム100は、辞書の登録データに依存することなく、また、特定のテキスト集合内での出現頻度の小さい文字列であっても単語として抽出することを実現する。以下、図1に示す言語解析システム100の処理の詳細について説明する。
【0030】
まず、図1に示す言語解析システム100において適用されるテキストデータベース121、単語データベース122の構成について図2を参照して説明する。テキストデータベース121は、図2(a)に示すように様々なテキストを格納したデータベースであり、各テキストには識別子としてのIDが設定されている。本実施例では、医療分野のテキストを集めたテキストデータベースを利用した例について説明する。
【0031】
単語データベース122は、形態素解析の結果として得られる単語としての形態素を示す[表層]と、その単語[表層]の記録されたデータとしての辞書やテキストの[種類]とを対応付けたデータを登録しており各登録エントリには識別子としての[ID]が設定されている。
【0032】
図1に示す本実施例に係る言語解析システムでは、単語抽出処理を行なう前の処理として閾値設定処理を実行する。以下、本実施例に係る言語解析システムにおいて実行する「閾値設定処理」と、「単語抽出処理」について、順次説明する。
【0033】
[閾値設定処理]
図1に示す本実施例に係る言語解析システム100を適用したテキストからの単語抽出処理に際しては、まず、単語データベース122に登録された単語に基づく閾値設定処理を実行する。この処理は、図1に示す言語解析システム100の単語分割部107、分岐数算出部106、閾値設定部109の処理として実行される。本実施例における分岐状態の評価値としては、分岐数の指標であるパープレキシティを用いる。文字列のパープレキシティの計算方法は、例えば、北研二.確率的言語モデル.東京大学出版会,1999」等に詳細が記載されている。まず、この閾値設定処理について、図3に示すフローチャートを参照して説明する。
【0034】
まず、単語分割部107はステップS101において、単語データベース122に登録された単語を、表層のm文字で分割し、「異なり文字列」の集合を抽出する。mは予め1〜3位の小さな値を設定しておく。図2(b)に示す単語データベース内の登録データである、
[リンパ節]
[手関節骨折]
これらの[表層]データを対象とした単語分割処理について説明する。
【0035】
m=1で異なり文字列集合を抽出すると、
[リンパ節]="リ"、"ン"、"パ"、"節"
[手関節骨折]=手"、"間"、"接"、"骨"、"折"
これらの「異なり文字列」の集合が抽出される。
【0036】
次のステップS102では、分岐数算出部(パープレキシティ算出部)106において、ステップS101で抽出した「異なり文字列」のパープレキシティを計算する。
【0037】
文字列のパープレキシティは、ある文字列[W]に対して左右に出現する文字列のエントロピーの値に基づいて算出される。まず、以下のエントロピー算出式において、文字列[W]に対して左右に出現する文字列のエントロピーの値を求める。
【数1】

【0038】
上記式において、
:左側に現れる文字列集合
:右側に現れる文字列集合
n:集合の文字列数
である。
上記式によって、以下のエントロピー値が算出される。
H(W):文字列[W]に対して左に出現する文字列のエントロピーの値、
H(W):文字列[W]に対して右に出現する文字列のエントロピーの値、
【0039】
次に、文字列[W]のパープレキシティを以下の計算式によって算出する。
【数2】

【0040】
上記式において、
PP(W):文字列[W]に対する左の文字列のパープレキシティ、
PP(W):文字列[W]に対する右の文字列のパープレキシティ、
である。
【0041】
パープレキシティは、ある文字列[W]に対して左右に出現する文字列の多様性を示す値である。パープレキシティは言語モデルにおける評価指標としてよく用いられており、本実施例では分岐数を示す指標として数2で定義されるパープレキシティを用いる。パープレキシティの値が高い場合は、ある文字列[W]に対して左右に出現する文字列が多様であることを示し、パープレキシティの値が低い場合は、ある文字列[W]に対して左右に出現する文字列が多様でない、すなわち限定されることを意味する。
【0042】
次に、ステップS103において、閾値設定部109が閾値設定処理を実行する。ステップS102において計算されたパープレキシティの中で、単語の先頭の左側および末尾の右側にしか表れない文字列を除いた平均を取り、閾値[t]として設定する。例えば、m=1で単語が"リンパ節"の場合、
"リ"、"ン"、"パ"の右側と、
"ン"、"パ"、"節"の左側、
これらの各パープレキシティの値のみを用いてパープレキシティ平均値を算出して、この算出したパープレキシティ平均値を閾値[t]とする。"リ"の左側と"節"の右側のパープレキシティは平均の計算には利用しない。
なお、上述した閾値の計算方法は一例であり、その他の閾値算出手法を適用してもよい。例えば、平均の変わりに中点を用いてもよいし、また閾値を左右2つ別々に計算してもよい。
【0043】
上述した処理によって閾値[t]を算出して、この閾値[t]を用いて、単語抽出処理が行われることになる。
【0044】
[単語抽出処理]
次に、図1に示す言語解析システム100において実行する単語抽出処理の詳細について、図4に示すフローチャートを参照して説明する。
【0045】
まず、ステップS201において、単語の抽出処理対象としてのテキストがシステムのテキスト入力部101に入力される。例えば、本実施例では医学分野のある1つのテキスト「最新解剖学用語集」に含まれるテキストに対する処理例について説明する。
例えば、テキスト「最新解剖学用語集」には、各エントリが改行で区切られている以下のようなテキストが含まれる。
(テキスト例)
「翼口蓋神経節の副交感神経根
右肺の内側肺底枝(B7)
後側頭板間静脈
強膜静脈洞
・・・」
【0046】
次に、ステップS202において、文字列抽出部102が、入力されたテキストを改行・句点等の区切り記号で分割し、分割された各テキストから取りえる全ての部分文字列を抽出する。このとき、重複は除く。また、抽出量を抑えるために部分文字列の最大長を設定してもよい。例えば、
"強膜静脈洞"
から最大長3で部分文字列を抽出すると以下のような抽出文字列が取得される。
{強,膜,静,脈,洞,強膜,膜静,静脈,脈洞,強膜静,膜静脈,静脈洞}
【0047】
次に、ステップS203において、文字列フィルタリング部103において、文字列フィルタリング処理を実行する。ステップS202において抽出された文字列の内、特定の文字パターンを含むもの、特定の文字で始まるもの、特定の文字で終わるもの、単語データベース122に含まれるもの等を削除する。例えば、
(a)"が、を、する、と、に、または、による、の、される、のための、および、からの、における、との、への"を平仮名のまとまりとして含むもの、
(b)"ぁぃぅぇぉっゃゅょァィゥェォヵヶッャュョんンー・+−/%〜:;"のいずれかの文字で始まるもの、
(c)"・,、〜"のいずれかの文字で終わるもの、
これらは基本的に日本語の単語にはなりえないので削除する。文字列フィルタリング部103は予め削除する文字列情報を登録情報として保持し、これらの登録情報を適用して文字列フィルタリングを実行する。
【0048】
また、本実施例では、辞書に登録されていない単語の抽出処理を目的として実行しているので、文字列フィルタリング部103は、ステップS202において抽出された文字列の内、
(d)既に辞書に登録されている単語、
についても削除する処理を実行する。
本処理例では、「最新解剖学用語集」のエントリや形態素解析の標準的な辞書として知られているIPA辞書(http://chasen.naist.jp/hiki/ChaSen/)のエントリを予め単語データベース122に登録しておき、一致する文字列を削除する。
【0049】
さらに、従来手法においては抽出されない単語の抽出のみを目的とする場合には、
(e)従来手法において抽出可能な単語であると判定される文字列、
についての削除を行なう構成としてもよい。
例えば、テキストデータベース121に格納されたテキスト内での出現頻度の大きい文字列については、従来手法を適用した処理によっても抽出可能な単語であり、これらの単語に相当する文字列を削除してもよい。
なお、従来手法において抽出可能な単語であると判定される文字列についての削除は行わない構成としてもよい。この場合は、これらの文字列についても、本実施例に従った処理を適用して単語として抽出することができる。
【0050】
ステップS203において、文字列フィルタリング部103は、このようなフィルタリング処理を実行する。本実施例では、ステップS202において抽出された文字列から、
(1)基本的に日本語の単語にはなりえない文字列(上記(a)〜(c))、
(2)既に辞書に登録されている単語(上記(d))、
(3)テキストデータベース121に格納されたテキスト内での出現頻度の大きい文字列(上記(e))、
これらの文字列を削除する。このフィルタリング処理の結果として、例えば、ステップS202において抽出された文字列から、上記(1)〜(3)に該当する文字列が削除され、その他の文字列が解析対象文字列として選択されることになる。ここでは、「最新解剖学用語集から抽出された出現頻度5以下の部分文字列」を解析対象文字列集合とする。例えば、以下の文字列が抽出される。
(解析対象文字列集合)
BIO
下腿骨
助骨部
中葉枝
【0051】
次にステップS204で、ステップS203において選択された解析対象文字列集合から最初の文字列を解析対象文字列として取得し、ステップS205において、先頭・末尾文字列抽出部104が、対象文字列の先頭および末尾のm文字を抽出する。mは1以上の予め設定された値である。
例えば、m=1で、選択した解析対象文字列が"下腿骨"だとすれば、先頭の"下"と末尾の"骨"を抽出する。
【0052】
次のステップS206は、周辺文字列取得部105の処理であり、テキストデータベース121に格納されたテキストデータを対象とした解析処理により、対象文字列の周辺に現れる、m文字の周辺文字列の集合を抽出する。
例えば、テキストデータベース121に格納されている医療テキスト集合から、
文字列"下腿骨"の周辺文字列を抽出する。m=1とした設定では、文字列"下腿骨"の左側の1文字、右側の1文字をそれぞれ抽出する。その結果として、
左側の周辺文字列:"・""、"
これらの2種類の周辺文字列が得られ、
右側の周辺文字列として、"に""折"
これらの2種類の周辺文字列が得られる。
【0053】
上記の処理結果は、具体的には、テキストデータベース121に格納されている医療テキスト集合に、
(a)「・・大腿・下腿骨に広範・・・」
(b)「・・象で、下腿骨折の影・・・」
これらの文書が検出された場合の結果である。すなわち、
上記(a)から「下腿骨」の左側の1文字「・」、右側の1文字「に」、
上記(b)から「下腿骨」の左側の1文字「、」、右側の1文字「折」、
これらが周辺文字列として抽出される。
【0054】
次のステップS207は、分岐数算出部(パープレキシティ算出部)106の処理であり、ステップS206の周辺文字列抽出処理において抽出された、解析対象文字列「下腿骨」を含む文書を構成する
解析対象文字列「下腿骨」の先頭・末尾文字列、および
解析対象文字列「下腿骨」の左右の周辺文字列
これらの文字列集合の、テキストデータベース121に格納されたテキストデータ内でのパープレキシティを計算する。すなわち、本処理例では、ステップS206における周辺文字列抽出処理において抽出された、解析対象文字列「下腿骨」を含む文書は、以下の2つである。
(a)「・・大腿・下腿骨に広範・・・」
(b)「・・象で、下腿骨折の影・・・」
【0055】
分岐数算出部(パープレキシティ算出部)106は、この2つの文書から、
解析対象文字列「下腿骨」の先頭・末尾文字列、および
解析対象文字列「下腿骨」の左右の周辺文字列
を選択して、それぞれのパープレキシティを算出する。具体的処理例について、図5、図6を参照して説明する。
【0056】
図5に示すように、抽出文書、
(a)「・・大腿・下腿骨に広範・・・」
この文書から、
解析対象文字列「下腿骨」の先頭文字列[下]と、末尾文字列[骨]が選択され、
「下腿骨」の先頭文字列[下]の左側パープレキシティと、
「下腿骨」の末尾文字列[骨]の右側パープレキシティ、
これらを算出し、さらに、
「下腿骨」の左の周辺文字列[・]の右側パープレキシティと、
「下腿骨」の右の周辺文字列[に]の左側パープレキシティ、
これらを、テキストデータベース121に格納されたテキストを対象とした処理によって算出する。
【0057】
パープレキシティは、先に[閾値設定処理]の説明の欄で説明したように、ある文字列[W]に対して左右に出現する文字列のエントロピーの値に基づいて算出され、文字列[W]に対して左右に出現する文字列の多様性を示す値であり、
PP(W):文字列[W]に対する左の文字列のパープレキシティ、
PP(W):文字列[W]に対する右の文字列のパープレキシティ、
である。
【0058】
さらに、図6に示すように、もう1つの抽出文書、
(b)「・・象で、下腿骨折の影・・・」
この文書についても同様に、パープレキシティ算出対象文字列を選択する。すでに、解析対象文字列「下腿骨」の先頭文字列[下]と、末尾文字列[骨]については選択済みであるので、
「下腿骨」の左の周辺文字列[、]の右側パープレキシティと、
「下腿骨」の右の周辺文字列[折]の左側パープレキシティ、
これらを、テキストデータベース121に格納されたテキストを対象とした処理によって算出する。
【0059】
分岐数算出部(パープレキシティ算出部)106は、次の値を求める。
(1)解析対象文字列「下腿骨」の先頭文字列[下]の左側パープレキシティ
(2)解析対象文字列「下腿骨」の末尾文字列[骨]の右側パープレキシティ
(3)解析対象文字列「下腿骨」の左の周辺文字列[・][、]の右側パープレキシティの平均値、
(4)解析対象文字列「下腿骨」の右の周辺文字列[に][折]の左側パープレキシティの平均値、
これらの各値を算出する。
【0060】
次のステップS208は、計算されたパープレキシティから対象文字列のスコアを設定する。例えば、
(1)解析対象文字列の先頭m文字の左側のパープレキシティa、
(2)解析対象文字列の末尾m文字の右側のパープレキシティb、
(3)解析対象文字列の左側m文字の周辺文字列の集合の右側のパープレキシティの平均値c、
(4)解析対象文字列の右側m文字の周辺文字列の集合の左側のパープレキシティ平均値d、
の4つの値の最小値を対象文字列のスコアとして設定する。このように設定することで分岐数の小さい境界を有する文字列であっても抽出することができる。
なお、このスコアの設定方法は一例であり、この他の手法を用いる構成としてもよい。例えば、上記4つの値a〜dの平均をスコアとして用いる構成としてもよく、この場合には同程度の境界を有する文字列が単語として抽出されるために正確な単語が抽出されやすくなる。
【0061】
上記4つのパープレキシティa〜dは、テキストデータベース121内での文字列の境界面でのパープレキシティを表現しており、テキストデータベース121にある程度の量のテキストが存在すれば、mの値の小さいm文字の文字列の出現頻度に関してはほとんどの場合、十分信頼性を得られる程度の計算を行うことができる。このため、4つのパープレキシティa〜dに関しては、対象文字列の出現頻度が小さい場合でも、ほとんどの場合に信頼性のある値が得られる。
【0062】
次のステップS209の単語判定処理は、単語判定部110の処理である。単語判定部110は、解析対象文字列のスコアをスコア設定部109から受領して、閾値設定部109から閾値[t]を受領する。閾値設定部109から受領する閾値[t]は、先に図3のフローチャートを参照して説明した閾値設定処理において設定した閾値[t]である。
【0063】
単語判定部110は、スコア設定部109から受領した解析対象文字列のスコアが、閾値設定部109から受領する閾値t以上であれば単語として認定する。すなわち、辞書登録のない未知語としての単語として認定する。例えば、
閾値t=10.0
とした場合、上述した解析対象文字列「下腿骨」のテキストデータベース121を対象として実行したパープレキシティ算出に基づいて設定されたスコアが、
スコア=34.95
とすると、
スコア:34.95≧10.0(閾値)
上記式が成立するので、"下腿骨"を単語として認定する。
【0064】
ステップS210では、未処理の解析対象文字列の有無を判定して、未処理の解析対象文字列がある場合は、次の解析対象文字列を選択して、ステップS205〜S209の処理を繰り返して実行し、その解析対象文字列の単語として認定するか否かを決定する。この処理をすべての解析対象文字列に対して実行し、未処理文字列が無くなった場合は処理を終了する。
【0065】
なお、このようにして抽出された単語は、例えば形態素解析に適用する辞書データベースに登録するなどの利用が可能である。上述した処理例では医学分野の専門用語としての単語を抽出しているので、例えば医学分野の単語辞書や、形態素解析用の専門辞書の登録語として設定することができる。このようにして抽出した単語を登録した辞書を利用して形態素解析を行なうことで、従来の辞書では抽出できなかった単語の抽出が可能となる。また、上述の処理によって抽出された単語は、例えばデータ検索に利用する単語として利用することができる。このような処理によって医学分野の知識を持たないユーザであっても、上述した処理によって得られた医学用語である単語を利用した有効なデータ検索を行なうことが可能となる。こうして得られた辞書は、本方式で抽出された文字列のみを記憶装置に記憶させて他の辞書とは別個に管理されるデータベースとしてもよいし、先に述べたように他の辞書データベースに追加してもよい。また、その文字列が本方式により抽出されたことを示す情報や、さらにその文字列のスコアを文字列に紐付けして記憶させておくことも可能であり、その場合には抽出された文字列を言語処理に利用する場合に、これらの情報に基づいて文字列の使用、例えばその文字列の採否、表示態様の変更等、を制御することができる。
【0066】
[本実施例による単語抽出処理の評価]
上述した本発明の一実施例に従った単語抽出処理の結果についての評価処理を実行したので、その結果について以下説明する。
(a)上述した実施例に従った処理を行った結果と、
(b)先に説明した非特許文献1(Shimohata, S. Sugio, T. Nagata, J. Retrieving collocations by co−occurrences and word order constraints. Proc. of ACL/EACL−97)に開示された単語抽出処理、すなわち、コロケーション(連語)を抽出するにあたって、連語のコーパス内でのエントロピー(情報量)を計算し、両側の単語のエントロピーが設定した閾値を越える連語を抽出する処理を実行した結果、
これらを比較した。
【0067】
処理対象としたのは、
(1)「最新解剖学用語集」、
(2)「MEDIS 標準病名マスター2.4.2」(http://www.medis.or.jp/)
これらに含まれるテキストデータであり、これらのテキスト中の、約65,000件の実際の医療テキスト中での出現頻度が5以下の文字列に関して、
(a)上記実施例に従った処理を行い、スコア順に上位200の文字列を抽出してIPA辞書に含まれるものを除いた結果A、
(b)上記先行技術(非特許文献1)に記載された方法を適用した処理によって抽出された文字列のスコア順に上位200文字列を抽出してIPA辞書に含まれるものを除いた結果B、
これらの結果Aと結果Bについて、単語として成立するものを専門家である医師が確認したところ、図7に示す評価結果が得られた。
【0068】
図7(1)は、「最新解剖学用語集」に含まれるテキストデータに基づく本実施例と、従来手法各々の単語抽出処理結果の比較データであり、図7(2)は、「MEDIS 標準病名マスター2.4.2」に含まれるテキストデータに基づく本実施例と、従来手法各々の単語抽出処理結果の比較データである。
【0069】
「正答率」とは対象の文字列の内、単語として成立するものの割合である。RRSUMはReciprocal Rank(正解となった順位の逆数)の和であり、ランキングを考慮した評価指標である。図7から明らかなように、「最新解剖学用語集」に対する処理においては、本実施例に従った処理が、従来手法に比較して、
正答率で16.8%、
RRSUMで0.29
これらの性能向上が見られ、
また、「標準病名マスター」に対する処理においては、本実施例に従った処理が、従来手法に比較して、
正答率で0.6%、
RRSUMで0.52
これらの性能向上が得られ、本発明の有効性が確認できた。
【0070】
[実施例2]
次に、本発明の言語解析システムの実施例2の処理について説明する。実施例2の言語解析システムの実行する処理フローを図8に示す。実施例2においてもシステム構成は、図1を参照して説明したシステム構成が適用される。本実施例では、テキストデータベース121に含まれるテキスト単位での処理を実行する処理例である。例えば、図2(a)を参照して説明したようにテキストデータベース121には、様々なテキストが識別子(ID)に対応付けられて格納されている。本実施例では、これらの識別子の設定された各テキスト単位で単語抽出処理を実行する。各テキスト単位で単語(例えば未知語)を取得することで、各テキストに対応する単語情報を得ることが可能となる。さらに各テキストからの抽出単語のスコア順ランキング処理などが可能となる。
【0071】
図8に示すフローチャートを参照して本実施例の処理シーケンスを説明する。なお、図8に示す処理フロー中、ステップS302〜S311の処理は、先に図4を参照して説明した実施例1の処理フロー中のステップS201〜S210と同様の処理である。
【0072】
本実施例では、まず、ステップS301において、テキストデータベース211から解析対象とする最初の1つのテキストを選択する。例えば、図2(a)に示す例では、例えば、解析対象テキストとして、最初の登録テキスト、すなわち、
ID1:両側肺野に優位な・・・
上記テキストを選択する。
【0073】
次にステップS302において、選択テキストをシステムのテキスト入力部101に入力する。
次に、ステップS303において、文字列抽出部102が、入力されたテキストを改行・句点等の区切り記号で分割し、分割された各テキストから取りえる全ての部分文字列を抽出する。
次に、ステップS304において、文字列フィルタリング部103において、文字列フィルタリング処理を実行する。この処理は、先に実施例1において説明したように、
(1)基本的に日本語の単語にはなりえない文字列、
(2)既に辞書に登録されている単語、
(3)テキストデータベース121に格納されたテキスト内での出現頻度の大きい文字列、
これらの文字列を削除する処理として実行される。
【0074】
次にステップS305で、ステップS304において選択された解析対象文字列集合から最初の文字列を解析対象文字列として取得し、ステップS306において、先頭・末尾文字列抽出部104が、対象文字列の先頭および末尾のm文字を抽出する。mは1以上の予め設定された値である。
【0075】
次のステップS307は、周辺文字列取得部105の処理であり、テキストデータベース121に格納されたテキストデータを対象とした解析処理により、対象文字列の周辺に現れる、m文字の周辺文字列の集合を抽出する。
次のステップS308は、分岐数算出部(パープレキシティ算出部)106の処理であり、ステップS307の周辺文字列抽出処理において抽出された、解析対象文字列を含む文書を構成する
解析対象文字列の先頭・末尾文字列、および
解析対象文字列の左右の周辺文字列、
これらの文字列集合の、テキストデータベース121に格納されたテキストデータ内でのパープレキシティを計算する。具体的には、
(1)解析対象文字列の先頭文字列の左側パープレキシティ
(2)解析対象文字列の末尾文字列の右側パープレキシティ
(3)解析対象文字列の左の周辺文字列の右側パープレキシティの平均値、
(4)解析対象文字列の右の周辺文字列の左側パープレキシティの平均値、
これらの各値を算出する。
【0076】
次のステップS309は、スコア設定部108の処理である。スコア設定部108は、計算されたパープレキシティから対象文字列のスコアを設定する。例えば、
(1)解析対象文字列の先頭m文字の左側のパープレキシティa、
(2)解析対象文字列の末尾m文字の右側のパープレキシティb、
(3)解析対象文字列の左側m文字の周辺文字列の集合の右側のパープレキシティの平均値c、
(4)解析対象文字列の右側m文字の周辺文字列の集合の左側のパープレキシティ平均値d、
これらの4つの値a〜dの最小値を対象文字列のスコアとして設定する。なお、先に図5、図6を参照して説明した処理例はm=1の場合である。
【0077】
次のステップS310の単語判定処理は、単語判定部110の処理である。単語判定部110は、解析対象文字列のスコアをスコア設定部109から受領して、閾値設定部109から閾値[t]を受領する。閾値設定部109から受領する閾値[t]は、先に図3のフローチャートを参照して説明した閾値設定処理において設定した閾値[t]である。
【0078】
単語判定部110は、スコア設定部109から受領した解析対象文字列のスコアが、閾値設定部109から受領する閾値t以上であれば単語として認定する。すなわち、辞書登録のない未知語としての単語として認定する。
【0079】
次に、ステップS311では、未処理の解析対象文字列の有無を判定して、未処理の解析対象文字列がある場合は、次の解析対象文字列を選択して、ステップS306〜S310の処理を繰り返して実行し、その解析対象文字列の単語として認定するか否かを決定する。この処理をすべての解析対象文字列に対して実行し、未処理文字列が無くなった場合は、ステップS312に進む。
【0080】
ステップS312では、未処理の解析対象テキストがテキストデータベース121にあるか否かを判定し、未処理の解析対象テキストがテキストデータベース121にある場合は、次の解析対象テキストを選択して、ステップS302〜S311の処理を繰り返して実行する。この処理をすべての解析対象テキストに対して実行し、未処理テキストが無くなった場合は、処理を終了する。
【0081】
本処理例では、テキストデータベース121に格納された識別子の設定された各テキスト単位で単語抽出処理を実行する。このように、各テキスト単位で単語(例えば未知語)を取得することで、各テキストに対応する単語情報を得ることが可能となる。さらに各テキストからの抽出単語のスコア順ランキング処理などが可能となる。
【0082】
なお、本処理例においても、抽出された単語は、例えば専門分野の単語辞書や、形態素解析用の専門辞書の登録語として設定することができる。このようにして抽出した単語を登録した辞書を利用して形態素解析を行なうことで、従来の辞書では抽出できなかった単語の抽出が可能となり、また、抽出単語をデータ検索に利用する単語として利用することができる。このような処理によって専門分野の知識を持たないユーザであっても、上述した処理によって得られた専門用語である単語を利用した有効なデータ検索を行なうことが可能となる。
【0083】
[実施例3]
次に、図9を参照して本発明の言語解析システムの実施例3について説明する。上述した実施例1,2では、例えば図1のシステム構成における先頭・末尾文字列抽出部104が、解析対象文字列を含む文書を構成する以下のデータ、すなわち、
解析対象文字列の先頭・末尾のm文字の文字列、および、
解析対象文字列の左右の周辺のm文字の文字列、
これらのm文字の文字列集合に対して、テキストデータベース121に格納されたテキストデータ内でのパープレキシティを計算する構成としていた。
【0084】
すなわち、上述した実施例1,2では、
(1)解析対象文字列の先頭のm文字の文字列の左側パープレキシティ
(2)解析対象文字列の末尾のm文字の文字列の右側パープレキシティ
(3)解析対象文字列の左の周辺m文字の文字列の右側パープレキシティの平均値、
(4)解析対象文字列の右の周辺m文字の文字列の左側パープレキシティの平均値、
これらの各値を算出する構成としていた。
【0085】
実施例3では、図1に示す先頭・末尾文字列抽出部104を図9に示すように部分文字列抽出部301に置きかえている。部分文字列抽出部301では、解析対象文字列の先頭、末尾の文字列のみならず、解析対象文字列を構成するm文字の部分文字列をすべて抽出して、抽出したm文字の部分文字列に対応するパープレキシティを算出する。
【0086】
先の実施例1,2では、例えばm=1とした場合、先頭・末尾文字列抽出部104が、対象文字列の先頭および末尾のm=1文字を抽出し、解析対象文字列が"下腿骨"だとすれば、先頭の"下"と末尾の"骨"を抽出していた。
これに対して本実施例では、m=1とした場合、部分文字列抽出部301が、対象文字列のm=1文字からなるすべての部分文字列を抽出する。解析対象文字列が"下腿骨"だとすれば、先頭の"下"と末尾の"骨"、さらに、中央の"腿"を抽出する。
【0087】
分岐数算出部(パープレキシティ算出部)106では、部分文字列抽出部301が抽出した文字列に対応するパープレキシティを算出する。例えば、m=1で、解析対象文字列が"下腿骨"の場合、先に実施例1において図5、図6を参照して説明した解析対象文字列の境界におけるパープレキシティを算出するとともに、図10に示すように、
(a)"下" の右側のパープレキシティ、
(b)"腿"の右側および左側のパープレキシティ、
(c)"骨"の左側のパープレキシティ、
これらのパープレキシティについても算出する。
【0088】
さらに、内部スコア設定部302では、
(1)"下"と"腿"の右側のパープレキシティの平均、
(2)"腿"と"骨"の左側のパープレキシティの平均、
これらの平均値をそれぞれ計算し、これらの平均値の最大値を内部スコアとして設定する。
【0089】
スコア設定部108では、先の実施例1と同様に、図5、図6を参照して説明した解析対象文字列の境界におけるパープレキシティ、すなわち、
(1)解析対象文字列の先頭m文字の左側のパープレキシティa、
(2)解析対象文字列の末尾m文字の右側のパープレキシティb、
(3)解析対象文字列の左側m文字の周辺文字列の集合の右側のパープレキシティの平均値c、
(4)解析対象文字列の右側m文字の周辺文字列の集合の左側のパープレキシティ平均値d、
これらの4つの値a〜dの最小値を対象文字列の境界スコア[S]として設定する。なお、先に図5、図6を参照して説明した処理例はm=1の場合である。
【0090】
単語判定部110は、スコア設定部108で設定された境界スコア[S]と、内部スコア設定部302で設定された内部スコア[SIN]を比較し、境界スコア[S]が内部スコア[SIN]より大きい場合は、単語として認定する。すなわち、辞書登録のない未知語としての単語として認定する。
【0091】
本構成によれば、解析対象文字列の部分文字列を抽出して内部スコア[SIN]を計算し、境界面スコア[S]と比較することにより、対象文字列の特性をより強く反映した未知語の抽出が可能となる。
【0092】
なお、本処理例においても、抽出された単語は、例えば専門分野の単語辞書や、形態素解析用の専門辞書の登録語として設定することができる。このようにして抽出した単語を登録した辞書を利用して形態素解析を行なうことで、従来の辞書では抽出できなかった単語の抽出が可能となり、また、抽出単語をデータ検索に利用する単語として利用することができる。このような処理によって専門分野の知識を持たないユーザであっても、上述した処理によって得られた専門用語である単語を利用した有効なデータ検索を行なうことが可能となる。
【0093】
なお、上述の実施例では、部分文字列抽出部301の処理として、m=1として解析対象文字列を構成するm=1文字の部分文字列をすべて抽出して、抽出したm=1文字の部分文字列に対応するパープレキシティを算出する構成としたが、mは1以上の様々な値に設定することができる。例えば文字の種類(漢字、ひらがな、カタカナ、英数字など)に応じてmの値を変更する構成とすることができる。このように、文字種によってmの値を変更することにより、文字種による情報量の違いに対応できる。例えば、漢字ではm=1、ひらがな・カタカナ・英数字ではm=2にすることにより、漢字の情報量を平仮名・片仮名・英数字の2倍として扱うことができる。なお、解析対象文字列の先頭、末尾、左側、右側におけるそれぞれ抽出する文字数mを異ならせてもよい。ただし、これらの評価値を組みあせてスコアを設定する場合には、同じ文字数としないと条件の異なる評価値が組み合わされてしまうので、同じとすることが望ましい。
【0094】
また、上述の実施例では、解析対象文字列の境界における出現文字列の分岐状態を表す評価値として、数2で示すパープレキシティ(平均分岐数)を用いる例を述べたが、出現文字列の多様性の評価値としては、たとえば、言語解析の評価指標として用いられている、エントロピー(数1)を用いることもでき、またシステムの動作に適するように、これらの数式を所定倍、規格化、所定の変換式を用いて演算することで、評価値として用いることもできる。あるいは対象文字列の前後での文字列の出現回数に基づく多様性の評価値を所定の演算式を施すことで求め、この演算結果を評価値として使用することもできる。ただし、パープレキシティは、多様性を示す値として言語処理の分野では慣用されていることから、エントロピーを指標として用いる場合に比べて、単語抽出する場合の条件設定や調整において妥当な設定を行いやすく、システムとして運用がしやすくなる。
【0095】
最後に、上述した処理を実行する言語解析システムを構成する情報処理装置のハードウェア構成例について、図11を参照して説明する。CPU(Central Processing Unit)501は、OS(Operating System)に対応する処理や、上述の実施例において説明したパープレキシティ算出処理、スコア算出処理、単語抽出処理、抽出した単語を登録した辞書の生成処理、生成した辞書を適用した形態素解析処理などを実行する。これらの処理は、各情報処理装置のROM、ハードディスクなどのデータ記憶部に格納されたコンピュータ・プログラムに従って実行される。
【0096】
ROM(Read Only Memory)502は、CPU501が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)503は、CPU501の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバスなどから構成されるホストバス504により相互に接続されている。
【0097】
ホストバス504は、ブリッジ505を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス506に接続されている。
【0098】
キーボード508、ポインティングデバイス509は、ユーザにより操作される入力デバイスである。ディスプレイ510は、液晶表示装置またはCRT(Cathode Ray Tube)などから成り、各種情報をテキストやイメージで表示する。
【0099】
HDD(Hard Disk Drive)511は、ハードディスクを内蔵し、ハードディスクを駆動し、CPU501によって実行するプログラムや情報を記録または再生させる。ハードディスクは、例えば上述の実施例において説明した単語抽出によって抽出された単語や、単語を登録した辞書、さらに、上述の実施例において適用するデータ処理プログラム、閾値、スコア等のパラメータや、各種コンピュータ・プログラムが格納される。
【0100】
ドライブ512は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体521に記録されているデータまたはプログラムを読み出して、そのデータまたはプログラムを、インタフェース507、外部バス506、ブリッジ505、およびホストバス504を介して接続されているRAM503に供給する。
【0101】
接続ポート514は、外部接続機器522を接続するポートであり、USB,IEEE1394等の接続部を持つ。接続ポート514は、インタフェース507、および外部バス506、ブリッジ505、ホストバス504等を介してCPU501等に接続されている。通信部515は、ネットワークに接続され、各種データベースや他の情報処理装置との通信を実行する。
【0102】
なお、図11に示す言語解析システムとしての情報処理装置のハードウェア構成例は、PCを適用して構成した装置の一例であり、本発明の言語解析システムは、図11に示す構成に限らず、上述した実施例において説明した処理を実行可能な構成であればよい。
【0103】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【0104】
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【0105】
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【0106】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【0107】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【図面の簡単な説明】
【0108】
【図1】本発明の一実施例に係る言語解析システムの構成例を示す図である。
【図2】本発明の一実施例に係る言語解析システムにおいて適用されるテキストデータベースと、単語データベースの構成例について説明する図である。
【図3】本発明の一実施例に係る言語解析システムにおいて実行する閾値設定処理のシーケンスを説明するフローチャートを示す図である。
【図4】本発明の一実施例に係る言語解析システムにおいて実行する単語抽出処理のシーケンスを説明するフローチャートを示す図である。
【図5】本発明の一実施例に係る言語解析システムにおいて実行するパープレキシティの算出処理例について説明する図である。
【図6】本発明の一実施例に係る言語解析システムにおいて実行するパープレキシティの算出処理例について説明する図である。
【図7】本発明の一実施例に係る言語解析システムにおいて実行された単語抽出結果の評価データについて説明する図である。
【図8】本発明の一実施例に係る言語解析システムにおいて実行する閾値設定処理のシーケンスを説明するフローチャートを示す図である。
【図9】本発明の一実施例に係る言語解析システムの構成例を示す図である。
【図10】本発明の一実施例に係る言語解析システムにおいて実行するパープレキシティおよび内部スコアの算出処理例について説明する図である。
【図11】本発明の一実施形態に係る言語解析システムのハードウェア構成例について説明する図である。
【符号の説明】
【0109】
100 言語解析システム
101 テキスト入力部
102 文字列抽出部
103 文字列フィルタ部
104 先頭・末尾文字列抽出部
105 周辺文字列抽出部
106 分岐数算出部(パープレキシティ算出部)
107 単語分割部
108 スコア設定部
109 閾値設定部
110 単語判定部
121 テキストデータベース
122 単語データベース
301 部分文字列抽出部
302 内部スコア設定部
501 CPU(Central Processing Unit)
502 ROM(Read-Only-Memory)
503 RAM(Random Access Memory)
504 ホストバス
505 ブリッジ
506 外部バス
507 インタフェース
508 キーボード
509 ポインティングデバイス
510 ディスプレイ
511 HDD(Hard Disk Drive)
512 ドライブ
514 接続ポート
515 通信部
521 リムーバブル記録媒体
522 外部接続機器

【特許請求の範囲】
【請求項1】
テキストデータから予め定めた文字数以下の文字列の集合を抽出する文字列抽出部と、
テキストデータベース内のテキストを対象とした解析処理により、前記文字列抽出部の抽出した文字列を解析対象文字列として、該解析対象文字列の境界における出現文字列の分岐状態を表す評価値を算出する分岐状態評価値算出部と、
前記分岐状態評価値算出部の算出した評価値に基づいて解析対象文字列に対応するスコアを設定するスコア設定部と、
前記スコア設定部の設定したスコアに基づいて前記解析対象文字列が単語であるか否かを判定する単語判定部と、
を有することを特徴とする言語解析システム。
【請求項2】
前記分岐数算出部で算出される評価値は、
解析対象文字列の両端部のそれぞれ1文字以上における解析対象文字列の外方向の出現文字列の分岐状態を示す評価値と、
前記解析対象文字列に接する両端部のそれぞれ1文字以上における解析対象文字列方向の出現文字列の分岐状態を示す評価値と、
を算出する構成であり、
前記スコア設定部は、
前記分岐数算出部の算出した評価値に基づいてスコアを算出する構成であることを特徴とする請求項1に記載の言語解析システム。
【請求項3】
前記スコア設定部は、
解析対象文字列の両端部の1文字以上における解析対象文字列の外方向の出現文字列の分岐状態を示す評価値と、
前記解析対象文字列に接する両端部の1文字以上における解析対象文字列方向の出現文字列の分岐状態を示す評価値と、
のうちの最小値に基づいてスコアを算出する構成であることを特徴とする請求項2に記載の言語解析システム。
【請求項4】
前記言語解析システムは、さらに、
単語データベース内に登録された単語をm文字(ただしm≧1の予め定めた数)単位で分割する単語分割部と、
前記分岐状態評価値算出部は、前記単語分割部の分割したm文字単位の文字列に対応する解析対象文字列の境界における出現文字列の分岐状態を表す複数の評価値を算出し、
前記分岐状態評価値算出部の算出した複数の評価値から、m文字単位の文字列端部の外部方向の出現文字列の分岐状態を示す評価値を除く複数の評価値の平均値を閾値として算出する閾値設定部を有し、
前記単語判定部は、
前記スコア設定部の設定したスコアと、前記閾値設定部の設定した閾値との比較を実行して、比較結果に応じて前記解析対象文字列が単語であるとの判定を行なう構成であることを特徴とする請求項1に記載の言語解析システム。
【請求項5】
前記言語解析システムは、さらに、
前記文字列抽出部の抽出した文字列の集合から、単語として成立しない文字列を削除するフィルタリング処理を実行する文字列フィルタ部を有し、
前記分岐状態評価値算出部は、
前記文字列フィルタ部におけるフィルタリング後の文字列を解析対象文字列として、該解析対象文字列の境界における出現文字列の分岐状態を表す評価値を算出する処理を実行する構成であることを特徴とする請求項1に記載の言語解析システム。
【請求項6】
前記言語解析システムは、さらに、
前記文字列抽出部の抽出した抽出文字列から、抽出文字列の先頭および末尾文字列を抽出する先頭末尾文字列抽出部を有し、
前記分岐状態評価値算出部は、
前記先頭末尾文字列抽出部の抽出した先頭末尾文字列に基づいて、前記解析対象文字列の境界における出現文字列の分岐状態を表す評価値の算出を実行する構成であることを特徴とする請求項1に記載の言語解析システム。
【請求項7】
前記言語解析システムは、さらに、
前記文字列抽出部の抽出した抽出文字列から、抽出文字列の部分文字列を抽出する部分文字列抽出部を有し、
前記分岐状態評価値算出部は、
前記部分文字列抽出部の抽出した部分文字列に基づいて、前記解析対象文字列の内部における出現文字列の分岐状態を表す評価値の算出を実行し、
前記単語判定部は、
前記スコア設定部の設定したスコアと、前記部分文字列抽出部の抽出した部分文字列に関する前記分岐状態評価値算出部が算出した評価値に基づいて設定した内部スコアとに基づいて前記解析対象文字列が単語であるか否かを判定する処理を実行する構成であることを特徴とする請求項1に記載の言語解析システム。
【請求項8】
前記言語解析システムは、
テキストデータベースに格納されたテキスト単位で単語抽出処理を実行する構成であることを特徴とする請求項1に記載の言語解析システム。
【請求項9】
前記分岐状態評価値算出部において算出される評価値が、解析対象文字列の境界における出現文字列の分岐数を表すパープレキシティであることを特徴とする請求項1〜8のいずれかに記載の言語解析システム。
【請求項10】
言語解析システムによるテキスト解析に基づいて抽出された単語データを登録した辞書であり、
前記言語解析システムに、
テキストデータから予め定めた文字数以下の文字列の集合を抽出する文字列抽出部と、
テキストデータベース内のテキストを対象とした解析処理により、前記文字列抽出部の抽出した文字列を解析対象文字列として、該解析対象文字列の境界における出現文字列の分岐状態を表す評価値を算出する分岐状態評価値算出部と、
前記分岐状態評価値算出部の算出した評価値に基づいて解析対象文字列に対応するスコアを設定するスコア設定部と、
前記スコア設定部の設定したスコアに基づいて前記解析対象文字列が単語であるか否かを判定する単語判定部と、
を有し、
前記単語判定部において単語として判定された単語データを登録データとして有する辞書。
【請求項11】
言語解析システムにおいて言語解析処理を実行する言語解析方法であり、
文字列抽出部が、テキストデータから予め定めた文字数以下の文字列の集合を抽出する文字列抽出ステップと、
分岐数算出部が、テキストデータベース内のテキストを対象とした解析処理により、前記文字列抽出ステップにおいて抽出した文字列を解析対象文字列として、該解析対象文字列の境界における出現文字列の分岐状態を表す評価値を算出する分岐状態評価値算出ステップと、
スコア設定部が、前記分岐状態評価値算出ステップで算出した評価値に基づいて解析対象文字列に対応するスコアを設定するスコア設定ステップと、
単語判定部が、前記スコア設定ステップで設定したスコアに基づいて前記解析対象文字列が単語であるか否かを判定する単語判定ステップと、
を有することを特徴とする言語解析方法。
【請求項12】
言語解析システムにおいて言語解析処理を実行させるコンピュータ・プログラムであり、
文字列抽出部に、テキストデータから予め定めた文字数以下の文字列の集合を抽出させる文字列抽出ステップと、
分岐数算出部に、テキストデータベース内のテキストを対象とした解析処理により、前記文字列抽出ステップにおいて抽出した文字列を解析対象文字列として、該解析対象文字列の境界における出現文字列の分岐状態を表す評価値を算出させる分岐状態評価値算出ステップと、
スコア設定部に、前記分岐状態評価値算出ステップで算出した評価値に基づいて解析対象文字列に対応するスコアを設定させるスコア設定ステップと、
単語判定部に、前記スコア設定ステップで設定したスコアに基づいて前記解析対象文字列が単語であるか否かを判定させる単語判定ステップと、
を実行させることを特徴とするコンピュータ・プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2008−165675(P2008−165675A)
【公開日】平成20年7月17日(2008.7.17)
【国際特許分類】
【出願番号】特願2007−70(P2007−70)
【出願日】平成19年1月4日(2007.1.4)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】