(57)【特許請求の範囲】
【請求項１】
複数の単語を記憶する単語記憶手段と、
ユーザ操作に基づいて検索文字列を入力する入力手段と、
前記単語記憶手段における各単語のうち、前記検索文字列に対応する単語を候補語として検出する候補語検出手段と、
を有する候補単語表示装置において、
発音の類似する文字同士を対応付けて記憶する発音類似文字記憶手段と、
前記発音類似文字記憶手段内における発音の類似する文字について各候補語中の文字を発音が類似する文字に置換した文字列と、当該文字列及び各候補語のそれぞれの中で連続する同一の複数文字を１文字に置換して得られる文字列とを、評価用文字列として生成する評価用文字列生成手段と、
前記検索文字列に対する各候補語及び各評価用文字列の一致度を算出する一致度算出手段と、
前記候補語と、当該候補語に対応する各評価用文字列との各一致度のうち、最も高い前記一致度を当該候補語の評価用スコアとする評価用スコア設定手段と、
前記評価用スコアの高い順に前記候補語をリスト表示する候補単語表示手段と、
を備えることを特徴とする候補単語表示装置。
【請求項２】
請求項１記載の候補単語表示装置において、
前記一致度算出手段は、
前記検索文字列と、前記候補語または前記評価用文字列との各文字を比較して、先頭からの一致文字数と、末尾からの一致文字数とを算出し、これらの一致文字数に基づいて前記一致度を算出する一致文字数・一致度算出手段を有することを特徴とする候補単語表示装置。
【請求項３】
請求項１または２記載の候補単語表示装置において、
前記一致度算出手段は、
前記検索文字列と、前記候補語または前記評価用文字列との文字数の相違数に基づいて、前記一致度を算出する文字相違数・一致度算出手段を有することを特徴とする候補単語表示装置。
【請求項４】
コンピュータに、
複数の単語を記憶する単語記憶機能と、
ユーザ操作に基づいて検索文字列を入力する入力機能と、
前記単語記憶機能によって記憶された各単語のうち、前記検索文字列に対応する単語を候補語として検出する候補語検出機能と、
を実現させる候補単語表示プログラムにおいて、
前記コンピュータに
発音の類似する文字同士を対応付けて記憶する発音類似文字記憶機能と、
前記発音類似文字記憶機能によって記憶された発音の類似する文字について各候補語中の文字を発音が類似する文字に置換した文字列と、当該文字列及び各候補語のそれぞれの中で連続する同一の複数文字を１文字に置換して得られる文字列とを、評価用文字列として生成する評価用文字列生成機能と、
前記検索文字列に対する各候補語及び各評価用文字列の一致度を算出する一致度算出機能と、
前記候補語と、当該候補語に対応する各評価用文字列との各一致度のうち、最も高い前記一致度を当該候補語の評価用スコアとする評価用スコア設定機能と、
前記評価用スコアの高い順に前記候補語をリスト表示する候補単語表示機能と、
を実現させることを特徴とする候補単語表示プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、候補単語表示装置及び候補単語表示プログラムに関する。
【背景技術】
【０００２】
従来、電子辞書などの電子機器には、入力文字列に対応する複数の候補語をリスト表示する候補単語表示装置が適用されている。
このような候補単語表示装置として、近年、入力文字列を類似発音の文字列に置換して生成される候補語については、単語リスト中の表示順序を上位にするものが提案されている（例えば、特許文献１参照）。
【特許文献１】特開平８−９５９７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記特許文献１記載の候補単語表示装置では、発音に基づいて文字を誤入力した場合には、当該文字を正しい文字に置換して生成される候補語が上位に表示されるものの、その他の原因で文字列を誤入力した場合、例えば、単語「accurate」を入力しようとして、子音の連続部分「ｃｃ」を一文字「ｃ」で入力した場合や、更に「r」を「l」と入力したような場合などには、正しい候補語「accurate」が上位には表示されず、所望の単語を探すのに手間がかかってしまう。
【０００４】
本発明の課題は、従来と比較して適切な順序で候補語をリスト表示させることのできる候補単語表示装置及び候補単語表示プログラムを提供することである。
【課題を解決するための手段】
【０００５】
請求項１記載の発明は、候補単語表示装置において、
複数の単語を記憶する単語記憶手段と、
ユーザ操作に基づいて検索文字列を入力する入力手段と、
前記単語記憶手段における各単語のうち、前記検索文字列に対応する単語を候補語として検出する候補語検出手段と、
を有する候補単語表示装置において、
発音の類似する文字同士を対応付けて記憶する発音類似文字記憶手段と、
前記発音類似文字記憶手段内における発音の類似する文字について各候補語中の文字を発音が類似する文字に置換した文字列と、当該文字列及び各候補語のそれぞれの中で連続する同一の複数文字を１文字に置換して得られる文字列とを、評価用文字列として生成する評価用文字列生成手段と、
前記検索文字列に対する各候補語及び各評価用文字列の一致度を算出する一致度算出手段と、
前記候補語と、当該候補語に対応する各評価用文字列との各一致度のうち、最も高い前記一致度を当該候補語の評価用スコアとする評価用スコア設定手段と、
前記評価用スコアの高い順に前記候補語をリスト表示する候補単語表示手段と、
を備えることを特徴とする。
【０００６】
請求項２記載の発明は、請求項１記載の候補単語表示装置において、
前記一致度算出手段は、
前記検索文字列と、前記候補語または前記評価用文字列との各文字を比較して、先頭からの一致文字数と、末尾からの一致文字数とを算出し、これらの一致文字数に基づいて前記一致度を算出する一致文字数・一致度算出手段を有することを特徴とする。
【０００７】
請求項３記載の発明は、請求項１または２記載の候補単語表示装置において、
請求項１または２記載の候補単語表示装置において、
前記一致度算出手段は、
前記検索文字列と、前記候補語または前記評価用文字列との文字数の相違数に基づいて、前記一致度を算出する文字相違数・一致度算出手段を有することを特徴とする。
【０００８】
請求項４記載の発明は、候補単語表示プログラムにおいて、
コンピュータに、
複数の単語を記憶する単語記憶機能と、
ユーザ操作に基づいて検索文字列を入力する入力機能と、
前記単語記憶機能によって記憶された各単語のうち、前記検索文字列に対応する単語を候補語として検出する候補語検出機能と、
を実現させる候補単語表示プログラムにおいて、
前記コンピュータに
発音の類似する文字同士を対応付けて記憶する発音類似文字記憶機能と、
前記発音類似文字記憶機能によって記憶された発音の類似する文字について各候補語中の文字を発音が類似する文字に置換した文字列と、当該文字列及び各候補語のそれぞれの中で連続する同一の複数文字を１文字に置換して得られる文字列とを、評価用文字列として生成する評価用文字列生成機能と、
前記検索文字列に対する各候補語及び各評価用文字列の一致度を算出する一致度算出機能と、
前記候補語と、当該候補語に対応する各評価用文字列との各一致度のうち、最も高い前記一致度を当該候補語の評価用スコアとする評価用スコア設定機能と、
前記評価用スコアの高い順に前記候補語をリスト表示する候補単語表示機能と、
を実現させることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、検索文字列に対応する単語が候補語として検出された後、予め対応付けて記憶された発音の類似する文字について各候補語中の文字を発音が類似する文字に置換した文字列と、当該文字列及び各候補語のそれぞれの中で連続する同一の複数文字を１文字に置換して得られる文字列とが評価用文字列として生成され、各候補語と、当該候補語に対応する各評価用文字列との検索文字列に対する一致度が算出され、候補語と、当該候補語に対応する各評価用文字列との各一致度のうち、最も高い一致度が検索文字列に対する当該候補語の評価用スコアとされて、評価用スコアの高い順に候補語がリスト表示されるので、候補語と検索文字列との一致度に加え、発音が類似する文字に置換され連続する同一の複数文字を１文字に置換した評価用文字列との一致度に基づいて評価用スコアが設定され、当該評価用スコアの高い順に候補語がリスト表示される。従って、発音の類似する文字が誤入力され、さらに同一文字の連続数についての誤入力がされた場合であっても、適切な順序で候補語をリスト表示させることができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して、本発明に係る候補単語表示装置を電子辞書に適用した場合の実施形態について詳細に説明する。
【００１１】
まず、本実施形態における電子辞書の構成を説明する。
［外観構成］
図１は、電子辞書１の平面図である。
この図に示すように、電子辞書１は、メインディスプレイ１０、サブディスプレイ１１及びキー群２を備えている。
【００１２】
メインディスプレイ１０及びサブディスプレイ１１は、ユーザによるキー群２の操作に応じた文字や符号等、各種データを表示する部分であり、ＬＣＤ（Liquid Crystal Display）やＥＬＤ（Electronic Luminescent Display）等によって構成されている。なお、本実施の形態におけるサブディスプレイ１１は、いわゆるタッチパネル１１ａ（図２参照）と一体的に形成されており、表面を押下することにより、押下位置に応じた入力操作が可能となっている。
【００１３】
キー群２は、ユーザが電子辞書１を操作するための各種キーを有している。具体的には、キー群２は、訳／決定キー２ｂと、文字キー２ｃと、辞書選択キー２ｄと、カーソルキー２ｅと、シフトキー２ｆと、戻るキー２ｇ等とを有している。
【００１４】
訳／決定キー２ｂは、検索の実行や、見出語の決定等に使用されるキーである。文字キー２ｃは、ユーザによる文字の入力等に使用されるキーであり、本実施の形態においては“Ａ”〜“Ｚ”キーを備えている。辞書選択キー２ｄは、後述の辞書データベース８４，…（図２参照）の選択に使用されるキーである。
【００１５】
カーソルキー２ｅは、画面内の反転表示位置、つまりカーソル位置の移動等に使用されるキーであり、本実施の形態においては上下左右の方向を指定可能となっている。シフトキー２ｆは、日本語の単語を検索対象に設定するとき等に使用されるキーである。戻るキー２ｇは、前回表示した画面に戻るとき等に使用されるキーである。
【００１６】
［内部構成］
続いて、電子辞書１の内部構造について説明する。図２は、電子辞書１の内部構成を示すブロック図である。
【００１７】
この図に示すように、電子辞書１は、表示部４０、入力部３０、ＣＰＵ（Central Processing Unit）２０、フラッシュＲＯＭ（Read Only Memory）８０、ＲＡＭ（Random Access Memory）９０を備え、各部はバスＢで相互にデータ通信可能に接続されて構成されている。
【００１８】
表示部４０は、上述のメインディスプレイ１０及びサブディスプレイ１１を備えており、ＣＰＵ２０から入力される表示信号に基づいて各種情報をメインディスプレイ１０やサブディスプレイ１１に表示するようになっている。
【００１９】
入力部３０は、上述のキー群２やタッチパネル１１ａを備えており、押下されたキーやタッチパネル１１ａの位置に対応する信号をＣＰＵ２０に出力するようになっている。
【００２０】
ＣＰＵ２０は、入力される指示に応じて所定のプログラムに基づいた処理を実行し、各機能部への指示やデータの転送等を行い、電子辞書１を統括的に制御するようになっている。具体的には、ＣＰＵ２０は、入力部３０から入力される操作信号等に応じてフラッシュＲＯＭ８０に格納された各種プログラムを読み出し、当該プログラムに従って処理を実行する。そして、ＣＰＵ２０は、処理結果をＲＡＭ９０に保存するとともに、当該処理結果を表示部４０に適宜出力させる。
【００２１】
フラッシュＲＯＭ８０は、電子辞書１の各種機能を実現するためのプログラムやデータを記憶するメモリである。本実施の形態においては、フラッシュＲＯＭ８０は、辞書検索プログラム８１と、本発明に係る候補単語表示プログラム８２と、辞書データベース群８３と、文字置換テーブル８５等とを記憶している。
【００２２】
辞書検索プログラム８１は、従来より公知の辞書検索処理、即ち、ユーザ操作で指定された見出語に対応する説明情報を検索して表示する処理をＣＰＵ２０に実行させるためのプログラムである。
【００２３】
候補単語表示プログラム８２は、後述の候補単語表示処理（図５〜図８参照）をＣＰＵ２０に実行させるためのプログラムである。
【００２４】
辞書データベース群８３は、複数の辞書データベース８４，…を有しており、本実施の形態においては、英和辞典の辞書データベース８４ａ等を有している。これら辞書データベース８４には、例えば図３に１例を示すように、複数の見出語に対して、この見出語の意味内容からなる説明情報などが対応付けされて格納されている。
【００２５】
文字置換テーブル８５には、図４に示すように、後述の候補単語表示処理（図５〜図８参照）において置換対象とされる文字（文字列）と、その置換後の文字とが対応付けされて格納されている。但し、図中の備考欄に示すように、所定の置換対象の文字（文字列）については、当該文字（文字列）が単語等の末尾文字である場合には、候補単語表示処理において置換が行われないようになっている。なお、本実施の形態においては、これら置換前後の文字列は、互いに発音が類似する関係となっている。
【００２６】
ＲＡＭ９０は、ＣＰＵ２０が実行する各種プログラムや、これらプログラムの実行に係るデータ等を一時的に保持するメモリ領域を備えている。このＲＡＭ９０は、本実施の形態においては、検索文字列記憶領域９２、候補語記憶領域９３、評価用文字列記憶領域９４、一致度記憶領域９５及びスコア記憶領域９６等を備えている。
【００２７】
ここで、検索文字列記憶領域９２には、ユーザにより入力された検索文字列が格納されるようになっている。
また、候補語記憶領域９３には、後述の候補単語表示処理（図５〜図８参照）において検索文字列に基づいて辞書データベース８４から検出される複数の見出語が、表示候補の単語（以下、候補語とする）として記憶されるようになっている。
【００２８】
また、評価用文字列記憶領域９４には、後述の評価用文字列の生成処理（図６〜図７参照）において、検索文字列に対する各候補語の一致度を評価するための評価用文字列が、当該候補語に対応付けられて記憶されるようになっている。
【００２９】
また、一致度記憶領域９５には、後述の一致度算出処理（図８参照）において検索文字列に対する各候補語・評価用文字列の一致度が当該各候補語・評価用文字列に対応付けられて記憶されるようになっている。
【００３０】
また、スコア記憶領域９６には、後述の候補単語表示処理（図５〜図８参照）において各候補語の表示順序を決定するための評価用のスコアが当該各候補語に対応付けられて記憶されるようになっている。
【００３１】
［動作］
続いて、電子辞書１の動作について説明する。
図５〜図８は、ＣＰＵ２０が候補単語表示プログラム８２を読み出して実行する候補単語表示処理の流れを示すフローチャートである。なお、本実施の形態における候補単語表示処理は、従来より公知の辞書検索処理などにおいて、何れかの辞書データベース８４を選択辞書データベース８４０として選択した後、検索文字列を入力して見出語候補を表示させる場合などに実行されるようになっている。
【００３２】
まず、図５に示すように、ユーザ操作によりキー群２やタッチパネル１１ａを介して検索文字列が入力されると（ステップＳ１）、ＣＰＵ２０は、当該検索文字列を検索文字列記憶領域９２に記憶させた後、この検索文字列に対応する見出語の各単語を選択辞書データベース８４０から候補語として検出し、候補語記憶領域９３に記憶させる（ステップＳ２）。より詳細には、ステップＳ２においてＣＰＵ２０は、検索文字列に対して１文字置換や文字追加、文字順序変換など、従来より公知のスペルチェックの手法を行った後、当該スペルチェック前後の検索文字列に前方一致するようアルファベット順や五十音順に選択辞書データベース８４０から複数の候補語を検出するようになっている。なお、このような候補語の検出方法としては、例えば上記特許文献１に記載の方法を使用することができる。
【００３３】
次に、ＣＰＵ２０は、各候補語についての評価用文字列の生成処理を行う（ステップＳ３）。
具体的には、図６に示すように、まずＣＰＵ２０は、何れかの候補語を評価用文字列の生成対象（以下、評価用文字列−生成候補語とする）として設定した後（ステップＴ１）、当該評価用文字列−生成候補語の先頭文字を置換候補文字として設定する（ステップＴ２）。
【００３４】
次に、ＣＰＵ２０は、文字置換テーブル８５内の情報に基づいて、置換候補文字が置換対象文字であるか否かを判定し（ステップＴ３）、置換対象文字ではないと判定した場合（ステップＴ３；Ｎｏ）には、当該置換候補文字が評価用文字列−生成候補語の末尾文字であるか否かを判定する（ステップＴ４）。
【００３５】
このステップＴ４において置換候補文字が末尾文字ではないと判定した場合（ステップＴ４；Ｎｏ）には、ＣＰＵ２０は、評価用文字列−生成候補語における１つ後の文字を置換候補文字として設定し（ステップＴ５）、上述のステップＴ３に移行する。また、ステップＴ４において置換候補文字が末尾文字であると判定した場合（ステップＴ４；Ｙｅｓ）には、ＣＰＵ２０は、後述のステップＴ７に移行する。
【００３６】
一方、上述のステップＴ３において置換候補文字が置換対象文字であると判定した場合（ステップＴ３；Ｙｅｓ）には、ＣＰＵ２０は、文字置換テーブル８５内の情報に基づいて評価用文字列−生成候補語における置換候補文字を置換することで評価用文字列を生成し、評価用文字列−生成候補語に対応付けて評価用文字列記憶領域９４に記憶させる（ステップＴ６）。これにより、評価用文字列記憶領域９４には、文字置換テーブル８５内で対応付けられている発音類似文字について、評価用文字列−生成候補語中の文字を発音類似文字に置換した評価用文字列が記憶される。
【００３７】
次に、ＣＰＵ２０は、置換候補文字が評価用文字列−生成候補語の末尾文字であるか否かを判定し（ステップＴ７）、末尾文字ではないと判定した場合（ステップＴ７；Ｎｏ）には、評価用文字列−生成候補語における１つ後の文字を置換候補文字として設定する（ステップＴ８）。
【００３８】
次に、ＣＰＵ２０は、文字置換テーブル８５内の情報に基づいて、置換候補文字が置換対象文字であるか否かを判定し（ステップＴ９）、置換対象文字ではないと判定した場合（ステップＴ９；Ｎｏ）には、上述のステップＴ７に移行する。
【００３９】
また、ステップＴ９において置換候補文字が置換対象文字であると判定した場合（ステップＴ９；Ｙｅｓ）には、ＣＰＵ２０は、図７に示すように、評価用文字列−生成候補語の末尾文字を置換候補文字として設定した後（ステップＴ２１）、文字置換テーブル８５内の情報に基づいて、当該置換候補文字が置換対象文字であるか否かを判定する（ステップＴ２２）。
【００４０】
このステップＴ２２において置換候補文字が置換対象文字であると判定した場合（ステップＴ２２；Ｙｅｓ）には、ＣＰＵ２０は、文字置換テーブル８５内の情報に基づいて評価用文字列−生成候補語における置換候補文字を置換することで評価用文字列を生成し、評価用文字列−生成候補語に対応付けて評価用文字列記憶領域９４に記憶させた後（ステップＴ２３）、図６に示すように、後述のステップＴ１０に移行する。これにより、評価用文字列記憶領域９４には、文字置換テーブル８５内で対応付けられている発音類似文字について、評価用文字列−生成候補語中の文字を発音類似文字に置換した評価用文字列が記憶される。
【００４１】
また、図７に示すように、ステップＴ２２において置換候補文字が置換対象文字ではないと判定した場合（ステップＴ２２；Ｎｏ）には、ＣＰＵ２０は、置換候補文字が評価用文字列−生成候補語における先頭文字であるか否かを判定し（ステップＴ２４）、先頭文字であると判定した場合（ステップＴ２４；Ｙｅｓ）には、図６に示すように、後述のステップＴ１０に移行する。
【００４２】
また、図７に示すように、ステップＴ２４において置換候補文字が先頭文字ではないと判定した場合（ステップＴ２４；Ｎｏ）には、ＣＰＵ２０は、評価用文字列−生成候補語における１つ前の文字を置換候補文字として設定し（ステップＴ２５）、上述のステップＴ２２に移行する。
【００４３】
また、図６に示すように、ステップＴ７において置換候補文字が評価用文字列−生成候補語の末尾文字であると判定した場合（ステップＴ７；Ｙｅｓ）には、ＣＰＵ２０は、評価用文字列−生成候補語及び評価用文字列内に同じ種類の文字の連続部分があるか否かを判定し（ステップＴ１０）、連続部分がないと判定した場合（ステップＴ１０；Ｎｏ）には、後述のステップＴ１２に移行する。
【００４４】
また、ステップＴ１０において連続部分があると判定した場合（ステップＴ１０；Ｙｅｓ）には、ＣＰＵ２０は、評価用文字列−生成候補語または評価用文字列における当該連続部分の２文字を１文字に置換することで評価用文字列を生成し、評価用文字列−生成候補語に対応付けて評価用文字列記憶領域９４に記憶させる（ステップＴ１１）。より詳細には、このステップＴ１１において評価用文字列における同一文字の連続部分を１文字に置換する場合には、ＣＰＵ２０は、置換前の評価用文字列の生成元となった評価用文字列−生成候補語に対応付けて、置換後の評価用文字列を記憶させる。
【００４５】
そして、ＣＰＵ２０は、全ての候補語を評価用文字列−生成候補語として設定したか否かを判定し（ステップＴ１２）、設定していないと判定した場合（ステップＴ１２；Ｎｏ）には、上述のステップＴ１に移行し、設定したと判定した場合（ステップＴ１２；Ｙｅｓ）には、評価用文字列の生成処理を終了する。
【００４６】
次に、ＣＰＵ２０は、図５に示すように、検索文字列対する各候補語・評価用文字列の一致度の算出処理を行う（ステップＳ４）。
【００４７】
具体的には、図８に示すように、ＣＰＵ２０は、何れかの候補語・評価用文字列を一致度の算出対象として設定し（ステップＴ５１）、当該一致度算出対象の候補語・評価用文字列と、検索文字列との文字数の相違数を検出し、この相違数を（−１）倍して評価値「ａ」として算出する（ステップＴ５２）。
【００４８】
次に、ＣＰＵ２０は、一致度算出対象の候補語・評価用文字列と、検索文字列との先頭文字からの一致文字数を検出し、この文字数を５倍して評価値「ｂ」として算出する（ステップＴ５３）。
【００４９】
次に、ＣＰＵ２０は、一致度算出対象の候補語・評価用文字列と、検索文字列との末尾文字からの一致文字数を検出し、この文字数を５倍して評価値「ｃ」として算出する（ステップＴ５４）。
【００５０】
次に、ＣＰＵ２０は、評価値ａ〜ｃの合計値を候補語・評価用文字列の一致度として算出し、該当する候補語・評価用文字列に対応付けて一致度記憶領域９５に記憶させる（ステップＴ５５）。
【００５１】
そして、ＣＰＵ２０は、全ての候補語・評価用文字列を一致度の算出対象として設定したか否かを判定し（ステップＴ５６）、設定していないと判定した場合（ステップＴ５６；Ｎｏ）には、上述のステップＴ５１に移行し、設定したと判定した場合（ステップＴ５６；Ｙｅｓ）には、一致度の算出処理を終了する。
【００５２】
次に、ＣＰＵ２０は、図５に示すように、一致度記憶領域９５内の情報に基づいて候補語の一致度と、この候補語に対応する評価用文字列、つまり当該候補語から派生して生成された評価用文字列の各一致度とのうち、最も値の大きい一致度の数値を当該候補語の評価用スコアとし、該当する候補語に対応付けてスコア記憶領域９６に記憶させる（ステップＳ５）。
【００５３】
そして、ＣＰＵ２０は、評価用スコアの大きい順に候補語をメインディスプレイ１０に一覧表示させ（ステップＳ６）、候補単語表示処理を終了する。なお、このステップＳ６において、同スコアの候補語が複数ある場合には、ＣＰＵ２０は、ステップＳ２での検出順に従って、これら同スコアの候補語を順に表示するようになっている。
【００５４】
（動作例）
続いて、図９〜図２９を参照しつつ、上記の候補単語表示処理を具体的に説明する。なお、図９〜図２９では、候補語を太字で示すことにより、評価用文字列と区別している。
【００５５】
＜動作例１＞
まず、図９に示すように、ユーザが英和辞書の辞書データベース８４ａを選択辞書データベース８４０として選択した後、単語「accurate」を表示させようとして、検索文字列「aculate」を入力すると（ステップＳ１、図中左上の欄参照））、当該検索文字列「aculate」に対応する見出語「acetate」，「acolyte」，「actuate」，「adulate」，「accurate」，「ambulate」，「emulate」，「ovulate」，「osculate」，「ululate」等が候補語として選択辞書データベース８４０から検出された後（ステップＳ２、図中の左側欄参照）、評価用文字列の生成処理が行われる（ステップＳ３）。
【００５６】
この評価用文字列の生成処理においては、例えば候補語「acetate」が評価用文字列の生成対象として設定されると（ステップＴ１）、まず先頭の文字「a」が置換候補文字として設定される（ステップＴ２）。
【００５７】
次に、この置換候補文字「a」が置換対象文字ではなく、末尾文字でもないと判定され（ステップＴ３；Ｎｏ，ステップＴ４；Ｎｏ）、候補語「acetate」における１つ後の文字「c」が置換候補文字として設定される（ステップＴ５）。
【００５８】
次に、この置換候補文字「c」が置換対象文字であると判定された後（ステップＴ３；Ｙｅｓ）、候補語「acetate」における置換候補文字「c」が文字「s」に置換され、評価用文字列「asetate」が生成される（ステップＴ６）。
【００５９】
次に、置換候補文字「c」が末尾文字でないと判定され（ステップＴ７；Ｎｏ）、候補語「acetate」における１つ後の文字「e」が置換候補文字として設定される（ステップＴ８）。
【００６０】
次に、置換候補文字「e」が置換対象文字ではなく、末尾文字でもないと判定された後（ステップＴ９；Ｎｏ、ステップＴ７；Ｎｏ）、同様にして、候補語「acetate」における後の各文字「t」，「a」，「t」が置換候補文字として設定され（ステップＴ８）、当該置換候補文字「t」，「a」，「t」が置換対象文字ではなく、末尾文字でもないと判定される（ステップＴ９；Ｎｏ、ステップＴ７；Ｎｏ）。
【００６１】
そして、候補語「acetate」における１つ後の文字「e」が置換候補文字として設定され（ステップＴ８）、当該置換候補文字「e」が置換対象文字ではなく、末尾文字であると判定された後（ステップＴ９；Ｎｏ、ステップＴ７；Ｙｅｓ）、候補語内に同じ種類の文字の連続部分がないと判定され、候補語「acetate」についての評価用文字列の生成が終了する（ステップＴ１０；Ｎｏ）。
【００６２】
また、例えば候補語「accurate」が評価用文字列の生成対象として設定されると（ステップＴ１）、まず先頭の文字「a」が置換候補文字として設定された後（ステップＴ２）、この置換候補文字「a」が置換対象文字ではなく、末尾文字でもないと判定され（ステップＴ３；Ｎｏ，ステップＴ４；Ｎｏ）、候補語「accurate」における１つ後の文字「c」（２文字目）が置換候補文字として設定される（ステップＴ５）。
【００６３】
次に、この置換候補文字「c」が置換対象文字であると判定された後（ステップＴ３；Ｙｅｓ）、候補語「accurate」における置換候補文字「c」（２文字目）が文字「s」に置換されて、評価用文字列「ascurate」が生成される（ステップＴ６）。
【００６４】
次に、置換候補文字「c」（２文字目）が末尾文字でないと判定され（ステップＴ７；Ｎｏ）、候補語「accurate」における１つ後の文字「c」（３文字目）が置換候補文字として設定される（ステップＴ８）。
【００６５】
次に、置換候補文字「c」（３文字目）が置換対象文字であると判定された後（ステップＴ９；Ｙｅｓ）、候補語「accurate」における末尾文字「e」が置換候補文字として設定され（ステップＴ２１）、当該置換候補文字「e」が置換対象文字ではなく、先頭文字でないと判定された後（ステップＴ２２；Ｎｏ、ステップＴ２４；Ｎｏ）、候補語「accurate」における１つ前の文字「t」が置換候補文字として設定される（ステップＴ８）。
【００６６】
次に、置換候補文字「t」が置換対象文字ではなく、先頭文字でもないと判定された後（ステップＴ２２；Ｎｏ、ステップＴ２４；Ｎｏ）、同様にして、候補語「accurate」における１つ前の文字「a」（６文字目）が置換候補文字として設定され（ステップＴ２５）、当該置換候補文字「a」が置換対象文字ではなく、先頭文字でもないと判定される（ステップＴ２２；Ｎｏ、ステップＴ２４；Ｎｏ）。
【００６７】
次に、候補語「accurate」における１つ前の文字「r」が置換候補文字として設定され（ステップＴ２５）、この置換候補文字「r」が置換対象文字であると判定された後（ステップＴ２３；Ｙｅｓ）、候補語「accurate」における置換候補文字「r」が文字「l」に置換されて、評価用文字列「acculate」が生成される（ステップＴ２３）。
【００６８】
次に、候補語「accurate」，評価用文字列「acculate」内に同じ種類の文字の連続部分「cc」があると判定された後（ステップＴ１０；Ｙｅｓ）、これら候補語「accurate」，評価用文字列「acculate」における当該連続部分の２文字「cc」が一文字「c」に置換されて、評価用文字列「acurate」，「acculate」が生成され、候補語「accurate」についての評価用文字列の生成が終了する（ステップＴ１１）。
【００６９】
そして、同様にして、他の候補語「asolyte」等が評価用文字列の生成対象として設定され（ステップＴ１）、その評価用文字列が生成された後、評価用文字列の生成処理が終了し、検索文字列に対する一致度の算出処理が行われる（ステップＳ４）。
【００７０】
この一致度算出処理においては、図９〜図１２に示すように、例えば候補語「acetate」が算出対象として設定されると（ステップＴ５１）、当該候補語「acetate」と、検索文字列「aculate」との文字数の相違数「０」が検出され（図中の「文字相違数」の欄参照）、この相違数「０」が（−１）倍されて評価値「ａ」（＝０）として算出される（ステップＴ５２、図中の「評価値ａ」の欄参照）。
【００７１】
次に、候補語「acetate」と検索文字列「aculate」との先頭文字からの一致文字数、つまり先頭文字「a」から２番目の文字「c」までの文字数「２」が検出され（図中の「先頭文字からの文字一致数」の欄参照）、この文字数「２」が５倍されて評価値「ｂ」（＝１０）として算出される（ステップＴ５３、図中の「評価値ｂ」の欄参照）。
【００７２】
次に、候補語「acetate」と検索文字列「aculate」との末尾文字からの一致文字数、つまり末尾文字「e」から３番目の文字「a」までの文字数「３」が検出され（図中の「末尾文字からの一致数」の欄参照）、この文字数が５倍されて評価値「ｃ」（＝１５）として算出される（ステップＴ５４、図中の「評価値ｃ」の欄参照）。
【００７３】
次に、評価値ａ〜ｃの合計値「２５」（＝０＋１０＋１５）が検索文字列「aculate」に対する候補語「acetate」の一致度として算出される（ステップＴ５５、図中の「一致度ａ＋ｂ＋ｃ」の欄参照）。
【００７４】
同様に、例えば評価用文字列「asetate」が算出対象として設定されると（ステップＴ５１）、当該評価用文字列「asetate」と、検索文字列「aculate」との文字数の相違数「０」が検出され、この相違数「０」が（−１）倍されて評価値「ａ」（＝０）として算出される（ステップＴ５２）。
【００７５】
次に、評価用文字列「asetate」と検索文字列「aculate」との先頭文字からの一致文字数、つまり先頭文字「a」のみの文字数「１」が検出され、この文字数「１」が５倍されて評価値「ｂ」（＝５）として算出される（ステップＴ５３）。
【００７６】
次に、評価用文字列「asetate」と検索文字列「aculate」との末尾文字からの一致文字数、つまり末尾文字「e」から３番目の文字「a」までの文字数「３」が検出され、この文字数が５倍されて評価値「ｃ」（＝１５）として算出される（ステップＴ５４）。
【００７７】
次に、評価値ａ〜ｃの合計値「２０」（＝０＋５＋１５）が検索文字列「aculate」に対する評価用文字列「asetate」の一致度として算出される（ステップＴ５５）。
【００７８】
また、例えば候補語「accurate」が算出対象として設定されると（ステップＴ５１）、当該候補語「accurate」と、検索文字列「aculate」との文字数の相違数「１」が検出され、この相違数「１」が（−１）倍されて評価値「ａ」（＝−１）として算出される（ステップＴ５２）。
【００７９】
次に、候補語「accurate」と検索文字列「aculate」との先頭文字からの一致文字数、つまり先頭文字「a」から２番目の文字「c」までの文字数「２」が検出され、この文字数「２」が５倍されて評価値「ｂ」（＝１０）として算出される（ステップＴ５３）。
【００８０】
次に、候補語「accurate」と検索文字列「aculate」との末尾文字からの一致文字数、つまり末尾文字「e」から３番目の文字「a」までの文字数「３」が検出され、この文字数が５倍されて評価値「ｃ」（＝１５）として算出される（ステップＴ５４）。
【００８１】
次に、評価値ａ〜ｃの合計値「２４」（＝−１＋１０＋１５）が検索文字列「aculate」に対する候補語「accurate」の一致度として算出される（ステップＴ５５）。
【００８２】
また、例えば評価用文字列「acurate」が算出対象として設定されると（ステップＴ５１）、当該評価用文字列「acurate」と、検索文字列「aculate」との文字数の相違数「０」が検出され、この相違数「０」が（−１）倍されて評価値「ａ」（＝０）として算出される（ステップＴ５２）。
【００８３】
次に、評価用文字列「acurate」と検索文字列「aculate」との先頭文字からの一致文字数、つまり先頭文字「a」から３番目の文字「u」までの文字数「３」が検出され、この文字数「３」が５倍されて評価値「ｂ」（＝１５）として算出される（ステップＴ５３）。
【００８４】
次に、評価用文字列「acurate」と検索文字列「aculate」との末尾文字からの一致文字数、つまり末尾文字「e」から３番目の文字「a」までの文字数「３」が検出され、この文字数が５倍されて評価値「ｃ」（＝１５）として算出される（ステップＴ５４）。
【００８５】
次に、評価値ａ〜ｃの合計値「３０」（＝０＋１５＋１５）が検索文字列「aculate」に対する評価用文字列「acurate」の一致度として算出される（ステップＴ５５）。
【００８６】
また、例えば評価用文字列「ascurate」が算出対象として設定されると（ステップＴ５１）、当該評価用文字列「ascurate」と、検索文字列「aculate」との文字数の相違数「１」が検出され、この相違数「１」が（−１）倍されて評価値「ａ」（＝−１）として算出される（ステップＴ５２）。
【００８７】
次に、評価用文字列「ascurate」と検索文字列「aculate」との先頭文字からの一致文字数、つまり先頭文字「a」のみの文字数「１」が検出され、この文字数「１」が５倍されて評価値「ｂ」（＝５）として算出される（ステップＴ５３）。
【００８８】
次に、評価用文字列「ascurate」と検索文字列「aculate」との末尾文字からの一致文字数、つまり末尾文字「e」から３番目の文字「a」までの文字数「３」が検出され、この文字数が５倍されて評価値「ｃ」（＝１５）として算出される（ステップＴ５４）。
【００８９】
次に、評価値ａ〜ｃの合計値「１９」（＝−１＋５＋１５）が検索文字列「aculate」に対する評価用文字列「ascurate」の一致度として算出される（ステップＴ５５）。
【００９０】
また、例えば評価用文字列「acculate」が算出対象として設定されると（ステップＴ５１）、当該評価用文字列「acculate」と、検索文字列「aculate」との文字数の相違数「１」が検出され、この相違数「１」が（−１）倍されて評価値「ａ」（＝−１）として算出される（ステップＴ５２）。
【００９１】
次に、評価用文字列「acculate」と検索文字列「aculate」との先頭文字からの一致文字数、つまり先頭文字「a」から２番目の文字「c」までの文字数「２」が検出され、この文字数「２」が５倍されて評価値「ｂ」（＝１０）として算出される（ステップＴ５３）。
【００９２】
次に、評価用文字列「acculate」と検索文字列「aculate」との末尾文字からの一致文字数、つまり末尾文字「e」から６番目の文字「c」までの文字数「６」が検出され、この文字数が５倍されて評価値「ｃ」（＝３０）として算出される（ステップＴ５４）。
【００９３】
次に、評価値ａ〜ｃの合計値「３９」（＝−１＋１０＋３０）が検索文字列「aculate」に対する評価用文字列「acculate」の一致度として算出される（ステップＴ５５）。
【００９４】
また、例えば評価用文字列「aculate」が算出対象として設定されると（ステップＴ５１）、当該評価用文字列「aculate」と、検索文字列「aculate」との文字数の相違数「０」が検出され、この相違数「０」が（−１）倍されて評価値「ａ」（＝０）として算出される（ステップＴ５２）。
【００９５】
次に、評価用文字列「aculate」と検索文字列「aculate」との先頭文字からの一致文字数、つまり先頭文字「a」から７番目の文字「e」までの文字数「７」が検出され、この文字数「７」が５倍されて評価値「ｂ」（＝３５）として算出される（ステップＴ５３）。
【００９６】
次に、評価用文字列「aculate」と検索文字列「aculate」との末尾文字からの一致文字数、つまり末尾文字「e」から７番目の文字「a」までの文字数「７」が検出され、この文字数が５倍されて評価値「ｃ」（＝３５）として算出される（ステップＴ５４）。
【００９７】
次に、評価値ａ〜ｃの合計値「７０」（＝０＋３５＋３５）が検索文字列「aculate」に対する評価用文字列「aculate」の一致度として算出される（ステップＴ５５）。
【００９８】
そして、同様にして、他の候補語・評価用文字列が算出対象として設定されて（ステップＴ５１）、その一致度が算出されると、一致度の算出処理が終了する。
【００９９】
次に、候補語の一致度と、この候補語に対応する評価用文字列の各一致度とのうち、最も値の大きい一致度の値が当該候補語の評価用スコアに設定される（ステップＳ５）（図中の「総合スコア」の欄参照）。
【０１００】
これにより、例えば候補語「acetate」の評価用スコアは、当該候補語「acetate」の一致度「２５」と、その評価用文字列「asetate」の一致度「２０」とのうち、最も値の大きい一致度の値「２５」となる。
【０１０１】
同様に、候補語「accurate」の評価用スコアは、当該候補語「accurate」の一致度「２４」と、その評価用文字列「acurate」の一致度が「３０」と、評価用文字列「ascurate」の一致度が「１９」と、評価用文字列「acculate」の一致度が「３９」と、評価用文字列「aculate」の一致度が「７０」とのうち、最も値の大きい一致度の値「７０」となる。
【０１０２】
そして、評価用スコアに基づいて候補語「accurate」，「adulate」，「ambulate」，…がこの順でメインディスプレイ１０に一覧表示される（ステップＳ６、図中の「表示順序」の欄参照）。
【０１０３】
＜動作例２＞
上記動作例１と同様に、ユーザが英和辞書の辞書データベース８４ａを選択辞書データベース８４０として選択した後、単語「accurate」を表示させようとして、検索文字列「acurate」を入力すると（ステップＳ１）、図１２〜図１４に示すように、候補語「accurate」，「adulate」，「acetate」，…がこの順でメインディスプレイ１０に一覧表示される（ステップＳ６）。
【０１０４】
＜動作例３＞
上記動作例１と同様に、ユーザが英和辞書の辞書データベース８４ａを選択辞書データベース８４０として選択した後、単語「discernible」を表示させようとして、検索文字列「dissernible」を入力すると（ステップＳ１）、図１５〜図１７に示すように、候補語「discernible」，「dissyllable」，「disservice」，…がこの順でメインディスプレイ１０に一覧表示される（ステップＳ６）。
【０１０５】
＜動作例４＞
上記動作例１と同様に、ユーザが英和辞書の辞書データベース８４ａを選択辞書データベース８４０として選択した後、単語「foreign」を表示させようとして、検索文字列「forrin」を入力すると（ステップＳ１）、図１８〜図２０に示すように、候補語「fibrin」，「florin」，「foreign」，…がこの順でメインディスプレイ１０に一覧表示される（ステップＳ６）。
【０１０６】
＜動作例５＞
上記動作例１と同様に、ユーザが英和辞書の辞書データベース８４ａを選択辞書データベース８４０として選択した後、単語「parallel」を表示させようとして、検索文字列「pararel」を入力すると（ステップＳ１）、図２１〜図２３に示すように、候補語「parallel」，「parader」，「parasol」，…がこの順でメインディスプレイ１０に一覧表示される（ステップＳ６）。
【０１０７】
＜動作例６＞
上記動作例１と同様に、ユーザが英和辞書の辞書データベース８４ａを選択辞書データベース８４０として選択した後、単語「jewelry」を表示させようとして、検索文字列「jewely」を入力すると（ステップＳ１）、図２４〜図２６に示すように、候補語「jewelry」，「jewel」，「jewry」，…がこの順でメインディスプレイ１０に一覧表示される（ステップＳ６）。
【０１０８】
＜動作例７＞
上記動作例１と同様に、ユーザが英和辞書の辞書データベース８４ａを選択辞書データベース８４０として選択した後、単語「conductor」を表示させようとして、検索文字列「conducter」を入力すると（ステップＳ１）、図２７〜図２９に示すように、候補語「conductor」，「connecter」，「conduction」，…がこの順でメインディスプレイ１０に一覧表示される（ステップＳ６）。
【０１０９】
以上の電子辞書１によれば、図５〜図２９等に示したように、選択辞書データベース８４０における見出語の各単語のうち、検索文字列に対応する単語が候補語として検出された後、予め対応付けて文字置換テーブル８５に記憶された発音の類似する文字について各候補語中の文字を発音が類似する文字に置換した文字列と、当該文字列及び各候補語のそれぞれの中で連続する同一の複数文字を１文字に置換して得られる文字列とが評価用文字列として生成され、各候補語と、当該候補語に対応する各評価用文字列との検索文字列に対する一致度が算出され、候補語と、当該候補語に対応する各評価用文字列との各一致度のうち、最も高い一致度が検索文字列に対する当該候補語の評価用の評価用スコアとされて、評価用スコアの高い順に候補語がリスト表示されるので、候補語と検索文字列との一致度に加え、候補語と評価用文字列との一致度に基づいて評価用スコアが設定され、当該評価用スコアの高い順に候補語がリスト表示される。従って、発音の類似する文字が誤入力され、さらに同一文字の連続数についての誤入力がされた場合であっても、従来と比較して適切な順序で候補語をリスト表示させることができる。
【０１１０】
また、図８のステップＴ５３〜Ｔ５５や、図１１〜図２９に示したように、検索文字列と、候補語または評価用文字列との各文字を比較して、先頭からの一致文字数と末尾からの一致文字数とを算出し、これらの一致文字数に基づいて前記一致度を算出するので、より確実に、適切な順序で候補語をリスト表示させるさせることができる。
【０１１１】
また、図８のステップＴ５２，Ｔ５５や、図１１〜図２９に示したように、検索文字列と、候補語または評価用文字列との文字数の相違数に基づいて前記一致度を算出するので、より確実に、適切な順序で候補語をリスト表示させるさせることができる。
【０１１２】
なお、本発明を適用可能な実施形態は、上述した実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【０１１３】
例えば、本発明に係る候補単語表示装置を電子辞書１として説明したが、本発明が適用可能なものは、このような製品に限定されず、携帯電話、パソコンなどの電子機器全般に適用可能である。また、本発明に係る候補単語表示プログラム８２は、電子辞書１に対して着脱可能なメモリカード、ＣＤ等に記憶されることとしてもよい。
【図面の簡単な説明】
【０１１４】
【図１】本発明に係る候補単語表示装置を適用した電子辞書を示す平面図である。
【図２】本発明に係る候補単語表示装置を適用した電子辞書の概略構成を示すブロック図である。
【図３】辞書データベースの構造を示す図である。
【図４】文字置換テーブルの構造を示す図である。
【図５】候補単語表示処理の動作を示すフローチャートである。
【図６】評価用文字列の生成処理の動作を示すフローチャートである。
【図７】評価用文字列の生成処理の動作を示すフローチャートである。
【図８】スコア算出処理の動作を示すフローチャートである。
【図９】候補単語表示処理の動作例を説明するための図である。
【図１０】候補単語表示処理の動作例を説明するための図である。
【図１１】候補単語表示処理の動作例を説明するための図である。
【図１２】候補単語表示処理の動作例を説明するための図である。
【図１３】候補単語表示処理の動作例を説明するための図である。
【図１４】候補単語表示処理の動作例を説明するための図である。
【図１５】候補単語表示処理の動作例を説明するための図である。
【図１６】候補単語表示処理の動作例を説明するための図である。
【図１７】候補単語表示処理の動作例を説明するための図である。
【図１８】候補単語表示処理の動作例を説明するための図である。
【図１９】候補単語表示処理の動作例を説明するための図である。
【図２０】候補単語表示処理の動作例を説明するための図である。
【図２１】候補単語表示処理の動作例を説明するための図である。
【図２２】候補単語表示処理の動作例を説明するための図である。
【図２３】候補単語表示処理の動作例を説明するための図である。
【図２４】候補単語表示処理の動作例を説明するための図である。
【図２５】候補単語表示処理の動作例を説明するための図である。
【図２６】候補単語表示処理の動作例を説明するための図である。
【図２７】候補単語表示処理の動作例を説明するための図である。
【図２８】候補単語表示処理の動作例を説明するための図である。
【図２９】候補単語表示処理の動作例を説明するための図である。
【符号の説明】
【０１１５】
１  電子辞書（候補単語表示装置）
２０  ＣＰＵ（候補語検出手段、評価用文字列生成手段、一致度算出手段、
評価用スコア設定手段、一致文字数・一致度算出手段、
文字相違数・一致度算出手段）
３０  入力部（入力手段）
４０  表示部（候補単語表示手段）
８２  候補単語表示プログラム
８４，８４ａ，８４０  辞書データベース（単語記憶手段）
８５  文字置換テーブル（発音類似文字記憶手段）
【図１】
0005061786.tif 000002
【図２】
0005061786.tif 000003
【図３】
0005061786.tif 000004
【図４】
0005061786.tif 000005
【図５】
0005061786.tif 000006
【図６】
0005061786.tif 000007
【図７】
0005061786.tif 000008
【図８】
0005061786.tif 000009
【図９】
0005061786.tif 000010
【図１０】
0005061786.tif 000011
【図１１】
0005061786.tif 000012
【図１２】
0005061786.tif 000013
【図１３】
0005061786.tif 000014
【図１４】
0005061786.tif 000015
【図１５】
0005061786.tif 000016
【図１６】
0005061786.tif 000017
【図１７】
0005061786.tif 000018
【図１８】
0005061786.tif 000019
【図１９】
0005061786.tif 000020
【図２０】
0005061786.tif 000021
【図２１】
0005061786.tif 000022
【図２２】
0005061786.tif 000023
【図２３】
0005061786.tif 000024
【図２４】
0005061786.tif 000025
【図２５】
0005061786.tif 000026
【図２６】
0005061786.tif 000027
【図２７】
0005061786.tif 000028
【図２８】
0005061786.tif 000029
【図２９】
0005061786.tif 000030