(57)【特許請求の範囲】
【請求項１】
文字入力アプリケーションプログラムであって、
入力された入力文字列の変換候補である変換候補文字列を変換文字列辞書情報から取得し、
オペレーティングシステムにアクティブアプリケーションの問い合わせを行い、該アクティブアプリケーションを特定し、
アプリケーション毎の機能と対応付けられている機能情報を含む機能辞書情報から、前記アクティブアプリケーションに対応付けられている機能情報の中で前記入力文字列と対応付けられている機能情報を特定し、該特定された機能情報に含まれる機能指定文字列を取得し、
前記変換候補文字列と、該特定された機能情報に含まれる機能指定文字列とを含む提示情報を生成して前記オペレーティングシステムに受け渡し、
前記提示情報に含まれる文字列のうちのいずれかを指定する指定情報の入力を前記オペレーティングシステムから受け付け、
指定された文字列が前記特定された機能情報に含まれる機能指定文字列である場合に、前記オペレーティングシステムに前記特定された機能情報に対応付けられている機能の実行を指示する、
処理をコンピュータに実行させる、文字入力アプリケーションプログラム。
【請求項２】
前記機能情報は、該機能情報に対応づけられているアプリケーションを特定するためのアプリケーション情報、入力候補文字列、機能指定文字列、及び該機能情報に対応付けられている機能を呼び出すための呼出情報を含み、
前記機能指定文字列を取得する処理は、前記機能辞書情報から、前記アクティブアプリケーションに対応付けられている前記アプリケーション情報を含む機能情報の中で、前記入力文字列と対応付けられている前記入力候補文字列を有する前記機能情報を特定して、該特定された機能情報に含まれる機能指定文字列を取得することを含み、
前記機能の実行を指示する処理は、前記特定された機能情報に含まれる呼出情報に基づいて、前記オペレーティングシステムに機能の実行を指示することを含む、
ことを特徴とする、請求項１に記載の文字入力アプリケーションプログラム。
【請求項３】
前記呼出情報は、オペレーティングシステム又はアプリケーションにおいて機能を呼び出すためのショートカットキーの情報、ＡＰＩの実行プログラムの情報、又はコマンドの情報であることを特徴とする、請求項２に記載の文字入力アプリケーションプログラム。
【請求項４】
前記機能辞書情報は、アプリケーションに依存しない機能である共通機能を呼び出すための機能情報を更に含み、
前記機能指定文字列を取得する処理は、前記入力文字列と対応付けられている前記共通機能を呼び出すための機能情報を特定して、該特定された共通機能を呼び出すための機能情報に含まれる機能指定文字列を取得する処理を更にコンピュータに実行させることを含むことを特徴とする、請求項１から３のいずれか一項に記載の文字入力アプリケーションプログラム。
【請求項５】
前記文字入力アプリケーションプログラムは、
前記入力文字列が単語を表す文字列であるか、１つ以上の文節を表す文字列であるかを判定する処理をコンピュータに実行させることを更に含み、
前記機能指定文字列を取得する処理は、前記入力文字列が単語である場合に実行されることを特徴とする、請求項１から４のいずれか一項に記載の文字入力アプリケーションプログラム。
【請求項６】
前記機能情報は、一つの機能に対して複数の入力候補文字列を含むことを特徴とする、請求項２に記載の文字入力アプリケーションプログラム。
【請求項７】
文字入力アプリケーションを備える文字入力装置であって、
入力された入力文字列の変換候補である変換候補文字列を変換文字列辞書情報から取得する変換候補取得部と、
オペレーティングシステムにアクティブアプリケーションの問い合わせを行い、該アクティブアプリケーションを特定するアクティブアプリケーション特定部と、
アプリケーション毎の機能と対応付けられている機能情報を含む機能辞書情報から、前記アクティブアプリケーションに対応付けられている機能情報の中で前記入力文字列と対応付けられている機能情報を特定し、該特定された機能情報に含まれる機能指定文字列を取得する機能情報特定部と、
前記変換候補文字列と、該特定された機能情報に含まれる機能指定文字列とを含む提示情報を生成して前記オペレーティングシステムに受け渡す提示情報生成部と、
前記提示情報に含まれる文字列のうちのいずれかを指定する指定情報の入力を前記オペレーティングシステムから受け付けて、指定された文字列が前記特定された機能情報に含まれる機能指定文字列である場合に、前記オペレーティングシステムに前記特定された機能情報に対応付けられている機能の実行を指示する実行指示部と、
を含む、文字入力装置。
【請求項８】
コンピュータによって実行される文字入力による機能実行方法であって、
入力された入力文字列の変換候補である変換候補文字列を変換文字列辞書情報から取得し、
オペレーティングシステムにアクティブアプリケーションの問い合わせを行い、該アクティブアプリケーションを特定し、
アプリケーション毎の機能と対応付けられている機能情報を含む機能辞書情報から、前記アクティブアプリケーションに対応付けられている機能情報の中で前記入力文字列と対応付けられている機能情報を特定し、該特定された機能情報に含まれる機能指定文字列を取得し、
前記変換候補文字列と、該特定された機能情報に含まれる機能指定文字列とを含む提示情報を生成して前記オペレーティングシステムに受け渡し、
前記提示情報に含まれる文字列のうちのいずれかを指定する指定情報の入力を前記オペレーティングシステムから受け付け、
指定された文字列が前記特定された機能情報に含まれる機能指定文字列である場合に、前記オペレーティングシステムに前記特定された機能情報に対応付けられている機能の実行を指示する、
ことを含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
いくつかの実施形態は文字入力装置、文字入力による機能実行方法、及び文字入力プログラムに関する。
【背景技術】
【０００２】
一般的な日本語入力システムでは、ユーザは、入力装置を用いてローマ字、又はかな文字等の文字列を入力する。例えば、パーソナルコンピュータ等に搭載されているＩＭＥ（Input Method Editor）などの日本語入力システムでは、ユーザにより入力された文字列がオペレーティングシステム（ＯＳ）を介してＩＭＥに受け渡される。ＩＭＥは入力文字列を受け取ると、入力文字列で辞書データを検索する。そして、入力された文字列と対応付けられている例えば漢字混じりの変換候補文字列を取得し、取得した変換候補文字列を例えばＯＳを介してユーザに提示する。ユーザは提示された変換候補文字列の中から、文字列を選択することで所望の文字列の入力を完了することができる。この文字入力に関する一連の処理は、文字入力アプリケーションを利用する様々なアプリケーションで一般に共通している。
【０００３】
一方で、個々のアプリケーションは多機能を備えるようになってきている。そのため、アプリケーションでは、ユーザが目的とする機能を探し当てられるようにするために、各種の機能をグループ分けして表示するように構成したり、また、ヘルプ機能を備えたり等の工夫がなされている。しかしながら、これらのグループ分け表示や、ヘルプ機能を備えたとしても、例えばユーザが使用したい機能の呼び出し方法を知らない場合には、メニューバーやツールバーの各項目を探したり、ヘルプ機能を参照したりしなければならなかった。そのため、ユーザは実行したい機能の呼び出し方を特定するために多くの時間を費やしていた。
【０００４】
また、機能の実行にショートカットキーが割り当てられているアプリケーションも存在する。ショートカットキーにより機能を実行するためには、割り当てられたショートカットキーを覚える必要がある。しかしながら、ショートカットキーは意味の無い記号の組み合わせで構成されているものが多く、また、アプリケーション毎に同じ機能であっても異なるショートカットキーが割り当てられていることもあった。そのため、ショートカットキーを覚えることは困難であった。
【０００５】
従来技術として、文字入力処理が実行される場面に応じた入力候補文字列をユーザに提示できる技術が知られている。
また、ユーザからのヘルプ機能を要求する要求文に対して、現在の操作や処理状態に応じた機能候補に絞り込み、不必要な機能候補の表示を抑制する技術が知られている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−１８６２３５号公報
【特許文献２】特開平１０−１７７４４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、例えばメニューバー、ツールバー、又はショートカットキーなどに割り当てられている機能の呼び出しを文字入力により容易に実行することのできる仕組みは無かった。本発明に係るいくつかの実施形態は、例えばメニューバー、ツールバー、又はショートカットキーなどに割り当てられている機能の呼び出しを文字入力により容易に実行することのできる仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一つの態様の文字入力アプリケーションプログラムは、入力された入力文字列の変換候補である変換候補文字列を変換文字列辞書情報から取得し、オペレーティングシステムにアクティブアプリケーションの問い合わせを行い、アクティブアプリケーションを特定し、アプリケーション毎の機能と対応付けられている機能情報を含む機能辞書情報から、アクティブアプリケーションに対応付けられている機能情報の中で入力文字列と対応付けられている機能情報を特定し、特定された機能情報に含まれる機能指定文字列を取得し、変換候補文字列と、特定された機能情報に含まれる機能指定文字列とを含む提示情報を生成してオペレーティングシステムに受け渡し、提示情報に含まれる文字列のうちのいずれかを指定する指定情報の入力をオペレーティングシステムから受け付け、指定された文字列が特定された機能情報に含まれる機能指定文字列である場合に、オペレーティングシステムに特定された機能情報に対応付けられている機能の実行を指示する、処理をコンピュータに実行させる。
【発明の効果】
【０００９】
上述の態様により、例えばメニューバー、ツールバー、又はショートカットキーなどに割り当てられている機能の呼び出しを文字入力により容易に実行することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】いくつかの実施形態に係る文字入力アプリケーションを実装する情報処理装置を実現するためのハードウェア構成を例示する図である。
【図２】いくつかの実施形態に係る情報処理装置の機能ブロック構成を例示する図である。
【図３】いくつかの実施形態に係る変換文字列辞書情報を例示する図である。
【図４】いくつかの実施形態に係る機能辞書情報を例示する図である。
【図５】いくつかの実施形態に係る文字入力アプリケーションによる文字変換及び機能呼出処理を例示する動作フロー図である。
【図６】いくつかの実施形態に係る変換候補文字列リストを例示する図である。
【図７】いくつかの実施形態に係る機能指定文字列リストを例示する図である。
【図８】いくつかの実施形態に係る提示情報を例示する図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら、いくつかの実施形態について詳細に説明する。なお、複数の図面において対応する要素には同一の符号を付した。
図１は、いくつかの実施形態に係る文字入力アプリケーション２２０を実装する情報処理装置１００を実現するためのハードウェア構成を例示する図である。図２は、いくつかの実施形態に係る情報処理装置１００の機能ブロック構成を例示する図である。
【００１２】
図１に示される情報処理装置１００は、文字入力アプリケーション２２０を備える、例えば、パーソナルコンピュータ、タブレット端末、携帯電話、及びＰＤＡ（Personal Digital Assistance）などの装置である。情報処理装置１００は、プロセッサ１０１、メモリ１０２、記憶装置１０３、読取装置１０４、通信インタフェース１０６、及び入出力部１０７を含む。プロセッサ１０１、メモリ１０２、記憶装置１０３、読取装置１０４、通信インタフェース１０６、入出力部１０７は、例えば、バス１０８を介して互いに接続されている。
【００１３】
プロセッサ１０１は例えばＣＰＵ（Central Processing Unit）である。メモリ１０２は、例えば半導体メモリであり、ＲＡＭ領域及びＲＯＭ領域を含んで構成される。記憶装置１０３は、例えばハードディスク、フラッシュメモリ等の半導体メモリである。
【００１４】
読取装置１０４は、プロセッサ１０１の指示に従って着脱可能記録媒体１０５にアクセスする。着脱可能記録媒体１０５は、例えば、半導体デバイス（ＵＳＢメモリ等）、電磁気的作用により情報が入出力される媒体（磁気ディスク等）、光学的作用により情報が入出力される媒体（ＣＤ−ＲＯＭ、ＤＶＤ等）などにより実現される。通信インタフェース１０６は、プロセッサ１０１の指示に従ってネットワーク１１０を介してデータを送受信する。入出力部１０７は例えば入力装置１１１、及び出力装置１１２に接続されており、入力装置１１１、及び出力装置１１２ユーザとの間のインタフェースとして機能する。入力装置１１１は、例えば、ユーザからの指示を受け付ける装置であり、例えば、キーボード、タッチパネル、音声入力装置及びマウス等を含む。出力装置１１２は、例えば、ユーザに対して情報を出力する装置であり、例えば、ディスプレー等の表示装置及びスピーカ等の音声デバイスなどを含む。
【００１５】
例えば、以上のような構成を有する情報処理装置１００により、いくつかの実施形態に係る文字変換及び機能呼出処理が実行される。図２はいくつかの実施形態に係る情報処理装置１００の機能ブロック構成を例示する図である。
【００１６】
制御部２００は、例えば、プロセッサ１０１を含む。記憶部２０１は、例えば、メモリ１０２、記憶装置１０３、及び読取装置１０４を介して接続される着脱可能記録媒体１０５などを含む。制御部２００は、記憶部２０１に記憶されているプログラム２５０を読み出して実行することで、例えば読取装置１０４、通信インタフェース１０６、入出力部１０７などの情報処理装置１００の各部を制御する。また、制御部２００は、記憶部２０１に記憶されているプログラム２５０を読み出して実行することで、例えばオペレーティングシステム２１０、文字入力アプリケーション２２０、及びその他の様々なアプリケーション２３０の機能を提供する。
【００１７】
オペレーティングシステム２１０は、例えば、文字入力アプリケーション２２０、アプリケーション２３０などの複数のアプリケーションソフトから共通して利用される機能を提供し、情報処理装置１００全体を管理するソフトウェアである。オペレーティングシステム２１０の機能には、例えば、キーボード入力及び画面出力といった入出力部１０７、入力装置１１１、及び出力装置１１２の制御、並びにメモリ１０２及び記憶装置１０３などの記憶部２０１の管理などが含まれる。オペレーティングシステム２１０は、記憶部２０１に格納されているプログラム２５０を読み出して実行することで、後述する、例えば、入力文字列受渡部２１１、提示部２１２、及び指定情報受付部２１３として機能する。
【００１８】
文字入力アプリケーション２２０は、例えば、ＩＭＥであり、オペレーティングシステム２１０の指示に従って動作する。文字入力アプリケーション２２０は、例えば、テキストエディタ、ブラウザ、文書作成ソフトなどのアプリケーション２３０に入力される入力文字列を変換する機能を提供する。また、いくつかの実施形態に係る文字入力アプリケーション２２０は、記憶部２０１に格納されているプログラム２５０を読み出して実行することで各種機能部として機能する。これらの機能部には、例えば、入力文字列受取部２２１、変換候補取得部２２２、入力判定部２２３、アクティブアプリケーション特定部２２４、機能情報特定部２２５、提示情報生成部２２６、及び実行指示部２２７が含まれる。これらの機能部による処理についての詳細は後述する。
【００１９】
記憶部２０１は、例えば、プログラム２５０、変換文字列辞書情報３００、機能辞書情報４００などを格納している。また、記憶部２０１には、後述する変換候補取得部２２２、機能情報特定部２２５、及び提示情報生成部２２６により生成された例えば変換候補文字列リスト６００、機能指定文字列リスト７００、及び提示情報８００が格納されてもよい。プログラム２５０は、制御部２００を、例えば、オペレーティングシステム２１０、文字入力アプリケーション２２０、及びその他のアプリケーション２３０として機能させるためのプログラム２５０を含む。
【００２０】
なお、以下で説明されるいくつかの実施形態に係る文字入力アプリケーション２２０のプログラム２５０はクラウド上のサーバ１０９等の情報処理装置１００に実装されてもよい。また、この場合に、入力文字列はネットワーク１１０を介して情報処理装置１００のＯＳ２１０に入力されてもよい。
【００２１】
また、実施形態に係る文字入力アプリケーション２２０のプログラム２５０は、例えば、下記の形態で情報処理装置１００に提供されてもよい。
（１）記憶装置１０３に予めインストールされている。
（２）着脱可能記録媒体１０５により提供される。
（３）プログラムサーバなどのサーバ１０９から提供される。
【００２２】
続いて、図２を参照して、制御部２００によって実行されるいくつかの実施形態に係る文字変換及び機能呼出処理について簡単に説明する。例えば、或るアプリケーション２３０において、キーボードなどの入力装置１１１を介して文字列が入力されると、オペレーティングシステム２１０を介して、入力された文字列が文字入力アプリケーション２２０へと受け渡される。文字入力アプリケーション２２０は、入力文字列を用いて、変換文字列辞書情報３００を検索し、入力文字列と対応している変換候補文字列３０３で構成された変換候補文字列リスト６００を取得する。また、文字入力アプリケーション２２０は、入力文字列が１つの単語を表す文字列であるか、１つ以上の文節を表す文字列であるかを判定する。
【００２３】
入力文字列が単語ではなく１つ以上の文節を表す文字列である場合には、取得した変換候補文字列３０３から提示情報８００を生成してＯＳ２１０へと受け渡し、ＯＳ２１０は例えば出力装置１１２を介してユーザに提示情報８００を提示する。ユーザが表示された提示情報８００に含まれる変換候補文字列３０３の中から例えば入力装置１１１を介して文字列を指定すると、指定された文字列を特定する指定情報が、ＯＳ２１０を介して文字入力アプリケーション２２０へと通知される。文字入力アプリケーション２２０は、通知された指定情報により、指定された文字列が機能指定文字列４０４であるか否かを判定する。ここでは、上述したように文節の変換であるため、指定された文字列は変換候補文字列３０３であり、機能指定文字列４０４ではない。そのため、文字入力アプリケーション２２０は指定された文字列をアクティブアプリケーションの例えば、カーソル位置等に、挿入するようにＯＳ２１０に指示する。この指示により、ＯＳ２１０は、アクティブアプリケーションの例えばカーソル位置等に指定された文字列を挿入する。
【００２４】
一方、入力判定部２２３により、入力文字列が単語であると判定された場合には、文字入力アプリケーション２２０は、オペレーティングシステム２１０に、現在のアクティブアプリケーションについての情報の問い合わせを行う。この問い合わせの結果に基づいて、文字入力アプリケーション２２０は、現在のアクティブアプリケーションを特定する。なお、アクティブアプリケーションとは、現在アクティブウィンドウとなっているアプリケーションのことである。続いて、文字入力アプリケーション２２０は、入力文字列を用いて機能辞書情報４００を検索し、入力文字列に対応するアクティブアプリケーションの機能が機能辞書情報４００に登録されていれば、その機能を指定するための機能指定文字列４０４を取得する。文字入力アプリケーション２２０は、取得した変換候補文字列３０３と、機能指定文字列４０４とから提示情報８００を生成してＯＳ２１０に受け渡し、ＯＳ２１０は、提示情報８００をユーザに提示する。ユーザが提示された提示情報８００から文字列を指定すると、ＯＳ２１０を介して文字入力アプリケーション２２０に指定情報が入力される。文字入力アプリケーション２２０は、指定情報により指定された文字列が機能指定文字列４０４であるか否かを判定する。指定された文字列が機能指定文字列４０４でない場合は、文字入力アプリケーション２２０は、オペレーティングシステム２１０に指定された文字列の挿入の実行を指示する。これにより、アクティブアプリケーションの例えばカーソル位置等に指定された文字列が挿入される。一方、ユーザにより指定された文字列が機能指定文字列４０４である場合には、文字入力アプリケーション２２０は機能辞書情報４００から指定された機能指定文字列４０４に対応する機能を呼び出すための情報を取得する。文字入力アプリケーション２２０は、取得した機能を呼び出すための情報を用いて、機能の実行指示をＯＳ２１０に行う。ＯＳ２１０は、機能の実行指示に従い例えば印刷の実行等の機能を実行する。
【００２５】
以上で述べたように、上記の実施形態によれば、ユーザは、アプリケーション２３０の文字入力領域等に文字列を入力し、表示された提示情報８００から目的の機能と対応する機能指定文字列４０４を指定することで、その機能の呼び出しを実行することができる。以下、いくつかの実施形態に係る文字変換及び機能呼出処理ついて、図３から図８を参照して詳細に説明する。
【００２６】
図３は、いくつかの実施形態に係る変換文字列辞書情報３００を例示する図である。図４は、いくつかの実施形態に係る機能辞書情報４００を例示する図である。図５は、いくつかの実施形態に係る文字入力アプリケーション２２０による文字変換及び機能呼出処理を例示する動作フロー図である。図６は、いくつかの実施形態に係る変換候補文字列リスト６００を例示する図である。図７は、いくつかの実施形態に係る機能指定文字列リスト７００を例示する図である。図８は、いくつかの実施形態に係る提示情報８００を例示する図である。
【００２７】
図３に示される、変換文字列辞書情報３００は、入力文字列を変換候補文字列３０３に対応付けるための情報である。変換文字列辞書情報３００は変換候補情報３０１を含む。図３に示す変換候補情報３０１では、例えば、入力候補文字列３０２、変換候補文字列３０３、及び変換補助情報３０４が対応付けられている。入力候補文字列３０２は、ユーザよって入力される可能性のある入力候補となる文字列を格納している。例えば、入力候補文字列３０２には文字入力の際にユーザによって入力され得る変換処理前の文字列が登録されている。本実施形態においては、入力候補文字列３０２には、ユーザによって入力され得る単語の「読み仮名」が登録されている。文字入力の際にユーザによって入力され得る単語には、例えば、一般名詞、固有名詞、形容詞、及び動詞、並びにユーザが登録した単語などが含まれており、それらの単語の「読み仮名」の情報が入力候補文字列３０２には登録されている。
【００２８】
変換候補文字列３０３は、入力候補文字列３０２に登録されている文字列の変換候補となる文字列が登録されている。例えば、図３の例では、入力候補文字列３０２に登録されている「読み仮名」を有する漢字表記の単語、入力候補文字列３０２に登録されている「読み仮名」のひらがな、カタカナ、及びアルファベット表記の文字列が変換候補文字列３０３として登録されている。
【００２９】
変換補助情報３０４には、入力候補文字列３０２から、その変換候補となる変換候補文字列３０３を特定する上で補助となる情報が登録されている。例えば、図３の例では、変換候補文字列３０３として変換候補情報３０１で対応づけられている単語の「品詞」が格納されている。変換候補文字列３０３の「品詞」は、例えば、名詞、形容詞、及び動詞などの情報を含んでもよく、動詞の場合には、その動詞の活用の情報（例えば、か行五段活用など）を含んでいても良い。
【００３０】
例えば、以上のような、変換文字列辞書情報３００を作成し、記憶部２０１に格納しておく。それにより、文字入力アプリケーション２２０は、ユーザにより入力され入力文字列で変換文字列辞書情報３００の入力候補文字列３０２を検索することで、入力文字列と対応づけられている変換候補となる変換候補文字列３０３を取得することができる。
【００３１】
なお、図３に示される変換文字列辞書情報３００は一例であって、実施形態に係る変換文字列辞書情報３００はこれに限定されるものではない。一般にＩＭＥなどの文字入力アプリケーション２２０は、文字入力アプリケーション２２０の種類、及び入力する言語の種類（例えば、日本語、中国語、及び韓国語）等によって入力文字列、その変換の方式、並びに変換に必要な情報などが異なる。そして、文字入力アプリケーション２２０で用いられる変換文字列辞書情報３００も、その文字入力アプリケーション２２０の種類、及び入力される言語等によって様々な形式のものが存在する。それらの多様な変換文字列辞書情報３００が、いくつかの実施形態に係る変換文字列辞書情報３００として利用されてもよい。例えば、一実施形態においては、変換補助情報３０４は変換文字列辞書情報３００に含まれていなくてもよい。
【００３２】
続いて、図４を参照して、いくつかの実施形態に係る機能辞書情報４００の例を説明する。機能辞書情報４００は機能情報４０１を含む。機能情報４０１は、機能を呼び出すためにユーザよって入力され得る文字列と、アプリケーション２３０及びＯＳ２１０などが備える機能の呼び出しに必要な情報とを対応づける情報である。なお、機能とは、例えば、印刷の実行、ファイルの保存、及びヘルプウィンドウの表示などのアプリケーション２３０及びＯＳ２１０において呼び出して実行することが可能な機能のことである。図４で例示される機能辞書情報４００の機能情報４０１は、それぞれ特定の機能と対応づけられており、その機能の呼び出しに必要となる情報が含まれている。機能情報４０１は、例えば、アプリケーション情報４０２、入力候補文字列４０３、機能指定文字列４０４、対象情報４０５、並びに呼出情報４０６として実行方式情報４０７及び実行指示情報４０７などの情報を含んでいる。機能情報４０１により、これらのアプリケーション情報４０２、入力候補文字列４０３、機能指定文字列４０４、対象情報４０５、並びに呼出情報４０６としての実行方式情報４０７及び実行指示情報４０８は対応付けられている。
【００３３】
アプリケーション情報４０２は、その機能情報４０１に対応づけられている機能と関連付けられているアプリケーション２３０を特定する情報である。即ち、アプリケーション情報４０２には、後述する機能情報４０１に基づいた機能の実行指示により機能が呼び出されるアプリケーション２３０についての情報が格納される。換言すると、機能情報４０１に対応付けられている機能は、アプリケーション情報４０２に示されるアプリケーション２３０において呼び出すことができる。アプリケーション情報４０２には、例えば、ＯＳ２１０から取得可能なアプリケーション２３０に関する情報が格納される。ＯＳ２１０から取得可能なアプリケーション２３０に関する情報には、例えば、アプリケーション２３０のクラス名（CLASS）、アプリケーション２３０の実行ファイルへのパス（PATH）、タイトルバーに含まれる文字列などが含まれる。なお、機能情報４０１に対応づけられている機能が、特定のアプリケーション２３０に依存しない機能である場合には、アプリケーション情報４０２には共通の機能であることを示す情報（例えば、図４では「共通」）が格納される。特定のアプリケーション２３０に依存しない機能とは、いずれのアプリケーション２３０においても実行可能な機能のことである。特定のアプリケーション２３０に依存しない機能は、例えばＯＳ２１０が有する機能であり、例えば、ウィンドウの最大化及び最小化、並びにＯＳ２１０のシャットダウン及び再起動などの機能を含む。
【００３４】
入力候補文字列４０３には、例えば、その機能情報４０１に対応付けられている機能を呼び出すためにユーザが入力する文字列が登録されている。入力候補文字列４０３に登録される文字列の形式には、例えば、変換文字列辞書情報３００の入力候補文字列３０２と同じ形式（例えば単語の“読み仮名”など）が採用される。即ち、ユーザが入力した文字列を用いて、変換文字列辞書情報３００の入力候補文字列３０２と、機能辞書情報４００の入力候補文字列４０３をいずれも検索できるように構成されている。また、入力候補文字列４０３に登録可能な文字列としては、ユーザにより例えば、キーボードなどの入力装置１１１を介して入力される文字列と同じ形式であれば任意の文字列を利用できる。しかしながら、例えば、ユーザが覚えやすいように、入力候補文字列４０３に格納される文字列は、機能情報４０１に対応付けられている機能を表す単語の「読み仮名」等の文字列であってよい。また、入力候補文字列４０３には、１つの機能情報４０１に複数の文字列が登録されていてもよく、例えば、図４の機能辞書情報４００では、３段目に「いんさつ」と「ぷりんと」の２つの文字列が登録されている機能情報４０１の例が示されている。
【００３５】
機能指定文字列４０４には、後述する提示情報８００としてユーザに提示する際に表示する文字列の情報が格納されている。機能指定文字列４０４として登録可能な文字列としては、任意の文字列を利用できる。しかしながら、例えば、ユーザが機能指定文字列４０４から、その機能情報４０１に対応付けられている機能を特定しやすいように、機能指定文字列４０４にはその機能情報４０１に対応づけられている機能を表す文字列が登録されてもよい。
【００３６】
対象情報４０５には、その機能情報４０１に対応付けられている機能が実行される対象についての情報を格納している。例えば、特定のアプリケーション２３０で実行される機能である場合には、その特定のアプリケーション２３０を示す情報（例えば、アプリケーション２３０のクラス名など）が対象情報４０５に格納される。例えば、図４の入力候補文字列４０３が「けんさく」となっている機能情報４０１の対象情報４０５には「ブラウザＡ」が格納されている。この例では文字入力アプリケーション２２０によって呼び出された機能が実行される対象はブラウザＡである。また、対象情報４０５として現在のアクティブアプリケーションが指定されてもよい。この場合は、機能が実行される対象がアクティブアプリケーションであることを示す情報（例えば、「アクティブアプリケーション」）が対象情報４０５に格納される。例えば、入力候補文字列４０３が「さいだいか」となっている機能情報４０１の対象情報４０５には、「アクティブアプリケーション」が格納されている。この例では、文字入力アプリケーション２２０によって呼び出された機能が実行される対象はアクティブアプリケーションである。
【００３７】
呼出情報４０６は、機能情報４０１に対応づけられている機能を呼び出すための情報である。図４に示される機能辞書情報４００の機能情報４０１は、呼出情報４０６として実行方式情報４０７及び実行指示情報４０８を含んでいる。実行方式情報４０７は、機能情報４０１に対応づけられている機能の実行を指示する方式を示す情報である。実行方式情報４０７に登録される方式は、例えば、アプリケーション２３０及びＯＳ２１０で利用可能なショートカット、ＡＰＩ（Application Program Interface）の実行プログラム、及びコマンドなどの実行方式を含む。
【００３８】
実行指示情報４０８は、その機能情報４０１に対応付けられている機能の実行を指示する情報を格納している。実行指示情報４０８には、その機能情報４０１の実行方式情報４０７に応じた情報が格納される。例えば、実行方式情報４０７がショートカットである場合には、その機能情報４０１に対応付けられている機能を起動する指示として割り当てられているショートカットキーの情報が格納される。また、実行方式情報４０７がＡＰＩである場合には、その機能情報４０１に対応付けられている機能を起動するＡＰＩの実行を指示する情報が格納される。また、実行方式情報４０７がコマンドである場合には、その機能情報４０１に対応付けられている機能の起動を指示するコマンドの情報が格納される。
【００３９】
続いて、図５を参照して、いくつかの実施形態に係る文字入力アプリケーション２２０によって実行される文字変換及び機能呼出処理を説明する。ユーザがキーボードなどの入力装置１１１を介して文字列をＯＳ２１０の入力文字列受渡部２１１に入力する。そして、入力された入力文字列が入力文字列受渡部２１１から文字入力アプリケーション２２０の入力文字列受取部２２１へと受け渡されると図５に示す動作フローは開始する。ステップＳ５０１において、変換候補取得部２２２は、変換文字列辞書情報３００に登録されている変換候補情報３０１の中から、受け渡された入力文字列と対応付けられている入力候補文字列３０２を有する変換候補情報３０１を検索する。対応する変換候補情報３０１がある場合には、対応する変換候補情報３０１に含まれる変換候補文字列３０３を取得し、取得した変換候補文字列３０３から変換候補文字列リスト６００を生成する。変換候補文字列リスト６００の一例を図６に示す。図６には、入力文字列「いんさつ」で図３の変換文字列辞書情報３００を検索した場合に変換候補取得部２２２によって生成される変換候補文字列リスト６００を例示した。
【００４０】
なお、受け渡された入力文字列が単語ではなく１つ以上の文節を表している場合には、受け渡された文字列を、例えば、形態素解析を用いて文節単位に区切り、文節ごとに変換する部位及び変換する単語を確定する等の処理が行われ入力文字列の変換が行われる。この入力文字列が１つ以上の文節を表しているか否かの判定、及び１つ以上の文節を表している場合における入力文字列の変換処理については、既存のＩＭＥ等で利用されている入力文字列を文節単位で変換する技術を利用することで実施することが可能である。
【００４１】
続いて、ステップＳ５０２において、入力判定部２２３は入力文字列受取部２２１に受け渡された入力文字列が、単語であるか否かを判定する。上述したように、ステップＳ５０１において、入力文字列が１つ以上の文節を表している場合には、文節としての変換処理が行われる。そのため、ステップＳ５０１で、文節としての変換を行った場合には、ステップＳ５０２で入力判定部２２３がＮｏと判定するように構成してもよい。或いは、ステップＳ５０２における単語であるか否かを判定は、入力文字列の全長で変換文字列辞書情報３００を検索し、対応する変換候補情報３０１が有れば単語と判定し、無ければ１つ以上の文節を表す文字列であると判定するように構成してもよい。ステップＳ５０２において、入力文字列が単語でない場合には、入力判定部２２３はＮｏと判定しフローはステップＳ５０５へと進む。一方、入力文字列が単語である場合には、入力判定部２２３はＹｅｓと判定し、フローはステップＳ５０３へと進む。
【００４２】
ステップＳ５０３において、アクティブアプリケーション特定部２２４は、ＯＳ２１０にアクティブアプリケーションの問い合わせを行い、アクティブアプリケーションを特定する。問い合わせの結果、アクティブアプリケーション特定部２２４は、ＯＳ２１０からアクティブアプリケーションのアプリケーション情報４０２を取得する。アプリケーション情報４０２は、アクティブアプリケーションがどのアプリケーション２３０であるかを特定するために利用できる情報である。ＯＳ２１０からのアクティブアプリケーションのアプリケーション情報４０２を取得する例として、例えば、ＯＳ２１０の開発元等からＯＳ２１０用のＡＰＩが提供されている場合には、それを利用することが考えられる。例えば、ＯＳ２１０用のＡＰＩに、アクティブアプリケーションのウィンドウハンドルを取得するＡＰＩ、ウィンドウを構成しているアプリケーション２３０のクラス名を取得するＡＰＩ等が含まれている場合がある。また、ウィンドウを構成しているアプリケーション２３０の実行ファイルへのパスを取得するＡＰＩが含まれている場合もある。アクティブアプリケーション特定部２２４は、例えばこれらのＡＰＩを実行することで、アクティブウィンドウのウィンドウハンドル及びアクティブウィンドウを構成するアプリケーション２３０のクラス名等をＯＳ２１０から取得することができる。そして、取得した例えばアクティブウィンドウを構成するアプリケーション２３０のクラス名等を、アプリケーション２３０を特定するためのアプリケーション情報４０２として用いることができる。なお、アクティブアプリケーション特定部２２４によるアクティブアプリケーションのアプリケーション情報４０２の取得は、上記の例に限定されるものでは無く、その他の手法が用いられてもよい。ステップＳ５０３において、アクティブアプリケーション特定部２２４がアクティブアプリケーションのアプリケーション情報４０２を取得し、アクティブアプリケーションを特定すると、フローはステップＳ５０４へと進む。
【００４３】
ステップＳ５０４において、機能情報特定部２２５は、ＯＳ２１０から受け渡された入力文字列と、ステップＳ５０３で取得したアクティブアプリケーションのアプリケーション情報４０２とを用いて機能辞書情報４００を検索する。検索の結果、入力文字列及びアクティブアプリケーションのアプリケーション情報４０２に対応付けられている機能情報４０１がある場合には、機能情報特定部２２５は、対応する機能情報４０１に含まれる機能指定文字列４０４を取得する。機能情報特定部２２５は、取得した機能指定文字列４０４から機能指定文字列リスト７００を生成する。機能情報特定部２２５による機能辞書情報４００の検索は例えば以下のように行われてもよい。
【００４４】
機能情報特定部２２５は、まず、機能辞書情報４００のアプリケーション情報４０２を、アクティブアプリケーションのアプリケーション情報４０２で検索し、値が一致する機能情報４０１を特定する。この処理により、アクティブアプリケーションにおいて実行可能な機能と対応付けられている機能情報４０１が特定される。続いて、機能情報特定部２２５は、特定したアクティブアプリケーションに対する機能情報４０１に対して、入力文字列を用いて検索を実行する。そして、機能情報特定部２２５は、入力候補文字列４０３が入力文字列と対応している機能情報４０１を機能指定文字列リスト７００の作成に用いる機能情報４０１として特定する。また、上述したように機能辞書情報４００において、アプリケーション情報４０２が「共通」となっている機能情報４０１は、アプリケーションに依存しない機能と対応づけられている機能情報４０１である。即ち、これらアプリケーション情報４０２が「共通」となっている機能情報４０１に対応付けられている機能は、アクティブアプリケーションが何であっても実行することが可能な機能である。そのため、機能情報特定部２２５は、機能辞書情報４００のアプリケーション情報４０２が「共通」となっている機能情報４０１についても、入力文字列を用いて検索を実行する。機能情報特定部２２５は、アプリケーション情報４０２が「共通」となっている機能情報４０１のうちで、入力候補文字列４０３が入力文字列と対応している機能情報４０１を機能指定文字列リスト７００の作成に用いる機能情報４０１として特定する。機能情報特定部２２５は、以上で特定されたアクティブアプリケーションの機能情報４０１と、アプリケーション情報４０２が共通の機能情報４０１とから機能指定文字列４０４を取得し、機能指定文字列リスト７００を生成する。
【００４５】
なお、図４に示す機能辞書情報４００には、入力候補文字列４０３に複数の文字列が登録されている機能情報４０１がある。一実施形態においては、機能情報特定部２２５は、これらの複数の入力候補文字列４０３のいずれかに入力文字列が対応していれば、その機能情報４０１をステップＳ５０４で特定する。例えば、図４の機能辞書情報４００の３段目には「いんさつ」と「ぷりんと」の２つの文字列が一つの機能指定文字列である「印刷起動」に対して登録されている。このような機能情報４０１は、例えば入力文字列が「いんさつ」であっても、「ぷりんと」であっても、ステップＳ５０４で機能情報特定部２２５により入力文字列と対応する機能情報４０１として特定される。
【００４６】
図７は機能情報特定部２２５により生成された機能指定文字列リスト７００の例である。図７の機能指定文字列リスト７００には、機能情報特定部２２５が特定した機能情報４０１の機能指定文字列４０４が含まれている。なお、図７に示す例では、機能情報特定部２２５により複数の機能情報４０１が特定され、複数の機能指定文字列４０４が取得される例を示した。しかしながら、入力文字列及びアクティブアプリケーションのアプリケーション情報４０２と対応する機能情報４０１が無い場合には、アクティブアプリケーションに対する機能情報４０１の機能指定文字列４０４は取得されない。同様に入力文字列と対応するアプリケーション情報４０２が共通の機能情報４０１がない場合には、アプリケーション情報４０２が共通の機能情報４０１の機能指定文字列４０４は取得されない。従って、機能情報特定部２２５により機能情報４０１が特定されない場合には、機能指定文字列４０４は取得されず、機能指定文字列リスト７００は生成されない。
【００４７】
ステップＳ５０５において、提示情報生成部２２６はステップＳ５０１で生成した変換候補文字列リスト６００と、ステップＳ５０４で生成した機能指定文字列リスト７００とから提示情報８００を生成する。提示情報８００はユーザに対して提示され、ユーザからの指定を受け付けるために用いられる。なお、ステップＳ５０２において、Ｎｏと判定された場合、及びステップＳ５０４において機能情報特定部２２５が機能辞書情報４００を検索した結果、機能情報４０１が特定されない場合には、機能指定文字列リスト７００は生成されない。この場合には、変換候補文字列リスト６００から提示情報８００が生成される。
【００４８】
提示情報８００の一例を図８に示した。図８に示す提示情報８００では、変換候補文字列リスト６００と、機能指定文字列リスト７００とが合せられている。また、機能指定文字列リスト７００由来の機能指定文字列４０４については、変換候補文字列３０３と区別できるように提示情報８００における表示形式を異なる表示形式にしてもよい。例えば、図８の例では、機能指定文字列４０４の先頭には「⇒」が挿入するように構成されており、変換候補文字列３０３と区別できるようになっている。或いは、提示情報８００は、機能指定文字列４０４と変換候補文字列３０３と区別できるように、例えば、いずれかの文字列については表示形式をハイライトしたり、文字色を変更したりするなど、その他の方式で区別できるように構成されていてもよい。
【００４９】
また、提示情報８００における変換候補文字列３０３及び機能指定文字列４０４の並び順は、任意の順番であってよい。しかしながら、既存のＩＭＥには、例えば、ユーザが回数多く指定した変換候補の文字列を上位に配置するように並べ替える機能を備えているものがある。或いは、変換を行う入力文字列の前や後ろにある変換済みの文字列と関連の深い変換候補文字列を上位に配置するように並べ替える機能を備えているものがある。例えばこれらの既知の変換候補文字列の表示の並べ替え技術を、いくつかの実施形態における提示情報生成部２２６による提示情報８００の表示順の並べ替えにおいて利用してもよい。或いは、提示情報生成部２２６は、機能指定文字列４０４については、提示情報８００の最上段に表示されるように表示順を制御するというように、ユーザに提示する際の最初の表示ページに必ず機能指定文字列４０４が含まれるように表示順を制御してもよい。
【００５０】
提示情報生成部２２６は、例えば、以上のようにして生成した提示情報８００をＯＳ２１０の提示部２１２へと受け渡し、フローはステップＳ５０６へと進む。ステップＳ５０６において、実行指示部２２７はＯＳ２１０からの指定情報の入力を受け付ける。ここで、ステップＳ５０５で提示情報生成部２２６から提示情報８００を受け渡されたＯＳ２１０の提示部２１２は、受け取った提示情報８００を例えばディスプレーなどの出力装置１１２を介して提示し、ユーザからの指定を受け付ける。ユーザが例えばキーボードなどの入力装置１１１を介して提示情報８００から変換候補文字列３０３又は機能指定文字列４０４のいずれかの項目を指定すると、その指定された項目を通知する指定情報がＯＳ２１０の指定情報受付部２１３に入力される。ＯＳ２１０の指定情報受付部２１３は入力された指定情報を文字入力アプリケーション２２０の実行指示部２２７へと受け渡す。図５のステップＳ５０６に戻り、文字入力アプリケーション２２０の実行指示部２２７がＯＳ２１０の指定情報受付部２１３から指定情報を受け渡されると、フローはステップＳ５０７へと進む。ステップＳ５０７において、実行指示部２２７は指定情報で指定された項目が機能指定文字列４０４であるか否かを判定する。指定された項目が機能指定文字列４０４である場合には（ステップＳ５０７がＹｅｓ）、フローはステップＳ５０８へと進む。一方、指定された項目が機能指定文字列４０４では無く変換候補文字列３０３である場合には（ステップＳ５０７がＮｏ）、フローはステップＳ５０９へと進む。
【００５１】
ステップＳ５０８において、実行指示部２２７は、指定された機能指定文字列４０４を含む機能情報４０１から、対応する機能の呼び出すための呼出情報４０６である実行方式情報４０７及び実行指示情報４０８を取得する。実行指示部２２７は、取得した実行方式情報４０７及び実行指示情報４０８に応じて、指定された機能指定文字列４０４を含む呼び出し対象の機能情報４０１に対応付けられている機能の実行をＯＳ２１０に指示する。例えば、呼び出し対象の機能情報４０１の実行方式情報４０７がショートカットである場合には、実行指示部２２７は実行指示情報４０８に示されるショートカットキーの入力信号をソフトウェア的に発生させるなどにより、ＯＳ２１０に機能の実行を指示する。それにより、アクティブアプリケーション又はＯＳ２１０において、入力されたショートカットキーと対応する機能が実行される。また、呼出対象の機能情報４０１の実行方式情報４０７がＡＰＩである場合には、実行指示部２２７は実行指示情報４０８に示されるＡＰＩの実行プログラムの実行をＯＳ２１０に指示する。これにより、アクティブアプリケーション又はＯＳ２１０において機能情報４０１に対応づけられている機能が実行される。また、呼出対象の機能情報４０１の実行方式情報４０７がコマンドである場合には、実行指示部２２７は実行指示情報４０８に示されるコマンドの実行をＯＳ２１０に指示する。以下、これらの機能の実行の指示について、更に例示する。
【００５２】
例えば、図４の入力候補文字列４０３が「へっだ」の機能情報４０１に対応する機能は以下の場合に実行が指示される。即ち、アクティブアプリケーションがアプリケーションＡ、且つ、入力文字列が「へっだ」であり、更に、提示情報８００の中から機能指定文字列「ヘッダ起動」が指定された場合に実行指示部２２７は対応する機能の実行を指示する。この場合に、実行指示部２２７は、機能情報４０１から実行方式情報４０７「ＡＰＩ」、及び実行指示情報４０８「ヘッダ起動ＡＰＩ」を取得する。実行方式情報４０７が「ＡＰＩ」であるので、実行指示部２２７は、実行指示情報４０８「ヘッダ起動ＡＰＩ」に対応するＡＰＩの実行プログラムの実行をＯＳ２１０に指示する。ＯＳ２１０が指示されたＡＰＩの実行プログラムを実行することで、アクティブアプリケーションのアプリケーションＡにおいて、例えば、ヘッダ編集用のダイアログの表示等の機能情報４０１に対応付けられた機能が実行される。
【００５３】
同様に、図４のアプリケーション情報４０２が「アプリケーションＢ」で、入力候補文字列４０３が「へるぷ、ほじょ」の機能情報４０１に対応する機能は以下の場合に実行が指示される。即ち、アクティブアプリケーションがアプリケーションＢ、且つ、入力文字列が「へるぷ」又は「ほじょ」であり、更に、提示情報８００の中から機能指定文字列「ヘルプ起動」が指定された場合に実行指示部２２７は対応する機能の実行を指示する。この場合に、実行指示部２２７は、機能情報４０１から実行方式情報４０７「ショートカット」、及び実行指示情報４０８「Ｆ１」を取得する。実行方式情報４０７が「ショートカット」であるので、実行指示部２２７は、実行指示情報４０８「Ｆ１」に対応する例えばキーボード等の入力信号を例えばソフトウェア的に疑似発生させる。これにより、ＯＳ２１０は、アクティブアプリケーションにおいてショートカットキー「Ｆ１」が入力されたと判断し、アプリケーションＢでショートカットキー「Ｆ１」に割り当てられているヘルプウィンドウの起動等の機能が実行される。
【００５４】
また、図４の機能指定文字列４０４「検索サイトＧ」で、入力候補文字列４０３が「けんさく」の機能情報４０１に対応する機能は以下の場合に実行が指示される。即ち、入力文字列が「けんさく」であり、更に、提示情報８００の中から機能指定文字列「検索サイトＧ」が指定された場合に実行指示部２２７は対応する機能の実行を指示する。この場合に、実行指示部２２７は、機能情報４０１から実行方式情報４０７「コマンド」、及び実行指示情報４０８「start "" "C:\Program Files\Browser\Browser.EXE" www.****.com」を取得する。実行方式情報４０７が「コマンド」であるので、実行指示情報４０８「start "" "C:\Program Files\Browser\Browser.EXE" www.****.com」はコマンドである。実行指示部２２７は、実行指示情報４０８「start "" "C:\Program Files\Browser\Browser.EXE" www.****.com」を例えばＯＳ２１０に実行するように指示する。それによって、ＯＳ２１０により機能情報４０１に対応づけられている機能が実行される。なお、この場合、実行指示情報４０８には例えばＯＳ２１０に対して定義されているコマンドが格納されている。例えば、上記のコマンド「start "" "C:\Program Files\Browser\Browser.EXE" www.****.com」について説明をする。このコマンドは"C:\Program Files\Browser\Browser.EXE"に示されるブラウザＡの実行ファイルを実行するようにＯＳ２１０に指示するコマンドである。また、その実行により起動されるブラウザＡにおいて、ＵＲＬ：www.****.comを開くように指示する情報も含んでいる。従って、このコマンドをＯＳ２１０が実行することによりブラウザＡは、ＵＲＬ“www.****.com”を開いた状態で起動される。
【００５５】
例えば、以上のようにして、ステップＳ５０８で、実行指示部２２７は指定された機能指定文字列４０４を含む機能情報４０１と対応付けられている機能の実行をＯＳ２１０に指示した後、本フローは終了する。なお、ステップＳ５０７で機能指定文字列４０４であると判定され、ステップＳ５０８で対応する機能を実行する場合には、入力文字列の入力はキャンセルするように構成してもよい。この場合には、入力文字列は例えばアクティブアプリケーションのカーソル位置等に挿入されることはない。
【００５６】
また、ステップＳ５０７において、実行指示部２２７により、指定された項目が機能指定文字列４０４ではないと判定された場合、指定された項目は変換候補文字列３０３である。この場合には、ステップＳ５０９において、実行指示部２２７は、指定された変換候補文字列３０３の挿入をＯＳ２１０に指示し、本フローは終了する。ＯＳ２１０は、図５のステップＳ５０９において実行指示部２２７により、変換候補文字列３０３の挿入を指示されると、指示された変換候補文字列３０３を例えばアクティブアプリケーションのカーソル位置に挿入する。
【００５７】
以上で述べたように、いくつかの実施形態に係る文字入力アプリケーション２２０によれば、ユーザは、例えばキーボード、マウス、タッチパネル、音声入力装置等の入力装置１１１を介して文字列を入力することで、機能を呼び出すことが可能となる。従って、ユーザは目的の機能を実行するために、目的の機能の呼び出すためのメニュー内での位置等をヘルプ機能等の説明書を読んで探す必要なく、文字入力を介して目的の機能を実行することが可能となる。或いは、ユーザは目的の機能を呼び出すために、例えば、メニュー項目を複数階層たどって目的の機能を探し当てる必要なく、文字入力を介して目的の機能を実行することが可能となる。また、ユーザは目的の機能を呼び出すために、意味の無い記号の組み合わせで構成されることの多いショートカットキーを覚える必要が無く、実行される機能を推測しやすい文字列の入力により機能を実行することが可能となる。更には、ユーザは目的の機能を呼び出すために、例えばドキュメントを作成している最中のキーボードを打つ作業等の止める必要が無く、機能を呼び出すことができるため、作業効率が改善される。従って、いくつかの実施形態の文字入力アプリケーション２２０によれば、機能の呼び出しを容易に行うことが可能となる。
【００５８】
なお、変換候補取得部２２２による入力文字列を用いた変換候補文字列リスト６００の生成、及び機能情報特定部２２５による入力文字列を用いた機能指定文字列リスト７００の生成は様々な手法で実施することが可能である。例えば、一実施形態においては、変換候補取得部２２２は、入力文字列と一致する入力候補文字列３０２を有する変換候補情報３０１を変換文字列辞書情報３００から検索するように構成されていてもよい。また、機能情報特定部２２５は、入力文字列と一致する入力候補文字列４０３を有する機能情報４０１を機能辞書情報４００から検索するように構成されていてもよい。この場合、変換候補取得部２２２は、検索された一致する入力候補文字列３０２を有する変換候補情報３０１の変換候補文字列３０３から変換候補文字列リスト６００を生成する。また、機能情報特定部２２５は、検索された一致する入力候補文字列４０３を有する機能情報４０１の機能指定文字列４０４から機能指定文字列リスト７００を生成する。例えば、以上のようにして、変換候補文字列リスト６００及び機能指定文字列リスト７００が生成されてもよい。
【００５９】
或いは、既存のＩＭＥ等には、入力文字列を用いて変換文字列辞書情報３００を検索する際に、例えば、入力文字列として入力される文字列の揺らぎ及びあいまいさを考慮して検索を実行する（以降、あいまい検索と呼ぶ）ものがある。更には、既存のＩＭＥ等には、辞書データに対して、入力中の文字列を用いてインクリメンタルサーチを行い、ユーザが入力しようとしている文字列をサジェストする機能を備えているものもある。例えば、これらの既存の入力文字列による辞書データの検索技術を、いくつかの実施形態に係る入力文字列を用いた変換文字列辞書情報３００及び機能辞書情報４００の検索に利用してもよい。例えば、あいまい検索を用いて変換文字列辞書情報３００を検索する一実施形態においては、入力文字列「へった」に対応する変換候補情報３０１として、入力候補文字列３０２に「へっだ」を有する変換候補情報３０１が特定されてもよい。また、例えば、あいまい検索を用いて機能辞書情報４００を検索する一実施形態においては、入力文字列「へった」に対応する機能情報４０１として、入力候補文字列４０３に「へっだ」を有する機能情報４０１が特定されてもよい。
【００６０】
また、上述したいくつかの実施形態では、主に日本語の入力を例に文字入力アプリケーション２２０の動作について説明を行ったが、本発明に係る実施形態はこれに限定されるものではない。例えば、中国語や韓国語等の日本語以外の言語を入力するための入力文字列の変換を伴う文字入力アプリケーション２２０に対しても、上記の文字入力アプリケーション２２０による入力文字列に基づいた機能の呼び出し処理を導入できることが理解されよう。また更に、既存のＩＭＥ等には、文字列の変換を伴わずに入力された文字を直接カーソル位置等に挿入するものがある。例えば、英語入力用のＩＭＥなどでは、入力されたアルファベット等の文字が直接カーソル位置等に挿入される。例えば、このようなＩＭＥ等であっても、日本語入力用のＩＭＥの変換キー等の代替として、文字列を用いて機能辞書情報４００の検索を起動するショートカットキー等を用意することでいくつかの実施形態に係る文字列の入力による機能の呼び出しが可能となる。例えば、ユーザが「print」と入力された文字列を選択し、選択範囲を入力文字列として字入力アプリケーション２２０の機能辞書情報４００の検索する処理を起動する。そして、入力された「print」を入力文字列として、例えば図５のステップＳ５０３〜ステップＳ５０８の処理を変形して実行することで、印刷処理を実行するように文字入力アプリケーション２２０が構成されてもよい。
【００６１】
続いて、図４に示す機能辞書情報４００への機能情報４０１の登録についての例を説明する。機能辞書情報４００への機能情報４０１の登録は例えばユーザが実行してもよい。機能辞書情報４００の登録に必要な情報はいずれもアプリケーション２３０及びＯＳ２１０のベンダーが公開していれば、ユーザが入手することが可能な情報である。従って、ユーザは使用するアプリケーション２３０が有する機能に対して、好みの文字列を入力候補文字列４０３及び機能指定文字列４０４として割り当てて機能辞書情報４００に機能情報４０１を登録することができる。これにより、ユーザは、その入力候補文字列４０３及び機能指定文字列４０４を用いて対応する機能を呼び出すことができる。或いは、アプリケーション２３０及びＯＳ２１０のインストールの際に、インストールされるアプリケーション２３０及びＯＳ２１０で利用可能な機能の機能情報４０１を、機能辞書情報４００に登録するように構成してもよい。文字入力アプリケーション２２０の機能辞書情報４００の仕様が公開されていれば、アプリケーション２３０及びＯＳ２１０のベンダーはインストールの際に機能辞書情報４００に機能に対応する機能情報４０１の登録を実行するように構成することができる。なお、記憶部２０１には、複数の機能辞書情報４００が格納されていてもよい。例えば、ユーザによって個人的に設定された機能辞書情報４００、共通の機能に対する機能情報４０１を含む機能辞書情報４００、アプリケーション毎の機能辞書情報４００というように、その用途に応じて複数の機能辞書情報４００を用意することが考えられる。この場合に、図５のステップＳ５０４の処理は、例えば、複数の機能辞書情報４００を全て検索するように構成してもよいし、用途に応じて一部の機能辞書情報４００を検索するように構成してもよい。
【００６２】
以上において、いくつかの実施形態について説明してきた。しかしながら、本発明に係る実施形態は上記の実施形態に限定されるものではなく、上述の実施形態の各種変形形態及び代替形態を包含するものとして理解されるべきである。例えば、各種実施形態は、その趣旨及び範囲を逸脱しない範囲で構成要素を変形して具体化できることが理解されよう。また、前述した実施形態に開示されている複数の構成要素を適宜組み合わせることにより、本発明に係る種々の実施形態を成すことができることが理解されよう。或いは、実施形態に示される全構成要素からいくつかの構成要素を削除して又は置換して、或いは実施形態に示される構成要素にいくつかの構成要素を追加して本発明に係る種々の実施形態が実施され得ることが当業者には理解されよう。
【符号の説明】
【００６３】
１００  情報処理装置
１０１  制御部
１０２  メモリ
１０３  記憶装置
１０４  読取装置
１０５  着脱可能記録媒体
１０６  通信インタフェース
１０７  入出力部
１０８  バス
１０９  サーバ
１１０  ネットワーク
１１１  入力装置
１１２  出力装置
２００  記憶部
２１０  オペレーティングシステム
２１１  入力文字列受渡部
２１２  提示部
２１３  指定情報受付部
２２０  文字入力アプリケーション
２２１  入力文字列受取部
２２２  変換候補取得部
２２３  入力判定部
２２４  アクティブアプリケーション特定部
２２５  機能情報特定部
２２６  提示情報生成部
２２７  実行指示部
２３０  アプリケーション
２５０  プログラム
３００  変換文字列辞書情報
３０１  変換候補情報
３０２  入力候補文字列
３０３  変換候補文字列
３０４  変換補助情報
４００  機能辞書情報
４０１  機能情報
４０２  アプリケーション情報
４０３  入力候補文字列
４０４  機能指定文字列
４０５  対象アプリケーション情報
４０６  呼出情報
４０７  実行方式情報
４０８  実行指示情報
６００  変換候補文字列リスト
７００  機能指定文字列リスト
８００  提示情報
【図１】
0005817602.tif 000002
【図２】
0005817602.tif 000003
【図３】
0005817602.tif 000004
【図４】
0005817602.tif 000005
【図５】
0005817602.tif 000006
【図６】
0005817602.tif 000007
【図７】
0005817602.tif 000008
【図８】
0005817602.tif 000009