図1は読合せ支援装置1の外観の例を示す図、図2は読合せ支援装置1のハードウェア構成の例を示す図、図3は読合せ支援装置1の機能的構成の例を示す図である。
図1に示す読合せ支援装置1は、用紙に印刷されている文書などの情報に基づいて入力され電子化された情報、例えば用紙に印刷されている文書に基づいて手入力され電子化された情報やOCRにより入力され電子化された情報を合成音声によって読み上げ、正しく情報が電子化されているか否かを、検査者であるユーザにチェック(読合せ)させるための装置である。特に、用紙に手書きで書かれた情報をパーソナルコンピュータまたはワークステーションなどで人間が正しく入力したか否かをチェックするために好適に用いられる。
読合せ支援装置1は、図2に示すように、CPU(Central Processing Unit)10a、RAM(Random Access Memory)10b、ROM(Read Only Memory)10c、ハードディスク10d、液晶ディスプレイ10e、キーボード10f、ポインティングデバイス10g、USB(Universal Serial Bus)ポート10h、サウンドボード10i、スピーカ10j、およびネットワークポート10kなどを有する。
液晶ディスプレイ10eは、後述する読合せの信頼性および警告のメッセージなどを表示する。
キーボード10fおよびポインティングデバイス10gは、ユーザが読合せ支援装置1に対してコマンド、修正内容および処理条件などの入力に用いることができる。キーボード10fのキーが押されたり、ポインティングデバイス10gのボタンが押されたり、またはタブレットが操作されたりすると、信号がCPU10aに送られる。
USBポート10hには、USBタイプのスキャナ2が接続される。スキャナ2によって読み取られた画像のデータがUSBポート10hを介して読合せ支援装置1に入力される。この画像の中の文字、数字、および記号などのキャラクタは、OCR(Optical Character Reader)処理によってテキストデータ化される。
ネットワークポート10kには、ネットワークケーブルを介してサーバ3が接続されている。サーバ3には既に電子化された未チェックのデータが格納されている。
サウンドボード10iは、テキストデータに基づいてキャラクタを音声合成処理によって音声化する。スピーカ10jは、その音声を出力する。
ROM10cおよびハードディスク10dには、図3に示すような読上データ取得制御部101、難易度算出部102、テキスト置換指令部103、検査用単語決定部104、テキスト置換部105、音声合成制御部106、修正箇所データ取得部121、信頼度分析部122、分析結果出力部123、類似度データ記憶部131、非類似テキストデータベース132、単語辞書データベース133、および検査結果等記憶部134などの機能を実現するためのプログラムおよびデータが記憶されている。これらのプログラムおよびデータは必要に応じてRAM10bにロードされ、CPU10aによってプログラムが実行される。
読合せ支援装置1として、パーソナルコンピュータまたはワークステーションなどが用いられる。
図4は類似度データ7A〜7Cの例を示す図、図5は表形式の読上げ対象情報の例を示す図、図6は修正用画面HG1の例を示す図、図7は修正箇所データ8Aおよび未修正箇所データ8Bの例を示す図、図8は信頼度の集計の結果の例を示す図である。次に、図3に示す読合せ支援装置1の各部の処理内容などについて詳細に説明する。
図3において、類似度データ記憶部131は、2つの音節(モーラ)またはキャラクタ同士の類似の度合い(類似度)を示す類似度データ7A、7B、および7Cを記憶する。
類似度データ7Aには、図4(a)のように、2つの音節同士の音の類似度が示されている。この類似度データ7Aによると、次のように類似度が求められる。
例えば、音節「さ(SA)」および音節「し(SHI)」は、ともに無声摩擦音の子音を有するが母音は相違する。よって、両音節の類似度は「5」である。または、音節「ば(BA)」および音節「ぱ(PA)」は、いずれか一方の子音が「p」であり他方の子音が「b」でありかつ母音が同じである。よって、両音節の類似度は「9」である。または、音節「さ(SA)」および音節「さ(SA)」は、同一の母音および同一の子音を有するので、両音節の類似度は「10」である。
類似度データ7Bには、図4(b)のように、2つの数字同士の見た目(外観)または読み(称呼)の類似度が示されている。
類似度データ7Cには、図4(c)のように、2つの数値の桁数同士の類似度が示されている。
図3に戻って、非類似テキストデータベース132には、単語ごとに、その単語と似ていない他の単語(つまり、非類似の単語)を示す非類似単語データ7Dが格納されている。具体的には、非類似単語データ7Dには、その単語との類似度が所定の値未満である他の単語が示されている。単語同士の類似度については、後述する。
単語辞書データベース133には、様々な分野の様々な単語の、読み、アクセント、および品詞などを示すデータが記憶されている。このデータは、音声合成のほか、後述する単語の置換のために用いる。
検査結果等記憶部134には、修正箇所データ取得部121によって取得された修正箇所データのほか、読上データ取得制御部101によって取得された読上データおよび信頼度分析部122によって求められた信頼度を示す信頼度データなどが記憶される。これらのデータについては、後に順次説明する。
読上データ取得制御部101は、USBポート10hを介してスキャナ2を制御することによって、用紙に印刷されている、読合せチェックの対象である情報(以下、「読上げ対象情報」と記載する。)が記された画像を読み取らせ、その画像のデータを取得する。そして、その画像にOCR処理を施すことによって、読上げ対象情報をテキストデータ化する。このようにして、読上データ取得制御部101は、読上げ対象情報のテキストデータを取得する。
また、読上データ取得制御部101は、ネットワークポート10kを介して、サーバ3に蓄えられたスキャン画像や、既にテキスト化された電子化データを取得する。以下、読上データ取得制御部101によって取得されたテキストデータを「読上データ6」と記載する。
取得された読上データ6は、検査結果等記憶部134に記憶される。そして、読合せチェックを開始する際に、検査結果等記憶部134からRAM10bなどに呼び出されて使用される。
なお、図5のような、表形式で表されている読上げ対象情報を読み取った場合は、項目(フィールド)ごとにカンマまたはタブで区切りかつレコードごとに改行コードで区切った形式、例えば、CSV(Comma Separated Value)形式のテキストデータ(読上データ6)に変換すればよい。
また、スキャナ2に読上げ対象情報の画像をスキャンさせることによって読上データ6を取得する代わりに、フラッシュメモリ、ハードディスク、CD−ROM、またはDVDなどに記録されているテキストデータなどを、読上データ6として取得してもよい。
難易度算出部102は、検査結果等記憶部134から読上データ6を呼び出し、この読上データ6に基づいて、読合せチェックの対象である情報のチェックの難易度を算出する。一般に、その情報の中に似ている単語が多く含まれているほど、チェックは難しい。
そこで、難易度算出部102は、その情報に含まれる単語同士の類似度を算出し、その類似度に対応した難易度を算出する。図5のような表形式の情報の場合は、単語を項目ごとにグループ化し、グループごとに、類似度を算出し最も高い類似度をその情報の難易度として選出する。類似度は、類似度データ7A、7B、または7Cに基づいて求められる。
例えば、図5に示す「品目」のグループ(項目)の単語同士の類似度は、次のように算出される。このグループには、「米」、「牛肉」、「りんご」、および「ほたて」という4つの異なる単語が含まれている。
「米」は「KO、ME」という2つの音節からなり、「牛肉」は「GYU、U、NI、KU」という4つの音節からなる。このように音節の数が相違する場合は、両単語は非類似であると、判別する。よって、「米」と「牛肉」とは非類似であり、両者の類似度は「0」である。
「りんご」と「ほたて」とは、それぞれ、「RI、N、GO」および「HO、TA、TE」の音節からなる。つまり、両単語ともに3音節である。そこで、1番目の音節から順に、両単語の音節同士を比較する。つまり、「RI」と「HO」とを比較し、「N」と「TA」とを比較し、「GO」と「TE」とを比較する。そして、図4(a)の類似度データ7Aに基づいて、両音節の類似度を求め、その平均値を求める。すると、いずれの組合せも類似度は「0」であるので、その平均値つまり両単語の類似度は「0」である。
同様に、「米」および「りんご」など、他の2つの単語同士の組合せについても、類似度を求める。そして、最も高い類似度を、この項目つまり「品目」の類似度とする。図5の例によると、「品目」の類似度は「0」である。
「生産地」のグループ(項目)の類似度も同様の方法で求められる。このグループには、「滋賀県」、「佐賀県」、および「北海道」という3つの異なる単語が含まれている。
「滋賀県」は「SHI、GA、KE、N」という4つの音節からなり、「佐賀県」は「SA、GA、KE、N」という4つの音節からなる。1番目の音節から順に、両単語の音節同士を比較すると、2〜4番目の両音節は一致する。よって、2〜4番目の類似度は「10」である。1番目の両音節は、子音は相違するものの無声摩擦音という点で共通し、母音は相違する。よって、類似度は「5」である。したがって、これらの平均値、つまり、「滋賀県」と「佐賀県」との類似度は、
(5+10+10+10)/4=8.75
となる。
「滋賀県」と「北海道」との類似度および「佐賀県」と「北海道」との類似度は、ともに、「0」である。
したがって、「生産地」の類似度として、「滋賀県」と「佐賀県」との類似度である「8.75」が採用される。
単語に数字が含まれる場合は、両単語に含まれる数字同士が比較され、図4(b)の類似度データ7Bに基づいて両単語の類似度が求められる。例えば、一方の単語に「3」が含まれ他方の単語に「8」が含まれる場合は、両単語の類似度は「7」となる。
また、両単語が数値を表す場合は、それぞれの桁数も考慮され、図4(c)の類似度データ7Cに基づいて両数値の類似度が求められる。例えば、一方の数値の桁数が3桁であり他方の数値の桁数が4桁である場合(つまり、一方の数値が百の位まであり、他方の数値が千の位まである場合)は、両数値の類似度は「8」である。
なお、数字からなる単語の場合は文字からなる単語の場合よりも類似度が高くなるように類似度データを設定しておくのが好ましい。
図3に戻って、テキスト置換指令部103は、読上げ対象情報に含まれる単語を他の単語に置換するタイミングを判定し、後述する検査用単語決定部104およびテキスト置換部105に対して、単語の置換のための処理を行うように指令する。タイミングの判定の方法については、後に詳細に説明する。
検査用単語決定部104は、読上げ対象情報の中の単語の置換の指令がテキスト置換指令部103からなされた場合に、その単語と置換するのに好適な他の単語を決定する処理を行う。決定の方法については、後に詳細に説明する。
テキスト置換部105は、読上げ対象情報の中の特定の単語の置換の指令がテキスト置換指令部103からなされた場合に、その特定の単語を、検査用単語決定部104によって決定された他の単語に置換する。
音声合成制御部106は、通常は読み上げデータ取得制御部101で取得された読み上げデータを読み上げる音声が合成されるようにサウンドボード10iを制御し、テキスト置換指令部103が置換処理を指令した場合にのみ、テキスト置換部105によって適宜単語の置換が行われた読上データ6に基づいて、読上げ対象情報を読み上げる音声が合成されるようにサウンドボード10iを制御する。そして、この音声をスピーカ10jから出力させる。
ユーザは、スピーカ10jから出力される音声を聴きながら、手書きの原稿が正しく入力されているか否かをチェックする。そして、手書きの原稿の中の単語と聴いた単語とが一致しないことに気付いたら、キーボード10fまたはポインティングデバイス10gを用いて所定の操作を行う。例えば、デスクトップ上の所定のウィンドウ内の所定のボタンをクリックする。または、デスクトップ上の所定のウィンドウをアクティブにした状態でキーボード10fの所定のキーを押す。
すると、修正箇所データ取得部121は、音声の出力を停止し、図6のような、正しい単語に修正するための修正用画面HG1を液晶ディスプレイ10eに表示させる。ここで、ユーザは、正しい単語を入力することによって、読上げ対象情報を修正する。すると、修正箇所データ取得部121は、正しい単語の入力を受け付ける。
入力された単語を示すデータは、図7のように、誤りの単語(つまり、読み上げられた単語)を示すデータおよび読上げ対象情報におけるその誤りの単語が配置された位置を示すデータとともに、修正箇所データ8Aとして検査結果等記憶部134に記憶される。
そのほか、修正箇所データ8Aには、読上げ対象情報全体の読上げを開始してからその単語が読み上げられるまでに経過した時間(経過時間)、入力された単語の属するグループおよびその難易度、および修正があった旨などが示される。さらに、置換を行った場合は、置換前の単語も示される。
正しい単語の受付後、未だ読み上げられていない単語が読上げ対象情報に残っている場合は、読上げの処理が再開される。
テキスト置換部105によって単語の置換を行うことによって誤りを発生させたにも関わらず、ユーザがそれに気付かない(見落とす)場合がある。検査結果等記憶部134は、図7のように、このような、読上げ対象情報の中の誤りに気付かれなかった置換された単語を示すデータを、読上げ対象情報におけるその単語の位置を示すデータとともに、未修正箇所データ8Bとして記憶する。未修正箇所データ8Bは、その単語が読み上げられた後所定の時間(例えば、数秒)が経過してから生成されるようにすればよい。
そのほか、未修正箇所データ8Bには、読上げ対象情報全体の読上げを開始してからその単語が読み上げられるまでに経過した時間(経過時間)、置換前の単語、置換前の単語の属するグループおよびその難易度、および修正がなされなかった旨などが示される。
このように、読上げ対象情報の読上げを行いユーザによる修正を適宜受け付けることによって、検査結果等記憶部134には、図7に示すように修正箇所データ8Aおよび未修正箇所データ8Bが蓄積される。
なお、修正箇所データ8Aおよび未修正箇所データ8Bに示される経過時間には、修正などのために読上げを一時停止した時間は含まれない。
信頼度分析部122は、修正箇所データ8Aおよび未修正箇所データ8Bに基づいて、ユーザによるチェックの信頼度を分析する処理を行う。
例えば、図8(a)に示すように、難易度と経過時間との時間帯の組合せごとに、信頼度を算出する。信頼度は、
信頼度=(ユーザが修正した回数/置換の回数)×100[%]
によって算出することができる。
または、図8(b)に示すように、項目(グループ)と経過時間との時間帯の組合せごとに、信頼度を算出してもよい。
分析結果出力部123は、信頼度分析部122による分析の結果を液晶ディスプレイ10eに表示させるなどして出力する。
図9はテキスト置換指令部103の例を示す図、図10はタイミング判定処理の第一の例を示すフローチャート、図11はタイミング判定処理の第二の例を示すフローチャート、図12はタイミング判定処理の第三の例を示すフローチャート、図13はタイミング判定処理の第四の例を示すフローチャート、図14はタイミング判定処理の第五の例を示すフローチャートである。
次に、テキスト置換指令部103および検査用単語決定部104の処理を詳細に説明する。
テキスト置換指令部103を、図9(a)に示すように、時間計測部141および置換実行判定部142によって構成する。
時間計測部141は、時間の計測を行う。置換実行判定部142は、時間計測部141によって計測される時間に基づいて、単語の置換のタイミングを判別する。そして、そのタイミングが訪れたら、検査用単語決定部104およびテキスト置換部105に対して置換の処理を行うように指令する。具体的には、時間計測部141および置換実行判定部142は、図10のフローチャートに示す手順で処理を行う。
時間計測部141は、タイマを予め0秒にリセットし(図10の#301)、読合せチェックの開始に合わせて時間の計測を開始する(#302)。予め設定された所定の時間が経過したら(#304でYes)、置換実行判定部142は、置換のタイミングが訪れたと判別し、検査用単語決定部104およびテキスト置換部105に対して置換の処理を行うように指令する(#305)。すると、読上げ対象情報の中の次に出力されるべき単語が検査用単語決定部104およびテキスト置換部105によって別の単語に置換され、音声合成制御部106によってその音声が出力される。そして、時間計測部141は、タイマを0秒にリセットし(#306)、再び時間の計測を開始する。
一方、所定の時間が経過するまでにユーザが修正の操作を行った場合は(#307でYes)、時間計測部141は、タイマを0秒にリセットする(#308)。そして、再び時間の計測を開始する。
または、置換のタイミングがランダムになるようにテキスト置換指令部103を次のように構成してもよい。
テキスト置換指令部103を、図9(b)に示すように、時間計測部151、置換実行判定部152、および時間間隔値生成部153によって構成する。時間間隔値生成部153は、擬似ランダム関数などを用いて所定の範囲(例えば、1分〜10分)でランダムな時間(以下、「ランダム時間」と記載する。)の値を生成する。
そして、テキスト置換指令部103の各部は、図11のフローチャートに示す手順で処理を行う。
ステップ#303〜#308の処理は、読上げ対象情報の読上げを完了するまで適宜実行される。
時間計測部151は、タイマを予め0秒にリセットし(図11の#311)、読合せチェックの開始に合わせて時間の計測を開始する(#312)。時間間隔値生成部153は、ランダム時間を生成する(#313)。ランダム時間が経過したら(#315でYes)、置換実行判定部152は、置換のタイミングが訪れたと判別し、検査用単語決定部104およびテキスト置換部105に対して置換の処理を行うように指令する(#316)。すると、読上げ対象情報の中の次に出力されるべき単語が検査用単語決定部104およびテキスト置換部105によって別の単語に置換され、音声合成制御部106によってその音声が出力される。そして、時間計測部151は、タイマを0秒にリセットし(#317)、再び時間の計測を開始する。また、時間間隔値生成部153は、タイマのリセットの際に、ランダム時間を新たに生成する(#313)。
一方、ランダム時間が経過するまでにユーザが修正の操作を行った場合は(#318でYes)、時間計測部151は、タイマを0秒にリセットし(#319)、再び時間の計測を開始する。また、時間間隔値生成部153は、タイマのリセットの際に、ランダム時間を新たに生成する(#313)。
ステップ#313〜#319の処理は、読上げ対象情報の読上げを完了するまで適宜実行される。
時間の経過に応じてタイミングを判断する代わりに、読み上げた単語の数に応じてタイミングを判断してもよい。この場合、テキスト置換指令部103は、図9(c)に示すように、処理テキスト集計部161、テキスト間隔値生成部162、および置換実行判定部163を有する。
処理テキスト集計部161は、読上げ対象情報の読合せチェックを開始してから、合成音声によって出力した単語の個数をカウント(集計)する。テキスト間隔値生成部162は、擬似ランダム関数などを用いて所定の範囲(例えば、1〜100)でランダムな自然数(以下、「ランダム数」と記載する。)を生成する。置換実行判定部163は、処理テキスト集計部161によって集計された単語の個数およびテキスト間隔値生成部162によって生成されたランダム数に基づいて、単語の置換のタイミングを判別する。そして、そのタイミングが訪れたら、検査用単語決定部104およびテキスト置換部105に対して置換の処理を行うように指令する。具体的には、処理テキスト集計部161、テキスト間隔値生成部162、および置換実行判定部163は、図12のフローチャートに示す手順で処理を行う。
処理テキスト集計部161は、カウンタを予め「0」にリセットし(図12の#321)、読合せチェックの開始に合わせて、出力した単語のカウントを開始する(#322)。テキスト間隔値生成部162は、ランダム数を生成する(#323)。処理テキスト集計部161のカウンタの値がランダム数に達したら(#325でYes)、置換実行判定部163は、置換のタイミングが訪れたと判別し、検査用単語決定部104およびテキスト置換部105に対して置換の処理を行うように指令する(#326)。すると、読上げ対象情報の中の次に出力されるべき単語が検査用単語決定部104およびテキスト置換部105によって別の単語に置換され、音声合成制御部106によってその音声が出力される。そして、処理テキスト集計部161は、カウンタを「0」にリセットし(#327)、再び単語のカウントを開始する。また、テキスト間隔値生成部162は、カウンタのリセットの際に、ランダム数を新たに生成する(#323)。
一方、ランダム数に達するまでにユーザが修正の操作を行った場合は(#328でYes)、処理テキスト集計部161は、カウンタを「0」にリセットし(#329)、再び単語のカウントを開始する。また、テキスト間隔値生成部162は、カウンタのリセットの際に、ランダム数を新たに生成する(#323)。
ステップ#323〜#329の処理は、読上げ対象情報の読上げを完了するまで適宜実行される。
なお、テキスト間隔値生成部162に生成させたランダム数の間隔で置換する代わりに、一定の個数の間隔で置換してもよい。
または、読上げ対象情報の中の置換する単語の個数を予め決めておき、その個数の単語だけランダムに置換してもよい。
この場合、テキスト置換指令部103は、図13に示すように、残読上データ取得部171、残再生時間算出部172、置換回数決定部173、再生時間分割部174、経過時間計測部175、および置換実行判定部176を有する。そして、各部は、図14に示す手順で処理を実行する。
残読上データ取得部171は、読上げ対象情報の読上データ6のうちの、これから読み上げる対象となる残りの分のデータを取得する(図14の#331)。残再生時間算出部172は、残読上データ取得部171によって取得されたデータに基づいて、これから読み上げる対象となる残りの分のデータに対する再生時間を算出する(#332)。この再生時間は、そのデータに示される単語の個数または音節の個数、および、1つの単語当りの再生時間または1つの音節当たりの再生時間に基づいて算出することができる。例えば、取得されたデータに示される単語の個数と1つの単語当りの再生時間とを乗算することにより読み上げ対象の再生時間を得る。
置換回数決定部173は、単語を置換する回数を決定する(#333)。回数は、ステップ#332で算出した再生時間の長さに応じて決定してもよいし、擬似ランダム関数によってランダムに決定してもよい。または、ユーザに指定させてもよい。
再生時間分割部174は、ステップ#332で算出した再生時間を、ステップ#333で決定した数(回数)の時間(以下、「分割時間」と記載する。)に分割する(#334)。等分してもよいし、不規則な長さに分けてもよい。例えば、算出した再生時間が10分であり決定した回数が4回である場合は、2分30秒ずつの分割時間に等分してもよいし、2分、4分、3分、および1分のように不規則な長さの分割時間に分けてもよい。
経過時間計測部175は、読上げ対象情報全体の読上げが開始されたら、タイマを0秒にリセットし(#337)、経過時間の計測を開始する(#338)。置換実行判定部176は、1番目の分割時間が経過するまでの特定の時点(例えば、分割時間の10分の9が過ぎた時点またはランダムに決定した時点)が過ぎたら、置換のタイミングが訪れたと判別し、検査用単語決定部104およびテキスト置換部105に対して置換の処理を行うように指令する(#339)。すると、読上げ対象情報の中の次に出力されるべき単語が検査用単語決定部104およびテキスト置換部105によって別の単語に置換され、音声合成制御部106によってその音声が出力される。
そして、1番目の分割時間が経過したら(#340でYes)、経過時間計測部175および置換実行判定部176は、次の分割時間に基づいて同様の処理を実行する(#337〜#339)。
または、読上げ対象情報の残りの再生時間を分割するのではなく、読上げの順に単語を複数のグループにグループ化し、グループ内の所定の位置(例えば、先頭)の単語を置換してもよい。
図15〜図17は検査用単語決定処理の流れの例を説明するフローチャートである。上述の通り、読上げ対象情報の中の単語を置換するタイミングを判断は、テキスト置換指令部103が行う。検査用単語決定部104は、その単語をどの別の単語に置換するのかを決定する処理を行う。
ここで、検査用単語決定部104の処理を、図15〜図17に示すフローチャートなどを参照して説明する。以下、元の読上げ対象情報の中の、置換するタイミングに当たった単語を「被置換単語」と記載する。また、その被置換単語と置換されて読み上げられる単語を、信頼性の検査のために用いられる意味から、「検査用単語」と記載する。
読合せ支援装置1には、難易度が比較的低いか否かを区別するための第一の閾値、難易度が極めて低いか否かを区別するための第二の閾値、難易度が比較的高いか否かを区別するための第三の閾値、および難易度が極めて高いか否かを区別するための第四の閾値が予め設定されている。ただし、第二の閾値<第一の閾値<第三の閾値<第四の閾値、である。
検査用単語決定部104は、難易度算出部102によって算出された、被置換単語の難易度に応じて、検査用単語を決定する。
被置換単語の難易度が第一の閾値以下でありかつ第二の閾値以下である場合は(図15の#351でYes、#352でYes)、検査用単語決定部104は、非類似テキストデータベース132または単語辞書データベース133の中から、被置換単語と同じグループ(項目)に含まれず、被置換単語を構成する文字と同じ文字が含まれない任意の文字列(単語)を検索する(#353)。ただし、被置換単語と検索した文字列との、類似度データ記憶部131に記憶されている類似度データ7A〜7Cに基づいて求められる類似度が、所定の値(例えば、「1」)以上である場合、つまり、両者がある程度類似する場合は、別の文字列を検索し直す。
そのような文字列が見つかった場合は(#354でYes)、検査用単語決定部104は、見つかった文字列を検査用単語に決定する(#355)。
そのような文字列が見つからなかった場合は(#354でNo)、検査用単語決定部104は、そのような造語(文字列)を生成し、それを検査用単語に決定する(#356)。例えば、被置換単語が「りんご」である場合は、「り」、「ん」、および「ご」のいずれも含まない、3文字からなり、かつ、被置換単語と同じグループ(項目)に含まれない文字列を任意に生成する。ただし、検査用単語との類似度が所定の値(例えば、「1」)未満になるように生成する。
または、被置換単語の難易度が第一の閾値以下でありかつ第二の閾値を超える場合は(#351でYes、#352でNo)、被置換単語と同じグループ(項目)に属するが被置換単語とは非類似である単語を、非類似テキストデータベース132の中から検索する(#357)。
そのような単語が見つかった場合は(#358でYes)、検査用単語決定部104は、見つかった単語を検査用単語に決定する(#359)。
そのような単語が見つからなかった場合は(#358でNo)、被置換単語と同じグループ(項目)に属するが、被置換単語には含まれない文字からなる造語をステップ#356と同様に生成し、これを検査用単語に決定する(#360)。
または、被置換単語の難易度が第一の閾値を超える場合は(#351でYes)、検査用単語決定部104は、図16および図17に進んで、次のように難易度を第三の閾値および第四の閾値と比較し検査用単語を決定する。
被置換単語の難易度が第三の閾値以下である場合は(図16の#361でNo)、検査用単語決定部104は、類似度データ記憶部131、非類似テキストデータベース132、および読上げ対象情報(読上データ6)の中から、被置換単語との類似度が「0」ではないが所定の値(例えば、「4」)未満である単語を検索する(#362)。例えば、被置換単語と一部の文字が一致または類似する程度で、その他の文字は非類似であるような類似性を有する単語を検索すればよい。
そのような単語が見つかった場合は(#363でYes)、検査用単語決定部104は、見つかった単語を検査用単語に決定する(#364)。
そのような単語が見つからなかった場合は(#363でNo)、検査用単語決定部104は、被置換単語の各文字を別の文字に置き換えかつ被置換単語との類似度が上記の範囲(例えば、1以上4未満)である単語を、類似度データ記憶部131、非類似テキストデータベース132、および読上げ対象情報の中から検索する(#365)。
そのような単語が見つかった場合は(#366でYes)、検査用単語決定部104は、見つかった単語を検査用単語に決定する(#367)。
そのような単語が見つからなかった場合は(#366でNo)、そのような単語(造語)を生成し、それを検査用単語に決定する(#368)。
被置換単語の難易度が第三の閾値を超えるが第四の閾値以下である場合は(#361でYes、図17の#369でNo)、検査用単語決定部104は、類似度データ記憶部131および非類似テキストデータベース132の中から、被置換単語と同じグループ(項目)に含まれず、かつ、被置換単語との類似度がある程度ある所定の値(例えば、「4〜6」)である単語を検索する(#370)。例えば、被置換単語と一部の文字が一致し、その他の文字は類似している単語を検索すればよい。
そのような単語が見つかった場合は(#371でYes)、検査用単語決定部104は、見つかった単語を検査用単語に決定する(#372)。
そのような単語が見つからなかった場合は(#371でNo)、そのような単語(造語)を生成し、それを検査用単語に決定する(#373)。
被置換単語の難易度が第四の閾値をも超える場合は(#369でYes)、検査用単語決定部104は、被置換単語と同じグループ(項目)に属し、かつ被置換単語との類似度が所定の値(例えば、「7」)以上である単語を単語辞書データベース133および読上げ対象情報の中から検索する(#374)。
そのような単語が見つかった場合は(#375でYes)、検査用単語決定部104は、見つかった単語を検査用単語に決定する(#376)。
そのような単語が見つからなかった場合は(#375でNo)、そのような単語(造語)を生成し、それを検査用単語に決定する(#377)。
そして、テキスト置換部105は、被置換単語を、検査用単語決定部104によって決定された検査用単語に置換する。
図18は読合せ支援装置1の全体的な処理の流れの例を説明するフローチャートである。
次に、読合せ支援装置1による読合せのための全体的な処理の手順を、図18のフローチャートを参照しながら説明する。
図18において、読合せ支援装置1は、サーバ3からテキストデータを取得したり、スキャナ2などから読上げ対象情報の画像データを受信しOCR処理を施すなどして、読上データ6を取得する(#11)。
読合せ支援装置1は、読上げ対象情報に含まれている単語ごとの難易度を算出する(#12)。読上げ対象情報が表形式のものである場合など、単語をグループ化できる場合は、グループごとに難易度を算出してもよい。
読合せ支援装置1は、読上げ対象情報に含まれる単語の読上げを先頭の単語から順に開始する。読上げの開始と同時に、図10などで説明したタイミング判定処理も並行して開始する。
読合せ支援装置1は、次に読み上げる単語を呼び出す(#14)。置換のタイミングである場合は(#15でYes)、呼び出した単語(被置換単語)を別の単語(検査用単語)に置換する処理を実行し(#16)、被置換単語の代わりに検査用単語を音声合成し出力する(#17)。置換の処理の詳細は、前に図15〜図17で説明した通りである。置換のタイミングでない場合は、呼び出した単語を他の単語に置換することなく音声合成し出力する(#18)。
ユーザが誤りの修正の操作を行った場合は(#19でYes)、読合せ支援装置1は、その修正の内容などを示す修正箇所データ8Aを生成し記録する(#20)。また、置換したにも関わらずユーザが気付かなかった箇所の未修正箇所データ8Bも適宜生成し記録する。
読合せ支援装置1は、ステップ#14〜#20の処理を、読上げ対象情報の中の最後の単語まで適宜実行する。
最後の単語まで処理が終わったら(#13でYes)、読合せ支援装置1は、修正箇所データ8Aおよび未修正箇所データ8Bなどに基づいてそのユーザによる読合せチェックの信頼度を算出し(#21)、それを液晶ディスプレイ10eに表示するなどして出力する(#22)。
本実施形態によると、用紙に書かれている情報と、それが手入力やOCRによって電子化された情報との読合せの結果の信頼性を従来よりも確実に求めることができる。
図19は読合せ支援装置1の機能的構成の変形例を示す図である。本実施形態では、読合せ支援装置1を、読合せのチェックの信頼性(正確性)を求めるために用いたが、検査者に対して警告するために用いてもよい。
この場合は、図19に示すように、読合せ支援装置1に警告メッセージ出力部107を設ける。そして、警告メッセージ出力部107および信頼度分析部122は、次のように処理を行う。
信頼度分析部122は、読上げ対象情報のすべての単語の読上げが終わった後に信頼度を求めるのではなく、定期的に(例えば、数秒ごとに、または、数個の単語が読み上げられるごとに)、読上げの開始時からその時点までに蓄積された修正箇所データ8Aおよび未修正箇所データ8B(図7参照)に基づいて信頼度を算出すればよい。項目または難易度ごとの信頼度を求めてもよいし、項目および難易度を問わず全体の信頼度を求めてもよい。また、直前の所定の時間(例えば、直前の5分間)の信頼度を求めてもよいし、読上げの開始時からその時点までの期間全体の信頼度を求めてもよい。
警告メッセージ出力部107は、信頼度分析部122によって算出した信頼度が閾値を下回ったら、注意してチェックを行うように警告するメッセージを液晶ディスプレイ10eに表示させまたはスピーカ10jから音声で出力させる。難易度に応じて閾値を設定しておいてもよい。すなわち、難易度が高い場合は類似する単語が出現する可能性が高いので、閾値を高めに設定しておいてもよい。
または、読上げ対象情報のすべての読上げが終わった後、信頼度分析部122によって求められる信頼度が閾値を下回った場合に、メッセージを出力するようにしてもよい。または、信頼度分析部122の結果に関わらず、置換された単語の見落としがあったら、メッセージを出力するようにしてもよい。
また、読上げ対象情報の読合せが終わった後の信頼度が閾値よりも低い場合に、検査者に読合せチェックをやり直させてもよい。ただし、やり直しの作業の効率化のため、図19に示すように読合せ支援装置1に再チェック制御部108を設ける。再チェック制御部108は、次のように処理を実行する。
再チェック制御部108は、読上げ対象情報の読合せが終わった後の信頼度が閾値よりも低い項目を選出し、その項目名とともに、その項目についてのみ読合せをやり直す旨のメッセージを液晶ディスプレイ10eに表示しまたは音声でスピーカ10jで出力する。そして、その項目の単語のみを順次、音声で出力する。
再チェック制御部108によると、再チェックを効率的に行うことができるだけでなく、元々入力ミスがあった単語が偶然に正しい単語に置換されて読み上げられ、検査者が入力ミスを見過ごしてしまう、という不具合を防止することができる。
本実施形態では、単語の単位で類似度の算出および他の単語への置換を行ったが、それ以外の単位で行ってもよい。例えば、文節の単位で行ってもよい。または、読点で区切られた文の単位で行ってもよいし、センテンスの単位で行ってもよいし、段落の単位で行ってもよい。
単語同士の類似度の判別は、称呼だけでなく、意味(観念)をも考慮するようにしてもよい。例えば、「色々な」と「様々な」とは、称呼は5文節目の「な」しか一致しないが、意味が似ているので、一定の類似度があるものとして取り扱ってもよい。
単語ごとに、検査用単語を難易度のレベルに応じて予め用意しておき、それを用いて置換を行ってもよい。例えば、「インターネット」という単語の検査用単語として、難易度が高い順に「イントラネット」、「インターフェイス」、「インターセプト」、「セフティーネット」、および「プロフェッショナル」という単語を用意しておいてもよい。
本実施形態では、確認対象のテキストを合成音声によって出力したが、ディスプレイに文字を表示することによって出力してもよい。
その他、読合せ支援装置1の全体または各部の構成、処理内容、処理順序、データの構成などは、本発明の趣旨に沿って適宜変更することができる。
上に述べた実施例には、以下に述べるような付記も開示されている。
(付記1)
確認対象となる情報である対象情報を入力するための対象情報入力手段と、
入力された前記対象情報を、当該対象情報に含まれる語句である含有語句のうちの1つまたは複数を他の語句に置換しながら出力する、対象情報出力手段と、
前記他の語句が出力されたことに気付いた旨を示す検知信号を検査者に入力させるための検知信号入力手段と、
前記含有語句が前記他の語句に置換された置換回数と前記検知信号が入力された検知回数とに基づいて前記検査者による確認の信頼度を算出する信頼度算出手段と、
算出された前記信頼度を出力する信頼度出力手段と、
を有する確認支援装置。
(付記2)
前記対象情報の中から、前記他の語句に置換されるべき前記含有語句を選出する、被置換語句選出手段と、
選出された前記含有語句ごとに、当該含有語句と置換すべき前記他の語句を決定する、代替語句決定手段と、を有し、
前記対象情報出力手段は、選出された前記含有語句を、当該含有語句について前記代替語句決定手段が決定した前記他の語句と置換して出力する、
付記1記載の確認支援装置。
(付記3)
前記代替語句決定手段は、前記含有語句と置換する前記他の語句として、当該含有語句との類似性が一定以上である語句を選出する、
付記2記載の確認支援装置。
(付記4)
前記対象情報を人間が正確に読み合わせることの難しさの度合いを示す難易度を、前記含有語句同士の類似の度合いに基づいて判定する、難易度判定手段、を有し、
前記代替語句決定手段は、前記含有語句と置換する前記他の語句として、前記難易度が高いほど当該含有語句との類似の度合いが高い語句を選出する、
付記2記載の確認支援装置。
(付記5)
前記難易度判定手段は、前記含有語句を1つまたは複数ごとにグループ化したグループごとに前記難易度を判定する、
付記4記載の確認支援装置。
(付記6)
前記被置換語句選出手段は、所定の間隔で前記他の語句に置換されるように前記含有語句を選出する、
付記2ないし付記4のいずれかに記載の確認支援装置。
(付記7)
前記被置換語句選出手段は、不規則な間隔で前記他の語句に置換されるように前記含有語句を選出する、
付記2ないし付記4のいずれかに記載の確認支援装置。
(付記8)
前記被置換語句選出手段は、前記検知信号入力手段から前記検知信号が入力された後所定の時間が経過したときに前記他の語句に置換されるように前記含有語句を選出する、
付記2ないし付記4のいずれかに記載の確認支援装置。
(付記9)
前記信頼度算出手段によって算出された前記信頼度が所定の値を下回ったときに警告の合図を出力する警告手段、を有する、
付記1ないし付記8のいずれかに記載の確認支援装置。
(付記10)
コンピュータに、
確認対象となる情報である対象情報を取得させ、
取得させた前記対象情報を、当該対象情報に含まれる語句である含有語句のうちの1つまたは複数を他の語句に置換しながら出力させ、
前記他の語句に置換した回数である置換回数をカウントさせ、
前記他の語句が出力されたことに気付いた旨を示す検知信号が入力された回数である検知回数をカウントさせ、
前記置換回数と前記検知回数とに基づいて前記検査者による確認の信頼度を算出させ、
算出された前記信頼度を出力させる、
ことを有する確認支援方法。
(付記11)
コンピュータに、
確認対象となる情報である対象情報を取得する処理と、
取得した前記対象情報を、当該対象情報に含まれる語句である含有語句のうちの1つまたは複数を他の語句に置換しながら出力する処理と、
前記他の語句に置換した回数である置換回数をカウントする処理と、
前記他の語句が出力されたことに気付いた旨を示す検知信号が入力された回数である検知回数をカウントする処理と、
前記置換回数と前記検知回数とに基づいて前記検査者による確認の信頼度を算出する処理と、
算出した前記信頼度を出力する処理と、
を実行させるコンピュータプログラム。