(57)【要約】      （修正有）【課題】多数ある文字列候補を、文字列候補を確認しながら少ない入力で絞り込むことにより効率良く文字列を入力できる文字列入力プログラムを提供する。【解決手段】入力装置から文字列入力を受け取り、文字列入力が絞込入力の場合は、絞込入力に対応する絞込文字列について、絞込文字列のいずれかの文字を含む文字列という絞込条件を満たす文字列を文字列入力プログラムの文字列候補から取り除く。【選択図】図１
2020004063.tif 000002
【特許請求の範囲】
【請求項１】
文字列入力プログラムにおいて、コンピュータに下記機能を実現させるためのプログラム。
入力装置から文字列入力を受け取り、文字列入力が絞込入力の場合は、絞込入力に対応する絞込文字列について「絞込文字列のいずれかの文字を含む文字列」という絞込条件を満たす文字列を文字列入力プログラムの文字列候補から取り除く機能。また本機能は、文字列候補の変更時にも、絞込条件を満たす文字列を文字列入力プログラムの文字列候補から取り除く。
【請求項２】
請求項１において、絞込条件が下記のいずれか、あるいはその組み合わせであるプログラム。
絞込文字列の全ての文字を含む文字列。
絞込文字列のいずれかひとつ以上の文字を含まない文字列。
絞込文字列のどの文字も含まない文字列。
絞込文字列と文字数が一致する文字列。
絞込文字列と文字数が一致しない文字列。
絞込文字列と同じ読みを文字列の読みとして含む文字列。
絞込文字列と同じ読みを文字列の読みとして含まない文字列。
絞込文字列と先頭文字の文字種類（漢字、平仮名、片仮名、記号、英数字など）が一致する文字列。
絞込文字列と先頭文字の文字種類が一致しない文字列。
絞込文字列と先頭文字の漢字の構成要素のいずれかが一致する文字列。
絞込文字列と先頭文字の漢字の部首が一致する文字列。
絞込文字列と先頭文字の漢字の構成要素が全て異なる文字列。
絞込文字列と先頭文字の漢字の部首が異なる文字列。
絞込文字列と先頭文字の読みのいずれかが一致する文字列。
絞込文字列と先頭文字のいずれの読みも異なる文字列。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、装置への入力を文字列に変換する文字列入力プログラムに関する。
【背景技術】
【０００２】
スマートフォンやパソコン、ゲーム機などのコンピューターで文字や文章などの文字列を入力するときに使用する技術として、ソフトウェアキーボードやＦＥＰ、ＩＭ、ＩＭＥ、音声入力、手書き入力、文字認識プログラム（ＯＣＲ）と呼ばれるプログラム（以下、文字列入力プログラムと呼ぶ）がよく知られている。文字列入力プログラムは、キーボードやボタン、スイッチ、タッチパッド、タッチパネル、ペン、マウス、ポインティングデバイス、マイク、カメラ、ハードディスク、記憶装置など、使用者がコンピューターに入力するときに使用する装置（以下、入力装置と呼ぶ）からの入力（以下、文字列入力と呼ぶ）を文字列に変換する。
【０００３】
文字列入力プログラムの多くは、次のような一連の操作で文字列を入力する。
【０００４】
まず、ユーザーは入力装置を使用して、ローマ字や仮名、音声など、入力したい文字列に対応する一連の文字列入力を行う。
文字列入力プログラムは文字列入力を受け取ると、文字列入力に対応する単数あるいは複数の文字列の候補（以下、文字列候補と呼ぶ）を構成する。なお、文字列候補は使用者が識別可能なように、ディスプレイやスピーカーなどの出力を行う装置（以下、出力装置と呼ぶ）に出力する。
【０００５】
使用者は、出力装置に出力された文字列候補に入力したい文字列が含まれている時に、スペースキーや変換ボタン、タッチパネルのタッチやフリックなどの特定の操作を行ったり、あるいは音声などの入力が終了してから一定時間が経過させることで、文字列候補から文字列を選択し、入力を確定する（以下、選択した文字列を選択文字列、選択文字列を選択する文字列入力を選択入力と呼ぶ）。
【０００６】
このように、使用者は文字列入力の結果を文字列候補として確認しながら対話的に選択文字列を入力できるので、文字列入力プログラムの操作に習熟しなくても、文字列入力プログラムの反応を見ながら容易に文字列を入力することができる。そのため、文字列入力プログラムは多くの入力装置の文字入力手段に採用されている。
【０００７】
なお、文字列入力プログラムでは、キーボード、ジョイスティック、ボタン、タッチパネル、タッチパッド、マウス、ペン、ポインティングデバイス、音声入力、あるいはそれらの組み合わせなど、様々な入力装置が使用されている。同様に文字列入力や選択入力などの文字列入力も、キーボードのキーやボタンなどの押下／押上や、タッチパッドやタッチパネルのタッチやフリック、ドラッグ、ジェスチャーや、ペンによる入力、マイクからの音声入力など、入力装置への操作として用いられる様々な入力が使用されている。なお、フリック入力は上下左右の四方向であることが多いが、斜めを加えた八方向、十二方向、十六方向など、方向を細分化したフリック入力も可能とする。また、フリックの途中で進行方向を変更するカーブフリックもフリックに含まれる。
【０００８】
また、文字列入力プログラムには、文字列入力の一部から文字列候補を予測して構成する予測変換や、文字列入力を一部間違えても正しいと思われる文字列候補を予測して構成する曖昧変換など、使用者の期待する文字列が文字列候補になるようにする技術もよく用いられている。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】ウィキペディア「日本語入力システム」ｈｔｔｐｓ：／／ｊａ．ｗｉｋｉｐｅｄｉａ．ｏｒｇ／ｗｉｋｉ／％Ｅ６％９７％Ａ５％Ｅ６％９Ｃ％ＡＣ％Ｅ８％ＡＡ％９Ｅ％Ｅ５％８５％Ａ５％Ｅ５％８Ａ％９Ｂ％Ｅ３％８２％Ｂ７％Ｅ３％８２％Ｂ９％Ｅ３％８３％８６％Ｅ３％８３％Ａ０
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし従来の文字列入力プログラムでは、文字列候補の数が増えると、多数の文字列候補の中から選択文字列を見つけるのが困難になり、結果として文字列の入力の効率が悪くなっていた。日本語は同音異義語が多いため、ローマ字や仮名など文字列の読みで一連の入力を行うと文字列候補の数が多くなり、その中から選択文字列を選択するのが困難な場合があった。また、文字列入力プログラムが文字列候補の予測変換や曖昧変換に対応している場合、文字列候補の数が更に増え、選択文字列を見つけるのが困難になっていた。また音声入力でも、同音異義語や曖昧な発音、予測変換・曖昧変換などにより文字列候補の数が増え、その中から選択文字列を見つけるのが困難だった。
【００１１】
本発明は、多数ある文字列候補を、文字列候補を確認しながら少ない入力で絞り込むことにより、効率良く文字列を入力できるようにすることを目的とする。
【課題を解決するための手段】
【００１２】
本発明では、上記目的を達成するために、文字列入力プログラムを、コンピュータに下記機能を実現させるためのプログラムとした。
入力装置から文字列入力を受け取り、文字列入力が絞込入力の場合は「絞込入力に対応する文字列候補の文字列（以下、絞込文字列と呼ぶ）のいずれかの文字を含む文字列」という条件（以下、絞込条件と呼ぶ）を満たす文字列を文字列入力プログラムの文字列候補から取り除く機能。また本機能は、文字列候補の変更時にも、絞込条件を満たす文字列を文字列候補から取り除く。
【００１３】
本発明における入力装置は、従来から文字列入力プログラムで使用されている装置を使用することができる。例えば、入力装置はキーボード、ジョイスティック、ボタン、タッチパネル、タッチパッド、マウス、ペン、ポインティングデバイス、音声入力、あるいはそれらの組み合わせなどを使用することができる。同様に、本発明における出力装置は、従来から文字列入力プログラムで使用されている装置を使用することができる。例えば、ディスプレイやスピーカーなどを使用することができる。ただし、これらはあくまで例であり、これらに限るものではない。
【００１４】
また本発明における文字列入力プログラムは、従来から文字列入力プログラムとして使用されているプログラムを使用することができる。例えば、ソフトウェアキーボードやＦＥＰ、ＩＭ、ＩＭＥ、音声入力、手書き入力、文字認識プログラム（ＯＣＲ）、仮名漢字変換ソフト、ローマ字入力ソフト、などを使用することができる。ただし、これらはあくまで例であり、これらに限るものではない。
【００１５】
また本発明では、文字列入力の一部をあらかじめ絞込入力として設定する。例えば、キーボードの特定のキーやボタンなどの押下／押上や、タッチパネルの特定領域やタッチパッドのタッチやフリック、ドラッグ、ジェスチャーや、ペンによる入力、マイクからの音声入力、などの入力の一部を絞込入力として設定する。また、絞込入力の設定は使用者が変更することもできる。
【００１６】
また本発明では、前述の絞込条件「絞込文字列のいずれかの文字を含む文字列」を、
絞込文字列の全ての文字を含む文字列、
絞込文字列のいずれかひとつ以上の文字を含まない文字列、
絞込文字列のどの文字も含まない文字列、
絞込文字列と文字数が一致する文字列、
絞込文字列と文字数が一致しない文字列、
絞込文字列と同じ読みを文字列の読みとして含む文字列、
絞込文字列と同じ読みを文字列の読みとして含まない文字列、
絞込文字列と先頭文字の文字種類（漢字、平仮名、片仮名、記号、英数字など）が一致する文字列、
絞込文字列と先頭文字の文字種類が一致しない文字列、
絞込文字列と先頭文字の漢字の構成要素のいずれかが一致する文字列、
絞込文字列と先頭文字の漢字の部首が一致する文字列、
絞込文字列と先頭文字の漢字の構成要素が全て異なる文字列、
絞込文字列と先頭文字の漢字の部首が異なる文字列、
絞込文字列と先頭文字の読みのいずれかが一致する文字列、
絞込文字列と先頭文字のいずれの読みも異なる文字列、
のいずれかにすることができる。
【００１７】
また本発明における絞込条件の文字は、同一の文字でなく字形が類似する文字も同じ文字として扱うことがある。また、一般にあいまい検索と呼ばれる技術で類似文字として扱われる文字も同じ文字として扱うことがある。
【００１８】
この結果、使用者は従来の文字列入力プログラムの操作に加えて、文字列候補が多数あるときに、文字列候補を絞込文字列として絞込入力を行うことにより文字列候補を絞り込むことができ、文字列候補から効率的に選択文字列を探すことができる。
【００１９】
なお、絞込文字列は複数の文字列を指定することができる。この場合、使用者は絞込入力を繰り返し行うことで、複数の文字列を絞込文字列として入力することができる。複数の絞込文字列が指定された場合、全ての絞込文字列が絞込条件を満たす必要がある（以下、論理積の関係と呼ぶ）のか、あるいはいずれかの絞込文字列が絞込条件を満たせば良い（以下、論理和の関係と呼ぶ）のかは、それぞれの絞込条件ごとに設定することができる。なお、論理積の関係の絞込文字列は、論理積の共通部分の文字からなる絞込文字列に置き換えることがある。同様に、論理和の関係の絞込文字列は、論理和全体の文字からなる絞込文字列に置き換えることがある。
【００２０】
この結果、使用者は繰り返し絞込入力を行うことにより、段階的に文字列候補を絞り込むことができる。
【００２１】
また、絞込文字列ごとに異なる絞込条件を対応させることがある。この場合、絞込入力の種類によって絞込条件を切り替えるものとする。例えば、フリック入力の方向や、ボタン、キーボードのキー、ジェスチャーなどをそれぞれ別の絞込入力に割り当て、それぞれの絞込入力ごとに絞込条件を変更する。
【００２２】
この結果、使用者は絞込入力を切り替えることにより、絞込文字列に合わせて絞込条件を指定することができる。
【００２３】
また、複数の絞込文字列と絞込条件の組がある時に、それぞれの絞込条件（あるいは絞込条件と絞込文字列の組）に優先順位が設定されていることがある。この場合、優先順位の高い絞込条件（あるいは絞込条件と絞込文字列の組）を適用した文字には、優先順位の低い絞込条件を適用しない。
【００２４】
例として、「絞込文字列のいずれかの文字を含む文字列」という絞込条件Ａに「１２ａｄ」という絞込文字列Ａが、「絞込文字列のどの文字も含まない文字列」という絞込条件Ｂに「１２ｂｃ」という絞込文字列Ｂが指定されており、絞込条件Ａの方が絞込条件Ｂよりも優先順位が高く、かつ絞込条件Ａと絞込条件Ｂが論理和の関係となっている場合を考える。この場合、実際に適用される絞込み条件は、絞込文字列Ａに含まれる文字「１２ａｄ」のいずれかの文字を含むか、あるいは絞込文字列Ｂから絞込文字列Ａの文字を除いた文字「ｂｃ」のどの文字も含まない文字列、となる。
【００２５】
なお、絞込条件Ａと絞込条件Ｂの優先順位が逆の場合、実際に適用される絞込み条件は、絞込文字列Ｂに含まれる文字「１２ｂｃ」のどの文字も含まないか、あるいは絞込文字列Ａから絞込文字列Ｂに含まれる文字を除いた「ａｄ」のいずれかの文字を含む文字列、となる。
【００２６】
絞込条件の優先順位は、（Ａ）絞込条件毎にあらかじめ設定されている場合、（Ｂ）絞込入力の入力の順番が先の絞込条件と絞込文字列の組の優先順位が高い場合、（Ｃ）絞込入力の入力の順番が先の絞込条件と絞込文字の組の優先順位が低い場合、がある。
【００２７】
なお、絞込条件が同じ複数の絞込文字列に優先順位が設定されることがある。例えば、絞込条件が「絞込文字列のいずれかの文字を含む文字列」という条件で、絞込入力の早いほうの優先順位が高く、かつ絞込条件の絞込文字列の関係が論理積となる場合において、絞込文字列に「１２ａｄ」と「１２ｂｃ」が順番に入力された時を考える。この場合、実際に適用される絞込み条件は、絞込文字列Ａに含まれる文字「１２ａｄ」のいずれかを含み、かつ絞込文字列Ｂから絞込文字列Ａの文字を除いた文字「ｂｃ」のいずれかを含む文字列となる。
【００２８】
この結果、使用者は互いに排他的な複数の絞込条件と絞込文字列を組み合わることができるようになり、複雑な絞込条件を指定することができる。
【００２９】
また、絞込文字列として、文字列候補の文字列ではなく、文字列候補の文字列に含まれる文字を指定することがある。
【００３０】
この結果、使用者は文字列単位ではなく文字単位で絞込文字を指定できるので、より精度の高い文字列候補の絞り込みを行うことができる。
【発明の効果】
【００３１】
本発明では、従来の文字列入力プログラムに加えて、多数ある文字列候補を、絞込入力により文字列候補を操作して効率的に絞り込むことができるようになるため、従来の文字列入力プログラムよりも効率的に文字列を入力することができる。
【図面の簡単な説明】
【００３２】
【図１】本発明の実施形態を示すプログラムの構成図
【図２】同プログラムを実行するスマートフォンの表示画面図
【図３】同プログラムを実行するスマートフォンの詳細表示画面図
【発明を実施するための形態】
【００３３】
以下、本発明を具体化した実施形態を説明する。
【００３４】
図１は、本実施形態にかかる文字列入力プログラムを示す図である。
【００３５】
本実施形態は、入力装置１０１、文字列処理部１１１、文字列候補部１１２、候補絞込部１１３、から構成される。
【００３６】
本実施形態では、入力装置１０１はタッチパネルのついたスマートフォン、文字列処理部１１１はタッチパネルを用いたソフトウェアキーボード（文字列入力プログラム）とする。入力装置１０１や文字列処理部１１１は従来の文字列入力プログラムで使われている入力装置やソフトウェアキーボードのプログラムを流用しており、本実施形態はそれらと連携して機能を実現している。
【００３７】
図２は、本実施形態における入力装置１０１のタッチパネルの入力画面を示す図である。タッチパネルには、文字列処理部１１１への文字列入力を行う入力領域２０１があり、入力領域２０１の内部に文字列候補の表示及び選択入力を行う候補領域２０２がある。
【００３８】
入力処理部１１１は、入力装置１０１から文字列入力１０２を受け取ると、その入力が絞込入力かどうかを判定する。本実施形態では、候補領域２０２を起点とした右フリック入力、あるいは左フリック入力が絞込入力として設定されている。入力処理部１１１は、文字列入力１０２が候補領域２０２を起点とした右フリック入力、あるいは左フリック入力の場合、文字列入力１０２を絞込入力として扱い、それ以外の入力の場合はソフトウェアキーボードの文字列入力として処理する。
【００３９】
文字列処理部１１１は、右フリックまたは左フリックの文字列入力１０２を受け取ると、フリックの始点にある絞込文字列、及び絞込入力の種類を識別するための情報を組み合わせた絞込データ１１４を候補絞込部１１３に送る。
【００４０】
本実施例では、絞込データには優先順位が設定されており、左フリックの絞込データは右フリックの絞込データよりも優先順位が高い。また、右フリックの絞込文字列には論理和の関係が、左フリックの絞込文字列には論理積の関係が設定されている。候補絞込部１１３は、左フリックの絞込文字列の文字の集合の論理積と一致する絞込文字列（以下、左フリック絞込文字列と呼ぶ）を記録することで、左フリックの絞込文字列の論理積の関係を管理する。同様に、候補絞込部１１３は、右フリックの絞込文字列の文字の集合の論理和と一致する絞込文字列（以下、右フリック絞込文字列と呼ぶ）を記録することで、右フリックの絞込文字列の論理和の関係を管理する。候補絞込部１１３は、絞込データ１１４を受け取ると、絞込データ１１４の絞込入力の種類が右フリックの場合、絞込データ１１４を絞込文字列から左フリック絞込文字列にある文字を取り除いた文字の集合を右フリック絞込文字列に追加する。同様に、絞込データ１１４の絞込入力の種類が左フリックの場合、絞込データ１１４を絞込文字列に含まれない文字を左フリック絞込文字列から取り除く。ただし、左フリック絞込文字列が空文字列の場合は、絞込データ１１４の絞込文字列を左フリック絞込文字列に追加する。
【００４１】
次に候補絞込部１１３は、絞込データ１１４の絞込入力の種類に対応する絞込条件を調べ、絞込入力に対応する条件を満足する文字列を文字列候補部１１２の文字列候補から取り除く。
【００４２】
本実施例では、右フリック及び左フリックにはそれぞれ異なる条件が絞込条件として設定されている。右フリックには絞込条件として「絞込文字列の文字のいずれかを含む文字列」が設定されており、左フリックには絞込条件として「絞込文字列のどの文字も含まない文字列」が設定されている。よって候補絞込部１１３は、右フリック絞込文字列にある文字を含む文字列と、左フリック絞込文字列にある文字列を含まない文字列を文字列候補から取り除く。
【００４３】
また文字列処理部１１１は、文字列候補部１１２の文字列候補を変更した時に、候補絞込部１１３に変更した旨の通知をする。候補絞込部１１３は、文字列処理部１１１からその通知を受けると、右フリック絞込文字列にある文字を含む文字列と、左フリック絞込文字列にある文字列を含まない文字列を文字列候補から取り除く。
【００４４】
なお文字列処理部１１１は、確定入力により入力する文字列が確定した時、あるいは文字列入力が取り消された時に、候補絞込部１１３に絞込データが無効になった旨の通知をする。候補絞込部１１３は、文字列処理部１１１からその通知を受けると、右フリック絞込文字列と左フリック絞込文字列を空の文字列に変更する。
【００４５】
なお、本実施形態の絞込条件は、設定により次のいずれかの条件に切り替えることができる。
（１）絞込文字列の全ての文字を含む文字列。
（２）絞込文字列のいずれかの文字を含まない文字列。
（３）絞込文字列と文字数が一致する文字列。
（４）絞込文字列と文字数が一致しない文字列。
（５）絞込文字列と同じ読みを文字列の読みとして含む文字列。
（６）絞込文字列と同じ読みを文字列の読みとして含まない文字列。
（７）絞込文字列と先頭文字の文字種類（漢字、平仮名、片仮名、記号、英数字など）が一致する文字列。
（８）絞込文字列と先頭文字の文字種類が一致しない文字列。
（９）絞込文字列と先頭文字の漢字の構成要素のいずれかが一致する文字列。
（１０）絞込文字列と先頭文字の漢字の部首が一致する文字列。
（１１）絞込文字列と先頭文字の漢字の構成要素が全て異なる文字列。
（１２）絞込文字列と先頭文字の漢字の部首が異なる文字列。
（１３）絞込文字列と先頭文字の読みのいずれかが一致する文字列。
（１４）絞込文字列と先頭文字のいずれの読みも異なる文字列。
【００４６】
また本実施形態では、設定により、前述の機能に加え、使用者が候補領域２０２を長押しすると、その長押しした場所にある絞込文字列に含まれる文字を一文字ずつ絞込文字列としてタッチパネルのボタンに対応付けて表示する詳細入力画面に切り替わる機能を有効にすることができる。図３は、本実施形態における入力装置１０１のタッチパネルの詳細入力画面を示す図である。タッチパネルには、長押しにより選択された絞込文字列を構成する文字を一文字ずつ表示するボタンを複数配置した絞込文字入力領域３０１がある。
【００４７】
本実施例では、絞込文字入力領域３０１のボタンへのタッチには絞込条件として「絞込文字列のどの文字も含まない文字列」が設定されている。
【００４８】
使用者が絞込文字入力領域３０１のボタンをタッチすると、入力装置１０１はそのタッチ入力を文字列入力１０２として文字列処理部１１１に入力を送る。入力処理部１１１は、タッチ入力を受け取ると、そのタッチしたボタンに対応付けられた絞込文字列、及び絞込入力の種類を識別するための情報を組み合わせた絞込データ１１４を候補絞込部１１３に送る。以降は左フリックを行った場合と同様の処理を行う。
【００４９】
以上のように、本実施形態によれば、従来の文字列入力プログラムに加えて、多数ある文字列候補を、絞込入力により文字列候補を操作して効率的に絞り込むことができるようになるため、従来の文字列入力プログラムよりも効率的に文字列を入力することが可能となる。
【符号の説明】
【００５０】
１０１  入力装置
１０２  文字列入力
１１１  文字列処理部
１１２  文字列候補部
１１３  候補絞込部
１１４  絞込データ
２０１  入力領域
２０２  候補領域
３０１  絞込文字入力領域
【図１】
2020004063.tif 000003
【図２】
2020004063.tif 000004
【図３】
2020004063.tif 000005