文字列入力装置、文字列入力方法、およびプログラム
【課題】ユーザの期待する半角文字を含んだ正規表現を変換候補語として提示できる文字列入力装置、文字列入力方法、および、プログラムを提供する。
【解決手段】文字列入力装置が、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データを記憶する記憶部400と、変換処理前と後の単語をノードとして対応付けて、木構造と合致した木構造に構成した綴り補完辞書データを記憶する記憶部400と、入力エリアから文字列を取得して検索キーを生成する検索キー生成部120と、検索キー生成部120により生成された検索キーと、記憶部400に記憶されている読み補完辞書データと、記憶部400に記憶されている綴り補完辞書データとに基づいて、変換候補を抽出する変換候補抽出部130と、を備える。
【解決手段】文字列入力装置が、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データを記憶する記憶部400と、変換処理前と後の単語をノードとして対応付けて、木構造と合致した木構造に構成した綴り補完辞書データを記憶する記憶部400と、入力エリアから文字列を取得して検索キーを生成する検索キー生成部120と、検索キー生成部120により生成された検索キーと、記憶部400に記憶されている読み補完辞書データと、記憶部400に記憶されている綴り補完辞書データとに基づいて、変換候補を抽出する変換候補抽出部130と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文字列入力装置、文字列入力方法、および、プログラムに関し、特に、コールセンタなどにおける入力作業に好適な文字列入力装置、文字列入力方法、およびプログラムに関する。
【背景技術】
【0002】
出願人は、特許文献1において、入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力装置であって、入力される文字列を変換処理する前の読みが単語として記録され、互いに係り受け関係にある単語を木構造に構成した読み補完辞書と、読み補完辞書に含まれる各単語が漢字等に変換された単語として記録され、変換処理前と後の単語を対応付けて、読み補完辞書の木構造と合致した木構造に構成した綴り補完辞書とを備えることにより、確定済文字列と未確定文字列が混在して与えられても効率的に変換候補語を抽出できる文字列入出力装置を開示した。
【0003】
さて、このように構成される装置において、図31に示すデータから辞書を作成することを考える。図31は、文字列入力データ例を説明する図である。ここで、「コイン ラブ銀行(「コイン ラブ」は半角カタカナ)」は、「コイン(半角カタカナ)」と「ラブ(半角カタカナ)」の間に半角スペースを挿入した表記が銀行名として正式な表記であるものとする。
【0004】
全角カタカナと半角カタカナを区別して上記表記を木構造化すると、図32のような綴り補完辞書1が得られる。図32は、綴り補完辞書1を説明する図である。
【0005】
一方、図31の読みだけを忠実に木構造化すると、図33に示す読み補完辞書1が得られる。図33は、読み補完辞書1を説明する図である。
【0006】
このままでは、読み辞書の<こいん>系統と、綴り辞書の<コイン/コイン(半角カタカナ)>系統が一致しない。また、<こいんぱーきんぐ>系統と<コインパーキング/コインパーキング(半角カタカナ)>系統も一致しない。さらに、綴り辞書の<コイン>系統と<コイン(半角カタカナ)>系統は従属ノード群が重複しており、記憶スペースに無駄が生じている。
【0007】
そこで、たとえば「カタカナは全角化して辞書に登録する」、「表記中のスペースは削除する」などの標準化規則を設けて辞書を作成する方法が知られている(例えば、特許文献2参照)。図34は、綴り補完辞書2を説明する図である。標準化規則を設けて辞書を作成すると、綴り補完辞書の木構造は図34のようになり(綴り補完辞書2)、読み補完辞書と綴り補完辞書の構造を一致させることができ、かつ、辞書記憶スペースも節約される。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2007−334534号公報
【特許文献2】特開2002−73656号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、綴り補完辞書を上記標準化表現で構成すると、変換候補語として半角カタカナが抽出・提示されることはない。また、半角カタカナを入力エリアで確定させても綴り補完辞書との一致はないため、候補語は一切表示されない。したがって、会社名や商品名の正式名称が半角カタカナ表記で与えられる場合、上記のような標準化処理はユーザの意図しない動作となる。
【0010】
本発明は、このような事情を考慮してなされたものであり、その目的は、木検索の長所を生かしつつ、ユーザの期待する半角文字を含んだ正規表現を変換候補語として提示できる文字列入力装置、文字列入力方法、および、プログラムを提供することにある。
【課題を解決するための手段】
【0011】
本発明は、上記の課題を解決するためになされたものであり、入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力装置に使用する辞書データであって、入力される文字列を変換処理する前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データと、前記読み補完辞書データに含まれる各単語が漢字等に変換された単語として記録された辞書であって、変換処理前と後の単語をノードとして対応付けて、前記読み補完辞書手段の木構造と合致した木構造に構成した綴り補完辞書データとからなり、前記綴り補完辞書のノードは標準化規則に従って作成され、標準化規則に従う文字列とオペレータに提示すべき文字列が異なる場合は、オペレータに提示すべき文字列を表示文字列としてノードと関連付けて記憶したことを特徴とする辞書データである。
【0012】
また、本発明は、前記標準化規則は、半角カタカナの全角化、ASCII文字(スペース文字含む)と対応する全角文字の半角化、ASCII文字に挟まれたスペース(ASCII文字と対応する全角文字を半角に変換した結果、ASCII文字に挟まれることとなったスペースを含む)以外のスペースの除去であることを特徴とする辞書データである。
【0013】
また、本発明は、入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力装置であって、入力される文字列を変換処理する前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データを記憶する読み補完辞書手段と、前記読み補完辞書データに含まれる各単語が漢字等に変換された単語として記録された辞書であって、変換処理前と後の単語をノードとして対応付けて、前記読み補完辞書手段の木構造と合致した木構造に構成した綴り補完辞書データを記憶する綴り補完辞書手段と、入力エリアから文字列を取得して検索キーを生成する検索キー生成部と、前記検索キー生成部により生成された検索キーと、前記読み補完辞書手段に記憶されている読み補完辞書データと、前記綴り補完辞書手段に記憶されている綴り補完辞書データとに基づいて、変換候補を抽出する変換候補抽出部とを備え、前記綴り補完辞書のノードは標準化規則に従って作成され、標準化規則に従う文字列とオペレータに提示すべき文字列が異なる場合は、オペレータに提示すべき文字列が表示文字列としてノードと関連付けて記憶されており、前記変換候補抽出部は、抽出した変換候補のノードに関連付けられた表示文字列がある場合、ノードに替えて表示文字列を結果テーブルに記録することを特徴とする文字列入力装置である。
【0014】
また、本発明は、変換候補の確定処理を行う候補語確定処理部を備え、前記候補語確定処理部は、変換が確定した確定部文字列と、選択された候補語のノード表現と、を比較し、部分一致又は完全一致する場合、前記変換が確定した確定部文字列を前記入力エリアから削除し、前記入力エリアに前記選択された候補語を表示することを特徴とする文字列入力装置である。
【0015】
また、本発明は、入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力装置における文字列入力方法であって、読み補完辞書手段が、入力される文字列を変換処理する前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データを記憶するステップと、綴り補完辞書手段が、前記読み補完辞書データに含まれる各単語が漢字等に変換された単語として記録された辞書であって、変換処理前と後の単語をノードとして対応付けて、前記読み補完辞書手段の木構造と合致した木構造に構成した綴り補完辞書データを記憶するステップと、検索キー生成部が、入力エリアから文字列を取得して検索キーを生成するステップと、変換候補抽出部が、前記検索キー生成部により生成された検索キーと、前記読み補完辞書手段に記憶されている読み補完辞書データと、前記綴り補完辞書手段に記憶されている綴り補完辞書データとに基づいて、変換候補を抽出するステップとを含み、前記綴り補完辞書のノードは標準化規則に従って作成され、標準化規則に従う文字列とオペレータに提示すべき文字列が異なる場合は、オペレータに提示すべき文字列が表示文字列としてノードと関連付けて記憶されるステップと、前記変換候補抽出部が、抽出した変換候補のノードに関連付けられた表示文字列がある場合、ノードに替えて表示文字列を結果テーブルに記録するステップと、を含むことを特徴とする文字列入力方法である。
【0016】
また、本発明は、入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力装置のコンピュータに、入力される文字列を変換処理する前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データを記憶するステップと、前記読み補完辞書データに含まれる各単語が漢字等に変換された単語として記録された辞書であって、変換処理前と後の単語をノードとして対応付けて、前記木構造と合致した木構造に構成した綴り補完辞書データを記憶するステップと、入力エリアから文字列を取得して検索キーを生成するステップと、前記検索キーと、前記読み補完辞書データと、前記綴り補完辞書データとに基づいて、変換候補を抽出するステップとを含み、前記綴り補完辞書のノードは標準化規則に従って作成され、標準化規則に従う文字列とオペレータに提示すべき文字列が異なる場合は、オペレータに提示すべき文字列が表示文字列としてノードと関連付けて記憶されるステップと、抽出した変換候補のノードに関連付けられた表示文字列がある場合、ノードに替えて表示文字列を結果テーブルに記録するステップと、を実行させることを特徴とするプログラムである。
【発明の効果】
【0017】
本発明によれば、標準化された表記をノードとして綴り補完辞書を木構造に構成し、各ノードには必要に応じて正規表記を関連付けて記録し、候補語表示にあたっては標準化表記ではなく、正規表記を提示することしたので、ユーザの期待通りの正規表記を変換候補語として提示することができる。
【図面の簡単な説明】
【0018】
【図1】本実施形態による入力端末1の構成を示すブロック図である。
【図2】本実施形態による辞書データの構成例を示すブロック図である。
【図3】本実施形態による入力画面の一例を示す模式図である。
【図4】本実施形態による読み補完辞書データの構成例を示す概念図である。
【図5】本実施形態による綴り補完辞書データの構成例を示す概念図である。
【図6】本実施形態による制御部100によって実現される機能を示す機能ブロック図である。
【図7】本実施形態による、文字列入力処理の動作を説明するためのフローチャートである。
【図8】本実施形態による、検索キー生成処理の動作を説明するためのフローチャートである。
【図9】検索キー生成処理での各種例を示す概念図である。
【図10】本実施形態による、候補抽出処理の動作を説明するためのフローチャートである。
【図11】本実施形態による、先頭未確定処理の動作を説明するためのフローチャートである。
【図12】先頭未確定処理での各種例を示す概念図である。
【図13】実施形態による、先頭確定処理の動作を説明するためのフローチャートである。
【図14】先頭確定処理での各種例を示す概念図である。
【図15】実施形態による、余剰一致処理の動作を説明するためのフローチャートである。
【図16】余剰一致処理での各種例を示す概念図である。
【図17】実施形態による、出力処理の動作を説明するためのフローチャートである。
【図18】出力処理での各種例を示す概念図である。
【図19】実施形態による、出力例を説明するための模式図である。
【図20】本実施形態による、綴り補完辞書の各ノードと、関連付けられた表示文字列を説明する図である。
【図21】本実施形態による、標準化規則にしたがって検索キーを生成する手順を説明するためのフローチャートである。
【図22】本実施形態による、候補語出力処理の動作を説明するためのフローチャートである。
【図23】本実施形態による、結果テーブルに記録される変換候補語の文字列を示す図である。
【図24】本実施形態による、結果テーブルに記録される変換候補語の文字列を示す図である。
【図25】本実施形態による、結果テーブルの文字列から確定部「コイン」を削除した候補語を示す図である
【図26】本実施形態による、結果テーブルに記録される変換候補語の文字列を示す図である。
【図27】本実施形態による、結果テーブルの文字列から、標準化規則適用前の確定部「コイン(半角カタカナ)」を削除した候補語を示す図である。
【図28】本実施形態による、候補語確定処理を説明する図である。
【図29】本実施形態による、候補語確定処理部の動作手順を説明するフローチャートである。
【図30】本発明をサーバ−クライアントシステムに適用した場合の構成例を示すブロック図である。
【図31】文字列入力データ例を説明する図である。
【図32】綴り補完辞書1を説明する図である。
【図33】読み補完辞書1を説明する図である。
【図34】綴り補完辞書2を説明する図である。
【発明を実施するための形態】
【0019】
以下、本発明の実施形態について図面を参照して詳細に説明する。本実施形態にかかる入力端末1は、例えば、ワークステーションやパーソナルコンピュータなどの情報処理装置から構成されるものとする。以下、本実施形態にかかる入力端末1を、図1を参照して説明する。図1は、本実施形態による入力端末1の構成を示す概略ブロック図である。図示するように、入力端末1は、制御部100、入力制御部200、出力制御部300、記憶部400などから構成される。
【0020】
制御部100は、例えば、CPU(Central Processing Unit:中央演算処理装置)や、ワークエリアとなるメモリなどから構成され、記憶部400に格納されているプログラムを読み出して実行することで、入力端末1の各部を制御するとともに、後述する各処理を実行する。
【0021】
入力制御部200は、例えば、キーボード211や、ポインティングデバイス212などの入力装置210と入力端末1とを接続し、入力装置210の操作に応じた入力信号を制御部100に入力する。本実施形態では、キーボード211を用いて文字列の入力がなされ、ポインティングデバイス212を用いて入力エリアの選択などが行われるものとする。
【0022】
出力制御部300は、例えば、ディスプレイ装置311などの出力装置310と入力端末1とを接続し、制御部100の処理結果などを出力装置310に出力する。本実施形態では、予め用意されている入力画面がディスプレイ装置311に出力されることにより表示され、入力装置210を用いた入力操作が、当該表示された入力画面上で行われるものとする。
【0023】
記憶部400は、例えば、ハードディスク装置などの記憶装置から構成され、主に、本実施形態にかかる文字列入力処理に必要な情報を格納する。本実施形態では、記憶部400に、辞書格納領域410、プログラム格納領域440、検索された変換候補を記憶する結果テーブル450などの記憶領域が確保されるものとする。
【0024】
辞書格納領域410には、入力端末1を用いた文字列入力の際に用いられる辞書データが格納される。本実施形態では、入力端末1を用いた文字列入力において、自然言語としての日本語入力が行われるものとする。この場合、入力端末1は、いわゆるFEP(Front End Processor)の動作により、キーボード211からの入力に応じた入力変換を行う。よって、辞書格納領域410には、このような、日本語入力変換の際に参照される辞書データが格納される。この場合、入力端末1は、辞書格納領域410に格納されている辞書データを参照することで、変換候補(入力候補)の文字列を選択可能に表示出力する。
【0025】
本実施形態にかかる辞書データの例を、図2を参照して説明する。図2は、辞書格納領域410に格納される辞書データの構成を説明する図である。この図に示すように、辞書格納領域410には、基本辞書領域420と入力内容別辞書領域430とが確保される。基本辞書領域420は、入力端末1での日本語入力の際に参照される辞書データのうち、一般的な辞書データ(以下、「基本辞書データ」とする)を格納する領域である。この基本辞書データには、種々の単語と、その品詞や、読みなどを示す情報とが対応付けられている。すなわち、通常の入力用FEPなどで用いられる一般的な辞書データが、基本辞書データとして基本辞書領域420に格納されている。
【0026】
入力内容別辞書領域430は、入力端末1が用いられる業務内容などに基づいて、入力内容に応じて用意された辞書データを格納する領域である。例えば、入力端末1をコールセンタ業務に用いる場合、入力項目が予め規定されているので、特定の入力項目での入力に用いられる単語群から構成される辞書データが入力内容別辞書領域430に格納される。すなわち、入力内容別辞書領域430には、入力内容毎に用意された専用辞書データが格納される。
【0027】
一例として、図2に示すような、応対入力辞書データ(A1)431や、住所入力辞書データ(A2)432などが入力内容別辞書領域430に格納される。このような入力内容別辞書データは、入力画面の入力エリアと対応付けられている。ここで、図3は、入力画面の一例を表す図である。例えば、この図に示すような入力画面ISの場合、応対入力辞書データ431は、電話応対での応対内容を入力するための入力エリアA1と対応付けられる。住所入力辞書データ432は、住所情報を入力するための入力エリアA2と対応付けられる。すなわち、図3に示したような入力画面ISにおいては、辞書データが対応付けされた入力エリアについては、その入力エリアに入力される内容が規定される。
【0028】
このような入力内容別に用意された辞書データのそれぞれには、入力される読みに基づいて構成された「読み補完辞書データ」と、変換後の綴りに基づいて構成された「綴り補完辞書データ」と、が一対となって含まれている。すなわち、図2に示すように、応対入力辞書データ(A1)431には、読み補完辞書データ431Aと綴り補完辞書データ431Bとが対応付けられて含まれている。住所入力辞書データ432(A2)には、読み補完辞書データ432Aと綴り補完辞書データ432Bとが対応付けられて含まれている。
【0029】
入力内容別に用意された辞書データのそれぞれは、このような一対の異なる辞書データによって構成されており、応対入力辞書データ(A1)431と住所入力辞書データ(A2)432とのそれぞれが1組の辞書データである。よって、仮に、応対入力辞書データ(A1)431と住所入力辞書データ(A2)432のみが入力内容別辞書領域430に格納されているのであれば、入力内容別辞書領域430には、2組の辞書データが格納されていることになる。
【0030】
このような入力内容別辞書データの構成を、図4および図5を参照して説明する。ここでは、入力内容別辞書データの一例として、応対入力辞書データ431の構成について説明する。図4は、読み補完辞書データ431Aの構成例を示す概念図であり、図5は、綴り補完辞書データ431Bの構成例を示す概念図である。なお、本実施形態では、携帯電話のユーザサポート業務を行うコールセンタにおいて、ユーザに対する電話応答時に頻出する語彙を基に、応対入力辞書データ431が構成されている場合について説明する。
【0031】
図4を参照して、読み補完辞書データ431Aの構成例を説明する。
図示するように、読み補完辞書データ431Aは、辞書の要素である単語の「読み」を結節点(ノード)とした、樹状の階層構造(木構造)のバイナリデータによって構成されている。そして、主語となる係り側の単語(ノード)のそれぞれに、係り受けの関係の受け側となる文節を構成する助詞と述語を示す単語(ノード)とが連結された構成(ノード列)となっている。この構成により、文法的に互いに係り受け関係にある単語が、相関的な位置で連結されている状態を示すデータによって辞書が構築される。ここで、読み補完辞書データ431Aは、入力される単語の「読み」に基づく辞書であるので、各ノードには、読みを表すひらがなによって見出し語が示されている。
【0032】
このような読み補完辞書データ431Aと対をなす綴り補完辞書データ431Bの構成例を図5に示す。図示するように綴り補完辞書データ431Bは、読み補完辞書データ431Aと同一の階層構造(木構造)によって構成されており、読み補完辞書データ431Aの各ノードに示された読みに対応する綴りが、その読み補完辞書データ431Aのノードに対応する綴り補完辞書データ431Bのノードの位置に、綴り補完辞書データ431Bの各ノードの見出し語として構成される。
【0033】
つまり、綴り補完辞書データ431Bは、読み補完辞書データ431Aに含まれている係り側の単語と、それに連結される受け側の単語群を構成しているノードを、各ノードの綴りに基づいて構成された辞書データである。例えば、読み補完辞書データ431Aにおいて、読みが「けいたい」であるノードにリンクする綴り補完辞書データ431Bでのノードでは、「けいたい」の変換後表記である「携帯」が対応する。
【0034】
ここで、読み補完辞書データ431Aおよび綴り補完辞書データ431Bの各ノードに付されている丸記号(○の中にアルファベット)は、読み補完辞書データ431Aと綴り補完辞書データ431Bとのノード間のリンクを表すリンクポインタである。つまり、読み補完辞書データ431Aと綴り補完辞書データ431Bとの間において、同じ丸記号(同じアルファベット)のリンクポインタが設定されているノード同士は、相互に参照可能であることを示している。これにより、一対の読み補完辞書データ431Aと綴り補完辞書データ431Bとは、ノード単位でリンクされていることを表している。
【0035】
上述した図1に示すプログラム格納領域440には、制御部100が実行するプログラムが格納される。そして、制御部100が、プログラム格納領域440に格納されているプログラムを実行することで、本実施形態にかかる文字列入力処理を実行する際の機能が実現される。制御部100によって実現される機能を図6に示す。
【0036】
図6は、制御部100によって実現される機能を示す機能ブロック図である。図示するように、制御部100は、辞書選択部110、検索キー生成部120、変換候補抽出部130、変換候補出力部140等の機能を含む。
【0037】
辞書選択部110は、入力画面IS上の入力エリアのいずれに入力が行われているかを判別し、判別された結果に基づいて、その入力エリアに応じた辞書を辞書格納領域410から選択する。
【0038】
検索キー生成部120は、入力が行われている入力エリアから文字列を取得し、検索キーを生成して変換候補抽出部130へ引き渡す。
【0039】
変換候補抽出部130は、検索キー生成部120が生成した検索キーと辞書選択部110によって指定された辞書に基づいて、変換候補語を抽出し、記憶部400の結果テーブル450に記憶する。
【0040】
変換候補出力部140は、変換候補抽出部130で抽出された候補語から、後述するように、冗長な部分を削除する。そして、出力制御部300との協働により、整形後の文字列を選択可能にディスプレイ装置311に表示出力する。
【0041】
本実施形態では、制御部100がプログラムを実行することで、図6に示す各機能構成が論理的に実現されるが、これらの機能を、例えば、ASIC(Application Specific Integrated Circuit:特定用途向け集積回路)などの物理的な構成によって実現してもよい。
【0042】
次に、上述した構成を有する入力端末1の動作を説明する。ここでは、入力端末1を用いて文字列入力を行う場合に実行される「文字列入力処理」を、図7〜図13に示すフローチャートを参照して説明する。この処理は、例えば、図3に示すような入力画面ISを表示する操作が行われたことを契機に開始されるものとする。
【0043】
まず、図7において、処理が開始され、オペレータによって入力装置210から入力がなされると、入力制御部200から制御部100への入力信号に基づき、辞書選択部110は、表示した入力画面IS上の、どの入力エリアが指定されたかを判別する(S001)。すなわち、入力端末1のオペレータによるポインティングデバイス212等の操作によって、入力画面IS上に用意された入力エリアのうち、入力対象となる入力エリアが選択されたか否かを判別する。
【0044】
いずれかの入力エリアが指定されると(S001:Yes)、辞書選択部110は、指定された入力エリアが特定の入力エリアであるか否かを判別する(S002)。本実施形態では、辞書データが対応付けられた入力エリアであって、入力内容別辞書を用いた変換入力の対象となっている入力エリアを特定の入力エリアである。ここでは、応対内容を入力するための入力エリアA1と住所を入力するための入力エリアA2(図3参照)が該当する。
【0045】
指定された入力エリアが、特定の入力エリアではないと判定された場合(S002:No)、基本辞書領域420の基本辞書データを参照し、通常の入力変換動作によって文字列入力が行われる(S100)。
【0046】
一方、特定の入力エリアが指定されたと判定された場合(S002:Yes)、辞書選択部110は、指定された入力エリアの種別を検出する。ここでは、入力エリアA1が指定された場合には、その入力エリアに対応づけされている識別子「A1」が検出され、入力エリアA2が指定された場合には、その入力エリアに対応付けされている識別子「A2」が検出される。
【0047】
辞書選択部110は、識別子を検出すると、入力内容別辞書領域430にアクセスし、検出された識別子に対応する辞書データを選択する(S003)。図2に示すように、入力内容別辞書領域430に格納されている複数組の入力内容別辞書データには、対応する入力エリアを示す識別子(図2の例では「A1」と「A2」)が付与されている。よって、辞書選択部110は、検出された識別子に基づいて、対応する識別子が付与されている辞書データを選択する。以下、本実施形態では、入力エリアA1に文字列入力を行うものとして説明する。よって、ここでは、応対入力辞書データ(A1)431が選択される。
【0048】
使用する辞書データを選択すると、辞書選択部110は、選択した辞書データがいずれであるかを変換候補抽出部130に通知するとともに、指定された入力エリアを検索キー生成部120に通知する。
【0049】
辞書選択部110から入力エリアの通知を受けると、検索キー生成部120は、指定された入力エリアにある文字列を取得して検索キーを生成する(S200)。検索キーの生成には、種々の方法が考えられるが、本実施形態では、図8に示すフローチャートに従って検索キーを生成する。
【0050】
すなわち、検索キー生成部120は、まず、指定された入力エリア中の文字列を取得する(S201)。一般に、入力エリアには、変換終了した確定文字列と、変換すべく入力作業中の未確定文字列とが混在している。そして、未確定文字列には、FEPが機能する前の「ひらがな」状態と、FEPが機能して漢字などの変換候補が暫定的に表示された状態とがある。以降において、未確定文字列部分は、下線付加によって示すこととする。「確定文字列+未確定文字列」の例は、図9(a)に示すようになる。ここでは、「携帯電話」の文字列を入力する場合において、「携帯」の文字列の漢字が確定しており、「でんわ」の部分がFEPが機能する前の未確定文字列である。そして、「でんわ」の文字列が、暫定的に「電話」として変換される。
【0051】
次いで、検索キー生成部120は、得られた文字列のうち、最後の句点「。」以前の文字列を削除する(S202)。その例を図9(b)に示す。
次に、検索キーの未確定部の右側に確定文字列がある場合には、検索キーから削除(除外)する(S203)。その例を図9(c)に示す。
【0052】
一般に、文字列中に未確定部が複数存在することはない。したがって、入力エリアの文字列の状態は、次のような場合に限られる。
(1)確定部のみ
(2)確定部+未確定部
(3)確定部+未確定部+確定部
(4)未確定部のみ
(5)未確定部+確定部
【0053】
このうち、ステップS203の処理の結果、(3)の場合は(2)の場合に、(5)の場合は(4)の場合に帰着するので、検索キーは、(1)「確定部のみ」、(2)「確定部+未確定部」、(4)「未確定部のみ」の3通りの場合に限られることとなる。
【0054】
次に、検索キー生成部120は、検索キーを「確定部」と「未確定部」とに分離し(S204)、確定部のうち、最後に確定された部分(前回確定部)を抽出する(S205)。例えば、「どこのショップ」のうち「ショップ」が前回確定部である場合には、「ショップ」が抽出される。
最後に、検索キー生成部120は、「前回確定部」と「未確定部」とを結合する(S206)。この結果、上記例の場合、図9(d)に示す文字列が検索キーとして出力される。
【0055】
次に、図7に説明を戻すと、変換候補抽出部130は、検索キー生成部120から検索キーを受け取り、辞書選択部110が選択した辞書を用いて変換候補を抽出し、出力する(S300)。ここで、図10〜図18を参照して変換候補抽出部130の動作を説明する。
【0056】
図10において、変換候補抽出部130は、まず、検索キーの先頭が「ひらがなのみ」からなる「未確定部」であるか否かを判断する(S301)。そして、検索キーの先頭が「ひらがなのみ」で、かつ「未確定部」である場合には(S301:Yes)、「先頭未確定処理」(S500)に進み、「ひらがなのみ」からなる「未確定部」でない場合(S301:No)には、「先頭確定処理」(S600)に進む。
【0057】
次に、上記ステップS500の「先頭未確定処理」について図11を参照して説明する。変換候補抽出部130は、まず、「読み補完辞書」から係り側ノードを一つ取得する(S501)。これをノードxとする。なお、以降、アルファベット小文字を用いて「ノードx」と記載した場合には、読み補完辞書のノードを表し、アルファベット大文字を用いて「ノードX」と記載した場合には、ノードxと対応する、綴り補完辞書のノードを表すものとする。
【0058】
ノードxと検索キーとの間に何らかの「前方一致」がある場合、検索キーとノードxとの長短に応じて、包含関係を次のように定義する。
検索キー ⊂ ノードx 部分一致
検索キー = ノードx 完全一致
検索キー ⊃ ノードx 余剰一致
【0059】
また、読み補完辞書および綴り補完辞書は、各々、図4および図5に示すように構成されているものとする。ノードxが「けいたい」の場合を例に、検索キーとの部分一致、完全一致、余剰一致の例は、図12(a)に示す通りである。
なお、前方一致とは検索キーとノードxとの一致判断にあたり、常に先頭部分(文字列左端)の一致を条件とすることをいう。部分一致だが前方一致ではない例と、余剰一致だが前方一致ではない例とを、図12(b)に示す。
【0060】
検索キーとノードxに何らの一致(前方一致)もない場合(S502:No)、変換候補抽出部130は、読み補完辞書に比較すべきノードが残っていないか確認する(S506)。比較すべきノードが残っていれば(S506:No)、ステップS501へ戻る。 一方、比較すべきノードが残っていない場合(S506:Yes)は、当該先頭未確定処理を終了する。
【0061】
また、検索キーとノードxとがいずれかの形で前方一致すれば(S502:Yes)、変換候補抽出部130は、ノードxと対応する綴り補完辞書のノードX(大文字X)を取得する(S503)。
そして、部分一致の場合(S504:Yes)、変換候補抽出部130は、ノードXを結果テーブル450に追加する(S505)。その例を図12(c)に示す。
その後、比較すべき候補がまだ残っていれば(S506:No)、S501へ戻る。全てのノードxについて比較が終了していれば(S506:Yes)、当該先頭未確定処理を終了する。
【0062】
一方、完全一致の場合(S504:No、S507:Yes)、変換候補抽出部130は、受け側ノード列を含めて、ノードXを結果テーブル450に追加する(S508)。その例を図12(d)に示す。
その後、比較すべき候補がまだ残っていれば(S506:No)、S501へ戻る。全てのノードxについて比較が終了していれば(S506:Yes)、先頭未確定処理を終了する。
【0063】
また、部分一致でも完全一致でもない場合には、余剰一致となる(S507:No)。変換候補抽出部130は、ノードxの受け側ノード列yを取得する(S509)。次いで、変換候補抽出部130は、検索キーからノードxを削除した余りがノード列yに、前方一致を条件として含まれるか(部分一致ないし完全一致するか)判断する(S510)。そして、含まれれば(S510:Yes)、ノード列yと対応する綴り補完辞書のノード列Yを取得し(S511)、ノードX+ノードYを結果テーブル450に追加する(S512)。
【0064】
その後、比較すべき受け側ノード列候補がまだ残っていれば(S513:No)、S509へ戻る。一方、全てのノード列yについて比較が終了していれば(S513:Yes)、S506へ進む。余りが部分一致の例を図12(e)に示し、余りが完全一致の例を図12(f)に示す。
【0065】
一方、検索キーからノードxを削除した余りがノード列yに含まれなければ(S510:No)、直接、S513へ進む。この例を図12(g)に示す。
その後、比較すべき受け側ノード列候補がまだ残っていれば(S513:No)、S509へ戻る。全てのノード列yについて比較が終了していれば(S513:Yes)、S506へ進む。
【0066】
次に、上記ステップS600の「先頭確定処理」について図13を参照して説明する。 このフローで処理される検索キーには、「確定部のみ」の場合と「確定部+未確定部」の場合とがある。変換候補抽出部130は、綴り補完辞書から係り側ノードXを1つ取得する(S601)。係り側ノードXと検索キーとの間の包含関係の定義は、「先頭未確定処理」の場合と同様である。
検索キー ⊂ ノードX 部分一致
検索キー = ノードX 完全一致
検索キー ⊃ ノードX 余剰一致
【0067】
また、先頭確定処理においても、一致判断は「前方一致」を条件とする。図14(a)にその例を示す。
【0068】
検索キーとノードXとの間に何らの一致もない場合(S602:No)、変換候補抽出部130は、綴り補完辞書に、検索キーと比較すべきノードXが残っていないか確認する(S606)。そして、比較すべきノードXが残っていれば(S606:No)、S601へ戻る。
【0069】
一方、比較すべきノードが残っていない場合には(S606:Yes)、当該先頭確定処理を終了する。
一方、部分一致の場合には(S604:Yes)、変換候補抽出部130は、ノードXを結果テーブル450に追加する。その例を図14(b)に示す。すなわち、検索キー「携」に対して、「携帯」、「携帯電話」が結果テーブル450に追加される。
そして、比較すべきノードがまだ残っていれば(S606:No)、S601へ戻る。全てのノードXについて比較が終了していれば(S606:Yes)、当該先頭確定処理を終了する。
【0070】
一方、完全一致の場合(S604:No、S607:Yes)、変換候補抽出部130は、受け側ノード列を含めて、ノードXを結果テーブル450に追加する(S608)。その例を図14(c)に示す。
次いで、変換候補抽出部130は綴り補完辞書に比較すべきノードが残っていないか確認する(S606)。比較すべきノードが残っていれば(S606:No)、S601へ戻る。一方、比較すべきノードが残っていない場合には(S606:Yes)、当該先頭確定処理を終了する。
【0071】
また、部分一致でも完全一致でもない場合は余剰一致となる(S607:No)。
ここで、図15を参照して余剰一致処理について説明する。変換候補抽出部130は、まず、ノードXの受け側ノード列Y(Y1+Y2)を一組取得する(S701)。その例を図16(a)に示す。
次いで、変換候補抽出部130は、検索キーから係り側ノードXを削除した余りキーαが「ひらがなのみ」からなる「未確定部」であるか否か判断する(S702)。ここで、図16(b)にS702がYesの例を示し、図16(c)にS702がNoの例を示す。
【0072】
余りαが「ひらがなのみ」からなる「未確定部」である場合には(S702:Yes)、変換候補抽出部130は、読み補完辞書から、ノード列Yと対応するノード列yを検索して取得する(S703)。そして、変換候補抽出部130は、余りキーαがノード列yと部分一致ないし完全一致するか判定する(S704)。
【0073】
そして、余りキーαがノード列yと部分一致ないし完全一致する場合(S704:Yes)、変換候補抽出部130は、受け側ノード列を含めて、ノードX+Yを結果テーブル450に追加する(S705)。この例を図16(d)に示す。その後、S706へ進む。
【0074】
一方、余りキーαとノード列yとが部分一致も完全一致もしない場合(S704:No)、すなわち、図16(e)に示すような場合には、直接、S706へ進む。
その後、比較すべき受け側ノード列Yがまだ残っていれば(S706:No)、S701へ戻る。一方、全てのノード列Yについて比較が終了していれば(S706:Yes)、当該余剰一致処理を終了する。
【0075】
また、余りキーαの中に確定文字列があるか、未確定部のみであっても、ひらがなだけではない場合(S702:No)、変換候補抽出部130は、余りキーαがノード列Yのうち、前方のノードY1と部分一致または完全一致するか判定する(S707)。そして、余りキーαがノードY1と部分一致または完全一致する場合(S707:Yes)、変換候補抽出部130は、受け側ノード列を含めて、ノードX+ノードYを結果テーブル450に追加する(S708)。この例を図16(f)に示す。その後、S706へ進む。
【0076】
その後、比較すべき受け側ノード列Yがまだ残っていれば(S706:No)、S701へ戻る。一方、全てのノード列Yについて比較が終了していれば(S706:Yes)、当該余剰一致処理を終了する。
【0077】
一方、余りキーαがノードY1と部分一致も完全一致もしない場合(S707:No)、変換候補抽出部130は、余りキーαがノードY1を包含するか否か判定する(S709)。そして、余りキーαがノードY1を包含しない場合(S709:No)、すなわち、図16(g)に示すような場合には、S706へ進む。
【0078】
一方、余りキーαがノード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へ進む。
【0079】
一方、余りキーβがノードy2と部分一致も完全一致もしない場合(S712:No)、すなわち、図16(i)に示すような場合には、S706へ進む。
その後、比較すべき受け側ノード列Yがまだ残っていれば(S706:No)、S701へ戻る。一方、全てのノード列Yについて比較が終了していれば(S706:Yes)、当該余剰一致処理を終了する。
【0080】
一方、余りキーβが「ひらがなのみ」からなる「未確定部」でない場合(S710:No)、変換候補抽出部130は、余りキーβがY2と部分一致または完全一致するか判定する(S714)。そして、余りキーβとY2とが部分一致でも完全一致でもない場合(S714:No)、S706へ進む。図16(j)に部分一致でも完全一致でもない場合の例を示す。
【0081】
一方、余りキーβとY2が部分一致または完全一致の場合(S714:Yes)、変換候補抽出部130は、ノードX+ノードYを結果テーブル450に追加し(S715)、S706へ進む。ノードX+ノードYの結果テーブル450への追加例を図16(k)に示す。
【0082】
その後、比較すべき受け側ノード列Yがまだ残っていれば(S706:No)、S701へ戻る。一方、全てのノード列Yについて比較が終了していれば(S706:Yes)、当該余剰一致処理を終了する。
そして、当該余剰一致処理を終了した変換候補抽出部130は、図11のS606に戻り、全てのノードXについて比較が終了していれば(S606:Yes)、当該先頭確定処理を終了する。
【0083】
次に、図7に説明を戻すと、変換候補出力部140は、検索結果を候補表示するための整形を行う(S400)。この処理を、図17に示すフローチャートを参照して説明する。以下、説明を容易にするため、検索キーが「確定部のみ」、「確定部+未確定部」、「未確定部のみ」の場合に分けて説明する。
【0084】
<検索キーが確定部のみの場合>
変換候補出力部140は、まず、結果テーブル450の文字列から、検索キーの「確定部」を削除する(S401)。次に、削除した結果、検索キーの「未確定部」と一致することになった出力候補語があるか判定する(S402)。この例では、検索キーに「未確定部」を含まないので、S402は自動的にNoとなる。この結果、図18(a)に示すような出力が得られる(S404)。また、このように整形された候補語の画面表示例を図19(a)に示す。
【0085】
<検索キーが「確定部+未確定部」の場合>
変換候補出力部140は、まず、結果テーブル450の文字列から検索キーの「確定部」を削除する(S401)。さらに、確定部削除の結果、出力候補語の中に検索キーの未確定部と完全一致する出力候補語がある場合(S402:Yes)、当該一致する出力候補語を結果テーブル450から削除する(S403)。
【0086】
図18(b)に示す例1では、検索キーの未確定部「が」が、確定部削除後の候補語のノード列「が−壊れた」「が−高い」のうち「が」と一致する。しかし、完全一致ではないので(S402:No)、「が壊れた」「が高い」がそのまま候補語として出力され(S404)、入力エリアのカーソル近傍に表示される。このように整形された候補語の画面表示例を図19(b)に示す。そして、オペレータが例えば「が壊れた」を選択すると、未確定状態の「が(下線付)」を削除して「が壊れた」を確定状態で入力エリアに差し込む。
【0087】
また、図18(c)に示す例2では、検索キーの未確定部「ありか」が、確定部削除後の出力候補語「ありか」と一致するので、S403において「ありか」全体が削除され、S404で、候補語は出力されない。入力エリアにすでに表示された未確定文字列と候補語表示エリアに表示される文字列が一致した場合、オペレータは、候補語表示エリアから候補語を選択するよりも入力エリアの文字列を、例えばEnterキーなどで確定させる方が自然だからである。
【0088】
検索キーが「未確定部のみ」の場合、S401で削除される部分はなく、原則、検索結果がそのまま出力される(S404)。図18(d)に例1の場合、図18(e)に例2の場合を示す。また、このような場合の候補語の画面表示例を図19(d)、(e)に示す。
例外的に、綴り補完辞書に、ひらがなのみからなるノードがあり、当該ノードが候補語となった場合には、S402でYesとなり、一致した候補語が結果テーブルから削除される(S403)。この例を図18(f)に示す。
【0089】
以下では、特願2009−85258号公報の綴り補完辞書を改良し、改良した綴り補完辞書により、変換候補語がどのように抽出・表示されるかを説明する。
【0090】
与えられたデータから綴り補完辞書を構築するにあたり、綴り補完辞書のノードは標準化規則によって変換した後の文字列としつつ、変換前の文字列を「表示文字列」としてノードと関連づけて綴り補完辞書に記憶する。
【0091】
標準化規則は、例えば半角カタカナの全角化、ASCII文字(スペース文字含む)と対応する全角文字(全角英数字や?、!、+、−、*、=、などの記号)の半角化、ASCII文字に挟まれたスペース(ASCII文字と対応する全角文字を半角に変換した結果、ASCII文字に挟まれることとなったスペースを含む)以外のスペースの除去、などである。
【0092】
図31の例では「コイン(半角カタカナ)」、「コインパーキング(半角カタカナ)」、「コイン ラブ銀行(「コイン ラブ」は半角カタカナ)」が標準化規則によって「コイン」、「コインパーキング」、「コインラブ銀行」に変換されるので、変換後の表記にしたがって辞書ノードが構成されるとともに変換前の「コイン(半角カタカナ)」、「コインパーキング(半角カタカナ)」、「コイン ラブ銀行(「コイン ラブ」は半角カタカナ)」が表示文字列として各ノードと関連付けられる。
【0093】
またもともと標準化規則に則っている「コイン」と「コインパーキング」についても、辞書構築用のデータ中で実際に使用されているので、やはり表示文字列としてノードと関連付けて記憶する。一方、「コインラブ銀行」は正式表記が「コイン ラブ銀行(「コイン ラブ」は半角カタカナ)」であることから辞書構築用データには現れていない。したがって、ノード「コインラブ銀行」に関連付けられる表示文字列は「コイン ラブ銀行(「コイン ラブ」は半角カタカナ)」のみとする。
【0094】
図20は、本実施形態による、綴り補完辞書の各ノードと、関連付けられた表示文字列を説明する図である。綴り補完辞書の各ノードと、関連付けられた表示文字列を模式的に表すと図20のようになる。<>がノードを、<>内の[ ]がノードと関連付けられた表示文字列を表す。
【0095】
次に、このような辞書によって候補語がどのように抽出され、表示されるか説明する。
図21は、本実施形態による、標準化規則にしたがって検索キーを生成する手順を説明するためのフローチャートである。本実施の形態において検索キー生成部120は、標準化規則にしたがって検索キーを生成する(図21)。すなわち、前回確定部と未確定部を結合後(S206)、標準化規則にしたがって検索キー全体を変換する(S207)。そして、変換候補抽出部は、部分一致や完全一致や余剰一致条件に合致したノードないしノード列を結果テーブルに記録する際に、表示文字列が指定されたノードについては、ノードに格納された文字列ではなく、ノードと関連付けられた「表示文字列」を結果テーブルに記録する。
【0096】
図22は、本実施形態による、候補語出力処理の動作を説明するためのフローチャートである。最後に、変換候補出力部140は、結果テーブル450の文字列から検索キーの「確定部」を削除するにあたり、標準化規則にしたがって変換されている場合は、標準化規則適用前の文字列を、結果テーブル450の文字列から削除する(図22、S401−2)。
【0097】
まず、入力エリアから文字列「こいん」(全角ひらがな、未確定)が取得された場合を説明する。検索キー生成部120は未確定部のみからなる文字列「こいん」を出力する。
この検索キーは読み補完辞書の「こいん」と完全一致する(図11、S507:Yes)。したがって、変換候補抽出部130は係り側ノードの表示文字列「コイン/コイン(半角カタカナ)」と受け側ノード列「を落とした、を買った、を拾った」の組み合わせ6つを結果テーブル450に記録する(S508)。
【0098】
また読み補完辞書の<こいんぱーきんぐ>と部分一致するので(S504:Yes)、綴り補完辞書の対応ノード<コインパーキング>と関連付けられた表示文字列「コインパーキング」と「コインパーキング(半角カタカナ)」を結果テーブル450に追加する。
【0099】
さらに、読み補完辞書の<こいんらぶぎんこう>とも部分一致するので(S504:Yes)、綴り補完辞書の対応するノード<コインラブ銀行>と関連付けられた表示文字列[コイン ラブ銀行(「コイン ラブ」は半角カタカナ)]を結果テーブル450に追加する。したがって、結果テーブル450には変換候補語として図23に示す文字列が記録される。図23は、本実施形態による、結果テーブル450に記録される変換候補語の文字列を示す図である。
【0100】
検索キーが「こいん」の場合、検索キーは確定部を含まないので、変換候補出力部140は上記候補語をそのまま出力する(図22)。
【0101】
上記の例では、端末オペレータが「こいん(下線付)」と入力した段階で変換候補語の一つとして「コイン ラブ銀行(「コイン ラブ」は半角カタカナ)」が得られる。このように、オペレータは「コイン ラブ銀行(「コイン ラブ」は半角カタカナ)」という正式表記を知らなくとも、自動的に正しい入力を達成できる。
【0102】
次に、入力エリアから文字列「コイン」(全角カタカナ、確定)が取得された場合を説明する。検索キー生成部120は確定部のみからなる文字列「コイン」を出力する。
この検索キーは綴り補完辞書の<コイン>と完全一致する(図13、S607:Yes)。したがって、変換候補抽出部130は係り側ノードの表示文字列[コイン, コイン(半角カタカナ)]と受け側ノード列「を落とした、を買った、を拾った」の組み合わせ6つを結果テーブル450に記録する(S608)。
【0103】
また、綴り補完辞書の<コインパーキング>と部分一致するので(S604:Yes)、<コインパーキング>と関連付けられた表示文字列[コインパーキング, コインパーキング(半角カタカナ)]を結果テーブル450に追加する。
【0104】
さらに、綴り補完辞書の<コインラブ銀行>とも部分一致するので(S604:Yes)、<コインラブ銀行>と関連付けられた表示文字列[コイン ラブ銀行(「コイン ラブ」は半角カタカナ)]を結果テーブル450に追加する。したがって、結果テーブル450には変換候補語として図24に示す文字列が記録される。図24は、本実施形態による、結果テーブル450に記録される変換候補語の文字列を示す図である。
【0105】
変換候補出力部140は、図24に示す結果テーブル450の文字列から確定部「コイン」を削除して(図22、S401−2)、図25に示す候補語を出力する。図25は、本実施形態による、結果テーブル450の文字列から確定部「コイン」を削除した候補語を示す図である。なお、入力エリアから取得された文字列が「コイン」なので、標準化規則適用前後の確定部は一致している。
【0106】
上記例によれば、「コイン ラブ銀行(「コイン ラブ」は半角カタカナ)」という正式表記を知らない端末オペレータが途中まで銀行名を誤って全角で「コイン」と入力した場合でも、「コイン ラブ銀行(「コイン ラブ」は半角カタカナ)」を候補語として得ることができる。
【0107】
続いて、入力エリアから「コイン(半角カタカナ)」(半角カタカナ、確定)が取得された場合、標準化規則が適用されて「コイン」という検索キーが生成される。「コイン」は綴り補完辞書の<コイン>と完全一致する(図13、S607:Yes)。したがって、変換候補抽出部130は係り側ノードの表示文字列[コイン, コイン(半角カタカナ)]と受け側ノード列「を落とした、を買った、を拾った」の組み合わせ6つを結果テーブル450に記録する。
【0108】
また、綴り補完辞書の<コインパーキング>と部分一致するので(S604:Yes)、<コインパーキング>と関連付けられた表示文字列「コインパーキング」と「コインパーキング(半角カタカナ)」を結果テーブル450に追加する。
【0109】
さらに、綴り補完辞書の<コインラブ銀行>とも部分一致するので(S604:Yes)、<コインラブ銀行>と関連付けられた表示文字列[コイン ラブ銀行(「コイン ラブ」は半角カタカナ)]を結果テーブル450に追加する。したがって、結果テーブル450には変換候補語として図26に示す文字列が記録される。図26は、本実施形態による、結果テーブル450に記録される変換候補語の文字列を示す図である。
【0110】
変換候補出力部140は、図26に示す結果テーブル450の文字列から、標準化規則適用前の確定部「コイン(半角カタカナ)」を削除して(図22、S401−2)、図27に示す候補語を出力する。図27は、本実施形態による、結果テーブル450の文字列から、標準化規則適用前の確定部「コイン(半角カタカナ)」を削除した候補語を示す図である。
【0111】
標準化規則にしたがった文字列のみで綴り補完辞書を構成した場合には半角カタカナ確定部が入力エリアから得られても候補語を提示することができなかったが、上記例の通り、本実施形態によれば半角カタカナの確定文字列からも候補語を抽出し、提示することができる。
【0112】
図28は、本実施形態による、候補語確定処理を説明する図である。なお、入力エリアから全角確定のカタカナ「コイン」が得られ、候補語から「コイン ラブ銀行(「コイン ラブ」は半角カタカナ)」を選択した場合(図28(a))、入力エリアには「コインコイン ラブ銀行(「コイン」は全角カタカナ。続く「コイン ラブ」は半角カタカナ)」と表示されることになる(図28(b))。これを避けるため、制御部にさらに候補語確定処理部(図29)を設けてもよい。図29は、本実施形態による、候補語確定処理部の動作手順を説明するフローチャートである。
【0113】
候補語確定処理部は、変換後の前回確定部を取得する(図29、S801)。上記例の場合、前回確定部は変換前後のどちらも「コイン(全角カタカナ)」である。
【0114】
次いで、候補語確定処理部は選択された候補語「コイン ラブ銀行(「コイン ラブ」は半角カタカナ)」のノード表現「コインラブ銀行」を取得する(S802)。そして、変換前の前回確定部「コイン」と候補語のノード表現「コインラブ銀行」が部分一致ないし完全一致するか判断する(S803)。「コイン」は「コインラブ銀行」と部分一致するので(S803:Yes)、候補語確定処理部は変換前の前回確定部「コイン」を入力エリアから削除した上で、入力エリアに選択された表示文字列「コイン ラブ銀行(「コイン ラブ」は半角カタカナ)」を表示する。
【0115】
このような候補語確定処理によれば、図28(c)のように、入力エリアから不要な既入力確定文字列「コイン」が削除された上で、正式名称の「コイン ラブ銀行(「コイン ラブ」は半角カタカナ)」が入力されるので、オペレータの作業をさらに効率化することができる。
なお、図22のS401−2において確定部がすでに削除されている場合、候補語からはすでに「前回確定部」が削除されているので、S803は常にNoとなる。
【0116】
上記実施形態にかかる入力端末1は、スタンドアローンで構成可能であるだけでなく、いわゆるサーバ−クライアントシステムとしても構成可能である。すなわち、例えば、図30に示すように、制御部501、通信部502を備えるクライアント500に入力装置210と出力装置310の機能を持たせ、該クライアント500と、制御部601、通信部602、記憶部603を備え、検索機能を持たせたサーバ600とから構成としても良い。サーバ600は、検索機能として、辞書選択部601−1、検索キー生成部601−2、変換候補抽出部601−3、変換候補出力部601−4を備える。
【0117】
このように、本発明の実施形態により、標準化された表記をノードとして綴り補完辞書を木構造に構成し、各ノードには必要に応じて正規表記を関連付けて記録し、候補語表示にあたっては標準化表記ではなく、正規表記を提示することしたので、ユーザの期待通りの正規表記を変換候補語として提示することができる。
【0118】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0119】
上記実施の形態にかかる入力端末1は、専用装置から構成可能であるだけでなく、汎用のコンピュータ装置などを用いて構成することもできる。すなわち、例えば、パーソナルコンピュータなどの汎用装置と、当該汎用装置を上記実施の形態で示したように機能させるプログラムによって、当該汎用装置を上述した入力端末1として機能させることができる。
このようなプログラムの提供方法は任意であり、例えば、CD−ROMなどの記憶媒体に格納して配布可能であることはもとより、プログラムデータを搬送波に重畳することで、所定の通信媒体(例えば、インターネットなど)を介して配布することもできる。
【産業上の利用可能性】
【0120】
本発明は、文字列入力装置、文字列入力方法、および、プログラムに関し、特に、コールセンタなどにおける入力作業に好適である。
【符号の説明】
【0121】
1…入力端末 100…制御部 200…入力制御装置 210…入力装置 211…キーボード 212…ポインティングデバイス 300…出力制御装置 310…出力装置
311…ディスプレイ装置 400…記憶部 410…辞書格納領域 420…基本辞書領域 430…入力内容別辞書領域 431…応対入力辞書データ(A1) 431A…読み補完辞書データ 431B…綴り補完辞書データ 432…住所入力辞書データ(A2) 432A…読み補完辞書データ 432B…綴り補完辞書データ 440…プログラム格納領域 450…結果テーブル
【技術分野】
【0001】
本発明は、文字列入力装置、文字列入力方法、および、プログラムに関し、特に、コールセンタなどにおける入力作業に好適な文字列入力装置、文字列入力方法、およびプログラムに関する。
【背景技術】
【0002】
出願人は、特許文献1において、入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力装置であって、入力される文字列を変換処理する前の読みが単語として記録され、互いに係り受け関係にある単語を木構造に構成した読み補完辞書と、読み補完辞書に含まれる各単語が漢字等に変換された単語として記録され、変換処理前と後の単語を対応付けて、読み補完辞書の木構造と合致した木構造に構成した綴り補完辞書とを備えることにより、確定済文字列と未確定文字列が混在して与えられても効率的に変換候補語を抽出できる文字列入出力装置を開示した。
【0003】
さて、このように構成される装置において、図31に示すデータから辞書を作成することを考える。図31は、文字列入力データ例を説明する図である。ここで、「コイン ラブ銀行(「コイン ラブ」は半角カタカナ)」は、「コイン(半角カタカナ)」と「ラブ(半角カタカナ)」の間に半角スペースを挿入した表記が銀行名として正式な表記であるものとする。
【0004】
全角カタカナと半角カタカナを区別して上記表記を木構造化すると、図32のような綴り補完辞書1が得られる。図32は、綴り補完辞書1を説明する図である。
【0005】
一方、図31の読みだけを忠実に木構造化すると、図33に示す読み補完辞書1が得られる。図33は、読み補完辞書1を説明する図である。
【0006】
このままでは、読み辞書の<こいん>系統と、綴り辞書の<コイン/コイン(半角カタカナ)>系統が一致しない。また、<こいんぱーきんぐ>系統と<コインパーキング/コインパーキング(半角カタカナ)>系統も一致しない。さらに、綴り辞書の<コイン>系統と<コイン(半角カタカナ)>系統は従属ノード群が重複しており、記憶スペースに無駄が生じている。
【0007】
そこで、たとえば「カタカナは全角化して辞書に登録する」、「表記中のスペースは削除する」などの標準化規則を設けて辞書を作成する方法が知られている(例えば、特許文献2参照)。図34は、綴り補完辞書2を説明する図である。標準化規則を設けて辞書を作成すると、綴り補完辞書の木構造は図34のようになり(綴り補完辞書2)、読み補完辞書と綴り補完辞書の構造を一致させることができ、かつ、辞書記憶スペースも節約される。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2007−334534号公報
【特許文献2】特開2002−73656号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、綴り補完辞書を上記標準化表現で構成すると、変換候補語として半角カタカナが抽出・提示されることはない。また、半角カタカナを入力エリアで確定させても綴り補完辞書との一致はないため、候補語は一切表示されない。したがって、会社名や商品名の正式名称が半角カタカナ表記で与えられる場合、上記のような標準化処理はユーザの意図しない動作となる。
【0010】
本発明は、このような事情を考慮してなされたものであり、その目的は、木検索の長所を生かしつつ、ユーザの期待する半角文字を含んだ正規表現を変換候補語として提示できる文字列入力装置、文字列入力方法、および、プログラムを提供することにある。
【課題を解決するための手段】
【0011】
本発明は、上記の課題を解決するためになされたものであり、入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力装置に使用する辞書データであって、入力される文字列を変換処理する前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データと、前記読み補完辞書データに含まれる各単語が漢字等に変換された単語として記録された辞書であって、変換処理前と後の単語をノードとして対応付けて、前記読み補完辞書手段の木構造と合致した木構造に構成した綴り補完辞書データとからなり、前記綴り補完辞書のノードは標準化規則に従って作成され、標準化規則に従う文字列とオペレータに提示すべき文字列が異なる場合は、オペレータに提示すべき文字列を表示文字列としてノードと関連付けて記憶したことを特徴とする辞書データである。
【0012】
また、本発明は、前記標準化規則は、半角カタカナの全角化、ASCII文字(スペース文字含む)と対応する全角文字の半角化、ASCII文字に挟まれたスペース(ASCII文字と対応する全角文字を半角に変換した結果、ASCII文字に挟まれることとなったスペースを含む)以外のスペースの除去であることを特徴とする辞書データである。
【0013】
また、本発明は、入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力装置であって、入力される文字列を変換処理する前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データを記憶する読み補完辞書手段と、前記読み補完辞書データに含まれる各単語が漢字等に変換された単語として記録された辞書であって、変換処理前と後の単語をノードとして対応付けて、前記読み補完辞書手段の木構造と合致した木構造に構成した綴り補完辞書データを記憶する綴り補完辞書手段と、入力エリアから文字列を取得して検索キーを生成する検索キー生成部と、前記検索キー生成部により生成された検索キーと、前記読み補完辞書手段に記憶されている読み補完辞書データと、前記綴り補完辞書手段に記憶されている綴り補完辞書データとに基づいて、変換候補を抽出する変換候補抽出部とを備え、前記綴り補完辞書のノードは標準化規則に従って作成され、標準化規則に従う文字列とオペレータに提示すべき文字列が異なる場合は、オペレータに提示すべき文字列が表示文字列としてノードと関連付けて記憶されており、前記変換候補抽出部は、抽出した変換候補のノードに関連付けられた表示文字列がある場合、ノードに替えて表示文字列を結果テーブルに記録することを特徴とする文字列入力装置である。
【0014】
また、本発明は、変換候補の確定処理を行う候補語確定処理部を備え、前記候補語確定処理部は、変換が確定した確定部文字列と、選択された候補語のノード表現と、を比較し、部分一致又は完全一致する場合、前記変換が確定した確定部文字列を前記入力エリアから削除し、前記入力エリアに前記選択された候補語を表示することを特徴とする文字列入力装置である。
【0015】
また、本発明は、入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力装置における文字列入力方法であって、読み補完辞書手段が、入力される文字列を変換処理する前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データを記憶するステップと、綴り補完辞書手段が、前記読み補完辞書データに含まれる各単語が漢字等に変換された単語として記録された辞書であって、変換処理前と後の単語をノードとして対応付けて、前記読み補完辞書手段の木構造と合致した木構造に構成した綴り補完辞書データを記憶するステップと、検索キー生成部が、入力エリアから文字列を取得して検索キーを生成するステップと、変換候補抽出部が、前記検索キー生成部により生成された検索キーと、前記読み補完辞書手段に記憶されている読み補完辞書データと、前記綴り補完辞書手段に記憶されている綴り補完辞書データとに基づいて、変換候補を抽出するステップとを含み、前記綴り補完辞書のノードは標準化規則に従って作成され、標準化規則に従う文字列とオペレータに提示すべき文字列が異なる場合は、オペレータに提示すべき文字列が表示文字列としてノードと関連付けて記憶されるステップと、前記変換候補抽出部が、抽出した変換候補のノードに関連付けられた表示文字列がある場合、ノードに替えて表示文字列を結果テーブルに記録するステップと、を含むことを特徴とする文字列入力方法である。
【0016】
また、本発明は、入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力装置のコンピュータに、入力される文字列を変換処理する前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データを記憶するステップと、前記読み補完辞書データに含まれる各単語が漢字等に変換された単語として記録された辞書であって、変換処理前と後の単語をノードとして対応付けて、前記木構造と合致した木構造に構成した綴り補完辞書データを記憶するステップと、入力エリアから文字列を取得して検索キーを生成するステップと、前記検索キーと、前記読み補完辞書データと、前記綴り補完辞書データとに基づいて、変換候補を抽出するステップとを含み、前記綴り補完辞書のノードは標準化規則に従って作成され、標準化規則に従う文字列とオペレータに提示すべき文字列が異なる場合は、オペレータに提示すべき文字列が表示文字列としてノードと関連付けて記憶されるステップと、抽出した変換候補のノードに関連付けられた表示文字列がある場合、ノードに替えて表示文字列を結果テーブルに記録するステップと、を実行させることを特徴とするプログラムである。
【発明の効果】
【0017】
本発明によれば、標準化された表記をノードとして綴り補完辞書を木構造に構成し、各ノードには必要に応じて正規表記を関連付けて記録し、候補語表示にあたっては標準化表記ではなく、正規表記を提示することしたので、ユーザの期待通りの正規表記を変換候補語として提示することができる。
【図面の簡単な説明】
【0018】
【図1】本実施形態による入力端末1の構成を示すブロック図である。
【図2】本実施形態による辞書データの構成例を示すブロック図である。
【図3】本実施形態による入力画面の一例を示す模式図である。
【図4】本実施形態による読み補完辞書データの構成例を示す概念図である。
【図5】本実施形態による綴り補完辞書データの構成例を示す概念図である。
【図6】本実施形態による制御部100によって実現される機能を示す機能ブロック図である。
【図7】本実施形態による、文字列入力処理の動作を説明するためのフローチャートである。
【図8】本実施形態による、検索キー生成処理の動作を説明するためのフローチャートである。
【図9】検索キー生成処理での各種例を示す概念図である。
【図10】本実施形態による、候補抽出処理の動作を説明するためのフローチャートである。
【図11】本実施形態による、先頭未確定処理の動作を説明するためのフローチャートである。
【図12】先頭未確定処理での各種例を示す概念図である。
【図13】実施形態による、先頭確定処理の動作を説明するためのフローチャートである。
【図14】先頭確定処理での各種例を示す概念図である。
【図15】実施形態による、余剰一致処理の動作を説明するためのフローチャートである。
【図16】余剰一致処理での各種例を示す概念図である。
【図17】実施形態による、出力処理の動作を説明するためのフローチャートである。
【図18】出力処理での各種例を示す概念図である。
【図19】実施形態による、出力例を説明するための模式図である。
【図20】本実施形態による、綴り補完辞書の各ノードと、関連付けられた表示文字列を説明する図である。
【図21】本実施形態による、標準化規則にしたがって検索キーを生成する手順を説明するためのフローチャートである。
【図22】本実施形態による、候補語出力処理の動作を説明するためのフローチャートである。
【図23】本実施形態による、結果テーブルに記録される変換候補語の文字列を示す図である。
【図24】本実施形態による、結果テーブルに記録される変換候補語の文字列を示す図である。
【図25】本実施形態による、結果テーブルの文字列から確定部「コイン」を削除した候補語を示す図である
【図26】本実施形態による、結果テーブルに記録される変換候補語の文字列を示す図である。
【図27】本実施形態による、結果テーブルの文字列から、標準化規則適用前の確定部「コイン(半角カタカナ)」を削除した候補語を示す図である。
【図28】本実施形態による、候補語確定処理を説明する図である。
【図29】本実施形態による、候補語確定処理部の動作手順を説明するフローチャートである。
【図30】本発明をサーバ−クライアントシステムに適用した場合の構成例を示すブロック図である。
【図31】文字列入力データ例を説明する図である。
【図32】綴り補完辞書1を説明する図である。
【図33】読み補完辞書1を説明する図である。
【図34】綴り補完辞書2を説明する図である。
【発明を実施するための形態】
【0019】
以下、本発明の実施形態について図面を参照して詳細に説明する。本実施形態にかかる入力端末1は、例えば、ワークステーションやパーソナルコンピュータなどの情報処理装置から構成されるものとする。以下、本実施形態にかかる入力端末1を、図1を参照して説明する。図1は、本実施形態による入力端末1の構成を示す概略ブロック図である。図示するように、入力端末1は、制御部100、入力制御部200、出力制御部300、記憶部400などから構成される。
【0020】
制御部100は、例えば、CPU(Central Processing Unit:中央演算処理装置)や、ワークエリアとなるメモリなどから構成され、記憶部400に格納されているプログラムを読み出して実行することで、入力端末1の各部を制御するとともに、後述する各処理を実行する。
【0021】
入力制御部200は、例えば、キーボード211や、ポインティングデバイス212などの入力装置210と入力端末1とを接続し、入力装置210の操作に応じた入力信号を制御部100に入力する。本実施形態では、キーボード211を用いて文字列の入力がなされ、ポインティングデバイス212を用いて入力エリアの選択などが行われるものとする。
【0022】
出力制御部300は、例えば、ディスプレイ装置311などの出力装置310と入力端末1とを接続し、制御部100の処理結果などを出力装置310に出力する。本実施形態では、予め用意されている入力画面がディスプレイ装置311に出力されることにより表示され、入力装置210を用いた入力操作が、当該表示された入力画面上で行われるものとする。
【0023】
記憶部400は、例えば、ハードディスク装置などの記憶装置から構成され、主に、本実施形態にかかる文字列入力処理に必要な情報を格納する。本実施形態では、記憶部400に、辞書格納領域410、プログラム格納領域440、検索された変換候補を記憶する結果テーブル450などの記憶領域が確保されるものとする。
【0024】
辞書格納領域410には、入力端末1を用いた文字列入力の際に用いられる辞書データが格納される。本実施形態では、入力端末1を用いた文字列入力において、自然言語としての日本語入力が行われるものとする。この場合、入力端末1は、いわゆるFEP(Front End Processor)の動作により、キーボード211からの入力に応じた入力変換を行う。よって、辞書格納領域410には、このような、日本語入力変換の際に参照される辞書データが格納される。この場合、入力端末1は、辞書格納領域410に格納されている辞書データを参照することで、変換候補(入力候補)の文字列を選択可能に表示出力する。
【0025】
本実施形態にかかる辞書データの例を、図2を参照して説明する。図2は、辞書格納領域410に格納される辞書データの構成を説明する図である。この図に示すように、辞書格納領域410には、基本辞書領域420と入力内容別辞書領域430とが確保される。基本辞書領域420は、入力端末1での日本語入力の際に参照される辞書データのうち、一般的な辞書データ(以下、「基本辞書データ」とする)を格納する領域である。この基本辞書データには、種々の単語と、その品詞や、読みなどを示す情報とが対応付けられている。すなわち、通常の入力用FEPなどで用いられる一般的な辞書データが、基本辞書データとして基本辞書領域420に格納されている。
【0026】
入力内容別辞書領域430は、入力端末1が用いられる業務内容などに基づいて、入力内容に応じて用意された辞書データを格納する領域である。例えば、入力端末1をコールセンタ業務に用いる場合、入力項目が予め規定されているので、特定の入力項目での入力に用いられる単語群から構成される辞書データが入力内容別辞書領域430に格納される。すなわち、入力内容別辞書領域430には、入力内容毎に用意された専用辞書データが格納される。
【0027】
一例として、図2に示すような、応対入力辞書データ(A1)431や、住所入力辞書データ(A2)432などが入力内容別辞書領域430に格納される。このような入力内容別辞書データは、入力画面の入力エリアと対応付けられている。ここで、図3は、入力画面の一例を表す図である。例えば、この図に示すような入力画面ISの場合、応対入力辞書データ431は、電話応対での応対内容を入力するための入力エリアA1と対応付けられる。住所入力辞書データ432は、住所情報を入力するための入力エリアA2と対応付けられる。すなわち、図3に示したような入力画面ISにおいては、辞書データが対応付けされた入力エリアについては、その入力エリアに入力される内容が規定される。
【0028】
このような入力内容別に用意された辞書データのそれぞれには、入力される読みに基づいて構成された「読み補完辞書データ」と、変換後の綴りに基づいて構成された「綴り補完辞書データ」と、が一対となって含まれている。すなわち、図2に示すように、応対入力辞書データ(A1)431には、読み補完辞書データ431Aと綴り補完辞書データ431Bとが対応付けられて含まれている。住所入力辞書データ432(A2)には、読み補完辞書データ432Aと綴り補完辞書データ432Bとが対応付けられて含まれている。
【0029】
入力内容別に用意された辞書データのそれぞれは、このような一対の異なる辞書データによって構成されており、応対入力辞書データ(A1)431と住所入力辞書データ(A2)432とのそれぞれが1組の辞書データである。よって、仮に、応対入力辞書データ(A1)431と住所入力辞書データ(A2)432のみが入力内容別辞書領域430に格納されているのであれば、入力内容別辞書領域430には、2組の辞書データが格納されていることになる。
【0030】
このような入力内容別辞書データの構成を、図4および図5を参照して説明する。ここでは、入力内容別辞書データの一例として、応対入力辞書データ431の構成について説明する。図4は、読み補完辞書データ431Aの構成例を示す概念図であり、図5は、綴り補完辞書データ431Bの構成例を示す概念図である。なお、本実施形態では、携帯電話のユーザサポート業務を行うコールセンタにおいて、ユーザに対する電話応答時に頻出する語彙を基に、応対入力辞書データ431が構成されている場合について説明する。
【0031】
図4を参照して、読み補完辞書データ431Aの構成例を説明する。
図示するように、読み補完辞書データ431Aは、辞書の要素である単語の「読み」を結節点(ノード)とした、樹状の階層構造(木構造)のバイナリデータによって構成されている。そして、主語となる係り側の単語(ノード)のそれぞれに、係り受けの関係の受け側となる文節を構成する助詞と述語を示す単語(ノード)とが連結された構成(ノード列)となっている。この構成により、文法的に互いに係り受け関係にある単語が、相関的な位置で連結されている状態を示すデータによって辞書が構築される。ここで、読み補完辞書データ431Aは、入力される単語の「読み」に基づく辞書であるので、各ノードには、読みを表すひらがなによって見出し語が示されている。
【0032】
このような読み補完辞書データ431Aと対をなす綴り補完辞書データ431Bの構成例を図5に示す。図示するように綴り補完辞書データ431Bは、読み補完辞書データ431Aと同一の階層構造(木構造)によって構成されており、読み補完辞書データ431Aの各ノードに示された読みに対応する綴りが、その読み補完辞書データ431Aのノードに対応する綴り補完辞書データ431Bのノードの位置に、綴り補完辞書データ431Bの各ノードの見出し語として構成される。
【0033】
つまり、綴り補完辞書データ431Bは、読み補完辞書データ431Aに含まれている係り側の単語と、それに連結される受け側の単語群を構成しているノードを、各ノードの綴りに基づいて構成された辞書データである。例えば、読み補完辞書データ431Aにおいて、読みが「けいたい」であるノードにリンクする綴り補完辞書データ431Bでのノードでは、「けいたい」の変換後表記である「携帯」が対応する。
【0034】
ここで、読み補完辞書データ431Aおよび綴り補完辞書データ431Bの各ノードに付されている丸記号(○の中にアルファベット)は、読み補完辞書データ431Aと綴り補完辞書データ431Bとのノード間のリンクを表すリンクポインタである。つまり、読み補完辞書データ431Aと綴り補完辞書データ431Bとの間において、同じ丸記号(同じアルファベット)のリンクポインタが設定されているノード同士は、相互に参照可能であることを示している。これにより、一対の読み補完辞書データ431Aと綴り補完辞書データ431Bとは、ノード単位でリンクされていることを表している。
【0035】
上述した図1に示すプログラム格納領域440には、制御部100が実行するプログラムが格納される。そして、制御部100が、プログラム格納領域440に格納されているプログラムを実行することで、本実施形態にかかる文字列入力処理を実行する際の機能が実現される。制御部100によって実現される機能を図6に示す。
【0036】
図6は、制御部100によって実現される機能を示す機能ブロック図である。図示するように、制御部100は、辞書選択部110、検索キー生成部120、変換候補抽出部130、変換候補出力部140等の機能を含む。
【0037】
辞書選択部110は、入力画面IS上の入力エリアのいずれに入力が行われているかを判別し、判別された結果に基づいて、その入力エリアに応じた辞書を辞書格納領域410から選択する。
【0038】
検索キー生成部120は、入力が行われている入力エリアから文字列を取得し、検索キーを生成して変換候補抽出部130へ引き渡す。
【0039】
変換候補抽出部130は、検索キー生成部120が生成した検索キーと辞書選択部110によって指定された辞書に基づいて、変換候補語を抽出し、記憶部400の結果テーブル450に記憶する。
【0040】
変換候補出力部140は、変換候補抽出部130で抽出された候補語から、後述するように、冗長な部分を削除する。そして、出力制御部300との協働により、整形後の文字列を選択可能にディスプレイ装置311に表示出力する。
【0041】
本実施形態では、制御部100がプログラムを実行することで、図6に示す各機能構成が論理的に実現されるが、これらの機能を、例えば、ASIC(Application Specific Integrated Circuit:特定用途向け集積回路)などの物理的な構成によって実現してもよい。
【0042】
次に、上述した構成を有する入力端末1の動作を説明する。ここでは、入力端末1を用いて文字列入力を行う場合に実行される「文字列入力処理」を、図7〜図13に示すフローチャートを参照して説明する。この処理は、例えば、図3に示すような入力画面ISを表示する操作が行われたことを契機に開始されるものとする。
【0043】
まず、図7において、処理が開始され、オペレータによって入力装置210から入力がなされると、入力制御部200から制御部100への入力信号に基づき、辞書選択部110は、表示した入力画面IS上の、どの入力エリアが指定されたかを判別する(S001)。すなわち、入力端末1のオペレータによるポインティングデバイス212等の操作によって、入力画面IS上に用意された入力エリアのうち、入力対象となる入力エリアが選択されたか否かを判別する。
【0044】
いずれかの入力エリアが指定されると(S001:Yes)、辞書選択部110は、指定された入力エリアが特定の入力エリアであるか否かを判別する(S002)。本実施形態では、辞書データが対応付けられた入力エリアであって、入力内容別辞書を用いた変換入力の対象となっている入力エリアを特定の入力エリアである。ここでは、応対内容を入力するための入力エリアA1と住所を入力するための入力エリアA2(図3参照)が該当する。
【0045】
指定された入力エリアが、特定の入力エリアではないと判定された場合(S002:No)、基本辞書領域420の基本辞書データを参照し、通常の入力変換動作によって文字列入力が行われる(S100)。
【0046】
一方、特定の入力エリアが指定されたと判定された場合(S002:Yes)、辞書選択部110は、指定された入力エリアの種別を検出する。ここでは、入力エリアA1が指定された場合には、その入力エリアに対応づけされている識別子「A1」が検出され、入力エリアA2が指定された場合には、その入力エリアに対応付けされている識別子「A2」が検出される。
【0047】
辞書選択部110は、識別子を検出すると、入力内容別辞書領域430にアクセスし、検出された識別子に対応する辞書データを選択する(S003)。図2に示すように、入力内容別辞書領域430に格納されている複数組の入力内容別辞書データには、対応する入力エリアを示す識別子(図2の例では「A1」と「A2」)が付与されている。よって、辞書選択部110は、検出された識別子に基づいて、対応する識別子が付与されている辞書データを選択する。以下、本実施形態では、入力エリアA1に文字列入力を行うものとして説明する。よって、ここでは、応対入力辞書データ(A1)431が選択される。
【0048】
使用する辞書データを選択すると、辞書選択部110は、選択した辞書データがいずれであるかを変換候補抽出部130に通知するとともに、指定された入力エリアを検索キー生成部120に通知する。
【0049】
辞書選択部110から入力エリアの通知を受けると、検索キー生成部120は、指定された入力エリアにある文字列を取得して検索キーを生成する(S200)。検索キーの生成には、種々の方法が考えられるが、本実施形態では、図8に示すフローチャートに従って検索キーを生成する。
【0050】
すなわち、検索キー生成部120は、まず、指定された入力エリア中の文字列を取得する(S201)。一般に、入力エリアには、変換終了した確定文字列と、変換すべく入力作業中の未確定文字列とが混在している。そして、未確定文字列には、FEPが機能する前の「ひらがな」状態と、FEPが機能して漢字などの変換候補が暫定的に表示された状態とがある。以降において、未確定文字列部分は、下線付加によって示すこととする。「確定文字列+未確定文字列」の例は、図9(a)に示すようになる。ここでは、「携帯電話」の文字列を入力する場合において、「携帯」の文字列の漢字が確定しており、「でんわ」の部分がFEPが機能する前の未確定文字列である。そして、「でんわ」の文字列が、暫定的に「電話」として変換される。
【0051】
次いで、検索キー生成部120は、得られた文字列のうち、最後の句点「。」以前の文字列を削除する(S202)。その例を図9(b)に示す。
次に、検索キーの未確定部の右側に確定文字列がある場合には、検索キーから削除(除外)する(S203)。その例を図9(c)に示す。
【0052】
一般に、文字列中に未確定部が複数存在することはない。したがって、入力エリアの文字列の状態は、次のような場合に限られる。
(1)確定部のみ
(2)確定部+未確定部
(3)確定部+未確定部+確定部
(4)未確定部のみ
(5)未確定部+確定部
【0053】
このうち、ステップS203の処理の結果、(3)の場合は(2)の場合に、(5)の場合は(4)の場合に帰着するので、検索キーは、(1)「確定部のみ」、(2)「確定部+未確定部」、(4)「未確定部のみ」の3通りの場合に限られることとなる。
【0054】
次に、検索キー生成部120は、検索キーを「確定部」と「未確定部」とに分離し(S204)、確定部のうち、最後に確定された部分(前回確定部)を抽出する(S205)。例えば、「どこのショップ」のうち「ショップ」が前回確定部である場合には、「ショップ」が抽出される。
最後に、検索キー生成部120は、「前回確定部」と「未確定部」とを結合する(S206)。この結果、上記例の場合、図9(d)に示す文字列が検索キーとして出力される。
【0055】
次に、図7に説明を戻すと、変換候補抽出部130は、検索キー生成部120から検索キーを受け取り、辞書選択部110が選択した辞書を用いて変換候補を抽出し、出力する(S300)。ここで、図10〜図18を参照して変換候補抽出部130の動作を説明する。
【0056】
図10において、変換候補抽出部130は、まず、検索キーの先頭が「ひらがなのみ」からなる「未確定部」であるか否かを判断する(S301)。そして、検索キーの先頭が「ひらがなのみ」で、かつ「未確定部」である場合には(S301:Yes)、「先頭未確定処理」(S500)に進み、「ひらがなのみ」からなる「未確定部」でない場合(S301:No)には、「先頭確定処理」(S600)に進む。
【0057】
次に、上記ステップS500の「先頭未確定処理」について図11を参照して説明する。変換候補抽出部130は、まず、「読み補完辞書」から係り側ノードを一つ取得する(S501)。これをノードxとする。なお、以降、アルファベット小文字を用いて「ノードx」と記載した場合には、読み補完辞書のノードを表し、アルファベット大文字を用いて「ノードX」と記載した場合には、ノードxと対応する、綴り補完辞書のノードを表すものとする。
【0058】
ノードxと検索キーとの間に何らかの「前方一致」がある場合、検索キーとノードxとの長短に応じて、包含関係を次のように定義する。
検索キー ⊂ ノードx 部分一致
検索キー = ノードx 完全一致
検索キー ⊃ ノードx 余剰一致
【0059】
また、読み補完辞書および綴り補完辞書は、各々、図4および図5に示すように構成されているものとする。ノードxが「けいたい」の場合を例に、検索キーとの部分一致、完全一致、余剰一致の例は、図12(a)に示す通りである。
なお、前方一致とは検索キーとノードxとの一致判断にあたり、常に先頭部分(文字列左端)の一致を条件とすることをいう。部分一致だが前方一致ではない例と、余剰一致だが前方一致ではない例とを、図12(b)に示す。
【0060】
検索キーとノードxに何らの一致(前方一致)もない場合(S502:No)、変換候補抽出部130は、読み補完辞書に比較すべきノードが残っていないか確認する(S506)。比較すべきノードが残っていれば(S506:No)、ステップS501へ戻る。 一方、比較すべきノードが残っていない場合(S506:Yes)は、当該先頭未確定処理を終了する。
【0061】
また、検索キーとノードxとがいずれかの形で前方一致すれば(S502:Yes)、変換候補抽出部130は、ノードxと対応する綴り補完辞書のノードX(大文字X)を取得する(S503)。
そして、部分一致の場合(S504:Yes)、変換候補抽出部130は、ノードXを結果テーブル450に追加する(S505)。その例を図12(c)に示す。
その後、比較すべき候補がまだ残っていれば(S506:No)、S501へ戻る。全てのノードxについて比較が終了していれば(S506:Yes)、当該先頭未確定処理を終了する。
【0062】
一方、完全一致の場合(S504:No、S507:Yes)、変換候補抽出部130は、受け側ノード列を含めて、ノードXを結果テーブル450に追加する(S508)。その例を図12(d)に示す。
その後、比較すべき候補がまだ残っていれば(S506:No)、S501へ戻る。全てのノードxについて比較が終了していれば(S506:Yes)、先頭未確定処理を終了する。
【0063】
また、部分一致でも完全一致でもない場合には、余剰一致となる(S507:No)。変換候補抽出部130は、ノードxの受け側ノード列yを取得する(S509)。次いで、変換候補抽出部130は、検索キーからノードxを削除した余りがノード列yに、前方一致を条件として含まれるか(部分一致ないし完全一致するか)判断する(S510)。そして、含まれれば(S510:Yes)、ノード列yと対応する綴り補完辞書のノード列Yを取得し(S511)、ノードX+ノードYを結果テーブル450に追加する(S512)。
【0064】
その後、比較すべき受け側ノード列候補がまだ残っていれば(S513:No)、S509へ戻る。一方、全てのノード列yについて比較が終了していれば(S513:Yes)、S506へ進む。余りが部分一致の例を図12(e)に示し、余りが完全一致の例を図12(f)に示す。
【0065】
一方、検索キーからノードxを削除した余りがノード列yに含まれなければ(S510:No)、直接、S513へ進む。この例を図12(g)に示す。
その後、比較すべき受け側ノード列候補がまだ残っていれば(S513:No)、S509へ戻る。全てのノード列yについて比較が終了していれば(S513:Yes)、S506へ進む。
【0066】
次に、上記ステップS600の「先頭確定処理」について図13を参照して説明する。 このフローで処理される検索キーには、「確定部のみ」の場合と「確定部+未確定部」の場合とがある。変換候補抽出部130は、綴り補完辞書から係り側ノードXを1つ取得する(S601)。係り側ノードXと検索キーとの間の包含関係の定義は、「先頭未確定処理」の場合と同様である。
検索キー ⊂ ノードX 部分一致
検索キー = ノードX 完全一致
検索キー ⊃ ノードX 余剰一致
【0067】
また、先頭確定処理においても、一致判断は「前方一致」を条件とする。図14(a)にその例を示す。
【0068】
検索キーとノードXとの間に何らの一致もない場合(S602:No)、変換候補抽出部130は、綴り補完辞書に、検索キーと比較すべきノードXが残っていないか確認する(S606)。そして、比較すべきノードXが残っていれば(S606:No)、S601へ戻る。
【0069】
一方、比較すべきノードが残っていない場合には(S606:Yes)、当該先頭確定処理を終了する。
一方、部分一致の場合には(S604:Yes)、変換候補抽出部130は、ノードXを結果テーブル450に追加する。その例を図14(b)に示す。すなわち、検索キー「携」に対して、「携帯」、「携帯電話」が結果テーブル450に追加される。
そして、比較すべきノードがまだ残っていれば(S606:No)、S601へ戻る。全てのノードXについて比較が終了していれば(S606:Yes)、当該先頭確定処理を終了する。
【0070】
一方、完全一致の場合(S604:No、S607:Yes)、変換候補抽出部130は、受け側ノード列を含めて、ノードXを結果テーブル450に追加する(S608)。その例を図14(c)に示す。
次いで、変換候補抽出部130は綴り補完辞書に比較すべきノードが残っていないか確認する(S606)。比較すべきノードが残っていれば(S606:No)、S601へ戻る。一方、比較すべきノードが残っていない場合には(S606:Yes)、当該先頭確定処理を終了する。
【0071】
また、部分一致でも完全一致でもない場合は余剰一致となる(S607:No)。
ここで、図15を参照して余剰一致処理について説明する。変換候補抽出部130は、まず、ノードXの受け側ノード列Y(Y1+Y2)を一組取得する(S701)。その例を図16(a)に示す。
次いで、変換候補抽出部130は、検索キーから係り側ノードXを削除した余りキーαが「ひらがなのみ」からなる「未確定部」であるか否か判断する(S702)。ここで、図16(b)にS702がYesの例を示し、図16(c)にS702がNoの例を示す。
【0072】
余りαが「ひらがなのみ」からなる「未確定部」である場合には(S702:Yes)、変換候補抽出部130は、読み補完辞書から、ノード列Yと対応するノード列yを検索して取得する(S703)。そして、変換候補抽出部130は、余りキーαがノード列yと部分一致ないし完全一致するか判定する(S704)。
【0073】
そして、余りキーαがノード列yと部分一致ないし完全一致する場合(S704:Yes)、変換候補抽出部130は、受け側ノード列を含めて、ノードX+Yを結果テーブル450に追加する(S705)。この例を図16(d)に示す。その後、S706へ進む。
【0074】
一方、余りキーαとノード列yとが部分一致も完全一致もしない場合(S704:No)、すなわち、図16(e)に示すような場合には、直接、S706へ進む。
その後、比較すべき受け側ノード列Yがまだ残っていれば(S706:No)、S701へ戻る。一方、全てのノード列Yについて比較が終了していれば(S706:Yes)、当該余剰一致処理を終了する。
【0075】
また、余りキーαの中に確定文字列があるか、未確定部のみであっても、ひらがなだけではない場合(S702:No)、変換候補抽出部130は、余りキーαがノード列Yのうち、前方のノードY1と部分一致または完全一致するか判定する(S707)。そして、余りキーαがノードY1と部分一致または完全一致する場合(S707:Yes)、変換候補抽出部130は、受け側ノード列を含めて、ノードX+ノードYを結果テーブル450に追加する(S708)。この例を図16(f)に示す。その後、S706へ進む。
【0076】
その後、比較すべき受け側ノード列Yがまだ残っていれば(S706:No)、S701へ戻る。一方、全てのノード列Yについて比較が終了していれば(S706:Yes)、当該余剰一致処理を終了する。
【0077】
一方、余りキーαがノードY1と部分一致も完全一致もしない場合(S707:No)、変換候補抽出部130は、余りキーαがノードY1を包含するか否か判定する(S709)。そして、余りキーαがノードY1を包含しない場合(S709:No)、すなわち、図16(g)に示すような場合には、S706へ進む。
【0078】
一方、余りキーαがノード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へ進む。
【0079】
一方、余りキーβがノードy2と部分一致も完全一致もしない場合(S712:No)、すなわち、図16(i)に示すような場合には、S706へ進む。
その後、比較すべき受け側ノード列Yがまだ残っていれば(S706:No)、S701へ戻る。一方、全てのノード列Yについて比較が終了していれば(S706:Yes)、当該余剰一致処理を終了する。
【0080】
一方、余りキーβが「ひらがなのみ」からなる「未確定部」でない場合(S710:No)、変換候補抽出部130は、余りキーβがY2と部分一致または完全一致するか判定する(S714)。そして、余りキーβとY2とが部分一致でも完全一致でもない場合(S714:No)、S706へ進む。図16(j)に部分一致でも完全一致でもない場合の例を示す。
【0081】
一方、余りキーβとY2が部分一致または完全一致の場合(S714:Yes)、変換候補抽出部130は、ノードX+ノードYを結果テーブル450に追加し(S715)、S706へ進む。ノードX+ノードYの結果テーブル450への追加例を図16(k)に示す。
【0082】
その後、比較すべき受け側ノード列Yがまだ残っていれば(S706:No)、S701へ戻る。一方、全てのノード列Yについて比較が終了していれば(S706:Yes)、当該余剰一致処理を終了する。
そして、当該余剰一致処理を終了した変換候補抽出部130は、図11のS606に戻り、全てのノードXについて比較が終了していれば(S606:Yes)、当該先頭確定処理を終了する。
【0083】
次に、図7に説明を戻すと、変換候補出力部140は、検索結果を候補表示するための整形を行う(S400)。この処理を、図17に示すフローチャートを参照して説明する。以下、説明を容易にするため、検索キーが「確定部のみ」、「確定部+未確定部」、「未確定部のみ」の場合に分けて説明する。
【0084】
<検索キーが確定部のみの場合>
変換候補出力部140は、まず、結果テーブル450の文字列から、検索キーの「確定部」を削除する(S401)。次に、削除した結果、検索キーの「未確定部」と一致することになった出力候補語があるか判定する(S402)。この例では、検索キーに「未確定部」を含まないので、S402は自動的にNoとなる。この結果、図18(a)に示すような出力が得られる(S404)。また、このように整形された候補語の画面表示例を図19(a)に示す。
【0085】
<検索キーが「確定部+未確定部」の場合>
変換候補出力部140は、まず、結果テーブル450の文字列から検索キーの「確定部」を削除する(S401)。さらに、確定部削除の結果、出力候補語の中に検索キーの未確定部と完全一致する出力候補語がある場合(S402:Yes)、当該一致する出力候補語を結果テーブル450から削除する(S403)。
【0086】
図18(b)に示す例1では、検索キーの未確定部「が」が、確定部削除後の候補語のノード列「が−壊れた」「が−高い」のうち「が」と一致する。しかし、完全一致ではないので(S402:No)、「が壊れた」「が高い」がそのまま候補語として出力され(S404)、入力エリアのカーソル近傍に表示される。このように整形された候補語の画面表示例を図19(b)に示す。そして、オペレータが例えば「が壊れた」を選択すると、未確定状態の「が(下線付)」を削除して「が壊れた」を確定状態で入力エリアに差し込む。
【0087】
また、図18(c)に示す例2では、検索キーの未確定部「ありか」が、確定部削除後の出力候補語「ありか」と一致するので、S403において「ありか」全体が削除され、S404で、候補語は出力されない。入力エリアにすでに表示された未確定文字列と候補語表示エリアに表示される文字列が一致した場合、オペレータは、候補語表示エリアから候補語を選択するよりも入力エリアの文字列を、例えばEnterキーなどで確定させる方が自然だからである。
【0088】
検索キーが「未確定部のみ」の場合、S401で削除される部分はなく、原則、検索結果がそのまま出力される(S404)。図18(d)に例1の場合、図18(e)に例2の場合を示す。また、このような場合の候補語の画面表示例を図19(d)、(e)に示す。
例外的に、綴り補完辞書に、ひらがなのみからなるノードがあり、当該ノードが候補語となった場合には、S402でYesとなり、一致した候補語が結果テーブルから削除される(S403)。この例を図18(f)に示す。
【0089】
以下では、特願2009−85258号公報の綴り補完辞書を改良し、改良した綴り補完辞書により、変換候補語がどのように抽出・表示されるかを説明する。
【0090】
与えられたデータから綴り補完辞書を構築するにあたり、綴り補完辞書のノードは標準化規則によって変換した後の文字列としつつ、変換前の文字列を「表示文字列」としてノードと関連づけて綴り補完辞書に記憶する。
【0091】
標準化規則は、例えば半角カタカナの全角化、ASCII文字(スペース文字含む)と対応する全角文字(全角英数字や?、!、+、−、*、=、などの記号)の半角化、ASCII文字に挟まれたスペース(ASCII文字と対応する全角文字を半角に変換した結果、ASCII文字に挟まれることとなったスペースを含む)以外のスペースの除去、などである。
【0092】
図31の例では「コイン(半角カタカナ)」、「コインパーキング(半角カタカナ)」、「コイン ラブ銀行(「コイン ラブ」は半角カタカナ)」が標準化規則によって「コイン」、「コインパーキング」、「コインラブ銀行」に変換されるので、変換後の表記にしたがって辞書ノードが構成されるとともに変換前の「コイン(半角カタカナ)」、「コインパーキング(半角カタカナ)」、「コイン ラブ銀行(「コイン ラブ」は半角カタカナ)」が表示文字列として各ノードと関連付けられる。
【0093】
またもともと標準化規則に則っている「コイン」と「コインパーキング」についても、辞書構築用のデータ中で実際に使用されているので、やはり表示文字列としてノードと関連付けて記憶する。一方、「コインラブ銀行」は正式表記が「コイン ラブ銀行(「コイン ラブ」は半角カタカナ)」であることから辞書構築用データには現れていない。したがって、ノード「コインラブ銀行」に関連付けられる表示文字列は「コイン ラブ銀行(「コイン ラブ」は半角カタカナ)」のみとする。
【0094】
図20は、本実施形態による、綴り補完辞書の各ノードと、関連付けられた表示文字列を説明する図である。綴り補完辞書の各ノードと、関連付けられた表示文字列を模式的に表すと図20のようになる。<>がノードを、<>内の[ ]がノードと関連付けられた表示文字列を表す。
【0095】
次に、このような辞書によって候補語がどのように抽出され、表示されるか説明する。
図21は、本実施形態による、標準化規則にしたがって検索キーを生成する手順を説明するためのフローチャートである。本実施の形態において検索キー生成部120は、標準化規則にしたがって検索キーを生成する(図21)。すなわち、前回確定部と未確定部を結合後(S206)、標準化規則にしたがって検索キー全体を変換する(S207)。そして、変換候補抽出部は、部分一致や完全一致や余剰一致条件に合致したノードないしノード列を結果テーブルに記録する際に、表示文字列が指定されたノードについては、ノードに格納された文字列ではなく、ノードと関連付けられた「表示文字列」を結果テーブルに記録する。
【0096】
図22は、本実施形態による、候補語出力処理の動作を説明するためのフローチャートである。最後に、変換候補出力部140は、結果テーブル450の文字列から検索キーの「確定部」を削除するにあたり、標準化規則にしたがって変換されている場合は、標準化規則適用前の文字列を、結果テーブル450の文字列から削除する(図22、S401−2)。
【0097】
まず、入力エリアから文字列「こいん」(全角ひらがな、未確定)が取得された場合を説明する。検索キー生成部120は未確定部のみからなる文字列「こいん」を出力する。
この検索キーは読み補完辞書の「こいん」と完全一致する(図11、S507:Yes)。したがって、変換候補抽出部130は係り側ノードの表示文字列「コイン/コイン(半角カタカナ)」と受け側ノード列「を落とした、を買った、を拾った」の組み合わせ6つを結果テーブル450に記録する(S508)。
【0098】
また読み補完辞書の<こいんぱーきんぐ>と部分一致するので(S504:Yes)、綴り補完辞書の対応ノード<コインパーキング>と関連付けられた表示文字列「コインパーキング」と「コインパーキング(半角カタカナ)」を結果テーブル450に追加する。
【0099】
さらに、読み補完辞書の<こいんらぶぎんこう>とも部分一致するので(S504:Yes)、綴り補完辞書の対応するノード<コインラブ銀行>と関連付けられた表示文字列[コイン ラブ銀行(「コイン ラブ」は半角カタカナ)]を結果テーブル450に追加する。したがって、結果テーブル450には変換候補語として図23に示す文字列が記録される。図23は、本実施形態による、結果テーブル450に記録される変換候補語の文字列を示す図である。
【0100】
検索キーが「こいん」の場合、検索キーは確定部を含まないので、変換候補出力部140は上記候補語をそのまま出力する(図22)。
【0101】
上記の例では、端末オペレータが「こいん(下線付)」と入力した段階で変換候補語の一つとして「コイン ラブ銀行(「コイン ラブ」は半角カタカナ)」が得られる。このように、オペレータは「コイン ラブ銀行(「コイン ラブ」は半角カタカナ)」という正式表記を知らなくとも、自動的に正しい入力を達成できる。
【0102】
次に、入力エリアから文字列「コイン」(全角カタカナ、確定)が取得された場合を説明する。検索キー生成部120は確定部のみからなる文字列「コイン」を出力する。
この検索キーは綴り補完辞書の<コイン>と完全一致する(図13、S607:Yes)。したがって、変換候補抽出部130は係り側ノードの表示文字列[コイン, コイン(半角カタカナ)]と受け側ノード列「を落とした、を買った、を拾った」の組み合わせ6つを結果テーブル450に記録する(S608)。
【0103】
また、綴り補完辞書の<コインパーキング>と部分一致するので(S604:Yes)、<コインパーキング>と関連付けられた表示文字列[コインパーキング, コインパーキング(半角カタカナ)]を結果テーブル450に追加する。
【0104】
さらに、綴り補完辞書の<コインラブ銀行>とも部分一致するので(S604:Yes)、<コインラブ銀行>と関連付けられた表示文字列[コイン ラブ銀行(「コイン ラブ」は半角カタカナ)]を結果テーブル450に追加する。したがって、結果テーブル450には変換候補語として図24に示す文字列が記録される。図24は、本実施形態による、結果テーブル450に記録される変換候補語の文字列を示す図である。
【0105】
変換候補出力部140は、図24に示す結果テーブル450の文字列から確定部「コイン」を削除して(図22、S401−2)、図25に示す候補語を出力する。図25は、本実施形態による、結果テーブル450の文字列から確定部「コイン」を削除した候補語を示す図である。なお、入力エリアから取得された文字列が「コイン」なので、標準化規則適用前後の確定部は一致している。
【0106】
上記例によれば、「コイン ラブ銀行(「コイン ラブ」は半角カタカナ)」という正式表記を知らない端末オペレータが途中まで銀行名を誤って全角で「コイン」と入力した場合でも、「コイン ラブ銀行(「コイン ラブ」は半角カタカナ)」を候補語として得ることができる。
【0107】
続いて、入力エリアから「コイン(半角カタカナ)」(半角カタカナ、確定)が取得された場合、標準化規則が適用されて「コイン」という検索キーが生成される。「コイン」は綴り補完辞書の<コイン>と完全一致する(図13、S607:Yes)。したがって、変換候補抽出部130は係り側ノードの表示文字列[コイン, コイン(半角カタカナ)]と受け側ノード列「を落とした、を買った、を拾った」の組み合わせ6つを結果テーブル450に記録する。
【0108】
また、綴り補完辞書の<コインパーキング>と部分一致するので(S604:Yes)、<コインパーキング>と関連付けられた表示文字列「コインパーキング」と「コインパーキング(半角カタカナ)」を結果テーブル450に追加する。
【0109】
さらに、綴り補完辞書の<コインラブ銀行>とも部分一致するので(S604:Yes)、<コインラブ銀行>と関連付けられた表示文字列[コイン ラブ銀行(「コイン ラブ」は半角カタカナ)]を結果テーブル450に追加する。したがって、結果テーブル450には変換候補語として図26に示す文字列が記録される。図26は、本実施形態による、結果テーブル450に記録される変換候補語の文字列を示す図である。
【0110】
変換候補出力部140は、図26に示す結果テーブル450の文字列から、標準化規則適用前の確定部「コイン(半角カタカナ)」を削除して(図22、S401−2)、図27に示す候補語を出力する。図27は、本実施形態による、結果テーブル450の文字列から、標準化規則適用前の確定部「コイン(半角カタカナ)」を削除した候補語を示す図である。
【0111】
標準化規則にしたがった文字列のみで綴り補完辞書を構成した場合には半角カタカナ確定部が入力エリアから得られても候補語を提示することができなかったが、上記例の通り、本実施形態によれば半角カタカナの確定文字列からも候補語を抽出し、提示することができる。
【0112】
図28は、本実施形態による、候補語確定処理を説明する図である。なお、入力エリアから全角確定のカタカナ「コイン」が得られ、候補語から「コイン ラブ銀行(「コイン ラブ」は半角カタカナ)」を選択した場合(図28(a))、入力エリアには「コインコイン ラブ銀行(「コイン」は全角カタカナ。続く「コイン ラブ」は半角カタカナ)」と表示されることになる(図28(b))。これを避けるため、制御部にさらに候補語確定処理部(図29)を設けてもよい。図29は、本実施形態による、候補語確定処理部の動作手順を説明するフローチャートである。
【0113】
候補語確定処理部は、変換後の前回確定部を取得する(図29、S801)。上記例の場合、前回確定部は変換前後のどちらも「コイン(全角カタカナ)」である。
【0114】
次いで、候補語確定処理部は選択された候補語「コイン ラブ銀行(「コイン ラブ」は半角カタカナ)」のノード表現「コインラブ銀行」を取得する(S802)。そして、変換前の前回確定部「コイン」と候補語のノード表現「コインラブ銀行」が部分一致ないし完全一致するか判断する(S803)。「コイン」は「コインラブ銀行」と部分一致するので(S803:Yes)、候補語確定処理部は変換前の前回確定部「コイン」を入力エリアから削除した上で、入力エリアに選択された表示文字列「コイン ラブ銀行(「コイン ラブ」は半角カタカナ)」を表示する。
【0115】
このような候補語確定処理によれば、図28(c)のように、入力エリアから不要な既入力確定文字列「コイン」が削除された上で、正式名称の「コイン ラブ銀行(「コイン ラブ」は半角カタカナ)」が入力されるので、オペレータの作業をさらに効率化することができる。
なお、図22のS401−2において確定部がすでに削除されている場合、候補語からはすでに「前回確定部」が削除されているので、S803は常にNoとなる。
【0116】
上記実施形態にかかる入力端末1は、スタンドアローンで構成可能であるだけでなく、いわゆるサーバ−クライアントシステムとしても構成可能である。すなわち、例えば、図30に示すように、制御部501、通信部502を備えるクライアント500に入力装置210と出力装置310の機能を持たせ、該クライアント500と、制御部601、通信部602、記憶部603を備え、検索機能を持たせたサーバ600とから構成としても良い。サーバ600は、検索機能として、辞書選択部601−1、検索キー生成部601−2、変換候補抽出部601−3、変換候補出力部601−4を備える。
【0117】
このように、本発明の実施形態により、標準化された表記をノードとして綴り補完辞書を木構造に構成し、各ノードには必要に応じて正規表記を関連付けて記録し、候補語表示にあたっては標準化表記ではなく、正規表記を提示することしたので、ユーザの期待通りの正規表記を変換候補語として提示することができる。
【0118】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0119】
上記実施の形態にかかる入力端末1は、専用装置から構成可能であるだけでなく、汎用のコンピュータ装置などを用いて構成することもできる。すなわち、例えば、パーソナルコンピュータなどの汎用装置と、当該汎用装置を上記実施の形態で示したように機能させるプログラムによって、当該汎用装置を上述した入力端末1として機能させることができる。
このようなプログラムの提供方法は任意であり、例えば、CD−ROMなどの記憶媒体に格納して配布可能であることはもとより、プログラムデータを搬送波に重畳することで、所定の通信媒体(例えば、インターネットなど)を介して配布することもできる。
【産業上の利用可能性】
【0120】
本発明は、文字列入力装置、文字列入力方法、および、プログラムに関し、特に、コールセンタなどにおける入力作業に好適である。
【符号の説明】
【0121】
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】
前記標準化規則は、半角カタカナの全角化、ASCII文字(スペース文字含む)と対応する全角文字の半角化、ASCII文字に挟まれたスペース(ASCII文字と対応する全角文字を半角に変換した結果、ASCII文字に挟まれることとなったスペースを含む)以外のスペースの除去であることを特徴とする請求項1に記載の辞書データ。
【請求項3】
入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力装置であって、
入力される文字列を変換処理する前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データを記憶する読み補完辞書手段と、
前記読み補完辞書データに含まれる各単語が漢字等に変換された単語として記録された辞書であって、変換処理前と後の単語をノードとして対応付けて、前記読み補完辞書手段の木構造と合致した木構造に構成した綴り補完辞書データを記憶する綴り補完辞書手段と、
入力エリアから文字列を取得して検索キーを生成する検索キー生成部と、
前記検索キー生成部により生成された検索キーと、前記読み補完辞書手段に記憶されている読み補完辞書データと、前記綴り補完辞書手段に記憶されている綴り補完辞書データとに基づいて、変換候補を抽出する変換候補抽出部とを備え、
前記綴り補完辞書のノードは標準化規則に従って作成され、標準化規則に従う文字列とオペレータに提示すべき文字列が異なる場合は、オペレータに提示すべき文字列が表示文字列としてノードと関連付けて記憶されており、
前記変換候補抽出部は、抽出した変換候補のノードに関連付けられた表示文字列がある場合、ノードに替えて表示文字列を結果テーブルに記録する
ことを特徴とする文字列入力装置。
【請求項4】
変換候補の確定処理を行う候補語確定処理部を備え、
前記候補語確定処理部は、変換が確定した確定部文字列と、選択された候補語のノード表現と、を比較し、部分一致又は完全一致する場合、前記変換が確定した確定部文字列を前記入力エリアから削除し、前記入力エリアに前記選択された候補語を表示することを特徴とする請求項3に記載の文字列入力装置。
【請求項5】
入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力装置における文字列入力方法であって、
読み補完辞書手段が、入力される文字列を変換処理する前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データを記憶するステップと、
綴り補完辞書手段が、前記読み補完辞書データに含まれる各単語が漢字等に変換された単語として記録された辞書であって、変換処理前と後の単語をノードとして対応付けて、前記読み補完辞書手段の木構造と合致した木構造に構成した綴り補完辞書データを記憶するステップと、
検索キー生成部が、入力エリアから文字列を取得して検索キーを生成するステップと、
変換候補抽出部が、前記検索キー生成部により生成された検索キーと、前記読み補完辞書手段に記憶されている読み補完辞書データと、前記綴り補完辞書手段に記憶されている綴り補完辞書データとに基づいて、変換候補を抽出するステップとを含み、
前記綴り補完辞書のノードは標準化規則に従って作成され、標準化規則に従う文字列とオペレータに提示すべき文字列が異なる場合は、オペレータに提示すべき文字列が表示文字列としてノードと関連付けて記憶されるステップと、
前記変換候補抽出部が、抽出した変換候補のノードに関連付けられた表示文字列がある場合、ノードに替えて表示文字列を結果テーブルに記録するステップと、
を含むことを特徴とする文字列入力方法。
【請求項6】
入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力装置のコンピュータに、
入力される文字列を変換処理する前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データを記憶するステップと、
前記読み補完辞書データに含まれる各単語が漢字等に変換された単語として記録された辞書であって、変換処理前と後の単語をノードとして対応付けて、前記木構造と合致した木構造に構成した綴り補完辞書データを記憶するステップと、
入力エリアから文字列を取得して検索キーを生成するステップと、
前記検索キーと、前記読み補完辞書データと、前記綴り補完辞書データとに基づいて、変換候補を抽出するステップとを含み、
前記綴り補完辞書のノードは標準化規則に従って作成され、標準化規則に従う文字列とオペレータに提示すべき文字列が異なる場合は、オペレータに提示すべき文字列が表示文字列としてノードと関連付けて記憶されるステップと、
抽出した変換候補のノードに関連付けられた表示文字列がある場合、ノードに替えて表示文字列を結果テーブルに記録するステップと、
を実行させることを特徴とするプログラム。
【請求項1】
入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力装置に使用する辞書データであって、
入力される文字列を変換処理する前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データと、
前記読み補完辞書データに含まれる各単語が漢字等に変換された単語として記録された辞書であって、変換処理前と後の単語をノードとして対応付けて、前記読み補完辞書手段の木構造と合致した木構造に構成した綴り補完辞書データとからなり、
前記綴り補完辞書のノードは標準化規則に従って作成され、標準化規則に従う文字列とオペレータに提示すべき文字列が異なる場合は、オペレータに提示すべき文字列を表示文字列としてノードと関連付けて記憶した
ことを特徴とする辞書データ。
【請求項2】
前記標準化規則は、半角カタカナの全角化、ASCII文字(スペース文字含む)と対応する全角文字の半角化、ASCII文字に挟まれたスペース(ASCII文字と対応する全角文字を半角に変換した結果、ASCII文字に挟まれることとなったスペースを含む)以外のスペースの除去であることを特徴とする請求項1に記載の辞書データ。
【請求項3】
入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力装置であって、
入力される文字列を変換処理する前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データを記憶する読み補完辞書手段と、
前記読み補完辞書データに含まれる各単語が漢字等に変換された単語として記録された辞書であって、変換処理前と後の単語をノードとして対応付けて、前記読み補完辞書手段の木構造と合致した木構造に構成した綴り補完辞書データを記憶する綴り補完辞書手段と、
入力エリアから文字列を取得して検索キーを生成する検索キー生成部と、
前記検索キー生成部により生成された検索キーと、前記読み補完辞書手段に記憶されている読み補完辞書データと、前記綴り補完辞書手段に記憶されている綴り補完辞書データとに基づいて、変換候補を抽出する変換候補抽出部とを備え、
前記綴り補完辞書のノードは標準化規則に従って作成され、標準化規則に従う文字列とオペレータに提示すべき文字列が異なる場合は、オペレータに提示すべき文字列が表示文字列としてノードと関連付けて記憶されており、
前記変換候補抽出部は、抽出した変換候補のノードに関連付けられた表示文字列がある場合、ノードに替えて表示文字列を結果テーブルに記録する
ことを特徴とする文字列入力装置。
【請求項4】
変換候補の確定処理を行う候補語確定処理部を備え、
前記候補語確定処理部は、変換が確定した確定部文字列と、選択された候補語のノード表現と、を比較し、部分一致又は完全一致する場合、前記変換が確定した確定部文字列を前記入力エリアから削除し、前記入力エリアに前記選択された候補語を表示することを特徴とする請求項3に記載の文字列入力装置。
【請求項5】
入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力装置における文字列入力方法であって、
読み補完辞書手段が、入力される文字列を変換処理する前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データを記憶するステップと、
綴り補完辞書手段が、前記読み補完辞書データに含まれる各単語が漢字等に変換された単語として記録された辞書であって、変換処理前と後の単語をノードとして対応付けて、前記読み補完辞書手段の木構造と合致した木構造に構成した綴り補完辞書データを記憶するステップと、
検索キー生成部が、入力エリアから文字列を取得して検索キーを生成するステップと、
変換候補抽出部が、前記検索キー生成部により生成された検索キーと、前記読み補完辞書手段に記憶されている読み補完辞書データと、前記綴り補完辞書手段に記憶されている綴り補完辞書データとに基づいて、変換候補を抽出するステップとを含み、
前記綴り補完辞書のノードは標準化規則に従って作成され、標準化規則に従う文字列とオペレータに提示すべき文字列が異なる場合は、オペレータに提示すべき文字列が表示文字列としてノードと関連付けて記憶されるステップと、
前記変換候補抽出部が、抽出した変換候補のノードに関連付けられた表示文字列がある場合、ノードに替えて表示文字列を結果テーブルに記録するステップと、
を含むことを特徴とする文字列入力方法。
【請求項6】
入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力装置のコンピュータに、
入力される文字列を変換処理する前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データを記憶するステップと、
前記読み補完辞書データに含まれる各単語が漢字等に変換された単語として記録された辞書であって、変換処理前と後の単語をノードとして対応付けて、前記木構造と合致した木構造に構成した綴り補完辞書データを記憶するステップと、
入力エリアから文字列を取得して検索キーを生成するステップと、
前記検索キーと、前記読み補完辞書データと、前記綴り補完辞書データとに基づいて、変換候補を抽出するステップとを含み、
前記綴り補完辞書のノードは標準化規則に従って作成され、標準化規則に従う文字列とオペレータに提示すべき文字列が異なる場合は、オペレータに提示すべき文字列が表示文字列としてノードと関連付けて記憶されるステップと、
抽出した変換候補のノードに関連付けられた表示文字列がある場合、ノードに替えて表示文字列を結果テーブルに記録するステップと、
を実行させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【公開番号】特開2010−266949(P2010−266949A)
【公開日】平成22年11月25日(2010.11.25)
【国際特許分類】
【出願番号】特願2009−115800(P2009−115800)
【出願日】平成21年5月12日(2009.5.12)
【出願人】(000102728)株式会社エヌ・ティ・ティ・データ (438)
【出願人】(509132738)合同会社シンタックス (10)
【Fターム(参考)】
【公開日】平成22年11月25日(2010.11.25)
【国際特許分類】
【出願日】平成21年5月12日(2009.5.12)
【出願人】(000102728)株式会社エヌ・ティ・ティ・データ (438)
【出願人】(509132738)合同会社シンタックス (10)
【Fターム(参考)】
[ Back to top ]