以下、図面を参照して、開示の技術に関する実施形態の一例を詳細に説明する。
<第1実施形態>
図1は、第1実施形態に係る短縮文生成装置の概略構成を示す機能ブロック図である。図1に示すように、第1実施形態に係る短縮文生成装置100は、文入力部11と、形態素解析部12と、係り受け解析部13と、結合確率テーブル生成部14と、結合確率付与部15と、閾値設定部16と、短縮文出力部19とを含む。さらに、短縮文生成装置100は、出現確率テーブル生成部111、必須結合判定部113、短縮文生成部117を含む。また、短縮文生成装置10には、結合確率テーブル20および出現確率テーブル112が記憶される。なお、短縮文生成部117は、開示の技術の生成部の一例である。結合確率テーブル20は、第一の記憶部に記憶される情報の一例である。また、出現確率テーブル112は、第二の記憶部に記憶される情報の一例である。
短縮文生成装置100には、後述する学習処理に用いられる複数の文例、又は、短縮文生成処理において短縮文を生成する対象となる入力文(以下、「短縮対象文」という)が入力される。なお、文例および入力文は、複数の構成要素からなる。そして、短縮文は、入力文を構成する複数の構成要素から一部の構成要素を除外する事で、生成される。なお、学習処理は、結合確率テーブル20および出現確率テーブル112を生成する処理である。
図2は、文例、ツリー構造、及びノード組を説明するための図である。図2に示すように、文例31は、原文32と、その原文32を短縮した短縮文33とを組にしたものである。短縮文33は、例えば、必須格の欠落が生じていないような自然な短縮文を人手により用意する。
文例31又は短縮対象文は、短縮文生成装置100に接続されたキーボード等の入力装置を介して入力したり、HDD(Hard Disk Drive)やUSBメモリやCD−ROMなどの記憶媒体、またはネットワークを介して接続された外部記憶装置等から読み込むことにより入力したりすることができる。なお、本実施形態では、文例31又は短縮対象文は、テキストデータで入力される場合について説明するが、音声データで入力し、音声認識によりテキストデータに変換する方式としてもよい。
文入力部11は、短縮文生成装置100に入力された複数の文例31を受け付け、形態素解析部12へ受け渡す。なお、短縮対象文が入力された場合にも、文入力部11は、入力された短縮対象文を、形態素解析部12へ受け渡す。
形態素解析部12は、形態素解析辞書を参照して、文例31に含まれる原文を形態素単位に分解し、各形態素に、その形態素の品詞等の情報を付与する。なお、短縮対象文が入力された場合にも、形態素解析部12は、短縮対象文を形態素単位に分解し、各形態素に、その形態素の品詞等の情報を付与する。
係り受け解析部13は、形態素解析結果に基づいて、例えば、名詞と後置詞(助詞)とを1つにまとめるなどの処理により、原文32の各々の文節単位を解析し、係り受けの規則に従って、文節間の係り受け関係を解析する。これにより、原文32の各々を、原文32の各々に含まれる文節間を係り受け関係に基づいて連結したツリー構造で表現することができる。なお、短縮対象文が入力された場合にも、係り受け解析部13は、形態素解析結果に基づいて、文節間の係り受け関係を解析する。
ここから、結合確率テーブル20および出現確率テーブル112の生成方法について、説明する。図2に示すように、原文32(又は短縮対象文)に含まれる文節の各々をノードで表し、係り受け関係にある文節間に対応するノード間を線で連結して、ツリー構造34を表現する。
まずは、結合確率テーブルについて説明する。結合確率テーブル生成部14は、短縮文生成装置100に複数の文例が入力された場合、すなわち、結合確率テーブル20の生成時に、機能する機能部である。結合確率テーブル生成部14は、複数の文例31に基づいて、原文32を表すツリー構造34に含まれる各文節間の連結が、その原文32に対応する短縮文33において残存する確率を、文節間の係り受け関係の属性毎に導出する。原文32を表すツリー構造34に含まれる各文節間の連結が、その原文32に対応する短縮文33において残存する確率は、以下、結合確率と称される。また、結合確率は、文を構成する複数の構成要素のうち、文法的又は概念的関係で連結される2つの構成要素間の特徴毎に、2つの構成要素を組として短縮文33に残すかを判断するための、第一の指標の一例である。
具体的には、結合確率テーブル生成部14は、ツリー構造34の各々から、線で連結された2つのノードをノード組35として抽出する。結合確率テーブル生成部14は、ノード組35のうち、原文32において係り元となる文節に対応するノードをFROMノード、係り先となる文節に対応するノードをTOノードとして特定する。例えば、図2において、破線で囲んだノード組35Aでは、文節「論客が」に対応するノードがFROMノード、文節「去った」に対応するノードがTOノードとして特定される。なお、以下では、文節「A」に対応するノードをノード「A」と表記する。また、個々のノード組を区別なく説明する場合には、単に「ノード組35」と表記し、個々のノード組を区別する場合には、「ノード組35A」、「ノード組35B」、・・・のように、アルファベット記号を付加した符号で表記する。
結合確率テーブル生成部14は、全ての文例31の原文32の各々を表すツリー構造34の各々に含まれる全てのノード組35から、属性が同一のノード組35について、ノード組の属性毎の結合確率を導出する。ノード組の属性毎の結合確率とは、その属性に該当するノード組が枝刈りされずに短縮文に残存する確率である。また、ノード組の属性とは、ノード組35が有する文法的特徴であり、例えば、FROMノード又はTOノードに対応する文節に、特定の品詞の形態素が含まれるか又は含まれないか等の情報である。例えば、「FROMノードが助詞「が」を含む」、「FROMノードが助詞「が」を含まない」、「TOノードが動詞を含む」、「TOノードが動詞を含まない」などを、ノード組の属性とすることができる。なお、1つのノード組35が複数の属性に該当する場合がある。
結合確率テーブル生成部14は、例えば、下記(1)式により、属性iのノード組の結合確率を導出する。
(1)式において、「属性iのノード組の数」とは、全てのノード組35のうち、属性iに該当するノード組35の数である。「短縮文に残存する属性iのノード組の数」とは、属性iに該当するノード組35であって、ノード組35に含まれる2つのノードに対応する文節が、そのノード組35を含む原文32を短縮した短縮文33に残存しているノード組の数である。短縮文33に残存しているノード組35、すなわち、短縮文33生成の際にノード間が枝刈りされなかったノード組35の数が多いほど、結合確率が高くなる。
図2を参照して、短縮文に残存するノード組35について説明する。なお、図2に示すツリー構造34では、短縮文に残存するノードを、太線枠のノードで示している。図2において、破線で囲んだノード組35A(FROMノード「論客が」、TOノード「去った」)は、両ノードとも短縮文に残存する。すなわち、ノード組35Aのノード間は枝刈りされない。一方、図2において、一点破線で囲んだノード組35B(FROMノード「日」、TOノード「去った」)は、ノード「去った」は短縮文33に残存するが、ノード「日」は短縮文に残存しない。すなわち、ノード「日」とノード「去った」との間で、枝刈りされる。なお、図2において、二点破線で囲んだノード組35Cのように、両ノードとも短縮文33に含まれない場合は、結合確率の導出に用いるノード組の対象としない。
結合確率テーブル生成部14は、複数の文例31を用いて、例えば上記(1)式により導出したノード組の属性毎の結合確率を、例えば図3に示すような結合確率テーブル20に格納する。
図3は、第1実施形態における結合確率テーブルの一例を示す図である。図3の例では、1つのノード組の属性に対する1つの結合確率の値が、1エントリとして格納されている。なお、図3の例では、結合確率を対数表示している。結合確率テーブル生成部14は、生成した結合確率テーブル20を所定の記憶領域に記憶する。
次に、出現確率テーブルについて説明する。出現確率テーブル生成部111は、短縮文生成装置100に複数の文例が入力された場合、すなわち、出現確率テーブル112の生成時に、機能する機能部である。出現確率テーブル生成部111は、複数の文例31に基づいて、原文32を表すツリー構造34に含まれる、用言ノードと該用言に対する格ノードとの間の連結が、その原文32に対応する短縮文33において残存する確率を、用言ごとに、かつ、属性毎に導出する。出現確率は、原文32を表すツリー構造34に含まれる、用言ノードと該用言に対する格ノードとの間の連結が、その原文32に対応する短縮文33において残存する確率である。また、出現確率は、2つの構成要素の一方が用言、他方が該用言に対する格である場合に、用言が持つ意味に応じて、2つの構成要素を組として短縮文に残すかを判断するための、第二の指標の一例である。なお、用言とは、動詞、形容詞、形容動詞の3つの品詞を含む。
具体的には、出現確率テーブル生成部111は、ツリー構造34の各々から、線で連結された2つのノードのうち、片方に用言(動詞、形容詞、形容動詞のいずれか)を有するノード組を、ノード組36として抽出する。出現確率テーブル生成部111は、ノード組36のうち、原文32において係り元となる文節に対応するノードをFROMノード、係り先となる文節に対応するノードをTOノードとして特定する。
例えば、図2において、破線で囲んだノード組36A(ノード35Aと同一)では、文節「論客が」に対応するノードがFROMノード、文節「去った」に対応するノードがTOノードとして特定される。個々のノード組を区別なく説明する場合には、単に「ノード組36」と表記し、個々のノード組を区別する場合には、「ノード組36A」、「ノード組36B」、・・・のように、アルファベット記号を付加した符号で表記する。
出現確率テーブル生成部111は、全ての文例31の原文32の各々を表すツリー構造34の各々に含まれる、片方に用言を有するノード組36から、用言および属性が同一のノード組36について、出現確率を導出する。用言ごと、かつ、ノード組の属性毎の出現確率とは、ある用言に関して、その属性に該当するノード組が枝刈りされずに短縮文に残存する確率である。
なお、属性は、結合確率と同様に、ノード組36が有する文法的特徴である。例えば、ノード組36Aの場合には、FROMノードの動詞「論客が」に対して、TOノード「去った」であるので、当該ノード組36Aの属性は、「該用言に対する格ノードが助詞「が」を含む」となる。
出現確率テーブル生成部111は、用言ごと、かつ、属性ごとに、例えば、下記(2)式により、属性iのノード組の出現確率を導出する。
(2)式において、「ある用言に関する属性iのノード組の数」とは、片方に用言を有するノード組36のうち、特定の用言(例えば、「去る」)を持ち、さらに、属性iに該当するノード組36の数である。「ある用言に関する短縮文に残存する属性iのノード組の数」とは、特定の用言(例えば、「去る」)を持ち、さらに、属性iに該当するノード組36であって、ノード組36に含まれる2つのノードに対応する文節がそのノード組36を含む原文32を短縮した短縮文33に残存しているノード組の数である。
短縮文33に残存しているノード組36、すなわち、短縮文33生成の際にノード間が枝刈りされなかったノード組36の数が多いほど、ある属性の出現確率が高くなる。例えば、動詞「行く」、動詞「持つ」、動詞「なる」、形容詞「きれい」、形容詞「寒い」、形容動詞「きれいだ(な)」などの各々について、属性ごとの出現確率が算出される。
図2を参照して、短縮文に残存するノード組36について説明する。図2において、破線で囲んだノード組36A(FROMノード「論客が」、TOノード「去った」)は、両ノードとも短縮文33に残存する。すなわち、ノード組35Aのノード間は枝刈りされない。一方、図2において、一点破線で囲んだノード組36B(FROMノード「世を」、TOノード「去った」)は、ノード「去った」は短縮文33に残存するが、ノード「日」は短縮文33に残存しない。すなわち、ノード「日」とノード「去った」との間で、枝刈りされる。なお、図2において、二点破線で囲んだノード組36Cのように、両ノードとも短縮文33に含まれない場合は、出現確率の導出に用いるノード組の対象としない。
具体的には、出現確率テーブル生成部111は、複数の原文32を対象に、例えば、動詞「去った」を含むノード組36のうち、さらに、該用言に対する格ノードが「論客が」のように「動作主体」であるノード組36の総数を計数する。さらに、出現確率テーブル生成部111は、複数の短縮文33を対象に、例えば、動詞「去った」を含むノード組36のうち、さらに、該用言に対する格ノードが「論客が」のように「動作主体」であるノード組36の数を計数する。そして、下記(2)式により、出現確率テーブル生成部111は、動詞「去った(去る)」に対して、属性として、「該用言に対する格ノードが助詞「が」を含む」の出現確率を求める。
出現確率テーブル生成部111は、複数の文例31を用いて、例えば上記(2)式により導出した、用言毎、かつ、ノード組の属性毎の出現確率を、例えば図4に示すような出現確率テーブル112に格納する。
また、原文32と短縮文33とを両方含む文例31を十分に収集できない場合がある。具体的には、用言毎、かつ、ノード組の属性毎に、出現確率を求めるために、様々な用言を含む原文32と短縮文33とのセット(文例31)を、十分に収集することが難しい場合もある。一方で、原文32は存在するものの、短縮文33が存在しない場合も多いことから、発明者は、用言毎、かつ、ノード組の属性毎に、出現確率を求めるために、次の代替手段を見出した。
そこで、本実施例においては、出現確率テーブル生成部111は、短縮文33は存在しないが、原文32のみを十分に収集できる場合には、上記(2)式に変えて、以下の(3)式で出現確率を求めることとしてもよい。
(3)式により求められる出現確率は、「ある用言がどの格(属性)をともなって利用されることが多いか」を示すこととなる。よって、(2)式で求められた出現確率「属性に該当するノード組が枝刈りされずに短縮文に残存する確率」と一義的に対応するものではない。しかし、発明者の実験により、(3)式で求められた出現確率を利用する事で、原文32と短縮文33とを両方含む文例31を十分に収集できない場合でも、結果として生成される短縮文が、必須格の欠落のない自然な短縮文になる可能性が向上することが確認された。よって、出現確率テーブル生成部111は、文例31の収集状況によって、(2)式や(3)式を選択し、実質的に「属性に該当するノード組が枝刈りされずに短縮文に残存する確率」に相当する出現確率を算出する。
図4は、第1実施形態における出現確率テーブルの一例を示す図である。図4の例では、ある用言について、1つのノード組の属性に対する1つの出現確率の値が、1エントリとして格納されている。なお、図4の例では、出現確率を対数表示している。出現確率テーブル生成部111は、生成した出現確率テーブル112を所定の記憶領域に記憶する。
以下の結合確率付与部15、必須結合判定部113、閾値設定部16、短縮文生成部117、及び短縮文出力部19は、短縮文生成装置100に短縮対象文が入力された場合、すなわち、短縮文生成時に機能する機能部である。
結合確率付与部15は、結合確率テーブル20に格納されたノード組の属性毎の結合確率を用いて、係り受け解析部13により解析された短縮対象文のツリー構造34における各ノード間に結合確率を付与する。具体的には、結合確率付与部15は、結合確率テーブル生成部14と同様に、短縮対象文を解析したツリー構造34から、線で連結された2つのノードをノード組35として抽出し、FROMノード及びTOノードを特定する。そして、結合確率付与部15は、結合確率テーブル20から、各ノード組35が該当する属性の全ての結合確率を取得し、それらの積を、該当のノード組35の結合確率積として付与する。
必須結合判定部113は、出現確率テーブル112に格納された、用言毎、かつ、ノード組の属性毎の出現確率を用いて、係り受け解析部13により解析された短縮対象文のツリー構造34における、一方に用言を含むノード組36のうち、必須結合に該当するノード組36を特定する。なお、ノード組36の間の結合が必須結合に相当する場合に、該用言に対する格ノードは用言ノードに対して必須格の関係にあると言える。
具体的には、必須結合判定部113は、出現確率テーブル生成部111と同様に、短縮対象文を解析したツリー構造34から、線で連結された2つのノードのノード組35のうち、一方に用言を含むノード組36を抽出する。そして、必須結合判定部113は、出現確率テーブル112から、ノード組36に含まれる用言に対応し、かつ、属性が一致するレコードを特定する。そして、特定されたレコードの出現確率が、所定の閾値以上である場合に、当該ノード組36を、必須結合と判定する。
例えば、ノード組36が、動詞「取る」を含み、かつ、該用言に対する格ノードが助詞「が」を含む場合、出現確率テーブル112から、動詞「取る」に対応する属性「該用言に対する格ノードが助詞「が」を含む」の出現確率「−0.17」が取得される。所定の閾値が例えば「−0.2」である場合、出現確率「−0.17」は、所定の閾値よりも大きいため、当該ノード組36の間の結合は、必須結合と判定される。
閾値設定部16は、入力装置を介して入力されたり、予め所定の記憶領域に記憶されたりしている結合確率積の閾値を、短縮文生成部117に設定する。さらに、必須結合を判断するための所定の閾値を、必須結合判定部113に設定する。例えば、これら閾値は、管理者によって、入力される。
短縮文生成部117は、短縮対象文のツリー構造34において、ルートノードから、閾値設定部16により設定された閾値以上の結合確率積で結合されているノードと必須結合と判定されたノードとを辿り、中断なく辿ることができた経路上のノードを抽出する。なお、係り受け構造を表すツリー構造におけるルートノードは、短縮対象文において係り先を持たない文節に対応するノードである。短縮文生成部117は、抽出したノードに対応する文節を、短縮対象文における出現順に並べることにより、短縮文を生成する。
短縮文出力部19は、短縮文生成部117により生成された短縮文を、表示装置に表示したり、記憶媒体に記憶したり、プリンタで印字したりするなどして、出力する。さらに、短縮文出力部19は、複数の短縮対象文を含む文章が入力された場合には、短縮対象文それぞれに対応する短縮文を組み合わせて出力してもよい。
図5は、第1実施形態に係る短縮文生成装置として機能するコンピュータの概略構成を示すブロック図である。短縮文生成装置100は、例えば、図5に示すコンピュータ400で実現することができる。コンピュータ400はCPU41、一時記憶領域としてのメモリ42、及び不揮発性の記憶部43を備える。また、コンピュータ400は、表示装置及び入力装置等の入出力装置48が接続される入出力インターフェース(I/F)44を備える。また、コンピュータ400は、記録媒体49に対するデータの読み込みと書き込みとを制御するread/write(R/W)部45、及びインターネット等のネットワークに接続されるネットワークI/F46を備える。CPU41、メモリ42、記憶部43、入出力I/F44、R/W部45、及びネットワークI/F46は、バス47を介して互いに接続される。
記憶部43は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部43には、コンピュータ400を短縮文生成装置100として機能させるための短縮文生成プログラム450が記憶される。また、記憶部43は、結合確率テーブル20を構成する情報が記憶される結合確率情報記憶領域60、および、出現確率テーブル112を構成する情報が記憶される出現確率情報記憶領域454を有する。
CPU41は、短縮文生成プログラム450を記憶部43から読み出してメモリ42に展開し、短縮文生成プログラム450が有するプロセスを順次実行する。また、CPU41は、結合確率情報記憶領域60および出現確率情報記憶領域454から情報を読み出し、結合確率テーブル20および出現確率テーブル112をメモリ42に展開する。
短縮文生成プログラム450は、文入力プロセス51と、形態素解析プロセス52と、係り受け解析プロセス53と、結合確率テーブル生成プロセス54と、出現確率テーブル生成プロセス451、結合確率付与プロセス55と、必須結合判定プロセス452、閾値設定プロセス56とを有する。また、短縮文生成プログラム450は、短縮文生成プロセス453と、短縮文出力プロセス59とを有する。
CPU41は、文入力プロセス51を実行することで、図1に示す文入力部11として動作する。また、CPU41は、形態素解析プロセス52を実行することで、図1に示す形態素解析部12として動作する。また、CPU41は、係り受け解析プロセス53を実行することで、図1に示す係り受け解析部13として動作する。また、CPU41は、結合確率テーブル生成プロセス54を実行することで、図1に示す結合確率テーブル生成部14として動作する。
また、CPU41は、出現確率テーブル生成プロセス541を実行することで、図1に示す出現確率テーブル生成部111として動作する。また、CPU41は、結合確率付与プロセス55を実行することで、図1に示す結合確率付与部15として動作する。また、CPU41は、必須結合判定プロセス452を実行することで、図1に示す必須結合判定部113として動作する。また、CPU41は、閾値設定プロセス56を実行することで、図1に示す閾値設定部16として動作する。また、CPU41は、短縮文生成プロセス453を実行することで、図1に示す短縮文生成部117として動作する。また、CPU41は、短縮文出力プロセス59を実行することで、図1に示す短縮文出力部19として動作する。これにより、短縮文生成プログラム450を実行したコンピュータ400が、短縮文生成装置100として機能することになる。
なお、CPU41は、ハードウェアとしてのプロセッサーの一例である。よって、短縮文生成プログラム450により実現される機能は、CPUやMPUなどの、ハードウェアとしてのプロセッサーにより実現される。また、短縮文生成プログラム450により実現される機能は、例えば半導体集積回路、より詳しくはASIC(Application Specific Integrated Circuit)等で実現することも可能である。
次に、第1実施形態に係る短縮文生成装置100の作用について説明する。結合確率テーブル20の生成時において、短縮文生成装置100に複数の文例31が入力されると、図6に示す結合確率テーブル生成処理および図7に示す出現確率テーブル生成処理が実行される。また、短縮文生成時において、短縮文生成装置100に短縮対象文が入力されると、図8Aおよび8Bに示す短縮文生成処理が実行される。なお、短縮文生成装置100において実行される短縮文生成処理は、開示の技術の短縮文生成方法の一例である。以下、各処理について説明する。
まず、結合確率テーブル生成処理について説明する。図6は、結合確率テーブル生成処理の一例を示すフローチャートである。
図6に示す結合確率テーブル生成処理のステップS11で、文入力部11が、入力された複数の文例31を受け付ける。次に、ステップS12で、形態素解析部12が、文例31に含まれる原文32の各々を形態素解析する。次に、ステップS13で、係り受け解析部13が、形態素解析結果に基づいて、原文32の各々を係り受け解析し、図2に示すように、原文32の各々の文節間の係り受け関係を表現したツリー構造34を生成する。
次に、ステップS14で、結合確率テーブル生成部14が、全ての原文32のツリー構造34の各々から、全てのノード組35を抽出し、各ノード組のFROMノード及びTOノードを特定する。そして、結合確率テーブル生成部14が、各ノード組35の属性、及び各ノード組35が短縮文に残存するか又は短縮時に枝刈りされるかに基づいて、例えば、上記(1)式により、ノード組の属性毎の結合確率を導出する。
次に、ステップS15で、結合確率テーブル生成部14が、上記ステップS14で導出したノード組の属性毎の結合確率を、例えば図3に示すような結合確率テーブル20に格納し、所定の記憶領域に記憶し、結合確率テーブル生成処理は終了する。
次に、出現確率テーブル生成処理について説明する。図7は、出現確率テーブル生成処理の一例を示すフローチャートである。
図7に示す出現確率テーブル生成処理のステップS111で、文入力部11が、入力された複数の文例31を受け付ける。次に、ステップS112で、形態素解析部12が、文例31に含まれる原文32の各々を形態素解析する。次に、ステップS113で、係り受け解析部13が、形態素解析結果に基づいて、原文32の各々を係り受け解析し、図2に示すように、原文32の各々の文節間の係り受け関係を表現したツリー構造34を生成する。なお、出現確率テーブル生成処理と、結合確率テーブル生成処理とが並行して行われる場合には、ステップS111乃至ステップS113は、ステップS11乃至ステップS33に統合される。
次に、ステップS114で、出現確率テーブル生成部111が、全ての原文32のツリー構造34の各々から、全てのノード組35を抽出し、さらに、片方に用言を有するノード組36を特定する。
そして、出現確率テーブル生成部111が、各ノード組36に含まれる用言ごと、さらに、ノード組の属性ごとに、例えば、上記(2)式や上記(3)式により、用言毎かつノード組の属性毎の出現確率を導出する。
次に、ステップS115で、出現確率テーブル生成部111が、上記ステップS114で導出したノード組の用言毎かつ属性毎の出現確率を、例えば図4に示すような出現確率テーブル112に格納し、所定の記憶領域に記憶し、出現確率テーブル生成処理は終了する。
次に、短縮文生成処理について説明する。図8Aおよび図8Bは、第1実施形態における短縮文生成処理の一例を示すフローチャートである。
短縮文生成処理のステップS21で、文入力部11が、短縮文生成装置100に入力された短縮対象文を受け付ける。
次に、ステップS22で、形態素解析部12が、短縮対象文を形態素解析する。次に、ステップS23で、係り受け解析部13が、形態素解析結果に基づいて、短縮対象文を係り受け解析し、短縮対象文の文節間の係り受け関係を表現したツリー構造34を生成する。
次に、ステップS24のループ処理で、結合確率付与部15が、上記ステップS23で生成されたツリー構造34に含まれるノード組を1つずつ処理対象として設定し、ステップS25の処理、ステップS26のループ処理、及びステップS29の処理を実行する。
ステップS25では、結合確率付与部15が、処理対象のノード組35の結合確率積を示す変数xに、初期値として「0.0」を設定する。
次に、ステップS26のループ処理で、結合確率付与部15が、結合確率テーブル20に含まれる各エントリを1つずつ処理対象として設定し、以下のステップS27及びステップS28の処理を実行する。
ステップS27では、結合確率付与部15が、処理対象のノード組35に含まれる各ノードに対応する文節の短縮対象文での出現順に基づいて、FROMノード及びTOノードを特定する。そして、結合確率付与部15が、処理対象のノード組35の属性が、処理対象のエントリの属性に合致するか否かを判定する。合致する場合には、処理はステップS28へ移行し、合致しない場合には、ステップS28の処理はスキップされる。例えば、処理対象のエントリのノード組の属性が「FROMノードが助詞「が」を含む」であるとする。ここでは、処理対象のノード組35のFROMノードに助詞「が」が含まれる場合に、合致すると判定され、処理はステップS28へ移行する。
ステップS28では、変数xに処理対象のエントリの結合確率の値を加算する。ここでは、初期値である「0.0」に、処理対象のエントリの結合確率「−0.12」が加算されて、変数xが「−0.12」となる。なお、本実施形態では、結合確率を対数に変換して扱うため、ノード組の属性が合致するエントリの結合確率を変数xに加算しているが、結合確率を真数のまま用いる場合には、ノード組の属性が合致するエントリの結合確率と変数xとを乗算する。
結合確率テーブル20に含まれる全てのエントリについて、ステップS26のループ処理が終了すると、処理はステップS29へ移行する。この段階で、結合確率積を示す変数xとして、処理対象のノード組35について、そのノード組の属性に該当する結合確率を全て乗算(対数の場合、加算)した値が得られる。ステップS29では、結合確率付与部15が、処理対象のノード組35に含まれる2つのノード間の結合確率積として、変数xの値を付与する。
すべてのノード組について、ステップS24のループ処理が終了すると、ステップS121で、必須結合判定部113が、必須結合を特定する。必須結合判定部113は、出現確率テーブル112における複数のエントリのうち、必須結合を判定するための閾値よりも大きな出現確率を持つエントリを、必須結合として特定する。なお、当該閾値は、閾値設定部16より入力される。
ただし、ステップS121の処理は、短縮文生成処理に先駆けて実施されてもよい。すなわち、閾値が固定の場合には、必須結合判定部113が、予め、閾値以上の出現確率を有するエントリに対して、必須結合であることを示すフラグを付与する。予め、必須結合が特定されている場合には、ステップS121の処理は、短縮文生成処理において省略される。
次に、ステップS122のループ処理で、上記ステップS23で生成されたツリー構造34に含まれるノード組35を1つずつ処理対象として設定し、ステップS123の処理、ステップS124の処理を実行する。
ステップS123では、必須結合判定部113が、処理対象のノード組35が、必須結合に該当するか判定する。つまり、必須結合判定部113が、ノード組35が用言のノードを含むノード組36であって、かつ、当該ノード組36における用言と属性の組み合わせがステップS121において必須結合として特定されているかを判定する。
ノード組35が用言のノードを含むノード組36であって、かつ、当該ノード組36における用言ノードと該用言に対する格ノードとの属性の組み合わせがステップS121において必須結合として特定されている場合には、ステップS123において肯定の判定がなされ、必須結合判定部113が、ステップS124において、当該ノード組36を、必須結合として設定する。一方、ステップS123において否定の判定がなされた場合には、ステップS124はスキップされる。
全てのノード組に対して、ステップS122のループ処理が終了すると、処理はステップS126へ移行する。この段階で、ツリー構造34の中のノード組35のうち、用言のノードを含むノード組36であって、かつ、当該ノード組36における用言ノードと該用言に対する格ノードとの属性の組み合わせがステップS121において必須結合として特定されているノード組については、必須結合により連結されているという情報が付与される。
次に、ステップS126で、閾値設定部16が、結合確率積の閾値を設定する。そして、短縮文生成部117が、短縮対象文のツリー構造34において、ルートノードから、設定された閾値以上の結合確率積で結合されているノード、または、必須結合で連結されているノードを辿り、中断なく辿ることができた経路上のノードを抽出する。
次に、ステップS31で、短縮文生成部117が、上記ステップS126で抽出したノードに対応する文節を、短縮対象文における出現順に並べることにより、短縮文を生成する。
次に、ステップS60で、短縮文出力部19が、上記ステップS31で生成された短縮文を出力し、短縮文生成処理は終了する。
以上説明したように、第1実施形態に係る短縮文生成装置100によれば、短縮対象文に含まれる文節間の係り受け関係を、各文節に対応するノードを連結したツリー構造で表現する。そして、連結された2つのノード間に、該ノード間が短縮文生成の際に枝刈りされずに短縮文に残存する確率を示す結合確率を付与する。さらに、連結された2つのノードのうち、片方のノードが用言である場合には、用言毎に、用言ノードと該用言に対する格ノードとの属性に応じて、当該2つのノードの間の連結が必須結合であるかを判定する。つまり、他方のノードが、用言の必須格であるかが判定される。
そして、ルートノードから閾値以上の結合確率で連結されたノード、または、必須結合を辿って抽出されたノードに基づいて、短縮文を生成する。このように、係り受け関係に基づく文節間の結合確率および、出現確率に基づく必須結合を用いて、ノード間を枝刈りするか否かを判断するため、例えば、必須格の欠落を招くような枝刈りが抑制され、自然な短縮文を生成することができる。
<第2実施形態>
次に、第2実施形態について説明する。なお、第2実施形態に係る短縮文生成装置について、第1実施形態に係る短縮文生成装置100と同様の部分については、同一符号を付して詳細な説明を省略する。
図9は、第2実施形態に係る短縮文生成装置の概略構成を示す機能ブロック図である。図9に示すように、第2実施形態に係る短縮文生成装置300は、文入力部11と、形態素解析部12と、概念構造解析部213と、結合確率テーブル生成部214と、結合確率付与部215と、短縮文長設定部216とを含む。また、短縮文生成装置300は、短縮文選択部18と、短縮文出力部19とを含む。さらに、短縮文生成装置300は、出現確率テーブル生成部311、必須結合判定部313、短縮文候補生成部317を含む。
短縮文生成装置300には、結合確率テーブル220および出現確率テーブル312が記憶される。なお、短縮文候補生成部317は、開示の技術の生成部の一例である。結合確率テーブル220は、第一の記憶部に記憶される情報の一例である。また、出現確率テーブル312は、第二の記憶部に記憶される情報の一例である。
概念構造解析部213は、形態素解析部12による形態素解析結果に基づいて、原文32の各々又は短縮対象文の文節単位を解析し、語彙概念構造辞書を参照して、文節間の意味関係を特定し、原文32の各々又は短縮対象文の概念構造を解析する。これにより、原文32の各々又は短縮対象文を、原文32又は短縮対象文に含まれる文節間を概念構造に基づいて連結したツリー構造で表現することができる。
原文32を概念構造解析したツリー構造の一例を図10に示す。図10は、概念構造解析によるツリー構造の一例を示す図である。なお、図10では、「彼は大学をかろうじて卒業したあと、資格を取って薬剤師になった。」を例としたツリー構造234が示されている。
図10に示すように、原文(又は短縮対象文)に含まれる文節の各々をノードで表し、意味的に関係のある文節間に対応するノード間を矢印で連結して、ツリー構造234を表現する。また、矢印で連結されたノード間には、連結されたノード間の関係の種別を示す関係種別が付与されている。図10の例では、例えば、ノード「彼は」とノード「卒業したあと、」との間の関係種別は「動作主」であることを表している。
なお、一方のノードが用言(動詞、形容詞、形容動詞)である場合の関係種別は、特に述語格と表現される場合がある。また、ノードの矢印の向きもノード間の関係を表しており、例えば、上記の例では、矢印の終点側のノード「彼は」が、矢印の始点側のノード「卒業したあと、」の「動作主」であることを表している。
結合確率テーブル生成部214は、第1実施形態における結合確率テーブル生成部14と同様に、ノード組の属性毎の結合確率を導出する。以下、第1実施形態における結合確率テーブル生成部14と異なる点について説明する。
第2実施形態における結合確率テーブル生成部214は、結合確率テーブル220を生成する際、ノード組の属性として、概念構造におけるノード間の関係種別も用いる。また、結合確率テーブル生成部214は、矢印で連結された2つのノードからなるノード組35のうち、矢印の始点側のノードをFROMノード、矢印の終点側のノードをTOノードとして特定する。
図11は、ノード組の設定を説明するための図である。例えば、図11において、破線で囲んだノード組35では、ノード「卒業したあと、」がFROMノード、ノード「彼は」がTOノードとして特定される。
図12は、第2実施形態における結合確率テーブルの一例である。なお、ノード組の属性の各々についての結合確率の導出方法は、第1実施形態と同様である。
出現確率テーブル生成部311は、第1実施形態における出現確率テーブル生成部111と同様に、用言毎、かつ、ノード組の属性毎の結合確率を導出する。以下、第1実施形態における出現確率テーブル生成部111と異なる点について説明する。
第2実施形態における出現確率テーブル生成部311は、出現確率テーブル312を生成する際、ノード組の属性として、概念構造におけるノード間の関係種別を用いる。具体的には、出現確率テーブル生成部311は、矢印で連結された2つのノードからなるノード組35のうち、一方に用言を含むノード組36を特定する。図13は、ノード組の設定を説明するための図である。例えば、図13において、一方に用言「なった」を含むノード組36が特定される。
図14は、第2実施形態における出現確率テーブルの一例である。出現確率テーブル312は、用言毎に、関係種別(属性)に応じた出現確率を管理する。つまり、用言ごとに、述語格に応じた出現確率が管理される。なお、用言毎、かつ、ノード組の属性ごとの出現確率の導出方法は、第1実施形態と同様である。
結合確率付与部215は、結合確率テーブル220に格納されたノード組の属性毎の結合確率を用いて、概念構造解析部213により解析された短縮対象文のツリー構造234における各ノード間に結合確率積を付与する。ノード組35の矢印の始点側か終点側かに応じて、FROMノード及びTOノードを特定する点、及びノード間に付与する結合確率積に、ノード間の関係種別に応じた結合確率も反映される点が第1実施形態と異なる。その他の点については、第1実施形態の結合確率付与部15と同様である。
必須結合判定部313は、出現確率テーブル312に格納された、用言毎、かつ、ノード組の属性毎の出現確率を用いて、概念構造解析部213により解析された短縮対象文のツリー構造234における、一方に用言を含むノード組36のうち、必須結合に該当するノード組36を特定する。なお、必須結合の特定方法は、第1実施形態の必須結合判定部313と同様である。
短縮文長設定部216は、入力装置を介して入力された短縮文長、または、予め所定の記憶領域に記憶されている所望の短縮文長を、短縮文選択部18に設定する。短縮文長とは、出力される短縮文の長さであり、短縮文の文字数やバイト数、単語数、文節数で設定することができる。なお、短縮文長を設定する変わりに、短縮対象文の長さに対する短縮文の長さの割合(短縮率)を設定してもよい。
短縮文候補生成部317は、複数の異なる第一の閾値の各々を設定し、設定した第一の閾値毎に、短縮文候補を生成する。短縮文候補生成部317は、第一の閾値を順次変更しながら、第一の閾値以上の結合確率積で結合されているノードまたは必須結合と判定されたノードを辿り、中断なく辿ることができた経路上のノードを抽出することで、第一の閾値ごとの短縮文候補を生成する。第一の閾値を順次変更しながら短縮文候補を生成する事で、後述のように、さまざまな長さの短縮文候補を生成することができる。なお、本実施形態においては、短縮文候補の生成にかかる閾値を第一の閾値とし、必須結合の判定のための閾値を第二の閾値と称する。
複数の異なる第一の閾値は、例えば、短縮対象文のツリー構造234に含まれるノード組35に付与された結合確率積の各々とすることができる。この場合、短縮文候補生成部317は、ノード組35に付与された結合確率積の各々を大きい順にソートし、値が大きな結合確率積から順に閾値に設定して、各々の閾値に応じた短縮文候補を生成する。
また、短縮文候補に含めるノードを抽出する際のルートノードは、ツリー構造234において、矢印の終点側にならないノードである。短縮文候補生成部317は、生成した短縮文候補の各々と、各短縮文候補の短縮文長とをバッファに格納する。
短縮文選択部18は、バッファに格納された短縮文候補から、短縮文長設定部216により設定された短縮文長の範囲内で最長の短縮文長となる短縮文候補を選択する。短縮文選択部18は、選択した短縮文候補を、出力する短縮文として、短縮文出力部19へ受け渡す。
短縮文生成装置300は、例えば、図15に示すコンピュータ700で実現することができる。図15は、第2実施形態に係る短縮文生成装置として機能するコンピュータの概略構成を示すブロック図である。コンピュータ700はCPU71、メモリ72、及び不揮発性の記憶部73を備える。また、コンピュータ700は、入出力装置78が接続される入出力I/F74、記録媒体79に対するデータの読み込みと書き込みとを制御するR/W部75、及びネットワークI/F76を備える。CPU71、メモリ72、記憶部73、入出力I/F74、R/W部75、及びネットワークI/F76は、バス77を介して互いに接続される。
記憶部73は、HDD、SSD、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部73には、コンピュータ700を短縮文生成装置300として機能させるための短縮文生成プログラム750が記憶される。また、記憶部73は、結合確率テーブル220を構成する情報が記憶される結合確率情報記憶領域754、および出現確率テーブル312を構成する情報が記憶される出現確率情報記憶領域755を有する。
CPU71は、短縮文生成プログラム750を記憶部73から読み出してメモリ72に展開し、短縮文生成プログラム750が有するプロセスを順次実行する。また、CPU71は、結合確率情報記憶領域754から情報を読み出し、結合確率テーブル220をメモリ72に展開する。さらに、CPU71は、出現確率情報記憶領域755から情報を読み出し、出現確率テーブル312をメモリ72に展開する。
短縮文生成プログラム750は、文入力プロセス51と、形態素解析プロセス52と、概念構造解析プロセス253と、結合確率テーブル生成プロセス254と、出現確率テーブル生成プロセス751と、結合確率付与プロセス255と、必須結合判定プロセス752と、短縮文長設定プロセス256とを有する。また、短縮文生成プログラム750は、短縮文候補生成プロセス753と、短縮文選択プロセス58と、短縮文出力プロセス59とを有する。
CPU71は、概念構造解析プロセス253を実行することで、図9に示す概念構造解析部213として動作する。また、CPU71は、結合確率テーブル生成プロセス254を実行することで、図9に示す結合確率テーブル生成部214として動作する。また、CPU71は、出現確率テーブル生成プロセス751を実行することで、図9に示す出現確率テーブル生成部311として動作する。
また、CPU71は、結合確率付与プロセス255を実行することで、図9に示す結合確率付与部215として動作する。また、CPU71は、必須結合判定プロセス752を実行することで、図9に示す必須結合判定部313として動作する。また、CPU71は、短縮文長設定プロセス256を実行することで、図9に示す短縮文長設定部216として動作する。また、CPU71は、短縮文候補生成プロセス753を実行することで、図9に示す短縮文候補生成部317として動作する。また、CPU71は、短縮文選択プロセス58を実行することで、図9に示す短縮文選択部18として動作する。
他のプロセスについては、第1実施形態における短縮文生成プログラム450と同様である。これにより、短縮文生成プログラム750を実行したコンピュータ700が、短縮文生成装置300として機能することになる。
なお、CPU71は、ハードウェアとしてのプロセッサーの一例である。よって、短縮文生成プログラム750により実現される機能は、CPUやMPUなどの、ハードウェアとしてのプロセッサーにより実現される。また、短縮文生成プログラム750により実現される機能は、例えば半導体集積回路、より詳しくはASIC等で実現することも可能である。
次に、第2実施形態に係る短縮文生成装置300の作用について説明する。結合確率テーブル220の生成時において、短縮文生成装置300に複数の文例31が入力されると、図6に示す結合確率テーブル生成処理が実行される。ただし、以下の点が、第1実施形態における処理と異なる。
ステップS13では、概念構造解析部213が、原文32の各々の概念構造を解析したツリー構造234を生成する。
ステップS14で、ノード組のFROMノード及びTOノードを特定する際、ノード組に含まれる2つのノードが、2つのノード間を連結する矢印の始点側か終点側かに基づいて特定される。また、ノード組の属性毎の結合確率を導出する際、ノード組の属性として、概念構造解析により得られたノード間の関係種別も含まれる。
次に、出現確率テーブル312の生成時において、短縮文生成装置300に複数の文例31が入力されると、図7に示す結合確率テーブル生成処理が実行される。ただし、以下の点が、第1実施形態における処理と異なる。
ステップS113では、概念構造解析部213が、原文32の各々の概念構造を解析したツリー構造234を生成する。
ステップS114で、出現確率テーブル生成部311が、全ての原文32のツリー構造234において、片方に用言を有するノード組36に対して、ノード間の関係種別を、ノード組の属性として取り扱う。つまり、出現確率テーブル生成部311は、各用言に対して、ノード間の関係種別が「動作主」であるか等の属性ごとに、出現確率を算出する。
次に、短縮文生成時において、短縮文生成装置300に短縮対象文が入力されると、図16Aおよび図16Bに示す、第2実施例に係る短縮文生成処理が実行される。図16Aおよび図16Bは、第2実施形態における短縮文生成処理の一例を示すフローチャートである。なお、短縮文生成装置300において実行される短縮文生成処理は、開示の技術の短縮文生成方法の一例である。以下、各処理について説明する。ただし、第1実施形態における短縮文生成処理と同様の処理となるステップについては、同一符号を付して詳細な説明を省略する。
ステップS21で、文入力部11が、短縮文生成装置300に入力された短縮対象文を受け付ける。ここでは、文入力部11が、「彼は大学をかろうじて卒業した後、資格を取って薬剤師になった。」という短縮対象文を受け付けたものとする。
次に、ステップS22で、形態素解析部12が、短縮対象文を形態素解析する。次に、ステップS33で、概念構造解析部213が、形態素解析結果に基づいて、短縮対象文の概念構造を解析し、短縮対象文の概念構造を表現したツリー構造234を生成する。なお、ツリー構造234においては、ノード間の関係種別が、各ノード間の結合を示す矢印の上に示される。ここでは、図10に示すようなツリー構造234が生成されたものとする。
次に、ステップS24のループ処理で、結合確率付与部215が、上記ステップS33で生成されたツリー構造234に含まれるノード組を1つずつ処理対象として設定し、ステップS25の処理、ステップS26のループ処理、及びステップS29の処理を実行する。ここでは、まず、図11に示すように、破線で囲んだノード組35(ノード「彼は」、ノード「卒業したあと、」)が、処理対象のノード組35に設定されたものとする。
ステップS25では、結合確率付与部215が、処理対象のノード組35の結合確率積を示す変数xに、初期値として「0.0」を設定する。
次に、ステップS26のループ処理で、結合確率付与部215が、結合確率テーブル220に含まれる各エントリを1つずつ処理対象として設定し、以下のステップS27及びステップS28の処理を実行する。
ステップS27では、結合確率付与部215が、処理対象のノード組35に含まれる2つのノード間を連結する矢印の向きに基づいて、FROMノード及びTOノードを特定する。ここでは、ノード「彼が」がTOノード、ノード「卒業したあと、」がFROMノードとして特定される。そして、結合確率付与部215が、処理対象のノード組の属性が、処理対象のエントリの属性に合致するか否かを判定する。合致する場合には、処理はステップS28へ移行し、合致しない場合には、ステップS28の処理はスキップされる。例えば、処理対象のエントリのノード組の属性が「ノード間の関係種別が「動作主」」であるとする。ここでは、処理対象のノード組35には、関係種別として「動作主」が付与されているため、合致すると判定され、処理はステップS28へ移行する。ステップS28では、変数xに処理対象のエントリの結合確率の値を加算する。
結合確率テーブル220に含まれる全てのエントリについて、ステップS26のループ処理が終了すると、処理はステップS29へ移行する。この段階で、結合確率積を示す変数xとして、図17に示すように、処理対象のノード組35について、そのノード組の属性に該当する結合確率を全て乗算(対数の場合、加算)した値が得られている。図17は、結合確率積の導出を説明するための図である。
ステップS29では、結合確率付与部215が、処理対象のノード組35に含まれる2つのノードの間の結合確率積として、変数xの値を付与する。
上記ステップS33で生成されたツリー構造234に含まれる全てのノード組35に対して結合確率積を付与する処理が終了すると、ループ処理ステップS24が終了する。
図18は、結合確率積が付与された後のツリー構造のイメージ図である。ループ処理ステップS24が終了した段階では、図18に示すように、ツリー構造234に含まれる各ノード間35に結合確率積が付与された状態となる。なお、図18において、ノードとノードとを連結する矢印に併記された数字が結合確率積である。
次に、ステップS121で、必須結合判定部313が、必須結合を特定する。必須結合判定部313は、出現確率テーブル312における複数のエントリのうち、必須結合を判定するための第二の閾値よりも大きな出現確率を持つエントリを、必須結合として特定する。ただし、第1実施形態と同様、ステップS121の処理は、短縮文生成処理に先駆けて実施されてもよい。予め、必須結合が特定されている場合、第1実施形態と同様、ステップS121の処理は、短縮文生成処理において省略される。
図19は、第二の閾値が、「−0.2」に設定されている場合の、必須結合の特定結果の例である。図19に示される通り、第二の閾値「−0.2」よりも大きな出現確率を有するエントリには、必須結合であることを示すフラグ「1」が設定されている。一方、第二の閾値「−0.2」以下の出現確率を有するエントリには、必須結合ではないことを示すフラグ「0」が設定されている。
次に、必須結合判定部313が、ステップS122のループ処理で、上記ステップS33で生成されたツリー構造234に含まれるノード組35を1つずつ処理対象として設定して、ステップS123の処理、ステップS124の処理を実行する。
ステップS123では、必須結合判定部313が、処理対象のノード組35が、必須結合に該当するか判定する。つまり、必須結合判定部313が、ノード組35が用言のノードを含むノード組36であって、かつ、当該ノード組36における用言と属性の組み合わせがステップS121において必須結合として特定されているかを判定する。
ノード組35が用言のノードを含むノード組36であって、かつ、当該ノード組36における用言ノードと該用言に対する格ノードとの属性の組み合わせがステップS121において必須結合として特定されている場合には、必須結合判定部313は、ステップS124において、当該ノード組35を、必須結合として設定する。一方、ノード組35が用言のノードを含むノード組36でない、または、当該ノード組36における用言ノードと該用言に対する格ノードとの属性の組み合わせがステップS121において必須結合として特定されていない場合には、必須結合判定部313は、ステップS124をスキップする。
全てのノード組に対して、ステップS122のループ処理が終了すると、処理はステップS400へ移行する。この段階で、ツリー構造234の中のノード組35のうち、用言のノードを含むノード組36であって、かつ、当該ノード組36における用言ノードと該用言に対する格ノードとの属性の組み合わせがステップS121において必須結合として特定されているノード組については、必須結合により連結されているという情報が付与される。
図20は、必須結合が設定された後のツリー構造のイメージ図である。図20に示すように、ツリー構造234に含まれる各ノード間に結合確率積が付与されるとともに、必須結合が設定された状態となる。なお、図20において、ノードとノードとを連結する矢印に併記した数字が結合確率積であって、ノード間の結合を示す矢印のうち、必須結合に対応する矢印は太線で示されている。
例えば、用言「取る」に対して関係種別「動作対象」にあたる格を含むノード組36は、図19において必須結合の関係にあると特定されている。よって、用言ノード「取って」と該用言に対する格ノード「資格を」との間の結合は、必須結合として設定されるため、図20において、用言ノード「取って」と該用言に対する格ノード「資格を」との間の結合は、太線矢印で示されている。
次に、ステップS400で、図21に詳細を示す短縮文候補生成処理が実行される。図21は、第2実施形態に係る短縮文候補生成処理の一例を示すフローチャートである。
図21に示す短縮文候補生成処理のステップS401で、短縮文候補生成部317は、短縮対象文のツリー構造234に含まれる各ノード組35に付与された結合確率積のうち、必須結合に設定されたノード組に付与された結合確率積を除く、結合確率積を、大きい順にソートする。そして、短縮文候補生成部317は、ソートした結合確率積を、配列に格納する。
図22は、配列に格納された結合確率積の図である。図22に示す通り、ノード組35各々に付与された結合確率積、「−1.42」「−2.11」(2組)「−3.72」「−1.92」「−1.81」「−1.62」から、必須結合に設定されたノード組36の結合確率積「−2.11」「−1.62」を除く、「−1.42」「−2.11」「−3.72」「−1.92」「−1.81」が、値の大きい順にソートされている。
次に、短縮文候補生成部317が、ステップS402のループ処理で、配列に格納された結合確率積を1つずつ処理対象に設定し、ステップS43、ステップS404、ステップS45、ステップS46、ステップS47の処理を実行する。
ステップS43で、短縮文候補生成部317が、処理対象の結合確率積を、第一の閾値として設定する。次に、ステップS404及びステップS45で、短縮文候補生成部317が、第1実施形態における短縮文生成処理(図8)のステップS126及びステップS31と同様の処理により、ステップS43で設定した第一の閾値に応じた短縮文候補を生成する。
次に、ステップS46で、短縮文候補生成部317が、上記ステップS45で生成した短縮文候補が、既にバッファに格納されている短縮文候補と同一か否かを判定する。同一ではない場合には、処理はステップS47へ移行する。ステップS47では、短縮文候補生成部317が、生成した短縮文候補と、その短縮文候補の短縮文長とをバッファに格納する。一方、既にバッファに格納されている短縮文候補と同一の場合には、ステップS47の処理はスキップされる。
ここでは、まず、結合確率積「−1.42」が第一の閾値に設定されたものとする。図23は、結合確率積「−1.42」が第一の閾値に設定された場合の短文候補生成を説明するための図である。
図23では、第一の閾値「−1.42」以上の結合確率積で連結されているノード間の結合を太実線の矢印で、閾値未満の結合確率積で連結されているノード間の結合を細破線の矢印で示している。さらに、必須結合に設定されたノード間の結合を、太破線の矢印で示している。
例えば、図23の例では、ルートノード「なった。」と連結されたノードのうち、ノード間の結合確率積が閾値以上のノードが存在しない。一方で、必須結合で結合されたノード「薬剤師に」が存在する。よって、ルートノード「なった。」とノード「薬剤師に」が抽出され、短縮対象文における出現順序に応じて、短縮文候補「薬剤師になった。」が生成される。現段階では、バッファは空であるので、生成された短縮文候補「薬剤師になった。」がバッファに格納される。なお、図23では、抽出されたノードを太線枠で示している。
次に、ループ処理によりステップS43に戻ると、短縮文候補生成部317が、配列に格納されている結合確率積のうち、次に大きい結合確率積を第一の閾値に設定する。例えば、図24に示すように、第一の閾値が「−1.81」に設定される。
図24は、結合確率積「−1.81」が第一の閾値に設定された場合の短文候補生成を説明するための図である。図24では、第一の閾値「−1.81」以上の結合確率積で連結されているノード間の結合を太実線の矢印で、閾値未満の結合確率積で連結されているノード間の結合を細破線の矢印で示している。さらに、必須結合に設定されたノード間の結合を、太破線の矢印で示している。
この場合、ルートノード「なった。」と連結されたノードのうち、ノード間の結合確率積が閾値以上のノード「取って」が存在する。さらに、当該ノード「取って」と必須結合で結合されたノード「資格を」が存在する。また、ルートノード「なった。」と連結されたノードのうち、必須結合で結合されたノード「薬剤師に」が存在する。
よって、ルートノード「なった。」、ノード「取って」、ノード「資格を」、ノード「薬剤師に」が抽出され、短縮対象文における出現順序に応じて、短縮文候補「資格を取って薬剤師になった。」が生成される。短縮文候補「資格を取って薬剤師になった。」は、バッファに格納済みの短縮文候補「薬剤師になった。」と異なる短縮文候補であるので、ステップS47で否定判定され、生成した短縮文候補がバッファに格納され、再び、処理はステップS43に戻る。
次に、ステップS43で、短縮文候補生成部317が、図25に示すように、結合確率積の閾値として「−1.92」を設定すると、短縮文候補として「彼は卒業したあと、資格を取って薬剤師になった。」が生成される。図25は、結合確率積「−1.92」が第一の閾値に設定された場合の短文候補生成を説明するための図である。この短縮文候補はバッファにまだ格納されていないため、ステップS47で否定判定され、生成した短縮文候補がバッファに格納され、再び、処理はステップS43に戻る。
配列に格納された全ての結合確率積を順に第一の閾値に設定することで、ステップS402のループ処理が終了すると、短縮文候補生成処理は終了し、処理は短縮文生成処理(図16B)に戻る。図26に、この段階でバッファに格納されている短縮文候補の一覧を示す。
図26は、バッファに格納されている短縮文候補の一覧を示す図である。
図26に示されるとおり、段階的に異なる複数の結合確率積を第一の閾値に設定したことで、様々な短縮文長の短縮文候補が得られている。
次に、図16Bに示す短縮文生成処理のステップS50で、短縮文長設定部216が、短縮文長を設定する。そして、短縮文選択部18が、バッファに格納された短縮文候補から、短縮文長が、設定された短縮文長の範囲内で最長となる短縮文候補を選択する。例えば、短縮文長として「30」が設定され、図26に示す短縮文候補が生成されている場合、短縮文長が30以下の短縮文候補のうち、短縮文長が最長の「資格を取って薬剤師になった。」が選択される。ただし、短縮文長が、設定された短縮文長の範囲内となる短縮文候補が存在しない場合には、最も短い長さの短縮文候補を選択する。
次に、ステップS60で、短縮文出力部19が、上記ステップS50で選択された短縮文を出力し、短縮文生成処理は終了する。
以上説明したように、第2実施形態に係る短縮文生成装置300によれば、短縮対象文に含まれる文節間の概念構造に基づいて、各文節に対応するノードを連結したツリー構造を生成する。そして、連結された2つのノード間に、該ノード間が短縮文生成の際に枝刈りされずに短縮文に残存する確率を示す結合確率を付与する。さらに、連結された2つのノードのうち、片方のノードが用言である場合には、用言毎に、用言ノードと該用言に対する格ノードとの属性に応じて、当該2つのノードの間の連結が必須結合であるかを判定する。つまり、他方のノードが、用言の必須格であるかが判定される。
そして、ルートノードから閾値以上の結合確率で連結されたノード、または、必須結合を辿って抽出されたノードに基づいて、短縮文候補を生成する。このように、概念構造に基づく文節間の結合確率および、出現確率に基づく必須結合を用いて、ノード間を枝刈りするか否かを判断するため、例えば、必須格の欠落を招くような枝刈りが抑制され、自然な短縮文を生成することができる。
また、短縮文生成装置300は、複数の異なる結合確率積を、第一の閾値に順次設定して、複数の短縮文候補を生成することができる。よって、ユーザが所望する短縮文長の範囲内で最長となる短縮文候補を選択することが可能となるため、設定された短縮文長の範囲内で、より長く、かつ自然な短縮文を、出力することができる。
ただし、第2実施形態では、短縮対象文のツリー構造に含まれるノード間に付与された結合確率積の各々を、短縮文候補を生成する際の第一の閾値として順次設定する場合について説明したが、これに限定されない。例えば、短縮対象文のツリー構造に含まれるノード間に付与された結合確率積の最大値と最小値との間で、段階的に異ならせた複数の値を第一の閾値として、順次設定してもよい。
また、第2実施形態のように、設定する第一の閾値を徐々に小さくする場合には、作成される短縮文候補の長さは徐々に長くなる。そこで、作成された短縮文候補の長さが、設定された短縮文長を超えた場合には、短縮文候補生成処理(図21)のステップS402のループ処理を終了するようにしてもよい。
<第3実施形態>
次に、第3実施形態について説明する。なお、第3実施形態に係る短縮文生成装置について、第1実施形態に係る短縮文生成装置100および第2実施形態に係る短縮文生成装置300と同様の部分については、同一符号を付して詳細な説明を省略する。なお、第3実施形態を説明するにあたって、英語の短縮対象文を例に説明を行う。ただし、第1実施形態および第2実施形態同様に、日本語等、他の言語への適用も可能である。
また、第3実施例は、結合確率と出現確率とに基づく評価値を利用して、短縮文を生成する点が、第1実施形態および第2実施形態と異なる。以下では、複数の短縮文候補を生成する第2実施形態に、評価値を利用した実施形態を説明するが、第1実施形態のように、一定の閾値に基づき短縮文を生成する短縮文生成方法に、評価値を利用する実施形態を適用することも可能である。
図27は、第3実施形態に係る短縮文生成装置の概略構成を示す機能ブロック図である。図27に示すように、第3実施形態に係る短縮文生成装置500は、文入力部11と、形態素解析部12と、概念構造解析部213と、結合確率テーブル生成部214と、結合確率付与部215と、短縮文長設定部216とを含む。また、短縮文生成装置500は、短縮文選択部18と、短縮文出力部19とを含む。さらに、短縮文生成装置500は、出現確率テーブル生成部311、評価値算出部513、短縮文候補生成部517を含む。
短縮文生成装置500には、結合確率テーブル520、出現確率テーブル512、および重み値テーブル514が記憶される。なお、短縮文候補生成部517は、開示の技術の生成部の一例である。結合確率テーブル520は、第一の記憶部に記憶される情報の一例である。また、出現確率テーブル512は、第二の記憶部に記憶される情報の一例である。
結合確率テーブル生成部214は、第2実施形態と同様に、ノード組の属性毎の結合確率を導出する。ここで、対象の言語が英語である場合の、結合確率テーブル520は、例えば、図28のようになる。図28は、対象言語が英語である場合の、結合確率テーブルのデータ構成例である。なお、結合確率テーブル520の生成方法は、第1実施形態および第2実施形態と同様である。
出現確率テーブル生成部311は、第2実施形態と同様に、用言ごと、かつ、ノード組の属性毎の出現確率を導出する。ここで、対象の言語が英語である場合の、出現確率テーブル512は、例えば、図29のようになる。図29は、対象言語が英語である場合の、出現確率テーブルのデータ構成例である。なお、出現確率テーブル512の生成方法は、第1実施形態および第2実施形態と同様である。
評価値算出部513は、ノード組35各々についての評価値を算出する。評価値算出部513は、例えば、以下の(4)式により、ノード組の評価値を算出する。
評価値= 結合確率積×重みA + 出現確率×重みB ・・・(4)
つまり、評価値算出部513は、結合確率付与部215が算出した各ノード組35の結合確率積と、ノード組35が用言を含むノード組36である場合の出現確率との各々に、重みを付与して、合算することで、評価値を算出する。さらに、結合確率積に付与される重みAよりも、出現確率に付与される重みBを、大きな値に設定する事で、用言を含むノード組36が必須結合である場合に、ノード組36が枝切りされることを防ぐことができる。
重み値テーブル514は、重み値を記憶する。図30は、重み値テーブルのデータ構成例である。図30に示される通り、結合確率積に適用される重みAの値および、出現確率に適用される重みBの値が記憶される。評価値算出部513は、重み値テーブル514を参照して、例えば、上記(4)式により、評価値を算出する。なお、重み値は、例えば、管理者により予め設定される。
短縮文候補生成部517は、第2実施例と同様に、複数の異なる第一の閾値の各々を設定し、設定した第一の閾値毎に、短縮文候補を生成する。ただし、第2実施例と異なり、短縮文候補生成部317は、第一の閾値以上の評価値で結合されているノードを辿り、中断なく辿ることができた経路上のノードを抽出することで、第一の閾値ごとの短縮文候補を生成する。つまり、第3実施形態においては、必須結合の設定が行われないため、第一の閾値以上の評価値で結合されているノードを辿ることで、短縮文候補が生成される。
短縮文生成装置500は、例えば、図31に示すコンピュータ800で実現することができる。図31は、第3実施形態に係る短縮文生成装置として機能するコンピュータの概略構成を示すブロック図である。コンピュータ800はCPU81、メモリ82、及び不揮発性の記憶部83を備える。また、コンピュータ800は、入出力装置88が接続される入出力I/F84、記録媒体89に対するデータの読み込みと書き込みとを制御するR/W部85、及びネットワークI/F86を備える。CPU81、メモリ82、記憶部83、入出力I/F84、R/W部85、及びネットワークI/F86は、バス87を介して互いに接続される。
記憶部83は、HDD、SSD、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部83には、コンピュータ800を短縮文生成装置500として機能させるための短縮文生成プログラム850が記憶される。また、記憶部83は、結合確率テーブル520を構成する情報が記憶される結合確率情報記憶領域853、出現確率テーブル512を構成する情報が記憶される出現確率情報記憶領域854、重み値テーブル514を構成する情報が記憶される重み値情報記憶領域855を有する。
CPU81は、短縮文生成プログラム850を記憶部83から読み出してメモリ82に展開し、短縮文生成プログラム850が有するプロセスを順次実行する。また、CPU81は、結合確率情報記憶領域853から情報を読み出し、結合確率テーブル520をメモリ82に展開する。さらに、CPU81は、出現確率情報記憶領域854から情報を読み出し、出現確率テーブル512をメモリ82に展開する。
短縮文生成プログラム850は、文入力プロセス51と、形態素解析プロセス52と、概念構造解析プロセス253と、結合確率テーブル生成プロセス254と、出現確率テーブル生成プロセス751と、結合確率付与プロセス255と、評価値算出プロセス851と、短縮文長設定プロセス256とを有する。また、短縮文生成プログラム850は、短縮文候補生成プロセス852と、短縮文選択プロセス58と、短縮文出力プロセス59とを有する。
CPU81は、評価値算出プロセス851を実行することで、図27に示す評価値算出部513として動作する。CPU81は、短縮文候補生成プロセス852を実行することで、図27に示す短縮文候補生成部517として動作する。
なお、CPU81は、ハードウェアとしてのプロセッサーの一例である。よって、短縮文生成プログラム850により実現される機能は、CPUやMPUなどの、ハードウェアとしてのプロセッサーにより実現される。また、短縮文生成プログラム850により実現される機能は、例えば半導体集積回路、より詳しくはASIC等で実現することも可能である。
次に、第3実施形態に係る短縮文生成装置500の作用について説明する。結合確率テーブル520の生成時において、短縮文生成装置500に複数の文例31が入力されると、図6に示す結合確率テーブル生成処理が実行される。第3実施形態における結合確率テーブル520の生成方法は、第2実施形態と同様である。
次に、出現確率テーブル512の生成時において、短縮文生成装置500に複数の文例31が入力されると、図7に示す出現確率テーブル生成処理が実行される。第3実施形態における出現確率テーブル512の生成方法は、第2実施形態と同様である。
次に、短縮文生成時において、短縮文生成装置500に短縮対象文が入力されると、図32Aおよび図32Bに示す、第3実施例に係る短縮文生成処理が実行される。図32Aおよび図32Bは、第3実施例に係る短縮文生成処理の一例を示すフローチャートである。
なお、短縮文生成装置500において実行される短縮文生成処理は、開示の技術の短縮文生成方法の一例である。以下、各処理について説明する。なお、第1実施形態および第2実施形態における短縮文生成処理と同様の処理となるステップについては、同一符号を付して詳細な説明を省略する。
ステップS21で、文入力部11が、短縮文生成装置500に入力された短縮対象文を受け付ける。ここでは、文入力部11が、「I went hiking to a park which has many trees with a box lunch because the weather was very good.」という短縮対象文を受け付けたものとする。
次に、ステップS22で、形態素解析部12が、短縮対象文を形態素解析する。次に、ステップS33で、概念構造解析部213が、形態素解析結果に基づいて、短縮対象文の概念構造を解析し、短縮対象文の概念構造を表現したツリー構造234を生成する。なお、ツリー構造234においては、ノード間の関係種別も、各ノード間の結合を示す矢印の上に示される。ここでは、図33に示すようなツリー構造234が生成されたものとする。図33は、概念構造解析によるツリー構造の一例を示す図である。
なお、図33に示すように、付属語に相当する語句は、ノードには含めず、各ノード間の結合を示す矢印の上に示されてもよい。つまり、自立語に相当する語が、ノードとして取り扱われる。さらに、短縮対象文で用いられている語と、対応する原型とを、併記する形態を採用してもよい。
なお、日本語のツリー構造においても、自立語のみをノードとして取り扱い、付属語はノード間の結合を示す矢印の上に示し、短縮対象文で用いられている語と対応する原型とを、併記してもよい。
次に、ステップS200のループ処理で、結合確率付与部215が、上記ステップS33で生成されたツリー構造234に含まれるノード組を1つずつ処理対象として設定し、ステップS25の処理、ステップS26のループ処理を実行する。
ここでは、まず、図33に示すように、破線で囲んだノード組35(ノード「I」、ノード「go(went)」)が、処理対象のノード組35に設定されたものとする。
ステップS25では、結合確率付与部215が、処理対象のノード組35の結合確率積を示す変数xに、初期値として「0.0」を設定する。
次に、ステップS26のループ処理で、結合確率付与部215が、結合確率テーブル520に含まれる各エントリを1つずつ処理対象として設定し、第2実施形態と同様にステップS27及びステップS28の処理を実行する。
結合確率テーブル520に含まれる全てのエントリについて、ステップS26のループ処理が終了すると、処理はステップS201へ移行する。
例えば、図33に示すように、TOノード「I」、FROMノード「go(went)」を含むノード組35が処理対象の場合、結合確率積を示す変数xとして、図34に示すように、処理対象のノード組35について、そのノード組の属性に該当する結合確率を全て乗算(対数の場合、加算)した値が得られている。なお、変数xで示される結合確率積は、「−0.46」である。なお、図34は、評価値の導出を説明するための図である。
次に、ステップS201において、評価値算出部513は、処理対象のノード組35について、出現確率テーブル512を参照し、出現確率yを取得する。例えば、図33に示すように、TOノード「I」、FROMノード「go(went)」を含むノード組35が処理対象の場合、ノード組の属性が「動作主」であることから、出現確率y「−0.16」が取得される。
次に、ステップS202において、評価値算出部513は、重みA、重みB、結合確率積x、出現確率yに基づき、評価値zを算出する。なお、評価値算出部513は、例えば、上記式(4)を利用する事で、評価値zを算出する。続いて、ステップS203では、評価値算出部513が、処理対象のノード組35に含まれる2つのノードの間の評価値として、算出された評価値zを付与する。
上記ステップS33で生成されたツリー構造234に含まれる全てのノード組35に対して評価値zを付与する処理が終了すると、ループ処理ステップS200が終了する。
図35は、評価値が付与された後のツリー構造のイメージ図である。ループ処理ステップS200が終了した段階では、図35に示すように、ツリー構造234に含まれる各ノード間に評価値が付与された状態となる。なお、図35において、ノードとノードとを連結する矢印に併記した数字が評価値である。
次に、ステップS500で、図36に詳細を示す短縮文候補生成処理が実行される。図36は、第3実施形態に係る短縮文候補生成処理の一例を示すフローチャートである。
図36に示す短縮文候補生成処理のステップS501で、短縮文候補生成部517は、短縮対象文のツリー構造234に含まれる各ノード組35に付与された評価値を値の大きい順にソートする。そして、短縮文候補生成部517は、ソートした評価値を、配列に格納する。図37は、配列に格納された評価値の図である。
次に、ステップS502のループ処理で、短縮文候補生成部517が、配列に格納された評価値を1つずつ処理対象に設定し、ステップS503、ステップS504、ステップS45、ステップS46、ステップS47の処理を実行する。なお、第3実施形態においては、第一の閾値が、結合確率積ではなく、評価値の各々に設定される。
ステップS503で、短縮文候補生成部517が、処理対象の評価値を、第一の閾値として設定する。次に、ステップS504及びステップS45で、短縮文候補生成部517が、ステップS43で設定した第一の閾値に応じた短縮文候補を生成する。ただし、ステップS504において、短縮文候補生成部517は、第1実施形態および第2実施形態と異なり、評価値が閾値以上でルートノードからたどれるノードを抽出する。つまり、第3実施形態においては、第1実施形態および第2実施形態のように、必須結合も併せて抽出することは行われない。
次に、ステップS46で、短縮文候補生成部517が、上記ステップS45で生成した短縮文候補が、既にバッファに格納されている短縮文候補と同一か否かを判定する。同一ではない場合には、処理はステップS47へ移行する。ステップS47では、短縮文候補生成部517が、生成した短縮文候補と、その短縮文候補の短縮文長とをバッファに格納する。一方、既にバッファに格納されている短縮文候補と同一の場合には、ステップS47の処理はスキップされる。
配列に格納された全ての評価値を順に第一の閾値に設定することで、ステップS502のループ処理が終了すると、短縮文候補生成処理は終了し、処理は短縮文生成処理(図32B)に戻る。
図38は、バッファに格納されている短縮文候補の一覧を示す図である。図38に示される通り、段階的に異なる複数の評価値を、第一の閾値に設定したことで、様々な短縮文長の短縮文候補が得られている。
次に、図32Bに示す短縮文生成処理のステップS50で、短縮文長設定部216が、短縮文長を設定する。そして、短縮文選択部18が、バッファに格納された短縮文候補から、短縮文長が、設定された短縮文長の範囲内で最長となる短縮文候補を選択する。ただし、短縮文長が、設定された短縮文長の範囲内となる短縮文候補が存在しない場合には、最も短い長さの短縮文候補を選択する。さらに、ステップS60で、短縮文出力部19が、上記ステップS50で選択された短縮文を出力し、短縮文生成処理は終了する。
以上説明したように、第3実施形態に係る短縮文生成装置500によれば、短縮対象文に含まれる文節間の概念構造に基づいて、各文節に対応するノードを連結したツリー構造を生成する。そして、連結された2つのノード間に、該ノード間が短縮文生成の際に枝刈りされずに短縮文に残存する確率を示す結合確率を付与する。さらに、結合確率と出現確率に基づく評価値を算出する。なお、このとき、出現確率をより重みづけする事で、必須結合が枝切りされないようにすることができる。
そして、ルートノードから閾値以上の評価値で連結されたノードに基づいて、短縮候補文を生成する。このように、概念構造に基づく文節間の結合確率および出現確率を用いて、ノード間を枝刈りするか否かを判断するため、例えば、必須格の欠落を招くような枝刈りが抑制され、自然な短縮文を生成することができる。
また、短縮文生成装置500は、複数の異なる評価値を、第一の閾値に順次設定して、複数の短縮文候補を生成することができる。よって、ユーザが所望する短縮文長の範囲内で最長となる短縮文候補を選択することが可能となるため、設定された短縮文長の範囲内で、より長く、かつ自然な短縮文を、出力することができる。
ただし、第3実施形態では、短縮対象文のツリー構造に含まれるノード間に付与された評価値の各々を、短縮文候補を生成する際の第一の閾値として順次設定する場合について説明したが、これに限定されない。例えば、短縮対象文のツリー構造に含まれるノード間に付与された評価値の最大値と最小値との間で、段階的に異ならせた複数の値を第一の閾値として、順次設定してもよい。
また、第3実施形態のように、設定する第一の閾値を徐々に小さくする場合には、作成される短縮文候補の長さは徐々に長くなる。そこで、作成された短縮文候補の長さが、設定された短縮文長を超えた場合には、短縮文候補生成処理(図36)のステップS502のループ処理を終了するようにしてもよい。
<変型例>
(変型例1)
第2実施形態および第3実施形態においても、第1実施形態のように、概念構造を解析したツリー構造に変えて、係り受け解析したツリー構造を用いてもよい。また、第1実施形態においても、第2実施形態や第3実施形態のように、係り受け解析したツリー構造に変えて、概念構造解析したツリー構造を用いてもよい。各実施形態の処理内容は、適宜組み合わせ可能である。
(変型例2)
上記実施形態では、ノード組の属性毎の結合確率として、(1)式に示すような確率を用いる場合について説明したが、これに限定されない。例えば、(1)式で得られる確率に係数を乗算した値や、確率に値に応じて段階的に設定した度合い(例えば、結合度「大」、「中」、「小」など)を用いてもよい。出現確率についても、同様である。
(変型例3)
上記実施形態では、結合確率テーブルの各エントリに対して、ノード組の属性が該当する全ての結合確率を乗算した(対数の場合、加算)結合確率積を用いる場合について説明したが、これに限定されない。各結合確率の重み付き和や平均等により、全ての結合確率を統合した結合確率を用いてもよい。
(変型例4)
第1実施形態及び第2実施形態では、ルートノードから結合確率積が閾値以上、または、必須結合で結合されたノードを辿って抽出されたノードに対応する構成要素を、短縮対象文での出現順に並べて、短縮文又は短縮文候補を生成する場合について説明したが、これに限定されない。言語の種類や、どのノードが枝刈りされたなどによっては、短縮後の文の語順が短縮対象文と異ならせた方が自然な場合も考えられる。そこで、短縮対象文のツリー構造において、抽出されたノードがどのように連結されているかに基づいて、文法的又は概念的関係を考慮して、抽出されたノードに対応する構成要素を並び替えた短縮文を生成してもよい。
同様に、第3実施形態では、ルートノードから評価値が閾値以上のノードを辿って抽出されたノードに対応する構成要素を、短縮対象文での出現順に並べて、短縮文又は短縮文候補を生成する場合について説明したが、これに限定されない。言語の種類や、どのノードが枝刈りされたなどによっては、短縮後の文の語順が短縮対象文と異ならせた方が自然な場合も考えられる。そこで、短縮対象文のツリー構造において、抽出されたノードがどのように連結されているかに基づいて、文法的又は概念的関係を考慮して、抽出されたノードに対応する構成要素を並び替えた短縮文を生成してもよい。
(変型例5)
上記実施形態では、結合確率テーブル生成部14または結合確率テーブル生成部214を含む構成について説明したが、これに限定されない。短縮文生成装置以外の情報処理装置で生成された結合確率テーブルを、短縮文生成装置の所定の記憶領域に記憶したり、短縮文生成時に短縮文生成装置に読み込んだりしてもよい。この場合、短縮文生成装置の構成から、結合確率テーブル生成部14または結合確率テーブル生成部214を省略することができる。
さらに、上記実施形態では、出現確率テーブル生成部111または出現確率テーブル生成部311を含む構成について説明したが、これに限定されない。短縮文生成装置以外の情報処理装置で生成された出現確率テーブルを、短縮文生成装置の所定の記憶領域に記憶したり、短縮文生成時に短縮文生成装置に読み込んだりしてもよい。この場合、短縮文生成装置の構成から、出現確率テーブル生成部111または出現確率テーブル生成部311を省略することができる。
(変型例6)
第1実施形態及び第2実施形態では、原文又は短縮対象文の構成要素を文節とし、文節間の係り受け関係や概念構造を解析する場合について説明したが、これに限定されない。原文又は短縮対象文の構成要素として、第3実施形態のように、単語や句などを用いてもよく、対象の言語や所望する短縮率などに応じて、適切な単位の構成要素を用いればよい。
(変型例7)
上記実施形態では、結合確率テーブル生成時または出現確率テーブル生成時には、複数の文例31が入力される場合について説明したが、入力される文例31は1つであってもよい。
(変型例8)
上記実施形態では、短縮文生成プログラム450、750、850が予め記憶(インストール)されている態様を説明したが、これに限定されない。開示の技術に係るプログラムは、CD−ROM、DVD−ROM、USBメモリ等の記録媒体に記録された形態で提供することも可能である。
(変型例9)
第2実施形態において、設定された短縮文長の範囲内となる短縮文候補が存在しない場合には、最も短い長さの短縮文候補を選択するとしたが、設定された短縮文長の範囲内となる短縮文候補が存在しない場合には、図39に示す追加処理を実行してもよい。
図39は、追加処理の一例を示すフローチャートである。短縮文選択部18は、ステップS600において、設定された短縮文長の範囲内となる短縮文候補が存在するかを判定する。設定された短縮文長の範囲内となる短縮文候補が存在する場合には、ステップS600において肯定判定がなされ、ステップS60が実行される。
一方、設定された短縮文長の範囲内となる短縮文候補が存在しない場合には、ステップ600において否定判定がなされ、短縮文選択部18は、ステップS601において、必須結合として設定されているノード組36の出現確率を、値の大きい順位にソートして、配列に格納する。
次に、ループ処理ステップ602が、配列に格納されたすべての出現確率について、実行される。ステップS603において、短縮文選択部18は、処理対象の出現確率を第三の閾値に設定する。そして、ステップS604において、短縮文選択部18は、必須結合として設定されたノード組36に対して、第三の閾値以下の必須結合を解除する。
短縮文選択部18は、ステップS605において、必須結合が少なくとも一部解除されたツリー構造において、ルートのノードから辿れるノードを抽出する。そして、短縮文選択部18は、ステップS606において、抽出したノードを含む仮短縮文を生成する。ステップS607において、短縮文選択部18は、仮短縮文の長さが、設定された短縮文長以下であるかを判定する。仮短縮文の長さが、設定された短縮文長以下である場合には、ステップS607において肯定判定がなされ、ループ処理ステップS602を抜けて、ステップS60に戻り、仮短縮文が、短縮文として出力される。一方、仮短縮文の長さが、設定された短縮文長よりも長い場合には、ステップS607において、否定判定がなされ、新たな出現確率を処理対象として、ステップS603乃至ステップS607の処理が繰り返される。
このように、追加処理によって、短縮文長が、設定された短縮文長の範囲内となる短縮文候補が存在しない場合には、設定された短縮文長の範囲内となる仮短縮文を生成し、ユーザへ提供することができる。
<各実施例に係る効果>
最後に、上記実施形態に係る効果を、具体例を用いて説明する。なお、具体例としては、第2実施例で用いた文例と第2実施例の手法を利用して説明するが、他の実施例も、同様の効果を奏する。
図40および図41は、比較例を説明するための図である。図40および図41では、比較例として、出現確率に基づく必須結合を考慮しない場合の短縮文候補の生成例が示されている。つまり、ツリー構造に含まれるノード間に結合確率積のみが付与されている。したがって、図40および図41では、複数の結合確率積の各々を第一の閾値として設定し、短縮文候補を生成した場合には、次のような短縮文候補が生成されることになる。
図40において、例えば、第一の閾値として結合確率「−1.42」が設定された場合には、ルートノード「なった。」のみが、短縮文候補に含めるノードとして抽出される。図23と比較して、必須結合が設定されていないため、ノード「薬剤師に」が抽出されない。よって、この時の、短縮文候補は、「なった。」のみとなる。
図41において、例えば、第一の閾値として結合確率「−1.81」が設定された場合には、ルートノード「なった。」、第一の閾値以上の結合確率でルートノードと結合されたノード「取って」、第一の閾値以上の結合確率でルートノードと結合されたノード「薬剤師に」が、短縮文候補に含めるノードとして抽出される。よって、短縮文候補は、「取って薬剤師になった。」となる。
図42は、比較例により生成される短縮文候補の一覧である。図42には、「なった。」「取って薬剤師になった。」「彼は卒業したあと、取って薬剤師になった。」等の必須格が欠落した文も含まれている。したがって、出現確率を考慮しない場合には、必須格が欠落したような、不自然な短縮文が出力される可能性がある。
したがって、上記実施例で説明したように、用言毎、かつ、属性ごとの出現確率を用いて、必須結合を枝切りする可能性を低減させることで、各実施例は、用言毎、かつ、属性ごとの出現確率を用いない場合と比較して、より自然な短縮文を説明することができる。