(57)【要約】【課題】ユーザの文書作成を効率的に支援することができる。【解決手段】本実施形態に係る文書作成支援装置は、判定部、検索部および提示部を含む。判定部は、処理対象の文字列である対象文字列を文字認識した文字認識結果と、該対象文字列が文書中のどの位置に出現するかを示す位置情報とを含む特徴量に基づいて、該対象文字列を含む文書の種別である文書種別を判定する。検索部は、前記対象文字列に関連する関連文字列を検索するための検索条件を満たす場合、前記文書種別に応じて優先度が設定された該関連文字列の検索元となるデータベースから該関連文字列を検索し、前記優先度に基づくスコアが高い順に該関連文字列を得る。提示部は、前記優先度に基づくスコアが高い順に前記関連文字列を提示する。【選択図】図１
2014186395.tif 000002
【特許請求の範囲】
【請求項１】
処理対象の文字列である対象文字列を文字認識した文字認識結果と、該対象文字列が文書中のどの位置に出現するかを示す位置情報とを含む特徴量に基づいて、該対象文字列を含む文書の種別である文書種別を判定する判定部と、
前記対象文字列に関連する関連文字列を検索するための検索条件を満たす場合、前記文書種別に応じて優先度が設定された該関連文字列の検索元となるデータベースから該関連文字列を検索し、前記優先度に基づくスコアが高い順に該関連文字列を得る検索部と、
前記優先度に基づくスコアが高い順に前記関連文字列を提示する提示部と、を具備することを特徴とする文書作成支援装置。
【請求項２】
前記対象文字列が手書きストロークである場合、該手書きストロークを文字認識した文字認識結果と該手書きストロークにより表現される文字列の位置情報とを、前記特徴量として抽出する抽出部をさらに具備することを特徴とする請求項１に記載の文書作成支援装置。
【請求項３】
ユーザからの指示により選択された関連文字列である選択文字列を前記文書中の指定領域に挿入する場合、該指定領域内に収まるように前記対象文字列および前記選択文字列のフォントの大きさを変更して挿入する変換部をさらに具備することを特徴とする請求項１または請求項２に記載の文書作成支援装置。
【請求項４】
前記変換部は、前記選択文字列を、前記ユーザの手書きフォントに変換して前記文書中に挿入することを特徴とする請求項３に記載の文書作成支援装置。
【請求項５】
前記検索部は、前記文字認識結果として予め設定された文字列および品詞の出現パターンが認識されるか、ユーザの手書きストロークにより前記対象文字列に対するアクションが入力されるか、該手書きストロークを取得後ユーザからの入力がないまま第１期間経過するかのいずれか１つを満たすことにより、前記検索条件を満たすと判定することを特徴とする請求項１から請求項４のいずれか１項に記載の文書作成支援装置。
【請求項６】
前記１以上のデータベースは、複数のユーザ間で共有される文書中に出現する文字列に基づいて生成されるデータベースを含むことを特徴とする請求項１から請求項５のいずれか１項に記載の文書作成支援装置。
【請求項７】
前記提示部は、前記文字認識結果に応じて、提示する関連文字列を変更することを特徴とする請求項１から請求項５のいずれか１項に記載の文書作成支援装置。
【請求項８】
処理対象の文字列である対象文字列を文字認識した文字認識結果と、該対象文字列が文書中のどの位置に出現するかを示す位置情報とを含む特徴量に基づいて、該対象文字列を含む文書の種別である文書種別を判定し、
前記対象文字列に関連する関連文字列を検索するための検索条件を満たす場合、前記文書種別に応じて優先度が設定された該関連文字列の検索元となるデータベースから該関連文字列を検索し、前記優先度に基づくスコアが高い順に該関連文字列を得、
前記優先度に基づくスコアが高い順に前記関連文字列を提示することを特徴とする文書作成支援方法。
【請求項９】
コンピュータを、
処理対象の文字列である対象文字列を文字認識した文字認識結果と、該対象文字列が文書中のどの位置に出現するかを示す位置情報とを含む特徴量に基づいて、該対象文字列を含む文書の種別である文書種別を判定する判定手段と、
前記対象文字列に関連する関連文字列を検索するための検索条件を満たす場合、前記文書種別に応じて優先度が設定された該関連文字列の検索元となるデータベースから該関連文字列を検索し、前記優先度に基づくスコアが高い順に該関連文字列を得る検索手段と、
前記優先度に基づくスコアが高い順に前記関連文字列を提示する提示手段として機能させるための文書作成支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、文書作成支援装置、方法およびプログラムに関する。
【背景技術】
【０００２】
近年、ハードウェアおよびソフトウェアの計算機環境が飛躍的に向上している。特に、小型端末の広がりや性能向上と共に、従来では処理性能や記憶容量の不足などから現実的ではなかったタブレット形式の手書き端末や、紙と鉛筆との操作性を模したソフトウェアが普及している。  
手書き端末および手書きに関するソフトウェアの増加に応じて、手書き情報を画像として保存するだけではなく、手書き情報を電子テキストとして認識しておく手書き文字認識技術も普及している。手書き情報を電子テキストとして認識した結果を保存しておくことで、検索および再利用に活用できる。また、ネットワーク環境に接続して作成した文書を公開したり、他人と共有したりする手法も一般的に普及している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−１３３５６５号公報
【特許文献２】特開平９−９１２９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
手書き文書作成時には、一般的なキーボードによる電子テキスト作成とは異なり、ユーザがペンやスタイラスなどを用いて自由な筆記で入力することができる。そのため、ユーザが誤って覚えている単語や曖昧性の高いキーワードやフレーズを入力しても、仮名漢字変換機能による候補の制約などが働かないため、ユーザ自身が誤りに気づかないことが想定される。さらに、ユーザが文字列を省略した形式で入力したような場合は、ユーザ自身で後日に見直すときに内容が思い出せない場合や、文書を共有するときなどに他人が内容を把握できないことも想定される。
【０００５】
また、手書き文字認識は、一般に活字ＯＣＲ（optical character reader）などと比較して文字認識の精度が十分ではない。よって、手書き情報を文字認識した電子テキストを検索する場合に、文字認識誤りのために、ユーザが書いたつもりの文書が検索できない、または電子テキストが正しく分類されていないという状況も生じる。  
このような文字認識誤りを、いわばインターネットの多数決で修正する手法もあり、一般的なキーワードについては誤りの修正が期待できる。しかしながら、個人の手書きメモなどの用途を考えた場合、必ずしもインターネットのヒット件数が有効に働くとは限らない。すなわち、個人メモを想定した単語や省略語に関してはインターネットのヒット件数が多い単語が適切な候補とはいえず、さらには、文書が共有されるような、チームや部署内の独自用語や専門用語の補間や修正に関しても、適切な候補を提示することができない。さらに、多数決で修正する手法では、前後に共起する複合的な単語やフレーズや、文書内で離れた位置に出現する単語やフレーズに対しても、適切な候補を提示することができない。
【０００６】
本開示は、上述の課題を解決するためになされたものであり、ユーザの文書作成を効率的に支援することができる文書作成支援装置、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本実施形態に係るコンテンツ作成支援装置は、判定部、検索部および提示部を含む。判定部は、処理対象の文字列である対象文字列を文字認識した文字認識結果と、該対象文字列が文書中のどの位置に出現するかを示す位置情報とを含む特徴量に基づいて、該対象文字列を含む文書の種別である文書種別を判定する。検索部は、前記対象文字列に関連する関連文字列を検索するための検索条件を満たす場合、前記文書種別に応じて優先度が設定された該関連文字列の検索元となるデータベースから該関連文字列を検索し、前記優先度に基づくスコアが高い順に該関連文字列を得る。提示部は、前記優先度に基づくスコアが高い順に前記関連文字列を提示する。
【図面の簡単な説明】
【０００８】
【図１】第本実施形態に係る文書作成支援装置を示すブロック図。
【図２】文書作成支援装置の動作を示すフローチャート。
【図３】特徴抽出部で判定される検索条件の一例を示す図。
【図４】文書種別の生成処理を示すフローチャート。
【図５】種別判定部における種別判定処理を示すフローチャート。
【図６】対応表生成処理を示すフローチャート。
【図７】候補検索部における検索処理を示すフローチャート。
【図８】候補検索部におけるスコア算出処理の具体例を示す図。
【図９】提示部に表示されるユーザインタフェースの一例を示す図。
【図１０】文字認識精度に応じたユーザインタフェースの一例を示す図。
【図１１】文字列のリサイズ処理を示す図。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら本実施形態に係る文書作成支援装置、方法およびプログラムについて詳細に説明する。なお、以下の実施形態では、同一の参照符号を付した部分は同様の動作をおこなうものとして、重複する説明を適宜省略する。
【００１０】
本実施形態に係る文書作成支援装置について図１のブロック図を参照して説明する。  
本実施形態に係る文書作成支援装置１００は、特徴抽出部１０１、種別判定部１０２、候補検索部１０３、候補選択部１０４、変換部１０５、提示部１０６、文書種別データベース１０７（以下、文書種別ＤＢ１０７という）、共起フレーズデータベース１０８（以下、共起フレーズＤＢ１０８という）、ユーザ入力履歴データベース１０９（以下、ユーザ入力履歴ＤＢ１０９という）、共起語辞書データベース１１０（以下、共起語辞書ＤＢ１１０という）、グループ共有辞書データベース１１１（以下、グループ共有辞書ＤＢ１１１という）およびフォントデータベース１１２（以下、フォントＤＢ１１２という）を含む。
【００１１】
特徴抽出部１０１は、外部から文書を受け取り、文書中における処理の対象となる対象文字列について文字認識処理を行なった文字認識結果と、対象文字列が文書中のどのような位置に出現するかを示す位置情報とを、対象文字列を含む文書の特徴量として抽出する。位置情報は、例えば、文書中の対象文字列の位置、および対象文字列を含む行およびパラグラフのブロックの位置に関する情報を取得すればよい。  
また、特徴抽出部１０１が受け取る文書がユーザによる手書きストロークである場合は、特徴抽出部１０１が、手書きストロークに対して手書き文字認識処理を行なう。その後、特徴抽出部１０１は、それぞれの手書きストロークの集合である対象文字列の文字認識結果と位置情報とを対象文字列を含む文書の特徴量として抽出する。なお、文字認識処理については、一般的な文字認識処理を行えばよいのでここでの説明を省略する。  
また、特徴抽出部１０１は、対象文字列に対して関連文字列を検索するための条件である検索条件を満たすかどうかを判定する。関連文字列は、対象文字列に関する修正候補の文字列または補間候補の文字列を示す。特徴抽出部１０１は、検索条件を満たすと判定した場合、特徴量を種別判定部１０２に送る。なお、検索条件については、図２および図３を参照して後述する。
【００１２】
種別判定部１０２は、特徴抽出部１０１から特徴量を受け取り、後述する文書種別ＤＢ１０７を参照して、特徴量に基づいて対象文字列を含む文書の種別である文書種別を判定する。文書種別は、例えば、日記、手紙、論文、といった一般的文書や、議事録メモ、社内メモ、買い物リストなどといった個人的な文書が挙げられる。
【００１３】
候補検索部１０３は、種別判定部１０２から特徴量と文書種別とを受け取る。候補検索部１０３は、検索元となる後述する共起フレーズＤＢ１０８、ユーザ入力履歴ＤＢ１０９、共起語辞書ＤＢ１１０およびグループ共有辞書ＤＢ１１１から、対象文字列に関連する文字列を、文書種別に応じて設定されるデータベースの優先度に基づいて検索し、優先度に基づくスコアが高い順に１以上の関連文字列を得る。
【００１４】
候補選択部１０４は、候補検索部１０３から１以上の関連文字列を受け取る。候補選択部１０４は、ユーザからの指示により関連文字列を選択して選択文字列を得る。  
変換部１０５は、候補選択部１０４から選択文字列を受け取り、選択文字列のフォントを後述するフォントＤＢ１１２に格納されるフォントに変換する。また、選択文字列および対象文字列が表示される領域が指定されており、かつ現在のフォントサイズでは選択文字列および対象文字列を表示するときに領域外にはみ出る場合は、領域内に収まるように選択文字列および対象文字列のフォントサイズを調整する。
【００１５】
提示部１０６は、候補検索部１０３から対象文字列および関連文字列を受け取り、対象文字列および関連文字列をディスプレイなどに提示する。この際、関連文字列は、優先度に基づくスコアが高い順に提示する。また、提示部１０６は、ユーザからの指示により選択文字列が得られた場合は、変換部１０５からフォントが変換された選択文字列、またはフォントが変換され、かつフォントサイズが調整された選択文字列および対象文字列を受け取り、対象文字列と選択文字列とを提示する。
【００１６】
文書種別ＤＢ１０７は、文書種別ごとに、文書種別の識別子（ＩＤ）と基準特徴量とを対応付けて格納する。基準特徴量は、文書種別の決定するための基準となる特徴量である。基準特徴量については図５を参照して後述する。  
共起フレーズＤＢ１０８は、ｗｅｂ文書などをコーパスとして、一般的な新語および未知語で共起語の組み合わせをそれぞれ対応付けて格納する。  
ユーザ入力履歴ＤＢ１０９は、ユーザが入力したキーワードおよびフレーズの履歴から共起語の組み合わせを格納する。  
共起語辞書ＤＢ１１０は、一般的な共起語、ことわざ、季語の対応、係り受け、文法的な制約などを格納する。  
グループ共有辞書ＤＢ１１１は、特的のグループやメンバ間で用いる、ユーザが属するグループで共通して用いられる特有の単語、記号などを格納する。  
フォントＤＢ１１２は、ユーザの手書きストロークに基づくフォント、および、一般的な活字のフォントをフォント情報として格納する。
【００１７】
次に、文書作成支援装置１００の動作について図２のフローチャートを参照して説明する。  
なお、図２の例では、ユーザから手書きストロークを受け取り、処理する例を示すが、キーボード入力などによる活字の文字列で構成される文書でも同様に処理すればよい。
【００１８】
ステップＳ２０１では、特徴抽出部１０１が、ユーザが入力した手書きストロークを取得する。手書きストロークに対して手書き文字認識処理を行ない、抽出結果としてテキスト文字列が得られる場合は、テキスト文字列を取得する。  
ステップＳ２０２では、特徴抽出部１０１が、手書きストロークを文字認識した文字認識結果と位置情報とを抽出して、対象文字列を含む文書の特徴量を得る。
【００１９】
ステップＳ２０３では、特徴抽出部１０１が、検索条件が満たされるかどうかを判定する。検索条件は、本実施形態では、例えば、ユーザから特定のアクションが入力されること、特定の文字列が入力されること、手書きストロークを取得してからユーザからの入力がないまま一定期間が経過することを条件とし、いずれか１つを満たせば検索条件を満たすとすればよい。検索条件が満たされる場合は、ステップＳ２０４に進み、検索条件が満たされない場合は、ステップＳ２０１に戻り、手書きストロークの取得を継続する。  
ステップＳ２０４では、種別判定部１０２が、対象文字列を含む文書に対する種別判定処理を行ない、文書種別を判定する。種別判定処理については、図４および図５を参照して後述する。
【００２０】
ステップＳ２０５では、候補検索部１０３が、文書種別の判定結果に基づいて、対象文字列を含む文書の文書種別に応じて優先度が設定されたデータベースから対象文字列に関する文字列を検索し、優先度に基づくスコアが高い順に関連文字列を得る。候補検索部１０３の検索処理については図６および図７を参照して後述する。  
ステップＳ２０６では、提示部１０６が、対象文字列と１以上の関連文字列とを提示する。  
ステップＳ２０７では、候補選択部１０４が、ユーザからの指示に基づいて１以上の関連文字列から文字列を選択し、選択文字列を得る。  
ステップＳ２０８では、変換部１０５が、フォントＤＢ１１２を参照して、選択文字列をユーザの手書きフォントに変換する。このようにすることで、手書きストロークにより表現される対象文字列と、挿入される選択文字列との文書中の整合性を図ることができる。
【００２１】
ステップＳ２０９では、変換部１０５が、挿入先である指定領域に、フォントが変換された選択文字列を挿入する場合、文字列が指定領域外にはみ出さないかどうかを判定する。文字列が指定領域外にはみ出る場合はステップＳ２１０に進み、文字列が領域外にはみ出ない、すなわち文字列が領域内に収まる場合は、ステップＳ２１１に進む。  
ステップＳ２１０では、変換部１０５が、指定領域内に収まるように、対象文字列と選択文字列とのフォントサイズを調整する。  
ステップＳ２１１では、提示部１０６が、対象文字列と選択文字列とを文書の指定領域に挿入する。以上で本実施形態の文書作成支援装置の動作を終了する。
【００２２】
なお、ステップＳ２０４における文書種別の判定については、文書を作成するアプリケーションの種類などを参照することでユーザが作成する文書の文書種別が予めわかっている場合は、文書種別を１度判定するだけでもよい。この場合、文書種別を１度判定したのち、再びステップＳ２０４の処理を行わず、ステップＳ２０３の処理の後にステップＳ２０５の処理を行うようにすればよい。また、ステップＳ２０８において、選択文字列を手書きフォントに変更する場合を示したが、これに限らず、一般的な活字フォントに変換してもよい。こうすることで、対象文字列について補間された箇所を容易に把握することができる。
【００２３】
次に、特徴抽出部１０１で判定される検索条件の一例について図３を参照して説明する。  
図３（ａ）は、ユーザからストロークの入力がないまま一定時間経過した場合に検索条件を満たす例を示す。一定時間が経過した場合とは、例えば、システムが予め設定した時間、またはユーザが設定する３ｓ（秒）や１０ｓ（秒）といった時間であり、この間にストロークやその他の操作などユーザからの入力が無い場合である。なお、この時間は固定値でもよいし、ユーザが文字列を記入する速度と、ある文字列を入力してから次の文字列を入力するまでの時間を示すユーザのポーズの傾向を取得した上で、候補を提示するのに適切なポーズ長を動的に決定してもよい。  
図３（ｂ）は、特定の文字列が入力された場合に検索条件を満たす例を示す。特定の文字列入力がある場合とは、文の切れ目である句読点や、終端の括弧などの記号が記入された場合である。また、テキスト認識結果に形態素解析を適用し、得られた品詞に固有名詞や用言など特定のパターンが出現した場合に検索条件を満たすとしてもよい。  
図３（ａ）および図３（ｂ）に示すように、一定時間が経過したことまたは特定の文字列が入力されたことを検索条件とすれば、ユーザ自身が誤りに気づかない場合に関連文字列を提示することができる。
【００２４】
図３（ｃ）は、曖昧部分の指定としてユーザからのアクションを取得した場合に検索条件を満たす例を示す。例えば、対象文字列の前後で補間候補となる文字列を想起する位置に、スクラッチを書き込んだり、複数回連続タップしたり、おおまかな範囲に対し、アンダーラインを往復させるなどのアクションが入力された場合に検索条件を満たすとすればよい。図３（ｃ）に示すようなアクションは、ユーザが対象文字列に関して何か他の共起語があることは理解しているが、どのような語であるかを思い出せないまたはうろ覚えである場合に見られるアクションである。よって、このようなアクションが入力されたときに関連文字列を提示できるようにすればよい。  
図３（ｄ）および図３（ｅ）は、部分指定の例となるようなユーザからのアクションの入力を検索条件とする場合である。例えば、出力の指定を行うために、文字列に相当する数の空白を丸で書き込んだり、関連するキーワードを展開する対象文字列を丸で囲ってマーキングする入力例が考えられる。ユーザからのアクションやマーキングはこれに限定されるものではなく、ストロークまたはアクションとして解釈可能であり、かつ検索処理のトリガとしてシステムが解釈できるものであれば、ユーザ定義のものを含む任意の形式でよい。
【００２５】
次に、文書種別ＤＢ１０７に予め格納される文書種別の生成処理について図４のフローチャートを参照して説明する。図４に示す処理は、対象文字列が入力される前に、文書種別を予め設定するための予備処理である。  
ステップＳ４０１では、文書種別ＤＢ１０７に格納する文書種別を定義する。例えば、メモ、日記、買い物リスト、論文といった分類を文書種別とすればよく、文書種別の定義は、ユーザが設定してもよいし、予め数種類の文書種別を用意してもよい。  
ステップＳ４０２では、文書種別に応じた例文となる文書である基準文書を収集する。例えば、メモ、日記、論文といった文書種別に応じて、ユーザの実際のメモ、日記、論文を用意しておけばよい。なお、基準文書の収集は、ユーザが所持するデータだけではなく、文書種別の名称をキーワードとしてｗｅｂで検索し、適当な文書を基準文書として収集してもよい。  
ステップＳ４０３では、特徴抽出部１０１が、基準文書の特徴量である基準特徴量を抽出する。基準特徴量は、上述した特徴抽出部１０１における特徴量の抽出処理と同様の処理で抽出すればよい。基準特徴量は、例えば、基準文書の単語や複合語、品詞文字列、数量表現などの出現の有無、および、それらの出現位置を特徴量ベクトルとして含めばよい。
【００２６】
ステップＳ４０４では、種別判定部１０２が、基準文書の基準特徴量と文書種別とを対応付けて格納する。また、基準特徴量と文書種別とを教師データとして学習させてもよい。なお、前段の手書きストロークの結果に手書き文字認識処理を適用して得られたテキスト抽出結果に対しては、種別判定部１０２が形態素解析を適用し、品詞情報や係り受け解析結果も取得しておく。ここで、入力がペンによるストローク情報ではなく、キーボードなどによりテキスト文字列として与えられる場合でも、手書き文字認識の結果得られたテキスト文字列と同じように処理を行えばよい。なお、学習に関しては、特徴量を弁別できる手段として自然言語処理で用いられるＳＶＭ（Support Vector Machine）やＣＲＦ（Conditional Random Fields）、ＡＮＮ（Artificial Neural Network）など一般的な弁別器を用いればよい。  
ステップＳ４０５では、特徴抽出部１０１が、基準特徴量と文書種別との対応付けを学習した学習結果であるモデルを文書種別ＤＢ１０７に格納する。以上で、文書種別の生成処理を完了する。
【００２７】
次に、種別判定部１０２における種別判定処理について図５のフローチャートを参照して説明する。  
ステップＳ５０１では、文書種別ＤＢ１０７から基準特徴量を読み込む。  
ステップＳ５０２では、対象文字列を含む文書から抽出した特徴量と、文書種別ＤＢ１０７に格納される文書種別ごとの基準特徴量とを、それぞれ比較して類似度を算出する。  
ステップＳ５０３では、基準特徴量のうち、対象文字列を含む文書の特徴量と基準特徴量との類似度が最も高い基準特徴量と対応付けられる種別を、対象文字列を含む文書の文書種別として判定する。以上で種別判定処理を終了する。
【００２８】
次に、種別判定部１０２において予め生成される対応表生成処理について図６のフローチャートを参照して説明する。図６に示す処理は、対象文字列が入力される前に、文書種別に応じたデータベースの優先度を予め設定するための予備処理である。  
ステップＳ６０１では、文書種別ＤＢ１０７から文書種別および基準特徴量を取得する。  
ステップＳ６０２では、参照可能なデータベースからリストを取得する。参照可能なデータベースは、システムからアクセス（読み込み）可能なデータベースである。本実施形態では、共起フレーズＤＢ１０８、ユーザ入力履歴ＤＢ１０９、共起語辞書ＤＢ１１０、グループ共有辞書ＤＢ１１１のデータベースがあるとする。これらの利用可能なデータベースは、設定時に探索したり、明示的に格納場所とデータベースの特徴とをリストとしてシステムに与えることで、リストが取得可能であるとする。
【００２９】
ステップＳ６０３では、リストに基づいて各データベースと各文書種別との類似度を比較する。一例として、各文書種別に対応する基準特徴量における高頻度語の集合を、各文書種別を代表する「文書」と想定することによって、文書ベクトルを生成できる。よって、文書種別の文書ベクトルと、各データベースに格納されている単語をベクトルとした文書ベクトルとの間で、例えばコサイン類似度を計算することにより類似度を比較することができる。  
ステップＳ６０４では、文書種別とデータベースとの間の類似度に基づいて、類似度の高い順にデータベースを抽出した類似対応表を生成し、保持する。すなわち、類似度が高いほど優先度が高く設定される。類似対応表は、例えば表１のように文書種別に応じて優先して検索すべきデータベースが把握できればよい。
【表１】
2014186395.tif 000003
【００３０】
なお、ある文書種別には特定のデータベースを使う、という対応付けを人手で作成してもよい。また、図６に示す対応表生成処理により得られる対応表は、文書種別が決定されれば、検索元となるデータベースが決定できるので、検索処理において毎回必要になる訳ではない。よって、予め出力済みのものを参照してもよく、サーバから配信されるなどでシステムが読み込み可能な状態になっていればよい。  
このように文書種別に応じて検索元となるデータベースの優先度を設定することで、文書に応じて適切な関連文字列を検索することができる。例えば、買い物リストであれば、以前にユーザが購入した商品が含まれる可能性が高いので、ユーザ入力履歴ＤＢの優先度を高く設定すればよいし、議事録メモであれば、グループ内での専門用語が含まれる可能性が高いので、グループ共有辞書の優先度を高く設定すればよい。
【００３１】
次に、候補検索部１０３における検索処理について図７のフローチャートを参照して説明する。  
ステップＳ７０１では、文書種別とデータベースとの類似対応表を読み込む。  
ステップＳ７０２では、種別判定部１０２から検索クエリとなる対象文字列を取得する。  
ステップＳ７０３では、類似対応表に基づいて優先度の高い順にデータベースを選択する。  
ステップＳ７０４では、ステップＳ７０３で選択されたデータベースから対象文字列を検索クエリとして検索し、データベースの中で対象文字列の修正候補となるような文字列、さらに、キーワードの共起語や他の表記バリエーションとなる文字列があれば、これらの文字列を関連文字列として取得する。さらに、取得した関連文字列について、データベース間の優先度を考慮したスコアを算出する。  
ステップＳ７０５では、検索対象となるデータベースについて全てチェックしたどうかを判定する。検索対象となるデータベースについて全てチェックした場合はステップＳ７０６に進み、データベースについて全てチェックしていない、すなわちまだチェックしていないデータベースがあれば、ステップＳ７０３に戻り、同様の処理を繰り返す。  
ステップＳ７０６では、算出したスコアに従って関連文字列を並び替える。以上で、候補検索部１０３における検索処理を終了する。
【００３２】
次に、候補検索部１０３におけるスコア算出処理の具体例について図８を参照して説明する。  
図８の例では、文書中の対象文字列として「どうぶつ」を取得した場合を想定する。また、対象文字列を検索するデータベースとしては、同音異表記変換に関するデータベースＡ、一般文書からの統計量によって共起頻度が記載された共起フレーズデータベースＢ、ユーザやグループ間の入力履歴から、隣接する単語の共起情報を算出して蓄積するユーザ入力履歴データベースＣ、の３つを用意する例を示す。  
データベース間の優先度を考慮しない場合には、対象文字列「どうぶつ」に関連する関連文字列のスコアは、図８（ａ）に示すように各データベース内でのスコアが高い順にソートされる。各データベース内でのスコアは、共起頻度数を正規化したものを予め算出しておく。図８（ａ）の例では、３つのデータベースから、スコアが高い順に関連文字列を取得すると、データベースＡ「動物  ０．８」、データベースＣ「動物たち  ０．６」、データベースＢ「どうぶつの森  ０．５」、データベースＢ「動物占い  ０．４」となる。
【００３３】
ここで、類似対応表を参照して、文書種別に基づく各データベースの重み値をそれぞれのスコアに乗算する。ここでは、データベースＡ「０．１」、データベースＢ「０．６」およびデータベースＣ「０．３」に設定する。各関連文字列のスコアとデータベース間の重み付けとを掛け合わせた結果が、図８（ｂ）のテーブルになる。  
図８（ｂ）に示すテーブルは、関連文字列８０１、元のスコア８０２、重み値８０３および更新後スコア８０４がそれぞれ対応付けられる。  
関連文字列８０１は、辞書から抽出される対象文字列に関連する文字列である。  
元のスコア８０２は、関連文字列が属するそれぞれのデータベース内での類似度のスコアである。  
重み値８０３は、データベース間の優先度に応じて決定された重み値である。  
更新後スコア８０４は、元のスコア８０２と重み値８０３とに基づいた更新後のスコアであり、関連文字列が格納されているデータベース名も共に示す。
【００３４】
データベース間の優先度を考慮すると、例えば、データベースＡに格納される関連文字列「動物  ０．８」は、データベースＡの重み値８０３が「０．１」であるので、更新後スコア８０４は、０．８×０．１＝０．０８となる。同様に、データベースＢに格納される関連文字列「動物の森  ０．５」は、データベースＢの重み値８０３が「０．６」であるので、更新後スコア８０４は、０．５×０．６＝０．３０となる。  
データベースＡに格納される「動物」のほうがデータベースＢに格納される関連文字列「動物の森」よりも元のスコアは高い。しかし、データベースＢのほうがデータベースＡよりも優先度が高いので、データベースＢに格納される「動物の森」が他の関連文字列よりもスコアが高くなる。このようにデータベース間の優先度を考慮することで、処理対象の文書の種別に応じた適切な文字列をユーザに提示することができる。
【００３５】
次に、提示部に表示されるユーザインタフェースの一例について図９を参照して説明する。  
図９（ａ）は、対象文字列を含む文書の文書種別が買い物リストである場合を示し、図９（ｂ）は、対象文字列を含む文書の文書種別が一般文書である場合を示す。  
図９（ａ）の例では、表１に示すように、文書種別が買い物リストであるときのデータベースの優先度は、共起フレーズＤＢ、ユーザ入力履歴ＤＢ、共起語辞書ＤＢの順であるため、それぞれ対象文字列９０１「どうぶつの里」に対する共起語として、スコアに基づいて関連文字列９０２「さあこい」「おいでよ」「みんなの」が提示される。  
また、図９（ｂ）の例では、同じキーワードであるが文書種別が異なり、文書種別が一般文書だった場合の候補として、「さあこい」「横浜」「海浜公園」「絶滅危惧」などとともに、対象文字列中の「どうぶつ」の変換候補として「動物」が関連文字列９０２として提示される。  
ユーザは、これらの候補に対して、ユーザが意図する関連文字列をペンでタップしたり、チェックするなどして確定することで関連文字列を選択し、選択文字列を決定できる。
【００３６】
次に、文字認識精度に応じたユーザインタフェースの出力例について図１０を参照して説明する。  
図１０（ａ）では「どうぶつ」という手書きストロークが「どうぶつ」と正しく文字認識されている場合の結果であり、図９（ｂ）に示す文書種別が一般文書と同じような候補が出現する。  
一方、図１０（ｂ）では、「どうぶつ」の文字認識結果が「どらぶつ」となり、文字認識結果が誤っている場合の例を示す。  
「どらぶつ」で接辞書引きができないことから誤認識であると判定されるが、誤認識であることを直接ユーザに明示しない。この場合、「どらぶつ」と文字列として距離の近い「どうぶつ」や他の認識候補である「どらぷつ」などの語に展開して、これらの文字列を関連文字列として情報を保持し、検索などにはこれらの候補の単語も含めてマッチングを行えばよい。  
また、ユーザが対象文字列「どうぶつの里」の表示領域に下線を引くなどにより、検索条件が満たされた場合には、認識結果「どらぶつ」を提示し、ユーザに修正および確認を促してもよい。 
次に、変換部１０５における文字列のリサイズ処理について図１１を参照して説明する。  
選択文字列の挿入先となる指定領域（テキストエリア）には、長さや高さ、周辺の図形や罫線、論理構造といった制約が存在する場合がある。図１１（ａ）では、表の内部（セル）に記載した文字列が補間されて挿入される例を示す。対象文字列１１０１「どうぶつの里」というユーザのストロークは、セル１１０２のフォントサイズを考慮して書かれた大きさの文字であるが、関連文字列１１０３「いこうよ」をそのまま挿入した場合には、文字列がセルをはみ出てしまう。よって、ユーザが関連文字列１１０３「いこうよ」を確定し、さらに書きかけの「どうぶつの里」を書き終えた時点で、１つのフレーズ１１０４「いこうよどうぶつの里」のフォントサイズをまとめて変更し、文書のセル１１０２の内部に収まるようにフレーズ１１０４を縮小して挿入する。  
図１１（ｂ）では、図形１１０５の内部に文字列を記載する例を示す。図１１（ｂ）についても同様に、関連文字列１１０３の確定時に直ちに関連文字列１１０３が挿入されるわけではなく、図形内部のフレーズ１１０４が書き終わるのを待ち、フレーズ１１０４が書き終わった時点でフレーズ１１０４全体の文字サイズを縮小する。  
なお、文字列をリサイズすることに限らず、文字列のサイズを変更せずにセルまたは図形のサイズを変更するようにしてもよい。また、フォントサイズが変更された場合には、変更箇所を容易に把握できるように文字色を変更してもよい。
【００３７】
このように、ユーザの手書きの癖やオリジナル記号などの特徴的なストロークを考慮して、文字認識誤りなどを強制的にシステムが修正したり、ユーザが自然に書き進めたりすることができる。また、対象文字列と文書中で距離が離れて共起する語についても関連文字列として提示することができる。例えば、文書種別が手紙であれば、あいさつ語として、冒頭に拝啓、末尾に敬具といったような文書中の距離が離れる単語セットについても、関連文字列としてユーザに提示することができる。さらに、手書きストロークに関連する単語の検索などにも利用することができる。
【００３８】
以上に示した本実施形態に係る文書作成支援装置によれば、ユーザの記入誤りまたは文字列の曖昧性があると想定される文字列に対し、文書の種別に応じて参照するデータベースを変更することで、文書の内容に基づいた適切な候補を提示することができる。また、選択文字列を挿入する際にユーザの手書きフォントに変更して文書に挿入したり、指定領域内に収まるように文字列のフォントサイズを変更して挿入することで、ユーザは選択作業のみで、所望の文字列を文書中に挿入することができ、ユーザの文書作成を効率的に支援することができる。
【００３９】
上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した文書作成支援装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フレキシブルディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ±Ｒ、ＤＶＤ±ＲＷ、Ｂｌｕ−ｒａｙ（登録商標）Ｄｉｓｃなど）、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をＣＰＵで実行させれば、上述した実施形態の文書作成支援装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。  
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワーク等のＭＷ（ミドルウェア）等が本実施形態を実現するための各処理の一部を実行してもよい。  
さらに、本実施形態における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、ＬＡＮやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。  
また、記録媒体は１つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本実施形態における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
【００４０】
なお、本実施形態におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。  
また、本実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本実施形態における機能を実現することが可能な機器、装置を総称している。
【００４１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行なうことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００４２】
１００・・・文書作成支援装置、１０１・・・特徴抽出部、１０２・・・種別判定部、１０３・・・候補検索部、１０４・・・候補選択部、１０５・・・変換部、１０６・・・提示部、１０７・・・文書種別データベース（ＤＢ）、１０８・・・共起フレーズデータベース（ＤＢ）、１０９・・・ユーザ入力履歴データベース（ＤＢ）、１１０・・・共起語辞書データベース（ＤＢ）、１１１・・・グループ共有辞書データベース（ＤＢ）、１１２・・・フォントデータベース（ＤＢ）、８０１・・・関連文字列、８０２・・・元のスコア、８０３・・・重み値、８０４・・・更新後スコア、９０１、１１０１・・・対象文字列、９０２，１１０３・・・関連文字列、１１０２・・・セル、１１０４・・・フレーズ、１１０５・・・図形。
【図１】
2014186395.tif 000004
【図２】
2014186395.tif 000005
【図３】
2014186395.tif 000006
【図４】
2014186395.tif 000007
【図５】
2014186395.tif 000008
【図６】
2014186395.tif 000009
【図７】
2014186395.tif 000010
【図８】
2014186395.tif 000011
【図９】
2014186395.tif 000012
【図１０】
2014186395.tif 000013
【図１１】
2014186395.tif 000014