(57)【特許請求の範囲】
【請求項１】
第1書記体系の入力を取得するステップと、
前記第1書記体系の前記入力を入力内容としてインターフェースの第1インターフェース要素に表示するステップと、
入力の時間長を算出するステップであって、前記時間長が前記入力に対応する入力デバイスの作動時間を表しているステップと、
前記入力の前記時間長と閾値とを比較するステップと、
前記時間長が前記閾値より大きいか又は等しい場合には第1書記体系の入力内容を示唆するものとして前記入力を識別するステップと、
前記時間長が前記閾値より小さい場合は第2書記体系の入力内容を示唆するものとして前記入力を識別するステップとを備え、
前記入力が第2書記体系の入力内容として識別された場合は、
前記入力及び第2書記体系の入力内容を示唆する以前の入力に基づいて、前記第2書記体系の1又は2以上の候補を識別するステップと、
前記第1インターフェース要素から分離された第2インターフェース要素に前記第2書記体系の1又は2以上の候補を表示するステップとを備え、
前記第1インターフェース要素は、入力を表示するためのデフォルトインターフェース要素であり、
前記第1インターフェース要素のデフォルト入力コマンドは、前記入力をインターフェースの対象位置にコピーし、
前記第2書記体系の第1候補を、前記第2インターフェース要素の1又は2以上の候補から対応する選択をした後に対象位置にコピーするコンピュータ実行方法。
【請求項２】
前記対応する選択は、前記第1候補をユーザ選択することである請求項1に記載の方法。
【請求項３】
前記第2書記体系の前記1又は2以上の候補は、前記第1書記体系の前記入力の翻訳、翻字、又は発音表記である請求項1に記載の方法。
【請求項４】
前記第1書記体系はピンインであり、前記第2書記体系は漢字である請求項1に記載の方法。
【請求項５】
インターフェースへの現在の入力を決定するステップと、
前記現在の入力の時間長を算出するステップと、
前記現在の入力の前記時間長と閾値を比較するステップと、
前記時間長が前記閾値より大きいか又は等しい場合には第1書記体系の入力内容として、前記時間長が前記閾値より小さい場合は第2書記体系の入力内容を示唆するものとして、前記現在の入力を識別するステップと、
前記現在の入力が前記第1書記体系の入力内容として識別された場合は、前記インターフェースの対象位置に前記現在の入力をコピーするステップと、
前記現在の入力が前記第2書記体系の入力内容を示唆するものとして識別された場合は、前記インターフェースに表示するため、前記現在の入力及び第2書記体系の入力内容を示唆する以前の入力に基づいて、前記第2書記体系の1又は2以上の候補を識別するステップとを備え、
前記時間長は前記入力に対応する入力デバイスの作動時間を表しているコンピュータ実施方法。
【請求項６】
前記現在の入力を、仮想入力デバイスを介して取得する請求項5に記載の方法。
【請求項７】
前記第1書記体系はピンインであり、前記第2書記体系は漢字である請求項5に記載の方法。
【請求項８】
データ処理装置と、データストアからなり、
その内部には、
前記データ処理装置のインターフェースを介して取得した入力を検出する入力モジュールを備える検出エンジンと、
前記入力の時間長を算出するタイミングモジュールであって、前記時間長が前記入力に対応する入力デバイスの作動時間を表わしているタイミングモジュールと、
入力内容として前記インターフェースの第1インターフェース要素に第1書記体系の前記入力を表示するとともに、前記入力が第2書記体系の入力内容として識別された場合は、前記第1インターフェース要素から分離された第2インターフェース要素に表示するため、前記入力及び前記第2書記体系の入力内容を示唆する以前の入力に基づいて、前記第2書記体系の1又は2以上の候補を識別するIMEとを格納し、
前記検出エンジンは、前記時間長が閾値より大きいか又は等しい場合には第1書記体系の入力内容を示唆するものとして前記入力を識別するとともに、前記時間長が前記閾値より小さい場合は第2書記体系の入力内容を示唆するものとして前記入力を識別し、
前記入力は、第1書記体系であるシステム。
【請求項９】
前記第1インターフェース要素は、入力を表示するためのデフォルトインターフェース要素であり、
前記第1インターフェース要素のデフォルト入力コマンドは、前記入力をインターフェースの対象位置にコピーし、
前記第2書記体系の第1候補を、前記第2インターフェース要素の1又は2以上の候補から対応する選択をした後に対象位置にコピーする請求項8に記載のシステム。
【請求項１０】
前記第1書記体系はピンインであり、前記第2書記体系は漢字である請求項8に記載のシステム。
【請求項１１】
データ処理装置と、データストアからなり、
その内部には、
前記データ処理装置のインターフェースを介して取得した入力を検出する入力モジュールと、前記入力の時間長を算出するタイミングモジュールとを備える検出エンジンと、
前記インターフェースの対象位置に表示するため、前記時間長が閾値より大きいか又は等しい場合には第1書記体系の入力内容として、又は前記時間長が前記閾値より小さい場合は第2書記体系の入力内容を示唆するものとして、前記入力を識別するIMEとを備え、
前記データストアは、前記入力が前記第2書記体系の入力内容を示唆するものとして識別された場合、前記対象位置に表示するため、前記入力及び第2書記体系の入力内容を示唆する以前の入力に基づいて、前記第2書記体系の1又は2以上の候補を識別する言語モデルをさらに格納し、
前記入力は、第1書記体系であり、
前記時間長は、前記入力に対応する入力デバイスの作動時間を表わしているシステム。
【請求項１２】
前記第1書記体系はピンインであり、前記第2書記体系は漢字である請求項11に記載のシステム。
【請求項１３】
前記入力の前記時間長は、前記入力デバイスの特定のキーの作動時間を表している請求項1に記載の方法。
【請求項１４】
前記入力の前記時間長は、前記入力デバイスの特定のキーの作動時間を表している請求項5に記載の方法。
【請求項１５】
前記閾値が、ユーザの以前の入力又は傾向に基づいて設定される請求項5に記載の方法。
【請求項１６】
前記入力の前記時間長は、前記入力デバイスの特定のキーの作動時間を表している請求項8に記載のシステム。
【請求項１７】
前記入力の前記時間長は、前記入力デバイスの特定のキーの作動時間を表すとともに、前記閾値が、ユーザの以前の入力又は傾向に基づいて設定される請求項11に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は入力方法に関する。
【背景技術】
【０００２】
書記体系は、言語の音を表すシンボル(例えば、文字又は書記素)を用いる。書記体系における一群のシンボルは、文字体系と称してもよい。例えば、1又は2以上のローマ文字体系における一群のローマ字を備えている、ラテン書記体系は、英語を表すために用いることが可能である。ラテン書記体系は、ブロック体ローマ字(例えば、大文字"B")、活字体ローマ字(例えば、普通の文字"b")、および筆記体ローマ字(例えば、筆記体文字"b")であってもよい。文字"b"の各視覚表現は、ラテン書記体系における同一の書記素を表している。
【０００３】
他の例として、中国語は、2以上の書記体系によって表すことが可能である。例えば、中国語は、第1書記体系(例えば、ピンイン(Pinyin)(又はローマ字表記の中国語))によって表すことが可能である。他の例として、中国語は、第2の書記体系(例えば、注音字母(Bopomofo)又は注音符号(Zhuyin Fuhao)("注音(Zhuyin)"))を用いて表すことが可能である。さらに他の例として、中国語は、第3の書記体系(例えば、漢字(Hanzi))を用いて表すことが可能である。特に、ピンインおよび注音符号は、漢字文字を表すための音声体系(phonetic system)である。
【０００４】
1又は2以上のシンボル(例えば、文字)が一つの単語又は一つの意味におおざっぱに対応している表語文字の書記体系を用いている言語は、例えばモバイルデバイスのキーパット上にあるコンピュータのキーボードなどの、標準入力装置のキーの数以上の文字数を有している。しかしながら、インプットメソッドエディタ(IME)は、入力しようとする文字の書記体系の文字を入力するにあたってのコンピュータのキーボードの使用を容易にする。例えば、IMEは、ピンイン書記体系のローマ字入力を行うことを可能とするとともに、中国語の多くの漢字の文字と前記入力をマッピングすることが可能となる。それ故、第1書記体系の入力用にデザインされたキーボードを、第2書記体系の文章入力に用いることが可能となる。例えば、ローマ文字体系用キーボード(例えば、QWERTYキーボード)を、中国語、日本語、又は韓国語文字の入力に用いることが出来る。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
IMEを実装しているデバイスのユーザは、例えば中国語から英語へと又は英語から中国へと言語間で切り替えることを、あるいは、例えば注音字母中国語を用いて漢字中国語を入力など他の書記体系を用いて第1書記体系の文章を入力することを、頻繁に望む可能性がある。特定言語又は書記体系を選択すること(例えば、モード間の切り替え)を要するような、ユーザ入力の総量又は相互関係が増加するにつれて、IMEの使い勝手は減少する可能性がある。
【課題を解決するための手段】
【０００６】
本明細書は、入力方法に関する技術を記載する。
【０００７】
一般的に、本明細書に記載した本願発明の要旨の一態様は、第1書記体系の入力を取得するステップと、前記第1書記体系の前記入力を、入力内容としてインターフェースの第1インターフェース要素に表示するステップと、前記第1書記体系の前記入力に基づいて、第2書記体系の1又は2以上の候補を自動的に識別するステップと、前記第1インターフェース要素から分離された第2インターフェース要素に前記第2書記体系の1又は2以上の候補を表示するステップとを備え、前記第1インターフェース要素は、入力を表示するためのデフォルトインターフェース要素であり、前記第1インターフェース要素のデフォルト入力コマンドは、前記入力を前記インターフェースの対象位置にコピーし、前記第2書記体系の第1候補を、前記第2インターフェース要素の1又は2以上の候補から対応する選択をした後に前記対象位置にコピーする作用を備える方法として具現してもよい。本態様の他の態様には、対応するシステム、装置、及びコンピュータプログラムがある。
【０００８】
上記又は他の態様は、1又は2以上の以下の特徴を、場合によっては備えていてもよい。前記対応する選択は、前記第1候補をユーザ選択することである。前記第2書記体系の前記1又は2以上の候補は、前記第1書記体系の前記入力の翻訳、翻字(transliteration)、又は発音表記を備えている。上記方法は、入力の時間長を算出するステップと、前記時間長は前記入力に対応する入力デバイスの作動時間を表しており、前記入力の前記時間長と閾値とを比較するステップと、前記比較に基づいて、前記第2書記体系の入力内容を示唆するものとして入力を識別するステップとをさらに備えている。前記第1書記体系はピンインであり、前記第2書記体系は漢字である。
【０００９】
一般的に、本明細書に記載した本願発明の要旨の他の態様は、インターフェースへの現在の入力を決定するステップと、前記現在の入力の時間長を算出するステップと、前記現在の入力の前記時間長と閾値を比較するステップと、前記時間長が前記閾値より大きいか又は等しい場合には第1書記体系の入力内容として、前記時間長が前記閾値より小さい場合は第2書記体系の入力内容を示唆するものとして、前記現在の入力を識別するステップと、前記現在の入力が前記第1書記体系の入力内容として識別された場合は、前記インターフェースの対象位置に前記現在の入力をコピーするステップと、前記現在の入力が前記第2書記体系の入力内容を示唆するものとして識別された場合は、前記インターフェースに表示するため、前記第1書記体系の前記現在の入力に基づいて、前記第2書記体系の1又は2以上の候補を識別するステップとを備え、前記時間長は前記入力に対応する入力デバイスの作動時間を表している作用を備える方法として具現してもよい。上記態様の他の態様には、対応するシステム、装置、及びコンピュータプログラムがある。
【００１０】
上記又は他の態様は、1又は2以上の以下の特徴を、場合によっては備えていてもよい。前記第2書記体系の1又は2以上の候補を識別するステップは、前記現在の入力及び前記第2書記体系の入力内容を示唆する以前の入力に基づいて、前記第2書記体系の前記1又は2以上の候補の生成するステップを備えている。前記現在の入力を、仮想入力デバイスを介して取得する。前記第1書記体系はピンインであり、前記第2書記体系は漢字である。
【００１１】
一般的に、本明細書に記載した本願発明の要旨の他の態様は、データ処理装置と、データストアからなり、その内部には、前記データ処理装置のインターフェースを介して取得した入力を検出する入力モジュールを備える検出エンジンと、入力内容として前記インターフェースの第1インターフェース要素に前記第1書記体系の前記入力を表示するとともに、前記第1インターフェース要素から分離された第2インターフェース要素に表示するため、前記第1書記体系の前記入力に基づいて、第2書記体系の1又は2以上の候補を自動的に識別するIMEとを格納し、前記入力は、第1書記体系であるシステムとして具現してもよい。上記態様の他の態様には、対応する方法、装置、及びコンピュータプログラムがある。
【００１２】
上記又は他の態様は、1又は2以上の以下の特徴を、場合によっては備えていてもよい。前記第1インターフェース要素は、入力を表示するためのデフォルトインターフェース要素であり、前記第1インターフェース要素のデフォルト入力コマンドは、前記入力をインターフェースの対象位置にコピーし、前記第2書記体系の第1候補を、前記第2インターフェース要素の1又は2以上の候補から対応する選択をした後に対象位置にコピーする。検出エンジンは、前記入力の時間長を算出するタイミングモジュールさらに備え、前記時間長は、前記入力に対応する入力デバイスの作動時間を表わしている。前記入力モジュールは、前記入力の前記時間長に基づいて、前記第1書記体系の入力内容として、又は前記第2書記体系の入力内容を示唆するものとして、前記入力を識別する。前記第1書記体系はピンインであり、前記第2書記体系は漢字である。
【００１３】
一般的に、本明細書に記載した本願発明の要旨の他の態様は、データ処理装置と、データストアからなり、その内部には、前記データ処理装置のインターフェースを介して取得した入力を検出する入力モジュールと、前記入力の時間長を算出するタイミングモジュールとを備える検出エンジンと、前記インターフェースの対象位置に表示するため、前記時間長が前記閾値より大きいか又は等しい場合には第1書記体系の入力内容として、又は前記時間長が前記閾値より小さい場合は第2書記体系の入力内容を示唆するものとして、前記入力を識別するIMEとを備え、前記入力は、第1書記体系であり、前記時間長は、前記入力に対応する入力デバイスの作動時間を表わしているシステムとして具現してもよい。上記態様の他の態様には、対応する方法、装置、及びコンピュータプログラムがある。
【００１４】
上記又は他の態様は、1又は2以上の以下の特徴を、場合によっては備えていてもよい。前記データストアは、前記入力が前記第2書記体系の入力内容を示唆するものとして識別された場合、前記対象位置に表示するため、前記第1書記体系の前記入力に基づいて、前記第2書記体系の1又は2以上の候補を識別する言語モデルをさらに格納している。前記第1書記体系はピンインであり、前記第2書記体系は漢字である。
【００１５】
本明細書に記載した本願発明の要旨の特定の態様は、1又は2以上の以下の利点を明確に理解するように実装されてもよい。第1書記体系の入力と、第2書記体系の1又は2以上の候補とを表示する別々のインターフェース要素を用いることは、第1書記体系又は第2書記体系における、入力内容の入力方法を切り替えるのに必要とされるユーザの入力及び相互関係の量を減少させる。その結果、入力方法としての利便性と効率性を向上させ、ユーザエクスペリエンスを改善する。
【００１６】
その上、第1書記体系の入力と、第2書記体系の1又は2以上の候補を表示する別々のインターフェース要素を用いることは、ユーザが慣れ親しんでいる又はユーザにとって既知であるモード(例えば、異なった書記体系のための異なったIMEモード)の数を減らすことになる。その結果、ユーザが意図していないモードを選択する可能性を減少させ、且つさらには入力方法としての利便性と効率性を向上させ、ユーザエクスペリエンスを改善する。
【００１７】
さらに、現在の入力の時間長(例えば、現在の入力に対応する入力デバイスの作動時間)に基づいて、第1書記体系の入力内容として、又は第2書記体系の入力内容を示唆するものとして、前記現在の入力を識別することは、第1書記体系又は第2書記体系における入力内容の入力方法を切り替えるのに必要とされるユーザの入力及び相互関係の量をさらに減らすことになる。その結果、入力方法としての利便性と効率性を向上させ、ユーザエクスペリエンスを改善する。
【００１８】
ユーザの入力及び相互関係の量をさらに減らすことは、より小さなキーパッド又は予測入力型キーボードを備えたモバイルデバイス(例えば、携帯電話)にとって特に有用である。例えば、より小さなキーパッドにおけるユーザの入力及び相互関係の量を減らすことが、ユーザが誤ったキーを選択する可能性も減らすことになる。その結果、入力方法としての効率性と正確性を向上させる。
【００１９】
ユーザの入力及び相互関係の量をさらに減らすことは、ユーザがマルチタスク環境下(例えば、運転中に、全地球測位システム(Global Positioning System)によるナビゲーションデバイスを使用)で操作している場合、又はユーザがデバイス(携帯電話)を操作するため片手もしくは両手で限定的利用をする場合に特に有用である。例えば、マルチタスク環境下におけるユーザの入力及び相互関係の量を減らすことが、ユーザが誤ったキーを選択する可能性も減らすことになる。その結果、複数のこと(例えば、マルチタスク)を実行する際の効率性と正確性を向上させ、且つさらには入力方法としての利便性と効率性を向上させる。
【００２０】
本明細書に記載した本願発明の要旨の1又は2以上の態様の詳細を、添付の図面、及び以下の記載に記述している。前記本願発明の要旨の他の特徴、態様、及び利点は、本明細書の記載、図面、及び特許請求の範囲により明らかになる。
【図面の簡単な説明】
【００２１】
【図１】本明細書に記載したシステム及び方法を実装し活用できるようにしたシステム例のブロック図である。
【図２】図1のIMEを実装し活用できるようにしたソフトウェア例のブロック図である。
【図３】第1書記体系のテキスト入力に基づいて第2書記体系の出力テキスト候補を生成するプロセス例を示したフローチャートである。
【図４Ａ】IMEのインターフェース例を示す図である。
【図４Ｂ】IMEのインターフェース例を示す図である。
【図４Ｃ】IMEのインターフェース例を示す図である。
【図５】第1書記体系のテキスト入力に基づいて第2書記体系の出力テキスト候補を生成する他のプロセス例を示したフローチャートである。
【図６】第1書記体系の入力内容として又は第2書記体系の入力内容を示唆するものとして前記現在の入力を識別する処理の例を示した図である。
【発明を実施するための形態】
【００２２】
異なる図面における同様な参照番号及び参照記号は、同様な要素を示している。
【００２３】
図1は、本明細書に記載したシステム及び方法を実装し活用できるようにしたシステム100の例のブロック図である。例えば、システム100の例では、パーソナルコンピュータデバイスなどのようなコンピュータデバイス、又は携帯電話、携帯通信デバイス、携帯情報端末(PDA)、全地球測位システム(GPS)ナビゲーションデバイス、及びそれらの同類などのような他の電子デバイスに実装してもよい。
【００２４】
システム100の例は、処理デバイス102、第1データストア104、第2データストア106、入力デバイス108、出力デバイス110、及びネットワークインターフェース112を具備している。データバス及びマザーボードを例えば備えているバスシステム114は、構成要素102、104、106、108、110、及び112の間のデータ通信を確立し制御するために使用することが可能である。他のシステム構成も使用してもよい。
【００２５】
例えば、処理デバイス102は、1又は2以上のマイクロプロセッサを具備していてもよい。例えば、第1データストア104は、ダイナミックRAMなどのようなRAM(random access memory)ストレージデバイス、又は他の種類のコンピュータ読取可能媒体メモリデバイスを具備していてもよい。例えば、第2データストア106は、1又は2以上のハードディスク、フラッシュメモリ、及び/又はROM(read only memory)、並びに他の種類のコンピュータ読取可能媒体メモリデバイスを具備していてもよい。
【００２６】
入力デバイス108の例としては、キーボード、マウス、タッチペンなどを具備していてもよいし、且つ出力デバイス110の例としては、ディスプレイデバイス、オーディオデバイスなどを具備していてもよい。例えば、ネットワークインターフェース112は、ネットワーク116に対する又はネットワーク116からの通信データを操作可能な有線又は無線によるネットワークデバイスを具備していてもよい。前記ネットワーク116は1又は2以上のローカルエリアネットワーク(LAN)、インターネットなどのようなワイドエリアネットワーク(WAN)、セルラネットワークなどのような無線ネットワーク、又は前記の全ての組み合わせを具備していてもよい。
【００２７】
ある実施形態において、上記システム100は、データストア106などのようなデータストアにあるインプットメソッドエディタ(IME)コード101を備えていてもよい。前記IMEコード101を、IME機能を実行する処理デバイス102によって実行される命令によって定義してもよい。例えば、前記IMEコード101は、ウェブブラウザ環境で実行できるよ例えばJava(登録商標)Script又はECMAScript命令などのスクリプト命令などのような、インタプリタ命令からなっていてもよい。他の実装では、モバイルデバイス用のキーパッドマッピングを用いることによって、又はモバイルデバイスもしくはパーソナルコンピュータ用のキーボードマッピングを用いることによって、取得したユーザ入力を表示するディスプレイなどのようなユーザインターフェースに使用することを目的として、スタントアロンアプリケーション、アプレット、プラグインモジュールなどを利用してもよい。
【００２８】
IMEコード101の実行は、IMEインスタンス(IMEI)103を生成、又は起動する。前記IMEインスタンス103は、システム100が、例えばピンインを表わすローマ字などのような、文字やシンボルのための入力を取得することができる時間の期間中における、システム100の1又は2以上の入力方法の処理を容易にする。例えば、ユーザは、漢字項目を同定するためのピンイン入力を入力するために、1又は2以上の入力デバイス108(例えば、ローマ文字体系用キーボードなどのキーボード、手書き認識エンジンとともに用いるタッチペン、などなど)を用いることができる。ある実施形態において、漢字項目は、2以上のピンイン入力からなっていてもよい。
【００２９】
上記第1データストア104及び/又は上記第2データストア106は、入力の連想性を格納してもよい。ユーザの入力に基づいて、IMEインスタンス103は、第1データストア104及び/又は第2データストア106にある情報を用いて、前記入力によって表わされる1又は2以上の選択候補を識別するようにしてもよい。ある実施形態において、1又は2以上の選択候補が識別されたのであれば、前記選択候補は、出力デバイス110上に表示される。入力デバイス108を用いて、ユーザは、例えばユーザが入力を所望している漢字項目を選択候補から選択することが可能になる。
【００３０】
ある実施形態において、システム100の上記IMEインスタンス103は、1又は2以上のピンイン入力を取得するとともに、漢字項目へと前記入力を変換してもよい。例えば、IMEインスタンス103は、キー押下によって取得した漢字項目を表わすピンイン音節(例えば、ローマ字)の構成を用いてもよい。例えば、各ローマ字は、ローマ文字体系用キーボードにおけるキーに対応していてもよい。ピンインIMEを用いれば、ユーザは、漢字項目の音を表わす1又は2以上のピンイン音節からなる入力を用いることによって漢字項目の入力が可能となる。またその一方、他の言語及び書記体系用IMEも容易にすることができる。
【００３１】
ある実施形態において、上記システム100へのアクセスを有する遠隔コンピュータシステム118も、表語文字の文字体系を編集するために用いてもよい。例えば、システム100は、ネットワーク116を介して表語文字の文字体系を編集するサーバであってもよい。一実施形態において、ユーザは、例えばクライアントコンピュータのような遠隔コンピュータシステムを用いて、データストア104及び/又はデータストア106に格納された表語文字の文字体系を編集してもよい。例えば、システム100は、文字を選択できるとともに、ネットワークインターフェース越しにユーザからの入力を受信してもよい。例えば、処理デバイス102は、取得した入力及び隣接文字に基づいて、選択した文字に隣接する1又は2以上の文字を識別するとともに、1又は2以上の選択候補を識別してもよい。システム100は、遠隔コンピュータシステムへと戻すための選択候補を含むデータ通信を伝達してもよい。
【００３２】
図2は、図1のIMEを実装し活用できるようにしたソフトウェア例のブロック図である(例えば、IMEI103)。システム200は、ユーザインターフェース202とソフトウェア204とを備えている。ユーザ201は、ユーザインターフェース202を介してシステム200にアクセスするようにしてもよい。ソフトウェア204は、アプリケーション205、IMEエンジン206、オペレーティングシステム(OS)207、言語モデル208、及び検出エンジン210を備えている。オペレーティングシステム207は、ソフトウェア204(例えば、アプリケーション205及びIMEエンジン206)とユーザ201との間のユーザインターフェース202を提供することができるソフトウェアの特別な部分である。
【００３３】
図2を参照すれば、上記言語モデル208は、IMEエンジン206から分離されている。特に、言語モデル208は、別のソフトウェア構成要素としてソフトウェア204に含まれている。他の実施形態が存在してもよい。例えば、言語モデル208は、遠隔に位置していてもよい(例えば、図1の遠隔システム118)。他の実施形態としては、言語モデル208は、IMEエンジン206内に含まれていてもよい。
【００３４】
上記言語モデル208は、1又は2以上の言語サブモデル(例えば、日本語言語サブモデル、中国語言語サブモデルなど)を定義してもよい。例えば、各言語サブモデルは、一連の入力(例えば、翻訳、翻字、又は他の種類の発音表記といった候補を生成するための入力)を入力しようとする際における、ユーザが意図しているであろうことを決定するために用いることができる特有のルールセット(例えば、言語特有の文法、フレーズセット、動詞類など)を定義することができる。各言語サブモデルは、特定ユーザのユーザ履歴(例えば、特定ユーザによって頻繁に使用されている単語又はフレーズの辞書)を含むこともできる。
【００３５】
上記検出エンジン210は、入力モジュール212と、タイミングモジュール214とを具備している。例えば、入力モジュール212は、特定アプリケーション205に対する入力(例えば、第1書記体系の文字を表すキー押下)を取得するとともに、IMEエンジン206に対して取得した入力を送信することができる。ある実施形態において、検出エンジン210は、IMEエンジン206の構成要素となる。
【００３６】
検出エンジン210は、第1書記体系の入力(例えば、ローマ字を含んだピンイン入力)を検出するとともに、IMEエンジン206に対して前記入力を送信するかどうかを決定することができる。例えば、IMEエンジン206は、IMEコード101、並びに関連データストア104及び106を用いるように実装してもよいし、且つ図3乃至図6を参照して以下に記載しているように、上記入力(例えば、ローマ字などのような書記素)が検出された場合、インターフェース(例えば、ユーザインターフェース202)に第2書記体系(例えば、漢字表記などのような語彙項目)における出力候補を提供してもよい。
【００３７】
システム200の構成要素は、互いに1又は2以上と通信可能なように接続していてもよい。上述した前記構成要素は、別々の又は異なったものとして記載しているにもかかわらず、1又は2以上の前記構成要素は、単一のプロセス又はルーチンに結合してもよい。機能ごとに責任を果たすように分離した本明細書における機能的記載は、あくまでも例としてである。他のストレージ・アーキテクチャを利用してもよい。特に、機能的責任における他のグループ分け又は他の区分が、必要に応じて又は設計の都合によってなされてもよい。例えば、IMEエンジン206は、検出エンジン210の機能を実行してもよい。他の実施形態としては、入力モジュール212とタイミングモジュール214とを、単一のモジュールに結合してもよい。
【００３８】
図3は、第1書記体系のテキスト入力に基づいて第2書記体系の出力テキスト候補を生成するプロセス300の例を示したフローチャートである。概説すれば、プロセス300は、第1書記体系の入力を取得するステップ(305)と、前記第1書記体系の前記入力を、入力内容としてインターフェースの第1インターフェース要素に表示するステップ(310)と、前記第1書記体系の前記入力に基づいて、第2書記体系の1又は2以上の候補を自動的に識別するステップ(315)と、前記第1インターフェース要素から分離された第2インターフェース要素に前記第2書記体系の1又は2以上の候補を表示するステップ(320)を備える。前記プロセス300は、図4A乃至図4Cを参照して一例として記載している。
【００３９】
図4A乃至図4Cは、IMEのインターフェース420の例を示す図である。IMEインターフェースは、第1書記体系の入力を提供するための第1インターフェース要素(例えば、編集ボックス(composing box))、及び第2書記体系の出力候補を表示するための第2インターフェース要素(例えば、候補ウィンドウ)を備えていてもよい。
【００４０】
図4Aを参照すれば、IMEインターフェース420は仮想入力デバイス421(例えば、キーボードの仮想表現)も備えていてもよい。例として、前記キーボードは、ローマ字に対応するキーを備えるとともに、ユーザは、例えば一連のローマ字"hell"といった第1書記体系の入力を提供することができるようになる。さらに、前記キーボードは、
【数１】
0005521028.tif 000002
(例えば、英語における"space")とラベル付けされたキーを備えており、それによりユーザは、入力としてスペースを入力できるようになる。
【００４１】
第1書記体系の入力を取得する(例えば、ステップ305)場合、例えば上記検出エンジン210によって検出されれば、IME(例えば、IMEエンジン206)は、入力内容としてインターフェースの第1インターフェース要素に第1書記体系の入力を表示する(310)。まずユーザによって提供され次にシステムによって検出された前記入力は、デフォルトで第1インターフェース要素に表示してもよいので、第1インターフェース要素を、デフォルトのインターフェース要素とみなしてもよい。図4Aを参照すれば、上記一連のローマ字"hell"は、第1インターフェース要素422に表示されている。
【００４２】
その上、第1インターフェース要素のデフォルト入力コマンドは、入力をインターフェース(例えば、グラフィカルユーザインターフェース)の対象位置にコピーする。例えば、タッチセンサ式ディスプレイを具備しているデバイス上で、上記デフォルト入力コマンドは、第1インターフェース要素422の選択を表すジェスチャであってもよい。特に、ユーザは、第1インターフェース要素422を“タッチ"してもよいし、第1インターフェース要素422の入力内容は、図4Cに示されているように、対象位置426(例えば、アプリケーション205用のテキスト入力ボックス)にコピーしてもよい。他の実施形態が存在してもよい。例えば、上記デフォルト入力コマンドは、ユーザデバイス(例えば、携帯電話)上の物理ボタン又はキーを介した入力として取得してもよい。ある実施形態において、上記デフォルト入力コマンドは、図4Bに示しているように、IMEインターフェースにおける他のオブジェクト又は要素の選択であってもよい。
【００４３】
上記ユーザ入力は、検出エンジン210によって受信及び検出される。例えば、IME(例えばIMEエンジン206)は、第1書記体系(ピンインを表わす一連のローマ字)の入力に基づいて、第2書記体系(例えば、漢字)の1又は2以上の候補を自動的に識別してもよい(例えば、ステップ315)。図4Bを参照すれば、図2の検出エンジン210の入力モジュール212は、"hello"を検出するとともに、IMEエンジン206に"hello"を送信する。IMEエンジン206は、前記入力に含まれる書記素"h", "e", "1", "1", "o"に基づいて、言語モデル208を用いて、第1書記体系とは異なる第2書記体系の1又は2以上の候補(例えば、語彙項目)を識別してもよい。
【００４４】
第2書記体系の1又は2以上の候補は、第1インターフェース要素から分離された第2インターフェース要素に表示してもよい(例えば、ステップ320)。図4Aには、漢字項目が、第2インターフェース要素424に表示されている。図4Bには、漢字項目が、第2インターフェース要素444に表示されている。第2書記体系の1又は2以上の候補が第2インターフェース要素に表示されているにもかかわらず、第1書記体系の入力コンテンツは、デフォルト入力コマンドに応答してインターフェースの対象位置にさらにコピーされてもよい。ある実施形態において、仮想キーボードの提示は、デフォルト入力コマンドに対応するキーが表示されるように変更してもよい。例えば、図4Cの
【数２】
0005521028.tif 000003
とラベル付けされたキースペースキーは、図4A及び図4Bでは、異なるコマンドすなわち
【数３】
0005521028.tif 000004
(例えば、英語における"confirm")へと再マッピングされている。デフォルト入力コマンドは、図4Aに示されているように、第2書記体系の候補がまだ選択されていない場合の確認コマンドの選択に対応していてもよい。
【００４５】
図4Aを参照すれば、ある実施形態において、インジケータを、デフォルト入力コマンドに応じて第1書記体系の入力内容又は第2書記体系の候補が対象位置426にコピーされるかどうかを示している第1インターフェース要素422に表示してもよい。例えば、第1インターフェース要素422の前記インジケータは、入力内容"hello"を示している。つまり、確認キーを選択することで第1書記体系の入力内容をコピーすることを示している。
【００４６】
あるいは、ユーザは、第2書記体系の候補を対象位置426にコピーしたい場合もある。図4Bでは、第1インターフェース要素422のインジケータは、入力内容(すなわち、"HeLLo")が異なった表示を表わしているとともに、確認キー(
【数４】
0005521028.tif 000005
とラベル付けされている)を選択することで第2書記体系の1又は2以上の候補を対象位置426にコピーすることを示している。特に、入力内容"HeLLo"の異なった表示は、第2書記体系の1又は2以上の候補を生成するために用いられる第1書記体系の入力の区分を示すために用いてもよい。例えば、"He"は
【数５】
0005521028.tif 000006
(ピンインでは
【数６】
0005521028.tif 000007
)に対応しており、"L"は
【数７】
0005521028.tif 000008
(ピンインでは
【数８】
0005521028.tif 000009
)に対応しており、"Lo"は
【数９】
0005521028.tif 000010
(ピンインでは
【数１０】
0005521028.tif 000011
)に対応している。他の実施形態が存在してもよい。例えば、インジケータは、特定の書記体系又は言語(例えば、“漢字”、“中国語”、“英語”)であることを識別する識別子を表わしていてもよい。
【００４７】
第2書記体系の候補を、第2インターフェース要素の1又は2以上の候補からの対応する選択をした後に対象位置にコピーしてもよい。例えば、タッチセンサ式ディスプレイでは、ユーザは、第2インターフェース要素444にある第1候補(例えば、
【数１１】
0005521028.tif 000012
)にタッチすることが可能である。
【００４８】
ある実施形態において、第2書記体系の1又は2以上の候補を、デフォルトで選択してもよい。例えば、図4Bでは、候補
【数１２】
0005521028.tif 000013
のハイライトは、デフォルトで選択されていることを示している。デフォルト選択を、1又は2以上の基準に基づいて識別してもよい。例えば、訓練データで生じた最もあり得る候補が、デフォルト選択として識別されてもよい。上記の実施形態及び他の実施形態において、ユーザは、対象位置に表示された選択をコピーするために、
【数１３】
0005521028.tif 000014
キーを選択してもよい。ユーザは、例えば物理入力デバイス(例えば、スクロールホイール)用いることによって、第2書記体系の1又は2以上の候補から選択してもよい。ハイライト又は他の表示(例えば、陰影付け、点滅、拡大)を、第2書記体系の1又は2以上の候補のうち1つを選択していることを示すために用いてもよい。
【００４９】
ある実施形態において、IMEは、入力が第1書記体系の入力内容かどうか、又は入力がシンボル入力すなわち第2書記体系の入力内容を示唆するものであるかを自動的に識別してもよい。単一入力が、単一入力のみによって且つユーザ入力又は相互関係識別せずに、入力内容又はシンボル入力であるとできるので、前記IMEは、前記識別を自動的に行ってもよい。
【００５０】
図5は、第1書記体系のテキスト入力に基づいて第2書記体系の出力テキスト候補を生成するプロセス500の他の例を示したフローチャートである。概説すれば、プロセス500は、インターフェースへの現在の入力を決定するステップ(530)と、前記現在の入力の時間長を算出するステップ(535)と、及び前記現在の入力の前記時間長と閾値を比較するステップ(540)とを備える。プロセス500は、前記時間長が前記閾値より大きいか又は等しい場合には第1書記体系の入力内容として、前記時間長が前記閾値より小さい場合は第2書記体系の入力内容を示唆するものとして、前記現在の入力を識別するステップ(545)も備える。前記現在の入力が前記第1書記体系の入力内容として識別された場合は、前記インターフェースの対象位置に前記現在の入力をコピーする(550)。前記現在の入力が前記第2書記体系の入力内容を示唆するものとして識別された場合は、前記インターフェースに表示するため、前記第1書記体系の前記現在の入力に基づいて、前記第2書記体系の1又は2以上の候補を識別する(555)。前記プロセス500は、図6を参照して一例として記載している。
【００５１】
図6は、第1書記体系の入力内容として又は第2書記体系の入力内容を示唆するものとして前記現在の入力を識別する処理の例を示した図である。インターフェース610a(例えば、グラフィカルユーザインターフェース)は、IMEインターフェース614とテキスト入力用対象位置615とを備えている。前記IMEインターフェース614は、一連の文字"Han"からなる、直前の入力(例えば、IMEが既に受信した入力)を表わすインジケータ(例えば、第1インターフェース要素442のようなもの)を備えている。前記IMEインターフェース614は、仮想キーボード616も備えている。前記仮想キーボード616は、現在の入力が入力デバイス(すなわち、仮想キーボード616)の作動を介して取得していることを表している。且つ特に、キーをハイライト処理することによって示しているように、ローマ字"L"の入力にマッピングしているキーの動作を表している。
【００５２】
検出エンジン210の入力モジュール212は、インターフェース610aへの現在の入力を検出することが可能である(例えば、ステップ530)。タイミングモジュール214は、現在の入力の時間長を算出することが可能である(例えば、ステップ535)。前記時間長は、入力デバイスの作動時間を表わしている。例えば、時間長は、キーが作動(押下されたり、又はタップされたり)している秒数であってもよい。前記検出エンジン210は、入力の時間長と閾値を比較してもよい(例えば、ステップ540)。前記閾値は、所定の時間量(例えば、2秒)であってもよい。ある実施形態において、前記閾値は、ユーザの以前の入力又は傾向に基づいて設定されている所定の時間量であってもよい。例えば、ユーザが各入力において平均1秒間入力デバイスを作動させた場合、前記閾値は、1秒に設定してもよい。その上、前記閾値を、ユーザの好みに従って設定してもよい。例えば、ユーザは3秒を閾値に設定することが可能である。
【００５３】
上記検出エンジン210は、時間長と閾値との比較に基づいて、現在の入力が第1書記体系の入力内容又は第2書記体系の入力内容を示唆するものであるかどうかを決定してもよい。時間長が閾値より大きいか又は等しい場合、検出エンジン210は、第1書記体系の入力内容として現在の入力(例えば、明らかなローマ字)を識別してもよい(例えば、ステップ545)。図6を参照すれば、時間長が閾値より大きいか又は等しい場合(例えば、タイムアウトした場合)、前記明らかなローマ字"L"を、インターフェース610bの対象位置にコピーする(例えば、ステップ550)。インターフェース610bのインターフェース要素に表示されている第2書記体系の1又は2以上の候補は、現在の入力に応じて変化していないことに留意すべきである。
【００５４】
時間長が閾値より小さい場合(例えば、タイムアウトしなかった場合)、検出エンジン210は、第2書記体系の入力内容を示唆するものとして入力内容を識別してもよい(例えば、ステップ545)。インターフェース610cに示されているように、現在の入力は、ピンインを示唆するものとして識別される。その上、第2書記体系の1又は2以上の候補(例えば、漢字項目)は、インターフェースに表示するため、第1書記体系の現在の入力に基づいて識別される(例えば、ステップ555)。インターフェース610cに示されているように、インジケータは、即座にピンイン入力"HanL"を表示し、且つ"HanL"よって表わされる第2書記体系の候補がインターフェース要素に表示される。
【００５５】
特に、インターフェース610cに表示されている候補は、インターフェース610aに表示されている候補とは異なっていてもよい。なぜならば、インターフェース610cの候補は、現在の入力"L"と第2書記体系の入力内容を示唆するものである以前の入力(すなわち、"Han")とを含んだ"HanL"に基づいて、生成されているからである。例えば、インターフェース610aは、ピンイン入力"Han"と、漢字候補
【数１４】
0005521028.tif 000015
(ピンインにおける
【数１５】
0005521028.tif 000016
)を表示している。前記インターフェース610cは、二つのピンイン音節(例えば、
【数１６】
0005521028.tif 000017
:ピンインにおける
【数１７】
0005521028.tif 000018
)を示唆しているピンイン入力"HanL"を表示している。
【００５６】
他の実施形態が存在してもよい。例えば、検出エンジン210は、所定の回数(例えば、3回)、第2書記体系の入力内容を示唆するものとして入力を識別した場合、前記検出エンジン210は、デフォルトで次の入力を第2書記体系の入力内容を示唆するものとみなし、且つIMEエンジン206に前記次の入力を送信してもよい。その上、第2閾値(例えば、第1閾値より大きな値をとる)は、追加入力が第1書記体系の入力内容であることを識別するために用いてもよいし、且つ他の所定のコマンドが追加入力をデフォルトで第2書記体系の入力内容を示唆するものとしてみなさないように検出エンジン210を抑制するために用いてもよい。
【００５７】
本明細書に記載した本願発明の要旨及び機能操作の実施形態は、デジタル電子回路として、又は本明細書に開示している構成及び構成的に同義であるものを有するコンピュータソフトウェア、ファームウェア、ハードウェアとして、並びにそれらの1又は2以上の組み合わせとして実装してもよい。本明細書に記載した本願発明の要旨の実施形態は、1又は2以上のコンピュータプログラムとして実装してもよい。すなわち、データ処理装置(例えば、処理デバイス102)によって実行するための、又はデータ処理装置の操作を制御するための有体のプログラムキャリア(program carrier)に符号化されたコンピュータプログラム命令の1又は2以上のモジュールとして実装してもよい。前記有体のプログラムキャリアは、コンピュータ読取可能媒体であってもよい。前記コンピュータ読取可能媒体は、機械読取可能ストレージデバイス、機械読取可能ストレージ回路基板、メモリデバイス、又はそれらの1又は2以上の組み合わせであってもよい。
【００５８】
上記の“データ処理装置"という単語は、全ての装置、デバイス、及びデータ処理用の機械を包含する。一例として、プログラマブルプロセッサ、コンピュータ、又はマルチプロセッサもしくはマルチコンピュータがある。前記装置は、ハードウェアに加えて、課題となっているコンピュータプログラム用の実行環境を生成するコード、例えばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらの1又は2以上の組み合わせを構成するコードを備えていてもよい。
【００５９】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られている)は、コンパイル型又はインタプリタ型言語、もしくは宣言型又はプロシージャ型言語を含むあらゆる形式のプログラミング言語で記載してもよいし、且つ前記コンピュータプログラムは、スタンドアロンプログラム、あるいはモジュール、コンポーネント、サブルーチン、又はコンピュータ環境において使用するのに適した他のユニットを含む、あらゆる種類で展開してもよい。コンピュータプログラムは、ファイルシステムのファイルに必ずしも対応していなくてもよい。プログラムは、他のプログラム又はデータ(例えば、マークアップ言語ドキュメントに格納された1又は2以上のスクリプト)が保持しているファイルの一部、課題となっているプログラムのために設けられている単一ファイル、又は複数の統合ファイル(例えば、1又は2以上のモジュール、サブプログラム、又はコードの一部が格納されたファイル)に格納されていてもよい。コンピュータプログラムは、1つのコンピュータ上、又は1つのサイトに又は至るところに分散されるとともに通信ネットワークによって相互接続している複数のサイトにある複数のコンピュータ上で実行されるように展開してもよい。
【００６０】
本明細書に記載されたプロセス及びロジックフローは、入力データを操作するとともに出力を生成することによって機能を実行するための1又は2以上のコンピュータプログラムを実行する1又は2以上のプログラマブルプロセッサによって実行してもよい。前記プロセス及びロジックフローは特殊用途論理回路によって実行してもよいし、且つ装置を特殊用途論理回路として実装してもよい。例としては、FPGA(field programmable gate array)、又はASIC(application-specific integrated circuit)がある。
【００６１】
コンピュータプログラムの実行に適したプロセッサは、一例として、汎用又は特殊用途マイクロプロセッサの双方、及びデジタルコンピュータのあらゆる種類のあらゆる1又は2以上のプロセッサがある。一般的に、プロセッサは、命令及びデータをROM(read-only memory)又はRAM(random access memory)又はその双方から受信する。コンピュータの上記必須要素は、命令を実行するためのプロセッサ、且つ命令及びデータを格納するための1又は2以上のメモリデバイスである。一般的に、コンピュータは、データを格納するための1又は2以上のマスストレージデバイス(例えば、磁気ディスク、光磁気ディスク、又は光ディスク)からデータを受信、もしくはマスストレージデバイスに送信、もしくはそのどちらも行えるように装置を備え、又は操作可能なように接続されている。しかしながら、コンピュータは上述したデバイスを必ずしも有する必要はない。さらに、コンピュータは、他のデバイスに組み込まれていてもよい。例えば、二、三例あげると、携帯電話、携帯情報端末(PDA)、携帯オーディオ又はビデオプレーヤ、ゲーム機、全地球測位システム(GPS)受信機がある。
【００６２】
コンピュータプログラムの命令及びデータを格納するのに適したコンピュータ読取可能メディアは、あらゆる形式の不揮発性メモリ、メディア、及びメモリデバイスがある。一例として、EPROM、EEPROM及びフラッシュメモリデバイスなどの半導体メモリデバイス、内蔵ハードディスク又はリムーバルディスクなどの磁気ディスク、磁気光ディスク、及びCD-ROMとDVD-ROMディスクがある。前記プロセッサ及びメモリは、特殊用途論理回路によって補完されてもよいし、又は特殊用途論理回路に組み込んでもよい。
【００６３】
ユーザへの相互作用を提供するために、本明細書に記載した本願発明の要旨の実施形態は、ユーザに情報を表示するためにCRT(cathode ray tube)又はLCD(liquid crystal display)モニタなどのディスプレイデバイス、キーボード及びマウス又はトラックボールなどのポインティングデバイスを有するコンピュータ上に実装してもよい。それによってユーザはコンピュータに入力をすることが可能となる。他の種類のデバイスを、同様にユーザへの相互作用を提供するために用いてもよい。例えば、ユーザに与えるフィードバックとしては、視覚フィードバック、聴覚フィードバック、又は触覚フィードバックなどのあらゆる形式のセンサフィードバックであってもよいし、且つユーザからの入力は、音響入力、音声入力、触知性入力を含むあらゆる形式で取得してもよい。
【００６４】
本明細書は、多くの特有の実施形態の詳細を含むとはいえ、特定の実施形態の特定の態様に特有な特徴の記載として以外に、あらゆる実施形態又は主張しようとする範囲を制限するものとして解釈すべきではない。個々の実施形態の文中にて本明細書に記載したある特徴は、単一の実施形態を組み合わせたものにより実現してもよい。逆に言えば、単一の実施形態の文中にて記載した様々な特徴は、独立した複数の実施形態、又はあらゆる適したサブコンビネーションにより実現してもよい。さらに、特徴がある組み合わせの作用として上述され、及びそのようなものとして冒頭に主張されたとしても、主張した組み合わせによる1又は2以上の特徴は時として前記組み合わせから削除してもよいし、且つ主張した組み合わせはサブコンビネーション又はサブコンビネーションの変形であってもよい。
【００６５】
同様に、操作が特定の順序で図中に記載されたいるとはいえ、前記操作が図示したような特定の順序にて又は一連の順序で実施される必要があると解釈すべきではないし、図示された全ての操作を実施することで所望の結果を達せされると解釈すべきではない。ある環境においては、マルチタスク処理及び並列処理が有効となる場合がある。さらに、上述した実施形態における様々なシステム構成要素の区分は、全ての実施形態において前記区分を要するものとして解釈すべきではないし、且つ記載したプログラム構成要素及びシステムを、一般的に単一のソフトウェア製品又は複数のソフトウェア製品へとパッケージ化したものに一緒に統合してもよい。
【００６６】
本明細書に記載した本願発明の要旨の特定の実施形態をこれまで記載してきた。他の実施形態は、以降の特許請求の範囲に存在する。例えば、請求項に記載の作用は、異なる順序で実施してもよいし、且つ所望の結果をさらに達してもよい。一例として、添付の図面に記載の処理は、所望の結果を達するために、図示した特定の順序又は一連の順序を必ずしも必要としていない。ある実施形態においては、マルチタスク処理及び並列処理が有効となる場合がある。
【符号の説明】
【００６７】
200  システム
201  ユーザ
202  ユーザインターフェース
204  ソフトウェア
205  アプリケーション
206  IMEエンジン
207  オペレーティングシステム
208  言語モデル
210  検出エンジン
212  入力モジュール
214  タイミングモジュール
【図１】
0005521028.tif 000019
【図２】
0005521028.tif 000020
【図３】
0005521028.tif 000021
【図４Ａ】
0005521028.tif 000022
【図４Ｂ】
0005521028.tif 000023
【図４Ｃ】
0005521028.tif 000024
【図５】
0005521028.tif 000025
【図６】
0005521028.tif 000026