(57)【特許請求の範囲】
【請求項１】
読み込んだ入力テキストの文字列の文字毎に少なくとも単語区切り情報を含む拡張情報を付加して拡張文字を形成し、該拡張文字を用いて前記入力テキストの文字列に関する全ての組み合わせの拡張文字列を生成する拡張文字列生成部と、
一定文字数からなる部分拡張文字列とこの部分拡張文字列に対する部分連鎖確率情報を格納している拡張文字記憶部と、
前記入力テキストの先頭から末尾までの全ての部分拡張文字列の経路と前記拡張文字記憶部に格納されている部分連鎖確率に基づき、前記拡張文字列生成部で生成された全ての前記拡張文字列のそれぞれについて、連鎖確率情報を求める連鎖確率計算部と、
得られた連鎖確率情報を格納するスコア記憶部と、
得られた連鎖確率情報の中から良好の連鎖確率を与える拡張文字列を選択し、該拡張文字列に対応する単語列の並びを含む解析結果を形態素解析結果として出力する良好経路探索部と、
前記拡張文字列生成部が生成した拡張文字列の部分拡張文字列が前記拡張文字記憶部に存在しない場合に、前記拡張文字記憶部に格納されている当該部分拡張文字列の一部の拡張文字と共通の拡張文字を有する他の部分拡張文字列の部分連鎖確率情報から、当該部分拡張文字列の部分連鎖確率情報を推定する拡張文字推定部とを備え、
前記良好経路探索部は、得られた連鎖確率情報の中の最大の値の連鎖確率情報をもつ拡張文字列を良好の連鎖確率を与える拡張文字列として選択し、又は、得られた連鎖確率情報の中の閾値以上の連鎖確率情報をもつ拡張文字列を良好の連鎖確率を与える拡張文字列として選択し、
前記拡張文字推定部は、前記拡張文字記憶部の格納内容との照合で合致した１又は複数の部分拡張文字列の部分連鎖確率情報の相加平均若しくは相乗平均を、当該部分拡張文字列の部分連鎖確率情報の推定値とし、
又は、前記拡張文字推定部は、前記拡張文字記憶部に存在しない前記部分拡張文字列について、そのうちの１個又は複数の拡張文字を全ての文字に照合可能な汎用文字とみなして、前記拡張文字記憶部の格納内容と照合し、１個の拡張文字を汎用文字とみなして合致した１個又は複数の部分拡張文字列の部分連鎖確率情報の相加平均若しくは相乗平均と、複数の拡張文字を汎用文字とみなして合致した１個又は複数の部分拡張文字列の部分連鎖確率情報の相加平均若しくは相乗平均と、の重み付け平均を、当該部分拡張文字列の部分連鎖確率情報の推定値とする
ことを特徴とする自然言語処理装置。
【請求項２】
入力テキストが日本語テキストであることを特徴とする請求項１に記載の自然言語処理装置。
【請求項３】
前記拡張文字推定部は、推定した連鎖確率情報を、当該情報に係る部分拡張文字列と共に前記拡張文字記憶部に追加格納することを特徴とする請求項１又は２に記載の自然言語処理装置。
【請求項４】
前記良好経路探索部が、得られた連鎖確率情報の中の閾値以上の連鎖確率情報をもつ拡張文字列を最適の連鎖確率を与える拡張文字列として選択するものであり、前記閾値を外部から設定可能にしていることを特徴とする請求項１〜３のいずれかに記載の自然言語処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は自然言語処理装置に関し、特に、確率的手法を利用することによって、辞書を用いることなく電子化された自然言語テキストを処理（例えば形態素解析）する装置に適用し得るものである。
【０００２】
【従来の技術】
ワードプロセッサによるテキスト作成機会の増大や、インターネット対応機器の普及により、大量の電子化された自然言語テキストが容易に入手可能となってきた。文字認識システム、機械翻訳システム、情報検索システム、情報抽出システム等の大量の自然言語テキストを扱う自然言語処理を応用した各種アプリケーションシステムにとって、形態素解析処理は、各種アプリケーションが目的とする専門処理を実施する前に共通して実施され、単語や句等の文中の意味単位、すなわち、形態素を確定する極めて重要な処理である。
【０００３】
各種アプリケーションシステムの初段に位置付けられる形態素解析を誤ると、その誤りが、後段での認識、翻訳、検索、抽出等の処理に波及し、その処理精度に大きく影響する。一般に、後段の処理においては、形態素解析が正しく行われることを前提としているため、その誤りを修復することは非常に困難である。また、たとえその修復が可能であったとしても、その修復処理は複雑化し、従って、大量の自然言語テキストを期待された時間内に処理することができなくなってしまう。
【０００４】
このように、形態素解析処理においては、単語分割（形態素分割）の精度の高さが要求されるとともに、大量の自然言語テキストを高速に処理するという処理速度も要求される。
【０００５】
単語が単語区切り（スペース）によって分かち書きされており、品詞等のタグを単語に与えるだけで良い、例えば英語ような言語の形態素解析手法においては、大量のテキストから品詞やその配列であるタグ系列の確率モデルを推定し、さらに、例に基づく誤り訂正を加えた手法が確立されている。
【０００６】
一方、単語が分かち書きされていない、例えば日本語のような言語においても、確率モデルを用いた英語に対する手法を応用した例がいくつか提案されている。確率モデルを用いた形態素解析の一例としては、下記文献に開示された手法がある。
【０００７】
文献『山本幹雄、増山正和著、「品詞・区切り情報を含む拡張文字の連鎖確率を用いた日本語形態素解析」、言語処理学会第３回年次大会発表論文集、１９９７年３月』
この文献は、単語区切りを明確に持たない日本語に確率モデルを用いた形態素解析手法を適用する場合に、次に示す課題があることを記載している。
【０００８】
（課題Ａ）英語の場合、未知語があっても単語分割には影響を与えないが、日本語の場合は、未知語が単語分割に影響を与えるので、精度への影響がより深刻になる。
【０００９】
（課題Ｂ）日本語の場合は、区切りの曖昧さがあるため、単語分割数が一定であることを前提とした英語の確率モデルをそのまま適用するには問題がある。
【００１０】
上記の課題に対して、上記文献は、文字をベースにした形態素解析手法を提案している。日本語の文字は、一般的に使われているもので約３０００種程度あり、また、平均単語長も２文字程度であるため、日本語の１文字は単語に近い情報をもっているという性質に基づき、日本語の各文字に形態素解析の情報を付与した拡張文字による連鎖確率モデルを提案している。この手法によれば、文字をベースにしているため、複数文字列を単語として登録した単語辞書を用いる必要がなくなり、単語辞書を用いなければ、未知語の概念自体がなくなり、（課題Ａ）が解決される。また、文字の長さは常に１で１文において一定であり、英語の場合の単語分割数に相当する１文あたりの文字数も一定となり、英語の確率モデルを適用することが可能なり、（課題Ｂ）が解決される。
【００１１】
前記文献に開示された方法によれば、基本的には、文字をベースにして形態素解析を行うに当たり、自然言語テキストが入力文として与えられたときに、この入力文を構成する単語列として、各文字の直後が単語境界であるか否かのあらゆる組み合わせの中から最も確からしい単語列の並びを出力させることを特徴とする。この方法を実現する手段として、（１）式に定義される拡張文字ｅi及び（２）式に定義される拡張文字の連鎖確率（以下、部分連鎖確率とも称する）ｐ（Ｗ，Ｔ）を用いた拡張文字列の連鎖確率モデルを用いる。ここで、拡張文字ｅiとは、「私」、「は」等の通常の文字とは異なり、文字に対して少なくとも単語区切り（形態素区切り）の情報を含む拡張情報を付加したものである。
【００１２】
【数１】
0003938234.tif 000002
ここで、ｃiは、入力文字列（入力テキスト列）の位置ｉにおける文字であり、ｄiは、文字ｃiの後（又は前）における区切り情報であるとする。
【００１３】
【数２】
0003938234.tif 000003
ここで、ｎは入力文字列の長さであり、ＮはＮ−ｇｒａｍのＮ、すなわち最適解を求めるために参照する文字組の長さ（文字組を構成する文字数）、ｅiは形態素列Ｗ及びタグＴの情報から決定される拡張文字である。
【００１４】
また、前記文献に記載の形態素解析方法を実施する装置は、以下の通りである（例えば、特願平９−６８３００号明細書及び図面参照）。
【００１５】
すなわち、（ａ）テキストを入力文として読み込んできて、この入力文の入力文字列の文字毎に、少なくとも単語区切り情報を含む拡張情報を付加して拡張文字を形成し、この形成された拡張文字を用いて前記入力文字列に関する全ての拡張文字列を候補として生成する拡張文字列生成部、（ｂ）生成された全ての拡張文字列の連鎖確率を候補として求める連鎖確率計算部、（ｃ）得られた連鎖確率の候補の中から最大の値の連鎖確率を求め、この最大連鎖確率を与える拡張文字列を最適拡張文字列として選択し、この最適拡張文字列に対応する単語列の並びを含む解析結果を形態素解析結果として出力する最適経路探索部を構成要件として備える。
【００１６】
前記各構成要件が、以下の動作を行うことにより形態素解析を実施する。
【００１７】
すなわち、（Ｓ１）拡張文字列生成部は、テキストを入力文として読み込んできて、この入力文の入力文字列の文字毎に、少なくとも単語区切り情報を含む拡張情報を付加して拡張文字を形成し、形成された拡張文字を用いて前記入力文字列に関する全ての入力文の文頭から文末までの全ての拡張文字列の経路を候補として生成しスコアテーブルに格納する。
【００１８】
（Ｓ２）次に、連鎖確率計算部は、事前に訓練（学習）により作成しておいた拡張文字テーブルに格納されている一定文字数からなる部分拡張文字列に対応する部分連鎖確率に基づき、前記拡張文字列の経路に対応する拡張文字列の連鎖確率ｐ（Ｗ，Ｔ）を計算し、スコアテーブルに格納しておく。
【００１９】
（Ｓ３）しかる後に、最適経路探索部が、スコアテーブルの拡張文字列の連鎖確率の候補を参照し、候補の中から最大の値の連鎖確率を求め、この最大連鎖確率を与える拡張文字列を最適拡張文字列として選択し、この最適拡張文字列に対応する単語列の並びを含む解析結果を形態素解析結果として出力する。
【００２０】
【発明が解決しようとする課題】
例えば、文字認識装置等の入力装置の性能限界により、入力テキストの任意の文字が別の予期せぬ文字に置き換わってしまう現象（以下、文字化けと称する）が発生することは、通常の利用形態において普通に起こることである。また、入力テキストが電子化されたものである場合にも、テキストの電子化の過程においてオペレータの入力誤りにより予期せぬ単語綴り（以下、ミスタイプと称する）が入力テキストに含まれることがよく発生する。
【００２１】
一般的には、入力テキストに混在するこの種の誤り文字を含む文字列部分は未知語として扱われるが、本来、自然言語として存在するはずもないこの種の未知語は、自然言語としては存在するが形態素解析装置が知り得なかった単語とは区別して扱うべきである。
【００２２】
しかしながら、従来の形態素解析装置においては、文字化けやミスタイプにより入力テキスト中の本来未知語でなかった文字列が未知語として扱われることになった場合に、未知語は未知語というカテゴリとして包括して扱うだけで、当該未知語部分を正しい単語に復元するという概念もなく、復元する手段も備えていない。つまり、従来の形態素解析方法及び装置においては、入力装置の性能限界あるいは入力手段の不備により入力されるテキストの品質が既定値より劣る場合の形態素解析を、すなわち、本来、自然言語として存在するはずのない単語を合むテキストの形態素解析を想定していないので、文字化けやミスタイプにより入力テキスト中の本来未知語でなかった文字列が未知語として扱われることになった場合に、当該未知語部分を正しい単語に復元することができず、所望の形態素解析結果を得ることができないという課題がある。
【００２３】
そのため、文字化けやミスタイプ等による未知語部分を検出し、当該部分を正しい文字列に復元することができる、言い換えると、正しい文字列を推定することができる自然言語処理装置や、正しい文字列を推定できなくても所定の自然言語処理を実行できる自然言語処理装置が求められている。
【００２４】
【課題を解決するための手段】
本発明の自然言語処理装置は、（１）読み込んだ入力テキストの文字列の文字毎に少なくとも単語区切り情報を含む拡張情報を付加して拡張文字を形成し、該拡張文字を用いて前記入力テキストの文字列に関する全ての組み合わせの拡張文字列を生成する拡張文字列生成部と、（２）一定文字数からなる部分拡張文字列とこの部分拡張文字列に対する部分連鎖確率情報を格納している拡張文字記憶部と、（３）前記入力テキストの先頭から末尾までの全ての部分拡張文字列の経路と前記拡張文字記憶部に格納されている部分連鎖確率に基づき、前記拡張文字列生成部で生成された全ての前記拡張文字列のそれぞれについて、連鎖確率情報を求める連鎖確率計算部と、（４）得られた連鎖確率情報を格納するスコア記憶部と、（５）得られた連鎖確率情報の中から最適の連鎖確率を与える拡張文字列を選択し、該拡張文字列に対応する単語列の並びを含む解析結果を形態素解析結果として出力する最適経路探索部と、（６）前記拡張文字列生成部が生成した拡張文字列の部分拡張文字列が前記拡張文字記憶部に存在しない場合に、前記拡張文字記憶部に格納されている当該部分拡張文字列の一部の拡張文字と共通の拡張文字を有する他の部分拡張文字列の部分連鎖確率情報から、当該部分拡張文字列の部分連鎖確率情報を推定する拡張文字推定部とを備えることを特徴とする。
【００２６】
【発明の実施の形態】
（Ａ）第１の実施形態
以下、本発明による自然言語処理装置を形態素解析装置に適用した第１の実施形態を図面を参照しながら詳述する。
【００２７】
（Ａ−１）第１の実施形態の構成
図１は、第１の実施形態の形態素解析装置の構成を示す機能ブロック図である。すなわち、第１の実施形態の形態素解析装置は、実際上、入出力装置や処理装置や記憶装置（や通信装置）等を有するワークステーションやパソコン等の情報処理装置上に実現されるものであるが、機能的には、図１に示す構成を有するものである。
【００２８】
図１において、この第１の実施形態の形態素解析装置は、入力装置１、拡張文字テーブル２、スコアテーブル３、拡張文字列生成部４、拡張文字推定部５、連鎖確率計算部６、最適経路探索部７及び出力装置８を有する。
【００２９】
入力装置１は、自然言語テキストを当該形態素解析装置へ入力させるためのキーボード、マウス、ＯＣＲ（光学式文字認識装置）、音声認識装置等の任意の手段で構成しても良いし、ネットワーク等の通信媒体を経て外部からの通信信号を受信する手段として構成しても良い。
【００３０】
拡張文字テーブル２は、拡張文字列とその連鎖確率（部分連鎖確率）を格納するものであり、訓練テキスト（コーパス）により予め学習されて作成されている記憶装置である。
【００３１】
スコアテーブル３は、入力テキストの文頭から文末までの全ての拡張文字列（Ｎ−ｇｒａｍ）の経路と、拡張文字テーブル２に格納されている部分連鎖確率とに基づき求めた拡張文字列の経路に対応する拡張文字列の連鎖確率ｐ（Ｗ，Ｔ）を格納する記憶装置である。
【００３２】
拡張文字列生成部４は、事前に訓練により作成してある拡張文字テーブル２を参照して、入力テキストの拡張文字列を生成し、当該拡張文字列の経路を格納するものである。
【００３３】
拡張文字推定部５は、拡張文字列生成部４が入力テキストから拡張文字列の経路を作成する際に、入力テキスト中に拡張文字テーブル２に格納されていない文字が含まれている場合に、当該不明文字を含む部分拡張文字列の部分連鎖確率を推定するものである。
【００３４】
連鎖確率計算部６は、拡張文字テーブル２に格納されている部分連鎖確率に基づき、スコアテーブル３に格納されている拡張文字列の経路に対する連鎖確率を計算するものである。
【００３５】
最適経路探索部７は、連鎖確率計算部６により計算された連鎖確率の中から、最適な条件（例えば最大値の連鎖確率を与えるなど）を満たす拡張文字列を、最適拡張文字列として選択するものである。
【００３６】
出力装置８は、通常の情報処理装置の場合と同様に、当該形態素解析装置で得られた形態素解析結果を、外部の種々の表示手段や通信手段等へ出力するものである。
【００３７】
図２は、拡張文字テーブル２の構成例を示す説明図である。図２において、拡張文字テーブル２には、上述した（１）式で定義される拡張文字ｅｉに対応する文字ｃiと拡張情報（ここでは区切り情報）ｄiとが対になって順次記載されている。具体的には、拡張文字テーブル２の１レコードを構成する各拡張文字ｅi-N+1，ｅi-N+2，…，ｅiは、対応する文字ｃi-N+1，ｃi-N+2，…，ｃiと、拡張情報ｄi-N+1，ｄi-N+2，…，ｄiが対になって記載されている。また、レコードの右側の欄には、この拡張文字列に対応する部分連鎖確率ｐ（ｅi｜ｅi-1、ｅi-2，…，ｅi-N+1）が記載されている。以下、拡張文字ｅiの記法を、＜ｃi，ｄi＞とする。また、拡張情報である区切り情報は、文字位置ｉの直後で形態素が分割される場合（ｄi＝１）と、分割されない場合（ｄi＝０）とで２値をとるものとする。
【００３８】
図３は、拡張文字テーブル２の具体例を示す図である。この例では、文字組の数Ｎが３の場合、すなわち、Ｎ＝３の場合のＮ−ｇｒａｍである部分拡張文字列ｅi-2，ｅi-1，ｅiに対応する部分連鎖確率ｐ（ｅi｜ｅi-1，ｅi-2）が各レコードに格納されている。
【００３９】
例えば、レコードＬ３０９は、＜東，０＞、＜京，１＞，＜都，０＞からなる部分拡張文字列とその部分拡張文字列に対応する部分連鎖確率が０．１２であることを示している。また、例えば、レコードＬ３０１等に現われる＜＃，１＞なる記法は、入力テキストの先頭又は末尾において部分連鎖確率を計算する際に、他の部分拡張文字列と同等の効果を奏するように便宜的に挿入する特別な（ダミーの）拡張文字である。
【００４０】
図４は、スコアテーブル３の構成例を示す説明図である。図４において、各拡張文字ｅ-(N-1)+1，ｅ-(N-1)+2，…，ｅ1，ｅ2…，ｅn，…，ｅn+(N-1)はそれぞれ、対応する文字ｃ-(N-1)+1，ｃ-(N-1)+2，…，ｃ1，ｃ2…，ｃn，…，ｃn+(N-1)と、拡張情報（ここでは区切り情報）ｄ-(N-1)+1，ｄ-(N-1)+2，…，ｄ1，ｄ2…，ｄn，…，ｄn+(N-1)が対になって、拡張文字列の全ての組み合わせ（各組み合わせを経路とも呼ぶ）に対して順次記録される。スコアテーブル３のレコードの右側の欄には、当該レコードに格納されている拡張文字列の経路に対する連鎖確率ｐ（Ｗ，Ｔ）が格納される。
【００４１】
図５は、格納処理が終了した後のスコアテーブル３の具体例を示す図である。この例では、「南京市」なるテキストが入力された場合の対応する拡張文字列の全て（「南京市」は３文字であるので、区切る、区切らないの２値の拡張情報の３乗で８種類）の経路と連鎖確率が格納されている。
【００４２】
（Ａ−２）第１の実施形態の動作
以下、第１の実施形態の形態素解析装置の動作（形態素解析方法）を図面を参照しながら説明する。
【００４３】
まず、第１の実施形態の形態素解析装置の全体の動作を、図６に示すフローチャートを参照しながら説明する。
【００４４】
第１の実施形態の形態素解析装置においては、入力テキストの部分文字列に対応するＮ−ｇｒａｍ部分拡張文字列のレコードが拡張文字テーブル２に存在しない場合、すなわち、当該部分文字列が未知語である場合に、当該部分文字列の部分連鎖確率を求めることができないので、形態素解析の精度が著しく低くなるという現象を、図６に示す以下の動作によって解決する。
【００４５】
（ステップＳ６０１）  入力装置１を介して入力テキストを本形態素解析装置に読み込む。
【００４６】
（ステップＳ６０２）  読み込んだテキストの各文字から拡張文字を生成し、入力テキストの先頭から末尾に至る拡張文字列の経路をもとめてスコアテーブル３に格納する。このステップＳ６０２では、入力テキスト中に拡張文字テーブル２に存在しない一定文字数を持つ文字列（Ｎ−ｇｒａｍ文字列）が存在する場合に、対応する部分拡張文字列、すなわち、未知語に対応した部分拡張文字列のレコードを推定する。
【００４７】
（ステップＳ６０３）  生成された全ての拡張文字列の経路に対する連鎖確率を求める。拡張文字列の連鎖確率は、当該拡張文字列を構成する部分拡張文字列のそれぞれに対応する部分連鎖確率を拡張文字テーブル２を参照することにより求めて、それぞれの部分連鎖確率の積として求める（上述した（２）式参照）。求めた連鎖確率は、スコアテーブル３の対応する拡張文字列の経路のレコードに格納しておく。
【００４８】
（ステップＳ６０４）  スコアテーブル３を参照し、得られた連鎖確率の中から最適な条件（例えば最大の値の連鎖確率を与えるなど）を満たす拡張文字列を最適拡張文字列として選択する。
【００４９】
（ステップＳ６０５）  出力装置８を介して、最適拡張文字列により決定される単語列の並びを含む形態素解析結果を出力する。
【００５０】
図７は、上述したステップＳ６０２の拡張文字列生成動作を詳細に説明するフローチャートである。
【００５１】
拡張文字列生成部４には、入力装置１を介してテキストが入力され、入力テキストの各文字毎に拡張情報（例えば区切り情報）を付加することにより拡張文字を形成する（ステップＳ７０１）。例えば、「南京市」という３文字の入力テキストに対しては、＜南、０＞、＜南、１＞、＜京、０＞、＜京、１＞、＜市、０＞、＜市、１＞の６種類の拡張文字が生成される。
【００５２】
次に、生成された拡張文字から入力テキストに対応する拡張文字列の一つの経路を作成し、スコアテーブル３に格納する（ステップＳ７０２）。この際には、経路全体に対する連鎖確率の格納（図８参照）は実行されない。このステップＳ７０２が後述するように繰り返されるので、図７に示す一連の処理が終了したときには、拡張文字列の組み合わせで定まる全ての経路がスコアテーブル３に格納される。この第１の実施形態では、拡張情報として２値の区切り情報を付加するので、Ｍ文字の入力テキストからは、２のＭ乗種類の経路が作成される。また、テキストの先頭と末尾の特殊拡張文字を考慮して、１つの拡張文字列はＭ＋２＊（Ｎ−１）文字とする。
【００５３】
例えば、Ｎ−ｇｒａｍが３−ｇｒａｍであれば、「南京市」という３文字の入力テキストに対しては、図５に示したように、＜＃，１＞−＜＃，１＞−＜南，０＞−＜京，０＞−＜市，０＞−＜＃，１＞−＜＃，１＞，＜＃，１＞−＜＃，１＞−＜南，０＞−＜京，０＞−＜市，１＞−＜＃，１＞−＜＃，１＞，…，＜＃，１＞−＜＃，１＞−＜南，１＞−＜京，１＞−＜市，１＞−＜＃，１＞−＜＃，１＞の７拡張文字でなる８種類の拡張文字列が生成される。
【００５４】
ある経路についてのスコアテーブル３への格納が終了すると、次に、拡張文字推定部５がｉ番目の文字位置を表わすカウンタを初期化（ｉ＝１）する（ステップＳ７０３）。
【００５５】
続いて、拡張文字推定部５は、直前のステップＳ７０２において拡張文字列生成部４が作成した拡張文字列（経路）の中から、カウンタｉで定まる位置のＮ個の格納文字列部分（Ｎ−ｇｒａｍ拡張文字列）ｅ-(N-1)+i，…，ｅiを取り出す（ステップＳ７０４）。この実施形態では、Ｎ＝３の場合のＮ−ｇｒａｍを想定しているので、取り出されるＮ−ｇｒａｍ拡張文字列はｅi-2，ｅi-1，ｅiとなる。例えば，＜＃，１＞−＜＃，１＞−＜南，０＞−＜京，０＞−＜市，０＞−＜＃，１＞−＜＃，１＞なる拡張文字列（経路）に対して、ｉ＝１の場合には、ｅ-1，ｅ0，ｅ1、すなわち、＜＃，１＞，＜＃，１＞，＜南，０＞がＮ−ｇｒａｍ拡張文字列として取り出される。
【００５６】
次に、取り出したＮ−ｇｒａｍ拡張文字列のパターンが、拡張文字テーブル２に存在するかどうかを検査する（ステップＳ７０５）。
【００５７】
存在しなければ、当該Ｎ−ｇｒａｍ拡張文字列の連鎖確率を推定する（ステップＳ７０６）。連鎖確率の推定は、例えば、当該Ｎ−ｇｒａｍ拡張文字列の拡張文字テーブル２に存在しない拡張文字（特殊拡張文字を除く）を、全ての文字と照合する汎用文字とみなし、拡張文字テーブル２の照合可能なレコードの連鎖確率の平均値を当該Ｎ−ｇｒａｍ拡張文字列の連鎖確率とする方法により行う。
【００５８】
次に、拡張文字推定部５は、推定した部分連鎖確率をもつＮ−ｇｒａｍ拡張文字列を拡張文字テーブル２に追加格納する（ステップＳ７０７）。
【００５９】
取り出したＮ−ｇｒａｍ拡張文字列のパターンが拡張文字テーブル２に存在すると（ステップＳ７０５で否定結果）、又は、Ｎ−ｇｒａｍ拡張文字列を拡張文字テーブル２に追加格納すると（ステップＳ７０７）、次に、文字位置を表わすカウンタｉを１インクリメントした後（ステップＳ７０８）、カウンタｉの値を値Ｍ＋Ｎ−１（Ｍは入力テキストの文字数、ＮはＮ−ｇｒａｍ文字列の文字数）とを比較することを通じて、現在処理対象となっている拡張文字列（経路）についての全てのＮ−ｇｒａｍ拡張文字列部分についての拡張文字テーブル２の存在有無の確認を終了したか否かを判定する（ステップＳ７０９）。
【００６０】
現在処理対象となっている拡張文字列（経路）についての全てのＮ−ｇｒａｍ拡張文字列部分についての拡張文字テーブル２の存在有無の確認を終了していなければ、上述したステップＳ７０４に戻る。
【００６１】
一方、１つの拡張文字列の経路を構成する全ての部分拡張文字列を処理した場合には（ステップＳ７０９で肯定結果）、拡張文字推定部５は動作を完了し、次に拡張文字列生成部４が未処理の拡張文字列の経路が残されているかどうかを検査し（ステップＳ７１０）、まだ、未処理の経路が残されているならば、上述したステップＳ７０２〜Ｓ７１０を繰り返す。全ての経路を処理したならば、拡張文字列生成部４は動作を終了する。
【００６２】
上述したステップＳ７０４〜Ｓ７０７の動作を、実例にて具体的に説明する。ここでは、Ｎ−ｇｒａｍ拡張文字列とその連鎖確率が格納されている拡張文字テーブル２の初期状態が、図３のレコードＬ３０１〜Ｌ３３４が格納されている状態であるとする。また、入力テキストが「南京市」であるとする。
【００６３】
ここで、「南京市」という入力テキストに対する拡張文字列（経路）の−つである＜＃、１＞−＜＃，１＞−＜南，０＞−＜京，０＞−＜市，０＞−＜＃，１＞−＜＃，１＞なる拡張文字列に対して、ｉ＝１の場合には、Ｎ−ｇｒａｍ拡張文字列ｅ-1，ｅ0，ｅ1として、＜＃，１＞，＜＃，１＞，＜南，０＞が取り出される（ステップＳ７０４）。図３に示す拡張文字テーブル２のレコードＬ３０１〜Ｌ３３４の中には、このパターン＜＃，１＞，＜＃，１＞，＜南，０＞が存在しないので（ステップＳ７０５）、当該Ｎ−ｇｒａｍ拡張文字列の拡張文字テーブル２に存在しない拡張文字＜南，０＞を汎用文字とみなし（このパターンの前半２拡張文字部分を有する当該Ｎ−ｇｒａｍ拡張文字列は拡張文字テーブル２に存在する）、拡張文字テーブル２に照合するレコードを探すと、レコードＬ３０１の＜＃，１＞、＜＃，１＞，＜東，０＞と、レコードＬ３２１の＜＃，１＞，＜＃，１＞，＜北，０＞とが検索される。その結果、レコードＬ３０１及びＬ３２１の連鎖確率の平均値（０．０６＋０．０６）／２＝０．０６が当該Ｎ−ｇｒａｍ拡張文字列＜＃，１＞，＜＃，１＞，＜南，０＞の連鎖確率として推定される（ステップＳ７０６）。しかる後に、当該Ｎ−ｇｒａｍ拡張文字列＜＃，１＞，＜＃，１＞，＜南，０＞とその連鎖確率０．０６とが拡張文字テーブル２に追加格納される（ステップＳ７０７）。この動作により、拡張文字テーブル２には、図３のレコードＬ３５１が追加される。
【００６４】
その後、カウンタｉの値を変化させてステップＳ７０４〜Ｓ７０８が繰り返し実行されるが、上述したと同様にして、レコードＬ３５２〜Ｌ３６４が新たに拡張文字テーブル２に追加される。
【００６５】
図８は、上述したステップＳ６０３の拡張文字列（経路）の連鎖確率の計算動作を詳細に説明するフローチャートである。
【００６６】
連鎖確率計算部６は、まず、スコアテーブル３に格納されている拡張文字列レコードを１つ取り出す（ステップＳ８０１）。次に、文字位置を表わすカウンタｉを初期化（ｉ＝１）する（ステップＳ８０２）。
【００６７】
そして、当該レコードから、カウンタｉの値で定まるｅ-(N-1)+iからｅiまでのＮ文字の部分拡張文字列、すなわちＮ−ｇｒａｍ拡張文字列を取り出し、拡張文字テーブル２中の当該Ｎ−ｇｒａｍ拡張文字列に照合するレコードの連鎖確率ｐ（ｅi）を取り出す（ステップＳ８０３）。
【００６８】
ここで、文字位置カウンタｉが１である（テキストの先頭のＮ−ｇｒａｍ拡張文字列である）ならば（ステップＳ８０４で肯定結果）、当該拡張文字列レコードの連鎖確率ｐ（Ｗ，Ｔ）に前記部分連鎖確率ｐ（ｅi）を格納する（ステップＳ８０５）。また、Ｎ−ｇｒａｍ拡張文字列が入力テキストの先頭でない場合には（ステップＳ８０４で否定結果）、当該拡張文字列レコードの連鎖確率ｐ（Ｗ，Ｔ）に前記部分連鎖確率ｐ（ｅi）を乗じて、新しい連鎖確率ｐ（Ｗ，Ｔ）とする（ステップＳ８０６）。
【００６９】
次に、文字位置カウンタｉを１インクリメントした後（ステップＳ８０７）、カウンタｉの値を値Ｍ＋Ｎ−１（Ｍは入力テキストの文字数、ＮはＮ−ｇｒａｍ文字列の文字数）とを比較することを通じて、現在処理対象となっている拡張文字列（経路）についての全てのＮ−ｇｒａｍ拡張文字列部分についての部分連鎖確率ｐ（ｅi）の取り出し、及び、それを反映した連鎖確率ｐ（Ｗ，Ｔ）の更新処理が終了したか否かを判定する（ステップＳ８０８）。
【００７０】
終了していなければ、上述したステップ８０８に戻る。一方、終了したならば、すなわち、１つの拡張文字列の経路の全てを構成する部分拡張文字列の部分連鎖確率を処理した場合には、当該拡張文字列の連鎖確率ｐ（Ｗ，Ｔ）をスコアテーブル３の該当する位置に格納する（ステップＳ８０９）。
【００７１】
連鎖確率ｐ（Ｗ，Ｔ）の計算（ステップＳ８０１〜Ｓ８０９）は、スコアテーブル３に格納されている全てのレコードについて行い、全てのレコードを処理したならば（ステップＳ８１０）、連鎖確率計算部６は、動作を終了する。
【００７２】
以下、具体例で連鎖確率の計算動作を説明する。入力テキストは「南京市」であるとする。また、拡張文字テーブル２には、図３の状態の部分拡張文字及び部分連鎖確率が格納されているものとする。また、スコアテーブル３には、図５に示すように「南京市」に対応する拡張文字列の経路が格納されているものとする。但し、図５に示す拡張文字列の各レコードの連鎖確率の欄は、初期状態では、空欄であるものとする。
【００７３】
まず、スコアテーブル３から１レコードを取り出す。例えば、図５のレコードＬ５０１を取り出す。レコードＬ５０１は、＜＃，１＞，＜＃，１＞，＜南，０＞，＜京，０＞，＜市，０＞，＜＃，１＞，＜＃，１＞となっており、まず、ｉ＝１の場合のＮ−ｇｒａｍ拡張文字列＜＃，１＞，＜＃，１＞，＜南，０＞の連鎖確率を拡張文字テーブル２から探す。図３のレコードＬ３５１が該当し、部分連鎖確率ｐ（ｅ1）として０．０６が得られる（ステップＳ８０３）。今、ｉ＝１であるので、当該拡張文字列の連鎖確率ｐ（Ｗ，Ｔ）にｐ（ｅi）を格納し、ｐ（Ｗ，Ｔ）＝０．０６となる。
【００７４】
次に、ｉを１だけ増やしてｉ＝２とする（ステップＳ８０７）。ｉ（＝２）＜Ｍ＋Ｎ−１（＝５）であるので（ステップＳ８０８）、ステップＳ８０３へ戻り、次のＮ−ｇｒａｍ拡張文字列＜＃，１＞，＜南，０＞，＜京，０＞の連鎖確率を拡張文字テーブル２から探す。図３のレコードＬ３５３が該当し、部分連鎖確率ｐ（ｅ2）として０．０１が得られる（ステップＳ８０３）。今、ｉ＝２であるので、当該拡張文字列の連鎖確率ｐ（Ｗ，Ｔ）は、元のｐ（Ｗ，Ｔ）（＝０．０６）にｐ（ｅ2）（＝０．０１）を乗じた値となる。すなわち、新しい連鎖確率は、ｐ（Ｗ，Ｔ）＝ｐ（ｅ1）×ｐ（ｅ2）である。同様な処理が、ｉ＞Ｍ＋Ｎ−１（＝５）となるまで繰り返される。
【００７５】
その結果、最終的には、＜＃，１＞，＜＃，１＞，＜南，０＞と、＜＃，１＞，＜南，０＞，＜京，０＞と、＜南，０＞，＜京，０＞，＜市，０＞と、＜京，０＞，＜市，０＞，＜＃，１＞と、＜市，０＞，＜＃，１＞，＜＃，１＞の５種の部分連鎖確率を乗じた値が、当該拡張文字列（レコードＬ５０１）の連鎖確率ｐ（Ｗ，Ｔ）となる。この連鎖確率をスコアテーブル３のレコードＬ５０１の連鎖確率の欄に格納する（ステップＳ８０９）。
【００７６】
以上の動作を、スコアテーブルの全てのレコードに対して行う（ステップＳ８１０）。
【００７７】
図９は、上述したステップＳ６０４の最適拡張文字列の選択動作を詳細に説明するフローチャートである。
【００７８】
まず、最適経路探索部７は、拡張文字列の選択条件を決定する（ステップＳ９０１）。選択条件としては、例えば、スコアテーブル３中で最大の連鎖確率をもつ拡張文字列のレコードを選択するなど、任意の選択条件を設定できるものとする。以後、拡張文字の選択条件としては、便宜的に最大連鎖確率をもつレコードを選択することにする。
【００７９】
次に、スコアテーブル３を参照し、最大の連鎖確率をもつレコードを取り出す（ステップＳ９０２）。例えば、図５に示すスコアテーブルの例では、最大の連鎖確率（＝０．４５９×１０ＥＸＰ−３（ＥＸＰ−３は−３乗を意味する））をもつレコードＬ５０４＜＃，１＞，＜＃，１＞，＜南，０＞，＜京，１＞，＜市，１＞，＜＃，１＞，＜＃，１＞が取り出される。
【００８０】
次に、文字位置を示すカウンタｉを初期化し（ステップＳ９０３）、拡張文字ｅｉ＝＜ｃｉ，ｄｉ＞の文字ｃｉを出力する（ステップＳ９０４）。ここで、当該拡張文字の拡張情報（区切り情報）ｄｉが１ならば（ステップＳ９０５）、続けて単語区切り記号（例えば「／」等）を出力し（ステップＳ９０６）、拡張情報（区切り情報）ｄｉが０ならば直ちにステップＳ９０７に進む。
【００８１】
次に、カウンタｉを１インクリメントした後（ステップＳ９０７）、カウンタｉの値を値Ｍ＋Ｎ−１とを比較することを通じて、全て拡張文字についての出力処理を終了していないことを確認してステップＳ９０４に戻って次の拡張文字についての出力処理に移行する（ステップＳ９０８）。
【００８２】
このような繰り返し処理により、拡張文字列の全ての拡張文字についての出力処理が完了したら、テキスト区切り記号（例えば、改行コード等）を出力する（ステップＳ９０９）。その結果、例えば、拡張文字列のレコードＬ５０４では、「＃／＃／南京／市／＃／＃／」が出力され、「南京」と「市」が形態素として抽出されたことになる。
【００８３】
最後に、上述したステップＳ９０１の選択条件に適合する拡張文字列（経路；レコード）が残っているかどうかを検査し（ステップＳ９１０）、選択条件に適合する全てのレコードを処理したならば、最適拡張文字列の一連の選択動作を終了する。
【００８４】
（Ａ−３）第１の実施形態の効果
以上、説明した第１の実施形態の形態素解析装置によれば、以下の効果を奏することができる。
【００８５】
入力テキスト中に拡張文字テーブルに存在しない、未知のＮ−ｇｒａｍ文字列が存在したとしても、拡張文字推定部を備え、拡張文字テーブルから未知の部分拡張文字列とその連鎖確率を推定するようにしたので、従来ならば未知語として扱われていた文字列を形態素解析の精度を損なうことなく推定することができる。
【００８６】
また、入力テキスト中に拡張文字テーブルに存在しない、未知のＮ−ｇｒａｍ文字列が存在したとしても、拡張文字推定部を備え、推定した拡張文字列の部分拡張文字列及び連鎖確率を拡張文字テーブルに格納するようにしたので、次回の形態素解析時からは、拡張文字の推定が必要なくなり、効率的な形態素解析を実施することができる。
【００８７】
（Ａ−４）第１の実施形態の変形実施形態
第１の実施形態においては、スコアテーブル３から選択する拡張文字列の選択条件を最大の連鎖確率をもつ拡張文字列としたが、この選択条件を、任意の閾値以上の連鎖確率をもつ拡張文字列とすれば、複数の候補の形態素解析結果を出力することができる。
【００８８】
また、上記第１の実施形態においては、拡張文字推定部５が、取り出したＮ−ｇｒａｍ拡張文字列のパターンが、拡張文字テーブル２に存在しない場合に、そのうちの１個の拡張文字（特殊拡張文字を除く）を、全ての文字と照合する汎用文字とみなし、拡張文字テーブル２から照合するレコードを取り出して、その連鎖確率の平均値（相加平均値）を当該Ｎ−ｇｒａｍ拡張文字列の連鎖確率とするものであったが、相乗平均を用いるようにしても良い。
【００８９】
さらに、Ｎ−ｇｒａｍ拡張文字列のＮが大きい場合には、１個の拡張文字（特殊拡張文字を除く）を全ての文字と照合する汎用文字とみなして求めた平均値と、２個の拡張文字（特殊拡張文字を除く）を全ての文字と照合する汎用文字とみなして求めた平均値との重み付け平均処理等をさらに行うようにしても良い。
【００９０】
さらにまた、取り出したＮ−ｇｒａｍ拡張文字列のパターンが拡張文字テーブル２に存在しない場合において、そのＮ−ｇｒａｍ拡張文字列について推定した連鎖確率に応じて、他の連鎖確率を修正するようにしても良い。例えば、Ｎ−ｇｒａｍ拡張文字列を拡張文字テーブル２に格納する場合、一般的には、先頭側のＮ−１個の拡張文字が同じ全てのＮ−ｇｒａｍ拡張文字列の連鎖確率の和が１になるようになされているが、そのＮ−ｇｒａｍ拡張文字列について推定した連鎖確率に応じ、この条件を満足するように、他のＮ−ｇｒａｍ拡張文字列の連鎖確率を修正するようにしても良い。
【００９１】
ところで、拡張文字テーブル２に、Ｎ−ｇｒａｍ拡張文字列の情報だけでなく、（Ｎ−Ｘ）−ｇｒａｍ拡張文字列とＸ−ｇｒａｍ拡張文字列との情報も格納しておき、拡張文字列（ある経路）から取り出したＮ−ｇｒａｍ拡張文字列のパターンが拡張文字テーブル２に存在しない場合には、そのＮ−ｇｒａｍ拡張文字列の連鎖確率を、Ｎ−ｇｒａｍ拡張文字列を分割した（Ｎ−Ｘ）−ｇｒａｍ拡張文字列とＸ−ｇｒａｍ拡張文字列の連鎖確率から求める方法も提案されている。
【００９２】
上記実施形態において、例えば、平均処理に供するレコード数が少ない場合等には、上述したＮ−ｇｒａｍ拡張文字列の連鎖確率を、Ｎ−ｇｒａｍ拡張文字列を分割した（Ｎ−Ｘ）−ｇｒａｍ拡張文字列とＸ−ｇｒａｍ拡張文字列の連鎖確率から求める方法に切り替えるようにしても良い。
【００９３】
なお、Ｎ−ｇｒａｍ拡張文字列の連鎖確率を、Ｎ−ｇｒａｍ拡張文字列を分割した（Ｎ−Ｘ）−ｇｒａｍ拡張文字列とＸ−ｇｒａｍ拡張文字列の連鎖確率から求める方法は、実際上、必要とするメモリ容量が膨大であり、また、Ｎ−ｇｒａｍ拡張文字列という枠組みだけで処理できないので、上述した実施形態の連鎖確率の推定方法より、実製品への適用が難しいものである。
【００９４】
また、第１の実施形態においては、拡張文字が文字（文字種）と区切り情報とでなるものを示したが、さらに、品詞情報（活用形を含んでいても良い）を含む拡張文字であっても良い。この場合、拡張文字推定部５が行う連鎖確率の推定処理（平均化処理）は、品詞情報が一致するレコード群毎に行うこととなり、拡張文字テーブル２への追加も、品詞情報が異なれば全て追加することになる。なお、照合するレコードの数が少ない品詞情報に係る、拡張文字テーブル２に存在しない入力テキストのＮ−ｇｒａｍ拡張文字列に対しては、拡張文字テーブル２への追加を実行しないようにしても良い。
【００９５】
（Ｂ）第２の実施形態
以下、本発明による自然言語処理装置を形態素解析装置に適用した第２の実施形態を図面を参照しながら詳述する。
【００９６】
（Ｂ−１）第２の実施形態の構成
図１０は、第２の実施形態の形態素解析装置の構成を示す機能ブロック図であり、上述した第１の実施形態に係る図１との同一、対応部分には同一符号を付して示している。
【００９７】
図１０において、この第２の実施形態の形態素解析装置は、第１の実施形態と同様な入力装置１、拡張文字テーブル２（図２参照）、スコアテーブル３（図４参照）、拡張文字列生成部４、拡張文字推定部５、連鎖確率計算部６、最適経路探索部７及び出力装置８に加えて、さらに、未知語検出部９、非対象文字パターンメモリ１０、入力制御部１１、入力バッファメモリ１２、未知語バッファメモリ１３及び出力合成部１４を有する。
【００９８】
第１の実施形態と同様な入力装置１、拡張文字テーブル２、スコアテーブル３、拡張文字列生成部４、拡張文字推定部５、連鎖確率計算部６、最適経路探索部７及び出力装置８の機能は、第１の実施形態と同様であるので、その説明は省略する。
【００９９】
第２の実施形態において新たに設けられた未知語検出部９、非対象文字パターンメモリ１０、入力制御部１１、入力バッファメモリ１２、未知語バッファメモリ１３及び出力合成部１４は、入力テキスト中に存在する未知語文字列を検出し、当該未知語文字列を推定し、それを形態素解析結果に反映させるために設けられたものである。
【０１００】
未知語検出部９は、入力装置１からの入力テキスト中の未知語部分を非対象文字パターンメモリ１０に格納されている情報に基づいて検出し、拡張文字テーブル２の格納内容を参照して、検出した未知語文字列に対して正しいと思われる文字列を推定するものである。
【０１０１】
非対象文字パターンメモリ１０は、未知語検出部９が、未知語を検出する際に利用する、当該形態素解析装置の形態素解析の対象となり得ない文字（非対象文字）のパターンを格納しているものである。
【０１０２】
入力制御部１１は、未知語検出部９により入力テキスト中に未知語が検出され、正しいと推定された入力テキストを制御するものである。
【０１０３】
入力バッファメモリ１２は、未知語検出部９や入力制御部１１が新たに作成した（推定した）１又は複数の入力テキストを一時保存するものである。
【０１０４】
未知語バッファメモリ１３は、入力制御部１１の制御下で、未知語検出部９が検出した未知語部分の文字列を一時退避保存しておくものである。
【０１０５】
出力合成部１４は、入力制御部１１が制御する複数の入力テキストについての最適経路探索部７からの形態素解析結果と、未知語バッファメモリ１３に退避されている未知語部分の文字列をを合成し、所望の形態素解析結果を得るための処理を行うものである。
【０１０６】
図１１は、第２の実施形態における非対象文字パターンテーブル１０の構成例を示す説明図である。
【０１０７】
非対象文字とは、当該形態素解析装置への入力テキスト中に含まれるはずがないと考えられる文字のことであり、例えば、文字化けやミスタイプ等によって入力テキスト中に生じる可能性が高いものである。非対象文字パターンメモリ１０には、非対象文字の集合が予め設定格納されている。
【０１０８】
図１１において、例えば、レコードＬ１１０１には「∬‰♪¶‡」という通常の文章では生じることが考えられない非対象文字の集合が登録されており、入力テキスト中に現われる「∬‰♪¶‡」の各文字は、非対象文字であることが示されている。また、レコードＬ１１０２に示すように、非対象文字パターンとして、［辧−咨］や［嵌−巍］のように、［開始文字コード−終了文字コード］の表現による文字コード（テキスト）の範囲で指定することもできる。すなわち、入力テキスト中に、このコード範囲のコードを有する文字がある場合には、その文字は非対象文字であることが示されている。現在の文章の多くは、第２水準の漢字を含むことはごく稀であり、含まれていてもその第２水準の漢字はある程度限られたものとなり、第２水準の漢字の多くを非対象文字として登録することは実際的である。
【０１０９】
図１２は、第２の実施形態における入力バッファメモリ１２の格納例を示す説明図である。
【０１１０】
図１２（Ａ）は、未知語検出部９によって、入力テキスト中の未知語が検出され、当該未知語候補の推定が行われた後の入力テキスト（ここでは２種類）が格納されている状態を示している。レコードＬ１２０１の「この形態素の答における利点は」とレコードＬ１２０２の「この形態素解析における利点は」との差分である「の答」と「解析」の部分が、未知語検出部９によって推定された未知語部分である。
【０１１１】
図１２（Ｂ）は、未知語検出部９をもってしても推定できなかった未知語部分が存在した場合に、未知語検出部９によって未知語部分にマークして格納されている状態である。実際の入力テキストが「この形態♪‰¶∬おける利点は」であった場合に、未知語検出部９が検出した未知語「♪‰¶∬」の文字長（＝４）が、当該形態素解析装置の未知語推定能力である３文字（Ｎ＝３のＮ−ｇｒａｍ文字列を扱うようにしている）を超えていると（後述する図１５参照）、未知語部分を推定できないので、未知語部分の領域を規定するかっこ｛｝でマークして格納される。
【０１１２】
なお、入力バッファメモリ１２は、例えば、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）形式のバッファ、すなわち、先入れ先出し形式のバッファとなっており、例えば、レコードＬ１２０１が取り出されて処理されると、レコードＬ１２０２がレコードＬ１２０１の位置にシフトしてレコードＬ１２０２の今までの位置が空となるように、次々と上位レコードのエリアへシフトする構成となっている。
【０１１３】
図１３は、第２の実施形態における未知語バッファメモリ１３の格納例を示す説明図である。
【０１１４】
未知語バッファメモリ１３には、図１２（Ｂ）について説明したような、未知語検出部９をもってしても推定できなかった未知語部分が存在した場合に、入力制御部１１によって当該未知語部分が取り出されて格納されるものである。実際の入力テキストが「この形態♪‰¶∬おける利点は」であった場合には、その未知語部分「♪‰¶∬」が、未知語バッファメモリ１３に格納される。
【０１１５】
（Ｂ−２）第２の実施形態の動作
以下、第２の実施形態の形態素解析装置の動作（形態素解析方法）を図面を参照しながら説明する。
【０１１６】
まず、第２の実施形態の形態素解析装置の全体の動作を、図１４に示すフローチャートを参照しながら説明する。なお、図１４において、図６との同一、対応ステップには同一符号を付して示している。
【０１１７】
第２の実施形態においては、入力テキストの部分文字列に、自然言語の通常の文章には存在し得ない文字列としての未知語が存在する場合に、当該未知語部分を検出し、可能な限り復元することを以下の動作によって実施する。なお、（ステップＳ６０１）〜（ステップＳ６０５）の各ステップは、第１の実施形態と同様の動作である。
【０１１８】
（ステップＳ６０１）  入力装置１を介して入力テキストを本形態素解析装置に読み込む。
【０１１９】
（ステップＳ１４０１）  入力テキストの未知語部分を検出し、可能な限り未知語部分を復元したテキスト（以下、推定テキストと称する）を生成して入力バッファメモリ１２に格納する。また、未知語部分の推定ができない場合には、当該未知語部分にマークを付したテキスト（以下、マークテキストと称する）を入力バッファメモリ１２に格納する。なお、入力テキストの未知語部分が検出できない場合には、当然に復元やマーク付与処理は実行されない。また、次のステップＳ１４０２の処理も省略される。
【０１２０】
（ステップＳ１４０２）  ステップＳ１４０１にて生成された推定テキスト又はマークテキストが格納されている入力バッファメモリ１２を制御し、以下のステップにテキストを渡す。また、推定できない未知語部分は、未知語バッファメモリ１３に格納する。
【０１２１】
（ステップＳ６０２）  入力バッファメモリ１２から読み込んだテキストの各文字から拡張文字を生成し、入力テキストの先頭から末尾に至る拡張文字列の経路をもとめてスコアテーブル３に格納する。このステップでは、入力テキスト中に拡張文字テーブル２に存在しない一定文字数を持つ文字列（Ｎ−ｇｒａｍ文字列）が存在する場合に、対応する部分拡張文字列、すなわち、未知語に対応した部分拡張文字列のレコードを推定する。
【０１２２】
（ステップＳ６０３）  生成された全ての拡張文字列の経路に対する連鎖確率を求める。拡張文字列の連鎖確率は、当該拡張文字列を構成する部分拡張文字列のそれぞれに対応する部分連鎖確率を拡張文字テーブル２を参照することにより求めて、それぞれの部分連鎖確率の積として求める。求めた連鎖確率は、スコアテーブル３の対応する拡張文字列の経路のレコードに格納しておく。
【０１２３】
（ステップＳ６０４）  スコアテーブル３を参照し、得られた連鎖確率の中から最適な条件（例えば最大の値の連鎖確率を与えるなど）を満たす拡張文字列を最適拡張文字列として選択する。
【０１２４】
（ステップＳ１４０３）  入力制御部１１によって制御された複数のテキストの形態素解析結果を出力として合成する。なお、入力テキストに未知語（非対象文字）部分がない場合には、このステップは、最適経路探索部７からの形態素解析結果をそのまま出力装置８に引き渡す処理となる。
【０１２５】
（ステップＳ６０５）  出力装置８を介して単語列の並びを含む形態素解析結果として出力する。
【０１２６】
図１５は、ステップＳ１４０１による未知語（非対象文字）の検出動作を詳細に説明するフローチャートである。
【０１２７】
未知語検出部９は、非対象文字パターンメモリ１０を参照することにより、入力テキスト中の全ての非対象文字連続部分と、各非対象文字連続部分の非対象文字数Ｌを検出する（ステップＳ１５０１）。なお、この処理により、非対象文字が１個も検出できない場合には、分岐線の図示は省略しているが、一連の処理を終了する。
【０１２８】
次に、拡張文字テーブル２に格納されているＮ−ｇｒａｍ拡張文字列の次数（文字数）Ｎと、ある１個の非対象文字連続部分についての非対象文字数Ｌと比較する（ステップＳ１５０２）。この比較は、現在処理対象の非対象文字連続部分について、拡張文字テーブル２の格納内容を利用して正しいと思われる文字列が推定できるか否かの判定を意味する。
【０１２９】
未知語検出部９は、Ｌ＜Ｎであるならば（ステップＳ１５０２で肯定結果）、現在処理対象の非対象文字連続部分の前又は及び後の非対象文字以外の文字を含み、非対象文字部分がいずれの文字であっても良い、Ｎ−ｇｒａｍ文字列（拡張情報は何れでも良い）に合致するレコードが拡張文字テーブル２に存在するかを検索し（ステップＳ１５０３）、照合したレコードで定まる、非対象文字列部分に置き換え可能な文字列パターンが存在するか否かを判定する（ステップＳ１５０４）。
【０１３０】
そして、非対象文字列部分に置き換え可能な文字列パターンが存在するならば（ステップＳ１５０４で肯定結果）、当該非対象文字列部分に代えて、その文字列パターンを適用した推定テキストを生成して入力バッファメモリ１２に格納する（ステップＳ１５０５）。ここで、ステップＳ１５０３の検索において、非対象文字列部分に置き換え可能な文字列パターンとして複数のものが得られる場合も想定され、この場合には、異なる文字列パターンを有する複数の推定テキストを生成して入力バッファメモリ１２に格納する。
【０１３１】
なお、入力バッファメモリ１２に格納し得る推定テキストであるか否かを連鎖確率を利用して判定するようにしても良い。このことについては、後述する具体例を用いた処理で説明する。
【０１３２】
一方、非対象文字数ＬがＮ−ｇｒａｍ文字列の次数Ｎ以上である場合（ステップＳ１５０２で否定結果）や、非対象文字列部分に置き換え可能な文字列パターンが存在しない場合（ステップＳ１５０４で否定結果）には、未知語（非対象文字列）の本来の文字列への推定が不可能であるので、入力テキストの非対象文字列に未知語マーカを付与してマークテキストを生成し、入力バッファメモリ１２に格納する（ステップＳ１５０６）。
【０１３３】
しかる後に、入力テキスト中の非対象文字の全ての連続部分を処理したかどうかを判定し（ステップＳ１５０７）、未処理の非対象文字の連続部分が存在する場合には、上述したステップＳ１５０２〜Ｓ１５０７の処理を他の非対象文字の連続部分に対して繰り返し、入力テキスト中の非対象文字の全ての連続部分を処理した場合には、未知語検出部９は一連の動作を終了する。
【０１３４】
例えば、「この形態素‰¶における利点は」という入力テキストに対して、未知語検出部９が、図１１に示す非対象文字パターンメモリ１０を参照すると、レコードＬ１１０１より「‰」及び「¶」が非対象文字であることが判り、前記入力テキストの「‰¶」が未知語（非対象文字連続部分）であると検出し、その長さＬが２であると検出する（ステップＳ１５０１）。
【０１３５】
ここで、Ｎ−ｇｒａｍ文字列の次数Ｎを３とすると、Ｌ＜Ｎとなり（ステップＳ１５０２）、拡張文字テーブル２を検索する（ステップＳ１５０３）。
【０１３６】
今、この検索が、非対象文字連続部分「‰¶」の前側の非対象文字以外の文字「素」と、非対象文字連続部分「‰¶」に対する２個の汎用文字とのＮ−ｇｒａｍ文字列（３−ｇｒａｍ文字列）で行われたとする。また、拡張文字テーブル２には、例えば「＜素，１＞＜の，０＞＜答，１＞」及び「＜素，１＞＜解，０＞＜析，１＞」なるＮ−ｇｒａｍ文字列のレコードが存在したとする。
【０１３７】
この場合には、拡張文字テーブル２の検索により、非対象文字連続部分「‰¶」に置き換えられる文字列パターンとして、「の答」及び「解析」の存在が確認され（ステップＳ１５０４）、推定テキスト「この形態素の答における利点は」と「この形態素解析における利点は」が生成されてこれらが入力バッファメモリ１２に格納される（ステップＳ１５０５）。この格納状態での入力バッファメモリ１２は、上述した図１２（Ａ）に示すようになる。
【０１３８】
なお、検索により発見した「＜素，１＞＜の，０＞＜答，１＞」及び「＜素，１＞＜解，０＞＜析，１＞」なるＮ−ｇｒａｍ文字列の連鎖確率を取り出し、その連鎖確率を閾値と比較し、閾値を越えている場合にのみ、推定テキストの生成を行うようにしても良い。
【０１３９】
また、非対象文字連続部分「‰¶」の前側の非対象文字以外の文字「素」と、非対象文字連続部分「‰¶」に対する２個の汎用文字とのＮ−ｇｒａｍ文字列（３−ｇｒａｍ文字列）での検索で「＜素，１＞＜の，０＞＜答，１＞」というＮ−ｇｒａｍ文字列が得られた場合、非対象文字連続部分「‰¶」に置き換え可能な検索文字列「＜の，０＞＜答，１＞」と、入力テキストにおける非対象文字連続部分「‰¶」の後側の非対象文字以外の文字「に」とのＮ−ｇｒａｍ文字列（３−ｇｒａｍ文字列）で再度拡張文字テーブル２を照合し、このＮ−ｇｒａｍ文字列（３−ｇｒａｍ文字列）が検索できたことで、非対象文字連続部分「‰¶」が「の答」と推定するようにしても良い。この場合においても、例えば、前側の非対象文字以外の文字「素」を含むＮ−ｇｒａｍ文字列の検索で発見できたＮ−ｇｒａｍ文字列の連鎖確率と、後側の非対象文字以外の文字「に」を含むＮ−ｇｒａｍ文字列の検索で発見できたＮ−ｇｒａｍ文字列の連鎖確率とを乗算した後、その乗算値を閾値と比較し、閾値を越えている場合にのみ、推定テキストの生成を行うようにしても良い。
【０１４０】
一方、入力テキストが、例えば、「この形態♪‰¶∬おける利点は」であった場合には、未知語検出部９は、以下のように動作する。未知語検出部９が、図１１に示す非対象文字パターンメモリ１０を参照すると、レコードＬ１１０１より「♪」、「‰」、「¶」及び「∬」が非対象文字であることが判り、前記入力テキストの「♪‰¶∬」が未知語（非対象文字連続部分）であると検出し、その長さＬが４であると検出する（ステップＳ１５０１）。なお、通信手段で受信したテキストが入力テキストの場合等では、バーストエラーが発生し易く、多くの非対象文字が連続することも発生する恐れがある。
【０１４１】
この場合にはＬ＞Ｎとなるので（ステップＳ１５０２）、未知語部分にマーカを付与したマーカテキスト「この形態｛♪‰¶∬｝おける利点は」が生成されて入力バッファメモリ１２に格納される（ステップＳ１５０６）。上述した図１２（Ｂ）は、この場合の入力バッファメモリ１２の格納状態を示している。
【０１４２】
図１６は、上述したステップＳ１４０２の入力制御の動作を詳細に説明するフローチャートである。
【０１４３】
入力制御部１１は、入力バッファメモリ１２からレコードを１つ取り出す（ステップＳ１６０２）。そして、取り出したレコード中に、未知語マーカが付与されているか否かを判定する。
【０１４４】
未知語マーカが付与されている（すなわち、取り出したレコードがマーカテキストである）ならば（ステップＳ１６０２で肯定結果）、当該レコードより未知語マーカ部分を切り出し、マーカを除去して未知語バッファメモリ１３に格納する（ステップＳ１６０３；図１３参照）。この場合、マーカテキストは、未知語部分が除去されて２つに分割される。
【０１４５】
一方、ステップＳ１６０２にて未知語マーカが検出されなかった場合（すなわち、取り出したレコードが推定テキストである場合）には、未知語なし記号（例えば、「＠」など）を未知語バッファメモリ１３に格納する（ステップＳ１６０４）。
【０１４６】
しかる後に、当該マーカテキストの未知語部分より前半の部分又は当該推定テキストを拡張文字列生成部４に渡す（ステップＳ１６０５）。ここで、後述する出力合成部１４の動作と同期するために、入力制御部１１は、未知語バッファメモリ１３が空になるのを監視し（ステップＳ１６０６）、未知語バッファメモリ１３が空になれば、当該レコードの全てを処理したかどうかをチェックする（ステップＳ１６０７）。
【０１４７】
当該レコードの全てを処理していなければ、すなわち、マーカテキストの未知語部分より後半の部分が残されているならば（ステップＳ１６０７で否定結果）、ステップＳ１６０２〜Ｓ１６０７を繰り返す。
【０１４８】
また、当該レコードを全て処理したならば、入力バッファメモリ１２中に、テキストが残されていないかチェックし（ステップＳ１６０８）、未処理のレコードが入力バッファメモリ１２中に残されているならば、ステップＳ１６０１〜Ｓ１６０８を繰り返し、未処理のレコードが入力バッファメモリ１２中に残されていないならば、最後に、入力終了記号（例えば、「＄」など）を未知語バッファメモリ１３に格納し（ステップＳ１６０９）、入力制御部１１は一連の動作を終了する。
【０１４９】
例えば、入力バッファメモリ１２が図１２（Ａ）の状態であるならば、最初に、「この形態素の答における利点は」（レコードＬ１２０１）が取り出され（ステップＳ１６０１）、当該レコード中に未知語マーカはないので（ステップＳ１６０２）、未知語なし記号「＠」が未知語バッファメモリ１３に格納される（ステップＳ１６０４）。そして、当該レコード「この形態素の答における利点は」が拡張文字列生成部４に渡され（ステップＳ１６０５）、以降は、第１の実施形態と同様に形態素解析が行われる。一方、入力バッファメモリ１２が図１２（Ｂ）の状態であるならば、「この形態｛♪‰¶∬｝おける利点は」（レコードＬ１２０３）が取り出され（ステップＳ１６０１）、未知語マーカが検出され（ステップＳ１６０２）、当該未知語部分「♪‰¶∬」が未知語バッファメモリ１３に格納される（ステップＳ１６０３）。そして、当該マーカテキストの未知語部分より前半の部分「この形態」が拡張文字列生成部４に渡され（ステップＳ１６０５）、以降は、第１の実施形態と同様に形態素解析が行われる。
【０１５０】
しかる後に、未知語バッファメモリ１３を監視することにより、後述する出力合成の動作と同期を図り（ステップＳ１６０６）、出力合成の動作が完了すれば、次の推定テキスト（Ｌ１２０２「この形態素解析における利点は」）又は、マーカテキストの未知語部分より後半の部分（「おける利点は」）が同様に処理される。最後に、入力終了記号（例えば、「＄」など）が未知語バッファメモリ１３に格納される（ステップＳ１６０９）。
【０１５１】
図１７は、上述したステップＳ１４０３の出力合成の動作を詳細に説明するフローチャートである。
【０１５２】
出力合成部１４は、未知語バッファメモリ１３が空であるかどうかで、入力制御部１１と同期する（ステップＳ１７０１）。すなわち、未知語バッファメモリ１３に未知語又は未知語なし記号「＠」が格納された時点で動作を開始し、未知語バッファメモリ１３から未知語テキストを取り出す（ステップＳ１７０２）。そして、取り出した未知語テキストが、入力終了記号「＄」か否かを判定する（ステップＳ１７０３）。入力終了記号「＄」であれば一連の出力制御動作を終了し、入力終了記号「＄」でなければ（ステップＳ１７０３で否定結果）、最適経路探索部７から出力テキストを受け取る（ステップＳ１７０４）。
【０１５３】
その後、ステップＳ１７０２で取り出した未知語テキストが未知語なし記号「＠」か否かを判定する（ステップＳ１７０５）。未知語なし記号「＠」でなければ、最適経路探索部７からの出力テキストに未知語テキストを付加した後（ステップＳ１７０６）。未知語なし記号「＠」であれば、最適経路探索部７からの出力テキストをそのまま出力装置８へ渡す（ステップＳ１７０７）。
【０１５４】
最後に、未知語バッファメモリ１３をクリアし（ステップＳ１７０８）、上述したステップＳ１７０１へ戻る。未知語バッファメモリ１３がクリアされることにより、入力制御部１１は次の動作を開始する。
【０１５５】
例えば、入力バッファメモリ１２が図１２（Ｂ）の状態であるならば、未知語部分「♪‰¶∬」が未知語バッファメモリ１３に格納される（ステップＳ１６０３）。そして、当該マーカテキストの未知語部分より前半の部分「この形態」が拡張文字列生成部４に渡され（ステップＳ１６０５）、以降は、第１の実施形態と同様に形態素解析が行われる。出力合成部１４は、未知語バッファメモリ１３に未知語部分「♪‰¶∬」が格納されたことで動作を開始し（ステップＳ１７０１）、最適経路探索部７から出力テキスト「／この／形態／」を受け取り（ステップＳ１７０４）、当該テキストに未知語を付加し（ステップＳ１７０６）、「／この／形態／♪‰¶∬／」が出力される（ステップＳ１７０７）。
【０１５６】
次に、未知語バッファメモリ１３がクリアされる（ステップＳ１７０８）ので、入力制御部１１は、動作を再開し、マーカテキストの未知語部分より後半の部分「おける利点は」が同様に処理され、最適経路探索部７から出力テキスト「おける／利点／は／」を受け取り（ステップＳ１７０４）、この場合、未知語テキストは未知語なし記号「＠」であるので、そのまま、「おける／利点／は／」が出力される（ステップＳ１７０７）。
【０１５７】
（Ｂ−３）第２の実施形態の効果
この第２の実施形態においても、第１の実施形態と同様な構成要素を備えるので、第１の実施形態と同様な効果を奏することができる。
【０１５８】
これに加えて、第２の実施形態によれば、未知語検出部９、入力制御部１１及び出力合成部１４等を備えるので、以下の効果を奏することができる。
【０１５９】
すなわち、第２の実施形態によれば、未知語部分（非対象文字列）を検出し、その未知語部分が短いならば、その未知語部分の本来の文字列と思われる文字列を推定することができる。
【０１６０】
例えば、「この形態素‰¶における利点は」という入力テキストに対して、「／この／形態素／の／答／に／おける／利点／は／」と「／この／形態素／解析／に／おける／利点／は／」という形態素解析結果を得ることができる。すなわち、「‰¶」なる未知語を検出し、従来ならば未知語として扱われていた文字列を「の答」や「解析」などのように正しいと思われる文字列として推定することができる。
【０１６１】
また、第２の実施形態の形態素解析装置によれば、未知語部分（非対象文字列）を検出し、その文字数が多い場合においても、未知語以外の部分の形態素解析の精度を損なうことなく所望の形態素解析結果を得ることができる。
【０１６２】
例えば、「この形態♪‰¶∬おける利点は」という入力テキストに対して、「この形態」及び「おける利点は」を独立して形態素解析し、合成により「／この／形態／♪‰¶∬／おける／利点／は／」なる形態素解析結果を得ることができる。すなわち、従来ならば、「この形態♪‰¶∬おける利点は」全体を形態素解析する構成であったので、未知語部分「♪‰¶∬」の影響が以降の解析精度に影響していたが、第２の実施形態によれば、未知語の影響を受けずに正確な形態素解析を行うことができる。
【０１６３】
（Ｂ−４）第２の実施形態の変形実施形態
第２の実施形態においては、未知語を推定できない場合に入力テキストを分割し、それぞれについて形態素解析を順次実施し、最後に合成するものであったが、複数の分割テキストに対する形態素解析を並列に実施するようにしても良い。
【０１６４】
また、第２の実施形態においては、未知語を検出するための非対象文字が１文字を単位としたものであったが、それに加えて、２文字以上の組み合わせ（熟語的に）でも非対象文字パターンメモリ１０に登録しておくようにしても良い。このようにした場合には、例えば、一般的な文章で用いられることがない熟語を、それと等価な一般的な文章で良く用いられる熟語に置換して形態素解析に供するようなことができる。
【０１６５】
さらに、第２の実施形態においては、非対象文字パターンメモリ１０が固定のものを示したが、非対象文字パターン編集処理部及びそれに対する入力装置を設けて、ユーザが登録、削除等を実行できるものであっても良い。
【０１６６】
さらにまた、第２の実施形態においても、未知語検出部９が、拡張文字列生成部４や拡張文字推定部５や連鎖確率計算部６等の形態素解析要素が利用する拡張文字テーブル３を利用するものを示したが、これとは別個に構成されたテーブルを用いるようにしても良い。例えば、拡張情報を含まない文字のＮ−ｇｒａｍ文字列（好ましくは連鎖確率は有する）を格納したテーブルを用いるようにしても良い。
【０１６７】
また、第２の実施形態においては、非対象文字数ＬがＮ−ｇｒａｍ拡張文字列の次数（文字数）Ｎ以上であるときには、正しいと思われる文字列への推定動作を実行しないものであったが、Ｌが２Ｎ−２以下であれば、推定精度は落ちるが、推定動作を行うようにしても良い。例えば、非対象文字列をほぼ均一に２分し、前半の非対象文字列とその前側の対象文字とで拡張文字テーブルを走査すると共に、後半の非対象文字列とその後側の対象文字とで拡張文字テーブルを走査し、両走査結果を統合することにより、正しいと思われる文字列を推定するようにしても良い。
【０１６８】
第２の実施形態は、入力テキストの未知語部分を正しいと思われる推定された文字列に置き換えた後に、第１の実施形態に係る方法で形態素解析を行うものであったが、他の方法により形態素解析するものであっても良く（例えば、単語辞書を利用したもの）、さらには、推定置換後の入力テキスト（推定テキスト）に対して形態素解析以外の自然言語処理を施すものであっても良く、推定置換だけでそれ以降、自然言語処理を行わないものにも本発明を適用できる。例えば、通信されてきたテキストにおける文字化け（未知語）を本来の文字に戻す手段としてのみ、第２の実施形態の特徴を適用することができる。
【０１６９】
（Ｃ）他の実施形態
上述した第１及び第２の実施形態の説明においても、種々変形実施形態について言及したが、さらに、以下のような変形実施形態を挙げることができる。
【０１７０】
上記各実施形態においては、拡張文字テーブル２内のＮ−ｇｒａｍ拡張文字列について連鎖確率で頻度情報を格納したものを示したが、頻度そのものを格納するようにしても良い。この場合、例えば、確率が１となるＮ−ｇｒａｍ拡張文字列のグループ毎に総頻度も格納しておき、経路のスコア（評価値）を計算するときに、確率に置き換えるようにしても良い。また、経路のスコアを、各Ｎ−ｇｒａｍ拡張文字列の頻度の総和等で計算するようにしても良い。
【０１７１】
また、上記各実施形態における拡張文字テーブル２やスコアテーブル３等は、テーブル構成以外の構成で実現しても良い。
【０１７２】
さらに、上記各実施形態においては、対象とする自然言語が日本語であるものを示したが、他の言語の入力テキストに対しても本発明を適用することができる。ここで、他の言語としては、スペース等で単語区切りが明確になっていない言語だけでなく、スペース等で単語区切りが明確になっている言語であっても良い。例えば、文字化け等を考慮した第２の実施形態の特徴は、スペース等で単語区切りが明確になっている言語においても、非常に有効なものである。
【０１７３】
【発明の効果】
以上のように、本発明によれば、文字化けやミスタイプ等による未知語部分を含む入力テキストに対しても良好な形態素解析結果を得ることができる自然言語処理装置を実現できる。
【図面の簡単な説明】
【図１】第１の実施形態の構成を示すブロック図である。
【図２】第１の実施形態の拡張文字テーブルの構成を示す説明図である。
【図３】第１の実施形態の拡張文字テーブルの具体例を示す説明図である。
【図４】第１の実施形態のスコアテーブルの構成を示す説明図である。
【図５】第１の実施形態のスコアテーブルの具体例を示す説明図である。
【図６】第１の実施形態の全体動作を示すフローチャートである。
【図７】第１の実施形態の拡張文字列の生成動作を示すフローチャートである。
【図８】第１の実施形態の連鎖確率の計算動作を示すフローチャートである。
【図９】第１の実施形態の最適拡張文字列の選択動作を示すフローチャートである。
【図１０】第２の実施形態の構成を示すブロック図である。
【図１１】第２の実施形態の非対象文字パターンメモリの構成を示す説明図である。
【図１２】第２の実施形態の入力バッファメモリの構成を示す説明図である。
【図１３】第２の実施形態の未知語バッファメモリの構成を示す説明図である。
【図１４】第２の実施形態の全体動作を示すフローチャートである。
【図１５】第２の実施形態の未知語の検出動作を示すフローチャートである。
【図１６】第２の実施形態の入力制御動作を示すフローチャートである。
【図１７】第２の実施形態の出力合成動作を示すフローチャートである。
【符号の説明】
２…拡張文字テーブル、３…スコアテーブル、４…拡張文字列生成部、５…拡張文字推定部、６…連鎖確率計算部、７…最適経路探索部、９…未知語検出部、１０…非対象文字パターンメモリ、１１…入力制御部、１２…入力バッファメモリ、１３…未知語バッファメモリ、１４…出力合成部。
【図１】
0003938234.tif 000004
【図２】
0003938234.tif 000005
【図３】
0003938234.tif 000006
【図４】
0003938234.tif 000007
【図５】
0003938234.tif 000008
【図６】
0003938234.tif 000009
【図７】
0003938234.tif 000010
【図８】
0003938234.tif 000011
【図９】
0003938234.tif 000012
【図１０】
0003938234.tif 000013
【図１１】
0003938234.tif 000014
【図１２】
0003938234.tif 000015
【図１３】
0003938234.tif 000016
【図１４】
0003938234.tif 000017
【図１５】
0003938234.tif 000018
【図１６】
0003938234.tif 000019
【図１７】
0003938234.tif 000020