(57)【特許請求の範囲】
【請求項１】
複数の文字列を含む候補文字列群を取得する候補取得手段と、
前記候補文字列群から一の文字列を選択する第１選択手段と、
前記選択された文字列から前記選択されていない非選択文字列への修正に要する操作量を求め、当該操作量が最大となる前記非選択文字列を所定数になるまで繰り返して選択する第２選択手段と、
前記第２選択手段が選択した文字列を含む提示文字列群を出力する手段と、
を含むことを特徴とする文書処理装置。
【請求項２】
複数の文字列を含む候補文字列群を取得する候補取得手段と、
前記候補文字列群から予め定められた数の文字列を選択する複数の組み合わせのうち少なくとも一部の組み合わせを取得する手段と、
前記取得された組み合わせのそれぞれについて、前記選択される文字列から前記選択されない文字列への修正に要する操作量を求める手段と、
前記操作量が最小となる前記組み合わせを提示文字列群として出力する手段と、
を含むことを特徴とする文書処理装置。
【請求項３】
複数の文字列を含む候補文字列群を取得する候補取得手段と、
前記候補文字列群に含まれる文字列から前記候補文字列群に含まれる他の文字列に修正する際に要する操作量と、前記候補文字列群に含まれる各文字列の優先度を示す値とに基づいて、前記候補文字列群の部分集合である提示文字列群を出力する出力手段と、
を含むことを特徴とする文書処理装置。
【請求項４】
複数の文字列を含む候補文字列群を取得する候補取得手段と、
前記候補文字列群に含まれる前記複数の文字列の間の相違の程度に基づいて、前記候補文字列群に応じた該候補文字列群より少数の文字列を含む提示文字列群を出力する出力手段と、を含み、
前記出力手段は、
前記候補文字列群に含まれる前記複数の文字列の間の相違の程度を算出する相違算出手段と、
前記算出された相違の程度に基づいて、前記候補文字列群に含まれる複数の文字列を前記複数の文字列より少数の分割文字列群に分類する分類手段と、
前記分割文字列群のそれぞれを代表する文字列を前記提示文字列群として出力する代表出力手段と、を含む
ことを特徴とする文書処理装置。
【請求項５】
入力文字列を取得する文字列入力手段、
をさらに含み、
前記候補取得手段は、前記入力文字列に基づいて複数の文字列を含む候補文字列群を取得する、
ことを特徴とする請求項１から４のいずれか一項に記載の文書処理装置。
【請求項６】
複数の文字列を含む候補文字列群を取得する候補取得手段、
前記候補文字列群から一の文字列を選択する第１選択手段、
前記選択された文字列から前記選択されていない非選択文字列への修正に要する操作量を求め、当該操作量が最大となる前記非選択文字列を所定数になるまで繰り返して選択する第２選択手段、および、
前記第２選択手段が選択した文字列を含む提示文字列群を出力する手段、
としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は文書処理装置及びプログラムに関する。
【背景技術】
【０００２】
近年、例えば文書編集や仮名漢字変換などを行う機能を有する文書処理装置において、入力された文字の次に入力される内容を予測してその入力された文字に応じた文字列を提示する入力予測機能を有するものが増えてきている。一般的な入力予測機能においては、予測された複数の候補をユーザに提示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−１６３４１２号公報
【特許文献２】特開２０００−１８７６６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
候補として提示すべき文字列が多い場合は、その文字列を含む候補文字列群からより少数の文字列をユーザに提示するが、提示される文字列の間の相違の大きさと関係なく提示されていた。
【０００５】
本発明の目的は、候補文字列群に含まれる複数の文字列の間の相違の程度に応じてより少数の文字列を含む提示文字列群を出力する文書処理装置及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
請求項１に記載の発明は文書処理装置であって、複数の文字列を含む候補文字列群を取得する候補取得手段と、前記候補文字列群に含まれる前記複数の文字列の間の相違の程度に基づいて、前記候補文字列群に応じた該候補文字列群より少数の文字列を含む提示文字列群を出力する出力手段と、を含むことを特徴とする。
【０００７】
請求項２に記載の発明は請求項１の発明において、前記出力手段は、前記候補文字列群に含まれる文字列から前記候補文字列群に含まれる他の文字列に修正する手間の大きさに基づいて、前記候補文字列群の部分集合である提示文字列群を出力する、ことを特徴とする。
【０００８】
請求項３に記載の発明は請求項２の発明において、前記出力手段は、前記候補文字列群から一つの文字列を選択する第１選択手段と、前記候補文字列群のうち前記選択されていない文字列のそれぞれについて前記選択された文字列から編集する際の手間の大きさを求めるとともに、前記求められた手間の大きさが最大となる文字列を追加して選択することを予め定められた条件を満たすまで繰り返す第２選択手段と、前記選択された文字列を含む提示文字列群を出力する選択文字列出力手段と、を含むことを特徴とする
【０００９】
請求項４に記載の発明は請求項２の発明において、前記出力手段は、前記候補文字列群から予め定められた数の文字列を選択する複数の組み合わせのうち少なくとも一部の組み合わせを取得する手段と、前記取得された組み合わせのそれぞれについて、前記選択される文字列から前記選択されない文字列に修正する手間の大きさを示す値を求める手段と、前記手間の大きさを示す値が最小となる前記組み合わせを前記提示文字列群として出力する手段と、を含むことを特徴とする。
【００１０】
請求項５に記載の発明は請求項２の発明において、前記出力手段は、前記候補文字列群に含まれる文字列から前記候補文字列群に含まれる他の文字列に修正する手間の大きさと、前記候補文字列群に含まれる各文字列の優先度を示す値とに基づいて、前記候補文字列群の部分集合である提示文字列群を出力する、ことを特徴とする。
【００１１】
請求項６に記載の発明は請求項１に記載の発明において、前記出力手段は、前記候補文字列群に含まれる前記複数の文字列の間の相違の程度を算出する相違算出手段と、前記算出された相違の程度に基づいて、前記候補文字列群に含まれる複数の文字列を前記複数の文字列より少数の分割文字列群に分類する分類手段と、前記分割文字列群のそれぞれを代表する文字列を前記提示文字列群として出力する代表出力手段と、を含むことを特徴とする。
【００１２】
請求項７に記載の発明は請求項１から６のいずれか一項に記載の発明において、入力文字列を取得する文字列入力手段をさらに含み、前記候補取得手段は、前記入力文字列に基づいて候補文字列群を取得する、ことを特徴とする。
【００１３】
請求項８に記載の発明は、複数の文字列を含む候補文字列群を取得する候補取得手段、および前記候補文字列群に含まれる前記複数の文字列の間の相違の程度に基づいて、前記候補文字列群に応じた該候補文字列群より少数の文字列を含む提示文字列群を出力する出力手段、としてコンピュータを機能させるためのプログラムである。
【発明の効果】
【００１４】
請求項１，８に記載の発明によれば、候補文字列群に含まれる複数の文字列の間の相違の程度に応じた提示文字列群であって候補文字列群より少数の文字列を含む提示文字列群を出力することができる。
【００１５】
請求項２に記載の発明によれば、候補文字列群に含まれる文字列から他の文字列に修正する手間に応じた提示文字列群を出力することができる。
【００１６】
請求項３，４，６に記載の発明によれば、候補文字列群に含まれるが提示文字列群に含まれない文字列の入力の手間が本構成を有しない場合より少ない提示文字列群を出力することができる。
【００１７】
請求項５に記載の発明によれば、候補文字列群に含まれる文字列から他の文字列に修正する手間と候補文字列の優先度とに応じて、提示文字列群を出力することができる。
【００１８】
請求項７に記載の発明によれば、入力文字列に応じた提示文字列群を出力することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態に係る文書処理装置の構成を示す図である。
【図２】本発明の実施形態に係る文書処理装置が実現する機能を示す機能ブロック図である。
【図３】候補記憶部に記憶される候補の内容の一例を示す図である。
【図４】候補取得部で取得される文字列の一例を示す図である。
【図５】提示文字列群の出力結果の例である。
【図６】第１の実施形態に係る提示文字列群出力部のサブ機能を示す図である。
【図７】第１の実施形態に係る文書処理装置の提示文字列群出力部の処理フローを示す図である。
【図８】提示文字列群を選択する課程の一例を示す図である。
【図９】提示文字列群を選択する課程の一例を示す図である。
【図１０】第２の実施形態に係る提示文字列群出力部のサブ機能を示す図である。
【図１１】第２の実施形態に係る文書処理装置の提示文字列群出力部の処理フローを示す図である。
【図１２】候補文字列群に含まれる要素の組み合わせの一例を示す図である。
【図１３】第３の実施形態に係る提示文字列群出力部のサブ機能を示す図である。
【図１４】第３の実施形態に係る文書処理装置の提示文字列群出力部の処理フローを示す図である。
【図１５】候補記憶部に記憶される候補の内容の他の例を示す図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施形態について図面に基づき詳細に説明する。
【００２１】
［第１の実施形態］
図１は、本発明の実施形態に係る文書処理装置１の構成図の一例である。同図に示すように、文書処理装置１は、ＣＰＵ１１と、記憶部１２と、通信部１３と、入出力部１４とを含んでいる。文書処理装置１は例えばパーソナルコンピュータや携帯電話などによって構成されている。
【００２２】
ＣＰＵ１１は、記憶部１２に格納されているプログラムに従って動作する。なお、上記プログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の情報記録媒体に格納されて提供されるものであってもよいし、インターネット等のネットワークを介して提供されるものであってもよい。
【００２３】
記憶部１２は、ＲＡＭやＲＯＭ等のメモリ素子およびハードディスクドライブ等によって構成されている。記憶部１２は、上記プログラムを格納する。また、記憶部１２は、各部から入力される情報や演算結果を格納する。
【００２４】
通信部１３は、他の装置と通信接続するための通信手段等で構成されている。通信部１３は、ＣＰＵ１１の制御に基づいて、他の装置から受信した情報をＣＰＵ１１や記憶部１２に入力し、他の装置に情報を送信する。
【００２５】
入出力部１４は、モニタ等の表示出力手段や、キーボード、マウス等の入力手段などを制御する手段によって構成されている。入出力部１４は、ＣＰＵ１１の制御に基づいて、画像データ等をモニタ等に対して出力し、キーボードやマウスより操作者からの情報を取得する。
【００２６】
図２は、本発明の実施形態に係る文書処理装置１が実現する機能を示す機能ブロック図である。文書処理装置１は、文書編集部５０と、文字列入力部５１と、候補記憶部５２と、候補取得部５３と、提示文字列群出力部５４と、文字列選択部５５と、を含む。これらの機能はＣＰＵ１１が記憶部１２に格納されたプログラムを実行し、通信部１３および入出力部１４を制御することによって実現される。
【００２７】
文書編集部５０は、ＣＰＵ１１、記憶部１２、入出力部１４を中心として構成される。文書編集部５０は、入出力部１４を介して取得するキーボードの操作情報や、文字列選択部５５から受け取る文字列情報などに基づいて、文書を編集する。文書編集部５０での文書の編集処理方法は、例えば一般的な文書処理プログラムやテキストエディタ等で行われる処理方法であってよい。
【００２８】
文字列入力部５１は、ＣＰＵ１１、入出力部１４を中心として実現される。文字列入力部５１は、入出力部１４を介してキーボード等から入力文字列を取得する。なお、文字列入力部５１は通信部１３を介して他の装置から入力文字列を取得してもよい。
【００２９】
候補記憶部５２は、ＣＰＵ１１および記憶部１２を中心として実現される。候補記憶部５２は、キー文字列と、補完すべき候補となる文字列との組を複数記憶する。キー文字列は文字列入力部５１で取得される入力文字列によって検索される際のキー項目となる。図３は候補記憶部５２に記憶される候補の内容の一例を示す図である。図３には説明を容易にするため７つの組のみが記載されているが、実際にはもっと多くの組が記憶されていてもよい。また、候補記憶部５２に記憶される内容は、事前に他のプログラム等によって生成されたものでもよいし、この文書処理装置１にて入力された内容を動的に解析して随時更新してもよい。
【００３０】
候補取得部５３は、ＣＰＵ１１および記憶部１２を中心として実現される。候補取得部５３は、入力文字列に基づいて、複数の文字列を含む候補文字列群を取得する。より具体的には候補取得部５３は、候補記憶部５２に記憶された内容から入力文字列に対応する複数の文字列を取得する。ここでは候補記憶部５２に記憶されるのはキー文字列と候補となる文字列の組であるので、候補取得部５３は入力文字列と同じキー文字列をもつ組を候補記憶部５２から検索し、候補となる文字列を候補文字列群として複数取得すればよい。
【００３１】
図４は、候補取得部５３で取得される文字列の一例を示す図である。ここでは入力文字列が「ａｂｃ」でありかつ候補記憶部５２が図３に示す内容を記憶している場合に候補取得部５３が取得する文字列を示している。この例では候補記憶部５２から先頭が「ａｂｃ」となる文字列が５つ（「ａｂｃｄｅｆｇ」，「ａｂｃｄｅｆｈ」，「ａｂｃｄｅｆｇｑ」，「ａｂｃｄｅｇｈ」，「ａｂｃｅｆｇｈ」）候補となる文字列として取得される。これらは１番目の文字列から順番に記憶部１２上の配列であるｃ１，ｃ２，ｃ３，ｃ４，ｃ５に順に格納される。
【００３２】
提示文字列群出力部５４は、ＣＰＵ１１および記憶部１２を中心として実現される。提示文字列群出力部５４は、候補文字列群に含まれる複数の文字列の間の相違の程度に基づいて、候補文字列群に応じた候補文字列群より少数の文字列を含む提示文字列群を出力する。本実施形態においては、相違の程度として、候補文字列群に含まれる文字列から候補文字列群に含まれる他の文字列に修正する手間の大きさを用い、提示文字列群は候補文字列群の部分集合である。提示文字列群に含まれる文字列は、入出力部１４を介して接続されたモニタ上の画面に出力される。図５は、提示文字列群の出力結果の例である。編集画面のカーソル位置３１から下方に提示領域３２が表示され、その中には提示文字列群が上から下に順に描画されている。
【００３３】
図６は、本発明の第１の実施形態に係る提示文字列群出力部５４のサブ機能を示す図である。本実施形態において提示文字列群出力部５４は、第１選択部６１と、第２選択部６２と、選択文字列出力部６３とを含む。以下では本実施形態における提示文字列群出力部５４の処理フローに基づいて、各部の処理について説明する。
【００３４】
図７は、第１の実施形態に係る文書処理装置１の提示文字列群出力部５４の処理フローを示す図である。はじめに第１選択部６１は候補文字列群から一つの文字列を選択する。候補文字列群（集合Ａ）の要素である文字列のうち一つを選択し、その文字列を提示文字列群（集合Ｂ）の要素とする（ステップＳ１０１）。選択される文字列は、候補文字列群に含まれる文字列の中で最も優先度を示す値が高い文字列でよい。ここで、優先度は例えば、各文字列の出現頻度などのスコアである。
【００３５】
次に第２選択部６２は候補文字列群のうち選択されていない文字列のそれぞれについて選択された文字列から編集する際の手間の大きさを求めるとともに、求められた手間の大きさが最大となる文字列を追加して選択することを予め定められた条件を満たすまで繰り返す。より具体的には、まず第２選択部６２は集合Ｂの要素の数が予め定められた数（ｍ個：ｍは予め定められた１以上の整数）か否かを判定し（ステップＳ１０２）、要素の数がｍ個の場合（ステップＳ１０２のＮ）はステップＳ１０５にすすみ、要素の数がｍ個でない場合（ステップＳ１０２のＹ）は次の要素を選択する処理を行う。
【００３６】
次に第２選択部６２は提示文字列群に選択されない候補文字列群の文字列（集合（Ａ−Ｂ）の要素）ごとに、集合Ｂの要素から修正する手間の量を計算する（ステップＳ１０３）。本実施形態では第２選択部６２は手間の量として、集合Ｂから一つの文字列を選択する操作、選択された文字列のうち一部の文字の削除操作および文字の挿入操作などの操作量を計算している。上述の操作量としては、キーボードから入力される際のキーストロークの数を用いてよい。なお、漢字変換にかかるキーストロークは平均的な値を概算して操作量の計算に用いてもよいし、カーソルキーなどを連続的に押す場合とそれ以外とで操作量に反映する重みを変えてもよい。また一文字挿入の操作量を一としてもよいし、携帯電話のキーを押す回数を考慮して操作量を計算してもよい。
【００３７】
次に第２選択部６２は計算された手間の量が最も大きい集合（Ａ−Ｂ）の要素を提示文字列群の要素に追加する（ステップＳ１０４）。そしてステップＳ１０２から処理を繰り返す。ここで、第２選択部６２における予め定められた条件として、集合Ｂの要素の文字列の文字列長の和が予め定められた長さ以下であるという条件を用いてもよい。なお、この場合は文字列長が予め定められた長さより長いか否か判定し、長い場合は直近に選択した文字列を提示文字列群から外すようにするとよい。
【００３８】
選択文字列出力部６３は、提示文字列群（集合Ｂ）を出力する。出力される内容は図５を用いて説明した通りである。
【００３９】
ここで、提示文字列群出力部５４での処理を図４に示す候補文字列群に対して行った例について説明する。ここでは候補文字列群の文字列は５つ、ｍは３とする。はじめにステップＳ１０１で、変数ｃ１の文字列が集合Ｂの要素として選択される。ステップＳ１０２において集合Ｂの要素数は１なのでステップＳ１０３で操作量を計算する。図８は提示文字列群を選択する課程の一例を示す図である。左側の欄は修正した結果として得たい文字列（目標文字列）の変数名を示し、操作の欄は提示文字列群を利用して入力する操作の内容を示す。例えば、「ｃ１選択」は変数ｃ１に対応する文字列を選択する操作を示し、「ｇ削除」はｃ１の文字列「ａｂｃｄｅｆｇ」のうち最後の文字である「ｇ」を削除する操作を示し、「ｈ挿入」は「ｇ」が削除された文字列「ａｂｃｄｅｆ」の最後に文字「ｈ」を挿入する操作を示す。ここでは、削除操作や挿入操作は、文字列の選択操作後にカーソル位置３１が文字列の最後の位置にあることを前提とした操作になっている。またカーソル移動は行わずに削除と挿入のみで修正することを前提としている。なお、目標文字列を入力する方法は記されたもの以外にも様々あるが、それぞれの文字列を入力するのに最小となる方法を記載している。最小となる操作の操作量のみが文字列を選択する判断に用いられている。
【００４０】
操作量の欄に上述の内容を示している。ここで、１文字削除の操作の量および１文字挿入の操作の量は１とし、候補選択の操作の量は候補の順番にかかわらず１としている。なお、候補の順番を取得した順番とする場合などは、選択操作の際にキーを押す回数を計算される操作の量に反映するようにしてもよい。図８から、最も修正の操作量が多いのはｃ５に格納される文字列とわかる。ステップＳ１０４でこの文字列を提示文字列群の要素として追加する。
【００４１】
そして提示文字列群の要素数は２なので（ステップＳ１０２のＹ）、再びステップＳ１０３で操作量を計算する。図９は提示文字列群を選択する課程の一例を示す図である。図９から、ｃ１もしくはｃ２から修正する場合に最も操作量の多いのはｃ４とわかる。ステップＳ１０４でこの文字列を提示文字列群の要素として追加する。すると提示文字列群の要素数は３なので（ステップＳ１０２のＮ）、選択文字列出力部６３が提示文字列群（集合Ｂ）を出力し処理が終了する。
【００４２】
文字列選択部５５は、ＣＰＵ１１および記憶部１２を中心として実現される。文字列選択部５５は、ユーザから入出力部１４を介して入力される操作に基づいて、提示文字列群出力部５４で出力された提示文字列群に含まれる文字列のうち一つを選択し、選択された文字列を文書編集部５０に向けて出力する。より詳細には、まず図５において表示される提示領域３２に表示された文字列のうち一つが、例えばユーザのキー操作によって選択される。そして文字列選択部５５は選択された文字列の情報を文書編集部５０に出力する。文書編集部はその文字列を編集画面に出力し、必要に応じその文字列は編集される。
【００４３】
［第２の実施形態］
以下では本発明の第２の実施形態に係る文書処理装置１について説明する。本実施形態に係る文書処理装置１の構成は第１の実施形態とほぼ同様であり、機能構成における提示文字列群出力部５４の処理内容のみが異なっている。以下では第１の実施形態との相違点を中心に説明する。
【００４４】
提示文字列群出力部５４は、第１の実施形態と同じく候補文字列群に含まれる複数の文字列の間の相違の程度に基づいて、候補文字列群に応じた候補文字列群より少数の文字列を含む提示文字列群を出力する。相違の程度として、候補文字列群に含まれる文字列から候補文字列群に含まれる他の文字列に修正する手間の大きさを用いる点も同様である。
【００４５】
図１０は第２の実施形態に係る提示文字列群出力部５４のサブ機能を示す図である。本実施形態において提示文字列群出力部５４は、組み合わせ取得部６４と、手間算出部６５と、選択出力部６６と、を含む。以下では本実施形態における提示文字列群出力部５４の処理フローに基づいて、各部の処理について説明する。
【００４６】
図１１は、第２の実施形態に係る文書処理装置１の提示文字列群出力部５４の処理フローを示す図である。はじめに組み合わせ取得部６４は、候補文字列群（集合Ａ）から予め定められた数の文字列（要素）を選択する複数の組み合わせのうち少なくとも一部の組み合わせ（集合Ｂ）を取得する。ここでは組み合わせ取得部６４は上記組み合わせのうち全ての組み合わせを取得する（ステップＳ２０１）。
【００４７】
図１２は、候補文字列群における要素の組み合わせの一例を示す図である。本図は図４で示した５つの文字列を含む候補文字列群から３つの文字列を選択して提示文字列群の要素とする場合の例である。組み合わせは全部で１０（５Ｃ３）通りである。選択される文字列の欄には文字列が格納される変数の変数名を記している。ここで、それぞれの組み合わせは提示文字列群の候補となる。
【００４８】
次に手間算出部６５は取得された組み合わせのそれぞれについて、選択されている文字列から選択されていない文字列に修正する手間の大きさを求める（ステップＳ２０２）。修正する手間の大きさは、修正の手間の期待値であり、ここではそれぞれの選択されない文字列に対して求めた操作量であって、選択される文字列から修正する操作量を足し合わせて求める。ａの文字列からｂの文字列に修正する編集量をｅ（ａ，ｂ）とすると、ある組み合わせの修正の手間の大きさＥＭ（Ｂ）は以下の数式で表される。
【００４９】
【数１】
0005476811.tif 000002
【００５０】
上述の式からわかるように、ある選択されない文字列に対して求めた操作量は、その文字列に選択される文字列から修正する操作量のうち最小値である。その最小値の選択されない文字列分の和を求めると、その組み合わせの修正の手間の大きさＥＭ（Ｂ）が求まる。ここで、図１２の操作量の和の欄にこの例についてのＥＭ（Ｂ）を示している。
【００５１】
なお、前記候補文字列群に含まれる文字列から前記候補文字列群に含まれる他の文字列に修正する手間の大きさだけでなく、各文字列の優先度を示す値にも基づいて提示文字列群を出力するようにしてもよい。例えば、候補文字列群に含まれる文字列ｚの優先度を示す値であるスコアをｓ（ｚ）とすると、ある組み合わせの修正の手間の大きさＥＭ（Ｂ）は以下の数式で表してもよい。ここで、ｗは０＜ｗ＜１の条件を満たす定数である。
【００５２】
【数２】
0005476811.tif 000003
【００５３】
選択出力部６６は、修正の手間が最小となる文字列の組み合わせを提示文字列群として出力する（ステップＳ２０３）。図１２の例では（ｃ１，ｃ４，ｃ５）の組みあわせもしくは（ｃ２，ｃ４，ｃ５）の組み合わせが出力される。後の処理は第１の実施形態と同様であるので説明は省略する。
【００５４】
［第３の実施形態］
以下では本発明の第３の実施形態に係る文書処理装置１について説明する。本実施形態に係る文書処理装置１の構成は第１の実施形態や第２の実施形態とほぼ同様であり、機能構成における提示文字列群出力部５４の処理内容のみが異なっている。以下では第１の実施形態および第２の実施形態との相違点を中心に説明する。
【００５５】
提示文字列群出力部５４は、第１の実施形態や第２の実施形態と同じく候補文字列群に含まれる複数の文字列の間の相違の程度に基づいて、候補文字列群に応じた候補文字列群より少数の文字列を含む提示文字列群を出力する。図１３は第３の実施形態に係る提示文字列群出力部５４のサブ機能を示す図である。本実施形態において提示文字列群出力部５４は、相違算出部６７と、分類部６８と、代表出力部６９と、を含む。以下では本実施形態における提示文字列群出力部５４の処理フローに基づいて、各部の処理について説明する。
【００５６】
図１４は第３の実施形態に係る文書処理装置１の提示文字列群出力部５４の処理フローを示す図である。はじめに相違算出部６７は、候補文字列群に含まれる複数の文字列の間の相違の程度を算出する。より具体的には、候補文字列群（集合Ａ）に含まれる文字列ｃｉ（１≦ｉ≦Ｎ）と文字列ｃｊ（１≦ｊ≦Ｎ）との間の編集距離ｇ（ｃｉ，ｃｊ）を求める（ステップＳ３０１）。Ｎは候補文字列群に含まれる文字列の数である。ここで、ｇ（ｃｉ，ｃｊ）＝ｇ（ｃｊ，ｃｉ）であり、ｉ≠ｊである。編集距離ｇ（ｃｉ，ｃｊ）は、例えば相違する文字数であってもよいし、ｃｉからｃｊに修正する編集量とｃｊからｃｉに修正する編集量との和であってもよい。
【００５７】
次に、分類部６８は算出された相違の程度に基づいて、候補文字列群に含まれる複数の文字列をより少数の分割文字列群に分類する。より具体的には、編集距離を用いて候補文字列のクラスタリングを行う（ステップＳ３０２）。クラスタリングの方法は、階層型クラスタリングなどの公知の手法を用いればよい。クラスタリングによって分類される分割文字列群（クラスタ）の数は予め定められた数であり、提示文字列群に含まれるべき文字列の数と同じである。
【００５８】
次に、代表出力部６９は、各分割文字列群を代表する文字列を提示文字列群として出力する（ステップＳ３０３）。代表する文字列は、例えば各クラスタに含まれる文字列で、そのクラスタに含まれる他の文字列との編集距離の和が最も小さい文字列を選択してもよい。また例えばクラスタ内の文字列で共通する文字のみで文字列を構成して出力するなど、クラスタに含まれない文字列を代表する文字列としてもよい。そして、代表出力部６９は、各クラスタを代表する文字列を要素とする提示文字列群を出力する。後の処理は第１の実施形態や第２の実施形態と同様である。なお、クラスタの個数は予め決まった数としているが、代表する文字列の文字列長の和が予め定められた文字数以内に収まることを条件にクラスタの数を決めてもよい。
【００５９】
これまでに本発明の様々な実施形態について述べてきたが、発明の範囲はこれらの実施形態には限られない。例えば、これまでは候補記憶部５２には入力補完用の文字列が格納され、候補取得部５３は入力補完用の文字列が取得されているが、仮名漢字変換においてかな入力に対して漢字を含む複数の文字列を提示文字列群として出力してもよい。図１５は、候補記憶部５２に記憶される候補の内容の他の例を示す図である。キー文字列としてかなの文字を、候補となる文字列として、漢字に変換された結果を予測した文字列の一覧を記憶しておけば上述の機能を実現できる。
【符号の説明】
【００６０】
１  文書処理装置、１１  ＣＰＵ、１２  記憶部、１３  通信部、１４  入出力部、３１  カーソル位置、３２  提示領域、５０  文書編集部、５１  文字列入力部、５２  候補記憶部、５３  候補取得部、５４  提示文字列群出力部、５５  文字列選択部、６１  第１選択部、６２  第２選択部、６３  選択文字列出力部、６４  組み合わせ取得部、６５  手間算出部、６６  選択出力部、６７  相違算出部、６８  分類部、６９  代表出力部。
【図１】
0005476811.tif 000004
【図２】
0005476811.tif 000005
【図３】
0005476811.tif 000006
【図４】
0005476811.tif 000007
【図５】
0005476811.tif 000008
【図６】
0005476811.tif 000009
【図７】
0005476811.tif 000010
【図８】
0005476811.tif 000011
【図９】
0005476811.tif 000012
【図１０】
0005476811.tif 000013
【図１１】
0005476811.tif 000014
【図１２】
0005476811.tif 000015
【図１３】
0005476811.tif 000016
【図１４】
0005476811.tif 000017
【図１５】
0005476811.tif 000018