説明

文章抽出装置およびプログラム

【課題】内容が矛盾または重複している可能性がある文章を自動的に抽出することが可能な文章抽出装置およびプログラムを提供することにある。
【解決手段】入力手段は、文字列から構成される複数の文を含む文書を入力する。作成手段は、入力された文書に含まれる複数の文のうちの2つの文毎に、当該2つの文を第1および第2の文として含む文ペアを作成する。算出手段は、作成された文ペアの各々に含まれる第1および第2の文間の類似度を、当該第1および第2の文を構成する文字列に基づいて算出する。特定手段は、算出された類似度が予め定められた値より高い第1および第2の文を含む複数の文ペアを特定する。抽出手段は、特定された複数の文ペアの各々に含まれる第1および第2の文の前記入力された文書における位置に基づいて文の集合を当該文書から抽出する。出力手段は、抽出された文の集合を出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、文書中において内容が矛盾または重複している可能性がある文章を抽出する文章抽出装置およびプログラムに関する。
【背景技術】
【0002】
一般的に、1つまたは複数の文書中において、内容が矛盾または重複している文章が記述されている場合がある。
【0003】
このような場合には、ユーザは例えば1つずつ文書を確認していくことで、内容が矛盾または重複している文章を探索し、当該文章を修正する必要がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2000−112949号公報
【特許文献2】特開2007−241902号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記したように内容が矛盾または重複している文章を探索し、当該文章をユーザが修正することは、当該ユーザにとっては非常に煩雑な作業である。
【0006】
したがって、このような場合におけるユーザの作業負担を軽減することが望まれている。
【0007】
そこで、本発明が解決しようとする課題は、内容が矛盾または重複している可能性がある文章を自動的に抽出することが可能な文章抽出装置およびプログラムを提供することにある。
【課題を解決するための手段】
【0008】
実施形態に係る文章抽出装置は、入力手段と、作成手段と、算出手段と、特定手段と、抽出手段と、出力手段とを具備する。
【0009】
入力手段は、文字列から構成される複数の文を含む文書を入力する。
【0010】
作成手段は、前記入力された文書に含まれる複数の文のうちの2つの文毎に、当該2つの文を第1および第2の文として含む文ペアを作成する。
【0011】
算出手段は、前記作成された文ペアの各々に含まれる第1および第2の文間の類似度を、当該第1および第2の文を構成する文字列に基づいて算出する。
【0012】
特定手段は、前記算出された類似度が予め定められた値より高い第1および第2の文を含む複数の文ペアを特定する。
【0013】
抽出手段は、前記特定された複数の文ペアの各々に含まれる第1および第2の文の前記入力された文書における位置に基づいて、当該複数の文ペアの各々に含まれる第1および第2の文を含む文の集合を当該文書から抽出する。
【0014】
出力手段は、前記抽出された文の集合を出力する。
【図面の簡単な説明】
【0015】
【図1】実施形態に係る文章抽出装置のハードウェア構成を示すブロック図。
【図2】図1に示す文章抽出装置30の主として機能構成を示すブロック図。
【図3】本実施形態に係る文章抽出装置30の処理手順を示すフローチャート。
【図4】文書読込部31によって入力された文書の一例を示す図。
【図5】該当文章抽出処理の処理手順を示すフローチャート。
【図6】本実施形態に係る文章抽出装置30の動作について具体的に説明するための図。
【図7】1つの文書から該当文章が抽出される場合について具体的に説明するための図。
【図8】1つの文書から抽出される該当文章の一例を示す図。
【図9】2つの文書から該当文章が抽出される場合について具体的に説明するための図。
【図10】2つの文書から抽出される該当文章の一例を示す図。
【発明を実施するための形態】
【0016】
以下、図面を参照して、実施形態について説明する。
【0017】
図1は、本実施形態に係る文章抽出装置のハードウェア構成を示すブロック図である。図1に示すように、コンピュータ10は、例えばハードディスクドライブ(HDD:Hard Disk Drive)のような外部記憶装置20と接続されている。この外部記憶装置20は、コンピュータ10によって実行されるプログラム21を格納する。コンピュータ10および外部記憶装置20は、文章抽出装置30を構成する。
【0018】
この文章抽出装置30は、文書中において内容が矛盾または重複している可能性がある文章(以下、該当文章と表記)を抽出するために用いられる。本願では、個々の文の集合体が文章であり、この文章の集合体が文書(章も含む)と記して説明していく。
【0019】
図2は、図1に示す文章抽出装置30の主として機能構成を示すブロック図である。図2に示すように、文章抽出装置30は、文書読込部31、文書解析部32、タイトル判別部33、文ペア作成部34、類似度算出部35、類似度判定部36、該当文章抽出部37および結果出力部38を含む。本実施形態において、これらの各部31〜38は、図1に示すコンピュータ10が外部記憶装置20に格納されているプログラム21を実行することにより実現されるものとする。このプログラム21は、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラム21が、例えばネットワークを介してコンピュータ10にダウンロードされても構わない。
【0020】
また、文章抽出装置30は、ルール格納部22を含む。本実施形態において、ルール格納部22は、例えば外部記憶装置20に格納される。
【0021】
文書読込部31は、例えばユーザによって指定された文書を入力する(読み込む)。文書読込部31によって入力される文書は、文字列(単語)から構成される複数の文を含む。
【0022】
文書解析部32は、文書読込部31によって入力された文書を解析する。文書解析部32は、解析結果に基づいて、文書読込部31によって入力された文書を、当該文書に含まれる文の各々に分解する。
【0023】
ルール格納部22には、文書においてタイトルである文(以下、文書のタイトル文と表記)を判別するためのルールが予め格納されている。
【0024】
タイトル判別部33は、ルール格納部22に格納されているルールに基づいて、文書解析部32によって分解された文の中から文書読込部31によって入力された文書のタイトル文を判別する。タイトル判別部33は、文書解析部32によって分解された文のうち、ルール格納部22に格納されているルールに合致する文をタイトル文として判別する。
【0025】
文ペア作成部34は、文書解析部32によって分解された文(つまり、文書読込部31によって入力された文書に含まれる文)のうちの2つの文毎に、当該2つの文を含む文ペアを作成する。以下の説明においては、文ペア作成部34によって作成された文ペアに含まれる2つの文のうちの一方を第1の文、他方を第2の文と称する。
【0026】
類似度算出部35は、文ペア作成部34によって作成された文ペア毎に、当該文ペアに含まれる2つの文(第1および第2の文)間の類似度を算出する。類似度算出部35は、文ペア作成部34によって作成された文ペアに含まれる第1および第2の文を構成する文字列(単語)に基づいて当該第1および第2の文間の類似度を算出する。
【0027】
なお、類似度算出部35は、文ペアに含まれる第1および第2の文間の類似度を算出する際に、タイトル判別部33によって判別されたタイトル文または当該タイトル文を構成する文字列に対して重み付けをする。
【0028】
類似度判定部36は、類似度算出部35によって文ペア毎に算出された類似度の各々が予め定められた(以下、閾値γと表記)より高いか否かを判定する。これにより、類似度判定部36は、文ペア作成部34によって作成された文ペアの中から、類似度算出部35によって算出された類似度が閾値γより高い文ペア(複数の文ペア)を特定する。
【0029】
該当文書抽出部37は、類似度判定部36によって特定された文ペアの各々に含まれる第1および第2の文の文書読込部31によって入力された文書における位置に基づいて、文書読込部31によって入力された文書から該当文章(当該文書中において内容が矛盾または重複している可能性がある文章)を抽出する。該当文章抽出部37によって抽出される該当文章には、類似度判定部36によって特定された複数の文ペアの各々に含まれる第1および第2の文を含む文の集合(複数の文)が含まれる。
【0030】
結果出力部38は、該当文章抽出部37によって抽出された該当文章を出力する。これにより、該当文書が例えばユーザに対して提示される。
【0031】
次に、図3のフローチャートを参照して、本実施形態に係る文章抽出装置30の処理手順について説明する。
【0032】
まず、文書読込部31は、ユーザによって指定された文書を入力する(ステップS1)。この場合、ユーザによって指定された文書は、例えば予め文書が格納されている文書格納部(図示せず)から文書読込部31によって読み込まれても構わない。
【0033】
なお、文書読込部31によって入力される文書は、1つであってもよいし、複数であっても構わない。また、文書読込部31によって入力される文書は、特に形式は問わないが、複数である場合には互いに関連し合っている文書(例えば、規定、システム開発に関係する文書、マニュアル類等)であることが望ましい。以下、文書読込部31によって入力された文書(の各々)を対象文書と称する。
【0034】
ここで、図4を参照して、対象文書(文書読込部31によって入力された文書)の一例について説明する。図4は、対象文書の一例として所沢市クリーンセンター規則の文書を示す。
【0035】
図4に示すように、対象文書(ここでは、所沢市クリーンセンター規則の文書)には、単語等の文字列から構成される複数の文が含まれる。
【0036】
再び図3に戻ると、文書解析部32は、対象文書を解析する(ステップS2)。これにより、文書解析部32は、対象文書を複数の文に分解する。なお、上記したように対象文書が複数存在する場合には、当該対象文書の全てを複数の文に分解する。
【0037】
ここで、文書解析部32によって分解される文は、文字の先頭から改行または句点までとする。図4に示す対象文書の例では、例えば1行目の「所沢市クリーンセンター規則」および2行目の「○所沢市クリーンセンター規則」等が文に該当する。3行目以降についても同様である。
【0038】
なお、文書解析部32によって分解された文の各々には、当該文を含む対象文書の文書名(ファイル名)および当該文の対象文書における位置(当該対象文書において先頭の文から順に付与される文番号等)が付与される。
【0039】
次に、タイトル判別部33は、ルール格納部22に格納されているルールに基づいて、文書解析部32によって分解された文の中から対象文書のタイトル文を判別する(ステップS3)。
【0040】
ここで、ルール格納部22に格納されているルールについて説明する。ルール格納部22に格納されているルールは、例えば正規表現で記述される。具体的には、ルール格納部22には、「([0-9]).+」のようなルールが格納されている。このルールによれば、「()」内に0〜9までの数字を含み、その後に任意の文字列が1回以上繰り返されている文をタイトル文として判別することが示されている。なお、ここで説明したルールは一例であり、他のルールが予め用意されていても構わない。
【0041】
タイトル判別部33は、上記したようなルール格納部22に格納されているルールに合致する文をタイトル文として判別する。タイトル判別部33は、タイトル文として判別された文に対してフラグを立てる。
【0042】
文ペア作成部34は、文書解析部32によって分解された文のうちの2つの文毎に、当該2つの文(第1および第2の文)を含む文ペアを作成する(ステップS4)。この場合、文ペア作成部34は、文書解析部32によって分解された文における2つの文の全ての組み合わせについて文ペアを作成する。
【0043】
次に、類似度算出部35は、文ペア作成部34によって作成された文ペア毎に、当該文ペアに含まれる第1および第2の文間の類似度を算出する(ステップS5)。この場合、類似度算出部35は、第1および第2の文を構成する文字列(単語)に基づいて類似度を算出する。具体的には、類似度算出部35は、第1の文を構成する各単語の出現数を各次元の値とするベクトルおよび第2の文を構成する各単語の出現数を各次元の値とするベクトルの余弦値(つまり、コサイン類似度)を、当該第1の文と第2の文との間の類似度として算出する。
【0044】
ここで、類似度算出部35は、文ペアに含まれる第1の文と第2の文との間の類似度を算出する際に、タイトル判別部33によってタイトル文であると判別された文または当該文を構成する文字列に対して重み付けをする。具体的には、類似度算出部35は、文ペアに含まれる第1の文または第2の文の少なくとも一方がタイトル文であれば、当該第1の文と第2の文と間の類似度を高く算出することができる。また、類似度算出部35は、文ペアに含まれる第1の文および第2の文を構成する文字列の中にタイトル文を構成する文字列(単語)が含まれている場合には、当該第1の文と第2の文との間の類似度を高く算出することができる。なお、タイトル判別部33によってタイトル文であると判別された文とは、上記したようにタイトル判別部33によってフラグが立てられている文である。
【0045】
類似度判定部36は、類似度算出部35によって文ペア毎に算出された類似度の各々が閾値γより高いか否かを判定する。これにより、類似度判定部36は、類似度算出部35によって算出された類似度が閾値γより高い文ペア(複数の文ペア)を特定する(ステップS6)。
【0046】
次に、該当文章抽出部37は、類似度判定部36によって特定された文ペアに基づいて、該当文章(内容が矛盾または重複している可能性がある文章)を対象文書から抽出する処理(以下、該当文章抽出処理と表記)を実行する(ステップS7)。
【0047】
この該当文章抽出処理においては、類似度判定部36によって特定された文ペアに含まれる第1および第2の文の対象文書における位置に基づいて該当文章が抽出される。なお、該当文章抽出処理の詳細については後述する。
【0048】
結果出力部38は、該当文章抽出処理において抽出された該当文章を出力することによってユーザに対して提示する。これにより、ユーザは、該当文章、つまり、対象文書中において内容が矛盾または重複している可能性がある文章を確認することができる。
【0049】
次に、図5のフローチャートを参照して、上記した該当文章抽出処理(図3に示すステップS7の処理)の処理手順について説明する。なお、該当文章抽出処理では、局所的に類似する文章は内容が矛盾または重複している傾向にあることに基づいて該当文書を抽出する。
【0050】
まず、該当文章抽出部37は、類似度判定部36によって特定された文ペアのうち、対象文書における位置が最も上位の文を含む文ペア(先頭の文ペア)を取得する(ステップS11)。なお、対象文書が複数存在する場合には、いずれかの対象文書における位置が最も上位の文を含む文ペアを取得する。以下、ステップS11において取得された文ペアを第1の文ペアと称する。また、第1の文ペアに含まれる2つの文のうち、対象文書における位置が最も上位の文を第1の文、他方の文を第2の文と称する。
【0051】
次に、該当文章抽出部37は、類似度判定部36によって特定された文ペアのうち、対象文書における位置が第1の文ペアに含まれる第1の文の次に上位の文を含む文ペア(次の文ペア)を取得する(ステップS12)。以下、ステップS12において取得された文ペアを第2の文ペアと称する。また、第2の文ペアに含まれる2つの文のうち、対象文書における位置が第1の文ペアに含まれる第1の文の次に上位の文を第1の文、他方の文を第2の文と称する。
【0052】
該当文章抽出部37は、取得された第1の文ペアに含まれる第1の文および第2の文ペアに含まれる第1の文間の距離(以下、第1の文間の距離と表記)を特定する(ステップS13)。ここで、第1の文間の距離とは、第1の文ペアに含まれる第1の文と第2の文ペアに含まれる第1の文との間の対象文書における文の数である。なお、第1の文ペアに含まれる第1の文と第2の文ペアに含まれる第1の文との間の対象文書における文の数は、当該各文に付与されている当該文の位置(文番号)によって特定される。
【0053】
該当文章抽出部37は、特定された第1の文間の距離が予め定められた値(以下、閾値αと表記)以下であるか否かを判定する(ステップS14)。
【0054】
第1の文間の距離が閾値α以下であると判定された場合(ステップS14のYES)、該当文章抽出部37は、取得された第1の文ペアに含まれる第2の文および第2の文ペアに含まれる第2の文間の距離(以下、第2の文間の距離と表記)を特定する(ステップS15)。ここで、第2の文間の距離とは、第1の文ペアに含まれる第2の文と第2の文ペアに含まれる第2の文との間の対象文書における文の数である。なお、第1の文ペアに含まれる第2の文と第2の文ペアに含まれる第2の文との間の対象文書における文の数は、当該各文に付与されている当該文の位置(文番号)によって特定される。
【0055】
該当文章抽出部37は、特定された第2の文間の距離が予め定められた値(以下、閾値βと表記)以下であるか否かを判定する(ステップS16)。
【0056】
第2の文間の距離が閾値β以下であると判定された場合(ステップS16のYES)、該当文章抽出部37は、対象文書における第1の文ペアに含まれる第1の文から第2の文ペアに含まれる第1の文までの間の文の集合(以下、第1の文間の文ブロックと表記)を当該対象文書から抽出する(ステップS17)。
【0057】
また、該当文章抽出部37は、対象文書における第1の文ペアに含まれる第2の文から第2の文ペアに含まれる第2の文までの間の文の集合(以下、第2の文間の文ブロックと表記)を当該対象文書から抽出する(ステップS18)。
【0058】
このように、該当文章抽出処理においては、上記した第1の文間の距離(第1の文ペアに含まれる第1の文と第2の文ペアに含まれる第1の文との間の対象文書における文の数)が閾値α以下であり、かつ、第2の文間の距離(第1の文ペアに含まれる第2の文と第2の文ペアに含まれる第2の文との間の対象文書における文の数)が閾値β以下である場合には、第1の文間の文ブロック(対象文書における第1の文ペアに含まれる第1の文から第2の文ペアに含まれる第1の文までの間の文の集合)および第2の文間の文ブロック(対象文書における第1の文ペアに含まれる第2の文から第2の文ペアに含まれる第2の文までの間の文の集合)が対象文書から抽出される。ここで抽出された第1の文間の文ブロックおよび第2の文間の文ブロックが該当文章抽出処理において抽出される該当文章である。
【0059】
ユーザは、このように抽出された第1の文間の文ブロックおよび第2の文間の文ブロックを対比することで、当該第1の文間の文ブロックおよび第2の文間の文ブロック間で内容の矛盾または重複の有無を確認することができる。
【0060】
なお、ステップS18の処理が実行されると、該当文章抽出部37は、ステップS12において取得された文ペア(つまり、第2の文ペア)の更に次の文ペアがあるか否かを判定する(ステップS19)。
【0061】
第2の文ペアの次の文ペアがあると判定された場合(ステップS19のYES)、ステップS12に戻って処理が繰り返される。つまり、第2の文ペアとして処理された文ペアを新たな第1の文ペアとし、当該第2の文ペアの次の文ペアを新たな第2の文ペアとして処理が繰り返される。このように処理が繰り返されることで、上記した第1の文間の距離が閾値α以下であり、かつ、第2の文間の距離が閾値β以下であるという条件を新たな第1および第2の文ペアが満たす限り、第1の文間の文ブロックおよび第2の文ブロックが該当文章として追加される。
【0062】
一方、ステップS14において第1の文間の距離が閾値α以下でないと判定された場合およびステップS17において第2の文間の距離が閾値β以下でないと判定された場合、該当文章抽出処理は終了される。なお、上記したように第1の文ペアに含まれる第1の文および第2の文ペアに含まれる第1の文は同一の対象文書に含まれているが、対象文書が複数存在する場合には、第1の文ペアに含まれる第2の文および第2の文ペアに含まれる第2の文は同一の対象文書に含まれていない場合がある。この場合、ステップS17においては第2の文間の距離が閾値β以下でないと判定される。
【0063】
上記した図5においては対象文書における先頭の文ペアについて処理する場合について説明したが、上記したような該当文章抽出処理が類似度判定部36によって特定された全ての文ペアについて実行されることにより、対象文書中の該当文章を全て抽出することができる。なお、該当文章抽出処理において抽出された複数の該当文章のうち、他の該当文章に包含されるものについては排除される(つまり、該当文章として抽出されない)ような構成であっても構わない。
【0064】
次に、図6を参照して、本実施形態に係る文章抽出装置30の動作について具体的に説明する。
【0065】
まず、文書読込部31は、ユーザによって指定された文書を入力する(ステップS21)。
【0066】
次に、文書解析部32は、文書読込部31によって入力された文書(対象文書)を複数の文に分解する(ステップS22)。ここでは、対象文書がn個の文(文1〜文n)に分解されたものとする。
【0067】
タイトル判別部33は、上記したようにルール格納部22に格納されているルールに基づいて、文1〜文nの中から対象文書のタイトル文を判別する(ステップS23)。ここでは、例えば文2および文3等がタイトル文として判別されたものとする。
【0068】
文ペア作成部34は、対象文書が分解された文1〜文nのうちの2つの文毎に、当該2つの文を含む文ペア(第1および第2の文を含む文ペア)を作成する(ステップS25)。換言すれば、文1〜文nの中から2つを選択する全ての組み合わせについて文ペアが作成される。具体的には、上記したようにn個の文(つまり、文1〜文n)が存在する場合、n*(n−1)/2の数の文ペアが作成される。以下、文ペア作成部34によってm個の文ペア(文ペア1〜文ペアm)が作成されたものとする。
【0069】
次に、類似度算出部35は、m個の文ペアの各々について、当該文ペアに含まれる第1および第2の文間の類似度を算出する(ステップS25)。このとき、類似度算出部35は、タイトル判別部33によってタイトル文として判別された文の重みを他の文より重くする。また、類似度算出部35は、タイトル判別部33によってタイトル文として判別された文を構成する単語(文字列)の重みを他の単語より重くする。図6に示す例では、文ペア1(に含まれる第1の文と第2の文との間)の類似度として0.8、文ペア2(に含まれる第1の文と第2の文との間)の類似度として0.4、文ペアm(に含まれる第1の文と第2の文との間)の類似度として0.9が算出されている。
【0070】
類似度判定部36は、類似度算出部35によって算出された類似度が閾値γより高い文ペアを特定する(ステップS26)。ここでは、例えば文Aと文aとの間の類似度、文Bと文bとの間の類似度、文Cと文cとの間の類似度、文Dと文dとの類似度が閾値γより高いものとする。この場合、文Aおよび文aを含む文ペア、文Bおよび文bを含む文ペア、文Cおよび文cを含む文ペア、文Dおよび文dを含む文ペアが類似度判定部36によって特定される。
【0071】
次に、該当文書抽出部37は、文Aおよび文B間の距離が閾値α以下であるか否かを判定し、また、文aおよび文b間の距離が閾値β以下であるか否かを判定する(ステップS27)。なお、文Aおよび文Bは同一の対象文書に含まれており、文aおよび文bは同一の対象文書に含まれているものとする。
【0072】
文Aおよび文B間の距離が閾値α以下であり、かつ、文aおよび文b間の距離が閾値β以下である場合、文Aおよび文B間の文ブロック(文Aから文Bまでの間の文の集合)と文aおよび文b間の文ブロック(文aから文bまでの間の文の集合)とを対象文書から抽出する(ステップS28)。
【0073】
ここで抽出された文Aおよび文B間の文ブロックと文aおよび文b間の文ブロックとが、内容が矛盾または重複している可能性がある文章(つまり、該当文章)としてユーザに提示される。
【0074】
更に、文Bおよび文C間の距離が閾値α以下であり、かつ、文bおよび文c間の距離が閾値β以下である場合には、文Bおよび文C間の文ブロックと文bおよび文c間の文ブロックとが抽出される。この場合、文Bおよび文C間の文ブロックは上記した文Aおよび文B間の文ブロックに追加され、文bおよび文c間の文ブロックは上記した文aおよび文b間の文ブロックに追加される(つまり、該当文章に追加される)。
【0075】
一方、例えば文Cおよび文D間の距離が閾値α以下でない、または文cおよび文d間の距離が閾値β以下でない場合には、文Cおよび文D間の文ブロックと文cおよび文d間の文ブロックは該当文章には追加されない。
【0076】
ここでは、1つの該当文章が抽出される場合について説明したが、上述したように該当文章抽出処理は類似度判定部36によって特定された文ペアの全てについて実行されれば、1つまたは複数の対象文書から複数の該当文章が抽出される場合がある。
【0077】
ここで、上記した該当文章抽出処理において1つの対象文書から該当文章が抽出される場合および複数(2つ)の対象文書から該当文章が抽出される場合について説明する。
【0078】
まず、図7を参照して、1つの対象文書から該当文章が抽出される場合について具体的に説明する。
【0079】
図7に示す例では、対象文書100から該当文章が抽出されるものとして説明する。また、類似度判定部36によって特定された文ペア(つまり、類似度が閾値γより高い文ペア)には、文A(第1の文)および文a(第2の文)を含む文ペア(第1の文ペア)と文B(第1の文)および文b(第2の文)を含む文ペア(第2の文ペア)とが含まれているものとする。なお、文A、文a、文Bおよび文bは、対象文書100に含まれる文であるものとする。
【0080】
ここで、文Aおよび文B間の距離が閾値α以下であるものとする。また、文aおよび文b間の距離が閾値β以下であるものとする。
【0081】
この場合、対象文書100における文Aから文Bまでの間の文の集合(文Aおよび文B間の文ブロック)101が当該対象文書100から抽出される。同様に、対象文書100における文aから文bまでの間の文の集合(文aおよび文b間の文ブロック)102が当該対象文書100から抽出される。
【0082】
このように、類似度判定部36によって特定された2つの文ペアの各々に含まれる文(ここでは、文A、文a、文Bおよび文b)の全てが1つの対象文書(ここでは、対象文書100)に含まれている場合には、該当文章(文ブロック101および102)は当該1つの対象文書から抽出される。
【0083】
ここで、図8を参照して、所沢市クリーンセンター規則の文書150(つまり、1つの対象文書)から抽出される該当文章について説明する。
【0084】
図8に示す文書150が図7に示す対象文書100に相当するものとすると、文書150中の「(東部クリーンセンターの組織等)」の文が図7に示す文Aに相当し、「(西部クリーンセンターの組織)」の文が図7に示す文aに相当する。また、文書150中の「(2)ごみ集積所の設置に関すること。」の文が図7に示す文Bに相当し、「(2)ごみ集積所の設置に関すること。」の文が図7に示す文bに相当する。
【0085】
また、文書150における「(東部クリーンセンターの組織等)」の文から「(2)ごみ集積所の設置に関すること。」の文までの間の文の集合が図7に示す文ブロック101に相当する。また、文書150における「(西部クリーンセンターの組織)」の文から「(2)ごみ集積所の設置に関すること。」の文までの間の文の集合が図7に示す文ブロック102に相当する。
【0086】
つまり、図8に示す文書150の例では、枠151および152内の文の集合(文ブロック)が該当文章として抽出される。
【0087】
次に、図9を参照して、2つの対象文書から該当文章が抽出される場合について具体的に説明する。
【0088】
図9に示す例では、対象文書200および対象文書300から該当文章が抽出されるものとして説明する。また、類似度判定部36によって特定された文ペア(つまり、類似度が閾値γより高い文ペア)には、文A(第1の文)および文a(第2の文)を含む文ペア(第1の文ペア)と文B(第1の文)および文b(第2の文)を含む文ペア(第2の文ペア)とが含まれているものとする。なお、文Aおよび文Bは対象文書200に含まれる文であり、文aおよび文bは対象文書300に含まれる文であるものとする。
【0089】
ここで、文Aおよび文B間の距離が閾値α以下であるものとする。また、文aおよび文b間の距離が閾値β以下であるものとする。
【0090】
この場合、対象文書200における文Aから文Bまでの間の文の集合(文Aおよび文B間の文ブロック)201が当該対象文書100から抽出される。同様に、対象文書300における文aから文bまでの間の文の集合(文aおよび文b間の文ブロック)301が当該対象文書300から抽出される。
【0091】
このように、類似度判定部36によって特定された2つの文ペアの各々に含まれる文Aおよび文Bが1つの対象文書(ここでは、対象文書200)に含まれており、文aおよび文bが他の1つの対象文書(ここでは、対象文書300)に含まれている場合には、該当文章(文ブロック201及び301)は、当該2つの対象文書から抽出される。
【0092】
ここで、図10を参照して、東村山市アメニティ基金条例の文書250および東村山市秋水園周辺対策施設整備基金条例の文書350(つまり、2つの対象文書)から抽出される該当文章について説明する。
【0093】
図10に示す文書250および文書350がそれぞれ図9に示す対象文書200および300に相当するものとすると、文書250中の「(管理)」の文が図9に示す文Aに相当し、文書350中の「(管理)」の文が図9に示す文aに相当する。また、文書250中の「第7条 基金は、次の各号に定めることの経費の財源に充てるときに、その全部または一部を処分することができる。」の文が図9に示す文Bに相当し、文書300中の「第6条 基金は、近隣地域還元施設整備資金に充てる場合に限り、その全部又は一部を処分することができる。」の文が図9に示す文bに相当する。
【0094】
また、文書250における「(管理)」の文から「第7条 基金は、次の各号に定めることの経費の財源に充てるときに、その全部または一部を処分することができる。」の文までの間の文の集合が図9に示す文ブロック201に相当する。また、文書350における「(管理)」の文から「第6条 基金は、近隣地域還元施設整備資金に充てる場合に限り、その全部又は一部を処分することができる。」の文までの間の文の集合が図9に示す文ブロック301に相当する。
【0095】
つまり、図10に示す文書250および350の例では、枠251および351内の文の集合(文ブロック)が該当文章として抽出される。
【0096】
上記したように該当文章が抽出される際には、複数の文ペア(2つの文ペア)の各々に含まれる一方の文(第1の文)の組および他方の文(第2の文)の組はそれぞれ同一の対象文書中に含まれている必要がある。つまり、該当文章として抽出される文ブロックは異なる対象文書を跨ることはできない。
【0097】
上記したように本実施形態においては、文字列から構成される複数の文を含む文書を入力し、当該入力された文書に含まれる複数の文のうちの2つの文(第1および第2の文)毎に文ペアを作成し、当該作成された文ペアの各々に含まれる第1および第2の文間の類似度を算出し、当該算出された類似度が予め定められた値(閾値γ)より高い第1および第2の文を含む複数の文ペアを特定し、当該特定された複数の文ペアの各々に含まれる第1および第2の文の文書における位置に基づいて、当該複数の文ペアの各々に含まれる第1および第2の文を含む文の集合を当該文書から抽出し、当該抽出された文の集合(該当文章)を出力する構成により、内容が矛盾または重複している可能性がある文章を自動的に抽出(検索)して、ユーザに提示することができる。これにより、ユーザは文書において内容が矛盾または重複している文章を対象文書の全ての範囲から探索する必要が無いため、当該ユーザの作業負担を大幅に軽減することが可能となる。
【0098】
また、本実施形態においては、該当文章抽出処理において第1の文ペアに含まれる第1の文と第2の文ペアに含まれる第1の文との間の文書における文の数(第1の文間の距離)が予め定められた値(閾値α)以下であり、かつ、第1の文ペアに含まれる第2の文と第2の文ペアに含まれる第2の文との間の文書における文の数(第2の文間の距離)が予め定められた値(閾値β)以下である場合に、当該第1の文ペアに含まれる第1の文から当該第2の文ペアに含まれる第1の文までの間の文の集合(第1の文間の文ブロック)と、当該第1の文ペアに含まれる第2の文から当該第2の文ペアに含まれる第2の文までの間の文の集合(第2の文間の文ブロック)とを該当文章として抽出する構成により、文書において内容が矛盾または重複しているか否かをユーザ(利用者)が判断するために適切なサイズで該当文章を抽出することができる。
【0099】
また、本実施形態においては、ルール格納部22に格納されているルールに基づいて、文書に含まれる複数の文の中からタイトル文を判別し、文ペアの各々に含まれる第1および第2の文間の類似度を算出する際に、当該タイトル文または当該タイトル文を構成する文字列に対して重み付けをする構成により、よりユーザ(人)の感覚に近い類似度を算出することが可能となる。
【0100】
なお、本実施形態においては、文の各々を構成する各単語の出現数を各次元の値とするベクトルの余弦値を類似度として算出するものとして説明したが、例えば互いに類似する文字列(単語)を含む類義語辞書を予め格納する類義語辞書格納部(図示せず)を更に備え、当該類義語辞書に登録されている類似する単語については同一の単語であるものとして文間の類似度を算出するような構成であっても構わない。このような構成とすることにより、類義語を考慮したより正確な類似度を算出することが可能となる。
【0101】
また、本実施形態においては、該当文章抽出処理において第1の文間の距離が閾値α以下であり、かつ、第2の文間の距離が閾値β以下であるという条件を第1および第2の文ペアが満たす限り第1の文間の文ブロックおよび第2の文ブロックが該当文章として追加されるものとして説明したが、当該文ブロックが追加される回数(つまり、マージされる回数)が予め設定される構成であっても構わない。このような構成により、余計な追加(マージ)の抑制および該当文章のサイズの制御が可能となる。更に、本実施形態においては、単に文ブロックを追加するだけでなく、該当文書をタイトル文として判別された文で区切る(つまり、処理を終了する)ことも可能である。また、該当文書を予め設定された文書における階層で区切ることも可能である。
【0102】
更に、本実施形態においては、類似度判定部36によって判定された類似度について、閾値γより高い文ペアが1つである場合でも、複数である場合でも、同じ処理を行なうことが出来る。このとき、類似度が閾値γより高い文ペアが1つの場合は、全ての該当文章の出力が出揃った後に、該当文章のペア(当該文ペアの集合体である文章のペア)のどちらかの文の数が、設定値(例えば2)以下ならば、当該ユーザには提示しないといった処理を行なうこともできる。加えて、ユーザが記載した用語を含む文章は出力しない、一文を構成する単語が少ない場合は出力しない、タイトル文が予め指定された文字列の場合は出力しない、という処理もそれぞれ行なうことができる。
【0103】
これらのような処理を行なうことによって、ユーザの利便性をより図ることができる。もちろん、必ずしも全ての該当文章の出力が揃った後の後処理として行なうものではなく、必要な情報が揃った段階で実施も可能である。
【0104】
また、類似度算出部35によるタイトル文または当該タイトル文を構成する文字列に対する重み付けは、必ずしも必要な処理という訳ではない。タイトル文または当該タイトル文を構成する文字列を判断し、これらに重みをつけるといった処理を行なわなくても、上記で説明したその他の処理を行なうことによって、矛盾・重複を含む可能性のある文章を抽出することは可能である。
【0105】
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【符号の説明】
【0106】
10…コンピュータ、20…外部記憶装置、22…ルール格納部、30…文章抽出装置、31…文書読込部、32…文書解析部、33…タイトル判別部、34…文ペア作成部、35…類似度算出部、36…類似度判定部、37…該当文章抽出部、38…結果出力部。

【特許請求の範囲】
【請求項1】
文字列から構成される複数の文を含む文書を入力する入力手段と、
前記入力された文書に含まれる複数の文のうちの2つの文毎に、当該2つの文を第1および第2の文として含む文ペアを作成する作成手段と、
前記作成された文ペアの各々に含まれる第1および第2の文間の類似度を、当該第1および第2の文を構成する文字列に基づいて算出する算出手段と、
前記算出された類似度が予め定められた値より高い第1および第2の文を含む複数の文ペアを特定する特定手段と、
前記特定された複数の文ペアの各々に含まれる第1および第2の文の前記入力された文書における位置に基づいて、当該複数の文ペアの各々に含まれる第1および第2の文を含む文の集合を当該文書から抽出する抽出手段と、
前記抽出された文の集合を出力する出力手段と
を具備することを特徴とする文章抽出装置。
【請求項2】
前記特定手段は、前記算出された類似度が予め定められた値より高い第1および第2の文を含む複数の文ペアとして、第1および第2の文ペアを含む複数の文ペアを特定し、
前記抽出手段は、前記特定された第1の文ペアに含まれる第1の文と前記特定された第2の文ペアに含まれる第1の文との間の前記入力された文書における文の数が予め定められた値以下であり、かつ、当該第1の文ペアに含まれる第2の文と当該第2の文ペアに含まれる第2の文との間の前記入力された文書における文の数が予め定められた値以下である場合に、当該入力された文書、当該第1および第2の文ペアに基づいて、当該文書における当該第1の文ペアに含まれる第1の文から当該第2の文ペアに含まれる第1の文までの間の第1の文の集合と、当該文書における当該第1の文ペアに含まれる第2の文から当該第2の文ペアに含まれる第2の文までの間の第2の文の集合とを抽出し、
前記出力手段は、前記抽出された第1および第2の文の集合を出力する
ことを特徴とする請求項1記載の文章抽出装置。
【請求項3】
前記文書においてタイトルである文を判別するためのルールを予め格納するルール格納手段と、
前記ルール格納手段に格納されているルールに基づいて、前記入力された文書に含まれる複数の文の中から当該文書においてタイトルである文を判別する判別手段と
を更に具備し、
前記算出手段は、前記作成された文ペアの各々に含まれる第1および第2の文間の類似度を算出する際に、前記判別された文または当該文を構成する文字列に対して重み付けをする
ことを特徴とする請求項1記載の文章抽出装置。
【請求項4】
互いに類似する文字列を含む類義語辞書を予め格納する類義語辞書格納手段を更に具備し、
前記算出手段は、前記類義語辞書格納手段に格納されている類義語辞書に含まれる互いに類似する文字列に基づいて前記類似度を算出する
ことを特徴とする請求項1記載の文章抽出装置。
【請求項5】
文章抽出装置のコンピュータによって実行されるプログラムであって、
前記コンピュータに、
文字列から構成される複数の文を含む文書を入力するステップと、
前記入力された文書に含まれる複数の文のうちの2つの文毎に、当該2つの文を第1および第2の文として含む文ペアを作成するステップと、
前記作成された文ペアの各々に含まれる第1および第2の文間の類似度を、当該第1および第2の文を構成する文字列に基づいて算出するステップと、
前記算出された類似度が予め定められた値より高い第1および第2の文を含む複数の文ペアを特定するステップと、
前記特定された複数の文ペアの各々に含まれる第1および第2の文の前記入力された文書における位置に基づいて、当該複数の文ペアの各々に含まれる第1および第2の文を含む文の集合を当該文書から抽出するステップと、
前記抽出された文の集合を出力するステップと
を実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2012−256107(P2012−256107A)
【公開日】平成24年12月27日(2012.12.27)
【国際特許分類】
【出願番号】特願2011−127431(P2011−127431)
【出願日】平成23年6月7日(2011.6.7)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(301063496)東芝ソリューション株式会社 (1,478)