(57)【要約】【課題】所望された表だけを検索できる表検索装置を提供する。【解決手段】表が記憶される表記憶部１０４と、記憶された表を基に該表中の各データの型を示す型情報からなる構造表を生成する構造表生成部１０５と、生成された構造表が記憶される構造表記憶部１０６と、記憶された構造表に適用される検索の条件を生成する条件生成部１０７と、生成された検索の条件が記憶される条件記憶部１０８と、記憶された構造表が記憶された検索の条件を満たすか否かを判定する条件判定部１１０と、検索の条件を満たすと判定された構造表の基にされた表を表示させる表示制御部１１２とを備えることを特徴とする表検索装置１を設ける。【選択図】図１
2007128159.tif 000002
【特許請求の範囲】
【請求項１】
表が記憶される表記憶部と、記憶された表を基に該表中の各データの型を示す型情報からなる構造表を生成する構造表生成部と、生成された構造表が記憶される構造表記憶部と、記憶された構造表に適用される検索の条件を生成する条件生成部と、生成された検索の条件が記憶される条件記憶部と、記憶された構造表が記憶された検索の条件を満たすか否かを判定する条件判定部と、検索の条件を満たすと判定された構造表の基にされた表を表示させる表示制御部とを備えることを特徴とする表検索装置。
【請求項２】
検索の条件を緩和させる緩和条件が記憶される緩和条件記憶部を備え、条件判定部は、記憶された緩和条件により検索の条件を緩和させることを特徴とする請求項１記載の表検索装置。
【請求項３】
構造表生成部は、主記憶装置に設けた行カウンタおよび列カウンタの初期化と、表記憶部の当該両カウンタが示す領域のデータを読み出すとともに当該データの形態素解析により得られた当該データの型を示す型情報を構造表記憶部の当該両カウンタが示す領域に記憶させて列カウンタを加算することを列カウンタが列数より大きくなるまで行う処理とを行い、
列カウンタが列数より大きくなったことにより行カウンタを加算することおよび列カウンタの初期化と、表記憶部の当該両カウンタが示す領域のデータを読み出すとともに当該データの形態素解析により得られた当該データの型を示す型情報を構造表記憶部の当該両カウンタが示す領域に記憶させて列カウンタを加算することを列カウンタが列数より大きくなるまで行う処理とを、行カウンタが列数より大きくなるまで行う
ことを特徴とする請求項１または２記載の表検索装置。
【請求項４】
記憶される表を含むコンテンツから表を抽出する表抽出部を備え、
該表抽出部は、主記憶装置に設けた行カウンタおよび列カウンタの初期化と、コンテンツ内の未処理かつ先頭のデータを読み出すとともに該データを表記憶部の当該両カウンタが示す領域に記憶させて列カウンタを加算することを改行を示す情報があるまで行う処理とを行い、
当該改行を示す情報により行カウンタを加算することおよび列カウンタの初期化と、コンテンツ内の未処理かつ先頭のデータを読み出すとともに該データを表記憶部の当該両カウンタが示す領域に記憶させて列カウンタを加算することを改行を示す情報があるまで行う処理とを１以上行い、
当該改行を示す情報により行カウンタを加算することおよび列カウンタの初期化と、コンテンツ内の未処理かつ先頭のデータを読み出すとともに該データを表記憶部の当該両カウンタが示す領域に記憶させることを表の終わりを示す情報があるまで行う処理とを１以上行う
ことを特徴とする請求項１ないし２のいずれかに記載の表検索装置。
【請求項５】
同一の検索の条件を満たすと判定された構造表の基にされた表同士を合成する表合成部を備える
ことを特徴とする請求項１ないし４のいずれかに記載の表検索装置。
【請求項６】
表が記憶される表記憶部と、記憶された表を基に該表中の各データの型を示す型情報からなる構造表を生成する構造表生成部と、生成された構造表が記憶される構造表記憶部と、記憶された構造表に適用される検索の条件を生成する条件生成部と、生成された検索の条件が記憶される条件記憶部と、記憶された構造表が記憶された検索の条件を満たすか否かを判定する条件判定部と、検索の条件を満たすと判定された構造表の基にされた表を表示させる表示制御部とを備える表検索装置の構造表生成部が、記憶された表を基に該表中の各データの型を示す型情報からなる構造表を生成して構造表記憶部に記憶させ、
条件生成部が、記憶された構造表に適用される検索の条件を生成して条件記憶部に記憶させ、
条件判定部が、記憶された構造表が記憶された検索の条件を満たすか否かを判定し、
表示制御部が、検索の条件を満たすと判定された構造表の基にされた表を表示させる
ことを特徴とする表検索方法。
【請求項７】
表検索装置が、検索の条件を緩和させる緩和条件が記憶される緩和条件記憶部を備え、条件判定部は、記憶された緩和条件により検索の条件を緩和させることを特徴とする請求項６記載の表検索方法。
【請求項８】
構造表生成部は、主記憶装置に設けた行カウンタおよび列カウンタの初期化と、表記憶部の当該両カウンタが示す領域のデータを読み出すとともに当該データの形態素解析により得られた当該データの型を示す型情報を構造表記憶部の当該両カウンタが示す領域に記憶させて列カウンタを加算することを列カウンタが列数より大きくなるまで行う処理とを行い、
列カウンタが列数より大きくなったことにより行カウンタを加算することおよび列カウンタの初期化と、表記憶部の当該両カウンタが示す領域のデータを読み出すとともに当該データの形態素解析により得られた当該データの型を示す型情報を構造表記憶部の当該両カウンタが示す領域に記憶させて列カウンタを加算することを列カウンタが列数より大きくなるまで行う処理とを、行カウンタが列数より大きくなるまで行う
ことを特徴とする請求項６または７記載の表検索方法。
【請求項９】
表検索装置が、記憶される表を含むコンテンツから表を抽出する表抽出部を備え、
該表抽出部は、主記憶装置に設けた行カウンタおよび列カウンタの初期化と、コンテンツ内の未処理かつ先頭のデータを読み出すとともに該データを表記憶部の当該両カウンタが示す領域に記憶させて列カウンタを加算することを改行を示す情報があるまで行う処理とを行い、
当該改行を示す情報により行カウンタを加算することおよび列カウンタの初期化と、コンテンツ内の未処理かつ先頭のデータを読み出すとともに該データを表記憶部の当該両カウンタが示す領域に記憶させて列カウンタを加算することを改行を示す情報があるまで行う処理とを１以上行い、
当該改行を示す情報により行カウンタを加算することおよび列カウンタの初期化と、コンテンツ内の未処理かつ先頭のデータを読み出すとともに該データを表記憶部の当該両カウンタが示す領域に記憶させることを表の終わりを示す情報があるまで行う処理とを１以上行う
ことを特徴とする請求項６ないし８のいずれかに記載の表検索方法。
【請求項１０】
表検索装置が備える表合成部が、同一の検索の条件を満たすと判定された構造表の基にされた表同士を合成する
ことを特徴とする請求項６ないし９のいずれかに記載の表検索方法。
【請求項１１】
請求項１ないし５のいずれかに記載の表検索装置としてコンピュータを機能させるコンピュータプログラム。
【請求項１２】
請求項１１記載のコンピュータプログラムが記録されたコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所望された表だけを検索できる表検索装置および方法に関するものである。
【背景技術】
【０００２】
従来において、株価表を見たいユーザの操作により、コンピュータが株価表を表示させる場合、先ず、インターネットに接続された検索装置に対し、操作で入力された文字列「株価表」を送信する。検索装置は予め蓄積しておいたｈｔｍｌデータから文字列「株価表」を含むものを検索し、そのＵＲＬと表題を送信してくるので、コンピュータはこれらを表示させ、そのＵＲＬや表題が選択されると、該当のｈｔｍｌデータが送信されるので、これを表示させる。
【非特許文献１】"Google",［平成１７年５月２４日検索］、インターネット＜URL：http://www.google.com/webhp?hl=ja＞
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来の方法では、証券会社の広告などといった、実際には株価表を含まないｈｔｍｌデータのＵＲＬなども送信され表示されるので、このＵＲＬなどが選択されると、実際には株価表を含まないｈｔｍｌデータが送信され表示されてしまう。
【０００４】
さらに詳しく説明すると、従来の方法では、文字列だけでなく、ｈｔｍｌデータの中の表を記述するために使われる＜ｔａｂｌｅ＞タグを指定して、検索を行うことができるのだが、この検索であっても、実際には、所望の表が得られないことがある。
【０００５】
例えば、茅場町で販売中の不動産についての表（不動産比較表）、つまり、「所在地」、「物件名」、「価格」、「間取り」、「専有面積」、「築年月」などを含む行または列からなる表を検索すべく、文字列「茅場町」、「価格」で使用されるであろう文字列「万円」を入力し、＜ｔａｂｌｅ＞タグを指定すると、例えば、図１６のような表示がなされる。
【０００６】
これは、茅場町にある企業の企業情報を含むｈｔｍｌデータを表示したものであり、表示された理由は、このｈｔｍｌデータの中に、「企業名」、「住所」、「代表者名」、「資本金」などを含む行または列からなる表に使われた＜ｔａｂｌｅ＞タグと、「住所」などに使われた文字列「茅場町」と、「資本金」などに使われた文字列「万円」が含まれているからと考えられる。
【０００７】
また、同じく、文字列「茅場町」、文字列「万円」を入力し、＜ｔａｂｌｅ＞タグを指定すると、例えば、図１７のような表示がなされる。
【０００８】
これは、いわゆる電子掲示板である。実際は表には見えない書き込みエリアに、実は＜ｔａｂｌｅ＞タグが使用されており、書き込み内容に文字列「茅場町」、文字列「万円」が含まれたいたことが、表示された理由と考えられる。
【０００９】
このように、＜ｔａｂｌｅ＞タグを指定したとしても、実際には所望された表が得られないことが多いのである。
【００１０】
本発明は、上記の課題に鑑みてなされたものであり、その目的とするところは、所望された表だけを検索できる表検索装置を提供することにある。
【課題を解決するための手段】
【００１１】
上記の課題を解決するために、請求項１の本発明は、表が記憶される表記憶部と、記憶された表を基に該表中の各データの型を示す型情報からなる構造表を生成する構造表生成部と、生成された構造表が記憶される構造表記憶部と、記憶された構造表に適用される検索の条件を生成する条件生成部と、生成された検索の条件が記憶される条件記憶部と、記憶された構造表が記憶された検索の条件を満たすか否かを判定する条件判定部と、検索の条件を満たすと判定された構造表の基にされた表を表示させる表示制御部とを備えることを特徴とする表検索装置をもって解決手段とする。
【００１２】
請求項２の本発明は、検索の条件を緩和させる緩和条件が記憶される緩和条件記憶部を備え、条件判定部は、記憶された緩和条件により検索の条件を緩和させることを特徴とする請求項１記載の表検索装置をもって解決手段とする。
【００１３】
請求項３の本発明は、構造表生成部は、主記憶装置に設けた行カウンタおよび列カウンタの初期化と、表記憶部の当該両カウンタが示す領域のデータを読み出すとともに当該データの形態素解析により得られた当該データの型を示す型情報を構造表記憶部の当該両カウンタが示す領域に記憶させて列カウンタを加算することを列カウンタが列数より大きくなるまで行う処理とを行い、列カウンタが列数より大きくなったことにより行カウンタを加算することおよび列カウンタの初期化と、表記憶部の当該両カウンタが示す領域のデータを読み出すとともに当該データの形態素解析により得られた当該データの型を示す型情報を構造表記憶部の当該両カウンタが示す領域に記憶させて列カウンタを加算することを列カウンタが列数より大きくなるまで行う処理とを、行カウンタが列数より大きくなるまで行うことを特徴とする請求項１または２記載の表検索装置をもって解決手段とする。    請求項４の本発明は、記憶される表を含むコンテンツから表を抽出する表抽出部を備え、該表抽出部は、主記憶装置に設けた行カウンタおよび列カウンタの初期化と、コンテンツ内の未処理かつ先頭のデータを読み出すとともに該データを表記憶部の当該両カウンタが示す領域に記憶させて列カウンタを加算することを改行を示す情報があるまで行う処理とを行い、当該改行を示す情報により行カウンタを加算することおよび列カウンタの初期化と、コンテンツ内の未処理かつ先頭のデータを読み出すとともに該データを表記憶部の当該両カウンタが示す領域に記憶させて列カウンタを加算することを改行を示す情報があるまで行う処理とを１以上行い、当該改行を示す情報により行カウンタを加算することおよび列カウンタの初期化と、コンテンツ内の未処理かつ先頭のデータを読み出すとともに該データを表記憶部の当該両カウンタが示す領域に記憶させることを表の終わりを示す情報があるまで行う処理とを１以上行うことを特徴とする請求項１ないし２のいずれかに記載の表検索装置をもって解決手段とする。
【００１４】
請求項５の本発明は、同一の検索の条件を満たすと判定された構造表の基にされた表同士を合成する表合成部を備えることを特徴とする請求項１ないし４のいずれかに記載の表検索装置をもって解決手段とする。
【００１５】
請求項６の本発明は、表が記憶される表記憶部と、記憶された表を基に該表中の各データの型を示す型情報からなる構造表を生成する構造表生成部と、生成された構造表が記憶される構造表記憶部と、記憶された構造表に適用される検索の条件を生成する条件生成部と、生成された検索の条件が記憶される条件記憶部と、記憶された構造表が記憶された検索の条件を満たすか否かを判定する条件判定部と、検索の条件を満たすと判定された構造表の基にされた表を表示させる表示制御部とを備える表検索装置の構造表生成部が、記憶された表を基に該表中の各データの型を示す型情報からなる構造表を生成して構造表記憶部に記憶させ、条件生成部が、記憶された構造表に適用される検索の条件を生成して条件記憶部に記憶させ、条件判定部が、記憶された構造表が記憶された検索の条件を満たすか否かを判定し、表示制御部が、検索の条件を満たすと判定された構造表の基にされた表を表示させることを特徴とする表検索方法をもって解決手段とする。
【００１６】
請求項７の本発明は、表検索装置が、検索の条件を緩和させる緩和条件が記憶される緩和条件記憶部を備え、条件判定部は、記憶された緩和条件により検索の条件を緩和させることを特徴とする請求項６記載の表検索方法をもって解決手段とする。
【００１７】
請求項８の本発明は、構造表生成部は、主記憶装置に設けた行カウンタおよび列カウンタの初期化と、表記憶部の当該両カウンタが示す領域のデータを読み出すとともに当該データの形態素解析により得られた当該データの型を示す型情報を構造表記憶部の当該両カウンタが示す領域に記憶させて列カウンタを加算することを列カウンタが列数より大きくなるまで行う処理とを行い、列カウンタが列数より大きくなったことにより行カウンタを加算することおよび列カウンタの初期化と、表記憶部の当該両カウンタが示す領域のデータを読み出すとともに当該データの形態素解析により得られた当該データの型を示す型情報を構造表記憶部の当該両カウンタが示す領域に記憶させて列カウンタを加算することを列カウンタが列数より大きくなるまで行う処理とを、行カウンタが列数より大きくなるまで行うことを特徴とする請求項６または７記載の表検索方法をもって解決手段とする。    請求項９の本発明は、表検索装置が、記憶される表を含むコンテンツから表を抽出する表抽出部を備え、該表抽出部は、主記憶装置に設けた行カウンタおよび列カウンタの初期化と、コンテンツ内の未処理かつ先頭のデータを読み出すとともに該データを表記憶部の当該両カウンタが示す領域に記憶させて列カウンタを加算することを改行を示す情報があるまで行う処理とを行い、当該改行を示す情報により行カウンタを加算することおよび列カウンタの初期化と、コンテンツ内の未処理かつ先頭のデータを読み出すとともに該データを表記憶部の当該両カウンタが示す領域に記憶させて列カウンタを加算することを改行を示す情報があるまで行う処理とを１以上行い、当該改行を示す情報により行カウンタを加算することおよび列カウンタの初期化と、コンテンツ内の未処理かつ先頭のデータを読み出すとともに該データを表記憶部の当該両カウンタが示す領域に記憶させることを表の終わりを示す情報があるまで行う処理とを１以上行うことを特徴とする請求項６ないし８のいずれかに記載の表検索方法をもって解決手段とする。
【００１８】
請求項１０の本発明は、表検索装置が備える表合成部が、同一の検索の条件を満たすと判定された構造表の基にされた表同士を合成することを特徴とする請求項６ないし９のいずれかに記載の表検索方法をもって解決手段とする。
【００１９】
請求項１１の本発明は、請求項１ないし５のいずれかに記載の表検索装置としてコンピュータを機能させるコンピュータプログラムをもって解決手段とする。
【００２０】
請求項１２の本発明は、請求項１１記載のコンピュータプログラムが記録されたコンピュータ読み取り可能な記録媒体をもって解決手段とする。
【発明の効果】
【００２１】
本発明によれば、表が記憶される表記憶部と、記憶された表を基に該表中の各データの型を示す型情報からなる構造表を生成する構造表生成部と、生成された構造表が記憶される構造表記憶部と、記憶された構造表に適用される検索の条件を生成する条件生成部と、生成された検索の条件が記憶される条件記憶部と、記憶された構造表が記憶された検索の条件を満たすか否かを判定する条件判定部と、検索の条件を満たすと判定された構造表の基にされた表を表示させる表示制御部とを備えることで、所望された表だけを検索することができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施の形態に係る表検索装置および方法を図面を参照して説明する。
【００２３】
[第１の実施の形態]
図１は、第１の実施の形態に係る表検索装置１の構成を示す図である。
【００２４】
表検索装置１は、キーボードやマウスなどの入力装置１ａと、液晶ディスプレイなどの表示装置１ｂとに接続され、半導体メモリなどの主記憶装置または主記憶装置と磁気記憶装置などの外部記憶装置ならびにＣＰＵなどの演算装置を備えるコンピュータで構成され、インターネット２に接続される。なお、冗長化防止のため、説明の文章から入力装置１ａと表示装置１ｂを適宜省略する。
【００２５】
表検索装置１は、インターネット２からコンテンツを取得するコンテンツ取得部１０１と、表検索装置１が構成されたコンピュータの外部記憶装置からコンテンツを取得するコンテンツ取得部１０１Ｂと、取得されたコンテンツが記憶されるコンテンツ記憶部１０２と、コンテンツから表を抽出する表抽出部１０３と、抽出された表が記憶される表記憶部１０４と、表の各データの型を示す型情報からなる構造表を生成する構造表生成部１０５と、生成された構造表が記憶される構造表記憶部１０６と、構造表に適用される検索の条件を生成する条件生成部１０７と、検索の条件が記憶される条件記憶部１０８と、検索の条件を緩和させる緩和条件が記憶される緩和条件記憶部１０９と、構造表が検索の条件を満たすか否かを判定する条件判定部１１０と、条件を満たす構造表の生成の元になったコンテンツのＵＲＬが記憶されるＵＲＬ記憶部１１１と、記憶されたＵＲＬや該ＵＲＬのコンテンツを表示させる表示制御部１１２とを備える。
【００２６】
（第１の実施の形態の動作）
次に、表検索装置１が、図２に示すような株価表を検索して表示させるときの動作を説明する。
【００２７】
図３は、第１の実施の形態のフローチャートである。先ず、条件生成部１０７が、検索の条件を生成する（Ｓ１）。ここでは、先ず、条件生成部１０７が、例えば、図４に示す画面を表示させる。表記「行目」に対応づけて設けられた入力ボックス１００１Ｒに「１」が入力され、表記「文字列」に対応するチェックボックス１００２Ａがチェックされ、所定の操作が行われると、「１行目は文字列から構成される」ことを示す条件を条件記憶部１０８に記憶させる。
【００２８】
次に、同画面を再び表示させ、表記「列目」に対応づけて設けられた入力ボックス１００１Ｃに「１」が入力され、チェックボックス１００２Ａがチェックされ、所定の操作が行われると、「１列目は文字列から構成される」ことを示す条件を条件記憶部１０８に記憶させる。
【００２９】
次に、同画面を再び表示させ、入力ボックス１００１Ｃに「２」が入力され、表記「数値」に対応するチェックボックス１００１Ｂがチェックされ、表記「を含む」に対応づけて設けられた入力ボックス１００３に「円」が入力され、処理の操作が行われると、「２列目は数値と文字「円」の組から構成される」ことを示す条件を条件記憶部１０８に記憶させる。
【００３０】
３列目、４列目についても同様の操作を行えば、「３列目は数値と文字「円」の組から構成される」ことを示す条件ならびに「４列目は数値と文字「円」の組から構成される」ことを示す条件が条件記憶部１０８に記憶される。
【００３１】
次に、同画面を再び表示させ、入力ボックス１００１Ｃに「５」が入力され、チェックボックス１００２Ｂがチェックされ、入力ボックス１００３に「株」が入力され、処理の操作が行われると、「５列目は数値と文字「株」の組から構成される」ことを示す条件を条件記憶部１０８に記憶させる。
【００３２】
次に、入力ボックス１００１Ｃに「６」が入力され、表記「任意」に対応するチェックボックス１００２Ｃがチェックされ、処理の操作が行われると、「６列目は任意の情報から構成される」ことを示す条件を条件記憶部１０８に記憶させる。
【００３３】
７列目、８列目および９列目についても同様の操作を行えば、「７列目は任意の情報から構成される」ことを示す条件、「８列目は任意の情報から構成される」ことを示す条件ならびに「９列目は任意の情報から構成される」ことを示す条件が条件記憶部１０８に記憶される。
【００３４】
また、同様な対話式の処理を行って、「１以上の行からなるグループの次に同じ型のグループが存在する場合または当該形態が行方向において継続的に見られる場合は、それらグループの中の１つのグループにおける最終行を表の最終行としてもよい」ことを示す条件が条件記憶部１０８に記憶される。
【００３５】
図３に戻り、次に、条件生成部１０７は、緩和条件を生成する（Ｓ３）。ここでは、条件生成部１０７が、図５に示す画面を表示させる。表記「列はグループ」に対応づけて設けられた入力ボックス２００１に「２−５」が入力され、表記「先頭列は」と表記「列以降」に対応づけて設けられた入力ボックス２００２に「２」が入力され、所定の操作が行われると、条件生成部１０７は、「２列目から５列目まではグループであり、そのグループの先頭列は２列目でなくても２列目以降であればどこでもよい」ことを示す緩和条件を緩和条件記憶部１０９に記憶させる。
【００３６】
図３に戻り、次に、コンテンツ取得部１０１がｈｔｍｌデータを取得する（Ｓ５）。ここでは、先ず、コンテンツ取得部１０１は、図６に示す画面を表示させる。表記「を含むコンテンツを検索します」に対応づけて設けられた入力ボックス３００１に「株価表」が入力され、所定の操作が行われると、コンテンツ取得部１０１は、インターネット２から文字列「株価表」を含む多数のｈｔｍｌデータを取得してコンテンツ記憶部１０２に記憶させる。なお、コンテンツ取得部１０１Ｂが外部記憶装置からコンテンツを取得するときも同様である。この場合のコンテンツとは、例えば、ｈｔｍｌデータや電子メールのデータや表計算アプリケーションのデータなどである。
【００３７】
図３に戻り、次に、表抽出部１０３が、記憶された各ｈｔｍｌデータから表を抽出する（Ｓ７）。
【００３８】
図７は、１つのｈｔｍｌデータから表を抽出するときのフローチャートであり、図８は、ｈｔｍｌデータの構造を例示する図である。
【００３９】
先ず、当該ｈｔｍｌデータ用の領域（表）の位置を表記憶部１０４において決めた上で、主記憶装置に行カウンタと列カウンタを設け、それぞれに１を設定する（Ｓ１０１）。そしてｈｔｍｌデータ中の行が１つづつが処理されていくことになる。
【００４０】
先ず、未処理の先頭行を読み込み（Ｓ１０３）、そこに表開始タグが有るか否かを判定し（Ｓ１０５）、ＮＯと判定された場合は、Ｓ１０３へ戻る。
【００４１】
一方、Ｓ１０５でＹＥＳと判定された場合は、未処理の先頭行を読み込み（Ｓ１０７）、そこに表終了タグが有るか否かを判定し（Ｓ１０９）、ＹＥＳと判定された場合は、図７に示すフローチャートの処理を終える。
【００４２】
一方、Ｓ１０９でＮＯと判定された場合は、データ開始タグとデータ終了タグで囲まれたデータを、表記憶部１０４での当該ｈｔｍｌデータ用の領域（表）における行カウンタと列カウンタとが示す領域（セル）に記憶させ（Ｓ１１１）、列カウンタに１を加算する（Ｓ１１３）。
【００４３】
次に、読み込んだ行に改行タグが有るか否かを判定し（Ｓ１１５）、ＮＯと判定された場合は、Ｓ１０７へ戻る。
【００４４】
一方、Ｓ１１５でＹＥＳと判定された場合は、行カウンタに１を加算し（Ｓ１１７）、列カウンタを１に戻し（Ｓ１１９）、Ｓ１０７へ戻る。
【００４５】
こうした処理を各ｈｔｍｌデータについて行うことで、表記憶部１０４に例えば多数の表が記憶される（図３：Ｓ７）。
【００４６】
次に、構造表生成部１０５が、記憶された各表のデータの型を示す型情報からなる構造表を生成する（Ｓ９）。
【００４７】
図９は、１つの表から構造表を生成するときのフローチャートである。
【００４８】
先ず、表に対応する領域（構造表）の位置を構造表記憶部１０６において決めた上で、表の行数と列数とをカウントする（Ｓ２０１）。
【００４９】
次に、主記憶装置に行カウンタと列カウンタを設け、それぞれに１を設定する（Ｓ２０３）。
【００５０】
次に、表における行カウンタと列カウンタとが示す領域（セル）からデータを読み出し（Ｓ２０５）、このデータを形態素解析により解析し、これにより得られた、当該データの型を示す型情報を構造表における行カウンタと列カウンタとが示す領域（セル）に記憶させる（Ｓ２０７）。
【００５１】
続いて、列カウンタに１を加算し（Ｓ２０９）、列カウンタが列数より大きいか否かを判定する（Ｓ２１１）。
【００５２】
ここでＮＯと判定された場合は、Ｓ２０５に戻る。
【００５３】
一方、Ｓ２１１でＹＥＳと判定された場合は、行カウンタに１を加算し（Ｓ２１３）、行カウンタが行数より大きいか否かを判定し（Ｓ２１５）、ＮＯと判定された場合は、列カウンタを１に戻し（Ｓ２１７）、Ｓ２０５に戻る。一方、ＹＥＳと判定された場合は、図９に示すフローチャートの処理を終える。
【００５４】
こうした処理を各表について行うことで、対応する構造表が構造表記憶部１０６に記憶される（図３：Ｓ９）。
【００５５】
次に、条件判定部１１０が、各構造表が検索の条件を満たすか否かを判定する（Ｓ１１）。
【００５６】
図１０は、１つの構造表が検索の条件を満たすか否かを判定するときのフローチャートである。
【００５７】
先ず、緩和条件が記憶されているか否かを判定し（Ｓ３０１）、ＹＥＳと判定された場合は、記憶された緩和条件に基づいて、新たな構造表を生成する（Ｓ３０３）。
【００５８】
具体的には、例えば、「２列目から５列目まではグループであり、そのグループの先頭列は２列以降であればどこでもよい」ことを示す緩和条件に基づいて、構造表の２列目から５列目と６列目を入れ替えた構造表などを新たに生成する。
【００５９】
こうして緩和条件を満たす構造表が可能な限り多く生成され、その１つづつが処理されていくことになる。なお、構造表の記憶においては、例えば、共通部分を同一箇所に記憶させることで記憶領域が節約される。
【００６０】
未処理の構造表の処理では、記憶された検索の条件を満たすか否かを判定する（Ｓ３０５）。
【００６１】
ステップＳ３０５では、未処理の構造表の行や列に含まれる全セルが条件を満たすか否かを判定することがあるが、条件を満たさないセル数を全セル数で除して得られる率のしきい値を予め定めておき、実際の率を計算し、それがしきい値以下ならば、その行や列が条件を満たすこととしてもよい。
【００６２】
ステップＳ３０５で、ＹＥＳと判定された場合は、該構造表を生成する元となった表を含むｈｔｍｌデータのＵＲＬもしくは外部記憶装置内における記憶場所（以下、ＵＲＬと総称する）がＵＲＬ記憶部１１１に記憶されていなければ、そのＵＲＬをＵＲＬ記憶部１１１に記憶させ（Ｓ３０７）、図１０に示すフローチャートの処理を終える。
【００６３】
一方、Ｓ３０５でＮＯと判定された場合は、未処理の構造表があるか否かを判定し（Ｓ３０９）、ＹＥＳと判定された場合は、Ｓ３０５へ戻り、ＮＯと判定された場合は、図１０に示すフローチャートの処理を終える。
【００６４】
図３に戻り、次に、表示制御部１１２が、ＵＲＬ記憶部１１１に記憶されたＵＲＬを全て表示させる（Ｓ１３）。そして、表示されたＵＲＬの１つが選択されると、表示制御部１１２は、そのＵＲＬのｈｔｍｌデータをコンテンツ記憶部１０２から読み出して表示させる（Ｓ１５）。これにより、図２に示すような株価表が表示されることとなる。
【００６５】
一方、図１０のＳ３０７でＵＲＬをＵＲＬ記憶部１１１に記憶させないまま、Ｓ３０９でＮＯと判定され続けたｈｔｍｌデータに含まれる、図１１に示すような株価表の表示を抑制することができる。
【００６６】
以上説明したように、第１の実施の形態によれば、表が記憶される表記憶部１０４と、記憶された表を基に該表中の各データの型を示す型情報からなる構造表を生成する構造表生成部１０５と、生成された構造表が記憶される構造表記憶部１０６と、記憶された構造表に適用される検索の条件を生成する条件生成部１０７と、生成された検索の条件が記憶される条件記憶部１０８と、記憶された構造表が記憶された検索の条件を満たすか否かを判定する条件判定部１１０と、検索の条件を満たすと判定された構造表の基にされた表を表示させる表示制御部１１２とを備えることを特徴とする表検索装置１を設け、構造表生成部１０５は、主記憶装置に設けた行カウンタおよび列カウンタの初期化（Ｓ２０１）と、表記憶部１０４の当該両カウンタが示す領域のデータを読み出すとともに当該データの形態素解析により得られた当該データの型を示す型情報を構造表記憶部の当該両カウンタが示す領域に記憶させて列カウンタを加算することを列カウンタが列数より大きくなるまで行う処理（Ｓ２０５〜Ｓ２１１）とを行い、列カウンタが列数より大きくなったことにより行カウンタを加算することおよび列カウンタの初期化と、表記憶部１０４の当該両カウンタが示す領域のデータを読み出すとともに当該データの形態素解析により得られた当該データの型を示す型情報を構造表記憶部の当該両カウンタが示す領域に記憶させて列カウンタを加算することを列カウンタが列数より大きくなるまで行う処理とを、行カウンタが列数より大きくなるまで行う（Ｓ２１３〜Ｓ２１７〜Ｓ２０５〜Ｓ２１３）ことで、所望された表だけを検索することができる。
【００６７】
また、検索の条件を緩和させる緩和条件が記憶される緩和条件記憶部１０９を備え、条件判定部１１０が、記憶された緩和条件により検索の条件を緩和させることで、所望された表に似ている表をも検索することができる。
【００６８】
また、記憶される表を含むコンテンツから表を抽出する表抽出部１０３を備え、該表抽出部１０３は、主記憶装置に設けた行カウンタおよび列カウンタの初期化（Ｓ１０１）と、コンテンツ内の未処理かつ先頭のデータを読み出すとともに該データを表記憶部の当該両カウンタが示す領域に記憶させて列カウンタを加算することを改行を示す情報があるまで行う処理（Ｓ１０７〜Ｓ１１５）とを行い、当該改行を示す情報により行カウンタを加算することおよび列カウンタの初期化と、コンテンツ内の未処理かつ先頭のデータを読み出すとともに該データを表記憶部の当該両カウンタが示す領域に記憶させて列カウンタを加算することを改行を示す情報があるまで行う処理（Ｓ１１７〜Ｓ１０７〜Ｓ１１５）とを１以上行い、当該改行を示す情報により行カウンタを加算することおよび列カウンタの初期化と、コンテンツ内の未処理かつ先頭のデータを読み出すとともに該データを表記憶部の当該両カウンタが示す領域に記憶させることを表の終わりを示す情報があるまで行う処理（Ｓ１１７〜Ｓ１０７〜１０９）とを１以上行うことで、コンテンツから表が抽出されるので、所望された表をコンテンツから検索することができる。
【００６９】
なお、第１の実施の形態では、列を入れ替えた構造表を緩和条件により生成する（Ｓ３０３）ことで、複数列間での列順序を不問にしたが、以下のようにしてもよい。
【００７０】
例えば、「文字列から構成される列や行」に１、「数値から構成される列や行」に２というように、順位を予め付与しておく。そして、図５のような画面で複数列や複数行をグループ指定させる。そして、元の構造表から、その複数列や複数行がこの順位の通りに並ぶ構造表を生成する。つまり、当該複数列や複数行を順位でソートする。そして、ステップＳ３０５では、その構造表を用いる。
【００７１】
また、上記説明では、表開始タグと表終了タグの間に、表開始タグと表終了タグがある場合、いわゆる「表の入れ子」については言及しなかったが、その場合は、最も内側の表について上記処理を行えばよい。また、内側の表をセルと見なすことで、それを含む表（いわゆる外側の表）について上記処理を行ってもよい。
【００７２】
また、ステップＳ３０５では、例えば、構造表は、あるセルが「数値と文字「円」の組」を含むことを示し、一方、条件は、そのセルが「数値と文字「万円」の組」を含むことを示している場合は、そのセルは条件を満たさないことになるが、以下のようにしてもよい。
【００７３】
例えば、このようなときに条件を満たさないとする動作方法つまり少数の表が検索される動作方法と、このようなときに条件を満たさないとする動作方法つまり多数の表が検索される動作方法とがあることを、事前に画面表示する。あるいは、検索される表の数の違い（粒度の違い）に応じた３以上の動作方法があることを画面表示する。そして、その１つが選択されたら、その動作方法を実行する。なお、その後においても、かかる画面表示を行い、その１つが選択されたら、その動作方法を実行する。これにより、検索された表よりも多い数の表あるいは少ない数の表を次回に検索することができる。
【００７４】
ここで「セルが「数値と文字「円」の組」を含む」というような条件で説明したのは、「セルの型」であり、これはいわゆるプログラミング言語において定義されるような”変数の型”を細分化した概念であって、例えば表計算ソフトにおいて通常組み込まれているような型分類、あるいはXBRL言語において標準化されているような財務諸表の項目分類、また量を表すセルにおいては数値に続く物理単位や貨幣単位の種別毎のいずれを用いることもできる。さらに、本装置利用者が検索条件の設定時に細分化の粒度を選択することも出来る。例えば、”細分化レベル１”を選ぶとプログラミング言語のような”文字列、整数、実数”程度の荒い分類が用いられ、”レベル２”を選ぶと文字列が品詞別、数値が量の概念（重さ、金額等）で分類され、”レベル３”なら固有名詞が人名／社名等また金額はドルと円を区別、”レベル４”ならＸＢＲＬ準拠、といった切り替えを指示できる。この操作と緩和条件の指定を自由に組み合わせることで絞り込みの度合いを異なる観点から調節できる。
【００７５】
また、上記説明では、型情報を構造表のセルに記憶させ（Ｓ２０７）、その構造表やそれと緩和条件とを基に生成した構造表が条件を満たすかを判定した（Ｓ３０５）のだが、以下のようにしてもよい。
【００７６】
例えば、図４のような画面が表示されているときの操作に基づいて、「不動産広告の特徴を持ち、かつ、地名型の列に属するセルの１以上に「横浜」が入っている」という、表の特徴やキーワード（ここでは横浜）を含む条件を条件記憶部１０８に記憶させる。そして、ステップＳ２０７では、型情報とともに、その型情報を有するセル（表のセル）の内容そのものを構造表のセルに記憶させる。そして、ステップＳ３０５では、行や列の型の条件だけでなく、上記のような表の特徴やキーワードを含む条件を満たすか否かを判定する。これにより、表の特徴やキーワードでの絞り込みを行うことができる。
【００７７】
また、Ｓ３０５では、構造表のセルの型情報が、そのセルについての条件を満たしたたときに、そのセルが条件を満たすこととするのだが、構造表の複数のセルの型情報を結合した型情報が、その複数のセルについての条件を結合した条件を満たしたたときに、その複数のセルが条件を満たすこととしてもよい。
【００７８】
さて、これまでは、株価表を検索して表示させるときの動作を説明したが、不動産比較表を表示させるときであっても、その動作は同じであり、例えば、不動産比較表では「所在地」が重要項目であるので、その列（行）は、第１列（行）またはその近くの列（行）であることを条件とすれば、図１６に示したような企業情報の表、つまり重要項目でない「所在地」の列（行）が最後の列（行）またはその近くの列（行）である、企業情報の表を排除することができる。
【００７９】
また、企業情報では企業名が重要項目であるから、企業情報の表での企業名の列（行）は、第１列（行）またはその近くの列（行）であることが多く、そこでの企業名の全てが、例えば、「スーパーマーケット茅場町」のように所在地が含めば、その企業情報の表が検索表示されてしまう可能性はあるが、企業名の全てが所在地を含むことは少なく、よって、かかる企業情報の表も現実的には排除できる。
【００８０】
また、図１７で示したような電子掲示板の書き込みエリアには、任意の文章が書き込まれるので、図４の画面で行うような、列や行での指定を行うことで、このような電子掲示板を排除することができる。
【００８１】
また、図４の画面では、「１行目は任意の地名を含む文字列から構成される」というような条件を入力させてもよく、これにより、「１行目は文字列「茅場町」から構成される」または「１行目は文字列「東陽町」から構成される」といったような条件を入力する場合に比べて容易に入力を行うことができる。
【００８２】
[第２の実施の形態]
図１２は、第２の実施の形態に係る表検索装置１Ａの構成を示す図である。表検索装置１Ａは、表検索装置１に対し、検索された表同士を合成する表合成部１１３を加えたものであり、他の要素と周辺装置は表検索装置１のものと同様なので、これらには同一符号を付して、その個別説明は省略し、表合成部１１３とこれに関連する部分について説明する。
【００８３】
（第２の実施の形態の動作）
次に、表検索装置１Ａが、図２に示したような株価表と格付け表とが合成された、図１３に示すような合成表を表示させるときの動作を説明する。
【００８４】
図１４は、第２の実施の形態のフローチャートである。
【００８５】
先ず、条件生成部１０７が、条件を生成する（Ｓ１）。ここでは、先ず、条件生成部１０７が、例えば、図４に示す画面を表示させる。入力ボックス１００１Ｃに「１」が入力され、チェックボックス１００２Ａがチェックされ、処理の操作が行われると、「１列目は文字列から構成される」ことを示す条件を条件記憶部１０８に記憶させる。
【００８６】
次に、図１５に示す画面を表示させ、表記「合計」と表記「行」に対応づけて設けられた入力ボックス４００１に東証１部上場企業数に１を加えた数Ｎが入力され、所定の操作が行われると、「合計の行数はＮである」ことを示す条件を条件記憶部１０８に記憶させる。東証１部上場企業数に１を加えた数Ｎが入力されるのは、株価表などで企業の情報が記載されるのは２行目以降だからである。
【００８７】
図１４に戻り、次に、コンテンツ取得部１０１がｈｔｍｌデータを取得する（Ｓ５）。  ここでは、先ず、コンテンツ取得部１０１は、図６に示す画面を表示させる。
【００８８】
入力ボックス３００１に「株価表ＯＲ格付け表」が入力され、所定の操作が行われると、コンテンツ取得部１０１は、文字列「株価表」または文字列「格付け表」を含む多数のｈｔｍｌデータをインターネット２から取得してコンテンツ記憶部１０２に記憶させる。文字列「株価表」または文字列「格付け表」を含むｈｔｍｌデータを取得するのは、「ＯＲ」が「または」と解釈されるからである。
【００８９】
図１４に戻り、次に、表抽出部１０３が、第１の実施の形態と同様に、記憶された各ｈｔｍｌデータから表を抽出する（Ｓ７）。
【００９０】
次に、構造表生成部１０５が、第１の実施の形態と同様に、記憶された各表のデータの型を示す型情報からなる構造表を生成する（Ｓ９）。
【００９１】
次に、条件判定部１１０が、第１の実施の形態と同様に、各構造表が条件を満たすか否かを判定する（Ｓ１１）。
【００９２】
次に、表合成部１１３が、ＵＲＬ記憶部１１１にＵＲＬが記憶されたコンテンツの中の表同士を合成する（Ｓ１７）。ここでは、「合計の行数はＮである」ことを示す条件により条件判定を行ったので、列方向に合成された合成表を含むｈｔｍｌデータを生成し、表示させる。これにより、図１２に示したような、株価表と格付け表とが合成された合成表が表示されることとなる。
【００９３】
なお、第２の実施の形態では、列方向に合成された合成表を生成したが、同様にして、行方向に合成された合成表を生成してもよい。
【００９４】
以上説明したように、第２の実施の形態によれば、同一の検索の条件を満たすと判定された構造表の基にされた表同士を合成する表合成部１１３を備えることで、合成された表を机上作業などで得るときよりも早くしかも正確に得ることができる。
【００９５】
なお、各実施の形態では、ｈｔｍｌデータのＵＲＬとともに表題を記憶しておき、表題または表題とＵＲＬを表示させてもよい。
【００９６】
また、これまでの説明では、ｈｔｍｌデータ中の表を検索する場合を説明したが、同様な装置構成で、いわゆる表計算プログラムで作成されたファイル中の表を検索してもよい。
【００９７】
また、表は株価表や格付け表以外の表、例えば、貸借対照表などの財務諸表、テレビ／ラジオ番組表などでもよい。また、検索の条件や緩和条件の内容は表に応じたものとすればよい。
【００９８】
また、図５などで説明したような対話式での検索の条件や緩和条件の生成を行わずに、キーボードなどで検索の条件や緩和条件を直接入力して各記憶部へ記憶させてもよい。また、予めフロッピー（登録商標）ディスクや着脱式のフラッシュメモリに記憶させておいたものを各記憶部へ転送してもよい。
【００９９】
また、緩和条件は、Ｓ３０３（新たな構造表の生成）の際に用いたが、図９のフローチャートでは、Ｓ３０１とＳ３０３を行わずに構造表が検索の条件を満たすか否かの判定を行い、その判定における条件を緩和させるために緩和条件を用いることととしてもよい。  また、表や構造表においては、適宜行や列を並べ替え（ソート）してもよい。逆に並べ替えをしないこととしておき、例えば、「行においては並べ替えしてもよい」ことを示す緩和条件により、行を並べ替えすることとしてもよい。
【０１００】
また、表検索装置１（１Ａ）としてコンピュータを機能させるコンピュータプログラムは、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどのコンピュータ読み取り可能な記録媒体に格納したり、インターネットなどの通信網を介して伝送させて、広く流通させることができる。
【図面の簡単な説明】
【０１０１】
【図１】第１の実施の形態に係る表検索装置１の構成を示す図である。
【図２】表検索装置１が検索した株価表を示す図である。
【図３】第１の実施の形態のフローチャートである。
【図４】検索の条件を生成する際に表示される画面を示す図である。
【図５】緩和条件を生成する際に表示される画面を示す図である。
【図６】コンテンツを取得する際に表示される画面を示す図である。
【図７】ｈｔｍｌデータから表を抽出するときのフローチャートである。
【図８】ｈｔｍｌデータの構造を例示する図である。
【図９】表から構造表を生成するときのフローチャートである。
【図１０】構造表が条件を満たすか否かを判定するときのフローチャートである。
【図１１】表示が抑制される株価表を示す図である。
【図１２】第２の実施の形態に係る表検索装置１Ａの構成を示す図である。
【図１３】表検索装置１Ａが表示させた合成表を示す図である。
【図１４】第２の実施の形態のフローチャートである。
【図１５】検索の条件を生成する際に表示される画面を示す図である。
【図１６】従来の方法で検索されてしまう企業情報の表を示す図である。
【図１７】従来の方法で検索されてしまう電子掲示板を示す図である。
【符号の説明】
【０１０２】
１、１Ａ…表検索装置
１ａ…入力装置
１ｂ…表示装置
２…インターネット
１０１、１０１Ｂ…コンテンツ取得部
１０２…コンテンツ記憶部
１０３…表抽出部
１０４…表記憶部
１０５…構造表生成部
１０６…構造表記憶部
１０７…条件生成部
１０８…条件記憶部
１０９…緩和条件記憶部
１１０…条件判定部
１１１…ＵＲＬ記憶部
１１２…表示制御部
１１３…表合成部
【図１】
2007128159.tif 000003
【図２】
2007128159.tif 000004
【図３】
2007128159.tif 000005
【図４】
2007128159.tif 000006
【図５】
2007128159.tif 000007
【図６】
2007128159.tif 000008
【図７】
2007128159.tif 000009
【図８】
2007128159.tif 000010
【図９】
2007128159.tif 000011
【図１０】
2007128159.tif 000012
【図１１】
2007128159.tif 000013
【図１２】
2007128159.tif 000014
【図１３】
2007128159.tif 000015
【図１４】
2007128159.tif 000016
【図１５】
2007128159.tif 000017
【図１６】
2007128159.tif 000018
【図１７】
2007128159.tif 000019