以下、図面を参照して、本発明の各実施形態について説明する。
[第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に格納される。
用例辞書格納部22には、文書から校正個所を発見するためのそれぞれ異なる複数の観点(以下、文書校正観点と表記)の各々において範例となる文(以下、用例文と表記)が予め格納(保持)される。
本実施形態においては、複数の文書校正観点の各々に対応する複数の用例辞書格納部22が用意されている。
ここでは、文書校正観点として、文に含まれる動詞のうち最後の動詞以降の表現(つまり、文末表現)が適切であるか否かをチェックする「文末断定表現チェック」及び文に含まれる固有表現の並び順をチェックする「数量構文規範チェック」が含まれるものとする。この場合、文書処理装置30には、「文末断定表現チェック」及び「数量構文規範チェック」のそれぞれに対応する用例辞書格納部22が用意されている。なお、これら以外の文書校正観点が含まれる構成であっても構わない。
設定ファイル23には、複数の文書校正観点毎に、文書中の校正個所発見に関する各種設定項目が予め設定(管理)されている。この各種設定項目には、文書校正観点に対応する用例辞書格納部22、当該文書校正観点において用いられる解析方法及び当該文書校正観点における解析結果比較方法等が含まれる。解析方法には、例えば形態素解析及び固有表現抽出が含まれる。解析結果比較方法には、例えば完全一致及び部分一致が含まれる。
なお、本実施形態では、文書校正観点「文末断定表現チェック」においては形態素解析が用いられ、文書校正観点「数量構文規範チェック」においては固有表現抽出が用いられる。
ここで、文書処理装置30を利用するユーザは、当該文書処理装置30を操作することによって上記した文書校正観点「文末断定表現チェック」及び「数量構文規範チェック」のいずれかを選択することができる。入力部31は、このユーザの選択操作を受け付ける。これにより、入力部31は、ユーザの操作に応じて、当該ユーザによって選択された文書校正観点(「文末断定表現チェック」または「数量構文規範チェック」)を認識する。
また、入力部31は、ユーザの操作に応じて、文を含む文書を入力する。ユーザは、文書処理装置30を操作することによって文書を指定することができる。以下、入力部31によって入力された文書を入力文書と称する。
制御部32は、設定ファイル23に設定されている各種設定項目を基に、後述する文書校正観点制御処理を実行する。制御部32は、入力部31によって認識された文書校正観点における用例辞書格納部22、解析方法及び解析結果比較方法の決定等の処理を制御する。
制御部32は、用例辞書決定部321、解析方法決定部322及び比較方法決定部323を含む。
用例辞書決定部321は、入力部31によって認識された文書校正観点(ユーザによって選択された文書校正観点)に対応する用例辞書格納部22を、設定ファイル23を参照して決定する。
解析方法決定部322は、入力部31によって認識された文書校正観点において用いられる解析方法を、設定ファイル23を参照して決定する。
比較方法決定部323は、入力部31によって認識された文書校正観点における解析結果比較方法を、設定ファイル23を参照して決定する。
解析部33は、用例辞書決定部321によって決定された用例辞書格納部22に格納されている用例文を、解析方法決定部322によって決定された解析方法(形態素解析または固有表現抽出)を用いて解析する。解析部33は、解析された用例文に対応付けて当該用例文の解析結果を解析結果格納部24に格納する。
また、解析部33は、入力文書(入力部31によって入力された文書)に含まれる文(以下、入力文と表記)を、解析方法決定部322によって決定された解析方法を用いて解析する。解析部33は、解析された入力文に対応付けて当該入力文の解析結果を解析結果格納部24に格納する。
解析結果比較部34は、解析結果格納部24による用例文の解析結果(第1の解析結果)及び入力文の解析結果(第2の解析結果)を、比較方法決定部323によって決定された解析結果比較方法に基づいて比較する。解析結果比較部34は、この比較結果に基づいて入力文書から校正個所(となる文)を発見する。
表示部35は、解析結果比較部34によって発見された校正個所をユーザに対して提示(表示)する。
なお、表示部35は、例えばユーザからの要求に応じて、当該ユーザに文書校正観点を選択させるための画面(以下、文書校正観点選択画面と表記)を表示する。ユーザは、この文書校正観点選択画面に対して操作を行うことにより、上記したように文書校正観点「文末断定表現チェック」及び「数量構文規範チェック」のいずれかを選択することができる。
用例辞書編集部36は、ユーザの操作に応じて、用例辞書格納部22に格納されている用例文の編集処理を実行する。用例辞書編集部36は、ユーザの操作に応じて、ユーザによって指定された文を用例文として、例えば用例辞書決定部321によって決定された用例辞書格納部22(入力部31によって認識された文書校正観点に対応する用例辞書格納部22)に追加する処理を実行する。用例辞書編集部36は、ユーザの操作に応じて、例えば用例辞書決定部321によって決定された用例辞書格納部22に格納されている用例文を、当該用例辞書格納部22から削除する処理を実行する。
図3は、図2に示す設定ファイル23のデータ構造の一例を示す。設定ファイル23には、文書処理装置30における各種設定項目が記述されている。設定ファイル23には、文書校正観点毎に、当該文書校正観点を識別するための情報、当該文書校正観点に対応する用例辞書格納部22(当該文書校正観点で使用される用例辞書格納部22)の名称(配置場所)、当該文書校正観点において用いられる解析方法及び当該文書校正観点における解析結果比較方法が予め設定されている。
解析方法としては、例えば形態素解析及び固有表現抽出のいずれかが設定される。この解析方法は、用例辞書格納部22に格納されている用例文及び入力文書に含まれる文(入力文)に対して用いられる解析方法を示す。なお、解析方法として、形態素解析及び固有表現抽出以外の解析方法が設定されても構わない。
解析結果比較方法には、比較条件、比較箇所及び比較方法が含まれる。比較条件は、入力文が校正個所として発見される対象(以下、校正個所発見対象と表記)となるか否かを判定するための条件を示す。比較個所は、入力文が校正個所であるかを判定するために用例文と比較する個所を示す。比較方法としては、完全一致及び部分一致のいずれかが設定される。なお、比較条件及び比較個所は、例えば正規表現で記述される。
図3に示す例では、文書校正観点「文書断定表現チェック」及び「数量構文規範チェック」の各々について上記した各種設定項目が設定ファイル23に設定されている。なお、図3に示す例では、「#POV1」以下が文書校正観点「文書断定表現チェック」についての各種設定項目を示し、「#POV2」以下が文書校正観点「数量構文規範チェック」についての各種設定項目を示す。
まず、「#POV1」以下の文書校正観点「文末断定表現チェック」についての設定項目について説明する。
設定ファイル23には、文書校正観点「文末断定表現チェック」を識別するための情報として「docheck.pov1=bunmatsu」が設定されている。
設定ファイル23には、文書校正観点「文末断定表現チェック」に対応する用例辞書格納部22の名称として「docheck.pov1.dic=bunmatsu.txt」が設定されている。
設定ファイル23には、文書校正観点「文末断定表現チェック」において用いられる解析方法として「docheck.pov1.analysis=morph」が設定されている。なお、「morph」は、形態素解析を意味する。
設定ファイル23には、文書校正観点「文末断定表現チェック」における解析結果比較方法に含まれる比較条件として「docheck.pov1.cond=/.+?<動>(?:\+.+?<助>)?.+?/。<句読>;$」が設定されている。また、設定ファイル23には、文書校正観点「文末断定表現チェック」における解析結果比較方法に含まれる比較個所として「docheck.pov1.comp.range=/.+?<動>(?:\+.+?<助>)?(.+?)/。<句読>;$」が設定されている。
上記したように、比較条件及び比較箇所は正規表現で記述される。この比較条件「/.+?<動>(?:\+.+?<助>)?.+?/。<句読>;$」は、「/」の後に任意の1文字を(マッチが可能な最短の文字位置まで)1回以上繰り返し、その後の「<動>」に続いて、「+」の後に任意の1文字を(マッチが可能な最短の文字位置まで)1回以上繰り返し、その後に「<助>」がある文字列(にマッチする文字列)がないかまたは1つ存在し、更に任意の1文字を(マッチが可能な最短の文字位置まで)1回以上繰り返した後に「/。<句読>;」で終わる文字列(文)を意味する。上記した正規表現において、「$」は文末を意味する。
なお、比較個所「/.+?<動>(?:\+.+?<助>)?(.+?)/。<句読>;$」の「(.+?)」の部分は、当該「()」内の「.+?」にマッチした文字列を比較個所として取得可能にするための記述である。つまり、比較個所として取得される文字列は、「()」内に該当する文字列である。ここで、比較個所を表す「()」と正規表現における「()」は、当該「()」内の文字列の先頭が「?:」であるか否かによって区別できる。すなわち、「()」内の文字列の先頭が「?:」でない「()」内に該当する文字列が比較個所となる。
設定ファイル23には、文書校正観点「文末断定表現チェック」における解析結果比較方法に含まれる比較方法として「docheck.pov1.comp.method=1」が設定されている。この比較方法における「1」は、完全一致を示すものとする。
次に、「#POV2」以下の文書校正観点「数量構文規範チェック」についての設定項目について説明する。
設定ファイル23には、文書校正観点「数量構文規範チェック」を識別するための情報として「docheck.pov2=suryo」が設定されている。
設定ファイル23には、文書校正観点「数量構文規範チェック」に対応する用例辞書格納部22の名称として「docheck.pov2.dic=bunmatsu.txt」が設定されている。
設定ファイル23には、文書校正観点「数量構文規範チェック」において用いられる解析方法として「docheck.pov2.analysis=nee」が設定されている。なお、「nee」は、固有表現抽出を意味する。
設定ファイル23には、文書校正観点「数量構文規範チェック」における解析結果比較方法に含まれる比較条件として「docheck.pov2.cond=(?=.*?QUANTITY)(?=.*?PHQ)(?=.*?DATE)(?=.*?LOCATION)」が設定されている。この「(?=.*?QUANTITY)(?=.*?PHQ)(?=.*?DATE)(?=.*?LOCATION)」は、「QUANTITY(量)」、「PHQ(物理量)」、「DATE(日付)」及び「LOCATION(地名)」の全てを順不同で含む文字列(文)を意味する。
設定ファイル23には、文書校正観点「数量構文規範チェック」における解析結果比較方法に含まれる比較個所として「docheck.pov2.comp.range=」が設定されている。この場合、「=」の右側(右辺)には値が指定されていない。つまり、この設定ファイル23には、文書校正観点「数量構文規範チェック」における比較個所は指定されていない。
また、設定ファイル23には、文書校正観点「数量構文規範チェック」における解析結果比較方法に含まれる比較方法として「docheck.pov2.comp.method=2」が設定されている。この比較方法における「2」は、部分一致を示すものとする。
次に、図4のフローチャートを参照して、本実施形態に係る文書処理装置30の処理手順について説明する。
まず、表示部35は、ユーザの要求に応じて、当該ユーザに文書校正観点を選択させるための文書校正観点選択画面を表示する(ステップS1)。
ここで、図5は、表示部35によって表示される文書校正観点選択画面の一例を示す。図5に示す例では、文書校正観点選択画面100には、「文末断定表現チェック」ボタン101及び「数量構文規範チェック」ボタン102が表示されている。ユーザは、この文書校正観点選択画面100において、文書処理装置30を操作することによって文書校正観点「文末断定表現チェック」及び「数量構文規範チェック」のいずれかを選択することができる。
具体的には、ユーザは、文書処理装置30を操作して「文末断定表現チェック」ボタン101を押下することにより文書校正観点「文末断定表現チェック」を選択することができる。一方、ユーザは、文書処理装置30を操作して「数量構文規範チェック」ボタン102を押下することにより文書校正観点「数量構文規範チェック」を選択することができる。
再び図4に戻ると、入力部31は、上記したような文書校正観点選択画面100に対するユーザの選択操作を受け付ける。これにより、入力部31は、ユーザによって選択された文書校正観点(「文末断定表現チェック」または「数量構文規範チェック」)を認識する。入力部31は、認識された文書校正観点を識別するための情報(文字列データ)を制御部32に送信する。
ユーザによって選択された文書校正観点が「文末断定表現チェック」である場合には、入力部31は、当該「文末断定表現チェック」を識別するための文字列データとして例えば「bunmatsu」を送信する。一方、ユーザによって選択された文書校正観点が「数量構文規範チェック」である場合には、入力部31は、当該「数量構文規範チェック」を識別するための文字列データとして例えば「suryo」を送信する。
次に、制御部32は、入力部31によって送信された文字列データに基づいて、文書校正観点制御処理を実行する(ステップS2)。このとき、制御部32は、設定ファイル23を参照して、文書校正観点制御処理を実行する。制御部32は、文書校正観点制御処理により、入力部31によって送信された文字列データによって識別される文書校正観点(ユーザによって選択された文書校正観点)における用例辞書格納部22、解析方法及び解析結果比較方法を決定する。この文書校正観点制御処理の詳細については後述する。
入力部31は、ユーザの操作に応じて、文を含む文書を入力する(ステップS3)。入力部31によって入力された文書(入力文書)は、ユーザによって選択された文書校正観点による校正対象となる文書(チェック対象文書)である。なお、ユーザは、例えば文書処理装置30を操作することによって入力文書となる文書を指定することができる。
入力部31によって入力文書が入力されると、表示部35は、ユーザに対して各種操作を受け付けるための操作画面を表示する。
ここで、図6は、入力文書が入力された場合に表示部35によって表示される操作画面の一例を示す。なお、図6に示す操作画面200は、文書校正観点として「文末断定表現チェック」がユーザによって選択された場合に表示される操作画面の一例を示す。
図6に示す例では、操作画面200の左欄201には、入力文書が表示されている。この左欄201に表示されている入力文書は、文書校正観点「文末断定表現チェック」による校正対象となる、ユーザによって指定された文書である。
一方、操作画面200の右欄202には、制御部32によって決定された用例辞書格納部22(文書校正観点「文末断定表現チェック」に対応する用例辞書格納部22)に格納されている用例文が表示されている。
また、操作画面200には、「入力文書選択」ボタン203及び「チェック開始」ボタン204が表示されている。
ユーザは、例えば入力文書が複数存在する場合に、「入力文書選択」ボタン203を押下することによってチェック対象文書となる入力文書を選択することができる。また、操作画面200において、ユーザの操作に応じて「チェック開始」ボタン204が押下されると、入力文書に対して校正個所発見処理(後述する)が実行される。校正個所発見処理は、制御部32によって決定された用例辞書格納部22に格納されている用例文、当該制御部32によって決定された解析方法及び解析結果に基づいて実行される。
また、操作画面200には、「用例文を追加」ボタン205及び「用例文を削除」ボタン206が表示されている。ユーザは、文書処理装置30を操作して「用例文を追加」ボタン205及び「用例文を削除」ボタン206を押下することができる。ユーザの操作に応じて「用例文を追加」ボタン205または「用例文を削除」ボタン206が押下された場合には、用例辞書格納部22に格納されている用例文の編集が行われる。
例えばユーザの操作に応じて「用例文を追加」ボタン205が押下されると、当該ユーザによって指定された文が用例文として用例辞書格納部22に追加される。
用例文が用例辞書格納部22に追加される場合について図7及び図8を用いて具体的に説明する。なお、上記した図6と同様の部分には同一参照符号を付してその詳しい説明を省略する。以下の操作画面を示す図面についても同様である。
図7に示すように、操作画面200に表示されている「用例文を追加」ボタン205が押下されると、図7に示すように用例文追加画面300が表示される。ユーザは、文書処理装置30を操作して用例文追加画面300に用例文として追加したい文を指定(入力)することができる。この後、ユーザの操作に応じて用例文追加画面300に表示されている「追加」ボタン301が押下されることによって、当該ユーザによって指定された文が用例文として用例辞書格納部22に追加される。図7に示す例では、「雨が降りそうです。」という文がユーザによって指定されている。ここで、用例文追加画面300に表示されている「追加」ボタン301が押下されると、「雨が降りそうです。」が用例文として制御部32によって決定された用例辞書格納部22に追加され、図8に示す操作画面200に戻る。図8に示すように、操作画面200の右欄202には、用例辞書格納部22に追加された「雨が降りそうです。」が用例文として表示されている。
一方、ユーザの操作に応じて例えば操作画面200の右欄202に表示されている用例文が指定され、「用例文を削除」ボタン206が押下されると、当該指定された用例文が用例辞書格納部22から削除される。
用例文が用例辞書格納部22から削除される場合について図9を参照して具体的に説明する。図9に示すように、ユーザは、文書処理装置30を操作することによって、操作画面200の右欄202に表示されている用例文のうち「雨が降るでしょう。」を指定したものとする。この後、ユーザの操作に応じて操作画面200に表示されている「用例文を削除」ボタン206が押下されると、当該ユーザによって指定された用例文「雨が降るでしょう。」が制御部32によって決定された用例辞書格納部22から削除される。このように、例えば用例文「雨が降るでしょう。」が制御部32によって決定された用例辞書格納部22から削除されると、操作画面200の右欄202から当該用例文「雨が降るでしょう。」が削除される。
ここで、上記した図6においては文書校正観点として「文末断定表現チェック」がユーザによって選択された場合に表示される操作画面について説明したが、図10を参照して、文書校正観点として「数量構文規範チェック」がユーザによって選択された場合に表示される操作画面の一例について説明する。
図10に示す例では、操作画面200の左欄201には、入力文書が表示されている。この左欄201に表示されている入力文書は、文書校正観点「数量構文規範チェック」による校正対象となる、ユーザによって指定された文書である。ここでは、上記した図6に示す操作画面200に表示されている入力文書とは異なる入力文書が表示されている。
また、操作画面200の右欄202には、文書校正観点「数量構文規範チェック」に対応する用例辞書格納部22に格納されている用例文が表示されている。つまり、ユーザによって選択された文書校正観点に応じて操作画面200の右欄202に表示される用例文は異なる。
なお、用例文の追加及び削除等の用例辞書格納部22に対する編集処理については、上記図7〜図9を用いて説明した文書校正観点「文末断定表現チェック」が選択された場合と同様であるためのその詳しい説明を省略する。
再び図4に戻ると、用例辞書格納部22に対する編集(処理)があるか否かが判定される(ステップS4)。上記した操作画面200において、「用例文を追加」ボタン205または「用例文を削除」ボタン206がユーザの操作に応じて押下された場合に編集があると判定される。
用例辞書格納部22に対する編集があると判定された場合(ステップS4のYES)、用例辞書編集部36は、ユーザの操作に応じて、制御部32によって決定された用例辞書格納部22に対する編集処理を実行する(ステップS5)具体的には、ユーザの操作に応じて「用例文を追加」ボタン205が押下された場合には、用例辞書編集部36は、上記したようにユーザによって指定された文を用例文として用例辞書格納部22に追加する処理を実行する。また、ユーザの操作に応じて「用例文を削除」ボタン206が押下された場合には、用例辞書編集部36は、上記したように用例辞書格納部22に格納されている用例文のうちユーザによって指定された用例文を、当該用例辞書格納部22から削除する処理を実行する。
一方、用例辞書格納部22に対する編集がないと判定された場合(ステップS4のNO)、上記したステップ5の処理は実行されない。
ここで、上記した操作画面200において、ユーザの操作に応じて「チェック開始」ボタン204が押下されたものとする。この場合、校正個所発見処理が実行される(ステップS6)。校正個所発見処理は、主として解析部33及び解析結果比較部34によって実行される。この校正個所発見処理では、制御部32によって決定された用例辞書格納部22に格納されている用例文、当該制御部32によって決定された解析方法及び解析結果比較方法に基づいて、入力文書に含まれる文(入力文)の中から校正個所となる文が発見される。この校正個所発見処理の詳細については後述する。
表示部35は、校正個所発見処理によって発見された校正個所をユーザに対して表示する(ステップS7)。
ここで、図11は、表示部35によって校正個所が表示された場合の操作画面(校正個所表示画面)の一例を示す。図11に示すように、操作画面200の左欄201には、入力文書が表示され、かつ、当該入力文書に含まれる文のうち校正個所となる文が他の文と区別可能に表示されている。具体的には、校正個所となる文が例えば赤く強調して表示される。ユーザは、この操作画面200を確認することにより、容易に入力文書における校正個所を発見(認識)することができる。
再び図4に戻って説明する。上記したステップS7の処理が実行されると、ステップS4と同様の処理であるステップS8の処理が実行される。上記した図11に示す操作画面(校正個所表示画面)200において、「用例文を追加」ボタン205または「用例文を削除」ボタン206がユーザの操作に応じて押下された場合には編集があると判定される。
用例辞書格納部22に対する編集があると判定された場合(ステップS8のYES)、ステップS5に戻って処理が繰り返される。一方、用例辞書格納部22に対する編集がないと判定された場合(ステップS8のNO)、処理は終了される。
次に、図12のフローチャートを参照して、制御部32による前述した文書校正観点制御処理(図4に示すステップS2の処理)の処理手順について説明する。この文書校正観点制御処理は、入力部31によって送信された文字列データが制御部32によって取得されると実行される。この文字列データは、ユーザによって選択された文書校正観点を識別するための情報である。
ここでは、ユーザによって例えば文書校正観点「文末断定表現チェック」が選択されたものとして説明する。制御部32は、文字列データとして「bunmatsu」を取得したものとして説明する。また、設定ファイル23は、上記した図3に示すデータ構造を有するものとする。
まず、制御部32は、設定ファイル23を読み込む(ステップS11)。制御部32は、取得された文字列データによって識別される文書校正観点(ここでは、「文末断定表現チェック」)についての各種設定項目を参照する。
制御部32によって取得された文字列データは「bunmatsu」であるため、図3に示す設定ファイル23に設定されている「doceheck.pov1=bunmatsu」と紐付く。これにより、制御部32は、設定ファイル23の「#POV1」以下に設定されている項目を文字列データ「bunmatsu」によって識別される文書校正観点「文末断定表現チェック」についての設定項目として参照する。
次に、制御部32に含まれる用例辞書決定部321は、取得された文字列データ「bunmatsu」によって識別される文書校正観点「文末断定表現チェック」に対応する用例辞書格納部22を、設定ファイル23を参照して決定する(ステップS12)。ここでは、用例辞書決定部321は、設定ファイル23に設定されている「bunmatsu.txt」を名称とする用例辞書格納部22を、文書校正観点「文末断定表現チェック」に対応する用例辞書格納部22として決定する。
制御部32に含まれる解析方法決定部322は、取得された文字列データ「bunmatsu」によって識別される文書校正観点「文末断定表現チェック」において用いられる解析方法を、設定ファイル23を参照して決定する(ステップS13)。ここでは、解析方法決定部322は、設定ファイル23に設定されている「morph」を、文書校正観点「文末断定表現チェック」において用いられる解析方法として決定する。この「morph」は、形態素解析を意味する。
制御部32に含まれる比較方法決定部323は、取得された文字列データ「bunmatsu」によって識別される文書校正観点「文末断定表現チェック」における解析結果比較方法に含まれる比較条件を、設定ファイル23を参照して決定する(ステップS14)。ここでは、比較方法決定部323は、設定ファイル23に設定されている「/.+?<動>(?:\+.+?<助>)?.+?/。<句読>;$」を、文書校正観点「文末断定表現チェック」における比較条件として決定する。
比較方法決定部323は、取得された文字列データ「bunmatsu」によって識別される文書校正観点「文末断定表現チェック」における解析結果比較方法に含まれる比較個所を、設定ファイル23を参照して決定する(ステップS15)。ここでは、比較方法決定部323は、設定ファイル23に設定されている「/.+?<動>(?:\+.+?<助>)?(.+?)/。<句読>;$」を、文書校正観点「文末断定表現チェック」における比較個所として決定する。この「/.+?<動>(?:\+.+?<助>)?(.+?)/。<句読>;$」によれば、上記したように「(.+?)」の部分が比較個所であることが表されている。
比較方法決定部323は、取得された文字列データ「bunmatsu」によって識別される文書校正観点「文末断定表現チェック」における解析結果比較方法に含まれる比較方法を、設定ファイル23を参照して決定する(ステップS16)。ここでは、比較方法決定部323は、設定ファイル23に設定されている「1」を、文書校正観点「文末断定表現チェック」における比較方法として決定する。この「1」は、完全一致を意味する。
ここでは、文書校正観点として「文末断定表現チェック」がユーザによって選択された場合について説明したが、例えば「数量構文規範チェック」がユーザによって選択された場合であっても、同様に設定ファイル23を参照して用例辞書格納部22、解析方法、比較条件、比較個所及び比較方法が制御部32において決定される。
具体的には、文書校正観点「数量構文規範チェック」に対応する用例辞書格納部22としては、設定ファイル23に設定されている「suryo.txt」を名称とする用例辞書格納部22が決定される。文書校正観点「数量構文規範チェック」において用いられる解析方法としては、設定ファイル23に設定されている「nee」が決定される。この「nee」は、固有表現抽出を意味する。文書校正観点「数量構文規範チェック」における比較条件としては、設定ファイル23に設定されている「(?=.*?QUANTITY)(?=.*?PHQ)(?=.*?DATE)(?=.*?LOCATION)」が決定される。文書校正観点「数量構文規範チェック」における比較方法としては、設定ファイル23に設定されている「2」が決定される。この「2」は、部分一致を意味する。なお、文書校正観点「数量構文規範チェック」における比較個所は、設定ファイル23において指定されていない。
以下、図13のフローチャートを参照して、前述した校正個所発見処理(図4に示すステップS6の処理)の処理手順について説明する。この校正個所発見処理は、上記した図6等に示す操作画面200において「チェック開始」ボタン204がユーザの操作に応じて押下された場合に、解析部33及び解析結果比較部34によって実行される。
まず、図13のフローチャートを参照して、ユーザによって文書校正観点「文末断定表現チェック」が選択された場合の校正個所発見処理について説明する。ここでは、上記した図12において説明したように、解析方法として「morph(形態素解析)」、比較条件として「/.+?<動>(?:\+.+?<助>)?.+?/。<句読>;$」、比較個所として「/.+?<動>(?:\+.+?<助>)?(.+?)/。<句読>;$」及び比較方法として「1(完全一致)」が制御部32に含まれる解析方法決定部322及び比較方法決定部323によって決定されているものとする。
また、制御部32に含まれる用例辞書決定部321によって決定された用例辞書格納部22(「bunmatsu.txt」を名称とする用例辞書格納部22)には、第1〜第3の用例文が格納されているものとする。この第1〜第3の用例文は、文末断定表現の範例となる文である。ここでは、第1の用例文は、「雨が降るでしょう。」であるものとする。第2の用例文は、「雨が降りそうです。」であるものとする。また、第3の用例文は、「雨が降るかもしれません。」であるものとする。
また、入力文書(入力部31によって入力された文書)には、第1及び第2の入力文が含まれているものとする。第1の入力文は、「今日は晴れそうです。」であるものとする。また、第2の入力文は、「明日は雪が降ります。」であるものとする。
まず、解析部33は、用例辞書決定部321によって決定された用例辞書格納部22に格納されている用例文(ここでは、第1〜第3の用例文)を取得する(ステップS21)。
次に、解析部33は、取得された用例文を、解析方法決定部322によって決定された解析方法を用いて解析する(ステップS22)。ここでは、解析部33は、取得された第1〜第3の用例文を「morph(形態素解析)」により解析する。解析部33は、第1〜第3の用例文の形態素解析による解析結果(以下、形態素解析結果と表記)をそれぞれ当該第1〜第3の用例文に対応付けて解析結果格納部24に格納する。
ここで、図14は、第1〜第3の用例文の形態素解析結果が格納された解析結果格納部24のデータ構造の一例を示す。図14に示すように、解析結果格納部24には、第1〜第3の用例文のそれぞれに対応付けて当該第1〜第3の用例文の形態素解析結果が格納されている。
第1の用例文は「雨が降るでしょう。」であるため、当該第1の用例文の形態素解析結果は、「雨/が/降る<動>/でしょ/う/。<句読>;」となる。よって、解析結果格納部24には、第1の用例文「雨が降るでしょう。」に対応付けて当該第1の用例文の形態素解析結果「雨/が/降る<動>/でしょ/う/。<句読>;」が格納されている。
第2の用例文は「雨が降りそうです。」であるため、当該第2の用例文の形態素解析結果は、「雨/が/降り<動>/そう/です/。<句読>;」となる。よって、解析結果格納部24には、第2の用例文「雨が降りそうです。」に対応付けて当該第2の用例文の形態素解析結果「雨/が/降り<動>/そう/です/。<句読>;」が格納されている。
第3の用例文は「雨が降るかもしれません。」であるため、当該第3の用例文の形態素解析結果は、「雨/が/降る<動>+かも<助>/知れ/ませ/ん/。<句読>;」となる。よって、解析結果格納部24には、第3の用例文「雨が降るかもしれません。」に対応付けて第3の用例文の形態素解析結果「雨/が/降る<動>+かも<助>/知れ/ませ/ん/。<句読>;」が格納されている。
これらの形態素解析結果において、「/」及び「+」は形態素の区切りを意味し、「<>」は各形態素の品詞を示す。また、「;」は文の区切りを意味する。なお、本実施形態における形態素解析結果においては、校正個所発見処理に用いる品詞の形態素にのみ品詞が付与される。すなわち、図14に示す形態素解析結果においては、「<動>」、「<助>」及び「<句読>」の品詞のみが付与されている。
次に、解析部33は、入力文書を1文ずつに分割する(ステップS23)。ここでは、入力文書は、第1及び第2の入力文に分割される。
解析部33は、分割された入力文のうちの1つを、解析方法決定部322によって決定された解析方法を用いて解析する(ステップS24)。ここでは、解析部33は、分割された入力文のうち例えば第1の入力文を形態素解析する。
第1の入力文は「今日は晴れそうです。」であるため、当該第1の入力文の形態素解析結果は、「今日/は/晴れ<動>/そう/です/。<句読>;」となる。
解析部33は、第1の入力文の形態素解析結果を当該第1の入力文に対応付けて解析結果格納部24に格納する。
解析結果比較部34は、解析部33による第1の入力文の形態素解析結果及び比較方法決定部323によって決定された比較条件を照合する。これにより、解析結果比較部34は、第1の入力文の形態素解析結果が比較条件に合致(マッチ)するか否かを判定する(ステップS25)。
ここでは、解析部33による第1の入力文の形態素解析結果は「雨/が/降る<動>/でしょ/う/。<句読>;」であり、比較方法決定部323によって決定された比較条件は「/.+?<動>(?:\+.+?<助>)?.+?/。<句読>;$」である。このため、解析結果比較部34は、第1の入力文の形態素解析結果が比較条件に合致すると判定する。この場合、解析結果比較部34は、第1の入力文が校正個所発見対象であるとして、ステップS26の処理を実行する。
なお、第1の入力文の形態素解析結果が比較条件に合致しないと判定された場合(ステップS25のNO)、当該第1の入力文は校正個所発見対象外となり、後述するステップS32の処理が実行される。つまり、この場合には第1の入力文は校正個所としてユーザに対して表示されない。
第1の入力文の形態素解析結果が比較条件に合致すると判定された場合(ステップS25のYES)、解析結果比較部34は、比較方法決定部323によって決定された比較個所「/.+?<動>(?:\+.+?<助>)?(.+?)/。<句読>;$」に基づいて、比較個所の指定があるか否かを判定する(ステップS26)。
比較方法決定部32によって決定された比較個所「/.+?<動>(?:\+.+?<助>)?(.+?)/。<句読>;$」においては「(.+?)」の部分が比較個所を表すため、解析結果比較部34は、比較個所の指定があると判定する。
比較個所の指定があると判定された場合(ステップS26のYES)、解析結果比較部34は、第1の入力文の形態素解析結果及び解析部33による第1〜第3の用例文の形態素解析結果を比較個所「/.+?<動>(?:\+.+?<助>)?(.+?)/。<句読>;$」と照合する。これにより、解析結果比較部34は、第1の入力文の形態素解析結果及び第1〜第3の用例文の形態素解析結果の各々において、比較個所「/.+?<動>(?:\+.+?<助>)?(.+?)/。<句読>;$」の「(.+?)」の部分に該当する文字列を比較個所として特定する(ステップS27)。
第1の入力文の形態素解析結果においては、「/そう/です」が比較個所として特定される。第1の用例文の形態素解析結果においては、「/でしょ/う」が比較個所として特定される。第2の用例文の形態素解析結果においては、「/そう/です」が比較個所として特定される。第3の用例文の形態素解析結果においては、「/しれ/ませ/ん」が比較個所として特定される。つまり、文書校正観点「文末断定表現チェック」がユーザによって選択された場合には、入力文及び用例文における文末の「動詞(+助詞)」より後ろの表現が比較される。
以下、第1の入力文の形態素解析結果において特定された比較個所を第1の入力文比較個所と称する。同様に、第1〜第3の用例文の形態素解析結果において特定された比較個所をそれぞれ第1〜第3の用例文比較個所と称する。
なお、ステップS27において比較個所の指定がないと判定された場合には、上記したステップS28の処理は実行されず、ステップS29の処理が実行される。この場合には、第1の入力文の形態素解析結果の全体が第1の入力文比較個所とされる。同様に、第1〜第3の用例文の形態素解析結果の全体がそれぞれ第1〜第3の用例文比較個所とされる。
解析結果比較部34は、比較方法決定部323によって決定された比較方法を判別する(ステップS28)。ここでは、比較方法決定部323によって決定された比較方法は「1」であるため、解析結果比較部34は、比較方法が完全一致であることを判別する。
解析結果比較部34は、ステップS28において特定された第1の入力文比較個所と第1〜第3の用例文比較個所のうちの少なくとも1つとが完全一致であるか否かを判定する(ステップS29)。この判定処理は、ステップS29において判別された比較方法(ここでは、完全一致)に基づいて実行される。
上記したように、第1の入力文比較個所は、「/そう/です」である。また、第1の用例文比較個所は「/でしょ/う」であり、第2の用例文比較個所は「/そう/です」であり、第3の用例文比較個所は「/しれ/ませ/ん」である。よって、解析結果比較部34は、第1の入力文比較個所と第1及び第3の用例文比較個所とは完全一致でないと判定する。一方、解析結果比較部34は、第1の入力文比較個所及び第2の用例文比較個所とは完全一致であると判定する。
これにより、解析結果比較部34は、第1の入力文比較個所と第1〜第3の用例文比較個所のうちの少なくとも1つとが完全一致であると判定する。
第1の入力文比較個所と第1〜第3の用例文比較個所のうちの少なくとも1つとが完全一致であると判定された場合(ステップS29のYES)、解析結果比較部34は、第1の入力文が文末断定表現の範例(規範)に則していることを意味するフラグを立てる(ステップS30)。このフラグは、解析部33によって解析結果格納部24に格納された第1の入力文及び当該第1の入力文の形態素解析結果に対応付けて当該解析結果格納部24に格納される。
次に、ステップS23において分割された全ての入力文について上記したステップS24以降の処理が実行されたか否かが判定される(ステップS31)。ここでは、ステップS23において分割された入力文のうち第1の入力文についてはステップS24以降の処理が実行されたが、第2の入力文については当該処理が実行されていない。このため、全ての入力文についてステップS24以降の処理が実行されていないと判定される(ステップS31のNO)。この場合、上記したステップS24に戻って第2の入力文について処理が実行される。
ここで、第2の入力文についてステップS24以降の処理が実行された場合について簡単に説明する。
解析部33は、第2の入力文を形態素解析により解析する(ステップS24)。第2の入力文は「明日は雪が降ります。」であるため、当該第2の入力文の形態素解析結果は、「明日/は/雪/が/降り<動>/ます/。<句読>;」となる。解析部33は、第2の入力文の形態素解析結果を当該第2の入力文に対応付けて解析結果格納部24に格納する。
解析結果比較部34は、第2の入力文の形態素解析結果が比較方法決定部323によって決定された比較条件に合致するか否かを判定する(ステップS25)。第2の入力文の形態素解析結果は「明日/は/雪/が/降り<動>/ます/。<句読>;」であり、比較条件は「/.+?<動>(?:\+.+?<助>)?.+?/。<句読>;$」である。このため、解析結果比較部34は、第2の入力文の形態素解析結果が比較条件に合致すると判定する(ステップS25のYES)。これにより、解析結果比較部34は、第2の入力文を校正個所発見対象とする。
次に、解析結果比較部34は、比較方法決定部323によって決定された比較個所「/.+?<動>(?:\+.+?<助>)?(.+?)/。<句読>;$」に基づいて、比較個所の指定があると判定する(ステップS26のYES)。
解析結果比較部34は、第2の入力文の形態素解析結果及び第1〜第3の用例文の形態素解析結果を比較個所「/.+?<動>(?:\+.+?<助>)?(.+?)/。<句読>;$」と照合するする。これにより、解析結果比較部34は、第2の入力文の形態素解析結果における比較個所(以下、第2の入力文比較個所と表記)及び第1〜第3の用例文の形態素解析結果における比較個所(第1〜第3の用例文比較個所)を特定する(ステップS27)。
解析結果比較部34は、第2の入力文比較個所として「/ます」を特定する。また、解析結果比較部34は、第1の用例文比較個所として「/でしょ/う」、第2の用例文比較個所として「/そう/です」、第3の用例文比較個所として「/しれ/ませ/ん」を特定する。
解析結果比較部34は、比較方法決定部323によって決定された比較方法が完全一致であることを判別する(ステップS28)。
解析結果比較部34は、第2の入力文比較個所と第1〜第3の用例文比較個所のうちの少なくとも1つとが完全一致であるか否かを判定する(ステップS29)。上記したように第2の入力文比較個所は「/ます」である。また、第1の用例文比較個所は「/でしょ/う」であり、第2の用例文比較個所は「/そう/です」であり、第3の用例文比較個所は「/しれ/ませ/ん」である。この場合、第2の入力文比較個所は、第1〜第3の用例文比較個所のいずれとも完全一致でない。つまり、解析結果比較部34は、第2の入力文比較個所と第1〜第3の用例文比較個所のうちの少なくとも1つとが完全一致でないと判定する(ステップS29のNO)。
この場合、ステップS30の処理が実行されないため、第2の入力文には、文末断定表現の範例に則していることを意味するフラグは立てられない。
ここで、図15は、上記したように第1及び第2の入力文についてステップS24以降の処理が実行された後の当該第1及び第2の入力文の形態素解析結果が格納された解析結果格納部24のデータ構造の一例を示す。図15に示すように、解析結果格納部24には、第1及び第2の入力文のそれぞれに対応付けて当該第1及び第2の入力文の形態素解析結果が格納されている。
図15に示す例では、解析結果格納部24には、第1の入力文「今日は晴れそうです。」に対応付けて当該第1の入力文の形態素解析結果「今日/は/晴れ<動>/そう/です/。<句読>;」が格納されている。また、第2の入力文「明日は雪が降ります。」に対応付けて当該第2の入力文の形態素解析結果「明日/は/雪/が/降り<動>/ます/。<句読>;」が格納されている。
なお、解析結果格納部24には、第1及び第2の入力文の各々に対応付けてフラグが格納されている。このフラグは、対応付けられている入力文(第1または第2の入力文)が文末断定表現の範例に則しているか否かを意味する。
上記したように、第1の入力文に対しては解析結果比較部34によってフラグが立てられている。一方、第2の入力文に対して解析結果比較部34によってフラグが立てられていない。
したがって、図15に示す例では、解析結果格納部24には、第1の入力文に対応付けて当該第1の入力文が文末断定表現の範例に則していることを意味するフラグ「1」が格納されている。一方、解析結果格納部24には、第2の入力文に対応付けて当該第2の入力文が文末断定表現の範例に則していないことを意味するフラグ「0」が格納されている。
再び図13に戻って説明する。上記したようにステップS23において分割された全ての入力文(第1及び第2の入力文)についてステップS24以降の処理が実行されると、ステップS31において全ての入力文について当該処理が実行されたと判定される。
この場合、解析結果比較部34は、第1及び第2の入力文に対応付けて解析結果格納部24に格納されているフラグを参照して、校正個所を特定する(ステップS32)。
解析結果比較部34は、解析結果格納部24においてフラグ「0」に対応付けられている全ての入力文を校正個所として特定する。つまり、解析結果格納部34は、フラグが立っていない入力文を校正個所として特定する。ここでは、解析結果格納部24において第2の入力文に対応付けられているフラグが「0」である(つまり、第2の入力文のフラグが立っていない)ため、当該第2の入力文を校正個所として特定する。
上記したような校正個所発見処理が実行されることにより、入力文書に含まれる文(第1及び第2の入力文)の中から校正個所となる文(ここでは、第2の入力文)を発見することができる。校正個所発見処理によって発見された校正個所(第2の入力文)は、上記した図11に示すように操作画面200において他の文と区別されて表示される。これにより、ユーザは、入力文書における校正個所を容易に確認することができる。
次に、図13のフローチャートを参照して、ユーザによって文書校正観点「数量構文規範チェック」が選択された場合の校正個所発見処理について説明する。ここでは、上記したように解析方法として「nee(固有表現抽出)」、比較条件として「(?=.*?QUANTITY)(?=.*?PHQ)(?=.*?DATE)(?=.*?LOCATION)」、比較方法として「2(部分一致)」が制御部32に含まれる解析方法決定部322及び比較方法決定部323によって決定されているものとする。なお、文書校正観点「数量構文規範チェック」における比較個所は、上記した図3に示すように設定ファイル23には指定されていないものとする。
また、制御部32に含まれる用例辞書決定部321によって決定された用例辞書格納部22(「suryo.txt」を名称とする用例辞書格納部22)には、第4及び第5の用例文が格納されているものとする。この第4及び第5の用例文は、数量構文(表現)の範例となる文である。ここでは、第4の用例文は、「2000年のCO2排出量は、アメリカが57億トンで最も多く、中国が48億トンとなった。」であるものとする。また、第5の用例文は、「日本のCO2排出量は、1995年が11億トン、2000年が12億トンとなっている。」であるものとする。
また、入力文書には、第3及び第4の入力文が含まれているものとする。第3の入力文は、「2004年のCO2排出量は、先進国の中では、米国が19.8トンで最も多い。」であるものとする。また、第4の入力文は、「2005年は20億トンが米国のCO2排出量となった。」であるものとする。
まず、解析部33は、用例辞書決定部321によって決定された用例辞書格納部22に格納されている用例文(ここでは、第4及び第5の用例文)を取得する(ステップS21)。
次に、解析部33は、取得された用例文を、解析方法決定部322によって決定された解析方法を用いて解析する(ステップS22)。ここでは、解析部33は、取得された第4及び第5の用例文を「nee(固有表現抽出)」により解析する。この固有表現抽出においては、固有表現タグ(例えば、「QUANTITY」、「PHQ」、「DATE」または「LOCATION」)付けに加えて当該タグ以外の情報の除去が行われる。
解析部33は、第4及び第5の用例文の固有表現抽出による解析結果(以下、固有表現抽出結果と表記)をそれぞれ当該第4及び第5の用例文に対応付けて解析結果格納部24に格納する。
上記したように、第4の用例文は、「2000年のCO2排出量は、アメリカが57億トンで最も多く、中国が48億トンとなった。」である。第4の用例文において、「2000年」は日付(DATE)であり、「CO2排出量」は物理量(PHQ)であり、「アメリカ」は地名(LOCATION)であり、「57億トン」は量(QUANTITY)であり、「中国」は地名(LOCATION)であり、「48億トン」は量(QUANTITY)である。したがって、第4の用例文の固有表現抽出結果は、「DATE PHQ LOCATION QUANTITY LOCATION QUANTITY」となる。この場合、第4の用例文「2000年のCO2排出量は、アメリカが57億トンで最も多く、中国が48億トンとなった。」に対応付けて当該第4の用例文の固有表現抽出結果「DATE PHQ LOCATION QUANTITY LOCATION QUANTITY」が解析結果格納部24に格納される。
また、第5の用例文は、「日本のCO2排出量は、1995年が11億トン、2000年が12億トンとなっている。」である。第5の用例文において、「日本」は地名(LOCATION)であり、「CO2排出量」は物理量(PHQ)であり、「1995年」は日付(DATE)であり、「11億トン」は量(QUANTITY)であり、「2000年」は日付(DATE)であり、「12億トン」は量(QUANTITY)である。したがって、第5の用例文の固有表現抽出結果は、「LOCATION PHQ DATE QUANTITY DATE QUANTITY」となる。この場合、第5の用例文「日本のCO2排出量は、1995年が11億トン、2000年が12億トンとなっている。」に対応付けて当該第5の用例文の固有表現抽出結果「LOCATION PHQ DATE QUANTITY DATE QUANTITY」が解析結果格納部24に格納される。
次に、解析部33は、入力文書を1文ずつに分割する(ステップS23)。ここでは、入力文書は、第3及び第4の入力文に分割される。
解析部33は、分割された入力文のうちの1つを、解析方法決定部322によって決定された解析方法を用いて解析する(ステップS24)。ここでは、解析部33は、分割された入力文のうち例えば第3の入力文を固有表現抽出により解析する。
第3の入力文は「2004年のCO2排出量は、先進国の中では、米国が19.8トンで最も多い。」である。第3の入力文において、「2004年」は日付(DATE)であり、「CO2排出量」は物理量(PHQ)であり、「米国」は地名(LOCATION)であり、「19.8トン」は量(QUANTITY)である。したがって、第3の入力文の固有表現抽出結果は、「DATE PHQ LOCATION QUANTITY」となる。
解析部33は、第3の入力文の固有表現抽出結果を当該第3の入力文に対応付けて解析結果格納部24に格納する。
解析結果比較部34は、解析部33による第3の入力文の固有表現抽出結果及び比較方法決定部323によって決定された比較条件を照合する。これにより、解析結果比較部34は、第3の入力文の固有表現抽出結果が比較条件に合致するか否かを判定する(ステップS25)。
ここでは、解析部33による第3の入力文の固有表現抽出結果は、「DATE PHQ LOCATION QUANTITY」である。また、比較方法決定部323によって決定された比較条件は、「(?=.*?QUANTITY)(?=.*?PHQ)(?=.*?DATE)(?=.*?LOCATION)」である。この比較条件「(?=.*?QUANTITY)(?=.*?PHQ)(?=.*?DATE)(?=.*?LOCATION)」は、「QUANTITY」、「PHQ」、「DATE」及び「LOCATION」の全てを順不同に1回以上含む文字列を意味する。
ここで、第3の入力文の固有表現抽出結果には、「QUANTITY」、「PHQ」、「DATE」及び「LOCATION」の全てが順不同に1回以上含まれている。したがって、解析結果比較部34は、第3の入力文の固有表現抽出結果が比較条件に合致すると判定する。この場合、解析結果比較部34は、第3の入力文が校正個所発見対象であるとして、ステップS26の処理を実行する。
なお、第3の入力文の固有表現抽出結果が比較条件に合致しないと判定された場合(ステップS25のNO)、当該第3の入力文は校正個所発見対象外となり、後述するステップS32の処理が実行される。つまり、この場合には第3の入力文は校正個所としてユーザに対して表示されない。
第3の入力文の固有表現抽出結果が比較条件に合致すると判定された場合(ステップS25のYES)、解析結果比較部34は、比較方法決定部323によって決定された比較個所に基づいて、比較個所の指定があるか否かを判定する(ステップS26)。
ユーザによって選択された文書校正観点が「数量構文規範チェック」である場合、上記したように設定ファイル23には比較個所の指定がない。したがって、解析結果格納部24は、比較個所の指定がないと判定する。
比較個所の指定がないと判定された場合(ステップS26のNO)、上記したユーザによって文書校正観点として「文末断定表現チェック」が選択された場合と異なり、ステップS28の処理は実行されない。この場合には、第3の入力文、第4及び第5の用例文の固有表現抽出結果全体が、それぞれの比較個所とされる。
解析結果比較部34は、比較方法決定部323によって決定された比較方法を判別する(ステップS28)。ここでは、比較方法決定部323によって決定された比較方法は「2」であるため、解析結果比較部34は、比較方法が部分一致であることを判別する。
解析結果比較部34は、第3の入力文の固有表現抽出結果における比較個所(以下、第3の入力文比較個所と表記)と第4及び第5の用例文の固有表現抽出結果における比較個所(以下、第4及び第5の用例文比較個所と表記)のうちの少なくとも1つとが部分一致であるか否かを判定する(ステップS29)。この判定処理は、ステップS28において判別された比較方法(ここでは、部分一致)に基づいて実行される。
なお、第3の入力文比較個所は、上記したように第3の入力文の固有表現抽出結果の全体である。また、第4及び第5の用例文比較個所は、第4及び第5の用例文の固有表現抽出結果の全体である。
つまり、第3の入力文比較個所は、「DATE PHQ LOCATION QUANTITY」である。また、第4の用例文比較個所は「DATE PHQ LOCATION QUANTITY LOCATION QUANTITY」であり、第5の用例文比較個所は「LOCATION PHQ DATE QUANTITY DATE QUANTITY」である。
ここで、部分一致とは、第3の入力文比較個所が第4または第5の用例文比較個所の一部と一致することをいう。この場合、解析結果比較部34は、第3の入力文比較個所「DATE PHQ LOCATION QUANTITY」は第4の用例文比較個所「DATE PHQ LOCATION QUANTITY LOCATION QUANTITY」の一部と一致すると判定する。一方、解析結果比較部34は、第3の入力文比較個所「DATE PHQ LOCATION QUANTITY」は第5の用例文比較個所「LOCATION PHQ DATE QUANTITY DATE QUANTITY」の一部とは一致しないと判定する。
これにより、解析結果比較部34は、第3の入力文比較個所と第4及び第5の用例文比較個所のうちの少なくとも1つとが部分一致であると判定する。
第3の入力文比較個所と第4及び第5の用例文比較個所のうちの少なくとも1つとが部分一致であると判定された場合(ステップS29のYES)、解析結果比較部34は、第3の入力文が数量構文の範例(規範)に則していることを意味するフラグを立てる(ステップS30)。このフラグは、解析部33によって解析結果格納部24に格納された第3の入力文及び当該第3の入力文の固有表現抽出結果に対応付けて当該解析結果格納部24に格納される。
次に、ステップS23において分割された全ての入力文について上記したステップS24以降の処理が実行されたか否かが判定される(ステップS31)。ここでは、ステップS23において分割された入力文のうち第3の入力文についてはステップS24以降の処理が実行されたが、第4の入力文については当該処理が実行されていない。このため、全ての入力文についてステップS24以降の処理が実行されていないと判定される(ステップS31のNO)。この場合、上記したステップS24に戻って第4の入力文について処理が実行される。
ここで、第4の入力文についてステップS24以降の処理が実行された場合について簡単に説明する。
解析部33は、第4の入力文を固有表現抽出により解析する(ステップS24)。第4の入力文は「2005年は20億トンが米国のCO2排出量となった。」であるため、当該第4の入力文の固有表現抽出結果は、「DATE QUANTITY LOCATION PHQ」となる。解析部33は、第4の入力文の固有表現抽出結果を当該第4の入力文に対応付けて解析結果格納部24に格納する。
解析結果比較部34は、第4の入力文の固有表現抽出結果が比較方法決定部323によって決定された比較条件に合致するか否かを判定する(ステップS25)。第4の入力文の固有表現抽出結果は「DATE QUANTITY LOCATION PHQ」であり、比較条件は「(?=.*?QUANTITY)(?=.*?PHQ)(?=.*?DATE)(?=.*?LOCATION)」である。
ここで、第4の入力文の固有表現抽出結果には、「QUANTITY」、「PHQ」、「DATE」及び「LOCATION」の全てが順不同に1回以上含まれている。このため、解析結果比較部34は、第4の入力文の固有表現抽出結果が比較条件に合致すると判定する(ステップS25のYES)。これにより、解析結果比較部34は、第4の入力文を校正個所発見対象とする。
次に、解析結果比較部34は、上記したように設定ファイル23には比較個所が指定されていないと判定する(ステップS26のNO)。この場合、第4の入力文、第4及び第5の用例文の固有表現抽出結果全体が、それぞれの比較個所とされる。文書校正観点「数量構文規範チェック」がユーザによって選択された場合には、入力文及び用例文における固有表現のカテゴリの並びが比較される。
解析結果比較部34は、比較方法決定部323によって決定された比較方法が部分一致であることを判別する(ステップS28)。
解析結果比較部34は、第4の入力文の固有表現抽出結果における比較個所(以下、第4の入力文比較個所と表記)と第4及び第5の用例文の固有表現抽出結果における比較個所(第4及び第5の用例文比較個所)のうちの少なくとも1つとが部分一致であるか否かを判定する(ステップS29)。上記したように第4の入力文比較個所は「DATE QUANTITY LOCATION PHQ」である。また、第4の用例文比較個所は「DATE PHQ LOCATION QUANTITY LOCATION QUANTITY」であり、第5の用例文比較個所は「LOCATION PHQ DATE QUANTITY DATE QUANTITY」である。この場合、第4の入力文比較個所は、第4及び第5の用例文比較個所のいずれとも部分一致でない。つまり、解析結果比較部34は、第4の入力文比較個所と第4及び第5の用例文比較個所のうちの少なくとも1つとが部分一致でないと判定する(ステップS29のNO)。
この場合、ステップS31の処理が実行されないため、第4の入力文には数量構文の範例に則していることを意味するフラグは立てられない。このため、解析結果格納部24には、第4の入力文(及び当該第4の入力文の固有表現抽出結果)に対応付けてフラグ「0」(数量構文の範例に則していないことを意味するフラグ)が格納される。
上記したようにステップS23において分割された全ての入力文(第3及び第4の入力文)についてステップS24以降の処理が実行されると、ステップS31において全ての入力文について当該処理が実行されたと判定される。
この場合、解析結果比較部34は、第3及び第4の入力文に対応付けて解析結果格納部24に格納されているフラグを参照して、校正個所を特定する(ステップS32)。
解析結果比較部34は、解析結果格納部24においてフラグ「0」に対応付けられている全ての入力文を校正個所として特定する。ここでは、解析結果格納部24において第4の入力文に対応付けられているフラグが「0」である(つまり、第4の入力文にはフラグが立っていない)ため、当該第4の入力文が校正個所として特定される。
上記したような校正個所発見処理が実行されることにより、入力文書に含まれる文(第3及び第4の入力文)の中から校正個所となる文(ここでは、第4の入力文)を発見することができる。校正個所発見処理によって発見された校正個所(第4の入力文)は、例えば図16に示すように操作画面200において他の文と区別して表示部35によって表示される。図16に示す操作画面200の例では、校正個所として発見された第4の入力文「2005年は20億トンが米国のCO2排出量となった。」が、校正個所として発見されていない第3の入力文「2004年のCO2排出量は、先進国の中では、米国が19.8億トンで最も多い。」)等と区別して表示されている。
上記したように本実施形態においては、文書校正観点において範例となる用例文を予め用例辞書格納部22に格納しておき、入力文書に含まれる文(入力文)の解析結果及び当該用例文の解析結果を比較することによって当該入力文書から校正個所を発見することができる。つまり、本実施形態においては、文書校正観点において範例となる用例文をベースに校正個所を発見することで、当該校正個所を発見するために用いられる知識のルール化等の処理を必要としないため、当該知識のルール化のための多大なコストを削減することが可能となる。
また、本実施形態においては、文書校正観点毎に、範例となる用例文が格納された用例辞書格納部22と入力文及び当該用例文の解析方法と当該入力文及び用例文の解析結果比較方法とを設定ファイル23に予め設定しておくことで、ユーザによって選択された文書校正観点に応じて複数の校正個所発見処理を容易に切り換えることが可能となる。したがって、本実施形態においては、例えば自然言語処理技術を持たないユーザが利用する場合であっても、当該ユーザは例えば文書校正観点選択画面において所望の文書校正観点を選択するだけで、当該ユーザにとって所望の校正個所発見処理を実行(制御)することが可能となる。
[第2の実施形態]
次に、図17を参照して、本発明の第2の実施形態について説明する。図17は、本実施形態に係る文書処理装置の主として機能構成を示すブロック図である。なお、前述した図2と同様の部分には同一参照符号を付してその詳しい説明を省略する。ここでは、図2と異なる部分について主に述べる。
また、本実施形態に係る文書処理装置のハードウェア構成は、前述した第1の実施形態と同様であるため、適宜、図1を用いて説明する。
本実施形態においては、前述した第1の実施形態においてユーザに対して校正個所として提示(表示)された文を適切な表現に修正する処理を実行する点が、当該第1の実施形態とは異なる。
なお、本実施形態においては、ユーザは、当該ユーザに対して提示された校正個所の中から修正したい文を指定(選択)することができる。本実施形態においては、ユーザによって指定された文を適切な表現に修正する処理が実行される。以下、ユーザによって指定された文を修正対象文と称する。
図17に示すように、文書処理装置40は、言い換え候補文生成部41、言い換え候補部絞込み部42及び校正個所修正部43を含む。本実施形態において、これらの各部41乃至43は、図1に示すコンピュータ10が外部記憶装置20に格納されているプログラム21を実行することにより実現されるものとする。
また、文書処理装置40は、言い換え文生成規則格納部25を有する。本実施形態において、言い換え文生成規則格納部25は、例えば外部記憶装置20に格納される。
言い換え文生成規則格納部25には、文書に含まれる文(言い換え対象となる文)に対して様々な観点の言い換え文を網羅的に生成するための言い換え文生成規則を格納(管理)する。つまり、言い換え文生成規則格納部25に格納されている言い換え文生成規則は、文書に含まれる文が言い換えられた文(言い換え文)を生成するために用いられる。
言い換え候補文生成部41は、言い換え文生成規則部25に格納されている言い換え文生成規則に基づいて、言い換え対象となる文が言い換えられた言い換え文を言い換え候補文として生成する。換言すると、言い換え候補文生成部41は、言い換え文生成規則を用いて言い換え対象となる文に対する網羅的な言い換え文を言い換え候補文として生成する。
ここで、言い換え対象となる文とは、上記したようにユーザに対して提示(表示)された校正個所(文)のうち当該ユーザによって指定(選択)された文(修正対象文)をいう。ユーザは、前述した図11(または図16)に示す操作画面200において、校正個所として他の文と区別されて表示されている文を修正対象文として指定することができる。
言い換え候補文生成部41は、言い換え対象となる文(修正対象文)に対する言い換え文を生成する際には、必要に応じて修正対象文に対して形態素解析等を行う。なお、修正対象文の形態素解析結果が解析結果格納部24に格納されている場合は、当該解析結果格納部24に格納されている形態素解析結果を用いる構成であっても構わない。
言い換え候補文絞り込み部42は、制御部32に含まれる用例辞書決定部321によって決定された用例辞書格納部22(ユーザによって選択された文書校正観点に対応する用例辞書格納部22)に格納されている用例文の解析結果(形態素解析結果または固有表現抽出結果)を、解析結果格納部24から取得する。
言い換え候補文絞り込み部42は、制御部32に含まれる解析方法決定部323によって決定された解析方法(形態素解析または固有表現抽出)により、言い換え候補文生成部41によって生成された言い換え候補文を解析する。
言い換え候補文絞り込み部42は、取得された用例文の解析結果(第1の解析結果)及び言い換え候補文の解析結果(第3の解析結果)を、制御部32に含まれる比較方法決定部323によって決定された比較方法に基づいて比較する。言い換え候補文絞り込み部42は、言い換え候補文生成部41によって生成された言い換え候補文を、比較結果に基づいて絞り込む。
言い換え候補文絞り込み部42によって絞り込まれた言い換え候補文は、表示部35によってユーザに対して提示される。
校正個所修正部43は、ユーザによって指定された修正対象文を、表示部35によってユーザに対して提示された言い換え候補文に修正する(入れ替える)。校正個所修正部43は、ユーザの操作に応じて修正処理を実行する。
図18は、図17に示す言い換え文生成規則格納部25のデータ構造の一例を示す。言い換え文生成規則格納部25には、文に対して様々な観点の言い換え文を生成するための言い換え文生成規則が格納されている。なお、言い換え文生成規則格納部25は、全ての文書校正観点(「文末断定表現チェック」及び「数量構文規範チェック」)に共通して用いられる。
図18に示す例では、言い換え文生成規則格納部25には、言い換え文生成規則「NがVます=>NがV」、「NがVます=>NがVかもしれない」及び「NがVます=>NがVそうです」が格納されている。
言い換え文生成規則においては、「N」は名詞を表し、「V」は動詞を表す。また、言い換え文生成規則においては、言い換え前の文が左辺、言い換え後の文が右辺に記述されている。
例えば言い換え文生成規則「NがVます=>NがV」では、左辺の「NがVます」が言い換え前の文であり、右辺の「NがV」が言い換え後の文である。つまり、この言い換え文生成規則によれば、左辺の「NがVます」のように表現される文が右辺の「NがV」の表現に言い換えられる。
ここで、例えば「明日は雪が降ります。」という言い換え対象となる文(言い換え前の文)に対して言い換え文生成規則「NがVます=>NがV」が適用される場合について具体的に説明する。この場合、言い換え文生成規則の左辺「NがVます」が言い換え対象となる文の「雪が降ります」に対応し、「N=雪」及び「V=降(る)」となる。なお、「降り(ます。)」または「降る(。)」のような動詞の活用は、例えば前後の文字列パターン等により適宜活用する。これにより、言い換え文生成規則「NがVます=>NがV」によれば、言い換え対象となる文「明日は雪が降ります。」は、「明日は雪が降る。」に言い換えられる。
なお、他の言い換え文生成規則(例えば「NがVます=>NがVかもしれない」または「NがVます=>NがVそうです」)についても同様の処理が行われることによって、言い換え対象となる文「明日は雪が降ります。」は、「明日は雪が降るかもしれない。」または「明日は雪が降りそうです。」のように言い換えられる。
また、言い換え文生成規則格納部25には、言い換え文生成規則「N1はN2がN3のN4とV=>N3のN4はN1がN2とV」、「N1はN2がN3のN4とV=>N1のN4はN3がN2とV」及び「N1はN2がN3のN4とV=>N3ではN1にN2のN4とV」が格納されている。
例えば言い換え文生成規則「N1はN2がN3のN4とV=>N3のN4はN1がN2とV」では、左辺の「N1はN2がN3のN4とV」が言い換え前の文であり、右辺の「N3のN4はN1がN2とV」が言い換え後の文である。つまり、この言い換え文生成規則によれば、左辺の「N1はN2がN3のN4とV」のように表現される文が右辺の「N3のN4はN1がN2とV」の表現に言い換えられる。
ここで、例えば「2005年は20億トンが米国のCO2排出量となった。」という言い換え対象となる文に対して言い換え文生成規則「N1はN2がN3のN4とV=>N3のN4はN1がN2とV」が適用される場合について具体的に説明する。この場合、言い換え文生成規則の左辺「N1はN2がN3のN4とV」において、「N1=2005年」、「N2=20億トン」、「N3=米国」、「N4=CO2排出量」及び「V=な(る)」となる。これにより、言い換え文生成規則「N1はN2がN3のN4とV=>N3のN4はN1がN2とV」によれば、言い換え対象となる文「2005年は20億トンが米国のCO2排出量となった。」は、「米国のCO2排出量は2005年が20億トンとなった。」に言い換えられる。
なお、他の言い換え文生成規則(例えば「N1はN2がN3のN4とV=>N1のN4はN3がN2とV」または「N1はN2がN3のN4とV=>N3ではN1にN2のN4とV」)についても同様の処理が行われることによって、言い換え対象となる文「2005年は20億トンが米国のCO2排出量となった。」は、「2005年のCO2排出量は米国が20億トンとなった。」または「米国では2005年に20億トンのCO2排出量となった。」のように言い換えられる。
次に、図19のフローチャートを参照して、本実施形態に係る文書処理装置40の処理手順について説明する。
まず、前述した図4に示すステップS1〜ステップS8の処理に相当するステップS41〜ステップS48の処理が実行される。
なお、ステップS42の文書校正観点制御処理は、前述した図12に示す処理と同様であるためその詳しい説明を省略する。また、ステップS46の校正個所発見処理は、前述した図13に示す処理と同様であるためその詳しい説明を省略する。
ここで、ユーザは、文書処理装置40を操作することによって、ステップS47において表示された校正個所を修正対象文として指定することができる。
ステップS48において用例辞書格納部22に対する編集がないと判定された場合、ユーザの操作に応じて、ユーザによって修正対象文が指定されたか否かが判定される(ステップS49)。
ユーザによって修正対象文が指定されたと判定された場合(ステップS49のYES)、言い換え候補文生成部41は、言い換え文生成規則格納部25に格納されている言い換え文生成規則に基づいて、当該修正対象文を言い換え対象となる文として言い換え処理を実行する。これにより、言い換え候補文生成部41は、ユーザによって指定された修正対象文(言い換え対象となる文)に対する網羅的な言い換え文を言い換え候補文として生成する(ステップS50)。
言い換え候補文絞り込み部42は、言い換え候補文を絞り込む処理(以下、言い換え候補文絞り込み処理と表記)を実行する(ステップS51)。言い換え候補文絞り込み部42は、ユーザによって選択された文書校正観点(「文末断定表現チェック」または「数量構文規範チェック」)に則した言い換え候補文絞り込み処理を実行する。この言い換え候補文絞り込み処理の詳細について後述する。
表示部35は、言い換え候補文絞り込み処理部42による言い換え候補文絞り込み処理によって絞り込まれた言い換え候補文を、ユーザに対して提示(表示)する(ステップS52)。
ここで、図20は、表示部35によって言い換え候補文が表示された場合の操作画面の一例を示す。なお、上記した図6等と同様の部分には同一参照符号を付してその詳しい説明を省略する。
図20に示すように、操作画面200の左欄201には、入力文書が表示され、かつ、当該入力文書に含まれる文のうち校正個所となる文(ここでは、「明日は雪が降ります。」)が他の文と区別可能に表示されている。図20に示す例では、この「明日は雪が降ります。」が修正対象文としてユーザによって指定されている。
操作画面200の右上欄202aには、用例辞書決定部321によって決定された用例辞書格納部22に格納されている用例文が表示されている。
操作画面200の右下欄202bには、言い換え候補文絞り込み部42によって絞り込まれた言い換え候補文が表示されている。
また、操作画面200には、「この文に修正」ボタン207が表示されている。ユーザは、文書処理装置40を操作することによって、操作画面200の右下欄202bに表示されている言い換え候補文のうち適切な文を選択し、「この文に修正」ボタン207を押下することで、修正対象文「明日は雪が降ります。」を当該選択された文(言い換え候補文)に修正することができる。
再び図19に戻って説明する。上記したように、ユーザに対して表示された言い換え候補文(のうちの1つ)が図20に示す操作画面200において当該ユーザによって指定(選択)された場合を想定する。この場合、校正個所修正部43は、修正対象文をユーザによって指定された言い換え候補文に修正する(ステップS53)。
なお、上記したステップS49においてユーザによって修正対象文が指定されていないと判定された場合、処理は終了される。
以下、図21のフローチャートを参照して、前述した言い換え候補文絞り込み処理(図19に示すステップS51の処理)の処理手順について説明する。この言い換え候補文絞り込み処理は、表示部35によって表示された校正個所(のうちの1つ)が修正対象文としてユーザによって指定された場合に、言い換え候補文絞り込み部42によって実行される。
まず、図21のフローチャートを参照して、ユーザによって文書校正観点「文末断定表現チェック」が選択された場合の言い換え候補文絞り込み処理について説明する。ここでは、上記した図19に示すステップS42の処理において、解析方法として「morph(形態素解析)」、比較条件として「/.+?<動>(?:\+.+?<助>)?.+?/。<句読>;$」、比較個所として「/.+?<動>(?:\+.+?<助>)?(.+?)/。<句読>;$」及び比較方法として「1(完全一致)」が制御部32に含まれる解析方法決定部322及び比較方法決定部323によって決定されているものとする。
また、制御部32に含まれる用例辞書決定部321によって決定された用例辞書格納部22(「bunmatsu.txt」を名称とする用例辞書格納部22)には、前述した第1〜第3の用例文が格納されているものとする。つまり、解析結果格納部24には、第1〜第3の用例文の形態素解析結果が格納されているものとする。この第1〜第3の用例文の形態素解析結果は、上記した図19に示すステップS46の処理において解析結果格納部24に格納される。
また、ユーザによって指定された修正対象文は、「明日は雪が降ります。」であるものとする。ここで、上記した図19に示すステップS50において言い換え候補文生成部41によって生成された言い換え候補文には、第1〜第6の言い換え候補文が含まれるものとする。第1の言い換え候補文は、「明日は雪が降る可能性があります。」であるものとする。第2の言い換え候補文は、「明日は雪が降るかもしれません。」であるものとする。第3の言い換え候補文は、「明日は雪が降るでしょう。」であるものとする。第4の言い換え候補文は、「明日は雪が降るはずです。」であるものとする。第5の言い換え候補文は、「明日は雪が降る。」であるものとする。また、第6の言い換え候補文は、「明日は雪が降りそうです。」であるものとする。この第1〜第6の言い換え候補文は、言い換え文生成規則格納部25に格納されている言い換え文生成規則に基づいて、修正対象文「明日は雪が降ります。」に対して生成された言い換え文である。
まず、言い換え候補文絞り込み部42は、用例辞書決定部321によって決定された用例辞書格納部22に格納されている用例文(ここでは、第1〜第3の用例文)の解析結果(ここでは、形態素解析結果)を、解析結果格納部24から取得する(ステップS61)。
言い換え候補文絞り込み部42は、第1の用例文の形態素解析結果として「雨/が/降る<動>/でしょ/う/。<句読>;」を取得する。言い換え候補文絞り込み部42は、第2の用例文の形態素解析結果として「雨/が/降り<動>/そう/です/。<句読>;」を取得する。また、言い換え候補文絞り込み部42は、第3の用例文の形態素解析結果として「雨/が/降る<動>+かも<助>/知れ/ませ/ん/。<句読>;」を取得する。
次に、言い換え候補文絞り込み部42は、言い換え候補文生成部41によって生成された言い換え候補文のうちの1つ(ここでは、例えば第1の言い換え候補文)を、解析方法決定部322によって決定された解析方法(ここでは、形態素解析)を用いて解析する(ステップS62)。これにより、言い換え候補文絞り込み部42は、第1の言い換え候補文の形態素解析による解析結果(形態素解析結果)を取得する。
ここで、第1の言い換え候補文は「明日は雪が降る可能性があります。」であるため、当該第1の言い換え候補文の形態素解析結果は、「明日/は/雪/が/降る<動>/可能性/が/あり<動>/ます/。<句読>;」となる。
言い換え候補文絞り込み部42は、第1の言い換え候補文の形態素解析結果及び比較方法決定部323によって決定された比較条件を照合する。これにより、言い換え候補文絞り込み部42は、第1の言い換え候補文の形態素解析結果が比較条件に合致するか否かを判定する(ステップS63)。
ここでは、第1の言い換え候補文の形態素解析結果は「明日/は/雪/が/降る<動>/可能性/が/あり<動>/ます/。<句読>;」であり、比較方法決定部323によって決定された比較条件は「/.+?<動>(?:\+.+?<助>)?.+?/。<句読>;$」である。このため、解析結果比較部34は、第1の言い換え候補文の形態素解析結果が比較条件に合致すると判定する。この場合、言い換え候補文絞り込み部42は、第1の言い換え候補文が言い換え候補文絞り込み対象(言い換え候補文判定対象)であるとして、ステップS64の処理を実行する。
なお、第1の言い換え候補文の形態素解析結果が比較条件に合致しないと判定された場合(ステップS63のNO)、当該第1の言い換え候補文は言い換え候補文絞り込み対象外となり、当該第1の言い換え候補文は(言い換え候補文から)削除される。この場合、後述するステップS69の処理が実行される。
第1の言い換え候補文の形態素解析結果が比較条件に合致すると判定された場合(ステップS63のYES)、言い換え候補文絞り込み部42は、比較方法決定部323によって決定された比較個所「/.+?<動>(?:\+.+?<助>)?(.+?)/。<句読>;$」に基づいて、比較個所の指定があるか否かを判定する(ステップS64)。
比較方法決定部32によって決定された比較個所「/.+?<動>(?:\+.+?<助>)?(.+?)/。<句読>;$」においては「(.+?)」の部分が比較個所を表すため、言い換え候補文絞り込み部42は、比較個所の指定があると判定する。
比較個所の指定があると判定された場合(ステップS64のYES)、言い換え候補文絞り込み部42は、第1の言い換え候補文の形態素解析結果及び解析結果格納部24から取得された第1〜第3の用例文の形態素解析結果を比較個所「/.+?<動>(?:\+.+?<助>)?(.+?)/。<句読>;$」と照合する。これにより、解析結果比較部42は、第1の言い換え候補文の形態素解析結果及び第1〜第3の用例文の形態素解析結果の各々において、比較個所「/.+?<動>(?:\+.+?<助>)?(.+?)/。<句読>;$」の「(.+?)」の部分に該当する文字列を比較個所として特定する(ステップS65)。
第1の言い換え候補文の形態素解析結果においては、「/ます」が比較個所として特定される。第1の用例文の形態素解析結果においては、「/でしょ/う」が比較個所として特定される。第2の用例文の形態素解析結果においては、「/そう/です」が比較個所として特定される。第3の用例文の形態素解析結果においては、「/しれ/ませ/ん」が比較個所として特定される。以下、第1の言い換え候補文の形態素解析結果において特定された比較個所を第1の言い換え候補文比較個所と称する。なお、第1〜第3の用例文の形態素解析結果において特定された比較個所は、前述したようにそれぞれ第1〜第3の用例文比較個所と称する。
なお、ステップS64において比較個所の指定がないと判定された場合には、上記したステップS65の処理は実行されず、ステップS66の処理が実行される。この場合には、第1の言い換え候補文の形態素解析結果の全体が、第1の言い換え候補文比較個所とされる。また、第1〜第3の用例文の形態素解析結果の全体が、それぞれ第1〜第3の用例文比較個所とされる。
言い換え候補文絞り込み部42は、比較方法決定部323によって決定された比較方法を判別する(ステップS66)。ここでは、比較方法決定部323によって決定された比較方法は「1」であるため、言い換え候補文絞り込み部42は、比較方法が完全一致であることを判別する。
言い換え候補文絞り込み部42は、ステップS65において特定された第1の言い換え候補文比較個所と第1〜第3の用例文比較個所のうちの少なくとも1つとが完全一致であるか否かを判定する(ステップS67)。この判定処理は、ステップS66において判別された比較方法(ここでは、完全一致)に基づいて実行される。
上記したように、第1の言い換え候補文比較個所は、「/ます」である。また、第1の用例文比較個所は「/でしょ/う」であり、第2の用例文比較個所は「/そう/です」であり、第3の用例文比較個所は「/しれ/ませ/ん」である。この場合、第1の言い換え候補文比較個所は、第1〜第3の用例文比較個所のいずれとも完全一致でない。
つまり、言い換え候補文絞込み部42は、第1の言い換え候補文比較個所と第1〜第3の用例文比較個所のうちの少なくとも1つとが完全一致でないと判定する。
第1の言い換え候補文比較個所と第1〜第3の用例文比較個所のうちの少なくとも1つとが完全一致でないと判定された場合(ステップS67のNO)、後述するステップS68の処理は実行されない。
この場合、言い換え候補文絞り込み部42は、言い換え候補文生成部41によって生成された全ての言い換え候補文についてステップS62以降の処理が実行されたか否かを判定する(ステップS69)。
ここでは、言い換え候補文生成部41によって生成された言い換え候補文のうちの第1の言い換え候補文についてはステップS62以降の処理が実行されたが、当該第1の言い換え候補文以外の言い換え候補文(第2〜第6の言い換え候補文)については当該処理が実行されていない。このため、言い換え候補文絞り込み部42は、全ての言い換え候補文についてステップS62以降の処理が実行されていないと判定する(ステップS69のNO)。この場合、上記したステップS62に戻って、処理されていない言い換え候補文(第2〜第6の言い換え候補文)に対して処理が実行される。
ここで、第2の言い換え候補文についてステップS62以降の処理が実行された場合について簡単に説明する。
言い換え候補文絞り込み部42は、第2の言い換え候補文を形態素解析により解析する(ステップS62)。第2の言い換え候補文は「明日は雪が降るかもしれません。」であるため、当該第2の言い換え候補文の形態素解析結果は、「明日/は/雪/が/降る<動>+かも<助>/しれ/ませ/ん/。<句読>;」となる。
言い換え候補文絞り込み部42は、第2の言い換え候補文の形態素解析結果が比較方法決定部323によって決定された比較条件に合致するか否かを判定する(ステップS63)。第2の言い換え候補文の形態素解析結果は「明日/は/雪/が/降る<動>+かも<助>/しれ/ませ/ん/。<句読>;」であり、比較条件は「/.+?<動>(?:\+.+?<助>)?.+?/。<句読>;$」である。このため、言い換え候補文絞り込み部42は、第2の言い換え候補文の形態素解析結果が比較条件に合致すると判定する(ステップS63のYES)。これにより、言い換え候補文絞り込み部42は、第2の言い換え候補文を言い換え候補文絞り込み対象とする。
次に、言い換え候補文絞り込み部42は、比較方法決定部323によって決定された比較個所「/.+?<動>(?:\+.+?<助>)?(.+?)/。<句読>;$」に基づいて、比較個所の指定があると判定する(ステップS64のYES)。
言い換え候補文絞り込み部42は、第2の言い換え候補文及び第1〜第3の用例文の形態素解析結果を比較個所「/.+?<動>(?:\+.+?<助>)?(.+?)/。<句読>;$」と照合する。これにより、言い換え候補文絞り込み部42は、第2の言い換え候補文の形態素解析結果における比較個所(以下、第2の言い換え候補文比較個所と表記)及び第1〜第3の用例文の形態素解析結果における比較個所(第1〜第3の用例文比較個所)を特定する(ステップS65)。
言い換え候補文絞り込み部42は、第2の言い換え候補文比較個所として「/しれ/ませ/ん」を特定する。また、言い換え候補文絞り込み部42は、第1の用例文比較個所として「/でしょ/う」、第2の用例文比較個所として「/そう/です」、第3の用例文比較個所として「/しれ/ませ/ん」を特定する。
言い換え候補文絞り込み部42は、比較方法決定部323によって決定された比較方法が完全一致であることを判別する(ステップS66)。
言い換え候補文絞り込み部42は、第2の言い換え候補文比較個所と第1〜第3の用例文比較個所のうちの少なくとも1つとが完全一致であるか否かを判定する(ステップS67)。上記したように第2の言い換え候補文比較個所は「/しれ/ませ/ん」である。また、第1の用例文比較個所は「/でしょ/う」であり、第2の用例文比較個所は「/そう/です」であり、第3の用例文比較個所は「/しれ/ませ/ん」である。よって、言い換え候補文絞り込み部42は、第2の言い換え候補文比較個所と第1及び第2の用例文比較個所とは完全一致でないと判定する。一方、言い換え候補文絞り込み部42は、第2の言い換え候補文比較個所と第3の用例文比較個所とは完全一致であると判定する。
これにより、言い換え候補文絞り込み部42は、第2の言い換え候補文比較個所と第1〜第3の用例文比較個所のうちの少なくとも1つとが完全一致であると判定する。
第2の言い換え候補文比較個所と第1〜第3の用例文比較個所のうちの少なくとも1つとが完全一致であると判定された場合(ステップS67のYES)、言い換え候補文絞り込み部42は、第2の言い換え候補文が文末断定表現の範例(規範)に則していることを意味するフラグを立てる(ステップS68)。このフラグは、例えば第2の言い換え候補文に対応付けて解析結果格納部24に格納される。
ステップS68の処理が実行されると、ステップS69の処理が実行される。上記では、第1及び第2の言い換え候補文についてステップS62に以降の処理が実行された場合について説明したが、第3〜第6の言い換え候補文についても同様に処理が実行される。なお、第3〜第6の言い換え候補文についてステップS62以降の処理が実行された場合には、第3及び第6の言い換え候補文には、上記した第2の言い換え候補文と同様に、当該言い換え候補文が文末断定表現の範例に則していることを意味するフラグが立てられる。一方、第4及び第5の言い換え候補文には、上記した第1の言い換え候補文と同様に、当該言い換え候補文が文末断定表現の範例に則していることを意味するフラグは立てられない。
つまり、解析結果格納部24においては、第1、第4及び第5の言い換え候補文に対応付けて文末断定表現の範例に則していないことを意味するフラグ「0」が格納される。一方、解析結果格納部24においては、第2、第3及び第6の言い換え候補文に対応付けて文末断定表現の範例に則していることを意味するフラグ「1」が格納される。
上記したように言い換え候補文生成部41によって生成された全ての言い換え候補文(第1〜第6の言い換え候補文)についてステップS62以降の処理が実行されると、ステップS69において全ての言い換え候補文について当該処理が実行されたと判定される。
この場合、言い換え候補文絞り込み部42は、解析結果格納部24に格納されているフラグを参照して、第1〜第6の言い換え候補文の中からユーザに提示される言い換え候補文を絞り込む(ステップS70)。
言い換え候補文絞り込み部42は、第1〜第6の言い換え候補文を、解析結果格納部24においてフラグ「1」に対応付けられている言い換え候補文(文末断定表現の範例に則していることを意味するフラグが立っている言い換え候補文)のみに絞り込む。このとき、第1〜第6の言い換え候補文のうち、解析結果格納部24においてフラグ「0」に対応付けられている言い換え候補文(フラグが立っていない言い換え候補文)は削除される。
ここでは、第1〜第6の言い換え候補文のうち、第1、第4及び第5の言い換え候補文にはフラグが立っていないため、当該第1、第4及び第5の言い換え候補文は削除される。つまり、第1〜第6の言い換え候補文は、第2、第3及び第6の言い換え候補文に絞り込まれる。
上記したような言い換え候補文絞り込み処理が実行されることにより、絞り込まれた第2、第3及び第6の言い換え候補文がユーザに対して提示される。この第2、第3及び第6の言い換え候補文は、上記した図20に示すように操作画面200において、ユーザによって指定された修正対象文の修正候補となる文(修正候補文)として表示される。ユーザは、この操作画面200において表示された第2、第3及び第6の言い換え候補文のうちのいずれかを指定することで、修正対象文を当該指定された言い換え候補文に修正することができる。具体的には、操作画面200に表示された第2、第3及び第6の言い換え候補文のうち、例えば第2の言い換え候補文がユーザによって指定された場合、修正対象文「明日は雪が降ります。」が第2の言い換え候補文「明日は雪が降るかもしれません。」に修正される(入れ替えられる)。
次に、図21のフローチャートを参照して、ユーザによって文書校正観点「数量構文規範チェック」が選択された場合の言い換え候補文絞り込み処理について説明する。ここでは、上記した図19に示すステップS42の処理において、解析方法として「nee(固有表現抽出)」、比較条件として「(?=.*?QUANTITY)(?=.*?PHQ)(?=.*?DATE)(?=.*?LOCATION)」、比較方法として「2(部分一致)」が制御部32に含まれる解析方法決定部322及び比較方法決定部323によって決定されているものとする。なお、文書校正観点「数量構文規範チェック」における比較個所は、前述した図3に示すように設定ファイル23には指定されていないものとする。
また、制御部32に含まれる用例辞書決定部321によって決定された用例辞書格納部22(「suryo.txt」を名称とする用例辞書格納部22)には、前述した第4及び第5の用例文が格納されているものとする。つまり、解析結果格納部24には、第4及び第5の用例文の固有表現抽出結果が格納されているものとする。この第4及び第5の用例文の固有表現抽出結果は、上記した図19に示すステップS46の処理において解析結果格納部24に格納される。
また、ユーザによって指定された修正対象文は、「2005年は20億トンが米国のCO2排出量となった。」であるものとする。ここで、上記した図19に示すステップS50において言い換え候補文生成部41によって生成された言い換え候補文には、第7〜第9の言い換え候補文が含まれるものとする。第7の言い換え候補文は、「米国のCO2排出量は2005年が20億トンとなった。」であるものとする。第8の言い換え候補文は、「米国では2005年に20億トンのCO2排出量となった。」であるものとする。第9の言い換え候補文は、「2005年のCO2排出量は米国が20億トンとなった。」であるものとする。第4の言い換え候補文は、「明日は雪が降るはずです。」であるものとする。この第7〜第9の言い換え候補文は、言い換え文生成規則格納部25に格納されている言い換え文生成規則に基づいて、修正対象文「2005年は20億トンが米国のCO2排出量となった。」に対して生成された言い換え文である。
まず、言い換え候補文絞り込み部42は、用例辞書決定部321によって決定された用例辞書格納部22に格納されている用例文(ここでは、第4及び第5の用例文)の解析結果(ここでは、固有表現出結果)を、解析結果格納部24から取得する(ステップS61)。
言い換え候補文絞り込み部42は、第4の用例文の固有表現抽出結果として「DATE PHQ LOCATION QUANTITY LOCATION QUANTITY」を取得する。言い換え候補文絞り込み部42は、第5の用例文の固有表現抽出結果として「LOCATION PHQ DATE QUANTITY DATE QUANTITY」を取得する。
次に、言い換え候補文絞り込み部42は、言い換え候補文生成部41によって生成された言い換え候補文のうちの1つ(ここでは、例えば第7の言い換え候補文)を、解析方法決定部322によって決定された解析方法(ここでは、固有表現抽出)を用いて解析する(ステップS62)。これにより、言い換え候補文絞り込み部42は、第7の言い換え候補文の固有表現抽出による解析結果(固有表現抽出結果)を取得する。
ここで、第7の言い換え候補文は「米国のCO2排出量は2005年が20億トンとなった。」であるため、当該第7の言い換え候補文の固有表現抽出結果は、「LOCATION PHQ DATE QUANTITY」となる。
言い換え候補文絞り込み部42は、第7の言い換え候補文の固有表現抽出結果及び比較方法決定部323によって決定された比較条件を照合する。これにより、言い換え候補文絞り込み部42は、第7の言い換え候補文の固有表現抽出結果が比較条件に合致するか否かを判定する(ステップS63)。
ここでは、言い換え候補文絞り込み部42による第7の言い換え候補文の固有表現抽出結果は、「LOCATION PHQ DATE QUANTITY」である。また、比較方法決定部323によって決定された比較条件は、「(?=.*?QUANTITY)(?=.*?PHQ)(?=.*?DATE)(?=.*?LOCATION)」である。この比較条件は、「QUANTITY」、「PHQ」、「DATE」及び「LOCATION」の全てを順不同に1回以上含む文字列を意味する。
ここで、第7の言い換え候補文の固有表現抽出結果には、「QUANTITY」、「PHQ」、「DATE」及び「LOCATION」の全てが順不同に1回以上含まれている。したがって、言い換え候補文絞り込み部42は、第7の言い換え候補文の固有表現抽出結果が比較条件に合致すると判定する。この場合、言い換え候補文絞り込み部42は、第7の言い換え候補文が言い換え候補文絞込み対象であるとして、ステップS64の処理を実行する。
なお、第7の言い換え候補文の固有表現抽出結果が比較条件に合致しないと判定された場合(ステップS63のNO)、当該第7の言い換え候補文は言い換え候補文絞り込み対象外となり、当該第7の言い換え候補文は(言い換え候補文から)削除される。この場合、後述するステップS69の処理が実行される。
第7の言い換え候補文の固有表現抽出結果が比較条件に合致すると判定された場合(ステップS63のYES)、言い換え候補文絞り込み部42は、比較方法決定部323によって決定された比較個所に基づいて、比較個所の指定があるか否かを判定する(ステップS64)。
ユーザによって選択された文書校正観点が「数量構文規範チェック」である場合、上記したように設定ファイル23には比較個所の指定がない。したがって、言い換え候補文絞り込み部42は、比較個所の指定がないと判定する。
比較個所の指定がないと判定された場合(ステップS64のNO)、上記したユーザによって文書校正観点として「文末断定表現チェック」が選択された場合と異なり、ステップS65の処理は実行されない。この場合には、第7の言い換え候補文、第4及び第5の用例文の固有表現抽出結果全体が、それぞれの比較個所とされる。
言い換え候補文絞り込み部42は、比較方法決定部323によって決定された比較方法を判別する(ステップS66)。ここでは、比較方法決定部323によって決定された比較方法は「2」であるため、言い換え候補文絞り込み部42は、比較方法が部分一致であることを判別する。
言い換え候補文絞り込み部42は、第7の言い換え候補文の固有表現抽出結果の比較個所(以下、第7の言い換え候補文比較個所と表記)と第4及び第5の用例文の固有表現抽出結果の比較個所(第4及び第5の用例文比較個所)のうちの少なくとも1つとが部分一致であるか否かを判定する(ステップS67)。この判定処理は、ステップS66において判別された比較方法(ここでは、部分一致)に基づいて実行される。
なお、第7の言い換え候補文比較個所は、上記したように第7の言い換え候補文の固有表現抽出結果の全体である。また、第4及び第5の用例文比較個所は、第4及び第5の用例文の固有表現抽出結果の全体である。
つまり、第7の言い換え候補文比較個所は、「LOCATION PHQ DATE QUANTITY」である。また、第4の用例文比較個所は「DATE PHQ LOCATION QUANTITY LOCATION QUANTITY」であり、第5の用例文比較個所は「LOCATION PHQ DATE QUANTITY DATE QUANTITY」である。
ここで、部分一致とは、第7の言い換え候補文比較個所が第4または第5の用例文比較個所の一部と一致することをいう。この場合、言い換え候補文絞り込み部42は、第7の言い換え候補文比較個所「LOCATION PHQ DATE QUANTITY」は第4の用例文比較個所「DATE PHQ LOCATION QUANTITY LOCATION QUANTITY」の一部と一致しないと判定する。一方、言い換え候補文絞り込み部42は、第7の言い換え候補文比較個所「LOCATION PHQ DATE QUANTITY」は第5の用例文比較個所「LOCATION PHQ DATE QUANTITY DATE QUANTITY」の一部と一致すると判定する。
これにより、言い換え候補文絞り込み部42は、第7の言い換え候補文比較個所と第4及び第5の用例文比較個所のうちの少なくとも1つとが部分一致であると判定する。
第7の言い換え候補文比較個所と第4及び第5の用例文比較個所のうちの少なくとも1つとが部分一致であると判定された場合(ステップ67のYES)、言い換え候補文絞り込み部42は、第7の言い換え候補文が数量構文の範例(規範)に則していることを意味するフラグを立てる(ステップS68)。このフラグは、例えば第7の言い換え候補文に対応付けて解析結果格納部24に格納される。
次に、言い換え候補文絞り込み部42は、言い換え候補文生成部41によって生成された全ての言い換え候補文についてステップS62以降の処理が実行されたか否かを判定する(ステップS69)。
ここでは、言い換え候補文生成部41によって生成された言い換え候補文のうちの第7の言い換え候補文についてはステップS62以降の処理が実行されたが、当該第7の言い換え候補文以外の言い換え候補文(第8及び第9の言い換え候補文)については当該処理が実行されていない。このため、言い換え候補文絞り込み部42は、全ての言い換え候補文についてステップS62以降の処理が実行されていないと判定する(ステップS69のNO)。この場合、上記したステップS62に戻って、処理されていない言い換え候補文(第8及び第9の言い換え候補文)に対して処理が実行される。
ここで、第8の言い換え候補文についてステップS62以降の処理が実行された場合について簡単に説明する。
言い換え候補文絞り込み部42は、第8の言い換え候補文を固有表現抽出により解析する(ステップS62)。第8の言い換え候補文は「米国は2005年に20億トンのCO2排出量となった。」であるため、当該第8の言い換え候補文の固有表現抽出結果は、「LOCATION DATE QUANTITY PHQ」となる。
言い換え候補文絞り込み部42は、第8の言い換え候補文の固有表現抽出結果が比較方法決定部323によって決定された比較条件に合致するか否かを判定する(ステップS63)。第8の言い換え候補文の固有表現抽出結果は「LOCATION DATE QUANTITY PHQ」であり、比較条件は「(?=.*?QUANTITY)(?=.*?PHQ)(?=.*?DATE)(?=.*?LOCATION)」である。
ここで、第8の入力文の固有表現抽出結果には、「QUANTITY」、「PHQ」、「DATE」及び「LOCATION」の全てが順不同に1回以上含まれている。このため、言い換え候補文絞り込み部42は、第8の言い換え候補文の固有表現抽出結果が比較条件に合致すると判定する(ステップS63のYES)。これにより、言い換え候補文絞り込み部42は、第8の言い換え候補文を言い換え候補文絞り込み対象とする。
次に、言い換え候補文絞り込み部42は、上記したように設定ファイル23には比較個所が指定されていないと判定する(ステップS64のNO)。この場合、第8の言い換え候補文、第4及び第5の用例文の固有表現抽出結果全体が、それぞれの比較個所とされる。
言い換え候補文絞り込み部42は、比較方法決定部323によって決定された比較方法が部分一致であることを判別する(ステップS66)。
言い換え候補文絞り込み部42は、第8の言い換え候補文の固有表現抽出結果の比較個所(以下、第8の言い換え候補文比較個所)と第4及び第5の用例文の固有表現抽出結果の比較箇所(第4及び第5の用例文比較個所)のうちの少なくとも1つとが部分一致であるか否かを判定する(ステップS67)。
上記したように第8の言い換え候補文比較個所は「LOCATION DATE QUANTITY PHQ」である。また、第4の用例文比較個所は「DATE PHQ LOCATION QUANTITY LOCATION QUANTITY」であり、第5の用例文比較個所は「LOCATION PHQ DATE QUANTITY DATE QUANTITY」である。
この場合、第8の言い換え候補文比較個所は、第4及び第5の用例文比較個所のいずれとも部分一致でない。つまり、言い換え候補文絞り込み部42は、第8の言い換え候補文比較個所と第4及び第5の用例文比較個所のうちの少なくとも1つとが部分一致でないと判定する。
この場合、ステップS68の処理が実行されないため、第8の言い換え候補文には数量構文の範例に則していることを意味するフラグは立てられない。
第8の言い換え候補文比較個所と第4及び第5の用例文比較個所のうちの少なくとも1つとが部分一致でないと判定された場合(ステップS67のNO)、ステップS69の処理が実行される。上記では、第7及び第8の言い換え候補文についてステップS62以降の処理が実行された場合について説明したが、第9の言い換え候補文についても同様に処理が実行される。なお、第9の言い換え候補文についてステップS62以降の処理が実行された場合には、当該第9の言い換え候補文には、上記した第7の言い換え候補文と同様に、当該言い換え候補文が数量構文の範例に則していることを意味するフラグが立てられる。
つまり、解析結果格納部24においては、第7及び第9の言い換え候補文に対応付けて数量構文の範例に則していることを意味するフラグ「1」が格納される。一方、解析結果格納部24においては、第8の言い換え候補文に対応付けて数量構文の範例に則していないとことを意味するフラグ「0」が格納される。
上記したように言い換え候補文生成部41によって生成された全ての言い換え候補文(第7〜第9の言い換え候補文)についてステップS62以降の処理が実行されると、ステップS69において全ての言い換え候補文について当該処理が実行されたと判定される。
この場合、言い換え候補文絞り込み部42は、解析結果格納部24に格納されているフラグを参照して、第7〜第9の言い換え候補文の中からユーザに提示される言い換え候補文を絞り込む(ステップS70)。
言い換え候補文絞り込み部42は、第7〜第9の言い換え候補文を、解析結果格納部24においてフラグ「1」に対応付けられている言い換え候補文(数量構文の範例に則していることを意味するフラグが立っている言い換え候補文)のみに絞り込む。このとき、第7〜第9の言い換え候補文のうち、解析結果格納部24においてフラグ「0」に対応付けられている言い換え候補文(フラグが立っていない言い換え候補文)は削除される。
ここでは、第7〜第9の言い換え候補文のうち、第8の言い換え候補文にはフラグが立っていないため、当該第8の言い換え候補文は削除される。つまり、第7〜第9の言い換え候補文は、第7及び第9の言い換え候補文に絞り込まれる。
上記したような言い換え候補文絞り込み処理が実行されることにより、絞り込まれた第7及び第9の言い換え候補文がユーザに対して提示される。この第7及び第9の言い換え候補文は、ユーザによって指定された修正対象文の修正候補文として表示される。ユーザは、表示された第7及び第9の言い換え候補文のうちのいずれかを指定することで、修正対象文を当該指定された言い換え候補文に修正することができる。具体的には、ユーザに対して表示された第7及び第9の言い換え候補文のうち、例えば第7の言い換え候補文が当該ユーザによって指定された場合、修正対象文「2005年は20億トンが米国のCO2排出量となった。」が第7の言い換え候補文「米国のCO2排出量は2005年が20億トンとなった。」に修正される(入れ替えられる)。
上記したように本実施形態においては、前述した第1の実施形態においてユーザに対して提示された校正個所(修正対象文)に対する様々な言い換え文が言い換え文生成規則に基づいて網羅的に生成される。本実施形態においては、生成された言い換え候補文の解析結果及びユーザによって選択された文書校正観点に対応する用例辞書格納部22に格納されている用例文の解析結果を比較することによって、当該生成された言い換え候補文は当該ユーザによって選択された文書校正観点において範例となる用例文に則した言い換え候補文のみに絞り込まれる。これにより、本実施形態においては、校正個所として発見された文を、ユーザによって選択された文書校正観点に則した文へ容易に修正することができる。したがって、本実施形態においては、校正個所を文書校正観点に則した文に修正する作業(校正作業)にかかるコストを軽減することが可能となる。
なお、本願発明は、上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、各実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。