(57)【要約】【課題】予測文字列と一致文字列とを選択可能性と関連する順序で表示する文書作成装置を提供すること。【解決手段】文書作成装置は、入力文字列を取得する手段と、入力文字列に基づいて複数の予測文字列と該複数の予測文字列にそれぞれ対応する複数の優先度を示す値とを取得する手段と、複数の予測文字列のうち先頭から少なくとも一つの文字が一致する複数の予測文字列に基づいて、一致する文字からなる文字列を生成する手段と、一致する複数の予測文字列にそれぞれ対応する複数の優先度を示す値に基づいて、一致する文字からなる文字列の優先度を示す値を算出する手段と、複数の予測文字列と一致する文字からなる文字列とのうち少なくとも一部をそれぞれの優先度を示す値に応じた順で選択肢として表示するよう表示手段を制御する手段と、を含む。【選択図】図２
2011028426.tif 000002
【特許請求の範囲】
【請求項１】
入力文字列を取得する入力文字列取得手段と、
前記入力文字列に基づいて複数の予測文字列と該複数の予測文字列にそれぞれ対応する複数の優先度を示す値とを取得する予測文字列取得手段と、
前記複数の予測文字列のうち先頭から少なくとも一つの文字が一致する複数の前記予測文字列に基づいて、前記一致する文字からなる文字列を生成する一致文字列生成手段と、
前記一致する複数の予測文字列にそれぞれ対応する複数の前記優先度を示す値に基づいて、前記一致する文字からなる文字列の優先度を示す値を算出する優先度算出手段と、
前記複数の予測文字列と前記一致する文字からなる文字列とのうち少なくとも一部を、それぞれの前記優先度を示す値に応じた順で選択肢として表示するよう表示手段を制御する表示制御手段と、
を含むことを特徴とする文書作成装置。
【請求項２】
前記予測文字列取得手段は、格納手段に格納された複数の文字列であって前記入力文字列を含む複数の文字列に基づいて複数の前記予測文字列と該複数の予測文字列にそれぞれ対応する複数の前記優先度を示す値とを取得する、
ことを特徴とする請求項１に記載の文書作成装置。
【請求項３】
入力文字列を取得する入力文字列取得手段、
前記入力文字列に基づいて複数の予測文字列と該複数の予測文字列にそれぞれ対応する複数の優先度を示す値とを取得する予測文字列取得手段、
前記複数の予測文字列のうち先頭から少なくとも一つの文字が一致する複数の前記予測文字列に基づいて、前記一致する文字からなる文字列を生成する一致文字列生成手段、
前記一致する複数の予測文字列にそれぞれ対応する複数の前記優先度を示す値に基づいて、前記一致する文字からなる文字列の優先度を示す値を算出する優先度算出手段、および、
前記複数の予測文字列と前記一致する文字からなる文字列とのうち少なくとも一部を、それぞれの前記優先度を示す値に応じた順で選択肢として表示するよう表示手段を制御する表示制御手段、
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は文書作成装置及びプログラムに関する。
【背景技術】
【０００２】
近年、例えば文書編集や仮名漢字変換などを行う機能を有する文書作成装置において、入力された文字の次に入力される内容を予測してその入力された文字に応じた文字列（予測文字列）を提示する入力予測機能を有するものが増えてきている。さらにその発展として、特許文献１には複数の予測文字列の間で一致する文字列からなる一致文字列を生成し、その一致文字列を提示する文書作成装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−５７１３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の文書作成装置は、予測文字列と一致文字列とをそれぞれの選択の可能性と関連しない順序で表示していた。
【０００５】
本発明は上記課題に鑑みてなされたものであって、その目的は、複数の予測文字列と一致文字列とを選択の可能性に応じた順序で表示することを可能にする文書作成装置を提供することにある。
【課題を解決するための手段】
【０００６】
請求項１に記載の発明は文書作成装置であって、入力文字列を取得する入力文字列取得手段と、前記入力文字列に基づいて複数の予測文字列と該複数の予測文字列にそれぞれ対応する複数の優先度を示す値とを取得する予測文字列取得手段と、前記複数の予測文字列のうち先頭から少なくとも一つの文字が一致する複数の前記予測文字列に基づいて、前記一致する文字からなる文字列を生成する一致文字列生成手段と、前記一致する複数の予測文字列にそれぞれ対応する複数の前記優先度を示す値に基づいて、前記一致する文字からなる文字列の優先度を示す値を算出する優先度算出手段と、前記複数の予測文字列と前記一致する文字からなる文字列とのうち少なくとも一部を、それぞれの前記優先度を示す値に応じた順で選択肢として表示するよう表示手段を制御する表示制御手段と、を含むことを特徴とする。
【０００７】
請求項２に記載の発明は請求項１の発明において、前記予測文字列取得手段は、格納手段に格納された複数の文字列であって前記入力文字列を含む複数の文字列に基づいて複数の前記予測文字列と該複数の予測文字列にそれぞれ対応する複数の前記優先度を示す値とを取得する、ことを特徴とする。
【０００８】
請求項３に記載の発明は、入力文字列を取得する入力文字列取得手段、前記入力文字列に基づいて複数の予測文字列と該複数の予測文字列にそれぞれ対応する複数の優先度を示す値とを取得する予測文字列取得手段、前記複数の予測文字列のうち先頭から少なくとも一つの文字が一致する複数の前記予測文字列に基づいて、前記一致する文字からなる文字列を生成する一致文字列生成手段、前記一致する複数の予測文字列にそれぞれ対応する複数の前記優先度を示す値に基づいて、前記一致する文字からなる文字列の優先度を示す値を算出する優先度算出手段、および、前記複数の予測文字列と前記一致する文字からなる文字列とのうち少なくとも一部を、それぞれの前記優先度を示す値に応じた順で選択肢として表示するよう表示手段を制御する表示制御手段、としてコンピュータを機能させるためのプログラムである。
【発明の効果】
【０００９】
請求項１，３に記載の発明によれば、入力文字列に応じて複数の予測文字列と一致する文字からなる文字列とを選択の可能性と関連する順序で表示させることができる。
【００１０】
請求項２に記載の発明によれば、入力文字列と予測文字列とを格納しない場合でも入力文字列に応じて予測文字列と一致文字列とを表示させることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係る文書作成装置の構成の一例を示す図である。
【図２】本発明の実施形態に係る文書作成装置が実現する機能を示す機能ブロック図である。
【図３】文字列格納部に格納される内容の一例を示す図である。
【図４】予測文字列取得部が取得する内容の一例を示す図である。
【図５】予測文字列加工部の処理フローを示す図である。
【図６】予測文字列をソートした結果の一例を示す図である。
【図７】一致文字列の一例を示す図である。
【図８】表示される選択肢の一例を示す図である。
【図９】選択肢の選択後に表示される選択肢の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について図面に基づき詳細に説明する。図１は、本発明の実施形態に係る文書作成装置１の構成の一例を示す図である。同図に示すように、文書作成装置１は、ＣＰＵ１１と、記憶部１２と、通信部１３と、入出力部１４とを含んでいる。文書作成装置１は例えばパーソナルコンピュータや携帯電話などによって構成されている。
【００１３】
ＣＰＵ１１は、記憶部１２に格納されているプログラムに従って動作する。なお、上記プログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の情報記録媒体に格納されて提供されるものであってもよいし、インターネット等のネットワークを介して提供されるものであってもよい。
【００１４】
記憶部１２は、ＲＡＭやＲＯＭ等のメモリ素子およびハードディスクドライブ等によって構成されている。記憶部１２は、上記プログラムを格納する。また、記憶部１２は、各部から入力される情報や演算結果を格納する。
【００１５】
通信部１３は、他の装置と通信接続するための通信手段等で構成されている。通信部１３は、ＣＰＵ１１の制御に基づいて、他の装置から受信した情報をＣＰＵ１１や記憶部１２に入力し、他の装置に情報を送信する。
【００１６】
入出力部１４は、表示装置等の表示出力手段や、キーボード、マウス等の入力手段などを制御する手段によって構成されている。入出力部１４は、ＣＰＵ１１の制御に基づいて、画像データ等を表示装置等に対して出力し、キーボードやマウスより操作者からの情報を取得する。
【００１７】
図２は、本発明の実施形態に係る文書作成装置１が実現する機能を示す機能ブロック図である。文書作成装置１は文書編集部５０と、入力文字列取得部５１と、文字列格納部５２と、予測文字列取得部５３と、予測文字列加工部５４と、文字列表示制御部５７と、選択文字列出力部５８と、を含む。ここで予測文字列加工部５４は、機能的に一致文字列生成部５５と優先度算出部５６とを含む。これらの機能はＣＰＵ１１が記憶部１２に格納されたプログラムを実行し、通信部１３および入出力部１４を制御することによって実現される。
【００１８】
文書編集部５０は、ＣＰＵ１１、記憶部１２、入出力部１４を中心として構成される。文書編集部５０は、入出力部１４を介して取得するキーボードの操作情報や、選択文字列出力部５８から受け取る文字列情報などに基づいて、文書を編集する。文書編集部５０での文書の編集処理方法は、例えば一般的な文書作成プログラムやテキストエディタ等で行われる処理方法であってよい。
【００１９】
入力文字列取得部５１は、ＣＰＵ１１、記憶部１２、および入出力部１４を中心として実現される。入力文字列取得部５１は、ＣＰＵ１１の制御に基づいてキーボード等から入出力部１４を介して取得した情報に基づいて入力文字列を取得する。入力文字列としては、これまでにキーボード等を介して直接的に入力された文字列には限られず、仮名漢字変換等の処理を介して入力された文字列や、後述する選択文字列出力部５８から文書編集部５０に出力された文字列を含んでもよい。本実施形態では、編集されている文書中でこの処理を行う時点のカーソル位置より前方にあり、かつ区切り文字より後方の文字列を入力文字列として取得する。区切り文字としては例えば句読点や改行などがある。区切り文字の後ろからカーソル位置までの文字列とカーソル位置から前方に向かって予め定められた文字数の文字からなる文字列とのうち短い方を入力文字列として取得するようにしてもよい。なお、入力文字列取得部５１は通信部１３を介して他の装置から入力文字列を取得してもよい。
【００２０】
文字列格納部５２は、記憶部１２を中心として実現される。文字列格納部５２は複数の文字列と、それぞれその文字列に対応する優先度を示す値とを格納する。図３は文字列格納部５２に格納される内容の一例を示す図である。文字列格納部５２には文字列と、そのそれぞれの文字列の優先度を示す値との組が複数記憶されている。文字列格納部５２に格納される文字列は、処理時点より前に書かれ記憶部１２等に蓄積された文書から抽出された頻出するフレーズである。ここで、フレーズは文書を特定の区切り文字で分割したものである。区切り文字としては、例えば句点、読点がある。本実施形態では優先度を示す値としてスコアを用いている。例えばスコアとして、蓄積された文書におけるフレーズの出現頻度を示す値を用いてよい。
【００２１】
予測文字列取得部５３は、ＣＰＵ１１および記憶部１２を中心として実現される。予測文字列取得部５３は、入力文字列に基づいて、複数の予測文字列とその複数の予測文字列にそれぞれ対応する複数の優先度を示す値とを取得する。予測文字列取得部５３は、文字列格納部５２に格納された複数の文字列のうち入力文字列に対応するものをそのままもしくは加工して予測文字列を取得する。例えば予測文字列取得部５３は、入力文字列に対応する文字列として、文字列格納部５２に格納された入力文字列を含む複数の文字列を用いてよい。この場合には、文字列格納部５２に格納された複数の文字列から入力文字列に部分一致する検索条件で文字列を検索し、その検索条件を満たす文字列において検索キーの文字列より後ろの文字列を予測文字列として取得する。この方法を用いると、例えば「ボ」、「ボタ」、「ボタン」などの入力文字列の内容のそれぞれに対応させて予測文字列を格納しなくても、フレーズと優先度を示す値とを格納すれば文字列格納部５２から入力文字列に対応する予測文字列が取得される。
【００２２】
図４は、予測文字列取得部５３が取得する内容の一例を示す図である。本図では、図３に示す文字列およびスコアが文字列格納部５２に格納されており、入力文字列として「ボタンを押すと」が与えられた場合に、予測文字列取得部５３が取得する複数の予測文字列およびそれぞれの予測文字列のスコアを示す。本図では見やすくするためにスコアの高い予測文字列から順に表示している。ここでは検索条件にあう全ての文字列から予測文字列を取得しているが、スコアの高い順に予め定められた数の文字列から予測文字列を取得するなどして、取得する予測文字列の数を制限してもよい。予測文字列が取得される文字列の数は、例えばユーザに選択肢として表示させる選択肢の数と同じとするとよい。
【００２３】
文字列格納部５２に格納された文字列のうち、「ボタンを押すと」を含む１２の文字列が取得され、入力文字列である「ボタンを押すと」の次の文字以降の文字列が予測文字列として取得されている。本図の例は検索条件として部分一致を用いている場合であるので、先頭が「ボタンを押すと」以外で始まる文字列である「入力内容が正しい場合にボタンを押すと次の画面を表示する。」についても検索条件を満たす文字列として取得され、入力文字列である「ボタンを押すと」より後ろの文字列である「次の画面を表示する。」が予測文字列として取得される。
【００２４】
なお、入力文字列に先頭一致する検索条件で文字列格納部５２から文字列を検索してもよい。先頭一致を用いると部分一致を用いるより高速に検索されるが、検索結果の文字列の数は少なくなる。また、文字列格納部５２に格納されたスコアを予測文字列のスコアとして取得する代わりに、文脈などから選択される可能性を動的に評価し、その評価に基づいてスコアを取得してもよい。また、文字列格納部５２に文字列の読みも格納するようにし、入力文字列を読みとする文字列から予測文字列を取得するようにしてもよい。また予測文字列取得部５３は、例えば「ボタンを押すとウインドウを閉じる。」などのように入力文字列と予測文字列とを連結させた状態で予測文字列を取得してもよい。
【００２５】
予測文字列加工部５４は、ＣＰＵ１１および記憶部１２を中心として実現される。予測文字列加工部５４は、前述したように機能的に一致文字列生成部５５と優先度算出部５６とを含む。一致文字列生成部５５は複数の予測文字列のうち先頭から少なくとも一つの文字が一致する複数の予測文字列に基づいて、その一致する文字からなる文字列を生成する。優先度算出部５６はその少なくとも一つの文字が一致する複数の予測文字列にそれぞれ対応する複数の優先度を示す値に基づいて、一致する文字からなる文字列（一致文字列）の優先度を示す値を算出する。以下では予測文字列加工部５４の処理について処理フローを用いて説明する。
【００２６】
図５は、予測文字列加工部５４の処理フローを示す図である。はじめに一致文字列生成部５５は取得された予測文字列を文字の昇順もしくは降順でソートする（ステップＳ１０１）。図６は、予測文字列をソートした結果の一例を示す図である。図６には、ソートした順番で並べられた予測文字列と、その予測文字列のスコアとを示している。ソートすることにより、先頭から一致する文字列を有する複数の予測文字列は連続する順番で配置される。以下ではこの配置を利用して一致文字列を生成する。
【００２７】
次に一致文字列生成部５５はソートされた予測文字列のうちから１番目の予測文字列を変数Ｓに格納し、その予測文字列のスコアを変数ｐに格納する（ステップＳ１０２）。変数Ｓおよび変数ｐは記憶部１２に格納される。次に一致文字列生成部５５はソートされた複数の予測文字列のうちから次の予測文字列を取得する（ステップＳ１０３）。一致文字列生成部５５は、ステップＳ１０３で取得された予測文字列と変数Ｓに格納された文字列とを先頭の文字から比較し、一致する文字が少なくとも１つ以上あれば（ステップＳ１０４のＹ）、一致する文字からなる文字列（一致文字列）を変数Ｓに格納する（ステップＳ１０５）。さらに優先度算出部５６は、ステップＳ１０３で取得された予測文字列のスコアと変数ｐの値とを合算したスコアを優先度を示す値として算出し、変数ｐに格納する（ステップＳ１０６）。一致文字列生成部５５は、予測文字列と変数Ｓに格納された文字列とで一致する文字列がなければ（ステップＳ１０４のＮ）、変数Ｓに格納された文字列と変数ｐに格納された値との組を配列に追加する（ステップＳ１０７）。一方、一致文字列生成部５５は、ステップＳ１０３で取得した予測文字列を変数Ｓに、その予測文字列の優先度を示す値を変数ｐに格納する（ステップＳ１０８）。ステップＳ１０６もしくはステップＳ１０８の処理の後、ソートされた複数の予測文字列のうちから次の予測文字列の取得が可能であれば（ステップＳ１０９のＹ）、ステップＳ１０３から処理を繰り返す。ソートされた複数の予測文字列のうちから次の予測文字列の取得ができない場合は（ステップＳ１０９のＮ）、変数Ｓに格納された文字列と変数ｐに格納された値との組を配列に追加する（ステップＳ１１０）。
【００２８】
これらの処理により、一致文字列が生成され配列に格納される。また、配列には一致文字列とその優先度を示す値との組と、他の予測文字列と先頭一致しない予測文字列とその優先度を示す値との組とが格納される。ステップＳ１０２からの処理の具体例について図６に示すソートされた予測文字列を用いて説明する。まずステップＳ１０２で予測文字列「ウインドウを閉じる。」が変数Ｓに格納され、そのスコアである５１２が変数ｐに格納される。ステップＳ１０３でその次の予測文字列である「ウインドウをポップアップ表示する。」を取得する。ステップＳ１０４で、変数Ｓに格納された文字列と取得された予測文字列とでは先頭から６つの文字からなる文字列である「ウインドウを」が一致するので、ステップＳ１０５に移る。ステップＳ１０５で変数Ｓに「ウインドウを」を格納し、ステップＳ１０６で変数ｐの値である５１２にステップＳ１０３で取得した予測文字列のスコアである１５３を加算した値である６６５を変数ｐに格納する。そしてその次の順番の予測文字列が存在する（ステップＳ１０９のＹ）ので、ステップＳ１０３に戻り次の予測文字列である「サーバとの通信を行う。」を取得する。変数Ｓに格納された文字列「ウインドウを」とは先頭からみて一致する文字がないので（ステップＳ１０４のＮ）、変数Ｓに格納された文字列と変数ｐに格納された値との組を配列に追加し（ステップＳ１０７）、変数Ｓには予測文字列である「サーバとの通信を行う。」を、変数ｐにはそのスコアである２９を格納する（ステップＳ１０８）。これらの処理を繰り返し、最後の予測文字列についてステップＳ１０９で次の予測文字列がないと判断された後にステップＳ１１０で変数Ｓに格納された文字列「必須項目に入力されているか確認する。」と変数ｐに格納された値である７５との組を配列に追加して処理が終了する。
【００２９】
図７は、一致文字列の一例を示す図である。本図は図６に示す予測文字列に対し上述の処理を行った結果の文字列とスコアとの組の配列の内容を示している。予測文字列では最もスコアの高い「ウインドウを閉じる。」を元にした一致文字列「ウインドウを」より、類似の文字列が多い一致文字列である「入力内容」の方がスコアが高くなっている。また予測文字列のスコアと一致文字列とのスコアの比較も可能になっている。なお、入力文字列である「ボタンを押すと」の後に一致文字列や予測文字列が連結された状態で配列に格納されていてもよい。
【００３０】
文字列表示制御部５７は、ＣＰＵ１１、記憶部１２、および入出力部１４を中心として実現されている。文字列表示制御部５７は、複数の予測文字列と、一致する文字からなる文字列とのうち少なくとも一部を、それぞれの優先度を示す値に応じた順で選択肢として表示するよう表示装置を制御する。ここで、表示装置は文書作成装置１に接続されるディスプレイ装置などである。より具体的には文字列表示制御部５７は、スコアの値が高い順に予測文字列もしくは一致文字列のうち、予め定められた数の選択肢を表示するよう制御する。なお表示する選択肢の数を予め定めなくても、表示する選択肢の総文字数を予め決めておき、その中に収まるように選択肢の数を調整してもよい。
【００３１】
図８は、表示される選択肢の一例を示す図である。入力文字列として「ボタンを押すと」が入力された場合に、図７に示す文字列のうち、対応するスコアが高いものから「入力内容」、「ウインドウを」、「次の画面を表示する。」および「必須項目に入力されているか確認する。」の順で選択肢が表示される。なお表示装置は、他のコンピュータに接続されていてもよい。文書作成装置１から通信部１３を介してそのコンピュータに例えばＨＴＭＬなどの表示対象を示す情報を送信すれば上述と同様の画面が表示されるからである。
【００３２】
選択文字列出力部５８は、ＣＰＵ１１、記憶部１２、および入出力部１４を中心として実現されている。選択文字列出力部５８は文字列表示制御部５７により表示された選択肢のうち選択された一つに対応する文字列を出力する。選択肢は複数の予測文字列と一致文字列生成部５５で生成された一致文字列とのうち少なくとも一部からなるので、その文字列は予測文字列または一致文字列である。文字列の出力先は、文書編集部５０である。
【００３３】
具体的な例について図８および図９を用いて説明する。図８に示すように表示装置に出力された選択肢である「入力内容」、「ウインドウを」、「次の画面を表示する。」および「必須項目に入力されているか確認する。」のうち「入力内容」がユーザによるキーボード等の操作によって選択されると、選択された一致文字列である「入力内容」が文書編集部５０に出力され、文書編集部５０の制御によって、表示装置に「ボタンを押すと入力内容」が表示される。すると、入力文字列取得部５１は「ボタンを押すと入力内容」を入力文字列として取得する。その入力文字列に基づいて予測文字列取得部５３、予測文字列加工部５４、文字列表示制御部５７が処理を行うと、新たに選択肢として「を」と「が」とが順に表示される。図９は選択肢の選択後に表示される選択肢の一例を示す図である。その次にユーザが選択肢の中から「が」を選択すると新たに選択肢として順に「エラーの場合には」と「入力規則に沿っているかチェックする。」とが表示される。このようにユーザは階層的に選択肢を選択することで文章を入力する。なお選択文字列出力部５８はキーボード等から直接文字列が入力された場合には、選択が行われないため、その結果を出力しない。その場合はその入力された文字列が文書編集部５０により表示装置に表示され、その文字列を含む入力文字列により入力文字列取得部５１からの処理が行われる。
【符号の説明】
【００３４】
１  文書作成装置、１１  ＣＰＵ、１２  記憶部、１３  通信部、１４  入出力部、５０  文書編集部、５１  入力文字列取得部、５２  文字列格納部、５３  予測文字列取得部、５４  予測文字列加工部、５５  一致文字列生成部、５６  優先度算出部、５７  文字列表示制御部、５８  選択文字列出力部。
【図１】
2011028426.tif 000003
【図２】
2011028426.tif 000004
【図３】
2011028426.tif 000005
【図４】
2011028426.tif 000006
【図５】
2011028426.tif 000007
【図６】
2011028426.tif 000008
【図７】
2011028426.tif 000009
【図８】
2011028426.tif 000010
【図９】
2011028426.tif 000011