説明

文字列入力装置、文字列入力方法、および、プログラム

【課題】より効率的な文字列入力を行うことができる文字列入力装置を提供する。
【解決手段】記憶部400は、入力端末1が用いられる業務内容などに基づく入力内容に応じて用意された辞書データとして、入力される読みに基づいて構成された「読み補完辞書データ」と、変換後の綴りに基づいて構成された「綴り補完データ」とを対応付けて保持している。それぞれのデータは、互いに係り受け関係にある単語をノードとして木構造に構成される。制御部100は変換処理が完了した確定部文字列またはその先頭の文字を削除した末尾部と、変換処理が完了する前の未確定ひらがな部文字列とが結合された検索キーを生成し、該検索キーと読み補完辞書データと綴り補完辞書データとに基づいて、変換候補を抽出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文字列入力装置、文字列入力方法、および、プログラムに関し、特に、コールセンタなどにおける入力作業に好適な文字列入力装置、文字列入力方法、および、プログラムに関する。
【背景技術】
【0002】
コンピュータなどの装置に自然言語としての文字列を入力する場合、言語の種類に応じた入力変換を行うことで、キーボードなどから入力された文字列を自然言語に変換することが一般的に行われている。
【0003】
このような入力変換としては、キーボードなどからの入力をキーとして辞書データを検索し、候補となる単語を抽出して画面に表示し、その中からユーザが選択することによって入力する方法が一般的である(例えば、特許文献1参照)。
【0004】
また、先行して入力された単語との関係を考慮して、次に続く単語を検索して入力する方法なども提案されている(例えば、特許文献2参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平10−222504号公報
【特許文献2】特開2003−233605号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1のような、従来の一般的な手法では、入力中の未確定文字列について、見出し語の読みに基づいて構成された辞書データから変換候補の検索を行っている。従って、入力中の文字列以前の文字列(確定文字列)については何ら考慮せずに、読みに基づいた変換候補をすべて表示するため、入力文字数が少ない場合などにおいては、変換候補の数が非常に多くなってしまうという不都合があった。
【0007】
一方、特許文献2に開示されているような手法では、先行して入力された単語との関係(頻度など)を用いて、次に入力されると思われる単語を変換候補として表示する。しかし、確定文字列から予測される変換候補を表示することしかできないので、この手法でも、表示される変換候補の数が非常に多くなってしまうという問題がある。
【0008】
つまり、特許文献2に示されるような技術においては、変換候補を表示する際に、入力中の未確定文字列については何ら考慮されていない。これは、読みではなく、綴り(表記)に基づいた単語間の関係で辞書が構築されているため、入力中の未確定文字列と、入力済の確定文字列との関係を判断できないからである。
【0009】
したがって、上述した技術を用いた入力変換では、確定済文字列と未確定文字列が混在する場合に、表示される変換候補の数が非常に多くなるため、変換候補の選択に時間がかかってしまい、効率的な入力を行うことができなかった。
【0010】
さらには、特許文献2に示される技術においては、1回の確定操作で確定した文字列と辞書データ中の単語とが一致するか否かを基準として、次に続く単語を検索するので、確定した文字列と辞書データ中の単語と異なる場合には、両者が包含関係にある場合でも次に続く単語を検出することができず、最適な変換候補が提示できないという問題点があった。この場合も、最適な変換候補が提示されない結果、変換操作に時間がかかってしまい、効率的な入力を行うことができなかった。
【0011】
このような不都合は、例えば、電話による応対の内容をリアルタイムに入力する必要のあるコールセンタの作業などにおいて問題となることが多く、より効率的な文字列入力を実現する手法の確立が望まれている。
【0012】
本発明は、このような事情を考慮してなされたものであり、その目的は、より効率的な文字列入力を行うことができる文字列入力装置、文字列入力方法、および、プログラムを提供することにある。
【課題を解決するための手段】
【0013】
上述した課題を解決するために、本発明は、入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力装置であって、 辞書データを記憶する辞書手段と、入力された文字列を取得して検索キーを生成する検索キー生成部と、前記辞書手段に記憶されている前記辞書データと前記検索キーとに基づいて前記変換候補を抽出する変換候補抽出部とを備え、前記検索キー生成部は、入力された文字列のうち変換処理が完了した確定文字列の全部または該確定文字列の先頭から一部の文字列を削除した末尾部を、前記検索キーの全部または一部とすることを特徴とする文字列入力装置である。
【0014】
また、上述した課題を解決するために、本発明は、上述の文字列入力装置であって、前記検索キー生成部は、前記確定文字列の全部を最初の検索キーの全部または一部とし、前記変換候補抽出部が該検索キーに基づいて変換候補を得られない場合は、変換候補を得られるまで前記確定文字列の先頭から一文字ずつ減らした前記末尾部を検索キーの全部または一部とすることを特徴とする文字列入力装置である。
【0015】
また、上述した課題を解決するために、本発明は、上述の文字列入力装置であって、前記辞書手段は互いに係り受け関係にある単語をノードとして木構造に構成した辞書データを記憶し、前記変換候補抽出部は、前記検索キーと前記辞書データの係り側ノードが部分一致したとき、文字を減らされていない前記確定文字列の全部が前記検索キーの全部または一部とされている場合は前記係り側ノードを前記変換候補とし、前記確定文字列から文字を減らした前記末尾部が前記検索キーの全部または一部とされている場合は前記係り側ノードを前記変換候補とはしないことを特徴とする文字列入力装置である。
【0016】
また、上述した課題を解決するために、本発明は、上述の文字列入力装置であって、前記辞書手段は入力される文字列を変換処理する前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データを記憶する読み補完辞書手段と、前記読み補完辞書データに含まれる各単語が漢字等に変換された単語として記録された辞書であって、変換処理前と後の単語をノードとして対応付けて、前記読み補完辞書手段の木構造と合致した木構造に構成した綴り補完辞書データを記憶する綴り補完辞書手段とを備え、前記検索キー生成部は、変換処理が完了した確定部文字列と変換処理が完了する前の未確定ひらがな部文字列とが連結された検索キー、または、前記確定部文字列の先頭から一部の文字列を削除した末尾部と前記未確定ひらがな部文字列とが連結された検索キーを生成し、前記変換候補抽出部は、前記検索キー生成部が生成した前記検索キーに含まれる前記変換処理が完了した確定部文字列または前記末尾部に基づいて、前記綴り補完辞書手段の綴り補完辞書データの係り受け関係にある受け側ノード列Yを特定し、前記受け側ノード列Yに対応する、前記読み補完辞書手段の読み補完辞書データの係り受け関係にある受け側ノード列yを特定し、前記検索キー生成部が生成した前記検索キーに含まれる前記変換処理が完了する前の未確定部ひらがな部文字列と前記受け側ノード列yとの一致判断を行い、変換候補を抽出することを特徴とする文字列入力装置である。
【0017】
また、上述した課題を解決するために、本発明は、入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力方法であって、辞書データを記憶するステップと、入力された文字列を取得して検索キーを生成するステップと、前記辞書手段に記憶されている前記辞書データと前記検索キーとに基づいて前記変換候補を抽出するステップとを含み、前記検索キーを生成するステップは、入力された文字列のうち変換処理が完了した確定文字列の全部または該確定文字列の先頭から一部の文字列を削除した末尾部を、前記検索キーの全部または一部とすることを特徴とする文字列入力方法である。
【0018】
また、上述した課題を解決するために、本発明は、入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力装置のコンピュータに、辞書データを記憶するステップと、入力された文字列を取得して検索キーを生成するステップと、前記辞書手段に記憶されている前記辞書データと前記検索キーとに基づいて前記変換候補を抽出するステップとを含み、前記検索キーを生成するステップは、入力された文字列のうち変換処理が完了した確定文字列の全部または該確定文字列の先頭から一部の文字列を削除した末尾部を、前記検索キーの全部または一部とするステップを実行させることを特徴とするプログラムである。
【発明の効果】
【0019】
この発明によれば、確定文字列または末尾部を検索キーの全部または一部として検索候補を抽出するので、確定文字列と未確定文字列との双方を考慮した変換候補を抽出することができ、効率的に文字列入力を行うことができるという利点が得られる。
加えて、1回の確定操作で確定した文字列と辞書データ中の単語とが包含関係にある場合にも次に続く単語を検出することができ、効率的に文字列入力を行うことができるという利点が得られる。
【図面の簡単な説明】
【0020】
【図1】本発明の第1の実施形態による入力端末1の構成を示すブロック図である。
【図2】同実施形態による辞書データの構成例を示すブロック図である。
【図3】同実施形態による入力画面の一例を示す模式図である。
【図4】同実施形態による読み補完辞書データの構成例を示す概念図である。
【図5】同実施形態による綴り補完辞書データの構成例を示す概念図である。
【図6】同実施形態による制御部100によって実現される機能を示す機能ブロック図である。
【図7】同実施形態による、最長サフィックス方式による検索キー生成処理の動作を説明するためのフローチャートである。
【図8】検索キー生成処理での各種例を示す概念図である。
【図9】同実施形態による、候補抽出処理の動作を説明するためのフローチャートである。
【図10】同実施形態による、先頭未確定処理の動作を説明するためのフローチャートである。
【図11】先頭未確定処理での各種例を示す概念図である。
【図12】同実施形態による、先頭確定処理の動作を説明するためのフローチャートである。
【図13】先頭確定処理での各種例を示す概念図である。
【図14】同実施形態による、余剰一致処理の動作を説明するためのフローチャートである。
【図15】余剰一致処理での各種例を示す概念図である。
【図16】同実施形態による、出力処理の動作を説明するためのフローチャートである。
【図17】出力処理での各種例を示す概念図である。
【図18】同実施形態による、出力例を説明するための模式図である。
【図19】本発明をサーバ−クライアントシステムに適用した場合の構成例を示すブロック図である。
【図20】本発明の第2の実施形態による、先頭確定処理の動作を説明するためのフローチャートである。
【図21】同実施形態における読み補完辞書及び綴り補完辞書のデータ例を示す概念図である。
【図22】確定部の一部である末尾部において、確定部の元の意味が失われる例及び保持される例を示す概念図である。
【発明を実施するための形態】
【0021】
<第1の実施形態>
以下、本発明の一実施形態を、図面を参照して説明する。本実施形態では、本発明を、例えば、コールセンタなどでの入力業務に用いる入力端末に適用した場合を例に説明する。
【0022】
本実施形態にかかる入力端末1は、例えば、ワークステーションやパーソナルコンピュータなどの情報処理装置から構成されるものとする。以下、本実施形態にかかる入力端末1を、図1を参照して説明する。図1は、本実施形態による入力端末1の構成を示す概略ブロック図である。図示するように、入力端末1は、制御部100、入力制御部200、出力制御部300、記憶部400などから構成される。
【0023】
制御部100は、例えば、CPU(Central Processing Unit:中央演算処理装置)や、ワークエリアとなるメモリなどから構成され、記憶部400に格納されているプログラムを読み出して実行することで、入力端末1の各部を制御するとともに、後述する各処理を実行する。
【0024】
入力制御部200は、例えば、キーボード211や、ポインティングデバイス212などの入力装置210と入力端末1とを接続し、入力装置210の操作に応じた入力信号を制御部100に入力する。本実施形態では、キーボード211を用いて文字列の入力がなされ、ポインティングデバイス212を用いて入力エリアの選択などが行われるものとする。
【0025】
出力制御部300は、例えば、ディスプレイ装置311などの出力装置310と入力端末1とを接続し、制御部100の処理結果などを出力装置310に出力する。本実施形態では、予め用意されている入力画面がディスプレイ装置311に出力されることにより表示され、入力装置210を用いた入力操作が、当該表示された入力画面上で行われるものとする。
【0026】
記憶部400は、例えば、ハードディスク装置などの記憶装置から構成され、主に、本実施形態にかかる文字列入力処理に必要な情報を格納する。本実施形態では、記憶部400に、辞書格納領域410、プログラム格納領域440、検索された変換候補を記憶する結果テーブル450などの記憶領域が確保されるものとする。
【0027】
辞書格納領域410には、入力端末1を用いた文字列入力の際に用いられる辞書データが格納される。本実施形態では、入力端末1を用いた文字列入力において、自然言語としての日本語入力が行われるものとする。この場合、入力端末1は、いわゆるFEP(Front End Processor)の動作により、キーボード211からの入力に応じた入力変換を行う。よって、辞書格納領域410には、このような、日本語入力変換の際に参照される辞書データが格納される。この場合、入力端末1は、辞書格納領域410に格納されている辞書データを参照することで、変換候補(入力候補)の文字列を選択可能に表示出力する。
【0028】
本実施形態にかかる辞書データの例を、図2を参照して説明する。図2は、辞書格納領域410に格納される辞書データの構成を説明する図である。この図に示すように、辞書格納領域410には、基本辞書領域420と入力内容別辞書領域430とが確保される。基本辞書領域420は、入力端末1での日本語入力の際に参照される辞書データのうち、一般的な辞書データ(以下、「基本辞書データ」とする)を格納する領域である。この基本辞書データには、種々の単語と、その品詞や、読みなどを示す情報とが対応付けられている。すなわち、通常の入力用FEPなどで用いられる一般的な辞書データが、基本辞書データとして基本辞書領域420に格納されている。
【0029】
入力内容別辞書領域430は、入力端末1が用いられる業務内容などに基づいて、入力内容に応じて用意された辞書データを格納する領域である。例えば、入力端末1をコールセンタ業務に用いる場合、入力項目が予め規定されているので、特定の入力項目での入力に用いられる単語群から構成される辞書データが入力内容別辞書領域430に格納される。すなわち、入力内容別辞書領域430には、入力内容毎に用意された専用辞書データが格納される。
【0030】
一例として、図2に示すような、応対入力辞書データ(A1)431や、住所入力辞書データ(A2)432などが入力内容別辞書領域430に格納される。このような入力内容別辞書データは、入力画面の入力エリアと対応付けられている。ここで、図3は、入力画面の一例を表す図である。例えば、この図に示すような入力画面ISの場合、応対入力辞書データ431は、電話応対での応対内容を入力するための入力エリアA1と対応付けられる。住所入力辞書データ432は、住所情報を入力するための入力エリアA2と対応付けられる。すなわち、図3に示したような入力画面ISにおいては、辞書データが対応付けされた入力エリアについては、その入力エリアに入力される内容が規定される。
【0031】
このような入力内容別に用意された辞書データのそれぞれには、入力される読みに基づいて構成された「読み補完辞書データ」と、変換後の綴りに基づいて構成された「綴り補完辞書データ」と、が一対となって含まれている。すなわち、図2に示すように、応対入力辞書データ(A1)431には、読み補完辞書データ431Aと綴り補完辞書データ431Bとが対応付けられて含まれている。住所入力辞書データ432(A2)には、読み補完辞書データ432Aと綴り補完辞書データ432Bとが対応付けられて含まれている。
【0032】
入力内容別に用意された辞書データのそれぞれは、このような一対の異なる辞書データによって構成されており、応対入力辞書データ(A1)431と住所入力辞書データ(A2)432とのそれぞれが1組の辞書データである。よって、仮に、応対入力辞書データ(A1)431と住所入力辞書データ(A2)432のみが入力内容別辞書領域430に格納されているのであれば、入力内容別辞書領域430には、2組の辞書データが格納されていることになる。
【0033】
このような入力内容別辞書データの構成を、図4および図5を参照して説明する。ここでは、入力内容別辞書データの一例として、応対入力辞書データ431の構成について説明する。図4は、読み補完辞書データ431Aの構成例を示す概念図であり、図5は、綴り補完辞書データ431Bの構成例を示す概念図である。なお、本実施形態では、携帯電話のユーザサポート業務を行うコールセンタにおいて、ユーザに対する電話応答時に頻出する語彙を基に、応対入力辞書データ431が構成されている場合について説明する。
【0034】
図4を参照して、読み補完辞書データ431Aの構成例を説明する。
図示するように、読み補完辞書データ431Aは、辞書の要素である単語の「読み」を結節点(ノード)とした、樹状の階層構造(木構造)のバイナリデータによって構成されている。そして、主語となる係り側の単語(ノード)のそれぞれに、係り受けの関係の受け側となる文節を構成する助詞と述語を示す単語(ノード)とが連結された構成(ノード列)となっている。この構成により、文法的に互いに係り受け関係にある単語が、相関的な位置で連結されている状態を示すデータによって辞書が構築される。ここで、読み補完辞書データ431Aは、入力される単語の「読み」に基づく辞書であるので、各ノードには、読みを表すひらがなによって見出し語が示されている。
【0035】
このような読み補完辞書データ431Aと対をなす綴り補完辞書データ431Bの構成例を図5に示す。図示するように綴り補完辞書データ431Bは、読み補完辞書データ431Aと同一の階層構造(木構造)によって構成されており、読み補完辞書データ431Aの各ノードに示された読みに対応する綴りが、その読み補完辞書データ431Aのノードに対応する綴り補完辞書データ431Bのノードの位置に、綴り補完辞書データ431Bの各ノードの見出し語として構成される。
【0036】
つまり、綴り補完辞書データ431Bは、読み補完辞書データ431Aに含まれている係り側の単語と、それに連結される受け側の単語群を構成しているノードを、各ノードの綴りに基づいて構成された辞書データである。例えば、読み補完辞書データ431Aにおいて、読みが「けいたい」であるノードにリンクする綴り補完辞書データ431Bでのノードでは、「けいたい」の変換後表記である「携帯」が対応する。
【0037】
ここで、読み補完辞書データ431Aおよび綴り補完辞書データ431Bの各ノードに付されている丸記号(○の中にアルファベット)は、読み補完辞書データ431Aと綴り補完辞書データ431Bとのノード間のリンクを表すリンクポインタである。つまり、読み補完辞書データ431Aと綴り補完辞書データ431Bとの間において、同じ丸記号(同じアルファベット)のリンクポインタが設定されているノード同士は、相互に参照可能であることを示している。これにより、一対の読み補完辞書データ431Aと綴り補完辞書データ431Bとは、ノード単位でリンクされていることを表している。
【0038】
上述した図1に示すプログラム格納領域440には、制御部100が実行するプログラムが格納される。そして、制御部100が、プログラム格納領域440に格納されているプログラムを実行することで、本実施形態にかかる文字列入力処理を実行する際の機能が実現される。制御部100によって実現される機能を図6に示す。
【0039】
図6は、制御部100によって実現される機能を示す機能ブロック図である。図示するように、制御部100は、辞書選択部110、検索キー生成部120、変換候補抽出部130、変換候補出力部140等の機能を含む。
【0040】
辞書選択部110は、入力画面IS上の入力エリアのいずれに入力が行われているかを判別し、判別された結果に基づいて、その入力エリアに応じた辞書を辞書格納領域410から選択する。
【0041】
検索キー生成部120は、入力が行われている入力エリアから文字列を取得し、検索キーを生成して変換候補抽出部130へ引き渡す。
【0042】
変換候補抽出部130は、検索キー生成部120が生成した検索キーと辞書選択部110によって指定された辞書に基づいて、変換候補語を抽出し、記憶部400の結果テーブル450に記憶する。
【0043】
変換候補出力部140は、変換候補抽出部130で抽出された候補語から、後述するように、冗長な部分を削除する。そして、出力制御部300との協働により、整形後の文字列を選択可能にディスプレイ装置311に表示出力する。
【0044】
本実施形態では、制御部100がプログラムを実行することで、図6に示す各機能構成が論理的に実現されるが、これらの機能を、例えば、ASIC(Application Specific Integrated Circuit:特定用途向け集積回路)などの物理的な構成によって実現してもよい。
【0045】
次に、上述した構成を有する入力端末1の動作を説明する。ここでは、入力端末1を用いて文字列入力を行う場合に実行される「文字列入力処理」を、図7〜図12に示すフローチャートを参照して説明する。この処理は、例えば、図3に示すような入力画面ISを表示する操作が行われたことを契機に開始されるものとする。
【0046】
まず、図7において、処理が開始され、オペレータによって入力装置210から入力がなされると、入力制御部200から制御部100への入力信号に基づき、辞書選択部110は、表示した入力画面IS上の、どの入力エリアが指定されたかを判別する(S001)。すなわち、入力端末1のオペレータによるポインティングデバイス212等の操作によって、入力画面IS上に用意された入力エリアのうち、入力対象となる入力エリアが選択されたか否かを判別する。
【0047】
いずれかの入力エリアが指定されると(S001:Yes)、辞書選択部110は、指定された入力エリアが特定の入力エリアであるか否かを判別する(S002)。本実施形態では、辞書データが対応付けられた入力エリアであって、入力内容別辞書を用いた変換入力の対象となっている入力エリアを特定の入力エリアである。ここでは、応対内容を入力するための入力エリアA1と住所を入力するための入力エリアA2(図3参照)が該当する。
【0048】
指定された入力エリアが、特定の入力エリアではないと判定された場合(S002:No)、基本辞書領域420の基本辞書データを参照し、通常の入力変換動作によって文字列入力が行われる(S100)。
【0049】
一方、特定の入力エリアが指定されたと判定された場合(S002:Yes)、辞書選択部110は、指定された入力エリアの種別を検出する。ここでは、入力エリアA1が指定された場合には、その入力エリアに対応づけされている識別子「A1」が検出され、入力エリアA2が指定された場合には、その入力エリアに対応付けされている識別子「A2」が検出される。
【0050】
辞書選択部110は、識別子を検出すると、入力内容別辞書領域430にアクセスし、検出された識別子に対応する辞書データを選択する(S003)。図2に示すように、入力内容別辞書領域430に格納されている複数組の入力内容別辞書データには、対応する入力エリアを示す識別子(図2の例では「A1」と「A2」)が付与されている。よって、辞書選択部110は、検出された識別子に基づいて、対応する識別子が付与されている辞書データを選択する。以下、本実施形態では、入力エリアA1に文字列入力を行うものとして説明する。よって、ここでは、応対入力辞書データ(A1)431が選択される。
【0051】
使用する辞書データを選択すると、辞書選択部110は、選択した辞書データがいずれであるかを変換候補抽出部130に通知するとともに、指定された入力エリアを検索キー生成部120に通知する。
【0052】
辞書選択部110から入力エリアの通知を受けると、検索キー生成部120は、指定された入力エリアにある文字列を取得して検索キーを生成する(S200)。検索キーの生成には、種々の方法が考えられるが、本実施形態では、図7のフローチャートに従って検索キーを生成する。以下では、この検索キーの生成処理を「最長サフィックス方式による検索キー生成処理」ともいう。
【0053】
同図において、検索キー生成部120はまず、指定された入力エリアの内容を取得する(S201)。一般に、入力エリアには、変換終了した確定文字列と、変換すべく入力作業中の未確定文字列とが混在している。そして、未確定文字列には、FEPが機能する前の「ひらがな」状態の場合と、FEPが機能して漢字などの変換候補が暫定的に表示された状態とがある。以下では、未確定文字列部分は下線付加によって示す。「確定文字列+未確定文字列」の例を、図8(a)に示す。同図において、下線部は未確定の文字列であることを表しており、確定文字列「携帯」+未確定文字列「でんわ」についてFEPが機能する前のひらがなの状態を「携帯でんわ」で示し、FEPによって「でんわ」が「電話」に暫定変換された状態を「携帯電話」で示している。
ついで、検索キー生成部120は得られた文字列のうち、最後の句点「。」以前の文字列を削除する(S202)。その例を図8(b)に示す。同図の入力エリアの例「ユーザです。プールに携帯をおとし電源」に対して、検索キー生成部120は句点以前の文字列「ユーザです。」を削除して、「プールに携帯をおとし電源」を検索キーとする。なお、上述のとおり下線部は未確定部を、下線なしは確定部を表す。
【0054】
次に、検索キーの未確定部の右側に確定文字列がある場合は、検索キーから削除する(S203)。その例を図8(c)に示す。同図において、検索キー生成部120は、検索キー「プールに携帯をおとし電源」から未確定部分「おとし」の右側の確定文字列「電源」を削除して「プールに携帯をおとし」とする。
【0055】
一般に、文字列中に未確定部が複数存在することはない。したがって、入力エリアの文字列の状態は次のような場合に限られる。
(1)確定部のみ
(2)確定部+未確定部
(3)確定部+未確定部+確定部
(4)未確定部のみ
(5)未確定部+確定部
【0056】
このうち、ステップS203の処理の結果、(3)の場合は(2)の場合に、(5)の場合は(4)の場合に帰着するので、検索キーは、(1)「確定部のみ」、(2)「確定部+未確定部」、(4)「未確定部のみ」の3通りの場合に限られることとなる。
次に、検索キー生成部120は、検索キーを「確定部」と「未確定部」に分離し(S204)、確定部の長さLを取得する(S205)。「プールに携帯を」の場合L=7である。
次に検索キー生成部120は、確定部の末尾(右端)から長さLの文字列を取り出して「末尾部」を生成する。最長サフィックス方式による最初の検索キー生成にあっては、末尾部は確定部の長さに等しい。したがって、S206で検索キー生成部120が生成する末尾部は「プールに携帯を」であり、S207で検索キー生成部120は、「末尾部」と「未確定部」の「おとし」とを結合して検索キー「プールに携帯をおとし」を生成する。
【0057】
変換候補抽出部130は、検索キー生成部120から検索キーを受け取って候補語の抽出を行う(S300)。変換候補抽出部130が行う候補語の抽出の詳細については後述する。変換候補抽出部130による候補語の抽出が終了すると、検索キー生成部120は結果テーブル450を確認して候補語の有無を判断する(S208)。候補語の抽出に成功していれば、すなわち候補語があれば(S208:Yes)、最長サフィックス方式による検索キー生成処理を終了し、S400に進む。
後述の通り、図4及び図5に示した辞書の場合、L=7では候補語が抽出されない(S208:No)。この場合、(L=7なので)L=0ではないので(S209:No)検索キー生成部120はLを一つ減らし(S210)、確定部の左端を一文字減らして(言い換えると確定部の「末尾」である右端からL−1文字を取り出して)末尾部とする(S206)。「プールに携帯を」の場合、L=6では末尾部は「ールに携帯を」となる。一方、S209でL=0である場合は、最長サフィックス方式による検索キー生成処理を終了し、S400に進む。
【0058】
ステップS206で末尾部「ールに携帯を」とした後、上記と同様にS207及びS300を実行し、図4及び図5に示した辞書の場合S208において候補語が抽出されないので、上記と同様にS209及びS210を実行してS206に戻る。詳しくは後述するが、図4及び図5に示した辞書の場合、L=3(末尾部「携帯を」)となるまでこれを繰り返して初めて候補語「携帯を落とした」が抽出される。この結果、S208:Yesとなり、出力処理S400へ進む。
この「携帯を」は、後述するように、図5に示した辞書のノード「携帯」及び「を」に一致する最長の末尾部、すなわち最長サフィックスである。
【0059】
次に、図9〜図17を参照して変換候補抽出部130の動作を説明する。
図9において、変換候補抽出部130は、まず、検索キーの先頭が「ひらがなのみ」からなる「未確定部」であるか否かを判断する(S301)。そして、検索キーの先頭が「ひらがなのみ」で、かつ「未確定部」である場合には(S301:Yes)、「先頭未確定処理」(S500)に進み、「ひらがなのみ」からなる「未確定部」でない場合(S301:No)には、「先頭確定処理」(S600)に進む。
【0060】
次に、上記ステップS500の「先頭未確定処理」について図10を参照して説明する。変換候補抽出部130は、まず、「読み補完辞書」から係り側ノードを一つ取得する(S501)。これをノードxとする。なお、以降、アルファベット小文字を用いて「ノードx」と記載した場合には、読み補完辞書のノードを表し、アルファベット大文字を用いて「ノードX」と記載した場合には、ノードxと対応する、綴り補完辞書のノードを表すものとする。
【0061】
ノードxと検索キーとの間に何らかの「前方一致」がある場合、検索キーとノードxとの長短に応じて、包含関係を次のように定義する。
検索キー ⊂ ノードx 部分一致
検索キー = ノードx 完全一致
検索キー ⊃ ノードx 余剰一致
【0062】
また、読み補完辞書および綴り補完辞書は、各々、図4および図5に示すように構成されているものとする。ノードxが「けいたい」の場合を例に、検索キーとの部分一致、完全一致、余剰一致の例は、図11(a)に示す通りである。
なお、前方一致とは検索キーとノードxとの一致判断にあたり、常に先頭部分(文字列左端)の一致を条件とすることをいう。部分一致だが前方一致ではない例と、余剰一致だが前方一致ではない例とを、図11(b)に示す。
【0063】
検索キーとノードxに何らの一致(前方一致)もない場合(S502:No)、変換候補抽出部130は、読み補完辞書に比較すべきノードが残っていないか確認する(S506)。比較すべきノードが残っていれば(S506:No)、ステップS501へ戻る。
一方、比較すべきノードが残っていない場合(S506:Yes)は、当該先頭未確定処理を終了する。
【0064】
また、検索キーとノードxとがいずれかの形で前方一致すれば(S502:Yes)、変換候補抽出部130は、ノードxと対応する綴り補完辞書のノードX(大文字X)を取得する(S503)。
そして、部分一致の場合(S504:Yes)、変換候補抽出部130は、ノードXを結果テーブル450に追加する(S505)。その例を図11(c)に示す。
その後、比較すべき候補がまだ残っていれば(S506:No)、S501へ戻る。全てのノードxについて比較が終了していれば(S506:Yes)、当該先頭未確定処理を終了する。
【0065】
一方、完全一致の場合(S504:No、S507:Yes)、変換候補抽出部130は、受け側ノード列を含めて、ノードXを結果テーブル450に追加する(S508)。その例を図11(d)に示す。
その後、比較すべき候補がまだ残っていれば(S506:No)、S501へ戻る。全てのノードxについて比較が終了していれば(S506:Yes)、先頭未確定処理を終了する。
【0066】
また、部分一致でも完全一致でもない場合には、余剰一致となる(S507:No)。変換候補抽出部130は、ノードxの受け側ノード列yを取得する(S509)。次いで、変換候補抽出部130は、検索キーからノードxを削除した余りがノード列yに、前方一致を条件として含まれるか(部分一致ないし完全一致するか)判断する(S510)。そして、含まれれば(S510:Yes)、ノード列yと対応する綴り補完辞書のノード列Yを取得し(S511)、ノードX+ノードYを結果テーブル450に追加する(S512)。
【0067】
その後、比較すべき受け側ノード列候補がまだ残っていれば(S513:No)、S509へ戻る。一方、全てのノード列yについて比較が終了していれば(S513:Yes)、S506へ進む。余りが部分一致の例を図11(e)に示し、余りが完全一致の例を図11(f)に示す。
【0068】
一方、検索キーからノードxを削除した余りがノード列yに含まれなければ(S510:No)、直接、S513へ進む。この例を図11(g)に示す。
その後、比較すべき受け側ノード列候補がまだ残っていれば(S513:No)、S509へ戻る。全てのノード列yについて比較が終了していれば(S513:Yes)、S506へ進む。
【0069】
次に、上記ステップS600の「先頭確定処理」について図12を参照して説明する。
このフローで処理される検索キーには、「確定部のみ」の場合と「確定部+未確定部」の場合とがある。変換候補抽出部130は、綴り補完辞書から係り側ノードXを1つ取得する(S601)。係り側ノードXと検索キーとの間の包含関係の定義は、「先頭未確定処理」の場合と同様である。
検索キー ⊂ ノードX 部分一致
検索キー = ノードX 完全一致
検索キー ⊃ ノードX 余剰一致
【0070】
また、先頭確定処理においても、一致判断は「前方一致」を条件とする。図13(a)にその例を示す。
【0071】
検索キーとノードXとの間に何らの一致もない場合(S602:No)、変換候補抽出部130は、綴り補完辞書に、検索キーと比較すべきノードXが残っていないか確認する(S606)。そして、比較すべきノードが残っていれば(S606:No)、S601へ戻る。
【0072】
一方、比較すべきノードが残っていない場合には(S606:Yes)、当該先頭確定処理を終了する。
一方、部分一致の場合には(S604:Yes)、変換候補抽出部130は、ノードXを結果テーブル450に追加する。その例を図13(b)に示す。すなわち、検索キー「携」に対して、「携帯」、「携帯電話」が結果テーブル450に追加される。
そして、比較すべきノードがまだ残っていれば(S606:No)、S601へ戻る。全てのノードXについて比較が終了していれば(S606:Yes)、当該先頭確定処理を終了する。
【0073】
一方、完全一致の場合(S604:No、S607:Yes)、変換候補抽出部130は、受け側ノード列を含めて、ノードXを結果テーブル450に追加する(S608)。その例を図13(c)に示す。
次いで、変換候補抽出部130は綴り補完辞書に比較すべきノードが残っていないか確認する(S606)。比較すべきノードが残っていれば(S606:No)、S601へ戻る。一方、比較すべきノードが残っていない場合には(S606:Yes)、当該先頭確定処理を終了する。
【0074】
また、部分一致でも完全一致でもない場合は余剰一致となる(S607:No)。
ここで、図14を参照して余剰一致処理について説明する。変換候補抽出部130は、まず、ノードXの受け側ノード列Y(Y1+Y2)を一組取得する(S701)。その例を図15(a)に示す。
次いで、変換候補抽出部130は、検索キーから係り側ノードXを削除した余りキーαが「ひらがなのみ」からなる「未確定部」であるか否か判断する(S702)。ここで、図15(b)にS702がYesの例を示し、図15(c)にS702がNoの例を示す。
【0075】
余りαが「ひらがなのみ」からなる「未確定部」である場合には(S702:Yes)、変換候補抽出部130は、読み補完辞書から、ノード列Yと対応するノード列yを検索して取得する(S703)。そして、変換候補抽出部130は、余りキーαがノード列yと部分一致ないし完全一致するか判定する(S704)。
【0076】
そして、余りキーαがノード列yと部分一致ないし完全一致する場合(S704:Yes)、変換候補抽出部130は、受け側ノード列を含めて、ノードX+Yを結果テーブル450に追加する(S705)。この例を図15(d)に示す。その後、S706へ進む。
【0077】
一方、余りキーαとノード列yとが部分一致も完全一致もしない場合(S704:No)、すなわち、図15(e)に示すような場合には、直接、S706へ進む。
その後、比較すべき受け側ノード列Yがまだ残っていれば(S706:No)、S701へ戻る。一方、全てのノード列Yについて比較が終了していれば(S706:Yes)、当該余剰一致処理を終了する。
【0078】
また、余りキーαの中に確定文字列があるか、未確定部のみであっても、ひらがなだけではない場合(S702:No)、変換候補抽出部130は、余りキーαがノード列Yのうち、前方のノードY1と部分一致または完全一致するか判定する(S707)。そして、余りキーαがノードY1と部分一致または完全一致する場合(S707:Yes)、変換候補抽出部130は、受け側ノード列を含めて、ノードX+ノードYを結果テーブル450に追加する(S708)。この例を図15(f)に示す。その後、S706へ進む。
【0079】
その後、比較すべき受け側ノード列Yがまだ残っていれば(S706:No)、S701へ戻る。一方、全てのノード列Yについて比較が終了していれば(S706:Yes)、当該余剰一致処理を終了する。
【0080】
一方、余りキーαがノードY1と部分一致も完全一致もしない場合(S707:No)、変換候補抽出部130は、余りキーαがノードY1を包含するか否か判定する(S709)。そして、余りキーαがノードY1を包含しない場合(S709:No)、すなわち、図15(g)に示すような場合には、S706へ進む。
【0081】
一方、余りキーαがノードY1を包含する場合(S709:Yes)、変換候補抽出部130は、余りキーαから更にノードY1を除いた余りキーβを作成し、余りキーβが「ひらがなのみ」からなる「未確定部」であるか否か判定する(S710)。
余りキーβがひらがなのみからなる未確定部である場合(S710:Yes)、変換候補抽出部130は、Y2と対応するノードy2を読み補完辞書から取得し(S711)、余りキーβがノードy2と部分一致または完全一致するか判定する(S712)。そして、余りキーβがノードy2と部分一致または完全一致する場合(S712:Yes)、変換候補抽出部130は、ノードX+ノードYを結果テーブル450に追加する(S713)。その例を図15(h)に示す。その後、S706へ進む。
【0082】
一方、余りキーβがノードy2と部分一致も完全一致もしない場合(S712:No)、すなわち、図15(i)に示すような場合には、S706へ進む。
その後、比較すべき受け側ノード列Yがまだ残っていれば(S706:No)、S701へ戻る。一方、全てのノード列Yについて比較が終了していれば(S706:Yes)、当該余剰一致処理を終了する。
【0083】
一方、余りキーβが「ひらがなのみ」からなる「未確定部」でない場合(S710:No)、変換候補抽出部130は、余りキーβがY2と部分一致または完全一致するか判定する(S714)。そして、余りキーβとY2とが部分一致でも完全一致でもない場合(S714:No)、S706へ進む。図15(j)に部分一致でも完全一致でもない場合の例を示す。
【0084】
一方、余りキーβとY2が部分一致または完全一致の場合(S714:Yes)、変換候補抽出部130は、ノードX+ノードYを結果テーブル450に追加し(S715)、S706へ進む。ノードX+ノードYの結果テーブル450への追加例を図15(k)に示す。
【0085】
その後、比較すべき受け側ノード列Yがまだ残っていれば(S706:No)、S701へ戻る。一方、全てのノード列Yについて比較が終了していれば(S706:Yes)、当該余剰一致処理を終了する。
そして、当該余剰一致処理を終了した変換候補抽出部130は、図10のS606に戻り、全てのノードXについて比較が終了していれば(S606:Yes)、当該先頭確定処理を終了する。
【0086】
次に、図7に説明を戻すと、変換候補出力部140は、検索キー生成部120から結果テーブル450と、最後に検索に使用した「末尾部」を取得して、検索結果を候補表示するための整形を行う(S400)。この処理を、図16に示すフローチャートを参照して説明する。
以下、説明を容易にするため、検索キーが「末尾部のみ」、「末尾部+未確定部」、「未確定部のみ」の場合に分けて説明する。
【0087】
<検索キーが末尾部のみの場合>
変換候補出力部140は、まず、結果テーブル450の文字列から、検索キーの「末尾部」を削除する(S401)。次に、削除した結果、検索キーの「未確定部」と一致することになった出力候補語があるか判定する(S402)。この例では、検索キーに「未確定部」を含まないので、S402は自動的にNoとなる。この結果、図17(a)に示すような出力が得られる(S404)。また、このように整形された候補語の画面表示例を図18(a)に示す。
【0088】
<検索キーが「末尾部+未確定部」の場合>
変換候補出力部140は、まず、結果テーブル450の文字列から検索キーの「末尾部」を削除する(S401)。さらに、末尾部削除の結果、出力候補語の中に検索キーの未確定部と完全一致する出力候補語がある場合(S402:Yes)、当該一致する出力候補語を結果テーブル450から削除する(S403)。
【0089】
図17(b)に示す例1では、検索キーの未確定部「が」が、末尾部削除後の候補語のノード列「が−壊れた」「が−高い」のうち「が」と一致する。しかし、完全一致ではないので(S402:No)、「が壊れた」「が高い」がそのまま候補語として出力され(S404)、入力エリアのカーソル近傍に表示される。このように整形された候補語の画面表示例を図18(b)に示す。そして、オペレータが例えば「が壊れた」を選択すると、未確定状態の「が」(図18において、下線部は未確定の文字であることを表す)を削除して「が壊れた」を確定状態で入力エリアに差し込む。
【0090】
また、図17(c)に示す例2では、検索キーの未確定部「ありか」が、末尾部削除後の出力候補語「ありか」と一致するので、S403において「ありか」全体が削除され、S404で、候補語は出力されない。入力エリアにすでに表示された未確定文字列と候補語表示エリアに表示される文字列が一致した場合、オペレータは、候補語表示エリアから候補語を選択するよりも入力エリアの文字列を、例えばEnterキーなどで確定させる方が自然だからである。
【0091】
検索キーが「未確定部のみ」の場合、S401で削除される部分はなく、原則、検索結果がそのまま出力される(S404)。図17(d)に例1の場合、図17(e)に例2の場合を示す。また、このような場合の候補語の画面表示例を図18(d)、(e)に示す。
例外的に、綴り補完辞書に、ひらがなのみからなるノードがあり、当該ノードが候補語となった場合には、S402でYesとなり、一致した候補語が結果テーブル450から削除される(S403)。この例を図17(f)に示す。
【0092】
以下では、指定入力エリアの内容が「ユーザです。プールに携帯をおとし電源」(「おとし」は未確定)である場合を例として、上記で説明した検索キー生成部120及び変換候補抽出部130が行う候補語抽出動作を通して説明する。
まず、図7のS201〜S207で説明したように、最長サフィックス方式による初期検索キーは図8(c)に示す「プールに携帯をおとし」となる(図7のS207)。検索キー生成部120は変換候補抽出部130へ検索キーを渡し、変換候補抽出部130は図9で説明した候補抽出を行う(図7のS300)。
【0093】
「プールに携帯をおとし」の先頭は未確定部ではない(図9のS301:No)ので、変換候補抽出部130は図12で説明した先頭確定処理を行う(図9のS600)。
そして、図5に示した綴り補完辞書の係り側ノードのいずれと比較しても前方一致しない(図12のS602:No及びS606:Yes)ので、変換候補抽出部130は結果テーブル450に何も候補語を記録しない。したがって、図7に戻ってS208:Noとなり、検索キー生成部120は以下の確定部短縮処理を行なう。
【0094】
Lの値は7なので(S209:No)、Lの値を1減じてL=6とする(S210)。ついで、検索キー生成部120は確定部を末尾から長さ6の「ールに携帯を」とする(S206)。そして、新たな末尾部と未確定部とを結合して次の検索キー「ールに携帯をおとし」(「おとし」は未確定)を生成し(S207)、変換候補抽出部130へ引き渡す。変換候補抽出部130は図9で説明した候補抽出を行う(図7のS300)。上述のようにS301でNoと判断し、変換候補抽出部130は図12で説明した選択確定処理を行う。
L=7の場合と同様に、Lが6〜4までは変換候補抽出部130は結果テーブル450に何も候補語を記録しない。この間、上記と同様に、検索キー生成部120と変換候補抽出部130とは、それぞれ確定部短縮処理(図7の208:No〜S207)と先頭確定処理(図12)とを繰り返す。
【0095】
L=3のとき(検索キーが「携帯をおとし」(「おとし」は未確定)のとき)、図12の先頭確定処理において検索キーは係り側ノード「携帯」と前方一致する(S602:Yes)。この場合、検索キーが「携帯をおとし」(「おとし」は未確定)であるのに対して、ノードXが「携帯」なので、部分一致でもなく(S604:No)、完全一致でもなく(S607:No)、変換候補抽出部130は図14で説明した余剰一致処理を行う(図12のS700)。
【0096】
変換候補抽出部130は受け側ノード列候補を取得する(S701)。余りキーαは「をおとし」(「おとし」は未確定)なので、変換候補抽出部130はS702でNoと判断する。綴り補完辞書データ431Bの受け側ノード列Y1+Y2が「の+画面」と「の+ありか」と「が+壊れた」と「が+高い」とである場合、αはいずれのノードY1にも包含されないし(S707:No)、Y1がαを包含する関係にもない(S709:No)ので、変換候補抽出部130はS706へ進む。
【0097】
一方、ノード列Y1+Y2が「を」+「落とした」である場合、αはY1には包含されないが(S707:No)、Y1(「を」)がα(「をおとし」(「おとし」は未確定))に包含される(S709:Yes)。
αからさらにY1を除いた余りβは「おとし」(「おとし」は未確定)であり、未確定ひらがなである(S710:Yes)。変換候補抽出部130は綴り補完辞書のノードY2(落とした)と対応する読み補完辞書のノードy2(おとした)を取得する(S711)。β(おとし(「おとし」は未確定))はy2(おとした)と部分一致するので(S712:Yes)、変換候補抽出部130はX+Y(携帯+を落とした)を結果テーブル450に追加する。
その後、比較すべき受け側ノード列Yがまだ残っていれば(S706:No)、変換候補抽出部130はS701へ戻る。一方、全てのノード列Yについて比較が終了していれば(S706:Yes)、変換候補抽出部130は余剰一致処理を終了する。
【0098】
余剰一致処理が終了すると変換候補抽出部130はS606へ進み、検索キーと比較すべき係り側ノードXがまだ残っていれば(S606:No)、S601へ戻る。一方、全てのノードXについて比較が終了していれば(S606:Yes)、変換候補抽出部130は先頭確定処理を終了する。
【0099】
先頭確定処理が終了すると変換候補抽出部130は図9のS302へ進み、結果テーブル450を出力して候補抽出処理S300を終了する。
【0100】
検索キー生成部120は変換候補抽出部130から検索結果を受け取り、候補が抽出されたか否か判定する(図7のS208)。ここでは上述のように、「携帯を落とした」が抽出されているので(S208:Yes)、検索キー生成部120は変換候補出力部140へ、検索結果と末尾部文字列「携帯を」を渡し、変換候補出力部140は図16で説明した出力処理を行う(図7のS400)。
【0101】
変換候補出力部140は結果テーブル450に記録された「携帯を落とした」から末尾部「携帯を」を削除する(S401)。
削除後の文字列「落とした」は検索キーの未確定部「おとした」と一致しないので(S402:No)、変換候補出力部140は「落とした」を候補語として出力する。
【0102】
以上で説明したように本実施形態によれば、検索キー生成部120及び変換候補抽出部130が、リンクされた読み補完辞書と綴り補完辞書を用いて、確定文字列については綴り補完辞書を参照し、未確定文字列については読み補完辞書を参照して、確定文字列と未確定文字列との双方を考慮した変換候補を抽出することができ、効率的に文字列入力を行うことができるという利点が得られる。
【0103】
また、検索キー生成部120及び変換候補抽出部130が、確定文字列の末尾からの文字列(末尾部)で、綴り補完辞書のデータと一致する最長の文字列(最長サフィックス)を検出するので、より効率的に文字入力を行うことができる。
例えば、文字入力操作者の操作によって入力端末1のFEPが、未確定文字列「ぷーるにけいたいをおとし」から、まず「ぷーる」を「プール」に確定し、以下、「に」、「携」、「帯」、と順次確定した場合に、前回確定部分を参照して辞書データと前方一致で変換候補を選択する方法では、前回確定部分の「帯」と「携帯」とは前方一致しないので、辞書データ中に「携帯を落とした」を示すデータがあっても変換候補として提示することができない。これに対して本実施形態では、上述したように、綴り補完辞書の係り側のノード「携帯」に一致する最長サフィックス「携帯」を確定文字列「プールに携帯」から検索キー生成部120が抽出し、変換候補抽出部130が、最長サフィックス「携帯」と未確定文字列「をおとした」を用いて、未確定部分「をおとした」に対応する「を落とした」を変換候補とすることができる。これによって文字入力操作者は選択候補中から「を落とした」を選択して、残りの未確定文字列を速やかに変換し確定させることができる。
【0104】
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。
まず、第1の実施形態において読み補完辞書と綴り補完辞書が図21の場合を考える。同図において、読み補完辞書は、係り側「<おびひろ>」及び受け側「<に><いく>」からなるデータ(ノード列)と、係り側「<おび>」及び受け側「<に><みじかし>」からなるデータとを含み、綴り補完辞書は、係り側「<帯広>」及び受け側「<に><行く>」からなるデータと、係り側「<帯>」及び受け側「<に><短し>」からなるデータを含み、両辞書間においてノードがリンクポインタa〜fで対応付けられている。
そして、上述の最長サフィックス方式による検索キー生成処理において、入力エリアから「携帯」(確定文字列のみ)が取得された場合を考える。
【0105】
図7のS201〜S206で説明したように、検索キー生成部120は、まず、「携帯」を検索キーとして生成し、変換候補抽出部130へ渡す。
図9及び図12で説明したように、検索キー先頭は未確定部でもひらがなでもないので(図9のS301:No)、変換候補抽出部130は先頭確定処理(図9のS600)を行う。しかし、「携帯」は「帯広」とも「帯」とも前方一致しないので(図12のS602:No)、変換候補抽出部130は候補ノードを抽出できずに先頭確定処理を終了する。
【0106】
図7のS208:No以下で説明したように、検索キー生成部120は変換候補が抽出されなかったので、検索キー「携帯」の左から一文字を減らして「帯」を検索キーとする。
上記と同様、変換候補抽出部130は検索キー「帯」を受け取ると、先頭確定処理を実行する。すると、「帯」は「帯広」と部分一致するので(図12のS604:Yes)、
変換候補抽出部130は、「帯広」を結果テーブル450に記録する(図12のS605)。さらに、「帯」とは完全一致するので(図12のS607:Yes)、変換候補抽出部130は、受け側ノード列を含めた「帯に短し」を結果テーブル450に追加する(図12のS608)。
そして、変換候補出力部140は結果テーブル450と最後に検索に使用した末尾部「帯」とを受け取ると、結果テーブル450の「帯広」と「帯に短し」から末尾部「帯」を削除して(図16のS401)、「広」と「に短し」とを候補語として表示する(図16のS402:No及びS404)。
【0107】
しかしながら、入力エリアに「携帯」とある場合に「広」や「に短し」が後続候補語として表示されるのは適切でない。
このように、検索キーの確定部を徐々に短くしていく最長サフィックス検索では、考慮すべき確定部を変形した結果、かえって不適切な候補語を表示してしまう場合がある。
【0108】
そこで、第2の実施形態では、先頭確定処理において部分一致条件を満たす係り側ノードXが得られた場合、確定部の短縮の有無をさらに確認し、短縮されている場合はノードXを結果テーブル450に追加しない手順とする。
具体的には、第2の施形態では、第1の実施形態のフローのうち、先頭確定処理に係る図12のフローチャートが図20のように変更される。なお、本実施形態の先頭確定処理以外の部分については第1の実施形態で説明したのと同様であり、その説明を省略する。
【0109】
図20において、図12の各ステップに対応するステップには同一の符号を付し(S601、S602、S604、S605、S606、S607、S608)、その説明を省略する。
図20のS604において、検索キーとノードXとが部分一致した場合(S04:Yes)、変換候補抽出部130はS609に進む。S609において、変換候補抽出部130は検索キーの末尾部の長さと確定部の長さとを比較する。末尾部の長さと確定部の長さが一致すればS605に進み(S609:Yes)、一致しなければS606に進む(S609:No)。
【0110】
図20に示されたフローに従えば、検索結果は次のようになる。
すなわち、図7のS201〜206で説明したように、検索キー生成部120は、まず、「携帯」を検索キーとして生成し、変換候補抽出部130へ渡す。
図9で説明したように、検索キー先頭は未確定部でもひらがなでもないので(図9のS301:No)、変換候補抽出部130は先頭確定処理(図9のS600)を行う。しかし、「携帯」は「帯広」とも「帯」とも前方一致しないので(図20のS602:No)、変換候補抽出部130は候補ノードを抽出できずに先頭確定処理を終了する。
【0111】
図7のS208:No以下で説明したように、検索キー生成部120は変換候補が抽出されなかったので、検索キー「携帯」の左から一文字を減らして「帯」を検索キーとする(図7のS210及びS206)。
変換候補抽出部130は検索キー「帯」を受け取ると、再び先頭確定処理を実行する。すると、「帯」は「帯広」と部分一致するが(図20のS604:Yes)、確定部の長さが「2」であるのに対し、現在の末尾部の長さは「1」で末尾部と確定部は長さが一致しない(図20のS609:No)。したがって、係り側ノード「帯広」は結果テーブル450に記録されない。一方、検索キーは「帯」と完全一致するので(図20のS607:Yes)、「帯に短し」は結果テーブル450に追加される。
【0112】
ここで、部分一致の場合だけ、一致条件を厳格化することの得失を検討する。
確定部を短縮しつつ、一致する辞書ノードを探索する最長サフィックス方式において、短縮処理したキーについて部分一致を全て棄却することは、一見、厳格に過ぎるようにも思える。しかし、入力エリア中の文字列を最大限に利用しようとする最長サフィックス方式では、一般に、検索キーがある程度長い段階で余剰一致や完全一致によって候補語の抽出に成功すると考えられる。この点で、部分一致の厳格化が抽出される候補語を減らしてしまう弊害は限定的である。
部分一致処理が働くのは、検索キーが短い場合、すなわち、確定部が単語レベルの場合が多い。単語レベルで短縮が行われた場合、元の意味をある程度保持する場合もあるが、元の意味が失われてしまう場合が圧倒的に多い。
例えば、図22に示す、確定部「新車」(意味=新しい自動車)に対する末尾部「車」(意味=自動車)では元の意味のうち「自動車」の意味が保持されている。他の例「再挑戦」と「挑戦」、「複数」と「数」、「月あかり」と「あかり」等も同様である。これに対して、確定部「検索」(意味=調べて探し出すこと)に対する末尾部「索」(意味=綱)では元の意味は保持されていない。他の例「確定部」と「定部」、「計算機」と「算機」、「きのう」と「のう」等も同様である。
【0113】
また、検索キーが漢字一文字まで短縮されてしまった場合、部分一致が成功してしまう確率は高い。例えば、「帯」を先頭に持つ熟語として、帯刀、帯剣、帯同、帯出、帯電、帯分数など多数を挙げることができる。この場合も上記と同様、「帯」は「携帯」の意味を保持しておらず、「帯」から検出されるこれらの熟語は変換候補とすべきではない文字列である。
本実施形態では、部分一致処理における検索キーに基づく辞書の探索キーを短縮前の検索キーに限ることによって、上記のように変換候補とすべきでない文字列を変換候補抽出部130が変換候補として抽出することを防止できる。これにより、変換候補数を大幅に削減してより効率的に文字入力を行うことができる。
【0114】
上述した実施形態(第1の実施形態及び第2の実施形態、以下同様)は一例であり、本発明の適用範囲はこれに限られない。すなわち、種々の応用が可能であり、あらゆる実施の形態が本発明の範囲に含まれる。
【0115】
上記実施形態にかかる入力端末1は、スタンドアローンで構成可能であるだけでなく、いわゆるサーバ−クライアントシステムとしても構成可能である。すなわち、例えば、図19に示すように、制御部501、通信部502を備えるクライアント500に入力装置210と出力装置310の機能を持たせ、該クライアント500と、制御部601、通信部602、記憶部603を備え、検索機能を持たせたサーバ600とから構成としても良い。サーバ600は、検索機能として、辞書選択部601−1、検索キー生成部601−2、変換候補抽出部601−3、変換候補出力部601−4を備える。
【0116】
上記実施の形態にかかる入力端末1は、専用装置から構成可能であるだけでなく、汎用のコンピュータ装置などを用いて構成することもできる。すなわち、例えば、パーソナルコンピュータなどの汎用装置と、当該汎用装置を上記実施の形態で示したように機能させるプログラムによって、当該汎用装置を上述した入力端末1として機能させることができる。
このようなプログラムの提供方法は任意であり、例えば、CD−ROMなどの記憶媒体に格納して配布可能であることはもとより、プログラムデータを搬送波に重畳することで、所定の通信媒体(例えば、インターネットなど)を介して配布することもできる。
【産業上の利用可能性】
【0117】
本発明は、文字列入力装置や文字列入力方法や文字列の入出力を行うプログラムに用いて好適である。
【符号の説明】
【0118】
1 入力端末
100 制御部
200 入力制御装置
210 入力装置
211 キーボード
212 ポインティングデバイス
300 出力制御装置
310 出力装置
311 ディスプレイ装置
400 記憶部
410 辞書格納領域
420 基本辞書領域
430 入力内容別辞書領域
431 応対入力辞書データ(A1)
431A 読み補完辞書データ
431B 綴り補完辞書データ
432 住所入力辞書データ(A2)
432A 読み補完辞書データ
432B 綴り補完辞書データ
440 プログラム格納領域
450 結果テーブル

【特許請求の範囲】
【請求項1】
入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択する
ことで文字列入力を行う文字列入力装置であって、
辞書データを記憶する辞書手段と、
入力された文字列を取得して検索キーを生成する検索キー生成部と、
前記辞書手段に記憶されている前記辞書データと前記検索キーとに基づいて前記変換候補を抽出する変換候補抽出部と
を備え、
前記検索キー生成部は、入力された文字列のうち変換処理が完了した確定文字列の全部または該確定文字列の先頭から一部の文字列を削除した末尾部を、前記検索キーの全部または一部として前記検索キーを生成する
ことを特徴とする文字列入力装置。
【請求項2】
前記検索キー生成部は、前記確定文字列の全部を最初の検索キーの全部または一部とし、前記変換候補抽出部が該検索キーに基づいて変換候補を得られない場合は、変換候補を得られるまで前記確定文字列の先頭から一文字ずつ減らした前記末尾部を前記検索キーの全部または一部として前記検索キーを生成する
ことを特徴とする請求項1に記載の文字列入力装置。
【請求項3】
前記辞書手段は互いに係り受け関係にある単語をノードとして木構造に構成した辞書データを記憶し、
前記変換候補抽出部は、前記検索キーと前記辞書データの係り側ノードが部分一致したとき、文字を減らされていない前記確定文字列の全部が前記検索キーの全部または一部とされている場合は前記係り側ノードを前記変換候補とし、前記確定文字列から文字を減らした前記末尾部が前記検索キーの全部または一部とされている場合は前記係り側ノードを前記変換候補とはしないで、前記変換候補を抽出する
ことを特徴とする請求項1または請求項2に記載の文字列入力装置。
【請求項4】
前記辞書手段は
入力される文字列を変換処理する前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データを記憶する読み補完辞書手段と、
前記読み補完辞書データに含まれる各単語が漢字等に変換された単語として記録された辞書であって、変換処理前と後の単語をノードとして対応付けて、前記読み補完辞書手段の木構造と合致した木構造に構成した綴り補完辞書データを記憶する綴り補完辞書手段と
を備え、
前記検索キー生成部は、変換処理が完了した確定部文字列と変換処理が完了する前の未確定ひらがな部文字列とが連結された検索キー、または、前記確定部文字列の先頭から一部の文字列を削除した末尾部と前記未確定ひらがな部文字列とが連結された検索キーを生成し、
前記変換候補抽出部は、
前記検索キー生成部が生成した前記検索キーに含まれる前記変換処理が完了した確定部文字列または前記末尾部に基づいて、前記綴り補完辞書手段の綴り補完辞書データの係り受け関係にある受け側ノード列Yを特定し、
前記受け側ノード列Yに対応する、前記読み補完辞書手段の読み補完辞書データの係り受け関係にある受け側ノード列yを特定し、
前記検索キー生成部が生成した前記検索キーに含まれる前記変換処理が完了する前の未確定部ひらがな部文字列と前記受け側ノード列yとの一致判断を行い、変換候補を抽出する
ことを特徴とする請求項1から3のいずれかの項に記載の文字列入力装置。
【請求項5】
入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力方法であって、
辞書データを記憶するステップと、
入力された文字列を取得して検索キーを生成するステップと、
前記辞書手段に記憶されている前記辞書データと前記検索キーとに基づいて前記変換候補を抽出するステップと
を含み、
前記検索キーを生成するステップは、入力された文字列のうち変換処理が完了した確定文字列の全部または該確定文字列の先頭から一部の文字列を削除した末尾部を、前記検索キーの全部または一部として前記検索キーを生成する
ことを特徴とする文字列入力方法。
【請求項6】
入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択する
ことで文字列入力を行う文字列入力装置のコンピュータに、
辞書データを記憶するステップと、
入力された文字列を取得して検索キーを生成するステップと、
前記辞書手段に記憶されている前記辞書データと前記検索キーとに基づいて前記変換候補を抽出するステップと
を含み、
前記検索キーを生成するステップは、入力された文字列のうち変換処理が完了した確定文字列の全部または該確定文字列の先頭から一部の文字列を削除した末尾部を、前記検索キーの全部または一部として前記検索キーを生成するステップ
を実行させることを特徴とするプログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2010−266948(P2010−266948A)
【公開日】平成22年11月25日(2010.11.25)
【国際特許分類】
【出願番号】特願2009−115799(P2009−115799)
【出願日】平成21年5月12日(2009.5.12)
【出願人】(000102728)株式会社エヌ・ティ・ティ・データ (438)
【出願人】(509132738)合同会社シンタックス (10)
【Fターム(参考)】