(57)【特許請求の範囲】
【請求項１】
変数および定数の少なくとも一方と演算子とを含んだ数式と見出し語とを関連付けて格納する辞書データを記憶するための記憶手段と、
変数および定数の少なくとも一方と演算子とを含む文字列の入力を受け付ける入力手段と、
前記入力手段に入力された文字列中の少なくとも一部が、演算子および関数の少なくとも一方を含んだ数式パッドを利用して入力された場合、当該文字列の変数および定数の少なくとも一方と演算子との並び順が一致する部分を含む数式を前記辞書データから検索し、当該数式に関連付けられた見出し語を検索するための検索手段と、
前記検索手段による検索結果である見出し語に対応する情報を出力するための出力手段とを備えた、検索装置。
【請求項２】
前記辞書データにおいて格納されている数式は、演算子を文字列で記述している、請求項１に記載の検索装置。
【請求項３】
前記入力手段は、さらに変数、定数または演算子とは異なる文字列を受け付け、
前記検索手段は、前記辞書データにおいて、前記入力手段に入力された文字列中の、変数および定数の少なくとも一方と演算子との並び順が一致する部分を含む数式、または、変数、定数もしくは演算子とは異なる文字列に対応する数式に関連付けられた見出し語を検索する、請求項１または請求項２に記載の検索装置。
【請求項４】
前記辞書データは、前記数式に付加された文字列をさらに格納し、
前記検索手段は、少なくとも前記数式に付加された文字列が、前記入力手段に入力された変数、定数もしくは演算子とは異なる文字列に対応するときに、当該数式が当該入力手段に入力された文字列に対応する数式であると判断する、請求項３に記載の検索装置。
【請求項５】
前記辞書データは、前記数式を、当該数式に含まれる変数および定数のそれぞれを予め定められた順序で配列された文字列のそれぞれに順に置換するという規則に従って変換された態様と、当該規則に従って変換される前の態様との、双方の態様で格納する、請求項１〜請求項４のいずれか１項に記載の検索装置。
【請求項６】
前記検索手段は、前記並び順が一致する部分を含む数式に対応する数式に関連付けられた見出し語の数が予め定められた数以上である場合には、前記辞書データにおいて、前記並び順が一致する部分を含む数式の代わりに前記入力手段に入力された文字列に対応する数式に関連付けられた見出し語を検索する、請求項１〜請求項５のいずれか１項に記載の検索装置。
【請求項７】
前記検索手段は、前記並び順が一致する部分を含む数式に対応する数式に関連付けられた見出し語の数が予め定められた数より少ない場合には、前記辞書データにおいて、前記入力手段に入力された文字列に対応する数式をその一部が削除されまたはその左辺と右辺とが入れ替えられるように更新し、当該更新後の数式に関連付けられた見出し語を検索する、請求項１〜請求項６のいずれか１項に記載の検索装置。
【請求項８】
前記記憶手段は、前記辞書データ内の数式のそれぞれと、当該数式のそれぞれを他の数式に関連付ける情報とを含む関連情報をさらに記憶し、
前記検索手段は、前記入力手段に入力された前記文字列中の変数および定数の少なくとも一方と演算子との並び順が一致する部分を含む数式を、前記辞書データの代わりに前記関連情報から検索し、当該関連情報からの検索結果として取得した見出し語が関連付けられた第１の数式と、前記関連情報によって関連付けられる、第２の数式に関連付けられた見出し語を、前記検索結果に追加する、請求項１〜請求項７のいずれか１項に記載の検索装置。
【請求項９】
変数および定数の少なくとも一方と演算子とを含んだ数式と見出し語とを関連付ける辞書データから見出し語を検索するためのコンピュータによって実行される検索方法であって、
変数および定数の少なくとも一方と演算子とを含んだ文字列の入力を受け付けるステップと、
入力された前記文字列中の少なくとも一部が、演算子および関数の少なくとも一方を含んだ数式パッドを利用して入力された場合、当該文字列の変数および定数の少なくとも一方と演算子との並び順が一致する部分を含む数式を前記辞書データから検索し、当該数式に関連付けられた見出し語を検索するステップと、
前記検索による検索結果である見出し語に対応する情報を出力するステップとを備えた、検索方法。
【請求項１０】
変数および定数の少なくとも一方と演算子とを含んだ数式と見出し語とを関連付ける辞書データから見出し語を検索するためのコンピュータによって実行されるプログラムであって、
前記プログラムは、前記コンピュータに、
変数および定数の少なくとも一方と演算子とを含んだ文字列の入力を受け付けるステップと、
入力された前記文字列中の少なくとも一部が、演算子および関数の少なくとも一方を含んだ数式パッドを利用して入力された場合、当該文字列の変数および定数の少なくとも一方と演算子との並び順が一致する部分を含む数式を前記辞書データから検索し、当該数式に関連付けられた見出し語を検索するステップと、
前記検索による検索結果である見出し語に対応する情報を出力するステップとを実行させる、プログラム。
【請求項１１】
請求項１０に記載のプログラムを記録した、コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、検索装置、検索方法、プログラム、および記録媒体に関し、特に、数式を検索するための検索装置、検索方法、プログラム、および記録媒体に関する。
【背景技術】
【０００２】
電子辞書などの検索装置において、従来、テキスト情報だけでなく数式が利用される場合があった。たとえば、特開２００３−１４１０９１号公報（特許文献１）には、三角関数が用いられた式の中の１つ項が選択されると、選択された項のデータを変換して元の三角関数の式に組み込む演算処理装置が開示されている。また、特開２００５−３１７９８号公報（特許文献２）には、検索文字列として数式としても解釈できる文字列が入力された場合に、当該検索文字列に応じた検索結果と当該検索文字列の数式の計算結果とを合成して出力する検索装置が開示されている。また、特開２００９−１１６５３１号公報（特許文献３）には、見出し語と見出し語に関連付けられたテキストデータおよびオブジェクトデータとを含む辞書データを有する電子機器が開示されている。当該電子機器は、入力された情報に対応するキーワードを検索し、キーワードに関連付けられたオブジェクトデータを検索し、そして、オブジェクトデータと関連付けられている見出し語を検索する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−１４１０９１号公報
【特許文献２】特開２００５−３１７９８号公報
【特許文献３】特開２００９−１１６５３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、従来の検索装置において数式が検索結果としては、入力されたキーワード（検索用の文字列等）に対応する数式のみが出力されていた。なお、数式には、互いに意味合いは異なるものの数学的に同値である数式の組み合わせが存在する。しかしながら、従来の検索装置は、当該組み合わせの一方の数式を出力するときに、他方の数式も合わせて出力することができなかった。
【０００５】
本開示は、かかる実情に鑑み考え出されたものであり、その目的は、数学的に同値な数式の組み合わせについて、当該組み合わせの中の一つの数式を、当該組み合わせの中の残りの数式の少なくとも一部とともに出力することができる、検索装置、検索方法、プログラム、および記録媒体を提供することである。
【課題を解決するための手段】
【０００６】
ある局面に従うと、変数および定数の少なくとも一方と演算子とを含んだ数式と見出し語とを関連付けて格納する辞書データを記憶するための記憶手段と、変数および定数の少なくとも一方と演算子とを含む文字列の入力を受け付ける入力手段と、入力手段に入力された文字列中の少なくとも一部が、演算子および関数の少なくとも一方を含んだ数式パッドを利用して入力された場合、当該文字列の変数および定数の少なくとも一方と演算子との並び順が一致する部分を含む数式を辞書データから検索し、当該数式に関連付けられた見出し語を検索するための検索手段と、検索手段による検索結果である見出し語に対応する情報を出力するための出力手段とを備えた、検索装置が提供される。
【０００７】
好ましくは、辞書データにおいて格納されている数式は、演算子を文字列で記述している。
【０００８】
好ましくは、入力手段は、さらに変数、定数または演算子とは異なる文字列を受け付け、検索手段は、辞書データにおいて、入力手段に入力された文字列中の、変数および定数の少なくとも一方と演算子との並び順が一致する部分を含む数式、または、変数、定数もしくは演算子とは異なる文字列に対応する数式に関連付けられた見出し語を検索する。
【０００９】
好ましくは、辞書データは、数式に付加された文字列をさらに格納し、検索手段は、少なくとも数式に付加された文字列が、入力手段に入力された変数、定数もしくは演算子とは異なる文字列に対応するときに、当該数式が当該入力手段に入力された文字列に対応する数式であると判断する。
【００１０】
好ましくは、辞書データは、数式を、当該数式に含まれる変数および定数のそれぞれを予め定められた順序で配列された文字列のそれぞれに順に置換するという規則に従って変換された態様と、当該規則に従って変換される前の態様との、双方の態様で格納する。
【００１１】
好ましくは、検索手段は、並び順が一致する部分を含む数式に対応する数式に関連付けられた見出し語の数が予め定められた数以上である場合には、辞書データにおいて、並び順が一致する部分を含む数式の代わりに入力手段に入力された文字列に対応する数式に関連付けられた見出し語を検索する。
【００１２】
好ましくは、検索手段は、並び順が一致する部分を含む数式に対応する数式に関連付けられた見出し語の数が予め定められた数より少ない場合には、辞書データにおいて、入力手段に入力された文字列に対応する数式をその一部が削除されまたはその左辺と右辺とが入れ替えられるように更新し、当該更新後の数式に関連付けられた見出し語を検索する。
【００１３】
好ましくは、記憶手段は、辞書データ内の数式のそれぞれと、当該数式のそれぞれを他の数式に関連付ける情報とを含む関連情報をさらに記憶し、検索手段は、入力手段に入力された文字列中の変数および定数の少なくとも一方と演算子との並び順が一致する部分を含む数式を、辞書データの代わりに関連情報から検索し、当該関連情報からの検索結果として取得した見出し語が関連付けられた第１の数式と、関連情報によって関連付けられる、第２の数式に関連付けられた見出し語を、検索結果に追加する。
【００１４】
他の局面に従うと、変数および定数の少なくとも一方と演算子とを含んだ数式と見出し語とを関連付ける辞書データから見出し語を検索するためのコンピュータによって実行される検索方法であって、変数および定数の少なくとも一方と演算子とを含んだ文字列の入力を受け付けるステップと、入力された文字列中の少なくとも一部が、演算子および関数の少なくとも一方を含んだ数式パッドを利用して入力された場合、当該文字列の変数および定数の少なくとも一方と演算子との並び順が一致する部分を含む数式を辞書データから検索し、当該数式に関連付けられた見出し語を検索するステップと、検索による検索結果である見出し語に対応する情報を出力するステップとを備えた、検索方法が提供される。
【００１５】
さらに他の局面に従うと、変数および定数の少なくとも一方と演算子とを含んだ数式と見出し語とを関連付ける辞書データから見出し語を検索するためのコンピュータによって実行されるプログラムであって、プログラムは、コンピュータに、変数および定数の少なくとも一方と演算子とを含んだ文字列の入力を受け付けるステップと、入力された文字列中の少なくとも一部が、演算子および関数の少なくとも一方を含んだ数式パッドを利用して入力された場合、当該文字列の変数および定数の少なくとも一方と演算子との並び順が一致する部分を含む数式を辞書データから検索し、当該数式に関連付けられた見出し語を検索するステップと、検索による検索結果である見出し語に対応する情報を出力するステップとを実行させる、プログラムが提供される。
【００１６】
別の局面に従うと、上記のプログラムを記録した、コンピュータ読み取り可能な記録媒体が提供される。
【発明の効果】
【００１７】
本開示によれば、辞書データにおいて数式と関連付けられる見出し語のうち、入力手段に入力された文字列中の変数および定数の少なくとも一方と演算子との並び順が一致する部分を含む数式と関連付けられた見出し語が、検索結果として出力される。
【００１８】
したがって、検索結果として、物理的に意味が異なるが数学的に同値な数式の組み合わせについて、当該組み合わせの中の一つの数式が、当該組み合わせの中の残りの数式の少なくとも一部とともに出力されるようになる。
【図面の簡単な説明】
【００１９】
【図１】第１の実施の形態の検索装置における検索処理の概要を説明するための図である。
【図２】辞書データにおける、数式中の変数および定数のアルファベットによる置換を説明するための図である。
【図３】辞書データにおける、数式中の変数および定数のアルファベットによる置換を説明するための図である。
【図４】第１の実施の形態における検索の特徴を説明するための図である。
【図５】第１の実施の形態の検索装置のハードウェア構成の一例を示す図である。
【図６】検索装置の機能構成の一例を模式的に示す図である。
【図７】テキストの入力のためにタッチパネルに表示される画像の一例を示す図である。
【図８】数式の入力のためにタッチパネルに表示される画像の一例を示す図である。
【図９】数式パッドの拡大図である。
【図１０】検索部による検索を概念的に示す図である。
【図１１】第１の実施の形態の検索装置における検索結果の表示を説明するための図である。
【図１２】第１の実施の形態の検索装置における検索結果の表示を説明するための図である。
【図１３】第１の実施の形態の検索装置における検索結果の表示を説明するための図である。
【図１４】検索装置において実行される検索処理のフローチャートである。
【図１５】第２の実施の形態の検索装置に格納される辞書データの構成の一例を模式的に示す図である。
【図１６】第２の実施の形態の検索装置における検索および当該検索結果の表示のための処理のフローチャートである。
【図１７】第２の実施の形態の検索装置における検索および当該検索結果の表示のための処理のフローチャートである。
【図１８】ガイダンスの画像の一例を示す図である。
【図１９】ガイダンスの画像の一例を示す図である。
【図２０】ガイダンスの画像の一例を示す図である。
【図２１】ガイダンスの画像の一例を示す図である。
【図２２】数式データベースの構成の一例を概略的に示す図である。
【図２３】第５の実施の形態の辞書データにおける数式に関するデータの一例を示す図である。
【図２４】第５の実施の形態におけるプレビュー画面の表示態様の一例を説明するための図である。
【図２５】第５の実施の形態におけるプレビュー画面の表示態様の一例を説明するための図である。
【発明を実施するための形態】
【００２０】
以下、図面を参照しつつ、本開示の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００２１】
［第１の実施の形態］
第１の実施の形態に従った検索装置における検索は、数式に関する検索を含む。まず、当該検索装置における検索の概要を説明する。
【００２２】
＜１．検索の概要＞
図１は、第１の実施の形態の検索装置における検索処理の概要を説明するための図である。図１に示されるように、検索処理は、０段階目で示される準備（「０．準備」）に加えて、「１．入力」「２．変換」「３．検索」および「４．結果出力」の４つの段階を含む。以下、各段階について説明する。
【００２３】
（０．準備）
段階「０．準備」は、検索に利用される辞書データにおける準備を含む。図１では、辞書データＤ０１，Ｄ０２として、２つの辞書データが例示されている。辞書データＤ０１は、「ＡＡ事典」として示されている。辞書データＤ０２は、「ＢＢ百科事典」として示されている。つまり、辞書データＤ０１，Ｄ０２のそれぞれが１つの辞書に対応する。
【００２４】
辞書データは、「見出し語」と、当該見出し語に対応する「内容」とを含む。たとえば、辞書データＤ０１は、見出し語「万有引力の法則」を含む。辞書データＤ０１は、当該見出し語に関連付けられた内容として、「物体に働く引力は…」から「と、表わされる。」までの、７行で表される文字列を含む。当該文字列のうち、「\begin{equation}」から「\end{equation}」まで（第２行〜第６行）の５行の記述は、「ＴｅＸ」という数式を表示するソフトウェアで利用されるためのマークアップ言語で記述された数式に対応する。以下、本明細書では、当該マークアップ言語を「ＴｅＸ言語」と呼ぶ。
【００２５】
第１の実施の形態では、検索装置中の辞書データの数式では、本来の変数および定数が一定の規則に従ったアルファベットに置換されて記述されている。「本来の」とは、教科書等において一般的に記述される態様の、ということを意味する。図２および図３は、辞書データにおける、数式中の変数および定数のアルファベットによる置換を説明するための図である。
【００２６】
図１の辞書データＤ０１は、図２の辞書データＤ１１における数式の変数および定数が一定の規則に従ったアルファベットで置換されたデータである。辞書データＤ０１中の上記の５行の数式の記述は、辞書データＤ１１中の「\begin{equation}」から「\end{equation}」まで（第２行〜第６行）の５行の記述に対応する。そして、辞書データＤ１１の破線内の記述「F=G\frac{Mm}{r}」が、辞書データＤ０１では、記述「A=\frac{BCD}{E^2}」に置換えられている。つまり、辞書データＤ０１中の数式の定数および変数の配列は、辞書データＤ１１の中の数式の定数および変数が数式中の左方から順に置き換えられたアルファベットの配列である。検索装置は、たとえば以下の手順で、上記置換を実現する。
【００２７】
まず、検索装置は、辞書データＤ１１内の数式そのものの記述を抽出する。より具体的には、検索装置は、ＴｅＸ言語で記述された数式部分を抽出する。数式部分は、記述「\begin{equation}」および記述「\end{equation}」の間に位置する部分である。そして、検索装置は、抽出された部分から、「％」で始まるコメント行（表示には直接的に利用されない情報）を除くことにより、数式そのものの記述を抽出する。これにより、辞書データＤ１１の「万有引力の法則」から、数式そのものの記述「F=G\frac{Mm}{r}」が抽出される。この記述は、図２に示された式（１）に相当する。
【００２８】
次に、検索装置は、当該数式そのものの記述から変数および定数を抽出する。変数および定数の抽出は、たとえば、数式そのものの記述から、数字、等号および不等号を含む記号ならびにＴｅＸ言語において関数を表わす文字列（「\frac」等）が除かれることによって実現される。これにより、上記の記述「F=G\frac{Mm}{r}」から、４個の変数「Ｆ」「Ｍ」「ｍ」「ｒ」および１個の文字定数「Ｇ」が抽出される。
【００２９】
そして、検索装置は、これらの４個の変数および１個の文字定数を、順に、アルファベットに置き換える。つまり、検索装置は、「Ｆ」「Ｇ」「Ｍ」「ｍ」および「ｒ」を、「Ａ」「Ｂ」「Ｃ」「Ｄ」および「Ｅ」に置き換える。置き換えによって得られた式「B\frac{CD}{E^2}」は、変数「Ｂ」と分数（変数「Ｃ」「Ｄ」「Ｅ」からなる分数）との乗算を表わしている。変数と分数との乗算は、一般の数学的規則に基づいて、１つの分数にまとめられる。このことから、「B\frac{CD}{E^2}」は「\frac{BCD}{E^2}」と置換される。これにより、上記の記述「F=G\frac{Mm}{r}」は、辞書データＤ０１において示されるように、記述「A=\frac{BCD}{E^2}」に変換される。
【００３０】
図１に戻って、辞書データＤ０２においても、辞書データＤ０１と同様に、数式の変数および定数が、一定の規則に従ったアルファベットに置換されている。つまり、辞書データＤ０２は、見出し語「クーロンの法則」と、当該見出し語に関連付けられた内容（「以下の式で表される、…」以降の７行）とを含む。
【００３１】
辞書データＤ０２は、図３の辞書データＤ１２に対応する。図１の辞書データＤ０２では、辞書データＤ１２中の破線で囲まれた記述「F=k\frac{Qq}{r^2}」が、記述「A=\frac{BCD}{E^2}」に変換されている。より具体的には、辞書データＤ０２中の記述「A=\frac{BCD}{E^2}」では、辞書データＤ１２中の記述「F=k\frac{Qq}{r^2}」において、４個の変数および１個の文字定数「F」「k」「q」「q」「r」のそれぞれを、「Ａ」「Ｂ」「Ｃ」「Ｄ」「Ｅ」のそれぞれに置換する。置き換えによって得られた式「B\frac{CD}{E^2}」は変数「Ｂ」と変数（変数「Ｃ」「Ｄ」「Ｅ」からなる分数）との乗算を表わしている。変数と分数との乗算は上記のように１つの分数にまとめられることから、「B\frac{CD}{E^2}」は「\frac{BCD}{E^2}」と置換される。なお、辞書データＤ１２中の記述「F= k\frac{Qq}{r^2}」は、図３中の式（２）に相当する。
【００３２】
本明細書では、数式のデータに含まれる変数および定数を、上記した一定の規則に従ったアルファベットで置換することを「正規化」と呼ぶ。
【００３３】
（１．入力）
段階「１．入力」では、検索用のキーワードの入力を受け付ける。より具体的には、検索装置は、数式入力用のパッド（図１の入力部ＩＮ０１）およびキーボード（図１の入力部ＩＮ０２）を介して、キーワードの入力を受け付ける。図１では、さらに、枠ＦＬ０１内に、入力されたキーワード群の一例が模式的に示されている。
【００３４】
入力されたキーワード群のうち、部分ＰＴ０１は、入力部ＩＮ０１（数式入力用パッド）を介して入力された数式である。そして、部分ＰＴ０２は、入力部ＩＮ０２（キーボード）を介して入力された文字列である。
【００３５】
（２．変換）
キーワードの入力を受け付けると、検索装置は、図１において段階「２．変換」として示されるように、入力されたキーワードの中の数式の中の変数および定数を、辞書データＤ０１，Ｄ０２中の数式と同様に、正規化する。図１では、枠ＦＬ０１内のキーワードの変換後の状態が、枠ＦＬ０２内に示されている。より具体的には、部分ＰＴ０１の数式は、記述「A=\frac{BCD}{E^2}」に対応する。なお、枠ＦＬ０２内のデータは、当該記述を数式として表示するためのＴｅＸ言語の記述（「\begin{equation}」および「\end{equation}」）をさらに含む。検索装置は、たとえば、キーワードとして入力された数式を表示するためのＴｅＸ言語の記述を取得し、当該ＴｅＸ言語の記述を正規化する。
【００３６】
（３．検索）
次に、検索装置は、図１において段階「３．検索」として示されるように、正規化されたキーワードを利用して、辞書データＤ０１，Ｄ０２等の辞書データを検索する。検索装置は、たとえば、その内容がキーワード内の正規化された数式（枠ＦＬ０３内の破線Ｋ０１）と同じ文字列をその内容として有する見出し語、および／または、そのコメント行にキーワード内の文字列（枠ＦＬ０３内の破線Ｋ０２，破線Ｋ０３）と同じ文字列を有する見出し語を、検索結果として取得する。
【００３７】
（４．結果出力）
そして、検索装置は、図１において段階「４．結果出力」として示されるように、検索結果として取得した見出し語を出力する。図１に示された例では、記述「A=\frac{BCD}{E^2}」を含む見出し語「万有引力の法則」および「クーロンの法則」が、検索結果に含まれる。
【００３８】
以上、図１〜図３を参照して説明された第１の実施の形態の概要によれば、辞書データ内の数式が正規化され、さらに、キーワードとして万有引力の法則を表わす数式（図１中の部分ＰＴ０１）が正規化されて検索に利用される。これにより、入力された数式のそのものに関連付けられた見出し語だけでなく、当該数式と数学的に同値な数式に関連付けられた見出し語も、検索結果に含まれる。図４は、第１の実施の形態における検索の特徴を説明するための図である。なお、互いに数学的に同値な数式とは、たとえば、変数および定数の少なくとも一方と演算子との並び順が一致する組の数式である。
【００３９】
図４を参照して、辞書データでは、式（１）および式（２）の式のそれぞれが、正規化されることにより、式（３）として格納される。式（３）は、式（１）および式（２）の双方に対して、変数および定数を表わすアルファベットの種類のみが異なる、数学的に同値の式である。また、第１の実施の形態では、キーワードとして入力された数式も、正規化されて検索に利用される。したがって、式（１）および式（２）のいずれか一方の数式がキーワードとして入力された場合であっても、当該キーワードは、正規化されることによって、式（３）へと変換される。これにより、検索装置は、数学的に同値な関係にある２以上の数式の中の１つがキーワードとして入力された場合、入力された数式そのものだけでなく、当該入力された数式と数学的に同値な数式も、検索結果として出力し得る。
【００４０】
なお、数学的の同値な数式の組み合わせは、上記したような万有引力の法則の数式（式（１））とクーロンの法則の数式（式（２））の組み合わせに限定されない。たとえば、図４に示された、物体の振動を表わす微分方程式（式（４））と共振回路の微分方程式（式（５））との組み合わせ、および、単振動の式（式（６））と波動の式（式（７））との組み合わせも、数学的に同値な数式と言える。
【００４１】
＜ハードウェア構成＞
図５は、第１の実施の形態の検索装置のハードウェア構成の一例を示す図である。図５に示されるように、検索装置は、ＣＰＵ（Central  Processing  Unit）６０５を含む。ＣＰＵ６０５は、所与のプログラムを実行することにより、検索装置の動作を制御するための処理を実現する。
【００４２】
また、検索装置は、ＬＣＤ６１、タッチパネル６２、操作ボタン６４、およびタッチパネルコントローラ６０１を含む。ＬＣＤ６１は、ＣＰＵ６０５の処理の実行の結果である画像を表示する。タッチパネル６２は、ＬＣＤ６１と同様に画像を表示し、さらに、外部からのタッチ操作による情報の入力を受け付ける。タッチパネルコントローラ６０１は、タッチパネル６２に接続され、タッチパネル６２の制御を行う回路である。タッチパネル６２に入力された情報は、タッチパネルコントローラ６０１を介して、ＣＰＵ６０５へ入力される。操作ボタン６４は、操作されることにより外部からの情報の入力を受け付け、そして、入力された情報をＣＰＵ６０５へ出力する。
【００４３】
検索装置は、さらに、スピーカ６０７、サウンドＩＣ６０８、マイク６０９、無線モジュール６１０、アンテナ６１１、電源ＩＣ６１４、電池６１５、およびメモリ６２０を備える。ＣＰＵ６０５には電源ＩＣ６１４が接続される。これにより、各部に電力が供給される。電源ＩＣ６１４には内蔵の電池６１５が接続され、電力が供給される。
【００４４】
タッチパネルコントローラ６０１は、タッチパネル６２からの信号に基づいて所定の形式のタッチ位置データを生成してＣＰＵ６０５へ出力する。タッチ位置データは、タッチパネル６２の入力面において入力が行われた位置の座標を表す。なお、タッチパネルコントローラ６０１は、タッチパネル６２からの信号の読み込み、および、タッチ位置データの生成を所定時間に１回の割合で行う。
【００４５】
メモリ６２０は、不揮発性メモリを含む。メモリ６２０には、たとえば、ＣＰＵ６０５が実行するプログラム、および当該プログラムの実行に必要なデータが格納される。
【００４６】
＜機能構成＞
図６は、検索装置の機能構成の一例を模式的に示す図である。図６を参照して、検索装置のメモリ６２０に格納される情報は、プログラム格納部６２１、データ格納部６２２、および辞書データ格納部６２３を含む。プログラム格納部６２１は、ＣＰＵ６０５等によって実行されるプログラムを格納する。データ格納部６２２は、上記プログラムの実行に利用されるデータを格納する。辞書データ格納部６２３は、１つ以上の辞書データを格納する。
【００４７】
辞書データ格納部６２３に格納される辞書データが検索に利用される際には、図１に示されたように、当該辞書データ内の数式は正規化されている。なお、辞書データ内の数式は、正規化された状態で辞書データ格納部６２３に格納されていても良いし、検索に利用される直前に正規化されても良い。
【００４８】
検索装置は、辞書データ格納部６２３に格納される辞書データを用いて検索を行う。なお、検索装置は、ＵＳＢメモリ等の着脱可能な記録媒体内のデータを読込むことができるように構成されても良い。そして、検索装置は、当該着脱可能な記録媒体に格納された辞書データを利用して、検索を行うこともできる。さらに、検索装置は、無線モジュール６１０を介して外部の記憶装置にアクセスし、当該記憶装置に格納された辞書データを利用して、検索を行うこともできる。
【００４９】
検索装置において、タッチパネル６２は、ユーザから、検索用のキーワードとしてテキスト情報および数式の少なくとも一方を受け付ける（図６中の「テキストの入力」「数式の入力」）。そして、タッチパネル６２（タッチパネルコントローラ６０１）は、入力された情報を、ＣＰＵ６０５に送信する。
【００５０】
図７および図８を参照して、タッチパネル６２における情報の入力の態様を説明する。図７は、テキストの入力のためにタッチパネル６２に表示される画像の一例を示す図である。図７に示された画像ＩＭＧ０１は、キーワード入力欄ＡＲ０１と表示欄ＡＲ０２とを含む。キーワード入力欄ＡＲ０１は、入力部ＳＥ０１と、呼出ボタンＩＣ０１とを含む。
【００５１】
入力部ＳＥ０１には、入力される情報が表示される。入力される情報は、テキスト情報と数式とを含む。
【００５２】
呼出ボタンＩＣ０１は、数式パッドを呼び出すためのボタンである。呼出ボタンＩＣ０１を操作されると、検索装置（ＣＰＵ６０５）は、図８に示されるように、表示欄ＡＲ０２に数式パッドＰＤ０１を表示させる。図９は、数式パッドＰＤ０１の拡大図である。
【００５３】
図９に示されるように、数式パッドＰＤ０１は、関数電卓において配列されている複数の操作キーのように、数字キーに加えて関数を入力するためのキーを含む。数式パッドＰＤ０１は、さらに閉じるキーＢ０１を含む。ＣＰＵ６０５は、閉じるキーＢ０１を操作されることにより、表示欄ＡＲ０２における数式パッドの表示を終了させる。これにより、タッチパネル６２における表示は、図８の画像ＩＭＧ０２から図７の画像ＩＭＧ０１に戻る。
【００５４】
図６に戻って、ＣＰＵ６０５の機能として、受付部６５１、変換部６５２、検索部６５３、および表示制御部６５４が示されている。受付部６５１は、タッチパネル６２から、入力された情報を受信する。そして、受付部６５１は、入力された情報のうち、テキストを検索部６５３に送信し、数式を変換部６５２に送信する。
【００５５】
変換部６５２は、入力された数式を、図１等を参照して説明したように正規化する。そして、変換部６５２は、正規化された数式を、検索部６５３に送信する。
【００５６】
検索部６５３は、受付部６５１から受信したテキストと、変換部６５２から受信した数式とを利用して、辞書データから見出し語を検索する。検索部６５３は、複数の辞書データから検索を行なうこともできる。図１０は、検索部６５３による検索を概念的に示す図である。
【００５７】
図１０では、辞書データＤＣ（１）〜ＤＣ（Ｎ）および辞書データＤＣ（Ｎ＋１）〜ＤＣ（Ｘ）が示されている。辞書データＤＣ（１）〜ＤＣ（Ｎ）は、検索装置内に格納された辞書データを表す。辞書データＤＣ（Ｎ＋１）〜ＤＣ（Ｘ）は、検索装置外に格納された辞書データを表す。検索装置外で辞書データを格納する装置は、たとえば、検索装置に対して着脱可能な記録媒体、および、検索装置がネットワークを介して通信可能な記憶装置である。検索部６５３は、たとえばユーザから入力された情報に基づいて、どの辞書データから検索を行なうかを決定する。また、検索部６５３は、入力されたキーワードに数式が含まれているかいないかによって、どの辞書データから検索を行なうかを決定することができる。より具体的には、検索部６５３は、入力されたキーワードが数式を含むときには数式を含む辞書データを検索対象に含め、キーワードが数式を含まないときには数式を含まない辞書データのみを検索対象としても良い。
【００５８】
図６に戻って、検索部６５３は、上記のように検索を行ない、その結果を表示制御部６５４へ送信する。表示制御部６５４は、検索結果を表示するための画像を生成し、そして、当該画像をタッチパネル６２に送信する。そして、タッチパネル６２は、当該画像を表示する。
【００５９】
図１１〜図１３は、第１の実施の形態の検索装置における検索結果の表示を説明するための図である。図１１〜図１３を参照して、検索結果の表示の一例を説明する。
【００６０】
図１１には、辞書データの構成の一例が示されている。辞書データでは、見出し語ＩＤと、見出し語と、内容とが関連付けられている。たとえば、見出し語ＩＤ「０００１」には、見出し語「ＡＡＡ」と、その内容とが関連付けられている。見出し語に関連付けられる内容は、ＴｅＸ言語に従った記述を含む。図１１には、さらに、見出し語および内容の実際の表示の一例が示されている。図１１の例では、見出し語に関連付けられた内容は、正規化されている。このため、実際の表示は、正規化された内容に従う。つまり、実際の表示では、変数および定数が、左から、所定の順序に従ったアルファベットとして示されている。
【００６１】
図１２および図１３のそれぞれには、タッチパネル６２に表示される画像の一例が示されている。図１２の画像ＩＭＧ０３では、入力部ＳＥ０１に、入力されたキーワードが表示されている。そして、画像ＩＭＧ０３では、表示欄ＡＲ０２は、項目表示部ＡＲ２１と、プレビュー表示部ＡＲ２２とを含む。項目表示部ＡＲ２１には、検索結果として得られた見出し語がリスト表示されている。そして、プレビュー表示部ＡＲ２２では、リスト表示された見出し語の中から仮に選択された状態にある見出し語の内容のプレビューが表示されている。
【００６２】
検索結果として得られた見出し語から１つの見出し語が最終的に選択されると、タッチパネル６２には図１３の画像ＩＭＧ０４が表示される。画像ＩＭＧ０４は、選択された見出し語の内容が表示する。なお、検索装置では、操作ボタン６４に含まれる所定のボタンが操作される等によって、タッチパネル６２における表示は、画像ＩＭＧ０４から画像ＩＭＧ０３へと戻されても良い。
【００６３】
＜処理の流れ＞
図１４は、検索装置において実行される検索処理のフローチャートである。図１４を参照して、検索処理の流れを説明する。当該処理は、たとえば検索を実行する指示が入力されたことによって開始される。なお、検索装置が、当該検索装置にインストールされたアプリケーションの動作として検索を実行する場合、当該処理は、たとえば当該アプリケーションの起動の指示が入力されたことによって開始される。
【００６４】
図１４を参照して、ステップＳ１０で、ＣＰＵ６０５は、キーワードの入力を受け付ける。そして、制御は、ステップＳ２０へ進められる。
【００６５】
ステップＳ２０で、ＣＰＵ６０５は、検索を開始するための指示が入力されたかどうかを判断する。ＣＰＵ６０５は、まだ当該指示が入力されていないと判断すると（ステップＳ２０でＮＯ）、ステップＳ１０に戻ってキーワードの入力の受付を継続する。そして、当該指示が入力されたと判断すると（ステップＳ２０でＹＥＳ）、ＣＰＵ６０５は、ステップＳ３０へ制御を進める。
【００６６】
ステップＳ３０で、ＣＰＵ６０５は、キーワードに含まれている数式を変換（正規化）する。そして、制御は、ステップＳ４０へ進められる。
【００６７】
ステップＳ４０で、ＣＰＵ６０５は、キーワードを利用して検索を実行し、その結果をタッチパネル６２に表示する。
【００６８】
以上説明された第１の実施の形態では、タッチパネル６２によって、変数および定数の少なくとも一方と演算子とを含んだ数式の入力を受け付ける入力手段が構成される。なお、数式の入力は、図１、図８および図９を参照して説明されたような数式パッドを用いた方法に限定されない。数式は、ＴｅＸ言語を直接入力するなど、他の方法に従って入力されても良い。
【００６９】
また、変換部６５２によって、入力手段に入力された数式を、第１の規則に従って記述された数式に変換するための変換手段が構成される。第１の規則の一例は、変数および定数をアルファベット順に従って変換することであった。なお、変数および定数は他の規則に従って変換されても良い。たとえば、各変数および定数は、アルファベット１文字ずつに変換される代わりに、１つのピクトに変換されても良い。この場合、検索装置は、ピクトをＩＤ等の文字列で表すことができれば、変換後の数式を文字列で表すことができる。
【００７０】
なお、第１の実施の形態では、検索結果として、辞書データに格納される見出し語の中から、入力手段に入力された文字列中の変数および定数の少なくとも一方と演算子との「並び順」が一致する部分を含む数式に関連付けられた見出し語が検索されればよい。したがって、第１の規則に従った変換を行なうことなしに、数式から変数および定数の少なくとも一方と演算子とを、それらの並び順を変更することなく抽出することができれば、入力された数式が第１の規則に従って変換されることなく検索が行なわれることが可能であり、また、辞書データにおいて第１の規則に従って記述された数式が格納される必要はない。
【００７１】
つまり、第１の実施の形態では、図１等に示された辞書データＤ０１，Ｄ０２では、数式から、変数および定数の少なくとも一方と演算子との並び順が抽出される。当該抽出は、一例として、各数式に含まれる変数および定数が一定の規則に従ったアルファベットで置換（正規化）されることによって実現される。また、検索キーワードとして入力された数式から、変数および定数の少なくとも一方と演算子との並び順が抽出される。当該抽出も、一例として、入力された数式が正規化されることによって実現される。そして、検索では、辞書データおよびキーワードの双方において、上記のように正規化された数式が利用される。これにより、検索結果は、入力された数式に関連付けられた見出し語だけでなく、入力された数式と数学的に同値の数式に関連付けられた見出し語をも含む。
【００７２】
また、以上説明された第１の実施の形態では、辞書データ格納部６２３において、図１等を参照して説明されたような、数式を正規化された辞書データが格納されている。なお、このような辞書データは、検索装置に対して着脱可能な記録媒体に格納されていても良い。当該辞書データは、さらに本来の態様で数式を表示するためのデータを含んでいても良い。当該記録媒体は、検索装置とは独立して取引され得る。
【００７３】
第１の実施の形態では、数式の記述の一例として、ＴｅＸ言語に従った記述が例示された。当該記述によれば、積分等の演算子が文字列で記述される。なお、数式の記述は、これに限定されない。数式を記述し得るいかなる態様に従ってなされてもよい。
【００７４】
［第２の実施の形態］
本明細書における第２の実施の形態以降の各実施の形態の検索装置において、ハードウェア構成は、第１の実施の形態の検索装置のハードウェア構成と同様であっても良い。したがって、本明細書では、ハードウェア構成の説明を繰り返さない。
【００７５】
第２の実施の形態では、辞書データは、数式について、本来の態様のデータと、正規化されたデータとの双方を含む。そして、第２の実施の形態では、検索結果として得られた見出し語の数に応じて、当該２種類のデータの中のどのデータを検索に利用するかを決定する。まず、図１５を参照して、第２の実施の形態において利用される辞書データの構成を説明する。
【００７６】
＜辞書データ＞
図１５は、第２の実施の形態の検索装置に格納される辞書データの構成の一例を模式的に示す図である。図１５に示された辞書データでは、見出し語ＩＤと、内容とが関連付けられている。たとえば、見出し語ＩＤ「００１１」には、「万有引力の法則」で始まる文字列が関連付けられている。第２の実施の形態では、内容の一行目が、見出し語を構成する。
【００７７】
図１５に示された「内容」は、一般的にＴｅＸ言語において表示に利用されるタグ（「\begin{equation}」等の”\”から始まるタグ）の他に、”%”から始まる、付加情報を表すタグを含む。付加情報として利用されるタグは、たとえば以下の意味を有する。
【００７８】
タグ「%dictionary」は、数式が対応する見出し語および辞書（辞書データ）を表す。当該タグは、たとえば「%dictionary{辞書ID,見出し語ID}」の態様で記述される。「辞書ID」は、辞書を特定する。「見出し語ID」は、特定された辞書の中の見出し語を特定する。当該数式が、複数の辞書のそれぞれに含まれる見出し語のそれぞれに関連付けられる場合は、「%dictionary{辞書ID,見出し語ID},{辞書ID,見出し語ID},…」という態様で記述される。たとえば、記述「%dictionary{12,34}」は、数式が、辞書ID「12」の辞書において見出し語ID「34」で特定される見出し語に対応することを意味する。また、記述「%dictionary{1,101},{2,1002}」は、数式が、辞書ID「1」の辞書における見出し語ID「101」で特定される見出し語、および、辞書ID「2」において見出し語ID「1002」で特定される見出し語の双方に対応することを意味する。
【００７９】
タグ「%keyword」は、数式に関連付けられたキーワードを表す。当該タグは、たとえば「%keyword{キーワード1,キーワード2}」の態様で記述される。たとえば、記述「%keyword{万有引力,質量}」は、数式が、キーワード『万有引力』および『質量』に関連付けられていることを意味する。
【００８０】
タグ「%image」は、数式が対応する画像を表示する位置を特定する。当該タグは、たとえば「%image{画像ID,X座標,Y座標（,幅,高さ）}」の態様で記述される。たとえば、記述「%image{100,27,36,40,35}」は、数式の画像（ID=100）が、座標(27,36)の位置に、幅40および高さ35の大きさで表示されることを意味する。
【００８１】
タグ「%search」は、数式の正規化された状態を特定する。当該タグでは、たとえば、文字列「%search」の後に、ＴｅＸ言語の数式が、定数および変数を正規化された状態で、記述される。ＴｅＸ言語の数式の、定数および変数を正規化された状態とは、たとえば、図１の枠ＦＬ０３内の破線Ｋ０１内に示された状態である。
【００８２】
タグ「%disp」は、数式が対応するＴｅＸ言語を特定する。当該タグは、たとえば「%disp{TeX数式}」という態様で記述される。たとえば、記述「%disp{frac{AB}{C}}」は、ＴｅＸ言語の記述「frac{AB}{C}」に対応する数式を表示することを特定する。なお、辞書データを扱う端末において、ＴｅＸ言語に従った表示を実行する機能が搭載されていれば、タグ「%disp」に従った数式が表示される。なお、端末が、ＴｅＸ言語に従った表示の機能を有しない場合には、タグ「%disp」の記述は無視される。
【００８３】
図１５に戻って、第２の実施の形態において利用される辞書データは、見出し語に対応する内容として、ＴｅＸ言語で記述された、数式を本来の態様で表示させる記述を含む。つまり、見出し語ＩＤ「0011」（万有引力の法則）の内容は、図２の式（１）とした示された態様で数式を表示するための記述「\begin{displaymath}」および「F=G\frac{Mm}{r^2}」を含む。また、見出し語ＩＤ「0013」（クーロンの法則）の内容は、図３の式（２）とした示された態様で数式を表示するための記述「\begin{displaymath}」および「F=k\frac{Qq}{r^2}」を含む。
【００８４】
さらに、図１５に示された例では、見出し語ＩＤ「0011」（万有引力の法則）と見出し語ＩＤ「0013」（クーロンの法則）の双方の内容が、タグ「%search」として、同じ記述（%search{A=\frac{BCD}{E^2}}を含む。
【００８５】
＜処理の流れ＞
図１６および図１７は、第２の実施の形態の検索装置における検索および当該検索結果の表示のための処理のフローチャートである。図１６および図１７を参照して、当該処理の内容を説明する。なお、図１６は、図１４のステップＳ４０のサブルーチンのフローチャートに相当する。また、図１７は、図１６のステップＳ４１８のサブルーチンのフローチャートに相当する。
【００８６】
まず、図１６を参照して、ステップＳ４０２で、ＣＰＵ６０５は、ステップＳ３０（図１４参照）で正規化された数式をキーワードとして利用して、辞書データにおける検索を実行する。なお、ＣＰＵ６０５は、ステップＳ４０２における検索では、辞書データにおけるタグ「%search」中の記述がキーワードと一致する見出し語を探す。「一致」は、部分一致であっても良いし、完全一致であっても良い。そして、制御はステップＳ４０４に進められる。
【００８７】
ステップＳ４０４で、ＣＰＵ６０５は、辞書データにおけるタグ「%search」中の記述がキーワードと一致する見出し語を発見できたかどうかを判断する。そして、ＣＰＵ６０５は、そのような見出し語を発見できたと判断すると（ステップＳ４０４でＹＥＳ）、ステップＳ４０６へ制御を進める。一方、ＣＰＵ６０５は、そのような見出し語を発見できなかったと判断すると（ステップＳ４０４でＮＯ）、ステップＳ４２０へ制御を進める。
【００８８】
ステップＳ４０６で、ＣＰＵ６０５は、メモリ６２０において検索結果（候補）の数を計数するためのカウンタの値を１だけインクリメントする。そして、制御は、ステップＳ４０８へ進められる。
【００８９】
ステップＳ４０８で、ＣＰＵ６０５は、ステップＳ４０６でインクリメントされた後の上記カウンタの値が、図１２の項目表示部ＡＲ２１において同時に表示できる検索結果の数（リスト表示可能行数）を超えているか否かを判断する。そして、ＣＰＵ６０５は、上記カウンタの値がリスト表示可能行数を超えていると判断すると（ステップＳ４０８でＹＥＳ）、ステップＳ４１４へ制御を進める。一方、ＣＰＵ６０５は、上記カウンタの値がリスト表示可能行数以下であると判断すると（ステップＳ４０８でＮＯ）、ステップＳ４１０へ制御を進める。
【００９０】
ステップＳ４１０で、ＣＰＵ６０５は、ステップＳ４０４でキーワードと一致していると判断した見出し語を検索結果のリストに追加する。これにより、当該見出し語は、図１２の項目表示部ＡＲ２１にリスト表示される。そして、制御はステップＳ４１２へ進められる。
【００９１】
ステップＳ４１２で、ＣＰＵ６０５は、検索対象を、ステップＳ４０４で取得した見出し語の次の見出し語に移行する。そして、制御はステップＳ４０２へ戻される。検索では、ＣＰＵ６０５は、たとえば、辞書データにおける見出し語ＩＤの数値が低いものから順に、キーワードと一致するかどうかを判断する。ステップＳ４１２では、ＣＰＵ６０５は、たとえば、検索対象とされる見出し語ＩＤの値を１だけインクリメントする。
【００９２】
ステップＳ４１４で、ＣＰＵ６０５は、検索結果の絞込みの要否を問い合わせるメッセージをタッチパネル６２に表示させ、ユーザからの入力を待つ。そして、ユーザから絞込みを実行することを示す指示が入力されると（ステップＳ４１４でＹＥＳ）、ステップＳ４１８へ制御を進める。一方、ユーザから絞込みを実行しないことを示す指示が入力されると（ステップＳ４１４でＮＯ）、ステップＳ４１６へ制御を進める。
【００９３】
ステップＳ４１６では、ＣＰＵ６０５は、図１２の項目表示部ＡＲ２１においてリストをスクロールさせることによって、ステップＳ４０４で新たに取得した見出し語を表示させる。そして、制御は、ステップＳ４０２に戻される。
【００９４】
ステップＳ４１８では、ＣＰＵ６０５は、絞込み検索のための処理を実行する。絞込み検索のための処理の内容は、図１７を参照して後述する。
【００９５】
ステップＳ４２０では、ＣＰＵ６０５は、辞書データにおいて検索対象となり得る最終の見出し語まで検索が完了したかどうかを判断する。ＣＰＵ６０５は、まだ最終の見出し語まで検索が完了していないと判断すると（ステップＳ４２０でＮＯ）、ステップＳ４２２へ制御を進める。一方、ＣＰＵ６０５は、最終の見出し語まで検索が完了していると判断すると（ステップＳ４２０でＹＥＳ）、ステップＳ４２４へ制御を進める。
【００９６】
ステップＳ４２２では、ＣＰＵ６０５は、検索対象を現在の見出し語から次の見出し語へと移行させる。そして、制御はステップＳ４０２へ戻される。
【００９７】
ステップＳ４２４では、ＣＰＵ６０５は、これまでに取得されている検索結果（候補）の数、つまり、既に項目表示部ＡＲ２１に検索結果としてリスト表示されている見出し語の数が、０であるかどうかを判断する。そして、ＣＰＵ６０５は、当該候補の数が０であると判断すると（ステップＳ４２４でＹＥＳ）、ステップＳ４２６へ制御を進める。一方、ＣＰＵ６０５は、当該候補の数が０を超えていると判断すると（ステップＳ４２４でＮＯ）、図１６の処理を終了させる。これにより、制御は図１４のステップＳ４０へ戻される。
【００９８】
ステップＳ４２６で、ＣＰＵ６０５は、検索のキーワードに、等式または不等式で記載された数式が含まれるかどうかを判断する。そして、ＣＰＵ６０５は、検索のキーワードが等式または不等式を含む場合には（ステップＳ４２６でＹＥＳ）、ステップＳ４２８へ制御を進める。一方、ＣＰＵ６０５は、検索のキーワードが等式または不等式を含まない場合には（ステップＳ４２６でＮＯ）、ステップＳ４３６へ制御を進める。
【００９９】
ステップＳ４２８で、ＣＰＵ６０５は、キーワードに含まれる等式または不等式の左辺と右辺を入れ替えた検索を既に実行したかどうかを判断する。そして、ＣＰＵ６０５は、まだそのような検索を実行していない場合には（ステップＳ４２８でＮＯ）、ステップＳ４３０へ制御を進める。一方、ＣＰＵ６０５は、すでにそのような検索を実行している場合には（ステップＳ４２８でＹＥＳ）、ステップＳ４３６へ制御を進める。
【０１００】
ステップＳ４３６で、ＣＰＵ６０５は、検索結果が見つからなかったことを表すガイダンスをタッチパネル６２に表示させる。そして、図１６の処理が終了する。これにより、制御は図１４のステップＳ４０へ戻される。
【０１０１】
一方、ステップＳ４３０で、ＣＰＵ６０５は、入力された数式の左辺と右辺を入れ替えて検索を実行することを示すガイダンスをタッチパネル６２に表示させる。そして、制御は、ステップＳ４３２へ進められる。
【０１０２】
ステップＳ４３２で、ＣＰＵ６０５は、ステップＳ３０（図１４参照）で正規化された数式の左辺と右辺とを入れ替える。そして、制御は、ステップＳ４３４へ進められる。
【０１０３】
ステップＳ４３４で、ＣＰＵ６０５は、検索対象を辞書データの先頭の見出し語に設定する。そして、制御はステップＳ４０２へ戻される。
【０１０４】
次に、図１７を参照して、図１６のステップＳ４１８の制御（絞込み検索）について説明する。
【０１０５】
絞込み検索では、ＣＰＵ６０５は、ステップＳ４１００で、ステップＳ１０（図１４参照）で入力を受け付けた数式（正規化される前の数式）をキーワードとして、辞書データを検索する。そして、制御はステップＳ４１０２へ進められる。
【０１０６】
ステップＳ４１０２で、ＣＰＵ６０５は、辞書データにおいてキーワードと一致する内容を有する見出し語があるかどうかを判断する。そして、ＣＰＵ６０５は、キーワードと一致する内容を有する見出し語があると判断すると（ステップＳ４１０２でＹＥＳ）、ステップＳ４１０４へ制御を進める。一方、ＣＰＵ６０５は、そのような見出し語が無いと判断すると、ステップＳ４１１４へ制御を進める。
【０１０７】
ステップＳ４１０４で、ＣＰＵ６０５は、検索結果（候補）の数を１だけインクリメントする。そして、制御は、ステップＳ４１０６へ進められる。なお、ステップＳ４０１４でインクリメントされるのは、正規化される前の数式がキーワードとされた検索における検索結果の数を計数するカウンタの値である。
【０１０８】
ステップＳ４１０６で、ＣＰＵ６０５は、ステップＳ４１０４でインクリメントされたカウンタの値が、図１２の項目表示部ＡＲ２１において同時に表示できる検索結果の数（リスト表示可能行数）未満であるか否かを判断する。そして、ＣＰＵ６０５は、上記カウンタの値がリスト表示可能行数未満であると判断すると（ステップＳ４１０６でＹＥＳ）、ステップＳ４１１０へ制御を進める。一方、ＣＰＵ６０５は、上記カウンタの値がリスト表示可能行数以下であると判断すると（ステップＳ４１０６でＮＯ）、ステップＳ４１０へ制御を進める。
【０１０９】
ステップＳ４１０８では、ＣＰＵ６０５は、最も古い（たとえば、見出し語ＩＤの値が小さい、または、辞書データに追加された日付が古い）見出し語を検索結果のリスト（項目表示部ＡＲ２１）から削除する。そして、制御はステップＳ４１１０へ進められる。
【０１１０】
ステップＳ４１１０では、ＣＰＵ６０５は、ステップＳ４１０２でキーワードと一致すると判断された見出し語を検索結果のリスト（項目表示部ＡＲ２１）に追加する。そして、制御はステップＳ４１１２へ進められる。
【０１１１】
ステップＳ４１１２で、ＣＰＵ６０５は、検索対象を、ステップＳ４０４で取得した見出し語の次の見出し語に移行する。そして、制御はステップＳ４１００へ戻される。
【０１１２】
ステップＳ４１１４で、ＣＰＵ６０５は、現在の検索対象の見出し語が、辞書データにおける最終の見出し語であるかどうかを判断する。そして、ＣＰＵ６０５は、検索対象が最終の見出し語であると判断すると（ステップＳ４１１４でＹＥＳ）、ステップＳ４１１６へ制御を進める。一方、ＣＰＵ６０５は、検索対象が最終の見出し語ではないと判断すると（ステップＳ４１１４でＮＯ）、検索対象の見出し語を次の見出し語に進めた後、ステップＳ４１００へ制御を戻す。
【０１１３】
ステップＳ４１１６で、ＣＰＵ６０５は、正規化前の数式をキーワードとしたときの検索結果（候補）の数が０であるかどうかを判断する。そして、ＣＰＵ６０５は、当該候補の数が０であると判断すると（ステップＳ４１１６でＹＥＳ）、ステップＳ４１１８へ制御を進める。一方、ＣＰＵ６０５は、当該候補の数が０を超えていると判断すると（ステップＳ４１１６でＮＯ）、図１７の処理を終了させる。これにより、制御は、図１６のステップＳ４１８に戻され、そして、図１４のステップＳ４０へ戻される。
【０１１４】
ステップＳ４１１８で、ＣＰＵ６０５は、検索のキーワード（正規化前）に、等式または不等式で記載された数式が含まれるかどうかを判断する。そして、ＣＰＵ６０５は、検索のキーワードが等式または不等式を含む場合には（ステップＳ４１１８でＹＥＳ）、ステップＳ４１２０へ制御を進める。一方、ＣＰＵ６０５は、検索のキーワードが等式または不等式を含まない場合には（ステップＳ４１１８でＮＯ）、ステップＳ４１２８へ制御を進める。
【０１１５】
ステップＳ４１２０で、ＣＰＵ６０５は、キーワード（正規化前）に含まれる等式または不等式の左辺と右辺を入れ替えた検索を既に実行したかどうかを判断する。そして、ＣＰＵ６０５は、まだそのような検索を実行していない場合には（ステップＳ４１２０でＮＯ）、ステップＳ４１２２へ制御を進める。一方、ＣＰＵ６０５は、すでにそのような検索を実行している場合には（ステップＳ４１２０でＹＥＳ）、ステップＳ４１２８へ制御を進める。
【０１１６】
ステップＳ４１２８で、ＣＰＵ６０５は、検索結果が見つからなかったことを表すガイダンスをタッチパネル６２に表示させる。そして、図１７の処理が終了する。これにより、図１６の処理が終了し、制御は図１４のステップＳ４０へ戻される。
【０１１７】
一方、ステップＳ４１２２で、ＣＰＵ６０５は、入力された数式の左辺と右辺を入れ替えて検索を実行することを示すガイダンスをタッチパネル６２に表示させる。そして、制御は、ステップＳ４１２４へ進められる。
【０１１８】
ステップＳ４１２４で、ＣＰＵ６０５は、ステップＳ３０（図１４参照）で正規化される前の数式の左辺と右辺とを入れ替える。そして、制御は、ステップＳ４１２８へ進められる。
【０１１９】
ステップＳ４１２６で、ＣＰＵ６０５は、検索対象を辞書データの先頭の見出し語に設定する。そして、制御はステップＳ４１００へ戻される。
【０１２０】
＜ガイダンス表示（１）＞
図１６に示された処理では、ステップＳ４３０（図１６）において、入力された数式の左辺と右辺を入れ替えて検索を実行することを示すガイダンスが表示される。図１８は、当該ガイダンスの画像の一例を示す図である。
【０１２１】
図１８の画像ＩＭＧ０５は、タッチパネル６２に表示される画像の一例である。画像ＩＭＧ０５の表示欄ＡＲ０２は、元のキーワードでの検索結果を表示するための候補タブＴＢ０１と、ステップＳ４３２で更新されたキーワードで実行された再検索での検索結果を表示するための再検索タブＴＢ０２とを含む。そして、画像ＩＭＧ０５は、候補タブＴＢ０１がアクティブであり、再検索タブＴＢ０２がインアクティブな状態を示す。候補タブＴＢ０１には、「見つかりません」というメッセージが表示され、さらに、３つのメニュー（「左辺／右辺を入れ替えて検索」「左辺の式で検索」および「右辺の式で検索」）が表示されている。これらのメニューは、再検索を行なうときのキーワードの変更態様を示す。図１６に示された処理は、メニュー「左辺／右辺を入れ替えて検索」が選択されたときの処理である。これにより、ステップＳ４３２（図１６）の制御では、キーワードの数式の左辺と右辺とが入れ替えられるように更新された。なお、メニュー「左辺の式で検索」が選択された場合には、この制御の代わりに、キーワード中の数式が、その右辺が削除されるように更新される。また、メニュー「右辺の式で検索」が選択された場合には、この制御の代わりに、キーワード中の数式が、その左辺が削除されるように更新される。
【０１２２】
図１６に示された処理では、このようにキーワードが更新された後、再度検索が実行される。そして、当該再検索の結果が、図１９の画像ＩＭＧ０６においてアクティブな再検索タブＴＢ０２に示される。
【０１２３】
＜ガイダンス表示（２）＞
図１７に示された処理は、図１６のステップＳ４０８において候補の数がリスト表示可能行数を超えたと判断された場合であって、ステップＳ４１４において絞込み検索を実行する指示が入力されたときに実行される。そして、図１７に示された処理では、キーワードとして、正規化された数式の代わりに、正規化前の数式が利用される。正規化前の数式がキーワードとして利用されることにより、入力された数式そのものと一致する数式を有する見出し語のみが検索結果に含まれるようになる。つまり、入力された数式と数学的に同値な数式を有する見出し語は、検索結果に含まれなくなる。したがって、正規化前の数式がキーワードとして利用されることにより、検索結果の見出し語の数が減ることが期待される。
【０１２４】
ただし、正規化前の数式がキーワードとして利用されることによって検索結果が得られなくなった場合（ステップＳ４１１６でＹＥＳ）には、ステップＳ４１２２（図１７）において、入力された数式の左辺と右辺を入れ替えて検索を実行することを示すガイダンスが表示される。図２０は、当該ガイダンスの画像の一例を示す図である。
【０１２５】
図２０の画像ＩＭＧ０７は、タッチパネル６２に表示される画像の一例である。画像ＩＭＧ０７の表示欄ＡＲ０２は、元のキーワード（ステップＳ４１２４で更新される前のキーワード）での検索結果を表示するための候補タブＴＢ０１と、更新後のキーワードで実行された再検索での検索結果を表示するための再検索タブＴＢ０２とを含む。そして、画像ＩＭＧ０７は、候補タブＴＢ０１がアクティブであり、再検索タブＴＢ０２がインアクティブな状態を示す。候補タブＴＢ０１には、「見つかりません」というメッセージが表示され、さらに、３つのメニュー（「左辺／右辺を入れ替えて検索」「左辺の式で検索」および「右辺の式で検索」）が表示されている。これらのメニューは、再検索を行なうときのキーワードの変更態様を示す。図１７に示された処理は、メニュー「左辺／右辺を入れ替えて検索」が選択されたときの処理である。これにより、ステップＳ４１２４（図１７）の制御では、正規化前の数式の左辺と右辺とが入れ替えられるように更新された。なお、メニュー「左辺の式で検索」が選択された場合には、この制御の代わりに、キーワード中の数式が、その右辺が削除されるように更新される。また、メニュー「右辺の式で検索」が選択された場合には、この制御の代わりに、キーワード中の数式が、その左辺が削除されるように更新される。
【０１２６】
図２１は、ステップＳ４１２４で更新された後のキーワードを用いた再検索における検索結果が表示される。より具体的には、図２１の画像ＩＭＧ０８においてアクティブなＴＢ０２には、再検索における検索結果が表示される。
【０１２７】
［第３の実施の形態］
第３の実施の形態の検索装置では、辞書データにおいて、数式は、正規化されていない状態で記述される。そして、検索装置のデータ格納部６２２は、辞書に含まれる２以上の数式を互いに関連付けるためのデータ（数式データベース）を格納する。当該数式データベースでは、各数式は、正規化された状態で、記述される。数式データベースの構成の一例を説明する。
【０１２８】
＜数式データベースの構成＞
図２２は、数式データベースの構成の一例を概略的に示す図である。図２２では、数式データベースＤ２０の他に、データ構成Ｄ２１，Ｄ２２が示されている。データ構成Ｄ２１，Ｄ２２のそれぞれは、辞書データの構成のそれぞれの一例を示す。
【０１２９】
データ構成Ｄ２１，Ｄ２２として示されるように、各辞書には、当該辞書を特定する除法（辞書ＩＤ）が割り振られている。データ構成Ｄ２１で示される辞書には、辞書ＩＤ「１３」が割り振られている。データ構成Ｄ２２で示される辞書には、辞書ＩＤ「５６」が割り振られている。そして、各辞書では、各見出し語に見出し語ＩＤが割り振られている。つまり、第３の実施の形態では、各辞書の各見出し語は、辞書ＩＤと見出し語ＩＤとによって特定され得る。
【０１３０】
数式データベースＤ２０では、データ群ＤＴ０１が１つの数式に対応する。データ群ＤＴ０１は、ＴｅＸ言語に従って数式を表示するための５行の記述を含む。２行目の記述「A=\frac{BCD}{E^2}」は、正規化された数式を意味する。破線ＤＲ１で囲まれた３行目の記述「%dictonary{13,100},{56,231}」は、上記正規化された数式を含む見出し語を特定する。より具体的には、当該記述は、データ群ＤＴ０１内の正規化された数式が、辞書ＩＤ「１３」および見出し語ＩＤ「１００」で特定される見出し語（万有引力の法則）と、辞書ＩＤ「５６」および見出し語ＩＤ「２３１」で特定される見出し語（クーロンの法則）とに関連付けられていることを意味する。
【０１３１】
＜検索処理＞
第３の実施の形態の検索処理（図１４）では、ＣＰＵ６０５は、ステップＳ４０で、正規化されたキーワードの数式と数式データベースＤ２０内の正規化された数式とを対比する。そして、数式データベースＤ２０においてキーワードの数式と一致する数式が存在する場合には、ＣＰＵ６０５は、数式データベースＤ２０において当該数式に関連付けられている見出し語を検索結果として出力する。
【０１３２】
第３の実施の形態では、数式データベースＤ２０が準備されることにより、検索装置は、辞書データ自体に正規化された数式を付加するという変更を加えることなく、正規化された数式をキーワードとして検索ができる。
【０１３３】
なお、ＣＰＵ６０５は、検索処理において、キーワードとして数式パッドを利用した数式が入力されたときにのみ、数式データベースＤ２０を検索するように構成されることが好ましい。
【０１３４】
また、ＣＰＵ６０５は、検索処理において、キーワードが数式パッドを利用して入力された場合、辞書データよりも先に数式データベースＤ２０を検索することが好ましい。数式パッドを利用して入力されたキーワードは、テキスト情報を多く含む一般の辞書データ内よりも数式データベースＤ２０内で発見される確率が高い。このため、数式データベースＤ２０が辞書データに先立って検索されることにより、より早く、最初の検索結果がユーザに提示され得る。
【０１３５】
［第４の実施の形態］
第４の実施の形態では、ＣＰＵ６０５は、キーワードとして入力された文字列が関数記号に置き換えられることができる文字列である場合、当該文字列を関数記号に置き換えることによってキーワードを更新して、検索を実行する。第４の実施の形態では、関数記号に置き換えられることができる文字列が、たとえばデータ格納部６２２に登録されている。
【０１３６】
第４の実施の形態では、キーワードとして２つの文字列「積分」および「sinx2」が入力された場合を想定する。
【０１３７】
この場合、まずＣＰＵ６０５は、当該２つの文字列をキーワードとして辞書データを検索する。当該検索の結果として得られた見出し語の数が所与の数未満である場合、ＣＰＵ６０５は、入力されたキーワードが関数記号に置換可能な文字列を含むかどうかを判断する。そして、ＣＰＵ６０５は、入力されたキーワードが関数記号に置換可能な文字列を含む場合には、キーワード中の当該文字列を関数記号に置換する。
【０１３８】
上記された２つの文字列「積分」および「sinx2」のうち、文字列「積分」は、関数記号「∫」に置換できる。このため、ＣＰＵ６０５は、キーワードとして入力された２つの文字列「積分」および「sinx2」を、２つの文字列「∫」および「sinx2」に置き換えて、再度辞書データを検索する。そして、ＣＰＵ６０５は、当該検索の結果を出力する。
【０１３９】
なお、ＣＰＵ６０５は、さらに、上記のようにキーワードを置換した後の検索においても検索結果として得られた見出し語の数が所与の数未満である場合には、元のキーワード（または置換後のキーワード）の一部を新たなキーワードとして検索を実行する（部分検索）。これにより、より多くの検索結果がユーザに提示され得る。
【０１４０】
［第５の実施の形態］
第５の実施の形態では、辞書データは、数式のデータと、当該数式を表示するためのデータとを含む。そして、ＣＰＵ６０５は、図１２を参照して説明されたようなプレビュー表示部ＡＲ２２では、数式を中心としたプレビュー画面を表示する。図２３は、第５の実施の形態の辞書データにおける数式に関するデータの一例を示す図である。
【０１４１】
＜数式に関するデータ＞
図２３に示されたデータは、６行の記述を含む。当該６行の記述は、所与の見出し語の内容を表示させるためのデータの一部分に相当する。２行目の記述「\int_a^b cos xdx」は、ＴｅＸ言語で記述された数式のデータである。
【０１４２】
３行目の記述「%image{9876,56,134,40,25}」は、上記数式のデータを表示させる座標を特定するデータである。タグ「%image」は、数式が対応する画像を表示する位置を特定する。当該記述は、たとえば「%image{画像ID,X座標,Y座標,幅,高さ}」の態様で記述されているる。つまり、当該記述は、数式の画像（ID=9876）が、座標(56,134)の位置に、幅40および高さ25の大きさで表示されることを意味する。
【０１４３】
＜表示態様＞
図２４および図２５は、第５の実施の形態におけるプレビュー画面の表示態様の一例を説明するための図である。図２４に示された画像ＩＭＧ１１は、上記された所与の見出し語の内容の全体を表示する仮想的な画像である。画像ＩＭＧ１１において、上記の記述「\int_a^b cos xdx」に対応する数式は、点Ｐ０１を基準として表示されている。そして、図２４では、当該数式の表示領域が、点Ｐ０１を一角に有する破線の長方形で示されている。点Ｐ０１の画像ＩＭＧ１１におけるＸ座標およびＹ座標は、上記の記述「%image{9876,56,134,40,25}」の中のＸ座標およびＹ座標によって特定される。また、上記破線の長方形の幅および高さは、当該記述の中の幅および高さによって特定される。
【０１４４】
ＣＰＵ６０５は、当該数式を含むプレビュー画面を生成する場合、当該数式を中心とした範囲ＰＴ２１を特定する。範囲ＰＴ２１の大きさは、たとえば、プレビュー表示部ＡＲ２２に表示され得る最大の画像の大きさである。
【０１４５】
図２５には、プレビュー表示部ＡＲ２２に上記したプレビュー画面を含む画像ＩＭＧ０９が示されている。第５の実施の形態では、第１の実施の形態において図１２を参照して説明された検索結果のプレビュー画面として、見出し語の画像の中の数式を含む部分が表示される。これにより、ユーザは、検索結果の候補である見出し語に含まれる数式をより容易に認識できる。
【０１４６】
なお、図２５のプレビュー表示部ＡＲ２２では、数式が枠ＦＬ２２を付されることによって強調されて表示されている。これにより、ユーザは、より確実に、検索結果の候補である見出し語に含まれる数式を認識できる。
【０１４７】
［第６の実施の形態］
第６の実施の形態では、ＣＰＵ６０５は、入力されたキーワードを利用して辞書データを検索する場合、キーワードに含まれる文字列間のスペースを、数式における項の区切りとして扱う。数式における「項」とは、たとえば、数式において、演算子で挟まれた、または、演算子にのみ隣接する、変数または定数を表わす文字列の群である。
【０１４８】
たとえば、キーワードとして文字列「ＢＣＤ  Ｅ２」が入力された場合について説明する。当該キーワードは、文字列「ＢＣＤ」と文字列「Ｅ２」の間にスペースを含む。このため、ＣＰＵ６０５は、検索において、文字列「ＢＣＤ」を１つの項として有する数式、または、文字列「Ｅ２」を１つの項として有する数式を検索する。これによって、たとえば記述「\frac{ABCD}{E}=G+H」を含む数式を有する見出し語は検索結果に含まれない。当該記述が、文字列「ＢＣＤ」のみからなる項を含まず、かつ、文字列「Ｅ２」のみからなる項を含まないからである。一方、記述「A=\frac{BCD}{E^2}」を含む数式を有する見出し語は検索結果に含まれる。当該記述が、文字列「ＢＣＤ」のみからなる項を含むからである。
【０１４９】
今回開示された実施の形態およびその変形例はすべての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１５０】
６２  タッチパネル、６４  操作ボタン、６０１  タッチパネルコントローラ、６０５  ＣＰＵ、６２０  メモリ。
【図１】
0006355501.tif 000002
【図２】
0006355501.tif 000003
【図３】
0006355501.tif 000004
【図４】
0006355501.tif 000005
【図５】
0006355501.tif 000006
【図６】
0006355501.tif 000007
【図７】
0006355501.tif 000008
【図８】
0006355501.tif 000009
【図９】
0006355501.tif 000010
【図１０】
0006355501.tif 000011
【図１１】
0006355501.tif 000012
【図１２】
0006355501.tif 000013
【図１３】
0006355501.tif 000014
【図１４】
0006355501.tif 000015
【図１５】
0006355501.tif 000016
【図１６】
0006355501.tif 000017
【図１７】
0006355501.tif 000018
【図１８】
0006355501.tif 000019
【図１９】
0006355501.tif 000020
【図２０】
0006355501.tif 000021
【図２１】
0006355501.tif 000022
【図２２】
0006355501.tif 000023
【図２３】
0006355501.tif 000024
【図２４】
0006355501.tif 000025
【図２５】
0006355501.tif 000026