以下,本実施の形態について,図を用いて説明する。
図1は,本実施の形態による入力支援部を備えたコンピュータの機能構成例を示す図である。
図1に示すコンピュータ1は,入力支援部10,OS(Operating System)20,文書エディタ30を備える。
OS20は,入力処理部21,画面出力処理部22を備える。入力処理部21は,キーボードやマウスなどの入力装置から受ける入力に関する処理を行う。画面出力処理部22は,ディスプレイなどの表示装置に対する画面出力に関する処理を行う。入力支援部10や文書エディタ30は,OS20の入力処理部21や画面出力処理部22が提供する機能を用いて,キーボードやマウスなどの入力装置からのユーザの操作入力の受け付けや,ディスプレイなどの表示装置に対する画面出力を行う。
文書エディタ30は,コンピュータ1上で文書の作成や編集を行うアプリケーションである。文書エディタ30の例としては,例えば,ワードプロセッサや表計算ソフトなどの汎用的に文書を作成・編集するアプリケーションや,電子カルテエディタなどの特定の文書を作成・編集するアプリケーションなどが挙げられる。本実施の形態では,文書エディタ30は,ユーザによる文字入力が行われる際に,OS20を介して,入力支援部10による文字入力の支援機能を利用する。
入力支援部10は,ユーザが文字入力を行う際に,ユーザの文字入力を支援する。図1に示す入力支援部10は,文例辞書に登録された文例の入力を支援する機能や,編集対象の文字データ中の文例の修正を支援する機能などを持つ。入力支援部10は,辞書記憶部11,文例入力処理部12,文例修正部100を備える。
辞書記憶部11は,複数の文例が登録された文例辞書を記憶する記憶部である。文例は,あらかじめ文例辞書に登録された文字列である。例えば,ユーザは,文字入力において頻繁に使用すると考えられる文字列を,文例としてあらかじめ文例辞書に登録しておく。文例辞書に登録される文例は,単語レベルの短い文字列でもよいし,文書において数行に渡るような長い文字列でもよい。
文例入力処理部12は,ユーザの文字入力時において,ユーザによる文例辞書に登録された文例の入力に関する処理を行う。例えば,文書エディタ30において,ユーザは,文書上でIME(Input Method Editor )の機能により文字入力を行う。このとき,文例入力処理部12は,IMEの機能と連携して,ユーザが入力した文字列をキーに文例辞書を検索し,該当する文例を画面にリスト表示する。ユーザがリストから文例を選択して確定する操作を行うと,文例入力処理部12は,ユーザが入力した文字列の位置に選択された文例を出力する。
文例修正部100は,編集対象の文字データ中の文例を修正する。本実施の形態では,編集対象の文字データが,文書エディタ30によって作成・編集される文書中の文章であるものとして,説明を行う。文例修正部100は,抽出部101,置換候補情報記憶部102,検出部103,削除候補情報記憶部104,提示部105,置換部106を備える。
抽出部101は,編集対象から指定された文字列を含む文例を,辞書記憶部11に記憶された文例辞書から抽出する。例えば,ユーザは,編集対象の文書から修正したい文例の一部文字列を範囲指定し,本実施の形態の文例修正の機能を呼び出す操作を行う。このとき,抽出部101は,ユーザが編集対象の文書で指定した文字列を受け付け,その文字列を含む文例を文例辞書から抽出する。
抽出部101により文例辞書から抽出された文例は,本実施の形態による文例修正において,編集対象中の文例と置換する文例の候補である。以下では,抽出部101により文例辞書から抽出された文例を,置換候補文例とも呼ぶ。文例辞書から抽出された置換候補文例は,置換候補情報記憶部102に記憶される。置換候補情報記憶部102は,置換候補文例に関する情報を記憶する記憶部である。
検出部103は,抽出部101により文例辞書から抽出された文例に一致する,ユーザに指定された文字列と同位置にある編集対象中の文例を検出する。本実施の形態の文例修正において,修正の対象となる編集対象中の文例は,ユーザに指定された文字列を含むので,抽出部101により文例辞書から抽出されたいずれかの文例に一致する。
検出部103により検出された文例は,本実施の形態による文例修正において,編集対象中から削除される候補の文例である。以下では,検出部103により検出された編集対象中の文例を,削除候補文例とも呼ぶ。検出された削除候補文例は,削除候補情報記憶部104に記憶される。削除候補情報記憶部104は,削除候補文例に関する情報を記憶する記憶部である。
提示部105は,文例辞書から抽出された文例を画面に提示する。提示部105は,文例辞書から抽出された文例,すなわち置換候補文例を,例えばユーザが選択操作を行いやすいリスト形式などを用いた画面表示で,ユーザに提示する。
また,提示部105は,検出された編集対象中の文例を画面に提示する。提示部105は,検出された編集対象中の文例,すなわち削除候補文例を,画面表示でユーザに提示する。削除候補文例が複数ある場合には,提示部105は,例えばユーザが選択操作を行いやすいタブ形式などを用いた画面表示で,ユーザに提示する。
置換部106は,検出された編集対象中の文例を,提示された文例辞書から抽出された文例から選択された置換対象文例に置き換える。例えば,ユーザは,画面で提示された置換候補文例から,置換対象文例を選択する操作を行う。ユーザが選択した置換対象文例は,本実施の形態による文例修正において,編集対象中の文例と置換する対象の文例である。このとき,置換部106は,ユーザが選択した置換対象文例を受け付け,検出された編集対象中の文例を置換対象文例に置き換える。
また,検出された編集対象中の文例が複数ある場合に,置換部106は,提示された編集対象中の文例から選択された削除対象文例を,提示された文例辞書から抽出された文例から選択された置換対象文例に置き換える。例えば,ユーザは,上述の置換対象文例を選択する操作に加えて,画面で提示された削除候補文例から,削除対象文例を選択する操作を行う。ユーザが選択した削除対象文例は,本実施の形態による文例修正において,編集対象から削除される被置換対象の文例である。このとき,置換部106は,ユーザが選択した置換対象文例を受け付けるとともに,ユーザが選択した削除対象文例を受け付け,編集対象中の削除対象文例を置換対象文例に置き換える。
図2は,本実施の形態による入力支援部を備えたコンピュータのハードウェア構成の例を示す図である。
図1に示す入力支援部10は,例えば,コンピュータ1が備えるCPU(Central Processing Unit )2,主記憶となるメモリ3,記憶装置4,通信装置5,媒体読取・書込装置6,入力装置7,出力装置8等によって実現される。記憶装置4は,例えばHDD(Hard Disk Drive )などである。媒体読取・書込装置6は,例えばCD−R(Compact Disc Recordable )ドライブやDVD−R(Digital Versatile Disc Recordable )ドライブなどである。入力装置7は,例えばキーボード・マウスなどである。出力装置8は,例えばディスプレイ等の表示装置などである。
例えば,図1に示す入力支援部10および入力支援部10が備える各機能部は,コンピュータ1が備えるCPU2,メモリ3等のハードウェアと,ソフトウェアプログラムとによって実現することが可能である。コンピュータ1が実行可能なプログラムは,記憶装置4に記憶され,その実行時にメモリ3に読み出され,CPU2により実行される。
コンピュータ1は,可搬型記録媒体から直接プログラムを読み取り,そのプログラムに従った処理を実行することもできる。また,コンピュータ1は,サーバコンピュータからプログラムが転送されるごとに,逐次,受け取ったプログラムに従った処理を実行することもできる。さらに,このプログラムは,コンピュータ1で読み取り可能な記録媒体に記録しておくことができる。
以下,本実施の形態の入力支援部10が提供するユーザの文字入力を支援する機能について,具体的な例を用いて説明する。
図3は,本実施の形態による文例入力の一例を説明する図である。
図3において,文書編集画面200は,作成・編集対象の文書が表示された文書エディタ30の画面である。図3に示す例では,文書エディタ30は電子カルテエディタであり,作成・編集される文書は電子カルテであるものとする。
図3(A)は,ユーザが文書に文字入力を行う際の文書編集画面200の例を示す。図3(A)に示すように,例えば,ユーザが文書中にキーボードで“こまく”と文字列201を入力する。このとき,文例入力処理部12は,文例辞書において,文字列201“こまく”をキーとした文例探索を行う。すなわち,文例入力処理部12は,読みが“こまく”の文字を文頭に含む文例を,文例辞書から抽出する。文例入力処理部12は,抽出された文例を並べた文例リスト202を文書編集画面200に表示する。
ユーザは,抽出された文例を用いる際に,文例リスト202から文書に入力する文例を選択し,確定する。例えば,図3(A)において,文例リスト202中の1つの文例を囲む枠はカーソルを示している。ユーザは,例えば,キーボードのカーソルキーを操作して文書に入力したい文例を選択し,キーボードのEnterキーで確定する。
図3(B)は,図3(A)の文例リスト202において文例“鼓膜:右atrophic”がユーザに選択され,確定された場合の文書編集画面200の例を示す。例えば,ユーザが,図3(A)の文例リスト202で“鼓膜:右atrophic”の文例を選択して確定すると,文例入力処理部12は,図3(B)に示すように,ユーザが入力した“こまく”の文字列201の位置に,文例“鼓膜:右atrophic”を出力する。
このような文例入力において,ユーザが,誤った文例を入力してしまう場合がある。例えば,図3に示す例において,ユーザが入力した文例“鼓膜:右atrophic”は間違いで,文例“鼓膜:右ややatrophic左正常”が正しいものとする。このとき,ユーザは,例えば,間違いの文例“鼓膜:右atrophic”を削除し,再び“こまく”の文字列201を入力して文例リスト202を表示させ,文例リスト202から文例“鼓膜:右ややatrophic左正常”を選択して確定する,といった手順で修正を行う。しかし,このような文例の修正操作は,ユーザにとって手間となる。
以下では,図4〜図9を用いて,文例の修正において,ユーザの操作負担を軽減する,本実施の形態の文例修正部100による処理の一例を説明する。
図4は,本実施の形態の文例修正における文字列の指定を示す図である。
図4に示す例は,図3に示す文例入力の例で入力された“鼓膜:右atrophic”を,別の文例に修正したい場合の例である。ユーザは,文書編集画面200において,編集対象である文書中の,他の文例に変更したい文例中の一部文字列を指定し,本実施の形態による文例修正の機能を利用する旨を示す操作を行う。以下では,文例修正において,編集対象の文書からユーザが指定した文字列を,指定文字列211とも呼ぶ。
例えば,ユーザは,図4に示すように,編集対象の文書が表示された文書編集画面200において,他の文例に修正したい文例“鼓膜:右atrophic”中の一部文字列“鼓膜”を,指定文字列211として範囲指定する。この状態で,ユーザは,本実施の形態による文例修正機能を起動する操作を行う。文例修正機能を起動する操作については,例えば,文例修正機能の起動が割り当てられたファンクションキーの押下や,アイコンの指定などの様々な設計が可能である。
文例修正部100において,抽出部101は,指定文字列211を受け付けると,辞書記憶部11に記憶された文例辞書から,指定文字列211を含む文例を抽出する。
図5は,本実施の形態による文例辞書の例を示す図である。
図5に示す文例辞書110は,辞書記憶部11に記憶される文例辞書110の一例を示す。図5に示す文例辞書110は,キー,文例等の情報を持つ。図5に示す文例辞書110において,キーは,文例入力処理部12による文例の入力で,ユーザが入力した文字列から文例を検索する際に用いる情報である。図5に示す文例辞書110において,文例は,登録された文字列である。
ユーザによる文字入力時に,文例入力処理部12は,ユーザが入力した文字列201の読みが,文例辞書110におけるキーと前方一致する文例を抽出し,文書編集画面200に抽出された文例についての文例リスト202を表示する。
例えば,図3(A)に示すように,ユーザが入力した文字列201が“こまく”である場合に,文例入力処理部12は,文例辞書110から,キーの文頭が“コマク”である文例を抽出する。例えば,図5に示す文例辞書110からキーの文頭が“コマク”である文例を抽出した結果が,図3(A)に示す文例リスト202となる。
なお,図5に示すキーの情報は文例の読みを示しており,文例入力処理部12は,ユーザによる日本語の文字列の入力がカタカナであってもひらがなであっても,またユーザによるアルファベットの入力が大文字であっても小文字であっても,キーと一致するとみなす。
ユーザが文字列を指定して文例修正を指示した場合には,文例修正部100の抽出部101は,指定文字列211を受け付け,辞書記憶部11に記憶された文例辞書110から,指定文字列211を含む文例を抽出する。例えば,図4に示すように,文書編集画面200において,編集対象の文書から“鼓膜”の文字列が指定された場合に,抽出部101は,指定文字列211の“鼓膜”で図5に示す文例辞書110を探索し,“鼓膜”の文字列を含む文例を抽出する。
図6は,本実施の形態による置換候補テーブルの例を示す図である。
図6に示す置換候補テーブル111は,置換候補情報記憶部102に記憶される置換候補文例に関する情報の一例を示す。図6に示す置換候補テーブル111は,文例,文字列長等の情報を持つ。図6に示す置換候補テーブル111において,文例は,抽出部101により文例辞書110から抽出された置換候補文例を示す。図6に示す置換候補テーブル111において,文字列長は,抽出された文例の文字コードのバイト数を示す。
例えば,抽出部101が図5に示す文例辞書110から指定文字列211“鼓膜”を含む文字列を抽出した結果が,図6に示す置換候補テーブル111となる。
検出部103は,編集対象の文書中の指定文字列211を含む位置の文例を検出する。編集対象の文書中の指定文字列211を含む文例は,抽出部101により文例辞書110から抽出された指定文字列211を含む文例のいずれかに一致する。すなわち,検出部103は,置換候補テーブル111に記録された文例と一致する,編集対象の文書中のユーザが指定した位置の指定文字列211を含む文例を,削除候補文例として検出する。なお,検出される削除候補文例は,編集対象の文書中のユーザが指定した位置の指定文字列211を含む文字列と一致する,置換候補テーブル111に記録された文例であるとも言い換えられる。
図7は,本実施の形態による削除候補テーブルの例を示す図である。
図7に示す削除候補テーブル112は,削除候補情報記憶部104に記憶される削除候補文例に関する情報の一例を示す。図7に示す削除候補テーブル112は,番号,文例等の情報を持つ。図7に示す削除候補テーブル112において,番号は,検出部103により検出された削除候補文例に割り当てられた番号である。図7に示す削除候補テーブル112において,文例は,検出部103により検出された削除候補文例を示す。
例えば,検出部103が,図6に示す置換候補テーブル111の文例に基づいて,図4の文書編集画面200に示す編集対象の文書中の指定文字列211“鼓膜”の位置から文例を検出した結果が,図7に示す削除候補テーブル112となる。
提示部105は,置換候補情報記憶部102の置換候補テーブル111に記録された置換候補文例を,ディスプレイ等の表示装置の画面でユーザに提示する。
図8は,本実施の形態による置換候補文例の画面提示の一例を示す図である。
例えば,提示部105は,図8に示すように,図6に示す置換候補テーブル111に記録された置換候補文例の一覧である置換候補文例リスト212を,文書編集画面200上に表示する。ユーザは,置換候補文例リスト212で提示された置換候補文例から,置換対象文例214を選択する。
例えば,図8に示す文書編集画面200の置換候補文例リスト212上で,文例を囲む枠は,カーソルを示している。ユーザは,例えばキーボードのカーソルキーによる操作で,置換候補文例リスト212上のカーソルを動かし,Enterキーで置換対象文例214を決定する。
また,例えば,図7に示す削除候補テーブル112は,レコードが1つである。このとき,提示部105は,図8に示すように,図7に示す削除候補テーブル112に記録された“鼓膜:右atrophic”の文例を削除対象文例213として,編集対象の文書中の該当領域をユーザに示す。
置換部106は,編集対象の文書中の削除対象文例213を,置換候補文例リストから選択された置換対象文例214に置き換える。
図9は,本実施の形態による文例修正後の文書の例を示す図である。
例えば,図8に示す例において,ユーザが,置換候補文例リスト212から“鼓膜:右ややatrophic左正常”の文例を置換対象文例214として選択したものとする。このとき,置換部106は,図8に示す削除対象文例213“鼓膜:右atrophic”を,置換対象文例214“鼓膜:右ややatrophic左正常”に置き換える。すなわち,置換部106は,図8に示す編集対象の文書から,削除対象文例213“鼓膜:右atrophic”を削除し,その削除位置に置換対象文例214“鼓膜:右ややatrophic左正常”を挿入する。文例修正後の文書は,図9に示す通りとなる。
このように,本実施の形態の文例修正部100によって,ユーザは,簡単な操作で,編集対象の文書中の文例を別の文例に修正することが可能となる。これにより,ユーザによる編集対象の文字データを修正する操作において,ユーザの操作負担を軽減することが可能となる。
ここまで説明した例は,編集対象の文書から検出される削除候補文例のパターンが1つである場合の例である。編集対象の文書から検出される削除候補文例のパターンが複数である場合でも,簡単な操作で文例修正を行うことが可能である。以下では,図10〜図16を用いて,編集対象の文書から検出される削除候補文例のパターンが複数である場合の例を説明する。なお,以下の説明では,上述の例と異なる部分を中心に説明を行う。
図10は,本実施の形態の文例修正における文字列の指定を示す図である。
図10に示す例では,文書編集画面200上の編集対象の文書において,ユーザは,文字列“鼓膜”を指定文字列211として範囲指定する。文例修正部100の抽出部101は,指定文字列211を受け付けると,辞書記憶部11に記憶された文例辞書から,指定文字列211を含む文例を抽出する。
図11は,本実施の形態による文例辞書の例を示す図である。
図11に示す文例辞書110は,辞書記憶部11に記憶される文例辞書110の一例を示す。例えば,抽出部101は,図10の文書編集画面200に示すように,編集対象の文書から“鼓膜”の文字列が指定された場合に,指定文字列211の“鼓膜”で図11に示す文例辞書110を探索し,“鼓膜”の文字列を含む文例を抽出する。
図12は,本実施の形態による置換候補テーブルの例を示す図である。
図12に示す置換候補テーブル111は,置換候補情報記憶部102に記憶される置換候補文例に関する情報の一例を示す。例えば,抽出部101が図11に示す文例辞書110から指定文字列211“鼓膜”を含む文字列を抽出した結果が,図12に示す置換候補テーブル111となる。
図13は,本実施の形態による削除候補テーブルの例を示す図である。
図13に示す削除候補テーブル112は,削除候補情報記憶部104に記憶される削除候補文例に関する情報の一例を示す。図13に示す削除候補テーブル112において,検出部103により検出された削除候補文例に割り当てられる番号は,文書編集画面200上で削除候補文例をユーザに提示する際のタブに付けられる番号となる。
例えば,検出部103が,図12に示す置換候補テーブル111の文例に基づいて,図10の文書編集画面200に示す編集対象の文書中の指定文字列211“鼓膜”の位置から文例を検出した結果が,図13に示す削除候補テーブル112となる。
この例では,図13に示すように,図10に示す編集対象の文書中の指定文字列211“鼓膜”の位置から,3パターンの削除候補文例が検出される。検出部103は,検出された削除候補文例を文字列長の値が大きい順に並べ替えて,削除候補テーブル112に記録する。番号は,削除候補テーブル112に記録された順に,すなわち文字列長の値が大きい順に,大きい値が割り当てられている。
提示部105は,置換候補情報記憶部102の置換候補テーブル111に記録された置換候補文例と,削除候補情報記憶部104の削除候補テーブル112に記録された削除候補文例とを,ディスプレイ等の表示装置の画面でユーザに提示する。
図14は,本実施の形態による置換候補文例・削除候補文例の画面提示の一例を示す図である。
例えば,提示部105は,図14に示すように,図12に示す置換候補テーブル111に記録された置換候補文例の一覧である置換候補文例リスト212を,文書編集画面200に表示する。また,提示部105は,図14に示すように,図13に示す削除候補テーブル112に記録された削除候補文例を提示する削除候補文例タブ215を,文書編集画面200に表示する。
図15は,本実施の形態による削除候補文例タブ選択の一例を示す図である。
例えば,図14に示す例において,ユーザが,置換候補文例リスト212から“鼓膜:左atrophic”の文例を置換対象文例214として選択する。置換対象文例214の選択を受けると,提示部105は,文書編集画面200から置換候補文例リスト212を消去する。図14に示す文書編集画面200から置換候補文例リスト212を消去した後の文書編集画面200は,図15に示す通りとなる。
ユーザは,文書編集画面200において,削除候補文例タブ215への操作により,削除候補文例から削除対象文例213を選択する。ユーザは,例えばキーボードのカーソルキーによる操作で,指定するタブの番号を変更する。図15に示す文書編集画面200では,ユーザが指定したタブの番号に相当する削除候補文例の領域が,破線枠で囲まれて明示される。ユーザは,例えばキーボードのEnterキーを押下することで,削除対象文例213を決定する。
例えば,図15に示すように,ユーザが削除候補文例タブ215で3番のタブを選択すると,削除対象文例213は,破線の枠で囲まれた“鼓膜:右atrophicなので注意”となる。
置換部106は,削除候補文例タブ215で選択された削除対象文例213を,置換候補文例リスト212で選択された置換対象文例214に置き換える。
図16は,本実施の形態による文例修正後の文書の例を示す図である。
例えば,置換部106は,編集対象の文書において,削除候補文例タブ215で選択された削除対象文例213“鼓膜:右atrophicなので注意”を,置換候補文例リスト212で選択された置換対象文例214“鼓膜:左atrophic”に置き換える。すなわち,置換部106は,編集対象の文書において,削除対象文例213“鼓膜:右atrophicなので注意”を削除し,その削除位置に置換対象文例214“鼓膜:左atrophic”を挿入する。文例修正後の文書は,図16に示す通りとなる。
このように,編集対象の文書中の指定文字列211の位置に複数の削除候補文例のパターンがある場合でも,ユーザは,簡単な操作で,編集対象の文書中の文例を別の文例に修正することが可能となる。これにより,ユーザによる編集対象の文字データを修正する操作において,ユーザの操作負担を軽減することが可能となる。
ここまで説明した例は,指定文字列211と前方一致する文例のみが,置換候補文例や削除候補文例となる例である。指定文字列211が文頭以外で部分一致する文例も置換候補文例や削除候補文例となる場合でも,簡単な操作で文例修正を行うことが可能である。以下では,図17〜図23を用いて,指定文字列211が文頭以外で部分一致する文例も置換候補文例や削除候補文例となる場合の例を説明する。なお,以下の説明では,上述の例と異なる部分を中心に説明を行う。
図17は,本実施の形態の文例修正における文字列の指定を示す図である。
図17に示す例では,文書エディタ30は,例えばワードプロセッサなどであるものとする。図17に示す文書編集画面200の例では,編集対象の文書において,ユーザは,文字列“CCCCC ”を指定文字列211として範囲指定する。
図18は,本実施の形態による文例辞書の例を示す図である。
図18に示す文例辞書110は,辞書記憶部11に記憶される文例辞書110の一例を示す。例えば,抽出部101は,図17の文書編集画面200に示すように,編集対象の文書から“CCCCC ”の文字列が指定された場合に,指定文字列211“CCCCC ”で図18に示す文例辞書110を探索し,“CCCCC ”の文字列を含む文例を抽出する。
図19は,本実施の形態による置換候補テーブルの例を示す図である。
図19に示す置換候補テーブル111は,置換候補情報記憶部102に記憶される置換候補文例に関する情報の一例を示す。例えば,抽出部101が図18に示す文例辞書110から指定文字列211“CCCCC ”を含む文例を抽出した結果が,図19に示す置換候補テーブル111となる。
ここで,検出部103は,図19に示す置換候補テーブル111の文例に基づいて,図17の文書編集画面200に示す編集対象の文書中の指定文字列211“CCCCC ”の位置から,削除候補文例を検出する。
図20は,本実施の形態による削除候補テーブルの生成を説明する図である。
図20(A)に示す削除候補ワークテーブル113は,削除候補テーブル112を生成する途中の段階で,一時的に使用されるテーブルである。検出部103は,検出された削除候補文例を,削除候補ワークテーブル113に記録する。図19に示す置換候補テーブル111の文例に基づいて,図17の文書編集画面200に示す編集対象の文書中の指定文字列211“CCCCC ”の位置から文例を検出した結果を記録したものが,図20(A)に示す削除候補ワークテーブル113となる。
まず,検出部103は,削除候補ワークテーブル113から,文頭の文字列が指定文字列211“CCCCC ”と一致する文例を抽出し,抽出された文例を文字列長が長い順にソートする。図20(B)は,図20(A)に示す削除候補ワークテーブル113から,文頭の文字列が指定文字列211“CCCCC ”と一致する文例を抽出し,文字列長が長い順にソートした結果である。検出部103は,図20(B)に示す結果を削除候補テーブル112に記録する。
次に,検出部103は,削除候補ワークテーブル113から,文頭以外の部分で文字列が指定文字列211“CCCCC ”と一致する文例を抽出し,抽出された文例を文字列長が短い順にソートする。図20(C)は,図20(A)に示す削除候補ワークテーブル113から,文頭以外の部分で文字列が指定文字列211“CCCCC ”と一致する文例を抽出し,文字列長が短い順にソートした結果である。検出部103は,図20(C)に示す結果を削除候補テーブル112に追加記録する。
図21は,本実施の形態による削除候補テーブルの例を示す図である。
図21に示す削除候補テーブル112は,削除候補情報記憶部104に記憶される削除候補文例に関する情報の一例を示す。図21に示す削除候補テーブル112は,まず図20(B)に示すソート結果の文例が記録され,次いで図20(C)に示すソート結果の文例が記録されることで生成された削除候補テーブル112である。
図21に示す削除候補テーブル112において,番号は,先に記録された文例のレコードから順に,大きな値が割り当てられている。すなわち,図21に示す削除候補テーブル112では,文頭の文字列が指定文字列211と一致する,文字列長が長い文例から順に大きな番号が割り当てられ,続いて,文頭以外の部分で文字列が指定文字列211と一致する,文字列長が短い文例から順に大きな番号が割り当てられている。
図19に示す置換候補テーブル111の文例に基づいて,図17の文書編集画面200に示す編集対象の文書中の指定文字列211“CCCCC ”の位置から文例を検出し,所定の順序でソートした最終結果が,図21に示す削除候補テーブル112となる。
図22は,本実施の形態による置換候補文例・削除候補文例の画面提示の一例を示す図である。
例えば,提示部105は,図22に示すように,図19に示す置換候補テーブル111に記録された置換候補文例の一覧である置換候補文例リスト212を,文書編集画面200に表示する。また,提示部105は,図22に示すように,図21に示す削除候補テーブル112に記録された削除候補文例を提示する削除候補文例タブ215を,文書編集画面200に表示する。
例えば,図22に示す例において,ユーザは,置換候補文例リスト212から“CCCCCDDDDDEEEEE ”の文例を置換対象文例214として選択する。また,図22に示す例において,ユーザは,削除候補文例タブ215における番号1のタブの指定で,“AAAAABBBBBCCCCCDDDDDEEEEE ”の文例を削除対象文例213として選択する。
図23は,本実施の形態による文例修正後の文書の例を示す図である。
例えば,置換部106は,編集対象の文書において,削除候補文例タブ215で選択された削除対象文例213“AAAAABBBBBCCCCCDDDDDEEEEE ”を,置換候補文例リスト212で選択された置換対象文例214“CCCCCDDDDDEEEEE ”に置き換える。すなわち,置換部106は,編集対象の文書において,削除対象文例213“AAAAABBBBBCCCCCDDDDDEEEEE ”を削除し,その削除位置に置換対象文例214“CCCCCDDDDDEEEEE ”を挿入する。文例修正後の文書は,図23に示す通りとなる。
このように,指定文字列211が文頭以外で部分一致する文例も置換候補文例や削除候補文例となる場合でも,ユーザは,簡単な操作で,編集対象の文書中の文例を別の文例に修正することが可能となる。これにより,ユーザによる編集対象の文字データを修正する操作において,ユーザの操作負担を軽減することが可能となる。
ここまで,キーボードのカーソルキーやEnterキーなどで,文例の選択や確定を行う例を説明したが,マウスなどのポインティングデバイスで,文例の選択や確定を行うことも可能である。
図24は,本実施の形態による文例修正において削除対象文例をマウス操作で選択する例を説明する図である。
削除候補文例タブ215に対するマウス操作で削除対象文例を選択する際に,ユーザは,例えば,文書編集画面200で選択したい削除候補文例を示す番号のタブ上にマウスポインタ216を重ねて,マウスをクリックするなどの操作で選択を確定させる。
図24に示す例において,マウスポインタ216が(1)に示すような削除候補文例タブ215の位置にあるときに,ユーザにより確定操作が行われたものとする。このとき,置換部106は,例えば,指定されたタブの番号に応じた削除候補文例が削除対象文例213として選択されたと判断する。図24に示す例では,置換部106は,番号4に対応する削除候補文例が,削除対象文例213として選択されたと判断する。
図24に示す例において,マウスポインタ216が(2)に示すような文字の位置にあるときに,ユーザにより確定操作が行われたものとする。このとき,置換部106は,例えば,指示文字列211からマウスポインタの位置の文字までの文字列を含む最も短い削除候補文例が削除対象文例213として選択されたと判断する。図24に示す例では,置換部106は,番号4に対応する削除候補文例が,削除対象文例213として選択されたと判断する。
図24に示す例において,マウスポインタ216が(3)に示すような削除候補文例よりも前の位置にあるときに,ユーザにより確定操作が行われたものとする。このとき,置換部106は,例えば,編集対象の文書中で最も前の位置にあるタブの番号に応じた削除候補文例が削除対象文例213として選択されたと判断する。図24に示す例では,置換部106は,番号1に対応する削除候補文例が,削除対象文例213として選択されたと判断する。
図24に示す例において,マウスポインタ216が(4)に示すような削除候補文例よりも後ろの位置にあるときに,ユーザにより確定操作が行われたものとする。このとき,置換部106は,例えば,編集対象の文書中で最も後ろの位置にあるタブの番号に応じた削除候補文例が削除対象文例213として選択されたと判断する。図24に示す例では,置換部106は,番号4に対応する削除候補文例が,削除対象文例213として選択されたと判断する。
図24に示す例において,マウスポインタ216が(5)に示すような文書編集画面200の外の位置にあるときに,ユーザにより確定操作が行われたものとする。このとき,置換部106は,例えば,編集対象の文書中で最も後ろの位置にあるタブの番号に応じた削除候補文例が削除対象文例213として選択されたと判断する。図24に示す例では,置換部106は,番号4に対応する削除候補文例が,削除対象文例213として選択されたと判断する。
このようなマウスポインタの位置に応じた削除対象文例の選択など,マウス操作に応じた処理に関する設計は,任意である。
以下,本実施の形態の文例修正部100による処理の流れについて,図25〜図29に示すフローチャートを用いて説明する。
図25は,本実施の形態の文例修正部による文例修正処理フローチャートである。
文書エディタ30の文書編集画面200で,ユーザが,編集対象の文書で文字列を指定して文例修正を指示する操作を行うと,文例修正部100の抽出部101は,指定文字列211を受け付ける(ステップS10)。
抽出部101は,置換文例抽出処理を行う(ステップS11)。置換文例抽出処理の詳細については,後述する。提示部105は,置換文例抽出処理の結果である置換候補テーブル111に,置換候補文例があるかを判定する(ステップS12)。
置換候補文例がなければ(ステップS12のNO),文例修正部100は,処理を終了する。このとき,文例修正部100が,文例辞書110に指定文字列211を含む文例が登録されていない旨を,画面でユーザに通知するようにしてもよい。
置換候補文例があれば(ステップS12のYES),提示部105は,文書編集画面200に置換候補文例リスト212を表示する(ステップS13)。文例辞書110から抽出された指定文字列211を含む置換候補文例が,ユーザに提示される。
検出部103は,削除文例検出処理を行う(ステップS14)。削除文例検出処理の詳細については,後述する。提示部105は,削除文例検出処理の結果である削除候補テーブル112に,削除候補文例があるかを判定する(ステップS15)。
削除候補文例があれば(ステップS15のYES),提示部105は,削除候補文例提示処理を行う(ステップS16)。削除候補文例提示処理の詳細については,後述する。
置換部106は,文例置換処理を行う(ステップS17)。文例置換処理の詳細については,後述する。
図26は,本実施の形態の抽出部による置換文例抽出処理フローチャートである。
抽出部101は,辞書記憶部11に記憶された文例辞書110のレコードを1つ取得する(ステップS20)。抽出部101は,文例辞書110から取得されたレコードの文例に,指定文字列211が含まれているかを判定する(ステップS21)。
文例に指定文字列211が含まれていれば(ステップS21のYES),抽出部101は,文例辞書110から取得されたレコードの文例を,置換候補情報記憶部102に記憶された置換候補テーブル111に追加記録する(ステップS22)。ここでは,置換文例抽出処理の開始前に,置換候補テーブル111がクリアされているものとする。
抽出部101は,文例辞書110のすべてのレコードについて処理が終了したかを判定する(ステップS23)。すべてのレコードについて処理が終了していなければ(ステップS23のNO),抽出部101は,ステップS20の処理に戻って,文例辞書110の次のレコードについての処理に移る。
図27は,本実施の形態の検出部による削除文例検出処理フローチャートである。
検出部103は,置換候補情報記憶部102に記憶された置換候補テーブル111のレコードを1つ取得する(ステップS30)。検出部103は,置換候補テーブル111から取得されたレコードの文例が,編集対象の文書中のユーザに指定された位置の指定文字列211を含む文字列と一致するかを判定する(ステップS31)。
文例が文書中の指定文字列211を含む文字列と一致していれば(ステップS31のYES),検出部103は,置換候補テーブル111から取得されたレコードの文例を,削除候補ワークテーブル113に追加記録する(ステップS32)。ここでは,削除文例検出処理の開始前に,削除候補ワークテーブル113がクリアされているものとする。
検出部103は,置換候補テーブル111のすべてのレコードについて処理が終了したかを判定する(ステップS33)。すべてのレコードについて処理が終了していなければ(ステップS33のNO),検出部103は,ステップS30の処理に戻って,置換候補テーブル111の次のレコードについての処理に移る。
すべてのレコードについて処理が終了していれば(ステップS33のYES),検出部103は,削除候補ワークテーブル113のレコードを所定のルールでソートして,削除候補情報記憶部104に記憶された削除候補テーブル112に記録する(ステップS34)。ここでは,削除文例抽出処理の開始前に,削除候補テーブル112がクリアされているものとする。
図28は,本実施の形態の提示部による削除候補文例提示処理フローチャートである。
提示部105は,削除候補情報記憶部104に記憶された削除候補テーブル112に,削除候補文例が複数あるかを判定する(ステップS40)。
削除候補文例が複数なければ(ステップS40のNO),すなわち削除候補テーブル112に削除候補文例が1つしかなければ,提示部105は,その削除候補文例を削除対象文例213とする(ステップS41)。提示部105は,文書編集画面200において,削除対象文例213に一致する文書中の文例の領域をユーザに提示する(ステップS42)。
削除候補文例が複数あれば(ステップS40のYES),提示部105は,削除候補テーブル112のレコードを1つ取得する(ステップS43)。提示部105は,文書編集画面200において,削除候補テーブル112から取得されたレコードの削除候補文例に相当する文書中の文例の位置に,タブを表示する(ステップS44)。表示されるタブには,削除候補テーブル112から取得されたレコードの番号が付される。
提示部105は,削除候補テーブル112のすべてのレコードについて処理が終了したかを判定する(ステップS45)。すべてのレコードについて処理が終了していなければ(ステップS45のNO),提示部105は,ステップS43の処理に戻って,文例辞書削除候補テーブル112の次のレコードについての処理に移る。
図29は,本実施の形態の置換部による文例置換処理フローチャートである。
文書エディタ30の文書編集画面200で,ユーザが置換候補文例リスト212から置換対象文例214を選択する操作を行うと,置換部106は,選択された置換対象文例214を受け付ける(ステップS50)。ここで,提示部105は,文書編集画面200から,置換候補文例リスト212を消去する(ステップS51)。
置換部106は,削除候補情報記憶部104に記憶された削除候補テーブル112に,削除候補文例があるかを判定する(ステップS52)。
削除候補文例がなければ(ステップS52のNO),置換部106は,編集対象の文書中の指定文字列211を,置換対象文例214に置き換える(ステップS53)。この例では,編集対象の文書中のユーザに指定された位置に指定文字列211を含む文例がない場合に,文書中の指定文字列211を置換対象文例214に置換している。
削除候補文例があれば(ステップS52のYES),置換部106は,削除候補テーブル112に削除候補文例が複数あるかを判定する(ステップS54)。削除候補文例が複数ある場合に(ステップS54のYES),ユーザが削除候補文例タブ215で削除対象文例213を選択する操作を行うと,置換部106は,選択された削除対象文例213を受け付ける(ステップS55)。ここで,提示部105は,文書編集画面200から,削除候補文例タブ215を消去する(ステップS56)。
置換部106は,編集対象の文書中の削除対象文例213を,置換対象文例214に置き換える(ステップS57)。
以上,本実施の形態について説明したが,本発明はその主旨の範囲において種々の変形が可能であることは当然である。
例えば,本実施の形態では,文書中の文字データを編集対象としているが,他の文字データを編集対象としてもよい。例えば,ファイル名,フォルダ名,文書やインターネットなどの検索で入力される検索キーワード等の文字データが,編集対象であってもよい。
以上の本実施の形態に関し,さらに以下の付記を開示する。
(付記1)
コンピュータに,
編集対象である文章の中における,文字列の指定を受け付け,
記憶部に記憶される複数の文例が登録された文例辞書から,前記文字列を含む複数の文例を抽出し,
前記文章における指定された前記文字列の位置から始まる第1の文例を,前記文例辞書から抽出された前記複数の文例の中から検出し,
前記複数の文例の少なくとも一部を前記文章が表示される画面に出力し,
出力された前記複数の文例の少なくとも一部のうち,第2の文例の選択を受け付け,
検出された前記第1の文例を,前記第2の文例に置き換える
処理を実行させるための入力支援プログラム。
(付記2)
前記コンピュータに,さらに,
検出された前記第1の文例を画面に提示し,
提示された前記第1の文例からの文例の選択を受け付ける処理を実行させ,
前記第2の文例に置き換える処理では,前記第1の文例から選択された文例を前記第2の文例に置き換える
ことを特徴とする付記1に記載の入力支援プログラム。
(付記3)
複数の文例が登録された文例辞書を記憶する辞書記憶部と,
編集対象である文章の中から指定された文字列を含む複数の文例を,前記文例辞書から抽出する抽出部と,
前記文章における指定された前記文字列の位置から始まる第1の文例を,前記文例辞書から抽出された前記複数の文例の中から検出する検出部と,
前記複数の文例の少なくとも一部を前記文章が表示される画面に出力する提示部と,
検出された前記第1の文例を,出力された前記複数の文例の少なくとも一部のうちから選択された第2の文例に置き換える置換部とを備える
ことを特徴とする入力支援装置。
(付記4)
前記提示部は,さらに,検出された前記第1の文例を画面に提示し,
前記置換部は,提示された前記第1の文例から選択された文例を前記第2の文例に置き換える
ことを特徴とする付記3に記載の入力支援装置。
(付記5)
コンピュータが,
編集対象である文章の中における,文字列の指定を受け付け,
記憶部に記憶される複数の文例が登録された文例辞書から,前記文字列を含む複数の文例を抽出し,
前記文章における指定された前記文字列の位置から始まる第1の文例を,前記文例辞書から抽出された前記複数の文例の中から検出し,
前記複数の文例の少なくとも一部を前記文章が表示される画面に出力し,
出力された前記複数の文例の少なくとも一部のうち,第2の文例の選択を受け付け,
検出された前記第1の文例を,前記第2の文例に置き換える過程を実行する
ことを特徴とする入力支援方法。
(付記6)
前記コンピュータが,さらに,
検出された前記第1の文例を画面に提示し,
提示された前記第1の文例からの文例の選択を受け付ける過程を実行し,
前記第2の文例に置き換える過程では,前記第1の文例から選択された文例を前記第2の文例に置き換える
ことを特徴とする付記5に記載の入力支援方法。