JP6821751B2 - 仮想キーボードの誤タイピングを補正するための方法、システム、およびコンピュータプログラム - Google Patents

仮想キーボードの誤タイピングを補正するための方法、システム、およびコンピュータプログラム Download PDF

Info

Publication number
JP6821751B2
JP6821751B2 JP2019133605A JP2019133605A JP6821751B2 JP 6821751 B2 JP6821751 B2 JP 6821751B2 JP 2019133605 A JP2019133605 A JP 2019133605A JP 2019133605 A JP2019133605 A JP 2019133605A JP 6821751 B2 JP6821751 B2 JP 6821751B2
Authority
JP
Japan
Prior art keywords
typing
key
point
typing point
erroneous
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019133605A
Other languages
English (en)
Other versions
JP2020013577A (ja
Inventor
昇潤 李
昇潤 李
憲 金
憲 金
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Naver Corp
Original Assignee
Naver Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Naver Corp filed Critical Naver Corp
Publication of JP2020013577A publication Critical patent/JP2020013577A/ja
Application granted granted Critical
Publication of JP6821751B2 publication Critical patent/JP6821751B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0236Character input methods using selection techniques to select from displayed items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Input From Keyboards Or The Like (AREA)
  • User Interface Of Digital Computer (AREA)

Description

以下の説明は、仮想キーボードの誤タイピングを補正する技術に関し、より詳細には、正タイピングと誤タイピングとを判別するアルゴリズムおよび各キーのタイピングポイント領域をモデリングするアルゴリズムを機械学習と融合させることで仮想キーボードの誤タイピングを補正する技術を提供する。
技術発達に伴って急速に発展している携帯端末には、ユーザが多様な命令または情報を入力することができるよう、タッチパネル上に仮想キーボードが提供されている。
携帯端末に仮想キーボードを適用することにより、従来のハードウェアキーパッドの必要がなくなった。これにより、携帯端末のディスプレイ装置のサイズダウンはもちろん、外観の美しさも追及できるようになった。
仮想キーボードは、携帯端末の入力手段としてタッチパネルで表示され、ユーザからタッチ入力を受信する。
例えば、特許文献1(公開日2014年4月16日)には、仮想キーボード上のキー入力を認識する技術が開示されている。
ところが、携帯端末の画面サイズには制限があることから、仮想キーボードのボタンを大きくすることができず、触覚的フィードバックもなく、入力のときに指で画面が隠れてしまうなど、その使用性に多くの限界を抱えている。このような限界により、ハードウェアキーパッドよりも多くの誤タイピングが発生するようになる。
韓国公開特許第10−2014−0045489号公報
正タイピングと誤タイピングとを判別するアルゴリズムおよび各キーのタイピングポイント領域をモデリングするアルゴリズムを機械学習と融合させることで仮想キーボードの誤タイピングを補正する技術を提供する。
コンピュータシステムが実行する方法であって、前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記方法は、前記少なくとも1つのプロセッサが、仮想キーボードの各キーのキータッチによるタイピングポイント座標を収集する段階、前記少なくとも1つのプロセッサが、前記各キーの前記タイピングポイント座標を利用してタイピングポイント分布を分析することにより、個別化されたタイピングポイント領域を決定する段階、および前記少なくとも1つのプロセッサが、前記仮想キーボードでタッチが認識された場合、前記各キーの個別化されたタイピングポイント領域に基づいて、前記の認識されたタッチによる入力キーを予測する段階を含む、方法を提供する。
一側面によると、前記収集する段階は、前記仮想キーボードに順に発生したキータッチによるキーリストと、前記キーリストに含まれる各キーのキータッチによるタイピングポイント座標と、を収集する段階を含んでよい。
他の側面によると、前記収集する段階は、前記仮想キーボードに順に発生したキータッチによるキーリストを収集する段階、前記キーリストを利用して誤タイピングと前記誤タイピングに対応する正タイピングとを判別する段階、および前記誤タイピングと前記正タイピングとに該当する各キーのタイピングポイント座標を収集する段階を含んでよい。
また他の側面によると、前記判別する段階は、前記キーリストに含まれる削除キーを基準に、前記削除キーより前に記録された前キーリストと前記削除キーより後に記録された後キーリストとを構成する段階、および前記前キーリストと前記後キーリストとの間で互いに対応する位置の2つのキーが異なる場合、前記2つのキーのうちの前キーを誤タイピングとして分類する段階を含んでよい。
また他の側面によると、前記判別する段階は、前記キーリストに含まれる削除キーを基準に、前記削除キーの個数分だけ前記削除キーより前に記録された前キーリストと前記削除キーの個数分だけ前記削除キーより後に記録された後キーリストとを構成する段階、および前記前キーリストと前記後キーリストとの間で互いに対応する位置の2つのキーが、異なるとともに、前記仮想キーボード上で隣接する位置に配置されたキーである場合、前記2つのキーのうちの前キーを誤タイピングとして分類する段階を含んでよい。
また他の側面によると、前記決定する段階は、前記各キーの前記タイピングポイント分布に基づいて、該当のキーに対するタッチタイピングポイントの形態と近似する楕円式を見つけ出して前記個別化されたタイピングポイント領域を決定する段階を含んでよい。
また他の側面によると、前記決定する段階は、前記キーに対して収集されたタッチ座標を平均化することにより、タイピングポイント中心を計算する段階、前記タイピングポイント中心を原点とする座標平面において各四分面に含まれるタイピングポイント座標の個数であるタイピングポイント個数を計算する段階、前記タイピングポイント中心から、タイピングポイント個数が最も多い四分面のタイピングポイント標準偏差座標までの距離を長軸半径として決定する段階、前記タイピングポイント中心から、タイピングポイント個数が最も多い四分面と隣接する四分面のうち、タイピングポイント個数が多い四分面のタイピングポイント標準偏差座標までの距離を短軸半径として決定する段階、タイピングポイント個数が最も多い四分面の勾配角度である長軸勾配を計算する段階、および前記タイピングポイント中心、前記長軸半径、前記短軸半径、および前記長軸勾配によって生成される楕円領域を、該当のキーの個別化されたタイピングポイント領域として決定する段階を含んでよい。
また他の側面によると、前記予測する段階は、前記の認識されたタッチと対応するキー情報、タッチ情報、および前記個別化されたタイピングポイント領域をフィーチャ(feature)とする機械学習に基づいて、前記入力キーを予測する段階を含んでよい。
さらに他の側面によると、前記予測する段階は、前記の認識されたタッチと対応するキー情報、タッチ情報、および前記個別化されたタイピングポイント領域を入力ベクトルとして構成した機械学習モデルに基づいて、前記各キーが前記の認識されたタッチと対応するキーである確率を算出する段階、および前記各キーの確率に基づいて、前記の認識されたタッチに対して前記仮想キーボードの実際の入力キー値を返還する段階を含んでよい。
前記方法をコンピュータシステムに実行させるコンピュータプログラムが提供される。
コンピュータシステムであって、メモリ、および前記メモリに通信可能に接続され、前記メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、仮想キーボードの各キーのキータッチによるタイピングポイント座標を収集するデータ収集部、前記各キーの前記タイピングポイント座標を利用してタイピングポイント分布を分析することにより、個別化されたタイピングポイント領域を決定するタイピングポイント領域決定部、および前記仮想キーボードでタッチが認識された場合、前記各キーの個別化されたタイピングポイント領域に基づいて、前記の認識されたタッチによる入力キーを予測するキー予測部を備える、コンピュータシステムを提供する。
本発明の実施形態によると、正タイピングと誤タイピングとを判別するアルゴリズムおよび各キーのタイピングポイント領域をモデリングするアルゴリズムを機械学習と融合させることで、仮想キーボードの誤タイピングを補正することができる。
本発明の実施形態によると、仮想キーボードの各キーに対するタッチタイピングポイント分布を分析してユーザに個別化された各キーのタイピングポイント領域を見つけ出すことにより、効果的な誤タイピング補正をサポートすることができる。
本発明の一実施形態における、コンピュータシステムの内部構成の一例を説明するためのブロック図である。 本発明の一実施形態における、コンピュータシステムのプロセッサが含むことのできる構成要素の例を示した図である。 本発明の一実施形態における、コンピュータシステムが実行することのできる誤タイピング補正方法の例を示したフローチャートである。 本発明の一実施形態における、正タイピングと誤タイピングとを判別する過程を説明するためのフローチャートである。 本発明の一実施形態における、正タイピングと誤タイピングとを判別する過程を説明するための例示図である。 本発明の一実施形態における、正タイピングと誤タイピングとを判別する過程を説明するための例示図である。 本発明の一実施形態における、正タイピングと誤タイピングとを判別する過程を説明するための例示図である。 本発明の一実施形態における、仮想キーボードの各キーのタッチタイピングポイント分布を示した図である。 本発明の一実施形態における、仮想キーボードの各キーのタイピングポイント領域をモデリングする過程を示したフローチャートである。 本発明の一実施形態における、各キーのタッチタイピングポイントの形態を近似させる楕円式を見つけ出す過程を説明するための例示図である。
以下、本発明の実施形態について、添付の図面を参照しながら詳細に説明する。
本発明の実施形態は、仮想キーボードの誤タイピングを補正する技術に関する。
本明細書において具体的に開示される事項などを含む実施形態は、誤タイピング分析アルゴリズムおよびタイピングポイント分析アルゴリズムを機械学習と融合させて仮想キーボードの誤タイピングを補正することができ、これによって正確性、効率性、個別化、コスト節減などの側面において相当な長所を達成することができる。
図1は、本発明の一実施形態における、コンピュータシステムの内部構成の一例を説明するためのブロック図である。例えば、本発明の実施形態に係る誤タイピング補正システムは、図1のコンピュータシステム100によって実現されてよい。図1に示すように、コンピュータシステム100は、誤タイピング補正方法を実行するための構成要素として、プロセッサ110、メモリ120、永続的記録装置130、バス140、入力/出力インタフェース150、およびネットワークインタフェース160を含んでよい。
プロセッサ110は、仮想キーボードの誤タイピングを補正するための構成要素であって、命令語のシーケンスを処理することのできる任意の装置を含むか、あるいはその一部であってよい。プロセッサ110は、例えば、コンピュータプロセッサ、移動装置または他の電子装置内のプロセッサ、および/またはデジタルプロセッサを含んでよい。プロセッサ110は、例えば、サーバコンピュータデバイス、サーバコンピュータ、一連の複数のサーバコンピュータ、サーバファーム、クラウドコンピュータ、コンテンツプラットフォームなどに含まれてよい。プロセッサ110は、バス140を介してメモリ120と接続してよい。
メモリ120は、コンピュータシステム100によって使用されるか、あるいはこれから出力される情報を記録するための揮発性メモリ、永続的メモリ、仮想メモリ、または他のメモリを含んでよい。メモリ120は、例えば、RAM(random access memory)および/またはDRAM(dynamic RAM)を含んでよい。メモリ120は、コンピュータシステム100の状態情報のような任意の情報を記録するために使用されてよい。メモリ120は、例えば、仮想キーボードと関連する命令語を含むコンピュータシステム100の命令語を記録することに使用されてもよい。コンピュータシステム100は、必要な場合や適切な場合には、1つ以上のプロセッサ110を含んでよい。
バス140は、コンピュータシステム100の複数のコンポーネントが相互作用できるようにする通信基盤構造を含んでよい。バス140は、例えばコンピュータシステム100のコンポーネント間で、例えばプロセッサ110とメモリ120との間で、データを運んでよい。バス140は、コンピュータシステム100のコンポーネント間の無線通信媒体および/または有線通信媒体を含んでよく、並列、直列、または他のトポロジ配列を含んでよい。
永続的記録装置130は、(例えば、メモリ120に比べて)所定の延長された期間内にデータを記録するためにコンピュータシステム100によって使用されるようなメモリ、または他の永続的記録装置のようなコンポーネントを含んでよい。永続的記録装置130は、コンピュータシステム100内のプロセッサ110によって使用されるような不揮発性メモリを含んでよい。永続的記録装置130は、例えば、フラッシュメモリ、ハードディスク、光ディスク、または他のコンピュータ読み取り可能な媒体を含んでよい。
入力/出力インタフェース150は、キーボード、マウス、音声命令入力、ディスプレイ、または他の入力装置もしくは出力装置に対するインタフェースを含んでよい。構成命令および/または仮想キーボードと関連する入力が、入力/出力インタフェース150を経て受信されてよい。
ネットワークインタフェース160は、近距離ネットワークまたはインターネットのようなネットワークに対する1つ以上のインタフェースを含んでよい。ネットワークインタフェース160は、有線接続または無線接続に対するインタフェースを含んでよい。構成命令および/または仮想キーボードと関連する入力が、ネットワークインタフェース160を経て受信されてよい。
また、他の実施形態において、コンピュータシステム100は、図1の構成要素よりも多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、コンピュータシステム110は、上述した入力/出力インタフェース150と接続する入力/出力装置のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、GPS(Global Positioning System)モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。
以下、誤タイピング分析アルゴリズムおよびタイピングポイント分析アルゴリズムを機械学習と融合させて仮想キーボードの誤タイピングを補正する技術を提供する。
図2は、本発明の一実施形態における、コンピュータシステムのプロセッサが含むことのできる構成要素の例を示した図であり、図3は、本発明の一実施形態における、コンピュータシステムが実行することのできる誤タイピング補正方法の例を示したフローチャートである。
図2に示すように、プロセッサ110は、コンピュータシステム100のディスプレイに仮想キーボードを表示してよく、仮想キーボードの誤タイピングを補正するための構成要素として、データ収集部210、タイピングポイント領域決定部220、およびキー予測部230を備えてよい。このようなプロセッサ110の構成要素は、少なくとも1つのプログラムコードによって提供される制御命令にしたがってプロセッサ110によって実行される、互いに異なる機能の表現であってよい。例えば、プロセッサ110が、タッチによるタイピングポイントデータを収集するようにコンピュータシステム100を制御するために動作する機能的表現としてデータ収集部210が使用されてよい。プロセッサ110およびプロセッサ110の構成要素は、図3の誤タイピング補正方法が含む段階310〜340を実行してよい。例えば、プロセッサ110およびプロセッサ110の構成要素は、メモリ120が含むオペレーティングシステムのコードと上述した少なくとも1つのプログラムコードとによる命令を実行するように実現されてよい。ここで、少なくとも1つのプログラムコードは、誤タイピング補正方法を処理するように実現されたプログラムのコードに対応してよい。
誤タイピング補正方法は、図に示した順序どおりに発生ないこともあるし、段階の一部が省略あるいは追加される過程がさらに含まれることもある。
段階310において、プロセッサ110は、誤タイピング補正方法のためのプログラムファイルに記録されたプログラムコードをメモリ120にロードしてよい。例えば、誤タイピング補正方法のためのプログラムファイルは、図1を参照しながら説明した永続的記録装置130に記録されていてよく、プロセッサ110は、バスを介して永続的記録装置130に記録されたプログラムファイルからプログラムコードがメモリ120にロードされるようにコンピュータシステム110を制御してよい。このとき、プロセッサ110およびプロセッサ110が含むデータ収集部210、タイピングポイント領域決定部220、およびキー予測部230それぞれは、メモリ120にロードされたプログラムコードのうちの対応する部分の命令を実行して以後の段階320〜340を実行するためのプロセッサ110の互いに異なる機能的表現であってよい。段階320〜340の実行のために、プロセッサ110およびプロセッサ110の構成要素は、制御命令による演算を直接処理してもよいし、コンピュータシステム100を制御してもよい。
段階320において、データ収集部210は、仮想キーボードに順に入力されたキーリストを利用し、該当のタッチによるタイピングポイントデータとしてタッチ座標(以下、「タイピングポイント座標」と称する)を収集してよい。本発明では、仮想キーボードのキーごとにユーザに個別化されたタイピングポイント分布を分析してよく、このためには、ユーザが各キーをタッチしたタイピングポイント座標が一定数以上必要となる。データ収集部210は、順に発生したキータッチによるキーリストとともに、キーリストに含まれる各キーのキータッチによるタイピングポイント座標を収集してよい。特に、データ収集部210は、誤タイピング分析アルゴリズムを基盤に、キーリストで誤タイピングと誤タイピングに対応する正タイピングとを判別してよい。入力されたキーが誤タイピングと判断された場合、該当の入力座標に対するキーは、誤タイピングに対応する正タイピングにマッピングさせて利用してよい。このように、各キーのタイピングポイント座標は、今後にタイピングポイント分布を分析する過程で利用可能なデータとして収集してよい。
段階330において、タイピングポイント領域決定部220は、仮想キーボードの各キーのタイピングポイント座標を利用して該当のキーに対するタイピングポイント分布を分析することにより、該当のキーのタイピングポイント領域を決定してよい。言い換えれば、タイピングポイント領域決定部220は、仮想キーボードの各キーに正タイピングとして入力されたタイピングポイント座標はもちろん、誤タイピングとして入力された場合にも、誤タイピングのタイピングポイント座標を該当の誤タイピングと対応する正タイピングキーに対するタイピングポイントにマッピングさせて該当のキーのタイピングポイント分布を分析してよい。ユーザごとに異なる方法によってタイピングするし、各キーのタッチタイピングポイントも異なるため、ユーザのキータッチによるタイピングポイント座標に基づいてタッチタイピングポイント分布を分析するようになり、このようなタッチタイピングポイント分布に基づいて、タッチタイピングポイントの形態と近似する楕円領域を見つけ出し、これをユーザに個別化されたキータイピングポイント領域として決定してよい。指によるタッチタイピングポイント分布のほとんどは楕円形態に近いという仮定のもと、タイピングポイント領域決定部220は、仮想キーボードのキーごとにユーザ個人のタイピングポイント座標を利用して楕円形態のタイピングポイント領域を見つけ出してよい。
段階340において、キー予測部230は、仮想キーボードでタッチが認識された場合、タッチに対応するキー情報、タッチ情報、および各キーのタイピングポイント領域を利用した機械学習モデルに基づいて、認識されたタッチによる入力キーを予測してよい。このとき、キー情報には、タッチされたキーのコード値、タッチされたキーの面積(高さおよび幅)などが含まれてよく、タッチ情報には、タッチ座標(x,y)、タッチされた時点のコンピュータシステム100の勾配、以前のタッチとの時間間隔、タッチ面積、タッチ持続時間などが含まれてよい。勾配とは、コンピュータシステム100に含まれるオシロスコープやジャイロセンサなどから取得した勾配値(x,y,z)を意味してよい。
本発明では、DNN(deep Neural Network)に基づく機械学習モデルを構築してよく、このとき、キー情報、タッチ情報、およびタイピングポイント領域をフィーチャとする機械学習によって入力キーを予測してよい。機械学習モデルとは、事前に確保した学習データを活用しながら予め学習させたモデルであり、キー予測部230は、現在タッチがなされたキーに関するキー情報、タッチ情報、およびタイピングポイント領域を入力ベクトルとして構成した機械学習モデルに基づいて、仮想キーボードのそれぞれのキーが認識されたタッチと対応するキーである確率を算出してよく、算出された確率が最も高いキーを該当のタッチと対応する入力キーとして認識することにより、該当のキーを仮想キーボードの実際の入力キー値に返還してよい。一方、キー予測部230は、現在タッチがなされたキーに対して最も高い確率値が閾値未満である場合には、予測された値は正確でないと判断し、機械学習モデルが予測した入力キーを返還せず、入力された座標を基準として実際の入力キー値を返還してよい。あるいは、このような場合には、誤タイピングとして処理して誤タイピング通知を出力するか、あるいは他のキー入力を勧めることも可能である。
図4は、本発明の一実施形態における、正タイピングと誤タイピングとを判別する過程を説明するためのフローチャートである。
図4を参照すると、プロセッサ110は、仮想キーボードに順に入力されたキーリストを記録してよい(S401)。
仮想キーボードに含まれる各キーには、固有のコード値が定められており、キーリストには、タッチによって入力されたキーのコード値が順に記録されてよい。例えば、文字が入力される場合、字素単位のキーが入力されるため、順に入力される各字素のキーコードが記録されてよい。
プロセッサ110は、一定の時間を周期としてキーリストを収集してもよいし、あるいは文または段落単位でキーリストを収集してもよい。
プロセッサ110は、段階401において記録されたキーリストに削除キーが含まれているかを判断する(S402)。
プロセッサ110は、段階402の判断の結果、キーリストに削除キーが含まれている場合には、削除キーが2回以上連続して記録されているかを判断する(S403)。
プロセッサ110は、段階403の判断の結果、削除キーが連続して記録されておらず1回だけ記録されている場合には、削除キーを基準に、削除キー直前に記録されたキー(前キー)と削除キー直後に記録されたキー(後キー)を誤タイピング候補として分類する(S404)。
プロセッサ110は、段階403の判断の結果、削除キーが2回以上連続して記録されている場合、削除キーを基準に、連続する削除キーの個数分だけ削除キーより前に記録されたキーリスト(前キーリスト)と連続する削除キーの個数分だけ削除キーより後に記録されたキーリスト(後キーリスト)とを構成する(S405)。
プロセッサ110は、前キーリストと後キーリストとの間で共通するキーの集合である積集合が存在するかを判断する(S406)。
プロセッサ110は、段階406の判断の結果、前キーリストと後キーリストとの間に積集合が存在する場合には、積集合に該当するキーを取り除き、積集合の前後で互いに対応する位置のキーペアを誤タイピング候補として分類する(S407)。
プロセッサ110は、段階406の判断の結果、前キーリストと後キーリストとの間に積集合が存在しない場合には、前キーリストと後キーリストとの互いに対応する位置のキーペアを誤タイピング候補として分類する(S408)。積集合が存在しない場合には、削除キーの個数分だけ削除キーより前に記録されたキーリストのうち最初に記録されたキー(前キー)と削除キー直後に記録されたキー(後キー)とを誤タイピング候補として分類する。
プロセッサ110は、段階404、407、408において誤タイピング候補として分類された互いに対応する位置のキーペアが互いに異なるキーであるかを判断する(S409)。
プロセッサ110は、段階409の判断の結果、各誤タイピング候補の2つのキーが同じである場合には、2つのキーを正タイピングとして分類する。
プロセッサ110は、段階409の判断の結果、各誤タイピング候補の2つのキーが異なる場合には、該当の2つのキーが仮想キーボード上で互いに隣接する位置に配置されたキーであるかを判断する(S410)。
プロセッサ110は、段階410の判断の結果、各誤タイピング候補の2つのキーが隣接しない場合には、2つのキーを正タイピングとして分類する。
プロセッサ110は、段階410の判断の結果、各誤タイピング候補の2つのキーが隣接する場合には、2つのキーのうちの前キーを誤タイピングとして分類する(S411)。このとき、プロセッサ110は、誤タイピング候補の2つのキーのうちの前キーが誤タイピングとして分類された場合には、後キーを、該当の誤タイピングに対応する正タイピングとして分類する。
したがって、プロセッサ110は、仮想キーボード上で隣接するキーの干渉によって他のキーを誤って押し、これに気付いて修正した場合、該当の誤タイピングを見つけ出すことが可能となる。言い換えれば、プロセッサ110は、仮想キーボードに順に入力されたキーリストにおいて、削除キーより前に入力されたキーが削除キーより後に入力されたキーとは異なるとともに、2つのキーがキーボード上で互いに隣接する場合には、前キーを誤タイピングとして分類し、残りのキーを正タイピングとして分類してよい。
図5〜7は、本発明の一実施形態における、正タイピングと誤タイピングとを判別する過程を説明するための例示図である。
仮想キーボードで
Figure 0006821751
と入力した後、入力した文字列から
Figure 0006821751
を削除し、
Figure 0006821751
を修正入力した場合を仮定する。
上述したような過程のキータッチにより、図5に示すように、キーが順に入力されたキーリスト500が収集されるようになる。
このとき、削除キー51は、実際にキーが入力された数だけ記録されるか、あるいは削除された文字の字素数だけ記録されてよい。削除キーが1度だけ入力されたときには、字素単位で削除されるか、あるいは、2つ以上の字素からなる音節単位が削除されてよく、場合によっては(削除キーをロングタッチする場合など)、単語単位以上が一括削除されてもよいため、このような場合を考慮した上で、削除された文字の字素数分だけの削除キー51がキーリスト500に記録されてよい。
プロセッサ110は、図5に示すように、キーリスト500において削除キー51を基準に、削除キー51の個数分だけの前キーリスト510と削除キー51の個数分だけの後キーリスト520とを構成してよい。
次に、プロセッサ110は、図6に示すように、前キーリスト510と後キーリスト520との互いに対応する位置でキーが同じである積集合601を見つけ出した後、積集合601の前/後で互いに対応する位置のキーペアを誤タイピング候補602として分類する。
プロセッサ110は、各誤タイピング候補602の2つのキーが異なる字素であるとともに、仮想キーボード上で隣接する位置に配置されたキーである場合には、2つのキーのうち、前キーリスト510に属するキーを誤タイピングとして分類する。
図7を参照すると、プロセッサ110は、上述した誤タイピング分析過程によってキーリスト500で正タイピング71と誤タイピング72とを判別し、正タイピング71および誤タイピング72として分類されたキーのタイピングポイント座標をタイピングポイント分布の分析に活用してよい。このとき、誤タイピング72として分類されたキーのタイピングポイント座標は、誤タイピング72に対応する正タイピングのタイピングポイント分布の分析に活用されてよい。
図8は、仮想キーボード800を構成する各キー810に対し、正タイピングおよび誤タイピングとして認識されたタイピングポイント座標801を示した図である。
図8に示すように、仮想キーボード800を利用する個人の把持法や、仮想キーボード800が表示されるディスプレイのサイズなどにより、ユーザごとに各キー810に対するタイピングポイント座標801の分布が異なる。
仮想キーボード800を利用するユーザ個人のタッチタイピングポイント分布を分析し、これを誤タイピングの補正に活用することが可能である。
図9は、本発明の一実施形態における、仮想キーボードの各キーのタイピングポイント領域をモデリングする過程を示したフローチャートである。
プロセッサ110は、各キーのタッチタイピングポイント分布の形態と近似する楕円式を見つけ出すアルゴリズムを利用してよい。
図9のタイピングポイント領域モデリング過程は、仮想キーボードの各キーに対して同じように実行されてよい。以下では、図10のような形態でタイピングポイント座標1001が分布されたキー1010の例について説明する。
プロセッサ110は、仮想キーボードのキー1010に対し、正タイピングおよび誤タイピングとして分類されたタイピングポイント座標1001を収集してよい(S901)。
プロセッサ110は、仮想キーボードのキー1010に対して収集されたタイピングポイント座標1001を利用してタイピングポイント中心1020を計算してよい(S902)。プロセッサ110は、キー1010に対する正タイピングおよび誤タイピングのタイピングポイント座標1001を平均化することにより、タイピングポイント中心1020を計算してよい。
[タイピングポイント中心=(avgX、avgY)]
プロセッサ110は、タイピングポイント中心1020を原点として座標平面を四等分した各四分面のタイピングポイント座標1001を利用して各四分面のタイピングポイント標準偏差を計算してよい(S903)。
[第1四分面タイピングポイント標準偏差=(devX1、devY1)、第2四分面タイピングポイント標準偏差=(devX2、devY2)、第3四分面タイピングポイント標準偏差=(devX3、devY3)、第4四分面タイピングポイント標準偏差=(devX4、devY4)]
プロセッサ110は、タイピングポイント中心1020から各四分面のタイピングポイント標準偏差座標までの距離を計算してよい(S904)。タイピングポイント中心1020からタイピングポイント標準偏差座標までの距離は、楕円の長軸半径および短軸半径の候補となってよい。
[第1四分面距離(r1)=dist(avgX、avgY、avgX+σ×devX1、avgY−σ×devY1)、第2四分面距離(r2)=dist(avgX、avgY、avgX+σ×devX2、avgY−σ×devY2)、第3四分面距離(r3)=dist(avgX、avgY、avgX+σ×devX3、avgY−σ×devY3)、第4四分面距離(r4)=dist(avgX、avgY、avgX+σ×devX4、avgY−σ×devY4)]。ここで、シグマ(σ)は、楕円の大きさがタイピングポイントをどのくらい含ませるように描かれるのかに対する決定変数であり、統計的に約1.64であれば90%、1.96であれば95%、2.58であれば99%のタイピングポイントを含む楕円を描くようになる。
プロセッサ110は、各四分面に含まれるタイピングポイント座標1001の個数を計算してよい(S905)。
[第1四分面タイピングポイント個数=n1、第2四分面タイピングポイント個数=n2、第3四分面タイピングポイント個数=n3、第4四分面タイピングポイント個数=n4]
プロセッサ110は、タイピングポイント個数が最も多い四分面のタイピングポイント標準偏差座標までの距離を長軸半径1031として決定してよい(S906)。例えば、第4四分面のタイピングポイント個数が最も多い場合、タイピングポイント中心1020から第4四分面のタイピングポイント標準偏差座標までの距離、すなわち、r4が長軸半径1031として決定される。
プロセッサ110は、タイピングポイント個数が最も多い四分面の勾配角度1032、すなわち、長軸勾配を計算してよい(S907)。例えば、第4四分面のタイピングポイント個数が最も多い場合、勾配角度1032は、勾配角度(theta)=atan(devY4/devX4)となる。第2四分面および第4四分面の勾配角度はそれぞれ、atan(devY2/devX2)およびatan(devY4/devX4)となり、第1四分面および第3四分面の勾配角度はそれぞれ、−atan(devY1/devX1)および−atan(devY3/devX3)となる。
プロセッサ110は、タイピングポイント個数が最も多い四分面と隣接する2つの四分面のうち、タイピングポイント個数がより多い四分面のタイピングポイント標準偏差座標までの距離を短軸半径1033として決定してよい(S908)。例えば、第4四分面のタイピングポイント個数が最も多く、第4四分面と隣接する第1四分面および第3四分面のうちで第3四分面のタイピングポイント個数がより多い場合、タイピングポイント中心1020から第3四分面のタイピングポイント標準偏差座標までの距離、すなわち、r3が短軸半径1033として決定される。
プロセッサ110は、タイピングポイント中心1020から長軸半径1031、勾配角度1032、短軸半径1033として生成される楕円領域を、該当のキー1010に対する個別化されたタイピングポイント領域1030として決定してよい(S909)。
プロセッサ110は、キー1010に対するタイピングポイント分布に基づいて、タッチタイピングポイントの形態と近似する楕円式を見つけ出して該当のキー1010のタイピングポイント領域1030を決定してよい。
楕円式は、以下の式(1)のとおりとなる。
Figure 0006821751
ここで、avgXおよびavgYはそれぞれ、タイピングポイント中心1020のX座標およびY座標を意味し、Aは長軸半径1031を意味し、Bは短軸半径1033を意味する。
プロセッサ110は、キー1010に対するタッチが該当のキー1010の有効領域から外れた場合でも、ユーザの過去のタッチタイピングポイントの分布としてモデリングされた楕円形態のタイピングポイント領域1030内に属する場合には、正タイピングとして認識して処理してよい。
1つのタイピングポイントに複数の楕円が重なっている場合(キーに楕円が重なっていて、重なっている領域にタイピングポイントが位置する場合)には、タイピングポイントから楕円の中心までの距離がより近い楕円に該当するキーを入力してよい。
このように、本発明の実施形態によると、正タイピングと誤タイピングとを判別するアルゴリズムおよび各キーのタイピングポイント領域をモデリングするアルゴリズムを利用することにより、仮想キーボードの誤タイピングを正確に補正することが可能となる。
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および/またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、コンピュータ記録媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。このとき、媒体は、コンピュータ実行可能なプログラムを継続して記録するものであっても、実行またはダウンロードのために一時的に記録するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散して存在するものであってもよい。媒体の例は、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD−ROMおよびDVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどを含み、プログラム命令が記録されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを配布するアプリケーションストアや他の多様なソフトウェアを供給または配布するサイト、サーバなどで管理する記録媒体または格納媒体が挙げられる。
以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
110:プロセッサ
210:データ収集部
220:タイピングポイント領域決定部
230:キー予測部

Claims (19)

  1. コンピュータシステムが実行する方法であって、
    前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、
    前記方法は、
    前記少なくとも1つのプロセッサが、仮想キーボードの各キーのキータッチによるタイピングポイント座標を収集する段階、
    前記少なくとも1つのプロセッサが、前記各キーの前記タイピングポイント座標を利用してタイピングポイント分布を分析することにより、個別化されたタイピングポイント領域を決定する段階、および
    前記少なくとも1つのプロセッサが、前記仮想キーボードでタッチが認識された場合、前記各キーの個別化されたタイピングポイント領域に基づいて、前記の認識されたタッチによる入力キーを予測する段階をみ、
    前記収集する段階は、
    前記仮想キーボードに順に発生したキータッチによるキーリストを収集する段階、
    前記キーリストに含まれる削除キーを基準に、前記削除キーの個数分だけ前記削除キーより前に記録された前キーリストと、前記削除キーの個数分だけ前記削除キーより後に記録された後キーリストとを構成する段階、
    前記前キーリストと前記後キーリストとの間で互いに対応する位置のキーペアを誤タイピング候補として分類して、前記誤タイピング候補から誤タイピングと前記誤タイピングに対応する正タイピングとを判別する段階、および
    前記誤タイピングと前記正タイピングとに該当する各キーのタイピングポイント座標を収集する段階を含む
    方法。
  2. コンピュータシステムが実行する方法であって、
    前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、
    前記方法は、
    前記少なくとも1つのプロセッサが、仮想キーボードの各キーのキータッチによるタイピングポイント座標を収集する段階、
    前記少なくとも1つのプロセッサが、前記各キーの前記タイピングポイント座標を利用してタイピングポイント分布を分析することにより、個別化されたタイピングポイント領域を決定する段階、および
    前記少なくとも1つのプロセッサが、前記仮想キーボードでタッチが認識された場合、前記各キーの個別化されたタイピングポイント領域に基づいて、前記の認識されたタッチによる入力キーを予測する段階を含み、
    前記決定する段階は、
    前記キーに対して収集されたタッチ座標を平均化することにより、タイピングポイント中心を計算する段階、
    前記タイピングポイント中心を原点とする座標平面において各四分面に含まれるタイピングポイント座標の個数であるタイピングポイント個数を計算する段階、
    前記タイピングポイント中心から、タイピングポイント個数が最も多い四分面のタイピングポイント標準偏差座標までの距離を長軸半径として決定する段階、
    前記タイピングポイント中心から、タイピングポイント個数が最も多い四分面と隣接する四分面のうち、タイピングポイント個数が多い四分面のタイピングポイント標準偏差座標までの距離を短軸半径として決定する段階、
    タイピングポイント個数が最も多い四分面の勾配角度である長軸勾配を計算する段階、および
    前記タイピングポイント中心、前記長軸半径、前記短軸半径、および前記長軸勾配によって生成される楕円領域を、該当のキーの個別化されたタイピングポイント領域として決定する段階を含む、
    方法。
  3. 前記収集する段階は、
    前記仮想キーボードに順に発生したキータッチによるキーリストと、前記キーリストに含まれる各キーのキータッチによるタイピングポイント座標とを収集する段階を含む、
    請求項1又は2に記載の方法。
  4. 前記収集する段階は、
    前記仮想キーボードに順に発生したキータッチによるキーリストを収集する段階、
    前記キーリストを利用して誤タイピングと前記誤タイピングに対応する正タイピングとを判別する段階、および
    前記誤タイピングと前記正タイピングとに該当する各キーのタイピングポイント座標を収集する段階を含む、
    請求項に記載の方法。
  5. 前記判別する段階は
    誤タイピング候補の2つのキーが異なる場合、前記2つのキーのうちの前キーを誤タイピングとして分類し、後キーを正タイピングとして分類する段階、および
    前記誤タイピング候補の2つのキーが同じ場合、前記2つのキーを全て正タイピングとして分類する段階を含む、
    請求項に記載の方法。
  6. 前記判別する段階は
    誤タイピング候補の2つのキーが、異なるとともに、前記仮想キーボード上で隣接する位置に配置されたキーである場合、前記2つのキーのうちの前キーを誤タイピングとして分類し、後キーを正タイピングとして分類する段階、および
    前記誤タイピング候補の2つのキーが同じか、または、前記仮想キーボード上で隣接する位置に配置されたキーではない場合、前記2つのキーを全て正タイピングとして分類する段階を含む、
    請求項に記載の方法。
  7. 前記決定する段階は、
    前記各キーの前記タイピングポイント分布に基づいて、該当のキーに対するタッチタイピングポイントの形態と近似する楕円式を見つけ出して前記個別化されたタイピングポイント領域を決定する段階を含む、
    請求項1又は2に記載の方法。
  8. 前記決定する段階は、
    前記キーに対して収集されたタッチ座標を平均化することにより、タイピングポイント中心を計算する段階、
    前記タイピングポイント中心を原点とする座標平面において各四分面に含まれるタイピングポイント座標の個数であるタイピングポイント個数を計算する段階、
    前記タイピングポイント中心から、タイピングポイント個数が最も多い四分面のタイピングポイント標準偏差座標までの距離を長軸半径として決定する段階、
    前記タイピングポイント中心から、タイピングポイント個数が最も多い四分面と隣接する四分面のうち、タイピングポイント個数が多い四分面のタイピングポイント標準偏差座標までの距離を短軸半径として決定する段階、
    タイピングポイント個数が最も多い四分面の勾配角度である長軸勾配を計算する段階、および
    前記タイピングポイント中心、前記長軸半径、前記短軸半径、および前記長軸勾配によって生成される楕円領域を、該当のキーの個別化されたタイピングポイント領域として決定する段階を含む、
    請求項1に記載の方法。
  9. 前記予測する段階は、
    前記の認識されたタッチと対応するキー情報、タッチ情報、および前記個別化されたタイピングポイント領域をフィーチャとする機械学習に基づいて、前記入力キーを予測する段階を含む、
    請求項1又は2に記載の方法。
  10. 前記予測する段階は、
    前記の認識されたタッチと対応するキー情報、タッチ情報、および前記個別化されたタイピングポイント領域を入力ベクトルとして構成した機械学習モデルに基づいて、前記各キーが前記の認識されたタッチと対応するキーである確率を算出する段階、および
    前記各キーの確率に基づいて、前記の認識されたタッチに対して前記仮想キーボードの実際の入力キー値を返還する段階を含む、
    請求項1又は2に記載の方法。
  11. 請求項1〜10のうちのいずれか一項に記載の方法をコンピュータシステムに実行させるコンピュータプログラム。
  12. コンピュータシステムであって、
    メモリ、および
    前記メモリに通信可能に接続し、前記メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、
    前記少なくとも1つのプロセッサは、
    仮想キーボードの各キーのキータッチによるタイピングポイント座標を収集するデータ収集部、
    前記各キーの前記タイピングポイント座標を利用してタイピングポイント分布を分析することにより、個別化されたタイピングポイント領域を決定するタイピングポイント領域決定部、および
    前記仮想キーボードにタッチが認識された場合、前記各キーの個別化されたタイピングポイント領域に基づいて、前記の認識されたタッチによる入力キーを予測するキー予測部を備え
    前記データ収集部は、
    前記仮想キーボードに順に発生したキータッチによるキーリストを収集し、
    前記キーリストに含まれる削除キーを基準に、前記削除キーの個数分だけ前記削除キーより前に記録された前キーリストと、前記削除キーの個数分だけ前記削除キーより後に記録された後キーリストとを構成し、
    前記前キーリストと前記後キーリストとの間で互いに対応する位置のキーペアを誤タイピング候補として分類して、前記誤タイピング候補から誤タイピングと前記誤タイピングに対応する正タイピングとを判別した後に、前記誤タイピングと前記正タイピングとに該当する各キーのタイピングポイント座標を収集する
    コンピュータシステム。
  13. コンピュータシステムであって、
    メモリ、および
    前記メモリに通信可能に接続し、前記メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、
    前記少なくとも1つのプロセッサは、
    仮想キーボードの各キーのキータッチによるタイピングポイント座標を収集するデータ収集部、
    前記各キーの前記タイピングポイント座標を利用してタイピングポイント分布を分析することにより、個別化されたタイピングポイント領域を決定するタイピングポイント領域決定部、および
    前記仮想キーボードにタッチが認識された場合、前記各キーの個別化されたタイピングポイント領域に基づいて、前記の認識されたタッチによる入力キーを予測するキー予測部を備え、
    前記タイピングポイント領域決定部は、
    前記キーに対して収集されたタッチ座標を平均化することにより、タイピングポイント中心を計算し、
    前記タイピングポイント中心を原点とする座標平面において各四分面に含まれるタイピングポイント座標の個数であるタイピングポイント個数を計算し、
    前記タイピングポイント中心から、タイピングポイント個数が最も多い四分面のタイピングポイント標準偏差座標までの距離を長軸半径として決定し、
    前記タイピングポイント中心から、タイピングポイント個数が最も多い四分面と隣接する四分面のうち、タイピングポイント個数が多い四分面のタイピングポイント標準偏差座標までの距離を短軸半径として決定し、
    タイピングポイント個数が最も多い四分面の勾配角度である長軸勾配を計算し、
    前記タイピングポイント中心、前記長軸半径、前記短軸半径、および前記長軸勾配によって生成される楕円領域を、該当のキーの個別化されたタイピングポイント領域として決定する
    コンピュータシステム。
  14. 前記データ収集部は、
    前記仮想キーボードに順に発生したキータッチによるキーリストを利用して誤タイピングと前記誤タイピングに対応する正タイピングとを判別した後、前記誤タイピングと前記正タイピングとに該当する各キーのタイピングポイント座標を収集する、
    請求項12又は13に記載のコンピュータシステム。
  15. 前記データ収集部は
    誤タイピング候補の2つのキーが異なる場合、前記2つのキーのうちの前キーを誤タイピングとして分類し、後キーを正タイピングとして分類し、
    前記誤タイピング候補の2つのキーが同じ場合、前記2つのキーを全て正タイピングとして分類する、
    請求項12に記載のコンピュータシステム。
  16. 前記タイピングポイント領域決定部は、
    前記各キーの前記タイピングポイント分布に基づいて、該当のキーに対するタッチタイピングポイントの形態と近似する楕円式を見つけ出して前記個別化されたタイピングポイント領域を決定する、
    請求項12又は13に記載のコンピュータシステム。
  17. 前記タイピングポイント領域決定部は、
    前記キーに対して収集されたタッチ座標を平均化することにより、タイピングポイント中心を計算し、
    前記タイピングポイント中心を原点とする座標平面において各四分面に含まれるタイピングポイント座標の個数であるタイピングポイント個数を計算し、
    前記タイピングポイント中心から、タイピングポイント個数が最も多い四分面のタイピングポイント標準偏差座標までの距離を長軸半径として決定し、
    前記タイピングポイント中心から、タイピングポイント個数が最も多い四分面と隣接する四分面のうち、タイピングポイント個数が多い四分面のタイピングポイント標準偏差座標までの距離を短軸半径として決定し、
    タイピングポイント個数が最も多い四分面の勾配角度である長軸勾配を計算し、
    前記タイピングポイント中心、前記長軸半径、前記短軸半径、および前記長軸勾配によって生成される楕円領域を、該当のキーの個別化されたタイピングポイント領域として決定する、
    請求項12に記載のコンピュータシステム。
  18. 前記キー予測部は、
    前記の認識されたタッチと対応するキー情報、タッチ情報、および前記個別化されたタイピングポイント領域をフィーチャとする機械学習に基づいて、前記入力キーを予測する、
    請求項12又は13に記載のコンピュータシステム。
  19. 前記キー予測部は、
    前記の認識されたタッチと対応するキー情報、タッチ情報、および前記個別化されたタイピングポイント領域を入力ベクトルとして構成した機械学習モデルに基づいて、前記各キーが前記の認識されたタッチと対応するキーである確率を算出し、
    前記各キーの確率に基づいて、前記の認識されたタッチに対して前記仮想キーボードの実際の入力キー値を返還する、
    請求項12又は13に記載のコンピュータシステム。
JP2019133605A 2018-07-20 2019-07-19 仮想キーボードの誤タイピングを補正するための方法、システム、およびコンピュータプログラム Active JP6821751B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0084837 2018-07-20
KR1020180084837A KR102209076B1 (ko) 2018-07-20 2018-07-20 가상 키보드 오타 보정을 위한 방법과 시스템 및 비-일시적인 컴퓨터 판독가능한 기록 매체

Publications (2)

Publication Number Publication Date
JP2020013577A JP2020013577A (ja) 2020-01-23
JP6821751B2 true JP6821751B2 (ja) 2021-01-27

Family

ID=69169679

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019133605A Active JP6821751B2 (ja) 2018-07-20 2019-07-19 仮想キーボードの誤タイピングを補正するための方法、システム、およびコンピュータプログラム

Country Status (2)

Country Link
JP (1) JP6821751B2 (ja)
KR (1) KR102209076B1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102355890B1 (ko) * 2019-11-28 2022-01-27 한국과학기술원 디코더 아키텍쳐, 그의 동작 방법 및 디코더를 이용하는 소프트 키보드
KR102566899B1 (ko) * 2020-02-24 2023-08-14 주식회사 한글과컴퓨터 개인별 맞춤형 자동 오타 정정을 수행할 수 있는 전자 단말 장치 및 그 동작 방법
KR20230001576A (ko) 2021-06-28 2023-01-05 삼성디스플레이 주식회사 폴더블 표시 장치 및 폴더블 표시 장치의 구동 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000066817A (ja) * 1998-08-20 2000-03-03 Nec Corp キーボード装置
JP2011090356A (ja) * 2009-10-20 2011-05-06 Nec Corp データ処理装置、そのコンピュータプログラムおよびデータ処理方法
JP2011150489A (ja) * 2010-01-20 2011-08-04 Sony Corp 情報処理装置及びプログラム
KR101296145B1 (ko) * 2010-10-29 2013-08-19 서울대학교산학협력단 문자 입력 방법 및 장치
JP2013073317A (ja) * 2011-09-27 2013-04-22 Nec Casio Mobile Communications Ltd 入力装置、入力方法及びプログラム
JP2013117916A (ja) * 2011-12-05 2013-06-13 Denso Corp 入力表示装置
KR102145739B1 (ko) * 2014-02-28 2020-08-19 엘지전자 주식회사 이동단말기 및 그 제어방법
JP6153588B2 (ja) * 2015-12-21 2017-06-28 レノボ・シンガポール・プライベート・リミテッド 情報処理装置及びセンシングレイアウト更新方法並びにプログラム
KR101858999B1 (ko) * 2016-11-28 2018-05-17 (주)헤르메시스 가상 키보드의 입력 보정 장치, 및 그 방법

Also Published As

Publication number Publication date
KR20200009858A (ko) 2020-01-30
JP2020013577A (ja) 2020-01-23
KR102209076B1 (ko) 2021-01-28

Similar Documents

Publication Publication Date Title
US20130120280A1 (en) System and Method for Evaluating Interoperability of Gesture Recognizers
JP4560062B2 (ja) 筆跡判定装置、方法およびプログラム
JP6641306B2 (ja) タッチ分類
JP6821751B2 (ja) 仮想キーボードの誤タイピングを補正するための方法、システム、およびコンピュータプログラム
KR101345320B1 (ko) 예측 가상 키보드
US20130120282A1 (en) System and Method for Evaluating Gesture Usability
JP6777723B2 (ja) 複数のオブジェクトの入力を認識するためのシステムならびにそのための方法および製品
CN105210027B (zh) 使用可旋转支撑线识别手写输入
US20130120279A1 (en) System and Method for Developing and Classifying Touch Gestures
CN101382869A (zh) 使用触摸屏输入韩文字符的方法和设备
EP3215981B1 (en) Nonparametric model for detection of spatially diverse temporal patterns
US11461409B2 (en) Digitization of technical documentation driven by machine learning
US20140115522A1 (en) Gesture-keyboard decoding using gesture path deviation
KR102438784B1 (ko) 데이터를 난독화 및 복호화 하는 전자 장치 및 그의 제어 방법
JP6987209B2 (ja) ディープラーニングに基づく文書類似度測定モデルを利用した重複文書探知方法およびシステム
KR20220061985A (ko) 그래픽 객체를 선택하기 위한 방법 및 대응하는 디바이스
JP2022521540A (ja) オンライン学習を利用した物体追跡のための方法およびシステム
US20150277745A1 (en) Computer input using hand drawn symbols
US8994681B2 (en) Decoding imprecise gestures for gesture-keyboards
Leiva et al. How we swipe: A large-scale shape-writing dataset and empirical findings
KR102128415B1 (ko) 딥러닝 모델 기반 키보드 오타 보정 방법 및 시스템
JP6599504B2 (ja) タッチエラー校正方法およびそのシステム
CN112424784A (zh) 用于使用神经网络的改进的表标识的系统、方法和计算机可读介质
Bufano et al. PolyRec Gesture Design Tool: A tool for fast prototyping of gesture‐based mobile applications
Carcangiu et al. Gesture modelling and recognition by integrating declarative models and pattern recognition algorithms

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190719

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200804

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201029

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210106

R150 Certificate of patent or registration of utility model

Ref document number: 6821751

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250