(57)【要約】【課題】文書ファイルからの情報抽出精度を向上させる。【解決手段】学習コーパス２００の単語は、複数のクラスのいずれかに分類されている。文書処理装置１００は、学習コーパス２００における単語の素性をクラスごとのクラス素性情報としてクラス素性保持部１７０に保持する。文書処理装置１００は、加工前検査対象文書２１０から単語を抽出し、加工前検査対象文書２１０におけるその単語の素性とクラス素性情報の適合度を複数のクラスのそれぞれについて算出し、所定のクラスに対して算出された適合度を調整した上で、各クラスに対する適合度に基づいて抽出した単語に対応するクラスを特定する。そして、特定されたクラス名をタグとして追記することにより加工済検査対象文書２１２を生成する。【選択図】図１
2007304950.tif 000002
【特許請求の範囲】
【請求項１】
複数のクラスに単語を分類した上で、所定のコーパス（corpus）における単語の素性をクラスごとのクラス素性情報として保持するクラス素性保持部と、
検査対象文書を取得する文書取得部と、
前記検査対象文書から単語を抽出する単語抽出部と、
前記検査対象文書における前記抽出された単語の素性とクラス素性情報の適合度を前記複数のクラスのそれぞれについて算出する適合度計算部と、
前記複数のクラスのうち所定のクラスに対して算出された適合度を調整する適合度調整部と、
前記抽出された単語の各クラスに対する適合度に基づいて、前記抽出された単語に対応するクラスを特定するクラス分類部と、
を備えることを特徴とする文書処理装置。
【請求項２】
前記所定のコーパスは、文書中の単語に対してあらかじめクラスが指定されている文書群であることを特徴とする請求項１に記載の文書処理装置。
【請求項３】
前記所定のクラスは、前記所定のコーパスにおいて明示的にクラスが指定されていない単語が分類されるクラスであることを特徴とする請求項２に記載の文書処理装置。
【請求項４】
前記所定のクラスは、前記所定のコーパスにおいて最も多くの単語が分類されるクラスであることを特徴とする請求項１または２に記載の文書処理装置。
【請求項５】
前記適合度調整部は、前記所定のクラスに対する適合度に対して、調整係数を変数とする所定演算を実行することにより、前記抽出された単語の前記所定のクラスに対する適合度を調整することを特徴とする請求項１から４のいずれか記載の文書処理装置。
【請求項６】
調整係数の値を特定する調整係数特定部、を更に備え、
調整係数の特定に際しては、
前記適合度計算部は、前記所定のコーパスをコーパスグループと検査グループに分割し、検査グループにおける単語の素性とコーパスグループを対象として求められるクラス素性情報の適合度を前記複数のクラスのそれぞれに対して算出し、
前記適合度調整部は、暫定的な調整係数である暫定係数により、検査グループに含まれる単語の前記所定のクラスに対する適合度を調整し、
前記クラス分類部は、前記所定のクラスに対する適合度が暫定係数により調整された後に、検査グループに含まれる単語のクラスを特定し、
前記調整係数特定部は、検査グループに含まれる単語群における特定されたクラスと本来のクラスとの一致度に応じて複数種類の暫定係数の中から調整係数を特定することを特徴とする請求項５に記載の文書処理装置。
【請求項７】
前記調整係数特定部は、検査グループに含まれる単語のうち前記所定のクラス以外のクラスに属する単語と前記所定のクラス以外のクラスに属すると特定された単語を比較することによりクラス分類の精度を計算し、前記複数種類の暫定係数のうちクラス分類の精度が最大となるときの暫定係数を調整係数として特定することを特徴とする請求項６に記載の文書処理装置。
【請求項８】
前記調整係数特定部は、適合率（precision）と再現率（recall）から求められるＦ値（F measure）をクラス分類の精度として計算することを特徴とする請求項７に記載の文書処理装置。
【請求項９】
前記調整係数特定部は、前記複数種類の暫定係数のうち、検査グループに含まれる単語群において特定されたクラスと本来のクラスが一致する単語の数が最大となるときの暫定係数を調整係数として特定することを特徴とする請求項６に記載の文書処理装置。
【請求項１０】
前記調整係数特定部は、前記所定のコーパスを２以上の所定数のグループに分割し、そのうちの一つを検査グループ、残りをコーパスグループとすることにより、検査グループに含まれる単語群における特定されたクラスと本来のクラスとの一致度に応じて複数種類の暫定係数の中から暫定最適係数を特定し、前記所定数のグループのそれぞれを検査グループとすることにより求められた前記所定数の暫定最適係数に基づいて調整係数を決定することを特徴とする請求項６から９のいずれかに記載の文書処理装置。
【請求項１１】
前記調整係数特定部は、前記所定数の暫定最適係数の平均値を調整係数とすることを特徴とする請求項１０に記載の文書処理装置。
【請求項１２】
前記調整係数特定部は、前記所定数の暫定最適係数のうち、検査グループに含まれる単語群において本来のクラスと特定されたクラスの一致度が最大となるときの暫定最適係数を調整係数として決定することを特徴とする請求項１０に記載の文書処理装置。
【請求項１３】
検査対象文書を取得するステップと、
前記検査対象文書から単語を抽出するステップと、
複数のクラスに単語を分類した上で所定のコーパス（corpus）における単語の素性をクラスごとに分類したクラス素性情報を参照して、前記検査対象文書における前記抽出された単語の素性とクラス素性情報の適合度を前記複数のクラスのそれぞれについて算出するステップと、
前記複数のクラスのうち所定のクラスに対して算出された適合度を調整するステップと、
前記抽出された単語の各クラスに対する適合度に基づいて、前記抽出された単語に対応するクラスを特定するステップと、
を備えることを特徴とする文書処理方法。
【請求項１４】
複数のクラスに単語を分類した上で、所定のコーパス（corpus）における単語の素性をクラスごとのクラス素性情報として保持する機能と、
検査対象文書を取得する機能と、
前記検査対象文書から単語を抽出する機能と、
前記検査対象文書における前記抽出された単語の素性とクラス素性情報の適合度を前記複数のクラスのそれぞれについて算出する機能と、
前記複数のクラスのうち所定のクラスに対して算出された適合度を調整する機能と、
前記抽出された単語の各クラスに対する適合度に基づいて、前記抽出された単語に対応するクラスを特定する機能と、
をコンピュータにて発揮させることを特徴とする文書処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書ファイルからの情報抽出技術に関し、特に、固有表現抽出技術に関する。
【０００２】
コンピュータの普及とネットワーク技術の進展にともない、ネットワークを介した電子情報の交換が盛んになっている。これにより、従来においては紙ベースで行われていた事務処理の多くが、ネットワークベースの処理に置き換えられつつある。デジタル化とネットワーク技術の進展は、情報取得コストを急激に低下させている。このような状況において、個々の文書の中から中心的な情報を抜き出す情報抽出（Information Extraction）技術、中でも、文書中から人名、会社名、年月日、役職名といった固有表現（Named Entity）を抜き出す固有表現抽出技術が注目されている。
【特許文献１】特開２００６−０４８５３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
文書ファイルに含まれるさまざまな用語のうち、いわゆる固有表現に該当する用語は、文書の内容を特徴づける重要な情報であることが多い。しかし、絶えず新たな固有表現が生み出されるという現状において、どの単語が固有表現に該当し、どの単語が固有表現に該当しないのかという判別は容易ではない。
【０００４】
本発明の目的は、文書からの情報抽出精度、特には、固有表現抽出の精度を向上させるための技術、を提供することである。
【課題を解決するための手段】
【０００５】
本発明のある態様は、文書処理装置である。
この装置は、複数のクラスに単語を分類した上で、所定のコーパス（corpus）における単語の素性（そせい）をクラスごとのクラス素性情報として保持する。この装置は、検査対象文書から単語を抽出し、検査対象文書におけるその単語の素性とクラス素性情報の適合度を複数のクラスのそれぞれについて算出し、所定のクラスに対して算出された適合度を調整した上で、各クラスに対する適合度に基づいて抽出した単語に対応するクラスを特定する。
【０００６】
ここでいう素性とは、文書中における単語の出現態様を示す情報である。たとえば、後ろに「さん」が付いていたり、前に「ミスター」、「親愛なる」といった用語が付いている単語は、人名を示す単語である可能性が高いといえる。検査対象文書から抽出した単語の素性と、あるクラス（カテゴリ）に属する単語の素性の傾向を比較することにより、抽出した単語がどのクラスに対応した単語であるか特定される。このとき、所定のクラス、たとえば、コーパスにおいて最も多くの単語が属するクラスについての適合度を調整することにより、情報抽出精度を向上させている。
【０００７】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００８】
本発明によれば、文書からの情報抽出精度を向上させることができる。
【発明を実施するための最良の形態】
【０００９】
図１は、文書処理装置１００による処理の概要を説明するための模式図である。
文書処理装置１００の処理は、「学習処理」と「検査処理」の２段階に分けることができる。各段階について、それぞれの処理プロセスを概説すると以下の通りである。なお、本実施例における「文書ファイル」は、ＸＭＬ（eXtensible Markup Language）などの所定のタグセットによって構造化される構造化文書ファイルであるとして説明する。
【００１０】
１．学習処理
学習処理は、学習コーパス（corpus）２００からクラス素性情報を生成して、クラス素性保持部１７０に登録するまでの処理である。本実施例における学習コーパス２００とは、大量の文書ファイルの集合である。
学習コーパス２００に含まれている膨大な単語には、「クラス」が設定されている。クラスとは、単語のカテゴリを示す概念である。たとえば、学習コーパス２００中のある文書ファイルにおいて「渋谷」という単語には「地名」というクラスが設定される。このような設定は、通常、人手で行われる。より具体的には、学習コーパス２００内の所定の文書ファイル中の「渋谷」という単語に対して「クラス」という名前空間（namespace）にて＜地名＞というタグが設定されている。クラスは、タグではなく属性（attribute）として設定されてもよい。地名のほかにも人名や、年月日、組織名、役職、数値表現など、固有表現に該当する単語を分類するために数種類のクラスが用意されている。文書処理装置１００は、このような学習コーパス２００から単語を抽出する。
【００１１】
学習コーパス２００には明示的になんらかのクラスが指定される単語もあれば、固有表現に該当しないとして明示的にクラス指定されていない単語もある。通常は、前者に比べて後者の方が圧倒的に多くなる。このような固有表現に該当しない単語は、「Ｎクラス」として分類される。これに対して、固有表現に該当する単語に対して明示的に指定されているクラスのことを「固有クラス」とよぶことにする。本実施例においては、説明を簡単にするために、固有クラスとしては「人名」、「地名」、「日時」の３つのクラスだけを想定し、それ以外の単語は全てＮクラスに分類される。すなわち、学習コーパス２００に含まれる全ての単語は、「人名」、「地名」、「日時」の３つの固有クラスと１つのＮクラスの計４つのクラスのうちのいずれかに分類されることになる。
【００１２】
次に、文書処理装置１００は学習コーパス２００から収集された各単語について「素性（そせい）」を抽出する。素性とは、文書ファイル中における単語の出現態様を示す。たとえば、さきほどの「渋谷」という単語は、学習コーパス２００では「渋谷駅で待ち合わせを・・・」という文脈で使用されていたとする。また、別の「代官山」という「地名」クラスに分類された単語は、学習コーパス２００では「代官山駅で事故が・・」という文脈で使用されているとする。共に「地名」クラスに属する２つの単語に共通する点は、後ろに「駅」という単語が出現していることである。いいかえれば、文書ファイル中に「駅」という単語が出現するときには、直前に位置する単語は「地名」クラスである可能性が高いという推測が成り立つ。他の例として、「渋谷さんが・・・」というように後ろに「さん」という単語が付く場合には、「人名」クラスである可能性が高い。このように、学習コーパス２００の単語、クラス、素性から、クラスごとの素性をクラス素性情報としてクラス素性保持部１７０に登録する。たとえば、「地名」クラスでは該当単語のうち、後ろに「駅」が付く確率は３０％、「人名」クラスでは該当単語のうち、後ろに「駅」が付く確率は１％、といった具合にクラスごとに、その属する単語の素性がクラス素性情報として登録される。
【００１３】
２．検査処理
検査処理は、「クラス」が明示的に指定されていない検査対象文書中の単語に対して、クラスを特定する処理である。「検査対象文書」とは、文書処理装置１００の検査処理により、文書中の単語のクラスを新たに特定すべき文書ファイルである。
【００１４】
まず、文書処理装置１００は、「クラス」が指定されていない検査対象文書である加工前検査対象文書２１０を取得する。文書処理装置１００は、加工前検査対象文書２１０から順次単語を抽出する。また、加工前検査対象文書２１０における各単語の素性も検出する。
【００１５】
次に、文書処理装置１００は、加工前検査対象文書２１０の単語の素性とクラス素性保持部１７０におけるクラス素性情報を比較する。たとえば、加工前検査対象文書２１０の単語Ａに対して、単語Ａの素性と「人名」クラスのクラス素性情報を比較し、その類似度を「適合度」として算出する。単語Ａについては、そのほか、「地名」クラスに対する適合度、「日時」クラスに対する適合度、「Ｎ」クラスに対する適合度の計４種類の適合度が算出される。適合度の具体的な計算方法については後述する。
【００１６】
文書処理装置１００は、４種類の適合度のうち、最も大きい適合度となったクラスを、単語Ａのクラスとして分類する。ここでは、単語Ａが「地名」クラスに分類されたとする。その場合、文書処理装置１００は加工前検査対象文書２１０の単語Ａに対して＜地名＞タグを付与する。一方、単語Ａが「Ｎ」クラスであれば、タグを付与しない。こうして、文書処理装置１００は加工前検査対象文書２１０に含まれる全ての単語について、その素性とクラス素性情報からクラスを特定する。文書処理装置１００は、加工済検査対象文書２１２を出力する。加工済検査対象文書２１２は、加工前検査対象文書２１０に対して固有クラスを示すタグ（以下、「固有タグ」とよぶ）が付与された文書ファイルである。なお、同図において、斜線が示されている文書ファイルは、固有タグが付与されている文書ファイルである。
加工済検査対象文書２１２の利用例として、加工済検査対象文書２１２の固有タグを検索キーとして、加工前検査対象文書２１０から求める情報を検索してもよい。たとえば、「渋谷で１６時に加藤さんと待ち合わせ」という文章のように、「地名」クラスと「日時」クラス、「人名」クラスを含む文章構造を検索パターンとすることにより、加工前検査対象文書２１０に含まれる情報のうち、「いつ、どこで、誰と」というパターンの情報を効率的に捜すことができる。
【００１７】
以上の処理プロセスは、ベイズ（bays）アルゴリズムを用いた典型的な固有表現抽出プロセスにおいても共通するプロセスである。しかし、上記したような処理プロセスの場合、加工前検査対象文書２１０中における単語群のうち、実際には固有表現にあたらない単語（以下、「非固有単語」とよぶ）であっても文書処理装置１００によって固有表現にあたる単語（以下、「固有単語」とよぶ）にあたるとして固有クラスを特定されることが多い。本実施例では、上記プロセスに新たなプロセスを追加することにより、このような固有表現抽出アルゴリズムにおける課題を解決している。具体的な方法については、図５以降に関連して詳述するとして、まず、文書処理装置１００の構成を先に説明する。
【００１８】
図２は、文書処理装置１００の機能ブロック図である。
ここに示す各ブロックは、ハードウェア的には、コンピュータのＣＰＵをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組み合わせによっていろいろなかたちで実現できることは、当業者には理解されるところである。
【００１９】
文書処理装置１００は、ユーザインタフェース処理部１１０、データ処理部１２０およびデータ保持部１３０を含む。
ユーザインタフェース処理部１１０は、ユーザからの入力処理やユーザに対する情報表示のようなユーザインタフェース全般に関する処理を担当する。本実施例においては、ユーザインタフェース処理部１１０により文書処理装置１００のユーザインタフェースサービスが提供されるものとして説明する。別例として、ユーザはインターネットを介して文書処理装置１００を操作してもよい。この場合、図示しない通信部が、ユーザ端末からの操作指示情報を受信し、またその操作指示に基づいて実行された処理結果情報をユーザ端末に送信することになる。
【００２０】
データ処理部１２０は、ユーザインタフェース処理部１１０から取得されたデータを元にして各種のデータ処理を実行する。データ処理部１２０は、ユーザインタフェース処理部１１０とデータ保持部１３０の間のインタフェースの役割も果たす。データ保持部１３０は、あらかじめ用意された設定データや、データ処理部１２０から受け取ったデータなど、さまざまなデータを格納する。データ保持部１３０は、クラス素性情報を保持するためのクラス素性保持部１７０を含む。
【００２１】
ユーザインタフェース処理部１１０は、入力部１１２と表示部１１４を含む。入力部１１２は、ユーザからの入力操作を受け付ける。表示部１１４は、ユーザに対して各種情報を表示する。入力部１１２は、検査対象文書等の文書ファイルを取得するための文書取得部１１６を含む。
【００２２】
データ処理部１２０は、検査部１２２と調整係数特定部１３４を含む。検査部１２２は、文書ファイルを検査して、文書ファイル中の単語についてのクラスを特定する。検査部１２２は、単語抽出部１２４、適合度計算部１２６、適合度調整部１２８およびクラス分類部１３２を含む。単語抽出部１２４は、文書ファイルから単語を抽出し、その素性を検出する。適合度計算部１２６は、クラス素性保持部１７０のクラス素性情報と、抽出された単語の素性の類似度を適合度という指標により算出する。適合度の計算方法については任意に設定すればよいが、一例として、次のような計算方法により算出してもよい。
【００２３】
仮に、検査対象文書中の単語Ａの直後の単語が「駅」であったとする（以下、単語Ａのように、クラス分類のための検査対象となっている単語のことを「検査対象単語」とよぶことにする）。学習コーパス２００から求められたクラス素性情報によると、地名クラスに属する１０００単語のうち、直後に「駅」という単語が現れる単語は２００単語（２０％）であったとする。また、人名クラスに属する２０００単語のうちでは２０単語（１％）、日時クラスに属する５００単語のうちでは１０単語（２％）、Ｎクラスに属する１００００単語のうちでは１５００単語（１５％）であったとする。このとき、単語Ａの地名クラス、人名クラス、日時クラスおよびＮクラスのそれぞれに対する適合度は、２０点、１点、２点、１５点となる。この場合、検査対象単語Ａは、その素性から「地名」クラスに属する単語である可能性が高いという推測が成り立つ。なお、素性は、検査対象単語の直後の単語に限らず、文書ファイル中において検査対象単語の周辺に現れる各種単語を対象としてもよい。素性の定義としては、機械学習分野における既知のパラメータを用いればよい。ただし、本実施例では説明を簡単にするため、検査対象単語の直後の単語を、検査対象単語の素性として扱うものとする。
【００２４】
クラス分類部１３２は、適合度に基づいて文書ファイル中の単語のクラスを特定する。上記設例の場合であれば、単語Ａのクラスは適合度が最高の２０点となっている地名クラスとなる。適合度調整部１２８は、適合度計算部１２６が算出した適合度を調整する。適合度調整部１２８による調整処理により、「実際には非固有単語であっても文書処理装置１００によって固有単語として特定されることが多い」という先述した課題を解決している。適合度調整部１２８は調整係数特定部１３４によって特定された調整係数Ｔを用いて、検査対象単語のＮクラスに対する適合度に（２−Ｔ）を乗じることによりその適合度を調整する。更に詳しくは図５以降に関連して後述する。
【００２５】
調整係数特定部１３４は調整係数Ｔを特定する。調整係数特定部１３４は、暫定最適係数特定部１３６を含む。暫定最適係数特定部１３６は調整係数Ｔを求める上で必要となる暫定最適係数Ｓを特定する。暫定最適係数については、図７に関連して詳述する。
【００２６】
図３は、調整処理を実行しない場合における検査処理過程を示すフローチャートである。ここではある特定の検査対象文書中に含まれるある特定の単語を検査対象単語とした場合における処理過程を示している。したがって、同図に示すフローチャートは、検査対象文書中の各単語に対して順次実行される。
まず、単語抽出部１２４は、文書取得部１１６が取得した検査対象文書から検査対象単語を順次抽出する（Ｓ１０）。単語抽出部１２４は検査対象単語の素性を検出する（Ｓ１２）。ここでは、検査対象単語の直後に現れている単語を素性として検出する。
【００２７】
適合度計算部１２６は、４種類のクラスのうち、まず、人名クラスを選択する（Ｓ１４）。適合度計算部１２６は、クラス素性保持部１７０の人名クラスについてのクラス素性情報と検査対象単語の素性に基づいて、検査対象単語の人名クラスに対する適合度を計算する（Ｓ１６）。Ｓ１４およびＳ１６の処理は、人名クラスのほかの各クラスについて実行される。全てのクラスについて適合度の計算が完了していないときには（Ｓ１８のＮ）、処理はＳ１４に戻って次のクラスが選択される。完了すると（Ｓ１８のＹ）、クラス分類部１３２は４種類の適合度に基づいて、検査対象単語のクラスを特定する（Ｓ２０）。特定されたクラスがＮクラスでなければ（Ｓ２２のＮ）、いいかえれば、いずれかの固有クラスであれば、クラス分類部１３２は検査対象単語に対して該当する固有タグを挿入する（Ｓ２４）。Ｎクラスであれば（Ｓ２２のＹ）、そのまま処理は終了する。このような処理を検査対象文書中の全ての単語について実行することにより、検査対象文書中の各単語のクラスを特定する。
【００２８】
このような検査処理の精度を指標化するために、適合率（precision）、再現率（recall）およびＦ値（F measure）とよばれる３つの指標を用いている。本実施例では、これらの指標を、「実際の固有単語」と「固有単語として特定された単語」との一致の度合いを測るために用いている。仮に、検査対象文書中にＮ１個の単語が含まれており、そのうち、Ｎ２個が固有表現単語であるとする。そして、文書処理装置１００は、この検査対象文書中のＮ１個の単語の中からＮ３個の単語を固有単語であるとして検出したとする。このとき、Ｎ４＝Ｎ２∩Ｎ３、すなわち、Ｎ４を、実際の固有単語のうち文書処理装置１００によって正しく検出された固有単語の数とすると、各指標は、
適合率Ｖ＝Ｎ４／Ｎ３
再現率Ｗ＝Ｎ４／Ｎ２
Ｆ値＝２・Ｖ・Ｗ／（Ｖ＋Ｗ）
として求められる。このようなＦ値の算出式は、適合率Ｖと再現率Ｗの調和平均である。
【００２９】
適合率Ｖは、クラス分類部１３２によって固有単語と特定された単語のうち、実際に固有単語である単語の比率であり、いわば、誤検出がいかに発生していないかを示す指標である。再現率Ｗは、実際の固有単語のうちクラス分類部１３２によってに固有単語として検出された単語の比率であり、いわば、いかに固有単語がもれなく検出されているかを示す指標である。適合率Ｖと再現率Ｗは両方とも１．０に近いことが望ましいが、通常、両者はトレードオフの関係にある。Ｆ値は、これらの両方の指標に基づいて、システム全体を評価するために用いられる指標値である。Ｆ値が大きいほど、システムとしての固有表現検出性能がよいことになる。
【００３０】
図４は、調整処理を実行しない場合における適合率と再現率を示すグラフ図である。
横軸は学習コーパス２００のデータサイズを示す。縦軸は、適合率および再現率の値を示す。同図に示すグラフは、本発明者が所定の学習コーパス２００を対象として実験を行った結果を示している。このグラフからわかるように、学習コーパス２００のサイズが大きいほど、いいかえれば、クラス素性情報が充実するほど、再現率や適合率は共に漸増している。しかし、学習コーパス２００のサイズが大きくなるということは、学習コーパス２００中の単語にクラスを指定する作業が増加することになる。また、クラス素性保持部１７０のデータ量の増加は、文書処理装置１００のメモリを圧迫することはいうまでもない。このグラフによれば、学習コーパス２００のサイズが１０倍、１００倍となっても、再現率や適合率はそれほど大きく改善されないことがわかる。特に、適合率が低いという問題がある。適合率の低さは誤検出の多さを意味する。すなわち、固有単語と特定されている非固有単語が多く発生している。本発明者は、固有単語と特定されにくくするために、いいかえれば、非固有単語と特定されやすくするために調整係数Ｔを小さくして、検査対象単語のＮクラスに対する適合度が大きくなるように調整することにより、Ｆ値を改善できると考えた。
【００３１】
図５は、調整係数Ｔを変化させたときの適合率および再現率を示すグラフ図である。
横軸は、調整係数Ｔを示し、縦軸は、適合率および再現率の値を示す。以下、「Ｎクラスに対する適合度」として、調整前の適合度を調整前適合度Ｘ、調整後の適合度を調整後適合度Ｙとよぶ。
調整後適合度Ｙ＝調整前適合度Ｘ×（２−調整係数Ｔ）
である。したがって、調整係数Ｔ＝１．０のときが、調整無しの場合に相当する。また、調整係数が小さいほど、調整後適合度Ｙが大きくなる。すなわち、検査対象単語がＮクラスに分類されやすくなる。
【００３２】
調整係数Ｔを小さくする場合、再現率は低下するが適合率は上昇する。調整係数Ｔが小さくなると、Ｎクラスに対する調整後適合度Ｙが増加する。固有単語に分類される単語の数Ｎ３が絞り込まれるため、適合率（Ｖ＝Ｎ４／Ｎ３）が増加する。一方、固有単語として分類される単語の数Ｎ３の減少にともなって、実際の固有単語のうち文書処理装置１００によって正しく検出された固有単語の数Ｎ４も減少するため、再現率（Ｗ＝Ｎ４／Ｎ２）が減少することになる。調整係数Ｔを大きくする場合には逆となる。したがって、Ｆ値が最大になるように調整係数Ｔの値を設定することにより、文書処理装置１００による検出対象単語の分類精度を向上させることができる。
次に、このような最適な調整係数Ｔを学習コーパス２００に基づいて自動的に求めるためのアルゴリズムについて説明する。本実施例における文書処理装置１００は、学習処理の段階で調整係数Ｔを特定する。
【００３３】
図６は、学習処理において、複数種類の調整係数に基づいて適合度を計算する処理過程を示すフローチャートである。
最適な調整係数Ｔの特定のために、学習コーパス２００をＫ個（Ｋは２以上の整数）のグループに分割する。たとえば、学習コーパス２００に１０００個の文書ファイルが含まれ、これを１０個のグループに分割する場合であれば、１００文書ずつグループ化してもよい。Ｋ個のグループのうち、第ｉグループ（１≦ｉ≦Ｋ）を検査グループ、それ以外のグループをコーパスグループとよぶことにする。たとえば、第１グループを検査グループとするときには、第２〜第Ｋグループまでをまとめたグループがコーパスグループとなる。同図は、Ｋ個のグループのうちの第ｉグループを検査グループとしたとき、第ｉグループのある特定の検査対象単語Ａについて実行される処理を示している。したがって、同図に示す処理は、第ｉグループに含まれる他の検査対象単語についても実行される。また、第ｉグループ以外のグループについても同様である。
【００３４】
まず、単語抽出部１２４は、検査グループである第ｉグループから検査対象単語Ａを抽出する（Ｓ３０）。単語抽出部１２４は、検査対象単語Ａの素性を検出する（Ｓ３２）。適合度計算部１２６は、４種類のクラスからクラスを選択する（Ｓ３４）。適合度計算部１２６は、第ｉグループ以外のグループから成るコーパスグループ、すなわち、学習コーパス２００から第ｉグループを除いた残りのコーパスに限定して得られるクラス素性情報と検査対象単語Ａの素性に基づいて、検査対象単語ＡのＳ３４にて選択されたクラスに対する適合度を計算する（Ｓ３６）。全てのクラスについて適合度の計算が完了していないときには（Ｓ３８のＮ）、処理はＳ３４に戻って次のクラスが選択される。完了しているときには（Ｓ３８のＹ）、適合度調整部１２８は暫定係数Ｒに１．０を設定する（Ｓ４０）。暫定係数は、調整係数の値を確定する前に、所定範囲、たとえば０．５〜１．０の範囲で可変となる暫定的な係数である。
【００３５】
暫定係数Ｒが０．５より大きければ（Ｓ４２のＹ）、適合度調整部１２８は検査対象単語ＡのＮクラスに対する適合度を暫定係数Ｒにより調整する（Ｓ４４）。調整方法は、上述した通りである。クラス分類部１３２は４種類の適合度に基づいて、検査対象単語Ａのクラスを特定する（Ｓ４６）。適合度調整部１２８は、暫定係数から所定値、たとえば、０．０１を減算する（Ｓ４８）。暫定係数Ｒが０．５より大きければ、新たな暫定係数Ｒにより、Ｓ４４〜Ｓ４８までの処理が再実行される。暫定係数Ｒが０．５以下となると（Ｓ４２のＮ）、検査対象単語Ａに対する処理は終了する。このような処理により、第ｉグループの一つの検査対象単語Ａのクラスが、さまざまな暫定係数に基づいて特定される。たとえば、この検査対象単語Ａは暫定係数が０．８のときには人名クラスとして特定され、暫定係数が０．６のときにはＮクラスとして特定されるかもしれない。全てのグループを順次検査グループとして選択し、各グループに含まれる全ての単語を検査対象単語として順次選択する。結果として、学習コーパス２００の全ての単語について、暫定係数０．５から１．０までのそれぞれの場合におけるクラスが特定される。
【００３６】
図７は、図６に示した処理が完了した後に、暫定最適係数Ｓを求める処理過程を示すフローチャートである。
ここでは、Ｋ個のグループのうちの第ｉグループについて最適な、いいかえれば、Ｆ値が最高となるときの暫定係数を暫定最適係数Ｓとして特定するための処理を示している。同図に示す処理は、第ｉグループ以外の各グループについても実行される。結果として、Ｋ個のグループに対して、Ｋ個の暫定最適係数Ｓが求められることになる。
【００３７】
まず、調整係数特定部１３４は、暫定係数Ｒに１．０を設定する（Ｓ５０）。暫定係数Ｒが０．５より大きければ（Ｓ５２のＹ）、暫定最適係数特定部１３６は、第ｉグループに含まれる単語についての適合率を算出する（Ｓ５４）。すなわち、第ｉグループに含まれる単語群のうち、固有単語として特定された単語のうち、実際に固有単語である単語の比率を適合率として算出する。次に、暫定最適係数特定部１３６は、第ｉグループに含まれる単語についての再現率を算出し（Ｓ５６）、適合率と再現率に基づいてＦ値を算出する（Ｓ５８）。暫定最適係数特定部１３６は、暫定係数Ｒから０．０１を減算する（Ｓ６０）。暫定係数Ｒが０．５以下となると（Ｓ５２のＮ）、暫定最適係数特定部１３６は、各暫定係数に対するＦ値のうち、Ｆ値が最大となったときの暫定係数Ｒを暫定最適係数Ｓとして特定する（Ｓ６２）。こうして、学習コーパス２００における第ｉグループにとって、Ｆ値が最大となるときの調整係数である暫定最適係数Ｓが特定される。
【００３８】
同様にして、Ｋ個のグループのそれぞれに対して、Ｋ個の暫定最適係数を求める。調整係数計算部１３８は、Ｋ個の暫定最適係数の平均値を調整係数Ｔとする。このような処理方法によれば、既に、単語に対する正しいクラスが設定済の学習コーパス２００を利用して、好適なＦ値を求めることにより、学習コーパス２００に応じた妥当な調整係数を探ることができる。なお、平均値に限らず、調整係数Ｔは、Ｋ個の暫定最適係数を変数とする所定の演算式にて求めればよい。たとえば、Ｋ個の暫定最適係数Ｓのうち、Ｆ値が最高となるときの暫定最適係数をそのまま調整係数Ｔとしてもよい。仮に、Ｋ＝２として、第１グループにおける暫定最適係数Ｓが０．６でそのときのＦ値が０．８、第２グループにおける暫定最適係数Ｓが０．６５でそのときのＦ値が０．７５であったときには、調整係数Ｔは０．６となる。なぜならば、Ｆ値０．８の方が、他方のＦ値０．７５よりも大きいためである。
【００３９】
また、本実施例では、Ｆ値が最大になるときの暫定係数を暫定最適係数としたが、Ｆ値に限らず、検査グループに含まれる単語の本来のクラスと特定されたクラスとの一致度を示す任意の指標に基づいて、その一致度が最大になるときの暫定係数を暫定最適係数Ｓとしてもよい。たとえば、検査グループの単語のうち、本来のクラスと特定されたクラスが一致する単語の数が最大になるときの暫定係数を暫定最適係数Ｓとしてもよい。一例として、検査グループに人名クラスを指定されている単語のうち、実際に人名クラスとして指定された単語の数が最大となるときの暫定係数を暫定最適係数としてもよい。
【００４０】
本実施例においては、学習コーパス２００をＫ個のグループに分類し、それぞれのグループを順次検査グループとして、Ｋ個の暫定最適係数Ｓを求めるとして説明したが、学習コーパス２００を２つに分割して、一方検査グループ、他方をコーパスグループとして１個の暫定最適係数Ｓを求めるとしてもよい。この場合、求められた暫定最適係数Ｓをそのまま調整係数としてもよい。学習コーパス２００を分割した各グループの全ての組み合わせにて検査してもよいが、全ての組み合わせによる検査は本発明の必須条件ではない。たとえば、学習コーパス２００をグループＡ、グループＢおよびグループＣの３つに分割した場合、（検査グループ、コーパスグループ）は（Ａ、Ｂ＋Ｃ）、（Ｂ、Ａ＋Ｃ）、（Ｃ、Ａ＋Ｂ）の３通りの組み合わせが考えられる。しかし、これら３つの組み合わせのうち、２つの組み合わせについてだけ検査を行うとしてもよい。
【００４１】
図８は、調整処理を実行する場合における検査処理過程を示すフローチャートである。ここでも、ある検査対象文書中に含まれる単語を検査対象単語とする処理内容を示している。したがって、同図に示すフローチャートは、検査対象文書中の各単語に対して実行される。
Ｓ７０からＳ７８までの処理は、図３のＳ１０からＳ１８の処理と同じであるため、説明を割愛する。適合度調整部１２８は、調整係数特定部１３４によって決定された調整係数により、Ｎクラスに対する適合度を調整する（Ｓ８０）。クラス分類部１３２は、調整後の適合度を参照して、検査対象単語のクラスを特定する（Ｓ８２）。Ｓ８４以降の処理内容は、図３のＳ２２以降の処理内容と同様である。すなわち、検査処理においては、事実上、Ｎクラスに対する適合度に（２−調整係数Ｔ）を乗算する処理が追加されるだけである。
【００４２】
図９は、本実施例に示した調整係数特定アルゴリズムの検証結果を示すグラフ図である。
本発明者が所定の学習コーパス２００に対する学習処理を実行すると、調整係数特定部１３４は調整係数Ｔ＝０．９１２として算出された。このあと、あらかじめ特定されるべきクラスがわかっている検査対象文書について、調整係数Ｔをさまざまな値に変化させながら、適合率、再現率およびＦ値を実際に計算してみると、同図に示すようなグラフが形成された。実際には、調整係数Ｔ＝０．９００の近辺で、Ｆ値が極大値となっている。調整係数特定部１３４が特定した調整係数Ｔ＝０．９１２とは若干のずれがあるものの、かなり高い精度で、最適な調整係数Ｔを学習コーパス２００のデータから求めることに成功している。特に、調整処理を行わない場合、すなわち、調整係数Ｔ＝１．０の場合に比べれば、Ｆ値を格段に改善できることが確認された。
【００４３】
以上、本実施例に基づいて本発明を説明した。
文書処理装置１００による調整処理によれば、ベイズアルゴリズムに基づく文書ファイルからの情報抽出において、その抽出精度を向上させることができる。具体的には、検査対象文書からの固有単語の抽出精度を高めることができる。本実施例においては、固有クラスとＮクラスに大別することにより固有単語の抽出精度の向上を主たる目的として説明したが、所定のクラスＡとそれ以外のクラスを任意に設定してＦ値を求めることで、クラスＡに該当する単語の抽出精度を高めることもできる。Ｎクラスに限らず、複数のクラスのうち、学習コーパス２００において、最も多くの単語が分類されるクラスを調整の対象としてもよい。ただし、通常の学習コーパス２００の場合、最も多くの単語が分類されるクラスはＮクラスとなることが多いと考えられる。
【００４４】
更に、調整係数Ｔを学習コーパス２００をベースとして自動的に特定するアルゴリズムについて説明した。このため、文書処理装置１００は、学習処理の段階で、抽出精度が最大となる調整係数を自動的に求めることができる。
【００４５】
加工前検査対象文書２１０から加工済検査対象文書２１２を生成することにより、任意の検査対象文書において、どのようなクラスに属する単語が使われているかを検出しやすくなる。たとえば、「私は京都から奈良に旅行しました」という文章のように、人名クラス、地名クラス、地名クラスという順序で単語を含む文章は、人の移動を示す文章である可能性が比較的高い。このように、クラスやその並び方から所定のイベントに関連する情報を抽出しやすくなる。
【００４６】
なお、適合度＝log（適合率）と定義すると（底は１０とする）、適合率は０以上１以下の値であるため、適合度は必ず負の値となる。この場合、調整後適合度Ｙ＝調整前適合度Ｘ×調整係数Ｔとして計算してもよい。すなわち、１．０以下の調整係数Ｔを調整前適合度Ｘに乗じることにより、負の数である調整前適合度Ｘの絶対値が小さくなるため、結果として調整後適合度Ｙは調整前適合度Ｘよりも大きくなる。
【００４７】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００４８】
また、各請求項に記載の各構成要件が果たすべき機能は、本実施例において示された各機能ブロックの単体もしくはそれらの連係によって実現されることも当業者には理解されるところである。
【図面の簡単な説明】
【００４９】
【図１】文書処理装置による処理の概要を説明するための模式図である。
【図２】文書処理装置の機能ブロック図である。
【図３】調整処理を実行しない場合における検査処理過程を示すフローチャートである。
【図４】調整処理を実行しない場合における適合率と再現率を示すグラフ図である。
【図５】調整係数Ｔを変化させたときの適合率および再現率を示すグラフ図である。
【図６】学習処理において、複数種類の調整係数に基づいて適合度を計算する処理過程を示すフローチャートである。
【図７】図６に示した処理が完了した後に、暫定最適係数Ｓを求める処理過程を示すフローチャートである。
【図８】調整処理を実行する場合における検査処理過程を示すフローチャートである。
【図９】本実施例に示した調整係数特定アルゴリズムの検証結果を示すグラフ図である。
【符号の説明】
【００５０】
１００  文書処理装置、  １１０  ユーザインタフェース処理部、  １１２  入力部、  １１４  表示部、  １１６  文書取得部、  １２０  データ処理部、  １２２  検査部、  １２４  単語抽出部、  １２６  適合度計算部、  １２８  適合度調整部、  １３０  データ保持部、  １３２  クラス分類部、  １３４  調整係数特定部、  １３６  暫定最適係数特定部、  １７０  クラス素性保持部、  ２００  学習コーパス、  ２１０  加工前検査対象文書、  ２１２  加工済検査対象文書。
【図１】
2007304950.tif 000003
【図２】
2007304950.tif 000004
【図３】
2007304950.tif 000005
【図４】
2007304950.tif 000006
【図５】
2007304950.tif 000007
【図６】
2007304950.tif 000008
【図７】
2007304950.tif 000009
【図８】
2007304950.tif 000010
【図９】
2007304950.tif 000011