JP6538563B2 - 入力支援装置、入力支援方法及びプログラム - Google Patents

入力支援装置、入力支援方法及びプログラム Download PDF

Info

Publication number
JP6538563B2
JP6538563B2 JP2015548986A JP2015548986A JP6538563B2 JP 6538563 B2 JP6538563 B2 JP 6538563B2 JP 2015548986 A JP2015548986 A JP 2015548986A JP 2015548986 A JP2015548986 A JP 2015548986A JP 6538563 B2 JP6538563 B2 JP 6538563B2
Authority
JP
Japan
Prior art keywords
character string
input
recommended
index structure
kana
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
JP2015548986A
Other languages
English (en)
Other versions
JPWO2015075920A1 (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.)
NEC Solutions Innovators Ltd
Original Assignee
NEC Solutions Innovators 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 NEC Solutions Innovators Ltd filed Critical NEC Solutions Innovators Ltd
Publication of JPWO2015075920A1 publication Critical patent/JPWO2015075920A1/ja
Application granted granted Critical
Publication of JP6538563B2 publication Critical patent/JP6538563B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • G06F40/129Handling non-Latin characters, e.g. kana-to-kanji conversion
    • 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/018Input/output arrangements for oriental characters
    • 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
    • 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/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/0489Interaction 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 dedicated keyboard keys or combinations thereof
    • G06F3/04895Guidance during keyboard input operation, e.g. prompting
    • 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

Description

本発明は、ユーザが文字を入力する際に、適切な文字列を推薦することで、そのユーザによる文字の入力を支援する、入力支援装置、入力支援方法及び記録媒体に関する。
近年、各種の情報機器においては、ユーザによる入力フォームへの文字列の入力が始められると、予め登録されている文字列から適合する文字列を選択し、選択した文字列を入力候補として推薦する機能が広く普及している。このような機能は、一般に「オートコンプリート機能(以下単に「オートコンプリート」と記載)」と呼ばれている。
オートコンプリートが適用される代表的な例としては、検索エンジンが挙げられる。具体的には、この場合、検索エンジンは、ユーザによって検索フォームに文字列が入力され始めると、蓄積されている過去の検索キーワードの中から、ユーザが入力している文字に適合する文字列を抽出し、抽出した文字列をユーザに推薦する。なお、以降においては、ユーザに推薦される文字列を「推薦候補文字列」と表記する。
このため、検索エンジンにオートコンプリートが利用されていると、ユーザは、検索キーワードを全て打ち込む必要はなく、推薦候補文字列の中からいずれかを選択するだけで、自分の入力したいキーワードを入力することができる。
このようなオートコンプリートは、検索エンジンに限らず、入力フォームへの入力が必要な全てのアプリケーションプログラムに適用することができる。検索エンジン以外の適用例としては、URL(Uniform Resource Locator)の入力が必要となるWebブラウザ、メールアドレスの入力が必要となる電子メールソフト、製品名の入力が必要となる電子コマースサイト等が挙げられる。
また、非特許文献1には、オートコンプリートを実現する技術の一例が開示されている。非特許文献1に開示された技術によれば、ユーザが入力した文字列と、先頭部分が一致する推薦候補文字列が高速に探索される。
但し、非特許文献1に開示された技術は、英語のような、ユーザがキーボードで入力する文字列と、推薦候補文字列の表記とが同一となる言語を対象としている。また、この技術では、先頭部分の一致判定は、単純にユーザが入力した文字列と推薦候補文字列との文字コードが一致するかどうかによって行われている。このため、非特許文献1に開示された技術を、日本語のような、入力された文字列と推薦候補文字列の表記とが一致しない言語に、そのまま適用するのは困難である。
具体的には、日本語での入力の場合、第一に、ユーザの多くは、まずローマ字仮名入力等を利用して、入力したい文字列を仮名で入力し、次に仮名を漢字に変換する。従って、漢字に変換する時点で、ほぼ入力が終わっていると考えられるため、漢字に変換してから、ユーザに推薦候補文字列を推薦するのでは遅く、仮名を入力した時点で、ユーザに推薦候補文字列を推薦する必要がある。
そのため、オートコンプリートを日本語での入力に適用するためには、日本語ドキュメントから収集された文字列候補について、予め読み仮名を推定しておき、ユーザが入力した仮名文字列と、推薦候補文字列の読み仮名とを照合する必要がある。
また、推薦候補文字列の読み仮名を推定する方法としては、表記と読み仮名との対応が記述された日本語の辞書を用いた方法が挙げられる。この方法では、日本語ドキュメントから、推薦候補文字列が収集されると、まず、推薦候補文字列は、辞書に存在する表記と一致する部分毎に分割される。次に、各部分に対応する読み仮名が連結され、推薦候補文字列の読み仮名が推定される。
また、このような辞書を用いた読み仮名の推定方法は、形態素解析と呼ばれる手法を用いることで実現できる。さらに、推薦候補文字列の各部分に対応する各読み仮名を用いて、元の推薦候補文字列についてインデックスを作成し、このインデックスを用いて、ユーザが仮名を入力した時点で、入力した仮名に対応する推薦候補文字列を推薦することができる。
ここで、特許文献1を用いて、仮名の入力に応じて、ユーザに推薦候補文字列を推薦する技術について説明する。特許文献1には、音声認識を利用して情報を検索する技術が開示されている。
特許文献1に開示された技術では、例えば、「スーパーフニット国分寺ストア」という文字列は、辞書を引くことによって、「スーパー」、「フニット」「国分寺」、「ストア」という4つの語に分割される。ここで「スーパー」はスーパーマーケットの略称であり、「フニット」は商号の例であり、「国分寺」は地名の例である。そして、辞書に記載されているそれぞれの読み仮名を用いることで、「スーパー フニット コクブンジ ストア」という読み仮名が推定される。
そして、ユーザが音声入力によって「フニツ」と入力すると、「フニツ」と先頭一致する「フニット」という部分文字列が探しだされ、その部分文字列を含む元の文字列である「スーパーフニット 国分寺 ストア」が推定され、これがユーザに推薦される。
国際公開第2011/030817号
Bo-June (Paul) Hsu and Giuseppe Ottaviano, "Space-Efficient Data Structures for Top-k Completion", WWW '13 Proceedings of the 22nd international conference on World Wide Web, p583-594, May, 2013
上述したように、特許文献1に開示された技術を用いれば、ユーザは、仮名を入力するだけで、漢字を含んだ推薦候補文字列の提示を受けることができるが、この技術には、推薦の精度が低いという問題がある。
具体的には、まず、単純に辞書引きによって、文字列を複数の語に分割した場合、得られた語には、ユーザが入力の開始に用いる可能性が低い語も多数含まれている。そのため、ユーザへの推薦結果として、ユーザが入力したかった文字列とは異なる文字列が、推薦候補文字列として推薦されてしまい、推薦精度が低下するという問題が発生する。
例えば、「アトピーに効く豆乳」という商品名が登録されている場合において、特許文献1に開示された技術を用いて、入力されたキーワードから、この商品名を推薦する場合について検討する。この場合において、ユーザが「アトピ」又は「トウニュ」と入力した場合は、通常は、「アトピーに効く豆乳」が推薦候補文字列として出力される。
しかしながら、特許文献1に開示された技術を用いた場合は、ユーザが「キク」又は「キクト」と入力した場合であっても、「アトピーに効く豆乳」が推薦候補文字列として出力される可能性がある。つまり、「キク」又は「キクト」と入力する場合、通常、ユーザは、「アトピーに効く豆乳」以外の語(「菊と刀」等)を期待していると考えられので、このような推薦は、ユーザにとっては違和感が生じる。
また、上述のような推薦の精度が低いという問題が生じる理由は、文字列に含まれる語毎に、ユーザが入力の開始に用いる可能性が異なるためである。例えば、「効く」は、通常は前方に「〜に」を伴って使用される語である。よって、ユーザが最初に「効く」と変換する意図をもって「キク」と入力し始める可能性は少なく、「効く」は、ユーザが入力の開始に用いる可能性が低い語である。一方、「豆乳」は単独で使われやすい語であり、ユーザが最初に「豆乳」と変換する意図をもって「トウニュウ」と入力する可能性は高く、「トウニュ」は、ユーザが入力の開始に用いる可能性が高い語である。
このように、同じ推薦候補文字列に含まれる語であっても、ユーザが入力の開始に用いる可能性が高い語と、ユーザが入力の開始に用いる可能性が低い語とが存在している。このため、特許文献1に開示された技術には、推薦精度が低下するという問題が発生してしまう。
本発明の目的の一例は、上記問題を解消し、文字列における、最初に入力される可能性を考慮して、ユーザに推薦すべき文字列を提示し得る、入力支援装置、入力支援方法及び記録媒体を提供することにある。
上記目的を達成するため、本発明の一側面における入力支援装置は、ユーザによる文字列の入力を支援する装置であって、
単語とその読み仮名とが登録され、且つ、単語が文字列の入力時に最初に入力される可能性があるか否かが示された、インデックス構造を用いて、ユーザが仮名文字列を入力した場合に、入力された仮名文字列に対して推薦すべき文字列を特定する、文字列特定手段と、
特定された推薦すべき文字列を、推薦候補として提示する、推薦候補提示手段と、
を備える。
また、上記目的を達成するため、本発明の一側面における入力支援方法は、ユーザによる文字列の入力を支援する方法であって、
単語とその読み仮名とが登録され、且つ、単語が文字列の入力時に最初に入力される可能性があるか否かが示された、インデックス構造を用いて、ユーザが仮名文字列を入力した場合に、入力された仮名文字列に対して推薦すべき文字列を特定し、特定された推薦すべき文字列を、推薦候補として提示する、ことを有する。
更に、上記目的を達成するため、本発明の一側面における記録媒体に格納されるプログラムは、コンピュータによって、ユーザにおける文字列の入力を支援するためのプログラムであって、
当該コンピュータに、
単語とその読み仮名とが登録され、且つ、前記単語が文字列の入力時に最初に入力される可能性があるか否かが示された、インデックス構造を用いて、ユーザが仮名文字列を入力した場合に、入力された仮名文字列に対して推薦すべき文字列を特定し、特定された推薦すべき文字列を、推薦候補として提示する、ことを実行させる。
以上のように、本発明によれば、文字列における、最初に入力される可能性を考慮して、ユーザに推薦すべき文字列を提示することができる。
図1は、本発明の第一の実施形態における入力支援装置の概略構成を示すブロック図である。 図2は、本発明の第一の実施形態における入力支援装置の構成を具体的に示すブロック図である。 図3は、本発明の第一の実施形態で用いられるインデックス構造に登録されている情報の一例を示す図である。 図4Aは、本発明の第一の実施形態で用いられるインデックス構造に使用されるポインタとその内容の概念の一例を示す図である。 図4Bは、本発明の第一の実施形態で用いられるインデックス構造を用いたトライ木の一例を示す概念図である。 図5は、本発明の第一の実施形態で用いられるインデックス構造を用いたトライ木の一例を示す概念図である。 図6は、本発明の第一の実施形態における入力支援装置の動作を示すフロー図である。 図7は、本発明の第二の実施形態における入力支援装置の概略構成を示すブロック図である。 図8は、本発明の第二の実施形態におけるインデックス構造の構築に用いられる辞書の一例を示す図である。 図9は、本発明の第二の実施形態における入力支援装置の動作を示すフロー図である。 図10は、本発明の第一および二の実施形態における入力支援装置を実現するコンピュータの一例を示すブロック図である。 図11は、本発明の第三の実施形態における入力支援装置の概略構成を示すブロック図である。
以下、本発明の実施形態を、図面を参照して詳細に説明する。以下に説明する実施形態では、インデックス構造を用いて、入力支援が行われるが、このインデックス構造は、ユーザに推薦すべき文字列に含まれる、あらゆる語の読み仮名が単に登録されただけのものではない。本発明の実施形態では、単語とその読み仮名とが登録され、且つ、各単語が文字列の入力時に最初に入力される可能性があるか否かが示された、インデックス構造が用いられる。
このため、ユーザによって、入力時に最初に入力されやすい単語の読み仮名と一致する仮名文字が入力された場合は、この単語を含む文字列が推薦されるが、一致しない仮名文字が入力された場合は、文字列の推薦は行われない。
例えば、推薦すべき文字列として「アトピーに効く豆乳」が登録され、更に、「アトピー(あとぴー)」及び「豆乳(とうにゅう)」は、入力時に最初に入力される可能性があるとする。この場合、ユーザによって、「アトピ」又は「トウニュ」と入力されると、「アトピーに効く豆乳」が推薦される。しかし、ユーザによって、「キク」又は「キクト」と入力されると、「アトピーに効く豆乳」は推薦されない。この結果、入力支援における推薦精度が向上することとなる。
なお、推薦すべき文字列としては、予め登録された文字列が用いられる。更に、登録対象となる文字列は、例えば、検索システムに蓄積されている過去の入力ログ、製品カタログ、住所録、等から取得可能である。また、インデックス構造に登録される「単語」には、単体で意味の分かる語だけでなく、単体で意味の分かる語を分割して得られた語(不完全な単語)が含まれていてもよい。不完全な単語の例としては、「Afghan(読み仮名:アフガン)」を分割して得られた「Af(読み仮名:アフ)」と「ghan(読み仮名:ガン)」、等が挙げられる。
また、本発明の実施形態では、文字列を推薦する際に、この推薦候補となる文字列において、ユーザが入力した仮名文字列に対応している部分を強調して表示するのが好ましい態様である。この態様により、ユーザは、自分が入力した仮名文字列が、推薦候補となる文字列のどの部分に対応するのかを、素早く理解でき、更に、この推薦候補となる文字列が適切かどうかを速やかに判断できる。
更に、本発明の実施形態では、インデックス構造は、単語の表記と読み仮名とを対応させた辞書を引くことで構築できる。具体的には、初めに、推薦すべき文字列のリストが与えられているとする。次に、この各文字列に対応する読み仮名が推定される。また、各文字列に対応する読み仮名の推定は、上述の辞書を使って行われる。このとき、辞書に、単独では語にならないような短い文字列が登録されていると、読み仮名の推定精度が向上することになる。
続いて、リストに記載の文字列は、更に短い部分文字列に分割され、得られた部分文字列のうち、最初に入力される可能性がある部分文字列が推定される。そして、最初に入力される可能性がある部分文字列に対応する読み仮名がキーとなるようなデータ構造を成す、インデックス構造が構築される。
また、この部分文字列が、「単語」として、インデックス構造に登録される。よって、分割によって得られる部分文字列は、単体で意味の分かる語であってもよいし、単体で意味の分かる語を更に分割して得られる語(不完全な単語)であってもよい。なお、インデックス構造には、このように不完全な単語も登録されるが、各単語が、最初に入力される可能性があるか否かが示されている。これにより、不完全な単語が誤って推薦される事態は回避される。
また、部分文字列が最初に入力される可能性を有しているかどうかは、例えば、推薦すべき文字列の取得先となった文書集合における各部分文字列の統計データ(出現頻度等)に基づいて、更には予め設定されたルールに基づいて、判断することができる。
(第一の実施形態)
以下、本発明の第一の実施形態における入力支援装置、入力支援方法及び記憶装置について、図1乃至図6を参照しながら説明する。
[装置構成]
最初に、図1を用いて、本発明の第一の実施形態における入力支援装置の構成について説明する。図1は、本発明の第一の実施形態における入力支援装置の概略構成を示すブロック図である。
図1に示す、第一の実施形態における入力支援装置10は、ユーザによる文字列の入力を支援するための装置である。図1に示すように、入力支援装置10は、文字列特定部11と、推薦候補提示部12とを備えている。
このうち、文字列特定部11は、ユーザが仮名文字列を入力した場合に、インデックス構造記憶部13に格納されるインデックス構造を用いて、入力された仮名文字列に対して推薦すべき文字列を特定する。インデックス構造には、単語とその読み仮名とが登録され、且つ、各単語が文字列の入力時に最初に入力される可能性があるか否かが示されている。また、推薦候補提示部12は、文字列特定部11によって特定された、推薦すべき文字列を、推薦候補として提示する。
また、第一の実施形態において、仮名文字列とは、漢字、記号、数字、アルファベット等への変換を前提とした文字列を意味する。更に、仮名文字列は、ひらがな、カタカナ、及びローマ字のいずれで構成されていてもよい。仮名文字列の入力は、仮名文字を直接入力することによって行われてもよいし、ローマ字を入力することによって行われてもよい。
このように、第一の実施形態では、インデックス構造には、各単語について、ユーザによって最初に入力される可能性があるかどうかが示されている。従って、入力支援装置10は、ユーザが入力した仮名文字列に対応する単語が、最初に入力される可能性がある場合にのみ、この仮名文字列に対応する単語を含む文字列を推薦することができる。即ち、第一の実施形態によれば、文字列における、最初に入力される可能性を考慮して、ユーザに推薦候補を提示することができるので、従来と異なり、入力された仮名文字列に対して、不自然な文字列が推薦されてしまう事態が、回避されることになる。
ここで、図2を用いて、第一の実施形態における入力支援装置10の構成について更に具体的に説明する。図2は、本発明の実施の形態における入力支援装置の構成を具体的に示すブロック図である。
図2に示すように、本実施の形態では、入力支援装置10は、コンピュータ20を用いて、プログラムによって構築されており、コンピュータ20で実行される各種アプリケーションプログラムでのユーザの入力を支援している。このため、入力支援装置10へのユーザの入力は、コンピュータ20が備える入力部21を介して行われている。入力部21は、コンピュータ20に備えられた、キーボード、タッチパネルといった入力機器である。また、入力支援装置10は、推薦候補をユーザに提示するため、推薦候補となる文字列を表示部22に出力する。表示部22は、コンピュータ20に備えられた、表示装置である。
また、図2に示すように、本実施の形態では、入力支援装置10は、上述したインデックス構造記憶部13を備えている。インデックス構造記憶部13は、コンピュータ20に備えられた、ハードディスク等の記憶装置(図2において図示せず)の記憶領域上に構築されている。なお、インデックス構造記憶部13は、コンピュータ20以外のコンピュータに備えられた記憶装置の記憶領域上に構築されていてもよい。
また、本実施の形態では、文字列特定部11は、インデックス構造記憶部13が格納するインデックス構造から、入力された仮名文字列に関連しており、且つ、入力時に最初に入力される可能性があることを示す単語を含む、文字列を、推薦すべき文字列として特定する。
具体的には、本実施の形態では、以下に述べる2つの場合において、推薦すべき文字列を特定する。1つ目の場合は、インデックス構造記憶部13に格納されるインデックス構造において、読み仮名の少なくとも先頭部分が、入力された仮名文字列と一致する、単語が登録されている場合である。この場合、文字列特定部11は、この単語が入力時に最初に入力される可能性があることを示していることを条件に、インデックス構造記憶部13から、この単語を含む文字列を抽出し、この文字列を推薦候補として特定する。
2つ目の場合は、インデックス構造記憶部13に格納されるインデックス構造において、文字列中で連続する2以上の単語を連結したときの読み仮名の少なくとも先頭部分が、入力された仮名文字列と一致している場合である。この場合、文字列特定部11は、先頭の単語が、入力時に最初に入力される可能性があることを示していることを条件に、インデックス構造記憶部13から、この2以上の単語を含む文字列を抽出し、この文字列を推薦候補として特定する。
続いて、図3乃至図5を用いて、インデックス構造記憶部13が格納するインデックス構造の具体例について説明する。図3は、本発明の第一の実施形態で用いられるインデックス構造に登録されている情報の一例を示す図である。図4Aおよび図4Bは、本発明の第一の実施形態で用いられるインデックス構造の一例を示す図である。図5は、本発明の第一の実施形態で用いられるインデックス構造の他の例を示す図である。
図3に示すように、インデックス構造記憶部13に格納されるインデックス構造には、複数の単語が登録され、更に、単語毎に、読み仮名も登録される。また、インデックス構造には、上述したように、単体で意味の分かる単語だけでなく、不完全な単語も登録される。また、図3において「最初」の欄は、各単語が、入力時に最初に入力される可能性があるかどうかを示しており、可能性が高い場合は「○」で示され、可能性が低い場合は「×」で示されている。
更に、第一の実施形態では、インデックス構造に登録される単語は、推薦すべき文字列となる候補を分割して得られている(後述の第二の実施形態参照)。具体的には、「Af」と「ghan」は、「Afghan」を分割して得られている。「N」、「E」、「C」、「中」及び「研」は、「NEC中研」を分割して得られている。「球」、「菌」、「性」及び「中毒」は、「球菌性中毒」を分割して得られている。「アトピー」、「に」、「効く」及び「豆乳」は、「アトピーに効く豆乳」を分割して得られている。更に、「香水」、「用」及び「アトマイザー」は、「香水用アトマイザー」を分割して得られている。
また、例えば、「アトピーに効く豆乳」という候補は、上述したように、「アトピー」、「に」、「効く」及び「豆乳」の4つの単語に分割される。このうち「に」と「効く」は、最初に入力される可能性が低いと考えられるので、これらについては「×」とされている。一方、「アトピー」と「豆乳」は、最初に入力される可能性が高いと考えられるので、これらについては「○」とされている。
更に、同様に、「香水用アトマイザー」という候補は、上述したように、「香水」、「用」、及び「アトマイザー」という3つの単語に分割される。このうち「用」は、最初に入力される可能性が低いと考えられるので、これについては「×」に設定されている。一方、「香水」と「アトマイザー」とは、最初に入力される可能性が高いと考えられるので、これらについては「○」に設定されている。
インデックス構造の一例について説明する。第一の実施形態では、図4Aに示される推薦すべき文字列(インデックス構造)を用いて、入力支援する場合について説明する。図4Aに示すように、一番ポインタには「NEC中研」、2番ポインタには「球菌性中毒」、3番ポインタには「Afghan」、4番ポインタには「アトピーに効く豆乳」、5番ポインタには「香水用アトマイザー」が登録されている。
また、図4Bに示すように、第一の実施形態では、インデックス構造は、例えば、トライ木によって実現されている。トライ木は、木構造の1つであり、その木構造を成すパスが文字列を表すように構成されている。更に、トライ木においては、上層のパスとしては、最初に入力される可能性がある単語(図3の項目「最初」において「○」が設定されている単語)が用いられており、更に、最も下層のパスには、対応する候補(推薦すべき文字列)へのポインタが設けられている。ここで上層とは図4B(図5)左側部分、下層とは同図右側部分を示している。
従って、図4Bに示すインデックス構造が用いられた場合、文字列特定部11は、ユーザが入力した仮名文字に基づいて、トライ木をたどり、到着した末端のノードにポインタ(図4Aの項目「ポインタ」に対応)があれば、更に、そのポインタに基づいて、候補(推薦すべき文字列)を取得する。このとき取得された候補が、推薦候補として提示される。
例えば、ユーザが「アト」と入力したとする。この場合、文字列特定部11は、まず、「アトマイザー」という仮名文字列に対応するパスを通り、5番のポインタに登録されている「香水用アトマイザー」を候補として取得する。続いて、文字列特定部11は、「アトピーニキクトウニュウ」という仮名文字列に対応するパスも通り、4番ポインタに登録されている「アトピーに効く豆乳」も候補として取得する。この場合では、文字列特定部11は、2つの候補を取得することになる。
また、第一の実施形態では、図5に示すように、インデックス構造記憶部13において、推薦すべき文字列となる候補それぞれに、統計データ(例えば、各候補の取得元における出現頻度等)に基づいて、スコアが設定されていてもよい。この場合、推薦候補提示部12は、推薦すべき文字列が複数ある場合において、各文字列について、スコアを元に優先順位を設定し、優先順位の順に、各文字列を推薦候補として提示することができる。
具体的には、例えば、ユーザが、仮名文字列として「アト」を入力したとする。この場合、文字列特定部11は、「香水用アトマイザー」と「アトピーに効く豆乳」とを取得するので、推薦候補提示部12は、これらを推薦候補として提示するが、図5の例では、後者のスコアが高くなっている。よって、推薦候補提示部12は、「アトピーに効く豆乳」、「香水用アトマイザー」なる順に提示することになる。
また、スコアの設定方法は特に限定されず、例えば、ユーザが入力した仮名文字列と、中間部分で一致する候補よりも、先頭部分で一致する候補の方が、値が高くなるように設定されていてもよい。
このように、インデックス構造において、推薦すべき文字列となる候補それぞれに、スコアを設定した場合は、適切な推薦候補ほど、上位に表示されるので、よりいっそう推薦精度が向上することになる。
また、第一の実施形態では、推薦候補提示部12は、文字列特定部11によって特定された推薦すべき文字列(即ち、推薦候補)において、入力された仮名文字列に対応する部分を、他の部分と異なる態様で提示することができる。
具体的には、この態様では、文字列特定部11は、推薦すべき文字列に加え、この文字列において、入力された仮名文字列に対応する部分がどこであるかを特定する情報も、推薦候補提示部12に出力する。よって、推薦候補提示部12は、出力されてきた情報に基づいて、入力された仮名文字列に対応する部分を特定し、特定した部分について、強調表示、下線付加、フォント変更、色変更等を実行する。
また、推薦すべき文字列において、例えば、入力された仮名文字列に対応する部分の開始位置と終了位置とに付与した区切り又は記号によって当該部分を特定することができる。
更に、「ユーザが入力した仮名文字列に対応している部分」としては、読み仮名の少なくとも先頭部分が仮名文字列と一致している単語が挙げられる。また、文字列中で連続している2以上の単語を連結したときの読み仮名が、少なくとも先頭部分で、ユーザが入力した仮名文字列と一致する場合は、「ユーザが入力した仮名文字列に対応している部分」としては、この文字列中で連続している2以上の単語も挙げられる。
例えば、図3に示すインデックス構造が用いられている場合に、ユーザが「アトピ」と入力したとする。この場合は、文字列特定部11が「アトピーに効く豆乳」を推薦すると共に、推薦候補提示部12が「アトピー」を強調表示等する。また、ユーザが「アトピーニキ」と入力したとする。この場合も、文字列特定部11が「アトピーに効く豆乳」と推薦するが、この場合では、推薦候補提示部12が「アトピー」と「に」と「効く」とを強調表示等する。
このような態様によれば、ユーザは、自分が入力した仮名文字列が、推薦候補となる文字列のどの部分に対応するのかを、素早く理解でき、更に、この推薦候補となる文字列が適切かどうかを速やかに判断できる。この態様は、ユーザが複数の推薦候補の中から、自分が入力したい文字列を識別する際において、有用である。
[装置動作]
次に、本発明の第一の実施形態における入力支援装置10の動作について図6を用いて説明する。図6は、本発明の第一の実施形態における入力支援装置の動作を示すフロー図である。以下の説明においては、適宜図2乃至図5を参酌する。また、第一の実施形態では、入力支援装置10を動作させることによって、入力支援方法が実施される。よって、以下の入力支援装置10の動作説明は、第一の実施形態における入力支援方法の説明でもある。
図6に示すように、最初に、入力支援装置10の文字列特定部11が、ユーザが入力部21から入力した文字列を受け付ける(ステップA1)。次に、文字列特定部11は、入力された文字列が、仮名文字列であるかどうかを判定する(ステップA2)。
ステップA2の判定の結果、入力された文字列が仮名文字列でない場合は、入力支援装置10における処理は終了する。一方、ステップA2の判定の結果、入力された文字列が仮名文字列である場合は、文字列特定部11は、インデックス構造記憶部13から、入力された仮名文字列に関連しており、且つ、入力時に最初に入力される可能性がある単語を含む、文字列を、推薦すべき文字列を得る(ステップA3)。
具体的には、ステップA3において、文字列特定部11は、入力された仮名文字列を、図3に示したインデックス構造に照合することで、推薦すべき文字列を特定する。なお、入力された仮名文字列が、インデックス構造記憶部13に登録されている仮名文字のいずれとも、先頭部分において一致していない場合は、入力支援装置10における処理は終了する。
次に、推薦候補提示部12は、ステップA3で特定された文字列を推薦候補として提示する(ステップA4)。具体的には、推薦候補提示部12は、推薦候補となる文字列を表示部22に出力する。これにより、ユーザは、入力された仮名文字列に対応する推薦候補を確認することができ、その後、求める文字列を確定することができる。
[プログラム]
また、第一の実施形態におけるプログラムは、コンピュータに、図6に示すステップA1乃至A4を実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、第一の実施形態における入力支援装置10と入力支援方法とを実現することができる。この場合、コンピュータのCPU(Central Processing Unit)は、文字列特定部11及び推薦候補提示部12として機能し、処理を行なう。
[第一の実施形態における効果]
以上のように第一の実施形態では、入力支援装置10は、ユーザが入力した仮名文字列に対応する単語が、最初に入力される可能性がある場合にのみ、この仮名文字列に対応する単語を含む文字列を推薦することができる。この結果、推薦精度の高い入力支援が可能となる。
(第二の実施形態)
次に、本発明の第二の実施形態における入力支援装置、入力支援方法、及びプログラムについて、図7乃至図9を参照しながら説明する。
[装置構成]
最初に、図7を用いて、本発明の第二の実施形態における入力支援装置の構成について説明する。図7は、本発明の第二の実施形態における入力支援装置の概略構成を示すブロック図である。
図7に示すように、第二の実施形態における入力支援装置30は、図2に示した第一の実施形態における入力支援装置10と異なり、インデックス構造構築部31を備えている。
これ以外の点については、入力支援装置30は、第一の実施形態における入力支援装置10と同様に構成されている。従って、以下においては、主に相違点を中心に説明する。
インデックス構造構築部31は、単語の表記とその読み仮名とが関連付けられた辞書を用いて、まず、推薦すべき文字列となる候補を、複数の部分文字列に分割する。また、分割によって得られた「部分文字列」は、一語のみで構成されていても良く、その語数は限定されるものではない。
次に、インデックス構造構築部31は、得られた部分文字列毎に、各部分文字列が仮名文字列の入力時に最初に入力される可能性があるか否かを判定する。このとき、部分文字列が最初に入力される可能性があるか否かの判定は、部分文字列の統計的データに基づいて行われてもよいし、予め設定されたルールに基づいて行われていてもよい。
その後、インデックス構造構築部31は、判定結果に基づいて、部分文字列の読み仮名がキーとなるインデックス構造を構築する。具体的には、インデックス構造構築部31は、最初に入力される可能性があると判定された部分文字列の読み仮名が、上層となるように、トライ木を構築する。構築されたトライ木は、インデックス構造記憶部13に格納される。
また、第二の実施形態では、インデックス構造構築部31は、推薦すべき文字列となる候補毎に、各候補を含む文書集合における出現頻度が高い程、値が高くなるようにスコアを設定することができる。そして、この態様では、推薦候補提示部12は、推薦すべき文字列が複数ある場合において、推薦すべき文字列それぞれについて、スコアを元に優先順位を設定し、優先順位の順に、各文字列を推薦候補として提示する。
ここで、図8を用いて、インデックス構造構築部31の機能について更に具体的に説明する。図8は、本発明の第二の実施形態におけるインデックス構造の構築に用いられる辞書の一例を示す図である。
まず、推薦すべき文字列となる候補のリストがコンピュータ20を介して与えられているとする。また、このリストには、例えば、第一の実施形態で述べた、「Afghan」、「NEC中研」、「球菌性中毒」、「アトピーに効く豆乳」及び「香水用アトマイザー」といった文字列が登録されているとする。これらの文字列は、上述したように、検索システムに蓄積されている過去の入力ログ、製品カタログ、住所録、等から取得可能である。
インデックス構造構築部31は、図8に示す辞書を用いて、リストに登録されている各文字列を複数の部分文字列に分割し、更に、辞書に登録されている読み仮名を用いて、各部分文字列の読み仮名を推定する。図8に示すように、辞書には、単語とその読み仮名とが対応するように関連付けられて登録されている。また、辞書には、単体で意味の分かる語だけでなく、単体で意味の分かる語を分割して得られた語(不完全な単語)も登録されている。このため、読み仮名の推定における精度の向上が期待できる。
例えば、「NEC中研」という文字列がリストに登録されているとする。この文字列において、「NEC」は社名であり、「中研」は社内で用いられる中央研究所の略称であり、どちらも一般的な語ではない。よって、普通の日本語の辞書には登録されていない可能性が大きいため、普通の日本語の辞書を用いて、分割を行った場合は、読み仮名を推定できない事態となり、結果、「NEC中研」は推薦すべき文字列としてインデックス構造記憶部13に登録されない事態となる。このような事態を回避するため、上述したように、第二の実施形態では、辞書には、不完全な単語も登録されている。
図8に示す辞書には、「N(読み仮名:エヌ)」、「E(読み仮名:イー)」、「C(読み仮名:シー)」、「中(読み仮名:チュウ)」、「研(読み仮名:ケン)」といったように、単語と読み仮名とが対応付けられて登録されている。従って、「NEC中研」といった一般的でない語についても、読み仮名の推定が可能となり、インデックス構造記憶部13に登録されることになる。
また、第二の実施形態において、辞書に登録される単語は、上述のように1文字だけで構成されていてもよいし、2文字以上で構成されていてもよい。更に、辞書に登録される単語は、英語の一単語を音節で分割して得られた語、例えば、「Afghan(読み仮名:アフガン)」を分割して得られた「Af(読み仮名:アフ)」と「ghan(読み仮名:ガン)」等であってもよい。
また、図8に示すように、辞書には、左から3番目の列に「長い内容語」の欄が設けられている。この欄は、各単語が、設定された文字数(例えば2文字)以上で構成された語であるか否かが「○」又は「×」によって示されている。設定された文字数以上で構成された語である場合は「○」で示され、設定された文字数以下で構成された語である場合は「×」で示されている。尚、設定された文字数である場合はどちらに含めるかは設定者の裁量としてよい。なお、文字数が多い単語は、入力時に最初に入力される傾向があるので、後述の「最初に入力される可能性があるか否か」の判定処理においては、「長い内容語」の欄に登録されている情報が用いられてもよい。
更に、図8の例では、辞書には、左から4番目の列にあるように、各単語の「品詞」が登録されていてもよい。また、左から5番目の列にあるように、ひらがな及び漢字といった字種を表す情報が登録されていてもよい。
そして、上述したように、「NEC中研」という文字列がリストに登録されている場合、インデックス構造構築部31は、図8に示す辞書に登録されている「N」、「E」、「C」、「中」、「研」を用いて、この文字列を5つの部分文字列に分割する。また、「球菌性中毒」という文字列がリストに登録されている場合は、インデックス構造構築部31は、図8に示す辞書に登録されている「球」、「菌」、「性」、「中毒」を用いて、この文字列を4つの部分文字列に分割する。更に、「Afghan」という文字列がリストに登録されている場合は、インデックス構造構築部31は、図8に示す辞書に登録されている「Af」と「ghan」とを用いて、この文字列を2つの部分文字列に分割する。
また、第二の実施形態では、このような部分文字列への分割処理において、従来から形態素解析の分野に用いられているビタビ・アルゴリズム等を利用することができる。また、分割処理においては、半角文字の全角文字への変換といった文字列の正規化が実行されてもよい。
次に、インデックス構造構築部31は、部分文字列毎に、各部分文字列が仮名文字列の入力時に最初に入力される可能性があるか否かを判定する。この場合、インデックス構造構築部31は、例えば、部分文字列の統計データに基づいて判定することができる。
インデックス構造構築部31は、統計データとして、例えば、推薦すべき文字列となる候補が、検索システムに蓄積されている過去の入力ログから取得されるのであれば、判定処理の対象となる部分文字列を含む入力ログの出現頻度を使用する。この場合、まず、インデックス構造構築部31は、判定処理の対象となる部分文字列とそれに後続する文字列とを合わせて、文字列を生成する。そして、生成した文字列の先頭からN文字目までの文字列を計測対象とする。なお、後続する文字列が存在しない場合は、部分文字列の先頭からN(Nは自然数)文字目までの文字列が計測対象となる。
そして、インデックス構造構築部31は、検索システムに蓄積されている過去の入力ログにおける、この計測対象となる文字列の出現頻度を計測し、計測した出現頻度が一定以上あるときに、この部分文字列は、最初に入力される可能性があると判定する。例えば、N=2である場合において、「中毒」で始まる入力ログは数多く存在するが、「菌性」で始まる入力ログが少ないとき、「中毒」で始まる部分文字列は、最初に入力される可能性があると判定されるが、「菌性」で始まる部分文字列は最初に入力される可能性はないと判定される。
また、インデックス構造構築部31は、このとき計測された出現頻度を用いて、推薦すべき文字列となる各候補に対して、入力され易さを表すスコアを設定することができる。この場合、推薦候補提示部12は、第一の実施形態と同様に、推薦すべき文字列が複数ある場合において、各文字列について、スコアを元に優先順位を設定し、優先順位の順に、各文字列を推薦候補として提示することができる。
また、統計データは、入力ログ以外のテキストデータ、例えば、Webページから求められていてもよい。具体的には、インデックス構造構築部31は、まず、句点及び読点を用いて、又は形態素解析を用いて、テキストデータを分割し、これを文(sentence)、節(clause)、又は語に分解する。
続いて、分解が終了すると、インデックス構造構築部31は、判定対象となる部分文字列とそれに後続する文字列とを合わせて、文字列を生成する。そして、生成した文字列の先頭からN文字目までの文字列が、文、節、又は語の先頭で用いられている回数を計測し、計測した回数が一定以上であるときに、この部分文字列は、最初に入力される可能性があると判定される。なお、後続する文字列が存在しない場合は、部分文字列の先頭からN文字目までの文字列が計測対象となる。
また、上述のインデックス構造構築部31による判定処理は、予め設定されたルールに基づいて行われてもよい。また、複数のルールの組み合わせが用いられてもよい。例えば、文書には、漢字からアルファベット等に切り替わる箇所のように、字種が切り替わる箇所が存在している場合がある。このような場合、切り替え後の部分文字列については、最初に入力される可能性があると判断できる。よって、このことをルールとして規定することで、上述の判定処理を行うことができる。
また、判定処理は、辞書に予め内容語を指定しておくことによっても行うことができる。例えば、図8に示した「長い内容語」欄に登録されている「○:長い」及び「×:短い」に基づいて、判定処理が行われていてもよい。この場合では、長い内容語と先頭部分で一致する部分文字列については、最初に入力される可能性があると判定される。更に、判定処理は、辞書に登録されている単語の品詞に基づいて行うこともできる。例えば、名詞及び動詞は、最初に入力される可能性があるとし、助詞及び助動詞は、最初に入力される可能性がないとして、判定処理が行われてもよい。
具体的には、インデックス構造構築部31は、上述のいずれかの判定処理により、例えば「NEC中研」という文字列において、「N」及び「中」は、最初に入力される可能性があると判定し、「E」、「C」、「研」は、最初に入力される可能性がないと判定する。
そして、インデックス構造構築部31は、最初に入力される可能性があると判定した部分文字列の読み仮名がキーとなるようにして、第一の実施形態と同様に、インデックス構造を構築する。例えば、上述の「NEC中研」であれば、インデックス構造構築部31は、「エヌ」が上層となるパスと、「チュウ」が上層となるパスとを構築する。また、インデックス構造構築部31は、「エヌ」が上層となるパスには、後続する「イー」、「シー」、「チュウ」、「ケン」を順に接続し、「チュウ」が上層となるパスには、後続する「ケン」を接続する。
このようにして構築されたインデックス構造を用いれば、ユーザが、「エヌイー」又は「チュウケ」と入力した場合に、「NEC中研」が推薦される。しかし、ユーザが、「イーシー」等と入力した場合は、この仮名文字列は、最初に入力される可能性がないと判定されるので、「NEC中研」は推薦されないこととなる。
また、インデックス構造構築部31は、インデックス構造において、辞書を用いた分割によって得られた各部分文字列が特定されるように、部分文字列と部分文字列との間を明示する区切りを登録することもできる。この区切りは、第一の実施形態で述べたように、文字列特定部11が、入力された仮名文字列に対応する部分がどこであるかを特定する情報を生成する場合に有用となり、強調表示等の実現が容易となる。
[装置動作]
次に、本発明の第二の実施形態における入力支援装置30の動作について図9を用いて説明する。図9は、本発明の第二の実施形態における入力支援装置の動作を示すフロー図である。以下の説明においては、適宜図7乃至図8を参酌する。
また、第二の実施形態では、入力支援装置30を動作させることによって、入力支援方法が実施される。よって、第二の実施形態における入力支援方法の説明は、以下の入力支援装置30の動作説明を兼ねる。なお、インデックス構造の構築処理以外の処理は、第一の実施形態の場合と同様であるので、以下においては、インデックス構造の構築処理について説明する。
図9に示すように、最初に、インデックス構造構築部31は、推薦すべき文字列となる候補を取得する(ステップB1)。具体的には、候補は、検索システムに蓄積されている過去の入力ログ、製品カタログ、住所録、等から取得される。
次に、インデックス構造構築部31は、図8に示す辞書を用いて、リストに登録されている各文字列を複数の部分文字列に分割して、部分文字列を生成する(ステップB2)。続いて、インデックス構造構築部31は、辞書に登録されている読み仮名を用いて、ステップB2で生成された各部分文字列の読み仮名を推定する(ステップB3)。
次に、インデックス構造構築部31は、部分文字列毎に、各部分文字列が仮名文字列の入力時に最初に入力される可能性があるか否かを判定する(ステップB4)。ステップB4の判定処理は、統計データ、予め設定されたルール、辞書に登録されている情報等に基づいて行われる。
その後、インデックス構造構築部31は、ステップB4の判定結果を用いて、最初に入力される可能性があると判定した部分文字列の読み仮名がキーとなるようにして、複数のパスを作成し、第一の実施形態と同様に、インデックス構造を構築する(ステップB5)。構築されたインデックス構造はインデックス構造記憶部13に格納される。
[プログラム]
また、第二の実施形態におけるプログラムは、コンピュータに、図6に示すステップA1乃至A4と、図9に示すステップB1乃至B5とを実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、第二の実施形態における入力支援装置30と入力支援方法とを実現することができる。この場合、コンピュータのCPUは、文字列特定部11、推薦候補提示部12及びインデックス構造構築部31として機能し、処理を行なう。
[第二の実施形態における効果]
以上のように、第二の実施形態によれば、入力支援装置30自体によってインデックス構造が構築されるので、入力支援装置30の管理者は、検索システムに蓄積されている過去の入力ログ、製品カタログ、住所録、等を装置に入力するだけでよい。また、第二の実施形態を用いた場合も、第一の実施形態で述べた効果を得ることが可能である。
(第三の実施形態)
次に、本発明の第三の実施形態における入力支援装置の構成について説明する。図11は、本発明の第三の実施形態における入力支援装置10aの概略構成を示すブロック図である。第三の実施形態における入力支援装置10aは、ユーザによる文字列の入力を支援するための装置であり、文字列特定部11aと、推薦候補提示部12aとを備える。
文字列特定部11aは、単語とその読み仮名とが登録され、且つ、単語が文字列の入力時に最初に入力される可能性があるか否かが示された、インデックス構造を用いて、ユーザが仮名文字列を入力した場合に、入力された仮名文字列に対して推薦すべき文字列を特定する。推薦候補提示部12aは、特定された推薦すべき文字列を、推薦候補として提示する。
本発明の第三の実施形態によれば、文字列における、最初に入力される可能性を考慮して、ユーザに推薦すべき文字列を提示することにより、推薦精度の高い入力支援が可能となる。
ここで、上述の第一〜三の実施形態におけるプログラムを実行することによって、入力支援装置を実現するコンピュータについて図10を用いて説明する。図10は、本発明の第一および二の実施形態における入力支援装置を実現するコンピュータの一例を示すブロック図である。
図10に示すように、コンピュータ20は、CPU111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。
CPU111は、記憶装置113に格納された、本実施の形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するプログラムであってもよい。
また、記憶装置113の具体例としては、ハードディスクの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ20における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
また、記録媒体120の具体例としては、CF(Compact Flash)及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記憶媒体、又はCD−ROM(Compact Disk Read Only Memory)などの光学記憶媒体が挙げられる。
なお、第一〜三の実施形態における入力支援装置を実現するコンピュータは、図10に示すコンピュータに限定されることはない。第一〜三の実施形態における入力支援装置を実現するコンピュータは、パーソナルコンピュータ、スマートフォン、タブレット型端末装置、カーナビゲーションシステム等、ユーザによる入力操作が必要なコンピュータであればよい。
以上のように、本発明によれば、文字列における、最初に入力される可能性を考慮して、ユーザに推薦すべき文字列を提示することができる。本発明は、ユーザによる入力操作が必要な分野、例えば、検索システム、ワードプロセッサ等に有用である。
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
この出願は2013年11月25日に出願された日本出願特願2013−243128を基礎とする優先権を主張し、その開示の全てをここに取り込む。
10 入力支援装置
11 文字列特定部
12 推薦候補提示部
13 インデックス構造記憶部
20 コンピュータ
21 入力部
22 表示部
30 入力支援装置
31 インデックス構造構築部
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス

Claims (15)

  1. ユーザによる文字入力を支援する装置であって、
    前記ユーザに推薦すべき文字列が分割された単語の読み仮名および前記単語が前記文字入力時に最初に入力される可能性があるか否かを示す情報が対応づけられた複数の情報、前記ユーザに推薦すべき文字列、前記ユーザに推薦すべき文字列の読み仮名を登録するインデックス構造を格納するインデックス構造記憶手段と、
    前記インデックス構造記憶手段を参照して、前記ユーザが入力した仮名文字列に対応する単語が、最初に入力される可能性がある場合にのみ、この仮名文字列に対応する単語を含む文字列を推薦すべき文字列として特定する、文字列特定手段と、
    特定された前記推薦すべき文字列を、推薦候補として提示する推薦候補提示手段と、
    を備えている入力支援装置。
  2. 前記文字列特定手段が、前記インデックス構造において、前記ユーザに推薦すべき文字列の読み仮名の少なくとも先頭部分に、入力された前記仮名文字列と一致する、前記単語の読み仮名が登録されている場合に、前記単語の前記情報が入力時に最初に入力される可能性を示していることを条件に、当該単語を含む文字列を、前記推薦すべき文字列として特定し、
    更に、前記ユーザが入力する一文字以上の仮名文字列と一致する前記ユーザに推薦すべき文字列の読み仮名が、前記インデックス構造内の前記推薦すべき文字列中で連続する2以上の単語を連結したときの読み仮名の少なくとも先頭部分に登録されている場合は、前記読み仮名の前記情報が入力時に最初に入力される可能性があることを示していることを条件に、前記2以上の単語の連結を、前記推薦すべき文字列として特定する、
    請求項1に記載の入力支援装置。
  3. 更に、インデックス構造構築手段を備えており、
    前記インデックス構造構築手段は、
    前記単語の表記とその読み仮名とが関連付けられた辞書を用いて、前記推薦すべき文字列を、複数の部分文字列に分割し、更に、複数の部分文字列を個別に、当該部分文字列が前記仮名文字列の入力時に最初に入力される可能性があるか否かを、当該部分文字列を先頭とする前記推薦すべき文字列の過去の出現頻度が一定以上あるか否かを基に判定し、判定結果に基づいて、前記部分文字列の読み仮名がキーとなる前記インデックス構造を構築する、
    請求項1または2に記載の入力支援装置。
  4. 前記インデックス構造構築手段が、前記推薦すべき文字列を個別に、統計データに基づいて、更にスコアを設定しており、
    前記推薦候補提示手段が、特定された前記推薦すべき文字列が複数ある場合において、前記推薦すべき文字列それぞれについて、前記スコアを元に優先順位を設定し、優先順位の順に、前記推薦すべき文字列を前記推薦候補として提示する、
    請求項3に記載の入力支援装置。
  5. 前記推薦候補提示手段が、特定された前記推薦すべき文字列において、入力された前記仮名文字列に対応する部分を、他の部分と異なる態様で提示する、
    請求項1に記載の入力支援装置。
  6. ユーザによる文字入力をコンピュータによって支援する方法であって、
    前記ユーザに推薦すべき文字列が分割された単語の読み仮名および前記単語が前記文字入力時に最初に入力される可能性があるか否かを示す情報が対応づけられた複数の情報、前記ユーザに推薦すべき文字列、前記ユーザに推薦すべき文字列の読み仮名を登録するインデックス構造を格納するインデックス構造記憶手段を参照して、前記ユーザが入力した仮名文字列に対応する単語が、最初に入力される可能性がある場合にのみ、この仮名文字列に対応する単語を含む文字列を推薦すべき文字列として特定し、
    特定された前記推薦すべき文字列を、推薦候補として提示する、
    入力支援方法。
  7. 前記特定に際して、前記インデックス構造において、前記ユーザに推薦すべき文字列の読み仮名の少なくとも先頭部分が、入力された前記仮名文字列と一致する、前記単語の読み仮名が登録されている場合に、前記単語の前記情報が入力時に最初に入力される可能性を示していることを条件に、当該単語を含む文字列を、前記推薦すべき文字列として特定し、
    更に、前記ユーザが入力する一文字以上の仮名文字列と一致する前記ユーザに推薦すべき文字列の読み仮名が、前記インデックス構造内の前記推薦すべき文字列中で連続する2以上の単語を連結したときの前記読み仮名の少なくとも先頭部分に登録されている場合は、前記読み仮名の前記情報が入力時に最初に入力される可能性があることを示していることを条件に、前記2以上の単語の連結を、前記推薦すべき文字列として特定する、
    請求項6に記載の入力支援方法。
  8. 前記単語の表記とその読み仮名とが関連付けられた辞書を用いて、前記推薦すべき文字列を、複数の部分文字列に分割し、更に、複数の部分文字列を個別に、当該部分文字列が前記仮名文字列の入力時に最初に入力される可能性があるか否かを、当該部分文字列を先頭とする前記推薦すべき文字列の過去の出現頻度が一定以上あるか否かを基に判定し、判定結果に基づいて、前記部分文字列の読み仮名がキーとなる前記インデックス構造を構築する、ことを更に備える
    請求項6または7に記載の入力支援方法。
  9. 前記構築に際して、前記推薦すべき文字列を個別に、統計データに基づいて、更にスコアを設定しており、
    前記提示に際して、特定された前記推薦すべき文字列が複数ある場合において、前記推薦すべき文字列それぞれについて、前記スコアを元に優先順位を設定し、優先順位の順に、前記推薦すべき文字列を前記推薦候補として提示する、
    請求項8に記載の入力支援方法。
  10. 前記提示に際して、特定された前記推薦すべき文字列において、入力された前記仮名文字列に対応する部分を、他の部分と異なる態様で提示する、
    請求項6に記載の入力支援方法。
  11. コンピュータによって、ユーザにおける文字入力を支援するためのプログラムであって、前記コンピュータに、
    前記ユーザに推薦すべき文字列が分割された単語の読み仮名および前記単語が前記文字入力時に最初に入力される可能性があるか否かを示す情報が対応づけられた複数の情報、前記ユーザに推薦すべき文字列、前記ユーザに推薦すべき文字列の読み仮名を登録するインデックス構造を格納するインデックス構造記憶手段を参照して、前記ユーザが入力した仮名文字列に対応する単語が、最初に入力される可能性がある場合にのみ、この仮名文字列に対応する単語を含む文字列を推薦すべき文字列として特定し、
    特定された前記推薦すべき文字列を、推薦候補として提示する、
    ことを実行させるプログラム。
  12. 前記特定に際して、
    前記インデックス構造において、前記ユーザに推薦すべき文字列の読み仮名の少なくとも先頭部分が、入力された前記仮名文字列と一致する、前記単語の読み仮名が登録されている場合に、前記単語の前記情報が入力時に最初に入力される可能性を示していることを条件に、当該単語を含む文字列を、前記推薦すべき文字列として特定し、
    更に、前記ユーザが入力する一文字以上の仮名文字列と一致する前記ユーザに推薦すべき文字列の読み仮名が、前記インデックス構造内の前記推薦すべき文字列中で連続する2以上の単語を連結したときの前記読み仮名の少なくとも先頭部分に登録されている場合は、前記読み仮名の前記情報が入力時に最初に入力される可能性があることを示していることを条件に、前記2以上の単語の連結を、前記推薦すべき文字列として特定する、
    請求項11に記載のプログラム。
  13. 前記コンピュータに、
    前記単語の表記とその読み仮名とが関連付けられた辞書を用いて、前記推薦すべき文字列を、複数の部分文字列に分割し、更に、複数の部分文字列を個別に、当該部分文字列が前記仮名文字列の入力時に最初に入力される可能性があるか否かを、当該単語を先頭とする前記推薦すべき文字列の過去の出現頻度が一定以上あるか否かを基に判定し、判定結果に基づいて、前記部分文字列の読み仮名がキーとなる前記インデックス構造を構築する、ことを更に実行させる、
    請求項11または12に記載のプログラム。
  14. 前記構築に際して、前記推薦すべき文字列を個別に、統計データに基づいて、更にスコアを設定しており、
    前記提示に際して、特定された前記推薦すべき文字列が複数ある場合において、前記推薦すべき文字列それぞれについて、前記スコアを元に優先順位を設定し、優先順位の順に、前記推薦すべき文字列を前記推薦候補として提示する、
    請求項13に記載のプログラム。
  15. 前記提示に際して、特定された前記推薦すべき文字列において、入力された前記仮名文字列に対応する部分を、他の部分と異なる態様で提示する、
    請求項11に記載のプログラム。
JP2015548986A 2013-11-25 2014-11-18 入力支援装置、入力支援方法及びプログラム Active JP6538563B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013243128 2013-11-25
JP2013243128 2013-11-25
PCT/JP2014/005765 WO2015075920A1 (ja) 2013-11-25 2014-11-18 入力支援装置、入力支援方法及び記録媒体

Publications (2)

Publication Number Publication Date
JPWO2015075920A1 JPWO2015075920A1 (ja) 2017-03-16
JP6538563B2 true JP6538563B2 (ja) 2019-07-03

Family

ID=53179205

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015548986A Active JP6538563B2 (ja) 2013-11-25 2014-11-18 入力支援装置、入力支援方法及びプログラム

Country Status (3)

Country Link
US (1) US9996508B2 (ja)
JP (1) JP6538563B2 (ja)
WO (1) WO2015075920A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107562223B (zh) * 2017-09-29 2021-08-24 云知声智能科技股份有限公司 输入法推荐方法及装置
US10572586B2 (en) * 2018-02-27 2020-02-25 International Business Machines Corporation Technique for automatically splitting words
CN108733831B (zh) * 2018-05-25 2022-05-17 腾讯音乐娱乐科技(深圳)有限公司 一种对词库进行处理的方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3622503B2 (ja) * 1998-05-29 2005-02-23 株式会社日立製作所 特徴文字列抽出方法および装置とこれを用いた類似文書検索方法および装置並びに特徴文字列抽出プログラムを格納した記憶媒体および類似文書検索プログラムを格納した記憶媒体
JP2002149642A (ja) 2000-11-14 2002-05-24 Sharp Corp 短縮変換候補生成装置及びその方法
JP2003296354A (ja) 2002-03-29 2003-10-17 Mitsubishi Electric Corp 辞書作成装置
JP2009109758A (ja) * 2007-10-30 2009-05-21 Nissan Motor Co Ltd 音声認識辞書生成装置及び方法
DE602008005428D1 (de) * 2008-06-11 2011-04-21 Exb Asset Man Gmbh Vorrichtung und Verfahren mit verbessertem Texteingabemechanismus
JP5697860B2 (ja) 2009-09-09 2015-04-08 クラリオン株式会社 情報検索装置,情報検索方法及びナビゲーションシステム

Also Published As

Publication number Publication date
JPWO2015075920A1 (ja) 2017-03-16
WO2015075920A1 (ja) 2015-05-28
US9996508B2 (en) 2018-06-12
US20160283446A1 (en) 2016-09-29

Similar Documents

Publication Publication Date Title
JP4242848B2 (ja) 電子文書に含まれる数値データを視覚的に目立たせる方法および装置
JP2015038731A (ja) 言語変換において複数の読み方の曖昧性を除去する方法
EP2643770A2 (en) Text segmentation with multiple granularity levels
US9075898B1 (en) Generating and ranking incremental search suggestions for personal content
JP5718405B2 (ja) 発話選択装置、方法、及びプログラム、対話装置及び方法
JP6538563B2 (ja) 入力支援装置、入力支援方法及びプログラム
JP2002117027A (ja) 感情情報抽出方法および感情情報抽出プログラムの記録媒体
JP6705352B2 (ja) 言語処理装置、言語処理方法、及び言語処理プログラム
US8782067B2 (en) Searching method, searching device and recording medium recording a computer program
CN107679122A (zh) 一种模糊搜索方法及终端
JP5179564B2 (ja) クエリセグメント位置決定装置
JP2008077252A (ja) 文書ランキング方法、文書検索方法、文書ランキング装置、文書検索装置、及び記録媒体
Teich et al. Scientific registers and disciplinary diversification: a comparable corpus approach
JP6811087B2 (ja) 検索装置、検索方法、及びプログラム
Zamorano et al. Design and development of Iberia: a corpus of scientific Spanish
JP2009086979A (ja) 組織名抽出装置、方法及びプログラム
JP6114090B2 (ja) 機械翻訳装置、機械翻訳方法およびプログラム
Saharia et al. LuitPad: a fully unicode compatible Assamese writing software
JP2013205854A (ja) 当て字変換人名入力装置、人名入力方法および人名入力プログラム
JP3952964B2 (ja) 読み情報決定方法及び装置及びプログラム
WO2010103916A1 (ja) 文書の特徴語提示装置及び特徴語の優先度付与プログラム
JP6303508B2 (ja) 文書分析装置、文書分析システム、文書分析方法およびプログラム
JP5691558B2 (ja) 例文検索装置、処理方法およびプログラム
JP6556411B2 (ja) 読み推定装置
JP5337559B2 (ja) 文字列入力装置、文字列入力方法、および、プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170613

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170829

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171027

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20171114

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180213

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180221

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20180316

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190307

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190606

R150 Certificate of patent or registration of utility model

Ref document number: 6538563

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150