(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023170335
(43)【公開日】2023-12-01
(54)【発明の名称】文字入力装置、文字入力方法、および文字入力プログラム
(51)【国際特許分類】
G06F 40/129 20200101AFI20231124BHJP
G06F 40/216 20200101ALI20231124BHJP
【FI】
G06F40/129
G06F40/216
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022082011
(22)【出願日】2022-05-19
(71)【出願人】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110000970
【氏名又は名称】弁理士法人 楓国際特許事務所
(72)【発明者】
【氏名】山田 堂弘
【テーマコード(参考)】
5B091
5B109
【Fターム(参考)】
5B091AA13
5B091CA01
5B091CC05
5B109MA11
5B109MH03
(57)【要約】
【課題】複数の入力手段を備えている場合に効率的な文字入力を行うことができる機能を提供する。
【解決手段】文字入力装置は、入力文字列を対応する変換文字列に変換する。文字入力装置は、第1入力部と第2入力部と文字列結合部とを備える。第1入力部は、第1入力方式で第1文字列の入力を受け付ける。第2入力部は、第1入力方式とは異なる第2入力方式で第2文字列の入力を受け付ける。文字列結合部は、入力を受け付けた第1文字列に続けて、第2文字列の入力を受け付けた場合、今回入力を受け付けた第1文字列と第2文字列とを繋いで入力文字列の候補を生成する。また、文字列結合部は、第1文字列の後尾側と、第2文字列の先頭側とにおいて、一致する文字列を重複文字列として抽出し、重複文字列を抽出した場合、重複文字列を除いた第1文字列と、重複文字列を除いた第2文字列との間を重複文字列で繋いだ文字列を入力文字列の候補の1つとして生成する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
入力文字列を対応する変換文字列に変換する文字入力装置において、
第1入力方式で第1文字列の入力を受け付ける第1入力部と、
前記第1入力方式とは異なる第2入力方式で第2文字列の入力を受け付ける第2入力部と、
入力を受け付けた前記第1文字列に続けて、前記第2文字列の入力を受け付けた場合、今回入力を受け付けた前記第1文字列と前記第2文字列とを繋いで入力文字列の候補を生成する文字列結合部と、を備え、
前記文字列結合部は、
前記第1文字列の後尾側と、前記第2文字列の先頭側とにおいて、一致する文字列を重複文字列として抽出し、
前記重複文字列を抽出した場合、前記重複文字列を除いた前記第1文字列と、前記重複文字列を除いた前記第2文字列との間を前記重複文字列で繋いだ文字列を前記入力文字列の候補の1つとして生成する、
文字入力装置。
【請求項2】
前記文字列結合部は、前記第1文字列の直後に、前記第2文字列を繋いだ文字列を前記入力文字列の候補の1つとして生成し、
前記入力文字列の候補毎に、その入力文字列の前記変換文字列を語彙単位で分割し、語彙間の共起頻度を算出するスコア算出部と、
前記スコア算出部が算出した前記共起頻度に応じて、前記変換文字列の優先順位を決定する優先順位決定部と、を備えた請求項1に記載の文字入力装置。
【請求項3】
前記文字列結合部は、前記第1文字列と、前記第2文字列とを繋ぐ接続文字列を予測し、前記第1文字列と、前記第2文字列との間を前記接続文字列で繋いだ文字列を前記入力文字列の候補の1つとして生成し、
前記入力文字列の候補毎に、その入力文字列の前記変換文字列を語彙単位で分割し、語彙間の共起頻度を算出するスコア算出部と、
前記スコア算出部が算出した前記共起頻度に応じて、前記変換文字列の優先順位を決定する優先順位決定部と、を備えた請求項1に記載の文字入力装置。
【請求項4】
前記文字列結合部は、前記第1文字列と、前記第2文字列とを繋ぐ接続文字列を予測し、前記第1文字列と、前記第2文字列との間を前記接続文字列で繋いだ文字列を前記入力文字列の候補の1つとして生成する、請求項2に記載の文字入力装置。
【請求項5】
前記第1入力方式、または前記第2入力方式の一方がキー入力方式であり、他方が音声入力方式である、請求項1~4のいずれかに記載の文字入力装置。
【請求項6】
入力文字列を対応する変換文字列に変換する文字入力装置のコンピュータが、
第1入力方式で第1文字列の入力を受け付ける第1ステップと、
前記第1入力方式とは異なる第2入力方式で第2文字列の入力を受け付ける第2ステップと、
入力を受け付けた前記第1文字列に続けて、前記第2文字列の入力を受け付けた場合、今回入力を受け付けた前記第1文字列と前記第2文字列とを繋いで入力文字列の候補を生成する第3ステップと、を実行し、
前記第3ステップは、
前記第1文字列の後尾側と、前記第2文字列の先頭側とにおいて、一致する文字列を重複文字列として抽出し、
前記重複文字列を抽出した場合、前記重複文字列を除いた前記第1文字列と、前記重複文字列を除いた前記第2文字列との間を前記重複文字列で繋いだ文字列を前記入力文字列の候補の1つとして生成する、
ステップである、文字入力方法。
【請求項7】
入力文字列を対応する変換文字列に変換する文字入力装置のコンピュータに、
第1入力方式で第1文字列の入力を受け付ける第1ステップと、
前記第1入力方式とは異なる第2入力方式で第2文字列の入力を受け付ける第2ステップと、
入力を受け付けた前記第1文字列に続けて、前記第2文字列の入力を受け付けた場合、今回入力を受け付けた前記第1文字列と前記第2文字列とを繋いで入力文字列の候補を生成する第3ステップと、を実行させ、
前記第3ステップは、
前記第1文字列の後尾側と、前記第2文字列の先頭側とにおいて、一致する文字列を重複文字列として抽出し、
前記重複文字列を抽出した場合、前記重複文字列を除いた前記第1文字列と、前記重複文字列を除いた前記第2文字列との間を前記重複文字列で繋いだ文字列を前記入力文字列の候補の1つとして生成する、
ステップである、文字入力プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文字入力を支援する技術に関する。
【背景技術】
【0002】
利用者は、車載器(以下では、カーナビゲーションを例として説明する。)を利用して目的地までの移動経路を検索する。カーナビゲーションには、目的地に対応する文字列を入力するために複数の入力手段を備える。例えば、この入力手段は、タッチパネルを用いたキーボード入力と、音声認識による入力である。
【0003】
例えば、利用者は、自動車を停車中(走行スピードが0の時)には、カーナビゲーションのタッチパネルを用いて、目的地に対応する文字列をキーボード入力する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1には、キーボード入力、音声入力等の少なくとも2つの入力手段を備えた文字入力方法についての技術が開示されている。例えば、利用者は、メールを作成する際、キーボード入力と音声入力の両方の手段を用いて文字入力を行う。
【0006】
特許文献1に記載されている構成を用いてカーナビゲーションを操作する場合、利用者は、自動車を停車中にキーボード入力を行い、自動車を発車してからは音声入力を行う。このことによって、カーナビゲーションの目的地は、キーボード入力した文字列と音声入力した文字列とを結合させた文字列(以下、結合文字列)となる。
【0007】
しかしながら、結合文字列は、利用者がキーボード入力した文字列と、音声入力によって入力した文字列とをそのまま結合させた場合、入力手段が異なるため、文字列が重複する虞がある。すなわち、利用者は意図した検索結果を得ることができない。
【0008】
この際、利用者はこの重複した文字列を意図的に削除することによって、所望の結合文字列を得ることができる。しかしながら、これらの操作は非常に煩雑であり、利用者の利便性を損なう虞がある。
【0009】
したがって、本発明の目的は、複数の入力手段を備えている場合に効率的な文字入力を行うことができる機能を提供することにある。
【課題を解決するための手段】
【0010】
この発明の文字入力装置は、上記目的を達成するため以下に示すように構成している。
【0011】
この文字入力装置は、入力文字列を対応する変換文字列に変換する。文字入力装置は、第1入力部と、第2入力部と、文字列結合部とを備える。第1入力部は、第1入力方式で第1文字列の入力を受け付ける。第2入力部は、第1入力方式とは異なる第2入力方式で第2文字列の入力を受け付ける。文字列結合部は、入力を受け付けた第1文字列に続けて、第2文字列の入力を受け付けた場合、今回入力を受け付けた第1文字列と第2文字列とを繋いで入力文字列の候補を生成する。また、文字列結合部は、第1文字列の後尾側と、第2文字列の先頭側とにおいて、一致する文字列を重複文字列として抽出し、重複文字列を抽出した場合、重複文字列を除いた第1文字列と、重複文字列を除いた第2文字列との間を重複文字列で繋いだ文字列を入力文字列の候補の1つとして生成する。
【0012】
この構成では、結合文字列に重複した文字列が存在した場合でも、当該重複した文字列を削除する手順を省略できる。すなわち、利用者の文字入力の効率を向上させることができる。
【0013】
この文字入力装置の文字列結合部は、第1文字列の直後に、第2文字列を繋いだ文字列を入力文字列の候補の1つとして生成する。また、文字入力装置は、入力文字列の候補毎に、その入力文字列の変換文字列を語彙単位で分割し、語彙間の共起頻度を算出するスコア算出部と、スコア算出部が算出した共起頻度に応じて、変換文字列の優先順位を決定する優先順位決定部と、を備える。
【0014】
この文字入力装置の文字列結合部は、第1文字列と、第2文字列とを繋ぐ接続文字列を予測し、第1文字列と、第2文字列との間を接続文字列で繋いだ文字列を入力文字列の候補の1つとして生成する。また、文字入力装置は、入力文字列の候補毎に、その入力文字列の変換文字列を語彙単位で分割し、語彙間の共起頻度を算出するスコア算出部と、スコア算出部が算出した共起頻度に応じて、変換文字列の優先順位を決定する優先順位決定部と、を備える。
【0015】
この文字入力装置の文字列結合部は、第1文字列と、第2文字列とを繋ぐ接続文字列を予測し、第1文字列と、第2文字列との間を接続文字列で繋いだ文字列を入力文字列の候補の1つとして生成する。
【0016】
この文字入力装置の第1入力方式、または第2入力方式の一方がキー入力方式であり、他方が音声入力方式である。
【発明の効果】
【0017】
この発明によれば、複数の入力手段を備えている場合に効率的な文字入力を行うことができる機能を提供することができる。
【図面の簡単な説明】
【0018】
【
図1】
図1は適用例の文字入力装置による文字入力を行うイメージ図である。
【
図2】
図2は構成例1の文字入力装置の構成を示すブロック図である。
【
図3】
図3は構成例1の文字入力装置による文字入力を行うイメージ図である。
【
図4】
図4は動作例の文字入力装置の処理の流れを示すフローチャートである。
【
図5】
図5は変形例1の文字入力装置の処理の流れを示すフローチャートである。
【
図6】
図6は構成例2の文字入力装置の構成を示すブロック図である。
【
図7】
図7は構成例2の文字入力装置の処理の流れを示す図である。
【
図8】
図8は構成例2の文字入力装置の処理の流れを示す図である。
【
図9】
図9は構成例2の文字入力装置の処理の流れを示すフローチャートである。
【
図10】
図10は構成例3の文字入力装置による文字入力を行うイメージ図である。
【
図11】
図11は構成例3の文字入力装置の処理の流れを示すフローチャートである。
【
図12】
図12は変形例2の文字入力装置による文字入力を行うイメージ図である。
【発明を実施するための形態】
【0019】
以下、本発明を実施するための形態について、幾つかの図を参照して説明する。
【0020】
<1.適用例>
図1は文字入力装置10による文字入力を行うイメージ図である。文字入力装置10は、例えば車載器に搭載されている。車載器は、目的地を入力することにより、その目的地までの移動経路を検索するカーナビゲーションである。この車載器は、目的地を入力するための文字入力装置10を備えている。文字入力装置10は、複数の入力手段を備えている。
【0021】
文字入力装置10は、上述したとおり、カーナビゲーション等の電子機器に搭載されている。なお、この電子機器はカーナビゲーションに限らず、タブレットやパーソナルコンピュータ等の文字入力を可能とする機器であればよい。
【0022】
具体的に利用者が文字入力する例を用いて説明する。カーナビゲーション100はタッチパネルを備える。利用者は、タッチパネルを用いて、カーナビゲーション100にインストールされているアプリケーション(以下、アプリ)を起動する。
【0023】
利用者は、例えば、目的地検索アプリを起動する。利用者は、入力表示部50に文字列を入力する。この例では目的地検索アプリを用いて説明するが、文字入力を行うことが可能な機能を有するものであればよく、アプリの種類は限定されない。
【0024】
ここで、文字入力装置10における文字入力手段について説明する。文字入力装置10は、第1入力部21、第2入力部22を備える。本発明においては、第1入力部21をキーボード入力とし、第2入力部22を音声入力であるとする。第1入力部21は、自動車が停車中にのみ入力を受け付ける。一方、第2入力部22は、自動車の停車中、走行中にかかわらず入力を受け付ける。
【0025】
より具体的な例を利用者が文字列「きょうとしどうぶつえん」と目的地を設定する例を用いて説明する。利用者は、まず第1入力部21によってキーボード入力を行い、その後、第2入力部22を用いて音声入力を行う。以下に、
図1の構成を用いて詳細を説明する。
【0026】
(1)第1入力部21を用いた文字入力
利用者は、自動車の停車中(例えば、自動車の信号待ち)にカーナビゲーションを操作する。利用者は、第1入力部21を用いて、第1文字列「きょうとしどうぶ」を入力する。
【0027】
この際、利用者は信号が青になったことを確認し、自動車を発進させる。このことによって、第1入力部21は文字入力の受付を停止する。
【0028】
(2)第2入力部22を用いた文字入力
利用者は、第1入力部21が文字入力を受け付けないことを確認し、第2入力部22による入力を開始する。利用者は、第2入力部22を用いて、第2文字列「どうぶつえん」を入力する。利用者は、例えば検索実行等のボタンを押下することによって、検索文字列の入力を終了する。
【0029】
(3)結合文字列の生成
文字入力装置10は、第1文字列「きょうとしどうぶ」と第2文字列「どうぶつえん」を結合し、第3文字列「きょうとしどうぶどうぶつえん」を生成する。この際、文字入力装置10は、第3文字列に重複した文字列(以下、重複文字列)が存在するかどうかを判定する。
【0030】
文字入力装置10は、重複文字列「どうぶ」が存在すると判定し、重複文字列「どうぶ」を削除する。より具体的には、文字入力装置10は、第1文字列「きょうとしどうぶ」の後尾側の文字列である「どうぶ」と、第2文字列「どうぶつえん」の先頭側の文字列である「どうぶ」を重複文字列であると判定する。
【0031】
文字入力装置10は、第1文字列「きょうとしどうぶ」から重複文字列「どうぶ」を削除し、第1文字列の一部として「きょうとし」を生成する。また、文字入力装置10は、第2文字列「どうぶつえん」から重複文字列「どうぶ」を削除し、第2文字列の一部として「つえん」を生成する。
【0032】
次に、文字入力装置10は、第1文字列の一部「きょうとし」と重複文字列「どうぶ」と第2文字列の一部「つえん」を結合させ、「きょうとし」、「どうぶ」、「つえん」から第4文字列「きょうとしどうぶつえん」を生成する。この第4文字列が、本発明の「入力文字列」に対応する。
【0033】
文字入力装置10は、第4文字列「きょうとしどうぶつえん」の変換候補「京都市動物園」を辞書データベース(以下、辞書DB)から取得する。文字入力装置10は、文字列「京都市動物園」をカーナビゲーションに出力する。カーナビゲーションは、文字列「京都市動物園」に合致する位置情報を表示する。
【0034】
このような構成を備えることによって、利用者が複数の入力手段を組み合わせて操作を行った場合でも意図した文字列を取得することができる。さらには、第1文字列と第2文字列に重複した文字列が存在する場合に、重複文字列が存在すると判定することで、当該重複文字列を削除することができる。
【0035】
すなわち、利用者の意図した文字列を容易に取得することが可能となり、利用者は効率的な文字入力を行うことができる。
【0036】
<2.構成例1>
図2は構成例1の文字入力装置の構成を示すブロック図である。
図3は構成例1の文字入力装置による文字入力を行うイメージ図である。上述したとおり、文字入力装置10が適用される例はカーナビゲーションに限らず、他の文字入力を行うことが可能な電子機器であればよい。
【0037】
図2に示すように、文字入力装置10は、入力部20、検出部30、表示制御部35、制御部40、入力表示部50、辞書DB60を備える。
【0038】
上述のとおり、入力部20は、第1入力部21、第2入力部22を備える。例えば、
図1に示すように、第1入力部21、第2入力部22はカーナビゲーション100を操作することによって起動される。
【0039】
文字入力装置10には、タッチパネルが備えられている。このタッチパネルは、利用者の操作を検知する。操作の検知とは、例えば、操作位置、操作されている時間長、操作位置の時間的な変化等を含む。これらの操作の検知結果は、検出部30に出力される。検出部30は、タッチパネルから入力された結果に応じて、この結果を表示制御部35、制御部40に出力する。表示制御部35は、操作結果に応じた表示を行うように入力表示部50に出力する。
【0040】
第1入力部21は、例えばソフトウェアキーボード等のキー入力を受け付ける。第1入力部21には、文字入力のための各種のキーが表示される。利用者は、第1入力部21を用いた第1入力方式(キー入力方式)によって、第1文字列の入力を行う。
【0041】
第2入力部22は、例えばマイク等の音声入力を受け付ける。第2入力部22は、利用者が発した音声情報(第2文字列)を音声認識部(図示を省略)に出力する。音声認識部は、音声情報の波形から特徴量を取得し、この特徴量を数値化する。さらに、音声認識部は、この数値化した情報のアルゴリズム解析を行い、文字列として表示制御部35に出力する。表示制御部35は、入力表示部50に第2文字列を表示させる。すなわち、利用者は、第2入力部を用いた第2入力方式(音声入力方式)によって、第2文字列の入力を行う。
【0042】
制御部40は、文字列取得部41と文字列結合部42を備える。なお、制御部40は、ハードウェアCPU、メモリ、その他の電子回路によって構成されている。ハードウェアCPUが、この発明にかかる文字入力プログラムを実行したときに、文字列取得部41、文字列結合部42として動作する。また、メモリは、この発明にかかる文字入力プログラムを展開する領域や、この文字入力プログラムの実行時に生じたデータ等を一時記憶する領域を有する構成である。制御部40は、ハードウェアCPU、メモリ等を一体化したLSIであってもよい。また、ハードウェアCPUが、この発明にかかる文字入力方法を実行するコンピュータである。
【0043】
文字列取得部41は、第1入力部21を用いた第1入力方式によって第1文字列を取得し、第2入力部22を用いた第2入力方式によって第2文字列を取得する。文字列取得部41は、第1文字列および第2文字列を文字列結合部42に出力する。
【0044】
文字列結合部42は、第1文字列と第2文字列を結合させる。詳細な手順については、後述する。文字列結合部42は、第1文字列と第2文字列を結合させた文字列を表示制御部35に出力する。表示制御部35は、当該結果を入力表示部50に表示させる。
【0045】
利用者は、入力表示部50に表示された文字列を用いて、検索を実行する。文字入力装置10は、辞書DB(辞書データベース)、および地
図DB(地図データベース)(図示を省略)を検索する。このことによって、文字入力装置10は、検索結果、および位置情報を表示する。
【0046】
図3を用いて、より具体的な構成を説明する。利用者は、カーナビゲーション100の目的地検索アプリを起動する。この際、利用者が文字列「きょうとしどうぶつえん」を入力する例を用いて説明する。
【0047】
利用者は、自動車の停止中に、第1入力部21を用いて、入力表示部50に第1文字列「きょうとしどうぶ」を入力する(
図3における(1)の状態)。上述のとおり、第1入力部21はソフトウェアキーボードである。利用者は、第1文字列「きょうとしどうぶ」を入力する。
【0048】
第1入力部21は、第1文字列「きょうとしどうぶ」を検出部30に出力する。第1入力部21は、検出部30に第1文字列「きょうとしどうぶ」を出力する。検出部30は、表示制御部35、および文字列取得部41に第1文字列「きょうとしどうぶ」を出力する。表示制御部35は、第1文字列「きょうとしどうぶ」を入力表示部50に表示させる。
【0049】
次に、利用者は自動車を発進させる。このことにより、第1入力部21は、文字入力の受付を停止する。利用者は、第1文字列「きょうとしどうぶ」に続く第2文字列を入力するために、第2入力部22を利用する。より具体的には、利用者は第2入力部22を用いて、第2文字列「どうぶつえん」を入力する。
【0050】
第2入力部22は、第2文字列「どうぶつえん」を検出部30に出力する。第1入力部21は、第2文字列「どうぶつえん」を検出部30に出力する。検出部30は、文字列取得部41に第2文字列「どうぶつえん」を出力する(
図3における(2)の状態)。
【0051】
文字列取得部41は、第1文字列「きょうとしどうぶ」と第2文字列「どうぶつえん」を文字列結合部42に出力する。
【0052】
文字列結合部42は、第1文字列「きょうとしどうぶ」と第2文字列「どうぶつえん」とを結合させ、第3文字列「きょうとしどうぶどうぶつえん」を作成する(
図3における(3)の状態)。この際、文字列結合部42は、第1文字列「きょうとしどうぶ」と第2文字列「どうぶつえん」との重複文字列を判定する。
【0053】
この際、文字列結合部42は、第1文字列「きょうとしどうぶ」の後尾側の文字列である「どうぶ」と、第2文字列「どうぶつえん」の先頭側の文字列である「どうぶ」を重複文字列であると判定する。
【0054】
文字列結合部42は、第1文字列「きょうとしどうぶ」から重複文字列「どうぶ」を削除し、第1文字列の一部として「きょうとし」を生成する。また、文字列結合部42は、第2文字列「どうぶつえん」から重複文字列「どうぶ」を削除し、第2文字列の一部として「つえん」を生成する。
【0055】
次に、文字列結合部42は、第1文字列の一部「きょうとし」と重複文字列「どうぶ」と第2文字列の一部「つえん」を結合させ、第4文字列「きょうとしどうぶつえん」を生成する。このことによって、文字列結合部42は、利用者が意図する変換候補「京都市動物園」を辞書DB60から取得することができる。
【0056】
すなわち、利用者が複数の入力手段(第1入力部21、第2入力部22)を組み合わせて文字入力を行った場合でも意図した文字列を取得することができる。さらには、第1文字列と第2文字列に重複した文字列が存在する場合に、重複文字列が存在すると判定することで、当該重複文字列を削除することができる。よって、利用者の意図した文字列を容易に取得することが可能となり、利用者は効率的な文字入力を行うことができる。
【0057】
<3.動作例>
図4は動作例の文字入力装置10の処理の流れを示すフローチャートである。
図1、
図2、
図3、
図4を用いて、文字入力装置10の処理の流れを説明する。
【0058】
第1入力部21は、利用者が第1入力方式によって入力した第1文字列を受け付ける。第1入力部21は、第1文字列を検出部30に出力する。検出部30は、文字列取得部41に第1文字列を出力する(S101)。
【0059】
次に、第2入力部22は、利用者が第2入力方式によって入力した第2文字列を受け付ける。第2入力部22は、第2文字列を検出部30に出力する。検出部30は、文字列取得部41に第2文字列を出力する(S102)。
【0060】
文字列取得部41は、第1文字列と第2文字列とを文字列結合部42に出力する。文字列結合部42は、第1文字列と第2文字列とを結合し、第3文字列を作成する(S103)。
【0061】
文字列結合部42は、第1文字列の後尾側の文字列と、第2文字列の先頭側の文字列から重複文字列を判定する。文字列結合部42は、第1文字列と第2文字列から重複文字列を削除する(S104)。
【0062】
文字列結合部42は、重複文字列が削除された第4文字列を作成する(S105)。
【0063】
このように、利用者が複数の入力手段(第1入力部21、第2入力部22)を組み合わせて文字入力を行った場合でも意図した文字列を取得することができる。さらには、第1文字列と第2文字列に重複した文字列が存在する場合に、重複文字列が存在すると判定することで、当該重複文字列を削除することができる。
【0064】
言い換えれば、利用者は第1入力部21で入力した文字列と、第2入力部22で入力した文字列の重複文字列を意識せず、意図した文字列を容易に取得することが可能となる。すなわち、利用者は効率的に文字入力を行うことができる。
【0065】
<4.変形例1>
次に、変形例1に係る文字入力装置について、図を参照して説明する。構成例1においては、重複文字列を削除する処理のみを行うのに対して、変形例1では重複文字列が存在するかどうかを判定する処理を行っている点において異なる。その他の構成は、文字入力装置10と同様であり、同様の箇所の説明は省略する。
【0066】
図5は変形例1の文字入力装置10の処理の流れを示すフローチャートである。構成例1におけるステップS103の処理を実行した後、文字列結合部42は、重複文字列が存在するかどうかを判定する(S110)。
【0067】
文字列結合部42は、重複文字列が存在すると判定した場合(S110:Yes)、ステップS104の文字列結合部42は、第3文字から重複文字列を削除する処理を実行する。
【0068】
一方、文字列結合部42は、重複文字列が存在すると判定した場合(S110:No)、ステップS104の処理を実行せずに、第4文字列を作成する。すなわち、第4文字列は、第3文字列と同一の文字列である。言い換えれば、第4文字列は、第1文字列と第2文字列とを結合させる処理のみを行った文字列である。
【0069】
このような構成であっても、利用者が複数の入力手段(第1入力部21、第2入力部22)を組み合わせて文字入力を行った場合でも意図した文字列を取得することができる。
【0070】
すなわち、利用者の意図した文字列を容易に取得することが可能となり、利用者は効率的な文字入力を行うことができる。
【0071】
<5.構成例2>
次に、構成例2に係る文字入力装置について、図を参照して説明する。構成例2は、構成例1と比較して、文字入力装置10の制御部40がスコア算出部43、優先順位決定部44を備えている点において異なる。その他の構成は、文字入力装置10と同様であり、同様の箇所の説明は省略する。
【0072】
図6は構成例2の文字入力装置の構成を示すブロック図である。
図7は構成例2の文字入力装置の処理の流れを示す図である。
図8は構成例2の文字入力装置の処理の流れを示す図である。
図9は構成例2の文字入力装置の処理の流れを示すフローチャートである。
【0073】
制御部40は、文字列取得部41と、文字列結合部42と、スコア算出部43と、優先順位決定部44を備える。スコア算出部43は、語彙毎に区切られた文字列の共起関係を数値化する。より具体的には、スコア算出部43は、語彙Aと語彙Bが存在する場合に、語彙Aと語彙Bが同時に出現するスコアを算出する。
【0074】
(スコア算出の定義)
ここで、スコア算出部43が、第3文字列のスコアを算出する方法について説明する。文字列結合部42は、スコア算出部43によって算出されたスコアに応じて、重複文字列の判定を行う。言い換えれば、スコア算出部43は、重複文字列を削除するか否かを判定するための基準となるスコアを生成し、文字列結合部42は、このスコアに応じて重複文字列を削除するかどうかを決定する。スコアは、隣り合う語彙の共起頻度の和から求められる。
【0075】
なお、共起頻度は、例えば日本語共起辞書等から取得した共起状況情報を用いて算出される。この共起頻度は語彙(要素)毎にデータベース化されており、辞書DB60に保存されている。
【0076】
共起頻度は、数値が小さいほど同時に出現する確率が高いものとし、数値が大きければ同時に出現する確率は低いものとする。すなわち、スコア算出部43は、語彙Aと語彙Bの共起頻度を「10」とし、語彙Aと語彙Cの共起頻度を「100」とした場合、語彙Aと語彙Bが同時に出現する確率が高いと判定する。
【0077】
(スコアの算出方法および重複文字列の決定方法)
(1)文字列結合部42は、第3文字列の重複文字列を削除しない候補(第1候補)と、文字列を削除した候補(第2候補)とを辞書DB60から取得する。文字列結合部42は、それぞれの変換候補をスコア算出部43に出力する。
(2)スコア算出部43は、第1候補、および第2候補をそれぞれの形態素解析を行い、語彙単位で分割する。
(3)スコア算出部43は、第1候補、および第2候補における、隣り合う語彙毎の共起頻度を取得する。
(4)スコア算出部43は、変換候補としての文字列の共起頻度の和(スコア)を算出する。
(5)スコア算出部43は、変換候補毎のスコアを文字列結合部42に出力する。
(6)文字列結合部42は、スコアが最も小さい変換候補を選択する。
(7)文字列結合部42は、スコアに応じて重複文字列を削除し、第4文字列を作成する。
【0078】
図7、
図8を用いて、文字列結合部42が第4文字列を作成するより具体的な例を説明する。
【0079】
図7は、第1文字列を「おおさか」とし、第2文字列を「さかいしてんき」である例である。この際、文字列結合部42は、第3文字列として「おおさかさかいしてんき」、および「おおさかいしてんき」を作成する。この際、「おおさかさかいしてんき」の変換候補を第1候補とし、「おおさかいしてんき」の変換候補を第2候補とする。
【0080】
文字列結合部42は、第1候補「大阪堺市天気」をスコア算出部43に出力する。スコア算出部43は、第1候補「大阪堺市天気」の形態素解析を実行する。この際、スコア算出部43は、「大阪」、「堺市」、「天気」のように語彙毎に区切る。スコア算出部43は、「大阪」/「堺市」の共起頻度を「10」とし、「堺市」/「天気」の共起頻度を「10」とする。すなわち、スコア算出部43は、第1候補のスコア(第1スコア)を「20」と算出する。
【0081】
次に、文字列結合部42は、第2候補「大阪石天気」をスコア算出部43に出力する。スコア算出部43は、第2候補「大阪石天気」の形態素解析を実行する。この際、スコア算出部43は、「大阪」、「石」、「天気」のように語彙毎に区切る。スコア算出部43は、「大阪」/「石」の共起頻度を「200」とし、「石」/「天気」の共起頻度を「200」とする。すなわち、スコア算出部43は、第2候補のスコア(第2スコア)を「400」と算出する。
【0082】
スコア算出部43は、第1スコアと第2スコアを比較し、第1スコアが低いと判定する。すなわち、スコア算出部43は、第1候補「大阪堺市天気」が利用者の意図する変換候補であると判定する。スコア算出部43は、当該結果を優先順位決定部44に出力する。優先順位決定部44は、第1候補「大阪堺市天気」の優先順位を上げるように決定し、当該結果を文字列結合部42に出力する。
【0083】
文字列結合部42は、第1候補「大阪堺市天気」を表示制御部35に出力する。表示制御部35は、第1候補「大阪堺市天気」の優先順位を上げて入力表示部50に表示させる。
【0084】
図8は、第1文字列を「きょうとしどうぶ」とし、第2文字列を「どうぶつえん」である例である。この際、文字列結合部42は、第3文字列として「きょうとしどうぶどうぶつえん」、および「きょうとしどうぶつえん」を作成する。この際、「きょうとしどうぶどうぶつえん」の変換候補を第1候補とし、「きょうとしどうぶつえん」の変換候補を第2候補とする。
【0085】
文字列結合部42は、第1候補「京都指導部動物園」をスコア算出部43に出力する。スコア算出部43は、第1候補「京都指導部動物園」の形態素解析を実行する。この際、スコア算出部43は、「京都」、「指導」、「部」、「動物園」のように語彙毎に区切る。スコア算出部43は、「京都」/「指導」の共起頻度を「150」、「指導」/「部」の共起頻度を「150」、「部」/「動物園」の共起頻度を「200」とする。すなわち、スコア算出部43は、第1候補のスコア(第1スコア)を「500」と算出する。
【0086】
次に、文字列結合部42は、第2候補「京都市動物園」をスコア算出部43に出力する。スコア算出部43は、第2候補「京都市動物園」の形態素解析を実行する。この際、スコア算出部43は、「京都市」、「動物園」のように語彙毎に区切る。スコア算出部43は、「京都市」/「動物園」の共起頻度を「10」とする。すなわち、スコア算出部43は、第2候補のスコア(第2スコア)を「10」と算出する。
【0087】
スコア算出部43は、第1スコアと第2スコアを比較し、第2スコアが低いと判定する。すなわち、スコア算出部43は、第2候補「京都市動物園」が利用者の所望する変換候補であると判定する。スコア算出部43は、当該結果を優先順位決定部44に出力する。優先順位決定部44は、第2候補「京都市動物園」の優先順位を上げるように決定し、当該結果を文字列結合部42に出力する。
【0088】
文字列結合部42は、第2候補「京都市動物園」を表示制御部35に出力する。表示制御部35は、第2候補「京都市動物園」を優先的に入力表示部50に表示させる。
【0089】
次に、
図9を用いて、構成例2における文字入力装置10の処理の流れを説明する。なお、ステップS101からステップS103については、構成例1の構成と同様であるため、省略する。
【0090】
文字列結合部42は、重複文字列が存在するかどうかを判定する(S201)。文字列結合部42は、重複文字列が存在しないと判定した場合(S201:No)、第1文字列と第2文字列をそのまま結合し、第4文字列を作成する(S202)。言い換えれば、第3文字列を第4文字列であるとする。
【0091】
文字列結合部42は、第4文字列の変換候補を辞書DB60から取得する(S203)。
【0092】
一方、文字列結合部42は、重複文字列が存在すると判定した場合(S201:Yes)、第1候補と第2候補を作成する(S204)。文字列結合部42は、第1候補と第2候補とをスコア算出部43に出力する。
【0093】
スコア算出部43は、第1候補と第2候補の形態素解析を実行し、第1候補と第2候補とを語彙毎に区切る。また、スコア算出部43は、第1候補における語彙毎の共起頻度を算出する。同様に、スコア算出部43は、第2候補における語彙毎の共起頻度を算出する(S205)。
【0094】
スコア算出部43は、第1候補の共起頻度の和(第1スコア)、第2候補の共起頻度の和(第2スコア)を算出する。このことによって、スコア算出部43は、第1スコアと第2スコアとを比較する(S206)。スコア算出部43は、第1スコアと第2スコアを比較した結果を優先順位決定部44に出力する。
【0095】
優先順位決定部44は、第1スコアと第2スコアの比較結果から第1候補と第2候補との表示における優先順位を決定する(S207)。スコア算出部43は、第4文字列および第4文字列の変換候補を文字列結合部42に出力する。
【0096】
このような構成を備えることによって、利用者が複数の入力手段(第1入力部21、第2入力部22)を組み合わせて文字入力を行った場合でも意図した文字列を取得することができる。
【0097】
さらに、上述の構成では、重複文字列を機械的に削除することに限らず、語彙の繋がりに応じて、重複文字列を削除するかどうかを判定することができる。すなわち、利用者の意図した文字列を容易に取得することが可能となり、利用者はさらに効率的な文字入力を行うことができる。
【0098】
<6.構成例3>
次に、構成例3に係る文字入力装置について、図を参照して説明する。構成例3は、構成例2と比較して、スコア判定部が閾値とスコアを比較し、当該スコアに応じてワイルドカード検索を行う点において異なる。その他の構成は、文字入力装置10と同様であり、同様の箇所の説明は省略する。
【0099】
図10は構成例3の文字入力装置10による文字入力を行うイメージ図である。
図11は構成例3の文字入力装置10の処理の流れを示すフローチャートである。
【0100】
図10は、第1文字列を「おおさか」とし、第2文字列を「たいいくかん」である例である。この際、文字列結合部42は、第3文字列として「おおさかたいいくかん」を作成する。文字列結合部42は、第3文字列「おおさかたいいくかん」の変換候補「大阪体育館」を作成する。
【0101】
文字列結合部42は、変換候補「大阪体育館」をスコア算出部43に出力する。スコア算出部43は、変換候補「大阪体育館」の形態素解析を実行する。この際、スコア算出部43は、「大阪」、「体育館」のように語彙毎に区切る。スコア算出部43は、「大阪」/「体育館」の共起頻度を「200」(第1スコア)とする。
【0102】
この際、スコア算出部43は、第1スコアを予め設定した閾値と比較する。この閾値は、任意の値である。なお、この閾値は、辞書DB60等に保存されているデータと完全に一致する、または略一致する状態であれば低い値を設定する。一方、利用者が柔軟な検索を行いたい場合は高い閾値を設定するとよい。
【0103】
例えば、閾値が「50」であるとした場合、スコア算出部43は、「大阪」/「体育館」の第1スコアが「200」であることから、変換候補が利用者の意図する文字列ではないと判断する。言い換えれば、第1文字列「おおさか」と第2文字列「たいいくかん」との間に、文字列が不足していると判定する。すなわち、スコア算出部43は、第1文字列「おおさか」と第2文字列「たいいくかん」の間には、接続文字列が必要であると判定する。スコア算出部43は、当該結果を文字列結合部42に出力する。
【0104】
文字列結合部42は、第1文字列「おおさか」と第2文字列「たいいくかん」との間に、接続文字列「*」を追加する。すなわち、文字列結合部42は、接続文字列をワイルドカードとして追加する。文字列結合部42は、第3文字列を「おおさか*(ワイルドカード)たいいくかん」とし、変換候補を辞書DB60から検索する。文字列結合部42は、第1予測候補「大阪府立体育館」、第2予測候補「大阪市立体育館」を取得する。
【0105】
文字列結合部42は、第1予測候補「大阪府立体育館」、第2予測候補「大阪市立体育館」をスコア算出部43に出力する。スコア算出部43は、第1予測候補「大阪府立体育館」、第2予測候補「大阪市立体育館」の形態素解析を実行する。
【0106】
この際、スコア算出部43は、第1予測候補「大阪府立体育館」を「大阪」、「府立」、「体育館」のように語彙毎に区切る。スコア算出部43は、「大阪」/「府立」の共起頻度を「10」とし、「府立」/「体育館」の共起頻度を「10」とする。すなわち、スコア算出部43は、第1予測候補のスコアを「20」と算出する。
【0107】
同様に、スコア算出部43は、第2予測候補「大阪市立体育館」を「大阪」、「市立」、「体育館」のように語彙毎に区切る。スコア算出部43は、「大阪」/「市立」の共起頻度を「10」とし、「市立」/「体育館」の共起頻度を「15」とする。すなわち、スコア算出部43は、第2予測候補のスコアを「25」と算出する。
【0108】
スコア算出部43は、第1予測候補と第2予測候補のスコアを閾値と比較する。上述のとおり閾値が、スコア算出部43は、第1予測候補のスコアと第2予測候補のスコアを閾値と比較する。スコア算出部43は、第1予測候補および第2予測候補が利用者の意図した文字列であると判断し、これらの予測候補を文字列結合部42に出力する。
【0109】
文字列結合部42は、第1予測候補と第2予測候補を表示制御部35に出力する。表示制御部35は、入力表示部50に第1予測候補と第2予測候補を表示する。この際、表示制御部35は、第1予測候補と第2予測候補のうち、閾値が小さい予測候補を優先的に表示するよい。
【0110】
次に、
図11を用いて、構成例3における文字入力装置10の処理の流れを説明する。なお、ステップS101からステップS103およびステップS201およびステップS206については、構成例2の構成と同様であるため、省略する。
【0111】
文字列結合部42は、重複文字列が存在しないと判定した場合(S201:No)、第1文字列と第2文字列をそのまま結合し、第4文字列を作成する(S202)。文字列結合部42は、第4文字列の変換候補を辞書DB60から取得する(S203)。
【0112】
文字列結合部42は、第4文字列の変換候補をスコア算出部43に出力する。スコア算出部43は、スコアが閾値以上であるかどうかを判定する(S301)。
【0113】
スコア算出部43は、スコアが閾値以上であると判断した場合(S301:Yes)、変換候補が利用者の意図する文字列ではないと判断する。スコア算出部43は、当該結果を文字列結合部42に出力する。
【0114】
文字列結合部42は、第1文字列と第2文字列との間に、接続文字列(ワイルドカード)「*」を追加し、変換候補を辞書DB60から検索する(S303)。文字列結合部42は、ステップS303を実行した後、再度ステップS202を実行する。
【0115】
一方、スコア算出部43は、スコアが閾値以下であると判断した場合(S301:No)、変換候補が利用者の意図する文字列であると判断する。スコア算出部43は、第4文字列を確定する(S302)。スコア算出部43は、第4文字列および第4文字列の変換候補を文字列結合部42に出力する。
【0116】
このような構成を備えることによって、利用者が複数の入力手段(第1入力部21、第2入力部22)を組み合わせて文字入力を行った場合でも意図した文字列を取得することができる。
【0117】
さらに、上述の構成では、第1文字列と第2文字列との間に文字列が不足していると判断した場合には、ワイルドカード検索を行うことができる。すなわち、利用者の意図した文字列を容易に取得することが可能となり、利用者はさらに効率的な文字入力を行うことができる。
【0118】
<7.変形例2>
次に、変形例2に係る文字入力装置について説明する。変形例4は、構成例1と比較して、構成例1に係る入力モードが仮名入力モードであるのに対して、変形例2は英字入力モードである点において異なる。その他の構成は、文字入力装置10と同様であり、同様の箇所の説明は省略する。
【0119】
図12に示すように、構成例2に係る文字入力装置10は、構成例1に係る文字入力装置10における第1入力部21が仮名入力モードであり、第2入力部22が日本語入力を受け付けるのに対して、変形例2は第1入力部21が英字入力モードであり、第2入力部22が英語音声入力を受け付ける点において異なる。文字入力装置10の他の構成は、文字入力装置10と同様であり、同様の箇所の説明は省略する。なお、
図12における第1入力部21は、12キーボード(テンキー)を用いているが、QWERTYキーボード配置であってもよい。
【0120】
なお、以下に第1入力部21、第2入力部22が英字入力モードである例として説明する。しかしながら、文字列として入力される言語の種類は、英字入力モードに限らず、他の種類の言語であってもよい。言語の種類は、例えば、文字列として入力したい言葉(所望の文字列)の発音表記をユーザに入力させる方式である中国語であってもよいし、文字列として入力したい言葉のスペルを入力する方式であるドイツ語等であってもよい。
【0121】
第1入力部21は、第1文字「Kyoto City Z」を受け付ける。次に、第2入力部22は、第2文字「Zoo」を受け付ける。
【0122】
文字列結合部42は、第3文字列「Kyoto City Z Zoo」から重複文字列「Z」を削除する。このことによって、文字列結合部42は、第4文字列「Kyoto City Zoo」を作成する。
【0123】
すなわち、利用者が日本語以外の入力モードを用いて複数の入力手段(第1入力部21、第2入力部22)を組み合わせて文字入力を行った場合でも意図した文字列を取得することができる。さらには、第1文字列と第2文字列に重複した文字列が存在する場合に、重複文字列が存在すると判定することで、当該重複文字列を削除することができる。
【0124】
すなわち、利用者の意図した文字列を容易に取得することが可能となり、利用者は効率的な文字入力を行うことができる。
【0125】
なお、上述の例では、第1入力部21がソフトウェアキーボードを用いた文字入力とし、第2入力部22を音声入力であると説明した。しかしながら、第1入力部21が音声入力であり、第2入力部22がソフトウェアキーボードを用いた文字入力であってもよい。
【0126】
さらに、第1入力部21と第2入力部22は、ソフトウェアキーボードによる文字入力または音声入力であることに限らない。例えば、第1入力部21と第2入力部22は、手書き入力、ジェスチャー入力等であってもよい。
【0127】
なお、この発明は、上記例に対してそのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記例に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、上記例に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる例に亘る構成要素を適宜組み合せてもよい。
【0128】
さらに、この発明に係る構成と上述した構成との対応関係は以下の付記のように記載できる。
<付記>
文字入力装置(10)は、入力文字列を対応する変換文字列に変換する。文字入力装置(10)は、第1入力部(21)と、第2入力部(22)と、文字列結合部(42)とを備える。第1入力部(21)は、第1入力方式で第1文字列の入力を受け付ける。第2入力部(22)は、第1入力方式とは異なる第2入力方式で第2文字列の入力を受け付ける。文字列結合部(42)は、入力を受け付けた第1文字列に続けて、第2文字列の入力を受け付けた場合、今回入力を受け付けた第1文字列と第2文字列とを繋いで入力文字列の候補を生成する。また、文字列結合部は、第1文字列の後尾側と、第2文字列の先頭側とにおいて、一致する文字列を重複文字列として抽出し、重複文字列を抽出した場合、重複文字列を除いた第1文字列と、重複文字列を除いた第2文字列との間を重複文字列で繋いだ文字列を入力文字列の候補の1つとして生成する。
【符号の説明】
【0129】
10…文字入力装置
20…入力部
21…第1入力部
22…第2入力部
30…検出部
35…表示制御部
40…制御部
41…文字列取得部
42…文字列結合部
43…スコア算出部
44…優先順位決定部
50…入力表示部
60…辞書DB
100…カーナビゲーション