候補提示装置、候補提示方法、候補提示プログラム
【課題】不適切な文字列の提示を抑制した候補提示装置、候補提示方法および候補提示プログラムを提供する。
【解決手段】本発明の一態様に係る候補提示装置は、入力データに含まれる文字列を抽出し、辞書を参照して属性を付与する抽出手段と、辞書を参照して、抽出した文字列へ読みを付与する読み付与手段と、抽出した文字列に複数の字種または単語が含まれるかを判定し、該判定結果に応じて、抽出した文字列へ、属性および読みに加え、字種が変化する位置からの読み、または単語の読みの少なくとも一方を関連付けた索引データを作成する索引作成手段と、索引データを記憶する記憶手段と、入力文字列を受け付ける受付手段と、入力文字列の読みと記憶手段に記憶された文字列の読みとを照合し、該照合結果に基づいて、記憶手段に記憶された文字列を取得する照合手段と、照合手段が取得した文字列を変換候補として提示する候補提示手段と、を具備する。
【解決手段】本発明の一態様に係る候補提示装置は、入力データに含まれる文字列を抽出し、辞書を参照して属性を付与する抽出手段と、辞書を参照して、抽出した文字列へ読みを付与する読み付与手段と、抽出した文字列に複数の字種または単語が含まれるかを判定し、該判定結果に応じて、抽出した文字列へ、属性および読みに加え、字種が変化する位置からの読み、または単語の読みの少なくとも一方を関連付けた索引データを作成する索引作成手段と、索引データを記憶する記憶手段と、入力文字列を受け付ける受付手段と、入力文字列の読みと記憶手段に記憶された文字列の読みとを照合し、該照合結果に基づいて、記憶手段に記憶された文字列を取得する照合手段と、照合手段が取得した文字列を変換候補として提示する候補提示手段と、を具備する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力文字列に対して、候補となる文字列を提示する候補提示装置、候補提示方法および候補提示プログラムに関する。
【背景技術】
【0002】
従来の候補提示装置には、取得したコンテンツに含まれる文字列を抽出して記憶部へ格納し、この格納した文字列の全部または一部を変換候補としてユーザへ提示するものがある。この候補提示装置では、ユーザが入力した文字または文字列と全部もしくは部分的に一致する文字列を記憶部から抽出している(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−114932号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の候補提示装置では、入力した文字または文字列と部分的に一致する文字列を抽出する。つまり、文字列の先頭以外の箇所(以下、途中箇所)から、入力された文字または文字列と一致したものも候補文字列としてユーザへ提示する。このため、不適切な文字列(例えば、入力文字列が「スキー」の場合に、「チャイコフスキー」)を候補文字列としてユーザに提示する可能性がある。また、途中箇所から一致する文字列を候補文字列とした場合、ユーザへ提示する文字列の数が多くなる。このため、必要なメモリ容量が増加する。
【0005】
本発明は、かかる従来の問題を解消すべくなされたもので、不適切な文字列の提示を抑制した候補提示装置、候補提示方法および候補提示プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一態様に係る候補提示装置は、文字列の属性および読みを関連付けて記憶した辞書と、入力データに含まれる文字列を抽出し、辞書を参照して属性を付与する抽出手段と、辞書を参照して、抽出した文字列へ読みを付与する読み付与手段と、抽出した文字列に複数の字種または単語が含まれるかを判定し、該判定結果に応じて、抽出した文字列へ、属性および読みに加え、字種が変化する位置からの読み、または単語の読みの少なくとも一方を関連付けた索引データを作成する索引作成手段と、索引データを記憶する記憶手段と、入力文字列を受け付ける受付手段と、入力文字列の読みと記憶手段に記憶された文字列の読みとを照合し、該照合結果に基づいて、記憶手段に記憶された文字列を取得する照合手段と、照合手段が取得した文字列を変換候補として提示する候補提示手段と、を具備する。
【0007】
本発明の一態様に係る候補提示方法は、入力データに含まれる文字列を抽出し、文字列の属性および読みを関連付けて記憶した辞書を参照して属性を付与するステップと、辞書を参照して、抽出した文字列へ読みを付与するステップと、抽出した文字列に複数の字種または単語が含まれるかを判定し、該判定結果に応じて、抽出した文字列へ、属性および読みに加え、字種が変化する位置からの読み、または単語の読みの少なくとも一方を関連付けた索引データを作成するステップと、索引データを記憶するステップと、入力文字列を受け付けるステップと、入力文字列の読みと記憶された文字列の読みとを照合し、該照合結果に基づいて、記憶された文字列を取得するステップと、取得した文字列を変換候補として提示するステップと、を具備する。
【0008】
本発明の一態様に係る候補提示プログラムは、コンピュータを、文字列の属性および読みを関連付けて記憶した辞書と、入力データに含まれる文字列を抽出し、辞書を参照して属性を付与する抽出手段と、辞書を参照して、抽出した文字列へ読みを付与する読み付与手段と、抽出した文字列に複数の字種または単語が含まれるかを判定し、該判定結果に応じて、抽出した文字列へ、属性および読みに加え、字種が変化する位置からの読み、または単語の読みの少なくとも一方を関連付けた索引データを作成する索引作成手段と、索引データを記憶する記憶手段と、入力文字列を受け付ける受付手段と、入力文字列の読みと記憶手段に記憶された文字列の読みとを照合し、該照合結果に基づいて、記憶手段に記憶された文字列を取得する照合手段と、照合手段が取得した文字列を変換候補として提示する候補提示手段と、として動作させる。
【発明の効果】
【0009】
本発明によれば、不適切な文字列の提示を抑制した検索時のユーザの候補提示装置、候補提示方法および候補提示プログラムを提供できる。
【図面の簡単な説明】
【0010】
【図1】第1の実施形態に係る候補提示装置を示す図である。
【図2】第1の実施形態に係る候補提示装置の構成を示す図である。
【図3】第1の実施形態に係る候補提示装置の機能構成を示す図である。
【図4】索引DBのデータ構造を示す図である。
【図5】ノードのデータ構造を示す図である。
【図6】インデックスのデータ構造を示す図である。
【図7】テーブルのデータ構造を示す図である。
【図8】EPG情報のデータ構造を示す図である。
【図9】索引作成手段の動作を示すフローチャートである。
【図10】索引作成手段の動作を示すフローチャートである。
【図11】索引作成手段の動作を示すフローチャートである。
【図12】変換候補提示の動作を示すフローチャートである。
【図13】提示画面の一例を示す図である。
【図14】提示画面の一例を示す図である。
【図15】第1の実施形態に係る候補提示装置の動作を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
(第1の実施形態)
図1は、第1の実施形態に係る候補提示装置を示す図である。図2は、第1の実施形態に係る候補提示装置の構成を示す図である。第1の実施形態では、候補提示装置の具体例としてデジタルテレビ(以下、デジタルTV)1について説明する。なお、候補提示装置は、デジタルTV1に限られるものではなく、例えば、PC、携帯電話、PDAなどであってもよい。
【0012】
デジタルTV1は、大きく分けてSTB(Set Top Box)10A、表示部10B、音声出力部10Cを具備する。
【0013】
STB10Aは、HDD101、チューナ102、復調部103、分離部104、信号処理部105、マイコン106、メモリ107、リモコン受信部108、端子109、I/F110を具備する。
【0014】
HDD(Hard Disk Drive)101は、録画されたデジタル放送番組、EPG情報(電子番組情報)、EPG情報から文字列(文字列データ)を抽出して読みや属性(意味クラス)を付与した索引データ(索引DB)、文字列を形態素解析して読みや属性を付与するための辞書(辞書DB)、過去分のEPG情報等を記憶する。過去分EPG情報とは、録画された放送送番組のEPG情報である。なお、HDD101に代えて、フラッシュメモリを用いたSSD(Solid State Drive)などを使用してもよい。
【0015】
チューナ102は、アンテナ2で受信されたデジタル放送信号から所望のチャンネルを選局する。復調部103は、チューナ102で選局したデジタル放送信号を復調してTS(トランスポートストリーム)を生成する。
【0016】
分離部104は、復調部103で生成したTSから放送信号(音声ES(音声信号)、映像ES(映像信号))、SI/PSI等を分離する。
【0017】
TSは、放送信号,SI/PSIを含む多重化された信号である。放送信号は,例えば,MPEG−2の放送信号である。放送信号は、映像・音声のそれぞれを符号化した音声ES(Audio Elementary Stream)と映像ES(Video Elementary Stream)である。PSIは、TSにどのようなプログラムが存在し、TSに含まれる各ESがどのプログラムに属しているかを記した情報である。また、SIは、EPG情報を含んでいる。
【0018】
信号処理部105は、分離部104で分離された音声ES、映像ESをデコードして、映像信号、音声信号を生成する。信号処理部105は、音声信号を音声出力部10Cへ、映像信号を表示部10Bへ入力する。
【0019】
音声出力部10Cは、信号処理部105から入力される音声信号を出力するスピーカS1,S2を具備する。表示部10Bは、信号処理部105から入力される映像信号および映像信号を表示する(LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)などである)。
【0020】
マイコン106は、デジタルTV1全体を制御する。
【0021】
メモリ107は,ROM、RAM(Random Access Memory)、NVRAM(Non Volatile RAM:不揮発性メモリ)で構成される。ROMは、マイコン106の動作コードを記憶する。RAMは、マイコン106の動作時に利用される。NVRAMには、ファームウェア等が記憶される。
【0022】
リモコン受信部108は、リモートコントローラ20(以下、リモコン20と称する)から赤外線等の無線により送信される操作信号を受信する。リモコン20は、「カーソル」キー、「決定」キー、「文字」キー、「変換」キーなど、文字列入力の操作に必要な各種キーを備える。ユーザは、リモコン20を使用して文字列を入力する。
【0023】
端子109は、DVDレコーダやHDDレコーダ等の外部記憶装置を接続するための端子である。I/F(Inter Face)110は、端子109に接続された外部記憶装置とマイコン106との間でデータの送受信を行うためのインターフェースである。
【0024】
図3は、第1の実施形態に係るデジタルTV1の機能構成を示す図である。デジタルTV1は、EPG取得手段201、文字列抽出手段202、読み付与手段203、索引作成手段204、入力受付手段205、照合手段206、候補提示手段207、辞書DB(Data Base)301、索引DB302を具備する。図3に示す機能は、ファームウェアをRAMにロードし、マイコン106が動作コードに従って実行することにより実現される。
【0025】
辞書DB301には、文字列抽出手段202、読み付与手段203、索引作成手段204が参照する辞書を記憶されている。辞書は、抽出した文字列を形態素解析して、読みや属性を付与するために用いられる。
【0026】
索引DB302は、索引作成手段204が作成した索引データを記憶する。索引データは、以下の図4乃至図7に示すデータで構成される。
図4は、索引DB302に記憶されている索引データのデータ構造を示す図である。図5は、ノード401のデータ構造を示す図である。図6は、インデックス403のデータ構造を示す図である。図7は、テーブル404のデータ構造を示す図である。
【0027】
索引DB302は、データがトライ(Trie)構造(順序付き木構造の一種)となっている。図4では、ノード401を表す丸の中にキーワードを記載している。ノード401は、読み、開始番号、終了番号、第1のポインタおよび第2のポインタ2から構成される(図5参照)。読みは、対応する文字列の読み(ひらがな)情報である。開始番号は、対応するインデックスリスト402の初めの番号である。終了番号は、対応するインデックスリスト402の終わりの番号である。
【0028】
第1のポインタは、子ノードのデータの格納位置を示す情報(アドレス情報)である。第2のポインタは、兄弟ノードのデータの格納位置を示す情報である。例えば、キーワードが「ふ」のノード401の場合、第1のポインタは、図4の「い」のノード401のデータ格納位置を示すアドレスを指している。また、第2のポインタは、「ふ」と並列している「す」および「あ」のキーワードが記載されたノード401のデータ格納位置を示すアドレスを指している。
【0029】
インデックスリスト402は、複数のインデックス403から構成される(図4参照)。インデックス403は、「ポインタ」、「タイプ」、「読み」および「オフセット」の要素から構成される(図6参照)。「ポインタ」は、後述するテーブル404の要素のデータ格納位置を示すアドレスを示す情報である。「タイプ」は、文字列が、人名、キーワード、番組タイトルのいずれであるかを示す情報である。「読み」は、文字列の読みである(漢字、カタカナを平仮名に直したもの)。「オフセット」は、文字列の何番目の文字から読みが始まるかを示す情報である。
【0030】
テーブル404は、「読み」、「文字列」、「属性」、「重み」および「出現分野」の要素から構成される(図7参照)。「読み」は、文字列の読みである。「文字列」は、抽出された文字列である。「属性」は、文字列の属性、すなわち文字列がスポーツ名なのか人物名なのかなどの情報である。「重み」は、文字列の重要度を示す係数である。「出現分野」は、文字列がどのようなジャンルで使用される単語であるかを示す情報である。
【0031】
EPG取得手段201は、分離部104で分離されたSIに含まれるEPG情報およびHDD101に記憶されている過去分のEPG情報を取得する。過去分のEPG情報とは、HDD101に録画されている番組のEPG情報である。
【0032】
図8は、EPG情報のデータ構造の一例を示す図である。この図に示すように、EPG情報は、複数(この例では4つ)のデータブロックが相互にリンクされて形成される。第1番目のブロック(図8の左端のブロック)は、放送番号を示す放送タグ、放送時間とチャンネルを示すデータ、および、これに続くブロックを示す番組タグにより構成される。
【0033】
第2番目のブロックは、第1番目のブロックとリンクするための番号タグ、番組のタイトルを示すデータ、第3番目のブロックを示すための出演者、および、第4番目のブロックを示す内容タグにより構成される。
【0034】
第3番目のブロック(図8の右上)は、第2番目のブロックとリンクするための出演者タグ、出演者名を示すデータ、および、出演者情報を示すデータから構成される。第4番目のブロック(図8の右下)は、第2番目のブロックとリンクするための内容タグ、および、番組の内容を示すデータから構成される。
【0035】
文字列抽出手段202は、取得したEPG情報から、番組タイトル、出演者名、キーワードなどの文字列を抽出する。文字列抽出手段202は、辞書DB301に記憶されている辞書を参照して、抽出した文字列を一つの意味のある文字列(単語)に切り分け、この切り分けた文字列に属性(意味クラス)、番組ジャンルを付与する。
【0036】
読み付与手段203は、辞書DBを参照して、文字列抽出手段202で切り分けられた各文字列に読みを付与する。なお、文字列抽出手段202および読み付与手段203における文字列の形態素解析、属性および読みの付与については、特許第408156に記載の技術を用いることができる。
【0037】
索引作成手段204は、読み付与手段203から入力される属性や読みが付与された文字列に基づいて、入力受付手段205で受付けられる文字列との照合に対応した索引データを作成する。索引作成手段204は、作成した索引データを索引DB302へ記憶する。
【0038】
(索引データの作成)
図9ないし図11は、索引作成手段204の動作を示すフローチャートである。以下、図9ないし図11を参照して索引データの作成について説明する。なお、具体例として、文字列抽出手段202で文字列「フィギュアスケート」が抽出された場合を考える。
索引作成手段204は、文字列「フィギュアスケート」について、図7に示すインデックス403を作成する(ステップS101)。索引作成手段204は、作成したインデックス403をインデックスリスト402へ登録する。索引作成手段204は、インデックス403の各項目である「タイプ」、「読み」、「オフセット」をそれぞれ「キーワード」「ふいぎゆあすけーと」、「0」と設定する。
【0039】
文字列「フィギュアスケート」は、タイトルまたは人物名ではないため、タイプは「キーワード」に設定される。読みは、読み付与手段203で付与された読みを用いる。オフセットは、「読み」が文字列の初めから始まるため0に設定される。
【0040】
索引作成手段204は、文字列「フィギュアスケート」を図8に示すテーブル404へ登録する(ステップS102)。索引作成手段204は、テーブル404の各項目である「読み」、「文字列」、「属性」、「重み」、「出現分野」をそれぞれ「ふいぎゆあすけーと」、「フィギュアスケート」、「スポーツ」、「3」、「スポーツ関係」と設定する(図7の404A参照)。
【0041】
読みは、読み付与手段203により付与された読みを使用する。属性は、文字列抽出手段202で付与された属性を用いる。重みは、例えば、同じ文字列が含まれる番組をEPG情報から抽出し、抽出された番組の数や放送時間の合計に応じて算出する。
【0042】
索引作成手段204は、テーブル404を構成する各要素を登録後、読み付与手段203へ、対応する文字列「フィギュアスケート」の各要素への「ポインタ」を設定する(ステップS103)。
【0043】
次に、索引作成手段204は、文字列を構成する文字の字種(カタカナ、平仮名、漢字、アルファベットなど)が変化する位置からの読みを索引データに登録する(ステップS104)。なお、ステップS104の詳細な動作については、図10を参照して後述する。
【0044】
また、索引作成手段204は、文字列の中にさらに文字列(単語)が含まれている場合には、その文字列の読みを索引データに追加する(ステップ105)。なお、ステップS105の詳細な動作については、図11を参照して後述する。
【0045】
索引作成手段204は、次の文字列があるかどうかを判定する(ステップS106)。索引作成手段204は、次の文字列がある場合(ステップS106のYes)、ステップS101からステップS105までの動作を繰り返す。また、索引作成手段204は、次の文字列がない場合(ステップS106のNo)、索引データを読みでソートし(ステップS107)、図4で説明したトライ(Trie)構造を作成する。
【0046】
図10は、ステップS104の詳細な動作を示すフローチャートである。
索引作成手段204は、辞書DB301を参照して、文字列抽出手段202で抽出された文字列を取得する(ステップS201)。索引作成手段204は、取得した文字列に基づいて、文字列の各文字の字種を文字列の頭から判定する(ステップS202)。
【0047】
判定の結果、複数の字種が変化する位置が文字列中にある場合、すなわち複数の字種が文字列中に含まれている場合(ステップS202のYes)、索引作成手段204は、字種が変化する位置からの読みを索引DB302の索引データに追加する(ステップS203)。また、判定の結果、字種が変化する位置が文字列中にない場合(ステップS202のNo)、索引作成手段204は、動作を終了する。
【0048】
図10の動作を、文字列「変身ビフォーアフター」を例に具体的に説明する。初めに、索引作成手段204は、辞書DB301を参照して、文字列「変身ビフォーアフター」を取得する。次に、索引作成手段204は、取得した文字列に基づいて、文字列「変身ビフォーアフター」の各文字の字種を文字列の頭から判定する。
【0049】
文字列「変身ビフォーアフター」では、「ビ」の位置で字種が変化する。このため、索引作成手段204は、「ビ」以降の文字列「ビフォーアフター」の読み「びふぉーあふたー」を、文字列「変身ビフォーアフター」の新たな読みとして、インデックス403およびテーブル404に追加する。(図7の404B参照)このようにして、索引DB302に、文字列「変身ビフォーアフター」に対する2つの読みの索引データが登録される。
【0050】
図11は、ステップS105の詳細な動作を示すフローチャートである。
索引作成手段204は、文字列抽出手段202で抽出された文字列中に他の文字列(他の単語)が含まれているかを判定する(ステップS301)。この判定は、辞書DB301を参照することで可能である。文字列中に他の文字列が含まれている場合(ステップS301のYes)、索引作成手段204は、包含する側の文字列(文字列抽出手段202で抽出された文字列)と、包含される側の文字列(他の文字列)との属性が同一かどうか判定する(ステップS302)。
【0051】
属性が同一の場合(ステップS302のYes)、索引作成手段204は、包含される側の文字列の読みを索引DB302の索引データに追加する(ステップS303)。また、他の文字列を包含しない場合(ステップS301のNo)や属性が同一でない場合(ステップS302のNo)、索引作成手段204は、動作を終了する。
【0052】
図11の動作を、文字列「サンドラ・クロック」を例に、具体的に説明する。索引作成手段204は、文字列「サンドラ・クロック」中に他の文字列が含まれているかを、辞書DB301を参照して判定する。文字列「サンドラ・クロック」には、他の文字列「ロック」が含まれているため、索引作成手段204は、「サンドラ・クロック」の属性と、「ロック」の属性とが同一か判定する。「サンドラ・クロック」の属性「人名」は、「ロック」の属性「音楽」とは異なる。このため、索引作成手段204は、文字列「ロック」を辞書DB301の索引データに登録しない。
【0053】
また、文字列「アルペンスキー」が文字列抽出手段202で抽出された場合を考える。索引作成手段204は、先の例と同様にして、文字列「アルペンスキー」中に他の文字列が含まれているかを判定する。文字列「アルペンスキー」には、他の文字列「スキー」が含まれている。
【0054】
索引作成手段204は、「アルペンスキー」の属性と、「スキー」の属性とが同一か判定する(ステップS302)。「アルペンスキー」の属性「スポーツ」と、「スキー」の属性「スポーツ」は同一である。このため、索引作成手段204は、文字列「スキー」のインデックス403およびテーブル404を作成し、辞書DB301の索引データに登録する(図7の404C参照)。
【0055】
さらに、文字列「スコッチウイスキー」が文字列抽出手段202で抽出された場合を考える。索引作成手段204は、先の例と同様にして、文字列「スコッチウイスキー」中に他の文字列が含まれているかを判定する。文字列「スコッチウイスキー」には、他の文字列「スキー」が含まれている。
【0056】
索引作成手段204は、「スコッチウイスキー」の属性と、「スキー」の属性とが同一か判定する。「スコッチウイスキー」の属性「飲み物」と、「スキー」の属性「スポーツ」は異なる。このため、索引作成手段204は、文字列「ロック」を辞書DB301の索引データに登録しない。
【0057】
なお、包含している側(文字列)と包含されている側(他の文字列)の属性はスポーツ関係と競技名に基づく制約に限らず、音楽関係に基づく制約等他の制約を用いてもよい。例えば、包含する側の文字列の属性と、包含される側の文字列の属性が特定の関係(どのような包含関係にある場合に索引データへの登録を許可するか)を満たす場合に索引データに登録するようにしてもよい。この場合、特定の関係をテーブルデータとしてHDD101等へ記憶しておき、このテーブルデータを参照して、包含される側の文字列を索引データに登録すればよい。また、属性関係の代わりに文字列に付与されている番組ジャンルを用いてもよい。
【0058】
入力受付手段205は、ユーザがリモコン20を使用して入力した文字列(以下、入力文字列)を受け付ける。
【0059】
照合手段206は、入力受付手段205が受け付けた文字列と、索引DB302に記憶されている索引データに登録されている文字列との一致を照合する。候補提示手段207は、照合手段206から入力される文字列を、変換候補として表示部10Bを用いてユーザへ提示する。図12は、変換候補提示の動作を示すフローチャートである。以下、図12を参照して、変換候補提示の動作を説明する。
【0060】
照合手段206は、入力文字列の読みに基づいて、図4に示すトライ(Trie)構造のノード401をたどり(ステップS401)、入力文字列に対応したノード401からインデックスリスト402の開始番号と終了番号を取得する(ステップS402)。照合手段206は、インデックス402のポインタから、対応するテーブル404を参照し、文字列の先頭から、入力文字列と照合(一致)する文字列を取得する(ステップS403)。照合手段206は、取得した文字列を候補提示手段207へ渡す。
【0061】
候補提示手段207は、渡された文字列の数が提示数(例えば、9個)以上かどうかを判定する(ステップS404)。文字列数が提示数以上の場合(ステップS404のYes)、候補提示手段207は、重みが高い文字列から順に提示数となるまでステップS403で取得した文字列を候補提示手段207へ出力する(ステップS405)。
【0062】
文字列数が提示数未満の場合(ステップS404のNo)、候補提示手段207は、照合手段206へ入力文字列と文字列の途中から照合(一致)する文字列を取得するよう指示する。照合手段206は、候補提示手段207の指示に基づき、入力文字列と文字列の途中から照合(一致)する文字列を取得する(ステップS406)。照合手段206は、取得した文字列を候補提示手段207へ渡す。候補提示手段207は、重みが高い文字列から順に提示数となるまで照合手段206から順に渡された文字列を表示部10Bへ提示する(ステップS405)。
【0063】
すなわち、候補提示手段207は、照合手段206から入力される文字列を、変換候補として表示部10Bを用いてユーザへ提示する。この際、候補提示手段207は、各文字列の重みの高い順に並べてユーザへ提示する。
【0064】
図13、図14は、表示部10Bに表示される提示画面を示した図である。ユーザがリモコン20を使用して、文字列入力欄501へ文字列を入力すると(図13参照)、照合手段206により照合された文字列が候補提示手段207へ入力される。候補提示手段207は、入力された文字列を候補文字列欄502へ表示する(図14参照)。
【0065】
図13、図14に示した例では、入力文字列が「Ski」の場合を示した。このため、「Ski-jumping」、「Water-ski」、「Alpine-ski」などが変換候補としてユーザに提示される。また、提示の順序は、文字列の先頭から照合された変換候補「Ski-jumping」、途中から照合された変換候補「Water-ski」、「Alpine-ski」の順番に並べる。なお、「Chaikovski」などの人名は属性が異なるために変換候補として提示されない。
【0066】
なお、各候補群の中では、候補提示手段207は、「重み」としての、文字列の出現番組の放送時間の和の降順に並べるが、現番組数や放送時刻なども順序を決定するパラメータとして加味してもよい。また、変換候補の個数が一定数に満たない場合で、かつ入力文字列が予め定められた文字数以上の場合は、照合手段206は、先頭以外で読みが照合できた変換候補を追加する。また、この第1の実施形態において、文字認識誤りに対応するために、平仮名の大文字小文字は同一視して照合されてもよい。
【0067】
(デジタルTV1の動作)
次に、第1の実施形態に係るデジタルTV1全体の動作について説明する。
図15は、デジタルTV1の動作を示すフローチャートである。以下、図15を参照してデジタルTV1の動作について説明する。
【0068】
EPG取得手段201は、分離部104で分離されたSIに含まれるEPG情報およびHDD101に記憶されている過去分のEPG情報を取得する(ステップS501)。文字列抽出手段202は、取得したEPG情報から文字列を抽出し、この文字列に属性(意味クラス)を付与する(ステップS502)。
【0069】
読み付与手段203は、辞書DB301を参照して、文字列抽出手段202で抽出された各文字列に読みを付与する(ステップS503)。索引作成手段204は、読み付与手段203から入力される属性や読みが付与された文字列に基づいて、入力受付手段205で受付けられる文字列との照合に対応した索引データを作成する(ステップS504)。
【0070】
照合手段206は、入力受付手段205が受け付けた文字列と、索引DB302に記憶されている索引データに登録されている文字列とを照合する(ステップS505)。候補提示手段207は、照合手段206により照合され、入力される文字列を、変換候補として表示部10Bを用いてユーザへ提示する(ステップS506)。
【0071】
以上のように、この第1の実施形態に係るデジタルTV1は、文字列の先頭以外の箇所(途中箇所)から、入力文字列と一致したものを変換候補としてユーザへ提示する際に、字種が変化した位置からの文字列または属性が特定の関係を満たす文字列のみをユーザに提示する。このため、不適切な文字列をユーザへ提示することを効果的に抑制できる(例えば、入力文字列が「スキー」の場合に、「チャイコフスキー」)を変換候補としてユーザに提示することを抑制できる)。また索引データのデータ量も抑制できるので、照合時のメモリ消費量を抑制できる。
【0072】
(その他の実施形態)
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。例えば、図13、図14に示す提示画面において、ユーザが文字列を入力する際に、あらかじめジャンル(出現分野)を指定している場合は、該ジャンルと同じジャンルの文字列だけを提示するように構成してもよい。また、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【0073】
1…デジタルTV、2…アンテナ、10A…STB、10B…表示部、10C…音声出力部、20…リモコン、101…HDD、102…チューナ、103…復調部、104…分離部、105…信号処理部、106…マイコン、107…メモリ、108…リモコン受信部、109…端子、110…I/F、201…EPG取得手段、202…文字列抽出手段、203…読み付与手段、204…索引作成手段、205…入力受付手段、206…照合手段、207…候補提示手段、301…辞書DB、302…索引DB、401…ノード、402…インデックスリスト、403…インデックス、404…テーブル。
【技術分野】
【0001】
本発明は、入力文字列に対して、候補となる文字列を提示する候補提示装置、候補提示方法および候補提示プログラムに関する。
【背景技術】
【0002】
従来の候補提示装置には、取得したコンテンツに含まれる文字列を抽出して記憶部へ格納し、この格納した文字列の全部または一部を変換候補としてユーザへ提示するものがある。この候補提示装置では、ユーザが入力した文字または文字列と全部もしくは部分的に一致する文字列を記憶部から抽出している(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−114932号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の候補提示装置では、入力した文字または文字列と部分的に一致する文字列を抽出する。つまり、文字列の先頭以外の箇所(以下、途中箇所)から、入力された文字または文字列と一致したものも候補文字列としてユーザへ提示する。このため、不適切な文字列(例えば、入力文字列が「スキー」の場合に、「チャイコフスキー」)を候補文字列としてユーザに提示する可能性がある。また、途中箇所から一致する文字列を候補文字列とした場合、ユーザへ提示する文字列の数が多くなる。このため、必要なメモリ容量が増加する。
【0005】
本発明は、かかる従来の問題を解消すべくなされたもので、不適切な文字列の提示を抑制した候補提示装置、候補提示方法および候補提示プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一態様に係る候補提示装置は、文字列の属性および読みを関連付けて記憶した辞書と、入力データに含まれる文字列を抽出し、辞書を参照して属性を付与する抽出手段と、辞書を参照して、抽出した文字列へ読みを付与する読み付与手段と、抽出した文字列に複数の字種または単語が含まれるかを判定し、該判定結果に応じて、抽出した文字列へ、属性および読みに加え、字種が変化する位置からの読み、または単語の読みの少なくとも一方を関連付けた索引データを作成する索引作成手段と、索引データを記憶する記憶手段と、入力文字列を受け付ける受付手段と、入力文字列の読みと記憶手段に記憶された文字列の読みとを照合し、該照合結果に基づいて、記憶手段に記憶された文字列を取得する照合手段と、照合手段が取得した文字列を変換候補として提示する候補提示手段と、を具備する。
【0007】
本発明の一態様に係る候補提示方法は、入力データに含まれる文字列を抽出し、文字列の属性および読みを関連付けて記憶した辞書を参照して属性を付与するステップと、辞書を参照して、抽出した文字列へ読みを付与するステップと、抽出した文字列に複数の字種または単語が含まれるかを判定し、該判定結果に応じて、抽出した文字列へ、属性および読みに加え、字種が変化する位置からの読み、または単語の読みの少なくとも一方を関連付けた索引データを作成するステップと、索引データを記憶するステップと、入力文字列を受け付けるステップと、入力文字列の読みと記憶された文字列の読みとを照合し、該照合結果に基づいて、記憶された文字列を取得するステップと、取得した文字列を変換候補として提示するステップと、を具備する。
【0008】
本発明の一態様に係る候補提示プログラムは、コンピュータを、文字列の属性および読みを関連付けて記憶した辞書と、入力データに含まれる文字列を抽出し、辞書を参照して属性を付与する抽出手段と、辞書を参照して、抽出した文字列へ読みを付与する読み付与手段と、抽出した文字列に複数の字種または単語が含まれるかを判定し、該判定結果に応じて、抽出した文字列へ、属性および読みに加え、字種が変化する位置からの読み、または単語の読みの少なくとも一方を関連付けた索引データを作成する索引作成手段と、索引データを記憶する記憶手段と、入力文字列を受け付ける受付手段と、入力文字列の読みと記憶手段に記憶された文字列の読みとを照合し、該照合結果に基づいて、記憶手段に記憶された文字列を取得する照合手段と、照合手段が取得した文字列を変換候補として提示する候補提示手段と、として動作させる。
【発明の効果】
【0009】
本発明によれば、不適切な文字列の提示を抑制した検索時のユーザの候補提示装置、候補提示方法および候補提示プログラムを提供できる。
【図面の簡単な説明】
【0010】
【図1】第1の実施形態に係る候補提示装置を示す図である。
【図2】第1の実施形態に係る候補提示装置の構成を示す図である。
【図3】第1の実施形態に係る候補提示装置の機能構成を示す図である。
【図4】索引DBのデータ構造を示す図である。
【図5】ノードのデータ構造を示す図である。
【図6】インデックスのデータ構造を示す図である。
【図7】テーブルのデータ構造を示す図である。
【図8】EPG情報のデータ構造を示す図である。
【図9】索引作成手段の動作を示すフローチャートである。
【図10】索引作成手段の動作を示すフローチャートである。
【図11】索引作成手段の動作を示すフローチャートである。
【図12】変換候補提示の動作を示すフローチャートである。
【図13】提示画面の一例を示す図である。
【図14】提示画面の一例を示す図である。
【図15】第1の実施形態に係る候補提示装置の動作を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
(第1の実施形態)
図1は、第1の実施形態に係る候補提示装置を示す図である。図2は、第1の実施形態に係る候補提示装置の構成を示す図である。第1の実施形態では、候補提示装置の具体例としてデジタルテレビ(以下、デジタルTV)1について説明する。なお、候補提示装置は、デジタルTV1に限られるものではなく、例えば、PC、携帯電話、PDAなどであってもよい。
【0012】
デジタルTV1は、大きく分けてSTB(Set Top Box)10A、表示部10B、音声出力部10Cを具備する。
【0013】
STB10Aは、HDD101、チューナ102、復調部103、分離部104、信号処理部105、マイコン106、メモリ107、リモコン受信部108、端子109、I/F110を具備する。
【0014】
HDD(Hard Disk Drive)101は、録画されたデジタル放送番組、EPG情報(電子番組情報)、EPG情報から文字列(文字列データ)を抽出して読みや属性(意味クラス)を付与した索引データ(索引DB)、文字列を形態素解析して読みや属性を付与するための辞書(辞書DB)、過去分のEPG情報等を記憶する。過去分EPG情報とは、録画された放送送番組のEPG情報である。なお、HDD101に代えて、フラッシュメモリを用いたSSD(Solid State Drive)などを使用してもよい。
【0015】
チューナ102は、アンテナ2で受信されたデジタル放送信号から所望のチャンネルを選局する。復調部103は、チューナ102で選局したデジタル放送信号を復調してTS(トランスポートストリーム)を生成する。
【0016】
分離部104は、復調部103で生成したTSから放送信号(音声ES(音声信号)、映像ES(映像信号))、SI/PSI等を分離する。
【0017】
TSは、放送信号,SI/PSIを含む多重化された信号である。放送信号は,例えば,MPEG−2の放送信号である。放送信号は、映像・音声のそれぞれを符号化した音声ES(Audio Elementary Stream)と映像ES(Video Elementary Stream)である。PSIは、TSにどのようなプログラムが存在し、TSに含まれる各ESがどのプログラムに属しているかを記した情報である。また、SIは、EPG情報を含んでいる。
【0018】
信号処理部105は、分離部104で分離された音声ES、映像ESをデコードして、映像信号、音声信号を生成する。信号処理部105は、音声信号を音声出力部10Cへ、映像信号を表示部10Bへ入力する。
【0019】
音声出力部10Cは、信号処理部105から入力される音声信号を出力するスピーカS1,S2を具備する。表示部10Bは、信号処理部105から入力される映像信号および映像信号を表示する(LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)などである)。
【0020】
マイコン106は、デジタルTV1全体を制御する。
【0021】
メモリ107は,ROM、RAM(Random Access Memory)、NVRAM(Non Volatile RAM:不揮発性メモリ)で構成される。ROMは、マイコン106の動作コードを記憶する。RAMは、マイコン106の動作時に利用される。NVRAMには、ファームウェア等が記憶される。
【0022】
リモコン受信部108は、リモートコントローラ20(以下、リモコン20と称する)から赤外線等の無線により送信される操作信号を受信する。リモコン20は、「カーソル」キー、「決定」キー、「文字」キー、「変換」キーなど、文字列入力の操作に必要な各種キーを備える。ユーザは、リモコン20を使用して文字列を入力する。
【0023】
端子109は、DVDレコーダやHDDレコーダ等の外部記憶装置を接続するための端子である。I/F(Inter Face)110は、端子109に接続された外部記憶装置とマイコン106との間でデータの送受信を行うためのインターフェースである。
【0024】
図3は、第1の実施形態に係るデジタルTV1の機能構成を示す図である。デジタルTV1は、EPG取得手段201、文字列抽出手段202、読み付与手段203、索引作成手段204、入力受付手段205、照合手段206、候補提示手段207、辞書DB(Data Base)301、索引DB302を具備する。図3に示す機能は、ファームウェアをRAMにロードし、マイコン106が動作コードに従って実行することにより実現される。
【0025】
辞書DB301には、文字列抽出手段202、読み付与手段203、索引作成手段204が参照する辞書を記憶されている。辞書は、抽出した文字列を形態素解析して、読みや属性を付与するために用いられる。
【0026】
索引DB302は、索引作成手段204が作成した索引データを記憶する。索引データは、以下の図4乃至図7に示すデータで構成される。
図4は、索引DB302に記憶されている索引データのデータ構造を示す図である。図5は、ノード401のデータ構造を示す図である。図6は、インデックス403のデータ構造を示す図である。図7は、テーブル404のデータ構造を示す図である。
【0027】
索引DB302は、データがトライ(Trie)構造(順序付き木構造の一種)となっている。図4では、ノード401を表す丸の中にキーワードを記載している。ノード401は、読み、開始番号、終了番号、第1のポインタおよび第2のポインタ2から構成される(図5参照)。読みは、対応する文字列の読み(ひらがな)情報である。開始番号は、対応するインデックスリスト402の初めの番号である。終了番号は、対応するインデックスリスト402の終わりの番号である。
【0028】
第1のポインタは、子ノードのデータの格納位置を示す情報(アドレス情報)である。第2のポインタは、兄弟ノードのデータの格納位置を示す情報である。例えば、キーワードが「ふ」のノード401の場合、第1のポインタは、図4の「い」のノード401のデータ格納位置を示すアドレスを指している。また、第2のポインタは、「ふ」と並列している「す」および「あ」のキーワードが記載されたノード401のデータ格納位置を示すアドレスを指している。
【0029】
インデックスリスト402は、複数のインデックス403から構成される(図4参照)。インデックス403は、「ポインタ」、「タイプ」、「読み」および「オフセット」の要素から構成される(図6参照)。「ポインタ」は、後述するテーブル404の要素のデータ格納位置を示すアドレスを示す情報である。「タイプ」は、文字列が、人名、キーワード、番組タイトルのいずれであるかを示す情報である。「読み」は、文字列の読みである(漢字、カタカナを平仮名に直したもの)。「オフセット」は、文字列の何番目の文字から読みが始まるかを示す情報である。
【0030】
テーブル404は、「読み」、「文字列」、「属性」、「重み」および「出現分野」の要素から構成される(図7参照)。「読み」は、文字列の読みである。「文字列」は、抽出された文字列である。「属性」は、文字列の属性、すなわち文字列がスポーツ名なのか人物名なのかなどの情報である。「重み」は、文字列の重要度を示す係数である。「出現分野」は、文字列がどのようなジャンルで使用される単語であるかを示す情報である。
【0031】
EPG取得手段201は、分離部104で分離されたSIに含まれるEPG情報およびHDD101に記憶されている過去分のEPG情報を取得する。過去分のEPG情報とは、HDD101に録画されている番組のEPG情報である。
【0032】
図8は、EPG情報のデータ構造の一例を示す図である。この図に示すように、EPG情報は、複数(この例では4つ)のデータブロックが相互にリンクされて形成される。第1番目のブロック(図8の左端のブロック)は、放送番号を示す放送タグ、放送時間とチャンネルを示すデータ、および、これに続くブロックを示す番組タグにより構成される。
【0033】
第2番目のブロックは、第1番目のブロックとリンクするための番号タグ、番組のタイトルを示すデータ、第3番目のブロックを示すための出演者、および、第4番目のブロックを示す内容タグにより構成される。
【0034】
第3番目のブロック(図8の右上)は、第2番目のブロックとリンクするための出演者タグ、出演者名を示すデータ、および、出演者情報を示すデータから構成される。第4番目のブロック(図8の右下)は、第2番目のブロックとリンクするための内容タグ、および、番組の内容を示すデータから構成される。
【0035】
文字列抽出手段202は、取得したEPG情報から、番組タイトル、出演者名、キーワードなどの文字列を抽出する。文字列抽出手段202は、辞書DB301に記憶されている辞書を参照して、抽出した文字列を一つの意味のある文字列(単語)に切り分け、この切り分けた文字列に属性(意味クラス)、番組ジャンルを付与する。
【0036】
読み付与手段203は、辞書DBを参照して、文字列抽出手段202で切り分けられた各文字列に読みを付与する。なお、文字列抽出手段202および読み付与手段203における文字列の形態素解析、属性および読みの付与については、特許第408156に記載の技術を用いることができる。
【0037】
索引作成手段204は、読み付与手段203から入力される属性や読みが付与された文字列に基づいて、入力受付手段205で受付けられる文字列との照合に対応した索引データを作成する。索引作成手段204は、作成した索引データを索引DB302へ記憶する。
【0038】
(索引データの作成)
図9ないし図11は、索引作成手段204の動作を示すフローチャートである。以下、図9ないし図11を参照して索引データの作成について説明する。なお、具体例として、文字列抽出手段202で文字列「フィギュアスケート」が抽出された場合を考える。
索引作成手段204は、文字列「フィギュアスケート」について、図7に示すインデックス403を作成する(ステップS101)。索引作成手段204は、作成したインデックス403をインデックスリスト402へ登録する。索引作成手段204は、インデックス403の各項目である「タイプ」、「読み」、「オフセット」をそれぞれ「キーワード」「ふいぎゆあすけーと」、「0」と設定する。
【0039】
文字列「フィギュアスケート」は、タイトルまたは人物名ではないため、タイプは「キーワード」に設定される。読みは、読み付与手段203で付与された読みを用いる。オフセットは、「読み」が文字列の初めから始まるため0に設定される。
【0040】
索引作成手段204は、文字列「フィギュアスケート」を図8に示すテーブル404へ登録する(ステップS102)。索引作成手段204は、テーブル404の各項目である「読み」、「文字列」、「属性」、「重み」、「出現分野」をそれぞれ「ふいぎゆあすけーと」、「フィギュアスケート」、「スポーツ」、「3」、「スポーツ関係」と設定する(図7の404A参照)。
【0041】
読みは、読み付与手段203により付与された読みを使用する。属性は、文字列抽出手段202で付与された属性を用いる。重みは、例えば、同じ文字列が含まれる番組をEPG情報から抽出し、抽出された番組の数や放送時間の合計に応じて算出する。
【0042】
索引作成手段204は、テーブル404を構成する各要素を登録後、読み付与手段203へ、対応する文字列「フィギュアスケート」の各要素への「ポインタ」を設定する(ステップS103)。
【0043】
次に、索引作成手段204は、文字列を構成する文字の字種(カタカナ、平仮名、漢字、アルファベットなど)が変化する位置からの読みを索引データに登録する(ステップS104)。なお、ステップS104の詳細な動作については、図10を参照して後述する。
【0044】
また、索引作成手段204は、文字列の中にさらに文字列(単語)が含まれている場合には、その文字列の読みを索引データに追加する(ステップ105)。なお、ステップS105の詳細な動作については、図11を参照して後述する。
【0045】
索引作成手段204は、次の文字列があるかどうかを判定する(ステップS106)。索引作成手段204は、次の文字列がある場合(ステップS106のYes)、ステップS101からステップS105までの動作を繰り返す。また、索引作成手段204は、次の文字列がない場合(ステップS106のNo)、索引データを読みでソートし(ステップS107)、図4で説明したトライ(Trie)構造を作成する。
【0046】
図10は、ステップS104の詳細な動作を示すフローチャートである。
索引作成手段204は、辞書DB301を参照して、文字列抽出手段202で抽出された文字列を取得する(ステップS201)。索引作成手段204は、取得した文字列に基づいて、文字列の各文字の字種を文字列の頭から判定する(ステップS202)。
【0047】
判定の結果、複数の字種が変化する位置が文字列中にある場合、すなわち複数の字種が文字列中に含まれている場合(ステップS202のYes)、索引作成手段204は、字種が変化する位置からの読みを索引DB302の索引データに追加する(ステップS203)。また、判定の結果、字種が変化する位置が文字列中にない場合(ステップS202のNo)、索引作成手段204は、動作を終了する。
【0048】
図10の動作を、文字列「変身ビフォーアフター」を例に具体的に説明する。初めに、索引作成手段204は、辞書DB301を参照して、文字列「変身ビフォーアフター」を取得する。次に、索引作成手段204は、取得した文字列に基づいて、文字列「変身ビフォーアフター」の各文字の字種を文字列の頭から判定する。
【0049】
文字列「変身ビフォーアフター」では、「ビ」の位置で字種が変化する。このため、索引作成手段204は、「ビ」以降の文字列「ビフォーアフター」の読み「びふぉーあふたー」を、文字列「変身ビフォーアフター」の新たな読みとして、インデックス403およびテーブル404に追加する。(図7の404B参照)このようにして、索引DB302に、文字列「変身ビフォーアフター」に対する2つの読みの索引データが登録される。
【0050】
図11は、ステップS105の詳細な動作を示すフローチャートである。
索引作成手段204は、文字列抽出手段202で抽出された文字列中に他の文字列(他の単語)が含まれているかを判定する(ステップS301)。この判定は、辞書DB301を参照することで可能である。文字列中に他の文字列が含まれている場合(ステップS301のYes)、索引作成手段204は、包含する側の文字列(文字列抽出手段202で抽出された文字列)と、包含される側の文字列(他の文字列)との属性が同一かどうか判定する(ステップS302)。
【0051】
属性が同一の場合(ステップS302のYes)、索引作成手段204は、包含される側の文字列の読みを索引DB302の索引データに追加する(ステップS303)。また、他の文字列を包含しない場合(ステップS301のNo)や属性が同一でない場合(ステップS302のNo)、索引作成手段204は、動作を終了する。
【0052】
図11の動作を、文字列「サンドラ・クロック」を例に、具体的に説明する。索引作成手段204は、文字列「サンドラ・クロック」中に他の文字列が含まれているかを、辞書DB301を参照して判定する。文字列「サンドラ・クロック」には、他の文字列「ロック」が含まれているため、索引作成手段204は、「サンドラ・クロック」の属性と、「ロック」の属性とが同一か判定する。「サンドラ・クロック」の属性「人名」は、「ロック」の属性「音楽」とは異なる。このため、索引作成手段204は、文字列「ロック」を辞書DB301の索引データに登録しない。
【0053】
また、文字列「アルペンスキー」が文字列抽出手段202で抽出された場合を考える。索引作成手段204は、先の例と同様にして、文字列「アルペンスキー」中に他の文字列が含まれているかを判定する。文字列「アルペンスキー」には、他の文字列「スキー」が含まれている。
【0054】
索引作成手段204は、「アルペンスキー」の属性と、「スキー」の属性とが同一か判定する(ステップS302)。「アルペンスキー」の属性「スポーツ」と、「スキー」の属性「スポーツ」は同一である。このため、索引作成手段204は、文字列「スキー」のインデックス403およびテーブル404を作成し、辞書DB301の索引データに登録する(図7の404C参照)。
【0055】
さらに、文字列「スコッチウイスキー」が文字列抽出手段202で抽出された場合を考える。索引作成手段204は、先の例と同様にして、文字列「スコッチウイスキー」中に他の文字列が含まれているかを判定する。文字列「スコッチウイスキー」には、他の文字列「スキー」が含まれている。
【0056】
索引作成手段204は、「スコッチウイスキー」の属性と、「スキー」の属性とが同一か判定する。「スコッチウイスキー」の属性「飲み物」と、「スキー」の属性「スポーツ」は異なる。このため、索引作成手段204は、文字列「ロック」を辞書DB301の索引データに登録しない。
【0057】
なお、包含している側(文字列)と包含されている側(他の文字列)の属性はスポーツ関係と競技名に基づく制約に限らず、音楽関係に基づく制約等他の制約を用いてもよい。例えば、包含する側の文字列の属性と、包含される側の文字列の属性が特定の関係(どのような包含関係にある場合に索引データへの登録を許可するか)を満たす場合に索引データに登録するようにしてもよい。この場合、特定の関係をテーブルデータとしてHDD101等へ記憶しておき、このテーブルデータを参照して、包含される側の文字列を索引データに登録すればよい。また、属性関係の代わりに文字列に付与されている番組ジャンルを用いてもよい。
【0058】
入力受付手段205は、ユーザがリモコン20を使用して入力した文字列(以下、入力文字列)を受け付ける。
【0059】
照合手段206は、入力受付手段205が受け付けた文字列と、索引DB302に記憶されている索引データに登録されている文字列との一致を照合する。候補提示手段207は、照合手段206から入力される文字列を、変換候補として表示部10Bを用いてユーザへ提示する。図12は、変換候補提示の動作を示すフローチャートである。以下、図12を参照して、変換候補提示の動作を説明する。
【0060】
照合手段206は、入力文字列の読みに基づいて、図4に示すトライ(Trie)構造のノード401をたどり(ステップS401)、入力文字列に対応したノード401からインデックスリスト402の開始番号と終了番号を取得する(ステップS402)。照合手段206は、インデックス402のポインタから、対応するテーブル404を参照し、文字列の先頭から、入力文字列と照合(一致)する文字列を取得する(ステップS403)。照合手段206は、取得した文字列を候補提示手段207へ渡す。
【0061】
候補提示手段207は、渡された文字列の数が提示数(例えば、9個)以上かどうかを判定する(ステップS404)。文字列数が提示数以上の場合(ステップS404のYes)、候補提示手段207は、重みが高い文字列から順に提示数となるまでステップS403で取得した文字列を候補提示手段207へ出力する(ステップS405)。
【0062】
文字列数が提示数未満の場合(ステップS404のNo)、候補提示手段207は、照合手段206へ入力文字列と文字列の途中から照合(一致)する文字列を取得するよう指示する。照合手段206は、候補提示手段207の指示に基づき、入力文字列と文字列の途中から照合(一致)する文字列を取得する(ステップS406)。照合手段206は、取得した文字列を候補提示手段207へ渡す。候補提示手段207は、重みが高い文字列から順に提示数となるまで照合手段206から順に渡された文字列を表示部10Bへ提示する(ステップS405)。
【0063】
すなわち、候補提示手段207は、照合手段206から入力される文字列を、変換候補として表示部10Bを用いてユーザへ提示する。この際、候補提示手段207は、各文字列の重みの高い順に並べてユーザへ提示する。
【0064】
図13、図14は、表示部10Bに表示される提示画面を示した図である。ユーザがリモコン20を使用して、文字列入力欄501へ文字列を入力すると(図13参照)、照合手段206により照合された文字列が候補提示手段207へ入力される。候補提示手段207は、入力された文字列を候補文字列欄502へ表示する(図14参照)。
【0065】
図13、図14に示した例では、入力文字列が「Ski」の場合を示した。このため、「Ski-jumping」、「Water-ski」、「Alpine-ski」などが変換候補としてユーザに提示される。また、提示の順序は、文字列の先頭から照合された変換候補「Ski-jumping」、途中から照合された変換候補「Water-ski」、「Alpine-ski」の順番に並べる。なお、「Chaikovski」などの人名は属性が異なるために変換候補として提示されない。
【0066】
なお、各候補群の中では、候補提示手段207は、「重み」としての、文字列の出現番組の放送時間の和の降順に並べるが、現番組数や放送時刻なども順序を決定するパラメータとして加味してもよい。また、変換候補の個数が一定数に満たない場合で、かつ入力文字列が予め定められた文字数以上の場合は、照合手段206は、先頭以外で読みが照合できた変換候補を追加する。また、この第1の実施形態において、文字認識誤りに対応するために、平仮名の大文字小文字は同一視して照合されてもよい。
【0067】
(デジタルTV1の動作)
次に、第1の実施形態に係るデジタルTV1全体の動作について説明する。
図15は、デジタルTV1の動作を示すフローチャートである。以下、図15を参照してデジタルTV1の動作について説明する。
【0068】
EPG取得手段201は、分離部104で分離されたSIに含まれるEPG情報およびHDD101に記憶されている過去分のEPG情報を取得する(ステップS501)。文字列抽出手段202は、取得したEPG情報から文字列を抽出し、この文字列に属性(意味クラス)を付与する(ステップS502)。
【0069】
読み付与手段203は、辞書DB301を参照して、文字列抽出手段202で抽出された各文字列に読みを付与する(ステップS503)。索引作成手段204は、読み付与手段203から入力される属性や読みが付与された文字列に基づいて、入力受付手段205で受付けられる文字列との照合に対応した索引データを作成する(ステップS504)。
【0070】
照合手段206は、入力受付手段205が受け付けた文字列と、索引DB302に記憶されている索引データに登録されている文字列とを照合する(ステップS505)。候補提示手段207は、照合手段206により照合され、入力される文字列を、変換候補として表示部10Bを用いてユーザへ提示する(ステップS506)。
【0071】
以上のように、この第1の実施形態に係るデジタルTV1は、文字列の先頭以外の箇所(途中箇所)から、入力文字列と一致したものを変換候補としてユーザへ提示する際に、字種が変化した位置からの文字列または属性が特定の関係を満たす文字列のみをユーザに提示する。このため、不適切な文字列をユーザへ提示することを効果的に抑制できる(例えば、入力文字列が「スキー」の場合に、「チャイコフスキー」)を変換候補としてユーザに提示することを抑制できる)。また索引データのデータ量も抑制できるので、照合時のメモリ消費量を抑制できる。
【0072】
(その他の実施形態)
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。例えば、図13、図14に示す提示画面において、ユーザが文字列を入力する際に、あらかじめジャンル(出現分野)を指定している場合は、該ジャンルと同じジャンルの文字列だけを提示するように構成してもよい。また、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【0073】
1…デジタルTV、2…アンテナ、10A…STB、10B…表示部、10C…音声出力部、20…リモコン、101…HDD、102…チューナ、103…復調部、104…分離部、105…信号処理部、106…マイコン、107…メモリ、108…リモコン受信部、109…端子、110…I/F、201…EPG取得手段、202…文字列抽出手段、203…読み付与手段、204…索引作成手段、205…入力受付手段、206…照合手段、207…候補提示手段、301…辞書DB、302…索引DB、401…ノード、402…インデックスリスト、403…インデックス、404…テーブル。
【特許請求の範囲】
【請求項1】
文字列の属性および読みを関連付けて記憶した辞書と、
入力データに含まれる文字列を抽出し、前記辞書を参照して属性を付与する抽出手段と、
前記辞書を参照して、前記抽出した文字列へ読みを付与する読み付与手段と、
前記抽出した文字列に複数の字種または単語が含まれるかを判定し、該判定結果に応じて、前記抽出した文字列へ、前記属性および前記読みに加え、前記字種が変化する位置からの読み、または前記単語の読みの少なくとも一方を関連付けた索引データを作成する索引作成手段と、
前記索引データを記憶する記憶手段と、
入力文字列を受け付ける受付手段と、
前記入力文字列の読みと前記記憶手段に記憶された文字列の読みとを照合し、該照合結果に基づいて、前記記憶手段に記憶された文字列を取得する照合手段と、
前記照合手段が取得した文字列を変換候補として提示する候補提示手段と、
を具備することを特徴とする候補提示装置。
【請求項2】
前記索引作成手段は、前記抽出した文字列の属性と前記抽出した文字列に含まれる単語の属性とが特定の関係を満たす場合に、前記抽出した文字列に含まれる単語の読みを前記抽出した文字列へ関連付けて記憶することを特徴とする請求項1に記載の候補提示装置。
【請求項3】
前記候補提示手段は、前記照合手段が照合した結果、前記記憶された文字列の中で、先頭からの読みとして照合された文字列の数が所定数に満たない場合、前記入力文字列の読みが、前記字種が変化する位置からの読み、または、前記単語の読みの一方として照合された文字列も併せて変換候補として提示することを特徴とする請求項1または請求項2に記載の候補提示装置。
【請求項4】
前記候補提示手段は、前記先頭からの読みとして照合された文字列を優先して提示することを特徴とする請求項3に記載の候補提示装置。
【請求項5】
前記索引作成手段は、前記抽出した文字列へ優先度を関連付けて記憶し、
前記候補提示手段は、前記優先度に基づいて、前記照合手段が取得した文字列を変換候補として提示することを特徴とする請求項1ないし4のいずれか1項に記載の候補提示装置。
【請求項6】
放送波を受信する受信部をさらに具備し、
前記抽出部は、前記受信した放送波に含まれるEPGデータから前記文字列を抽出することを特徴とする請求項1ないし請求項5のいずれか1項に記載の変換候補提示手段。
【請求項7】
入力データに含まれる文字列を抽出し、文字列の属性および読みを関連付けて記憶した辞書を参照して属性を付与するステップと、
前記辞書を参照して、前記抽出した文字列へ読みを付与するステップと、
前記抽出した文字列に複数の字種または単語が含まれるかを判定し、該判定結果に応じて、前記抽出した文字列へ、前記属性および前記読みに加え、前記字種が変化する位置からの読み、または前記単語の読みの少なくとも一方を関連付けた索引データを作成するステップと、
前記索引データを記憶するステップと、
入力文字列を受け付けるステップと、
前記入力文字列の読みと前記記憶された文字列の読みとを照合し、該照合結果に基づいて、前記記憶された文字列を取得するステップと、
前記取得した文字列を変換候補として提示するステップと、
を具備することを特徴とする候補提示方法。
【請求項8】
コンピュータを、
文字列の属性および読みを関連付けて記憶した辞書と、
入力データに含まれる文字列を抽出し、前記辞書を参照して属性を付与する抽出手段と、
前記辞書を参照して、前記抽出した文字列へ読みを付与する読み付与手段と、
前記抽出した文字列に複数の字種または単語が含まれるかを判定し、該判定結果に応じて、前記抽出した文字列へ、前記属性および前記読みに加え、前記字種が変化する位置からの読み、または前記単語の読みの少なくとも一方を関連付けた索引データを作成する索引作成手段と、
前記索引データを記憶する記憶手段と、
入力文字列を受け付ける受付手段と、
前記入力文字列の読みと前記記憶手段に記憶された文字列の読みとを照合し、該照合結果に基づいて、前記記憶手段に記憶された文字列を取得する照合手段と、
前記照合手段が取得した文字列を変換候補として提示する候補提示手段と、
として動作させることを特徴とする候補提示プログラム。
【請求項1】
文字列の属性および読みを関連付けて記憶した辞書と、
入力データに含まれる文字列を抽出し、前記辞書を参照して属性を付与する抽出手段と、
前記辞書を参照して、前記抽出した文字列へ読みを付与する読み付与手段と、
前記抽出した文字列に複数の字種または単語が含まれるかを判定し、該判定結果に応じて、前記抽出した文字列へ、前記属性および前記読みに加え、前記字種が変化する位置からの読み、または前記単語の読みの少なくとも一方を関連付けた索引データを作成する索引作成手段と、
前記索引データを記憶する記憶手段と、
入力文字列を受け付ける受付手段と、
前記入力文字列の読みと前記記憶手段に記憶された文字列の読みとを照合し、該照合結果に基づいて、前記記憶手段に記憶された文字列を取得する照合手段と、
前記照合手段が取得した文字列を変換候補として提示する候補提示手段と、
を具備することを特徴とする候補提示装置。
【請求項2】
前記索引作成手段は、前記抽出した文字列の属性と前記抽出した文字列に含まれる単語の属性とが特定の関係を満たす場合に、前記抽出した文字列に含まれる単語の読みを前記抽出した文字列へ関連付けて記憶することを特徴とする請求項1に記載の候補提示装置。
【請求項3】
前記候補提示手段は、前記照合手段が照合した結果、前記記憶された文字列の中で、先頭からの読みとして照合された文字列の数が所定数に満たない場合、前記入力文字列の読みが、前記字種が変化する位置からの読み、または、前記単語の読みの一方として照合された文字列も併せて変換候補として提示することを特徴とする請求項1または請求項2に記載の候補提示装置。
【請求項4】
前記候補提示手段は、前記先頭からの読みとして照合された文字列を優先して提示することを特徴とする請求項3に記載の候補提示装置。
【請求項5】
前記索引作成手段は、前記抽出した文字列へ優先度を関連付けて記憶し、
前記候補提示手段は、前記優先度に基づいて、前記照合手段が取得した文字列を変換候補として提示することを特徴とする請求項1ないし4のいずれか1項に記載の候補提示装置。
【請求項6】
放送波を受信する受信部をさらに具備し、
前記抽出部は、前記受信した放送波に含まれるEPGデータから前記文字列を抽出することを特徴とする請求項1ないし請求項5のいずれか1項に記載の変換候補提示手段。
【請求項7】
入力データに含まれる文字列を抽出し、文字列の属性および読みを関連付けて記憶した辞書を参照して属性を付与するステップと、
前記辞書を参照して、前記抽出した文字列へ読みを付与するステップと、
前記抽出した文字列に複数の字種または単語が含まれるかを判定し、該判定結果に応じて、前記抽出した文字列へ、前記属性および前記読みに加え、前記字種が変化する位置からの読み、または前記単語の読みの少なくとも一方を関連付けた索引データを作成するステップと、
前記索引データを記憶するステップと、
入力文字列を受け付けるステップと、
前記入力文字列の読みと前記記憶された文字列の読みとを照合し、該照合結果に基づいて、前記記憶された文字列を取得するステップと、
前記取得した文字列を変換候補として提示するステップと、
を具備することを特徴とする候補提示方法。
【請求項8】
コンピュータを、
文字列の属性および読みを関連付けて記憶した辞書と、
入力データに含まれる文字列を抽出し、前記辞書を参照して属性を付与する抽出手段と、
前記辞書を参照して、前記抽出した文字列へ読みを付与する読み付与手段と、
前記抽出した文字列に複数の字種または単語が含まれるかを判定し、該判定結果に応じて、前記抽出した文字列へ、前記属性および前記読みに加え、前記字種が変化する位置からの読み、または前記単語の読みの少なくとも一方を関連付けた索引データを作成する索引作成手段と、
前記索引データを記憶する記憶手段と、
入力文字列を受け付ける受付手段と、
前記入力文字列の読みと前記記憶手段に記憶された文字列の読みとを照合し、該照合結果に基づいて、前記記憶手段に記憶された文字列を取得する照合手段と、
前記照合手段が取得した文字列を変換候補として提示する候補提示手段と、
として動作させることを特徴とする候補提示プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2011−76257(P2011−76257A)
【公開日】平成23年4月14日(2011.4.14)
【国際特許分類】
【出願番号】特願2009−225382(P2009−225382)
【出願日】平成21年9月29日(2009.9.29)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成23年4月14日(2011.4.14)
【国際特許分類】
【出願日】平成21年9月29日(2009.9.29)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]