文字入力装置、文字入力方法、コンピュータ読取可能なプログラムおよび記録媒体
【課題】Webコンテンツ等にユーザが文字情報を入力する際に、必要とされる操作を軽減し、これにより文字入力装置における利便性を向上させる。
【解決手段】カテゴリ推定部254は、Webコンテンツ101の中の、入力対象となっている入力欄の入力フォームから属性情報を取得し、入力フォームの属性情報に対応するカテゴリ情報を推定する。単語抽出部256は、当該属性情報に対応した単語を辞書270から抽出し、また、推定されたカテゴリ情報に基づいて辞書270から単語を抽出する。候補単語決定部258は、単語抽出部256が抽出結果として出力した単語から候補文字列200Cとして出力する単語を決定する。候補文字列出力部260は、候補文字列200Cをモニタに表示させる。
【解決手段】カテゴリ推定部254は、Webコンテンツ101の中の、入力対象となっている入力欄の入力フォームから属性情報を取得し、入力フォームの属性情報に対応するカテゴリ情報を推定する。単語抽出部256は、当該属性情報に対応した単語を辞書270から抽出し、また、推定されたカテゴリ情報に基づいて辞書270から単語を抽出する。候補単語決定部258は、単語抽出部256が抽出結果として出力した単語から候補文字列200Cとして出力する単語を決定する。候補文字列出力部260は、候補文字列200Cをモニタに表示させる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文字入力装置、文字入力方法、コンピュータ読取可能なプログラムおよび記録媒体に関し、特に、入力する文字列の予測をすることができる文字入力装置、文字入力方法、コンピュータ読取可能なプログラムおよび記録媒体に関する。
【背景技術】
【0002】
近年の情報技術の発達により、情報処理機器に対して、ユーザが、種々の情報を入力する機会が増加している。
【0003】
特に、多種多様なインターネット上のサービスを利用する際に、図3に示すような、入力フォームを含むWebコンテンツに対し、ユーザは、名前、住所、電子メールアドレスなどの情報を入力する場合がある。このようなサービスを利用する機会が増えると、ユーザは、同じ情報を、様々な入力フォームに繰り返し入力しなければならず、煩雑であるという問題が生じる。
【0004】
このような問題を解決するために、特許文献1には、過去に入力フォームに入力したデータを記憶しておき、次回、同じような情報を入力する際に、過去の入力データを利用する技術が開示されている。具体的には、特許文献1では、自動記入システムは、入力フォーム毎に入力フォームに付随する属性情報と入力文字列を端末もしくはサーバにて記憶しており、新たなWebコンテンツを表示する際に、ユーザによる呼び出し動作に応じて、Webコンテンツを解析し、入力フォームに付随する属性情報と、記憶している入力フォーム毎の履歴データから、入力する文字列を決定し、Webコンテンツの入力フォームに決定した文字列を自動的に入力する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005−327260号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に記載されたような従来の方法では、Webコンテンツを閲覧するためのシステム自体が、Webコンテンツを解析し、入力フォームに付随する属性情報から入力文字列を決定し、決定した入力文字列が入力フォームに自動的に埋め込まれて、表示される。
【0007】
このため、ある入力フォームに対して複数の入力文字列が候補として存在したとしても、入力フォームに埋め込まれて表示される候補は一つである。よって、システムによって自動的に埋め込まれた文字列の候補がユーザの所望する文字列と異なる場合には、ユーザは、文字列を初めから入力しなければならない。特に、複数のユーザがシステムを利用する場合や、ユーザが多様な入力フォームに対して入力フォームごとに異なる情報を入力していた場合には、候補として表示される文字列がユーザの所望する文字列と異なる確率が高くなる。したがって、ユーザが文字列を初めから入力することを必要とされる確率が高くなる。
【0008】
つまり、従来の方法では、ユーザの所望する文字列と異なる文字列を、候補として表示する場合が多くなり、このことから、ユーザに、候補として表示された文字列を削除して、改めて文字列を入力させる場合が多くなり、結果として、かえってユーザに煩雑な操作を必要とする事態が考えられる。
【0009】
本発明は、かかる実情に鑑み考え出されたものであり、その目的は、Webコンテンツ等にユーザが文字情報を入力する際に、必要とされる操作を軽減し、これにより文字入力装置における利便性を向上させることである。
【課題を解決するための手段】
【0010】
本発明に従った文字入力装置は、属性情報に対応した入力フォームを含むコンテンツについて、入力フォームに入力する文字列を入力するための文字入力装置であって、情報の入力を受付ける入力手段と、文字列を属性情報およびカテゴリ情報の少なくとも一方に対応付けて記憶する第1の記憶手段と、入力フォームの属性情報に対応して第1の記憶手段に記憶されている文字列を抽出する第1の抽出手段と、入力フォームの属性情報に対応するカテゴリ情報を推定する推定手段と、推定手段が推定したカテゴリ情報に対応して第1の記憶手段に記憶されている文字列を抽出する第2の抽出手段と、第1の抽出手段および第2の抽出手段が抽出した文字列を、入力フォームに入力する文字列の候補として設定する候補設定手段と、入力手段に対する入力に応じて、候補設定手段が設定した文字列の中から選択された文字列を、入力フォームに入力する文字列として出力する出力手段とを備える。
【0011】
また、本発明に従った文字入力装置では、推定手段は、属性情報とカテゴリ情報を関連付ける関連情報を記憶する第2の記憶手段と、第2の記憶手段において、コンテンツの入力フォームに対応する属性情報に関連付けられているカテゴリ情報を推定結果として決定する決定手段とを含むことが好ましい。
【0012】
また、本発明に従った文字入力装置では、第1の記憶手段は、文字列を、さらに当該文字列の読み仮名に対応付け、属性情報およびカテゴリ情報に対応付けられず、読み仮名に対応付けられる文字列を、さらに含み、第1の抽出手段は、入力手段に入力された読み仮名に基づいて、第1の記憶手段から文字列を抽出することが好ましい。
【0013】
また、本発明に従った文字入力装置では、候補設定手段は、第1の抽出手段または第2の抽出手段が抽出した文字列の中で、属性情報およびカテゴリ情報のいずれかに対応付けられている文字列を、属性情報およびカテゴリ情報のいずれにも対応付けられていない文字列よりも優先度を高く設定することが好ましい。
【0014】
また、本発明に従った文字入力装置では、第2の記憶手段は、属性情報を文字列で特定し、決定手段は、第2の記憶手段において、コンテンツの入力フォームに対応する属性情報の少なくとも一部と一致する属性情報に関連付けられているカテゴリ情報を、推定結果として決定することが好ましい。
【0015】
また、本発明に従った文字入力装置は、第1の記憶手段において、出力手段が出力する文字列が、入力フォームの属性情報に対応して記憶されるように、第1の記憶手段を更新する更新手段をさらに備えることが好ましい。
【0016】
また、本発明に従った文字入力装置では、推定手段は、コンテンツの属性情報に対応したカテゴリ情報を複数推定し、更新手段は、第1の記憶手段において、出力手段が出力する文字列が、入力フォームに対応した属性情報に対応するカテゴリ情報に対応して記憶されるように、第1の記憶手段を更新することが好ましい。
【0017】
また、本発明に従った文字入力装置では、第1の抽出手段および第2の抽出手段は、入力手段が文字列の入力を受付けていない状態であっても、文字列を抽出することが好ましい。
【0018】
また、本発明に従った文字入力装置は、候補設定手段が設定した候補を表示装置に表示させる候補表示手段をさらに備えることが好ましい。
【0019】
本発明に従った文字入力方法は、文字列を記憶する第1の記憶手段を備え、表示装置に表示されるコンテンツにおける入力フォームに文字を入力する文字入力装置において実行される文字入力方法であって、文字列を属性情報およびカテゴリ情報に対応付けて第1の記憶手段に記憶するステップと、入力フォームに対応する属性情報を抽出するステップと、抽出した属性情報に対応して第1の記憶手段に記憶されている文字列を抽出するステップと、抽出した属性情報に対応するカテゴリ情報を推定するステップと、推定したカテゴリ情報に対応して第1の記憶手段において記憶されている文字列を抽出するステップと、属性情報およびカテゴリ情報に基づいて抽出した文字列を、入力フォームに入力する文字列の候補として設定するステップと、候補として設定した文字列を、入力フォームに入力する文字列として出力するステップとを備える。
【0020】
本発明に従ったプログラムは、文字列を記憶する第1の記憶手段を備え、表示装置に表示されるコンテンツにおける入力フォームに文字を入力する文字入力装置において実行される、コンピュータ読取り可能なプログラムであって、文字入力装置に、文字列を属性情報およびカテゴリ情報に対応付けて第1の記憶手段に記憶するステップと、入力フォームに対応する属性情報を抽出するステップと、抽出した属性情報に対応して第1の記憶手段に記憶されている文字列を抽出するステップと、抽出した属性情報に対応するカテゴリ情報を推定するステップと、推定したカテゴリ情報に対応して第1の記憶手段において記憶されている文字列を抽出するステップと、属性情報およびカテゴリ情報に基づいて抽出した文字列を、入力フォームに入力する文字列の候補として設定するステップと、候補として設定した文字列を、入力フォームに入力する文字列として出力するステップとを実行させる。
【0021】
本発明に従った記録媒体は、文字列を記憶する第1の記憶手段を備え、表示装置に表示されるコンテンツにおける入力フォームに文字を入力する文字入力装置において実行される、コンピュータ読取り可能なプログラムを記録する記録媒体であって、プログラムは、文字入力装置に、文字列を属性情報およびカテゴリ情報に対応付けて第1の記憶手段に記憶するステップと、入力フォームに対応する属性情報を抽出するステップと、抽出した属性情報に対応して第1の記憶手段に記憶されている文字列を抽出するステップと、抽出した属性情報に対応するカテゴリ情報を推定するステップと、推定したカテゴリ情報に対応して第1の記憶手段において記憶されている文字列を抽出するステップと、属性情報およびカテゴリ情報に基づいて抽出した文字列を、入力フォームに入力する文字列の候補として設定するステップと、候補として設定した文字列を、入力フォームに入力する文字列として出力するステップとを実行させる。
【発明の効果】
【0022】
本発明によれば、入力フォームに入力する文字列の候補として、2段階で、文字列が抽出される。つまり、文字列の入力の対象となる入力フォームに対応する属性情報について、当該属性情報に基づいてデータベース中の文字列が抽出され、さらに、当該属性情報に基づいて推定されたカテゴリ情報に基づいてデータベース中の文字列が抽出される。
【0023】
抽出された文字列を候補として提示することにより、ユーザは、提示された候補の中から文字列を選択するという簡単な操作によって、文字入力を行なうことができる。なお、上記入力欄に入力する文字列として複数の文字列の候補が想定される場合でも、当該複数の文字列が候補として設定され、ユーザは、当該複数の文字列から、文字列を選択することができる。よって、複数の文字列が候補として想定される場合に、当該複数の中から1つの文字列しか候補として設定できず、これにより、ユーザが候補として設定された文字列を一度削除した上で改めて文字列を入力する操作を必要とされるという事態を回避できる。
【0024】
また、本発明によれば、候補設定手段は、入力手段に読みが入力されれば、属性情報やカテゴリ情報に対応付けられていない文字列をも候補として設定できる。ユーザが初めて閲覧するコンテンツに対して入力を行なう場面など、データベースにおいて文字列が属性情報やカテゴリ情報に関連付けられていない場合であっても、ユーザは、文字入力についての支援を受けることができる。
【図面の簡単な説明】
【0025】
【図1】本発明の文字入力装置の一実施の形態である文字入力装置の機能構造を示すブロック図である。
【図2】図1の文字入力装置を構成するコンピュータシステムの内部構成を示す図である。
【図3】図2のリモコンの外観図である。
【図4】図1の文字入力装置が文字列の入力の対象とする入力フォームの表示画面の一例を示す図である。
【図5】図4の入力フォームを表示させるためのHTML(HyperText Markup Language)フォームの一例を示す図である。
【図6】図1の文字入力装置を構成するアプリケーションによる表示画面(文字入力画面)の一例を示す図である。
【図7】図1の文字入力装置が文字列の入力の対象とする入力フォームの表示画面の他の例を示す図である。
【図8】図1の辞書のデータ構成の一例を模式的に示す図である。
【図9】図1のカテゴリ推定部において、属性情報に基づいてカテゴリを推定するために格納されている情報の一例を示す図である。
【図10】図1の文字入力装置を構成するアプリケーションによる表示画面(文字入力画面)の他の例を示す図である。
【図11】図1の文字入力装置を構成するアプリケーションによる表示画面(文字入力画面)のさらに他の例を示す図である。
【図12】図1の文字入力装置が起動されてから入力文字列を出力するまでに実行される処理のフローチャートである。
【発明を実施するための形態】
【0026】
以下、本発明の文字入力装置の実施の形態について、図面を参照して説明する。各図において、同一の構成要素には同一の符号を付し、その詳細な説明は繰返さない。
【0027】
[文字入力装置の機能構成]
以下、本発明の文字入力装置の一実施の形態について、図面を参照しつつ説明する。なお、本文字入力装置は、パーソナルコンピュータ(PC)、携帯情報端末(Personal Digital Assistants:PDA)、テレビ、携帯電話等の、Webコンテンツを閲覧可能で、文字の入力が可能な機器に搭載することが可能である。このような機器において、インターネット等のネットワーク経由で入力フォームを含むWebコンテンツを取得し、Webコンテンツ閲覧装置100もしくは閲覧ソフトによって表示を行ない、当該入力フォームに文字を入力する際に、文字入力装置は、入力するための文字列(一文字の場合を含む)を生成し、生成した文字列をWebコンテンツ閲覧装置100もしくは閲覧ソフトに渡す。これに応じて、Webコンテンツ閲覧装置100は、入力フォームに対して取得した入力文字列を埋め込み、Webコンテンツを表示する。
【0028】
図1は、本実施の形態の文字入力装置の機能構造を示すブロック図である。
文字入力装置200は、Webコンテンツ閲覧装置100に通信できる。
【0029】
Webコンテンツ閲覧装置100では、入力フォーム情報102を含むWebコンテンツ101が再生(表示等)される。
【0030】
Webコンテンツ閲覧装置100において、入力フォーム情報102に基づいて表示される単数又は複数の入力欄の中の一つの入力欄が指定される情報が入力されると、Webコンテンツ閲覧装置100から文字入力装置200に、文字入力装置としての機能を起動させる指示が入力される。なお、入力欄の指定は、ユーザによるリモートコントローラ(以下、「リモコン」という)やキーボード等の入力デバイスの操作に基づいて行なわれる。
【0031】
文字入力装置200では、入力部250は、文字入力、漢字変換、入力完了等のユーザが文字入力のために行なった操作によって特定される情報である文字入力操作情報200A、および、当該文字入力装置200が提示した候補の中からユーザがどの候補を選択したかという情報である候補選択情報504の入力を受付ける。
【0032】
カテゴリ推定部254は、入力フォーム情報102から抽出する等して取得した属性情報に基づいて、文字入力装置200に格納されている辞書270を参照し、当該属性情報に対応するカテゴリを推定し、その結果を単語抽出部256に出力する。
【0033】
本実施の形態では、辞書270は、文字入力装置200内に記憶されているが、文字入力装置200を構成する機器とは別体の装置に記憶され、文字入力装置200では、ネットワークを介することにより当該辞書270が参照されても良い。
【0034】
単語抽出部256は、入力された文字情報(文字入力操作情報200A)に基づいて、辞書270から単語を抽出し、候補単語決定部258へ出力する。また、単語抽出部256は、カテゴリ推定部254から取得したカテゴリ情報に基づいて、辞書270から単語を抽出し、候補単語決定部258へ出力する。
【0035】
候補単語決定部258は、単語抽出部256が抽出した単語の中から、候補文字列として出力する単語およびその提示順序を決定する。
【0036】
候補文字列出力部260は、候補単語決定部258が決定した単語を当該候補単語決定部258が決定した順序で、候補文字列200Cとして、モニタ770に出力する。これにより、候補文字列200Cは、モニタ770の画面に表示される。このように、表示対象として候補文字列200Cを出力する候補文字列出力部260により、候補設定手段が設定した文字列の候補を表示させる候補表示手段が構成されている。
【0037】
なお、本実施の形態では、文字入力装置200は表示装置(モニタ770)を含んでいても良いし、表示装置を含まず、候補表示手段により、外部の表示装置に候補文字列200Cを表示させるための情報を送信することにより文字列の候補を表示させても良い。
【0038】
ユーザは、提示された候補文字列の選択、文字入力、漢字変換等の操作を繰り返し、入力フォームの各入力欄に対して入力するための文字列を作成する。文字入力装置200は、文字入力操作情報200Aおよび選択候補200Bの入力を受け付けるたびに、候補文字列200Cとして挙げる文字列の候補を変更する。文字入力装置200は、入力部250が受け付ける、候補文字列の選択情報、文字入力、漢字変換等の文字入力操作情報等の入力情報に基づき、文字列を作成する入力文字列作成部を含んでいてもよい。当該入力文字列作成部は、入力欄に入力する入力文字列220Dの途中文字列を保持しており、入力部250が入力を受け付けるたびに、新たに入力された入力情報に基づき途中文字列を更新する。入力文字列作成部が作成した文字列は、途中文字列として出力部を介してモニタ770に出力してもよい。
【0039】
入力欄に対する文字列の作成が完成し、入力部250を介して、ユーザの操作に基づく入力完了の指示を受け付けると、入力文字列出力部262は、当該入力完了の指示により決定された文字列(入力文字列200D)を、入力フォーム情報102の、処理対象となっている入力欄に入力する文字列として、Webコンテンツ閲覧装置100へ出力する。
【0040】
文字入力装置200が上記したような入力文字列作成部を含む場合は、入力完了の指示を受け付けると、途中文字列として保持している文字列を入力文字列220Dとして、入力文字列出力部262が出力する。
【0041】
辞書更新部252は、入力文字列200Dに基づいて、辞書270を更新する。
[文字入力装置のハードウェア構成]
本実施の形態に係る文字入力装置は、実質的には、コンピュータハードウェアと、そのコンピュータハードウェアにより実行されるプログラムと、コンピュータハードウェアに格納されるデータとにより実現される。図2に、このコンピュータシステム700の内部構成を示す。
【0042】
なお、本実施の形態では、Webコンテンツ閲覧装置100と文字入力装置200が、コンピュータシステム700により実現される。以下、本明細書では、必要な場合には、コンピュータシステム700が、Webコンテンツ閲覧装置100として機能しているか文字入力装置200として機能しているかについて、説明をすることとする。
【0043】
図2を参照して、このコンピュータシステム700は、光ディスクドライブ751および磁気ディスクドライブ752を有するコンピュータ750と、モニタ770と、リモコン700Aとを含む。
【0044】
(コンピュータのハードウェア構成)
コンピュータ750は、光ディスクドライブ751および磁気ディスクドライブ752に加えて、電源ボタン等の入力装置753と、リモコン700Aからの信号を受信するリモコンインタフェース(I/F)755と、CPU(中央処理装置)756を含む。
【0045】
リモコンI/F755、CPU756、光ディスクドライブ751および磁気ディスクドライブ752は、バス757により接続される。
【0046】
コンピュータ750は、バス757に接続され、ブートアッププログラム等を記憶する読出専用メモリ(ROM)758と、同じくバス757に接続され、プログラム命令、システムプログラム、および作業データ等を記憶するランダムアクセスメモリ(RAM)759とを含む。
【0047】
ここでは示さないが、コンピュータ750はさらにネットワークへの接続を提供するネットワークアダプタボード、無線通信を行なう通信装置を含んでもよい。
【0048】
コンピュータシステム700に文字入力装置の機能を実現させるためのプログラム、入力情報はいずれも、光ディスクドライブ751または磁気ディスクドライブ752に挿入される光ディスク760または磁気ディスク761に記憶され、さらにハードディスク762に転送される。または、プログラム等のデータは、図示しないネットワークを通じてコンピュータ750に送信され、ハードディスク762に記憶されてもよい。プログラムは実行の際にRAM759にロードされる。光ディスク760から、磁気ディスク761から、またはネットワークを介して、RAM759に直接プログラムがロードされてもよい。
【0049】
このプログラムは、コンピュータ750に本実施の形態に係る文字入力装置200の機能を実現させる複数の命令を含む。これら機能を実現させるのに必要な基本的機能のいくつかはコンピュータ750上で動作するオペレーティングシステム(OS)またはサードパーティのプログラム、若しくはコンピュータ750にインストールされる各種ツールキットのモジュールにより提供される。したがって、このプログラムは、この実施の形態に係る文字入力装置の機能を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能または「ツール」を呼出すことにより、上記した文字入力装置の制御を実行する命令のみを含んでいればよい。コンピュータシステム700の動作は周知であるので、ここでは繰り返さない。
【0050】
なお、文字入力装置の機能を実現するためのプログラムやデータが記録される記録媒体は、CD−ROM(コンパクトディスク読取専用メモリ)、MO(Magneto−Optical disc)、MD(Mini Disc)、およびDVD(Digital Versatile Disc)等の光ディスク760、FD(フレキシブルディスク)およびハードディスク等の磁気ディスク7761に限らない。磁気テープおよびカセットテープ等のテープ、IC(Integrated Circuit)カードおよび光カード等のカード型記録媒体、並びにマスクROM、EPROM(Erasable Programable ROM)、EEPROM(Electrically Erasable Programable ROM)、およびフラッシュROM等の半導体メモリのいずれかでもよい。ただし、コンピュータシステム700は、これら記録媒体からの読出を行なうための読出装置を実装する必要がある。
【0051】
本実施の形態では、CPU756がハードディスク762や光ディスク760や磁気ディスク761に記録されたプログラムを実行することにより、入力部250、辞書更新部252、カテゴリ推定部254、単語抽出部256、候補単語決定部258、候補文字列出力部260および入力文字列出力部262が構成される。また、辞書270や本明細書において説明される処理が実行されるのに必要な情報(データ)は、ハードディスク762や光ディスク760や磁気ディスク761やRAM759に記録されている。
【0052】
(リモコンのハードウェア構成)
リモコン700Aは、リモコン700Aの動作を全体的に制御する情報処理装置780を含む。また、リモコン700Aは、無線信号を発信する信号発生装置786と、後述する数字キー701等のキーから構成されるキー入力部785と、キー入力部785の中の操作されたキーに対応して出力する信号の内容を記憶する記憶装置781とを含む。
【0053】
リモコン700Aは、キー入力部785が操作されると、操作されたキーに応じた信号が、信号発信装置786から出力される。
【0054】
コンピュータ750は、リモコンI/F755において、リモコン700Aから出力された信号を受信する。
【0055】
(リモコンの外観)
図2のリモコン700Aの外観を図3に示す。
【0056】
図3を参照して、リモコン700Aは、「1」〜「12」のそれぞれの数字に対応した12個のボタンからなる数字キー701と、モニタ770に表示されたカーソル等の操作対象となる位置を上下左右のそれぞれの方向に移動させる上キー711,下キー712,左キー713,右キー714と、入力中の情報を確定させるための決定キー710と、コンピュータ750の動作状態に応じた種々の機能を割当てられる機能キー712〜724を含む。
【0057】
[入力フォームの構成]
次に、入力フォーム情報102に基づいて表示される入力フォームの表示例について説明する。
【0058】
(入力フォームの表示例)
図4に、入力フォームを含むWebコンテンツの表示の表示画面の一例を示す。
【0059】
画面400として表示されたWebコンテンツには、姓、名などの入力フォームが存在する。ある任意の入力フォームに文字を入力するという処理は、まず、ユーザがリモコンやマウスポインタ等の操作によって、入力する入力フォームを指定する。ユーザによる文字入力指示を検出すると、コンピュータ750は、文字入力装置を起動し、文字入力装置で文字列を生成し、生成した文字列をWebコンテンツ閲覧装置100に渡す。Webコンテンツ閲覧装置100は、取得した文字列を入力フォームに埋め込み、Webコンテンツを再表示する。
【0060】
画面400は、ユーザの、姓名の中の姓の部分を入力する入力欄401と、名の部分を入力する入力欄402と、姓の部分のよみがなを入力する入力欄411と、名の部分のよみがなを入力する入力欄412とを含む。
【0061】
また、画面400は、ユーザの電子メールアドレスを入力する入力欄421と、当該電子メールアドレスを確認的に再度入力させる入力欄422とを含む。
【0062】
また、画面400は、ユーザの性別を入力させるための入力欄431,432を含む。
また、画面400は、ユーザの郵便番号を入力させるための入力欄441,442を含む。
【0063】
また、画面400は、ユーザの住所を入力させるための入力欄451,461,471を含む。
【0064】
また、画面400は、ユーザの電話番号を入力させるための入力欄481,482,483を含む。
【0065】
また、画面400は、ユーザの勤務先の情報を入力させるための入力欄491を含む。
(入力フォームを構成するデータの一例)
図5に、図4に示したWebコンテンツに対応するHTMLフォームの一例を示す。
【0066】
Webコンテンツ閲覧装置100は、図5に示すようなHTMLフォームデータを取得し、図4に示すような形式で、モニタ770等の表示装置に表示する。
【0067】
図5を参照して、図4の画面400中の入力欄401,402は、それぞれ図5に示したHTMLフォームの中の記述501,502に対応する。
【0068】
また、入力欄411,412,421,422,431,432,444,442,461,471,481,482,483,491は、それぞれ、図5中の記述511,512,521,522,531,532,541,542,561,571,581,582,583,591に対応する。
【0069】
HTMLフォーム中での各入力欄に対応する記述を、本明細書では各入力欄に対応する入力フォームという。
【0070】
具体的には、図4の各入力欄のうち、「姓」に対応する入力欄401は、図5のHTMLフォームでは、<input name=”sei” type=”text” size=”16” />のような形式で表現されている。このうち、<input>は、入力フォームそのものを示すHTMLタグであり、name, type, sizeなどのinputタグ内で指定される値は、<input>タグを特徴づける属性情報である。これらを、本明細書では、入力フォームに付随する属性情報という。
【0071】
文字の入力対象として「姓」の入力フォームが指定された場合、文字入力装置200を構成するアプリケーションがコンピュータ750において起動する。
【0072】
このとき、「姓」の入力フォームに付随する属性情報が、Webコンテンツ閲覧装置100から文字入力装置200へ渡される。具体的には、文字入力装置200を構成するアプリケーションを実行するCPU756は、Webコンテンツ閲覧装置100として機能するためのアプリケーションによってモニタ770に表示されているWebコンテンツの画面400の基となるHTMLフォームから、入力対象となる入力フォームについての属性情報を読み込む。
【0073】
以下、例として、<input>タグのname属性の値、”sei”が渡されるとする。
[文字入力装置200の機能の説明]
(文字入力装置を構成するアプリケーションによる表示画面)
文字入力装置200を構成するアプリケーションによる表示画面(文字入力画面)の一例を図6に示す。
【0074】
図6を参照して、文字入力画面910は、図4の入力フォームの各入力欄に入力される文字列の編集過程での文字列を表示させる表示欄911と、表示欄911に表示させる文字列として予測される文字列の候補を表示するための表示欄912と、数字キー701の12個のキーのそれぞれに対応する内容を示す表示欄913と、機能キー721にアサインされた機能を示す表示欄914と、機能キー722にアサインされた機能を示す表示欄915とを含む。
【0075】
文字入力装置が上記したような入力文字列作成部を含む場合、当該入力文字列作成部が保持する途中入力文字列は、表示欄911で表示される。
【0076】
表示欄911において、入力されたが、かな漢字変換前であり、まだ文字が確定されていない文字列については、図6に示されるように、下線が付されて表示される。表示欄911には、次に入力する文字が挿入される位置を示すカーソル911Aが表示される。
【0077】
なお、本明細書では、文字入力装置200に対する文字の入力と、Webコンテンツ閲覧装置100に対する文字の入力は、区別して記載される。文字入力装置200には、Webコンテンツ閲覧装置100に対して、入力フォームに埋め込む文字列として出力する「入力文字列200D」を作成するための文字が、リモコン700Aに対する操作等によって入力される。
【0078】
図6の表示欄913の表示によれば、数字キー701の「1」キーには、「あ」行の平仮名の入力がアサインされている。「1」キーが連続して操作されることにより、操作回数に応じて表示欄911に表示される文字は、「あ」「い」「う」「え」「お」「ぁ」「ぃ」…「あ」「い」…のように変化する。
【0079】
また、数字キー701の「2」キーには、「か」行の平仮名の入力がアサインされている。「2」キーが連続して操作されることにより、当該操作に基づいて表示欄911に表示される文字は、「か」「き」「く」「け」「こ」「か」「き」…のように変化する。
【0080】
また、数字キー701の「3」キーには、「さ」行の平仮名の入力がアサインされている。「3」キーが連続して操作されることにより、当該操作に基づいて表示欄911に表示される文字は、「さ」「し」「す」「せ」「そ」「さ」「し」…のように変化する。
【0081】
そして、数字キー701の「4」キー,「5」キー,「6」キー,「7」キー,「8」キー,「9」キー,「11」キーには、それぞれ、「た」行,「な」行,「は」行,「ま」行,「や」行,「ら」行,「わ」行の平仮名の入力がアサインされている。
【0082】
数字キー701の「10」キーには、表示欄911に表示された文字に対して、当該キーの操作回数に応じて所定の処理を施す情報を入力する機能がアサインされている。所定の処理とは、奇数回の操作がなされると、カーソル911Aが表示された位置の左隣にある位置の文字に対して濁点を付す、または、濁点が付された文字に対しては濁点を削除する)処理をし、偶数回の操作がなされると、小文字化する(「あ」を「ぁ」とする)または小文字化を解除する処理をすることに対応する。
【0083】
数字キー701の「12」キーには、表示欄911に対して操作回数に応じた文字数だけ空白を入力する機能がアサインされている。
【0084】
表示欄914の表示によれば、機能キー721には、表示欄911に表示された平仮名の文字列の漢字変換を指示する機能がアサインされている。
【0085】
表示欄915の表示によれば、機能キー722には、画面400の中の処理対象となっている入力欄に対して、表示欄911に表示されている文字列を、入力する情報として、文字入力アプリケーションの処理を終了させる機能がアサインされている。
【0086】
図6の文字入力画面910の表示欄911には、入力されているが確定される前の状態にある文字「た」が示されている。これは、上記したように、リモコン700Aにおいて数字キー701の「4」キーが1回操作された状態に対応する。
【0087】
そして、表示欄912には、辞書270に含まれる、「た」の読みに基づいて抽出された候補文字列200Cを構成する複数の文字列(「退官」「退社」「対処」「態勢」「体調」「称える」「立つ」「立てこもる」「度」)が示されている。
【0088】
この状態で、上キー711,下キー712,左キー713,右キー714および決定キー710が操作されることにより、候補文字列として表示されたものから文字列を選択および決定されると、CPU756は、表示欄911に表示される文字列を決定された文字列に置換する。たとえば、「退官」の文字列が選択されると、表示欄911には「退官」が表示され、「退官」の文字列の直後にカーソル911Aが表示される。この状態で、さらに、数字キー701が操作されると、当該数字キーにアサインされたひらがな文字を表示欄911において「退官」の直後に未確定の状態で表示し、表示されたひらがな文字に基づいて抽出した候補文字列200Cを更新する。このようにして、提示した候補文字列200Cの選択や、数字キー701等のキー操作に基づき、表示欄911に表示する文字列を更新する。そして、入力完了キー915が操作されると、入力文字列出力部262は、表示部911の文字列を、入力文字列200Dとして、Webコンテンツ閲覧装置100に出力する。
【0089】
なお、表示欄912では、選択されている文字列は、太枠で囲まれる等により表示される。図6では、「退官」が選択された状態が示されている。表示欄912内で選択される文字列は、上キー711,下キー712,左キー713,右キー714が操作されることにより変更される。
【0090】
(文字入力装置の漢字変換機能)
本実施の形態の文字入力装置200は、予測候補提示機能の他に、漢字変換機能をもち、入力中の読みを読み仮名とする漢字に変換する機能をもつ。新規の単語入力の際など、予測候補に目的の文字列が提示されない場合は、漢字変換機能によって変換された漢字等を組み合わせることで、文字列を生成する。入力フォームに入力すべき文字列を生成できると、入力完了機能を実行し、生成した文字列を入力文字列出力部からWebコンテンツ閲覧装置100に渡す。
【0091】
たとえば、「姓」という入力フォーム(画面400の入力欄401)に対して、「たなか」という読みを入力する操作がなされた場合、文字入力装置200は、漢字変換機能によって、「たなか」の文字列に基づいて「田中」という文字列を生成し、入力完了機能を実行したとする。
【0092】
Webコンテンツ閲覧装置100は、「姓」という入力フォームに、「田中」という文字列が文字入力装置200において生成された情報を取得すると、図7に示したように、指定された入力フォームに取得した文字列を埋め込むよう、画面400の表示を更新する。このようにして、文字入力装置200で生成した文字列を使用して、Webコンテンツ閲覧装置100が、Webコンテンツを表示する。
【0093】
(辞書を用いた一般的な処理内容)
文字入力装置200では、予測候補の選択、漢字変換、および入力完了機能が実行されると、辞書更新部252によって辞書270が更新される。
【0094】
辞書更新部252は、入力フォームに付随する属性情報として取得されたデータと、予測候補の選択、漢字変換、入力完了機能時のそれぞれの確定文字列とを用いて、辞書データを更新する。
【0095】
ここまで説明してきた例では、属性情報として渡されたname属性の値、”sei”と、確定された文字列である「田中」との関連づけを行ない、辞書の270のデータを更新する。属性の値、確定された文字列が辞書に登録されていなければ、新規に登録を行なう。
【0096】
ここで、辞書270のデータ構造について、説明する。
(辞書のデータ構造)
以下、文字入力装置200で利用される辞書270について、そのデータ内容、辞書引き、更新方法について説明する。まず、辞書270のデータ内容を説明する。
【0097】
図8は、辞書270のデータ構成の一例を模式的に示す図である。
図8を参照して、辞書270には、単語ごとの読み2714と、読み2714に対応する表記2715が、データベース形式で格納されている。
【0098】
また、辞書270に格納される単語には、これらに加え、属性情報2712と、属性情報2712から推測されるカテゴリを示す情報(カテゴリ情報2713)が格納されている単語もある。
【0099】
つまり、辞書270に格納される単語には、属性情報およびカテゴリ情報が付与されている単語と付与されていない単語がある。
【0100】
なお、辞書270では、各単語は、番号2711が付されて、格納されている。
入力する入力フォームをユーザによって指定され、文字入力装置を起動する際に、入力部250を介して、指定された入力フォームに付随する属性情報を取得する。予測候補の選択、漢字変換時には、表記と読みが、取得された属性情報とともに、辞書270に格納されるように辞書270が更新される。入力完了時には、入力文字列200DとしてWebコンテンツ閲覧装置100に送信された文字列と、取得された属性情報とが、辞書270に格納されるように、辞書270が更新される。属性情報からカテゴリが推定された場合、カテゴリ情報も付与されて、格納される。カテゴリ推定部254によるカテゴリ推定の方法は、後述する。
【0101】
そして、このように辞書270に格納された表記、読み、属性情報、カテゴリ情報は、それ以降の入力フォームに対する入力文字列200Dの生成の際に利用される。
【0102】
なお、辞書にない文字列が入力文字列200Dとして出力されると、辞書更新部252は、当該文字列を新たに辞書270に登録することにより、辞書270を更新する。
【0103】
辞書にない文字列とは、漢字変換を必要としないひらがな・カタカナ・英数字からなる文字列や、辞書単語を組み合わせた複合語などが考えられる。たとえば、「ひなまつり」が辞書に登録されていない場合、当該「ひなまつり」は漢字変換なしに入力できる文字列であり、このような文字列が入力完了されると、読みおよび表記が「ひなまつり」となる単語が、その時の属性情報(その時点で処理対象となった入力フォームに対応する属性情報)とともに、辞書270に追加される。なお、「祭り」という単語が辞書に存在する場合に、「ひな」を無変換で表示欄911に入力し、その直後に「祭り」という文字列を表示欄911上で漢字変換を行なった上で入力し、これにより、「ひな祭り」という複合語文字列が生成された状態で、入力完了されると、読みが「ひなまつり」、表記が「ひな祭り」である文字列が、その時の属性情報とともに、辞書270に追加される。
【0104】
(辞書の更新)
文字入力装置200の起動時や表示欄911に1文字入力されるたびに、辞書270が参照されて、表示欄912に候補として表示される文字列が更新される。
【0105】
図6に示したように、「た」が入力された場合、入力部250は、入力文字「た」を取得する。これに応じて、単語抽出部256は、辞書270を参照し、読みの先頭が「た」である単語を抽出し、その表記を候補単語決定部258に渡す。このとき、属性情報、カテゴリ情報が付与されている場合、その情報も渡す。
【0106】
「た」が入力された場合、図8に示す辞書270によれば、「退官」、「退社」、「田中」、「たなか」、「竹田」が候補として抽出される。
【0107】
その後、さらに「な」が入力されると、表示欄911に表示される、確定前の読みは、「たな」になる。これに応じて、単語抽出部256は、辞書270から、読みが「たな」で前方一致する単語を抽出する。たとえば、「田中」、「たなか」が抽出される。
【0108】
図4に示したWebコンテンツの画面400と、図5に示したHTMLフォームにおいて、「姓」という入力欄に「たなか」という読みが入力され、文字入力装置200の漢字変換に基づき「田中」という表記に変換するための情報および当該表記を処理対象の入力欄に入力する文字列として(Webコンテンツ閲覧装置100に対して出力する文字列として)決定する情報が文字入力装置200に入力された場合、入力文字列出力部262が、「姓」の入力欄に対応する入力文字列200Dとして当該表記(田中)を出力する。そして、辞書更新部252は、「姓」の入力フォームに付随する属性情報のうちname属性である”sei”を取得する。この場合、辞書更新部252は、読みが「たなか」、表記が「田中」、そして、属性情報が「sei」である単語の情報を追加するように、辞書270を更新する。
【0109】
なお、もともと、辞書270に、読みを「たなか」、表記を「田中」とする単語情報(属性情報を含まない単語情報)が含まれていた場合には、辞書更新部252は、当該単語情報に、「sei」という属性情報を追加するように、辞書270を更新する。
【0110】
図8のNo.30は、このようにして登録された単語にかかる情報を示している。
(候補文字列の予測)
次に、別のWebコンテンツの閲覧時に、ある入力フォームが指定されると、文字入力装置200が起動する。
【0111】
起動時に、単語抽出部256およびカテゴリ推定部254は、当該入力フォームに対応する属性情報を取得する。
【0112】
そして、単語抽出部256は、辞書の中で属性情報が一致、もしくは類似する単語があるかどうかを判断し、候補抽出する。カテゴリ推定部254は、取得された属性情報に基づいて、カテゴリを推定する。
【0113】
ここで、カテゴリ推定部254によるカテゴリの推定について説明する。
(カテゴリの推定)
カテゴリ推定部254では、入力フォームを含むHTMLデータから取得した属性情報から、入力フォームに入力すべき文字列が属するカテゴリを推定する。
【0114】
カテゴリとは、氏名、姓、名、ふりがな、ログイン名、住所、電話番号、メールアドレス、会社名、などが考えられる。
【0115】
あらかじめ、カテゴリを識別するためのキーワードを決定しておき、取得した属性情報に含まれるテキスト情報から、カテゴリを識別する。
【0116】
カテゴリ推定部254は、属性情報に基づいてカテゴリを推定するための情報を格納している。当該情報の一例を、図9に示す。
【0117】
図9を参照して、番号2721ごとに、カテゴリ2722が関連付けられ、そして、各カテゴリ2722には、キーワード2723が関連付けられている。たとえば、番号「1」のカテゴリ「姓」には、「name」「last」「sei」「姓」「l_name」を含む、複数のキーワードが関連付けられている。各カテゴリ2722には、単数のキーワード2723が関連付けられている場合もあるし、図9に示されるように複数のキーワード2723が関連付けられている場合もある。
【0118】
図9に示されたテーブルでは、カテゴリに関連付けられたキーワードは、当該キーワードが属性情報に含まれることにより、当該属性情報が当該カテゴリに属することを意味する。つまり、「name」「last」「sei」「姓」「l_name」が属性情報に含まれる場合、当該属性情報は、カテゴリ「姓」に属するものとして取り扱われる。
【0119】
取得された属性情報が”lastname”の場合、キーワードに”last”を含むので、カテゴリ推定部254は、カテゴリを「姓」であると推定する。属性情報が”sei_kana”の場合、キーワードに”sei”と”kana”を含むので、カテゴリは、「姓」もしくは「ふりがな」と判断する。一つの属性情報に対して、複数のキーワードが含まれる場合、複数のカテゴリが推定されてもよい。
【0120】
辞書270に、後述するステップS12において、1つの単語について複数のカテゴリ情報を格納するには、あらかじめ定義されたカテゴリの中で、カテゴリ毎に属すか属さないかの情報を付与されたカテゴリ情報を単語毎に付与するという方法で格納するとよい。また、カテゴリとして、姓のふりがな、というような、複数のキーワードが属すことを条件とするカテゴリを定義してもよい。本明細書では、姓のふりがなを、「姓(ふりがな)」と表す。
【0121】
また、あらかじめ典型的な属性情報のパターンを収集して、カテゴリに振り分けておき、それを学習データとして用いてカテゴリ推定を行なう方法も考えられる。
【0122】
たとえば、”sei_kana”は、「姓(ふりがな)」、”firstname”は、「名」、”first_yomi”は、「名(ふりがな)」、”email”は、「メールアドレス」、のように、典型的な属性情報の文字列に対して、それぞれどのカテゴリに属すかを決めておく。取得した属性情報と、学習データの属性情報とのテキスト情報の一致、もしくは類似度合により、どの学習データの属性情報に類似するかを判断し、類似する属性情報が属すカテゴリを取得した属性情報が属すカテゴリとして推定する。
【0123】
キーワードを含まなかったり、類似する属性情報がなかったりなど、カテゴリ推定ができなかった属性情報は、カテゴリなしで終了する。
【0124】
カテゴリ推定部254は、このように、取得した属性情報に基づいてカテゴリを推定して、単語抽出部256に出力する。
【0125】
(推定されたカテゴリに基づく単語の抽出)
単語抽出部256は、辞書270の中から、出力されたカテゴリに一致するカテゴリに関連付けられた単語の表記を抽出して、単語抽出部256から入力された表記に加える。
【0126】
カテゴリ推定部254によるカテゴリの推定方法の具体例を説明すると、例えば、属性情報が”sei”、から、カテゴリが「姓」であると推定されたとする。カテゴリ推定部254が推定した情報を取得すると、単語抽出部256は、カテゴリが「姓」と一致する単語を辞書270から抽出する。図8に示された情報によれば、No.30の「田中」、No.31の「たなか」、No.32の「竹田」、No.33の「中田」が抽出される。
【0127】
このようにして、属性情報およびカテゴリ情報をもとに候補を抽出することで、文字入力装置起動時に、ユーザに一文字も読みを入力させることなく、候補を提示することが可能である。
【0128】
属性情報が類似する単語、カテゴリ情報が一致する単語を抽出することで、属性情報が完全に一致しなくても過去に入力した文字列を利用することが可能である。
【0129】
起動時には、属性情報もしくはカテゴリ情報しか使わないので、辞書270に格納されている情報のうち、読み情報を必要としない。したがって、属性情報を備えた単語は、少なくとも表記情報(図8の表記2715)さえあれば、起動時に候補として抽出することが可能である。
【0130】
文字入力装置200の起動時に候補を提示している状態で、ユーザが文字を入力すると、入力文字に基づき単語を抽出する。属性情報が一致していても、読みが一致しない単語は候補からはずす。
【0131】
”sei”という属性情報から起動時に抽出された候補「田中」、「中田」、「たなか」、「竹田」がある状態で、ユーザが「な」を入力したとすると、読みが「た」から始まる候補は抽出せず、「な」から始まる「中田」だけが抽出される。ユーザが文字を入力すると、単語抽出部256は、属性情報やカテゴリ情報が一致もしくは類似しなくても、読みが前方一致する単語(表記)を抽出する。
【0132】
ここで、「な」から始まる文字列を抽出する。したがって、文字が入力されると、単語抽出部256により抽出される単語では、属性情報が一致もしくは類似する単語と、一致も類似もしない単語と、属性情報が付与されていない単語が混在することになる。
【0133】
候補単語決定部258は、これらの単語を、属性情報が一致するものを優先順位が高く(順序を早く)表示されるように、候補として抽出された単語の優先順位を決定して、候補文字列出力部260へ出力する。
【0134】
辞書270において、読みおよび表記が格納されており、属性情報が格納されていない単語が、生成されて、入力文字列200Dとして出力されると、辞書更新部252は、その単語に、取得した属性情報を付与するように、辞書270を更新する。読み、表記、属性情報が格納されている単語が、格納されている属性情報とは異なる属性情報をもつ入力フォーム(入力欄)に対する入力文字列200Dとして出力されると、辞書更新部252は、その単語に、新たな属性情報を付与するように、辞書270を更新する。この場合、一つの読み、表記のペアに対して、属性情報が複数付与されていることになる。属性情報が複数の場合、属性情報から推定されるカテゴリ情報も複数付与されることになる。
【0135】
辞書270には、属性情報が付与された単語と、付与されていない単語が混在しているが、属性情報が付与されていない単語群は、通常のかな漢字変換辞書に置き換えることが可能である。辞書270を複数に分割して構成し、一つは、読みと表記等の単語情報のみを格納した辞書Aとし、もう一つを読み、表記等の単語情報と、属性情報とを関連づける情報を格納した辞書Bとしてもよい。
【0136】
後者の辞書Bは、入力フォームに入力が行なわれるたびに、辞書更新部252により更新される。
【0137】
辞書Bに含まれない属性情報、読み、表記が入力されると、当該情報が辞書270に追加されるように、辞書270が更新される。
【0138】
単語抽出部256は、文字入力装置200の起動時には、辞書Bを参照し、属性情報が一致もしくは類似する単語、カテゴリが一致する単語を抽出し、候補を抽出し、候補単語決定部258に出力する。候補単語決定部258に入力された単語(表記)は、適宜提示順序が決定され、候補文字列出力部260を介して、候補文字列200Cとして出力される。このように出力された候補文字列200Cが表示された状態を、図10に示す。
【0139】
図10の文字入力画面910Aでは、表示欄911には、文字が表示されていない。文字入力画面910Aに対して、また、文字の入力がなされていないからである。そして、図10の表示欄912には、上記のように出力された候補文字列200Cに含まれる表記が表示されている。
【0140】
図10に示された状態から数字キー701や決定キー710等のリモコン700A上のキーが操作されて、表示欄911に対して文字が入力されると、単語抽出部256は、入力された文字に応じて、辞書Bを参照し、起動時に抽出した単語の中から読みが前方一致する単語を抽出し、さらに、辞書Aを参照し、読みが前方一致する単語を抽出し、両方の辞書から抽出された単語をマージして、候補を出力する。単語抽出部256から出力された候補は、候補単語決定部258および候補文字列出力部260を介して、候補文字列200Cとして出力される。このように出力された候補文字列200Cが表示された状態を、図11に示す。
【0141】
図11の文字入力画面910Bの表示欄912では、候補として表示される文字列には、辞書Bから抽出された単語の表記と辞書Aから抽出された単語の表記がマージされている。
【0142】
図11の文字入力画面910Bでは、表示欄911には、「な」という文字が表示されている。ユーザが「な」の文字を入力したことに対応する。
【0143】
そして、文字入力画面910Bでは、表示欄911には確定前の状態で「な」が表示され、表示欄912に表示された、予測に基づく候補は、読みが「な」から始まる候補が提示される。
【0144】
ここで、図10と図11を対比して、図10の文字入力画面910Aの表示欄912に表示されている候補のうち、「中田」は、属性情報が付与されている単語であり、属性情報の”sei”が一致している単語として、起動時(文字入力画面910Aの表示欄912)から提示され、「な」が入力されても、入力された「な」と読みが前方一致するので、候補として残る。よって、図11の文字入力画面910Bの表示欄912にも残っている。
【0145】
一方、図10の文字入力画面910Aの表示欄912に表示されていた候補のうち、「中田」以外の候補は、入力された「な」と読みが前方一致しないので、図11の文字入力画面910Bでは、候補として残っていない。
【0146】
図11の文字入力画面910Bの表示欄912に表示されていた候補のうち、「中田」以外の候補は、図10の文字入力画面910Aに対して「な」が入力されることによって、属性情報が付与されていない単語から、読みが、入力された「な」と前方一致することにより抽出された候補である。
【0147】
このように、文字入力画面に対して文字が入力されると、単語抽出部256、候補単語決定部258および候補文字列出力部260は、属性情報が付与されている単語と、付与されていない単語を、マージして、候補文字列200Cとして出力する。
【0148】
なお、以上説明した候補の抽出方法では、辞書270が、複数の辞書(辞書Aと辞書B)により構成されている例について説明したが、このように複数の辞書に分割されていない場合でも同様の処理が可能である。
【0149】
このように、マージして候補を出すことは、属性情報を考慮して抽出した候補に曖昧性がある場合に効果がある。
【0150】
過去に入力したことのない文字列を入力する場合や、新たなWebコンテンツでの入力フォームに対する入力において、属性情報を考慮して抽出した候補が間違っている場合、従来例のように入力フォームに候補を埋め込んだ形で提示する方法では、ユーザは、間違って提示された文字列を消去し、新たに文字を入力しなおさなければならない。
【0151】
本実施の形態によれば、属性情報のみから提示された候補が間違っていた場合、入力された文字に基づく候補抽出に、スムーズに移行できる。このように、属性情報が付与されているいないにかかわらず、辞書270全体からの予測を利用することができる。これにより、文字を入力する際にいつでも入力支援を受けることができる。従来例のように、候補を一つに絞り、入力フォームに強制的に埋め込む方法よりも、候補の一つとして提示する方が、より利便性が高いといえる。
【0152】
また、複数の人が同じ端末で同じコンテンツを閲覧するなどにより、ある属性情報に対して複数の候補が存在することも考えられる。さらに、新規の属性情報が入力された場合は、類似する属性情報から候補を抽出するため、候補が複数存在することも考えられる。このような場合にも、従来例のように入力フォームにいずれか一つを強制的に埋め込む方法では、適切でない候補を埋め込む可能性がある。本実施の形態のように、文字入力装置200が複数の候補を提示することができれば、ユーザは、その中から適切な候補を選択することができる。また、複数の候補が提示された状態で、文字を入力することによって、候補を絞り込むことも可能である。したがって、候補がたくさん存在する場合でも、ユーザはより少ない文字入力操作によって、候補を選択することができる。
【0153】
(予測機能について)
或るWebコンテンツを一度閲覧し、再度当該Webコンテンツを閲覧したときに、ユーザが文字の入力対象として「姓」という入力フォーム(入力欄)を指定したときの、文字入力装置200における予測機能について説明する。
【0154】
再度の閲覧によって入力フォームが表示され、当該表示された入力フォームが指定されると、当該指定に応じて文字入力装置200が起動される。
【0155】
文字入力装置200では、前回のWebコンテンツの閲覧の際に、入力文字列200Dの出力に基づいて、「姓」という入力フォームに付随する属性情報(たとえば、name属性の値”sei”)が取得され、辞書270に、当該属性情報に関連付けて入力文字列200Dに対応する表記が登録されるように、辞書270が更新されている。
【0156】
そして、Webコンテンツ閲覧装置100は、今回の閲覧の際に、「姓」という入力フォームが指定されると、文字入力装置200を起動させる。
【0157】
これに応じて、文字入力装置200では、単語抽出部256は、当該入力フォームに対応する属性情報として、”sei“を取得する。そして、辞書270において、当該取得された属性情報に関連づけられた「田中」という単語を抽出する。抽出された単語(表記)は、候補単語決定部258および候補文字列出力部260を介して、候補文字列200Cとしてモニタ770に出力される。
【0158】
これにより、モニタ770は、出力された候補文字列200Cを、たとえば図10に示した文字入力画面910Aの表示欄912に表示させて、提示する。
【0159】
ユーザは、提示された予測候補(候補文字列200C)の中から文字列を選択することによって、一文字も入力することなく、入力フォームに目的の文字列を入力することができる。
【0160】
なお、リモコン700Aに対する操作により、提示された予測候補の中から文字列が選択されると、選択候補200Bとして入力部250に入力される。このとき、表示欄911には選択候補200Bが表示され、現在の入力文字列は選択候補200Bと一致している。その状態でさらに、入力部250が、文字入力操作情報200Aのうちの一つである、入力完了操作情報を受け付けると、入力フォームへの入力文字列が決定されたとし、現在の入力文字列(選択候補200B)を入力文字列出力部262に出力する。
【0161】
また、リモコン700Aに対する操作により、提示された予測候補の中から文字列が選択されると、入力部250は、候補文字列200Cから、当該操作により特定される文字列を入力文字列200Dとして決定して、当該文字列を入力文字列出力部262に出力するでもよい。
【0162】
Webコンテンツ閲覧装置100において、過去に閲覧されたのとは異なるWebコンテンツが閲覧されたときでも、当該異なるWebコンテンツにおいて指定された入力フォームに対応して取得された属性情報が”sei”であれば、同様に「田中」という単語を、文字入力装置200の起動時に、文字入力装置200に対する文字の入力を必要とすることなく、候補として提示することが可能である。これによって、過去の履歴を活用することが可能である。
【0163】
ここで、ユーザが、文字入力装置200に対して文字を入力していない状態で、候補として提示された「田中」という文字列について、当該文字列を、入力フォームに対して入力することを希望しない場合、つまり、当該入力フォームについて別の文字列を入力することを希望する場合には、ユーザは、予測された候補を選択することなく、入力を希望する文字列の読みを入力すれば良い。この場合、ユーザは、予測された候補を削除する操作を必要とされない。
【0164】
これにより、図11の文字入力画面910Bに示されるように、入力された文字の読みは、表示欄911に表示される。このように入力された読みを表す文字は、候補文字列200Cとは別に、モニタ770に送られる。これにより、モニタ770では、図10の文字入力画面910Aの表示欄911の表示内容が、図11の文字入力画面910Bの表示欄911に更新される。
【0165】
図11の文字入力画面910Bの表示欄911に示されるように、読みとして入力された最初の一文字が「た」ではない場合、図10の文字入力画面910Aの表示欄911に示されていた「田中」は、図11の文字入力画面910Bの表示欄911には表示されなくなる。代わりに、入力された読み「な」に対応して抽出された別の候補が、表示欄911に表示される。
【0166】
これによって、提示された予測候補がユーザの所望する単語(文字列)と異なる場合、スムーズに目的の文字列を入力する操作に移行することができる。また、文字を入力することによって、新たに予測候補の提示を得ることができるので、効率的に文字列を入力することが可能である。
【0167】
(文字列の候補の表示における優先順位)
単語抽出部256で単語が抽出されると、候補単語決定部258で、候補として抽出された単語の優先順位が設定される。そして、候補単語決定部258は、単語抽出部256が抽出した単語の中から、優先順位に従って、表示欄911に表示できる候補の数を基に、表示する候補を決定し、候補文字列出力部260に出力する。候補の優先順位は、入力フォームに対応する属性情報と、属性情報が一致もしくは類似する単語は、属性情報が付与されていない単語よりも優先順位を高くするように、設定される。たとえば、優先度が高い順から、属性情報が一致する単語、類似する単語、カテゴリが一致する単語、属性情報が付与されていない単語もしくは属性情報が一致しない単語、の順に優先度が設定され、候補の提示順序が決定される。
【0168】
(入力フォームの属性情報の取得について)
本実施の形態では、Webコンテンツを閲覧する装置およびソフトにおいて、図5に示すようなHTMLフォームが解析され、入力フォームに付随する属性情報が取得され、入力フォームへの文字入力の指示があった場合に、文字入力装置200を起動し、当該文字入力装置200に、入力データとして属性情報を渡す。
【0169】
なお、文字入力装置200が取得する属性情報は、Webコンテンツ閲覧装置100によって取得され、文字入力装置200に送信される代わりに、文字入力装置200自身が行なっても良いし、他の装置が行なっても良い。文字入力装置200が属性情報を直接取得する場合には、たとえば、Webコンテンツ閲覧装置100は、HTMLフォームの中の入力フォームに対応する部分の記述を文字入力装置200に送り、この中から、文字入力装置200は、当該記述の中の、入力フォームを定義するタグを検出し、そのタグに含まれる属性情報を、入力フォームに付随する属性情報として取得する。
【0170】
たとえば、図5のHTMLフォームの中の記述501であれば、文字入力装置200は、<input>タグを検出し、その属性情報のうち、name属性の値を抽出する。
【0171】
なお、入力フォームへの文字入力の指示があった場合に、指定された入力フォームに付随する属性情報を文字入力装置200に入力情報として渡せる形態が望ましい。
【0172】
(入力文字列の出力のための処理の流れ)
ここで、文字入力装置200が起動されてから当該文字入力装置200において実行される、入力文字列200Dを出力するまでの処理の流れを、当該処理のフローチャートである図12を参照して説明する。
【0173】
図12を参照して、文字入力装置200が起動されると、まずステップS01で、入力部250に入力があるかどうかを判断し、入力があればステップS02に処理が進められる。
【0174】
次にステップS02では、入力部250に入力されたデータが、文字入力かどうかを判断する。文字入力の場合、ステップS03以降の処理に進む。
【0175】
ここで、文字入力とは、読みを表す文字の入力を意味し、図6に示された文字入力画面910に従えば、リモコン700Aにおいて、数字キー701が操作されることにより文字入力がなされ、それ以外のキーがなされたときには、文字入力以外の文字入力操作がなされたと判断される。
【0176】
文字入力装置200では、当該文字入力装置200に対して入力される文字が一文字増えると、表示欄911に表示される、確定前の文字列が存在する場合は文字列の末尾に入力された文字を追加されて、辞書探索用文字列とされる。そして、単語抽出部256は、当該辞書探索用文字列と読みが前方一致する単語が辞書270にあるかどうかを探索する。一方、確定前の文字列が存在しなかった状態で文字入力がされた場合は、単語抽出部256は、その時点で入力された文字をそのまま辞書探索用文字列とし、読みが前方一致する単語があるかどうかを辞書から探索する。このようにして、一文字入力されるたびに辞書探索用文字列とされる文字列が増やされて、辞書270が探索され、表示欄912に表示される候補が更新される。なお、探索用文字列となる文字列の更新に応じて、表示欄911に表示される文字列も更新される。
【0177】
ステップS03では、単語抽出部256は、入力する入力フォームに付随する属性情報を取得している場合は、取得した属性情報と、取得した属性情報から推定されたカテゴリ情報をもとに、辞書を参照し、属性情報が一致もしくは類似する単語やカテゴリ情報が一致する単語から、辞書探索用文字列と読みが前方一致する単語を抽出する。入力する入力フォームに付随する属性情報を取得していない場合は、何もしない。
【0178】
ステップS04では、属性情報を利用せずに、辞書270全体から辞書探索用文字列と読みが前方一致する単語を抽出する。属性情報が一致もしくは類似するしないにかかわらず、また、属性情報が付与されているいないにかかわらず、単語を抽出する。
【0179】
ステップS05では、候補単語決定部258は、出力する候補単語を決定し、順位を決定する。ステップS03で抽出された単語は、ステップS04で抽出された単語よりも優先順位を高くする。また、優先順位は、その他の態様で決定されても良い。その他の態様では、たとえば、最近利用した単語ほど優先順位を高くしてもよいし、頻度の高い単語ほど優先順位を高くしてもよいし、五十音順に並べてもよい。単語毎の頻度情報、最新利用情報等は、辞書270に格納されているとする。
【0180】
ステップS06で、候補文字列出力部260は、ステップS04またはステップS10で抽出された候補の中で、優先順位の高いものから表示可能な数だけを、候補文字列200Cとして出力する。これに応じて、モニタ770における文字入力画面の表示が更新される。その後、ステップS01へ処理が戻される。
【0181】
一方、ステップS02で、入力データが、文字入力でない場合、処理はステップS07に進められる。ステップS07では、文字入力装置200によって、当該文字入力装置200の起動時かどうかを判断する。起動時とは、Webコンテンツ閲覧装置100において文字入力機能が呼び出された時、もしくは、ある任意の入力フォームに入力を行なうことを指定した時を含む。文字入力装置200の起動時であると判断されると、ステップS08以降に処理が進められる。
【0182】
ステップS08で、単語抽出部256が、処理対象となっている入力フォームに付随する属性情報を取得する。
【0183】
属性情報の取得の際に、文字入力装置200で、HTMLフォームデータを解析し、属性情報を検出する場合は、単語抽出部256は、HTMLフォームデータを取得し、指定された入力フォームに付随する属性情報を検出する。
【0184】
属性情報が取得されると、ステップS09で、カテゴリ推定部254は、カテゴリを推定する。ステップS08で属性情報が取得できなかった場合、処理がステップS01へ戻される。
【0185】
ステップS08で取得された属性情報は、文字入力装置にて入力完了まで記憶しておき、文字が入力されて辞書探索を行なう際(S03)と、辞書更新を行なう際(S11)に、利用される。
【0186】
ステップS09では、先に述べた方法で、属性情報のカテゴリの推定が行なわれる。
ステップS10では、属性情報が一致もしくは類似する単語や、カテゴリ情報が一致する単語が抽出され、ステップS05へ処理が進められる。
【0187】
ステップS10に処理が進められるときは、文字入力装置200の起動時であるので、文字入力装置200に対して、数字キー701の操作等による文字入力はされていないため、読みの前方一致の確認は不要である。
【0188】
一方、ステップS07において起動時ではないと判断された場合とは、文字入力以外の文字入力操作情報200Aか、提示した候補がユーザによって選択された場合の候補選択情報のいずれかが入力された場合である。
【0189】
文字入力以外の文字入力操作とは、漢字変換、入力完了などが考えられる。入力された文字入力操作に基づき、文字入力画面910等における表示欄911入力枠の表示を更新する。
【0190】
ステップS11では、入力部250への入力データが、表示欄911に表示された文字列を入力文字列200Dとして確定させるためのデータであるか否かを判断し、そうではないと判断されるとステップS01へ処理が戻される。一方、確定させるためのデータであると判断されると、ステップS12へ処理が進められる。
【0191】
ステップS12では、辞書更新部252が、入力文字列200Dとして確定された文字列の読みと表記を辞書270に登録するように、辞書270を更新する。なお、この時点では、辞書270へは、表記だけの登録でもよい。起動時に属性情報が取得できている場合は、属性情報とともに登録する。すでに登録されている場合は、頻度情報、最新利用情報等の情報を更新する。
【0192】
そして、ステップS13に進み、入力文字列をWebコンテンツ閲覧装置100へと出力した後、処理を終了させる。
【0193】
[考えられる変形例等]
以上説明した本実施の形態では、入力部250により、情報の入力を受付ける入力手段が構成されている。
【0194】
なお、文字入力装置200に対して情報を入力するリモコン700Aは、文字入力装置200(コンピュータ750)に対して離間して設けられているが、情報を入力する装置は、文字入力装置200と一体的に設けられていても良い。
【0195】
以上説明した本実施の形態では、辞書270を記憶するハードディスク762等により、文字列を属性情報およびカテゴリ情報に対応付けて記憶する第1の記憶手段が構成される。
【0196】
また、本実施の形態では、入力対象となっている入力欄の入力フォームから属性情報を取得し、当該属性情報に対応した単語(表記)を辞書270から抽出する単語抽出部256により、入力フォームの属性情報に対応して第1の記憶手段に記憶されている文字列を抽出する第1の抽出手段が構成されている。
【0197】
なお、第1の抽出手段は、抽出した属性情報に一部一致する等により、当該属性情報に類似する属性情報に対応した単語を、同時に抽出しても良い。
【0198】
また、本実施の形態では、上記のように入力フォームから属性情報を取得し、カテゴリ推定部254により、入力フォームの属性情報に対応するカテゴリ情報を推定する推定手段が構成されている。
【0199】
また、本実施の形態では、推定されたカテゴリ情報に基づいて辞書270から単語(表記)を抽出する単語抽出部256により、推定手段が推定したカテゴリ情報に対応して第1の記憶手段に記憶されている文字列を抽出する第2の抽出手段が構成されている。
【0200】
また、本実施の形態では、単語抽出部256から抽出結果として出力された単語から候補文字列200Cとして出力する単語を決定する候補単語決定部258により、第1の抽出手段および第2の抽出手段が抽出した文字列を、入力フォームに入力する文字列の候補として設定する候補設定手段が構成されている。
【0201】
そして、ユーザの操作によって決定された文字列を入力文字列200DとしてWebコンテンツ閲覧装置100に出力する入力文字列出力部262により、入力手段に対する入力に応じて、候補設定手段が設定した文字列の中から決定された文字列を、入力フォームに入力する文字列として出力する出力手段が構成されている。
【0202】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0203】
100 コンテンツ閲覧装置、101 Webコンテンツ、102 入力フォーム情報、200 文字入力装置、200A 文字入力操作情報、200B 選択候補、200C 候補文字列、200D 入力文字列、250 入力部、252 辞書更新部、254 カテゴリ推定部、256 単語抽出部、258 候補単語決定部、260 候補文字列出力部、262 入力文字列出力部、270 辞書、400 画面、401,402,411,412,421,422,431,432,444,442,461,471,481,482,483,491 入力欄、501,502,511,512,521,522,531,532,541,542,561,571,581,582,583,591 記述、700 コンピュータシステム、700A リモコン、701 数字キー、710 決定キー、711 上キー、712 下キー、713 左キー、714 右キー、721〜724 機能キー、750 コンピュータ、751 光ディスクドライブ、752 磁気ディスクドライブ、753 入力装置、757 バス、760 光ディスク、761 磁気ディスク、762 ハードディスク、770 モニタ、780 情報処理装置、781 記憶装置、785 キー入力部、786 信号発生装置、786 信号発信装置、910,910A,910B 文字入力画面、911〜915 表示欄。
【技術分野】
【0001】
本発明は、文字入力装置、文字入力方法、コンピュータ読取可能なプログラムおよび記録媒体に関し、特に、入力する文字列の予測をすることができる文字入力装置、文字入力方法、コンピュータ読取可能なプログラムおよび記録媒体に関する。
【背景技術】
【0002】
近年の情報技術の発達により、情報処理機器に対して、ユーザが、種々の情報を入力する機会が増加している。
【0003】
特に、多種多様なインターネット上のサービスを利用する際に、図3に示すような、入力フォームを含むWebコンテンツに対し、ユーザは、名前、住所、電子メールアドレスなどの情報を入力する場合がある。このようなサービスを利用する機会が増えると、ユーザは、同じ情報を、様々な入力フォームに繰り返し入力しなければならず、煩雑であるという問題が生じる。
【0004】
このような問題を解決するために、特許文献1には、過去に入力フォームに入力したデータを記憶しておき、次回、同じような情報を入力する際に、過去の入力データを利用する技術が開示されている。具体的には、特許文献1では、自動記入システムは、入力フォーム毎に入力フォームに付随する属性情報と入力文字列を端末もしくはサーバにて記憶しており、新たなWebコンテンツを表示する際に、ユーザによる呼び出し動作に応じて、Webコンテンツを解析し、入力フォームに付随する属性情報と、記憶している入力フォーム毎の履歴データから、入力する文字列を決定し、Webコンテンツの入力フォームに決定した文字列を自動的に入力する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005−327260号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に記載されたような従来の方法では、Webコンテンツを閲覧するためのシステム自体が、Webコンテンツを解析し、入力フォームに付随する属性情報から入力文字列を決定し、決定した入力文字列が入力フォームに自動的に埋め込まれて、表示される。
【0007】
このため、ある入力フォームに対して複数の入力文字列が候補として存在したとしても、入力フォームに埋め込まれて表示される候補は一つである。よって、システムによって自動的に埋め込まれた文字列の候補がユーザの所望する文字列と異なる場合には、ユーザは、文字列を初めから入力しなければならない。特に、複数のユーザがシステムを利用する場合や、ユーザが多様な入力フォームに対して入力フォームごとに異なる情報を入力していた場合には、候補として表示される文字列がユーザの所望する文字列と異なる確率が高くなる。したがって、ユーザが文字列を初めから入力することを必要とされる確率が高くなる。
【0008】
つまり、従来の方法では、ユーザの所望する文字列と異なる文字列を、候補として表示する場合が多くなり、このことから、ユーザに、候補として表示された文字列を削除して、改めて文字列を入力させる場合が多くなり、結果として、かえってユーザに煩雑な操作を必要とする事態が考えられる。
【0009】
本発明は、かかる実情に鑑み考え出されたものであり、その目的は、Webコンテンツ等にユーザが文字情報を入力する際に、必要とされる操作を軽減し、これにより文字入力装置における利便性を向上させることである。
【課題を解決するための手段】
【0010】
本発明に従った文字入力装置は、属性情報に対応した入力フォームを含むコンテンツについて、入力フォームに入力する文字列を入力するための文字入力装置であって、情報の入力を受付ける入力手段と、文字列を属性情報およびカテゴリ情報の少なくとも一方に対応付けて記憶する第1の記憶手段と、入力フォームの属性情報に対応して第1の記憶手段に記憶されている文字列を抽出する第1の抽出手段と、入力フォームの属性情報に対応するカテゴリ情報を推定する推定手段と、推定手段が推定したカテゴリ情報に対応して第1の記憶手段に記憶されている文字列を抽出する第2の抽出手段と、第1の抽出手段および第2の抽出手段が抽出した文字列を、入力フォームに入力する文字列の候補として設定する候補設定手段と、入力手段に対する入力に応じて、候補設定手段が設定した文字列の中から選択された文字列を、入力フォームに入力する文字列として出力する出力手段とを備える。
【0011】
また、本発明に従った文字入力装置では、推定手段は、属性情報とカテゴリ情報を関連付ける関連情報を記憶する第2の記憶手段と、第2の記憶手段において、コンテンツの入力フォームに対応する属性情報に関連付けられているカテゴリ情報を推定結果として決定する決定手段とを含むことが好ましい。
【0012】
また、本発明に従った文字入力装置では、第1の記憶手段は、文字列を、さらに当該文字列の読み仮名に対応付け、属性情報およびカテゴリ情報に対応付けられず、読み仮名に対応付けられる文字列を、さらに含み、第1の抽出手段は、入力手段に入力された読み仮名に基づいて、第1の記憶手段から文字列を抽出することが好ましい。
【0013】
また、本発明に従った文字入力装置では、候補設定手段は、第1の抽出手段または第2の抽出手段が抽出した文字列の中で、属性情報およびカテゴリ情報のいずれかに対応付けられている文字列を、属性情報およびカテゴリ情報のいずれにも対応付けられていない文字列よりも優先度を高く設定することが好ましい。
【0014】
また、本発明に従った文字入力装置では、第2の記憶手段は、属性情報を文字列で特定し、決定手段は、第2の記憶手段において、コンテンツの入力フォームに対応する属性情報の少なくとも一部と一致する属性情報に関連付けられているカテゴリ情報を、推定結果として決定することが好ましい。
【0015】
また、本発明に従った文字入力装置は、第1の記憶手段において、出力手段が出力する文字列が、入力フォームの属性情報に対応して記憶されるように、第1の記憶手段を更新する更新手段をさらに備えることが好ましい。
【0016】
また、本発明に従った文字入力装置では、推定手段は、コンテンツの属性情報に対応したカテゴリ情報を複数推定し、更新手段は、第1の記憶手段において、出力手段が出力する文字列が、入力フォームに対応した属性情報に対応するカテゴリ情報に対応して記憶されるように、第1の記憶手段を更新することが好ましい。
【0017】
また、本発明に従った文字入力装置では、第1の抽出手段および第2の抽出手段は、入力手段が文字列の入力を受付けていない状態であっても、文字列を抽出することが好ましい。
【0018】
また、本発明に従った文字入力装置は、候補設定手段が設定した候補を表示装置に表示させる候補表示手段をさらに備えることが好ましい。
【0019】
本発明に従った文字入力方法は、文字列を記憶する第1の記憶手段を備え、表示装置に表示されるコンテンツにおける入力フォームに文字を入力する文字入力装置において実行される文字入力方法であって、文字列を属性情報およびカテゴリ情報に対応付けて第1の記憶手段に記憶するステップと、入力フォームに対応する属性情報を抽出するステップと、抽出した属性情報に対応して第1の記憶手段に記憶されている文字列を抽出するステップと、抽出した属性情報に対応するカテゴリ情報を推定するステップと、推定したカテゴリ情報に対応して第1の記憶手段において記憶されている文字列を抽出するステップと、属性情報およびカテゴリ情報に基づいて抽出した文字列を、入力フォームに入力する文字列の候補として設定するステップと、候補として設定した文字列を、入力フォームに入力する文字列として出力するステップとを備える。
【0020】
本発明に従ったプログラムは、文字列を記憶する第1の記憶手段を備え、表示装置に表示されるコンテンツにおける入力フォームに文字を入力する文字入力装置において実行される、コンピュータ読取り可能なプログラムであって、文字入力装置に、文字列を属性情報およびカテゴリ情報に対応付けて第1の記憶手段に記憶するステップと、入力フォームに対応する属性情報を抽出するステップと、抽出した属性情報に対応して第1の記憶手段に記憶されている文字列を抽出するステップと、抽出した属性情報に対応するカテゴリ情報を推定するステップと、推定したカテゴリ情報に対応して第1の記憶手段において記憶されている文字列を抽出するステップと、属性情報およびカテゴリ情報に基づいて抽出した文字列を、入力フォームに入力する文字列の候補として設定するステップと、候補として設定した文字列を、入力フォームに入力する文字列として出力するステップとを実行させる。
【0021】
本発明に従った記録媒体は、文字列を記憶する第1の記憶手段を備え、表示装置に表示されるコンテンツにおける入力フォームに文字を入力する文字入力装置において実行される、コンピュータ読取り可能なプログラムを記録する記録媒体であって、プログラムは、文字入力装置に、文字列を属性情報およびカテゴリ情報に対応付けて第1の記憶手段に記憶するステップと、入力フォームに対応する属性情報を抽出するステップと、抽出した属性情報に対応して第1の記憶手段に記憶されている文字列を抽出するステップと、抽出した属性情報に対応するカテゴリ情報を推定するステップと、推定したカテゴリ情報に対応して第1の記憶手段において記憶されている文字列を抽出するステップと、属性情報およびカテゴリ情報に基づいて抽出した文字列を、入力フォームに入力する文字列の候補として設定するステップと、候補として設定した文字列を、入力フォームに入力する文字列として出力するステップとを実行させる。
【発明の効果】
【0022】
本発明によれば、入力フォームに入力する文字列の候補として、2段階で、文字列が抽出される。つまり、文字列の入力の対象となる入力フォームに対応する属性情報について、当該属性情報に基づいてデータベース中の文字列が抽出され、さらに、当該属性情報に基づいて推定されたカテゴリ情報に基づいてデータベース中の文字列が抽出される。
【0023】
抽出された文字列を候補として提示することにより、ユーザは、提示された候補の中から文字列を選択するという簡単な操作によって、文字入力を行なうことができる。なお、上記入力欄に入力する文字列として複数の文字列の候補が想定される場合でも、当該複数の文字列が候補として設定され、ユーザは、当該複数の文字列から、文字列を選択することができる。よって、複数の文字列が候補として想定される場合に、当該複数の中から1つの文字列しか候補として設定できず、これにより、ユーザが候補として設定された文字列を一度削除した上で改めて文字列を入力する操作を必要とされるという事態を回避できる。
【0024】
また、本発明によれば、候補設定手段は、入力手段に読みが入力されれば、属性情報やカテゴリ情報に対応付けられていない文字列をも候補として設定できる。ユーザが初めて閲覧するコンテンツに対して入力を行なう場面など、データベースにおいて文字列が属性情報やカテゴリ情報に関連付けられていない場合であっても、ユーザは、文字入力についての支援を受けることができる。
【図面の簡単な説明】
【0025】
【図1】本発明の文字入力装置の一実施の形態である文字入力装置の機能構造を示すブロック図である。
【図2】図1の文字入力装置を構成するコンピュータシステムの内部構成を示す図である。
【図3】図2のリモコンの外観図である。
【図4】図1の文字入力装置が文字列の入力の対象とする入力フォームの表示画面の一例を示す図である。
【図5】図4の入力フォームを表示させるためのHTML(HyperText Markup Language)フォームの一例を示す図である。
【図6】図1の文字入力装置を構成するアプリケーションによる表示画面(文字入力画面)の一例を示す図である。
【図7】図1の文字入力装置が文字列の入力の対象とする入力フォームの表示画面の他の例を示す図である。
【図8】図1の辞書のデータ構成の一例を模式的に示す図である。
【図9】図1のカテゴリ推定部において、属性情報に基づいてカテゴリを推定するために格納されている情報の一例を示す図である。
【図10】図1の文字入力装置を構成するアプリケーションによる表示画面(文字入力画面)の他の例を示す図である。
【図11】図1の文字入力装置を構成するアプリケーションによる表示画面(文字入力画面)のさらに他の例を示す図である。
【図12】図1の文字入力装置が起動されてから入力文字列を出力するまでに実行される処理のフローチャートである。
【発明を実施するための形態】
【0026】
以下、本発明の文字入力装置の実施の形態について、図面を参照して説明する。各図において、同一の構成要素には同一の符号を付し、その詳細な説明は繰返さない。
【0027】
[文字入力装置の機能構成]
以下、本発明の文字入力装置の一実施の形態について、図面を参照しつつ説明する。なお、本文字入力装置は、パーソナルコンピュータ(PC)、携帯情報端末(Personal Digital Assistants:PDA)、テレビ、携帯電話等の、Webコンテンツを閲覧可能で、文字の入力が可能な機器に搭載することが可能である。このような機器において、インターネット等のネットワーク経由で入力フォームを含むWebコンテンツを取得し、Webコンテンツ閲覧装置100もしくは閲覧ソフトによって表示を行ない、当該入力フォームに文字を入力する際に、文字入力装置は、入力するための文字列(一文字の場合を含む)を生成し、生成した文字列をWebコンテンツ閲覧装置100もしくは閲覧ソフトに渡す。これに応じて、Webコンテンツ閲覧装置100は、入力フォームに対して取得した入力文字列を埋め込み、Webコンテンツを表示する。
【0028】
図1は、本実施の形態の文字入力装置の機能構造を示すブロック図である。
文字入力装置200は、Webコンテンツ閲覧装置100に通信できる。
【0029】
Webコンテンツ閲覧装置100では、入力フォーム情報102を含むWebコンテンツ101が再生(表示等)される。
【0030】
Webコンテンツ閲覧装置100において、入力フォーム情報102に基づいて表示される単数又は複数の入力欄の中の一つの入力欄が指定される情報が入力されると、Webコンテンツ閲覧装置100から文字入力装置200に、文字入力装置としての機能を起動させる指示が入力される。なお、入力欄の指定は、ユーザによるリモートコントローラ(以下、「リモコン」という)やキーボード等の入力デバイスの操作に基づいて行なわれる。
【0031】
文字入力装置200では、入力部250は、文字入力、漢字変換、入力完了等のユーザが文字入力のために行なった操作によって特定される情報である文字入力操作情報200A、および、当該文字入力装置200が提示した候補の中からユーザがどの候補を選択したかという情報である候補選択情報504の入力を受付ける。
【0032】
カテゴリ推定部254は、入力フォーム情報102から抽出する等して取得した属性情報に基づいて、文字入力装置200に格納されている辞書270を参照し、当該属性情報に対応するカテゴリを推定し、その結果を単語抽出部256に出力する。
【0033】
本実施の形態では、辞書270は、文字入力装置200内に記憶されているが、文字入力装置200を構成する機器とは別体の装置に記憶され、文字入力装置200では、ネットワークを介することにより当該辞書270が参照されても良い。
【0034】
単語抽出部256は、入力された文字情報(文字入力操作情報200A)に基づいて、辞書270から単語を抽出し、候補単語決定部258へ出力する。また、単語抽出部256は、カテゴリ推定部254から取得したカテゴリ情報に基づいて、辞書270から単語を抽出し、候補単語決定部258へ出力する。
【0035】
候補単語決定部258は、単語抽出部256が抽出した単語の中から、候補文字列として出力する単語およびその提示順序を決定する。
【0036】
候補文字列出力部260は、候補単語決定部258が決定した単語を当該候補単語決定部258が決定した順序で、候補文字列200Cとして、モニタ770に出力する。これにより、候補文字列200Cは、モニタ770の画面に表示される。このように、表示対象として候補文字列200Cを出力する候補文字列出力部260により、候補設定手段が設定した文字列の候補を表示させる候補表示手段が構成されている。
【0037】
なお、本実施の形態では、文字入力装置200は表示装置(モニタ770)を含んでいても良いし、表示装置を含まず、候補表示手段により、外部の表示装置に候補文字列200Cを表示させるための情報を送信することにより文字列の候補を表示させても良い。
【0038】
ユーザは、提示された候補文字列の選択、文字入力、漢字変換等の操作を繰り返し、入力フォームの各入力欄に対して入力するための文字列を作成する。文字入力装置200は、文字入力操作情報200Aおよび選択候補200Bの入力を受け付けるたびに、候補文字列200Cとして挙げる文字列の候補を変更する。文字入力装置200は、入力部250が受け付ける、候補文字列の選択情報、文字入力、漢字変換等の文字入力操作情報等の入力情報に基づき、文字列を作成する入力文字列作成部を含んでいてもよい。当該入力文字列作成部は、入力欄に入力する入力文字列220Dの途中文字列を保持しており、入力部250が入力を受け付けるたびに、新たに入力された入力情報に基づき途中文字列を更新する。入力文字列作成部が作成した文字列は、途中文字列として出力部を介してモニタ770に出力してもよい。
【0039】
入力欄に対する文字列の作成が完成し、入力部250を介して、ユーザの操作に基づく入力完了の指示を受け付けると、入力文字列出力部262は、当該入力完了の指示により決定された文字列(入力文字列200D)を、入力フォーム情報102の、処理対象となっている入力欄に入力する文字列として、Webコンテンツ閲覧装置100へ出力する。
【0040】
文字入力装置200が上記したような入力文字列作成部を含む場合は、入力完了の指示を受け付けると、途中文字列として保持している文字列を入力文字列220Dとして、入力文字列出力部262が出力する。
【0041】
辞書更新部252は、入力文字列200Dに基づいて、辞書270を更新する。
[文字入力装置のハードウェア構成]
本実施の形態に係る文字入力装置は、実質的には、コンピュータハードウェアと、そのコンピュータハードウェアにより実行されるプログラムと、コンピュータハードウェアに格納されるデータとにより実現される。図2に、このコンピュータシステム700の内部構成を示す。
【0042】
なお、本実施の形態では、Webコンテンツ閲覧装置100と文字入力装置200が、コンピュータシステム700により実現される。以下、本明細書では、必要な場合には、コンピュータシステム700が、Webコンテンツ閲覧装置100として機能しているか文字入力装置200として機能しているかについて、説明をすることとする。
【0043】
図2を参照して、このコンピュータシステム700は、光ディスクドライブ751および磁気ディスクドライブ752を有するコンピュータ750と、モニタ770と、リモコン700Aとを含む。
【0044】
(コンピュータのハードウェア構成)
コンピュータ750は、光ディスクドライブ751および磁気ディスクドライブ752に加えて、電源ボタン等の入力装置753と、リモコン700Aからの信号を受信するリモコンインタフェース(I/F)755と、CPU(中央処理装置)756を含む。
【0045】
リモコンI/F755、CPU756、光ディスクドライブ751および磁気ディスクドライブ752は、バス757により接続される。
【0046】
コンピュータ750は、バス757に接続され、ブートアッププログラム等を記憶する読出専用メモリ(ROM)758と、同じくバス757に接続され、プログラム命令、システムプログラム、および作業データ等を記憶するランダムアクセスメモリ(RAM)759とを含む。
【0047】
ここでは示さないが、コンピュータ750はさらにネットワークへの接続を提供するネットワークアダプタボード、無線通信を行なう通信装置を含んでもよい。
【0048】
コンピュータシステム700に文字入力装置の機能を実現させるためのプログラム、入力情報はいずれも、光ディスクドライブ751または磁気ディスクドライブ752に挿入される光ディスク760または磁気ディスク761に記憶され、さらにハードディスク762に転送される。または、プログラム等のデータは、図示しないネットワークを通じてコンピュータ750に送信され、ハードディスク762に記憶されてもよい。プログラムは実行の際にRAM759にロードされる。光ディスク760から、磁気ディスク761から、またはネットワークを介して、RAM759に直接プログラムがロードされてもよい。
【0049】
このプログラムは、コンピュータ750に本実施の形態に係る文字入力装置200の機能を実現させる複数の命令を含む。これら機能を実現させるのに必要な基本的機能のいくつかはコンピュータ750上で動作するオペレーティングシステム(OS)またはサードパーティのプログラム、若しくはコンピュータ750にインストールされる各種ツールキットのモジュールにより提供される。したがって、このプログラムは、この実施の形態に係る文字入力装置の機能を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能または「ツール」を呼出すことにより、上記した文字入力装置の制御を実行する命令のみを含んでいればよい。コンピュータシステム700の動作は周知であるので、ここでは繰り返さない。
【0050】
なお、文字入力装置の機能を実現するためのプログラムやデータが記録される記録媒体は、CD−ROM(コンパクトディスク読取専用メモリ)、MO(Magneto−Optical disc)、MD(Mini Disc)、およびDVD(Digital Versatile Disc)等の光ディスク760、FD(フレキシブルディスク)およびハードディスク等の磁気ディスク7761に限らない。磁気テープおよびカセットテープ等のテープ、IC(Integrated Circuit)カードおよび光カード等のカード型記録媒体、並びにマスクROM、EPROM(Erasable Programable ROM)、EEPROM(Electrically Erasable Programable ROM)、およびフラッシュROM等の半導体メモリのいずれかでもよい。ただし、コンピュータシステム700は、これら記録媒体からの読出を行なうための読出装置を実装する必要がある。
【0051】
本実施の形態では、CPU756がハードディスク762や光ディスク760や磁気ディスク761に記録されたプログラムを実行することにより、入力部250、辞書更新部252、カテゴリ推定部254、単語抽出部256、候補単語決定部258、候補文字列出力部260および入力文字列出力部262が構成される。また、辞書270や本明細書において説明される処理が実行されるのに必要な情報(データ)は、ハードディスク762や光ディスク760や磁気ディスク761やRAM759に記録されている。
【0052】
(リモコンのハードウェア構成)
リモコン700Aは、リモコン700Aの動作を全体的に制御する情報処理装置780を含む。また、リモコン700Aは、無線信号を発信する信号発生装置786と、後述する数字キー701等のキーから構成されるキー入力部785と、キー入力部785の中の操作されたキーに対応して出力する信号の内容を記憶する記憶装置781とを含む。
【0053】
リモコン700Aは、キー入力部785が操作されると、操作されたキーに応じた信号が、信号発信装置786から出力される。
【0054】
コンピュータ750は、リモコンI/F755において、リモコン700Aから出力された信号を受信する。
【0055】
(リモコンの外観)
図2のリモコン700Aの外観を図3に示す。
【0056】
図3を参照して、リモコン700Aは、「1」〜「12」のそれぞれの数字に対応した12個のボタンからなる数字キー701と、モニタ770に表示されたカーソル等の操作対象となる位置を上下左右のそれぞれの方向に移動させる上キー711,下キー712,左キー713,右キー714と、入力中の情報を確定させるための決定キー710と、コンピュータ750の動作状態に応じた種々の機能を割当てられる機能キー712〜724を含む。
【0057】
[入力フォームの構成]
次に、入力フォーム情報102に基づいて表示される入力フォームの表示例について説明する。
【0058】
(入力フォームの表示例)
図4に、入力フォームを含むWebコンテンツの表示の表示画面の一例を示す。
【0059】
画面400として表示されたWebコンテンツには、姓、名などの入力フォームが存在する。ある任意の入力フォームに文字を入力するという処理は、まず、ユーザがリモコンやマウスポインタ等の操作によって、入力する入力フォームを指定する。ユーザによる文字入力指示を検出すると、コンピュータ750は、文字入力装置を起動し、文字入力装置で文字列を生成し、生成した文字列をWebコンテンツ閲覧装置100に渡す。Webコンテンツ閲覧装置100は、取得した文字列を入力フォームに埋め込み、Webコンテンツを再表示する。
【0060】
画面400は、ユーザの、姓名の中の姓の部分を入力する入力欄401と、名の部分を入力する入力欄402と、姓の部分のよみがなを入力する入力欄411と、名の部分のよみがなを入力する入力欄412とを含む。
【0061】
また、画面400は、ユーザの電子メールアドレスを入力する入力欄421と、当該電子メールアドレスを確認的に再度入力させる入力欄422とを含む。
【0062】
また、画面400は、ユーザの性別を入力させるための入力欄431,432を含む。
また、画面400は、ユーザの郵便番号を入力させるための入力欄441,442を含む。
【0063】
また、画面400は、ユーザの住所を入力させるための入力欄451,461,471を含む。
【0064】
また、画面400は、ユーザの電話番号を入力させるための入力欄481,482,483を含む。
【0065】
また、画面400は、ユーザの勤務先の情報を入力させるための入力欄491を含む。
(入力フォームを構成するデータの一例)
図5に、図4に示したWebコンテンツに対応するHTMLフォームの一例を示す。
【0066】
Webコンテンツ閲覧装置100は、図5に示すようなHTMLフォームデータを取得し、図4に示すような形式で、モニタ770等の表示装置に表示する。
【0067】
図5を参照して、図4の画面400中の入力欄401,402は、それぞれ図5に示したHTMLフォームの中の記述501,502に対応する。
【0068】
また、入力欄411,412,421,422,431,432,444,442,461,471,481,482,483,491は、それぞれ、図5中の記述511,512,521,522,531,532,541,542,561,571,581,582,583,591に対応する。
【0069】
HTMLフォーム中での各入力欄に対応する記述を、本明細書では各入力欄に対応する入力フォームという。
【0070】
具体的には、図4の各入力欄のうち、「姓」に対応する入力欄401は、図5のHTMLフォームでは、<input name=”sei” type=”text” size=”16” />のような形式で表現されている。このうち、<input>は、入力フォームそのものを示すHTMLタグであり、name, type, sizeなどのinputタグ内で指定される値は、<input>タグを特徴づける属性情報である。これらを、本明細書では、入力フォームに付随する属性情報という。
【0071】
文字の入力対象として「姓」の入力フォームが指定された場合、文字入力装置200を構成するアプリケーションがコンピュータ750において起動する。
【0072】
このとき、「姓」の入力フォームに付随する属性情報が、Webコンテンツ閲覧装置100から文字入力装置200へ渡される。具体的には、文字入力装置200を構成するアプリケーションを実行するCPU756は、Webコンテンツ閲覧装置100として機能するためのアプリケーションによってモニタ770に表示されているWebコンテンツの画面400の基となるHTMLフォームから、入力対象となる入力フォームについての属性情報を読み込む。
【0073】
以下、例として、<input>タグのname属性の値、”sei”が渡されるとする。
[文字入力装置200の機能の説明]
(文字入力装置を構成するアプリケーションによる表示画面)
文字入力装置200を構成するアプリケーションによる表示画面(文字入力画面)の一例を図6に示す。
【0074】
図6を参照して、文字入力画面910は、図4の入力フォームの各入力欄に入力される文字列の編集過程での文字列を表示させる表示欄911と、表示欄911に表示させる文字列として予測される文字列の候補を表示するための表示欄912と、数字キー701の12個のキーのそれぞれに対応する内容を示す表示欄913と、機能キー721にアサインされた機能を示す表示欄914と、機能キー722にアサインされた機能を示す表示欄915とを含む。
【0075】
文字入力装置が上記したような入力文字列作成部を含む場合、当該入力文字列作成部が保持する途中入力文字列は、表示欄911で表示される。
【0076】
表示欄911において、入力されたが、かな漢字変換前であり、まだ文字が確定されていない文字列については、図6に示されるように、下線が付されて表示される。表示欄911には、次に入力する文字が挿入される位置を示すカーソル911Aが表示される。
【0077】
なお、本明細書では、文字入力装置200に対する文字の入力と、Webコンテンツ閲覧装置100に対する文字の入力は、区別して記載される。文字入力装置200には、Webコンテンツ閲覧装置100に対して、入力フォームに埋め込む文字列として出力する「入力文字列200D」を作成するための文字が、リモコン700Aに対する操作等によって入力される。
【0078】
図6の表示欄913の表示によれば、数字キー701の「1」キーには、「あ」行の平仮名の入力がアサインされている。「1」キーが連続して操作されることにより、操作回数に応じて表示欄911に表示される文字は、「あ」「い」「う」「え」「お」「ぁ」「ぃ」…「あ」「い」…のように変化する。
【0079】
また、数字キー701の「2」キーには、「か」行の平仮名の入力がアサインされている。「2」キーが連続して操作されることにより、当該操作に基づいて表示欄911に表示される文字は、「か」「き」「く」「け」「こ」「か」「き」…のように変化する。
【0080】
また、数字キー701の「3」キーには、「さ」行の平仮名の入力がアサインされている。「3」キーが連続して操作されることにより、当該操作に基づいて表示欄911に表示される文字は、「さ」「し」「す」「せ」「そ」「さ」「し」…のように変化する。
【0081】
そして、数字キー701の「4」キー,「5」キー,「6」キー,「7」キー,「8」キー,「9」キー,「11」キーには、それぞれ、「た」行,「な」行,「は」行,「ま」行,「や」行,「ら」行,「わ」行の平仮名の入力がアサインされている。
【0082】
数字キー701の「10」キーには、表示欄911に表示された文字に対して、当該キーの操作回数に応じて所定の処理を施す情報を入力する機能がアサインされている。所定の処理とは、奇数回の操作がなされると、カーソル911Aが表示された位置の左隣にある位置の文字に対して濁点を付す、または、濁点が付された文字に対しては濁点を削除する)処理をし、偶数回の操作がなされると、小文字化する(「あ」を「ぁ」とする)または小文字化を解除する処理をすることに対応する。
【0083】
数字キー701の「12」キーには、表示欄911に対して操作回数に応じた文字数だけ空白を入力する機能がアサインされている。
【0084】
表示欄914の表示によれば、機能キー721には、表示欄911に表示された平仮名の文字列の漢字変換を指示する機能がアサインされている。
【0085】
表示欄915の表示によれば、機能キー722には、画面400の中の処理対象となっている入力欄に対して、表示欄911に表示されている文字列を、入力する情報として、文字入力アプリケーションの処理を終了させる機能がアサインされている。
【0086】
図6の文字入力画面910の表示欄911には、入力されているが確定される前の状態にある文字「た」が示されている。これは、上記したように、リモコン700Aにおいて数字キー701の「4」キーが1回操作された状態に対応する。
【0087】
そして、表示欄912には、辞書270に含まれる、「た」の読みに基づいて抽出された候補文字列200Cを構成する複数の文字列(「退官」「退社」「対処」「態勢」「体調」「称える」「立つ」「立てこもる」「度」)が示されている。
【0088】
この状態で、上キー711,下キー712,左キー713,右キー714および決定キー710が操作されることにより、候補文字列として表示されたものから文字列を選択および決定されると、CPU756は、表示欄911に表示される文字列を決定された文字列に置換する。たとえば、「退官」の文字列が選択されると、表示欄911には「退官」が表示され、「退官」の文字列の直後にカーソル911Aが表示される。この状態で、さらに、数字キー701が操作されると、当該数字キーにアサインされたひらがな文字を表示欄911において「退官」の直後に未確定の状態で表示し、表示されたひらがな文字に基づいて抽出した候補文字列200Cを更新する。このようにして、提示した候補文字列200Cの選択や、数字キー701等のキー操作に基づき、表示欄911に表示する文字列を更新する。そして、入力完了キー915が操作されると、入力文字列出力部262は、表示部911の文字列を、入力文字列200Dとして、Webコンテンツ閲覧装置100に出力する。
【0089】
なお、表示欄912では、選択されている文字列は、太枠で囲まれる等により表示される。図6では、「退官」が選択された状態が示されている。表示欄912内で選択される文字列は、上キー711,下キー712,左キー713,右キー714が操作されることにより変更される。
【0090】
(文字入力装置の漢字変換機能)
本実施の形態の文字入力装置200は、予測候補提示機能の他に、漢字変換機能をもち、入力中の読みを読み仮名とする漢字に変換する機能をもつ。新規の単語入力の際など、予測候補に目的の文字列が提示されない場合は、漢字変換機能によって変換された漢字等を組み合わせることで、文字列を生成する。入力フォームに入力すべき文字列を生成できると、入力完了機能を実行し、生成した文字列を入力文字列出力部からWebコンテンツ閲覧装置100に渡す。
【0091】
たとえば、「姓」という入力フォーム(画面400の入力欄401)に対して、「たなか」という読みを入力する操作がなされた場合、文字入力装置200は、漢字変換機能によって、「たなか」の文字列に基づいて「田中」という文字列を生成し、入力完了機能を実行したとする。
【0092】
Webコンテンツ閲覧装置100は、「姓」という入力フォームに、「田中」という文字列が文字入力装置200において生成された情報を取得すると、図7に示したように、指定された入力フォームに取得した文字列を埋め込むよう、画面400の表示を更新する。このようにして、文字入力装置200で生成した文字列を使用して、Webコンテンツ閲覧装置100が、Webコンテンツを表示する。
【0093】
(辞書を用いた一般的な処理内容)
文字入力装置200では、予測候補の選択、漢字変換、および入力完了機能が実行されると、辞書更新部252によって辞書270が更新される。
【0094】
辞書更新部252は、入力フォームに付随する属性情報として取得されたデータと、予測候補の選択、漢字変換、入力完了機能時のそれぞれの確定文字列とを用いて、辞書データを更新する。
【0095】
ここまで説明してきた例では、属性情報として渡されたname属性の値、”sei”と、確定された文字列である「田中」との関連づけを行ない、辞書の270のデータを更新する。属性の値、確定された文字列が辞書に登録されていなければ、新規に登録を行なう。
【0096】
ここで、辞書270のデータ構造について、説明する。
(辞書のデータ構造)
以下、文字入力装置200で利用される辞書270について、そのデータ内容、辞書引き、更新方法について説明する。まず、辞書270のデータ内容を説明する。
【0097】
図8は、辞書270のデータ構成の一例を模式的に示す図である。
図8を参照して、辞書270には、単語ごとの読み2714と、読み2714に対応する表記2715が、データベース形式で格納されている。
【0098】
また、辞書270に格納される単語には、これらに加え、属性情報2712と、属性情報2712から推測されるカテゴリを示す情報(カテゴリ情報2713)が格納されている単語もある。
【0099】
つまり、辞書270に格納される単語には、属性情報およびカテゴリ情報が付与されている単語と付与されていない単語がある。
【0100】
なお、辞書270では、各単語は、番号2711が付されて、格納されている。
入力する入力フォームをユーザによって指定され、文字入力装置を起動する際に、入力部250を介して、指定された入力フォームに付随する属性情報を取得する。予測候補の選択、漢字変換時には、表記と読みが、取得された属性情報とともに、辞書270に格納されるように辞書270が更新される。入力完了時には、入力文字列200DとしてWebコンテンツ閲覧装置100に送信された文字列と、取得された属性情報とが、辞書270に格納されるように、辞書270が更新される。属性情報からカテゴリが推定された場合、カテゴリ情報も付与されて、格納される。カテゴリ推定部254によるカテゴリ推定の方法は、後述する。
【0101】
そして、このように辞書270に格納された表記、読み、属性情報、カテゴリ情報は、それ以降の入力フォームに対する入力文字列200Dの生成の際に利用される。
【0102】
なお、辞書にない文字列が入力文字列200Dとして出力されると、辞書更新部252は、当該文字列を新たに辞書270に登録することにより、辞書270を更新する。
【0103】
辞書にない文字列とは、漢字変換を必要としないひらがな・カタカナ・英数字からなる文字列や、辞書単語を組み合わせた複合語などが考えられる。たとえば、「ひなまつり」が辞書に登録されていない場合、当該「ひなまつり」は漢字変換なしに入力できる文字列であり、このような文字列が入力完了されると、読みおよび表記が「ひなまつり」となる単語が、その時の属性情報(その時点で処理対象となった入力フォームに対応する属性情報)とともに、辞書270に追加される。なお、「祭り」という単語が辞書に存在する場合に、「ひな」を無変換で表示欄911に入力し、その直後に「祭り」という文字列を表示欄911上で漢字変換を行なった上で入力し、これにより、「ひな祭り」という複合語文字列が生成された状態で、入力完了されると、読みが「ひなまつり」、表記が「ひな祭り」である文字列が、その時の属性情報とともに、辞書270に追加される。
【0104】
(辞書の更新)
文字入力装置200の起動時や表示欄911に1文字入力されるたびに、辞書270が参照されて、表示欄912に候補として表示される文字列が更新される。
【0105】
図6に示したように、「た」が入力された場合、入力部250は、入力文字「た」を取得する。これに応じて、単語抽出部256は、辞書270を参照し、読みの先頭が「た」である単語を抽出し、その表記を候補単語決定部258に渡す。このとき、属性情報、カテゴリ情報が付与されている場合、その情報も渡す。
【0106】
「た」が入力された場合、図8に示す辞書270によれば、「退官」、「退社」、「田中」、「たなか」、「竹田」が候補として抽出される。
【0107】
その後、さらに「な」が入力されると、表示欄911に表示される、確定前の読みは、「たな」になる。これに応じて、単語抽出部256は、辞書270から、読みが「たな」で前方一致する単語を抽出する。たとえば、「田中」、「たなか」が抽出される。
【0108】
図4に示したWebコンテンツの画面400と、図5に示したHTMLフォームにおいて、「姓」という入力欄に「たなか」という読みが入力され、文字入力装置200の漢字変換に基づき「田中」という表記に変換するための情報および当該表記を処理対象の入力欄に入力する文字列として(Webコンテンツ閲覧装置100に対して出力する文字列として)決定する情報が文字入力装置200に入力された場合、入力文字列出力部262が、「姓」の入力欄に対応する入力文字列200Dとして当該表記(田中)を出力する。そして、辞書更新部252は、「姓」の入力フォームに付随する属性情報のうちname属性である”sei”を取得する。この場合、辞書更新部252は、読みが「たなか」、表記が「田中」、そして、属性情報が「sei」である単語の情報を追加するように、辞書270を更新する。
【0109】
なお、もともと、辞書270に、読みを「たなか」、表記を「田中」とする単語情報(属性情報を含まない単語情報)が含まれていた場合には、辞書更新部252は、当該単語情報に、「sei」という属性情報を追加するように、辞書270を更新する。
【0110】
図8のNo.30は、このようにして登録された単語にかかる情報を示している。
(候補文字列の予測)
次に、別のWebコンテンツの閲覧時に、ある入力フォームが指定されると、文字入力装置200が起動する。
【0111】
起動時に、単語抽出部256およびカテゴリ推定部254は、当該入力フォームに対応する属性情報を取得する。
【0112】
そして、単語抽出部256は、辞書の中で属性情報が一致、もしくは類似する単語があるかどうかを判断し、候補抽出する。カテゴリ推定部254は、取得された属性情報に基づいて、カテゴリを推定する。
【0113】
ここで、カテゴリ推定部254によるカテゴリの推定について説明する。
(カテゴリの推定)
カテゴリ推定部254では、入力フォームを含むHTMLデータから取得した属性情報から、入力フォームに入力すべき文字列が属するカテゴリを推定する。
【0114】
カテゴリとは、氏名、姓、名、ふりがな、ログイン名、住所、電話番号、メールアドレス、会社名、などが考えられる。
【0115】
あらかじめ、カテゴリを識別するためのキーワードを決定しておき、取得した属性情報に含まれるテキスト情報から、カテゴリを識別する。
【0116】
カテゴリ推定部254は、属性情報に基づいてカテゴリを推定するための情報を格納している。当該情報の一例を、図9に示す。
【0117】
図9を参照して、番号2721ごとに、カテゴリ2722が関連付けられ、そして、各カテゴリ2722には、キーワード2723が関連付けられている。たとえば、番号「1」のカテゴリ「姓」には、「name」「last」「sei」「姓」「l_name」を含む、複数のキーワードが関連付けられている。各カテゴリ2722には、単数のキーワード2723が関連付けられている場合もあるし、図9に示されるように複数のキーワード2723が関連付けられている場合もある。
【0118】
図9に示されたテーブルでは、カテゴリに関連付けられたキーワードは、当該キーワードが属性情報に含まれることにより、当該属性情報が当該カテゴリに属することを意味する。つまり、「name」「last」「sei」「姓」「l_name」が属性情報に含まれる場合、当該属性情報は、カテゴリ「姓」に属するものとして取り扱われる。
【0119】
取得された属性情報が”lastname”の場合、キーワードに”last”を含むので、カテゴリ推定部254は、カテゴリを「姓」であると推定する。属性情報が”sei_kana”の場合、キーワードに”sei”と”kana”を含むので、カテゴリは、「姓」もしくは「ふりがな」と判断する。一つの属性情報に対して、複数のキーワードが含まれる場合、複数のカテゴリが推定されてもよい。
【0120】
辞書270に、後述するステップS12において、1つの単語について複数のカテゴリ情報を格納するには、あらかじめ定義されたカテゴリの中で、カテゴリ毎に属すか属さないかの情報を付与されたカテゴリ情報を単語毎に付与するという方法で格納するとよい。また、カテゴリとして、姓のふりがな、というような、複数のキーワードが属すことを条件とするカテゴリを定義してもよい。本明細書では、姓のふりがなを、「姓(ふりがな)」と表す。
【0121】
また、あらかじめ典型的な属性情報のパターンを収集して、カテゴリに振り分けておき、それを学習データとして用いてカテゴリ推定を行なう方法も考えられる。
【0122】
たとえば、”sei_kana”は、「姓(ふりがな)」、”firstname”は、「名」、”first_yomi”は、「名(ふりがな)」、”email”は、「メールアドレス」、のように、典型的な属性情報の文字列に対して、それぞれどのカテゴリに属すかを決めておく。取得した属性情報と、学習データの属性情報とのテキスト情報の一致、もしくは類似度合により、どの学習データの属性情報に類似するかを判断し、類似する属性情報が属すカテゴリを取得した属性情報が属すカテゴリとして推定する。
【0123】
キーワードを含まなかったり、類似する属性情報がなかったりなど、カテゴリ推定ができなかった属性情報は、カテゴリなしで終了する。
【0124】
カテゴリ推定部254は、このように、取得した属性情報に基づいてカテゴリを推定して、単語抽出部256に出力する。
【0125】
(推定されたカテゴリに基づく単語の抽出)
単語抽出部256は、辞書270の中から、出力されたカテゴリに一致するカテゴリに関連付けられた単語の表記を抽出して、単語抽出部256から入力された表記に加える。
【0126】
カテゴリ推定部254によるカテゴリの推定方法の具体例を説明すると、例えば、属性情報が”sei”、から、カテゴリが「姓」であると推定されたとする。カテゴリ推定部254が推定した情報を取得すると、単語抽出部256は、カテゴリが「姓」と一致する単語を辞書270から抽出する。図8に示された情報によれば、No.30の「田中」、No.31の「たなか」、No.32の「竹田」、No.33の「中田」が抽出される。
【0127】
このようにして、属性情報およびカテゴリ情報をもとに候補を抽出することで、文字入力装置起動時に、ユーザに一文字も読みを入力させることなく、候補を提示することが可能である。
【0128】
属性情報が類似する単語、カテゴリ情報が一致する単語を抽出することで、属性情報が完全に一致しなくても過去に入力した文字列を利用することが可能である。
【0129】
起動時には、属性情報もしくはカテゴリ情報しか使わないので、辞書270に格納されている情報のうち、読み情報を必要としない。したがって、属性情報を備えた単語は、少なくとも表記情報(図8の表記2715)さえあれば、起動時に候補として抽出することが可能である。
【0130】
文字入力装置200の起動時に候補を提示している状態で、ユーザが文字を入力すると、入力文字に基づき単語を抽出する。属性情報が一致していても、読みが一致しない単語は候補からはずす。
【0131】
”sei”という属性情報から起動時に抽出された候補「田中」、「中田」、「たなか」、「竹田」がある状態で、ユーザが「な」を入力したとすると、読みが「た」から始まる候補は抽出せず、「な」から始まる「中田」だけが抽出される。ユーザが文字を入力すると、単語抽出部256は、属性情報やカテゴリ情報が一致もしくは類似しなくても、読みが前方一致する単語(表記)を抽出する。
【0132】
ここで、「な」から始まる文字列を抽出する。したがって、文字が入力されると、単語抽出部256により抽出される単語では、属性情報が一致もしくは類似する単語と、一致も類似もしない単語と、属性情報が付与されていない単語が混在することになる。
【0133】
候補単語決定部258は、これらの単語を、属性情報が一致するものを優先順位が高く(順序を早く)表示されるように、候補として抽出された単語の優先順位を決定して、候補文字列出力部260へ出力する。
【0134】
辞書270において、読みおよび表記が格納されており、属性情報が格納されていない単語が、生成されて、入力文字列200Dとして出力されると、辞書更新部252は、その単語に、取得した属性情報を付与するように、辞書270を更新する。読み、表記、属性情報が格納されている単語が、格納されている属性情報とは異なる属性情報をもつ入力フォーム(入力欄)に対する入力文字列200Dとして出力されると、辞書更新部252は、その単語に、新たな属性情報を付与するように、辞書270を更新する。この場合、一つの読み、表記のペアに対して、属性情報が複数付与されていることになる。属性情報が複数の場合、属性情報から推定されるカテゴリ情報も複数付与されることになる。
【0135】
辞書270には、属性情報が付与された単語と、付与されていない単語が混在しているが、属性情報が付与されていない単語群は、通常のかな漢字変換辞書に置き換えることが可能である。辞書270を複数に分割して構成し、一つは、読みと表記等の単語情報のみを格納した辞書Aとし、もう一つを読み、表記等の単語情報と、属性情報とを関連づける情報を格納した辞書Bとしてもよい。
【0136】
後者の辞書Bは、入力フォームに入力が行なわれるたびに、辞書更新部252により更新される。
【0137】
辞書Bに含まれない属性情報、読み、表記が入力されると、当該情報が辞書270に追加されるように、辞書270が更新される。
【0138】
単語抽出部256は、文字入力装置200の起動時には、辞書Bを参照し、属性情報が一致もしくは類似する単語、カテゴリが一致する単語を抽出し、候補を抽出し、候補単語決定部258に出力する。候補単語決定部258に入力された単語(表記)は、適宜提示順序が決定され、候補文字列出力部260を介して、候補文字列200Cとして出力される。このように出力された候補文字列200Cが表示された状態を、図10に示す。
【0139】
図10の文字入力画面910Aでは、表示欄911には、文字が表示されていない。文字入力画面910Aに対して、また、文字の入力がなされていないからである。そして、図10の表示欄912には、上記のように出力された候補文字列200Cに含まれる表記が表示されている。
【0140】
図10に示された状態から数字キー701や決定キー710等のリモコン700A上のキーが操作されて、表示欄911に対して文字が入力されると、単語抽出部256は、入力された文字に応じて、辞書Bを参照し、起動時に抽出した単語の中から読みが前方一致する単語を抽出し、さらに、辞書Aを参照し、読みが前方一致する単語を抽出し、両方の辞書から抽出された単語をマージして、候補を出力する。単語抽出部256から出力された候補は、候補単語決定部258および候補文字列出力部260を介して、候補文字列200Cとして出力される。このように出力された候補文字列200Cが表示された状態を、図11に示す。
【0141】
図11の文字入力画面910Bの表示欄912では、候補として表示される文字列には、辞書Bから抽出された単語の表記と辞書Aから抽出された単語の表記がマージされている。
【0142】
図11の文字入力画面910Bでは、表示欄911には、「な」という文字が表示されている。ユーザが「な」の文字を入力したことに対応する。
【0143】
そして、文字入力画面910Bでは、表示欄911には確定前の状態で「な」が表示され、表示欄912に表示された、予測に基づく候補は、読みが「な」から始まる候補が提示される。
【0144】
ここで、図10と図11を対比して、図10の文字入力画面910Aの表示欄912に表示されている候補のうち、「中田」は、属性情報が付与されている単語であり、属性情報の”sei”が一致している単語として、起動時(文字入力画面910Aの表示欄912)から提示され、「な」が入力されても、入力された「な」と読みが前方一致するので、候補として残る。よって、図11の文字入力画面910Bの表示欄912にも残っている。
【0145】
一方、図10の文字入力画面910Aの表示欄912に表示されていた候補のうち、「中田」以外の候補は、入力された「な」と読みが前方一致しないので、図11の文字入力画面910Bでは、候補として残っていない。
【0146】
図11の文字入力画面910Bの表示欄912に表示されていた候補のうち、「中田」以外の候補は、図10の文字入力画面910Aに対して「な」が入力されることによって、属性情報が付与されていない単語から、読みが、入力された「な」と前方一致することにより抽出された候補である。
【0147】
このように、文字入力画面に対して文字が入力されると、単語抽出部256、候補単語決定部258および候補文字列出力部260は、属性情報が付与されている単語と、付与されていない単語を、マージして、候補文字列200Cとして出力する。
【0148】
なお、以上説明した候補の抽出方法では、辞書270が、複数の辞書(辞書Aと辞書B)により構成されている例について説明したが、このように複数の辞書に分割されていない場合でも同様の処理が可能である。
【0149】
このように、マージして候補を出すことは、属性情報を考慮して抽出した候補に曖昧性がある場合に効果がある。
【0150】
過去に入力したことのない文字列を入力する場合や、新たなWebコンテンツでの入力フォームに対する入力において、属性情報を考慮して抽出した候補が間違っている場合、従来例のように入力フォームに候補を埋め込んだ形で提示する方法では、ユーザは、間違って提示された文字列を消去し、新たに文字を入力しなおさなければならない。
【0151】
本実施の形態によれば、属性情報のみから提示された候補が間違っていた場合、入力された文字に基づく候補抽出に、スムーズに移行できる。このように、属性情報が付与されているいないにかかわらず、辞書270全体からの予測を利用することができる。これにより、文字を入力する際にいつでも入力支援を受けることができる。従来例のように、候補を一つに絞り、入力フォームに強制的に埋め込む方法よりも、候補の一つとして提示する方が、より利便性が高いといえる。
【0152】
また、複数の人が同じ端末で同じコンテンツを閲覧するなどにより、ある属性情報に対して複数の候補が存在することも考えられる。さらに、新規の属性情報が入力された場合は、類似する属性情報から候補を抽出するため、候補が複数存在することも考えられる。このような場合にも、従来例のように入力フォームにいずれか一つを強制的に埋め込む方法では、適切でない候補を埋め込む可能性がある。本実施の形態のように、文字入力装置200が複数の候補を提示することができれば、ユーザは、その中から適切な候補を選択することができる。また、複数の候補が提示された状態で、文字を入力することによって、候補を絞り込むことも可能である。したがって、候補がたくさん存在する場合でも、ユーザはより少ない文字入力操作によって、候補を選択することができる。
【0153】
(予測機能について)
或るWebコンテンツを一度閲覧し、再度当該Webコンテンツを閲覧したときに、ユーザが文字の入力対象として「姓」という入力フォーム(入力欄)を指定したときの、文字入力装置200における予測機能について説明する。
【0154】
再度の閲覧によって入力フォームが表示され、当該表示された入力フォームが指定されると、当該指定に応じて文字入力装置200が起動される。
【0155】
文字入力装置200では、前回のWebコンテンツの閲覧の際に、入力文字列200Dの出力に基づいて、「姓」という入力フォームに付随する属性情報(たとえば、name属性の値”sei”)が取得され、辞書270に、当該属性情報に関連付けて入力文字列200Dに対応する表記が登録されるように、辞書270が更新されている。
【0156】
そして、Webコンテンツ閲覧装置100は、今回の閲覧の際に、「姓」という入力フォームが指定されると、文字入力装置200を起動させる。
【0157】
これに応じて、文字入力装置200では、単語抽出部256は、当該入力フォームに対応する属性情報として、”sei“を取得する。そして、辞書270において、当該取得された属性情報に関連づけられた「田中」という単語を抽出する。抽出された単語(表記)は、候補単語決定部258および候補文字列出力部260を介して、候補文字列200Cとしてモニタ770に出力される。
【0158】
これにより、モニタ770は、出力された候補文字列200Cを、たとえば図10に示した文字入力画面910Aの表示欄912に表示させて、提示する。
【0159】
ユーザは、提示された予測候補(候補文字列200C)の中から文字列を選択することによって、一文字も入力することなく、入力フォームに目的の文字列を入力することができる。
【0160】
なお、リモコン700Aに対する操作により、提示された予測候補の中から文字列が選択されると、選択候補200Bとして入力部250に入力される。このとき、表示欄911には選択候補200Bが表示され、現在の入力文字列は選択候補200Bと一致している。その状態でさらに、入力部250が、文字入力操作情報200Aのうちの一つである、入力完了操作情報を受け付けると、入力フォームへの入力文字列が決定されたとし、現在の入力文字列(選択候補200B)を入力文字列出力部262に出力する。
【0161】
また、リモコン700Aに対する操作により、提示された予測候補の中から文字列が選択されると、入力部250は、候補文字列200Cから、当該操作により特定される文字列を入力文字列200Dとして決定して、当該文字列を入力文字列出力部262に出力するでもよい。
【0162】
Webコンテンツ閲覧装置100において、過去に閲覧されたのとは異なるWebコンテンツが閲覧されたときでも、当該異なるWebコンテンツにおいて指定された入力フォームに対応して取得された属性情報が”sei”であれば、同様に「田中」という単語を、文字入力装置200の起動時に、文字入力装置200に対する文字の入力を必要とすることなく、候補として提示することが可能である。これによって、過去の履歴を活用することが可能である。
【0163】
ここで、ユーザが、文字入力装置200に対して文字を入力していない状態で、候補として提示された「田中」という文字列について、当該文字列を、入力フォームに対して入力することを希望しない場合、つまり、当該入力フォームについて別の文字列を入力することを希望する場合には、ユーザは、予測された候補を選択することなく、入力を希望する文字列の読みを入力すれば良い。この場合、ユーザは、予測された候補を削除する操作を必要とされない。
【0164】
これにより、図11の文字入力画面910Bに示されるように、入力された文字の読みは、表示欄911に表示される。このように入力された読みを表す文字は、候補文字列200Cとは別に、モニタ770に送られる。これにより、モニタ770では、図10の文字入力画面910Aの表示欄911の表示内容が、図11の文字入力画面910Bの表示欄911に更新される。
【0165】
図11の文字入力画面910Bの表示欄911に示されるように、読みとして入力された最初の一文字が「た」ではない場合、図10の文字入力画面910Aの表示欄911に示されていた「田中」は、図11の文字入力画面910Bの表示欄911には表示されなくなる。代わりに、入力された読み「な」に対応して抽出された別の候補が、表示欄911に表示される。
【0166】
これによって、提示された予測候補がユーザの所望する単語(文字列)と異なる場合、スムーズに目的の文字列を入力する操作に移行することができる。また、文字を入力することによって、新たに予測候補の提示を得ることができるので、効率的に文字列を入力することが可能である。
【0167】
(文字列の候補の表示における優先順位)
単語抽出部256で単語が抽出されると、候補単語決定部258で、候補として抽出された単語の優先順位が設定される。そして、候補単語決定部258は、単語抽出部256が抽出した単語の中から、優先順位に従って、表示欄911に表示できる候補の数を基に、表示する候補を決定し、候補文字列出力部260に出力する。候補の優先順位は、入力フォームに対応する属性情報と、属性情報が一致もしくは類似する単語は、属性情報が付与されていない単語よりも優先順位を高くするように、設定される。たとえば、優先度が高い順から、属性情報が一致する単語、類似する単語、カテゴリが一致する単語、属性情報が付与されていない単語もしくは属性情報が一致しない単語、の順に優先度が設定され、候補の提示順序が決定される。
【0168】
(入力フォームの属性情報の取得について)
本実施の形態では、Webコンテンツを閲覧する装置およびソフトにおいて、図5に示すようなHTMLフォームが解析され、入力フォームに付随する属性情報が取得され、入力フォームへの文字入力の指示があった場合に、文字入力装置200を起動し、当該文字入力装置200に、入力データとして属性情報を渡す。
【0169】
なお、文字入力装置200が取得する属性情報は、Webコンテンツ閲覧装置100によって取得され、文字入力装置200に送信される代わりに、文字入力装置200自身が行なっても良いし、他の装置が行なっても良い。文字入力装置200が属性情報を直接取得する場合には、たとえば、Webコンテンツ閲覧装置100は、HTMLフォームの中の入力フォームに対応する部分の記述を文字入力装置200に送り、この中から、文字入力装置200は、当該記述の中の、入力フォームを定義するタグを検出し、そのタグに含まれる属性情報を、入力フォームに付随する属性情報として取得する。
【0170】
たとえば、図5のHTMLフォームの中の記述501であれば、文字入力装置200は、<input>タグを検出し、その属性情報のうち、name属性の値を抽出する。
【0171】
なお、入力フォームへの文字入力の指示があった場合に、指定された入力フォームに付随する属性情報を文字入力装置200に入力情報として渡せる形態が望ましい。
【0172】
(入力文字列の出力のための処理の流れ)
ここで、文字入力装置200が起動されてから当該文字入力装置200において実行される、入力文字列200Dを出力するまでの処理の流れを、当該処理のフローチャートである図12を参照して説明する。
【0173】
図12を参照して、文字入力装置200が起動されると、まずステップS01で、入力部250に入力があるかどうかを判断し、入力があればステップS02に処理が進められる。
【0174】
次にステップS02では、入力部250に入力されたデータが、文字入力かどうかを判断する。文字入力の場合、ステップS03以降の処理に進む。
【0175】
ここで、文字入力とは、読みを表す文字の入力を意味し、図6に示された文字入力画面910に従えば、リモコン700Aにおいて、数字キー701が操作されることにより文字入力がなされ、それ以外のキーがなされたときには、文字入力以外の文字入力操作がなされたと判断される。
【0176】
文字入力装置200では、当該文字入力装置200に対して入力される文字が一文字増えると、表示欄911に表示される、確定前の文字列が存在する場合は文字列の末尾に入力された文字を追加されて、辞書探索用文字列とされる。そして、単語抽出部256は、当該辞書探索用文字列と読みが前方一致する単語が辞書270にあるかどうかを探索する。一方、確定前の文字列が存在しなかった状態で文字入力がされた場合は、単語抽出部256は、その時点で入力された文字をそのまま辞書探索用文字列とし、読みが前方一致する単語があるかどうかを辞書から探索する。このようにして、一文字入力されるたびに辞書探索用文字列とされる文字列が増やされて、辞書270が探索され、表示欄912に表示される候補が更新される。なお、探索用文字列となる文字列の更新に応じて、表示欄911に表示される文字列も更新される。
【0177】
ステップS03では、単語抽出部256は、入力する入力フォームに付随する属性情報を取得している場合は、取得した属性情報と、取得した属性情報から推定されたカテゴリ情報をもとに、辞書を参照し、属性情報が一致もしくは類似する単語やカテゴリ情報が一致する単語から、辞書探索用文字列と読みが前方一致する単語を抽出する。入力する入力フォームに付随する属性情報を取得していない場合は、何もしない。
【0178】
ステップS04では、属性情報を利用せずに、辞書270全体から辞書探索用文字列と読みが前方一致する単語を抽出する。属性情報が一致もしくは類似するしないにかかわらず、また、属性情報が付与されているいないにかかわらず、単語を抽出する。
【0179】
ステップS05では、候補単語決定部258は、出力する候補単語を決定し、順位を決定する。ステップS03で抽出された単語は、ステップS04で抽出された単語よりも優先順位を高くする。また、優先順位は、その他の態様で決定されても良い。その他の態様では、たとえば、最近利用した単語ほど優先順位を高くしてもよいし、頻度の高い単語ほど優先順位を高くしてもよいし、五十音順に並べてもよい。単語毎の頻度情報、最新利用情報等は、辞書270に格納されているとする。
【0180】
ステップS06で、候補文字列出力部260は、ステップS04またはステップS10で抽出された候補の中で、優先順位の高いものから表示可能な数だけを、候補文字列200Cとして出力する。これに応じて、モニタ770における文字入力画面の表示が更新される。その後、ステップS01へ処理が戻される。
【0181】
一方、ステップS02で、入力データが、文字入力でない場合、処理はステップS07に進められる。ステップS07では、文字入力装置200によって、当該文字入力装置200の起動時かどうかを判断する。起動時とは、Webコンテンツ閲覧装置100において文字入力機能が呼び出された時、もしくは、ある任意の入力フォームに入力を行なうことを指定した時を含む。文字入力装置200の起動時であると判断されると、ステップS08以降に処理が進められる。
【0182】
ステップS08で、単語抽出部256が、処理対象となっている入力フォームに付随する属性情報を取得する。
【0183】
属性情報の取得の際に、文字入力装置200で、HTMLフォームデータを解析し、属性情報を検出する場合は、単語抽出部256は、HTMLフォームデータを取得し、指定された入力フォームに付随する属性情報を検出する。
【0184】
属性情報が取得されると、ステップS09で、カテゴリ推定部254は、カテゴリを推定する。ステップS08で属性情報が取得できなかった場合、処理がステップS01へ戻される。
【0185】
ステップS08で取得された属性情報は、文字入力装置にて入力完了まで記憶しておき、文字が入力されて辞書探索を行なう際(S03)と、辞書更新を行なう際(S11)に、利用される。
【0186】
ステップS09では、先に述べた方法で、属性情報のカテゴリの推定が行なわれる。
ステップS10では、属性情報が一致もしくは類似する単語や、カテゴリ情報が一致する単語が抽出され、ステップS05へ処理が進められる。
【0187】
ステップS10に処理が進められるときは、文字入力装置200の起動時であるので、文字入力装置200に対して、数字キー701の操作等による文字入力はされていないため、読みの前方一致の確認は不要である。
【0188】
一方、ステップS07において起動時ではないと判断された場合とは、文字入力以外の文字入力操作情報200Aか、提示した候補がユーザによって選択された場合の候補選択情報のいずれかが入力された場合である。
【0189】
文字入力以外の文字入力操作とは、漢字変換、入力完了などが考えられる。入力された文字入力操作に基づき、文字入力画面910等における表示欄911入力枠の表示を更新する。
【0190】
ステップS11では、入力部250への入力データが、表示欄911に表示された文字列を入力文字列200Dとして確定させるためのデータであるか否かを判断し、そうではないと判断されるとステップS01へ処理が戻される。一方、確定させるためのデータであると判断されると、ステップS12へ処理が進められる。
【0191】
ステップS12では、辞書更新部252が、入力文字列200Dとして確定された文字列の読みと表記を辞書270に登録するように、辞書270を更新する。なお、この時点では、辞書270へは、表記だけの登録でもよい。起動時に属性情報が取得できている場合は、属性情報とともに登録する。すでに登録されている場合は、頻度情報、最新利用情報等の情報を更新する。
【0192】
そして、ステップS13に進み、入力文字列をWebコンテンツ閲覧装置100へと出力した後、処理を終了させる。
【0193】
[考えられる変形例等]
以上説明した本実施の形態では、入力部250により、情報の入力を受付ける入力手段が構成されている。
【0194】
なお、文字入力装置200に対して情報を入力するリモコン700Aは、文字入力装置200(コンピュータ750)に対して離間して設けられているが、情報を入力する装置は、文字入力装置200と一体的に設けられていても良い。
【0195】
以上説明した本実施の形態では、辞書270を記憶するハードディスク762等により、文字列を属性情報およびカテゴリ情報に対応付けて記憶する第1の記憶手段が構成される。
【0196】
また、本実施の形態では、入力対象となっている入力欄の入力フォームから属性情報を取得し、当該属性情報に対応した単語(表記)を辞書270から抽出する単語抽出部256により、入力フォームの属性情報に対応して第1の記憶手段に記憶されている文字列を抽出する第1の抽出手段が構成されている。
【0197】
なお、第1の抽出手段は、抽出した属性情報に一部一致する等により、当該属性情報に類似する属性情報に対応した単語を、同時に抽出しても良い。
【0198】
また、本実施の形態では、上記のように入力フォームから属性情報を取得し、カテゴリ推定部254により、入力フォームの属性情報に対応するカテゴリ情報を推定する推定手段が構成されている。
【0199】
また、本実施の形態では、推定されたカテゴリ情報に基づいて辞書270から単語(表記)を抽出する単語抽出部256により、推定手段が推定したカテゴリ情報に対応して第1の記憶手段に記憶されている文字列を抽出する第2の抽出手段が構成されている。
【0200】
また、本実施の形態では、単語抽出部256から抽出結果として出力された単語から候補文字列200Cとして出力する単語を決定する候補単語決定部258により、第1の抽出手段および第2の抽出手段が抽出した文字列を、入力フォームに入力する文字列の候補として設定する候補設定手段が構成されている。
【0201】
そして、ユーザの操作によって決定された文字列を入力文字列200DとしてWebコンテンツ閲覧装置100に出力する入力文字列出力部262により、入力手段に対する入力に応じて、候補設定手段が設定した文字列の中から決定された文字列を、入力フォームに入力する文字列として出力する出力手段が構成されている。
【0202】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0203】
100 コンテンツ閲覧装置、101 Webコンテンツ、102 入力フォーム情報、200 文字入力装置、200A 文字入力操作情報、200B 選択候補、200C 候補文字列、200D 入力文字列、250 入力部、252 辞書更新部、254 カテゴリ推定部、256 単語抽出部、258 候補単語決定部、260 候補文字列出力部、262 入力文字列出力部、270 辞書、400 画面、401,402,411,412,421,422,431,432,444,442,461,471,481,482,483,491 入力欄、501,502,511,512,521,522,531,532,541,542,561,571,581,582,583,591 記述、700 コンピュータシステム、700A リモコン、701 数字キー、710 決定キー、711 上キー、712 下キー、713 左キー、714 右キー、721〜724 機能キー、750 コンピュータ、751 光ディスクドライブ、752 磁気ディスクドライブ、753 入力装置、757 バス、760 光ディスク、761 磁気ディスク、762 ハードディスク、770 モニタ、780 情報処理装置、781 記憶装置、785 キー入力部、786 信号発生装置、786 信号発信装置、910,910A,910B 文字入力画面、911〜915 表示欄。
【特許請求の範囲】
【請求項1】
属性情報に対応した入力フォームを含むコンテンツについて、前記入力フォームに入力する文字列を入力するための文字入力装置であって、
情報の入力を受付ける入力手段と、
文字列を属性情報およびカテゴリ情報の少なくとも一方に対応付けて記憶する第1の記憶手段と、
前記入力フォームの属性情報に対応して前記第1の記憶手段に記憶されている文字列を抽出する第1の抽出手段と、
前記入力フォームの属性情報に対応するカテゴリ情報を推定する推定手段と、
前記推定手段が推定したカテゴリ情報に対応して前記第1の記憶手段に記憶されている文字列を抽出する第2の抽出手段と、
前記第1の抽出手段および前記第2の抽出手段が抽出した文字列を、前記入力フォームに入力する文字列の候補として設定する候補設定手段と、
前記入力手段に対する入力に応じて、前記候補設定手段が設定した文字列の中から選択された文字列を、前記入力フォームに入力する文字列として出力する出力手段とを備える、文字入力装置。
【請求項2】
前記推定手段は、
属性情報とカテゴリ情報を関連付ける関連情報を記憶する第2の記憶手段と、
前記第2の記憶手段において、前記コンテンツの前記入力フォームに対応する前記属性情報に関連付けられているカテゴリ情報を推定結果として決定する決定手段とを含む、請求項1に記載の文字入力装置。
【請求項3】
前記第1の記憶手段は、
前記文字列を、さらに当該文字列の読み仮名に対応付け、
前記属性情報およびカテゴリ情報に対応付けられず、読み仮名に対応付けられる文字列を、さらに含み、
前記第1の抽出手段は、前記入力手段に入力された読み仮名に基づいて、前記第1の記憶手段から文字列を抽出する、請求項1または請求項2に記載の文字入力装置。
【請求項4】
前記候補設定手段は、前記第1の抽出手段または前記第2の抽出手段が抽出した文字列の中で、前記属性情報およびカテゴリ情報のいずれかに対応付けられている文字列を、前記属性情報およびカテゴリ情報のいずれにも対応付けられていない文字列よりも優先度を高く設定する、請求項3に記載の文字入力装置。
【請求項5】
前記第2の記憶手段は、前記属性情報を文字列で特定し、
前記決定手段は、前記第2の記憶手段において、前記コンテンツの前記入力フォームに対応する前記属性情報の少なくとも一部と一致する属性情報に関連付けられているカテゴリ情報を、推定結果として決定する、請求項2に記載の文字入力装置。
【請求項6】
前記第1の記憶手段において、前記出力手段が出力する文字列が、前記入力フォームの属性情報に対応して記憶されるように、前記第1の記憶手段を更新する更新手段をさらに備える、請求項1〜請求項5のいずれかに記載の文字入力装置。
【請求項7】
前記推定手段は、前記コンテンツの属性情報に対応したカテゴリ情報を複数推定し、
前記更新手段は、前記第1の記憶手段において、前記出力手段が出力する文字列が、前記入力フォームに対応した属性情報に対応するカテゴリ情報に対応して記憶されるように、前記第1の記憶手段を更新する、請求項6に記載の文字入力装置。
【請求項8】
前記第1の抽出手段および前記第2の抽出手段は、前記入力手段が文字列の入力を受付けていない状態であっても、文字列を抽出する、請求項1〜請求項7のいずれかに記載の文字入力装置。
【請求項9】
前記候補設定手段が設定した前記候補を表示装置に表示させる候補表示手段をさらに備える、請求項1〜請求項8のいずれかに記載の文字入力装置。
【請求項10】
文字列を記憶する第1の記憶手段を備え、表示装置に表示されるコンテンツにおける入力フォームに文字を入力する文字入力装置において実行される文字入力方法であって、
文字列を属性情報およびカテゴリ情報に対応付けて第1の記憶手段に記憶するステップと、
前記入力フォームに対応する属性情報を抽出するステップと、
前記抽出した属性情報に対応して前記第1の記憶手段に記憶されている文字列を抽出するステップと、
前記抽出した属性情報に対応するカテゴリ情報を推定するステップと、
前記推定したカテゴリ情報に対応して前記第1の記憶手段において記憶されている文字列を抽出するステップと、
前記属性情報および前記カテゴリ情報に基づいて抽出した文字列を、前記入力フォームに入力する文字列の候補として設定するステップと、
前記候補として設定した文字列を、前記入力フォームに入力する文字列として出力するステップとを備える、文字入力方法。
【請求項11】
文字列を記憶する第1の記憶手段を備え、表示装置に表示されるコンテンツにおける入力フォームに文字を入力する文字入力装置において実行される、コンピュータ読取り可能なプログラムであって、
前記文字入力装置に、
文字列を属性情報およびカテゴリ情報に対応付けて第1の記憶手段に記憶するステップと、
前記入力フォームに対応する属性情報を抽出するステップと、
前記抽出した属性情報に対応して前記第1の記憶手段に記憶されている文字列を抽出するステップと、
前記抽出した属性情報に対応するカテゴリ情報を推定するステップと、
前記推定したカテゴリ情報に対応して前記第1の記憶手段において記憶されている文字列を抽出するステップと、
前記属性情報および前記カテゴリ情報に基づいて抽出した文字列を、前記入力フォームに入力する文字列の候補として設定するステップと、
前記候補として設定した文字列を、前記入力フォームに入力する文字列として出力するステップとを実行させる、プログラム。
【請求項12】
文字列を記憶する第1の記憶手段を備え、表示装置に表示されるコンテンツにおける入力フォームに文字を入力する文字入力装置において実行される、コンピュータ読取り可能なプログラムを記録する記録媒体であって、
前記プログラムは、前記文字入力装置に、
文字列を属性情報およびカテゴリ情報に対応付けて第1の記憶手段に記憶するステップと、
前記入力フォームに対応する属性情報を抽出するステップと、
前記抽出した属性情報に対応して前記第1の記憶手段に記憶されている文字列を抽出するステップと、
前記抽出した属性情報に対応するカテゴリ情報を推定するステップと、
前記推定したカテゴリ情報に対応して前記第1の記憶手段において記憶されている文字列を抽出するステップと、
前記属性情報および前記カテゴリ情報に基づいて抽出した文字列を、前記入力フォームに入力する文字列の候補として設定するステップと、
前記候補として設定した文字列を、前記入力フォームに入力する文字列として出力するステップとを実行させる、記録媒体。
【請求項1】
属性情報に対応した入力フォームを含むコンテンツについて、前記入力フォームに入力する文字列を入力するための文字入力装置であって、
情報の入力を受付ける入力手段と、
文字列を属性情報およびカテゴリ情報の少なくとも一方に対応付けて記憶する第1の記憶手段と、
前記入力フォームの属性情報に対応して前記第1の記憶手段に記憶されている文字列を抽出する第1の抽出手段と、
前記入力フォームの属性情報に対応するカテゴリ情報を推定する推定手段と、
前記推定手段が推定したカテゴリ情報に対応して前記第1の記憶手段に記憶されている文字列を抽出する第2の抽出手段と、
前記第1の抽出手段および前記第2の抽出手段が抽出した文字列を、前記入力フォームに入力する文字列の候補として設定する候補設定手段と、
前記入力手段に対する入力に応じて、前記候補設定手段が設定した文字列の中から選択された文字列を、前記入力フォームに入力する文字列として出力する出力手段とを備える、文字入力装置。
【請求項2】
前記推定手段は、
属性情報とカテゴリ情報を関連付ける関連情報を記憶する第2の記憶手段と、
前記第2の記憶手段において、前記コンテンツの前記入力フォームに対応する前記属性情報に関連付けられているカテゴリ情報を推定結果として決定する決定手段とを含む、請求項1に記載の文字入力装置。
【請求項3】
前記第1の記憶手段は、
前記文字列を、さらに当該文字列の読み仮名に対応付け、
前記属性情報およびカテゴリ情報に対応付けられず、読み仮名に対応付けられる文字列を、さらに含み、
前記第1の抽出手段は、前記入力手段に入力された読み仮名に基づいて、前記第1の記憶手段から文字列を抽出する、請求項1または請求項2に記載の文字入力装置。
【請求項4】
前記候補設定手段は、前記第1の抽出手段または前記第2の抽出手段が抽出した文字列の中で、前記属性情報およびカテゴリ情報のいずれかに対応付けられている文字列を、前記属性情報およびカテゴリ情報のいずれにも対応付けられていない文字列よりも優先度を高く設定する、請求項3に記載の文字入力装置。
【請求項5】
前記第2の記憶手段は、前記属性情報を文字列で特定し、
前記決定手段は、前記第2の記憶手段において、前記コンテンツの前記入力フォームに対応する前記属性情報の少なくとも一部と一致する属性情報に関連付けられているカテゴリ情報を、推定結果として決定する、請求項2に記載の文字入力装置。
【請求項6】
前記第1の記憶手段において、前記出力手段が出力する文字列が、前記入力フォームの属性情報に対応して記憶されるように、前記第1の記憶手段を更新する更新手段をさらに備える、請求項1〜請求項5のいずれかに記載の文字入力装置。
【請求項7】
前記推定手段は、前記コンテンツの属性情報に対応したカテゴリ情報を複数推定し、
前記更新手段は、前記第1の記憶手段において、前記出力手段が出力する文字列が、前記入力フォームに対応した属性情報に対応するカテゴリ情報に対応して記憶されるように、前記第1の記憶手段を更新する、請求項6に記載の文字入力装置。
【請求項8】
前記第1の抽出手段および前記第2の抽出手段は、前記入力手段が文字列の入力を受付けていない状態であっても、文字列を抽出する、請求項1〜請求項7のいずれかに記載の文字入力装置。
【請求項9】
前記候補設定手段が設定した前記候補を表示装置に表示させる候補表示手段をさらに備える、請求項1〜請求項8のいずれかに記載の文字入力装置。
【請求項10】
文字列を記憶する第1の記憶手段を備え、表示装置に表示されるコンテンツにおける入力フォームに文字を入力する文字入力装置において実行される文字入力方法であって、
文字列を属性情報およびカテゴリ情報に対応付けて第1の記憶手段に記憶するステップと、
前記入力フォームに対応する属性情報を抽出するステップと、
前記抽出した属性情報に対応して前記第1の記憶手段に記憶されている文字列を抽出するステップと、
前記抽出した属性情報に対応するカテゴリ情報を推定するステップと、
前記推定したカテゴリ情報に対応して前記第1の記憶手段において記憶されている文字列を抽出するステップと、
前記属性情報および前記カテゴリ情報に基づいて抽出した文字列を、前記入力フォームに入力する文字列の候補として設定するステップと、
前記候補として設定した文字列を、前記入力フォームに入力する文字列として出力するステップとを備える、文字入力方法。
【請求項11】
文字列を記憶する第1の記憶手段を備え、表示装置に表示されるコンテンツにおける入力フォームに文字を入力する文字入力装置において実行される、コンピュータ読取り可能なプログラムであって、
前記文字入力装置に、
文字列を属性情報およびカテゴリ情報に対応付けて第1の記憶手段に記憶するステップと、
前記入力フォームに対応する属性情報を抽出するステップと、
前記抽出した属性情報に対応して前記第1の記憶手段に記憶されている文字列を抽出するステップと、
前記抽出した属性情報に対応するカテゴリ情報を推定するステップと、
前記推定したカテゴリ情報に対応して前記第1の記憶手段において記憶されている文字列を抽出するステップと、
前記属性情報および前記カテゴリ情報に基づいて抽出した文字列を、前記入力フォームに入力する文字列の候補として設定するステップと、
前記候補として設定した文字列を、前記入力フォームに入力する文字列として出力するステップとを実行させる、プログラム。
【請求項12】
文字列を記憶する第1の記憶手段を備え、表示装置に表示されるコンテンツにおける入力フォームに文字を入力する文字入力装置において実行される、コンピュータ読取り可能なプログラムを記録する記録媒体であって、
前記プログラムは、前記文字入力装置に、
文字列を属性情報およびカテゴリ情報に対応付けて第1の記憶手段に記憶するステップと、
前記入力フォームに対応する属性情報を抽出するステップと、
前記抽出した属性情報に対応して前記第1の記憶手段に記憶されている文字列を抽出するステップと、
前記抽出した属性情報に対応するカテゴリ情報を推定するステップと、
前記推定したカテゴリ情報に対応して前記第1の記憶手段において記憶されている文字列を抽出するステップと、
前記属性情報および前記カテゴリ情報に基づいて抽出した文字列を、前記入力フォームに入力する文字列の候補として設定するステップと、
前記候補として設定した文字列を、前記入力フォームに入力する文字列として出力するステップとを実行させる、記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2010−257392(P2010−257392A)
【公開日】平成22年11月11日(2010.11.11)
【国際特許分類】
【出願番号】特願2009−109516(P2009−109516)
【出願日】平成21年4月28日(2009.4.28)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】
【公開日】平成22年11月11日(2010.11.11)
【国際特許分類】
【出願日】平成21年4月28日(2009.4.28)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】
[ Back to top ]