次に、本発明の実施形態について説明する。なお、以下の図面の記載において、同一または類似の部分には、同一または類似の符号を付している。ただし、図面は模式的なものであり、各寸法の比率などは現実のものとは異なることに留意すべきである。
したがって、具体的な寸法などは以下の説明を参酌して判断すべきものである。また、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることは勿論である。
[通信端末装置の構成]
図1は、本実施形態に係る通信端末装置100の概略正面図である。また、図2は、通信端末装置100の論理ブロック構成図である。なお、以下、本発明との関連がある部分について主に説明する。したがって、通信端末装置100は、通信端末装置100の機能を実現する上で必須な、図示しない或いは説明を省略した論理ブロック(音声通信部など)を備える場合があることに留意されたい。
図1及び図2に示すように、通信端末装置100は、キー入力部101、言語知識データ記憶部102、データ通信部103、CPU104、表示部105、電池106及びデータ記憶部107を備えている。
通信端末装置100は、携帯電話端末やPHS(personal handyphone system)などの無線通信端末装置をはじめ、無線通信機能を備えるPDA(personal digital assistant)のような携帯型の無線通信機器である。なお、通信端末装置100は、無線通信機器ではなく、有線通信機能を備える有線通信機器であってもよい。ただし、本実施形態に係る通信端末装置100の効果が顕著に現れるのは、通信端末装置100が、入力キーの数が少ない携帯型の通信機器の場合である。
キー入力部101は、入力キー201〜215を備えたキーボードによって構成されている。キー入力部101と、入力キー201〜215とによって、入力文字列を決定する文字列決定機能1011が提供される。
本実施形態では、ひとつの入力キーは、1または2以上の文字(数字を含む)や制御コマンドと対応している。なお、以下の説明では、制御コマンドを文字の一種とみなして説明する。
図1に示すように、通信端末装置100は標準的な携帯電話端末であり、入力キーの配列も標準的な携帯電話端末にしたがっている。
入力キー201〜215は、所定の文字(または制御コマンド)と対応付けられている。入力キー201は文字集合{1,(空白)}と対応する。入力キー202は文字集合{2, A, B, C}、入力キー203は文字集合{3, D, E, F}とそれぞれ対応する。
入力キー204は文字集合{4, G, H, I}、入力キー205は文字集合{5, J, K, L}、入力キー206は文字集合{6, M, N, O}とそれぞれ対応する。
入力キー207は文字集合{7, P, Q, R, S}、入力キー208は文字集合{8, T, U, V}、入力キー209は文字集合{9, W, X, Y, Z}とそれぞれ対応する。
入力キー210は文字集合{句読点, 特殊記号}と対応する。入力キー211は文字集合{0, [NEXT]}、入力キー212は文字集合{[選択]}とそれぞれ対応する。
入力キー213は文字集合{[送信]}、入力キー214は文字集合{[モード切替]}、入力キー215は文字集合{[変換]}とそれぞれ対応する。
ここで、句読点は{.,?!}などと対応し、特殊記号は数字、アルファベット、句読点、空白以外の記号、例えば{* @ $ & =}などと対応する。
[NEXT]は、制御コマンドの一種である。具体的には、[NEXT]は、表示部105に表示される文字列候補がユーザーの所望のものでないときに、次候補を要求するための指示を発行するものである。
[選択]も制御コマンドの一種である。具体的には、[選択]は、文字列候補がユーザーの所望のものであるときにその旨を示すものである。なお、[選択]、つまり、キー211が操作(押下)された場合、単語の区切りを示す空白を挿入してもよい。
[送信]は、生成したテキストデータ(文字列)を送信する指示を発行する制御コマンドである。[モード切替]は、入力モードを切替える指示を発行する制御コマンドであり、数字以外の文字と、数字とを切替える場合に用いられる。なお、本実施形態では、通常の状態においては、文字集合から数字が除外されるが、[モード切替]が実行されると、文字集合から数字以外の文字が除外される。ここで、さらに、[モード切替]が実行されると、通常の状態に復帰する。
[変換]は、単語や句の区切りを示し、入力された文字列の曖昧性を解消するために用いられる“言語知識データ”(後述)の参照を指示する制御コマンドである。
なお、入力キーの配列、及び入力キーと文字との対応は、図1で示した構成に限定されるものではない。また、取り扱う文字種についても、大文字と小文字とを区別したり、英語(アルファベット)以外の言語の文字を用いたり、絵文字を用いたりしてもよい。
図2に示す言語知識データ記憶部102は、データ記憶部107(具体的には、キー識別符号記憶領域1073)に記憶されているキー識別符号列に対して、1または2以上の文字列候補を対応付ける言語知識データを記憶する。構成情報記憶領域1021には、言語知識データを識別する言語知識データ識別情報(例えば、“dic-0001”)が記憶される。
言語知識データは、上述したように、キー入力部101を用いてユーザーが入力した文字列の曖昧性を解消するために用いられる。なお、言語知識データの用い方については後述する。
また、データ記憶部107は、通信端末装置100を制御するソフトウエア(通信ソフトウエアやオペレーティングシステム)や、テキストデータ(具体的にはキー識別符号列)を生成して送信するためのソフトウエアなどを記憶する。
言語知識データ記憶部102及びデータ記憶部107は、磁気ディスクやフラッシュメモリーなどによって構成されている。
データ記憶部107は、キー識別符号定義記憶領域1071、文字符号定義記憶領域1072及びキー識別符号記憶領域1073を備えている。
キー識別符号定義記憶領域1071には、入力キー201〜215のそれぞれと一意に対応するキー識別符号が記憶される。具体的には、図3に示すようなキー識別符号定義情報が記憶される。本実施形態において、キー識別符号定義記憶領域1071は、キー識別符号定義記憶部を構成する。
図3に示すように、キー識別符号は、入力キーの数を2進数で表現できるだけの情報量を持てばよい。例えば、入力キーの数が9〜16個であれば、キー識別符号の最小の情報量として4ビットを割り当てればよい。本実施形態では、入力キー201〜215の15個の入力キーを表現するために、キー識別符号には4ビットが割り当てられている。
文字符号定義記憶領域1072には、入力キー201〜215と対応する文字符号を定義する文字符号定義情報が記憶される。具体的には、図4及び図5に示すような文字符号定義情報が記憶される。
図4及び図5に示すように、文字符号定義情報は、「入力キーと、キー識別符号と、文字との対応表」(図4参照)、及び「文字符号と文字との対応表」(図5参照)によって構成されている。なお、図5に示す「文字符号と文字との対応表」では、ASCII体系によって文字符号が表現されている。
キー識別符号記憶領域1073には、操作された入力キー(被操作入力キー)に対応するキー識別符号が順次追加されながら、キー識別符号列として記憶される。
具体的には、データ記憶部107は、キー識別符号定義記憶領域1071に記憶されているキー識別符号定義情報に含まれているキー識別符号に基づいて、操作された入力キー(被操作入力キー)と対応するキー識別符号を、キー識別符号列として記憶する。本実施形態において、データ記憶部107は、キー識別符号記憶部を構成する。
より具体的には、データ記憶部107は、入力キー(被操作入力キー)が操作された順序に応じて、当該入力キーに対応するキー識別符号を、既に記憶されているキー識別符号列に順次追加して記憶する。
また、図6は、上述した言語知識データ記憶部102に記憶される言語知識データの一例を示している。図6に示すように、言語知識データでは、キー識別符号列と対応する文字列候補(英単語の候補)が関連付けられている(図6では、言語知識データの一部のみが示されている)。
すなわち、通信端末装置100(CPU104)は、言語知識データを参照することによって、キー識別符号列から文字列を得ることができる。
なお、キー識別符号列は、単語の区切りを示す[変換](入力キー215)と対応するキー識別符号“1110”で区切られていてもよい。例えば、キー入力部101を用いて、通信端末装置100のユーザーが「入力キー204、入力キー206、入力キー206、入力キー203」と順に操作すると、キー識別符号定義記憶領域1071に記憶されているキー識別符号定義情報にしたがって、キー識別符号記憶領域1073にはキー識別符号列“0011 0101 0101 0010”が記憶される。
ここで、図6に示した言語知識データを参照すると、キー識別符号列“0011 0101 0101 0010”に対応する文字列候補(単語)は、{good, gone, home}の3つである。3つの文字列候補は、予め定められた表示順位(例えば、出現頻度順やアルファベット順)に並べられ、当該表示順位(基本表示順位)にしたがって、表示部105において提示される。
ユーザーは、表示部105において提示された文字列候補が所望の文字列(単語)である場合、[選択]に対応する入力キー212を操作する。一方、表示部105において提示されていない次の文字列候補を表示させる場合、ユーザーは、[NEXT]に対応するキー211を操作する。このような操作を繰り返すことで、文字列候補、つまり、入力された文字列の曖昧性が解消される。
本実施形態では、図6に示した文字列候補は、コーパス解析により得られた出現頻度順に左から並べられているものとする。具体的には、“good”の出現頻度が最も高く、“gone”の出現頻度が次に高いことを意味している。
データ通信部103は、通信ネットワーク10(図9参照)を介して、通信端末装置(例えば、図9に示す文字列処理サーバ700や通信端末装置100A)とテキストデータ(具体的には、キー識別符号列)などを送受信する。
データ通信部103は、送信機能1031と受信機能1032とを有している。特に、本実施形態では、送信機能1031は、[送信]と対応する入力キー213(所定の入力キー)が操作された場合、キー識別符号記憶領域1073に記憶されているキー識別符号列を通信ネットワーク10に向けて送信する。本実施形態において、送信機能1031は、キー識別符号列送信部を構成する。
また、送信機能1031は、言語知識データ記憶部102に記憶されている言語知識データを識別する言語知識データ識別情報(例えば、“dic-0001”)を通信ネットワーク10に向けて送信する。本実施形態において、送信機能1031は、情報送信部を構成する。
なお、送信機能1031は、言語知識データ識別情報に代えて、言語知識データ記憶部102に記憶されている言語知識データを通信ネットワーク10に向けて送信してもよい。
さらに、送信機能1031は、言語知識データの送信を要求する言語知識データ送信要求を通信ネットワーク10に向けて送信することができる。本実施形態において、送信機能1031は、要求送信部を構成する。
また、送信機能1031によって送信される言語知識データ送信要求は、言語知識データを識別する言語知識データ識別情報(例えば、“dic-0001”)を含むことができる。
本実施形態では、受信機能1032は、通信ネットワーク10を介して、図9に示す文字列処理サーバ700(または通信端末装置100A)から言語知識データを受信することができる。本実施形態において、言語知識データ受信部を構成する。
CPU104は、通信端末装置100を構成する各論理ブロックを制御し、所定の機能を提供する。
表示部105は、小型の液晶表示器などによって構成されている。特に、本実施形態では、表示部105(文字列提示機能1051)は、操作された入力キーに対応する文字を表示するユーザーインターフェイスを提供する。本実施形態において、表示部105は、文字列候補を表示する表示部を構成する。
電池106は、通信端末装置100を動作させるために必要な電力を供給する。文字符号列判定部108は、データ通信部103の受信機能1032がキー識別符号列を受信した場合、当該キー識別符号列に含まれているキー識別符号を先頭から解析し、当該キー識別符号列に対応する文字符号列を判定する。
[通信端末装置の動作]
次に、図7及び図8を参照して、通信端末装置100の動作について説明する。具体的には、通信端末装置100がテキストデータ(キー識別符号列)を生成して送信する動作について説明する。
図7は、通信端末装置100がテキストデータ(キー識別符号列)を生成して送信する動作フローを示している。
図7に示す動作に先立って、通信端末装置100は、変数として用いる符号列K及び符号列Cの初期状態をそれぞれ空列とする。
符号列Kは、入力キーのそれぞれと一意に対応するキー識別符号の列であるキー識別符号列を示す変数である。符号列Kは、テキストデータを送信する際に使用されるものであり、情報量を小さくする工夫が施されている。
また、符号列Cは、一般的な文字符号列を示す変数である。本実施形態では、文字符号としてASCIIが用いられる。符号列Cは、テキストデータ(文字列候補)をユーザーに提示、具体的には、表示部105に表示するために用いられる。
ステップS10において、通信端末装置100のユーザーは、キー入力部101を用いて、送信したい文字列を構成する文字に対応する入力キーまたは指示したい制御コマンドに対応する入力キーを操作(押下)する。
ステップS20において、通信端末装置100は、操作された入力キーが[送信]と対応する入力キー213であるか否かを判定する。
具体的には、通信端末装置100は、キー識別符号定義記憶領域1071に記憶されているキー識別符号定義情報、及び文字符号定義記憶領域1072に記憶されている文字符号定義情報を参照し、操作された入力キーが制御コマンド[送信]に対応するか否かを判定する。
操作された入力キーが[送信]と対応する入力キーでない場合(ステップS20のNO)、ステップS30において、通信端末装置100は、操作された入力キーに対応するキー識別符号を、キー識別符号定義記憶領域1071に記憶されているキー識別符号定義情報を用いて取得する。
さらに、通信端末装置100は、取得したキー識別符号を符号列Kに追加(アペンド)し、符号列K(キー識別符号列)をキー識別符号記憶領域1073に記憶する。
ステップS40において、通信端末装置100は、キー識別符号によって構成されている符号列Kを、文字符号によって構成される符号列Cに変換する。
具体的には、通信端末装置100は、キー識別符号定義記憶領域1071に記憶されているキー識別符号定義情報、及び文字符号定義記憶領域1072に記憶されている文字符号定義情報を参照し、符号列Kに対応する符号列Cを判定する。
さらに、通信端末装置100は、判定した符号列Cをデータ記憶部107に記憶する。なお、キー識別符号と文字符号とが1対多の関係にある場合、符号列Cとして複数候補が判定される。
ステップS50において、通信端末装置100は、符号列Cを構成する文字符号をそれぞれ対応する文字列(フォント)に変換する。
ステップS60において、通信端末装置100は、変換した文字列を表示部105に表示する。
一方、操作された入力キーが[送信]と対応する入力キーである場合(ステップS20のYES)、ステップS70において、通信端末装置100は、キー識別符号記憶領域1073に記憶されている符号列Kを通信ネットワーク10(図9参照)、具体的には、文字列処理サーバ700または受信側の通信端末装置(例えば、通信端末装置100A)に送信する。ステップS70の処理が完了すると、通信端末装置100は、符号列K及び符号列Cを初期化し、空列とする。
次に、図8を参照して、文字列の入力に伴う符号列K及び符号列Cの状態の遷移状態について説明する。ここでは、通信端末装置100のユーザーが、単語「YES」を入力して送信する場合を例として説明する。
まず、単語「YES」の「Y」を含む入力キー209が操作されると、通信端末装置100は、入力キー209に対応するキー識別符号“1000”を取得する。通信端末装置100は、取得したキー識別符号“1000”を符号列Kにアペンドする。すなわち、キー識別符号記憶領域1073に記憶されている符号列Kは、“1000”となる。
さらに、通信端末装置100は、符号列Kを符号列Cに変換する。具体的には、通信端末装置100は、図4に示した対応表を用いて、通常モードにおけるキー識別符号“1000”に対応する4つの文字{W、X、Y、Z}を決定する。
また、通信端末装置100は、図5に示した対応表を用いて、文字{W、X、Y、Z}を8ビットの文字符号によって表現する。具体的には、通信端末装置100は、Wを“0101 0111”、Xを“0101 1000”、Yを“0101 1001”、Zを“0101 1010”として表現する。したがって、符号列Kから得られる符号列Cは、{“0101 0111”、“0101 1000”、“0101 1001”、“0101 1010”}の4通りとなる。通信端末装置100は、符号列Cをデータ記憶部107に記憶する。
通信端末装置100は、符号列Cを構成する文字符号をそれぞれ対応する文字列(フォント)に変換し、変換した文字列を表示部105に表示する。
次いで、単語「YES」の「E」及び「S」についても同様の処理が実行される。「E」を含む入力キー203が操作されると、通信端末装置100は、入力キー203に対応するキー識別符号“0010”を取得する。さらに、通信端末装置100は、取得したキー識別符号“0010”を符号列Kにアペンド、つまり、“0010”を符号列Kの最後尾に追加する。すなわち、キー識別符号記憶領域1073に記憶されている符号列Kは、“1000 0010”となる。
さらに、通信端末装置100は、符号列Kを符号列Cに変換する。ここで、キー識別符号“1000”に対応する文字符号は、既にデータ記憶部107に記憶されているため、データ記憶部107に記憶されている符号列Cを参照することで容易に得られる。
一方、キー識別符号“0010”に対応する文字は、{D、E、F}の3つ(通常モード時)となる。図5に示した対応表を用いて、文字{W、X、Y、Z}を8ビットの文字符号によって表現する。具体的には、通信端末装置100は、Dは“0100 0100”、Eは“0100 0101”、Fは“0100 0110”として表現される。したがって、符号列Kから得られる符号列Cは、12通り(4×3)となる。
次いで、単語「YES」の「S」を含む入力キー207が操作されると、通信端末装置100は、入力キー207に対応するキー識別符号“0110”を取得する。さらに、通信端末装置100は、取得したキー識別符号“0110”を符号列Kにアペンド、つまり、“0110”を符号列Kの最後尾に追加する。すなわち、キー識別符号記憶領域1073に記憶されている符号列Kは、“1000 0010 0110”となる。
また、上述した「E」に関する処理と同様に、符号列Kが符号列Cに変換される。キー識別符号“0110”に対応する文字は、{P、Q、R、S}の4つ(通常モード時)であるため、符号列Cは、48通り(4×3×4)となる。
次いで、通信端末装置100のユーザーは、単語の区切り及び言語知識データ参照の指示を示す制御コマンド[変換]に対応する入力キー215を操作する。
通信端末装置100は、入力キー215に対応するキー識別符号“1110”を符号列Kにアペンドする。したがって、符号列Kは、“1000 0010 0110 1110”(符号列K1)となる。さらに、通信端末装置100は、符号列K1を符号列Cに変換する。ここで、符号列K1の末尾の4ビットが制御コマンド[変換]であるため、言語知識データ(図6参照)を用いて入力された文字列の曖昧性を解消する。
具体的には、符号列Cによれば48通りの文字列候補が含まれているが、通信端末装置100は、文字列候補のそれぞれが、言語知識データを構成する英単語リストのエントリーと一致するか否かを判定する。
図6に示した言語知識データによれば、当該言語知識データを構成する英単語リストのエントリーと一致する文字列は「YES」だけである。したがって、「YES」に対応する符号列C1“01011001 01000101 01010011”以外は符号列Cから削除される。
つまり、符号列Cは“01011001 01000101 01010011”となる。なお、文字符号列を符号列Cから削除せず、削除フラグ情報を付加したり、候補となる文字符号列(符号列C1)に選択フラグ情報を付加したりするようにしてもよい。
符号列C1“01011001 01000101 01010011”以外が符号列Cから削除されると、表示部105には、「YES」だけが表示される。
なお、複数の文字列候補が残存した場合、通信端末装置100は、言語知識データにおいて登録されている順、または予め言語知識データに付与された出現頻度順に応じて文字列候補を表示する。第1の文字列候補が所望の文字列ではない場合、通信端末装置100のユーザーは、入力キー211を操作することによって、制御コマンド[NEXT]を発行して次候補を選択する。制御コマンド[NEXT]に対応するキー識別符号“0010”は、符号列Kにアペンドされる。
次いで、通信端末装置100のユーザーは、単語「YES」の送信を指示するため、[送信]に対応する入力キー213を操作する。入力キー213が操作されると、通信端末装置100は、キー識別符号記憶領域1073に記憶されている符号列K(“1000 0010 0110 1110”)を送信する。
[通信端末装置を含む通信システムの構成及び動作]
次に、上述した通信端末装置100を含む通信システムの構成及び動作について説明する。
(1)通信システムの構成
図9は、通信端末装置100を含む通信システムの概略構成図である。図9に示すように、本実施形態に係る通信システムは、通信端末装置100,100A及び文字列処理サーバ700によって構成されている。
本実施形態では、通信端末装置100は、テキストデータ(キー識別符号列)を生成して送信する。また、通信端末装置100Aは、通信端末装置100によって送信されたテキストデータ(キー識別符号列)を受信し、当該テキストデータに対応する文字列を表示する。
文字列処理サーバ700は、通信ネットワーク10を介して通信端末装置100,100Aと接続されている。文字列処理サーバ700は、通信端末装置100によって送信されたテキストデータ(キー識別符号列)を中継したり、当該キー識別符号列を一般的な文字符号列(例えば、ASCII)に変換したりする機能を提供する。なお、文字列処理サーバ700は、一般的な電子メールサーバに含まれる形態によって提供してもよい。
通信ネットワーク10は、携帯電話網、PHS網または無線LANなどの無線通信ネットワーク(有線によるバックボーンネットワークなどを含む)によって構成されている。
文字列処理サーバ700は、データ通信部701、言語知識データ記憶部702及びCPU703を備えている。
データ通信部701は、通信ネットワーク10を介して、通信端末装置100,100Aとテキストデータ(キー識別符号列)や文字符号列などを送受信する。データ通信部701は、送信機能7011と受信機能7012とを有している。
言語知識データ記憶部702は、複数の言語知識データを記憶する。本実施形態において、言語知識データ記憶部702は、サーバ側言語知識データ記憶部を構成する。構成情報記憶領域7021には、言語知識データを識別する言語知識データ識別情報(例えば、“dic-0001”)が記憶される。
CPU703は、文字列処理サーバ700を構成する各論理ブロックを制御し、所定の機能を提供する。
特に、本実施形態では、CPU703は、言語知識データ記憶部702に記憶されている言語知識データに基づいて、データ通信部701(受信機能7012)が受信したテキストデータ(キー識別符号列)に含まれているキー識別符号を、通信端末装置100,100Aの入力キー201〜215に対応付けられている所定の文字に変換する。本実施形態において、CPU703は、キー識別符号列変換部を構成する。
また、本実施形態では、送信機能7011は、CPU703によって変換された当該所定の文字を含む文字符号列の情報(文字符号列情報)を通信ネットワーク10に向けて、具体的には、通信端末装置100Aに送信する。本実施形態において、送信機能7011は、文字符号列情報送信部を構成する。
さらに、受信機能7012は、通信ネットワーク10を介して、通信端末装置100からテキストデータ(キー識別符号列)を受信する。本実施形態において、受信機能7012は、キー識別符号列受信部を構成する。
(2)通信システムの動作
次に、上述した通信システムの動作について説明する。なお、本実施形態では、複数の言語知識データが存在するものとし、通信端末装置100のユーザー、つまり、送信者は、好みの言語知識データを選択できるものとする。
具体的には、複数の言語知識データが予め通信端末装置100において用意されており、ユーザーが好みの言語知識データを選択すればよい。或いは、文字列処理サーバ700が複数の言語知識データを記憶しており、通信端末装置100のユーザーが、好みの言語知識データをダウンロードするようにしてもよい。
さらに、複数の言語知識データの中から特定の言語知識データを識別するために用いられる言語知識データ識別情報(例えば、“dic-0001”)を言語知識データに付与し、通信端末装置100のユーザー(テキストデータの送信者)がテキストデータの作成に用いた言語知識データの言語知識データ識別情報を文字列処理サーバ700に送信するようにしてもよい。
なお、言語知識データ識別情報を送信するタイミングは、テキストデータ(キー識別符号列)と同時でもよいし、通信端末装置100のユーザー(テキストデータの送信者)が、言語知識データ(辞書)の選択を変更したときでもよい。
以下では、(1)上述した言語知識データ識別情報を用いた動作の一例と、(2)通信端末装置100によって送信されたテキストデータ(キー識別符号列)を、文字列処理サーバ700が一般的な文字符号列(例えば、ASCII)に変換する動作の一例とについて説明する。
図10は、上述した言語知識データ識別情報を用いた動作の一例を示している。図10に示すように、ステップS110において、通信端末装置100は、通信端末装置100のユーザーが入力キー201〜215を操作することによって生成されたテキストデータ(キー識別符号列)及び当該テキストデータの生成時に用いられた言語知識データの言語知識データ識別情報(“dic-0001”)を通信ネットワーク10に向けて、具体的には、文字列処理サーバ700に送信する。なお、ステップS110において通信端末装置100が送信するデータには、当該テキストデータなどの送信先である通信端末装置100Aのアドレスが含まれている。
ステップS120において、文字列処理サーバ700は、通信端末装置100から受信したテキストデータ(キー識別符号列)及び言語知識データ識別情報を通信ネットワーク10に向けて、具体的には、当該テキストデータなどの送信先である通信端末装置100Aに送信する。
ステップS130において、通信端末装置100Aは、受信した言語知識データ識別情報(“dic-0001”)に基づいて、当該言語知識データ識別情報に対応する言語知識データを保持(記憶)しているか否かを判定する。
当該言語知識データ識別情報に対応する言語知識データを保持していない場合(ステップS130のNO)、ステップS140において、通信端末装置100Aは、当該言語知識データの送信を要求する言語知識データ送信要求を文字列処理サーバ700に送信する。なお、言語知識データ送信要求には、言語知識データ識別情報(“dic-0001”)が含まれている。
一方、当該言語知識データ識別情報に対応する言語知識データを保持している場合(ステップS130のYES)、通信端末装置100Aは、ステップS160の処理を実行する。
ステップS150において、文字列処理サーバ700は、通信端末装置100Aから受信した言語知識データ送信要求に基づいて、言語知識データ識別情報(“dic-0001”)に対応する言語知識データを通信端末装置100Aに送信する。
ステップS160において、通信端末装置100Aは、文字列処理サーバ700から受信した言語知識データを用いて、ステップS120において受信したテキストデータ(キー識別符号列)を文字符号列に変換する。なお、キー識別符号列から文字符号列への変換は、上述したキー識別符号列の生成と逆の処理を実行すればよい。
ステップS170において、通信端末装置100Aは、当該文字符号列に基づいて、文字列を表示する。
図11は、通信端末装置100によって送信されたテキストデータ(キー識別符号列)を、文字列処理サーバ700が一般的な文字符号列(例えば、ASCII)に変換する動作の一例を示している。
図11に示すように、ステップS210において、通信端末装置100は、通信端末装置100のユーザーが入力キー201〜215を操作することによって生成されたテキストデータ(キー識別符号列)及び当該テキストデータの生成時に用いられた言語知識データの言語知識データ識別情報(“dic-0001”)を文字列処理サーバ700に送信する。
ステップS220において、文字列処理サーバ700は、通信端末装置100から受信したテキストデータ(キー識別符号列)を文字符号列に変換する。
具体的には、文字列処理サーバ700は、通信端末装置100から受信した言語知識データ識別情報(“dic-0001”)に対応する言語知識データを言語知識データ記憶部702から取得する。なお、キー識別符号列から文字符号列への変換は、上述したキー識別符号列の生成と逆の処理を実行すればよい。
ステップS230において、文字列処理サーバ700は、変換した文字符号列を含む文字符号列情報を通信端末装置100Aに送信する。
ステップS240において、通信端末装置100Aは、文字列処理サーバ700から受信した文字符号列情報に含まれている文字符号列に基づいて、文字列を表示する。
以上、本実施形態に係る通信システムの動作例について、図10及び図11を参照して説明したが、以下のように変更してもよい。
すなわち、通信端末装置100,100Aなど、通信ネットワーク10に接続して文字列処理サーバ700による通信サービスの提供を受けるすべての通信端末装置を対象として、当該通信端末装置において用いられるすべての言語知識データの言語知識データ識別情報を、データベースシステムなどを用いて文字列処理サーバ700(または他のサーバ)によって管理してもよい。
具体的には、通信端末装置の販売時に予め記憶されている言語知識データと、文字列処理サーバ700(または文字列処理サーバ700の管理主体が管理する他のサーバ)が送受信した言語知識データとを管理すればよい。
また、テキストデータ(キー識別符号列)を受信する通信端末装置が該当する言語知識データを保持(記憶)していない場合、文字列処理サーバ700が、テキストデータ(キー識別符号列)に該当する言語知識データを添付して、当該テキストデータを受信する通信端末装置に送信してもよい。
なお、言語知識データを送信する場合、言語知識データの容量が大きいため、通信ネットワーク10の通信帯域を過剰に使用してしまうおそれがある場合、上述した方法によって、言語知識データを送信しないようにすることもできる。
また、通信端末装置100,100Aが、一部に文字符号列を含むキー識別符号列を送信すると、キー識別符号列よりも送信する情報量は増加するが、言語知識データを送信するよりも、送信する情報量を抑制することができる。
また、携帯電話端末など、無線通信を用いる通信端末装置100から文字列処理サーバ700への上りリンクは通信帯域が比較的狭く、文字列処理サーバ700から受信側の通信端末装置(例えば、通信端末装置100A)への下りリンクは比較的広いことが多いため、上りリンクでは情報量の少ないキー識別符号を用い、下りリンクでは文字符号を用いることは、合理的である。
なお、通信端末装置100,100Aは、文字列処理サーバ700を介さずに、通信端末装置100と通信端末装置100Aとの間において、直接テキストデータ(キー識別符号列)や言語知識データを送受信してもよい。
[作用・効果]
以上説明した本実施形態に係る通信システムによれば、通信端末装置100(100A)が有する限られた数の入力キーに一意に対応するキー識別符号の集合であるキー識別符号列が送信されるため、一般的な文字符号(例えば、ASCII)による文字符号列よりも送信する情報量を削減することができる。
また、通信端末装置100は、キー識別符号列の生成に用いた言語知識データを識別する言語知識データ識別情報を通信ネットワーク10に向けて、具体的には、通信ネットワーク10に接続されている文字列処理サーバ700に送信する。
文字列処理サーバ700(または受信側の通信端末装置)は、通信端末装置100から受信した言語知識データ識別情報及び言語知識データ記憶部702に記憶している言語知識データ(または言語知識データのレプリカ)に基づいて、通信端末装置100によって送信されたキー識別符号列を文字符号列に変換し、変換した文字符号列を受信側の通信端末装置に送信する。
さらに、文字列処理サーバ700は、通信端末装置100において変更された言語知識データの変更内容を示す変更内容情報に基づいて、言語知識データ記憶部702に記憶している言語知識データ(または言語知識データのレプリカ)の内容を更新することができる。
このため、通信端末装置100のユーザーは、言語知識データの内容を自由に変更することが可能となり、言語知識データ、つまり、辞書をカスタマイズしたり、学習機能を用いて直近に選択された単語(文字列候補)の表示順位を上げたりすることができる。
従来、言語知識データを用いてキー識別符号列を送信する方法では、すべての通信端末装置が同一の言語知識データ(例えば、図6に示した構成を有する言語知識データ)を保持していることを前提としていた。
このため、受信側の通信端末装置において正しい文字列を表示するためには、受信側の通信端末装置が、入力された文字列の曖昧性を解消処理について、送信側の通信端末装置と同じ処理を実行する必要があった。本実施形態に係る通信システムによれば、このような従来の方法の問題を解決することができる。
[その他の実施形態]
上述したように、本発明の一実施形態を通じて本発明の内容を開示したが、この開示の一部をなす論述及び図面は、本発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態が明らかとなろう。例えば、上述した本発明の実施形態は、以下のように変更することができる。
(変更例1)
上述した本発明の実施形態では、複数の言語知識データの中から特定の言語知識データを識別するために、言語知識データ識別情報(例えば、“dic-0001”)が用いられていたが、本変更例では、言語知識データ識別情報ではなく、言語知識データを用いてテキストデータ(キー識別符号列)を生成、送信する通信端末装置(例えば、通信端末装置100)を特定する通信端末装置特定情報が用いられる。
通信端末装置特定情報としては、通信端末装置100の機種名情報と製造番号との組合せなどを用いることができる。すなわち、本変更例では、それぞれの言語知識データは、特定の通信端末装置と対応付けられる。例えば、通信端末装置100の送信機能1031(情報送信部)は、テキストデータ(キー識別符号列)とともに、通信端末装置特定情報を通信ネットワーク10に向けて送信する。
文字列処理サーバ700は、通信端末装置100から受信した通信端末装置特定情報(例えば、機種名:x700i、製造番号:012345657)に基づいて、通信端末装置100に対応する言語知識データを選択する。
また、本変更例では、受信側の通信端末装置(例えば、通信端末装置100A)は、文字列処理サーバ700に送信する言語知識データ送信要求に、テキストデータ(キー識別符号列)を送信した通信端末装置100を特定する通信端末装置特定情報を含めることができる。
(変更例2)
上述した本発明の実施形態及び変更例1では、通信端末装置100のユーザーに、複数存在する既成の言語知識データの中から好みの言語知識データを選択できる自由度が与えられたが、本変更例では、言語知識データの内容を変更(編集)できる自由度が通信端末装置100のユーザーに与えられる。
(1)表示部での表示順位の変更
ここでは、キー識別符号列に対応する文字列候補の表示順位を変更できるようにする。本変更は、通信端末装置100のユーザーの操作に応じて自動的に実行される。本変更の典型的な適用ケースは、直近に選択された文字列候補については、次回以降表示部105において優先的に表示される文字列候補とすること(例えば、最初に選択可能な位置に表示)である。
図12は、本変更を実現するため、図6に示した言語知識データの構造を一部変更した言語知識データを示している。図12に示すように、キー識別符号列“0011 0101 0101 0010”に対応する文字列候補は、{good, gone, home}の3つである。
図12に示す言語知識データでは、それぞれの文字列候補に既定の表示順位(基本表示順位)が割り振られている。すなわち、図12に示す言語知識データは、キー識別符号列に対して2以上の文字列候補を対応付けるとともに、表示部105に当該文字列候補を表示させる際の基本順位を示す基本表示順位(図中の“:1”、“:2”、“:3”)を含んでいる。
図12に示す言語知識データでは、表示部105に文字列候補(good, gone, home)を表示させる際の表示順位は変更されていないため、文字列候補の表示順位(左側(good)が先頭部分に表示される)と、既定の表示順位とは一致している。
ここで、通信端末装置100のユーザーによる入力キーの操作によって、キー識別符号列“0011 0101 0101 0010”が入力された後に、ユーザーは、[NEXT]に対応する入力キー211を2回操作(押下)し、“home”を表示させる。さらに、ユーザーは[選択]に対応する入力キー212を操作し、“home”を選択したものとする。
当該操作に応じて、言語知識データの構成は、図12に示す内容から図13に示す内容に変更される。図13に示すように、文字列候補の表示順位が変更され、“home”が左側、つまり、先頭部分に表示され、他の文字列候補(good, gone)は、それぞれ右側にシフト、つまり、表示順位が繰り下がっている。
図13に示すように言語知識データの構成が変更された状態において、ユーザーによる入力キーの操作によって、再びキー識別符号列“0011 0101 0101 0010”が入力されると、“home”が最初に表示部105に表示される。
すなわち、本変更例では、通信端末装置100のCPU104は、文字列候補の選択履歴に応じて表示部105への表示順位を変更する。本変更例において、CPU104は、文字列提示処理部を構成する。
ここで、通信端末装置100は、ユーザーによる入力キーの操作に対応するキー識別符号をそのまま送信しない。具体的には、通信端末装置100は、言語知識データから所望の文字列を選択する操作に対応する入力キー211,212については、言語知識データの既定の表示順位を参照して、表示順位の変更された文字列候補を表示させるために操作される入力キーに対応するキー識別符号を適宜追加する。
すなわち、本変更例では、データ記憶部107(キー識別符号記憶部)は、CPU104によって文字列候補の表示順位が変更された場合、言語知識データの既定の表示順位(基本表示順位)にしたがって当該文字列候補を選択するために操作される入力キーに対応するキー識別符号を、キー識別符号列にさらに追加して記憶する。
例えば、言語知識データの構成が図13に示したように変更されている状態において、キー識別符号列“0011 0101 0101 0010”が入力された後に、通信端末装置100のユーザーが、[選択]に対応する入力キー212を2回操作(押下)し、“home”を表示させたとする。
ここで、通信端末装置100は、入力キー212に対応するキー識別符号“1011”(図4参照)を送信するのではなく、選択された“home”の既定の表示順位値(“:3”)を参照し、3番目の文字列候補を表示させる操作である入力キー211([NEXT])を2回入力したことに対応するキー識別符号列“1010 1010”をキー識別符号“1011”の前に挿入して送信する。
このように、通信端末装置100は、文字列候補の表示順位が変更されても、既定の表示順位(基本表示順位)を保持するため、任意の文字列候補の表示順位を変更しても、既定の表示順位にしたがった文字列候補の選択に必要な操作に置き換えたキー識別符号列を送信することができる。このため、言語知識データに含まれる文字列候補の表示順位が変更されても、受信側の通信端末装置では、文字列候補の表示順位の変更がされていない言語知識データを用いて、正しい文字列を表示することができる。
(2)文字列候補の削除及び登録
ここでは、言語知識データからの特定の文字列候補の削除や、言語知識データへの新たな文字列候補の登録ができるようにする。
(2.1)文字列候補の削除
例えば、図12に示した言語知識データから“gone”を削除したとする。“gone”が削除されると、言語知識データの構成は、図14に示すように変更される。
図14に示すように言語知識データの構成が変更された状態において、キー識別符号列“0011 0101 0101 0010”が入力された後に、通信端末装置100のユーザーが、[NEXT]に対応する入力キー211を1回操作(押下)し、“home”を表示させたとする。さらに、ユーザーは、[選択]に対応する入力キー212を操作し、“home”を選択したとする。
このような場合においても、上述した表示順位の変更と同様に、“home”の既定の表示順位(“:3”)を参照し、3番目の文字列候補を表示させる操作である入力キー211([NEXT])を2回入力したことに対応するキー識別符号列“1010 1010”をキー識別符号“1011”の前に挿入して送信する。
すなわち、本変更例では、通信端末装置100のCPU104は、文字列候補を言語知識データから削除する。本変更例において、CPU104は、言語知識データ処理部を構成する。
また、本変更例では、データ記憶部107(キー識別符号記憶部)は、CPU104によって文字列候補が言語知識データから削除された場合、既定の表示順位(基本表示順位)にしたがって文字列候補を選択するために操作される入力キーに対応するキー識別符号を、キー識別符号列にさらに追加して記憶する。
このように、通信端末装置100は、文字列候補が削除されても、既定の表示順位(基本表示順位)を保持するため、既定の表示順位にしたがった文字列候補の選択に必要な操作に置き換えたキー識別符号列を送信することができる。このため、言語知識データに含まれる文字列候補が削除されても、受信側の通信端末装置では、当該文字列候補が削除されていない言語知識データを用いて、正しい文字列を表示することができる。
また、言語知識データに含まれる文字列候補が削除された場合、通信端末装置100は、当該文字列候補が削除されたことを示す情報を文字列処理サーバ700に送信するように変更してもよい。
文字列処理サーバ700は、通信端末装置100に記憶されている言語知識データの複製(レプリカ)を記憶し、上述した方法によって、言語知識データのレプリカから当該文字列候補を削除する。
この場合、通信端末装置100の送信機能1031は、言語知識データの変更内容を示す変更内容情報を通信ネットワーク10に向けて、具体的には、文字列処理サーバ700に送信する変更内容情報送信部を構成する。
また、文字列処理サーバ700の受信機能7012は、通信ネットワーク10を介して、通信端末装置100から当該変更内容情報を受信する変更内容情報受信部を構成する。
さらに、文字列処理サーバ700のCPU703は、受信機能7012が受信した当該変更内容情報に基づいて、言語知識データ記憶部702(サーバ側言語知識データ記憶部)に記憶されている言語知識データの内容を更新する言語知識データ更新部を構成する。
このような変更によれば、通信端末装置100に記憶されている言語知識データの内容が変更されると、文字列処理サーバ700に記憶されている言語知識データの複製(レプリカ)にも当該変更の内容が反映されるため、オリジナルの言語知識データの内容と、レプリカの言語知識データの内容とを一致させることができる。
さらに、本変更例では、表示順位を示す情報を言語知識データから削除してもよい。表示順位を示す情報を言語知識データから削除することによって、言語知識データの容量をより小さくすることができる。
(2.2)文字列候補の登録
例えば、図12に示した言語知識データにおいて、キー識別符号列“0011 0101 0101 0010”に対応する“hood”を新たに登録したとする。“hood”が新たに登録されると、言語知識データの構成は、図15に示すように変更される。
言語知識データに新たに登録された“hood”には、既定の表示順位が付与されていない。このため、既定の表示順位が付与されていないことを示す記号として“:N”が用いられる。
言語知識データの構成が図15に示したように変更されている状態において、キー識別符号列“0011 0101 0101 0010”が入力された後に、通信端末装置100のユーザーが、[NEXT]に対応する入力キー211を3回操作(押下)し、“hood”を表示させたとする。さらに、ユーザーは、[選択]に対応する入力キー212を操作し、“hood”を選択したとする。
ここで、受信側の通信端末装置が用いる言語知識データでは“hood”が登録されておらず、既定の表示順位(“:N”)も付与されていないため、受信側の通信端末装置は、キー識別符号列“0011 0101 0101 0010”を“hood”に変換することができない。
そこで、本変更例では、以下の何れかの方法によって、受信側の通信端末装置に“hood”を表示させる。
(2.2.1)文字符号を用いる方法
言語知識データに含まれている既定の表示順位が“:N”の場合、通信端末装置100は、文字列“hood”を文字符号(例えばASCII)による文字符号列に変換して送信する。
ここで、“hood”の前後は文字符号ではなくキー識別符号であるため、符号の種類が変わることを示す“フラグ情報”が文字符号の前後に挿入される。例えば、図3に示したキー識別符号定義情報において“予備”として確保されていたキー識別符号“1111”をフラグとして用いる。なお、文字符号列“hood”の終わりには、キー識別符号号ではなく、文字符号の予約符号を用いてもよい。
(2.2.2)マルチタップモードを用いる方法
言語知識データに含まれている既定の表示順位が“:N”の場合、通信端末装置100は、文字列“hood”をマルチタップモードによって生成したキー識別符号列に変換して送信する。
ここで、“hood”の前後には、入力システムがマルチタップモードに変わることを示す“フラグ情報”が挿入される。例えば、図3に示したキー識別符号定義情報において“予備”として確保されていたキー識別符号“1111”をフラグとして用いる。
なお、マルチタップモードによって“hood”を入力する場合、入力キー204を2回操作することによって“h”を得る(1回の操作であれば“g”、3回の操作であれば“i”となる)。
次いで、同様の方法によって、“o”、“o”、“d”を得る。つまり、キー識別符号列は、“0011 0011 0101 0101 0101 0101 0101 0101 0010”となる。実際にはフラグも付加されるため、“1111 0011 0011 0101 0101 0101 0101 0101 0101 0010 1111”が送信される。
すなわち、本変更例では、通信端末装置100のCPU104は、新たな文字列候補を言語知識データに登録する。本変更例において、CPU104は、言語知識データ処理部を構成する。
また、本変更例では、データ記憶部107(キー識別符号記憶部)は、CPU104によって新たな文字列候補が言語知識データに登録された場合、当該新たな文字列候補を選択するために操作される入力キーに対応するキー識別符号を、キー識別符号列にさらに追加して記憶する。
このように、通信端末装置100は、文字列候補が言語知識データに新たに登録されても、他の既定の文字列候補については、既定の表示順位(基本表示順位)を保持するため、既定の表示順位にしたがった文字列候補の選択に必要な操作に置き換えたキー識別符号列を送信することができる。このため、任意の文字列候補が言語知識データに新たに登録されても、受信側の通信端末装置では、当該文字列候補が登録されていない言語知識データを用いて、正しい文字列を表示することができる。
また、言語知識データに新たに登録された文字列候補については、文字符号(例えば、ASCII)による文字符号列に置き換えて送信するか、或いはマルチタップモードによって生成された文字符号列に置き換えて送信することができる。このため、受信側の通信端末装置では、当該文字列候補が登録されていない言語知識データを用いて、正しい文字列を表示することができる。
また、文字列候補が言語知識データに新たに登録された場合、通信端末装置100は、当該文字列候補が言語知識データに新たに登録されたことを示す情報を文字列処理サーバ700に送信するように変更してもよい。
文字列処理サーバ700は、通信端末装置100に記憶されている言語知識データの複製(レプリカ)を記憶し、上述した方法によって、言語知識データのレプリカに当該文字列候補を新たに登録する。
このような変更によれば、通信端末装置100に記憶されている言語知識データの内容が変更されると、文字列処理サーバ700に記憶されている言語知識データの複製(レプリカ)にも当該変更の内容が反映されるため、オリジナルの言語知識データの内容と、レプリカの言語知識データの内容とを一致させることができる。
さらに、本変更例では、表示順位を示す情報を言語知識データから削除してもよい。表示順位を示す情報を言語知識データから削除することによって、言語知識データの容量をより小さくすることができる。
以上、本発明の変更例について説明したが、本発明は、さらに以下のように変更してもよい。具体的には、言語知識データの先読み機能に対応するような拡張を施してもよい。
先読み機能とは、例えば、通信端末装置100のユーザーが“yesterday”と入力する場合、3番目の文字までの入力、つまり、入力キー209、入力キー203、入力キー207までは他の文字列候補(例えば、“yes”)が存在するが、入力キー208を用いて4番目の文字を入力した時点で、“yesterday”以外の文字列候補が無ければ、自動的に“yesterday”を唯一の文字列候補として表示するような機能をいう。
この場合、9文字(“yesterday”)分の入力を4文字(“yest”)分の入力で済ませることができるため、送信する情報量がさらに削減できる。
なお、先読み機能の有効・無効の切り替えが可能な場合、当該切替の情報も送信しないと、受信側の通信端末装置においてキー識別符号を正しく文字符号に変換できなくなる場合があるため、当該切替の情報も文字列処理サーバ700に送信するようにしてもよい。
さらに、上述した本発明の実施形態及び変更例に係る通信端末装置100(100A)及び文字列処理サーバ700が提供する機能は、通信端末装置(PDAなどを含む)、パーソナル・コンピュータまたはサーバ・コンピュータなどにおいて実行可能な通信プログラムとして提供することもできる。
このように、本発明は、ここでは記載していない様々な実施の形態などを含むことは勿論である。したがって、本発明の技術的範囲は、上述の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
10…通信ネットワーク、100,100A…通信端末装置、101…キー入力部、102…言語知識データ記憶部、103…データ通信部、104…CPU、105…表示部、106…電池、107…データ記憶部、108…文字符号列判定部、201〜215…入力キー、700…文字列処理サーバ、701…データ通信部、702…言語知識データ記憶部、703…CPU、1011…文字列決定機能、1021…構成情報記憶領域、1031…送信機能、1032…受信機能、1051…文字列提示機能、1071…キー識別符号定義記憶領域、1072…文字符号定義記憶領域、1073…キー識別符号記憶領域、7011…送信機能、7012…受信機能、7021…構成情報記憶領域