(57)【特許請求の範囲】
【請求項１】
入力文から該入力文に含まれる固有表現を抽出する装置であって、
入力文を形態素解析して形態素列を生成する形態素解析部と、
固有表現抽出処理の対象外とする形態素である不要形態素に関する不要形態素処理規則を参照して前記形態素列中の不要形態素を認定し、該不要形態素処理規則で規定する前処理を実施して不要形態素認定済データを生成する前処理フィルタと、
前記不要形態素認定済データから固有表現抽出を行う対象となる形態素のみからなる形態素候補データを生成し、予めユーザが設定した任意の語句について少なくともその表記、固有表現状態及びスコアを含む辞書情報を記述したユーザ辞書を参照して前記形態素候補データ中の表記が一致する形態素に対し前記辞書情報を付与したユーザ辞書侯補データを生成し、一の形態素についてその前後の形態素を含めた特徴である素性を取得するための素性テンプレートを参照して前記形態素候補データから素性リストを生成し、形態素候補データ中の各形態素について前記素性リスト及び予め任意の素性についてその固有表現状態を表す固有表現識別子がとる確率値を記述した確率モデルを参照して全ての固有表現識別子に対する確率値を求めるとともにユーザ辞書候補データを参照してスコアを求め、確率値とスコアのうち大きい方をのみを利用して途中確率データを固有表現付形態素候補毎に求め、さらにある固有表現付形態素候補について最大の途中確率値となるものを最大途中確率値として残した最大途中確率データを求め、最終的に文頭から文末までの確率値が最大となるような一連の形態素と固有表現識別子の組である固有表現付形態素候補を生成する固有表現抽出部と、
前記不要形態素認定済データを参照し、前記不要形態素処理規則で規定する後処理を実施して前処理フィルタで不要形態素と認定された形態素を前記固有表現付形態素候補に復元する後処理フィルタとを備えた
ことを特徴とする固有表現抽出装置。
【請求項２】
請求項１に記載の固有表現抽出装置において、
固有表現抽出部は、
不要形態素認定済データから固有表現抽出を行う対象となる形態素のみからなる形態素候補データを生成して出力する形態素候補作成処理部と、
形態素候補作成処理部から出力された形態素候補データを記憶する形態素候補データ記憶部と、
予めユーザが設定した任意の語句について少なくともその表記、固有表現状態及びスコアを含む辞書情報を記述したユーザ辞書記憶部と、
形態素候補データ記憶部から形態素候補データを読み出し、ユーザ辞書記憶部に記憶されたユーザ辞書を参照して前記形態素候補データ中の表記が一致する形態素に対し前記辞書情報を付与したユーザ辞書侯補データを作成し、出力するユーザ辞書参照処理部と、
ユーザ辞書参照処理部から出力されたユーザ辞書候補データを記憶するユーザ辞書候補データ記憶部と、
一の形態素についてその前後の形態素を含めた特徴である素性を取得するための素性テンプレートを記憶する素性テンプレート記憶部と、
形態素候補データ記憶部から形態素候補データを読み出し、素性テンプレート記憶部に記憶された素性テンプレートを参照して形態素候補データ中の各形態素について素性を取得し、素性リストを生成して出力する素性作成処理部と、
素性作成処理部から出力された素性リストを記憶する素性リスト記憶部と、
予め任意の素性についてその固有表現状態を表す固有表現識別子がとる確率値を記述した確率モデルを記憶する確率モデル記憶部と、
形態素候補データ記憶部から形態素候補データを読み出し、形態素候補データ中の各形態素について、素性リスト記憶部及び確率モデル記憶部にそれぞれ記憶された素性リスト及び確率モデルを参照して全ての固有表現識別子に対する確率値を求めるとともに、ユーザ辞書候補データ記憶部に記憶されたユーザ辞書候補データを参照してスコアを求め、確率値とスコアのうち大きい方をのみを利用して途中確率データを固有表現付形態素候補毎に求め、さらにある固有表現付形態素候補について最大の途中確率値となるものを最大途中確率値として残した最大途中確率データを求める前向き制御処理部と、
前記途中確率データを記憶する途中確率データ記憶部と、
前記最大途中確率データを記憶する最大途中確率データ記憶部と、
最大途中確率データ記憶部から最大途中確率データを読み出し、最終的に文頭から文末までの確率値が最大となるような一連の形態素と固有表現識別子の組である固有表現付形態素候補を生成して出力する候補探索処理部と、
候補探索処理部から出力された固有表現付形態素候補を記憶する固有表現付形態素候補記憶部とを有する
ことを特徴とする固有表現抽出装置。
【請求項３】
入力文から該入力文に含まれる固有表現を抽出する装置であって、
入力文を形態素解析して形態素列を生成する形態素解析部と、
固有表現抽出処理の対象外とする形態素である不要形態素に関する不要形態素処理規則を参照して前記形態素列中の不要形態素を認定し、該不要形態素処理規則で規定する前処理を実施して不要形態素認定済データを生成する前処理フィルタと、
前記不要形態素認定済データから固有表現抽出を行う対象となる形態素のみからなる形態素候補データを生成し、確率モデルを参照して全ての固有表現識別子に対する確率値を求め、該確率値を利用して途中確率データを固有表現付形態素候補毎に求め、さらにある固有表現付形態素候補について最大の途中確率値となるものを最大途中確率値として残した最大途中確率データを求め、最終的に文頭から文末までの確率値が最大となるような一連の形態素と固有表現識別子の組である固有表現付形態素候補を生成する固有表現抽出部と、
前記不要形態素認定済データを参照し、前記不要形態素処理規則で規定する後処理を実施して前処理フィルタで不要形態素と認定された形態素を前記固有表現付形態素候補に復元する後処理フィルタとを備えた固有表現抽出装置において、
前処理フィルタは、
固有表現抽出処理の対象外とする形態素である不要形態素に関するマッチング条件、前処理条件及び後処理条件からなる不要形態素処理規則を記憶する不要形態素処理規則記憶部と、
不要形態素処理規則記憶部に記憶された不要形態素処理規則のマッチング条件を参照して形態素列中の不要形態素を認定し、前処理条件に従って該形態素列を処理するとともに後処理条件に従う後処理情報付きの不要形態素認定済データを生成し、出力する不要形態素認定処理部と、
不要形態素認定処理部から出力された不要形態素認定済データを記憶する不要形態素認定済データ記憶部とを有し、
後処理フィルタは、
不要形態素認定済データ記憶部に記憶された不要形態素認定済データの後処理情報を参照して前処理フィルタで不要形態素と認定された形態素を固有表現付形態素候補に復元し、固有表現抽出結果（固有表現付形態素列）を生成して出力する不要形態素復元処理部を有する
ことを特徴とする固有表現抽出装置。
【請求項４】
コンピュータを用いて入力文から該入力文に含まれる固有表現を抽出する方法であって、
コンピュータに、
入力文を形態素解析して形態素列を生成する形態素解析工程と、
固有表現抽出処理の対象外とする形態素である不要形態素に関する不要形態素処理規則を参照して前記形態素列中の不要形態素を認定し、該不要形態素処理規則で規定する前処理を実施して不要形態素認定済データを生成する前処理フィルタ工程と、
前記不要形態素認定済データから固有表現抽出を行う対象となる形態素のみからなる形態素候補データを生成し、予めユーザが設定した任意の語句について少なくともその表記、固有表現状態及びスコアを含む辞書情報を記述したユーザ辞書を参照して前記形態素候補データ中の表記が一致する形態素に対し前記辞書情報を付与したユーザ辞書侯補データを生成し、一の形態素についてその前後の形態素を含めた特徴である素性を取得するための素性テンプレートを参照して前記形態素候補データから素性リストを生成し、形態素候補データ中の各形態素について前記素性リスト及び予め任意の素性についてその固有表現状態を表す固有表現識別子がとる確率値を記述した確率モデルを参照して全ての固有表現識別子に対する確率値を求めるとともにユーザ辞書候補データを参照してスコアを求め、確率値とスコアのうち大きい方をのみを利用して途中確率データを固有表現付形態素候補毎に求め、さらにある固有表現付形態素候補について最大の途中確率値となるものを最大途中確率値として残した最大途中確率データを求め、最終的に文頭から文末までの確率値が最大となるような一連の形態素と固有表現識別子の組である固有表現付形態素候補を生成する固有表現抽出工程と、
前記不要形態素認定済データを参照し、前記不要形態素処理規則で規定する後処理を実施して前処理フィルタで不要形態素と認定された形態素を前記固有表現付形態素候補に復元する後処理フィルタ工程とを実行させる
ことを特徴とする固有表現抽出方法。
【請求項５】
請求項４に記載の固有表現抽出方法において、
固有表現抽出工程は、
不要形態素認定済データから固有表現抽出を行う対象となる形態素のみからなる形態素候補データを生成し、形態素候補データ記憶部に記憶する形態素候補作成処理工程と、
形態素候補データ記憶部から形態素候補データを読み出し、ユーザ辞書記憶部に記憶された予めユーザが設定した任意の語句について少なくともその表記、固有表現状態及びスコアを含む辞書情報を記述したユーザ辞書を参照して前記形態素候補データ中の表記が一致する形態素に対し前記辞書情報を付与したユーザ辞書侯補データを作成し、ユーザ辞書候補データ記憶部に記憶するユーザ辞書参照処理工程と、
形態素候補データ記憶部から形態素候補データを読み出し、素性テンプレート記憶部に記憶された一の形態素についてその前後の形態素を含めた特徴である素性を取得するための素性テンプレートを参照して形態素候補データ中の各形態素について素性を取得し、素性リストを生成し、素性リスト記憶部に記憶する素性作成処理工程と、
形態素候補データ記憶部から形態素候補データを読み出し、形態素候補データ中の各形態素について、素性リスト記憶部に記憶された素性リスト及び確率モデル記憶部に記憶された予め任意の素性についてその固有表現状態を表す固有表現識別子がとる確率値を記述した確率モデルを参照して全ての固有表現識別子に対する確率値を求めるとともに、ユーザ辞書候補データ記憶部に記憶されたユーザ辞書候補データを参照してスコアを求め、
確率値とスコアのうち大きい方をのみを利用して途中確率データを固有表現付形態素候補毎に求めて途中確率データ記憶部に記憶し、さらにある固有表現付形態素候補について最大の途中確率値となるものを最大途中確率値として残した最大途中確率データを求めて最大途中確率データ記憶部に記憶する前向き制御処理工程と、
最大途中確率データ記憶部から最大途中確率データを読み出し、最終的に文頭から文末までの確率値が最大となるような一連の形態素と固有表現識別子の組である固有表現付形態素候補を生成する候補探索処理工程とからなる
ことを特徴とする固有表現抽出方法。
【請求項６】
コンピュータを用いて入力文から該入力文に含まれる固有表現を抽出する方法であって、
コンピュータに、
入力文を形態素解析して形態素列を生成する形態素解析工程と、
固有表現抽出処理の対象外とする形態素である不要形態素に関する不要形態素処理規則を参照して前記形態素列中の不要形態素を認定し、該不要形態素処理規則で規定する前処理を実施して不要形態素認定済データを生成する前処理フィルタ工程と、
前記不要形態素認定済データから固有表現抽出を行う対象となる形態素のみからなる形態素候補データを生成し、確率モデルを参照して全ての固有表現識別子に対する確率値を求め、該確率値を利用して途中確率データを固有表現付形態素候補毎に求め、さらにある固有表現付形態素候補について最大の途中確率値となるものを最大途中確率値として残した最大途中確率データを求め、最終的に文頭から文末までの確率値が最大となるような一連の形態素と固有表現識別子の組である固有表現付形態素候補を生成する固有表現抽出工程と、
前記不要形態素認定済データを参照し、前記不要形態素処理規則で規定する後処理を実施して前処理フィルタで不要形態素と認定された形態素を前記固有表現付形態素候補に復元する後処理フィルタ工程とを実行させる固有表現抽出方法において、
前処理フィルタ工程は、
不要形態素処理規則記憶部に記憶された固有表現抽出処理の対象外とする形態素である不要形態素に関するマッチング条件、前処理条件及び後処理条件からなる不要形態素処理規則のマッチング条件を参照して形態素列中の不要形態素を認定し、前処理条件に従って該形態素列を処理するとともに後処理条件に従う後処理情報付きの不要形態素認定済データを生成し、不要形態素認定済データ記憶部に記憶する不要形態素認定処理工程からなり、
後処理フィルタ工程は、
不要形態素認定済データ記憶部に記憶された不要形態素認定済データの後処理情報を参照して前処理フィルタで不要形態素と認定された形態素を固有表現付形態素候補に復元し、固有表現抽出結果（固有表現付形態素列）を生成する不要形態素復元処理工程からなる
ことを特徴とする固有表現抽出方法。
【請求項７】
コンピュータに請求項４乃至６のいずれか記載の工程を実行させるためのプログラム。
【請求項８】
請求項７に記載のプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力されたテキスト（入力文）に対応する情報をデータベースから検索する検索システムや入力文を要約する要約システムなどにおいて重要な役割を果たす、入力文から固有表現を抽出する固有表現抽出技術に関する。
【背景技術】
【０００２】
まず、本明細書中の固有表現抽出処理で用いる『位置』について定義しておく。『位置』とは、入力文における文字と文字との間を指し、「０」から始まり、文頭から文末までの文字毎に１つずつ増えていく数字で表される。例えば、入力文が「ＮＴＴ持株会社社長の和田氏」の場合、位置と入力文の文字との関係は表１のようになる。ここで、位置「３」とは文字「Ｔ」と文字「持」との間を指す。位置が入力文の文字数と一致した時が文末に達した時である。表１の例では位置「１３」に達していれば文末と判断する。
【０００３】
【表１】
0005057916.tif 000002
【０００４】
各位置における、その位置の直後の文字から始まる形態素侯補、固有表現付形態素候補をそれぞれ、その位置の右側形態素候補、右側固有表現付形態素候補と呼ぶ。また、その位置の直前の文字で終了する形態素候補、固有表現付形態素候補をそれぞれ、その位置の左側形態素侯補、左側固有表現付形態素候補と呼ぶ。ここで形態素をその属性、例えば「表記／読み／品詞」で表すとすると、位置「３」の右側形態素候補は「持株／モチカブ／名詞」、左側形態素侯補は「ＮＴＴ／ＮＴＴ／名詞：ｎｔ」となる。なお、本明細書の解析処理では、文頭と文末についてはそれぞれ＜ｓ＞，＜／ｓ＞を用いて表現するものとする。即ち、上記の例では、位置「０」での左側にある候補を文頭記号＜ｓ＞、位置「１３」での右側にある候補を文末記号＜／ｓ＞として仮想的に捉える。詳細については後述するが、これらは単体で形態素としても固有表現としても、文頭・文末という特殊かつ柔軟な存在である。また、本明細書では、位置だけでなく、形態素番号も併せて利用するが、これは文頭から形態素を１から順番に振った番号であり、上記の例では、「ＮＴＴ／ＮＴＴ／名詞：ｎｔ」は形態素番号「１」、「持株／モチカブ／名詞」は形態素番号「２」となる。
【０００５】
固有表現抽出処理で抽出対象とする固有表現の代表的な例としては、日本語の固有表現抽出技術のワークショップ（略称ＩＲＥＸ）で定義されている人名、地名、組織名、金額、日付、時間、割合、固有物名の８種類がある。以下、本明細書では各固有表現の種類を、それぞれ、＜ＰＳＮ＞，＜ＬＯＣ＞，＜ＯＲＧ＞，＜ＭＮＹ＞，＜ＤＡＴ＞，＜ＴＩＭ＞，＜ＰＣＴ＞，＜ＡＲＴ＞と表し、さらに実際には固有表現でない形態素を固有表現の一種類として表すためにＮＩＬを追加し、以上の９種類を固有表現状態（種別）と呼ぶ。
【０００６】
固有表現は少なくとも１つの形態素から構成されることを考慮し、固有表現の冒頭の形態素とそれ以外の形態素を識別するために、固有表現状態にさらに開始、途中の区別を与える。以下、本明細書ではそれぞれＢ−、Ｉ−で表すことにするが、ＮＩＬについてはこの区別をしない。Ｂ−、Ｉ−の区別を与えた固有表現状態を表す識別子を固有表現識別子と呼ぶ。即ち、本明細書ではＢ−＜ＰＳＮ＞，Ｉ−＜ＰＳＮ＞，Ｂ−＜ＬＯＣ＞，Ｉ−＜ＬＯＣ＞，Ｂ−＜ＯＲＧ＞，Ｉ−＜ＯＲＧ＞，……Ｂ−＜ＡＲＴ＞，Ｉ−＜ＡＲＴ＞，ＮＩＬの１７種類の固有表現識別子を使用する。
【０００７】
表１の例において、各形態素に固有表現識別子を付与すると以下のようになる。
【０００８】
ＮＴＴ／ＮＴＴ／名詞：ｎｔ／Ｂ−＜ＯＲＧ＞
持株／モチカブ／名詞／Ｉ−＜ＯＲＧ＞
会社／ガイシャ／名詞／Ｉ−＜ＯＲＧ＞
社長／シャチョウ／名詞／ＮＩＬ
の／ノ／助詞／ＮＩＬ
和田／ワダ／名詞：ｎｒ／Ｂ−＜ＰＳＮ＞
氏／シ／名詞／ＮＩＬ
ここで、ＮＴＴ／ＮＴＴ／名詞：ｎｔ／Ｂ−＜ＯＲＧ＞の固有表現識別子はＢ−＜ＯＲＧ＞であり、固有表現状態は＜ＯＲＧ＞である。また、「ＮＴＴ／ＮＴＴ／名詞：ｎｔ  持株／モチカブ／名詞  会社／ガイシャ／名詞」の部分は３つの形態素から構成される固有表現状態＜ＯＲＧ＞の固有表現、「和田／ワダ／名詞：ｎｒ」は１つの形態素から構成される固有表現状態＜ＰＳＮ＞の固有表現である。
【０００９】
固有表現抽出とは、入力文中の形態素を認定し、少なくとも１つの形態素から構成される固有表現を認定して該当する固有表現状態を表す固有表現識別子を付与する処理である。これは、入力系列である形態素列ｘに対して、固有表現識別子というラベル列ｙを付与するという「系列ラベリング問題」として捉えることができる。なお、入力文中の形態素を認定する処理は、形態素解析処理と呼ばれる周知の処理である。
【００１０】
固有表現抽出の手法としては、大きく分けると、人手で設定した規則に基づくものと、予めデータから学習した統計的モデルに基づくものがある。前者は、対象とする領域や固有表現状態の定義の違いにより、規則を改めて設定し直さなければならないためコストがかかる。一方、後者は、学習データを用意しておけば自動学習を用いることにより低コストで実現でき、近年では様々な学習モデルに基づく固有表現抽出法が研究されている。学習モデルには最大エントロピー法、サポートベクトルマシン、隠れマルコフモデル、条件付確率場など、いくつかの手法がある。
【００１１】
近年、系列ラベリング問題に対しては、条件付確率場（ＣＲＦ：Ｃｏｎｄｉｔｉｏｎａｌ  Ｒａｎｄｏｍ  Ｆｉｅｌｄｓ）が好成績を挙げており、固有表現抽出技術へも適応されている。ＣＲＦでは、入力系列ｘが与えられた時のラベル列ｙの出力確率が以下のように与えられる。
【００１２】
【数１】
0005057916.tif 000003
【００１３】
但し、Ｚ（ｘ）は正規化項、Ｉは入力系列長、ｆk（ｘ，ｙ，ｉ）は入力系列とラベル列が位置ｉにおいて、ある条件を満たすときに１、それ以外で０となる（特徴ｋに関する）素性関数である。例えば、単語の品詞推定では、位置ｉにおいて、単語ｘiの表記ｘi,1（特徴ｋ＝１は「表記」を表す。）が「ＮＴＴ」で品詞ｙiが「名詞：ｎｔ」であるときに１、それ以外で０となるような関数である。なお、単語の表記のような、入力の特徴を表すものを素性と呼び、表記、品詞、読みなどの形態素を構成する個々の特徴だけでなく、形態素というまとまりを素性として用いたり、または形態素を検索キーとして別の辞書情報、例えば日本語語彙体系のカテゴリ情報を取得して、そのカテゴリ情報を素性として用いたりすることも可能である。また、現在の位置ｉだけでなく、以前の位置ｉ−１，ｉ−２、あるいは以後の位置ｉ＋１，ｉ＋２などの素性も組み合わせ、例えば（ｘi-1,1，ｘi,1，ｘi+1,1）＝（ＮＴＴ，持株，会社）であるときに１、それ以外は０、というような素性関数も設定可能である。λkは（特徴ｋに関する）素性関数に対する重みである。
【００１４】
ところで、式（１）における正規化項Ｚ（ｘ）は、ｙには依存しないため、式（１）で示される出現確率を最大にするｙを求める上で無視しても問題は無い。即ち、式（１）の分子のみに着目して分子を最大化するｙを求めれば、式（１）全体を最大化するｙを求められる。
【００１５】
このことにより、入力系列ｘに対する最適なラベル列Ｙは、以下の式を満足するものを、全ラベルの組み合わせから探索することにより決定される。
【００１６】
【数２】
0005057916.tif 000004
【００１７】
本明細書では、これ以降、式（１）の分子で計算される値を確率として扱い、かつ、本文中でも確率という用語をこのまま使用することとする。重みλkは、予め正解データ中のｘ，ｙの組を与え、事後確率最大化学習を行うことにより算出する。具体的な学習アルゴリズムについては、例えば非特許文献１に記載されたような手法がある。
【００１８】
従来の固有表現抽出処理では、解析精度は理想的な条件、即ち十分な量の規則や学習データが存在し、且つ、学習モデルが想定する分野の入力文である、という状況であれば８〜９割超の解析精度が期待できるが、実際に検索システムや要約システムなどの実用アプリケーションで使用すると、常に理想的な条件で実施できることは少なく、予想外の解析誤り、つまり固有表現識別子を誤って付与するミスがおき、システムの挙動に悪影響を及ぼすこともしばしばある。その場合、新たに規則や学習モデルを整備して、期待の動作をするように調整することも可能であるが、特に学習モデルを用いたシステムの場合、大局的には学習モデルが増えれば増えるほど精度が向上することが期待されるものの、個々の事例に対してきめ細かな出力制御を行うことは困難であった。
【００１９】
また、実用上の別の問題として、Ｗｅｂ文書を対象として固有表現抽出を行う場合、特にニュース記事などのプロの書き手が記述した文書ではなく、一般のユーザーが記述した文書、即ちＣＧＭ（Ｃｏｎｓｕｍｅｒ  Ｇｅｎｅｒａｔｅｄ  Ｍｅｄｉａ）と呼ばれるブログや掲示板の書き込みなどを対象として固有表現抽出を行う場合、理想的な書き言葉としての文章から逸脱するような文章が多く存在するため、処理結果に悪影響をもたらすという問題があった。
【００２０】
それは、これらのＣＧＭは書き言葉よりは話し言葉に近い、くだけた表現が良く使われるという文体の問題もあるが、もう一つ特徴的な問題として、これらのＣＧＭには、単にＷｅｂ表示上のレイアウト調整や強調効果を狙ったと思われる無意味な空白や記号類が文章の途中で出現する事例が多数存在するという問題があった。例えば「
＊＊＊  ＮＴＴ    サイバースペース    研究所    にて    ＊＊＊
齋藤    邦子    氏  が開発した新システム  ★★NameLister★★  を大公開！！！
」のように、無意味な空白や記号「＊」、「★」、「！」などが出現するような事例である。
【００２１】
これらは、文章において意味をなさないだけでなく、本来「ＮＴＴサイバースペース研究所」と繋がっていれば、折角の前後の文脈情報として手がかりになり得る「ＮＴＴ」と「サイバースペース」との連接情報、あるいは「サイバースペース」と「研究所」の連接情報が失われており、また「齋藤」と「邦子」、「邦子」と「氏」の連接情報も同様に失われている。また「システム」と「NameLister」という連接情報についても同様である。このような事例は現実にＷｅｂ文書を処理すると色々なパターンで出現し、固有表現抽出処理の性能低下を招く。
【非特許文献１】Ｓｕｚｕｋｉ  Ｊ．，ＭｃＤｅｒｍｏｔｔ  Ｅ．ａｎｄ  Ｉｓｏｚａｋｉ  Ｈ．，“Ｔｒａｉｎｉｎｇ  Ｃｏｎｄｉｔｉｏｎａｌ  Ｒａｎｄｏｍ  Ｆｉｅｌｄｓ  ｗｉｔｈ  Ｍｕｌｔｉｖａｒｉａｔｅ  Ｅｖａｌｕａｔｉｏｎ  Ｍｅａｓｕｒｅｓ”，Ｐｒｏｃ．ｏｆ  ＣＯＬＩＮＧ−ＡＣＬ，ｐｐ．６１７−６２４，２００６
【発明の開示】
【発明が解決しようとする課題】
【００２２】
このように、従来の固有表現抽出処理では、用意していた規則や学習モデルが想定していない事例に対し、想定外の処理誤りが発生する可能性があり、また、これらの誤りを規則や学習モデルの設計から修正するにはコスト面でも困難であり、特に学習モデルの整備による修正では、個々の細かい事例に対する出力制御を行うことが困難であるという問題があった。そこで、これらの細かい事例をある程度操作する仕組みが必要である。
【００２３】
また、従来の固有表現抽出処理では、実際にＷｅｂ文書を解析すると、特に一般のユーザが記述した文書では、プロの書き手が記述した理想的な書き言葉としての文章から逸脱する話し言葉に近い文体の文章が多く登場し、さらに特徴的な事例として、主にレイアウト調整や強調などを目的として文章の途中に無意味な空白や記号類が出現し、固有表現抽出で重要な手がかりとなり得る単語の連接情報を消失させてしまうという問題があった。そこで、これらの無意味な空白や記号類などを固有表現抽出の処理過程では、処理の対象外とする仕組みが必要である。
【００２４】
本発明は、これら２つの問題点を解決することを目的とする。
【００２５】
具体的には、本発明の第１の目的は、Ｗｅｂ文書由来の入力文で良く見られる、無意味な空白や記号を固有表現抽出処理の対象から一時的に削除し、固有表現抽出処理後に適切な形で復活させることである。
【００２６】
また、第２の目的は、予め用意する規則や学習モデルの外に、ユーザが自由に設定できるユーザ辞書を準備し、モデル由来とユーザ辞書由来の侯補を比較検討する処理方法を実現することである。
【課題を解決するための手段】
【００２７】
本発明では、前記第１の目的を達成するために、前処理フィルタで不要形態素処理規則を参照して、形態素列から固有表現抽出処理の対象外とする不要形態素を認定し、規則で規定する適切な前処理を実施することを特徴とする。また、後処理フィルタで、前処理フィルタが出力していた不要形態素認定済データを参照し、前処理で除外された不要形態素を不要形態素処理規則で予め規定する適切な後処理を実施することを特徴とする。
【００２８】
これにより入力文に存在する無意味な空白や記号類を固有表現抽出処理の対象から最低限外し、出来る限り単語の連接情報を有効に保持することを特徴とする。但し、元のテキストの情報を完全に消失することはＷｅｂ文書を対象とした検索サービスにおいては不利益になることも多いので、あくまでも元テキストと同じものが処理対象となっているにも拘わらず、実際の固有表現抽出処理では不要な空白や記号類が処理対象から一旦外され、最終的には元のテキストの状態のままで精度良く固有表現抽出できていることが特徴である。
【００２９】
また、本発明では、前記第２の目的を達成するために、固有表現抽出部の侯補作成部でユーザ辞書を参照してユーザ辞書侯補データを作成し、続いて固有表現抽出部の前向き制御部で、前記ユーザ辞書侯補データ、素性リストおよび確率モデルを参照して、確率モデルが推定する固有表現識別子と、ユーザ辞書が定義する固有表現識別子とを比較し、より尤もらしい方を出力することを特徴とする。そのために、モデルが与える確率値に相当するスコアを予めユーザ辞書に定義しておく。また、本手段では、解析途中でユーザ辞書を適応するため、前後の文脈に応じたユーザ辞書の適応を実現することが特徴である。
【発明の効果】
【００３０】
本発明によれば、形態素解析処理直後に前処理フィルタを適応することにより、固有表現抽出で重要な手がかりとなる単語の連接情報を消失させるような無意味な空白や記号類を一旦処理対象から除くことができる。そして固有表現抽出した後に、後処理フィルタを適応し、本来存在していた無意味な空白や記号類を元の位置に埋め戻し、あたかも最初から元のテキストを処理対象としたかのような固有表現抽出結果を得ることができる。
【００３１】
また、本発明によれば、固有表現抽出処理の途中でユーザ辞書を適応することにより、モデル由来の固有表現識別子とユーザ辞書由来の固有表現識別子を戦わせ、比較することで文全体で尤もらしい方の識別子を選ぶことができる。そのため、従来の技術で課題となっていた、規則やモデルが想定しない事例に対してうまく解析できないという点に対し、ユーザ辞書により細かい置き換え操作が実現できる。
【発明を実施するための最良の形態】
【００３２】
＜第１の実施の形態＞
図１は本発明の第１の実施の形態に係る固有表現抽出装置を示すもので、形態素解析部１、前処理フィルタ２、固有表現抽出部３及び後処理フィルタ４から構成される。
【００３３】
形態素解析部１は、形態素解析モデルを記憶する形態素解析モデル記憶部１１と、形態素解析モデル記憶部１１に記憶された形態素解析モデルを参照して入力文を形態素解析し、形態素列を生成して出力する形態素解析処理部１２と、形態素解析処理部１２から出力された形態素列を記憶する形態素列記憶部１３とを有する。
【００３４】
前処理フィルタ２は、固有表現抽出処理の対象外とする形態素である不要形態素に関するマッチング条件、前処理条件及び後処理条件からなる不要形態素処理規則を記憶する不要形態素処理規則記憶部２１と、形態素列記憶部１３から形態素列を読み出し、不要形態素処理規則記憶部２１に記憶された不要形態素処理規則のマッチング条件を参照して前記形態素列中の不要形態素を認定し、前処理条件に従って該形態素列を処理するとともに後処理条件に従う後処理情報付きの不要形態素認定済データを生成し、出力する不要形態素認定処理部２２と、不要形態素認定処理部２２から出力された不要形態素認定済データを記憶する不要形態素認定済データ記憶部２３とを有する。
【００３５】
固有表現抽出部３は、さらに候補作成部５、前向き制御部６及び探索処理部７から構成される。
【００３６】
固有表現抽出部３の候補作成部５は、不要形態素認定済データ記憶部２３から不要形態素認定済データを読み出し、固有表現抽出を行う対象となる形態素のみからなる形態素候補データを生成して出力する形態素候補作成処理部５１と、形態素候補作成処理部５１から出力された形態素候補データを記憶する形態素候補データ記憶部５２と、予めユーザが設定した任意の語句について少なくともその表記、固有表現状態及びスコアを含む辞書情報を記述したユーザ辞書を記憶するユーザ辞書記憶部５３と、形態素候補データ記憶部５２から形態素候補データを読み出し、ユーザ辞書記憶部５３に記憶されたユーザ辞書を参照して前記形態素候補データ中の表記が一致する形態素に対し前記辞書情報を付与したユーザ辞書候補データを生成し、出力するユーザ辞書参照処理部５４と、ユーザ辞書参照処理部５４から出力されたユーザ辞書候補データを記憶するユーザ辞書候補データ記憶部５５とを有する。
【００３７】
固有表現抽出部３の前向き制御部６は、一の形態素についてその前後の形態素を含めた特徴である素性を取得するための素性テンプレートを記憶する素性テンプレート記憶部６１と、形態素候補データ記憶部５２から形態素候補データを読み出し、素性テンプレート記憶部６１に記憶された素性テンプレートを参照して形態素候補データ中の各形態素について素性を取得し、素性リストを生成して出力する素性作成処理部６２と、素性作成処理部６２から出力された素性リストを記憶する素性リスト記憶部６３と、予め任意の素性についてその固有識別状態を表す固有表現識別子がとる確率値を記述した確率モデルを記憶する確率モデル記憶部６４と、形態素候補データ記憶部５２から形態素候補データを読み出し、形態素候補データ中の各形態素について、素性リスト記憶部６３及び確率モデル記憶部６４にそれぞれ記憶された素性リスト及び確率モデルを参照して全ての固有表現識別子に対する確率値を求めるとともに、ユーザ辞書候補データ記憶部５５に記憶されたユーザ辞書候補データを参照してスコアを求め、形態素の表記と固有表現識別子と確率値とスコアとを少なくとも含む途中確率データを形態素毎に求め、さらに確率値とスコアのうち大きい方をのみを最大途中確率値として残した最大途中確率データを求める前向き制御処理部６５と、前記途中確率データを記憶する途中確率データ記憶部６６と、前記最大途中確率データを記憶する最大途中確率データ記憶部６７とを有している。
【００３８】
固有表現抽出部３の探索処理部７は、最大途中確率データ記憶部６７から最大途中確率データを読み出し、各形態素について最大途中確率値が最大の固有表現識別子をその形態素の固有表現識別子とする固有表現付形態素候補を生成し、出力する候補探索処理部７１と、候補探索処理部７１から出力された固有表現付形態素候補を記憶する固有表現付形態素候補記憶部７２とを有する。
【００３９】
後処理フィルタ４は、固有表現付形態素候補記憶部７２から固有表現付形態素候補を読み出し、不要形態素認定済データ記憶部２３に記憶された不要形態素認定済データの後処理情報を参照して前処理フィルタ２で不要形態素と認定された形態素を前記固有表現付形態素候補に復元し、固有表現抽出結果（固有表現付形態素列）を生成して出力する不要形態素復元処理部４１を有している。
【００４０】
以下、前述した各処理部における処理の詳細について例を挙げて説明する。
【００４１】
［形態素解析処理部１２］
形態素解析処理部１２は、形態素解析モデル記憶部１１に記憶された形態素解析モデルを参照し、入力文から尤度が最上位の形態素を抽出して形態素列を生成し、形態素列記憶部１３に出力して記憶する。本実施の形態では、形態素列は、「表記／読み／品詞」からなる形態素の組み合わせで入力文を表したものとするが、「表記／品詞」や「表記／原形／品詞」など、他の形態素の組み合わせを用いても良い。また、本実施の形態では、特開平９−２８８６７３号公報に記載の形態素解析処理技術を用いているものとするが、形態素列を出力する形態素解析装置であればどのようなものでも良い。図２に入力文が「 ０６年  ＮＴＴ 持株会社社長の★和田★氏！！」である場合に形態素解析処理部１２が出力する形態素列の一例を示す。
【００４２】
［不要形態素認定処理部２２］
形態素解析部１の形態素列記憶部１３から形態素列を読み出し、これを入力として、不要形態素処理規則記憶部２１に記憶された不要形態素処理規則を参照して前記形態素列中に存在する不要形態素を認定し、規則が規定する前処理を実行して不要形態素認定済データを生成し、不要形態素認定済データ記憶部２３に出力して記憶する。本技術では、不要形態素の認定には形態素列が持つ情報である表記と品詞を利用し、パターンマッチの枠組みを導入する。また、マッチングの条件判定で利用する不要形態素処理規則は、正規表現で記述する。なお、不要形態素処理規則は、前処理フィルタ２での処理に用いる規則と、後処理フィルタ４での処理に用いる規則とをまとめて記述する。そのため、ここでは後処理で用いる規則についても併せて説明する。また、不要形態素認定済データには、認定された各不要形態素に対して、後処理フィルタ４での処理内容も併せて記録されている。詳細については後述する。
【００４３】
正規表現とは、文字列の集合を一つの文字列で表現する方法の一種であり、主にプログラミング言語で利用されている。基本的には全ての要素を列挙せずに目的とする文字列集合を端的に表現することが可能となるように設計されており、そのために幾つかの演算子が用意されている。代表的なものに「？」、「＊」、「＋」があり、「？」は直前の表現が０個か１個存在し、「＊」は直前の表現が０個以上存在し、「＋」は直前の表現が１個以上存在することを示す。例えば「ｎｔｔ？」は「ｎｔ」と「ｎｔｔ」にマッチする。「ｎｔ＊」は「ｎ」，「ｎｔ」，「ｎｔｔ」，「ｎｔｔｔ」，「ｎｔｔｔｔ」，…にマッチする。「ｎｔ＋」は「ｎｔ」，「ｎｔｔ」，「ｎｔｔｔ」，「ｎｔｔｔｔ」，…にマッチする。以上のような正規表現の文法はプログラミング言語に応じて仕様が異なる場合もあるが、概ね同じような機能を有する。本技術では、利用する正規表現の種類は特に問わない。
【００４４】
上記のように正規表現を利用すると、不要形態素処理規則を効率良く作成することができる。本技術では、予め入力となる形態素列の表記と品詞をタブ「￥ｔ」で連結したものを一つの形態素とし、更に各形態素は改行「￥ｎ」で連結する。即ち、「ＮＴＴ／ＮＴＴ／名詞：ｎｔ」及び「持株／モチカブ／名詞」という２つの形態素からなる形態素列がある場合は、「ＮＴＴ￥ｔ名詞：ｎｔ￥ｎ持株￥ｔ名詞￥ｎ」という形になる。このような入力データに対して不要形態素処理規則で記述する正規表現を適用し、パターンマッチを行う。なお、この連結処理の際に、形態素列の各要素である形態素の位置および形態素番号を計算し、該当形態素と併せて、不要形態素認定済データの中に記憶しておく。
【００４５】
図３は不要形態素処理規則の一例を示すものである。各行の先頭にある「１：」「２：」などの「数字：」の部分は、本明細書で説明し易くするために行数番号を追記したものであり、実際の規則には記載しない。この例では２６行からなる規則である。「＃」で開始する行、即ち１行目、９行目、１７行目は、人間が見て内容を容易に把握するためのコメント行であり、規則そのものではない。２行連続する空行（内容の全くない行）は規則の終わりを意味しており、この例では１行目から８行目、９行目から１６行目、１７行目から２６行目の部分がそれぞれ１つの規則になっていて、それぞれ規則Ｉ、規則II、規則IIIと呼ぶことにする。
【００４６】
規則Ｉは１行目のコメントにある通り、「文頭の空白は削除し、ＮＩＬとして戻す」ための規則であり、２行目から８行目までが規則本体である。規則は、大きく（イ）マッチング条件、（ロ）前処理条件、（ハ）後処理条件の３条件からなり、それぞれが空行で区切られている。即ち、規則Ｉでは２行目が（イ）、４行目が（ロ）、６行目が（ハ）である。同様にして９行目から始まる規則IIでは、１０行目が（イ）、１２行目が（ロ）、１４行目が（ハ）である。また、１７行目から始まる規則IIIでは、１８〜１９行目が（イ）、２１行目が（ロ）、２３〜２４行目が（ハ）である。
【００４７】
以下、各規則の３つの条件について説明する。
【００４８】
（イ）マッチング条件とは、不要形態素として認定するためのマッチング条件である。これは前述した通り正規表現を用いて記述する。規則Ｉのマッチング条件は「＾（［ ｜  ］＋￥ｔ［＾￥ｔ］＊）＋」となっているが、これが意味するところは、
（１）入力の先頭に存在しているもので  ...＾
（２）表記としては半角空白または全角空白が１個以上存在し  ...［ ｜  ］＋
（３）品詞としてはタブ「￥ｔ」以外の任意の文字列が存在し  ...［＾￥ｔ］＊
（４）上記（２），（３）にマッチする形態素が１個以上存在したら  ...（［ ｜  ］＋￥ｔ［＾￥ｔ］＊）＋
この規則にマッチする、ということを示している。
【００４９】
ここで（３）でタブ「￥ｔ」以外の任意の文字列と指定しているのは、本例では形態素の表記と品詞をタブ「￥ｔ」で繋げているからであり、品詞部分のみとマッチさせるために、表記と品詞の区切りであるタブ「￥ｔ」は除いた任意の文字列を指定しなければならない。
【００５０】
「［］」、「｜」、「［＾］」は正規表現で用いられる文法を表すものであり、「［］」はカッコ内に含まれる１文字にマッチし、「［＾］」はカッコ内に含まれない１文字にマッチする。「｜」はｏｒの意味であり、単独の「＾」は行の先頭を意味する。また「（）」は、その部分にマッチした表現は後でマッチした順に＄１、＄２、＄３といった表記で呼び出すことができる後参照という文法である。この例では「（）」は一箇所しかないので、＄１と指定することで、この正規表現にマッチした文字列を呼び出せる。この機能は必要に応じてて（ロ）前処理条件や（ハ）後処理条件で利用する。
【００５１】
９行目から始まる規則IIにおける（イ）マッチング条件は、「表記がタブ以外の任意の文字列であり、品詞が空白又はＳｙｍｂｏｌである形態素が１個以上存在したら」という条件を意味する。
【００５２】
また、１７行目から始まる規則IIIにおける（イ）マッチング条件は、「文末に表記が?又は？又は!又は！であり、品詞がタブ以外の任意の文字列である形態素が２個以上連続して出現したら」という条件を意味する。ここでの条件は１８行目と１９行目の２行に亘って記述されていることが重要である。マッチング条件では、複数行に亘って記述された正規表現は「￥ｎ」で連結して処理する。そのため、この例のような２行に亘るマッチング条件は「￥ｎ」で連結されて「（［?｜？｜!｜！］＋￥ｔ［＾￥ｔ］＊）￥ｎ（［?｜？｜!｜！］＋￥ｔ［＾￥ｔ］＊）＋＄」として認識される。最後に登場する＄は文末を意味する。
【００５３】
１８行目の記述は「表記が?又は？又は!又は！であり、品詞がタブ以外の任意の文字列である形態素が１つ存在したら」であり、１９行目の記述は「１８行目と同じ形態素が１つ以上文末に存在したら」となっているため、あわせると「上記の該形態素が２個以上が文末に存在したら」という条件になる。そして、１８行目、１９行目ともそれぞれが（）で囲まれているので、後でマッチした表現をそれぞれ＄１、＄２で呼び出すことができる。
【００５４】
続いて（ロ）前処理条件について説明する。
【００５５】
（イ）でマッチした表現に対してどのような前処理を行うかを記述する。規則ＩおよびII、即ち４行目および１２行目では「delete」となっており、削除を意味する。規則III、即ち２１行目では＄１となっており、これは指定したもの＄１だけを残し、残りは削除することを意味する。つまり、この例では１８行目で指定したマッチング条件に合致した形態素だけを残し、それ以外、即ち１９行目の条件でマッチした形態素は削除される。
【００５６】
（ハ）後処理条件については、固有表現抽出処理実行後に、条件（イ）でマッチした文字列、即ち形態素を戻す際、どのような固有表現識別子を付与しておくかを指定するものである。つまり、前処理で固有表現抽出処理の対象外となった形態素に対し、固有表現抽出対象になって固有表現識別子が付与された他の形態素と整合性を保つため、対象外となった形態素に対しても何らかの固有表現識別子を付与しておく。
【００５７】
規則ＩおよびIIの例、即ち６行目及び１４行目ともに「＄１：ＮＩＬ」となっており、（イ）マッチング条件でマッチした＄１部分に対して「ＮＩＬ」を付与して戻すことを意味する。規則IIIの例、即ち２３行目と２４行目では、まず２３行目で「＄１：−」となっており、これは＄１は（ロ）前処理条件で残すことを指定しているので、固有表現抽出処理対象になっているはずであり、その処理で付与された固有表現識別子をそのまま保持することを意味する。２４行目では「＄２：＄１」となっており、これは＄２は（ロ）前処理条件で削除されていたので何も固有表現識別子が存在していないのだが、＄１と同じ固有表現識別子を付与して戻すことを意味する。
【００５８】
以上のように（イ）マッチング条件、（ロ）前処理条件、（ハ）後処理条件の３構成で不要形態素処理規則を記述する。特に（イ）マッチング条件では正規表現を利用して、前処理対象とする文字列、ここでは表記と品詞からなる形態素列を効率良く指定することが特徴である。また、（ロ）前処理条件では、削除するか残すかを、「ｄｅｌｅｔｅ」か（イ）マッチング条件で指定する後参照記号「＄１，＄２」等で指定する。更に（ハ）後処理条件では、（ロ）前処理条件で行った処理を前提にして、それぞれにどのような固有表現識別子を付与するのか、あるいは、既にある識別子を利用するのか、を「−」、「ＮＩＬ」、後参照記号「＄１、＄２」等で指定する。
【００５９】
今回、不要形態素処理規則が（イ）、（ロ）、（ハ）の３構成で１つの規則となっているために（ハ）の内容まで説明したが、不要形態素認定処理部２２においては、マッチングと前処理のみを実行し、（ハ）についてはその内容（後処理情報）のみを記録するに留める。即ち、前述した通り、形態素列の表記と品詞をタブ「￥ｔ」で連結し、さらに形態素列を順に「￥ｎ」で連結したものに対して、（イ）マッチング条件でマッチする文字列をパターンマッチし、マッチする箇所があれば、（ロ）前処理条件で指定された処理、即ち削除するか残すかを実行する。そして、不要形態素認定済データを出力するのであるが、このデータには、既に形態素列の連結時に記憶されている前処理以前の形態素列が保持していた位置、形態素番号、形態素情報の他に、新たに前処理後の新位置、新形態素番号、後処理情報を追加して記憶したものである。
【００６０】
ここで、新位置、新形態素番号は、（ロ）前処理条件で指定された処理を行った後、残った形態素列だけでの位置と形態素番号を新たに振り直したものである。
【００６１】
図４に不要形態素認定済データの一例を示す。これは前述した入力文「 ０６年  ＮＴＴ 持株会社社長の★和田★氏！！」を形態素解析し、その形態素列を入力として図３の規則を適応した時の不要形態素認定済データである。規則Ｉにより文頭の半角空白が削除され、規則IIにより文中に出現する空白と記号が削除され、規則IIIにより文末の「！！」が一つだけになった。また前処理の対称となった形態素については後処理の内容が記憶される。ここでは便宜上、不要形態素処理規則で記載した後処理をそのまま書いたが、正規表現の後参照情報、即ち＄１や＄２の中身自身も別途記憶される。
【００６２】
［形態素侯補作成処理部５１］
前処理フィルタ２の不要形態素認定済データ記憶部２３から不要形態素認定済データを読み出し、これを入力として、処理対象として残っている形態素列中の各形態素の位置、形態素番号、この位置に対応する形態素を対応付けて記載した形態素侯補データを生成し、形態素侯補データ記憶部５２に出力して記憶する。この時の位置、形態素番号とは、不要形態素認定済データにおける新位置、新形態素番号のことである。形態素侯補データの一例を図５に示す。なお、形態素番号とは、先頭の形態素を１とし、以下順に番号を振ったものであり、先頭から何番目の形態素であるかを示したものである。
【００６３】
［ユーザー辞書参照処理部５４］
形態素侯補データ記憶部５２から形態素侯補データを読み出し、これを入力として、ユーザ辞書記憶部５３に記憶されたユーザ辞書を参照し、該ユーザ辞書に登録してある表記にマッチする箇所があれば、そのときの連結情報と、ユーザ辞書に登録してあるスコア、ユーザ定義をユーザー辞書侯補データとして出力してユーザー辞書候補データ記憶部５５に記憶する。
【００６４】
ユーザ辞書の一例を図６に示す。ユーザ辞書には、予めユーザが設定した任意の語句についてその表記、固有表現状態、スコア、ユーザ定義を含むユーザ辞書情報が記録されている。例では、「ＮＴＴ持株会社」という語句（表記）に対し、固有表現状態「＜ＯＲＧ＞」、スコア「７．０」及びユーザ定義「１０５４」が記録されている。
【００６５】
このとき、入力の形態素侯補データに対して表記を形態素単位でつなげていき、ユーザ辞書の表記とマッチする箇所があればその位置、形態素番号、表記、ユーザ辞書情報をまとめて記録し、ユーザ辞書侯補データとして出力する。
【００６６】
ユーザ辞書侯補データの一例を図７に示す。なお、ユーザ辞書侯補データ中の表記は、後の確率計算において都合が良いように、素の形態素情報に直し、さらに、該当する固有表現状態を固有表現識別子に置き換えたものに展開して併せて記憶しておく。例えば、この例では「ＮＴＴ／ＮＴＴ／名詞：ｎｔ」、「持株／モチカブ／名詞」、「会社／ガイシャ／名詞」と形態素に展開し、それぞれ、Ｂ−＜ＯＲＧ＞，Ｉ−＜ＯＲＧ＞，Ｉ−＜ＯＲＧ＞を固有表現識別子と記憶しておく。
【００６７】
［素性作成処理部６２］
形態素侯補データ記憶部５２から形態素侯補データを読み出し、これを入力として、素性テンプレート記憶部６１に記憶された素性テンプレートを参照しながら各形態素位置で素性を作成して素性リストを生成し、素性リスト記憶部６３に出力して記憶する。素性リストにはそれぞれの位置、形態素番号および作成された素性一覧が記録されている。
【００６８】
なお、本処理以降では、文頭および文末に仮想的に＜ｓ＞，＜／ｓ＞という特殊記号が存在すると想定する。具体的には、形態素候補データの形態素列に対し、冒頭に文頭記号＜ｓ＞、末尾に文末記号＜／ｓ＞を挿入する。特に、文末記号＜／ｓ＞については、位置、形態素番号を追加で付与し、図５の形態素候補データの例では、位置「１７」、形態素番号「１１」に＜／ｓ＞が存在すると認識させる。この情報は前向き制御処理部６５で利用する。
【００６９】
図８に素性テンプレートの一例を示す。ここで、ｈは表記、ｐは品詞、ＮＣは固有表現識別子を指し、［−１］［０］［１］は現在の形態素番号からの距離を示す。例えば、ｈ［−１］は現在の形態素番号より一つ前の形態素の表記、ｐ［１］は現在の形態素番号より一つ後ろの形態素の品詞、ＮＣ［０］は現在の形態素番号の形態素の固有表現識別子を意味する。
【００７０】
ここで、前述した特殊記号＜ｓ＞，＜／ｓ＞に関しては、あらゆる素性要素はその特殊記号自身であると考える。即ち、形態素番号「１」においてｈ［−１］＝＜ｓ＞、ｐ［−１］＝＜ｓ＞であり、形態素番号「１０」（図５の形態素候補データの例における文末）でのｈ［１］＝＜／ｓ＞、ｐ［１］＝＜／ｓ＞である。この距離は素性を考慮する範囲を意味しており、一般にはウインドウサイズと呼ばれる。この例ではウインドウサイズ「１」であるが、これらは自由に設定すれば良く、「２」や「３」と広くしても良い。また、現在、注目する形態素番号において、ウインドウサイズの範囲が冒頭で想定した文頭／文末の位置を超える場合、例えば形態素番号「１」でｈ［−２］を指定した場合や、形態素番号「１０」でｐ［２］を指定した場合は、それぞれ文頭記号＜ｓ＞、文末記号＜／ｓ＞と認識させる。
【００７１】
なお、この処理では、素性テンプレートに記述されている形態素に関する素性のみを作成する。即ち、素性テンプレートにおけるＮＣについての記述は無視し、それ以外の形態素に関するｈ、ｐの素性を作成して素性リストとする。固有表現識別子に関する素性については、空のままとし、後述する前向き制御処理でその都度、取得する。
【００７２】
各位置及び形態素番号において、素性テンプレートに対応する素性を取り出したものが素性リストであり、図９にその一例を示す。この例は図５に示した形態素侯補データの位置「６」及び形態素番号「４」における素性リストになる。このようなリストを全ての位置および形態素番号について取得する。
【００７３】
［前向き制御処理部６５］
形態素候補データ記憶部５２から形態素候補データを読み出し、これを入力として、ユーザ辞書候補データ記憶部５５に記憶されたユーザ辞書候補データ、素性リスト記憶部６３に記憶された素性リスト及び確率モデル記憶部６４に記憶された確率モデルを参照しながら、図１０に従う、以下のステップｓ１〜ｓ５の処理を実行して途中確率データ及び最大途中確率データを生成し、途中確率データ記憶部６６及び最大途中確率データ記憶部６７に出力して記憶する。
【００７４】
（ステップｓ１）現形態素番号を文頭（＝１）に設定し、また左側固有表現付形態素候補を＜ｓ＞と設定してステップｓ２に進む。
【００７５】
（ステップｓ２）現形態素番号が占める位置が文末でなければ、右側形態素候補に全ての固有表現識別子を付与して右側固有表現付形態素候補とする。文末であれば、右側固有表現付形態素候補を＜／ｓ＞とする。また、現形態素番号における左側固有表現付形態素候補を取得してステップｓ３に進む。
【００７６】
（ステップｓ３）現形態素番号での右側固有表現付形態素侯補と左側固有表現付形態素侯補の全ての組について、素性リスト、確率モデル、ユーザ辞書侯補データを参照して確率値を求め、途中確率データとして途中確率データ記憶部６６に記憶する。そしてある右側固有表現付形態素候補の途中確率について、確率値が最大のもののみを最大途中確率データとして最大途中確率データ記憶部６７に記憶しておく。全ての処理が終了したらステップｓ４に進む。その際、今の形態素番号での右側固有表現付形態素候補を次の形態素番号での左側固有表現付形態素候補であると設定する。
【００７７】
（ステップｓ４）現形態素番号が占める位置が文末であるかを調べ、文末でなければステップｓ５に進み、文末であれば処理を終了して候補探索処理に進む。
【００７８】
（ステップｓ５）形態素番号を１つ増して、ステップｓ２へ戻る。
【００７９】
ここで、ステップｓ３の途中確率値の求め方について、もう少し詳しく述べる。
【００８０】
ある位置における途中確率値は、文頭からその位置の右側固有表現付形態素侯補までの確率値の和を意味する。その中で最大の値になるものを最大途中確率値という。具体的には、現在の位置で注目している左右の固有表現付形態素侯補の組に対し、左側固有表現付形態素侯補の最大途中確率値と、左右の固有表現付形態素侯補に対しての確率値（便宜的に２つ組確率値と呼ぶこととする。）の積で求められる。そして、その値を文頭からその位置の右側固有表現付形態素侯補までの途中確率値として記憶する。そして、その右側固有表現付形態素侯補に対して、全ての途中確率値が計算できたら（固有表現識別子が前述した１７種であるとすると、接続する左側固有表現付形態素侯補は１７候補存在し、途中確率値も１７個ある。）、その中で最も大きい確率値をその右側固有表現付形態素侯補の最大途中確率値とする。なお、ここでは式（１）（２）に従って確率値の積として説明したが、実施の上では確率値そのものではなくて対数をとったものを利用する。そのため、確率値の積ではなく、和として扱われる。以降の説明においても確率値は全て対数をとったものであり、積は和として計算する。
【００８１】
ある左側固有表現付形態素侯補と右側固有表現付形態素侯補の組に対しての２つ組確率値は、右側固有表現付形態素侯補そのものの確率値と、左右候補の連接確率値の和として計算する。右側固有表現付形態素侯補そのものの確率値は、確率モデル由来の値とユーザ辞書由来の値があり、最終的には両者のうち値の大きい方を採用する。確率モデル由来の値は、該当する形態素番号で記憶されている素性リストの各素性に対し、確率モデルを参照した上で加算したものである。ここでは、既に素性が取得されているもののみを参照し、空の素性は後の連接確率値の計算で利用する。確率モデルは、素性とその時の固有表現識別子がとる確率値を記憶したものであり、式（１）におけるλkに相当する。図１１に確率モデルの一例を示す。なお、全ての素性に対して確率モデルのデータがあるとは限らず、値のない素性も存在する。そのようなものは確率０とみなす。
【００８２】
確率モデルの参照が終わったら、続いてユーザ辞書侯補データを参照し、現在の右側固有表現付形態素候補がユーザ辞書侯補であるかどうかを調べ、もし侯補であれば、そのときのユーザ辞書登録スコアを取得する。そして、既に計算していた確率モデル由来の値とユーザ辞書登録スコアとを比較し、大きい方をこの位置での右側固有表現付形態素候補そのものの確率値とする。続いて、左右候補の連接確率値を計算するが、これは今、参照している素性リストにおいて空になっている、固有表現識別子に関する素性計算する処理である。この例ではＮＣ［−１］／ＮＣ［０］に相当し、適宜、現在の組み合わせでの素性を取得して確率モデルを参照する。
【００８３】
具体的に例を使って説明すると、形態素番号「４」において、「ＮＴＴ／ＮＴＴ／名詞：ｎｔ／Ｂ−＜ＯＲＧ＞」と「持株／モチカブ／名詞／Ｉ−＜ＯＲＧ＞」の組についての２つ組確率値は、まず確率モデル由来の値として、図９の素性リストに記憶されている各素性に対して確率モデルから確率値を取得した上で加算し、確率値とする。一方、右側固有表現付形態素候補がユーザ辞書候補でもあるので、そのスコアを取得し、両者を比較して大きい方を採用して右側固有表現付形態素候補そのものの確率値とする。続いて、左右候補の連接確率値として図９の素性リストで空であった素性ＮＣ［−１］／ＮＣ［０］＝Ｂ−＜ＯＲＧ＞／Ｉ−＜ＯＲＧ＞を作成して確率モデルを参照し、連接確率値を得る。そして、右側固有表現付形態素候補そのものの確率値と左右候補の連接確率値の和を２つ組確率値とする。こうして得られた２つ組確率値と、左側固有表現付形態素侯補の最大途中確率値の和をとり、右側固有表現付形態素候補の途中確率値として現在の位置、形態素番号、対応する左側固有表現付形態素侯補、右側固有表現付形態素候補と併せて途中確率データ記憶部６６に記憶する。図１２に途中確率データの一例を示す。
【００８４】
全ての組みについて、途中確率値を計算したら、ある右側固有表現付形態素侯補の途中確率値（本例では１７個）のうちで最大のものを、この右側固有表現付形態素侯補の最大途中確率値とする。そして、現在の位置、形態素番号、対応する左側固有表現付形態素侯補、右側固有表現付形態素候補、と併せて最大途中確率データ記憶部６７に記憶する。
【００８５】
［侯補探索処理部７１］
最大途中確率データ記憶部６７から、文頭から文末までの全ての最大途中確率データが記録された最大途中確率データを読み出し、これを入力として、図１３に従う、以下のステップｓ１１〜ｓ１５の処理を実行して固有表現付形態素候補を生成し、固有表現付形態素候補記憶部７２に出力して記憶する。
【００８６】
（ステップｓ１１）現在の形態素番号を文末（本例では＝１１）に設定し、最大途中確率データを参照して当該形態素番号での右側及び左側固有表現付形態素候補の組を取得する。そして取得した組の左側固有表現付形態素侯補を固有表現付形態素侯補として抽出し、ステップｓ１２に進む（なお、文末での右側固有表現付形態素候補は＜／ｓ＞の１種しか存在しない。）。
【００８７】
（ステップｓ１２）現在の形態素番号の１つ前の形態素番号に存在し、かつ、現在の形態素番号で取得した組の左側固有表現付形態素侯補が、その１つ前の形態素番号の右側固有表現付形態素候補である時に、最大途中確率データに記憶されている左側固有表現付形態素侯補を取得する。また、現在の形態素番号を１つ前の番号へ移動してステップｓ１３に進む。
【００８８】
例えば、現在の形態素番号が「５」であり、ここで取得した左側固有表現付形態素侯補が「持株／モチカブ／名詞／Ｉ−＜ＯＲＧ＞」である場合、１つ前の形態素番号は４であり、この形態素番号に存在し、「持株／モチカブ／名詞／Ｉ−＜ＯＲＧ＞」が右側固有表現付形態素侯補である時に最大途中確率データに記憶されている左側固有表現付形態素侯補を取得する。そして、形態素番号を１つ前の番号４へと移動する。
【００８９】
（ステップｓ１３）現在の形態素番号が文頭（＝１）であるか否かを判定し、文頭でない場合はステップｓ１４に、文頭である場合はステップｓ１５に進む。
【００９０】
（ステップｓ１４）ステップｓ１２で取得した左側固有表現付形態素候補を固有表現付形態素侯補として抽出し、ステップｓ１２に戻る。
【００９１】
（ステップｓ１５）得られた固有表現付形態素侯補の全てを組み合わせて固有表現付形態素侯補列として出力する。
【００９２】
以上の処理により、侯補探索処理では、最終的に文頭から文末までの連接確率値の積が最大となる固有表現付形態素侯補列を出力することができる。
【００９３】
図１４に固有表現付形態素侯補の一例を示す。「ＮＴＴ持株会社」の部分がユーザ辞書由来の出力である。
【００９４】
以上のようにして、既存の固有表現抽出結果に対し、別途ユーザが用意する辞書情報を活用して既存の確率モデルと比較し、より確率値の高い方を採用することができるシステムが実現できる。
【００９５】
ユーザ辞書を利用する仕組みは、人手で作成する規則に基づく固有表現抽出技術に類似しているとも考えられるが、大局的には学習モデルに基づく固有表現抽出で精度の高い出力を得て、更に、細かい部分の出力ミスについては、今回の辞書情報活用によって制御し補っていると言える。よって、ある程度少ない量の学習データで、基本的な固有表現についてはカバーし、この学習モデルで対処できないようなドメイン依存の固有表現や、新語的な固有表現は、辞書情報としてエントリさせておくことで、低コストで手軽にロバストな固有表現抽出システムの実現が可能となる。辞書で利用する形態素属性は、代表的なものでは表記、品詞があるが、その他にも日本語語彙大系のカテゴリ情報、ユーザが独自に定義する情報など、形態素解析部１の形態素解析処理部１２が出力する情報であれば、任意なものを利用できる。
【００９６】
また、ユーザ辞書にはユーザ定義のフィールドを設けており、これは任意の文字列を記載可能である。このような仕組みを持つことにより、このフィールドに別の情報源を参照できるようなＩＤを格納しておけば、固有表現抽出処理後に、出力結果から直接、その情報源の情報を取得することも可能となる。
【００９７】
［不要形態素復元処理部４１］
固有表現抽出部３の固有表現付形態素候補記憶部７２から固有表現付形態素侯補を読み出し、これを入力とし、不要形態素認定済データ記憶部２３に記憶された不要形態素認定済データを参照して前処理フィルタ２で不要形態素と認定され削除された形態素を復元し、固有表現抽出結果（固有表現付形態素列）を生成して出力する。その際、不要形態素認定済データ中の後処理情報が記憶されているものを対象として復元処理を行う。
【００９８】
なお、復元処理では、まず機械的に不要形態素認定済データの後処理を実行し、その後、文頭から文末までの固有表現識別子の連接をチェックする。もし、不適切な連接が生じていた場合は適切なものに変更し、最終出力とする。ここでいう不適切な連接とは、ＮＩＬの後に「Ｉ−」で始まる識別子が出現することである。後処理で機械的に復元させた形態素の影響により、例えばＢ−＜ＰＳＮ＞とＩ−＜ＰＳＮ＞との間にＮＩＬの形態素が復元する可能性があるからである。この場合は、「Ｂ−＜ＰＳＮ＞  ＮＩＬ  Ｉ−＜ＰＳＮ＞」を「Ｂ−＜ＰＳＮ＞  ＮＩＬ  Ｂ−＜ＰＳＮ＞」のように、ＮＩＬの直後の「Ｉ−」で始まる識別子を「Ｂ−」で始まる識別子に変更する。なお、この連接チェックは任意のものであり、固有表現抽出処理後に固有表現抽出結果をどのような形で利用したいかに依存する。厳密に固有表現識別子の連接の整合性を保ちたいのであれば上記のような連接チェックを実施すれば良いが、厳密さを要求しない場合は何もチェックせずに、機械的な後処理結果を利用しても良い。
【００９９】
以上のようにして後処理フィルタの不要形態素復元処理を実施した場合の固有表現抽出結果（固有表現付形態素列）の例を図１５、図１６に示す。図１５は連接チェックを行わない場合の結果、即ち機械的後処理のみの例であり、図１６は機械的後処理の後、連接チェックを行った場合の例である。前者では「ＮＴＴ／Ｂ−＜ＯＲＧ＞ 持株／Ｉ−＜ＯＲＧ＞ 会社／Ｉ−＜ＯＲＧ＞」の「ＮＴＴ」と「持株」を分断する形で「半角空白／ＮＩＬ」が存在しているために、この「半角空白／ＮＩＬ」と「持株／Ｉ−＜ＯＲＧ＞」が本来は不適切な連接になっている。後者の例では「持株／Ｉ−＜ＯＲＧ＞」を「持株／Ｂ−＜ＯＲＧ＞」と置き換えてあり、連接としては適切なものになっている。
【０１００】
以上の通り、前処理・後処理フィルタを備えた固有表現抽出装置により、文章中に存在する無意味な空白や記号類を、固有表現抽出対象から一時的に外し、処理後に復元させることであたかも元のテキストをそのまま解析したかのような固有表現抽出結果を得ることができる。ここで注目すべきは、実際の処理では無意味な空白や記号類が削除されているために、固有表現抽出処理で重要な手がかりとなる前後の単語の連接情報を有効に利用できており、より精度の高い固有表現抽出が実現可能となることである。なお、文章中に存在する無意味な空白や記号類を削除するタイミングとして、形態素解析処理を行う前という可能性もある。しかし、本特許では形態素解析処理を行った上で、表記と品詞を組み合わせた正規表現を利用する方がより柔軟なパターンマッチを実現できるという優位性があると考えて形態素解析処理後に実施している。また、ユーザ辞書機能の仕組みを導入し、モデルが想定しなかった事例であってもユーザ辞書を利用することできめ細かい出力の操作が可能となった。
【０１０１】
＜第２の実施の形態＞
図１７は本発明の第２の実施の形態に係る固有表現抽出装置、ここでは第１の実施の形態においてユーザ辞書参照処理を省略した例を示すもので、図中、第１の実施の形態と同一構成部分は同一符号をもって表す。即ち、１は形態素解析部、２は前処理フィルタ、３ｂは固有表現抽出部、４は後処理フィルタであり、固有表現抽出部３ｂは候補作成部５ｂ、前向き制御部６ｂ及び探索処理部７から構成される。
【０１０２】
ここで、候補作成部５ｂは、ユーザ辞書記憶部５３、ユーザ辞書参照処理部５４及びユーザ辞書候補データ記憶部５５を有していない点を除いて第１の実施の形態における候補作成部５と同様である。また、前向き制御部６ｂは、第１の実施の形態の前向き制御処理部６５と異なる前向き制御処理部６５ｂを有する点を除いて第１の実施の形態における前向き制御部６と同様である。
【０１０３】
また、前向き制御処理部６５ｂは、形態素候補データ記憶部５２から形態素候補データを読み出し、形態素候補データ中の各形態素について、素性リスト記憶部６３及び確率モデル記憶部６４にそれぞれ記憶された素性リスト及び確率モデルを参照して全ての固有表現識別子に対する確率値を求め、これを含む途中確率データを形態素毎に求めて途中確率データ記憶部６６に記憶するもので、前述したステップｓ３の処理において、途中確率の計算で用いる左右候補の２つ組確率値では常にモデル由来の確率値のみが利用される点を除いて第１の実施の形態の前向き制御処理部６５と同様である。
【０１０４】
本実施の形態によれば、用意していた規則や学習モデルが想定していない事例に対する処理誤りを防ぐことは難しいが、文章中に存在する無意味な空白や記号類を、固有表現抽出対象から一時的に外し、処理後に復元させることであたかも元のテキストをそのまま解析したかのような固有表現抽出結果を得ることは可能である。
【図面の簡単な説明】
【０１０５】
【図１】本発明の第１の実施の形態に係る固有表現抽出装置を示す構成図
【図２】形態素列の一例を示す説明図
【図３】不要形態素処理規則の一例を示す説明図
【図４】不要形態素認定済データの一例を示す説明図
【図５】形態素侯補データの一例を示す説明図
【図６】ユーザ辞書の一例を示す説明図
【図７】ユーザ辞書侯補データの一例を示す説明図
【図８】素性テンプレートの一例を示す説明図
【図９】素性リストの一例を示す説明図
【図１０】前向き制御処理の流れを示すフローチャート
【図１１】確率モデルの一例を示す説明図
【図１２】途中確率データの一例を示す説明図
【図１３】候補探索処理の流れを示すフローチャート
【図１４】固有表現付形態素侯補の一例を示す説明図
【図１５】固有表現付形態素列（連接チェック無し）の一例を示す説明図
【図１６】固有表現付形態素列（連接チェック有り）の一例を示す説明図
【図１７】本発明の第２の実施の形態に係る固有表現抽出装置を示す構成図
【符号の説明】
【０１０６】
１：形態素解析部、２：前処理フィルタ、３，３ｂ：固有表現抽出部、４：後処理フィルタ、５，５ｂ：候補作成部、６，６ｂ：前向き制御部、７：探索処理部、１１：形態素解析モデル記憶部、１２：形態素解析処理部、１３：形態素列記憶部、２１：不要形態素処理規則記憶部、２２：不要形態素認定処理部、２３：不要形態素認定済データ記憶部、４１：不要形態素復元処理部、５１：形態素候補作成処理部、５２：形態素候補データ記憶部、５３：ユーザ辞書記憶部、５４：ユーザ辞書参照処理部、５５：ユーザ辞書候補データ記憶部、６１：素性テンプレート記憶部、６２：素性作成処理部、６３：素性リスト記憶部、６４：確率モデル記憶部、６５，６５ｂ：前向き制御処理部、６６：途中確率データ記憶部、６７：最大途中確率データ記憶部、７１：候補探索処理部、７２：固有表現付形態素候補記憶部。
【図１】
0005057916.tif 000005
【図２】
0005057916.tif 000006
【図３】
0005057916.tif 000007
【図４】
0005057916.tif 000008
【図５】
0005057916.tif 000009
【図６】
0005057916.tif 000010
【図７】
0005057916.tif 000011
【図８】
0005057916.tif 000012
【図９】
0005057916.tif 000013
【図１０】
0005057916.tif 000014
【図１１】
0005057916.tif 000015
【図１２】
0005057916.tif 000016
【図１３】
0005057916.tif 000017
【図１４】
0005057916.tif 000018
【図１５】
0005057916.tif 000019
【図１６】
0005057916.tif 000020
【図１７】
0005057916.tif 000021