以下、図面を参照して、各実施形態について説明する。
(第1の実施形態)
まず、図1および図2を参照して、第1の実施形態について説明する。図1は、本実施形態に係る代表文抽出装置のハードウェア構成を示すブロック図である。図1に示すように、コンピュータ10は、例えばハードディスクドライブ(HDD:Hard Disk Drive)のような外部記憶装置20と接続されている。この外部記憶装置20は、コンピュータ10によって実行されるプログラム21を格納する。コンピュータ10および外部記憶装置20は、代表文抽出装置30を構成する。
代表文抽出装置30は、文書群(つまり、複数の文書)において出現頻度の高い内容を表す文(以下、代表文と表記)を、当該文書群から抽出する機能を有する。
図2は、図1に示す代表文抽出装置30の主として機能構成を示すブロック図である。図2に示すように、代表文抽出装置30は、入力部31、構文解析部32、代表文候補抽出部33、文生成集約部34、代表文決定部35および出力部36を含む。本実施形態において、これらの各部31〜36は、図1に示すコンピュータ10が外部記憶装置20に格納されているプログラム21を実行することにより実現されるものとする。このプログラム21は、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラム21が、例えばネットワークを介してコンピュータ10にダウンロードされても構わない。
また、代表文抽出装置30は、抽出ルール格納部22、文タイプ別文生成ルール格納部23および変換情報格納部24を含む。本実施形態において、この抽出ルール格納部22、文タイプ別文生成ルール格納部23および変換情報格納部24は、例えば外部記憶装置20に格納される。
入力部31は、ユーザの操作に応じて、当該ユーザによって指定された複数の文書(文書群)を入力する(受け付ける)。この入力部31によって入力される複数の文書は、複数の自立語(の文字列)を含む文によって構成される。なお、入力部31によって入力される複数の文書の各々には、当該文書を識別するための文書IDが付与されている。
構文解析部32は、入力部31によって入力された複数の文書の各々を構成する文を構文解析する。これにより、構文解析部32は、入力部31によって入力された複数の文書の各々を構成する文に含まれる複数の自立語および当該自立語間の係り受け関係が表された構造木(以下、依存構造木と表記)を生成する。構文解析部32によって生成された依存構造木は、後述するように自立語(見出し語)等が付与されたノードおよび自立語間の係り受け関係の種類が付与されたアークによって表現される。
なお、構文解析部32は、入力部31によって入力された複数の文書の各々を構成する文毎に依存構造木を生成する。この構文解析部32によって文毎に生成された依存構造木には、当該文(当該依存構造木の生成に用いられた文)のタイプ(以下、文タイプと表記)が付与される。この文タイプ(文型)には、例えば状況を表す平叙文、要望を表す命令文(依頼文)および質問を表す疑問文等が含まれる。また、構文解析部32によって文毎に生成された依存構造木には、当該文によって構成される文書を識別するための文書IDが付与される。
抽出ルール格納部22には、構文解析部32によって生成された依存構造木に適用することにより、当該依存構造木の部分構造木を抽出するための抽出ルールが予め格納されている。なお、抽出ルール格納部22には、上記した文タイプ毎に対応づけて、当該文タイプに応じた抽出ルールが格納されている。
代表文候補抽出部33は、構文解析部32によって生成された依存構造木毎に、当該依存構造木に付与されている文タイプに対応づけて抽出ルール格納部22に格納されている抽出ルールを当該依存構造木に適用することによって、当該依存構造木から代表文候補を抽出する。ここで、代表文候補抽出部33によって抽出される代表文候補とは、構文解析部32によって生成された依存構造木の部分構造木であり、少なくとも2つの自立語および当該自立語間の係り受け関係を表す。
なお、代表文候補抽出部33によって生成された代表文候補には、当該代表文候補が抽出された依存構造木に付与された文タイプおよび文書IDが付与される。
文タイプ別文生成ルール格納部23は、文タイプ毎に対応づけて、代表文候補抽出部33によって抽出された代表文候補から平文(以下、代表文候補文と表記)を生成するための当該文タイプに応じた文タイプ別文生成ルールが予め格納されている。
変換情報格納部24には、例えば複数の自立語および当該自立語間の係り受け関係を変換するために用いられる変換情報が予め格納されている。この変換情報格納部24に格納されている変換情報には、自立語(例えば、動詞)の活用形を変換するために用いられる活用形辞書および自立語の同義語を含む同義語辞書等が含まれる。
文生成集約部34は、代表文候補抽出部33によって抽出された代表文候補(部分構造木)を平文(以下、代表文候補文と表記)にする処理を実行する。この場合、文生成集約部34は、代表文候補抽出部33によって抽出された代表文候補に付与された文タイプに対応づけて文タイプ別文生成ルール格納部23に格納されている文タイプ別文生成ルールおよび変換情報格納部24に格納されている変換情報に基づいて、当該代表文候補から代表文候補文を生成する。文生成集約部34によって生成された代表文候補文には、代表文候補抽出部33によって抽出された代表文候補に付与された文タイプおよび文書IDが付与される。なお、代表文候補文は、代表文候補抽出部33によって抽出された代表文候補毎に生成される。
また、文生成集約部34は、代表文候補毎に生成された代表文候補文(代表文候補の平文)を集約することによって集約代表文候補文を生成する処理を実行する。文生成集約部34は、代表文候補毎に生成された代表文候補文のうち、同一の文タイプが付与された同一の代表文候補文を1つの集約代表文候補文に集約する。このように文生成集約部34によって生成された集約代表文候補文には、当該集約代表文候補文に集約された代表文候補文の各々に付与された文タイプおよび文書IDが付与される。
代表文決定部35は、文生成集約部34によって生成された集約代表文候補文に集約された代表文候補文の数に基づいて当該集約代表文候補文を代表文として決定(選択)する。この集約代表文候補文に集約された代表文候補文の数は、当該集約代表文候補文に付与された文書IDの数により特定される。代表文決定部35によって決定された代表文は、当該代表文として決定された集約代表文候補文に付与された文タイプの代表文(当該文タイプ付きの代表文)である。
なお、代表文決定部35は、例えば内部パラメータにおいて予め指定された数の代表文を選択(決定)する。
出力部36は、代表文決定部35によって決定された代表文および当該代表文(として決定された集約代表文候補文)に付与された文タイプを出力する。これにより、代表文決定部35によって決定された代表文(つまり、入力部31によって入力された文書群において頻度の高い内容を表す代表文)がユーザに対して提示される。
次に、図3のフローチャートを参照して、本実施形態に係る代表文抽出装置30の処理手順について説明する。
まず、入力部31は、ユーザの操作に応じて、当該ユーザによって指定された文書群(複数の文書)を入力する(ステップS1)。ここでは、例えば製品サポートセンタ等で受け付けられた製品に対する問い合わせに関する複数の文書が入力部31によって入力されたものとする。
図4は、入力部31によって入力された複数の文書の一例を示す。なお、複数の文書(の各々)は、平文の形式で入力部31によって入力される。図4に示すように、入力部31によって入力された複数の文書の各々は、複数の自立語を含む文によって構成される。また、入力部31によって入力された複数の文書の各々には、当該文書を識別するための文書IDが付与されている。
図4に示す例では、入力部31によって入力された複数の文書には、文書「菓子をネットで買いました。オレンジの菓子の中に異物が入っていたため、子供はオレンジの菓子を食べなかった。」が含まれる。なお、この文書には、当該文書を識別するための文書「1」が付与されている。
ここでは、入力部31によって入力された複数の文書のうち文書「菓子をネットで買いました。オレンジの菓子の中に異物が入っていたため、子供はオレンジの菓子を食べなかった。」について説明したが、他の文書についても同様であるため、その詳しい説明を省略する。
再び図3に戻ると、構文解析部32は、入力部31によって入力された複数の文書の各々を構成する各文(つまり、全ての文)について構文解析を行う(ステップS2)。構文解析部32による構文解析の結果は、依存構造木によって表現される。なお、1つの文が構文解析された結果は、1つの依存構造木となる。換言すれば、構文解析部32は、入力部31によって入力された複数の文書の各々を構成する各文を構文解析することによって、当該文毎に依存構造木を生成する。なお、構文解析部32によって生成された依存構造木には、当該依存構造木の生成に用いられた文(つまり、構文解析された文)の文タイプが付与される。また、構文解析部32によって生成された依存構造木には、当該依存構造木の生成に用いられた文によって構成される文書を識別するための文書IDが付与される。
ここで、構文解析部32によって生成される依存構造木について詳しく説明する。依存構造木においては、複数の自立語および当該自立語間の係り受け関係がノードおよびアークを用いて表現される。つまり、依存構造木には、ノードおよびアークが含まれる。
ノードは、依存構造木において自立語を表す。このノードには、当該ノードによって表される自立語の見出し語、当該見出し語の品詞、当該見出し語の付属語および当該見出し語の順番が付与される。
ノードに付与される自立語の見出し語は、当該自立語の文字列を表す。ノードに付与される見出し語の品詞は、当該見出し語(つまり、ノードによって表される自立語)の品詞を表す。なお、ノードに付与される品詞には、例えば名詞、サ変名詞、動詞、助動詞、形容詞、副詞および連体詞等が含まれる。一般的に助動詞は自立語ではないが、本実施形態においては、助動詞を含むこれらの品詞を自立語として扱う。つまり、本実施形態においては、助詞以外の品詞の語を自立語とする。また、このような品詞の中でも、活用形のある品詞を用言という。本実施形態においては、特に動詞、形容詞および助動詞を用言として扱う。
ノードに付与される見出し語の付属語は、当該見出し語に付随する付属語を表す。ノードに付与される見出し語の付属語には、例えば「が」、「を」、「の」および「に」のような助詞が含まれる。
ノードに付与される見出し語の順番は、当該ノードを含む依存構造木の生成に用いられた文中における見出し語(つまり、ノードによって表される自立語)の順番(位置)を表す。ノードに付与される見出し語の順番が例えばNである場合には、当該見出し語、つまり、当該ノードによって表される自立語が文中におけるN番目の自立語であることを表す。
また、ノードに付与される見出し語の品詞が用言(例えば、動詞、形容詞または助動詞)である場合、当該ノードには、文タイプが更に付与される。このノードに付与される文タイプには、例えば状況を表す平叙文、要望を表す命令文(依頼文)および質問を表す疑問文が含まれる。なお、ノードに付与される文タイプは、例えば当該ノードによって表される自立語の活用形等に応じて決定される。具体的には、品詞が動詞である見出し語「買う」が付与されているノードには状況を表す平叙文が付与される。同様に、品詞が動詞である見出し語「買いなさい」が付与されているノードには要望を表す命令文、品詞が動詞である見出し語「買いましたか」が付与されているノードには質問を表す疑問文が付与される。
なお、以下の説明では、文タイプに含まれる状況を表す平叙文を単に状況、要望を表す命令文を単に要望、質問を表す疑問文を単に質問と称する。
一方、アークは、依存構造木においてノード間の構文的な係り受け関係を表す。このアークには、ノード間(自立語間)の係り受け関係の種類が付与される。アークに付与される係り受け関係の種類には、例えばガ格、ヲ格、連体修飾および隣接等が含まれる。なお、依存構造木においては、アークは例えば矢印により記述される。このアークの矢印は、ノード間の係り受け関係における係り元のノードから係り先のノードに向かうものとする。
以下、1つのアークを用いて表される2つのノード間の係り受け関係において、当該アークにおける係り先のノード(つまり、1つのアークにおける終点となるノード)を親ノードと称する。一方、1つのアークを用いて表される2つのノード間の係り受け関係において、当該アークにおける係り元ノード(つまり、1つのアークにおける始点となるノード)を子ノードと称する。
図5は、2つのノードおよび当該ノード間の係り受け関係を表すアークを用いて表現される依存構造木を示す。図5に示す依存構造木においては、ノード101および102がアーク103によってつながれる。図5に示す例では、ノード101が親ノードであり、ノード102が子ノードである。
図5に示すような依存構造木を組み合わせることにより、複数の自立語を含む文の構文解析結果(つまり、依存構造木)が表現される。
ここで、図6を参照して、より具体的な依存構造木について説明する。図6は、「一郎が速いボールを軽々投げた」という文の依存構造木(当該文を構文解析することによって生成された依存構造木)の一例を示す。図6に示す依存構造木においては、ノード111〜115およびアーク121〜124を用いて「一郎が速いボールを軽々投げた」という文の構文解析結果が表現されている。
図6に示すように、依存構造木においては、ノード111〜115には、見出し語、品詞、付属語および順番が付与されている。なお、例えば他のノードとの関係によっては付属語が付与されない場合がある。
具体的には、ノード111には、見出し語「投げた」、品詞「動詞」および順番「5」が付与されている。また、ノード111においては、当該ノード111に付与されている品詞が用言(ここでは、動詞)であるため、更に文タイプが付与されている。ここでは、ノード111には、文タイプ「状況(を表す平叙文)」が付与されている。
ノード112には、見出し語「一郎」、品詞「名詞」、付属語「が」および順番「1」が付与されている。ノード113には、見出し語「ボール」、品詞「名詞」、付属語「を」および順番「3」が付与されている。ノード114には、見出し語「軽々」、品詞「副詞」および順番「4」が付与されている。また、ノード115には、見出し語「速い」、品詞「形容詞」および順番「2」が付与されている。
なお、図6に示す依存構造木におけるノード111〜115の各々において見出し語および付属語を結合して表層文字列を生成し、当該表層文字列を当該ノード111〜115に付与されている順番につなげると、当該依存構造木の生成に用いられた文「一郎が速いボールを軽々投げた」となる。
また、依存構造木においては、アーク121〜124には、ノード間の係り受け関係の種類が付与されている。例えばアーク121には、ノード111および112間の係り受け関係の種類としてガ格が付与されている。
なお、依存構造木に含まれるノードは、当該依存構造木におけるアークによる他のノードとのつながり方により、ルートノード、中間ノードおよびリーフノードの3種類のノードに分類される。
ルートノードとは、親ノードが存在しない(つまり、アークにより親ノードとつながっていない)ノードである。中間ノードとは、親ノードおよび子ノードが存在する(つまり、アークにより親ノードおよび子ノードとつながっている)ノードである。また、リーフノードとは、子ノードが存在しない(つまり、アークにより子ノードとつながっていない)ノードである。
図6に示す依存構造木において、ノード111は、ルートノードである。ノード113は、中間ノードである。また、ノード112、114および115はリーフノードである。
また、例えばルートノードと直接的に1つのアークでつながっているノードを第1世代子ノードと称する。図6に示す依存構造木において、第1世代子ノードは、ノード112〜114である。
つまり、図6に示す依存構造木において、ノード112および114は、第1世代子ノードであり、かつ、リーフノードである。また、図6に示す依存構造木において、ノード113は、第1世代子ノードであり、かつ、中間ノードである。
なお、図7は、上述した図4において説明した文書ID「1」が付与されている文書を構成する文のうちの2つ目の文である「オレンジの菓子の中に異物が入っていたため、子供はオレンジの菓子を食べなかった。」という文の依存構造木の一例を示す。更に、図8は、上述した図4において説明した文書ID「2」が付与されている文書を構成する文のうちの2つ目の文である「成分はビタミンですが、オレンジの産地はどこですか。」という文の依存構造木の一例を示す。また、図9は、上述した図4において説明した文書ID「197」が付与されている文書を構成する文である「アメリカはオレンジの産地ですか。」という文の依存構造木の一例を示す。
図7〜図9に示す依存構造木の詳細については、上記した図5および図6を用いて説明した通りであるため、その詳しい説明を省略する。
再び図3に戻ると、代表文候補抽出部33は、構文解析部32によって生成された依存構造木の一部である部分構造木である代表文候補を、当該依存構造木から抽出する(ステップS3)。代表文候補抽出部33は、抽出ルール格納部22に格納されている抽出ルールを用いて代表文候補を抽出する。なお、代表文抽出部33によって抽出される代表文候補(部分構造木)は、少なくとも2つの自立語および当該自立語間の係り受け関係を表す構造木である。なお、代表文候補抽出部33は、構文解析部32によって文毎に生成された依存構造木の各々から代表文候補を抽出する。
抽出ルール格納部22に格納されている抽出ルールは、依存構造木(あるいは部分依存構造木)に適用され、当該依存構造木(あるいは部分依存構造木)から代表文候補を抽出するために用いられるルールである。抽出ルール格納部22には、ルール適用の条件の各々に対応づけて複数の抽出ルールが格納されている。このルール適用の条件には、当該ルール適用の条件に対応づけられている抽出ルールが適用される文タイプ(の種類)が含まれる。
ここで、図10を参照して、代表文候補抽出部33による代表文候補を抽出する処理(以下、代表文候補抽出処理と表記)を概念的に説明する。
図10に示すように、代表文候補抽出処理においては、1つの依存構造木に対して抽出ルール格納部22に格納されている抽出ルールが適用されることにより、当該依存構造木に適用される抽出ルール毎に当該依存構造木から部分構造木が抽出される。また、抽出された部分構造木に対して更に抽出ルールが適用されることにより当該部分構造木の部分構造木が抽出される。
つまり、代表文候補抽出処理においては、抽出ルール毎に、または抽出ルールの組み合わせ毎に抽出された部分構造木が寄せ集められて代表文候補とされる。なお、依存構造木に対して適用される抽出ルールの組み合わせ等は、当該抽出ルールの内容に応じて適宜設定することができる。
以下、抽出ルール格納部22に格納されている抽出ルールについて具体的に説明する。本実施形態においては、抽出ルール格納部22には第1〜第6の抽出ルールを含む複数の抽出ルールが格納されているものとする。
ここで、図11は、抽出ルール格納部22のデータ構造の一例を示す。図11に示すように、抽出ルール格納部22には、各抽出ルールに対応づけて当該抽出ルールが適用されるための条件(ルール適用の条件)が格納されている。
図11に示す例では、抽出ルール格納部22には、第1の抽出ルールに対応づけてルール適用の条件「ルートノードの文タイプは何でもよい」が格納されている。これによれば、第1の抽出ルールが全ての依存構造木に適用されることが示されている。
また、抽出ルール格納部22には、第2〜第4の抽出ルールに対応づけてルール適用の条件「ルートノードの文タイプが、質問以外」が格納されている。これによれば、第2〜第4の抽出ルールがルートノードに付与されている文タイプが質問以外である(つまり、ルートノードの文タイプが状況または要望である)依存構造木に適用されることが示されている。
また、抽出ルール格納部22には、第5および第6の抽出ルールに対応づけてルール適用の条件「ルートノードの文タイプが、質問」が格納されている。これによれば、第5および第6の抽出ルールがルートノードに付与されている文タイプが質問である依存構造木に適用されることが示されている。
このように、抽出ルール格納部22に格納されている抽出ルールは、依存構造木に付与された文タイプ(ルートノードに付与されている文タイプ)に基づいて適用される。
まず、抽出ルール格納部22に格納されている第1の抽出ルールについて説明する。第1の抽出ルールにおいては、依存構造木によって表される複数の自立語のうちの用言に着目する。第1の抽出ルールは、上記したように全ての依存構造木に対して適用されるルールである。
第1の抽出ルールによれば、依存構造木によって表される複数の自立語のうちの用言に基づいて当該依存構造木が分割される。より具体的には、第1の抽出ルールによれば、当該第1の抽出ルールが適用される依存構造木において、ノードに付与されている見出し語の品詞が動詞、形容詞または助動詞であるノード(以下、用言ノードと表記)および当該用言ノードの親ノード間のアークが切断されることによって当該依存構造木が分割される。つまり、第1の抽出ルールでは、全ての用言に基づき分割された依存構造木の各々が部分構造木として抽出される。以下、第1の抽出ルールが適用されることによって抽出される部分構造木を部分依存構造木と称する。
ここで、図12〜図14を参照して、上記した図7に示す依存構造木に対して第1の抽出ルールが適用された場合について具体的に説明する。以下の説明においては、図7に示す依存構造木を対象依存構造木と称する。
図12に示すように、対象依存構造木には、用言ノード(ここでは、見出し語の品詞が動詞であるノード)として見出し語「食べなかった」が付与されたノードおよび見出し語「入っていた」が付与されたノードが含まれている。以下の説明においては、例えば見出し語「食べなかった」が付与されたノードを、便宜的に「食べなかった」ノードと称する。なお、他のノードについても同様とする。
ここで、「食べなかった」ノードは、対象依存構造木におけるルートノードであるため、当該「食べなかった」ノードの親ノードは存在しない。一方、「入っていた」ノードは、対象依存構造木における中間ノードであるため、親ノードが存在する。
したがって、対象依存構造木に対して第1の抽出ルールが適用された場合「入っていた」ノードと当該「入っていた」ノードの親ノード(ここでは、「ため、」ノード)とをつなぐアーク(つまり、「入っていた」ノードおよびその親ノード間のアーク)が切断される。
上記したように対象依存構造木においてアークが切断される(つまり、対象依存構造木が分割される)ことにより、対象依存構造木から、図13および図14に示す2つの部分依存構造木が抽出される。
ここで、上記した第1の抽出ルールが適用されることによって抽出された部分依存構造木に対して、更にノードの取り込み処理または不要リーフノードの削除処理が行われても構わない。
ノードの取り込み処理とは、例えば対象依存構造木(つまり、分割前の依存構造木)において、第1の抽出ルールが適用されることにより切断されたアーク(つまり、用言ノードおよびその親ノード間のアーク)に付与されている係り受け関係の種類(以下、単にアークの種類と表記)が連体修飾である場合に、当該アークによって表されるノード間の係り受け関係における係り先ノードを係り元ノード側の部分依存構造木が取り込む処理である。この場合、係り元ノード側の部分依存構造木に取り込まれた係り先ノードと当該係り元ノードとの係り受け関係は逆にされる。また、係り受け関係が逆にされた後における係り先ノードと係り元ノードとの間のアークの種類は連体修飾からガ格にされ、当該係り元ノード(つまり、上記したように取り込まれたノード)に付与されている付属語が「が」に変更される。
なお、第1の抽出ルールが適用されることにより切断されたアークによって表されるノード間の係り受け関係における係り先ノード側の部分依存構造木は、ノードの取り込み処理が実行された場合であっても変更されない。
一方、不要リーフノードの削除処理とは、第1の抽出ルールが適用されることによって抽出された部分依存構造木から不要リーフノードを削除する処理である。この不要リーフノードの削除処理においては、不要リーフノードとして見出し語(または品詞)が予め設定されている。なお、不要リーフノード(の内容)は、必要に応じて、適宜、設定可能である。
ここで、図15を参照して、不要リーフノードの削除処理について具体的に説明する。ここでは、第1の抽出ルールが適用されることによって抽出された部分依存構造木(図13および図14に示す部分依存構造木)に対して不要リーフノードの削除処理が行われた場合について説明する。
なお、不要リーフノードとして例えば見出し語「ため、」および「が、」(が付与されているノード)等が予め設定されているものとする。
図15は、図13に示す部分依存構造木に対して不要リーフノードの削除処理が行われた結果を示す。図13に示す部分依存構造木には、不要リーフノードである「ため、」ノードが含まれている。このため、図15に示すように、不要リーフノードの削除処理においては、部分依存構造木に含まれる「ため、」ノードが削除される。
なお、図14に示す部分依存構造木には、不要リーフノード(つまり、「ため、」ノードおよび「が、」ノード等)が含まれていない。このため、図14に示す部分依存構造木に含まれるノードは削除されない。
上記したように、対象依存構造木(図7に示す依存構造木)に対して第1の抽出ルールが適用され、更に例えば不要リーフノードの削除処理が行われた場合には、図14および図15に示す部分依存構造木が抽出される。
また、図16および図17は、図8に示す依存構造木に対して第1の抽出ルールが適用され、更に例えば不要リーフノードの削除処理が行われた場合に抽出される部分依存構造木を示す。
次に、図18を参照して、抽出ルール格納部22に格納されている第2の抽出ルールについて説明する。第2の抽出ルールは、ルートノードに付与されている文タイプが質問以外である依存構造木(または部分依存構造木)に対して適用される。
第2の抽出ルールにおいては、依存構造木におけるルートノードおよび第1世代子ノード(つまり、ルートノードの子ノード)間の全てのアークの種類に着目する。第2の抽出ルールは、これらのアークの中に、アークの種類がガ格、ヲ格、ニ格、カラ格、場所格、道具格および前置句であるアークが存在する場合に適用される。なお、この第2の抽出ルールが適用されるべきアークの種類は予め設定されている。
第2の抽出ルールが適用される場合には、まず、ルートノードに付与されている文タイプが質問以外である依存構造木におけるルートノードおよび第1世代子ノード間の全てのアークの中から、アークの種類がガ格、ヲ格、ニ格、カラ格、場所格、道具格および前置句であるアークが探索される(ステップS11)。
次に、ルートノードおよび第1世代子ノード間の全てのアークのうちアークの種類がガ格、ヲ格、ニ格、カラ格、場所格、道具格および前置句以外であるアーク(つまり、探索されたアーク以外のアーク)が切断される(ステップS12)。
この後、アークが切断された後の部分構造木において、ルートノードおよび各リーフノード間における全てのノードおよびアークを含む部分構造木が抽出される(ステップS13)。図18に示す例では、3つの部分構造木が抽出される。
上記したように第2の抽出ルールによれば、依存構造木から分岐のない部分構造木が抽出される。以下、第2の抽出ルールが適用されることによって抽出される部分構造木を分岐なし依存構造木と称する。
ここで、例えば対象依存構造木(図7に示す依存構造木)に対して、第2の抽出ルールが適用される場合について具体的に説明する。
この場合、対象依存構造木におけるルートノードである「食べなかった」ノードに付与されている文タイプは状況である。つまり、対象依存構造木におけるルートノードに付与されている文タイプは質問以外であるため、当該対象依存構造木には第2の抽出ルールが適用される。
対象依存構造木における「食べなかった」ノード(ルートノード)および第1世代子ノードである「ため、」ノード間のアークの種類は、従属接続である。
また、対象依存構造木における「食べなかった」ノードおよび第1世代子ノードである「子供」ノード間のアークの種類は、ガ格である。
また、対象依存構造木における「食べなかった」ノードおよび第1世代子ノードである「菓子」ノード間のアークの種類は、ヲ格である。
したがって、対象依存構造木におけるルートノードである「食べなかった」ノードにつながっているアークの種類が従属接続であるアーク(ガ格、ヲ格、ニ格、カラ格、場所格、道具格および前置句以外であるアーク)が切断される。
次に、切断により抽出された部分構造木において、「食べなかった」ノードおよび2つのリーフノード(「子供」ノードおよび「オレンジ」ノード)間における全てのノードおよびアークを含む分岐なし依存構造木が抽出される。
具体的には、「食べなかった」ノードおよびリーフノードである「子供」ノード間における全てのノードおよびアークを含む分岐なし依存構造木として、図19に示す分岐なし依存構造木が抽出される。
同様に、「食べなかった」ノードおよびリーフノードである「オレンジ」ノード間における全てのノードおよびアークを含む分岐なし依存構造木として、図20に示す分岐なし依存構造木が抽出される。
したがって、対象依存構造木に対して第2の抽出ルールが適用された場合には、上記した図19および図20に示す分岐なし依存構造木が抽出される。
ここでは、依存構造木に対して第2の抽出ルールが適用される場合について説明したが、この第2の抽出ルールは、ルートノードに付与されている文タイプが質問以外であれば、上記した部分依存構造木(第1の抽出ルールが適用されることによって抽出された部分構造木)に対しても適用されることができる。
次に、図21を参照して、抽出ルール格納部22に格納されている第3の抽出ルールについて説明する。第3の抽出ルールは、ルートノードに付与されている文タイプが質問以外である依存構造木(または部分依存構造木)に対して適用される。
第3の抽出ルールにおいては、依存構造木におけるルートノードおよび第1世代子ノード間の全てのアークの種類に着目する。第3の抽出ルールは、これらのアークの中に、アークの種類がガ格、ヲ格、ニ格、カラ格、場所格、道具格および前置句であるアークが存在する場合に適用される。なお、この第3の抽出ルールが適用されるアークの種類は予め設定されている。
第3の抽出ルールが適用される場合には、まず、ルートノードに付与されている文タイプが質問以外である依存構造木におけるルートノードおよび第1世代子ノード間の全てのアークの中から、アークの種類がガ格、ヲ格、ニ格、カラ格、場所格、道具格および前置句であるアークが探索される(ステップS21)。
次に、ルートノードおよび第1世代子ノード間の全てのアークのうちアークの種類がガ格、ヲ格、ニ格、カラ格、場所格、道具格および前置句以外であるアーク(つまり、探索されたアーク以外のアーク)が切断される(ステップS22)。
なお、ここまでの処理(ステップS21およびS22の処理)は、上述した第2の抽出ルールが適用される場合において説明した図18に示すステップS11およびS12の処理と同様である。
この後、アークが切断された後の部分構造木において、ルートノードの子ノード(つまり、第1世代子ノード)をリーフノードとする部分構造木が抽出される(ステップS23)。つまり、図21に示すように、ルートノードと、当該ルートノードの子ノードと、当該ルートノードおよび第1世代子ノード間のアークを含む部分構造木が抽出される。
上記したように第3の抽出ルールによれば、依存構造木におけるルートノードおよび第1世代子ノードのみからなる部分構造木が抽出される。以下、第3の抽出ルールが適用されることによって抽出される部分構造木を1世代部分依存構造木と称する。
ここで、例えば対象依存構造木(図7に示す依存構造木)に対して第3の抽出ルールが適用された場合について具体的に説明する。
この場合、対象依存構造木におけるルートノードである「食べなかった」ノードに付与されている文タイプは状況である。つまり、対象依存構造木におけるルートノードに付与されている文タイプは質問以外であるため、当該対象依存構造木には第3の抽出ルールが適用される。
ここでは、上記したように対象依存構造木における「食べなかった」ノード(ルートノード)につながっているアークの種類が従属接続であるアーク(ガ格、ヲ格、ニ格、カラ格、場所格、道具格および前置句以外であるアーク)が切断される。
次に、切断により抽出された部分構造木において、ルートノードの子ノード(第1世代子ノード)をリーフノードとした1世代部分依存構造木が抽出される。
この切断により抽出された部分構造木において、ルートノードである「食べなかった」ノードの子ノードは、「子供」ノードおよび「菓子」ノードである。このため、ルートノードである「食べなかった」ノードと、当該「食べなかった」ノードの子ノードである「子供」ノードと、「菓子」ノードと、当該「食べなかった」ノードおよびその子ノード間のアークとを含む1世代部分依存構造木が抽出される。
したがって、対象依存構造木に対して第3の抽出ルールが適用された場合には、図22に示す1世代部分依存構造木が抽出される。
ここでは、依存構造木に対して第3の抽出ルールが適用される場合について説明したが、この第3の抽出ルールは、ルートノードに付与されている文タイプが質問以外であれば、上記した部分依存構造木に対しても適用されることができる。
次に、図23を参照して、抽出ルール格納部22に格納されている第4の抽出ルールについて説明する。第4の抽出ルールは、ルートノードに付与されている文タイプが質問以外である依存構造木(または部分依存構造木)に対して適用される。
第4の抽出ルールによれば、上記した第3の抽出ルールが適用されることによって抽出された1世代部分依存構造木を利用して部分構造木が抽出される。
第4の抽出ルールが適用される場合には、まず、ルートノードに付与されている文タイプが質問以外である依存構造木に対して上記した第3の抽出ルールが適用されることによって、1世代部分依存構造木が抽出される(ステップS31)。
次に、第3の抽出ルールを適用することによって抽出された1世代部分依存構造木におけるルートノードおよび第1世代子ノード間のアークを用いて、当該ルートノードおよび第1世代子ノードの各々を含む部分構造木が抽出される(ステップS32)。
上記したように第4の抽出ルールによれば、1世代部分依存構造木におけるルートノードおよび第1世代子ノードの2ノードを含む部分構造木が抽出される。以下、第4の抽出ルールが適用されることによって抽出される部分構造木を2語文部分依存構造木と称する。
ここで、例えば対象依存構造木(図7に示す依存構造木)に対して第4の抽出ルールが適用された場合について具体的に説明する。
この場合、対象依存構造木におけるルートノードである「食べなかった」ノードに付与されている文タイプは状況である。つまり、対象依存構造木におけるルートノードに付与されている文タイプは質問以外であるため、当該対象依存構造木には第4の抽出ルールが適用される。
まず、対象依存構造木に対して第4の抽出ルールが適用されることにより、1世代部分依存構造木が抽出される。ここでは、上記した図22に示す1世代部分依存構造木が抽出されたものとする。
図22に示す1世代部分依存構造木におけるルートノードは「食べなかった」ノードであり、第1世代子ノードは「子供」ノードおよび「菓子」ノードである。この場合、ルートノードである「食べなかった」ノードおよび第1世代子ノードである「子供」ノードを含む2語文部分依存構造木と、ルートノードである「食べなかった」ノードおよび第1世代子ノードである「菓子」ノードを含む2語文部分依存構造木とが抽出される。
具体的には、ルートノードである「食べなかった」ノードおよび第1世代子ノードである「子供」ノードを含む2語文部分依存構造木として、図24に示す2語文部分依存構造木が抽出される。
また、ルートノードである「食べなかった」ノードおよび第1世代子ノードである「菓子」ノードを含む2語文部分依存構造木として、図25に示す2語文部分依存構造木が抽出される。
したがって、対象依存構造木に対して第4の抽出ルールが適用された場合には、上記した図24および図25に示す2語文依存構造木が抽出される。
ここでは、依存構造木に対して第4の抽出ルールが適用された場合について説明したが、この第4の抽出ルールは、ルートノードに付与されている文タイプが質問以外であれば、上記した部分依存構造木に対しても適用されることができる。
次に、図26を参照して、抽出ルール格納部22に格納されている第5の抽出ルールについて説明する。第5の抽出ルールは、ルートノードに付与されている文タイプが質問である依存構造木(または部分依存構造木)に対して適用される。
第5の抽出ルールにおいては、依存構造木におけるルートノードおよび第1世代子ノード間の全てのアークの種類に着目する。第5の抽出ルールは、これらのアークの中に、アークの種類がガ格、ヲ格、ニ格、カラ格、場所格、道具格および前置句であるアークが存在し、このアークの種類が前置句であるアークにつながっている第1世代子ノードに付与されている品詞が疑問代名詞である場合に適用される。なお、この第5の抽出ルールが適用されるべきアークの種類および第1世代子ノードの品詞は予め設定されている。
ここで、アークの種類が前置句であるアークについて簡単に説明すると、アークの種類が前置句であるアークとは、例えば「Aである」という文が構文解析された結果における見出し語「A」が付与されているノード及び見出し語「である」が付与されているノード間をつなぐようなアークをいう。
第5の抽出ルールが適用される場合には、まず、ルートノードに付与されている文タイプが質問である依存構造木におけるルートノードおよび第1世代子ノード間の全てのアークの中から、アークの種類がガ格、ヲ格、ニ格、カラ格、場所格、道具格および前置句であるアークが探索される(ステップS41)。
次に、ルートノードおよび第1世代子ノード間の全てのアークのうちアークの種類がガ格、ヲ格、ニ格、カラ格、場所格、道具格および前置句以外であるアーク(つまり、探索されたアーク以外のアーク)が切断される(ステップS42)。
更に、ルートノードおよび第1世代子ノード間のアークの種類が前置句で、かつ当該第1世代子ノードに付与されている品詞が疑問代名詞である場合、当該アークが切断される(ステップS43)。
この後、アークが切断された後の部分構造木において、ルートノードおよび各リーフノード間における全てのノードおよびアークを含む部分構造木が抽出される(ステップS44)。図26に示す例では、3つの部分構造木が抽出される。
上記したように第5の抽出ルールによれば、依存構造木から分岐のない部分構造木が抽出される。以下、第5の抽出ルールが適用されることによって抽出される部分構造木を質問文部分依存構造木と称する。
ここで、上記した図8に示す依存構造木に対して第5の抽出ルールが適用される場合について具体的に説明する。ここでは、図8に示す依存構造木を対象依存構造木と称する。
この場合、対象依存構造木におけるルートノードである「ですか」ノードに付与されている文タイプは質問である。このため、対象依存構造木には第5の抽出ルールが適用される。
対象依存構造木における「ですか」ノード(ルートノード)および第1世代子ノードである「が、」ノード間のアークの種類は従属接続であり、当該「が、」ノードに付与されている品詞は接続詞である。
また、対象依存構造木における「ですか」ノードおよび第1世代子ノードである「産地」ノード間のアークの種類はガ格であり、当該「産地」ノードに付与されている品詞は名詞である。
また、対象依存構造木における「ですか」ノードおよび第1世代子ノードである「どこ」ノード間のアークの種類は前置句であり、当該「どこ」ノードに付与されている品詞は疑問代名詞である。
したがって、対象依存構造木におけるルートノードである「ですか」ノードにつながっているアークの種類が従属接続であるアーク(ガ格、を格、ニ格、カラ格、場所格、道具格および前置句以外であるアーク)が切断される。
次に、アークが切断された後の対象依存構造木における「ですか」ノードおよび2つのリーフノード(ここでは、「産地」ノードおよび「どこ」ノード)間のアークに注目する。この場合、上記したように「ですか」ノードおよび第1世代子ノードである「どこ」ノード間のアークの種類は前置句であり、当該「どこ」ノードに付与されている品詞は疑問代名詞であるため、ルートノードである「ですか」ノードおよび第1世代子ノードである「どこ」ノードの間のアークが切断される。
一方、「ですか」ノードおよび第1世代子ノードである「産地」ノード間のアークの種類は前置句でなく、また、「産地」ノードに付与されている品詞は疑問代名詞でないため、ルートノードである「ですか」ノードおよびリーフノードである「オレンジ」ノード間における全てのノードおよびアークを含む質問文部分依存構造木が抽出される。
具体的には、「ですか」ノードおよび「オレンジ」ノード間における全てのノードおよびアークを含む質問文部分依存構造木として、図27に示す質問文部分依存構造木が抽出される。
したがって、対象依存構造木(図8に示す依存構造木)に対して第5の抽出ルールが適用された場合には、上記した図27に示す質問文部分依存構造木(分岐なし部分依存構造木)が抽出される。
ここでは、依存構造木に対して第5の抽出ルールが適用された場合について説明したが、この第5の抽出ルールは、ルートノードに付与されている文タイプが質問であれば、上記した部分依存構造木に対しても適用されることができる。
次に、図28を参照して、抽出ルール格納部22に格納されている第6の抽出ルールについて説明する。第6の抽出ルールは、ルートノードに付与されている文タイプが質問である依存構造木(または部分依存構造木)に対して適用される。
第6の抽出ルールにおいては、依存構造木における第1世代子ノードおよび当該第1世代子ノードにつながっているノード群に着目する。以下の説明では、依存構造木における第1の世代子ノードをルートノードとする部分構造木を子ノード群構造木と称する。つまり、依存構造木には、当該依存構造木における第1世代子ノードにつながっている各ノードが含まれる子ノード群構造木が含まれる。例えば2つの第1世代子ノードを含む依存構造木においては、ルートノードに2つの子ノード群構造木がつながっているといえる。なお、第6の抽出ルールは、2つの第1世代子ノードを含む依存構造木に対して適用されるものとする。
ここでは、図28に示すように、依存構造木には、子ノード群構造木101および102が含まれているものとする。
第6の抽出ルールが適用される場合には、まず、ルートノードに付与されている文タイプが質問である依存構造木であって2つの第1世代子ノードを含む依存構造木における2つの子ノード群構造木を入れ替える(ステップS51)。このとき、第1世代子ノード(子ノード群構造木101および102におけるルートノード)に付与されている付属語は入れ替えない。
次に、2つの子ノード群構造木101および102に含まれる各ノードに付与されている順番(の値)を変更する(ステップS52)。この場合、子ノード群構造木101および102におけるルートノード(つまり、依存構造木における第1世代子ノード)に付与されている順番に注目する。
ここで、子ノード群構造木102に含まれるノード数をM(ここでは、M=4)、子ノード群構造木101に含まれるノード数をN(ここでは、N=1)とする。また、図28によれば、子ノード群構造木102におけるルートノードである「B1」ノード(見出し語がB1であるノード)に付与さている順番はB4である。また、子ノード群構造木101におけるルートノードである「A1」ノード(見出し語がA1であるノード)に付与されている順番はA4である。
この場合において、子ノード群構造木102におけるルートノードに付与されている順番が子ノード群構造木101におけるルートノードに付与されている順番より大きい場合、つまり、B4>A4である場合、子ノード群構造木102に含まれる各ノードに付与されている順番(の値)を「当該順番−N」とし、子ノード群構造木101に含まれる各ノードに付与されている順番(の値)を「当該順番+M」とする。
一方、子ノード群構造木102におけるルートノードに付与されている順番が子ノード群構造木101におけるルートノードに付与されている順番より小さい場合、つまり、B4<A4である場合、子ノード群構造木102に含まれる各ノードに付与されている順番(の値)を「当該順番+N」とし、子ノード群構造木101に含まれる各ノードに付与されている順番(の値)を「当該順番−M」とする。
なお、図28は、B4>A4の場合を示している。つまり、子ノード群構造木102に含まれる各ノードに付与されている順番が「当該順番−N」となっており、子ノード群構造木101に含まれるノードに付与されている順番が「当該順番−M」となっている。
上記したように第6の抽出ルールによれば、依存構造木から当該依存構造木に含まれるノードの順番が入れ替えられた(つまり、並び替えられた)部分構造木(依存構造木)が抽出される。この第6の抽出ルールによって、語の並び替えを考慮した部分構造木を抽出することが可能となる。以下、第6の抽出ルールが適用されることによって抽出される部分構造木を並び替え質問部分依存構造木と称する。
ここで、図29を参照して、上記した図9に示す依存構造木に対して第6の抽出ルールが適用される場合について具体的に説明する。ここでは、図9に示す依存構造木を対象依存構造木と称する。
この場合、対象依存構造木におけるルートノードである「ですか」ノードに付与されている文タイプは質問である。このため、対象依存構造木には第6の抽出ルールが適用される。
対象依存構造木における第1世代子ノードは、「アメリカ」ノードおよび「産地」ノードの2つである。ここで、「アメリカ」ノードをルートノードとする子ノード群構造木に含まれるノード数は1である。また、「産地」ノードをルートノードとする子ノード群構造木に含まれるノード数は2である。なお、「アメリカ」ノードをルートノードとする子ノード群構造木を「アメリカ」子ノード群構造木、「産地」ノードをルートノードとする子ノード群構造木を「産地」子ノード群構造木と称する。
まず、図29に示すように、「アメリカ」子ノード群構造木と「産地」子ノード群構造木とを入れ替える(ステップS61)。このとき、「アメリカ」子ノード群構造木におけるルートノードである「アメリカ」ノードに付与されている付属語と「産地」子ノード群構造木におけるルートノードである「産地」ノードに付与されている付属語とは入れ替えない。ここでは、図29に示すように「アメリカ」ノードに付与されていた付属語「は」が「産地」ノードに付与されることになる。
次に、「アメリカ」子ノード群構造木および「産地」子ノード群構造木に含まれる各ノードに付与されている順番(の値)を変更する(ステップS62)。
ここで、「アメリカ」子ノード群構造木におけるルートノードである「アメリカ」ノードに付与されている順番と「産地」子ノード群構造木におけるルートノードである「産地」ノードに付与されている順番とを比較すると、当該「産地」ノードに付与されている順番は、「アメリカ」ノードに付与されている順番より大きい。
この場合、「産地」子ノード群構造木に含まれている各ノード(ここでは、「産地」ノードおよび「オレンジ」ノード)に付与されている順番から「アメリカ」子ノード群構造木に含まれるノード数である1を減算する。一方、「アメリカ」子ノード群構造木に含まれるノード(ここでは、「アメリカ」ノード)に付与されている順番に「産地」子ノード群構造木に含まれるノード数である2を加算する。これにより、対象依存構造木における各ノードに付与されている順番が入れ替えられる(つまり、当該ノードが並び替えられる)。
したがって、対象依存構造木(図9に示す依存構造木)に対して第6の抽出ルールが適用された場合には、図29に示すように並び替え質問部分依存構造木が抽出される。
ここでは、依存構造木に対して第6の抽出ルールが適用された場合について説明したが、この第5の抽出ルールは、ルートノードに付与されている文タイプが質問であれば、上記した部分依存構造木に対しても適用されることができる。
上記したように抽出ルール格納部22に格納されている抽出ルールとして第1〜第6の抽出ルールについて説明したが、他の抽出ルールが格納されていても構わない。
また、抽出ルール格納部22に格納されている複数の抽出ルールのうち、例えばユーザによって選択された抽出ルールのみが適用される構成であっても構わない。
ここで、上述したように代表文候補抽出処理においては抽出ルールまたは抽出ルールの組み合わせ毎に抽出された部分構造木が代表文候補とされるが、本実施形態においては、1つの依存構造木に対して図30に示すように第1〜第6の抽出ルールを組み合わせて適用することによって代表文候補が抽出されるものとする。
具体的には、代表文候補抽出処理においては、図30に示すように依存構造木(構文解析部32によって生成された依存構造木)に対して第1の抽出ルールが適用されることによって抽出された部分構造木が代表文候補とされる。
また、代表文候補抽出処理においては、図30に示すように依存構造木に対して第1の抽出ルールが適用されることによって抽出された部分構造木(部分依存構造木)に対して更に第2の抽出ルールが適用されることによって抽出された部分構造木が代表文候補とされる。
また、代表文候補抽出処理においては、図30に示すように依存構造木に対して第1の抽出ルールが適用されることによって抽出された部分構造木(部分依存構造木)に対して更に第3の抽出ルールが適用されることによって抽出された部分構造木が代表文候補とされる。
また、代表文候補抽出処理においては、図30に示すように依存構造木に対して第1の抽出ルールが適用されることによって抽出された部分構造木(部分依存構造木)に対して更に第4の抽出ルールが適用されることによって抽出された部分構造木が代表文候補とされる。
また、代表文候補抽出処理においては、図30に示すように依存構造木に対して第1の抽出ルールが適用されることによって抽出された部分構造木(部分依存構造木)に対して更に第5の抽出ルールが適用されることによって抽出された部分構造木が代表文候補とされる。
また、代表文候補抽出処理においては、図30に示すように依存構造木に対して第1の抽出ルールが適用されることによって抽出された部分構造木(部分依存構造木)に対して更に第6の抽出ルールが適用されることによって抽出された部分構造木が代表文候補とされる。
ここで、上述した図7〜図9に示す依存構造木に対して図30に示すように第1〜第6の抽出ルールを組み合わせて適用することによって抽出される代表文候補(部分構造木)について具体的に説明する。なお、第1〜第6の抽出ルールについては上述したとおりであるため、当該第1〜第6の抽出ルールについての詳しい説明は省略する。
まず、図7に示す依存構造木に対して図30に示す第1〜第6の抽出ルールを組み合わせて適用することによって抽出される部分構造木(代表文候補)について説明する。
この場合、図7に示す依存構造木に対して第1の抽出ルールが適用される。図7に示す依存構造木に対して第1の抽出ルールが適用された場合には、上述したように図14および図15に示す部分構造木(部分依存構造木)が抽出される。この図14および図15に示す部分構造木は代表文候補とされる。
また、図7に示す依存構造木に対して第1の抽出ルールが適用されることによって抽出された図14および図15に示す部分構造木におけるルートノードに付与されている文タイプは状況(つまり、質問以外)であるため、当該部分構造木に対しては第2の抽出ルールが適用される。図14に示す部分構造木に対して第2の抽出ルールが適用された場合には、図31および図32に示す部分構造木(分岐なし依存構造木)が抽出される。また、図15に示す部分構造木に対して第2の抽出ルールが適用された場合には、上述した図19および図20に示す部分構造木(分岐なし依存構造木)が抽出される。この図19、図20、図31および図32に示す部分構造木は代表文候補とされる。
また、図7に示す依存構造木に対して第1の抽出ルールが適用されることによって抽出された図14および図15に示す部分構造木におけるルートノードに付与されている文タイプは状況であるため、当該部分構造木に対しては第3の抽出ルールが適用される。図14に示す部分構造木に対して第3の抽出ルールが適用された場合には、図33に示す部分構造木(1世代部分依存構造木)が抽出される。また、図15に示す部分構造木に対して第3の抽出ルールが適用された場合には、上述した図22に示す部分構造木(1世代部分依存構造木)が抽出される。この図22および図33に示す部分構造木は代表文候補とされる。
また、図7に示す依存構造木に対して第1の抽出ルールが適用されることによって抽出された図14および図15に示す部分構造木におけるルートノードに付与されている文タイプは状況であるため、当該部分構造木に対しては第4の抽出ルールが適用される。図14に示す部分構造木に対して第4の抽出ルールが適用された場合には、図34および図35に示す部分構造木(2語文部分依存構造木)が抽出される。また、図15に示す部分構造木に対して第4の抽出ルールが適用された場合には、上述した図24および図25に示す部分依存構造木(2語文部分依存構造木)が抽出される。この図24、図25、図34および図35に示す部分構造木は代表文候補とされる。
なお、図7に示す依存構造木に対して第1の抽出ルールが適用されることによって抽出された図14および図15に示す部分構造木おけるルートノードに付与されている文タイプは状況であるため、当該部分構造木に対しては第5および第6の抽出ルールは適用されない。
次に、図8に示す依存構造木に対して図30に示すように第1〜第6の抽出ルールを組み合わせて適用することによって抽出される部分構造木(代表文候補)について説明する。
この場合、図8に示す依存構造木に対して第1の抽出ルールが適用される。図8に示す依存構造木に対して第1の抽出ルールが適用された場合には、上述した図16および図17に示す部分構造木(部分依存構造木)が抽出される。この図16および図17に示す部分構造木は代表文候補とされる。
また、図8に示す依存構造木に対して第1の抽出ルールが適用されることによって抽出された図16に示す部分構造木におけるルートノードに付与されている文タイプは状況(つまり、質問以外)であるため、当該部分構造木に対しては第2の抽出ルールが適用される。図16に示す部分構造木に対して第2の抽出ルールが適用された場合には、図36および図37に示す部分構造木(分岐なし依存構造木)が抽出される。この図36および図37に示す部分構造木は代表文候補とされる。
また、図8に示す依存構造木に対して第1の抽出ルールが適用されることによって抽出された図16に示す部分構造木におけるルートノードに付与されている文タイプは状況であるため、当該部分構造木に対しては第3の抽出ルールが適用される。図16に示す部分構造木に対して第3の抽出ルールが適用された場合には、当該図16に示す部分構造木と同様の部分構造木(1世代部分依存構造木)が抽出される。なお、1つの依存構造木に対して異なる抽出ルール(またはその組み合わせ)が適用された結果として同様の部分構造木が複数抽出された場合、当該部分構造木は1つの代表文候補として扱われる。
また、図8に示す依存構造木に対して第1の抽出ルールが適用されることによって抽出された図16に示す部分構造木におけるルートノードに付与されている文タイプは状況であるため、当該部分構造木に対しては第4の抽出ルールが適用される。図16に示す部分構造木に対して第4の抽出ルールが適用された場合には、上記した図36および図37に示す部分構造木(2語文依存構造木)が抽出される。つまり、図16に示す部分構造木に対して第4の抽出ルールが適用された結果は、当該部分構造木に対して上記した第2の抽出ルールが適用された結果と同様である。
ここで、図8に示す依存構造木に対して第1の抽出ルールが適用されることによって抽出された図16に示す部分構造木におけるルートノードに付与されている文タイプは上記したように状況であるため、当該部分構造木に対しては第5および第6の抽出ルールは適用されない。
これに対して、図8に示す依存構造木に対して第1の抽出ルールが適用されることによって抽出された図17に示す部分構造木におけるルートノードに付与されている文タイプは質問であるため、当該部分構造木に対しては第2〜第4の抽出ルールは適用されないが、第5および第6の抽出ルールが適用される。
図8に示す依存構造木に対して第1の抽出ルールが適用されることによって抽出された図17に示す部分構造木に対して第5の抽出ルールが適用された場合には、図38に示す部分構造木(質問文部分依存構造木)が抽出される。この図38に示す部分構造木は代表文候補とされる。
また、図8に示す依存構造木に対して第1の抽出ルールが適用されることによって抽出された図17に示す部分構造木に対して第6の抽出ルールが適用された場合には、図39に示す部分構造木(並び替え質問文部分依存構造木)が抽出される。この図39に示す部分構造木は代表文候補とされる。
次に、図9に示す依存構造木に対して図30に示すように第1〜第6の抽出ルールを組み合わせて適用することによって抽出される部分構造木(代表文候補)について説明する。
この場合、図9に示す依存構造木に対して第1の抽出ルールが適用される。図9に示す依存構造木に対して第1の抽出ルールが適用された場合には、当該図9に示す依存構造木と同様の部分構造木(部分依存構造木)が抽出される。この図9に示す部分構造木は代表文候補とされる。
また、図9に示す依存構造木に対して第1の抽出ルールが適用されることによって抽出された図9に示す部分構造木におけるルートノードに付与されている文タイプは質問であるため、当該部分構造木に対しては第2〜第4の抽出ルールは適用されないが、第5および第6の抽出ルールが適用される。
図9に示す依存構造木に対して第1の抽出ルールが適用されることによって抽出された図9に示す部分構造木に対して第5の抽出ルールが適用された場合には、図40および図41に示す部分構造木(質問文部分構造木)が抽出される。この図40および図41に示す部分構造木は代表文候補とされる。
また、図9に示す依存構造木に対して第1の抽出ルールが適用されることによって抽出された図9に示す部分構造木に対して第6の抽出ルールが適用された場合には、図42に示す部分構造木(並び替え質問文部分依存構造木)が抽出される。この図42に示す部分構造木は代表文候補とされる。
ここで、図43および図44は、代表文候補抽出部33によって抽出された代表文候補の一例を示す。なお、図43および図44は、上述した図4に示す複数の文書(文書群)から生成された依存構造木に対して図30に示すように第1〜第6の抽出ルールを組み合わせて適用することによって抽出された代表文候補の一例を示す。なお、代表文候補抽出部33によって抽出された代表文候補は上述したように部分構造木(依存構造木)の形式であるが、図43および図44においては便宜的に平文の形式で表している。
図43および図44に示すように、代表文候補抽出部33によって抽出された代表文候補には、当該代表文候補を識別するための代表文候補ID、当該代表文候補(部分構造木)が抽出された依存構造木(におけるルートカテゴリ)に付与された文タイプおよび当該依存構造木の生成に用いられた(文によって構成される)文書を識別するための文書IDが付与されている。
図43に示す例では、例えば代表文候補「成分はビタミンです」には、代表文候補ID「13」、文タイプ「状況」および文書ID「2」が付与されている。これによれば、代表文候補ID「13」によって識別される代表文候補「成分はビタミンです」は、文書ID「2」によって識別される文書を構成する文から生成された依存構造木から抽出されたことが示される。また、代表文候補ID「13」によって識別される代表文候補「成分はビタミンです」は、当該代表文候補におけるルートノード(ここでは、「です」ノード)に付与された文タイプが状況であることが示される。
また、図44に示す例では、例えば代表文候補「保存方法を教えて」には、代表文候補ID「22」、文タイプ「要望」および文書ID「4」が付与されている。これによれば、代表文候補ID「22」によって識別される代表文候補「保存方法を教えて」は、文書ID「4」によって識別される文書を構成する文から生成された依存構造木から抽出されたことが示される。また、代表文候補ID「22」によって識別される代表文候補「保存方法を教えて」は、当該代表文候補におけるルートノード(ここでは、「教えて」ノード)に付与された文タイプが要望であることが示される。
また、図44に示す例では、例えば代表文候補「オレンジの産地はアメリカですか」には、代表文候補ID「23」、文タイプ「質問」および文書ID「5」が付与されている。これによれば、代表文候補ID「23」によって識別される代表文候補「オレンジの産地はアメリカですか」は、文書ID「5」によって識別される文書を構成する文から生成された依存構造木から抽出されたことが示される。また、代表文候補ID「23」によって識別される代表文候補「オレンジの産地はアメリカですか」は、当該代表文候補におけるルートノード(ここでは、「ですか」ノード)に付与された文タイプが質問であることが示される。
ここでは、上記したように代表文候補「成分はビタミンです」、「保存方法を教えて」および「オレンジの産地はアメリカですか」について説明したが、他の代表文候補についても同様であるため、その詳しい説明を省略する。
再び図3に戻ると、文生成集約部34は、文タイプ別文生成ルール格納部23に格納されている文タイプ別文生成ルールおよび変換情報格納部24に格納されている変換情報に基づいて、代表文候補抽出部33によって抽出された代表文候補(部分構造木)から代表文候補文(つまり、平文)を生成する(ステップS4)。なお、変換情報格納部24に格納されている変換情報には、例えば活用形辞書および同義語辞書等が含まれる。この活用形辞書には、例えば動詞毎の活用形(例えば、終止形およびテ形等)の情報が含まれる。また、同義語辞書には、自立語の同義語の情報が含まれる。
ここで、図45は、文タイプ別文生成ルール格納部23のデータ構造の一例を示す。図45に示すように、文タイプ別文生成ルール格納部23には、文タイプ毎に、当該文タイプに応じた文生成ルールが格納されている。
図45に示す文タイプ「状況」に対応づけて文タイプ別文生成ルール格納部23に格納されている文生成ルール(以下、状況用文生成ルールと表記)は、文タイプとして状況が付与された代表文候補に対して適用される文生成ルールである。この状況用文生成ルールによれば、代表文候補(部分構造木)に含まれるノード毎に、当該ノードに付与されている見出し語および付属語が当該見出し語および付属語の順に結合されて表層文字列が生成される。このとき、ノードに付与されている品詞が動詞または形容詞である場合には、当該ノードに付与されている見出し語の活用形は終止形に変換される。この変換処理は、上記した変換情報格納部24に格納されている変換情報(活用形辞書)に基づいて実行される。なお、ノードに付与されている品詞が助動詞であるノードについては、表層文字列は生成されない。状況用文生成ルールによれば、ノード毎に生成された表層文字列を、当該ノードに付与されている順番に応じてつなげることによって平文が生成される。なお、ノード毎に生成された表層文字列は、当該ノードに付与されている順番が小さい順につなげられる。代表文候補に対して状況用文生成ルールが適用された場合には、このように当該代表文候補から代表文候補文(平文)が生成される。
図45に示す文タイプ「質問」に対応づけて文タイプ別文生成ルール格納部23に格納されている文生成ルール(以下、質問用文生成ルールと表記)は、文タイプとして質問が付与された代表文候補に対して適用される文生成ルールである。この質問用文生成ルールによれば、代表文候補に含まれるノード毎に、当該ノードに付与されている見出し語および付属語が当該見出し語および付属語の順に結合されて表層文字列が生成される。このとき、ノードに付与されている品詞が動詞または形容詞である場合には、当該ノードに付与されている見出しの語の活用形は終止形に変換される。この変換処理は、上記した変換情報格納部24に格納されている変換情報(活用形辞書)に基づいて実行される。なお、ノードに付与されている品詞が助動詞であるノードについては、表層文字列は生成されない。質問用文生成ルールによれば、ノード毎に生成された表層文字列を、当該ノードに付与されている順番に応じてつなげることによって平文が生成され、当該平文の文末に疑問符(つまり、「?」)が付与される。なお、ノード毎に生成された表層文字列は、当該ノードに付与されている順番が小さい順につなげられる。代表文候補に対して質問用文生成ルールが適用された場合には、このように当該代表文候補から代表文候補文(平文)が生成される。
図45に示す文タイプ「要望」に対応づけて文タイプ別文生成ルール格納部23に格納されている文生成ルール(以下、要望用文生成ルールと表記)は、文タイプとして要望が付与された代表文候補に対して適用される文生成ルールである。この要望用文生成ルールによれば、代表文候補に含まれるノード毎に、当該ノードに付与されている見出し語および付属語が当該見出し語および付属語の順に結合されて表層文字列が生成される。このとき、ノードに付与されている品詞が動詞である場合には、当該ノードに付与されている見出し語の活用形はテ形(語尾が「て」で終わる形)とされる。具体的には、ノードに付与されている見出し語が例えば「教える」である場合には「教えて」に変換される。この変換処理は、上記した変換情報格納部24に格納されている変換情報(活用形辞書)に基づいて実行される。要望用文生成ルールによれば、ノード毎に生成された表層文字列を、当該ノードに付与されている順番に応じてつなげることによって平文が生成され、当該平文の文末に「下さい」(の文字列)が付与される。なお、ノード毎に生成された表層文字列は、当該ノードに付与されている順番が小さい順につなげられる。代表文候補に対して要望用文生成ルールが適用された場合には、このように当該代表文候補から代表文候補文(平文)が生成される。
ここで、図46を参照して、代表文候補に対して上記した状況用文生成ルールが適用されることによって生成される代表文候補文について具体的に説明する。
ここでは、上述した図43に示す代表文候補ID「1」、文タイプ「状況」および文書ID「1」が付与されている代表文候補「菓子を買いました(依存構造木形式)」に対して状況用文生成ルールが適用される場合について説明する。なお、この代表文候補「菓子を買いました」には文タイプ「状況」が付与されているため、当該代表文候補には状況用文生成ルールが適用される。
この場合、代表文候補「菓子を買いました」における各ノード(「買いました」ノードおよび「菓子」ノード)において、当該ノードに付与されている見出し語および付属語が順に結合されて表層文字列が生成される。ここでは、「買いました」ノードに付与されている品詞は動詞であるため、当該「買いました」ノードにおいては、上記したように見出し語が終止形に変換されて、「買う」の表層文字列が生成される。一方、「菓子」ノードにおいては、見出し語「菓子」および付属語「を」が順に結合されて「菓子を」の表層文字列が生成される。ここで、ノード毎に生成された「買う」および「菓子を」の各表層文字列を当該ノードに付与されている順番が小さい順につなげることによって平文が生成される。ここでは、「買いました」ノードに付与されている順番は2であり、「菓子」ノードに付与されている順番は1であるため、「菓子を買う」の平文が生成される。
このように代表文候補「菓子を買いました」に対して状況用文生成ルールが適用された場合には、図46に示すように、当該代表文候補「菓子を買いました(依存構造木形式)」から代表文候補文「菓子を買う(平文形式)」が生成される。
なお、上記したようにノードに付与されている品詞が助動詞であるノードについては、表層文字列は生成されない。このため、例えば図43に示す代表文候補ID「13」が付与されている代表文候補「成分はビタミンです(依存構造木形式)」に対して状況用文生成ルールが適用された場合には、詳しい説明は省略するが、代表文候補文「成分はビタミン(平文形式)」が生成される。
次に、図47〜図52を参照して、代表文候補に対して上記した質問用文生成ルールが適用されることによって生成される代表文候補文について具体的に説明する。
まず、図47を参照して、上述した図43に示す代表文候補ID「17」、文タイプ「質問」および文書ID「2」が付与されている代表文候補「オレンジの産地はですか(依存構造木形式)」に対して質問用文生成ルールが適用される場合について説明する。なお、この代表文候補「オレンジの産地はですか」には文タイプ「質問」が付与されているため、当該代表文候補には質問用文生成ルールが適用される。
この場合、代表文候補「オレンジの産地はですか」における各ノード(「ですか」ノード、「産地」ノードおよび「オレンジ」ノード)について、当該ノードに付与されている見出し語および付属語が順に結合されて表層文字列が生成される。ここでは、「ですか」ノードに付与されている品詞は助動詞であるため、当該「ですか」ノードについて表層文字列は生成されない。また、「産地」ノードにおいては、見出し語「産地」および付属語「は」が順に結合されて「産地は」の表層文字列が生成される。更に、「オレンジ」ノードにおいては、見出し語「オレンジ」および付属語「の」が順に結合されて「オレンジの」の表層文字列が生成される。ここで、ノード毎に生成された「産地は」および「オレンジの」の表層文字列を当該ノードに付与されている順番が小さい順につなげることによって平文が生成される。ここでは、「産地」ノードに付与されている順番は6であり、「オレンジ」ノードに付与されている順番は5であるため、「オレンジの産地は」の平文が生成される。なお、このように生成された「オレンジの産地は」の平文の文末には疑問符「?」が付与される。
このように代表文候補「オレンジの産地はですか」に対して質問用文生成ルールが適用された場合には、図47に示すように、当該代表文候補「オレンジの産地はですか(依存構造木形式)」から代表文候補文「オレンジの産地は?(平文形式)」が生成される。
なお、図48に示すように、上述した図43に示す代表文候補ID「261」が付与されている代表文候補「オレンジの産地はですか(依存構造木形式)」に対して質問用文生成ルールが適用された場合にも同様に、代表文候補文「オレンジの産地は?(平文形式)」が生成される。
次に、図49を参照して、上述した図44に示す代表文候補ID「26」、文タイプ「質問」および文書ID「5」が付与されている代表文候補「アメリカはオレンジの産地ですか(依存構造木形式)」に対して質問用文生成ルールが適用される場合について説明する。なお、この代表文候補「アメリカはオレンジの産地ですか」には文タイプ「質問」が付与されているため、当該代表文候補には質問用文生成ルールが適用される。
この場合、代表文候補「アメリカはオレンジの産地ですか」における各ノード(「ですか」ノード、「アメリカ」ノード、「産地」ノードおよび「オレンジ」ノード)について、当該ノードに付与されている見出し語および付属語が順に結合された表層文字列が生成される。ここでは、「ですか」ノードに付与されている品詞は助動詞であるため、当該「ですか」ノードについて表層文字列は生成されない。また、「アメリカ」ノードにおいては、見出し語「アメリカ」および付属語「は」が順に結合された「アメリカは」の表層文字列が生成される。また、「産地」ノードにおいては、見出し語「産地」から「産地」の表層文字列が生成される。更に、「オレンジ」ノードにおいては、見出し語「オレンジ」および付属語「の」が順に結合されて「オレンジの」の表層文字列が生成される。ここで、ノード毎に生成された「アメリカは」、「産地」および「オレンジの」の表層文字列を当該ノードに付与されている順番が小さい順につなげることによって平文が生成される。ここでは、「アメリカ」ノードに付与されている順番は1であり、「産地」ノードに付与されている順番は3であり、「オレンジ」ノードに付与されている順番は2であるため、「アメリカはオレンジの産地」の平文が生成される。なお、このように生成された「アメリカはオレンジの産地」の平文の文末には疑問符「?」が付与される。
このように代表文候補「アメリカはオレンジの産地ですか」に対して質問用文生成ルールが適用された場合には、図49に示すように、当該代表文候補「アメリカはオレンジの産地ですか(依存構造木形式)」から代表文候補文「アメリカはオレンジの産地?(平文形式)」が生成される。
なお、図50に示すように、上述した図44に示す代表文候補ID「259」が付与されている代表文候補「アメリカはオレンジの産地ですか(依存構造木形式)」に対して質問用文生成ルールが適用された場合にも同様に、代表文候補文「アメリカはオレンジの産地?(平文形式)」が生成される。
次に、図51を参照して、例えば「何」および「どこ」のような疑問代名詞を含む代表文候補に対して質問用文生成ルールが適用されることによって生成される代表文候補文について具体的に説明する。ここでは、上述した図44に示す代表文候補ID「252」、文タイプ「質問」および文書ID「194」が付与されている代表文候補「何は成分ですか(依存構造木形式)」に対して質問用文生成ルールが適用される場合について説明する。なお、この代表文候補「何は成分ですか」には文タイプ「質問」が付与されているため、当該代表文候補には質問用文生成ルールが適用される。
この場合、代表文候補「何は成分ですか」における各ノード(「ですか」ノード、「何」ノードおよび「成分」ノード)について、当該ノードに付与されている見出し語および付属語が順に結合された表層文字列が生成される。ここでは、「ですか」ノードに付与されている品詞は助動詞であるため、当該「ですか」ノードについて表層文字列は生成されない。
ここで、上述した図45には示していないが、質問用文生成ルールによれば、ノードに付与されている品詞が疑問代名詞である場合、当該ノードに付与されている付属語が当該ノードとその親ノードとの間のアークの種類に対応した語に変換されて、表層文字列が生成されるものとする。例えば代表文候補「何は成分ですか」における「何」ノードに付与されている品詞は疑問代名詞であるため、当該「何」ノードに付与されている付属語「は」は、当該「何」ノードとその親ノードである「ですか」ノードの間のアークの種類であるガ格に対応した語(つまり、「が」)に変換される。したがって、「何」ノードにおいては、見出し語「何」および変換後の付属語「が」が順に結合された「何が」の表層文字列が生成される。
また、「成分」ノードにおいては、付属語が付与されていないため、「成分」の表層文字列が生成される。
ここで、ノード毎に生成された「何が」および「成分」の表層文字列を当該ノードに付与されている順番が小さい順につなげることによって平文が生成される。ここでは、「何」ノードに付与されている順番は1であり、「成分」ノードに付与されている順番は2であるため、「何が成分」の平文が生成される。なお、このように生成された「何が成分」の平文の文末には疑問符「?」が付与される。
このように代表文候補「何は成分ですか」に対して質問用文生成ルールが適用された場合には、図51に示すように、当該代表文候補「何は成分ですか(依存構造木形式)」から代表文候補文「何が成分?(平文形式)」が生成される。
なお、図52に示すように、上述した図43に示す代表文候補ID「18」が付与されている代表文候補「どこはオレンジの産地ですか(依存構造木形式)」に対して質問用文生成ルールが適用された場合には、上記したような処理が実行されることによって代表文候補文「どこがオレンジの産地?(平文形式)」が生成される。
図51および図52では品詞が疑問代名詞であるノードとその親ノードとの間のアークの種類がガ格である場合について説明したが、当該アークの種類が例えばヲ格である場合には、当該品詞が疑問代名詞であるノードに付与されている付属語は当該アークの種類であるヲ格に対応した語として「を」に変換される。
最後に、図53および図54を参照して、代表文候補に対して上記した要望用文生成ルールが適用されることによって生成される代表文候補文について具体的に説明する。
まず、図53を参照して、上述した図44に示す代表文候補ID「22」、文タイプ「要望」および文書ID「4」が付与されている代表文候補「保存方法を教えて(依存構造木形式)」に対して要望用文生成ルールが適用される場合について説明する。なお、この代表文候補「保存方法を教えて」には文タイプ「要望」が付与されているため、当該代表文候補には要望用文生成ルールが適用される。
この場合、代表文候補「保存方法を教えて」における各ノード(「教えて」ノードおよび「保存方法」ノード)について、当該ノードに付与されている見出し語および付属語が順に結合されて表層文字列が生成される。「教えて」ノードにおいては、付属語が付与されていないため、「教えて」の表層文字列が生成される。なお、ここでは「教えて」ノードに付与されている品詞は動詞であるが、見出し語「教えて」が既にテ形(語尾が「て」で終わる形)であるため、当該見出し語「教えて」は変換されない。換言すれば、品詞が動詞であるノードの見出し語がテ形でない場合には、当該見出し語は変換情報格納部24に格納されている変換情報(活用形辞書)に基づいてテ形に変換される。また、「保存方法」ノードにおいては、見出し語「保存方法」および付属語「を」が順に結合されて「保存方法を」の表層文字列が生成される。ここで、ノード毎に生成された「教えて」および「保存方法を」の表層文字列を当該ノードに付与されている順番が小さい順につなげることによって平文が生成される。ここでは、「教えて」ノードに付与されている順番は2であり、「保存方法」ノードに付与されている順番は1であるため、「保存方法を教えて」の平文が生成される。なお、このように生成された「保存方法を教えて」の平文の文末には「下さい」(の文字列)が付与される。
このように代表文候補「保存方法を教えて」に対して要望用文生成ルールが適用された場合には、図53に示すように、当該代表文候補「保存方法を教えて(依存構造木形式)」から代表文候補文「保存方法を教えて下さい(平文形式)」が生成される。
なお、図54に示すように、上述した図43に示す代表文候補ID「20」が付与されている代表文候補「保存方法を教えてください」に対して要望用文生成ルールが適用された場合にも同様に、代表文候補文「保存方法を教えて下さい(平文形式)」が生成される。なお、代表文候補ID「20」が付与されている代表文候補「保存方法を教えてください」のように既に「ください」が存在する場合には平文の文末には「下さい」は付与されないが、上述した変換情報格納部24に格納されている変換情報(例えば、同義語辞書)に基づいて当該「ください」(の文字列)は「下さい」に統一される。
上記したように文生成集約部34は、文タイプ別文生成ルール格納部23に格納されている文タイプ毎の文生成ルール(状況用文生成ルール、質問用文生成ルールおよび要望用文生成ルール)を代表文候補に適用することによって、当該代表文候補から代表文候補文を生成する。なお、文生成集約部34によって代表文候補から生成された代表文候補文には、当該代表文候補に付与された文タイプおよび文書IDが付与される。
なお、上記した状況用文生成ルール、質問用文生成ルールおよび要望用文生成ルールは一例であり、当該文生成ルール以外の文生成ルールが用いられても構わない。また、上記した状況用文生成ルール、質問用文生成ルールおよび要望用文生成ルールが適用される際に、例えば代表文候補に対して言い換え処理が実行されるような文生成ルールが用いられても構わない。この言い換え処理においては、例えば予め用意された置換ルールを用いて代表文候補(部分構造木)の置換処理が行われる。また、変換情報格納部24に格納されている変換情報(ここでは、同義語辞書)を用いて代表文候補におけるノードに付与される見出し語が同義語である場合には、当該見出し語を統一するような処理が実行されても構わない。また、文タイプ別文生成ルール格納部23に格納されている文タイプ別の文生成ルールは、ユーザによって変更可能である。
再び図3に戻ると、文生成集約部34は、ステップS4において生成された代表文候補文を集約することによって、集約代表文候補文を生成する(ステップS5)。文生成集約部34は、生成された代表文候補文のうち、同一の文タイプが付与された同一の代表文候補文を1つの集約代表文候補文に集約する。なお、文生成集約部34によって生成された集約代表文候補文には、当該集約代表文候補文を識別するための集約代表文候補文ID、当該集約代表文候補文に集約された代表文候補文に付与された文タイプおよび文書IDが付与される。
ここで、図55は、文生成集約部34によって生成された集約代表文候補文の一例を示す。図55に示すように、文生成集約部34によって生成された集約代表文候補文には、当該集約代表候補文ID、文タイプおよび文書IDが付与されている。
図55に示す例では、例えば集約代表文候補文「オレンジの産地は?」には、集約代表文候補文ID「16」、文タイプ「質問」および文書ID「2,5,197,…」が付与されている。
なお、集約代表文候補文ID「16」は、文生成集約部34によって生成された集約代表文候補文「オレンジの産地は?」に対して代表文抽出装置30において自動的に付与される。文タイプ「質問」は、集約代表文候補文「オレンジの産地は?」に集約された代表文候補文の各々に共通して付与された文タイプである。また、文書ID「2,5,197,…」は、集約代表文候補文「オレンジの産地は?」に集約された代表文候補文の各々に付与された文書IDの集合である。換言すれば、集約代表文候補文「オレンジの産地は?」に付与されている文書IDの数は、当該集約代表文候補文「オレンジの産地は?」に集約された代表文候補文の数と同一である。
ここでは、集約代表文候補文「オレンジの産地は?」について説明したが、他の集約代表文候補文についても同様であるため、その詳しい説明を省略する。
再び図3に戻ると、代表文決定部35は、文生成集約部34によって生成された集約代表文候補文の中から代表文を決定(選択)する(ステップS6)。このとき、代表文決定部35は、文生成集約部34によって生成された集約代表文候補文に付与された文書IDの数(つまり、当該集約代表文候補文に集約された代表文候補文の数)に基づいて代表文を決定する。
この場合、代表文決定部35は、例えば集約代表文候補文に付与されている文書IDの数(文書頻度)が上位n位までの集約代表文候補文を、当該集約代表文候補文に付与されている文タイプの代表文として決定する。なお、代表文として決定される集約代表文候補文の数(つまり、nの値)は、適宜、変更可能である。
また、集約代表文候補文の中に文書頻度(つまり、文書IDの数)が同一の集約代表文候補文が複数存在する場合には、当該集約代表文候補文に含まれる文字列の長い方が優先されるものとする。
また、ここでは集約代表文候補文に付与されている文書IDの数が上位n位までの集約代表文候補文が代表文として決定されるものとして説明したが、例えば当該集約代表文候補文に付与されている文タイプ毎に文書IDの数が上位m位までの集約代表文候補文が代表文として決定される構成であっても構わない。
ここで、図56は、代表文決定部35によって決定された代表文の一例を示す。図56に示すように、代表文決定部35によって決定された代表文には、代表文ID、文タイプおよび文書IDが付与されている。代表文に付与されている代表文IDは、当該代表文を識別するための識別子である。また、代表文に付与されている文タイプは、当該代表文として決定された集約代表文候補文に付与された文タイプと同一の文タイプである。また、代表文に付与されている文書IDは、当該代表文として決定された集約代表文候補文に付与された文書IDと同一の文書IDである。
図56に示す例では、上述した図55に示す集約代表文候補文のうちの文書頻度の高い(つまり、付与されている文書IDの数が多い)6つの集約代表文候補文が、当該文書頻度が高い順に代表文として示されている。
再び図3に戻ると、出力部36は、代表文決定部35によって決定された代表文を出力する(ステップS7)。これにより、代表文決定部35によって決定された代表文がユーザに対して表示(提示)される。
ここで、図57は、代表文決定部35によって決定された代表文が表示された場合の表示画面の一例を示す。ここでは、上記した図56に示す代表文が表示された場合について説明する。
図57に示すように、表示画面200には、例えば文タイプ「質問」の代表文「成分は?」が表示されている。同様に、表示画面200には、文タイプ「要望」の代表文「保存方法を教えて下さい」、文タイプ「状況」の代表文「蓋が硬い」、文タイプ「質問」の代表文「オレンジの産地は?」、文タイプ「質問」の代表文「オレンジの産地はアメリカ?」および文タイプ「状況」の代表文「成分はビタミン」が表示されている。なお、これらの代表文は、文書頻度が高い(つまり、代表文に付与された文書IDの数が多い)順に表示されている。
また、図57に示すように、表示画面200には、代表文毎に、当該代表文に付与された文書IDの数(件数)、当該文書IDおよび当該文書IDによって識別される文書(の内容)についても表示されている。これにより、ユーザは、表示画面200に表示されている代表文「成分は?」に関する件数(文書の件数)を容易に把握することができる。換言すれば、上記したように入力部31によって入力された文書群(複数の文書)において、成分に関する質問の頻度が高いことを容易に把握することができる。
上記したように本実施形態においては、入力された複数の文書の各々を構成する文を解析することによって当該文の文タイプが付与された構造木を生成し、当該構造木に付与された文タイプに対応づけて抽出ルール格納部22に格納されている抽出ルール(つまり、当該文タイプに応じた抽出ルール)に従って当該構造木から当該文タイプが付与された代表文候補を抽出する。また、本実施形態においては、代表文候補に付与された文タイプに対応づけて文生成ルール格納部23に格納されている文生成ルール(文タイプ別文生成ルール)に従って当該代表文候補から当該文タイプが付与された代表文候補文を生成し、当該代表文候補文のうち同一の文タイプが付与された同一の代表文候補文を1つに集約することによって当該文タイプが付与された集約代表文候補文を生成し、当該集約代表文候補文に集約された代表文候補文の数に基づいて当該集約代表文候補文を当該集約代表文候補文に付与された文タイプの代表文として決定する。
これにより、本実施形態においては、ユーザが例えば検索式等の内容を考えることなく、文タイプを考慮して文書群において頻度の高い内容を表す代表文を抽出することが可能となる。このように抽出された文タイプ別の代表文を用いることによって、例えば問い合わせに関する文書群に関して文タイプ別(例えば、状況、要望、質問等)に分類または分析等を行うことができ、更にはFAQ等の作成に必要な作業の負荷または時間を削減することが可能となる。
(第2の実施形態)
次に、第2の実施形態について説明する。図58は、本実施形態に係る代表文抽出装置の主として機能構成を示すブロック図である。なお、前述した図2と同様の部分には同一参照符号を付してその詳しい説明を省略する。ここでは、図2と異なる部分について主に述べる。
また、本実施形態に係る代表文抽出装置のハードウェア構成は、前述した第1の実施形態と同様であるため、適宜、図1を用いて説明する。
本実施形態においては、例えば問い合わせに関する文書群および当該問い合わせに対する回答に関する文書群のそれぞれから代表文を抽出し、当該問い合わせに関する文書群から抽出された代表文および当該回答に関する文書群から抽出された代表文を用いて当該問い合わせおよび回答に関するクロス集計を行う点が、前述した第1の実施形態とは異なる。
図58に示すように、本実施形態に係る代表文抽出装置50は、入力部51、クロス集計部52および出力部53を含む。本実施形態において、これらの各部51〜53は、図1に示すコンピュータ10が外部記憶装置20に格納されているプログラム21を実行することにより実現されるものとする。
入力部51は、ユーザの操作に応じて、当該ユーザによって指定された複数の文書(第3の文書)を入力する。この入力部51によって入力される複数の文書の各々には、例えば問い合わせに関する文書(第1の文書)および当該問い合わせに対する回答に関する文書(第1の文書に対応する第2の文書)が含まれる。入力部51によって入力される複数の文書の各々に含まれる問い合わせに関する文書(以下、問い合わせ文書)は、複数の自立語を含む文(第1の文)によって構成される。同様に、入力部51によって入力される複数の文書の各々に含まれる回答に関する文書は、複数の自立語を含む文(第2の文)によって構成される。なお、入力部51によって入力される複数の文書の各々には、当該文書(に含まれる問い合わせ文書および回答文書)を識別するための文書IDが付与されている。
本実施形態に係る代表文抽出装置50に含まれる構文解析部32、代表文候補抽出部33、文生成集約部34および代表文決定部35は、入力部51によって入力された複数の文書に含まれる問い合わせ文書群(複数の問い合わせ文書)および当該複数の文書に含まれる回答文書群(複数の回答文書)に対して前述した第1の実施形態と同様の処理を実行することによって、当該問い合わせ文書群および回答文書群からそれぞれ代表文を抽出する。以下、問い合わせ文書群から抽出された代表文を問い合わせ代表文、回答文書群から抽出された代表文を回答代表文と称する。
クロス集計部52は、問い合わせ代表文および回答代表文を用いて、問い合わせ(文書群)および回答(文書群)に関するクロス集計を行う。
出力部53は、クロス集計部52によるクロス集計結果(問い合わせおよび回答に関するクロス集計結果)を出力する。
次に、図59に示すフローチャートを参照して、本実施形態に係る代表文抽出装置50の処理手順について説明する。
まず、入力部31は、ユーザの操作に応じて、当該ユーザによって指定された文書群(複数の文書)を入力する(ステップS71)。入力部31によって入力された複数の文書の各々には、例えば製品サポートセンタ等で受け付けられた製品に対する問い合わせに関する文書(問い合わせ文書)および当該問い合わせに対する回答に関する文書(回答文書)が含まれる。
図60は、入力部51によって入力された複数の文書の一例を示す。なお、複数の文書の各々は、上記したように問い合わせ文書および当該問い合わせ文書に対応する回答文書を含む。この複数の文書(の各々に含まれる問い合わせ文書および回答文書)は、平文の形式で入力部51によって入力される。図60に示すように、入力部51によって入力された複数の文書の各々に含まれる問い合わせ文書および回答文書は、複数の自立語を含む文によって構成される。また、入力部51によって入力された複数の文書の各々には、当該文書を識別するための文書IDが付与されている。換言すれば、1つの文書に含まれる問い合わせ文書および回答文書(つまり、対応する問い合わせ文書および回答文書)は、同一の文書IDによって識別される。
図60に示す例では、入力部51によって入力された複数の文書のうちの例えば文書ID「1」によって識別される文書には、問い合わせ文書「菓子をネットで買いました。オレンジの菓子の中に異物が入っていたため、子供はオレンジの菓子を食べなかった。」および回答文書「異物の色が黄色なら、異物はオレンジの粒です。」が含まれている。この問い合わせ文書の内容は例えば製品サポートセンタ等で受け付けられた製品に対する問い合わせを表し、回答文書の内容は当該問い合わせに対する回答を表している。
ここでは、入力部51によって入力された複数の文書のうちの文書ID「1」によって識別される文書についてのみ説明したが、他の文書についても同様であるため、その詳しい説明を省略する。
なお、図60に示す複数の文書の各々に含まれる複数の問い合わせ文書は、便宜的に、前述した図4に示す複数の文書と同一としている。
再び図59に戻ると、構文解析部32は、入力部51によって入力された複数の文書の各々に含まれる問い合わせ文書の各々を構成する各文(つまり、全ての文)について構文解析を行う(ステップS72)。これにより、構文解析部32は、問い合わせ文書の各々を構成する文毎に依存構造木(第1の構造木)を生成する。なお、ここで構文解析部32によって生成された依存構造木には、当該依存構造木の生成に用いられた文(つまり、構文解析された文)の文タイプ(第1の文タイプ)および当該文によって構成される問い合わせ文書(を含む文書)を識別するための文書IDが付与される。
構文解析部32によって生成される依存構造木は、前述した第1の実施形態において説明した通りであるため、その詳しい説明を省略する。
次に、構文解析部32によって生成された依存構造木を用いて、前述した図3に示すステップS3〜S6の処理に相当するステップS73〜S76の処理が実行される。以下、このステップS73〜S76の処理について簡単に説明する。
ステップS73においては、代表文候補抽出部33は、ステップS72において構文解析部32によって生成された依存構造木の一部である部分構造木である代表文候補(第1の代表文候補)を、当該依存構造木から抽出する。代表文候補抽出部33は、抽出ルール格納部22に格納されている抽出ルールを用いて代表文候補を抽出する。この依存構造木から抽出された代表文候補には、当該依存構造木に付与された文タイプおよび文書IDが付与される。
ステップS74においては、文生成集約部34は、文タイプ別文生成ルール格納部23に格納されている文タイプ別文生成ルールおよび変換情報格納部24に格納されている変換情報に基づいて、ステップS73において代表文候補抽出部33によって抽出された代表文候補から平文である代表文候補文(第1の代表文候補文)を生成する。この代表文候補から生成された代表文候補文には、当該代表文候補に付与された文タイプおよび文書IDが付与される。
ステップS75においては、文生成集約部34は、ステップS74において生成された代表文候補文のうち、同一の文タイプが付与された同一の代表文候補文を集約することによって集約代表文候補文(第1の集約代表文候補文)を生成する。この同一の文タイプが付与された同一の代表文候補文を集約することによって生成された集約代表文候補文には、当該文タイプ(当該代表文候補文の各々に共通して付与された文タイプ)および当該集約された代表文候補文の各々に付与された文書IDが付与される。
ステップS76においては、代表文決定部35は、ステップS75において文生成集約部34によって生成された集約代表文候補文の中から問い合わせ文書群の代表文(問い合わせ代表文)を決定(選択)する。このとき、代表文決定部35は、文生成集約部34によって生成された集約代表文候補文に付与された文書IDの数(つまり、当該集約代表文候補文に集約された代表文候補文の数)に基づいて問い合わせ代表文を決定する。なお、代表文決定部35によって決定された問い合わせ代表文には、当該問い合わせ代表文として決定された集約代表文候補文に付与された文書IDが付与されるが、当該文書IDは、当該集約代表文候補文に集約された代表文候補文の各々の生成に用いられた問い合わせ文書(を含む文書)を識別するための文書IDである。
このように、入力部51によって入力された複数の文書の各々に含まれる複数の問い合わせ文書に対して上記したステップS72〜S76の処理が実行されることによって、当該複数の問い合わせ文書(問い合わせ文書群)から代表文(問い合わせ代表文)が抽出される。
なお、上述した図60に示す複数の問い合わせ文書は前述した図4に示す複数の文書と同一であるため、当該複数の問い合わせ文書に対して上記したステップS72〜S76が実行された場合には、前述した図56に示す代表文が問い合わせ代表文として当該複数の問い合わせ文書(問い合わせ文書群)から抽出される。
次に、構文解析部32は、入力部51によって入力された複数の文書の各々に含まれる回答文書の各々を構成する各文(つまり、全ての文)について構文解析を行う(ステップS77)。これにより、構文解析部32は、回答文書の各々を構成する文毎に依存構造木(第2の構造木)を生成する。ここで構文解析部32によって生成された依存構造木には、当該依存構造木の生成に用いられた文(つまり、構文解析された文)の文タイプ(第2の文タイプ)および当該文によって構成される回答文書(を含む文書)を識別するための文書IDが付与される。なお、回答文書の内容は、問い合わせに対する回答であるため、当該回答文書を構成する文の文タイプは状況(状況を表す平叙文)である場合が多い。
構文解析部32によって生成される依存構造木は、前述した第1の実施形態において説明した通りであるため、その詳しい説明を省略する。
次に、構文解析部32によって生成された依存構造木を用いて、前述した図3に示すステップS3〜S6の処理に相当するステップS78〜S81の処理が実行される。以下、このステップS78〜S81の処理について簡単に説明する。
ステップS78においては、代表文候補抽出部33は、ステップS77において構文解析部32によって生成された依存構造木の一部である部分構造木である代表文候補(第2の代表文候補)を、当該依存構造木から抽出する。代表文候補抽出部33は、抽出ルール格納部22に格納されている抽出ルールを用いて代表文候補を抽出する。この依存構造木から抽出された代表文候補には、当該依存構造木に付与された文タイプおよび文書IDが付与される。
ステップS79においては、文生成集約部34は、文タイプ別文生成ルール格納部23に格納されている文タイプ別文生成ルールおよび変換情報格納部24に格納されている変換情報に基づいて、ステップS78において代表部候補抽出部33によって抽出された代表文候補から平文である代表文候補文(第2の代表文候補文)を生成する。この代表文候補から生成された代表文候補文には、当該代表文候補に付与された文タイプおよび文書IDが付与される。
ステップS80においては、文生成集約部34は、ステップS79において生成された代表文候補文のうち、同一の文タイプが付与された同一の代表文候補文を集約することによって集約代表文候補文(第2の集約代表文候補文)を生成する。この同一の文タイプが付与された同一の代表文候補文を集約することによって生成された集約代表文候補文には、当該文タイプ(当該代表文候補文の各々に共通して付与された文タイプ)および当該集約された代表文候補文の各々に付与された文書IDが付与される。
ステップS81においては、代表文決定部35は、ステップS75において文生成集約部34によって生成された集約代表文候補文の中から回答文書群の代表文(回答代表文)を決定(選択)する。このとき、代表文決定部35は、文生成集約部34によって生成された集約代表文候補文に付与された文書IDの数(つまり、当該集約代表文候補文に集約された代表文候補文の数)に基づいて回答代表文を決定する。なお、代表文決定部35によって決定された回答代表文には、当該回答代表文として決定された集約代表文候補文に付与された文書IDが付与されるが、当該文書IDは、当該集約代表文候補文に集約された代表文候補文の各々の生成に用いられた回答文書(を含む文書)を識別するための文書IDである。
このように、入力部51によって入力された複数の文書の各々に含まれる複数の回答文書に対して上記したステップS77〜S81の処理が実行されることによって、当該複数の回答文書(回答文書群)から代表文(回答代表文)が抽出される。
つまり、上記したステップS71〜S81の処理が実行されると、入力部51によって入力された複数の文書の各々に含まれる複数の問い合わせ文書(問い合わせ文書群)および複数の回答文書(回答文書群)からそれぞれ代表文(問い合わせ代表文および回答代表文)が抽出される。
次に、クロス集計部52は、ステップS76において代表文決定部35によって決定された問い合わせ代表文(つまり、問い合わせ文書群から抽出された代表文)およびステップS81において代表文決定部35によって決定された回答代表文(つまり、回答文書群から抽出された代表文)を用いて、当該問い合わせおよび回答に関するクロス集計を行う(ステップS82)。
この場合、クロス集計部52は、問い合わせ代表文および回答代表文(の組)毎に、当該問い合わせ代表文および当該回答代表文の両方に付与されている文書ID(当該問い合わせ代表文および当該回答代表文に共通する文書ID)の数を算出する。
上記したように対応する問い合わせ文書および回答文書は同一の文書IDによって識別されるため、当該問い合わせ文書(を構成する文)から生成される代表文候補文および当該回答文書(を構成する文)から生成される代表文候補文には同一の文書IDが付与される。このため、ここでクロス集計部52によって算出される文書IDの数は、問い合わせ代表文として決定された集約代表文候補文に集約された代表文候補文の各々の生成に用いられた問い合わせ文書および回答代表文として決定された集約代表文候補文に集約された代表文候補文の各々の生成に用いられた回答文書を含む文書の数に相当する。つまり、クロス集計部52によって算出される文書IDの数は、例えば問い合わせ代表文のような問い合わせに対して回答代表文のように回答をした件数(文書の件数)を表す。
クロス集計部52によるクロス集計結果には、上記したように問い合わせ代表文および回答代表文毎に算出された文書IDの数が当該問い合わせ代表文および回答代表文に対応づけて含まれる。
出力部53は、クロス集計部52によるクロス集計結果を出力する(ステップS83)。これにより、クロス集計部52によるクロス集計結果がユーザに対して表示(提示)される。
ここで、図61は、クロス集計部52によるクロス集計結果が表示された場合の表示画面の一例を示す。
ここでは、問い合わせ代表文として前述した図56に示す代表文が抽出されているものとする。なお、図61に示すように、問い合わせ代表文には文タイプが付与されている。また、回答代表文として「ビタミンC」、「高温多湿を避ける」、「蓋をお湯につける」、「アメリカ」および「和歌山」が抽出されているものとする。なお、図61においては省略しているが、これらの回答代表文に付与されている文タイプは全て状況であるものとする。
図61に示す表示画面300においては、例えば問い合わせ代表文「成分は?」および回答代表文「ビタミンC」に対応づけて数値「18」が表示されている。この数値「18」は、問い合わせ代表文「成分は?」および回答代表文「ビタミンC」の両方に付与された文書IDの数である。換言すれば、数値「18」は、入力部51によって入力された複数の文書のうち、問い合わせ代表文「成分は?」として決定された集約代表文候補文に集約された代表文候補文の各々の生成に用いられた問い合わせ文書および回答代表文「ビタミンC」として決定された集約代表文候補文に集約された代表文候補の各々の生成に用いられた回答文書を含む文書数である。これによれば、問い合わせ代表文「成分は?」のような問い合わせに対して回答代表文「ビタミンC」のように回答した数(文書の件数)が18であることが示されている。
ここでは、問い合わせ代表文「成分は?」および回答代表文「ビタミンC」(に対応づけられている数値)について説明したが、他の問い合わせ代表文および回答代表文(の組)についても同様に数値(当該問い合わせ代表文および回答代表文の両方に付与された文書IDの数)が表示されている。
なお、表示画面300に表示されたクロス集計結果によれば、上記したように入力部51によって入力された問い合わせ文書および回答文書を含む複数の文書(ユーザによって指定された文書群)においてどのような問い合わせ(質問)に対するどのような回答がどのくらいの件数あるかが示されているため、これらの情報は例えばFAQ(よくある質問とその回答集)の作成等に利用することができる。よって、図61に示す表示画面300においては、クロス集計結果をFAQ候補として表示している。
上記したように本実施形態においては、前述した第1の実施形態において説明した処理を問い合わせ文書群および回答文書群に対して実行することによって当該問い合わせ文書群および当該回答文書群のそれぞれから代表文(問い合わせ代表文および回答文書群)を抽出し、当該問い合わせ代表文および回答代表文を用いて当該問い合わせおよび回答に関するクロス集計を行い、当該クロス集計結果が提示される。
これにより、本実施形態においては、問い合わせおよび当該問い合わせに対する回答とその件数とをユーザは容易に把握することができるため、過去の問い合わせおよび回答の内容の分類または分析等による負荷を低減することが可能となる。また、ユーザに対して提示されたクロス集計結果は例えばFAQの候補として流用することができるため、当該FAQの作成に必要な作業の負荷または時間等を削減することができる。
以上説明した少なくとも1つの実施形態よれば、文タイプを考慮して文書群において頻度の高い内容を表す代表文を抽出することが可能な代表文抽出装置およびプログラムを提供することが可能となる。
なお、本願発明は、上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、各実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。