JP7263712B2 - 制御方法,情報処理装置および制御プログラム - Google Patents

制御方法,情報処理装置および制御プログラム Download PDF

Info

Publication number
JP7263712B2
JP7263712B2 JP2018156017A JP2018156017A JP7263712B2 JP 7263712 B2 JP7263712 B2 JP 7263712B2 JP 2018156017 A JP2018156017 A JP 2018156017A JP 2018156017 A JP2018156017 A JP 2018156017A JP 7263712 B2 JP7263712 B2 JP 7263712B2
Authority
JP
Japan
Prior art keywords
input
character
information
ime
prediction
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
JP2018156017A
Other languages
English (en)
Other versions
JP2020030632A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018156017A priority Critical patent/JP7263712B2/ja
Priority to US16/538,143 priority patent/US11061484B2/en
Publication of JP2020030632A publication Critical patent/JP2020030632A/ja
Application granted granted Critical
Publication of JP7263712B2 publication Critical patent/JP7263712B2/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/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
    • 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
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Document Processing Apparatus (AREA)
  • Machine Translation (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、制御方法,情報処理装置および制御プログラムに関する。
近年、HTML(HyperText Markup Language)5の普及で、ウェブ(Web)コンテンツは高度な機能を閲覧者に提供することが可能となった。その機能の一つとして、例えば、検索エンジンを用いた情報検索サービスにおいて、テキスト(文字列)の入力途中で検索キーワードの予測候補を提示する入力補完機能が挙げられる。
この入力補完機能においては、ユーザがキーワード入力用の領域に対して文字列を入力している途中に、ユーザが入力しようとしていると予測される文字列を候補(予測候補)として1つ以上提示する。そして、ユーザは、文字入力の途中で、提示された1つ以上の予測候補の文字列の中から入力を希望する文字列を選択することで、検索キーボードの残り部分をキーボード等を用いて入力することなく入力を完了させることができる。すなわち、ユーザは文字列の入力の手間を軽減することができる。
入力された文字列に基づいて予測候補の文字列を生成する機能を予測変換機能という場合がある。
図11は従来の情報処理装置におけるウェブコンテンツによる入力補完機能を説明するための図である。
この図11においては、スマートフォンやタブレット等の携帯型情報処理装置のディスプレイに表示されるウェブコンテンツであって、キーワード検索を実現するための入力画面501を示している。
この入力画面501は、入力欄502を備え、ユーザは図示しないキーボード等の入力装置を用いて、この入力欄502に検索キーワードを入力することで検索を行なう。
この図11においては、ユーザによる検索キーワードの入力の途中の状態を示しており、入力欄502に文字列「とうき」が入力されている状態を示す。
ウェブコンテンツにおいては、この入力欄502に入力途中の文字列に基づいて、入力が予測される文字列(予測候補)を1つ以上生成して、検索予測キーワード一覧503として、入力欄502の下方に並べて表示する。図11に示す例においては、検索予測キーワード一覧503に、予測候補として、「東京」,「東京駅」および「東京ドーム」が表示されている。
ユーザは、入力欄502への文字入力の途中で、この検索予測キーワード一覧503に表示された複数の予測候補の中から入力を希望する予測候補を選択することで、検索キーワードの残り部分を入力することなく入力欄502への文字入力を完了させることができる。このように、予測変換機能はユーザによる文字入力を補完する入力補完を実現する。
一方、情報処理装置における一般的な言語入力システム(IME:Input Method Editor)においても、ユーザによるIMEを介した文字入力において行なわれた変換結果を学習し、予測変換を行なって予測候補を提示する入力補完機能が知られている。
図12は従来の情報処理装置におけるIMEによる入力補完機能を説明するための図である。
この図12においては、スマートフォンやタブレット等の携帯型情報処理装置のディスプレイに表示されるIMEの入力画面600を示している。
この入力画面600は、ソフトウェアキーボード601および予測候補表示欄602を備える。
ソフトウェアキーボード601はユーザが文字入力を行なうために用いる入力手段であり、ユーザがこのソフトウェアキーボード601にタッチ操作等を行なうことで文字入力が行なわれる。ソフトウェアキーボード601によって入力される文字は、入力欄603に表示される。
予測候補表示欄602には、ユーザからの入力が予測される文字列の候補(予測候補)が表示される。
IMEは、ソフトウェアキーボード601から入力された文字に基づいて、入力が予測される文字列の候補(予測候補)を、予測候補表示欄602に並べて表示する。
図12に示す例においては、ユーザがソフトウェアキーボード601を用いて文字入力を行なっている途中の状態を示しており、入力欄603に文字列「とうき」が入力されている状態を示す。
IMEは、この入力欄603に入力途中の文字列に基づいて、予測候補を1つ以上生成して、予測候補表示欄602に並べて表示させる。図12においては、予測候補表示欄602に、予測候補として「東京」,「東京駅」,「東京ドーム」および「陶器」が表示されている。
ユーザは、テキストの入力途中で、この予測候補表示欄602に表示された複数の予測候補の中から一つの予測候補を選択することで、入力予定の文字の残り部分を入力することなく入力欄603への文字入力を完了させることができる。
また、IMEにおいては、ユーザによって選択された予測候補と、その選択時に入力されていた文字とを対応付けて辞書に登録して辞書の更新を行なうことで、変換精度を向上させる。
このように、情報処理装置においては、入力補完機能が様々なアプリケーションから提供される。
特開2004-78664号公報 特開2010-140163号公報
情報処理装置においては、ウェブコンテンツの入力欄502にIMEを用いて文字入力を行なうことも一般的に行なわれている。
図13は従来の情報処理装置におけるウェブコンテンツによる入力補完機能とIMEによる入力補完機能との併用を説明するための図である。
この図13においては、スマートフォンやタブレット等の携帯型情報処理装置のディスプレイに表示されるウェブページであって、入力画面501と入力画面600とを備える入力画面700を示している。
なお、図中、既述の符号と同一の符号は同様の部分を示しているので、その説明は省略する。
この図13に示す入力画面700においては、ユーザがソフトウェアキーボード601を用いて文字入力を行なうことで、入力欄502に検索キーワードの入力が行なわれる。
そして、入力欄502に入力途中の文字に基づいて、IMEが提供する予測変換機能により生成された予測候補の文字列が、予測候補表示欄602に表示される。
また、入力欄502に入力された文字に基づいて、ウェブコンテンツが提供する予測変換機能により生成された予測候補が、検索予測キーワード一覧503として、入力欄502の下方に並べて表示される。
ユーザは、ソフトウェアキーボード601を用いた文字入力の途中で、予測候補表示欄602に表示された予測候補の中から入力を希望する文字列を選択することで、入力欄502への検索キーワードの入力を完了させてもよい。また、ユーザは、検索予測キーワード一覧503に表示された予測候補の中から入力を希望する文字列を選択することで、入力欄502への検索キーワードの入力を完了させてもよい。
さて、IMEの予測変換機能は、入力された文字列とその変換結果とを対応付けて記憶することで学習し、変換精度を向上させる。
しかしながら、ユーザが、ソフトウェアキーボード601を用いたIMEの機能による文字入力の途中で、検索予測キーワード一覧503に表示された予測候補の中から検索キーワードを選択すると、IMEにおいては、ソフトウェアキーボード601を用いた入力が中断されたのと同様に取り扱われる。
すなわち、ウェブコンテンツが提供する入力補完機能によりユーザの文字入力を補完すると、IMEにはその予測変換結果が反映されないので、学習することができず、IMEの予測変換の精度を向上させることができない。
1つの側面では、本発明は、文字入力支援ソフト以外の入力補完機能を用いて予測変換が行なわれた場合であっても文字入力支援ソフトの予測変換精度を向上させることができるようにすることを目的とする。
このため、この制御方法は、文字入力支援ソフトにより入力された入力文字情報を受け付けると、受け付けた前記入力文字情報と、前記文字入力支援ソフト以外により得られる、前記入力文字情報の変換候補である予測補とを表示部に表示させ、表示させた前記予測補のうち、いずれかの予測補の選択を受け付けると、選択された前記予測候補と前記入力文字情報とを対応付けた補完結果情報を前記文字入力支援ソフトに通知する、処理をコンピュータが実行する。
一実施形態によれば、文字入力支援ソフトの予測変換精度を向上させることができる。
実施形態の一例としての情報処理装置のハードウェア構成を示す図である。 は実施形態の一例としての情報処理装置におけるブラウザの機能構成を例示する図である。 は実施形態の一例としての情報処理装置におけるIMEの機能構成を例示する図である。 実施形態の一例としての情報処理装置のタッチディスプレイに表示される入力画面を例示する図である。 実施形態の一例としての情報処理装置においてIMEに通知される補完結果情報を例示する図である。 実施形態の一例としての情報処理装置におけるユーザ操作に伴う入力画面の遷移例を示す図である。 実施形態の一例としての情報処理装置における文字入力の入力補完機能の概要を説明するためのフローチャートである。 実施形態の一例としての情報処理装置における文字入力の入力補完機能における処理の詳細を説明するためのフローチャートである。 実施形態の変形例としての情報処理装置のタッチディスプレイに表示されるブラウザのアドレスバーにおける入力を説明するための図である。 実施形態の変形例としての情報処理装置1における文字入力の入力補完機能における処理の詳細を説明するためのフローチャートである。 従来の情報処理装置におけるウェブコンテンツによる入力補完機能を説明するための図である。 従来の情報処理装置におけるIMEによる入力補完機能を説明するための図である。 従来の情報処理装置におけるウェブコンテンツによる入力補完機能とIMEによる入力補完機能との併用を説明するための図である。
以下、図面を参照して本制御方法,情報処理装置および制御プログラムにかかる実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形(実施形態および変形例を組み合わせる等)して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
(A)構成
図1は実施形態の一例としての情報処理装置1を備える情報処理システム2の構成を示す図である。
情報処理システム2は、図1に示すように、ウェブサーバ3および情報処理装置1を備える。情報処理装置1とウェブサーバ3とはネットワーク4を介して通信可能に接続されている。
情報処理装置1は、スマートフォン(多機能携帯電話)やPDA(Personal Digital Assistants),PC(Personal Computer),タブレットPC,携帯電話等である。以下、本情報処理装置1がスマートフォンである例について示す。
情報処理装置1は、ハードウェアとして、CPU(Central Processing Unit)10,メモリ11,ストレージ12,通信部13,GPU(Graphics Processing Unit)14およびタッチディスプレイ15を備える。
ストレージ12は、ハードディスクドライブ(Hard Disk Drive:HDD),SSD(Solid State Drive),ストレージクラスメモリ(Storage Class Memory:SCM)等の記憶装置であって、種々のデータを格納するものである。
メモリ11はROM(Read Only Memory)およびRAM(Random Access Memory)を含む記憶メモリである。メモリ11のROMには、OS(Operating System)や入力補完制御に係るソフトウェアプログラム(制御プログラム)やこのプログラム用のデータ類が格納されてもよい。入力補完制御に係るソフトウェアプログラムには、後述するブラウザ20およびIME30としての機能を実現するためのソフトウェアプログラムが含まれる。
なお、OSや入力補完制御に係るソフトウェアプログラムやこのプログラム用のデータ類の少なくとも一部はストレージ12に格納されてもよい。
メモリ11上のソフトウェアプログラムは、CPU10に適宜読み込まれて実行される。また、メモリ11のRAMは、一次記憶メモリあるいはワーキングメモリとして利用される。
通信部13は、ネットワーク4と接続される通信インタフェースであり、ネットワーク4を介して、ウェブサーバ3等の他のコンピュータとの間でデータの送受信を行なう。ネットワーク4は、例えばLAN(Local Area Network)である。通信部13は、例えば、無線LANモジュールやLANカードである。
GPU14は、画像処理を行なう処理装置であり、タッチディスプレイ15に表示させる画像描写等を行なう。
タッチディスプレイ15は、例えば、液晶ディスプレイ等の表示装置と、タッチパッドのような位置入力装置としての機能とを一体に構成したタッチパネルである。すなわち、タッチディスプレイ15は、表示装置としての機能と入力装置としての機能とを有する。
CPU10は、種々の制御や演算を行なう処理装置であり、メモリ11に格納されたOSやプログラムを実行することにより、種々の機能を実現する。これにより、CPU10は、ブラウザ20(図2参照)およびIME30(図3参照)としての機能を実現する。
なお、ブラウザ20としての機能を実現するためのプログラム(制御プログラム)やIME30としての機能を実現するためのプログラムは、例えばフレキシブルディスク,CD(CD-ROM,CD-R,CD-RW等),DVD(DVD-ROM,DVD-RAM,DVD-R,DVD+R,DVD-RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
ブラウザ20およびIME30としての機能を実現する際には、内部記憶装置(本実施形態ではメモリ11のRAMやROM)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではCPU10)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
図2は実施形態の一例としての情報処理装置1におけるブラウザ20の機能構成を例示する図、図3はそのIME30の機能構成を例示する図である。
ブラウザ20は、ウェブサーバ3が提供する情報をタッチディスプレイ15に表示させることでユーザに提示するウェブブラウザである。本情報処理装置1においては、ブラウザ20が、HTML(Hyper Text Markup Language)で記述されたHTML文書を表示可能なHTLMブラウザである例について示す。
すなわち、ブラウザ20は、HTMLで記述されたウェブページをタッチディスプレイ15に表示させる。
ウェブページを表示させるためのHTML文書は、例えば、通信部13を介して、ウェブサーバ3から取得(ダウンロード)する。また、HTML文書は、例えば、ストレージ12から読み出してもよく、種々変形して実施することができる。
図4は実施形態の一例としての情報処理装置1のタッチディスプレイ15に表示される入力画面100を例示する図である。
この図4に例示する入力画面100は、HTMLで記述されたウェブページであって、入力欄111,第1予測変換候補表示欄112,検索ボタン113,ソフトウェアキーボード121および第2予測変換候補表示欄122を備える。
この入力画面100は、例えばキーワード検索を行なうための画面であって、入力欄111に検索キーワードを入力した後に検索ボタン113を選択することで、図示しない検索サーバに、入力されたキーワードが送信され、検索が実行される。なお、前述したウェブサーバ3が検索サーバとして機能してもよい。
キーワード検索の結果は、本情報処理装置1に応答され、タッチディスプレイ15に表示される。なお、タッチディスプレイ15への検索結果の表示は既知の種々の手法を用いて実現することができ、その説明は省略する。
ソフトウェアキーボード121はユーザが文字入力を行なうために用いる入力手段であり、ユーザがこのソフトウェアキーボード121にタッチ操作等を行なうことで文字入力が行なわれる。ソフトウェアキーボード121によって入力される文字は、例えば入力欄111に表示される。ソフトウェアキーボード121による文字入力機能はIME30によって実現される。また、ソフトウェアキーボード121に代えてハードウェアとしてのキーボードを備えてもよい。
入力欄111はユーザによる文字入力が可能なHTMLの要素であり、HTMLコンテンツ内の文字入力可能な領域である。入力欄111は、例えば、文字入力が行なわれる<input>領域として定義される。このような文字入力可能な要素(領域)は入力画面100中に複数備えてもよい。以下、入力欄111を要素[A]と表す場合がある。
また、入力欄111に漢字入力を行なう場合には、ソフトウェアキーボード121によりひらがなを入力した後に、図示しない変換ボタンを選択することで、IME30が入力されたひらがなを漢字に変換する。
入力欄111の下方には第1予測変換候補表示欄112が表示されている。第1予測変換候補表示欄112は、例えば、<input>に対して文字入力を行なう入力欄111(要素[A])があるウェブコンテンツにおいて、キー入力の度にJavaScriptで<input>の下部に入力候補として表示される。
この第1予測変換候補表示欄112にはユーザが入力すると予測される文字列の候補(予測候補)が表示される。この第1予測変換候補表示欄112に表示される予測候補は、ウェブサーバ3が提供するウェブコンテンツが、入力欄111に入力された文字に基づいて予測するものである。
ウェブコンテンツにおいては、この入力欄111に入力途中の文字列に基づいて、入力が予測される文字列の候補(予測候補,検索予測キーワード)を1つ以上生成して、第1予測変換候補表示欄112に並べて表示する。すなわち、ウェブコンテンツは、ブラウザ20に表示されたHTMLコンテンツの要素に入力された文字に基づいて第1予測変換候補表示欄112に予測候補を表示させる機能を有する。第1予測変換候補表示欄112は、例えば、JAVAスクリプト(Java Script)により表示される。
ウェブコンテンツは、入力欄111に文字入力が行なわれると、この入力された文字(入力文字情報)に基づいて入力文字の予測を行ない、入力文字情報の変換候補である候補文字情報(予測候補)を生成する。以下、入力文字情報の変換候補である候補文字情報(予測候補)を生成することを、予測候補を予測するという場合がある。
予測された候補文字情報(予測候補)は、ブラウザ20によって第1予測変換候補表示欄112に表示される。例えば、ブラウザ20がウェブページを構成するHTML文書を処理することで、ウェブコンテンツが生成する1つ以上の予測候補がタッチディスプレイ15に表示される。
図4に示す例においては、入力欄111に文字「とうき」が入力されており、第1予測変換候補表示欄112において、縦方向に3つの予測候補「東京」,「東京駅」および「東京ドーム」が並んで配置されている。
ウェブコンテンツにおける候補文字情報(予測候補)の予測は、例えば、HTMLにおける入力補助機能(Autocomplete等)を用いる等、既知の種々の手法を用いて実現することができる。すなわち、第1予測変換候補表示欄112に予測候補を表示する機能は、ウェブコンテンツの機能として既知であり、その説明は省略する。
ユーザは、入力欄111への文字の入力途中で、この第1予測変換候補表示欄112に表示された複数の予測候補の中から入力を希望する予測候補を選択することで、検索キーワードの残り部分を入力することなく入力欄111への文字入力を完了させることができる。
このように、第1予測変換候補表示欄112に予測候補を表示させ、これらの予測候補の中からユーザが選択を行なうことで、入力欄111への文字入力を完了させる入力補完機能は、HTMLコンテンツ(ウェブコンテンツ)によって実現される。
なお、以下、ウェブコンテンツのようなIME30とは異なる外部の機能が提供するユーザに対する文字入力の補完機能を外部入力補完機能という場合がある。
第2予測変換候補表示欄122には、入力欄111に入力された文字に基づいてIME30によって予測される、ユーザから入力される文字列の候補(予測候補)が表示される。
第2予測変換候補表示欄122に表示される予測候補は、後述するIME30によって提供される。図4に示す例においては、入力欄111に文字「とうき」が入力されており、第2予測変換候補表示欄122において、4つの予測候補「東京」,「東京駅」,「東京ドーム」および「陶器」が並んで配置されている。
IME30においては、この入力欄111に入力途中の文字列に基づいて、入力が予測される文字列の候補(予測候補,検索予測キーワード)を1つ以上生成して、第2予測変換候補表示欄122に並べて表示させる。
ユーザは、入力欄111へのテキストの入力途中で、この第2予測変換候補表示欄122に表示された複数の予測候補の中から入力を希望する予測候補を選択することで、検索キーワードの残り部分を入力することなく入力欄111への文字入力を完了させることができる。
[ブラウザ20]
ブラウザ20は、ウェブサーバ3等からコンテンツ情報(ウェブコンテンツ)を取得すると、取得したウェブコンテンツに応じた表示画像(例えば、入力画面100)をタッチディスプレイ15に表示させる。
また、ブラウザ20は、この入力画面100における特定の領域(例えば、入力欄111)に、ソフトウェアキーボード121から入力された文字や、第1予測変換候補表示欄112や第2予測変換候補表示欄122において選択された文字の表示を行なわせる。
従って、ブラウザ20は、タッチディスプレイ15に入力画面100を表示させる制御を行なう表示制御部として機能する。
ブラウザ20は、図2に示すように、パーサ21,DOM管理部22,スクリプトエンジン23,ラスタライザ24およびユーザインタフェース25としての機能を備える。
パーサ21は、HTML文書を解析し、DOM(Document Object Model:文書オブジェクトモデル)と呼ばれる内部情報を生成する。
DOM管理部22は、パーサ21によって生成されたDOMを管理する。DOM管理部22は、DOMを保持し、この保持しているDOMに従って、ラスタライザ24を用いてDOMの視覚化を行なう。視覚化されたDOMは、GPU14によりタッチディスプレイ15に表示される。
また、DOM管理部22は、タッチディスプレイ15に表示されたHTML文書における文字を管理する機能を有する。これにより、DOM管理部22は、タッチディスプレイ15に表示されている文字等の情報をリアルタイムで把握し、タッチディスプレイ15に表示されている文字の変化を検知することができる。
スクリプトエンジン23は、HTML文書に埋め込まれたスクリプトを解釈して実行する。スクリプトエンジン23は、例えば、JAVAスクリプトエンジンであり、JAVAで記述されたスクリプトを解釈して実行する。なお、JAVAおよびJAVAスクリプトは登録商標である。
ユーザインタフェース25は、タッチディスプレイ15を介して行なわれるユーザからの入力を取得する。例えば、ユーザインタフェース25は、タッチディスプレイ15がユーザによりタッチされたことを検出し(タッチイベントの検出)、そのタッチ位置(座標)を情報として出力する。
また、ユーザインタフェース25は、補完入力検知部251および予測変換結果通知部252としての機能を備える。
補完入力検知部251は、ユーザがIME30を使用して文字を入力している間に、入力画面100の要素[A]に、IME30以外での入力の補完が行なわれたことを検知する。
例えば、補完入力検知部251は、ユーザにより行なわれるタッチディスプレイ15におけるタッチ位置が、IME30が機能を提供する領域に対して行なわれたか否かに基づき、ユーザによる文字入力がIME30を用いて行なわれたか否かを判断してもよい。具体的には、補完入力検知部251は、要素[A]に対してユーザがIME30を用いて文字入力を行なっている間に、ウェブコンテンツが提供する予測変換候補表示欄112(図4参照)において入力文字の選択がされた場合に、IME30以外で入力の補完が行なわれたと検知する。
予測変換結果通知部252は、ユーザによるIME30を用いた文字入力の途中にIME30以外で入力の補完が行なわれたことを補完入力検知部251が検知した場合に、その補完の内容を示す補完結果情報をIME30に通知する。
図5は実施形態の一例としての情報処理装置1においてIME30に通知される補完結果情報を例示する図である。
補完結果情報は、図5に示すように、入力文字列と補完結果とを対応付けて構成されている。
入力文字列は、外部入力補完機能による入力補完が行なわれた際に、入力欄111に入力されていた文字列である。すなわち、入力文字列は、外部入力補完機能により補完が行なわれる変換前の文字列である。入力文字列は、タッチディスプレイ15におけるタッチが行なわれた場合において、入力画面100における文字入力領域(例えば、入力欄111)において文字列が変化した場合の変化前の文字列である。
補完結果は、外部入力補完機能による入力補完が行なわれた際に、第1予測変換候補表示欄112において選択された予測候補の文字列である。すなわち、補完結果は、外部入力補完機能により補完が行なわれた変換後の文字列である。補完結果は、タッチディスプレイ15におけるタッチが行なわれた場合において、入力画面100における文字入力領域(例えば、入力欄111)において文字列が変化した場合の変化後の文字列である。
図5に例示する補完結果情報においては、入力文字列として「とうき」が示されており、補完結果として「東京」が示されている。
例えば、ユーザが、ソフトウェアキーボード121を用いて入力欄111に文字「とうき」と入力した状態で、第1予測変換候補表示欄112に表示された複数の予測候補の中から「東京」を選択した場合に、予測変換結果通知部252は、この図5に例示するようは補完結果情報を作成する。そして、予測変換結果通知部252は、作成した補完結果情報をIME30に通知する。
予測変換結果通知部252によるIME30への補完結果情報の通知は、IME30に応じた宛先に対して行なう。例えば、予測変換結果通知部252は、補完結果情報をメモリ11に送信し、このメモリ11における特定の記憶領域に補完結果情報を格納させる。後述するIME30の予測変換学習部31がメモリ11に格納された補完結果情報を読み出すことで、ブラウザ20からIME30に補完結果情報が受け渡される。
[IME30]
IME30は、ユーザの文字入力を支援する文字入力支援ソフトウェアであり、ソフトウェアキーボード121上にない文字をソフトウェアキーボード121上にあるキーで入力することを実現する。本実施形態においては、IME30が日本語の文字入力を支援する例を示す。
IME30は、ソフトウェアキーボード121を用いた文字入力を実現させるとともに、ソフトウェアキーボード121によって入力されたひらがなの文字を漢字やカタカナ等の他の日本語文字に変換する処理を行なう。
具体的には、IME30は、ソフトウェアキーボード121から入力された文字(入力文字情報:例えば、ひらがなで入力された文字)に基づいて、ユーザが入力しようとしている文字列を予測し、第2予測変換候補表示欄122に予測候補として表示させる。
IME30は、ユーザが第2予測変換候補表示欄122に表示された複数の予測候補の中から入力を希望する予測候補を選択すると、この選択された予測候補の文字列を入力欄111に入力させる。
IME30は、図3に示すように、予測変換学習部31および予測変換辞書32としての機能を備える。
予測変換辞書32は、変換対象文字列と登録文字列とを対応付けて記憶(管理)する。例えば、予測変換辞書32には、変換対象文字列としてひらがなの文字列が登録され、登録文字列として漢字の文字列が登録され、これらを対応付けて記憶する。変換対象文字列を読みと称してもよい。
以下、予測変換辞書32に変換対象文字列と登録文字列とを対応付けて記憶することを学習するという場合がある。
本実施形態においては、変換対象文字列がひらがなの文字列であり、登録文字列が漢字の文字列である例について示す。ただし、これに限定されるものではなく、変換対象文字列はひらがな以外の文字列であってもよく、登録文字列は漢字以外の文字列であってもよい。
IME30は、ソフトウェアキーボード121から入力されたひらがなに基づいて予測変換辞書32を参照して、入力されたひらがなが予測変換辞書32に登録されている場合には、そのひらがなに対応付けられた漢字の文字を、当該ひらがなに対する予測候補(予測変換候補)として、第2予測変換候補表示欄122に表示させる。
なお、IME30による日本語変換機能は既知であり、その詳細な説明は省略する。
予測変換学習部31は、予測変換辞書32に変換対象文字列と登録文字列とを記憶させることで予測変換辞書32を学習させる制御を行なう。例えば、ユーザが図示しない変換ボタンを選択することでひらがなを漢字に変換した場合に、予測変換学習部31は、変換前に入力欄111に入力されていた文字列と選択された文字列とを予測変換辞書32に学習させる。
すなわち、予測変換学習部31は、変換前に入力欄111に入力されていた文字列を変換対象文字列とするとともに、選択された文字列を登録文字列として、予測変換辞書32に学習させる。
また、予測変換学習部31は、タッチディスプレイ15に表示された図示しない単語登録画面においてユーザが入力した変換対象文字列と登録文字列とを予測変換辞書32に学習させてもよい。これにより、予測変換辞書32はユーザが任意に学習させることができるユーザ定義辞書として機能する。
予測変換学習部31は、予測変換結果通知部252から通知された補完結果情報を予測変換辞書32に学習させる。
すなわち、予測変換学習部31は、補完結果情報の入力文字列を変換対象文字列として、また、補完結果を登録文字列として、予測変換辞書32に学習させる。
(B)動作
上述の如く構成された実施形態の一例としての情報処理装置1におけるユーザ操作に伴う入力画面の遷移例を、図6を用いて説明する。
図6において、符号(A)は文字入力中の入力画面100を例示し、符号(B)および符号(C)はそれぞれ符号(A)で示した入力画面100からの遷移後の状態を示す。符号(B),(C)に示す例においては、それぞれ入力画面100の一部を示している。
図6において符号(A)で示す入力画面においては、入力欄111にひらがな「とうき」が入力されており、第1予測変換候補表示欄112および第2予測変換候補表示欄122にそれぞれ複数の予測候補が表示されている。
この図6の符号(A)に示す入力画面100において、ユーザによる、第1予測変換候補表示欄112に表示された予測候補(例えば「東京駅」)の選択が行なわれた場合には、符号(B)で示す入力画面100に遷移する。
すなわち、ユーザが、タッチディスプレイ15において、第1予測変換候補表示欄112に表示された予測候補をタッチすることで(矢印P1参照)、HTMLコンテンツの要素選択が行なわれる。これにより、文字入力が可能な入力欄111(要素[A])の文字列が「とうき」から「東京駅」変化する(矢印P2参照)。
ブラウザ20の補完入力検知部251は、第1予測変換候補表示欄112においてタッチイベントが検出された直後に要素[A]に入力されている文字列に変化があった場合には、HTMLコンテンツによって入力補完が行なわれたと判断する。
予測変換結果通知部252は、ユーザによるIME30を用いた文字入力の途中にIME30以外で入力の補完が行なわれたことを補完入力検知部251が検知した場合に、その補完の内容を示す補完結果情報をIME30に通知する。
すなわち、予測変換結果通知部252は、要素[A]においてタッチ直前まで入力されていた文字列と、タッチにより変化後の文字列とを補完結果情報としてIME30に通知する。図6に示す例においては、予測変換結果通知部252は、補完結果情報として、文字「とうき」と文字「東京駅」とを補完結果情報としてIME30(予測変換学習部31)に通知する。
一方、図6の符号(A)に示す入力画面100において、ユーザが、IME30を使用して文字入力を行なっている途中に文字入力が可能な要素以外をタッチすると(矢印P3参照)、IME30による入力がキャンセルされる。
この場合、符号(C)に示すように、文字入力が可能な入力欄111(要素[A])の文字列は「とうき」のまま変化しない(矢印P4参照)。
ブラウザ20の補完入力検知部251は、タッチイベントが検出された直後に要素[A]に入力されている文字列に変化がない場合には、HTMLコンテンツによって入力補完が行なわれなかったと判断する。この場合、予測変換結果通知部252は、IME30に対して補完結果情報を通知しない。
なお、図6に示す例において、矢印P1,P3で示されるいずれの領域に対するタッチ操作が行なわれた場合であっても、入力領域としての入力欄111はフォーカスを失うことになるため、ブラウザ20は、入力が中断されたものとしてIME30を終了させる。ブラウザ20から終了要求を受けたIME30は、入力中の文字列を破棄し、終了要求に従って終了する。
さて、上述の如く、補完結果情報は、タッチ直前まで入力していた文字列(入力文字列)と、変化後の文字列(登録文字列)とを備える。すなわち、本情報処理装置1において、予測変換結果通知部252は補完結果情報として変化後の文字列のみをIME30に通知するものではない。これは、以下の理由による。
例えば、図6の符号(A)に例示するように、ユーザがソフトウェアキーボード121を用いて入力欄111に「とうき」まで入力している状態において、入力画面100の矢印P3で示す領域をタッチすると、ブラウザ20からの終了要求によりIME30が終了する。
その後、ユーザが、再び入力欄111に文字「ょ」を入力した場合には、HTMLコンテンツの入力補完機能は「とうきょ」に対する変換候補を表示する。一方で、IME30においては、文字列「とうき」はブラウザ20からの終了要求時に破棄しているので、入力を把握している(保有している)文字列は「ょ」のみである。
このような状態において、「とうきょ」が第1予測変換候補表示欄112からの選択により「東京駅」に変換された場合に、予測変換結果通知部252が変換後の文字列「東京駅」のみをIME30に通知すると、IME30においては変換対象文字列「ょ」と登録文字列「東京駅」とが対となり、意図した学習にならない。
ただし、IME30が入力テキストの履歴を保持できる場合にはこの限りではなく、ブラウザ20からは変化したテキストのみを通知してもよい。つまり、「とうき」,「ょ」という2回の文字列入力を記憶しておき、その状態でブラウザ20から変化後の文字列(登録文字列)「東京駅」のみが通知された場合に、IME30において「とうきょ」と「東京駅」とを対として学習することで、予測変換精度の向上を図ることができる。
次に、実施形態の一例としての情報処理装置1における文字入力の入力補完機能の概要を、図7に示すフローチャート(ステップS1~S7)に従って説明する。
ステップS1において、ブラウザ20のユーザインタフェース25(補完入力検知部251)は、タッチディスプレイ15におけるユーザによるタッチ(タッチイベント)を検出する。例えば、ユーザが文字入力を行なうためにタッチディスプレイ15における入力欄111の位置に指でタッチする。
ステップS2において、補完入力検知部251は、タッチディスプレイ15に表示されている入力画面100において、タッチ位置に相当する位置(以下、単にタッチ位置という)に、文字入力可能な要素[A]があるかを確認する。本例においては入力欄111が要素[A]に相当する。
確認の結果、タッチ位置に、入力欄111のような文字入力可能な要素[A]がある場合には(ステップS2のYESルート参照)、ステップS3に移行する。
ステップS3において、IME30が起動される。ユーザはソフトウェアキーボード121を用いて文字入力を開始する。ユーザは、例えば、文字列「とうき」を入力する。
入力欄111に文字入力が行なわれると、ブラウザ20は、入力欄111に入力された文字に基づいてウェブコンテンツが提供する1つ以上の予測候補を第1予測変換候補表示欄112に表示させる。ブラウザ20は、例えば、第1予測変換候補表示欄112に、予測候補として「東京」,「東京駅」および「東京ドーム」を表示させる。
また、IME30は、ソフトウェアキーボード121から入力された文字に基づいて、ユーザが入力しようとしている文字列を予測し、第2予測変換候補表示欄122に1つ以上の予測候補を表示させる。例えば、IME30は、第2予測変換候補表示欄122に予測候補として「東京」,「東京駅」,「東京ドーム」および「陶器」を表示させる。
ステップS4において、補完入力検知部251は、入力画面100におけるIME30による入力が行なわれる以外の領域に、ユーザによるタッチが行なわれたこと(タッチイベント)を検知する。例えば、ユーザは第1予測変換候補表示欄112に表示された複数の予測候補の中から一の予測候補を選択すべく、タッチディスプレイ15にタッチ操作を行なう。
ステップS5において、補完入力検知部251は、ステップS4において検知されたタッチにより、要素[A]に入力されている文字列が変化したかを確認する。すなわち、補完入力検知部251は、ステップS4において検知されたタッチの前後で要素[A]に入力されている文字列が変化したかを確認する。
タッチにより要素[A]の文字列が変化した場合には(ステップS5のYESルート参照)、ステップS6に移行する。
ステップS6において、予測変換結果通知部252は、検出されたタッチが行なわれる直前まで要素[A]に入力されていた文字列(変換対象文字列)と、当該要素[A]における変化後の文字列(登録文字列)とを対応付けて、補完結果情報としてIME30に通知する。
ステップS7において、ブラウザ20はIME30に終了要求を発行する。これによりIME30が終了し、文字入力処理を終了する。
一方、ステップS2における確認の結果、タッチ位置に、文字入力可能な要素[A]がない場合には(ステップS2のNOルート参照)、ステップS7に移行する。
また、ステップS5における確認の結果、タッチにより要素[A]の文字列が変化しなかった場合にも(ステップS5のNOルート参照)、ステップS7に移行する。
次に、実施形態の一例としての情報処理装置1における文字入力の入力補完機能における処理の詳細を、図8に示すフローチャート(ステップS1~S4,S51~S54,S61,S7)に従って説明する。
以下に示す例においては、<input>に対して文字入力を行なう領域(例えば、(要素[A]))があるウェブコンテンツで、キー入力の度にJavaScriptで<input>の下部に入力候補(第1予測変換候補表示欄112)を表示するコンテンツを想定している。なお、補完入力検知部251は、DOM管理部22からコンテンツ内の文字を取得する。
また、以下の処理においては、変数prev_textおよび変数curr_textを用いる。これらの変数には文字列が設定される。
ステップS1において、ブラウザ20のユーザインタフェース25(補完入力検知部251)は、タッチディスプレイ15におけるユーザによるタッチ(タッチイベント)を検出する。例えば、ユーザが文字入力を行なうためにタッチディスプレイ15における入力欄111の位置に指でタッチする。
ステップS2において、補完入力検知部251は、タッチディスプレイ15に表示されている入力画面100において、タッチ位置に相当する位置(以下、単にタッチ位置という)に、文字入力可能な要素[A]があるかを確認する。本例においては入力欄111が要素[A]に相当する。
確認の結果、タッチ位置に、入力欄111のような文字入力可能な要素[A]がある場合には(ステップS2のYESルート参照)、ステップS3に移行する。
ステップS3において、IME30が起動される。ユーザはソフトウェアキーボード121を用いて文字入力を開始する。ユーザは、例えば、文字列「とうき」を入力する。
入力欄111に文字入力が行なわれると、ブラウザ20は、入力欄111に入力された文字に基づいてウェブコンテンツが提供する1つ以上の予測候補を第1予測変換候補表示欄112に表示させる。ブラウザ20は、例えば、第1予測変換候補表示欄112に、予測候補として「東京」,「東京駅」および「東京ドーム」を表示させる。
また、IME30は、ソフトウェアキーボード121から入力された文字に基づいて、ユーザが入力しようとしている文字列を予測し、第2予測変換候補表示欄122に1つ以上の予測候補を表示させる。例えば、IME30は、第2予測変換候補表示欄122に予測候補として「東京」,「東京駅」,「東京ドーム」および「陶器」を表示させる。
ステップS4において、補完入力検知部251は、入力画面100におけるIME30による入力が行なわれる以外の領域に、ユーザによるタッチが行なわれたこと(タッチイベント)を検知する。
例えば、ユーザは、第1予測変換候補表示欄112に表示された複数の予測候補の中から一の予測候補を選択すべく、タッチディスプレイ15における第1予測変換候補表示欄112の予測候補の位置に指で触れ、補完入力検知部251がそれを検知する。
ステップS51において、補完入力検知部251は、要素[A]に表示されている文字列、すなわち、要素[A]に含まれている現在の文字列(例えば、「とうき」)をprev_textに設定する。
ステップS52において、ステップS4において検知されたタッチイベントに応じた処理が実行される(タッチイベント実行)。例えば、ブラウザ20は、第1予測変換候補表示欄112においてユーザがタッチした予測候補の文字列を入力欄111に表示させ、入力された文字列として取り扱う。すなわち、ステップS4~ステップS52にかけて、ユーザによる第1予測変換候補表示欄112からの予測候補の選択入力が行なわれる。
ステップS53において、補完入力検知部251は、要素[A]に表示されている文字列、すなわち、要素[A]に含まれている現在の文字列(例えば、「東京駅」)をcurr_textに設定する。
ステップS54において、補完入力検知部251は、prev_textの値とcurr_textの値とを比較する。比較の結果、prev_textの値とcurr_textの値とが不一致である場合には(ステップS54のYESルート参照)、ステップS61に移行する。
prev_textの値とcurr_textの値とが不一致であることは,ステップS4~S52において行なわれた入力操作が、例えば、第1予測変換候補表示欄112における予測候補の選択であったと考えることができる。すなわち、prev_textの値はcurr_textの値に変換されたものである。
ステップS61において、予測変換結果通知部252は、IME30に対して、prev_textの値を入力文字列とし、curr_textの値を補完結果とする補完結果情報を通知する。すなわち、予測変換結果通知部252は、prev_textの値はcurr_textの値に変換可能であることをIME30に通知する。その後、処理はステップS7に移行する。
ステップS7において、ブラウザ20はIME30に終了要求を発行する。これによりIME30が終了し、文字入力処理を終了する。
ステップS2における確認の結果、タッチ位置に、文字入力可能な要素[A]がない場合には(ステップS2のNOルート参照)、ステップS7に移行する。
また、ステップS54における確認の結果、prev_textの値とcurr_textの値とが一致である場合にも(ステップS54のNOルート参照)、ステップS7に移行する。
(C)効果
このように、本発明の一実施形態としての情報処理装置1によれば、補完入力検知部251が、ユーザが、入力画面100において、IME30による文字入力中に、HTMLコンテンツが提供する入力補完機能を用いて文字入力を行なったことを検知する。
そして、予測変換結果通知部252が、このHTMLコンテンツが提供する入力補完機能による補完結果を補完結果情報としてIME30に通知する。
IME30において、予測変換学習部31が、予測変換結果通知部252から通知された補完結果情報に含まれる入力文字列および補完結果を、予測変換辞書32に変換対象文字列および登録文字列として学習させる。
すなわち、IME30による入力中にIME30以外の機能を用いて文字入力の補完が行なわれた場合に、補完入力検知部251が、補完された文字列(変換対象文字列)を、補完した文字列(補完結果)に変換可能と判断する。そして、予測変換結果通知部252が、IME30に対して、この補完結果情報をフィードバックする。これにより、IME30の予測変換精度を向上させることができる。
すなわち、IME30を用いた文字入力時に、ウェブコンテンツによる補完入力を行なった場合に、HTMLブラウザからIME30に対してウェブコンテンツによる補完入力の補完結果情報をフィードバックする。これにより、ユーザがウェブコンテンツが提供する入力補完機能(外部入力補完機能)を用いて文字の予測変換を行なった場合であっても、この入力補完をIME30の予測変換辞書32に反映させることができ、IME30の予測変換結果の精度向上を実現できる。
(D)その他
本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した実施形態では、入力画面100の入力欄111(要素[A])に対して文字入力を行なう例について示したが、これに限定されるものではない。例えば、近年においては、ブラウザのアドレスバーに検索キーワードを入力することでキーワード検索を実現する技術が知られている。
そこで、本情報処理装置1において、タッチディスプレイ15に表示されたブラウザ20のアドレスバーにキーワード等の文字入力を行なう場合に入力補完を行なってもよい。アドレスバーは、ブラウザが表示中(またはユーザが表示させたい)のウェブページのアドレスを表示する領域である。なお、アドレスバーを、ロケーションバー(location bar)またはURLバー(Uniform Resource Locator bar)という場合がある。
図9は実施形態の変形例としての情報処理装置1のタッチディスプレイ15に表示されるブラウザ20のアドレスバー201における入力を説明するための図である。
この図9に示す例においては、ブラウザ20のアドレスバー201にユーザが検索キーワードの入力を入力している状態を示している。
図9に例示する入力画面100は、図4に例示した入力画面100と同様に、HTMLで記述されたウェブページであり、アドレスバー201,第1予測変換候補表示欄112,ソフトウェアキーボード121および第2予測変換候補表示欄122を備える。
アドレスバー201においては、キーワード検索を行なうための検索キーワードを入力することができる。そして、このアドレスバー201に検索キーワードを入力した後に、エンターキーの押下等の検索実行を指示する入力を行なうことで、図示しない検索サーバに入力されたキーワードが送信され、検索が実行される。このキーワード検索の結果は、本情報処理装置1に応答され、タッチディスプレイ15に表示される。なお、この検索結果の表示方法は既知の種々の手法を用いて実現することができ、その説明は省略する。
この図9に示す例においては、アドレスバー201の下方に第1予測変換候補表示欄112が表示されている。
ウェブコンテンツにおいては、アドレスバー201に入力途中の文字列に基づいて、入力が予測される文字列の候補(予測候補,検索予測キーワード)を1つ以上生成して、第1予測変換候補表示欄112に並べて表示する。
ユーザは、アドレスバー201への文字の入力途中で、この第1予測変換候補表示欄112に表示された複数の予測候補の中から入力を希望する予測候補を選択することで、検索キーワードの残り部分を入力することなくアドレスバー201への文字入力を完了させることができる。
なお、アドレスバー201に入力された文字に基づいて第1予測変換候補表示欄112に予測候補を表示する機能はウェブコンテンツの機能として既知であり、その説明は省略する。
本変形例において、補完入力検知部251は、ユーザがアドレスバー201にIME30を使用して文字を入力している間に、IME30以外での入力の補完が行なわれたことを検知する。具体的には、補完入力検知部251は、アドレスバー201に対して、ユーザがIME30を用いて文字入力を行なっている間に、IME30が提供する第2予測変換候補表示欄122における文字選択やIME30が備える文字変換機能以外の手法を用いて文字入力が行なわれた場合に、IME30以外で入力の補完が行なわれたと検知する。
例えば、補完入力検知部251は、ユーザがIME30を用いて文字入力を行なっている間に、ウェブコンテンツが提供する第1予測変換候補表示欄112において入力文字の選択がされた場合に、IME30以外で入力の補完が行なわれたと検知する。
補完入力検知部251は、ユーザにより行なわれるタッチディスプレイ15におけるタッチ位置が、IME30が機能を提供する領域に対して行なわれたか否かに基づき、ユーザによる文字入力がIME30を用いて行なわれたか否かを判断してもよい。すなわち、補完入力検知部251は、IME30を用いた文字入力の実行中に、タッチディスプレイ15において、ウェブコンテンツが提供する第1予測変換候補表示欄112に相当する領域においてタッチ入力が行なわれた場合に、ウェブコンテンツにより入力の補完が行なわれたと検知する。
なお、ブラウザ20においてアドレスバー201に文字入力を行なうに際しては、HTMLコンテンツ表示を伴わない。そのため、本変形例においては、補完入力検知部251はDOM管理部22からの文字列の取得を行なわない。なお、ブラウザ20(補完入力検知部251)におけるアドレスバーに入力された文字列の取得は、既知の種々の手法により実現することができる。例えば、アドレスバーがテキストボックスで実装されている場合、そのテキストボックスが含んでいる文字列を取得する。
また、本変形例は、前述の<input>のようなコンテンツ内の要素に対する入力のうち、コンテンツがJavaScriptによって入力を補完しないような場合、例えばオートコンプリートのような機能に実装してもよい。
このような、実施形態の変形例としての情報処理装置1における文字入力の入力補完機能における処理の詳細を、図10に示すフローチャート(ステップS11~S19)に従って説明する。
以下の処理においては、変数prev_textおよび変数curr_textを用いる。これらの変数には文字列が設定される。
ステップS11において、ブラウザ20のユーザインタフェース25(補完入力検知部251)は、タッチディスプレイ15におけるアドレスバー201に相当する位置にユーザによるタッチ(タッチイベント)を検出する。すなわち、ブラウザ20におけるアドレスバー201がタッチイベントを検出する。
ステップS12においてIME30が起動される。ユーザはソフトウェアキーボード121を用いて文字入力を開始する。ユーザは、例えば、文字列「とうき」を入力する。
アドレスバー201に文字入力が行なわれると、ブラウザ20は、アドレスバー201に入力された文字に基づいてウェブコンテンツが提供する1つ以上の予測候補を第1予測変換候補表示欄112に表示させる。ブラウザ20は、例えば、第1予測変換候補表示欄112に、予測候補として「東京」,「東京駅」および「東京ドーム」を表示させる。
また、IME30は、ソフトウェアキーボード121から入力された文字に基づいて、ユーザが入力しようとしている文字列を予測し、第2予測変換候補表示欄122に1つ以上の予測候補を表示させる。例えば、IME30は、第2予測変換候補表示欄122に予測候補として「東京」,「東京駅」,「東京ドーム」および「陶器」を表示させる。
ステップS13において、補完入力検知部251は、入力画面100におけるIME30による入力が行なわれる以外の領域に、ユーザによるタッチが行なわれたこと(タッチイベント)を検知する。
例えば、ユーザは、第1予測変換候補表示欄112に表示された複数の予測候補の中から一の予測候補を選択すべく、タッチディスプレイ15における第1予測変換候補表示欄112の予測候補の位置に指で触れ、補完入力検知部251がそれを検知する。
ステップS14において、補完入力検知部251は、アドレスバー201に表示されている文字列、すなわち、アドレスバー201に含まれている現在の文字列(例えば、「とうき」)をprev_textに設定する。
ステップS15において、ステップS13において検知されたタッチイベントに対する処理が実行される(タッチイベント実行)。例えば、ブラウザ20は、第1予測変換候補表示欄112においてユーザがタッチした予測候補の文字列を入力欄111に表示させ、入力された文字列として取り扱う。すなわち、ステップS13~ステップS15にかけて、ユーザによる第1予測変換候補表示欄112からの予測候補の選択入力が行なわれる。
ステップS16において、補完入力検知部251は、第1予測変換候補表示欄112に表示された文字列のうち、ユーザのタッチにより選択された文字列、すなわち、現在の文字列(例えば、「東京駅」)をcurr_textに設定する。
ステップS17において、補完入力検知部251は、prev_textの値とcurr_textの値とを比較する。比較の結果、prev_textの値とcurr_textの値とが不一致である場合には(ステップS17のYESルート参照)、ステップS18に移行する。
prev_textの値とcurr_textの値とが不一致であることは,ステップS15において行なわれたタッチ入力が、例えば、第1予測変換候補表示欄112における予測候補の選択であったと考えることができる。すなわち、prev_textの値はcurr_textの値に変換されたものである。
ステップS18において、予測変換結果通知部252は、IME30に対して、prev_textの値を入力文字列とし、curr_textの値を補完結果とする補完結果情報を通知する。すなわち、予測変換結果通知部252は、prev_textの値はcurr_textの値に変換可能であることをIME30に通知する。
その後、ステップS19において、ブラウザ20はIME30に終了要求を発行する。これによりIME30が終了し、文字入力処理を終了する。
また、ステップS17における確認の結果、prev_textの値とcurr_textの値とが一致である場合にも(ステップS17のNOルート参照)、ステップS19に移行する。
このように、本変形例の情報処理装置1においては、ブラウザ20のアドレスバー等のDOM管理部22が管理する領域へ文字入力を行なう場合においても、上述した一実施形態と同様の作用効果を奏することができる。
すなわち、補完入力検知部251が、入力画面100において、ユーザがIME30による文字入力中にウェブサーバ3等のIME30以外が提供する入力補完機能を用いて文字入力を行なったことを検知する。
そして、予測変換結果通知部252が、IME30以外によって提供される入力補完機能による補完結果を補完結果情報としてIME30に通知する。
IME30において、予測変換学習部31が、予測変換結果通知部252から通知された補完結果情報に含まれる入力文字列および補完結果を、予測変換辞書32に変換対象文字列および登録文字列として学習させる。
すなわち、IME30による入力中にIME30以外の機能を用いて文字入力の補完が行なわれた場合に、補完入力検知部251が、補完された文字列(変換対象文字列)を、補完した文字列(補完結果)に変換可能と判断する。そして、予測変換結果通知部252が、IME30に対して、この補完結果情報をフィードバックする。これにより、IME30の予測変換精度を向上することができる。
また、上述した実施形態および変形例においては、IME30を用いた文字入力時に、外部入力補完機能としてウェブコンテンツによる補完入力を用いる例を示したが、これに限定されるものではない。ウェブコンテンツ以外が提供する入力補完機能を用いて文字入力が行なわれた場合においても、補完入力検知部251は既知の種々の手法を用いてIME30以外での入力の補完が行なわれたことを検知してもよい。また、予測変換結果通知部56は、その補完結果情報をIME30に通知してもよい。また、文字入力支援ソフトはIMEに限定されるものではなく、種々変更して実施することができる。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
(E)付記
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
文字入力支援ソフトにより入力された入力文字情報を受け付けると、受け付けた前記入力文字情報と、前記入力文字情報の変換候補である候補文字情報とを表示部に表示させ、
表示させた前記候補文字情報のうち、いずれかの候補文字情報の指定を受け付けると、指定された前記候補文字情報を、受け付けた前記入力文字情報に対応付けて前記文字入力支援ソフトに応じた宛先に送信する、
処理をコンピュータが実行することを特徴とする制御方法。
(付記2)
ウェブサーバからコンテンツ情報を取得すると、取得した前記コンテンツ情報に応じた表示画像を前記表示部に表示させ、
表示した前記表示画像に含まれる特定の領域に、受け付けた前記入力文字情報を表示させる、
ことを特徴とする付記1記載の制御方法。
(付記3)
前記いずれかの候補文字情報の指定を受け付けたことに応じて、表示した前記入力文字情報に変化が生じたことを検知すると、指定された前記候補文字情報を、受け付けた前記入力文字情報に対応付けて前記宛先に送信する、
ことを特徴とする付記1又は2に記載の制御方法。
(付記4)
前記文字入力支援ソフトによる文字入力中に、当該文字入力支援ソフト以外の機能による文字入力補完が行なわれると、前記候補文字情報および前記入力文字情報を前記宛先に送信する、
ことを特徴とする付記3記載の制御方法。
(付記5)
文字入力支援ソフトにより入力された入力文字情報を受け付けると、受け付けた前記入力文字情報と、前記入力文字情報の変換候補である候補文字情報とを表示部に表示させる表示制御部と、
表示させた前記候補文字情報のうち、いずれかの候補文字情報の指定を受け付けると、指定された前記候補文字情報を、受け付けた前記入力文字情報に対応付けて前記文字入力支援ソフトに応じた宛先に送信する送信部と、
を備えることを特徴とする情報処理装置。
(付記6)
前記表示制御部が、
ウェブサーバからコンテンツ情報を取得すると、取得した前記コンテンツ情報に応じた表示画像を前記表示部に表示させ、
表示した前記表示画像に含まれる特定の領域に、受け付けた前記入力文字情報を表示させる、
ことを特徴とする付記5記載の情報処理装置。
(付記7)
前記送信部が、
前記いずれかの候補文字情報の指定を受け付けたことに応じて、表示した前記入力文字情報に変化が生じたことを検知すると、指定された前記候補文字情報を、受け付けた前記入力文字情報に対応付けて前記宛先に送信する、
ことを特徴とする付記5又は6に記載の情報処理装置。
(付記8)
前記送信部が、
前記文字入力支援ソフトによる文字入力中に、当該文字入力支援ソフト以外の機能による文字入力補完が行なわれると、前記候補文字情報および前記入力文字情報を前記宛先に送信する、
ことを特徴とする付記7記載の情報処理装置。
(付記9)
文字入力支援ソフトにより入力された入力文字情報を受け付けると、受け付けた前記入力文字情報と、前記入力文字情報の変換候補である候補文字情報とを表示部に表示させ、
表示させた前記候補文字情報のうち、いずれかの候補文字情報の指定を受け付けると、指定された前記候補文字情報を、受け付けた前記入力文字情報に対応付けて前記文字入力支援ソフトに応じた宛先に送信する、
処理をコンピュータに実行させることを特徴とする制御プログラム。
(付記10)
ウェブサーバからコンテンツ情報を取得すると、取得した前記コンテンツ情報に応じた表示画像を前記表示部に表示させ、
表示した前記表示画像に含まれる特定の領域に、受け付けた前記入力文字情報を表示させる、
処理を前記コンピュータに実行させることを特徴とする付記9記載の制御プログラム。
(付記11)
前記いずれかの候補文字情報の指定を受け付けたことに応じて、表示した前記入力文字情報に変化が生じたことを検知すると、指定された前記候補文字情報を、受け付けた前記入力文字情報に対応付けて前記宛先に送信する、
ことを前記コンピュータに実行させることを特徴とする付記9又は10に記載の制御プログラム。
(付記12)
前記文字入力支援ソフトによる文字入力中に、当該文字入力支援ソフト以外の機能による文字入力補完が行なわれると、前記候補文字情報および前記入力文字情報を前記宛先に送信する、
処理を前記コンピュータに実行させることを特徴とする付記11記載の制御プログラム。
1 情報処理装置
2 情報処理システム
3 ウェブサーバ
10 CPU
11 メモリ
12 ストレージ
13 通信部
14 GPU
15 タッチディスプレイ
20 ブラウザ
21 パーサ
22 DOM管理部
23 スクリプトエンジン
24 ラスタライザ
25 ユーザインタフェース
251 補完入力検知部
252 予測変換結果通知部
30 IME
31 予測変換学習部
32 予測変換辞書
100 入力画面
111 入力欄
112 第1予測変換候補表示欄
113 検索ボタン
121 ソフトウェアキーボード
122 第2予測変換候補表示欄
201 アドレスバー

Claims (6)

  1. 文字入力支援ソフトにより入力された入力文字情報を受け付けると、受け付けた前記入力文字情報と、前記文字入力支援ソフト以外により得られる、前記入力文字情報の変換候補である予測補とを表示部に表示させ、
    表示させた前記予測補のうち、いずれかの予測補の選択を受け付けると、選択された前記予測候補と前記入力文字情報とを対応付けた補完結果情報を前記文字入力支援ソフトに通知する、
    処理をコンピュータが実行することを特徴とする制御方法。
  2. ウェブサーバからコンテンツ情報を取得すると、取得した前記コンテンツ情報に応じた表示画像を前記表示部に表示させ、
    表示した前記表示画像に含まれる特定の領域に、受け付けた前記入力文字情報を表示させる、
    ことを特徴とする請求項1記載の制御方法。
  3. 前記いずれかの予測補の選択を受け付けたことに応じて、表示した前記入力文字情報に変化が生じたことを検知すると、選択された前記予測補を、受け付けた前記入力文字情報に対応付けて前記文字入力支援ソフト通知する、
    ことを特徴とする請求項1又は2に記載の制御方法。
  4. 前記文字入力支援ソフトによる文字入力中に、当該文字入力支援ソフト以外の機能による文字入力補完が行なわれると、前記予測補および前記入力文字情報を前記文字入力支援ソフト通知する、
    ことを特徴とする請求項3記載の制御方法。
  5. 文字入力支援ソフトにより入力された入力文字情報を受け付けると、受け付けた前記入力文字情報と、前記文字入力支援ソフト以外により得られる、前記入力文字情報の変換候補である予測補とを表示部に表示させる表示制御部と、
    表示させた前記予測補のうち、いずれかの予測補の選択を受け付けると、選択された前記予測候補と前記入力文字情報とを対応付けた補完結果情報を前記文字入力支援ソフトに通知する送信部と、
    を備えることを特徴とする情報処理装置。
  6. 文字入力支援ソフトにより入力された入力文字情報を受け付けると、受け付けた前記入力文字情報と、前記文字入力支援ソフト以外により得られる、前記入力文字情報の変換候補である予測補とを表示に表示させ、
    表示させた前記予測補のうち、いずれかの予測補の選択を受け付けると、選択された前記予測候補と前記入力文字情報とを対応付けた補完結果情報を前記文字入力支援ソフトに通知する、
    処理をコンピュータに実行させることを特徴とする制御プログラム。
JP2018156017A 2018-08-23 2018-08-23 制御方法,情報処理装置および制御プログラム Active JP7263712B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018156017A JP7263712B2 (ja) 2018-08-23 2018-08-23 制御方法,情報処理装置および制御プログラム
US16/538,143 US11061484B2 (en) 2018-08-23 2019-08-12 Computing device and predictive conversion method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018156017A JP7263712B2 (ja) 2018-08-23 2018-08-23 制御方法,情報処理装置および制御プログラム

Publications (2)

Publication Number Publication Date
JP2020030632A JP2020030632A (ja) 2020-02-27
JP7263712B2 true JP7263712B2 (ja) 2023-04-25

Family

ID=69586124

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018156017A Active JP7263712B2 (ja) 2018-08-23 2018-08-23 制御方法,情報処理装置および制御プログラム

Country Status (2)

Country Link
US (1) US11061484B2 (ja)
JP (1) JP7263712B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011118735A (ja) 2009-12-04 2011-06-16 Kddi Corp 文書作成支援システムおよびその情報端末
US20160267200A1 (en) 2015-03-13 2016-09-15 Microsoft Technology Licensing, Llc Truncated autosuggest on a touchscreen computing device

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3896055B2 (ja) 2002-08-20 2007-03-22 埼玉日本電気株式会社 辞書登録システム及びその端末装置
US7647312B2 (en) * 2005-05-12 2010-01-12 Microsoft Corporation System and method for automatic generation of suggested inline search terms
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8745018B1 (en) * 2008-07-10 2014-06-03 Google Inc. Search application and web browser interaction
JP2010140163A (ja) 2008-12-10 2010-06-24 Hitachi Software Eng Co Ltd ネットワーク共有型権限付き辞書ファイル登録/配布システム
JP5282699B2 (ja) * 2009-08-14 2013-09-04 富士通株式会社 携帯端末装置、文字変換装置、文字変換方法およびプログラム
JP5602413B2 (ja) * 2009-10-28 2014-10-08 京セラ株式会社 電子機器及び電子機器の制御方法
US8782556B2 (en) * 2010-02-12 2014-07-15 Microsoft Corporation User-centric soft keyboard predictive technologies
JP5826755B2 (ja) * 2011-03-29 2015-12-02 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 文字入力予測装置、方法、及び文字入力システム
US8601019B1 (en) * 2012-04-03 2013-12-03 Google Inc. Presenting autocomplete suggestions
WO2014006715A1 (ja) * 2012-07-05 2014-01-09 富士通株式会社 入力支援方法、情報処理システムおよびプログラム
US9552411B2 (en) * 2013-06-05 2017-01-24 Microsoft Technology Licensing, Llc Trending suggestions
US9430460B2 (en) * 2013-07-12 2016-08-30 Microsoft Technology Licensing, Llc Active featuring in computer-human interactive learning
US9703394B2 (en) * 2015-03-24 2017-07-11 Google Inc. Unlearning techniques for adaptive language models in text entry
US10305828B2 (en) * 2016-04-20 2019-05-28 Google Llc Search query predictions by a keyboard
US10698931B1 (en) * 2016-12-07 2020-06-30 Parallels International Gmbh Input prediction for document text search
US10671759B2 (en) * 2017-06-02 2020-06-02 Apple Inc. Anonymizing user data provided for server-side operations
US10719539B2 (en) * 2017-06-06 2020-07-21 Mastercard International Incorporated Method and system for automatic reporting of analytics and distribution of advice using a conversational interface
US20200042104A1 (en) * 2018-08-03 2020-02-06 International Business Machines Corporation System and Method for Cognitive User-Behavior Driven Messaging or Chat Applications

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011118735A (ja) 2009-12-04 2011-06-16 Kddi Corp 文書作成支援システムおよびその情報端末
US20160267200A1 (en) 2015-03-13 2016-09-15 Microsoft Technology Licensing, Llc Truncated autosuggest on a touchscreen computing device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
大和 哲,Google Maps APIで始めるAjaxプログラミング,PC Japan,日本,ソフトバンククリエイティブ株式会社,2006年03月01日,第11巻,pp.73-76

Also Published As

Publication number Publication date
US20200064930A1 (en) 2020-02-27
JP2020030632A (ja) 2020-02-27
US11061484B2 (en) 2021-07-13

Similar Documents

Publication Publication Date Title
US9507519B2 (en) Methods and apparatus for dynamically adapting a virtual keyboard
US10817175B2 (en) Input device enhanced interface
CN109800386B (zh) 突出显示文档内文本的关键部分
US20180336170A1 (en) Simulated hyperlinks on a mobile device
US10551990B2 (en) Contextual browser frame and entry box placement
US20120166522A1 (en) Supporting intelligent user interface interactions
US8910074B2 (en) System and method for performing auto scroll
WO2020060641A1 (en) Proactive notification of relevant feature suggestions based on contextual analysis
NO335888B1 (no) System og fremgangsmåte for å gjøre elementer til brukergrensesnittet kjent for en applikasjon og bruker
US11093510B2 (en) Relevance ranking of productivity features for determined context
US11537789B2 (en) Systems and methods for seamless application of autocorrection and provision of review insights through adapted user interface
JP6364064B2 (ja) ウェブページ表示装置、その方法及びそのコンピュータプログラム
JP2016539435A (ja) オンスクリーンキーボード用クイックタスク
KR102055044B1 (ko) 다국어 키보드 시스템
JP5551795B2 (ja) 検索結果提供システム及び方法
JP2013041567A (ja) 文字入力装置
KR100491613B1 (ko) 웹문서의 클로즈업 기능을 구비한 정보통신기기와 이것을 이용한 웹문서의 디스플레이 방법 및 그 방법을 기록한 기록매체
JP7263712B2 (ja) 制御方法,情報処理装置および制御プログラム
JP6281294B2 (ja) 表示装置、表示方法および表示プログラム、ならびに、情報表示システム
JP2010134666A (ja) 情報表示方法、情報表示装置、およびプログラム
JP2013134657A (ja) 情報処理装置、情報処理方法および情報処理プログラム
US20230113779A1 (en) Information processing apparatus, method for controlling information processing apparatus, and storage medium
JP2009223538A (ja) 情報提供方法、情報提供装置、情報提供システム及びコンピュータプログラム
JP2017040988A (ja) 情報処理装置及び情報処理プログラム
JP2021100176A (ja) 情報処理装置及び情報処理プログラム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190607

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210513

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221025

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20221222

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: 20230314

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230327

R150 Certificate of patent or registration of utility model

Ref document number: 7263712

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150