(57)【特許請求の範囲】
【請求項１】
第１の文データと、前記第１の文データに関連する第２の文データを入力し、前記第１の文データと前記第２の文データをそれぞれ解析して、前記第１の文データおよび前記第２の文データについての係り受け構造データを出力する係り受け解析部と、
前記第１の文データと前記第２の文データの係り受け構造データを比較した結果に基づき、前記第１の文データに含まれる表現を前記第２の文データに含まれる表現で置換しても係り受け構造に矛盾が生じない表現置換候補と、前記第２の文データに含まれる表現を前記第１の文データ内の所定箇所に挿入しても係り受け構造に矛盾が生じない表現挿入候補との、少なくともいずれかを抽出し、この表現置換候補および表現挿入候補の少なくともいずれかに基づいて前記第１の文データを編集する処理を行なう自動編集部と、
を具備し、
前記係り受け構造のデータは前記第１の文データおよび前記第２の文データそれぞれに含まれる文節間の係り受けの関係を表わすデータからなり、
前記表現は、前記係り受け構造データにおいて所定の２文節間にはさまれる部分的な係り受け構造に含まれる文節群、あるいは前記係り受け構造データにおいて所定の１文節に直接的又は間接的に係る全ての文節群から成るものであり、また、
前記第１の文データおよび前記第２の文データそれぞれの係り受け構造データに基づき、前記第１の文データと前記第２の文データに共通に含まれる共通文節を検出し、前記共通文節が所定の機能動詞または形式動詞を含まない場合にはその共通文節をトリガー文節として抽出するとともに、前記共通文節が前記所定の機能動詞または形式動詞を含む場合には当該共通文節の前記第１の文データと前記第２の文データそれぞれにおけるモディファイアが所定の格で一致する場合に限り当該共通文節をトリガー文節として抽出する文節抽出部、をさらに具備するとともに、
前記自動編集部は、前記文節抽出部によって抽出された前記トリガー文節について、前記第１の文データと前記第２の文データそれぞれにおいて前記トリガー文節に係る表現が所定条件を満たすか否かを検査する処理を行い、この検査処理の結果に応じて、前記トリガー文節に係る表現を前記表現置換候補あるいは前記表現挿入候補として抽出する、
ことを特徴とする自然言語処理装置。
【請求項２】
請求項１に記載の自然言語処理装置において、
前記文節抽出部は、抽出した前記トリガー文節について、当該トリガー文節から前記第１の文データと前記第２の文データにおける共通のヘッドまでの係り受け距離に基づき、且つ当該トリガー文節が前記第１の文データと前記第２の文データにおいて有する特定の助詞の格による共通の主語の有無に基づき、前記トリガー文節の評価値を算出する、
ことを特徴とする自然言語処理装置。
【請求項３】
請求項１または請求項２のいずれか一項に記載の自然言語処理装置において、
前記自動編集部は、
（Ａ）前記トリガー文節に係る前記第１の文データの表現と前記第２の文データの表現とが、所定の第１閾値以上の類似度で対応付き且つ共通モディファイアおよび共通ヘッドを持つ場合であって、前記第１の文データにおける当該トリガー文節のモディファイアから前記共通モディファイアのヘッドまでの表現が前記第２の文データにおける当該トリガー文節のモディファイアから前記共通モディファイアのヘッドまでの表現よりも短い場合には、前記第１の文データにおける当該表現を前記第２の文データにおける当該表現で置換するための表現置換候補とし、
（Ｂ）前記トリガー文節に係る前記第１の文データの表現と前記第２の文データの表現とが、所定の第１閾値以上の類似度で対応付き且つ共通ヘッドを持ち且つ共通モディファイアがヌルの場合であって、前記第１の文データにおける当該トリガー文節に係る全体の表現が前記第２の文データにおける当該トリガー文節に係る全体の表現よりも短い場合には、前記第１の文データにおける当該表現を前記第２の文データにおける当該表現で置換するための表現置換候補とし、
（Ｃ）前記トリガー文節に係る前記第２の文データの表現との間に所定の閾値以上の類似度を有する表現であって前記トリガー文節に係る前記第１の文データの表現が対応付かない場合であって、前記トリガー文節に係る前記第２の文データの当該表現が前記第１の文データ中に含有されている率が所定の第２閾値を超えない場合に、前記トリガー文節に係る前記第２の文データの当該表現を前記第１の文データに挿入するための表現挿入候補とする、
ことを特徴とする自然言語処理装置。
【請求項４】
請求項３に記載の自然言語処理装置において、
前記自動編集部は、前記トリガー文節に係る前記第１の文データの表現と前記第２の文データの表現とにそれぞれ含まれる形態素の一致を用いた所定の指標により前記類似度を計算する、
ことを特徴とする自然言語処理装置。
【請求項５】
コンピュータに、
第１の文データと、前記第１の文データに関連する第２の文データを入力し、前記第１の文データと前記第２の文データをそれぞれ解析して、前記第１の文データおよび前記第２の文データについての係り受け構造データを出力する係り受け解析過程と、
前記第１の文データと前記第２の文データの係り受け構造データを比較した結果に基づき、前記第１の文データに含まれる表現を前記第２の文データに含まれる表現で置換しても係り受け構造に矛盾が生じない表現置換候補と、前記第２の文データに含まれる表現を前記第１の文データ内の所定箇所に挿入しても係り受け構造に矛盾が生じない表現挿入候補との、少なくともいずれかを抽出し、この表現置換候補および表現挿入候補の少なくともいずれかに基づいて前記第１の文データを編集する処理を行なう自動編集過程と、
の処理を実行させるプログラムであって、
前記係り受け構造のデータは前記第１の文データおよび前記第２の文データそれぞれに含まれる文節間の係り受けの関係を表わすデータからなり、
前記表現は、前記係り受け構造データにおいて所定の２文節間にはさまれる部分的な係り受け構造に含まれる文節群、あるいは前記係り受け構造データにおいて所定の１文節に直接的又は間接的に係る全ての文節群から成るものであり、また、
前記第１の文データおよび前記第２の文データそれぞれの係り受け構造データに基づき、前記第１の文データと前記第２の文データに共通に含まれる共通文節を検出し、前記共通文節が所定の機能動詞または形式動詞を含まない場合にはその共通文節をトリガー文節として抽出するとともに、前記共通文節が前記所定の機能動詞または形式動詞を含む場合には当該共通文節の前記第１の文データと前記第２の文データそれぞれにおけるモディファイアが所定の格で一致する場合に限り当該共通文節をトリガー文節として抽出する文節抽出過程の処理をさらにコンピュータに実行させるとともに、
前記自動編集過程では、前記文節抽出過程によって抽出された前記トリガー文節について、前記第１の文データと前記第２の文データそれぞれにおいて前記トリガー文節に係る表現が所定条件を満たすか否かを検査する処理を行い、この検査処理の結果に応じて、前記トリガー文節に係る表現を前記表現置換候補あるいは前記表現挿入候補として抽出する、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報技術を用いた自然言語処理に関する。特に、文の自動生成および自動要約を行うための自然言語処理装置およびプログラムに関する。
【背景技術】
【０００２】
ニュース記事の文章は、大別して全体の要約であるリード文と、リード文を詳細に説明した本記の文と、これらを補足する追記の文の３つの部分からなる。ニュース要約者が要約を行う際には、ニュース記事中のリード文を抽出して、そのリード文の一部の表現をより具体化することによってわかりやすい要約を行う。具体化するために、要約者は、リード文の中に本記の文の表現の一部を挿入したり、リード文の表現の一部を本記の文の表現で置換したりという操作を行なう。
【０００３】
上述した要約の作業は、言い換えれば、文の具体化である。与えられた文を具体化させる手法は一般には文生成の技術分野に属する。
【０００４】
非特許文献１には、文生成技術として、スロット法や、言い換え法や、文の変形の技術が記載されている。スロット法とは、予め文の骨組みを作っておいて、その中のいくつかの単語を決めることによって文を作る方法である。言い換え法とは、同義語や同義表現をあらかじめ収集しておき、与えられた文の一部を同義語や同義表現で置き換えることで文を作る方法である。例えば、「勉強」と「学習」が同義語であるとき、「彼は熱心に勉強している」という文の中の「勉強」を「学習」で置き換えることによって、「彼は熱心に学習している」という文が生成できる。文の変形の技術は、文の変形規則を予め用意しておき、この変形規則を用いて、ある文から、同じ意味の他の文を生成する技術である。例えば、「主語  が  目的語  を  動詞する」  ＜＝＞  「主語  によって  目的語  が  動詞  される」という変形規則が用意されていれば、「私  が  特許  を  申請する」という文を変形して「私  によって  特許  が  申請  される」という文を生成することができ、また、逆方向（変形規則の右側のパターンから左側のパターンへ）の文の生成もできる。
以上に述べた文生成法を使うと、リード文が与えられれば、他の文が与えられなくとも、文を生成すること、即ち、文の一部を具体化することが可能である。
【０００５】
文生成に類似した技術として、文の言い換え技術もある。文の言い換え技術は、表現を具体化するために利用可能である。
例えば、特許文献１には、抽出した言い換え表現データを被言い換え表現データに対応付けて格納するための技術が開示されており、このような言い換え可能な表現を事前に集めておくことにより、文の言い換えを行なうことはできる。
また例えば、特許文献２には、機械学習処理の結果を用いて、用語にかかる連体修飾節がその用語の定義となっているか否かを判断し、用語定義を生成する技術が開示されている。この方法で連体修飾節を体言の説明として集めておいて、言い換えを行なうことは考えられる。
【非特許文献１】長尾真，「自然言語処理」，岩波講座  ソフトウェア科学  １５，岩波書店，１９９６年．
【特許文献１】特開平９−１４６９５８号公報
【特許文献２】特開２００３−０９９４２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した技術では、下記のような様々な問題がある。
非特許文献１に記載された文生成法を用いるためには、予め、大量のスロットや類義語や変形規則などを持っておかねばならず、このような準備を行なうことが困難であり、あるいは手間がかかる。
特許文献１や特許文献２に記載された言い換え技術を用いるためには、具体化しようとする文に合致した言い換え表現を予め収集しておくことが必要だが、そのような言い換え表現を得るための情報源を入手することが困難であったり、そのような言い換え表現を集めるために膨大な手間がかかったりするという問題がある。
【０００７】
また、文脈が同じ表現は同一の意味を表すという経験則に基づき、表現の両端の文字列を文脈と捉え、リード文と本記文の２文が与えられたときに、両端の文字列が同じ表現を文字列照合アルゴリズム探してこれらを交換することによりリード文を具体化するという方法も考えられる。しかしながら、このような方法が有効であるのは、両端の文脈が一致する表現が同一であるという仮定が成り立つ場合に限られるという問題がある。この仮定が成り立たないときには、結果的には意味をなさない文が生成される場合もある。また、この方法によって表現を変更したときに、文の係り受け構造が崩れて、文法的に不正な文が生成されてしまう可能性もある。
【０００８】
本発明は、上記のような事情に鑑みて為されたものであり、その目的は、第１の文（リード文）とそれに関連する第２の文（本記文（の集合））が与えられたとき、本記文の表現を用いてリード文の表現を正しい文法構造で具体化する作業を支援することのできる自然言語処理装置を提供することである。
また、本発明の目的は、リード文の具体化する表現として複数の可能性がある場合に、その表現の良さを数値的に評価することのできる自然言語処理装置を提供することである。
【課題を解決するための手段】
【０００９】
［１］上記の課題を解決するため、本発明の一態様による自然言語処理装置は、第１の文データと、前記第１の文データに関連する第２の文データを入力し、前記第１の文データと前記第２の文データをそれぞれ解析して、前記第１の文データおよび前記第２の文データについての係り受け構造データを出力する係り受け解析部と、前記第１の文データと前記第２の文データの係り受け構造データを比較した結果に基づき、前記第１の文データに含まれる表現を前記第２の文データに含まれる表現で置換しても係り受け構造に矛盾が生じない表現置換候補と、前記第２の文データに含まれる表現を前記第１の文データ内の所定箇所に挿入しても係り受け構造に矛盾が生じない表現挿入候補との、少なくともいずれかを抽出し、この表現置換候補および表現挿入候補の少なくともいずれかに基づいて前記第１の文データを編集する処理を行なう自動編集部とを具備することを特徴とする。
【００１０】
この構成によれば、係り受け解析部は、第１の文データおよび第２の文データそれぞれについての係り受け構造を表わす係り受け構造データを出力する。自動編集部は、係り受け構造データに基づき、第１の文データに含まれる表現を第２の文データに含まれる表現で置換するための表現置換候補を抽出する、そして／または、第２の文データに含まれる表現を第１の文データ内の所定箇所に挿入するための表現挿入候補を抽出する。自動編集部は、表現置換候補や表現挿入候補を抽出する際に、それら置換や挿入によって係り受け構造に矛盾が生じないような候補のみを抽出する。自動編集部はこれらの候補に基づいて第１の文データを編集するが、編集の結果においても係り受け構造の矛盾はない。言い換えれば、日本語の係り受け構造を維持したままの表現置換候補や表現挿入候補を抽出し、編集に用いることができる。
【００１１】
［２］また、本発明の一態様は、上記の自然言語処理装置において、前記係り受け構造のデータは前記第１の文データおよび前記第２の文データそれぞれに含まれる文節間の係り受けの関係を表わすデータからなり、前記表現は、前記係り受け構造データにおいて所定の２文節間にはさまれる部分的な係り受け構造に含まれる文節群、あるいは前記係り受け構造データにおいて所定の１文節に直接的又は間接的に係る全ての文節群から成るもので、また、前記第１の文データおよび前記第２の文データそれぞれの係り受け構造データに基づき、前記第１の文データと前記第２の文データに共通に含まれる共通文節を検出し、前記共通文節が所定の機能動詞または形式動詞を含まない場合にはその共通文節をトリガー文節として抽出するとともに、前記共通文節が前記所定の機能動詞または形式動詞を含む場合には当該共通文節の前記第１の文データと前記第２の文データそれぞれにおけるモディファイアが所定の格で一致する場合に限り当該共通文節をトリガー文節として抽出する文節抽出部、をさらに具備するとともに、前記自動編集部は、前記文節抽出部によって抽出された前記トリガー文節について、前記第１の文データと前記第２の文データそれぞれにおいて前記トリガー文節に係る表現が所定条件を満たすか否かを検査する処理を行い、この検査処理の結果に応じて、前記トリガー文節に係る表現を前記表現置換候補あるいは前記表現挿入候補として抽出することを特徴とするものである。
【００１２】
この構成によれば、文節抽出部は、トリガー文節として適した文節を抽出する。自動編集部は、文節抽出部によってトリガー文節をきっかけとして、トリガー文節に係る表現についての所定の条件の検査を行なうことによって、表現置換候補あるいは表現挿入候補を抽出する。
なお、モディファイアとは、ある文節に着目したときに、その着目した文節に係る文節である。ある文節についてモディファイアが複数存在する場合もある。
【００１３】
［３］また、本発明の一態様は、上記の自然言語処理装置において、前記文節抽出部は、抽出した前記トリガー文節について、当該トリガー文節から前記第１の文データと前記第２の文データにおける共通のヘッドまでの係り受け距離に基づき、且つ当該トリガー文節が前記第１の文データと前記第２の文データにおいて有する特定の助詞の格による共通の主語の有無に基づき、前記トリガー文節の評価値を算出することを特徴とするものである。
【００１４】
この構成によれば、文節抽出部は、抽出したトリガー文節についての評価値を算出する。この評価値は、当該トリガー文節から第１の文データと第２の文データにおける共通のヘッドまでの係り受け距離に基づく値である。また、この評価値は、当該トリガー文節が第１の文データと第２の文データにおいて有する特定の助詞の格（例えば、「ガ」格、「ハ」格、「モ」格）による共通の主語の有無に基づく値である。この評価値はトリガー文節の良さを表わす。つまり、自動編集部がトリガー文節に基づいて抽出する表現置換候補や表現挿入候補による編集結果の良さを、この評価値は表わす。自然言語処理装置の利用者に対しては、表現置換候補や表現挿入候補それぞれの相対的な良さを表示することができる。
ここで、ヘッドとは、ある文節に着目したときの、その文節の係り先の文節である。
【００１５】
［４］また、本発明の一態様は、上記の自然言語処理装置において、自動編集部は、
（Ａ）前記トリガー文節に係る前記第１の文データの表現と前記第２の文データの表現とが、所定の第１閾値以上の類似度（アラインメント率）で対応付き且つ共通モディファイアおよび共通ヘッドを持つ場合であって、前記第１の文データにおける当該トリガー文節のモディファイアから前記共通モディファイアのヘッドまでの表現が前記第２の文データにおける当該トリガー文節のモディファイアから前記共通モディファイアのヘッドまでの表現よりも短い場合には、前記第１の文データにおける当該表現を前記第２の文データにおける当該表現で置換するための表現置換候補とし、
（Ｂ）前記トリガー文節に係る前記第１の文データの表現と前記第２の文データの表現とが、所定の第１閾値以上の類似度（アラインメント率）で対応付き且つ共通ヘッドを持ち且つ共通モディファイアがヌルの場合であって、前記第１の文データにおける当該トリガー文節に係る全体の表現が前記第２の文データにおける当該トリガー文節に係る全体の表現よりも短い場合には、前記第１の文データにおける当該表現を前記第２の文データにおける当該表現で置換するための表現置換候補とし、
（Ｃ）前記トリガー文節に係る前記第２の文データの表現との間に所定の閾値以上の類似度（アラインメント率）を有する表現であって前記トリガー文節に係る前記第１の文データの表現が対応付かない場合であって、前記トリガー文節に係る前記第２の文データの当該表現が前記第１の文データ中に含有されている率（リード被含有率）が所定の第２閾値を超えない場合に、前記トリガー文節に係る前記第２の文データの当該表現を前記第１の文データに挿入するための表現挿入候補とする、ことを特徴とするものである。
【００１６】
この構成によれば、自動編集部は、（Ａ）および（Ｂ）の場合に、類似度（アラインメント率）によって、第１の文と第２の文との間の表現同士を対応付ける。ここで対応付く表現は、置換候補となり得る。（Ａ）の場合には共通モディファイアおよび共通ヘッドを持つため、第１の文および第２の文それぞれにおけるトリガー文節から共通モディファイアまでの表現同士が、置換候補となり得る。（Ｂ）の場合は、共通ヘッドを持ち且つ共通モディファイアがヌルであるため、第１の文データにおける当該トリガー文節に係る全体の表現と、第２の文データにおける当該トリガー文節に係る全体の表現とが、置換候補となり得る。但し、第１の文を具体化することが目的であるため、（Ａ）の場合も（Ｂ）の場合も、上記の置換候補における第１の文データ側の表現のほうが第２の文データ側の表現よりも短い場合に限り、表現置換候補として抽出される。
また、自動編集部は、（Ｃ）の場合には、第２の文データの表現に所定の閾値以上の類似度（アラインメント率）で対応付く第１の文データの表現はない。そのような第２の文データの表現は、挿入候補となり得る。この、トリガー文節に係る第２の文データの表現が第１の文データ中に含有されている率（リード被含有率）が、所定の第２閾値を超えない場合には、表現挿入候補として抽出される。
なおここで、共通モディファイアがヌルであるとは、トリガー文節に係る文節であって、第１の文データにおけるモディファイアと、第２の文データにおけるモディファイアとの間に共通の文節がないということである。
【００１７】
［５］また、本発明の一態様は、上記の自然言語処理装置において、前記自動編集部は、前記トリガー文節に係る前記第１の文データの表現と前記第２の文データの表現とにそれぞれ含まれる形態素の一致を用いた所定の指標により前記類似度を計算することを特徴とする。
【００１８】
この構成によれば、各表現に含まれる形態素の一致度合いに応じて類似度が計算され、その結果、形態素の一致度合いに応じて、トリガー文節に係る表現同士が自動編集部によって対応付けられる。
【００１９】
［６］また、本発明の一態様は、コンピュータに、第１の文データと、前記第１の文データに関連する第２の文データを入力し、前記第１の文データと前記第２の文データをそれぞれ解析して、前記第１の文データおよび前記第２の文データについての係り受け構造データを出力する係り受け解析過程と、前記第１の文データと前記第２の文データの係り受け構造データを比較した結果に基づき、前記第１の文データに含まれる表現を前記第２の文データに含まれる表現で置換しても係り受け構造に矛盾が生じない表現置換候補と、前記第２の文データに含まれる表現を前記第１の文データ内の所定箇所に挿入しても係り受け構造に矛盾が生じない表現挿入候補との、少なくともいずれかを抽出し、この表現置換候補および表現挿入候補の少なくともいずれかに基づいて前記第１の文データを編集する処理を行なう自動編集過程との処理を実行させるプログラムである。
【発明の効果】
【００２０】
本発明によれば、簡単に記述されている第１の文（リード文）に対して、それを詳細化している第２の文（本記文）から抽出した適切な表現の置換候補や挿入候補を提示することができる。これにより、第１の文をより具体化した文（要約文）を生成することができる。
また、本発明は、日本語の係り受け構造を保存するような置換候補や挿入候補のみを抽出する。これにより、自然な文を生成し、あるいは利用者に提示することが可能となる。
【００２１】
本発明を利用すると、ニュース要約者が要約を行う際に、ニュース原稿のリード文（第１の文）を抽出して、その一部の表現をより具体化することによってわかりやすい要約を作成することができる。つまり、リード文とそれを詳述している本記文（の集合）が与えられたとき、リード文の表現を、本記文の表現で具体化する作業を支援することができる。
【発明を実施するための最良の形態】
【００２２】
次に、本発明の一実施形態について、図面を参照しながら説明する。
図１は、本実施形態による自然言語処理装置１０の機能構成を示すブロック図である。図示するように、自然言語処理装置１０は、形態素・係り受け解析部１（係り受け解析部）と、文節テーブル作成部２と、リード自動編集部３（自動編集部）と、文節テーブル４とを含んで構成される。
【００２３】
形態素・係り受け解析部１は、形態素解析部１−１と、係り受け解析部１−２とを含んで構成される。また、文節テーブル作成部２は、同一文節検出部２−１と、トリガー文節検出部２−２と、トリガー文節評価部２−３とを含んで構成される。また、リード自動編集部３は、係りフレーズ対応部３−１と、対応フレーズ置換処理部３−２と、フレーズ挿入処理部３−３と、結果表示部３−４と、フレーズテーブル３−５とを含んで構成される。
自然言語処理装置１０を構成する各部の機能、各部の処理手順、および全体の処理手順等については、後で詳述する。
【００２４】
本実施形態では、いわゆる初等教育において学習する「文節係り受け」の考え方を用いる。また、日本語の文を形態素に分割し、文節にまとめあげ、文節間の係り受けを自動的に認定する「係り受け解析器」を用いる。係り受け解析器自体は、既存技術を用いて実現することができる。一例としては、「ＣａｂｏＣｈａ」係り受け解析器を利用する。「ＣａｂｏＣｈａ」係り受け解析器は、Support Vector Machines に基づく係り受け解析器であり、Cascaded Chunking Modelを採用しているものである（参考ＵＲＬ：http://chasen.org/~taku/software/cabocha/）。
【００２５】
図２は、日本語係り受け解析器による解析結果の例を示す概略図である。ここに図示する例は、「近所でオープンしたとても安いスーパーにきのうの昼過ぎに行った」という文における文節間の係り受けを解析した結果である。図中の矢印つきの線は、文節間の係り受けの関係を表わしており、線の根元の文節は矢印の先の文節に係っている。具体的には、文節「近所で」は文節「オープンした」に係る。文節「オープンした」は文節「スーパーに」に係る。文節「とても」は文節「安い」に係る。文節「安い」は文節「スーパーに」にかかる。文節「スーパーに」は文節「行った」に係る。文節「きのうの」は文節「昼過ぎに」に係る。文節「昼過ぎに」は文節「行った」に係る。なお、各文節をノードと捉えると、図示する全体の構造は、最終文節「行った」を根とする木構造を成している。この係り受け構造のデータは、例えば半導体メモリ等に書き込まれ、必要に応じて読み出される。
【００２６】
＜１  ことばの定義＞
ここで、使用する言葉の定義を行なう。
文節とは、いわゆる学校文法の文節である。
モディファイア（modifier）とは、ある文節に着目したときに、その着目した文節に係る文節である。ある文節についてモディファイアは複数存在する場合もある。例えば、図２に示した例で、文節「行った」のモディファイアは文節「スーパーに」と文節「昼過ぎに」の２つである。なお、文節「きのうの」のモディファイアはない。このようなとき、文節「きのうの」のモディファイアをヌルと呼ぶ。
ヘッド（head）とは、ある文節に着目したときの、その文節の係り先の文節である。ある文節について、ヘッドはせいぜい１つしかない。例えば、図２に示した例で、文節「昼過ぎに」のヘッドは「行った」である。最終文節（「行った」）はヘッドを持たない。
係りフレーズとは、着目文節に係る各モディファイアが支配する最大の係り受け構造中の文節群である。例えば、図２において、文節「行った」のモディファイアは「昼過ぎに」と「スーパーに」の２つであるが、モディファイア「昼過ぎに」が支配する係り受け構造「きのうの  昼過ぎに」と、モディファイァア「スーパーに」が支配する部分文節構造中の文節群「近所で  オープンした  とても  安い  スーパーに」の２つが、文節「行った」の係りフレーズである。
【００２７】
子孫とは、ある文節に対して、その文節自身を含めて再帰的に得られるモディファイアの文節群である。言い換えれば、子孫とは、文全体の木構造の中で、その文節自身を根ノードとする副木（サブツリー）に含まれる文節である。例えば図２において、文節「行った」の子孫の集合は、全文節である。
トリガー文節（ペア）とは、リードと本記にある共通の文節であって、後述の条件をみたすものをいう。トリガー文節（ペア）は、文を具体化するための、置換、挿入のきっかけになる文節である。
【００２８】
部分文節構造とは、開始文節と終了文節の２文節で指定される係り受け構造の一部分である。具体的には、部分文節構造とは、開始文節から再帰的にモディファイアを訪問して終了文節に達するまでに得られる部分的な係り受けの木である。ここで、終了文節は指定しなくともよいものとする。終了文節が指定されない場合は、開始文節から再帰的に得られるモディファイア文節全体が、部分文節構造である。終了文節は開始文節の子孫でなくてはならない。これに違反するときは、部分文節構造は空となる。また、係り受け構造の最後の文節を開始文節にし、終了文節を指定しないと、係り受けの木全体、すなわち係り受け構造全体が部分文節構造となる。また開始文節と終了文節を同じ文節とした場合には当該文節自身のみが部分文節構造であると定義する。
【００２９】
図２に示す例において、「近所で  オープンした」は、「オープンした」を開始とし、「近所で」を終了とした部分文節構造である。あるいは、「近所で  オープンした」は、「オープンした」を開始文節とした終了文節のない部分文節構造である。「スーパーに  きのうの」は文中での字面上は連続しているが、「きのうの」のモディファイアを探索訪問しても「スーパーに」は得られない。すなわち、「スーパーに」は「きのうの」の子孫ではないので、「スーパーに  きのうの」は部分文節構造ではない。以下において、表現およびフレーズとは、この部分文節構造のことを指す。
【００３０】
右方向深さ優先探索とは、係り受け構造の木の最終文節（木の根）を起点に、根を上にみたときに右にある枝を優先し、また深さを優先して文節を探索することである。この右方向深さ優先探索は、本実施形態の自然言語処理装置において、係り受け構造上のすべての文節を訪問するときに使用する探索の手順である。
図３は、係り受け構造の例と探索の順を示す概略図である。図示する６個のボックスはそれぞれ文節に対応している。最も右のボックスが最終文節に対応しており、これが図示する木構造の根に該当する。各ボックスに対応して記している数字は、この根のノードを基に右方向深さ優先探索を行なうときの探索順序を表わしている。なお、係り受けの枝を右方向深さ優先で探索することは、文節の並びで言うと、最終文節から逆順で探索することと同じとなる。
【００３１】
次に自然言語処理装置１０が用いるいくつかの基本的な量を定義する。
＜２  文節類似度＞
次の２種類の文節類似度を定義する．
＜２．１  完全文節類似度＞
文節の類似度は、形態素レベルのbag of wordsの（つまり、形態素の並び順を考慮しない）Dice係数で計算する。
文節ａ，ｂの形態素集合（自立語と付属語すべて）を、それぞれ、Ｘａ，Ｘｂとする。そして、完全文節類似度ｓ（ａ，ｂ）は、下の式（１）により計算する。
【００３２】
【数１】
0005184203.tif 000002
【００３３】
但し、｜Ｘａ｜、｜Ｘｂ｜、｜Ｘａ∩Ｘｂ｜は、それぞれの集合の要素の数を表わす。なお、例えば、文節ａに同じ形態素が複数回出現するとき、それらを集合Ｘａ内の別要素として捉え、それらを重複してカウントすることで｜Ｘａ｜の値としても良いし、文節ａ中に同じ形態素が出現する回数に関わらず１回のみカウントすることで｜Ｘａ｜の値としても良い。そして、文節ｂについても同様である。
【００３４】
＜２．２  自立語文節類似度＞
自律語文節類似度は、文節に含まれる自律語に着目した類似度である。文節ａ，ｂに含まれる形態素のうちの自立語のみの集合を、それぞれ、Ｘａ，Ｘｂとする。このとき、自律語文節類似度ｔ（ａ，ｂ）は、下の式（２）により計算される。
【００３５】
【数２】
0005184203.tif 000003
【００３６】
＜３  文節集合被含有率＞
文節集合被含有率は、文節集合Ｘが文節集合Ｙにどれくらい含まれているかを表わす割合である。文節集合被含有率を計算する手順は、以下の通りである。即ち、１つの文節集合をＸとし、その集合Ｘに含まれる文節数を｜Ｘ｜とする。もう１つの文節集合をＹとし、その集合Ｙに含まれる文節数を｜Ｙ｜とする。文節集合Ｘの文節集合Ｙにおける文節集合被含有率Ｄ（Ｘ，Ｙ）は、上で定義した自立語文節類似度ｔ（ｘ，ｙ）を用いて、次の式（３）により計算される。
【００３７】
【数３】
0005184203.tif 000004
【００３８】
式（３）が示すように、文節集合被含有率Ｄ（Ｘ，Ｙ）は、文節集合Ｘが文節集合Ｙ中に含まれる割合を表わす値である。この割合は、単純な個数によるものではなく、文節類似度によって評価されるものである。式(２)より明らかなように０≦ｔ（ｘ，ｙ）≦１であるので、従って、０≦Ｄ（Ｘ，Ｙ）≦１である。なお、文節集合ＸあるいはＹの要素である文節が何らかの理由で自立語を含まないときには、式（３）における自律語文節類似度ｔ（ｘ，ｙ）を、完全文節類似度ｓ（ｘ，ｙ）で置き換えて、文節集合被含有率の計算を行なうようにする。
【００３９】
自然言語処理装置１０は、日本語の係り受け構造に関する性質を利用した処理を行なう。日本語の係り受け構造が持つ性質とは、次の通りである。
まず、日本語の係り受け構造は、後方単一性を有する。これはつまり、最終文節を除く任意の文節は、その文節よりも文末側にある文節のいずれか１つに係るという性質である。
また、日本語の係り受け構造は、受けの性質を有する。これはつまり、文中の各文節は、その文節よりも文頭側にある文節を０個以上受けることができるという性質である。
また、日本語の係り受け構造は、非交叉の性質を有する。これはつまり、文節の係り受けは交叉しないという性質である。これは、例えば図２や図３で示した構造において、係り受けを表わす矢印付の線が決して交叉しないという性質である。これを一般的に言うと、文頭から文末に向けてＮ個の文節がｘ１，ｘ２，・・・・・・，ｘＮと並んでいるとき、１≦ｉ＜ｊ＜ｋ＜ｌ≦Ｎなるｉ，ｊ，ｋ，ｌに関して、ｘｉ−＞ｘｋという係り受けとｘｊ−＞ｘｌという係り受けとは決して同時に存在しないという性質である。
【００４０】
自然言語処理装置１０による処理の基本的な考え方を説明する。自然言語処理装置１０は、次の（１）および（２）の処理を用いて、文を具体化する処理を実行する。
（１）の処理：リードの表現（部分文節構造）と本記の表現（部分文節構造）が同一のモディファイアとヘッドの文節を持っている場合は、そのリードの表現をその本記の表現で置換する。
（２）の処理：リードの表現（部分文節構造）と本記の表現（部分文節構造）のモディファイアがヌルで、且つそれらが共通のヘッドの文節を持つ場合は、類似性に応じて、次の（ア）あるいは（イ）のいずれかの処理を行なう。即ち、
（ア）の処理：類似性が所定値よりも高ければ、そのリードの表現をその本記の表現で置換する。
（イ）の処理：類似性が所定値よりも低ければ、その本記の表現をリードに挿入する。
【００４１】
上記の（１）および（２）のいずれの場合も、処理後の表現は、上述した日本語の係り受けの性質を維持している。つまり、自然言語処理装置１０は、日本語の制約を満たしたままで表現を置換または挿入する処理を行なう。また、（２）の場合は、係り受けを保存するだけであれば、本記の表現を挿入することも、本記の表現でリードの表現を置換することも可能であるが、類似性に応じて（ア）あるいは（イ）という処理を適宜選択するのは、類似性が高い本記の表現を挿入してしまうことによって、類似した内容を持った表現が並んで冗長になることを避けるためである。
【００４２】
また（１）の場合は、本記の表現の挿入はできない。その理由は、前述の通り、日本語の係り受け構造では係り先は１つに限られるからである。仮に挿入によって同じモディファイアを要求する２つの表現ができてしまうと、後方単一性を満たすことができなくなってしまう。
【００４３】
ここで、図１のブロック図に戻って、自然言語処理装置１０を構成する各部の機能等を説明する。
形態素・係り受け解析部１（係り受け解析部）は、入力されるリード文（第１の文データ）および本記文（第２の文データ）の形態素解析処理を行い、各文を文節に分け、係り受け解析器による解析処理を行い、その結果、最終的に係り受け構造を表わすデータを得て出力する。
【００４４】
形態素解析部１−１は、リード文のデータと、このリード文に関連する本記文（本記文は複数の文の場合もある）のデータを入力し、リード文のデータと本記文のデータをそれぞれ解析して、リード文のデータおよび本記文のデータそれぞれについての形態素解析結果データを出力する。
係り受け解析部１−２は、上記の形態素解析結果データに基づき、係り受け解析器を用いて、リード文のデータおよび本記文のデータそれぞれについての係り受け解析処理を行い、その結果として、リード文および本記文それぞれについての係り受け構造データを出力する。
【００４５】
係り受け構造のデータは、図２や図３でも示したように、リード文や本記文それぞれに含まれる文節間の係り受けの関係を表わすデータである。これらのデータは、文節をノードとして、係り受け関係をアーク（方向付きアーク）とする木構造データとしても解釈できる。
【００４６】
表現とは、本実施形態における「部分文節構造」や「フレーズ」と同義である。表現とは、係り受け構造データが表わす係り受けの関係において、開始文節と終了文節の２文節で指定される係り受け構造の一部分であり、具体的には開始文節から再帰的にモディファイアを訪問して終了文節に達するまでに得られる部分的な係り受けの木である。ここで、終了文節は指定しないことがあり、そのときには開始文節から再帰的に得られるモディファイア文節全体とする。言い換えれば、開始文節と終了文節が指定される場合の表現とは、これら２文節間にはさまれる部分的な係り受け構造に含まれる文節群から成る。また、開始文節のみが指定される場合の表現とは、その文節に直接的又は間接的に係る全ての文節群から成る。
【００４７】
文節テーブル作成部２（文節抽出部）は、形態素・係り受け解析部１から出力されるリード文および本記文の係り受け構造のデータを受け、リード文と本記文の各文節を右方向深さ優先で比較して、表層が同じもの、つまり表記が同じもの（共通文節、同一文節）の出現位置を記録する。さらに、このリード文と本記文がトリガー条件を満たす場合には、トリガーマークを文節テーブル４に記録する。
【００４８】
言い換えれば、文節テーブル作成部２は、リード文のデータおよび本記文のデータそれぞれの係り受け構造データに基づき、リード文のデータと本記文のデータに共通に含まれる共通文節を検出し、この共通文節が所定の機能動詞または形式動詞を含まない場合にはその共通文節をトリガー文節として抽出するとともに、この共通文節が所定の機能動詞または形式動詞を含む場合には当該共通文節のリード文のデータと本記文のデータそれぞれにおけるモディファイアが所定の格で一致する場合に限り当該共通文節をトリガー文節として抽出するものである。
【００４９】
図４は、文節テーブル４のデータ構造を示す概略図である。文節テーブル４は、例えば、ハードディスク装置や半導体メモリの所定の記憶領域を用いて実現される。図示するように、文節テーブルは、表形式のデータとして実現されており、表記と、リード文の文節番号と、リード文のトリガーマークと、本記文の文番号と、本記文の文節番号と、本記文のトリガーマークと、トリガーのよさを表わす評価値の各項目を有している。通常、１つのリード文に対して複数の本記文が対応する。リード文は１文のみであるためこの文節テーブル４はリード文の文番号のデータを含んでいないが、複数のリード文を扱うようにする場合には、適宜、リード文を識別する情報をこのテーブルに持たせるようにしてもよい。
【００５０】
文節テーブル作成部２内の各部の詳細な機能は、次の通りである。
同一文節検出部２−１は、リード文のデータと本記文のデータに共通に含まれる共通文節（同一文節）を検出する。
トリガー文節検出部２−２は、共通文節が所定の条件を満たす場合に、それをトリガー文節として検出する。機能動詞または形式動詞を含まない場合にはその共通文節をトリガー文節として抽出するとともに、この共通文節が所定の機能動詞または形式動詞を含む場合には当該共通文節のリード文のデータと本記文のデータそれぞれにおけるモディファイアが所定の格で一致する場合に限り当該共通文節をトリガー文節として抽出するものである。
【００５１】
また、トリガー文節評価部２−３は、抽出したトリガー文節について、当該トリガー文節からリード文のデータと本記文のデータにおける共通のヘッドまでの係り受け距離に基づき、且つ当該トリガー文節がリード文のデータと本記文のデータにおいて有する特定の助詞の格による共通の主語の有無に基づき、トリガー文節の評価値を算出するものである。この評価値については後で具体的に述べるが、この評価値により、そのトリガー文節をきっかけとするリード文の自動編集結果の良さを数値として評価することができる。
【００５２】
トリガー文節検出部２−２によるトリガー文節の判定条件は、次の通りである。基本的には表層が同一の文節であれば表す意味が同じであると考えられるため、そこに係るフレーズを置換あるいは挿入しても問題はおこらない。しかしながら、例えば「ことを」など、意味をほとんど持たない文節の場合には、表層が一致しているだけの条件でこのような置換あるいは挿入の操作を行うと文意が変わってしまう場合もある。そこで、こういった意味を持たない文節では同じ意味であることを「トリガー文節判定条件」で確認する。
【００５３】
意味を持たない単語としては、機能動詞、形式動詞、形式名詞などがある。機能動詞とは例えば、「受ける」、「与える」、「始める」などといった動詞である。形式動詞とは例えば、「する」、「ある」などといった動詞である。形式名詞とは例えば、「こと」、「もの」などといった名詞である。日本語の機能動詞は数十程度あるが、これらの単語のリストは、予めメモリ等に記憶しておく。
【００５４】
このような機能動詞、形式動詞、形式名詞を含む文節については、比較対象となる２つの文節のモディファイアが一致するか否かによって、意味の同一性を判定する。
例えば、形式動詞「ある」のトリガーを判定するためには、モディファイア文節が同一の「ハ」格、「ガ」格、「モ」格であるか否かによる判定を行なう。例えば、「美しく  ハ  ある」のように一致していれば同一と判定する。
また例えば、機能動詞「受ける」を含む２つの文節が同一の意味を有するか否かを判定するためには、モディファイア文節が同一の「サ変名詞＋ヲ」であるか否かによる判定を行う。「非難ヲ受ける」という例では「非難ヲ」がモディファイア文節であるが、このモディファイア文節が同一であるか否かによる判定を行なえば、それら２つの文節が同じ意味で使われているかどうかを判定することができる。
【００５５】
図５は、トリガー文節検出部２−２が、与えられた文節について、上述した条件を用いてトリガー文節であるか否かを判定する手順を示したフローチャートである。このフローチャートに沿って説明する。
まずステップＳ２２０において、トリガー文節検出部２−２は、同一文節検出部２−１からメモリ経由などで渡される文節（リード文と本記文の同一文節）を読み込む。
次にステップＳ２２１において、トリガー文節検出部２−２は、予めメモリ上に準備しておいた機能動詞リストを参照しながら、与えられた文節に機能動詞を含むか否かを判定する。含む場合（ステップＳ２２１：ＹＥＳ）にはステップＳ２２２に進み、含まない場合（ステップＳ２２１：ＮＯ）にはステップＳ２２５に進む。
【００５６】
ステップＳ２２２に進んだ場合には当該ステップにおいて、トリガー文節検出部２−２は、当該文節のリード文および本記文それぞれにおけるモディファイアがサ変名詞＋「を」の形であり且つそれらが一致するか否かを判定する。該当する場合（ステップＳ２２２：ＹＥＳ）にはステップＳ２２３においてトリガー文節であると判定して処理を終了し、該当しない場合（ステップＳ２２２：ＮＯ）にはステップＳ２２４においてトリガー文節ではないと判定して処理を終了する。
【００５７】
ステップＳ２２５に進んだ場合には当該ステップにおいて、トリガー文節検出部２−２は、当該文節が「ある」を含むか否かを判定する。含む場合（ステップＳ２２５：ＹＥＳ）にはステップＳ２２６に進み、含まない場合（ステップＳ２２５：ＮＯ）にはステップＳ２２９においてトリガー文節であると判定して処理を終了する。
【００５８】
ステップＳ２２６に進んだ場合には当該ステップにおいて、トリガー文節検出部２−２は、当該文節のリード文および本記文それぞれにおけるモディファイアが「ハ」格、「ガ」格、「モ」格のいずれかで一致するか否かを判定する。該当する場合（ステップＳ２２６：ＹＥＳ）にはステップＳ２２７においてトリガー文節であると判定して処理を終了し、該当しない場合（ステップＳ２２６：ＮＯ）にはステップＳ２２８においてトリガー文節ではないと判定して処理を終了する。
【００５９】
以上、フローチャートに示した処理手順をまとめると、前述した通り、文節テーブル作成部２は、この共通文節が所定の機能動詞または形式動詞を含まない場合（ステップＳ２２１：ＮＯ、ステップＳ２２５：ＮＯ）にはその共通文節をトリガー文節として抽出するとともに、この共通文節が所定の機能動詞または形式動詞を含む場合（ステップＳ２２１：ＹＥＳまたはステップＳ２２５：ＹＥＳ）には当該共通文節のリード文のデータと本記文のデータそれぞれにおけるモディファイアが所定の格で一致する場合（ステップＳ２２２：ＹＥＳ、またはステップＳ２２６：ＹＥＳ）に限り当該共通文節をトリガー文節として抽出するものである。文節テーブル作成部２は、トリガー文節として抽出した文節については、文節テーブル４内に、トリガーであることを表わすマークを書き込む。
【００６０】
図６は、文節テーブル作成部２が上記のような判定方法を用いて文節テーブルを作成する処理手順を示すフローチャートである。以下、このフローチャートに沿って説明する。
まず、ステップＳ２１において、同一文節検出部２−１は、形態素・係り受け解析部１から渡されるリード文と本記文の係り受け構造を表わすデータを読み込む。
次にステップＳ２２において、同一文節検出部２−１は、リード文と本記文それぞれを右方向深さ優先探索で探索し、両者の文節同士を比較する。この比較の結果、それらが同一文節ならば（ステップＳ２３：ＹＥＳ）そのままステップＳ２４に進み、同一文節でなければ（ステップＳ２３：ＮＯ）ステップＳ２８に飛ぶ。
【００６１】
ステップＳ２４に進んだ場合は当該ステップにおいて、同一文節検出部２−１は、その文節を文節テーブルに登録する。但し、この段階では、表記と、リードの文節番号と、本記の文番号と、本記の文節番号のみが書き込まれる。リードのトリガーマークや、本記のトリガーマークや、評価値は、この段階ではまだ書き込まれない。
【００６２】
次にステップＳ２５において、トリガー文節検出部２−２は、前述した手順（図５のフローチャート）によって、当該文節がトリガー条件を満たすか否かを判定する。この判定の結果、トリガー条件を満たす場合には（ステップＳ２５：ＹＥＳ）そのままステップＳ２６に進み、トリガー条件を満たさない場合には（ステップＳ２５：ＮＯ）ステップＳ２８に飛ぶ。
【００６３】
ステップＳ２６に進んだ場合は当該ステップにおいて、トリガー文節検出部２−２は、文節テーブル４のトリガーマークの欄に、当該文節がトリガーであることを表わすマークを書き込む。
ステップＳ２７においては、トリガー文節評価部２−３が、トリガー文節のよさを表わす評価値を算出し、算出された値を、文節テーブル４の評価値の欄に書き込む。ここでの評価値の算出方法については、後述する。
【００６４】
ステップＳ２８においては、文節テーブル作成部２は、リード文と本記文の右方向深さ優先探索において、比較すべき文節がまだ残っているか否かを判定する。残っている場合は（ステップＳ２８：ＹＥＳ）、ステップＳ２９において探索を次の文節へと進め、そのままステップＳ２２に戻る。残っていない場合（ステップＳ２８：ＮＯ）には、このフローチャート全体の処理を終了する。
【００６５】
トリガー文節評価部２−３によるトリガーの良さの評価方法は、以下に述べる通りである。トリガー文節評価部２−３は、（１）係り先が同じであるか否か、あるいは、（２）同一の主語を持つか否か、の条件を用いるとともに、その条件に付随する数値的スコアを計算することによりトリガーの良さを評価する。そして、このトリガーの良さによって、そのトリガーによる置換や挿入の良さを計ることができる。
【００６６】
（１）同一ヘッド（係り先）までの距離によるスコア
これは、トリガー文節から一致文節までの文節数（係り受けのスキップ数と呼ぶ）に基づいたスコアである。（α,β）は、トリガーαと一致文節βの組である。また、（α´,β´）は、トリガーα´と一致文節β´の組である。ｈ（α，β）はαとβの間のスキップ数である。スキップ数ｈ（α，β）とは、文節αから文節βに至るまでの係り受けの段階の数である（係り受け距離とも言う）。例えば、文節αが文節βに直接かかっている場合には、ｈ（α，β）は１である。また、ｈ（α´，β´）はα´とβ´の間のスキップ数である（係り受け距離とも言う）。ここで、文末には特殊な文末記号からなる文節があるものとし、最終文節は常にその文末記号に係るものとする。トリガー文節αとα´のスコアＳ（α，α´）は、下の式（４）で計算される。
【００６７】
【数４】
0005184203.tif 000005
【００６８】
この式（４）によれば、ｈ（α，β）とｈ（α´，β´）がともに１のとき、即ち、αおよびα´がそれぞれ隣の文節に係っているときに、スコアＳ（α，α´）の値は最大の１となる。また、スコアＳ（α，α´）の値は常に０よりは大きい。
【００６９】
この、同一ヘッドまでの距離によるスコアは、トリガー文節からどれくらい離れた係り先に一致文節があるかを評価するための数値である。トリガーの直後で一致する場合には、一致度が高いという評価になる。一方で、多くの文節を経由して、例えば文末記号で一致する場合には、一致度が低いという評価になる。
【００７０】
（２）主語の一致によるスコア
これは、主語の格の種類に応じて得点を与えるスコアである。具体的には、「ハ」格、
「ガ」格、あるいは「モ」格のいずれかの主辞の一致があれば得点を与える。「ハ」格あるいは「ガ」格の主辞の一致の場合は、その得点は１点である。また、「モ」格の主辞の一致の場合は、その得点は０．５点である。「ハ」格、「ガ」格、「モ」格の得点が重ねて与えられる場合もある。
【００７１】
トリガー文節評価部２−３は、（１）の同一ヘッド（係り先）までの距離によるスコアと（２）の主語の一致によるスコアの和を計算し、その結果をトリガー文節の評価値とする。この評価値の最高点となるのは次の場合である。即ち、（１）の同一ヘッドまでの距離によるスコアについては、トリガー文節の直後の文節で一致した場合の１点。また、（２）の主語の一致によるスコアについては、「ハ」格の一致の１点と、「ガ」格の一致の１点と、「モ」格の一致の０．５点。これらの合計の３．５点が最高点である。トリガー文節評価部２−３がこのように計算する評価値が、そのトリガーによって発生する置換あるいは挿入の良さを表わす。
【００７２】
リード自動編集部３は、文節テーブル４から読み出す情報と、形態素・係り受け解析部１から出力されるリード文および本記文の係り受け構造のデータとに基づき、リード文を操作する処理を行なう。具体的には、リード自動編集部３は、文節テーブル４からトリガー文節ペアのデータを読み出し、リード文および本記文それぞれの文節を右方向深さ優先の順で取り出し、それに基づいて、リード文内の係りフレーズを置換したり、本記文の係りフレーズをリード文内に挿入したりする処理を行なう。但し、この処理はリード文への詳細情報の付加が目的であるため、たとえトリガー文節ペアであっても、本記文側のトリガー文節に係りフレーズがない場合には、そのトリガーに関しての置換あるいは挿入の処理は行なわない。
【００７３】
言い換えれば、リード自動編集部３は、リード文のデータの係り受け構造データと本記文のデータの係り受け構造データとを比較した結果に基づき、リード文に含まれる表現を本記文に含まれる表現で置換しても係り受け構造に矛盾が生じない表現置換候補と、本記文に含まれる表現をリード文内の所定箇所に挿入しても係り受け構造に矛盾が生じない表現挿入候補との、少なくともいずれかを抽出し、この表現置換候補および表現挿入候補の少なくともいずれかに基づいてリード文のデータを自動的に編集する処理を行なうものである。
【００７４】
図７は、リード自動編集部３全体の処理の手順を示すフローチャートである。以下、このフローチャートに沿って説明する。
リード自動編集部３は、形態素・係り受け解析部１からメモリ等を介して受け取る係り受け構造のデータと、文節テーブル４に書かれているデータとを入力情報とする。
【００７５】
まずステップＳ３１において、係りフレーズ対応部３−１は、文節テーブル４に、未処理のトリガー文節ペアが残っているか否かを判断する。残っている場合には（ステップＳ３１：ＹＥＳ）次のステップＳ３２へ進み、残っていない場合には（ステップＳ３１：ＮＯ）このフローチャート全体の処理を終了する。
このステップでの判断において、未処理のトリガー文節ペアが残っているとは、文節テーブル内に、ステップＳ３２以下の処理がまだ完了していないトリガーのペアが残っているという意味である。
【００７６】
次にステップＳ３２において、係りフレーズ対応部３−１は、文節テーブル４から、トリガー文節ペアを１つ取り出す。
そしてステップＳ３３において、係りフレーズ対応部３−１は、本記文のトリガーに係りフレーズがあるか否かを判定する。ある場合には（ステップＳ３３：ＹＥＳ）そのまま次のステップＳ３４へ進み、ない場合には（ステップＳ３３：ＮＯ）ステップＳ３１へ戻る。
【００７７】
ステップＳ３４に進んだ場合は当該ステップにおいて、係りフレーズ対応部３−１が、係りフレーズを対応付ける処理を行なう。この処理の詳細については、後述する。
その処理の結果、ステップＳ３５においては、対応フレーズがあるか否かを判定する。対応フレーズがある場合には（ステップＳ３５：ＹＥＳ）次のステップＳ３６に進み、対応フレーズがない場合には（ステップＳ３５：ＮＯ）ステップＳ３７へ飛ぶ。
【００７８】
ステップＳ３６では、対応フレーズ置換処理部３−２が、対応フレーズを置換する処理を行なう。この処理の詳細については後述する。
そして、ステップＳ３７では、フレーズ挿入処理部３−３が、フレーズを挿入する処理を行なう。この処理の詳細については後述する。
そして、ステップＳ３７の処理が終了すると、次のトリガー文節ペアを処理するためにステップＳ３１に戻る。
以上が、リード自動編集部３の全体の処理手順である。
【００７９】
リード自動編集部３内の各部の詳細な機能および処理手順等は、次の通りである。
係りフレーズ対応部３−１は、リード文のトリガー文節と本記文のトリガー文節のそれぞれに係っている係りフレーズを求め、これらの係りフレーズ間の類似性によって対応付けを行なう機能を有する。このとき、係りフレーズ間の類似性はアラインメント率によって評価し、係りフレーズ対応部３−１は、各係りフレーズ間での評価結果をフレーズテーブル３−５に書き込む。
【００８０】
図８は、上でも述べた係りフレーズ対応部３−１の詳細な処理の手順を示すフローチャートである。以下、このフローチャートに沿って説明する。
まずステップＳ３１１において、係りフレーズ対応部３−１は、リード文と本記文のトリガー文節の全ての組について、アラインメント率（類似度）を計算し、フレーズテーブル３−５に書き込む。なお、アラインメント率の計算手順およびフレーズテーブルの構造等については、後述する。
【００８１】
そしてステップＳ３１２において、係りフレーズ対応部３−１は、フレーズテーブル上に未処理で残っているデータのうち、アラインメント率が最大のものを取り出し、その最大のアラインメント率が所定値（第１閾値）以上であるか否かを判定する。それが所定値以上である場合は（ステップＳ３１２：ＹＥＳ）次のステップＳ３１３に進み、それが所定値未満である場合は（ステップＳ３１２：ＮＯ）このフローチャート全体の処理を終了する。
【００８２】
次にステップＳ３１３において、その最大のアラインメント率を有するリード文と本記文のフレーズのペアを対応させることとし、フレーズ対応結果として出力する。
そして、ステップＳ３１４において、その組を処理済みとして、フレーズテーブルの処理対象から除く。
そして、残っている組について処理するために再びステップＳ３１２に進む。
以上が、フレーズを対応付ける処理の手順である。この結果、アラインメント率が前記の所定値以上の全ての組が、その値の大きい順に、フレーズ対応結果として出力されることとなる。
【００８３】
図９は、フレーズテーブル３−５のデータ構造を示す概略図である。図示するように、フレーズテーブル３−５は、ｍ行ｎ列のマトリクスの構造を有しており、各行は本記文のフレーズに対応し、各列はリード文のフレーズに対応している。図示する例は、本記文の係りフレーズが４つあり（ｍ＝４）、リード文の係りフレーズが４つある（ｎ＝４）場合のフレーズテーブルであり、４行４列のマトリクスとなっている。このマトリクスの各要素は、係りフレーズ間のアラインメント率を格納するものである。例えば、ｉ行目（１≦ｉ≦ｍ）かつｊ列目（１≦ｊ≦ｎ）の要素は、本記文のｉ番目の係りフレーズとリード文のｊ番目の係りフレーズを格納するためのものである。フレーズテーブル３−５は、例えば、ハードディスク装置や半導体メモリの所定領域を用いて実現される。
【００８４】
係りフレーズ対応部３−１が、係りフレーズＸとＹとの対応のよさを表わす指標であるフレーズアラインメント率Ｐ（Ｘ，Ｙ）を算出する方法は、以下の通りである。
まず、与えられる２つの係りフレーズのうちの短いほうのフレーズをＸとし、他方をＹとする。そして、係りフレーズＸの最終文節をｘとする。また、係りフレーズＹの最終文節をｙとする。フレーズアラインメント率Ｐ（Ｘ，Ｙ）は、下の式（５）により計算される。
【００８５】
【数５】
0005184203.tif 000006
【００８６】
但し、ｓ（ｘ，ｙ）は文節ｘとｙの間の完全文節類似度であり、Ｄ（Ｘ，Ｙ）は係りフレーズＸがＹに含まれる割合を表わす文節集合被含有率であり、αおよびβはそれぞれ０以上１以下の実数として適宜設定されるパラメータである。一例としては、α＝０．１、β＝０．９と設定する。
【００８７】
つまり、係りフレーズ対応部３−１は、トリガー文節に係るリード文の表現と本記文の表現とを表わす類似度を表わす指標として上記のアラインメント率を利用する。
前述した通り、係りフレーズ対応部３−１は、フレーズテーブルに書き込まれた値を参照しながら、アラインメント率の高い順に、リード文内のフレーズと本記文内のフレーズのペアを対応させていく。
その結果、アラインメント率が前記所定値（第１閾値）以上の表現のペアのみが、係りフレーズ対応部３−１によって対応付けられる。
【００８８】
対応フレーズ置換処理部３−２の処理は、次の通りである。本記文とリード文との間に対応した係りフレーズがある場合、その係りフレーズの最終文節から、共通の子孫文節集合を探す。共通の子孫の文節が見つかった場合は、それぞれについてフレーズの最終文節を開始点、共通文節の係り先であるヘッド文節を終点とする部分文節構造を置換候補とする。ここで、置換候補が次の（１）から（３）の条件（置換候補条件）をすべて満たす場合には、対応フレーズ置換処理部３−２は、その置換候補による置換を行なうべきものとして確定する。
（１）置換候補がある（長さがゼロではない）。
（２）リード文の置換候補表現の長さが、本記文の置換候補表現の長さよりも短い。
（３）リード文の置換候補表現と本記文の置換候補表現が同一ではない。
【００８９】
これによる置換は、共通のトリガーおよび共通の子孫文節に挟まれた部分文節構造を置換する処理である。但し、もし共通の子孫の文節がない場合には、係りフレーズ全体を置換する処理を行なう。これはつまり、トリガーだけが一致した置換である。
【００９０】
図１０は、上記の方法により、対応フレーズ置換処理部３−２がリード文内のフレーズを対応するフレーズで置換する処理の手順を示すフローチャートである。以下、このフローチャートに沿って説明する。
まずステップＳ３２０において、対応フレーズ置換処理部３−２は、係りフレーズ対応部３−１から出力されたフレーズ対応結果を読み込む。
そしてステップＳ３２１において、対応フレーズ置換処理部３−２は、未処理のフレーズ対応結果が残っているか否かを判定する。残っている場合には（ステップＳ３２１：ＹＥＳ）そのまま次のステップＳ３２２へ進み、残っていない場合には（ステップＳ３２１：ＮＯ）このフローチャート全体の処理を終了する。
【００９１】
次にステップＳ３２２において、対応フレーズ置換処理部３−２は、未処理のフレーズ対応結果を１つ取り出す。
そしてステップＳ３２３において、対応フレーズ置換処理部３−２は、上で取り出したフレーズ対応結果の、各フレーズの最終文節を出発点とし、文節テーブル４を参照しながら、その出発点から共通の子孫文節集合を探す処理を行なう。
【００９２】
そしてステップＳ３２４において、対応フレーズ置換処理部３−２は、共通の子孫文節があったか否かを判定する。共通の子孫文節があった場合には（ステップＳ３２４：ＹＥＳ）、ステップＳ３２５において、対応フレーズの最終文節、すなわちトリガー文節へのモディファイアを開始文節、共通子孫の係り先であるヘッド文節を終了文節とする部分文節構造の文節群を置換候補とする。共通の子孫文節がなかった場合には（ステップＳ３２４：ＮＯ）、ステップＳ３２６において、その対応しているフレーズの組全体を置換候補とする。このようにして置換候補が得られる。
【００９３】
次にステップＳ３２７において、対応フレーズ置換処理部３−２は、上で得られた置換候補が置換候補条件を満たすか否かを判定する。置換候補条件は、前述の通りである。置換候補条件を満たす場合には（ステップＳ３２７：ＹＥＳ）、ステップＳ３２８においてその置換候補を確定させてから、ステップＳ３２９に進む。置換候補条件を満たさない場合には（ステップＳ３２７：ＮＯ）、ステップＳ３２８を飛ばして、ステップＳ３２９に進む。
【００９４】
ステップ３２９では、未処理の共通子孫文節の有無を確認する。未処理の共通子孫文節が残っていれば（ステップＳ３２９：ＹＥＳ）、ステップＳ３２５に戻る。未処理の共通文節がなければ（ステップＳ３２９：ＮＯ）、ステップＳ３２１に戻る。
以上が、対応フレーズ置換処理部３−２による処理の手順である。
【００９５】
フレーズ挿入処理部３−３は、リード文のトリガーの係りフレーズと対応しなかった本記文のトリガーの係りフレーズを、リード文への挿入候補とする。ただし、挿入候補であるフレーズがリード文のどこかで述べられている可能性もあり、そのような場合にはその挿入候補を挿入することはない。
【００９６】
挿入候補であるフレーズがリード文のどこかで述べられている可能性があるため、フレーズ挿入処理部３−３は、次に述べる挿入候補のリード被含有率による評価を行なう。挿入候補のリード被含有率の計算方法は、以下の通りである。挿入しようとする本記文の表現（部分文節構造）が、リード文内の表現と重複することがある。リード文のトリガーの子孫との内容の類似性については、既に、係りフレーズ対応部３−１にて検査している。そこで、フレーズ挿入処理部３−３は、リード文のトリガー子孫以外の部分と挿入候補との重複を次のように検査する。本記文の挿入候補の表現（文節集合）をＸとする。リード文から、リードのトリガー文節の子孫を除いた文節集合をＹとする。これらの集合ＸおよびＹについての文節集合被含有率Ｄ（Ｘ，Ｙ）が、即ち、挿入候補のリード被含有率である。文節集合被含有率Ｄ（Ｘ，Ｙ）は、式（３）で表わした通り、文節集合Ｘが文節集合Ｙ中に含まれる割合を表わす値である。
【００９７】
このように算出された挿入候補のリード被含有率の値が所定値よりも高い場合には、フレーズ挿入処理部３−３は、その挿入候補をリード文に挿入しない。逆に、リード被含有率の値が所定値以下である場合には、フレーズ挿入処理部３−３は、その挿入候補の挿入位置を決定する。挿入位置は、被挿入句の右隣の係りフレーズの移動先の左とする。
【００９８】
図１１は、上記の方法により、フレーズ挿入処理部３−３がリード文内にフレーズを挿入する処理の手順を示すフローチャートである。以下、このフローチャートに沿って説明する。
【００９９】
まずステップＳ３３０において、フレーズ挿入処理部３−３は、未処理の挿入候補フレーズが残っているか否かを判定する。ここで未処理の挿入候補フレーズとは、フレーズ対応結果のうち、リード文のトリガー文節の係りフレーズと対応のついていない本記文のトリガー文節の係りフレーズであって、まだステップＳ３３１以降の処理が済んでいないものである。
【０１００】
そしてステップＳ３３１において、フレーズ挿入処理部３−３は、未処理の挿入候補フレーズを１つ取り出す。
そしてステップＳ３３２において、フレーズ挿入処理部３−３は、上で取り出した挿入候補フレーズのリード被含有率を算出する。リード被含有率の計算方法は前述した通りである。
【０１０１】
次にステップＳ３３３において、フレーズ挿入処理部３−３は、上で計算したリード被含有率が所定の閾値（第２閾値）を超えるか否かを判定する。含有率がその閾値を超える場合は（ステップＳ３３３：ＹＥＳ）、当該フレーズの挿入を行なわずそのままステップＳ３３０へ戻る。含有率がその閾値を超えない場合は（ステップＳ３３３：ＮＯ）、当該フレーズの挿入位置を決定するために、次のステップＳ３３４へ進む。
【０１０２】
そしてステップＳ３３４において、フレーズ挿入処理部３−３は、本記文における当該挿入候補フレーズの右の位置がトリガー文節であるか否かを判定する。右がトリガー文節の場合（ステップＳ３３４：ＹＥＳ）は、ステップＳ３３５において、挿入候補フレーズをリード文のトリガー文節の左に挿入し、その後、ステップＳ３３０に戻る。そうでない場合（ステップＳ３３４：ＮＯ）は、次のステップＳ３３６に進む。
【０１０３】
そしてステップＳ３３６において、フレーズ挿入処理部３−３は、本記文における当該挿入候補フレーズの右の位置が置換フレーズであるか否かを判定する。右が置換フレーズの場合（ステップＳ３３６：ＹＥＳ）は、ステップＳ３３７において、その右フレーズの置換先となるリード文内の位置の左に挿入候補フレーズを挿入し、その後、ステップＳ３３０に戻る。そうでない場合（ステップＳ３３６：ＮＯ）は、次のステップＳ３３８に進む。
【０１０４】
そしてステップＳ３３８において、フレーズ挿入処理部３−３は、本記文における当該挿入候補フレーズの右の位置が挿入フレーズであるか否かを判定する。右が挿入フレーズの場合（ステップＳ３３８：ＹＥＳ）は、その右フレーズの挿入先となるリード文内の一の左に挿入候補フレーズを挿入し、その後、ステップＳ３３０に戻る。そうでない場合（ステップＳ３３８：ＮＯ）は、挿入せずにそのままステップＳ３３０に戻る。
【０１０５】
結果表示部３−４は、以上の処理によって確定した置換候補および挿入候補をそれぞれリード文に反映させた結果を表示する。
【０１０６】
リード自動編集部３によるフレーズの置換あるいは挿入の詳細をまとめると次の通りである。
（Ａ）トリガー文節に係るリード文の表現と本記文の表現とが、所定値以上のアラインメント率で対応付き（図８のステップＳ３１２、Ｓ３１３における対応付け）、且つ共通モディファイアおよび共通ヘッドを持つ場合（図１０のステップＳ３２４：ＹＥＳ）であって、リード文における当該トリガー文節のモディファイアから共通モディファイアのヘッドまでの表現が本記文における当該トリガー文節のモディファイアから共通モディファイアのヘッドまでの表現よりも短い場合（図１０のステップＳ３２７：ＹＥＳの場合であり、置換候補条件の（２）番）には、リード文における当該表現を本記文における当該表現で置換するための表現置換候補とする。
（Ｂ）トリガー文節に係るリード文の表現と本記文の表現とが、所定値以上のアラインメント率で対応付き（図８のステップＳ３１２、Ｓ３１３における対応付け）、且つ共通ヘッドを持ち且つ共通モディファイアがヌルの場合（図１０のステップＳ３２４：ＮＯ）であって、リード文における当該トリガー文節に係る全体の表現が本記文における当該トリガー文節に係る全体の表現よりも短い場合（図１０のステップＳ３２７：ＹＥＳの場合であり、置換候補条件の（２）番）には、リード文における当該表現を本記文における当該表現で置換するための表現置換候補とする。
（Ｃ）トリガー文節に係る本記文データの表現との間に所定値以上のアラインメント率を有する表現であってトリガー文節に係るリード文の表現が対応付かない場合（図８のステップＳ３１３において対応付けられずに残る本記文の表現）であって、トリガー文節に係る本記文の当該表現がリード文中に含有されている率を表わすリード被含有率が所定の第２閾値を超えない場合（図１１のステップＳ３３３：ＮＯ）に、そのトリガー文節に係る本記文の当該表現をリード文に挿入するための表現挿入候補とする。
【０１０７】
以上説明した自然言語処理装置１０の機能の動作実例を次に説明する。
図１２は、自然言語処理装置１０に入力されるリード文と本記文の例と、その係り受け構造を示す概略図である。この図において、（ａ）のリード文「昨日地震が発生しました」が持つ係り受け構造は、次の通りである。即ち、「昨日」が「発生しました」に係る。また、「地震が」が「発生しました」に係る。一方、（ｂ）の本記文「昨日午後３時頃震度4の強い地震が発生しました」が持つ係り受け構造は、次の通りである。即ち、「昨日」が「発生しました」に係る。また、「午後３時頃」が「発生しました」に係る。また、「震度４の」が「地震が」に係る。また、「強い」が「地震が」に係る。また、「地震が」が「発生しました」に係る。この係り受け構造の解析は、形態素・係り受け解析部１によって行なわれたものである。形態素・係り受け解析部１は、この係り受け構造を表わすデータを文節テーブル作成部２とリード自動編集部３に渡す。
【０１０８】
これを受け、次に、文節テーブル作成部２は、同一文節の検出の処理（同一文節検出部２−１）とトリガー文節の検出の処理（トリガー文節検出部２−２）を行う。文節テーブル作成部２は、その結果を文節テーブル４に書き込む。
【０１０９】
図１３は、本例において文節テーブル作成部２が作成した文節テーブルを示す概略図である。図示するように、文節テーブル４には、「発生しました」と「地震が」と「昨日」の３つの表記に関して登録されている。文節番号は、各文における文節の並び順の番号である。本例で文節テーブル４に登録されているいずれの表記も、機能動詞や形式動詞や形式名詞を含まない文節ばかりであるため、トリガーマークの欄には全て「トリガー」のマークが書かれている。
【０１１０】
評価値の欄に登録されている数値は、トリガー文節評価部２−３によって前述の方法で算出された値である。
表記「発生しました」については、当該文節が文末にあるため共通ヘッドは文末記号であり、文末記号は「発生しました」の直後であるため、式（４）によるスコアは１点である。また、「地震が」の「ガ」格が一致することによるスコアは１点である。よって合計で、評価値は２点である。
表記「地震が」については、共通ヘッドは「発生しました」であり、この「発生しました」は「地震が」の直後であるため、式（４）によるスコアは１点である。また、「ハ」格、「ガ」格、「モ」格による主語の一致はないため、０点である。よって合計で、評価値は１点である。
表記「昨日」については、共通ヘッドは「発生しました」であり、この「発生しました」は「地震が」の直後であるため、式（４）によるスコアは１点である。また、「ハ」格、「ガ」格、「モ」格による主語の一致はないため、０点である。よって合計で、評価値は１点である。
【０１１１】
次に、リード自動編集部３が、文節テーブル４を参照しながら処理（図７のフローチャートの処理手順）を行なう。
まず、トリガー文節ペア「発生しました」が取り出される。本記文のトリガー文節「発生しました」には係りフレーズとして、「震度４の  強い  地震が」と、「午後３時頃」と、「昨日」が存在する。一方で、リード文のトリガー文節「発生しました」には係りフレーズとして、「地震が」と、「昨日」が存在する。
【０１１２】
本記文のトリガー文節に係りフレーズがある（空ではない）ため、係りフレーズ対応部３−１は、上記のフレーズ間の対応付けを取る処理を行なう。その結果、係りフレーズ対応部３−１は、フレーズ対応結果を出力する。
【０１１３】
図１４は、本例において、トリガー文節「発生しました」に係るフレーズについて、係りフレーズ対応部３−１が出力したフレーズ対応結果を示す概略図である。図示するように、リード文のフレーズ「地震が」には本記文のフレーズ「震度４の強い地震が」が対応する。また、リード文の「昨日」には本記文のフレーズ「昨日」が対応する。また、本記文のフレーズ「午後３時頃」に対応するリード文のフレーズはなかったことを示している。
【０１１４】
次に、対応フレーズ置換処理部３−２は、対応するフレーズを置換する処理を行なう。
まず、対応フレーズ置換処理部３−２は、図１４に示したフレーズ対応結果の中から、「地震が」と「震度４の強い地震が」の組を取り出す。これら各フレーズの最終文節である「地震が」を出発点として、文節テーブル４を参照して、共通の子孫文節を探す。その結果、共通の子孫文節としては「地震が」が見つかる。この共通の子孫文節のヘッドは、「発生しました」である。そこで「地震が」を開始文節とし、「発生しました」を終了文節とした部分文節構造を置換候補としようとするが、「発生しました」は「地震が」の子孫ではないため、部分文節構造は空となる。つまり、置換候補の長さはゼロである。よって、この置換候補は、置換候補条件の（１）を満たさないため、確定されない。
【０１１５】
次に、対応フレーズ置換処理部３−２は、フレーズ対応結果の中から、「昨日」と「昨日」の組を取り出す。これらをそれぞれ出発点として共通の子孫文節を探すと、「昨日」がみつかるが、上と同様に、その結果得られる置換候補の長さはゼロであるので、置換候補条件の（１）が満たされず、この置換候補も確定されない。
これで、未処理のフレーズ対応結果がもう残ってないため、対応フレーズ置換処理部３−２の処理を終了する。
【０１１６】
次に、フレーズ挿入処理部３−３が、フレーズを挿入する処理を行なう。フレーズ挿入処理部３−３は、挿入フレーズ候補「午後３時頃」のリード被含有率を計算する。リード文のトリガー文節「発生しました」の子孫をリード文から取り除くと表現がなくなる。従って、このリード被含有率は０である。リード被含有率が所定の閾値以下であるので、フレーズ挿入処理部３−３は、「午後３時頃」の挿入位置を決定する。ここでは、本記文における「午後３時頃」の右のフレーズは「震度４の強い地震が」である。このフレーズのリード文側の対応先はフレーズ「地震が」であるため、この左が挿入位置となる。これによって、挿入候補とその挿入位置が確定する。
つまり、候補１は、リード文の「地震が」の左に「午後３時頃」を挿入するというものであり、この評価値は２点である。
以上で、トリガー文節「発生しました」についての処理が終了する。
【０１１７】
次に、文節テーブル４から、トリガー文節ペア「地震が」が取り出される。リード文側にトリガー「地震が」の係りフレーズはない。一方、本記文側のトリガー「地震が」の係りフレーズとしては、「震度４の」と「強い」が存在する。そこで、係りフレーズ対応部３−１が係りフレーズを対応付ける処理を行なうが、リード文側に係りフレーズがないので、本記文側の「震度４の」も「強い」も、対応のない係りフレーズとなる。
【０１１８】
図１５は、本例において、トリガー文節「地震が」に係るフレーズについて、係りフレーズ対応部３−１が出力したフレーズ対応結果を示す概略図である。図示するように、本記文のフレーズ「震度４の」にもフレーズ「強い」にも、リード文で対応するフレーズはない。
【０１１９】
この結果、フレーズ「震度4の」と「強い」は、いずれも挿入候補フレーズとなる。フレーズ挿入処理部３−３は、これらそれぞれのフレーズのリード被含有率を算出する。リード文側のトリガー「地震が」の子孫を除くと、文節集合「昨日  ありました」が得られる。定義により、フレーズ「震度４の」のリード被含有率は０である。また同様に、フレーズ「強い」のリード被含有率は０である。従って、それぞれのリード被含有率は所定の閾値以下であるため、これらのフレーズは挿入候補として確定される。前述した手順に従って挿入位置を決定すると、それぞれ、リード文における「地震が」の左となる。これによって以下の2つの候補が確定した。
【０１２０】
つまり、候補２は、リード文の「地震が」の左に「震度４の」を挿入するというものであり、この評価値は１点である。
また、候補３は、リード文の「地震が」の左に「強い」を挿入するというものであり、この評価値は１点である。
以上で、トリガー文節「地震が」についての処理が終了する。
【０１２１】
次に、文節テーブル４から、トリガー文節ペア「昨日」が取り出される。トリガー文節「昨日」については、リード文側にも本記文側にも係りフレーズはない。本記文側の係りフレーズがないため、係りフレーズ対応部３−１が出力するフレーズ対応結果はない。
以上で、トリガー文節「昨日」についての処理が終了する。
【０１２２】
これで、文節テーブル４に登録されていた全てのトリガー文節ペアについての処理が終了したため、これで、自動編集のための候補の抽出が全て終了する。以上の一連の処理の結果、候補１から３までが得られた。これらの候補をそれぞれ反映したリード文は、以下の通りである。
候補１を反映したリード文（具体化された文）は「昨日  午後３時頃  地震が  発生しました」であり、その評価値は２点である。
候補２を反映したリード文は「昨日  震度4の  地震が  発生しました」であり、その評価値は１点である。
候補３を反映したリード文は「昨日  強い  地震が  発生しました」であり、その評価値は１点である。
【０１２３】
結果表示部３−４は、これらの候補を反映したリード文を、それぞれの評価値とともに表示する。そのとき、評価値が高いものほど上位となるように表示する。これにより、要約者は、この表示を見て、評価値を参考にしながら、好ましいと思う具体化文を選択する。以上の処理により、本実施形態による自然言語処理装置１０は、リード文を具体化する候補を良い順に表示できるため、要約者の作業を効率化することができる。
【０１２４】
なお、上述した実施形態における自然言語処理装置の一部又は全部の機能をコンピュータで実現するようにしても良い。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【０１２５】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【０１２６】
本発明は、文を生成するために利用可能である。例えば、報道やコンテンツ制作等において、要約文などを自動ないしは半自動で生成するために利用可能である。
【図面の簡単な説明】
【０１２７】
【図１】本発明の一実施形態による自然言語処理装置の機能構成を示したブロック図である。
【図２】同実施形態による自然言語処理装置が利用する日本語係り受け解析器による解析結果の例を示す概略図である。
【図３】係り受け構造の例と、同実施形態による探索の順を示す概略図である。
【図４】同実施形態による自然言語処理装置が用いる文節テーブル（４）のデータ構造を示す概略図である。
【図５】同実施形態におけるトリガー文節検出部（２−２）が、ある文節がトリガー文節であるか否かを判定する手順を示したフローチャートである。
【図６】同実施形態における文節テーブル作成部（２）が文節テーブル（４）を作成する処理手順を示すフローチャートである。
【図７】同実施形態におけるリード自動編集部（３）全体の処理の手順を示すフローチャートである。
【図８】同実施形態における係りフレーズ対応部（３−１）によるフレーズの対応付けの処理の手順を示すフローチャートである。
【図９】同実施形態によるリード自動編集部（３）が利用するフレーズテーブル（３−５）のデータ構造を示す概略図である。
【図１０】同実施形態における対応フレーズ置換処理部（３−２）がリード文内のフレーズを置換する処理の手順を示すフローチャートである。
【図１１】同実施形態におけるフレーズ挿入処理部（３−３）がリード文内にフレーズを挿入する処理の手順を示すフローチャートである。
【図１２】同実施形態による自然言語処理装置１０に入力されるリード文（ａ）と本記文（ｂ）の例と、その係り受け構造を示す概略図である。
【図１３】同実施形態において文節テーブル作成部（２）が作成した文節テーブル（４）のデータ例を示す概略図である。
【図１４】実施例においてトリガー文節「発生しました」に係るフレーズについて、係りフレーズ対応部（３−１）が出力したフレーズ対応結果を示す概略図である。
【図１５】実施例においてトリガー文節「地震が」に係るフレーズについて、係りフレーズ対応部（３−１）が出力したフレーズ対応結果を示す概略図である。
【符号の説明】
【０１２８】
１  形態素・係り受け解析部（係り受け解析部）
１−１  形態素解析部
１−２  係り受け解析部
２  文節テーブル作成部（文節抽出部）
２−１  同一文節検出部
２−２  トリガー文節検出部
２−３  トリガー文節評価部
３  リード自動編集部（自動編集部）
３−１  係りフレーズ対応部
３−２  対応フレーズ置換処理部
３−３  フレーズ挿入処理部
３−４  結果表示部
３−５  フレーズテーブル
４  文節テーブル
１０  自然言語処理装置
【図１】
0005184203.tif 000007
【図２】
0005184203.tif 000008
【図３】
0005184203.tif 000009
【図４】
0005184203.tif 000010
【図５】
0005184203.tif 000011
【図６】
0005184203.tif 000012
【図７】
0005184203.tif 000013
【図８】
0005184203.tif 000014
【図９】
0005184203.tif 000015
【図１０】
0005184203.tif 000016
【図１１】
0005184203.tif 000017
【図１２】
0005184203.tif 000018
【図１３】
0005184203.tif 000019
【図１４】
0005184203.tif 000020
【図１５】
0005184203.tif 000021