JP2016071495A - 検索装置、検索方法、プログラム、および記録媒体 - Google Patents

検索装置、検索方法、プログラム、および記録媒体 Download PDF

Info

Publication number
JP2016071495A
JP2016071495A JP2014198363A JP2014198363A JP2016071495A JP 2016071495 A JP2016071495 A JP 2016071495A JP 2014198363 A JP2014198363 A JP 2014198363A JP 2014198363 A JP2014198363 A JP 2014198363A JP 2016071495 A JP2016071495 A JP 2016071495A
Authority
JP
Japan
Prior art keywords
search
mathematical expression
headword
input
dictionary data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014198363A
Other languages
English (en)
Other versions
JP6355501B2 (ja
Inventor
弘靖 岩附
Hiroyasu Iwatsuki
弘靖 岩附
招良 佐藤
Akira Sato
招良 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2014198363A priority Critical patent/JP6355501B2/ja
Publication of JP2016071495A publication Critical patent/JP2016071495A/ja
Application granted granted Critical
Publication of JP6355501B2 publication Critical patent/JP6355501B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Calculators And Similar Devices (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】数学的に同値な数式の組み合わせについて、当該組み合わせの中の一つの数式を、当該組み合わせの中の残りの数式の少なくとも一部とともに出力すること。
【解決手段】辞書データD01,D02では、数式から、変数および定数の少なくとも一方と演算子との並び順が抽出される。当該抽出は、一例として、各数式に含まれる変数および定数が一定の規則に従ったアルファベットで置換(正規化)されることによって実現される。また、検索キーワードとして入力された数式から、変数および定数の少なくとも一方と演算子との並び順が抽出される。当該抽出も、一例として、入力された数式が正規化されることによって実現される。そして、検索では、辞書データおよびキーワードの双方において、上記のように正規化された数式が利用される。
【選択図】図1

Description

本開示は、検索装置、検索方法、プログラム、および記録媒体に関し、特に、数式を検索するための検索装置、検索方法、プログラム、および記録媒体に関する。
電子辞書などの検索装置において、従来、テキスト情報だけでなく数式が利用される場合があった。たとえば、特開2003−141091号公報(特許文献1)には、三角関数が用いられた式の中の1つ項が選択されると、選択された項のデータを変換して元の三角関数の式に組み込む演算処理装置が開示されている。また、特開2005−31798号公報(特許文献2)には、検索文字列として数式としても解釈できる文字列が入力された場合に、当該検索文字列に応じた検索結果と当該検索文字列の数式の計算結果とを合成して出力する検索装置が開示されている。また、特開2009−116531号公報(特許文献3)には、見出し語と見出し語に関連付けられたテキストデータおよびオブジェクトデータとを含む辞書データを有する電子機器が開示されている。当該電子機器は、入力された情報に対応するキーワードを検索し、キーワードに関連付けられたオブジェクトデータを検索し、そして、オブジェクトデータと関連付けられている見出し語を検索する。
特開2003−141091号公報 特開2005−31798号公報 特開2009−116531号公報
ここで、従来の検索装置において数式が検索結果としては、入力されたキーワード(検索用の文字列等)に対応する数式のみが出力されていた。なお、数式には、互いに意味合いは異なるものの数学的に同値である数式の組み合わせが存在する。しかしながら、従来の検索装置は、当該組み合わせの一方の数式を出力するときに、他方の数式も合わせて出力することができなかった。
本開示は、かかる実情に鑑み考え出されたものであり、その目的は、数学的に同値な数式の組み合わせについて、当該組み合わせの中の一つの数式を、当該組み合わせの中の残りの数式の少なくとも一部とともに出力することができる、検索装置、検索方法、プログラム、および記録媒体を提供することである。
ある局面に従うと、変数および定数の少なくとも一方と演算子とを含んだ数式と見出し語とを関連付けて格納する辞書データを記憶するための記憶手段と、変数および定数の少なくとも一方と演算子との入力を受け付ける入力手段と、入力手段に入力された文字列中の変数および定数の少なくとも一方と演算子との並び順が一致する部分を含む数式を辞書データから検索し、当該数式に関連付けられた見出し語を検索するための検索手段と、検索手段による検索結果である見出し語に対応する情報を出力するための出力手段とを備えた、検索装置が提供される。
好ましくは、辞書データにおいて格納されている数式は、演算子を文字列で記述している。
好ましくは、入力手段は、さらに変数、定数または演算子とは異なる文字列を受け付け、検索手段は、辞書データにおいて、入力手段に入力された文字列中の、変数および定数の少なくとも一方と演算子との並び順が一致する部分を含む数式、または、変数、定数もしくは演算子とは異なる文字列に対応する数式に関連付けられた見出し語を検索する。
好ましくは、辞書データは、数式に付加された文字列をさらに格納し、検索手段は、少なくとも数式に付加された文字列が、入力手段に入力された変数、定数もしくは演算子とは異なる文字列に対応するときに、当該数式が当該入力手段に入力された文字列に対応する数式であると判断する。
好ましくは、辞書データは、数式を、当該数式に含まれる変数および定数のそれぞれを予め定められた順序で配列された文字列のそれぞれに順に置換するという規則に従って変換された態様と、当該規則に従って変換される前の態様との、双方の態様で格納する。
好ましくは、検索手段は、並び順が一致する部分を含む数式に対応する数式に関連付けられた見出し語の数が予め定められた数以上である場合には、辞書データにおいて、並び順が一致する部分を含む数式の代わりに入力手段に入力された文字列に対応する数式に関連付けられた見出し語を検索する。
好ましくは、検索手段は、並び順が一致する部分を含む数式に対応する数式に関連付けられた見出し語の数が予め定められた数より少ない場合には、辞書データにおいて、入力手段に入力された文字列に対応する数式をその一部が削除されまたはその左辺と右辺とが入れ替えられるように更新し、当該更新後の数式に関連付けられた見出し語を検索する。
好ましくは、記憶手段は、辞書データ内の数式のそれぞれと、当該数式のそれぞれを他の数式に関連付ける情報とを含む関連情報をさらに記憶し、検索手段は、入力手段に入力された文字列中の変数および定数の少なくとも一方と演算子との並び順が一致する部分を含む数式を、辞書データの代わりに関連情報から検索し、当該関連情報からの検索結果として取得した見出し語が関連付けられた第1の数式と、関連情報によって関連付けられる、第2の数式に関連付けられた見出し語を、検索結果に追加する。
他の局面に従うと、変数および定数の少なくとも一方と演算子とを含んだ数式と見出し語とを関連付ける辞書データから見出し語を検索するためのコンピュータによって実行される検索方法であって、変数および定数の少なくとも一方と演算子とを含んだ文字列の入力を受け付けるステップと、入力された文字列中の変数および定数の少なくとも一方と演算子との並び順が一致する部分を含む数式を辞書データから検索し、当該数式に関連付けられた見出し語を検索するステップと、検索による検索結果である見出し語に対応する情報を出力するステップとを備えた、検索方法が提供される。
さらに他の局面に従うと、変数および定数の少なくとも一方と演算子とを含んだ数式と見出し語とを関連付ける辞書データから見出し語を検索するためのコンピュータによって実行されるプログラムであって、プログラムは、コンピュータに、変数および定数の少なくとも一方と演算子とを含んだ文字列の入力を受け付けるステップと、入力された文字列中の変数および定数の少なくとも一方と演算子との並び順が一致する部分を含む数式を辞書データから検索し、当該数式に関連付けられた見出し語を検索するステップと、検索による検索結果である見出し語に対応する情報を出力するステップとを実行させる、プログラムが提供される。
別の局面に従うと、上記のプログラムを記録した、コンピュータ読み取り可能な記録媒体が提供される。
本開示によれば、辞書データにおいて数式と関連付けられる見出し語のうち、入力手段に入力された文字列中の変数および定数の少なくとも一方と演算子との並び順が一致する部分を含む数式と関連付けられた見出し語が、検索結果として出力される。
したがって、検索結果として、物理的に意味が異なるが数学的に同値な数式の組み合わせについて、当該組み合わせの中の一つの数式が、当該組み合わせの中の残りの数式の少なくとも一部とともに出力されるようになる。
第1の実施の形態の検索装置における検索処理の概要を説明するための図である。 辞書データにおける、数式中の変数および定数のアルファベットによる置換を説明するための図である。 辞書データにおける、数式中の変数および定数のアルファベットによる置換を説明するための図である。 第1の実施の形態における検索の特徴を説明するための図である。 第1の実施の形態の検索装置のハードウェア構成の一例を示す図である。 検索装置の機能構成の一例を模式的に示す図である。 テキストの入力のためにタッチパネルに表示される画像の一例を示す図である。 数式の入力のためにタッチパネルに表示される画像の一例を示す図である。 数式パッドの拡大図である。 検索部による検索を概念的に示す図である。 第1の実施の形態の検索装置における検索結果の表示を説明するための図である。 第1の実施の形態の検索装置における検索結果の表示を説明するための図である。 第1の実施の形態の検索装置における検索結果の表示を説明するための図である。 検索装置において実行される検索処理のフローチャートである。 第2の実施の形態の検索装置に格納される辞書データの構成の一例を模式的に示す図である。 第2の実施の形態の検索装置における検索および当該検索結果の表示のための処理のフローチャートである。 第2の実施の形態の検索装置における検索および当該検索結果の表示のための処理のフローチャートである。 ガイダンスの画像の一例を示す図である。 ガイダンスの画像の一例を示す図である。 ガイダンスの画像の一例を示す図である。 ガイダンスの画像の一例を示す図である。 数式データベースの構成の一例を概略的に示す図である。 第5の実施の形態の辞書データにおける数式に関するデータの一例を示す図である。 第5の実施の形態におけるプレビュー画面の表示態様の一例を説明するための図である。 第5の実施の形態におけるプレビュー画面の表示態様の一例を説明するための図である。
以下、図面を参照しつつ、本開示の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
[第1の実施の形態]
第1の実施の形態に従った検索装置における検索は、数式に関する検索を含む。まず、当該検索装置における検索の概要を説明する。
<1.検索の概要>
図1は、第1の実施の形態の検索装置における検索処理の概要を説明するための図である。図1に示されるように、検索処理は、0段階目で示される準備(「0.準備」)に加えて、「1.入力」「2.変換」「3.検索」および「4.結果出力」の4つの段階を含む。以下、各段階について説明する。
(0.準備)
段階「0.準備」は、検索に利用される辞書データにおける準備を含む。図1では、辞書データD01,D02として、2つの辞書データが例示されている。辞書データD01は、「AA事典」として示されている。辞書データD02は、「BB百科事典」として示されている。つまり、辞書データD01,D02のそれぞれが1つの辞書に対応する。
辞書データは、「見出し語」と、当該見出し語に対応する「内容」とを含む。たとえば、辞書データD01は、見出し語「万有引力の法則」を含む。辞書データD01は、当該見出し語に関連付けられた内容として、「物体に働く引力は…」から「と、表わされる。」までの、7行で表される文字列を含む。当該文字列のうち、「\begin{equation}」から「\end{equation}」まで(第2行〜第6行)の5行の記述は、「TeX」という数式を表示するソフトウェアで利用されるためのマークアップ言語で記述された数式に対応する。以下、本明細書では、当該マークアップ言語を「TeX言語」と呼ぶ。
第1の実施の形態では、検索装置中の辞書データの数式では、本来の変数および定数が一定の規則に従ったアルファベットに置換されて記述されている。「本来の」とは、教科書等において一般的に記述される態様の、ということを意味する。図2および図3は、辞書データにおける、数式中の変数および定数のアルファベットによる置換を説明するための図である。
図1の辞書データD01は、図2の辞書データD11における数式の変数および定数が一定の規則に従ったアルファベットで置換されたデータである。辞書データD01中の上記の5行の数式の記述は、辞書データD11中の「\begin{equation}」から「\end{equation}」まで(第2行〜第6行)の5行の記述に対応する。そして、辞書データD11の破線内の記述「F=G\frac{Mm}{r}」が、辞書データD01では、記述「A=\frac{BCD}{E^2}」に置換えられている。つまり、辞書データD01中の数式の定数および変数の配列は、辞書データD11の中の数式の定数および変数が数式中の左方から順に置き換えられたアルファベットの配列である。検索装置は、たとえば以下の手順で、上記置換を実現する。
まず、検索装置は、辞書データD11内の数式そのものの記述を抽出する。より具体的には、検索装置は、TeX言語で記述された数式部分を抽出する。数式部分は、記述「\begin{equation}」および記述「\end{equation}」の間に位置する部分である。そして、検索装置は、抽出された部分から、「%」で始まるコメント行(表示には直接的に利用されない情報)を除くことにより、数式そのものの記述を抽出する。これにより、辞書データD11の「万有引力の法則」から、数式そのものの記述「F=G\frac{Mm}{r}」が抽出される。この記述は、図2に示された式(1)に相当する。
次に、検索装置は、当該数式そのものの記述から変数および定数を抽出する。変数および定数の抽出は、たとえば、数式そのものの記述から、数字、等号および不等号を含む記号ならびにTeX言語において関数を表わす文字列(「\frac」等)が除かれることによって実現される。これにより、上記の記述「F=G\frac{Mm}{r}」から、4個の変数「F」「M」「m」「r」および1個の文字定数「G」が抽出される。
そして、検索装置は、これらの4個の変数および1個の文字定数を、順に、アルファベットに置き換える。つまり、検索装置は、「F」「G」「M」「m」および「r」を、「A」「B」「C」「D」および「E」に置き換える。置き換えによって得られた式「B\frac{CD}{E^2}」は、変数「B」と分数(変数「C」「D」「E」からなる分数)との乗算を表わしている。変数と分数との乗算は、一般の数学的規則に基づいて、1つの分数にまとめられる。このことから、「B\frac{CD}{E^2}」は「\frac{BCD}{E^2}」と置換される。これにより、上記の記述「F=G\frac{Mm}{r}」は、辞書データD01において示されるように、記述「A=\frac{BCD}{E^2}」に変換される。
図1に戻って、辞書データD02においても、辞書データD01と同様に、数式の変数および定数が、一定の規則に従ったアルファベットに置換されている。つまり、辞書データD02は、見出し語「クーロンの法則」と、当該見出し語に関連付けられた内容(「以下の式で表される、…」以降の7行)とを含む。
辞書データD02は、図3の辞書データD12に対応する。図1の辞書データD02では、辞書データD12中の破線で囲まれた記述「F=k\frac{Qq}{r^2}」が、記述「A=\frac{BCD}{E^2}」に変換されている。より具体的には、辞書データD02中の記述「A=\frac{BCD}{E^2}」では、辞書データD12中の記述「F=k\frac{Qq}{r^2}」において、4個の変数および1個の文字定数「F」「k」「q」「q」「r」のそれぞれを、「A」「B」「C」「D」「E」のそれぞれに置換する。置き換えによって得られた式「B\frac{CD}{E^2}」は変数「B」と変数(変数「C」「D」「E」からなる分数)との乗算を表わしている。変数と分数との乗算は上記のように1つの分数にまとめられることから、「B\frac{CD}{E^2}」は「\frac{BCD}{E^2}」と置換される。なお、辞書データD12中の記述「F= k\frac{Qq}{r^2}」は、図3中の式(2)に相当する。
本明細書では、数式のデータに含まれる変数および定数を、上記した一定の規則に従ったアルファベットで置換することを「正規化」と呼ぶ。
(1.入力)
段階「1.入力」では、検索用のキーワードの入力を受け付ける。より具体的には、検索装置は、数式入力用のパッド(図1の入力部IN01)およびキーボード(図1の入力部IN02)を介して、キーワードの入力を受け付ける。図1では、さらに、枠FL01内に、入力されたキーワード群の一例が模式的に示されている。
入力されたキーワード群のうち、部分PT01は、入力部IN01(数式入力用パッド)を介して入力された数式である。そして、部分PT02は、入力部IN02(キーボード)を介して入力された文字列である。
(2.変換)
キーワードの入力を受け付けると、検索装置は、図1において段階「2.変換」として示されるように、入力されたキーワードの中の数式の中の変数および定数を、辞書データD01,D02中の数式と同様に、正規化する。図1では、枠FL01内のキーワードの変換後の状態が、枠FL02内に示されている。より具体的には、部分PT01の数式は、記述「A=\frac{BCD}{E^2}」に対応する。なお、枠FL02内のデータは、当該記述を数式として表示するためのTeX言語の記述(「\begin{equation}」および「\end{equation}」)をさらに含む。検索装置は、たとえば、キーワードとして入力された数式を表示するためのTeX言語の記述を取得し、当該TeX言語の記述を正規化する。
(3.検索)
次に、検索装置は、図1において段階「3.検索」として示されるように、正規化されたキーワードを利用して、辞書データD01,D02等の辞書データを検索する。検索装置は、たとえば、その内容がキーワード内の正規化された数式(枠FL03内の破線K01)と同じ文字列をその内容として有する見出し語、および/または、そのコメント行にキーワード内の文字列(枠FL03内の破線K02,破線K03)と同じ文字列を有する見出し語を、検索結果として取得する。
(4.結果出力)
そして、検索装置は、図1において段階「4.結果出力」として示されるように、検索結果として取得した見出し語を出力する。図1に示された例では、記述「A=\frac{BCD}{E^2}」を含む見出し語「万有引力の法則」および「クーロンの法則」が、検索結果に含まれる。
以上、図1〜図3を参照して説明された第1の実施の形態の概要によれば、辞書データ内の数式が正規化され、さらに、キーワードとして万有引力の法則を表わす数式(図1中の部分PT01)が正規化されて検索に利用される。これにより、入力された数式のそのものに関連付けられた見出し語だけでなく、当該数式と数学的に同値な数式に関連付けられた見出し語も、検索結果に含まれる。図4は、第1の実施の形態における検索の特徴を説明するための図である。なお、互いに数学的に同値な数式とは、たとえば、変数および定数の少なくとも一方と演算子との並び順が一致する組の数式である。
図4を参照して、辞書データでは、式(1)および式(2)の式のそれぞれが、正規化されることにより、式(3)として格納される。式(3)は、式(1)および式(2)の双方に対して、変数および定数を表わすアルファベットの種類のみが異なる、数学的に同値の式である。また、第1の実施の形態では、キーワードとして入力された数式も、正規化されて検索に利用される。したがって、式(1)および式(2)のいずれか一方の数式がキーワードとして入力された場合であっても、当該キーワードは、正規化されることによって、式(3)へと変換される。これにより、検索装置は、数学的に同値な関係にある2以上の数式の中の1つがキーワードとして入力された場合、入力された数式そのものだけでなく、当該入力された数式と数学的に同値な数式も、検索結果として出力し得る。
なお、数学的の同値な数式の組み合わせは、上記したような万有引力の法則の数式(式(1))とクーロンの法則の数式(式(2))の組み合わせに限定されない。たとえば、図4に示された、物体の振動を表わす微分方程式(式(4))と共振回路の微分方程式(式(5))との組み合わせ、および、単振動の式(式(6))と波動の式(式(7))との組み合わせも、数学的に同値な数式と言える。
<ハードウェア構成>
図5は、第1の実施の形態の検索装置のハードウェア構成の一例を示す図である。図5に示されるように、検索装置は、CPU(Central Processing Unit)605を含む。CPU605は、所与のプログラムを実行することにより、検索装置の動作を制御するための処理を実現する。
また、検索装置は、LCD61、タッチパネル62、操作ボタン64、およびタッチパネルコントローラ601を含む。LCD61は、CPU605の処理の実行の結果である画像を表示する。タッチパネル62は、LCD61と同様に画像を表示し、さらに、外部からのタッチ操作による情報の入力を受け付ける。タッチパネルコントローラ601は、タッチパネル62に接続され、タッチパネル62の制御を行う回路である。タッチパネル62に入力された情報は、タッチパネルコントローラ601を介して、CPU605へ入力される。操作ボタン64は、操作されることにより外部からの情報の入力を受け付け、そして、入力された情報をCPU605へ出力する。
検索装置は、さらに、スピーカ607、サウンドIC608、マイク609、無線モジュール610、アンテナ611、電源IC614、電池615、およびメモリ620を備える。CPU605には電源IC614が接続される。これにより、各部に電力が供給される。電源IC614には内蔵の電池615が接続され、電力が供給される。
タッチパネルコントローラ601は、タッチパネル62からの信号に基づいて所定の形式のタッチ位置データを生成してCPU605へ出力する。タッチ位置データは、タッチパネル62の入力面において入力が行われた位置の座標を表す。なお、タッチパネルコントローラ601は、タッチパネル62からの信号の読み込み、および、タッチ位置データの生成を所定時間に1回の割合で行う。
メモリ620は、不揮発性メモリを含む。メモリ620には、たとえば、CPU605が実行するプログラム、および当該プログラムの実行に必要なデータが格納される。
<機能構成>
図6は、検索装置の機能構成の一例を模式的に示す図である。図6を参照して、検索装置のメモリ620に格納される情報は、プログラム格納部621、データ格納部622、および辞書データ格納部623を含む。プログラム格納部621は、CPU605等によって実行されるプログラムを格納する。データ格納部622は、上記プログラムの実行に利用されるデータを格納する。辞書データ格納部623は、1つ以上の辞書データを格納する。
辞書データ格納部623に格納される辞書データが検索に利用される際には、図1に示されたように、当該辞書データ内の数式は正規化されている。なお、辞書データ内の数式は、正規化された状態で辞書データ格納部623に格納されていても良いし、検索に利用される直前に正規化されても良い。
検索装置は、辞書データ格納部623に格納される辞書データを用いて検索を行う。なお、検索装置は、USBメモリ等の着脱可能な記録媒体内のデータを読込むことができるように構成されても良い。そして、検索装置は、当該着脱可能な記録媒体に格納された辞書データを利用して、検索を行うこともできる。さらに、検索装置は、無線モジュール610を介して外部の記憶装置にアクセスし、当該記憶装置に格納された辞書データを利用して、検索を行うこともできる。
検索装置において、タッチパネル62は、ユーザから、検索用のキーワードとしてテキスト情報および数式の少なくとも一方を受け付ける(図6中の「テキストの入力」「数式の入力」)。そして、タッチパネル62(タッチパネルコントローラ601)は、入力された情報を、CPU605に送信する。
図7および図8を参照して、タッチパネル62における情報の入力の態様を説明する。図7は、テキストの入力のためにタッチパネル62に表示される画像の一例を示す図である。図7に示された画像IMG01は、キーワード入力欄AR01と表示欄AR02とを含む。キーワード入力欄AR01は、入力部SE01と、呼出ボタンIC01とを含む。
入力部SE01には、入力される情報が表示される。入力される情報は、テキスト情報と数式とを含む。
呼出ボタンIC01は、数式パッドを呼び出すためのボタンである。呼出ボタンIC01を操作されると、検索装置(CPU605)は、図8に示されるように、表示欄AR02に数式パッドPD01を表示させる。図9は、数式パッドPD01の拡大図である。
図9に示されるように、数式パッドPD01は、関数電卓において配列されている複数の操作キーのように、数字キーに加えて関数を入力するためのキーを含む。数式パッドPD01は、さらに閉じるキーB01を含む。CPU605は、閉じるキーB01を操作されることにより、表示欄AR02における数式パッドの表示を終了させる。これにより、タッチパネル62における表示は、図8の画像IMG02から図7の画像IMG01に戻る。
図6に戻って、CPU605の機能として、受付部651、変換部652、検索部653、および表示制御部654が示されている。受付部651は、タッチパネル62から、入力された情報を受信する。そして、受付部651は、入力された情報のうち、テキストを検索部653に送信し、数式を変換部652に送信する。
変換部652は、入力された数式を、図1等を参照して説明したように正規化する。そして、変換部652は、正規化された数式を、検索部653に送信する。
検索部653は、受付部651から受信したテキストと、変換部652から受信した数式とを利用して、辞書データから見出し語を検索する。検索部653は、複数の辞書データから検索を行なうこともできる。図10は、検索部653による検索を概念的に示す図である。
図10では、辞書データDC(1)〜DC(N)および辞書データDC(N+1)〜DC(X)が示されている。辞書データDC(1)〜DC(N)は、検索装置内に格納された辞書データを表す。辞書データDC(N+1)〜DC(X)は、検索装置外に格納された辞書データを表す。検索装置外で辞書データを格納する装置は、たとえば、検索装置に対して着脱可能な記録媒体、および、検索装置がネットワークを介して通信可能な記憶装置である。検索部653は、たとえばユーザから入力された情報に基づいて、どの辞書データから検索を行なうかを決定する。また、検索部653は、入力されたキーワードに数式が含まれているかいないかによって、どの辞書データから検索を行なうかを決定することができる。より具体的には、検索部653は、入力されたキーワードが数式を含むときには数式を含む辞書データを検索対象に含め、キーワードが数式を含まないときには数式を含まない辞書データのみを検索対象としても良い。
図6に戻って、検索部653は、上記のように検索を行ない、その結果を表示制御部654へ送信する。表示制御部654は、検索結果を表示するための画像を生成し、そして、当該画像をタッチパネル62に送信する。そして、タッチパネル62は、当該画像を表示する。
図11〜図13は、第1の実施の形態の検索装置における検索結果の表示を説明するための図である。図11〜図13を参照して、検索結果の表示の一例を説明する。
図11には、辞書データの構成の一例が示されている。辞書データでは、見出し語IDと、見出し語と、内容とが関連付けられている。たとえば、見出し語ID「0001」には、見出し語「AAA」と、その内容とが関連付けられている。見出し語に関連付けられる内容は、TeX言語に従った記述を含む。図11には、さらに、見出し語および内容の実際の表示の一例が示されている。図11の例では、見出し語に関連付けられた内容は、正規化されている。このため、実際の表示は、正規化された内容に従う。つまり、実際の表示では、変数および定数が、左から、所定の順序に従ったアルファベットとして示されている。
図12および図13のそれぞれには、タッチパネル62に表示される画像の一例が示されている。図12の画像IMG03では、入力部SE01に、入力されたキーワードが表示されている。そして、画像IMG03では、表示欄AR02は、項目表示部AR21と、プレビュー表示部AR22とを含む。項目表示部AR21には、検索結果として得られた見出し語がリスト表示されている。そして、プレビュー表示部AR22では、リスト表示された見出し語の中から仮に選択された状態にある見出し語の内容のプレビューが表示されている。
検索結果として得られた見出し語から1つの見出し語が最終的に選択されると、タッチパネル62には図13の画像IMG04が表示される。画像IMG04は、選択された見出し語の内容が表示する。なお、検索装置では、操作ボタン64に含まれる所定のボタンが操作される等によって、タッチパネル62における表示は、画像IMG04から画像IMG03へと戻されても良い。
<処理の流れ>
図14は、検索装置において実行される検索処理のフローチャートである。図14を参照して、検索処理の流れを説明する。当該処理は、たとえば検索を実行する指示が入力されたことによって開始される。なお、検索装置が、当該検索装置にインストールされたアプリケーションの動作として検索を実行する場合、当該処理は、たとえば当該アプリケーションの起動の指示が入力されたことによって開始される。
図14を参照して、ステップS10で、CPU605は、キーワードの入力を受け付ける。そして、制御は、ステップS20へ進められる。
ステップS20で、CPU605は、検索を開始するための指示が入力されたかどうかを判断する。CPU605は、まだ当該指示が入力されていないと判断すると(ステップS20でNO)、ステップS10に戻ってキーワードの入力の受付を継続する。そして、当該指示が入力されたと判断すると(ステップS20でYES)、CPU605は、ステップS30へ制御を進める。
ステップS30で、CPU605は、キーワードに含まれている数式を変換(正規化)する。そして、制御は、ステップS40へ進められる。
ステップS40で、CPU605は、キーワードを利用して検索を実行し、その結果をタッチパネル62に表示する。
以上説明された第1の実施の形態では、タッチパネル62によって、変数および定数の少なくとも一方と演算子とを含んだ数式の入力を受け付ける入力手段が構成される。なお、数式の入力は、図1、図8および図9を参照して説明されたような数式パッドを用いた方法に限定されない。数式は、TeX言語を直接入力するなど、他の方法に従って入力されても良い。
また、変換部652によって、入力手段に入力された数式を、第1の規則に従って記述された数式に変換するための変換手段が構成される。第1の規則の一例は、変数および定数をアルファベット順に従って変換することであった。なお、変数および定数は他の規則に従って変換されても良い。たとえば、各変数および定数は、アルファベット1文字ずつに変換される代わりに、1つのピクトに変換されても良い。この場合、検索装置は、ピクトをID等の文字列で表すことができれば、変換後の数式を文字列で表すことができる。
なお、第1の実施の形態では、検索結果として、辞書データに格納される見出し語の中から、入力手段に入力された文字列中の変数および定数の少なくとも一方と演算子との「並び順」が一致する部分を含む数式に関連付けられた見出し語が検索されればよい。したがって、第1の規則に従った変換を行なうことなしに、数式から変数および定数の少なくとも一方と演算子とを、それらの並び順を変更することなく抽出することができれば、入力された数式が第1の規則に従って変換されることなく検索が行なわれることが可能であり、また、辞書データにおいて第1の規則に従って記述された数式が格納される必要はない。
つまり、第1の実施の形態では、図1等に示された辞書データD01,D02では、数式から、変数および定数の少なくとも一方と演算子との並び順が抽出される。当該抽出は、一例として、各数式に含まれる変数および定数が一定の規則に従ったアルファベットで置換(正規化)されることによって実現される。また、検索キーワードとして入力された数式から、変数および定数の少なくとも一方と演算子との並び順が抽出される。当該抽出も、一例として、入力された数式が正規化されることによって実現される。そして、検索では、辞書データおよびキーワードの双方において、上記のように正規化された数式が利用される。これにより、検索結果は、入力された数式に関連付けられた見出し語だけでなく、入力された数式と数学的に同値の数式に関連付けられた見出し語をも含む。
また、以上説明された第1の実施の形態では、辞書データ格納部623において、図1等を参照して説明されたような、数式を正規化された辞書データが格納されている。なお、このような辞書データは、検索装置に対して着脱可能な記録媒体に格納されていても良い。当該辞書データは、さらに本来の態様で数式を表示するためのデータを含んでいても良い。当該記録媒体は、検索装置とは独立して取引され得る。
第1の実施の形態では、数式の記述の一例として、TeX言語に従った記述が例示された。当該記述によれば、積分等の演算子が文字列で記述される。なお、数式の記述は、これに限定されない。数式を記述し得るいかなる態様に従ってなされてもよい。
[第2の実施の形態]
本明細書における第2の実施の形態以降の各実施の形態の検索装置において、ハードウェア構成は、第1の実施の形態の検索装置のハードウェア構成と同様であっても良い。したがって、本明細書では、ハードウェア構成の説明を繰り返さない。
第2の実施の形態では、辞書データは、数式について、本来の態様のデータと、正規化されたデータとの双方を含む。そして、第2の実施の形態では、検索結果として得られた見出し語の数に応じて、当該2種類のデータの中のどのデータを検索に利用するかを決定する。まず、図15を参照して、第2の実施の形態において利用される辞書データの構成を説明する。
<辞書データ>
図15は、第2の実施の形態の検索装置に格納される辞書データの構成の一例を模式的に示す図である。図15に示された辞書データでは、見出し語IDと、内容とが関連付けられている。たとえば、見出し語ID「0011」には、「万有引力の法則」で始まる文字列が関連付けられている。第2の実施の形態では、内容の一行目が、見出し語を構成する。
図15に示された「内容」は、一般的にTeX言語において表示に利用されるタグ(「\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」の後に、TeX言語の数式が、定数および変数を正規化された状態で、記述される。TeX言語の数式の、定数および変数を正規化された状態とは、たとえば、図1の枠FL03内の破線K01内に示された状態である。
タグ「%disp」は、数式が対応するTeX言語を特定する。当該タグは、たとえば「%disp{TeX数式}」という態様で記述される。たとえば、記述「%disp{frac{AB}{C}}」は、TeX言語の記述「frac{AB}{C}」に対応する数式を表示することを特定する。なお、辞書データを扱う端末において、TeX言語に従った表示を実行する機能が搭載されていれば、タグ「%disp」に従った数式が表示される。なお、端末が、TeX言語に従った表示の機能を有しない場合には、タグ「%disp」の記述は無視される。
図15に戻って、第2の実施の形態において利用される辞書データは、見出し語に対応する内容として、TeX言語で記述された、数式を本来の態様で表示させる記述を含む。つまり、見出し語ID「0011」(万有引力の法則)の内容は、図2の式(1)とした示された態様で数式を表示するための記述「\begin{displaymath}」および「F=G\frac{Mm}{r^2}」を含む。また、見出し語ID「0013」(クーロンの法則)の内容は、図3の式(2)とした示された態様で数式を表示するための記述「\begin{displaymath}」および「F=k\frac{Qq}{r^2}」を含む。
さらに、図15に示された例では、見出し語ID「0011」(万有引力の法則)と見出し語ID「0013」(クーロンの法則)の双方の内容が、タグ「%search」として、同じ記述(%search{A=\frac{BCD}{E^2}}を含む。
<処理の流れ>
図16および図17は、第2の実施の形態の検索装置における検索および当該検索結果の表示のための処理のフローチャートである。図16および図17を参照して、当該処理の内容を説明する。なお、図16は、図14のステップS40のサブルーチンのフローチャートに相当する。また、図17は、図16のステップS418のサブルーチンのフローチャートに相当する。
まず、図16を参照して、ステップS402で、CPU605は、ステップS30(図14参照)で正規化された数式をキーワードとして利用して、辞書データにおける検索を実行する。なお、CPU605は、ステップS402における検索では、辞書データにおけるタグ「%search」中の記述がキーワードと一致する見出し語を探す。「一致」は、部分一致であっても良いし、完全一致であっても良い。そして、制御はステップS404に進められる。
ステップS404で、CPU605は、辞書データにおけるタグ「%search」中の記述がキーワードと一致する見出し語を発見できたかどうかを判断する。そして、CPU605は、そのような見出し語を発見できたと判断すると(ステップS404でYES)、ステップS406へ制御を進める。一方、CPU605は、そのような見出し語を発見できなかったと判断すると(ステップS404でNO)、ステップS420へ制御を進める。
ステップS406で、CPU605は、メモリ620において検索結果(候補)の数を計数するためのカウンタの値を1だけインクリメントする。そして、制御は、ステップS408へ進められる。
ステップS408で、CPU605は、ステップS406でインクリメントされた後の上記カウンタの値が、図12の項目表示部AR21において同時に表示できる検索結果の数(リスト表示可能行数)を超えているか否かを判断する。そして、CPU605は、上記カウンタの値がリスト表示可能行数を超えていると判断すると(ステップS408でYES)、ステップS414へ制御を進める。一方、CPU605は、上記カウンタの値がリスト表示可能行数以下であると判断すると(ステップS408でNO)、ステップS410へ制御を進める。
ステップS410で、CPU605は、ステップS404でキーワードと一致していると判断した見出し語を検索結果のリストに追加する。これにより、当該見出し語は、図12の項目表示部AR21にリスト表示される。そして、制御はステップS412へ進められる。
ステップS412で、CPU605は、検索対象を、ステップS404で取得した見出し語の次の見出し語に移行する。そして、制御はステップS402へ戻される。検索では、CPU605は、たとえば、辞書データにおける見出し語IDの数値が低いものから順に、キーワードと一致するかどうかを判断する。ステップS412では、CPU605は、たとえば、検索対象とされる見出し語IDの値を1だけインクリメントする。
ステップS414で、CPU605は、検索結果の絞込みの要否を問い合わせるメッセージをタッチパネル62に表示させ、ユーザからの入力を待つ。そして、ユーザから絞込みを実行することを示す指示が入力されると(ステップS414でYES)、ステップS418へ制御を進める。一方、ユーザから絞込みを実行しないことを示す指示が入力されると(ステップS414でNO)、ステップS416へ制御を進める。
ステップS416では、CPU605は、図12の項目表示部AR21においてリストをスクロールさせることによって、ステップS404で新たに取得した見出し語を表示させる。そして、制御は、ステップS402に戻される。
ステップS418では、CPU605は、絞込み検索のための処理を実行する。絞込み検索のための処理の内容は、図17を参照して後述する。
ステップS420では、CPU605は、辞書データにおいて検索対象となり得る最終の見出し語まで検索が完了したかどうかを判断する。CPU605は、まだ最終の見出し語まで検索が完了していないと判断すると(ステップS420でNO)、ステップS422へ制御を進める。一方、CPU605は、最終の見出し語まで検索が完了していると判断すると(ステップS420でYES)、ステップS424へ制御を進める。
ステップS422では、CPU605は、検索対象を現在の見出し語から次の見出し語へと移行させる。そして、制御はステップS402へ戻される。
ステップS424では、CPU605は、これまでに取得されている検索結果(候補)の数、つまり、既に項目表示部AR21に検索結果としてリスト表示されている見出し語の数が、0であるかどうかを判断する。そして、CPU605は、当該候補の数が0であると判断すると(ステップS424でYES)、ステップS426へ制御を進める。一方、CPU605は、当該候補の数が0を超えていると判断すると(ステップS424でNO)、図16の処理を終了させる。これにより、制御は図14のステップS40へ戻される。
ステップS426で、CPU605は、検索のキーワードに、等式または不等式で記載された数式が含まれるかどうかを判断する。そして、CPU605は、検索のキーワードが等式または不等式を含む場合には(ステップS426でYES)、ステップS428へ制御を進める。一方、CPU605は、検索のキーワードが等式または不等式を含まない場合には(ステップS426でNO)、ステップS436へ制御を進める。
ステップS428で、CPU605は、キーワードに含まれる等式または不等式の左辺と右辺を入れ替えた検索を既に実行したかどうかを判断する。そして、CPU605は、まだそのような検索を実行していない場合には(ステップS428でNO)、ステップS430へ制御を進める。一方、CPU605は、すでにそのような検索を実行している場合には(ステップS428でYES)、ステップS436へ制御を進める。
ステップS436で、CPU605は、検索結果が見つからなかったことを表すガイダンスをタッチパネル62に表示させる。そして、図16の処理が終了する。これにより、制御は図14のステップS40へ戻される。
一方、ステップS430で、CPU605は、入力された数式の左辺と右辺を入れ替えて検索を実行することを示すガイダンスをタッチパネル62に表示させる。そして、制御は、ステップS432へ進められる。
ステップS432で、CPU605は、ステップS30(図14参照)で正規化された数式の左辺と右辺とを入れ替える。そして、制御は、ステップS434へ進められる。
ステップS434で、CPU605は、検索対象を辞書データの先頭の見出し語に設定する。そして、制御はステップS402へ戻される。
次に、図17を参照して、図16のステップS418の制御(絞込み検索)について説明する。
絞込み検索では、CPU605は、ステップS4100で、ステップS10(図14参照)で入力を受け付けた数式(正規化される前の数式)をキーワードとして、辞書データを検索する。そして、制御はステップS4102へ進められる。
ステップS4102で、CPU605は、辞書データにおいてキーワードと一致する内容を有する見出し語があるかどうかを判断する。そして、CPU605は、キーワードと一致する内容を有する見出し語があると判断すると(ステップS4102でYES)、ステップS4104へ制御を進める。一方、CPU605は、そのような見出し語が無いと判断すると、ステップS4114へ制御を進める。
ステップS4104で、CPU605は、検索結果(候補)の数を1だけインクリメントする。そして、制御は、ステップS4106へ進められる。なお、ステップS4014でインクリメントされるのは、正規化される前の数式がキーワードとされた検索における検索結果の数を計数するカウンタの値である。
ステップS4106で、CPU605は、ステップS4104でインクリメントされたカウンタの値が、図12の項目表示部AR21において同時に表示できる検索結果の数(リスト表示可能行数)未満であるか否かを判断する。そして、CPU605は、上記カウンタの値がリスト表示可能行数未満であると判断すると(ステップS4106でYES)、ステップS4110へ制御を進める。一方、CPU605は、上記カウンタの値がリスト表示可能行数以下であると判断すると(ステップS4106でNO)、ステップS410へ制御を進める。
ステップS4108では、CPU605は、最も古い(たとえば、見出し語IDの値が小さい、または、辞書データに追加された日付が古い)見出し語を検索結果のリスト(項目表示部AR21)から削除する。そして、制御はステップS4110へ進められる。
ステップS4110では、CPU605は、ステップS4102でキーワードと一致すると判断された見出し語を検索結果のリスト(項目表示部AR21)に追加する。そして、制御はステップS4112へ進められる。
ステップS4112で、CPU605は、検索対象を、ステップS404で取得した見出し語の次の見出し語に移行する。そして、制御はステップS4100へ戻される。
ステップS4114で、CPU605は、現在の検索対象の見出し語が、辞書データにおける最終の見出し語であるかどうかを判断する。そして、CPU605は、検索対象が最終の見出し語であると判断すると(ステップS4114でYES)、ステップS4116へ制御を進める。一方、CPU605は、検索対象が最終の見出し語ではないと判断すると(ステップS4114でNO)、検索対象の見出し語を次の見出し語に進めた後、ステップS4100へ制御を戻す。
ステップS4116で、CPU605は、正規化前の数式をキーワードとしたときの検索結果(候補)の数が0であるかどうかを判断する。そして、CPU605は、当該候補の数が0であると判断すると(ステップS4116でYES)、ステップS4118へ制御を進める。一方、CPU605は、当該候補の数が0を超えていると判断すると(ステップS4116でNO)、図17の処理を終了させる。これにより、制御は、図16のステップS418に戻され、そして、図14のステップS40へ戻される。
ステップS4118で、CPU605は、検索のキーワード(正規化前)に、等式または不等式で記載された数式が含まれるかどうかを判断する。そして、CPU605は、検索のキーワードが等式または不等式を含む場合には(ステップS4118でYES)、ステップS4120へ制御を進める。一方、CPU605は、検索のキーワードが等式または不等式を含まない場合には(ステップS4118でNO)、ステップS4128へ制御を進める。
ステップS4120で、CPU605は、キーワード(正規化前)に含まれる等式または不等式の左辺と右辺を入れ替えた検索を既に実行したかどうかを判断する。そして、CPU605は、まだそのような検索を実行していない場合には(ステップS4120でNO)、ステップS4122へ制御を進める。一方、CPU605は、すでにそのような検索を実行している場合には(ステップS4120でYES)、ステップS4128へ制御を進める。
ステップS4128で、CPU605は、検索結果が見つからなかったことを表すガイダンスをタッチパネル62に表示させる。そして、図17の処理が終了する。これにより、図16の処理が終了し、制御は図14のステップS40へ戻される。
一方、ステップS4122で、CPU605は、入力された数式の左辺と右辺を入れ替えて検索を実行することを示すガイダンスをタッチパネル62に表示させる。そして、制御は、ステップS4124へ進められる。
ステップS4124で、CPU605は、ステップS30(図14参照)で正規化される前の数式の左辺と右辺とを入れ替える。そして、制御は、ステップS4128へ進められる。
ステップS4126で、CPU605は、検索対象を辞書データの先頭の見出し語に設定する。そして、制御はステップS4100へ戻される。
<ガイダンス表示(1)>
図16に示された処理では、ステップS430(図16)において、入力された数式の左辺と右辺を入れ替えて検索を実行することを示すガイダンスが表示される。図18は、当該ガイダンスの画像の一例を示す図である。
図18の画像IMG05は、タッチパネル62に表示される画像の一例である。画像IMG05の表示欄AR02は、元のキーワードでの検索結果を表示するための候補タブTB01と、ステップS432で更新されたキーワードで実行された再検索での検索結果を表示するための再検索タブTB02とを含む。そして、画像IMG05は、候補タブTB01がアクティブであり、再検索タブTB02がインアクティブな状態を示す。候補タブTB01には、「見つかりません」というメッセージが表示され、さらに、3つのメニュー(「左辺/右辺を入れ替えて検索」「左辺の式で検索」および「右辺の式で検索」)が表示されている。これらのメニューは、再検索を行なうときのキーワードの変更態様を示す。図16に示された処理は、メニュー「左辺/右辺を入れ替えて検索」が選択されたときの処理である。これにより、ステップS432(図16)の制御では、キーワードの数式の左辺と右辺とが入れ替えられるように更新された。なお、メニュー「左辺の式で検索」が選択された場合には、この制御の代わりに、キーワード中の数式が、その右辺が削除されるように更新される。また、メニュー「右辺の式で検索」が選択された場合には、この制御の代わりに、キーワード中の数式が、その左辺が削除されるように更新される。
図16に示された処理では、このようにキーワードが更新された後、再度検索が実行される。そして、当該再検索の結果が、図19の画像IMG06においてアクティブな再検索タブTB02に示される。
<ガイダンス表示(2)>
図17に示された処理は、図16のステップS408において候補の数がリスト表示可能行数を超えたと判断された場合であって、ステップS414において絞込み検索を実行する指示が入力されたときに実行される。そして、図17に示された処理では、キーワードとして、正規化された数式の代わりに、正規化前の数式が利用される。正規化前の数式がキーワードとして利用されることにより、入力された数式そのものと一致する数式を有する見出し語のみが検索結果に含まれるようになる。つまり、入力された数式と数学的に同値な数式を有する見出し語は、検索結果に含まれなくなる。したがって、正規化前の数式がキーワードとして利用されることにより、検索結果の見出し語の数が減ることが期待される。
ただし、正規化前の数式がキーワードとして利用されることによって検索結果が得られなくなった場合(ステップS4116でYES)には、ステップS4122(図17)において、入力された数式の左辺と右辺を入れ替えて検索を実行することを示すガイダンスが表示される。図20は、当該ガイダンスの画像の一例を示す図である。
図20の画像IMG07は、タッチパネル62に表示される画像の一例である。画像IMG07の表示欄AR02は、元のキーワード(ステップS4124で更新される前のキーワード)での検索結果を表示するための候補タブTB01と、更新後のキーワードで実行された再検索での検索結果を表示するための再検索タブTB02とを含む。そして、画像IMG07は、候補タブTB01がアクティブであり、再検索タブTB02がインアクティブな状態を示す。候補タブTB01には、「見つかりません」というメッセージが表示され、さらに、3つのメニュー(「左辺/右辺を入れ替えて検索」「左辺の式で検索」および「右辺の式で検索」)が表示されている。これらのメニューは、再検索を行なうときのキーワードの変更態様を示す。図17に示された処理は、メニュー「左辺/右辺を入れ替えて検索」が選択されたときの処理である。これにより、ステップS4124(図17)の制御では、正規化前の数式の左辺と右辺とが入れ替えられるように更新された。なお、メニュー「左辺の式で検索」が選択された場合には、この制御の代わりに、キーワード中の数式が、その右辺が削除されるように更新される。また、メニュー「右辺の式で検索」が選択された場合には、この制御の代わりに、キーワード中の数式が、その左辺が削除されるように更新される。
図21は、ステップS4124で更新された後のキーワードを用いた再検索における検索結果が表示される。より具体的には、図21の画像IMG08においてアクティブなTB02には、再検索における検索結果が表示される。
[第3の実施の形態]
第3の実施の形態の検索装置では、辞書データにおいて、数式は、正規化されていない状態で記述される。そして、検索装置のデータ格納部622は、辞書に含まれる2以上の数式を互いに関連付けるためのデータ(数式データベース)を格納する。当該数式データベースでは、各数式は、正規化された状態で、記述される。数式データベースの構成の一例を説明する。
<数式データベースの構成>
図22は、数式データベースの構成の一例を概略的に示す図である。図22では、数式データベースD20の他に、データ構成D21,D22が示されている。データ構成D21,D22のそれぞれは、辞書データの構成のそれぞれの一例を示す。
データ構成D21,D22として示されるように、各辞書には、当該辞書を特定する除法(辞書ID)が割り振られている。データ構成D21で示される辞書には、辞書ID「13」が割り振られている。データ構成D22で示される辞書には、辞書ID「56」が割り振られている。そして、各辞書では、各見出し語に見出し語IDが割り振られている。つまり、第3の実施の形態では、各辞書の各見出し語は、辞書IDと見出し語IDとによって特定され得る。
数式データベースD20では、データ群DT01が1つの数式に対応する。データ群DT01は、TeX言語に従って数式を表示するための5行の記述を含む。2行目の記述「A=\frac{BCD}{E^2}」は、正規化された数式を意味する。破線DR1で囲まれた3行目の記述「%dictonary{13,100},{56,231}」は、上記正規化された数式を含む見出し語を特定する。より具体的には、当該記述は、データ群DT01内の正規化された数式が、辞書ID「13」および見出し語ID「100」で特定される見出し語(万有引力の法則)と、辞書ID「56」および見出し語ID「231」で特定される見出し語(クーロンの法則)とに関連付けられていることを意味する。
<検索処理>
第3の実施の形態の検索処理(図14)では、CPU605は、ステップS40で、正規化されたキーワードの数式と数式データベースD20内の正規化された数式とを対比する。そして、数式データベースD20においてキーワードの数式と一致する数式が存在する場合には、CPU605は、数式データベースD20において当該数式に関連付けられている見出し語を検索結果として出力する。
第3の実施の形態では、数式データベースD20が準備されることにより、検索装置は、辞書データ自体に正規化された数式を付加するという変更を加えることなく、正規化された数式をキーワードとして検索ができる。
なお、CPU605は、検索処理において、キーワードとして数式パッドを利用した数式が入力されたときにのみ、数式データベースD20を検索するように構成されることが好ましい。
また、CPU605は、検索処理において、キーワードが数式パッドを利用して入力された場合、辞書データよりも先に数式データベースD20を検索することが好ましい。数式パッドを利用して入力されたキーワードは、テキスト情報を多く含む一般の辞書データ内よりも数式データベースD20内で発見される確率が高い。このため、数式データベースD20が辞書データに先立って検索されることにより、より早く、最初の検索結果がユーザに提示され得る。
[第4の実施の形態]
第4の実施の形態では、CPU605は、キーワードとして入力された文字列が関数記号に置き換えられることができる文字列である場合、当該文字列を関数記号に置き換えることによってキーワードを更新して、検索を実行する。第4の実施の形態では、関数記号に置き換えられることができる文字列が、たとえばデータ格納部622に登録されている。
第4の実施の形態では、キーワードとして2つの文字列「積分」および「sinx2」が入力された場合を想定する。
この場合、まずCPU605は、当該2つの文字列をキーワードとして辞書データを検索する。当該検索の結果として得られた見出し語の数が所与の数未満である場合、CPU605は、入力されたキーワードが関数記号に置換可能な文字列を含むかどうかを判断する。そして、CPU605は、入力されたキーワードが関数記号に置換可能な文字列を含む場合には、キーワード中の当該文字列を関数記号に置換する。
上記された2つの文字列「積分」および「sinx2」のうち、文字列「積分」は、関数記号「∫」に置換できる。このため、CPU605は、キーワードとして入力された2つの文字列「積分」および「sinx2」を、2つの文字列「∫」および「sinx2」に置き換えて、再度辞書データを検索する。そして、CPU605は、当該検索の結果を出力する。
なお、CPU605は、さらに、上記のようにキーワードを置換した後の検索においても検索結果として得られた見出し語の数が所与の数未満である場合には、元のキーワード(または置換後のキーワード)の一部を新たなキーワードとして検索を実行する(部分検索)。これにより、より多くの検索結果がユーザに提示され得る。
[第5の実施の形態]
第5の実施の形態では、辞書データは、数式のデータと、当該数式を表示するためのデータとを含む。そして、CPU605は、図12を参照して説明されたようなプレビュー表示部AR22では、数式を中心としたプレビュー画面を表示する。図23は、第5の実施の形態の辞書データにおける数式に関するデータの一例を示す図である。
<数式に関するデータ>
図23に示されたデータは、6行の記述を含む。当該6行の記述は、所与の見出し語の内容を表示させるためのデータの一部分に相当する。2行目の記述「\int_a^b cos xdx」は、TeX言語で記述された数式のデータである。
3行目の記述「%image{9876,56,134,40,25}」は、上記数式のデータを表示させる座標を特定するデータである。タグ「%image」は、数式が対応する画像を表示する位置を特定する。当該記述は、たとえば「%image{画像ID,X座標,Y座標,幅,高さ}」の態様で記述されているる。つまり、当該記述は、数式の画像(ID=9876)が、座標(56,134)の位置に、幅40および高さ25の大きさで表示されることを意味する。
<表示態様>
図24および図25は、第5の実施の形態におけるプレビュー画面の表示態様の一例を説明するための図である。図24に示された画像IMG11は、上記された所与の見出し語の内容の全体を表示する仮想的な画像である。画像IMG11において、上記の記述「\int_a^b cos xdx」に対応する数式は、点P01を基準として表示されている。そして、図24では、当該数式の表示領域が、点P01を一角に有する破線の長方形で示されている。点P01の画像IMG11におけるX座標およびY座標は、上記の記述「%image{9876,56,134,40,25}」の中のX座標およびY座標によって特定される。また、上記破線の長方形の幅および高さは、当該記述の中の幅および高さによって特定される。
CPU605は、当該数式を含むプレビュー画面を生成する場合、当該数式を中心とした範囲PT21を特定する。範囲PT21の大きさは、たとえば、プレビュー表示部AR22に表示され得る最大の画像の大きさである。
図25には、プレビュー表示部AR22に上記したプレビュー画面を含む画像IMG09が示されている。第5の実施の形態では、第1の実施の形態において図12を参照して説明された検索結果のプレビュー画面として、見出し語の画像の中の数式を含む部分が表示される。これにより、ユーザは、検索結果の候補である見出し語に含まれる数式をより容易に認識できる。
なお、図25のプレビュー表示部AR22では、数式が枠FL22を付されることによって強調されて表示されている。これにより、ユーザは、より確実に、検索結果の候補である見出し語に含まれる数式を認識できる。
[第6の実施の形態]
第6の実施の形態では、CPU605は、入力されたキーワードを利用して辞書データを検索する場合、キーワードに含まれる文字列間のスペースを、数式における項の区切りとして扱う。数式における「項」とは、たとえば、数式において、演算子で挟まれた、または、演算子にのみ隣接する、変数または定数を表わす文字列の群である。
たとえば、キーワードとして文字列「BCD E」が入力された場合について説明する。当該キーワードは、文字列「BCD」と文字列「E」の間にスペースを含む。このため、CPU605は、検索において、文字列「BCD」を1つの項として有する数式、または、文字列「E」を1つの項として有する数式を検索する。これによって、たとえば記述「\frac{ABCD}{E}=G+H」を含む数式を有する見出し語は検索結果に含まれない。当該記述が、文字列「BCD」のみからなる項を含まず、かつ、文字列「E」のみからなる項を含まないからである。一方、記述「A=\frac{BCD}{E^2}」を含む数式を有する見出し語は検索結果に含まれる。当該記述が、文字列「BCD」のみからなる項を含むからである。
今回開示された実施の形態およびその変形例はすべての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
62 タッチパネル、64 操作ボタン、601 タッチパネルコントローラ、605 CPU、620 メモリ。

Claims (11)

  1. 変数および定数の少なくとも一方と演算子とを含んだ数式と見出し語とを関連付けて格納する辞書データを記憶するための記憶手段と、
    変数および定数の少なくとも一方と演算子との入力を受け付ける入力手段と、
    前記入力手段に入力された前記文字列中の変数および定数の少なくとも一方と演算子との並び順が一致する部分を含む数式を前記辞書データから検索し、当該数式に関連付けられた見出し語を検索するための検索手段と、
    前記検索手段による検索結果である見出し語に対応する情報を出力するための出力手段とを備えた、検索装置。
  2. 前記辞書データにおいて格納されている数式は、演算子を文字列で記述している、請求項1に記載の検索装置。
  3. 前記入力手段は、さらに変数、定数または演算子とは異なる文字列を受け付け、
    前記検索手段は、前記辞書データにおいて、前記入力手段に入力された文字列中の、変数および定数の少なくとも一方と演算子との並び順が一致する部分を含む数式、または、変数、定数もしくは演算子とは異なる文字列に対応する数式に関連付けられた見出し語を検索する、請求項1または請求項2に記載の検索装置。
  4. 前記辞書データは、前記数式に付加された文字列をさらに格納し、
    前記検索手段は、少なくとも前記数式に付加された文字列が、前記入力手段に入力された変数、定数もしくは演算子とは異なる文字列に対応するときに、当該数式が当該入力手段に入力された文字列に対応する数式であると判断する、請求項3に記載の検索装置。
  5. 前記辞書データは、前記数式を、当該数式に含まれる変数および定数のそれぞれを予め定められた順序で配列された文字列のそれぞれに順に置換するという規則に従って変換された態様と、当該規則に従って変換される前の態様との、双方の態様で格納する、請求項1〜請求項4のいずれか1項に記載の検索装置。
  6. 前記検索手段は、前記並び順が一致する部分を含む数式に対応する数式に関連付けられた見出し語の数が予め定められた数以上である場合には、前記辞書データにおいて、前記並び順が一致する部分を含む数式の代わりに前記入力手段に入力された文字列に対応する数式に関連付けられた見出し語を検索する、請求項1〜請求項5のいずれか1項に記載の検索装置。
  7. 前記検索手段は、前記並び順が一致する部分を含む数式に対応する数式に関連付けられた見出し語の数が予め定められた数より少ない場合には、前記辞書データにおいて、前記入力手段に入力された文字列に対応する数式をその一部が削除されまたはその左辺と右辺とが入れ替えられるように更新し、当該更新後の数式に関連付けられた見出し語を検索する、請求項1〜請求項6のいずれか1項に記載の検索装置。
  8. 前記記憶手段は、前記辞書データ内の数式のそれぞれと、当該数式のそれぞれを他の数式に関連付ける情報とを含む関連情報をさらに記憶し、
    前記検索手段は、前記入力手段に入力された前記文字列中の変数および定数の少なくとも一方と演算子との並び順が一致する部分を含む数式を、前記辞書データの代わりに前記関連情報から検索し、当該関連情報からの検索結果として取得した見出し語が関連付けられた第1の数式と、前記関連情報によって関連付けられる、第2の数式に関連付けられた見出し語を、前記検索結果に追加する、請求項1〜請求項7のいずれか1項に記載の検索装置。
  9. 変数および定数の少なくとも一方と演算子とを含んだ数式と見出し語とを関連付ける辞書データから見出し語を検索するためのコンピュータによって実行される検索方法であって、
    変数および定数の少なくとも一方と演算子とを含んだ文字列の入力を受け付けるステップと、
    入力された前記文字列中の変数および定数の少なくとも一方と演算子との並び順が一致する部分を含む数式を前記辞書データから検索し、当該数式に関連付けられた見出し語を検索するステップと、
    前記検索による検索結果である見出し語に対応する情報を出力するステップとを備えた、検索方法。
  10. 変数および定数の少なくとも一方と演算子とを含んだ数式と見出し語とを関連付ける辞書データから見出し語を検索するためのコンピュータによって実行されるプログラムであって、
    前記プログラムは、前記コンピュータに、
    変数および定数の少なくとも一方と演算子とを含んだ文字列の入力を受け付けるステップと、
    入力された前記文字列中の変数および定数の少なくとも一方と演算子との並び順が一致する部分を含む数式を前記辞書データから検索し、当該数式に関連付けられた見出し語を検索するステップと、
    前記検索による検索結果である見出し語に対応する情報を出力するステップとを実行させる、プログラム。
  11. 請求項10に記載のプログラムを記録した、コンピュータ読み取り可能な記録媒体。
JP2014198363A 2014-09-29 2014-09-29 検索装置、検索方法、プログラム、および記録媒体 Active JP6355501B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014198363A JP6355501B2 (ja) 2014-09-29 2014-09-29 検索装置、検索方法、プログラム、および記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014198363A JP6355501B2 (ja) 2014-09-29 2014-09-29 検索装置、検索方法、プログラム、および記録媒体

Publications (2)

Publication Number Publication Date
JP2016071495A true JP2016071495A (ja) 2016-05-09
JP6355501B2 JP6355501B2 (ja) 2018-07-11

Family

ID=55866902

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014198363A Active JP6355501B2 (ja) 2014-09-29 2014-09-29 検索装置、検索方法、プログラム、および記録媒体

Country Status (1)

Country Link
JP (1) JP6355501B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018049308A (ja) * 2016-09-20 2018-03-29 カシオ計算機株式会社 サーバ装置、計算方法およびプログラム
WO2023187862A1 (ja) * 2022-03-28 2023-10-05 twelS株式会社 検索サーバー、検索システム、及び検索プログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5843050A (ja) * 1981-09-08 1983-03-12 Casio Comput Co Ltd 電子公式辞典
JP2003141091A (ja) * 2001-11-05 2003-05-16 Casio Comput Co Ltd 演算処理装置、およびプログラム
WO2007105759A1 (ja) * 2006-03-15 2007-09-20 Osaka Industrial Promotion Organization 数式記述構造化言語オブジェクト検索システムおよび検索方法
JP2012203728A (ja) * 2011-03-25 2012-10-22 Casio Comput Co Ltd 情報検索装置およびプログラム
JP2012242887A (ja) * 2011-05-16 2012-12-10 Casio Comput Co Ltd 数学公式学習装置およびプログラム
US20130226562A1 (en) * 2010-11-03 2013-08-29 Eqsquest Ltd System and method for searching functions having symbols

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5843050A (ja) * 1981-09-08 1983-03-12 Casio Comput Co Ltd 電子公式辞典
JP2003141091A (ja) * 2001-11-05 2003-05-16 Casio Comput Co Ltd 演算処理装置、およびプログラム
WO2007105759A1 (ja) * 2006-03-15 2007-09-20 Osaka Industrial Promotion Organization 数式記述構造化言語オブジェクト検索システムおよび検索方法
US20130226562A1 (en) * 2010-11-03 2013-08-29 Eqsquest Ltd System and method for searching functions having symbols
JP2012203728A (ja) * 2011-03-25 2012-10-22 Casio Comput Co Ltd 情報検索装置およびプログラム
JP2012242887A (ja) * 2011-05-16 2012-12-10 Casio Comput Co Ltd 数学公式学習装置およびプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018049308A (ja) * 2016-09-20 2018-03-29 カシオ計算機株式会社 サーバ装置、計算方法およびプログラム
WO2023187862A1 (ja) * 2022-03-28 2023-10-05 twelS株式会社 検索サーバー、検索システム、及び検索プログラム
JP7371989B1 (ja) * 2022-03-28 2023-10-31 twelS株式会社 検索サーバー、検索システム、及び検索プログラム

Also Published As

Publication number Publication date
JP6355501B2 (ja) 2018-07-11

Similar Documents

Publication Publication Date Title
US10929603B2 (en) Context-based text auto completion
US9262399B2 (en) Electronic device, character conversion method, and storage medium
JP6506489B1 (ja) 特許評価判定方法、特許評価判定装置、および特許評価判定プログラム
JP6355501B2 (ja) 検索装置、検索方法、プログラム、および記録媒体
CN107329964A (zh) 一种文本处理方法及装置
JP2015158833A (ja) 情報処理装置、方法及びプログラム
WO2008018287A1 (fr) dispositif de recherche et dispositif de génération de base de données de recherche
JP2014010590A (ja) 入力支援装置及び入力支援プログラム
JP2013084149A (ja) 辞書機能を備えた電子機器、複合語検索方法、及びプログラム
JP5703244B2 (ja) トレース支援装置、トレース支援システム、トレース支援方法、およびトレース支援プログラム
JP2012226697A (ja) Wbs作成システムおよびwbs作成方法
CN112328096A (zh) 候选词显示方法、装置和电子设备
WO2019225560A1 (ja) 検索ワードサジェスト装置、固有表現情報の作成方法、および、固有表現情報の作成プログラム
JP5428622B2 (ja) 電子機器及びプログラム
JP2008257505A (ja) 辞書機能を備えた電子装置および電子辞書プログラム
JP5794073B2 (ja) 情報表示装置及び情報表示プログラム
JP2014178953A (ja) 文字入力用のプログラムおよび文字入力装置
JP7327451B2 (ja) 入力支援装置、入力支援システム、入力支援方法及びプログラム
JP6447068B2 (ja) 情報処理装置、情報表示方法及びプログラム
JP7106479B2 (ja) 電子機器、文字入力方法およびプログラム
JP2013114528A (ja) 例文表示装置及びプログラム
JP4770288B2 (ja) 情報表示制御装置および情報表示制御プログラム
JP6349705B2 (ja) 語学学習装置、表示方法、およびプログラム
JP5338482B2 (ja) 漢文例文検索装置およびプログラム
JP5968186B2 (ja) プログラム作成支援装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170323

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180403

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180522

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180612

R150 Certificate of patent or registration of utility model

Ref document number: 6355501

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150