(57)【要約】【課題】  電子辞書などの小型の装置に適した簡易な構成でクリプティック・クロスワードの解答を検索する単語検索装置を提供する。【解決手段】  クリプティック・クロスワードの問題文と解答単語文字数とを入力する文字入力装置２０と、複数の単語からなる単語リストを記憶する単語リスト記憶手段４１と、問題文を構成する文字列に含まれる解答単語文字数の単語を単語リスト記憶手段４１から検索する単語検索手段１２と、単語検索手段１２が検索した単語と問題文を構成する文字列とを比較して所定の条件を満たすか否かを判定する条件付単語比較手段１４と、所定の条件を満たすと判定された単語をその条件ごとに分類して表示する表示装置４０とを備える。【選択図】  図１
2009059138.tif 000002
【特許請求の範囲】
【請求項１】
クリプティック・クロスワードの問題文と解答単語文字数とを入力する入力手段と、
複数の単語からなる単語リストを記憶する単語記憶手段と、
前記問題文を構成する文字列に含まれる複数の文字から生成可能な前記解答単語文字数の単語を前記単語記憶手段から検索する単語検索手段と、
前記単語検索手段が検索した単語と前記問題文を構成する文字列とを比較して所定の条件を満たすか否かを判定する条件付単語比較手段と、
前記条件付単語比較手段によって前記所定の条件を満たすと判定された単語をその条件ごとに分類して表示する表示手段と
を具備することを特徴とする単語検索装置。
【請求項２】
特定の文字列と前記所定の条件との対応関係を記憶した条件記憶手段をさらに備え、
前記条件付単語比較手段が満たすと判定した前記所定の条件に対応する特定の文字列が前記問題文に含まれていた場合に、前記表示手段によってその旨を表示する
ことを特徴とする請求項１記載の単語検索装置。
【請求項３】
前記所定の条件が、前記単語検索手段が検索した単語と前記問題文を構成する文字列とが語句のつづり換えの関係を有していることである
ことを特徴とする請求項１又は２記載の単語検索装置。
【請求項４】
前記所定の条件が、前記単語検索手段が検索した単語と前記問題文を構成する文字列とが互いに反転した関係を有していることである
ことを特徴とする請求項１又は２記載の単語検索装置。
【請求項５】
前記所定の条件が、前記単語検索手段が検索した単語が前記問題文中の２以上の単語にまたがって存在していることである
ことを特徴とする請求項１又は２記載の単語検索装置。
【請求項６】
前記所定の条件が、前記単語検索手段が検索した単語が前記問題文中に含まれる１つの単語の一部の文字を消去したものとなっていることである
ことを特徴とする請求項１又は２記載の単語検索装置。
【請求項７】
前記所定の条件が、前記単語検索手段が検索した単語が前記問題文中に含まれる１つの単語の一部の文字を消去したものとなっていて、さらに、その消去した文字からなる文字列が、前記単語記憶手段が記憶する前記単語リストに含まれる単語に該当するものとなっていることである
ことを特徴とする請求項１又は２記載の単語検索装置。
【請求項８】
前記所定の条件が、前記単語検索手段が検索した単語が前記問題文中に含まれる単語とがつづりが異なる同音異義語の関係を有していることである
ことを特徴とする請求項１又は２記載の単語検索装置。
【請求項９】
前記単語検索手段が、前記問題文を構成する文字列から単語間の区切りを示す符号を除いた文字列を所定の順序に従って並べ替えた後、前記単語記憶手段に記憶された前記単語リストに含まれる各単語と比較することで、前記単語記憶手段から前記解答単語文字数の単語を検索するものである
ことを特徴とする請求項１〜８のいずれか１項記載の単語検索装置。
【請求項１０】
クリプティック・クロスワードの問題文と解答単語文字数とを入力する入力過程と、
複数の単語からなる単語リストを記憶する単語記憶手段を用いて、前記問題文を構成する文字列に含まれる複数の文字から生成可能な前記解答単語文字数の単語を単語記憶手段から検索する単語検索過程と、
前記単語検索過程で検索された単語と前記問題文を構成する文字列とを比較して所定の条件を満たすか否かを判定する条件付単語比較過程と、
前記条件付単語比較過程で前記所定の条件を満たすと判定された単語を条件ごとに分類して表示する表示過程と
を有することを特徴とする単語検索方法。
【請求項１１】
クリプティック・クロスワードの問題文と解答単語文字数とを入力する入力過程と、
複数の単語からなる単語リストを記憶する単語記憶手段を用いて、前記問題文を構成する文字列に含まれる複数の文字から生成可能な前記解答単語文字数の単語を単語記憶手段から検索する単語検索過程と、
前記単語検索過程で検索された単語と前記問題文を構成する文字列とを比較して所定の条件を満たすか否かを判定する条件付単語比較過程と、
前記条件付単語比較過程で前記所定の条件を満たすと判定された単語を条件ごとに分類して表示する表示過程と
をコンピュータによって実行するための記述を含むことを特徴とする単語検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クリプティック・クロスワードを解く際や作成する際の作業を支援するものとして用いて好適な単語検索装置、方法及びプログラムに関する。
【背景技術】
【０００２】
クロスワード・パズル（あるいは単にクロスワードともいう）は、与えられた問題文の解答となる単語を用いて、縦あるいは横のあらかじめ決められた文字数分の空間を埋めていくことで、格子状の枠内に複数の単語を並べる、ことば遊び（wordplay）である。このクロスワードには、解答となる単語を検索する作業を支援する装置がある（たとえば特許文献１、特許文献２）。このような装置では、あらかじめ決められた文字数の単語の一部を不確定文字として設定し、不確定文字に複数種類の文字をあてはめながら、所定の単語リストを検索することで、解答候補となる単語が検索されるようになっている。
【０００３】
また、クロスワードを解くための他の装置には、入力された所定文字数の単語の１文字あるいは複数文字を他の文字に自動的に置き換えて単語リストを検索する機能を備えたものがある（特許文献３）。この装置によれば、たとえば利用者が入力した解答である単語が誤っていると疑われるような場合に、その単語中の１文字あるいは複数文字を他の文字に置き換えて成立する単語を訂正用の解答候補として提示することができる。
【０００４】
また、他のことば遊びとしてスクラブル（ＳＣＲＡＢＢＬＥ）（登録商標）と呼ばれるゲームがある。そして、このゲーム用にも英単語を検索するための装置がある。このゲームでは、格子状の枠を有するボード上に、それぞれがアルファベット一文字を表す持ち駒を縦または横に並べることで英単語を作成し、使用されたアルファベットの種類や駒の置かれたボード上の位置に応じて得点の値が決められるようになっている。スクラブルでは、持ち駒を置くたびに新たに駒を置くことができるスペースが少なくなる。したがって、クロスワードとは異なり、作成する単語の文字数は一定ではなく変化することになる。そのため、スクラブル用に単語を検索する装置では、使用可能な持ち駒の種類を設定するとともに、ボード上にすでに置かれている駒の配置や得点に関する条件を入力することで、作成可能な英単語のリストを獲得点数とともに提示することができるようになっている（特許文献４）。
【０００５】
一方、本願発明が対象とすることば遊びであるクリプティック・クロスワード（Cryptic Crossword）は、クロスワードの特別なものであり、問題文（clue、かぎともいう）自体がことばのパズルになっているという特徴がある。問題文は、通常、そのまま読んだだけ（surface reading）では解答を示すものとはならず、解答を導くために問題文をどのように読むのべきなのかを探すことが課題のひとつとなる。問題文には、通常、インジケータ（indicator）あるいはコードワード（code word）と呼ばれる特別な意味を持つ文字列（１または複数の単語を含む複数の文字）が１または複数含まれている。インジケータは、解答となる単語と問題文を構成する文字列との間に存在することば遊びに関する所定の条件を示すもであって、いくつかの種類に分類されている。
【０００６】
たとえば、「mashed」(つきつぶされた)という単語は、解答となる単語と問題文を構成する文字列とが、語句のつづり換えの関係を有していることを示すインジケータとして用いられる。このインジケータは、アナグラム（Anagram）という種類に分類される。すなわち、アナグラムに分類されるインジケータは、解答となる単語と問題文を構成する文字列との間に語句のつづり換えの関係があることを示している。たとえば問題文に単語「mashed」と単語「live」が含まれていたとすると、「live」と語句のつづり換えの関係を有する単語「evil」が解答として求められるというようなことになる。
【０００７】
インジケータの種類としては、上述したアナグラム（Anagram）のほか、アナグラムの特殊なものであって解答となる単語と問題文を構成する文字列とが互いに反転した関係を有しているリバーサル（Reversal）、解答となる単語が問題文中の２以上の単語にまたがって存在しているブリッジ（Bridge）、解答となる単語が問題文中に含まれる１つの単語の一部の文字を消去したものとなっているデリーション（Deletion）、デリーションの特殊なものであってその消去した文字からなる文字列が別の単語となっているベリアル（Burial）、解答となる単語と問題文中に含まれる単語とがつづりが異なる同音異義語の関係を有しているホモフォン（Homophones）などがある。
【０００８】
リバーサルの一例としては、問題文「… reversing pots …」に対して解答が「stop」となる場合がある。ブリッジの一例としては、問題文「… shudder …great remorse …」に対して解答が「tremor」となる場合がある。デリーションの一例としては、問題文「… empty bottle …」に対して解答が「bole」となる場合がある。ベリアルの一例としては、問題文「… heartlessly denoted…」に対して解答が「deed」となる場合がある。ホモフォンの一例としては、問題文「… aisle … I hear」に対して解答が「isle」となる場合がある。
【０００９】
このようにクリプティック・クロスワードでは、一般的なクロスワードにおける単語の縦横の並びによることば遊びだけでなく、問題文を読み解く際にもことば遊びを解くことが求められる。このため上述したような検索装置では、解答となる確率が高い単語のみを検索結果として提示することはできず、十分な支援の効果が得られないという課題がある。
【００１０】
これに対して、汎用のパーソナルコンピュータを用いてクリプティック・クロスワードの解答を検索するシステムが検討されている。ウィリアム・ タンスタル・ペドー（William Tunstall-Pedoe）氏によるクロスワード・マエストロ（Crossword Maestro（商標））と呼ばれるソフトウェア・プログラム（非特許文献１参照）や、それを進歩させてオンラインで使用できるようにしたウェブ・システム（非特許文献２参照）などがある。これらのシステムは、汎用のOS（オペレーション・システム）を用いて動作するものであり、また、作者がこれらのシステムを人工知能技術を利用するものであるとしていることからしても、これらのシステムでは比較的大規模なデータベースを用いた複雑な条件による検索などの高度な処理が行われていると推察される。
【特許文献１】特開平６−１４９７８２号公報
【特許文献２】特開平７−３２５８４５号公報
【特許文献３】米国特許第５２４９９６５号明細書
【特許文献４】米国特許第５４３５５６４号明細書
【非特許文献１】“Crossword Maestro（商標）for Windows（登録商標）：クロスワード・ソービング・ソフトウェア、クリプティック・クロスワード・ソルバー（crossword solving software, cryptic crossword solver）”、［online］、［平成19年８月21日検索］、インターネット〈URL：http://www.crosswordmaestro.com/〉
【非特許文献２】“クルー・ソルバー（Clue Solver）”、［online］、ジーニアス2000社（Genius 2000 Ltd.）、［平成19年８月21日検索］、インターネット〈URL：http://www.crosswordtools.com/cm/〉
【発明の開示】
【発明が解決しようとする課題】
【００１１】
上述したような検索システムは、クリプティック・クロスワードの解答を求める際の一つの道具としては有効であると考えられる。しかし、現状ではすべての問題文を解くことはできない。一方、正解である確率が比較的高い複数の候補を提示するような機能があったとすれば、利用者の単語検索作業を支援する装置として現実的な選択肢のひとつになると考えられる。つまり、たとえば辞書などを片手に利用者が問題文を解く作業を行う際に、正しいと思われる可能性が比較的高い単語候補を提示するような機能が求められていると考えられる。そうだとすると、たとえば辞書機能を有する電子辞書に、付加機能としてクリプティック・クロスワードの解答支援機能を持たせることが有意義であると考えられる。しかしながら、これまで、電子辞書などの小型の装置に、クリプティック・クロスワードの解答検索を支援する機能を備えたものは提供されていなかった。
【００１２】
本発明は、上記の事情に鑑みてなされたものであり、電子辞書などの小型の装置に備えるのに適した簡易な構成でクリプティック・クロスワードの解答を検索する作業の支援を行うことができる単語検索装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記課題を解決するため、請求項１記載の発明は、クリプティック・クロスワードの問題文と解答単語文字数とを入力する入力手段と、複数の単語からなる単語リストを記憶する単語記憶手段と、前記問題文を構成する文字列に含まれる複数の文字から生成可能な前記解答単語文字数の単語を前記単語記憶手段から検索する単語検索手段と、前記単語検索手段が検索した単語と前記問題文を構成する文字列とを比較して所定の条件を満たすか否かを判定する条件付単語比較手段と、前記条件付単語比較手段によって前記所定の条件を満たすと判定された単語をその条件ごとに分類して表示する表示手段とを具備することを特徴とする。
【００１４】
請求項２記載の発明は、特定の文字列と前記所定の条件との対応関係を記憶した条件記憶手段をさらに備え、前記条件付単語比較手段が満たすと判定した前記所定の条件に対応する特定の文字列が前記問題文に含まれていた場合に、前記表示手段によってその旨を表示することを特徴とする。
【００１５】
請求項３記載の発明は、前記所定の条件が、前記単語検索手段が検索した単語と前記問題文を構成する文字列とが語句のつづり換えの関係を有していることであることを特徴とする。請求項４記載の発明は、前記所定の条件が、前記単語検索手段が検索した単語と前記問題文を構成する文字列とが互いに反転した関係を有していることであることを特徴とする。
【００１６】
請求項５記載の発明は、前記所定の条件が、前記単語検索手段が検索した単語が前記問題文中の２以上の単語にまたがって存在していることであることを特徴とする。請求項６記載の発明は、前記所定の条件が、前記単語検索手段が検索した単語が前記問題文中に含まれる１つの単語の一部の文字を消去したものとなっていることであることを特徴とする。請求項７記載の発明は、前記所定の条件が、前記単語検索手段が検索した単語が前記問題文中に含まれる１つの単語の一部の文字を消去したものとなっていて、さらに、その消去した文字からなる文字列が、前記単語記憶手段が記憶する前記単語リストに含まれる単語に該当するものとなっていることであることを特徴とする。請求項８記載の発明は、前記所定の条件が、前記単語検索手段が検索した単語が前記問題文中に含まれる単語とがつづりが異なる同音異義語の関係を有していることであることを特徴とする。
【００１７】
請求項９記載の発明は、前記単語検索手段が、前記問題文を構成する文字列から単語間の区切りを示す符号を除いた文字列を所定の順序に従って並べ替えた後、前記単語記憶手段に記憶された前記単語リストに含まれる各単語と比較することで、前記単語記憶手段から前記解答単語文字数の単語を検索するものであることを特徴とする。
【００１８】
請求項１０記載の発明は、クリプティック・クロスワードの問題文と解答単語文字数とを入力する入力過程と、複数の単語からなる単語リストを記憶する単語記憶手段を用いて、前記問題文を構成する文字列に含まれる複数の文字から生成可能な前記解答単語文字数の単語を単語記憶手段から検索する単語検索過程と、前記単語検索過程で検索された単語と前記問題文を構成する文字列とを比較して所定の条件を満たすか否かを判定する条件付単語比較過程と、前記条件付単語比較過程で前記所定の条件を満たすと判定された単語を条件ごとに分類して表示する表示過程とを有することを特徴とする。
【００１９】
請求項１１記載の発明は、クリプティック・クロスワードの問題文と解答単語文字数とを入力する入力過程と、複数の単語からなる単語リストを記憶する単語記憶手段を用いて、前記問題文を構成する文字列に含まれる複数の文字から生成可能な前記解答単語文字数の単語を単語記憶手段から検索する単語検索過程と、前記単語検索過程で検索された単語と前記問題文を構成する文字列とを比較して所定の条件を満たすか否かを判定する条件付単語比較過程と、前記条件付単語比較過程で前記所定の条件を満たすと判定された単語を条件ごとに分類して表示する表示過程とをコンピュータによって実行するための記述を含むことを特徴とする単語検索プログラムである。
【発明の効果】
【００２０】
本発明によれば、単語検索手段が検索した単語と問題文を構成する文字列とを比較して所定の条件を満たすか否かを判定し、所定の条件を満たすと判定された単語をその条件ごとに分類して表示するようにしたので、たとえば確率計算などを行う必要がなく、所定の条件を満たすか否かの判定を行うだけでよいので、検索のための構成を容易に簡易なものとすることができる。また、検索された正答の候補となる単語は、条件ごとに分類して見やすい形で提示されるので効率的な支援を行うことができる。
【００２１】
また、他の発明は、特定の文字列と所定の条件との対応関係を記憶した条件記憶手段をさらに備え、条件付単語比較手段が満たすと判定した所定の条件に対応する特定の文字列が問題文に含まれていた場合に、表示手段によってその旨を表示するようにしたので、利用者は、問題文のどの文字列に基づいて条件が設定されたのかを容易に知ることができる。
【００２２】
また、他の発明は、単語検索手段が、問題文を構成する文字列から単語間の区切りを示す符号を除いた文字列を所定の順序に従って並べ替えた後、単語記憶手段に記憶された単語リストに含まれる各単語と比較することで、単語記憶手段から解答単語文字数の単語を検索するようにしたので、問題文が複数の単語とスペースなどの単語間の区切り文字とから構成されている場合に、複数の単語からなる単語リストの検索を効率的に行うことができる。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照して本発明の実施の形態について説明する。図１は、本発明の単語検索装置の実施の形態を示すブロック図である。図１に示す単語検索装置１は、たとえば英英、英和、和英などの複数の辞書を検索する機能と、本発明が特徴とするクリプティック・クロスワードの解答となる単語候補を提示する機能とを有する携帯型の電子辞書として構成されている。
【００２４】
単語検索装置１は、制御部１０と、文字入力装置２０と、表示装置３０と、記憶部４０とから構成されている。制御部１０は、ＣＰＵ（中央処理装置）、ＲＡＭ（ランダム・アクセス・メモリ）、ＲＯＭ（リード・オンリ・メモリ）、書き換え可能な不揮発性メモリ、各種インターフェース回路などを備えていて、ＣＰＵによってＲＯＭに記憶されているプログラムを実行することで各部の制御を行う。図１のブロック図では、制御部１０内に、内部のＣＰＵなどによる制御の下で実現されるものであって、本発明が特徴とする処理を行うためのソフトウェアやハードウェアからなる構成要素が、手段１１〜１６として示されている。
【００２５】
記憶部４０は、ＲＯＭなどから構成されていて、複数の単語からなる単語リストを記憶する単語リスト記憶手段４１と、インジケータとして用いられている特定の文字列とインジケータの種類との対応関係を記憶したインジケータ記憶手段４２とを備えている。単語リスト記憶手段４１に記憶される単語リストは、図２に示すように、文字数ごとに複数の英単語を並べることで構成されている。図２の例では、先頭に文字数が３の英単語をアルファベット順に並べたもの、次いで文字数が４の英単語をアルファベット順に並べたもの、というようにして複数の単語が登録されている。また、各文字数の単語の最後の単語は、各文字数で最終文字を示す所定の符号に設定されている。さらに、この単語リスト内には、つづりの異なる同音異義語がある単語に対してその対応関係を示す情報が付加されている。図２の例では、たとえば単語「aisle」と単語「isle」が互いにつづりの異なる同音異義語であることを示す情報が各単語に対して付加されている。
【００２６】
なお、記憶部４０は、たとえば英英辞書、英和辞書、和英辞書、国語辞書などの、各種の辞書ファイルも記憶している。
【００２７】
図３（ｃ）は、インジケータ記憶手段４２の記憶内容の一例を示している。各行のコロンの左側の１又は複数の単語からなる文字列がインジケータとして用いられている特定の文字列であり、コロンの右側の文字列が左側のインジケータが属するインジケータの種類を表している。この例では、インジケータ記憶手段４２に、単語「in」および「inside」が種類ブリッジ（Bridge）およびベリアル（Burial）に分類されるインジケータであり、単語「around」が種類ベリアル（Burial）に分類されるインジケータであり、単語「awkwardly」、「badly」および「mashed」が種類アナグラム（Anagram）に分類されるインジケータであり、単語「absence」、「beheaded」および「empty」が種類デリーション（Deletion）に分類されるインジケータであり、複合語「sound like」および「I hear」が種類ホモフォン（Homophones）に分類されるインジケータであり、そして、単語「backwards」、「mirror」および「reversing」が種類リバーサル（Reversal）に分類されるインジケータであることが記憶されていることが示されている。
【００２８】
なお、インジケータは、種類ごとに、解答となる単語と問題文を構成する文字列との間に存在することば遊びに関する異なる条件を示す文字列である。したがって、インジケータ記憶手段４２の記憶されているインジケータとなる特定の文字列とインジケータの種類との対応関係は、特定の文字列と、解答となる単語と問題文を構成する文字列との間に存在することば遊びに関する条件との対応関係を表すものとしてとらえることができる。
【００２９】
次に、図１の入力データ一時記憶手段１１は、ＲＡＭなどから構成されていて、文字入力装置２０で入力された文字データや、インジケータ検出手段１６による検出結果などを記憶する。文字入力装置２０は、アルファベットの入力キー、数字の入力キー、スペースの入力キー、カーソルキー、エンターキー、各種ファンクションキー、電源キーなどの操作子を複数個備えて構成されている。各操作子の操作情報は、入力データ一時記憶手段１１に一旦記憶された後、単語検索手段１２などに送られる。たとえばクリプティック・クロスワードの問題文を表す文字列や解答となる単語の文字数が入力された場合、入力データ一時記憶手段１１に一旦記憶された後、単語検索手段１２に送られて、その入力された情報に基づく検索が行われる。
【００３０】
単語検索手段１２は、記憶部４０内の単語リスト記憶手段４１に記憶されている単語リストから、問題文を構成する文字列に含まれる複数の文字から生成可能な解答単語文字数の単語をすべて検索して抽出し、抽出した単語を単語リスト検索結果記憶手段１３に記憶する。
【００３１】
条件付単語比較手段１４は、単語検索手段１２が検索した単語と問題文を構成する文字列とを比較して所定の条件を満たすか否かを判定する。所定の条件は、単語リストから検索された単語と問題文を構成する文字列とが、語句のつづり換えの関係を有していること（インジケータの種類のアナグラムに対応）、互いに反転した関係を有していること（リバーサルに対応）、検索された単語が問題文中の２以上の単語にまたがって存在していること（ブリッジに対応）、検索された単語が問題文中に含まれる１つの単語の一部の文字を消去したものとなっていること（デリーションに対応）、さらにその消去した文字からなる文字列が別の単語となっていること（ベリアルに対応）、検索された単語と問題文中に含まれる単語とがつづりが異なる同音異義語の関係を有していること（ホモフォンに対応）など、クリプティック・クロスワードの問題文中に置かれることば遊びに対応した制約を表すものである。本実施の形態では、条件付単語比較手段１４が、各条件の判定処理をそれぞれ別のサブルーチンで実行するように構成されている。
【００３２】
表示手段１５は、表示装置３０を制御して、条件付単語比較手段１４によって所定の条件を満たすと判定された単語を該当する条件すなわちインジケータの種類ごとに分類して表示する。
【００３３】
また、インジケータ検出手段１６は、インジケータ記憶手段４２を参照して、条件付単語比較手段１４が満たすと判定した所定の条件に対応する特定の文字列が問題文に含まれていた場合に、表示手段１５を介してその旨を表示装置３０で表示する
また、表示装置３０は、液晶ディスプレイなどからなり、表示手段１５によって制御され、文字、図形などの画像情報を表示する。
【００３４】
次に図３〜図５を参照して、図１の単語検索手段１２による処理について説明する。図３（ａ）は入力された問題文を表示装置３０に表示した場合の一例を示す図、図３（ｂ）は単語リスト記憶手段４１における関係部分の記憶内容を示す図、そして、図３（ｃ）はインジケータ記憶手段４２の記憶内容を示す図である。図４は、単語検索手段１２による処理の流れを示すフローチャートである。図５（ａ）〜（ｆ）は、図４の主なステップで処理される文字情報の例を示している。
【００３５】
この場合、文字入力装置２０によって、図５（ａ）に示す「Shudder in great remorse.」というクリプティック・クロスワードの問題文と、この問題文に対して与えられている解答となる単語の指定文字数「６」が入力されていて、入力された情報が入力データ一時記憶手段１１に記憶され、さらに表示装置３０に図３（ａ）に示すように問題文が表示されているものとする。文字入力装置２０が有する解答検索処理を指示する所定の操作子が操作されたとすると、単語検索手段１２が入力データ一時記憶手段１１にアクセスし、入力された問題文を構成する文字列（以下、入力文字列とする）から単語間の区切りを示す符号（本実施の形態では「スペース」）を除いて入力単語を連結した文字列を作成する（図４のステップＳ１１）。作成された文字列の例を図５（ｂ）に示す。
【００３６】
次に、単語検索手段１２は、作成した文字列をアルファベット順に並べ替える（ステップＳ１２）。並べ替えられた文字列の例を図５（ｃ）に示す。次に、単語検索手段１２は、解答の単語の指定文字数に基づいて単語リスト記憶手段４１に記憶された単語リストの飛び込み先を決定する（ステップＳ１３）。この場合、指定文字数は「６」なので、図２に示す文字数６の先頭の単語「abacus」が、単語リストの飛び込み先、すなわち最初に検索対象となる単語に決定される。
【００３７】
単語検索手段１２は、単語リスト記憶手段４１の設定された飛び込み先にある単語「abacus」を読み込む（ステップS１４）。なお、ステップＳ１４では、単語を読み込んだ後、次に読み込む単語を単語リストにある一つ後に配置された単語に設定する処理が行われる。
【００３８】
次に、単語検索手段１２は、読み込んだ単語が同じ長さ（この場合文字数「６」）の最後の単語かどうかを判定する（ステップＳ１５）。この場合、読み込んだ単語「abacus」は、最後の単語ではないので（ステップＳ１５で「Ｎｏ」）、読み込んだ単語文字列「abacus」をアルファベット順に並べ替える処理が行われる（ステップＳ１６）。この場合、単語「abacus」が、「aabcsu」と並べ替えられる。
【００３９】
単語検索手段１２は、次に、ステップＳ１２で並べ替えた入力文字列（図５（ｃ））に、ステップＳ１６で並べ替えた単語文字列（この場合「aabcsu」）が含まれるかどうかを判定する（ステップＳ１７）。この場合、含まれていないので（ステップＳ１７で「Ｎｏ」）、ステップＳ１４へ戻り、単語リスト記憶手段４１の単語リストから次の単語（この場合、図２に示す単語「abanet」）が読み込まれる。以下、ステップＳ１５〜Ｓ１７の処理が繰り返し実行される。
【００４０】
いま、ステップＳ１４で、図３（ｂ）に示す文字数６の単語のうちで下線をつけた単語「tremor」が読み込まれたとする。図５（ｄ）にこの読み込んだ単語を示す。次にステップＳ１５では６文字の最後の単語ではないので（判定結果が「Ｎｏ」）、ステップＳ１６へ進み、読み込んだ単語文字列がアルファベット順に並べ替えられる。並べ替えた文字列を図５（ｅ）に示す。次に並べ替えられた単語文字列が入力文字列に含まれるかが判定される（ステップＳ１７）。この場合、図５（ｆ）に白抜き文字として示すように、問題文の文字列をアルファベット順に並べ替えた文字列の中に図５（ｅ）に示す文字列が含まれているので（ステップＳ１７で「Ｙｅｓ」）、ステップＳ１８へ進み、問題文を構成する文字列に含まれる複数の文字から生成可能な解答単語文字数の単語である単語（「tremor」）が図１の単語リスト検索結果記憶手段１３に記憶される。
【００４１】
次にステップＳ１４へ戻り、以降ステップＳ１４〜Ｓ１７の処理またはステップＳ１８を含めた処理が、単語リストの文字数６の最後の単語まで繰り返し行われる。最後の単語が読み出された場合にはステップＳ１５で最後の単語と判定されるので（ステップＳ１５で「Ｙｅｓ」）、処理が終了する。なお、処理の終了時には、単語リスト検索結果記憶手段１３には記憶した単語列の末尾に最終文字を示す所定の符号が記憶されることとする。
【００４２】
以上の処理によって、単語リスト検索結果記憶手段１３には、問題文の文字列を構成する複数の文字から、設定された文字数分の文字を抜き出して生成可能な単語リストに含まれるすべての単語が記憶されることになる。
【００４３】
次に、図６および図７を参照して条件付単語比較手段１４が、単語検索手段１２によって検索された単語が問題文中の２以上の単語にまたがって存在しているか否かを判定する処理、すなわちインジケータの種類のブリッジに対応する条件判定処理を行う場合について説明する。図６は、ブリッジ（Bridge）に対応する条件判定処理を行う場合の処理の流れを示すフローチャートであり、図７は図６の主なステップの処理内容を説明するためのものであって、比較対象となる入力された問題文の文字列と単語リストから検索された単語文字列との関係を示す説明図である。
【００４４】
この例では、すでに、上述したようにして、単語検索手段１２によって図５（ａ）に示す問題文と指定文字数６とを入力データとする単語リスト記憶手段４１内の単語リストに対する検索が行われていて、単語リスト検索結果記憶手段１３に、単語「tremor」と単語の末尾を表す符号（他の単語と同様に一つの単語として記憶されているものとする。）が記憶されているものとする。
【００４５】
条件付単語比較手段１４は、まず、単語リスト検索結果記憶手段１３からそこに記憶されている単語を１単語取得する（ステップＳ１０１）。この場合、単語「tremor」が取得されることになる。
【００４６】
次に取得した単語が最後の単語かどうかが判定される（ステップＳ１０２）。この場合、単語「tremor」は最後の単語ではないので（ステップＳ１０２で「Ｎｏ」）、ステップＳ１０３で変数Ｎが「０」に初期化される。
【００４７】
次に、入力データ一時記憶手段１１に記憶されている問題文のオリジナルの入力文字列の先頭からN文字目にポインタをセットするとともに、単語リスト検索結果記憶手段１３から取得した単語（取得単語）の先頭文字にポインタをセットする処理が行われる（ステップＳ１０４）。この場合、問題文は、「Shudder in great remorse.」であり、オリジナルの入力文字列は図７（ａ）に入力データとして示すスペースを含む２４文字の文字列である。なお、スペースは単語間の区切りを示す符号として用いられていて、問題文の末尾のピリオド「．」は削除されている。なお、この処理では、入力文字列の０文字目が先頭の「Ｓ」、１文字目が次の「ｈ」、…、１５文字目が「ｔ」、１６文字目がスペース、…と定義されていることとする。
【００４８】
次に、入力文字列のポインタが設定されている文字と、取得単語のポインタが設定されている文字とが比較され、一致しているかどうか判定される（ステップＳ１０５）。この場合、入力文字列のポインタは「０」、取得単語のポインタは先頭文字なので、図７（ａ）に示すように文字「Ｓ」と文字「ｔ」が比較され、一致していないので（ステップＳ１０５で「Ｎｏ」）、変数Ｎが１だけ増やされる（ステップＳ１０６）。この場合、変数Ｎは「１」になる。
【００４９】
次に、ステップＳ１０４に戻り、入力文字列の「１」文字目「ｈ」にポインタがセットされるともに、取得単語の先頭文字「ｔ」にポインタがセットされる。そして、ステップＳ１０５で、両ポインタの文字「ｈ」と「ｔ」が一致しているかが判定され（図７（ｂ））、一致していないので、ステップＳ１０６で変数Ｎが１だけ増やされてＮ＝２となる。
【００５０】
以降、同様にステップＳ１０４〜Ｓ１０６が繰り返し実行され、ステップＳ１０６で変数Ｎが「１５」に設定されたとする。ステップＳ１０４では、入力文字列の「１５」文字目「ｔ」にポインタがセットされるともに、取得単語の先頭文字「ｔ」にポインタがセットされる。次に、ステップＳ１０５で両ポインタの文字「ｔ」と「ｔ」が一致しているかが判定され（図７（ｃ））、一致しているので（ステップＳ１０５で「Ｙｅｓ」）、ステップＳ１０７へ進み、入力データ一時記憶手段１１のオリジナル入力文字列と取得単語の両ポインタが１文字進められる。この場合、入力文字列の「ｔ」の後のスペースと、取得文字の「ｔ」の後の「ｒ」の位置にポインタが進められる。
【００５１】
次に、ステップＳ１０８で取得文字のポインタが示す文字が最後の文字かが判定される。この場合、最後の文字ではないので（ステップＳ１０８で「Ｎｏ」）、ステップＳ１１０で入力文字列のポインタ文字がスペースかどうかが判定される。この場合、入力文字列のポインタが示す位置の文字はスペースなので（ステップＳ１１０で「Ｙｅｓ」）、入力文字列のポインタが１文字進められる（ステップＳ１１１）。この場合、スペースの後の「ｒ」の位置にポインタが進められる。
【００５２】
次に、入力文字列が最後の文字かどうかが判定される（ステップＳ１１２）。この場合、最後の文字ではないので（ステップＳ１１２で「Ｎｏ」）、ステップＳ１１０へ戻り、入力文字列のポインタ文字がスペースかどうかが判定され、この場合、スペースではないので、ステップＳ１０５で両ポインタの文字が一致しているかが判定される。この場合、両ポインタの文字はともに「ｒ」なので（ステップＳ１０５で「Ｙｅｓ」）、ステップＳ１０７で両ポインタが１文字進められる。ここで、両ポインタの文字がともに「ｍ」となる。
【００５３】
以降、ステップＳ１０８、Ｓ１１０、Ｓ１０５、Ｓ１０７の各処理が繰り返し実行され、ステップＳ１０７で両ポインタが文字「ｒ」の位置に設定されたとする。この場合、ポインタ文字は取得単語の最後の文字「ｒ」なので、ステップＳ１０８の判定結果が「Ｙｅｓ」となり、取得単語「tremor」がブリッジに対応する単語であるとして所定の記憶領域に登録される（ステップＳ１０９）。
【００５４】
次に、ステップＳ１０１へ戻り、単語リスト検索結果記憶手段１３から次の一単語が取得され、ステップＳ１０２で取得した単語が最後の単語かどうかが判定される。この場合、ステップＳ１０１では最後の単語であることを示す符号が単語として取得されるので、ステップＳ１０２の判定結果が「Ｙｅｓ」となり、処理が終了する。
【００５５】
ここで条件付単語比較手段１４は、表示手段１５に対して比較結果の表示を指示する。表示手段１５の制御によって表示装置３０には、たとえば図８に示すように、問題文を表示するボックス３１と、各インジケータの種類を示す文字列（「Bridge」、「Deletion」等）のタブで識別される複数のページからなるシート３２とが表示される。そして、各ページには、単語リストから検索された単語が、インジケータの種類ごとに分類されて表示される。図８に示す例では、ボックス３１に問題文「Shudder in great remorse.」が表示されるとともに、ブリッジに対応する条件を満たす単語「tremor」が「Bridge」タグで識別されるページ上に表示されている。また、ボックス３１の問題文の文字列に対しては、インジケータとして登録されている単語「in」がアンダーラインで強調表示されるとともに、解答候補として検索された単語「tremor」に対応する文字列「t remor」が白抜き文字として強調表示されている。
【００５６】
なお、問題文からインジケータの文字列を特定する処理は、図１のインジケータ検出手段１６によって行われる。インジケータ検出手段１６は、入力データ一時記憶手段１１に記憶されている問題文として入力された入力文字列と、図３（ｃ）に示すようにインジケータ記憶手段４２にインジケータとして登録されている文字列（「in」、「inside」など）とを比較することで、入力文字列にインジケータとして登録されている文字列が含まれていた場合には、その文字列を特定して強調表示を行うための処理を行う。
【００５７】
以上のようにして、問題文に含まれているインジケータに対応する文字列が強調表示されるとともに、問題文を構成する文字列と所定の対応関係を有するもので所定の単語リストに含まれている単語が対応関係の種類ごとに表示される。したがって、利用者に解答候補となる単語をその抽出原因を示す情報とともに提示することができる。その際、本実施の形態の構成では、複数の単語からなる単語リストの検索と、検索の結果得られた単語と問題文を構成する文字列との対応関係についての判定とによって、上記の解答候補となる単語を決定している。したがって、複雑な検索処理や、たとえば単語や複合語の意味や、問題文の意味などを解析するような処理が必要とはならない。また、得られた結果は、インジケータの種類ごとに分類して表示されるので、分類しない場合と比べて利用者が解答の正否を検討しやすくなるという利点がある。
【００５８】
なお、表示装置３０における表示方法は、上記に限定されず、文字の表示色を変えること、カーソルや文字を点滅表示すること、インジケータの種類の並び順を変えることなどの方法を単独あるいは組み合わせて使用することができる。
【００５９】
次に、図９および図１０を参照して、条件付単語比較手段１４が、単語検索手段１２によって検索された単語が問題文を構成する文字列と語句のつづり換えの関係を有しているか否かを判定する処理、すなわちインジケータの種類のアナグラムに対応する条件判定処理を行う場合について説明する。図９は、アナグラム（Anagram）に対応する条件判定処理を行う場合の処理の流れを示すフローチャートであり、図１０は図９の主なステップで処理されるデータの内容を示す説明図である。なお、単語リスト検索結果記憶手段１３には入力された問題文と文字数を基に単語検索手段１２によって単語リストを検索した結果得られた単語が登録されているものとする。
【００６０】
条件付単語比較手段１４は、まず、入力データ一時記憶手段１１から問題文の入力文字列を読み込み、スペースを除いて単語どうしを連結する（ステップＳ２０１）。たとえば入力文字列が図１０（ａ）に示す「Mashed pears may be used offensively.」であったとすると、連結した結果は図１０（ｂ）に示す「mashedpearsmaybeusedoffensively」となる。なお、この例における解答の指示文字数は「５」であるとする。
【００６１】
次に、入力単語を連結した文字列をアルファベット順に並べ替え、このとき各文字の元あった位置情報を記憶する処理を行う（ステップＳ２０２）。上記の例では、アルファベット順に並べ替えた結果は、図１０（ｃ）に示す「aabdffeeeeeehilmmoprssssuvy」となる。なお、各文字の元あった位置情報を記憶する際には、単語間の区切り文字であるスペースの位置情報も記憶されるようになっている。
【００６２】
次に単語リスト検索結果記憶手段１３から一単語が取得され（ステップＳ２０３）、最後の単語であるかどうかが判定される（ステップＳ２０４）。ここでは、図１０（ｄ）に示す単語「spear」が取得されたとする。
【００６３】
次に、取得した単語の文字列がアルファベット順に並べ替えられる（ステップＳ２０５）。単語「spear」を並べ替えた結果は、図１０（ｅ）に示す「aeprs」となる。
【００６４】
次に、取得単語が入力文字列に含まれるかどうかが、アルファベット順に並べ替えられた各文字列を比較することで判定される（ステップＳ２０６）。この場合、図１０（ｆ）に示すように、入力文字列に取得単語が含まれているので、次に、両文字列で一致した文字について各文字の元あった位置情報に基づき文字全てが単語単位で一致しているかが確認される（ステップＳ２０７）。すなわち、取得単語を構成する文字の種類と各種類の文字数が、入力文字列に含まれるいずれか一つの単語を構成する文字の種類と各種類の文字数とに一致しているか否かが確認される。この例では、図１０（ｇ）に示すように、取得単語「spear」が、入力文字列中の単語「pears」と、構成する文字の種類が「ａ」、「ｅ」、「ｐ」、「ｒ」、「ｓ」の５種類であり、各種類の文字数がすべて１個である点で一致しているため、単語単位で一致していると確認される。
【００６５】
次に、全て単語単位で一致しているかを判定し（ステップＳ２０８）、一致している場合には取得単語をアナグラム（Anagram）として登録する（ステップＳ２０９）。この例では、単語単位で一致していると判定されるので、取得単語「spear」がアナグラムとして登録される。
【００６６】
次に、ステップＳ２０３へ戻り、ステップＳ２０４で最後の単語と判定されるまで、ステップＳ２０３〜Ｓ２０９の処理の一部あるいは全部が繰り返し実行される。
【００６７】
以上のようにして条件付単語比較手段１４によって登録された単語は、たとえば図１１に示すように表示される。この例では、ボックス３１に問題文「Mashed pears may be used offensively.」が表示され、アナグラム（Anagram）のタブで識別されるページに単語「spear」が表示されている。なお、インジケータ検出手段１５によって、アナグラムの種類として検出されたインジケータ「Mashed」は下線付きで表示されている。
【００６８】
次に、図１２〜図１４を参照して、条件付単語比較手段１４が、単語検索手段１２によって検索された単語が問題文中に含まれる１つの単語の一部の文字を消去したものとなっているか否か、および、検索した単語が問題文中に含まれる１つの単語の一部の文字を消去したものとなっていて、さらに、その消去した文字からなる文字列が、単語リストに含まれる単語に該当するものとなっているか否かを判定する処理、すなわちインジケータの種類のデリーションおよびベリアルに対応する条件判定処理を行う場合について説明する。
【００６９】
図１２は、デリーション（Deletion）およびベリアル（Burial）に対応する条件判定処理を行う場合の処理の流れを示すフローチャートであり、図１３および図１４は図１２の主なステップの処理内容を説明するためのものであって、比較対象となる入力された問題文の文字列と単語リストから検索された単語文字列との関係を示す説明図である。
【００７０】
図１３は、問題文「Shudder in great remorse.」に対して取得単語「tremor」が条件を満たすか否かを判定する処理を行った場合の各文字列の関係を示している。図１３（ａ）が問題文の０文字目から始まる文字列と取得単語を比較している状態、図１３（ｂ）、図１３（ｃ）および図１３（ｄ）が、問題文の８、１１および１７文字目から始まる文字列と取得単語を比較している状態を示している。この例では、デリーション（Deletion）およびベリアル（Burial）の条件は満足されない。
【００７１】
図１４（ａ）は、問題文「Tree grows from empty bottle.」に対して取得単語「bole」が条件を満たすか否かを判定する処理を行った場合の各文字列の関係を示している。図１４（ａ）は、問題文の２２文字目から始まる文字列と取得単語を比較している状態を示している。この例では、問題文中の単語「bottle」が取得単語「bole」を含んでいて、デリーション（Deletion）に対応する条件が成立している。
【００７２】
図１４（ｂ）は、問題文「Heartlessly denoted an act.」に対して取得単語「deed」が条件を満たすか否かを判定する処理を行った場合の各文字列の関係を示している。図１４（ｂ）は、問題文の１２文字目から始まる文字列と取得単語を比較している状態を示している。この例では、問題文中の単語「denoted」が取得単語「deed」を含んでいて、かつ「denoted」から「deed」を除いた文字列「not」が単語リストに登録された単語であり、ベリアル（Burial）に対応する条件が成立している。
【００７３】
以下、図１２のフローチャートについて説明する。条件付単語比較手段１４は、まず単語リスト検索結果記憶手段１３から一単語を取得し（ステップＳ３０１）、取得した単語が最後の単語か否かを判定し（ステップＳ３０２）、最後の単語であった場合（ステップＳ３０２で「Ｙｅｓ」）には処理を終了する。一方、最後の単語でなかった場合（ステップＳ３０２で「Ｎｏ」）には、変数Ｎを「０」に初期化して（ステップＳ３０３）、入力データ一時記憶手段１１のオリジナル入力文字列の先頭からN文字目にポインタをセットするとともに、取得単語の先頭文字にポインタをセットする（ステップＳ３０４）。
【００７４】
次に、入力文字列のＮ文字目がスペースか否かを判定する（ステップＳ３０５）。Ｎ文字目がスペースの場合（ステップＳ３０５で「Ｙｅｓ」）、変数Ｎを入力文字列の次の単語の先頭文字まで増加させ（ステップＳ３０８）、ポインタを増加させた場合に入力文字列が最後の文字を越えていない場合には（ステップＳ３０９で「Ｎｏ」）、ステップＳ３０４へ戻り、入力文字列中の次の単語に対してポインタをセットする。
【００７５】
一方、ステップＳ３０５で、スペースではないと判定された場合（ステップＳ３０５で「Ｎｏ」）、両ポインタの文字が一致しているかを判定する（ステップＳ３０６）。一致していなかった場合（ステップＳ３０６で「Ｎｏ」）、入力文字列のポインタを１文字分進めて（ステップＳ３０７）、ステップＳ３０５へ戻って、以降の処理を行う。他方、一致していた場合（ステップＳ３０６で「Ｙｅｓ」）、入力データ一時記憶手段１１のオリジナル入力文字列と取得単語の両ポインタを１文字進める（ステップＳ３１０）。
【００７６】
次にステップＳ３１１で取得文字が最後の文字か否かを判定し、最後の文字でなかった場合（ステップＳ３１１で「Ｎｏ」）、入力文字列のポインタが指示する文字がスペースか否かを判定して（ステップＳ３１２）、スペースならステップＳ３０８へ戻り、スペースでないならステップＳ３０６へ戻る。
【００７７】
一方、ステップＳ３１１で取得単語の最後の文字と判定された場合（ステップＳ３１１で「Ｙｅｓ」）、取得単語が入力文字列中のいずれかの単語に含まれたことになるので、その取得単語をデリーションに対応するものとして登録する（ステップＳ３１３）。
【００７８】
次に、一致した入力文字列の単語の残りの文字列を繋げて単語リスト内で検索して（ステップＳ３１４）、見つかった場合には（ステップＳ３１５で「Ｙｅｓ」）、取得単語をベリアルに対応するものとして登録する（ステップＳ３１６）。
【００７９】
また、ステップＳ３０９で入力文字列が最後の単語であると判定された場合（ステップＳ３０９で「Ｙｅｓ」）と、ステップＳ３１５で見つからなかったと判定された場合（ステップＳ３１５で「Ｎｏ」）と、取得単語をベリアルとして登録した場合（ステップＳ３１６）には、ステップＳ３０１へ戻り単語リスト検索結果記憶手段１３から一単語を取得してステップＳ３０２以降の処理を実行する。
【００８０】
次に、図１５および図１６を参照して、条件付単語比較手段１４が、単語検索手段１２によって検索された単語が問題文を構成する文字列と互いに反転した関係を有しているか否かを判定する処理、すなわちインジケータの種類のリバーサルに対応する条件判定処理を行う場合について説明する。
【００８１】
条件付単語比較手段１４は、まず、単語リスト検索結果記憶手段１３の一単語を取得し、取得した文字列を前後反転して新たな取得単語とする（ステップＳ４０１）。次に、取得した単語が最後の単語か否かを判定し、最後の単語の場合（ステップＳ４０２で「Ｙｅｓ」）、処理を終了する。一方、最後の単語でなかった場合（ステップＳ４０２で「Ｎｏ」）、変数Ｎを「０」に初期化して（ステップＳ４０３）、入力データ一時記憶手段１１のオリジナル入力文字列の先頭からN文字目にポインタをセットするとともに、取得単語（反転された単語）の先頭文字にポインタをセットする（ステップＳ４０４）。
【００８２】
そして入力文字列のＮ文字目から始まる単語と取得単語を比較して、一致するか否かを判定する（ステップＳ４０５）。一致していた場合（ステップＳ４０５で「Ｙｅｓ」）、取得単語をリバーサルとして登録する（ステップＳ４０６）。一致していなかった場合（ステップＳ４０５で「Ｎｏ」）、変数Nを入力文字列の次の単語の頭文字なで進めた後（ステップＳ４０７）、入力文字列が最後の単語か否かを判定する（ステップＳ４０８）。
【００８３】
最後の単語であった場合は（ステップＳ４０８で「Ｙｅｓ」）、ステップＳ４０１へ戻り、あらたに単語を取得して、ステップＳ４０２以降の処理を実行する。最後の単語でなかった場合は（ステップＳ４０８で「Ｎｏ」）、ステップＳ４０４へ戻り、入力文字列の次の単語と、これまでと同じ取得単語に対してステップＳ４０４以降の処理を実行する。
【００８４】
図１６は、問題文「Halt reversing pots.」に対して、単語リスト検索結果記憶手段１３に記憶されている単語「pots」を反転した取得単語「stop」を比較する処理を説明するための図であり、変数Ｎが１５の場合の比較関係を示している。この例では、問題文中の単語「pots」と取得単語「stop」とがリバーサルに対応する関係を有している。
【００８５】
次に、図１７および図１８を参照して、条件付単語比較手段１４が、単語検索手段１２によって検索された単語が問題文中に含まれる単語とつづりが異なる同音異義語の関係を有しているか否かを判定する処理、すなわちインジケータの種類のホモフォンに対応する条件判定処理を行う場合について説明する。
【００８６】
条件付単語比較手段１４は、まず、単語リスト検索結果記憶手段１３の一単語取得する（ステップＳ５０１）。次に、取得した単語が最後の単語か否かを判定し、最後の単語の場合（ステップＳ５０２で「Ｙｅｓ」）、処理を終了する。一方、最後の単語でなかった場合（ステップＳ５０２で「Ｎｏ」）、変数Ｎを「０」に初期化して（ステップＳ５０３）、入力データ一時記憶手段１１のオリジナル入力文字列の先頭からN文字目にポインタをセットするとともに、取得単語の先頭文字にポインタをセットする（ステップＳ５０４）。
【００８７】
そして入力文字列のＮ文字目から始まる単語が、つづりが異なる同音異義語を有しているか否かを判定する（ステップＳ５０５）。
【００８８】
つづりが異なる同音異義語を有していなかった場合（ステップＳ５０５で「Ｎｏ」）、変数Ｎを入力文字列の次の単語の頭文字まで進めて（ステップＳ５０９）、入力文字列が最後の単語か否かを判定する（ステップＳ５１０）。最後の単語であった場合は（ステップＳ５１０で「Ｙｅｓ」）、ステップＳ５０１へ戻り、あらたに単語を取得して、ステップＳ５０２以降の処理を実行する。最後の単語でなかった場合は（ステップＳ５１０で「Ｎｏ」）、ステップＳ５０４へ戻り、入力文字列の次の単語と、これまでと同じ取得単語に対してステップＳ５０４以降の処理を実行する。
【００８９】
一方、つづりが異なる同音異義語を有していた場合（ステップＳ５０５で「Ｙｅｓ」）、入力文字列のＮ文字目から始まる単語の一または複数のつづりが異なる同音異義語を作業バッファに取得して（ステップＳ５０６）、作業バッファに取得された単語と取得単語を比較して、一致するか否かを判定する（ステップＳ５０７）。一致していた場合（ステップＳ５０７で「Ｙｅｓ」）、取得単語をホモフォンとして登録する（ステップＳ５０８）。一致していなかった場合（ステップＳ５０７で「Ｎｏ」）、ステップＳ５０９へ進み、上述したステップＳ５０９以降の処理を実行する。
【００９０】
図１８は、問題文「Aisle which is surrounded by water I hear.」に含まれる単語のつづりが異なる同音異義語に対して、単語リスト検索結果記憶手段１３に記憶されている単語「isle」を比較する処理を説明するための図である。この例では、入力文字列中の「Aisle」のつづりが異なる同音異義語「isle」が、取得単語「isle」と一致している。
【００９１】
なお、本発明の実施の形態は、上記にものに限定されず、たとえば制御部１０内の各手段を統合あるいは分散したり、記憶部４０内の記憶手段と統合したりする変更が適宜可能である。また、記憶部４０内のファイルの内容を通信回線や所定の記録媒体を用いて更新できるようにしたり、記憶部４０内のファイルを通信回線を介して分散して配置したりすることが可能である。また、本発明の単語検索装置は、電子辞書として構成するのに限らず、汎用コンピュータとそれによって実行されるソフトウェアプログラムとから構成するようにしてもよい。また、本発明の単語検索装置は、コンピュータおよび周辺装置とそれらによって実行されるプログラムとから構成することができるが、そのプログラムは通信回線あるいはコンピュータ読み取り可能な記録媒体を介して頒布することが可能である。また、インターネットなどにおけるウェブシステムのように通信回線を介して接続された複数のコンピュータを用いて実現されるシステムとして本発明を構成することも可能である。また、本発明が提供される言語は、英語に限らず、ドイツ語、フランス語、スペイン語などアルファベットを用いる他の言語や、アルファベットを用いない日本語などの言語であってもよい。
【図面の簡単な説明】
【００９２】
【図１】本発明の単語検索装置の実施の形態を示すブロック図である。
【図２】図１の単語リスト記憶手段４１の記憶内容の一例を示す図である。
【図３】図１の表示装置３０の表示例、単語リスト記憶手段４１の記憶内容の一例、インジケータ記憶手段４２の記憶内容の一例を示す図である。
【図４】図１の単語検索手段１２の動作を説明するためのフローチャートである。
【図５】図１の単語検索手段１２の動作を説明するための説明図である。
【図６】図１の条件付単語比較手段１４の動作（ブリッジの場合）を説明するためのフローチャートである。
【図７】図１の条件付単語比較手段１４の動作（ブリッジの場合）を説明するための説明図である。
【図８】図１の表示装置３０の表示例を示す図である。
【図９】図１の条件付単語比較手段１４の動作（アナグラムの場合）を説明するためのフローチャートである。
【図１０】図１の条件付単語比較手段１４の動作（アナグラムの場合）を説明するための説明図である。
【図１１】図１の表示装置３０の他の表示例を示す図である。
【図１２】図１の条件付単語比較手段１４の動作（デリーションおよびベリアルの場合）を説明するためのフローチャートである。
【図１３】図１の条件付単語比較手段１４の動作（デリーションおよびベリアルの場合）を説明するための説明図である。
【図１４】図１の条件付単語比較手段１４の動作（デリーションおよびベリアルの場合）を説明するための他の説明図である。
【図１５】図１の条件付単語比較手段１４の動作（リバーサルの場合）を説明するためのフローチャートである。
【図１６】図１の条件付単語比較手段１４の動作（リバーサルの場合）を説明するための説明図である。
【図１７】図１の条件付単語比較手段１４の動作（ホモフォンの場合）を説明するためのフローチャートである。
【図１８】図１の条件付単語比較手段１４の動作（ホモフォンの場合）を説明するための説明図である。
【符号の説明】
【００９３】
１  単語検索装置
１０  制御部
１１  入力データ一時記憶手段
１２  単語検索手段
１３  単語リスト検索結果記憶手段
１４  条件付単語検出手段
１５  表示手段
１６  インジケータ検出手段
２０  文字入力装置（入力手段）
３０  表示装置（表示手段）
４０  記憶部
４１  単語リスト記憶手段（単語記憶手段）
４２  インジケータ記憶手段（条件記憶手段）
【図１】
2009059138.tif 000003
【図２】
2009059138.tif 000004
【図３】
2009059138.tif 000005
【図４】
2009059138.tif 000006
【図５】
2009059138.tif 000007
【図６】
2009059138.tif 000008
【図７】
2009059138.tif 000009
【図８】
2009059138.tif 000010
【図９】
2009059138.tif 000011
【図１０】
2009059138.tif 000012
【図１１】
2009059138.tif 000013
【図１２】
2009059138.tif 000014
【図１３】
2009059138.tif 000015
【図１４】
2009059138.tif 000016
【図１５】
2009059138.tif 000017
【図１６】
2009059138.tif 000018
【図１７】
2009059138.tif 000019
【図１８】
2009059138.tif 000020