説明

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

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

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

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

【図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


【公開番号】特開2010−237963(P2010−237963A)
【公開日】平成22年10月21日(2010.10.21)
【国際特許分類】
【出願番号】特願2009−85258(P2009−85258)
【出願日】平成21年3月31日(2009.3.31)
【出願人】(000102728)株式会社エヌ・ティ・ティ・データ (438)
【Fターム(参考)】