(57)【要約】【課題】視認性を向上することが可能なリスト表示装置、リスト表示方法及びリスト表示プログラムを提供する。【解決手段】リスト表示装置１０は、複数の行を含むリストの中からいずれかの行である対象行を選択する行選択部１０２と、行選択部１０２によって選択された対象行のデータと他の行のデータとの類似度を算出する類似度算出部１０４と、類似度算出部１０４によって算出された類似度に基づいて、リスト表示画面にリストを表示するリスト表示部１０１と、を備える。【選択図】図１
2018128761.tif 000002
【特許請求の範囲】
【請求項１】
複数の行を含むリストの中からいずれかの行である対象行を選択する行選択部と、
前記対象行のデータと他の行のデータとの類似度を算出する類似度算出部と、
前記類似度に基づいて、リスト表示画面に前記リストを表示するリスト表示部と、
を備える、リスト表示装置。
【請求項２】
前記リスト表示部は、前記類似度が高い行を、前記類似度が低い行よりも優先的に表示する、
請求項１に記載のリスト表示装置。
【請求項３】
前記複数の行のデータに基づいて前記リストをソートするソート部をさらに備え、
前記類似度算出部は、前記ソートされたリストにおける各行の前記類似度を算出する、
請求項１または２に記載のリスト表示装置。
【請求項４】
前記複数の行に含まれるデータは、文字列データであり、
前記類似度は、前記文字列データのうち一致する文字の数である、
請求項１乃至３のいずれか一項に記載のリスト表示装置。
【請求項５】
前記類似度は、前記文字列データのうち先頭から連続して一致する文字の数である、
請求項４に記載のリスト表示装置。
【請求項６】
算出された前記類似度ごとに同じ類似度の行の出現頻度に応じて重み付けを行う出現頻度算出部を、
さらに備える、請求項１乃至５のいずれか一項に記載のリスト表示装置。
【請求項７】
前記リスト表示部は、前記重み付けに応じて同じ類似度の行を表示する、
請求項６に記載のリスト表示装置。
【請求項８】
前記重み付けは、前記リストの行が並ぶ行方向において前記対象行よりも前方または後方となる行の重み付けを含み、
前記リスト表示部は、前記同じ類似度の行の前方または後方の行を優先的に表示する、
請求項７に記載のリスト表示装置。
【請求項９】
複数の行を含むリストの中からいずれかの行である対象行を選択し、
前記選択された行のデータと他の行のデータとの類似度を算出し、
前記類似度に基づいて、リスト表示画面に前記リストを表示する、
リスト表示方法。
【請求項１０】
複数の行を含むリストの中からいずれかの行である対象行を選択し、
前記選択された行のデータと他の行のデータとの類似度を算出し、
前記類似度に基づいて、リスト表示画面に前記リストを表示する、
処理をコンピュータに実行させるためのリスト表示プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リスト表示装置、リスト表示方法及びリスト表示プログラムに関し、特に、複数の行を含むリストを表示するリスト表示装置、リスト表示方法及びリスト表示プログラムに関する。
【背景技術】
【０００２】
現在普及している米マイクロソフト社のウィンドウズ（登録商標）が搭載されたパソコンなどで採用されているように、アプリケーション・ソフトウエアのユーザインタフェースとしてＧＵＩ（Graphical User Interface）が広く利用されている。このようなＧＵＩでは、ウィンドウ画面内に複数の行を含むリストを表形式で表示することができる。そして、表示されたリストの中から所望のデータを見つけ出すために、ユーザがＧＵＩを操作可能となっている。
【０００３】
例えば、表示されたリストの列ヘッダ（項目名もしくはデータ名）をクリックすることでリストの内容をソートする方法が一般的である。また、表示されるリストの行は複数の列（項目もしくはデータ）により構成されることが多く、クリックする列ヘッダを複数選択することで複数のソート条件によるソートも可能である。
【０００４】
関連する技術として、例えば特許文献１が知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−２０１０３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
関連する技術では、上記のように、ウィンドウ画面にリストを表示し、ユーザの操作に応じてソートすることができる。しかし、リストが多数の行で構成されていた場合、ウィンドウ画面に全ての行を表示させることができない。このため、ウィンドウ画面にはリストの一部の行のみを表示し、ユーザがスクロールバーを操作することでリストの行の表示位置を変更する方法が取られている。そうすると、ユーザがソートされた大量のリストの中から所望のデータを見つけ出すためには、スクロールバーを操作しながらデータを一つ一つ確認しなければならない。
【０００７】
したがって、関連する技術では、表示されたリストの中から所望のデータを把握することが困難であり、視認性が悪いという問題がある。
【課題を解決するための手段】
【０００８】
そこで、一実施の形態では、複数の行を含むリストの中からいずれかの行である対象行を選択する行選択部と、前記対象行のデータと他の行のデータとの類似度を算出する類似度算出部と、前記類似度に基づいて、リスト表示画面に前記リストを表示するリスト表示部と、を備える、リスト表示装置を提供する。
【０００９】
また、一実施の形態では、複数の行を含むリストの中からいずれかの行である対象行を選択し、前記選択された行のデータと他の行のデータとの類似度を算出し、前記類似度に基づいて、リスト表示画面に前記リストを表示する、リスト表示方法を提供する。
【００１０】
さらに、一実施の形態では、複数の行を含むリストの中からいずれかの行である対象行を選択し、前記選択された行のデータと他の行のデータとの類似度を算出し、前記類似度に基づいて、リスト表示画面に前記リストを表示する、処理をコンピュータに実行させるためのリスト表示プログラムを提供する。
【発明の効果】
【００１１】
一実施の形態によれば、視認性を向上することが可能なリスト表示装置、リスト表示方法及びリスト表示プログラムを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態１に係るリスト表示装置の構成を示す構成図である。
【図２】参考例のリスト表示方法を示すフローチャートである。
【図３】実施の形態１に係るリスト表示方法を示すフローチャートである。
【図４】実施の形態１に係るリスト表示画面の例を示す図である。
【図５】実施の形態１に係るリスト表示画面に表示するリストの例を示す図である。
【図６】実施の形態１に係るリスト表示画面の例を示す図である。
【図７】実施の形態１に係るリスト表示画面に表示するリストの例を示す図である。
【図８】実施の形態１に係るリスト表示方法を説明するための図である。
【図９】実施の形態１に係るリスト表示方法を説明するための図である。
【図１０Ａ】実施の形態２に係るリスト表示方法を示すフローチャートである。
【図１０Ｂ】実施の形態２に係るリスト表示方法を示すフローチャートである。
【図１１】実施の形態２に係るリスト表示方法で表示する具体例１を示す図である。
【図１２】実施の形態２に係るリスト表示方法で表示する具体例２を示す図である。
【図１３】実施の形態２に係るリスト表示方法で表示する具体例３を示す図である。
【図１４】実施の形態２に係るリスト表示方法で表示する具体例４を示す図である。
【図１５】実施の形態２に係るリスト表示方法で表示する具体例５を示す図である。
【図１６】実施の形態２に係るリスト表示方法で表示する具体例６を示す図である。
【発明を実施するための形態】
【００１３】
（実施の形態１）
以下、図面を参照して実施の形態１について説明する。
【００１４】
＜実施の形態１のリスト表示装置の構成＞
図１は、本実施の形態に係るリスト表示装置の構成を示している。本実施の形態に係るリスト表示装置１０は、アプリケーション・ソフトウエアのＧＵＩにリストを表示する装置であり、例えば、ウィンドウズなどを搭載したコンピュータ装置で構成される。
【００１５】
図１に示すように、本実施の形態に係るリスト表示装置１０は、入力部１１、表示部１２、記憶部１３、制御部１４を備えている。入力部１１は、ユーザが入力操作を行うための入力装置であり、例えば、マウスやキーボード等で構成される。
【００１６】
表示部１２は、リストを含むリスト表示画面１１０などのＧＵＩを表示する表示装置であり、例えば、液晶ディスプレイ等で構成される。記憶部１３は、リスト表示プログラムやリストデータなど制御部１４の動作に必要なプログラムや各種のデータを記憶する記憶装置であり、例えば、ハードディスクやメモリ等で構成される。
【００１７】
制御部１４は、リスト表示装置１０の動作を制御する制御部であり、記憶部１３のプログラム及びデータや入力部１１の入力操作に応じて表示部１２にリスト表示画面１１０を表示する。例えば、制御部１４は、プログラムを実行可能なＣＰＵ（Central Processing Unit）等で構成される。
【００１８】
制御部１４は、リスト表示装置１０の主要な機能を実現するため、リスト表示部１０１、行選択部１０２、ソート部１０３、類似度算出部１０４、出現頻度算出部１０５を備えている。これらの各部の機能は、制御部１４が記憶部１３に記憶されたリスト表示プログラムを実行することで実現されている。なお、後述の本実施の形態に係るリスト表示方法が実現できれば、その他の構成であってもよい。
【００１９】
リスト表示部１０１は、記憶部１３に記憶された複数の行を含むリストを、表示部１２のリスト表示画面１１０に表示する。行選択部１０２は、ユーザの操作に応じて、リスト表示画面１１０に表示されたリスト内のいずれかの行である対象行を選択する。ソート部１０３は、ユーザの選択した項目（行のデータ）に基づいて、リスト表示画面１１０のリストをソートする。
【００２０】
類似度算出部１０４は、リスト表示画面１１０において選択された対象行のデータと他の行のデータとの類似度を算出する。出現頻度算出部１０５は、算出された類似度ごとに、同じ類似度の行が出現する出現頻度を算出する。また、出現頻度算出部１０５は、同じ類似度の行の出現頻度に応じて、出現頻度が多い類似度の行を出現頻度が少ない行よりも重い重み付けを行う重み付け部でもある。そして、リスト表示部１０１は、算出された類似度と重み付けに基づいて、リスト表示画面１１０にリストを表示する。すなわち、リスト表示部１０１は、類似度が高い行を、類似度が低い行よりも優先的に表示する。さらに、リスト表示部１０１は、重い重み付けの類似度の行を、優先的に表示してもよい。また、リスト表示部１０１は、ユーザの指定にしたがい、対象行の前方または後方の類似度が高い行を優先的に表示してもよい。なお、ここでは、リストをソートした後に類似度や重み付けを求めて表示を行うが、リストのソートを行わずに、類似度や重み付けを求めて表示を行ってもよい。
【００２１】
＜参考例のリスト表示方法＞
ここで、本実施の形態の理解を深めるため、図２のフローチャートを用いて、本実施の形態の参考となる参考例のリスト表示方法について説明する。
【００２２】
図２に示すように、参考例のリスト表示方法では、まず、リスト表示装置１０は、リスト表示画面１１０を表示し（Ｓ１０１）、そのリスト表示画面１１０にリストを表示する（Ｓ１０２）。表示されたリスト表示画面１１０に対するユーザの操作によって、リストの中の特定の対象行が選択され（Ｓ１０３）、ソートする項目が選択される（Ｓ１０４）。
【００２３】
リスト表示装置１０は、選択された項目でリストのソートを実行する（Ｓ１０５）。このとき、表示したリスト表示画面１１０に、ユーザが選択していた対象行が表示されていれば（Ｓ１０６のＹｅｓ）、処理を終了する。また、リスト表示画面１１０に対象行が表示されていない場合（Ｓ１０６のＮｏ）、ユーザのスクロール操作に応じてリスト表示のスクロールが実行され（Ｓ１０７）、対象行が表示されるまで繰り返される。
【００２４】
このように、参考例では、リスト表示画面１１０においてユーザが行を選択しソートした結果、リスト表示画面１１０に選択された対象行が表示されていない場合、ユーザのスクロール操作が必要となる。このため、リストのどこに対象行や、対象行のデータに近い行があるのか簡単に把握することができない。したがって、参考例では、視認性が悪く、また、データの検索が困難であるという問題がある。
【００２５】
そこで、本実施の形態では、リストのソート結果をユーザにとって分かり易く表示することで、視認性や検索性を高めることを可能とする。
【００２６】
なお、特許文献１の方法では類似度の変化点を表示の区切りとしているが、類似度の頻度分布が考慮されておらず、対象物前後の表示バランスを調整することができない。
【００２７】
＜実施の形態１のリスト表示方法＞
次に、図４〜図９に示す表示例を参照しつつ、図３のフローチャートを用いて、本実施の形態に係るリスト表示方法について説明する。なお、各図において、同じ部品には同一の符号が付されている。
【００２８】
図３に示すように、本実施の形態に係るリスト表示方法では、まず、リスト表示部１０１は、表示部１２にリスト表示画面１１０を表示する（Ｓ２０１）。図４は、このとき表示するリスト表示画面１１０の一例を示している。
【００２９】
図４に示すように、リスト表示画面１１０は、リストの列の属性を示す列ヘッダＡ０１、リストの情報を表示するリスト表示領域Ａ０２、リスト表示領域Ａ０２に表示されていないリストを表示するためのスクロールバーＡ０３を備えている。例えば、表示するリストには、ユーザが使用する製品のモデル名と対応する日付が含まれており、このリストの中からユーザが該当するモデル名及び日付を含む行を検索する。
【００３０】
さらに、リスト表示画面１１０は、本実施の形態の特徴として、類似度表示チェックボックスＡ０４、出現頻度選択ボタンＡ０５を備えている。例えば、類似度算出部１０４が、類似度表示チェックボックスＡ０４のチェックに応じてリストの各行の類似度を算出し、出現頻度算出部１０５が、出現頻度選択ボタンＡ０５で指定された出現頻度を算出し、リスト表示部１０１が、類似度及び出現頻度に基づいてリスト表示領域Ａ０２にリストを表示する。
【００３１】
類似度表示チェックボックスＡ０４は、類似度を用いた表示への切り替えを指定するためのチェックボックスである。チェックボックス“Similarity”に、チェックを入れることで類似度の高い行を基準にして、表示する行の位置を移動する。また、類似度ごとに色分けすることで、表示が分かりやすくなり視認性が向上する。
【００３２】
出現頻度選択ボタンＡ０５は、出現頻度を用いた表示方法を選択するためのラジオボタンである。ボタン“Forward”は、対象行の前方の行を後方の行よりも優先させて表示し、ボタン“Backward”は、対象行の後方の行を前方の行よりも優先させて表示するためのボタンである。前方は、リストの行が並ぶ行方向における前側であり、後方は、行方向における後側である。出現頻度選択ボタンＡ０５により、類似度の高い行と対象行を基準として、前方又は後方に表示する優先順位を決めることができる。また、この場合でも類似度ごとに色分けすることで、表示が分かりやすくなり視認性が向上する。
【００３３】
なお、本実施の形態では、簡単のため１つの列ヘッダによるソートの例を示すが、複数の列ヘッダの組み合わせによるソート条件においても同様に本実施の形態によるリスト表示方法を採用できることは容易に分かる。例えば、第一ソート条件を“日付”としてソートを行い、同じ日付のリストが存在する場合には、第二ソート条件を“モデル名”として同じ日付のリスト部分をモデル名順に並べてもよい。
【００３４】
続いて、リスト表示部１０１は、リスト表示画面１１０にリストを表示する（Ｓ２０２）。図５は、リスト表示画面１１０のリスト表示領域Ａ０２に表示するためのリスト全体の情報の一例を示している。
【００３５】
図５の例では、リストＬ０１は２０行のデータで構成されており、各行が列ヘッダＡ０１の“No”列の数字の昇順に並んでいる。そして、このリストＬ０１の内の１０行（例えば１行目から１０行目まで）を、リスト表示画面１１０のリスト表示領域Ａ０２に表示する。
【００３６】
ここで、ユーザがリストＬ０１から目的とする“モデル名”の行を対象行として探しだし、対象行に類似した“モデル名”のリストの情報を得る操作を行う場合を考える。まず、ユーザは現在リスト表示領域Ａ０２に表示されているリストに対象行が見当たらない場合には、スクロールバーＡ０３を操作して表示されていない行を表示させる。そして、行選択部１０２は、ユーザの操作に応じて、表示されたリストの中の特定の対象行を選択する（Ｓ２０３）。図６は、このときの表示例を示している。
【００３７】
例えば、図６に示すように、スクロールバーＡ０３をユーザが操作することにより、リストＬ０１のうちの“No”列が１１〜２０の行を表示するようにスクロールする。このとき、“No=20”の“モデル名=CA-01-A”が対象行として発見されたとすると、ユーザは、マウスを操作し、発見した対象行をマウスポインタＤ０１でクリックする。そのクリック操作に応じて、行選択部１０２が対象行を選択し、対象行の背景色を反転表示させる。
【００３８】
続いて、ソート部１０３は、ユーザの操作に応じてソートする項目を選択し（Ｓ２０４）、選択された項目でリストのソートを実行する（Ｓ２０５）。図６のようにユーザが対象行を選択した後、列ヘッダＡ０１のいずれかの項目を選択する。
【００３９】
例えば、ユーザは対象行に類似した“モデル名”のリストを得るために列ヘッダＡ０１の“モデル名”部分をマウスポインタＤ０１でクリックする。この操作に応じて、ソート部１０３がソートを実行し、“モデル名”でソートしたリストを得る。または、対象行の背景色を反転させる選択動作時に、“モデル名”部分をクリックすることで、対象行の選択と“モデル名”によるソートを同時に行える方式としてもよい。さらに、ソート順は列ヘッダＡ０１をクリックする度に昇順と降順をトグル表示してもよい。図７は、図５のリストＬ０１を“モデル名”で昇順にソートした結果を示している。リスト表示画面１１０のリスト表示領域Ａ０２にソート後のリストＬ０１の内の１０行（例えば１行目から１０行目まで）を表示してもよい。
【００４０】
続いて、類似度算出部１０４は、類似度を用いた表示が指定されたか否か判定する（Ｓ２０６）。類似度表示チェックボックスＡ０４で類似度を用いた表示（“Similarity”）が指定されない場合は処理を終了し、ユーザの操作によって類似度を用いた表示が指定された場合、類似度算出部１０４は、表示されているリストの各行の類似度を算出する（Ｓ２０７）。さらに、出現頻度算出部１０５は、前方頻度または後方頻度が指定されたか否か判定する（Ｓ２０８）。
【００４１】
出現頻度選択ボタンＡ０５で前方頻度（“Forward”）または後方頻度（“Backward”）が指定されていない場合、リスト表示部１０１は、算出された類似度ごとに色分けしたリストをリスト表示領域Ａ０２に表示する（Ｓ２０９）。例えば、行の情報の先頭から連続して一致する文字数を類似度とし、ソート後に対象行と連なる前後の行の情報の類似度に応じて、対象行の情報の表示位置を自動的に調整する。
【００４２】
一例として、ある文字列リストＬ０１のソート結果を図８（ａ）に示す。ここで、対象行に「AAAD2」の文字列があったとするとき、対象行と各行の類似度を以下の（式１）で定義される式で求める。なお、類似度は、行の先頭に限らず、行の末尾など任意の位置において一致する文字数でもよい。また、類似度は、対象行に含まれる一部のデータにおいて一致する文字数でもよい。
類似度＝対象行の文字列の先頭から連続して一致している文字数    ・・・（式１）
【００４３】
例えば、リスト表示画面１１０のリスト表示領域Ａ０２に表示可能な行数が１０行であったとして、対象行と同じ類似度を持つ行が１０行以上ある場合には、対象行をリスト表示領域Ａ０２の中心位置に表示する。また、対象行と同じ類似度を持つ行が１０行未満の場合には、対象行と同じ類似度を持つ行を全て表示すると共に、対象行の前後に位置し対象行と近い類似度を持つ行がより多く表示されるように、対象行の表示位置を決定する。
【００４４】
図８（ａ）のように上記（式１）で求めた類似度を元に対象行の表示位置を調節し、図８（ｂ）のように類似度の高い行を多く表示する。この場合、類似度４が４行、類似度３が７行、類似度２が３行、類似度０が２行である。リスト表示領域Ａ０２が１０行であるため、対象行を含む類似度４の行は全て表示可能となり、次に類似度の高い類似度３の行の中から６行追加表示させることで調節し、視認性と検索性の高いソート結果とする。
【００４５】
この例では、類似度４の行の前方にしか類似度３の行が存在しないが、仮に類似度４の前後に類似度３の行が存在する場合には、類似度４の行を全て表示した上で、類似度３の行が全て表示されるように対象行の位置を調整する。さらに、リスト表示領域Ａ０２に類似度３の行が全て表示できない場合には、類似度４の前後に類似度３の行が同数表示されるように調整する。類似度３の行を全て表示してもリスト表示領域Ａ０２に空きがある場合には、同様の方法で類似度２の行を表示するようにして表示位置を決定する。さらに、類似度ごとに各行を色分けして表示することで視認性と検索性を高めることができる。
【００４６】
一方、出現頻度選択ボタンＡ０５で前方頻度（“Forward”）または後方頻度（“Backward”）が指定された場合、出現頻度算出部１０５は、前方及び後方の出現頻度を算出し（Ｓ２１０）、リスト表示部１０１は、算出された前方及び後方の出現頻度を使って色分けしたリストをリスト表示領域Ａ０２に表示する（Ｓ２１１）。例えば、同じ類似度を持つ情報の数を出現頻度とし、ソート後に対象行の情報よりも前に存在する出現頻度を前方頻度、後に存在する出現頻度を後方頻度として、類似度と前方頻度及び後方頻度の比率に応じて、対象行の情報の表示位置を自動的に調整する。
【００４７】
一例として、ある文字列リストＬ０１のソート結果を図９（ａ）に示す。ここでは、図８の例とは異なり、対象行に対して同じ類似度となる行が対象行の前後に多数あった場合のソート結果を用いて説明する。ここでは、出現頻度を以下の（式２）により求める。
出現頻度＝同じ類似度を持つ行の行数      ・・・（式２）
【００４８】
図９（ａ）の例では、対象行よりも前方の類似度３の出現頻度は７であり、後方の類似度３の出現頻度は５である。前方頻度が指定された場合、図９（ｂ）に示すように、対象行から前方にある類似度の高い行を優先して表示する。類似度４の行と前方の類似度３の行を全て表示した上で、後方の類似度３の行を１行表示している。また、後方頻度が指定された場合、図９（ｃ）に示すように、対象行から後方にある類似度の高い行を優先して表示する。類似度４の行と後方の類似度３の行を全て表示した上で、前方の類似度３の行を３行表示している。また、この場合でも類似度ごとに各行を色分けして表示することで視認性と検索性を高めることができる。なお、同じ類似度の行の中でリスト表示領域Ａ０２に表示できなかった行が分かるように表示してもよい。例えば、表示できない行の行数を表示してもよい。
【００４９】
＜実施の形態１の効果＞
以上のように、本実施の形態では、リストを画面に表示するリスト表示装置において、ユーザの操作に応じて対象行を選択しソートを実行した後、対象行と類似度が高い行を優先的に表示し、さらに、対象行の前方または後方で出現頻度の高い行を優先的に表示するようにした。これにより、ソート後に対象行を見失うことなく、対象行とその対象行に類似する行とを多く表示することが可能となる。
【００５０】
本実施の形態では、ユーザが選択する対象物は、ソート後にユーザによる表示方法を指定することができるため、ソートに対する結果を容易に確認できるようになり、また、ユーザが表示バランスを考慮して位置を微調整する必要がない。特に膨大なデータリストを扱った場合に得られる効果が大きい。
【００５１】
また、ソートにより対象物を見失う事を防止するのみではなく、本実施の形態によりソート結果の視認性や検索性を高める効果がある。さらに、予測が困難なソート結果から表示位置を決定しているため、類似情報をより多く表示することが可能であり同じ情報またはそれに類似した情報を発見し易くなる効果がある。
【００５２】
（実施の形態２）
以下、図面を参照して実施の形態２について説明する。実施の形態１では図６の出現頻度選択ボタンＡ０５によりユーザが前方と後方の重み付けの扱いを指定する手段を採用したが、実施の形態２では前方と後方の出現頻度の分布から自動的にリストの表示位置を決定する手段を提供する。実施の形態２では図６の出現頻度選択ボタンＡ０５が不要となる構成を取るが、得られる効果については実施の形態１と同様である。
【００５３】
図１０Ａ及び図１０Ｂのフローチャートは、図３におけるリスト表示方法の詳細な例を示している。
【００５４】
まず、図３のＳ２０１〜Ｓ２０５に対応して、リスト表示画面１１０のリスト表示領域Ａ０２にリストを表示し、ユーザの操作に応じて、リストの中の対象行にマークを付け（Ｓ３０１）、選択されたソート条件に従ってソートを実行する（Ｓ３０２）。
【００５５】
以降、図３のＳ２０６〜Ｓ２１１に対応して、各行の類似度及び出現頻度に基づいてリスト表示領域Ａ０２にリストを表示する。
【００５６】
まず、リスト表示部１０１は、リスト表示領域Ａ０２の行数（Ｗｓ）とリストの行数（Ｌａ）を設定して（Ｓ３０３）、両者を比較し（Ｓ３０４）、リストの行数（Ｌａ）がリスト表示領域Ａ０２の行数（Ｗｓ）以下の場合、リスト表示領域Ａ０２にリストを全て表示し（Ｓ３０５）、処理を終了する。
【００５７】
また、リストの行数（Ｌａ）がリスト表示領域Ａ０２の行数（Ｗｓ）よりも大きい場合、類似度算出部１０４は、対象行と各行との類似度Ｓｍを算出する（Ｓ３０６）。上記（式１）のように、対象行と各行の文字列を比較し、先頭から一致している文字数を求める。
【００５８】
続いて、出現頻度算出部１０５は、対象行に対する前方頻度（Ｆｒ（Ｓｍ，Ｂｅｆｏｒｅ））と後方頻度（Ｆｒ（Ｓｍ，Ａｆｔｅｒ））を算出する（Ｓ３０７）。上記（式２）のように、前方頻度として対象行よりも前方で同じ類似度の行の数を求め、後方頻度として対象行よりも後方で同じ類似度の行の数を求める。
【００５９】
続いて、リスト表示領域Ａ０２に表示するリストを決定するため、リスト表示部１０１は、参照する参照類似度（Ｓｍ）に対象行の類似度を設定し、表示する行のために求める行数（Ｌｓ）を対象行の行数である１に初期設定する（Ｓ３０８）。そして、求める行数（Ｌｓ）に参照類似度（Ｓｍ）の前方頻度（Ｆｒ（Ｓｍ，Ｂｅｆｏｒｅ））と後方頻度（Ｆｒ（Ｓｍ，Ａｆｔｅｒ）を加算し（Ｓ３０９）、求める行数（Ｌｓ）とリスト表示領域Ａ０２の行数（Ｗｓ）を比較する（Ｓ３１０）。
【００６０】
求める行数（Ｌｓ）がリスト表示領域Ａ０２の行数（Ｗｓ）以下の場合、参照類似度をデクリメントして（Ｓ３１１）、参照類似度の前方頻度と後方頻度を加える処理（Ｓ３０９）を繰返し、リスト表示領域Ａ０２に全て表示できる類似度を持つリストの範囲を求める。次いで、リストの一部のみしかリスト表示領域Ａ０２に表示できない前方側の類似度の行の位置、すなわち表示開始行（Ｔｐ）を決定するステップへと進む。求める行数（Ｌｓ）がリスト表示領域Ａ０２の行数（Ｗｓ）より大きい場合、求める行数（Ｌｓ）から最後（現在）の参照類似度の前方頻度と後方頻度を減算し、リスト表示領域Ａ０２の行数（Ｗｓ）から求める行数（Ｌｓ）を減算して空きの行数（Ｌｒ）を求め、最後の参照類似度の前方頻度及び後方頻度の合計の行数（Ｌｄｎ）を求める（Ｓ３１２）。これらの値から表示するリストの行を求める（Ｓ３１３）。具体的には、参照類似度の前方頻度に（１−空きの行数（Ｌｒ）／前方頻度と後方頻度の合計の行数（Ｌｄｎ））を乗算し、その結果を四捨五入後に１を加算して、表示開始行（Ｔｐ）を求める。
【００６１】
そして、前方類似度（Ｓｍ）を持つ行の先頭からＴｐ番目の行をリスト表示領域Ａ０２の最上位行にしてリストを表示する（Ｓ３１４）。但し、前方類似度（Ｓｍ）を持つ行が無い場合には、類似度（Ｓｍ）に最も近く、且つ高位の前方類似度を持つ行の先頭を表示の最上位行にする。
【００６２】
以下、図１１〜図１６を用いて、図１０Ａ及び図１０Ｂの具体例について説明する。
【００６３】
＜具体例１＞
図１１は、具体例１におけるリストと表示例を示している。具体例１は、同じ類似度の行で表示領域が満たされる例である。
【００６４】
図１１に示すように、リスト表示領域Ａ０２の行数（Ｗｓ）＝１０、リストの行数（Ｌａ）＝１５として、リストの“12345H”の行を対象行とする。そうすると、図１０ＢのＳ３０７により、類似度６の前方・後方頻度＝０、類似度５の前方頻度＝７、類似度５の後方頻度＝２、類似度４の前方頻度＝３、類似度４の後方頻度＝２となる。
【００６５】
図１０ＢのＳ３０９〜Ｓ３１１のループにより、参照類似度（Ｓｍ）と求める行数（Ｌｓ）が（Ｓｍ＝６，Ｌｓ＝１）、（Ｓｍ＝５，Ｌｓ＝１０）、（Ｓｍ＝４，Ｌｓ＝１５）と繰り返される。
【００６６】
ループの後、図１０ＢのＳ３１３及びＳ３１４により、求める行数（Ｌｓ）、空きの行数（Ｌｒ）、最後の前方頻度及び後方頻度の行数（Ｌｄｎ）は、（Ｌｓ＝１０，Ｌｒ＝０，Ｌｄｎ＝５）となり、これらの値から表示開始行（Ｔｐ＝４）となる。
【００６７】
したがって、リスト表示領域Ａ０２に、Ｔｐ＝４の“12345A”の行から“12345J”の行までの１０行を表示する。これにより、リスト表示領域Ａ０２には、対象行、前方の類似度５の７行、後方の類似度５の２行が表示される。
【００６８】
＜具体例２＞
図１２は、具体例２におけるリストと表示例を示している。具体例２は、同じ類似度の行で表示領域が満たされ、後方の頻度が多くなったことが対象行の位置に反映される例である。
【００６９】
図１２に示すように、リスト表示領域Ａ０２の行数（Ｗｓ）＝１０、リストの行数（Ｌａ）＝１７として、リストの“12345H”の行を対象行とする。そうすると、図１０ＢのＳ３０７により、類似度６の前方・後方頻度＝０、類似度５の前方頻度＝７、類似度５の後方頻度＝４、類似度４の前方頻度＝３、類似度４の後方頻度＝２となる。
【００７０】
図１０ＢのＳ３０９〜Ｓ３１１のループにより、参照類似度（Ｓｍ）と求める行数（Ｌｓ）が（Ｓｍ＝６，Ｌｓ＝１）、（Ｓｍ＝５，Ｌｓ＝１２）と繰り返される。
【００７１】
ループの後、図１０ＢのＳ３１３及びＳ３１４により、求める行数（Ｌｓ）、空きの行数（Ｌｒ）、最後の前方頻度及び後方頻度の行数（Ｌｄｎ）は、（Ｌｓ＝１，Ｌｒ＝９，Ｌｄｎ＝１１）となり、これらの値から表示開始行（Ｔｐ＝２）となる。
【００７２】
したがって、リスト表示領域Ａ０２に、Ｔｐ＝２の“12345B”の行から“12345K”の行までの１０行を表示する。これにより、リスト表示領域Ａ０２には、対象行、前方の類似度５の６行、後方の類似度５の３行が表示される。
【００７３】
＜具体例３＞
図１３は、具体例３におけるリストと表示例を示している。具体例３は、異なる類似度の行を表示領域に表示する例である。
【００７４】
図１３に示すように、リスト表示領域Ａ０２の行数（Ｗｓ）＝１０、リストの行数（Ｌａ）＝１７として、リストの“12345D”の行を対象行とする。そうすると、図１０ＢのＳ３０７により、類似度６の前方・後方頻度＝０、類似度５の前方頻度＝３、類似度５の後方頻度＝１、類似度４の前方頻度＝５、類似度４の後方頻度＝２、類似度３の前方頻度＝３、類似度３の後方頻度＝１、類似度２の後方頻度＝１となる。
【００７５】
図１０ＢのＳ３０９〜Ｓ３１１のループにより、参照類似度（Ｓｍ）と求める行数（Ｌｓ）が（Ｓｍ＝６，Ｌｓ＝１）、（Ｓｍ＝５，Ｌｓ＝５）、（Ｓｍ＝４，Ｌｓ＝１２）と繰り返される。
【００７６】
ループの後、図１０ＢのＳ３１３及びＳ３１４により、求める行数（Ｌｓ）、空きの行数（Ｌｒ）、最後の前方頻度及び後方頻度の行数（Ｌｄｎ）は、（Ｌｓ＝５，Ｌｒ＝５，Ｌｄｎ＝７）となり、これらの値から表示開始行（Ｔｐ＝２）となる。
【００７７】
したがって、リスト表示領域Ａ０２に、Ｔｐ＝２の“12343B”の行から“12346A”の行までの１０行を表示する。これにより、リスト表示領域Ａ０２には、対象行、前方の類似度５の３行、前方の類似度４の４行、後方の類似度５の１行、後方の類似度４の１行が表示される。
【００７８】
＜具体例４＞
図１４は、具体例４におけるリストと表示例を示している。具体例４は、異なる類似度の行を表示領域に表示し、最上位（トップ）と最下位（ボトム）の類似度が異なる例である。
【００７９】
図１４に示すように、リスト表示領域Ａ０２の行数（Ｗｓ）＝１０、リストの行数（Ｌａ）＝１７として、リストの“12345D”の行を対象行とする。そうすると、図１０ＢのＳ３０７により、類似度６の前方・後方頻度＝０、類似度５の前方頻度＝３、類似度４の前方頻度＝３、類似度４の後方頻度＝１、類似度３の前方頻度＝５、類似度２の後方頻度＝４なる。
【００８０】
図１０ＢのＳ３０９〜Ｓ３１１のループにより、参照類似度（Ｓｍ）と求める行数（Ｌｓ）が（Ｓｍ＝６，Ｌｓ＝１）、（Ｓｍ＝５，Ｌｓ＝４）、（Ｓｍ＝４，Ｌｓ＝８）、（Ｓｍ＝３，Ｌｓ＝１３）と繰り返される。
【００８１】
ループの後、図１０ＢのＳ３１３及びＳ３１４により、求める行数（Ｌｓ）、空きの行数（Ｌｒ）、最後の前方頻度及び後方頻度の行数（Ｌｄｎ）は、（Ｌｓ＝８，Ｌｒ＝２，Ｌｄｎ＝５）となり、これらの値から表示開始行（Ｔｐ＝４）となる。
【００８２】
したがって、リスト表示領域Ａ０２に、Ｔｐ＝４の“12334A”の行から“12346A”の行までの１０行を表示する。これにより、リスト表示領域Ａ０２には、対象行、前方の類似度５の３行、前方の類似度４の３行、前方の類似度３の２行、後方の類似度４の１行が表示される。
【００８３】
＜具体例５＞
図１５は、具体例５におけるリストと表示例を示している。具体例５は、対象行と同じ行が存在し、図１０ＢのＳ３１４において表示すべき前方類似度を持つ行が無い場合の例である。
【００８４】
図１５に示すように、リスト表示領域Ａ０２の行数（Ｗｓ）＝１０、リストの行数（Ｌａ）＝１７として、リストの“12343A”（２行目）の行を対象行とする。そうすると、図１０ＢのＳ３０７により、類似度６の後方頻度＝０、類似度６の前方頻度＝１、類似度５の後方頻度＝１、類似度４の後方頻度＝６、類似度３の後方頻度＝４、類似度２の前方頻度＝４なる。
【００８５】
図１０ＢのＳ３０９〜Ｓ３１１のループにより、参照類似度（Ｓｍ）と求める行数（Ｌｓ）が（Ｓｍ＝６，Ｌｓ＝２）、（Ｓｍ＝５，Ｌｓ＝３）、（Ｓｍ＝４，Ｌｓ＝９）、（Ｓｍ＝３，Ｌｓ＝１３）と繰り返される。
【００８６】
ループの後、図１０ＢのＳ３１３及びＳ３１４により、求める行数（Ｌｓ）、空きの行数（Ｌｒ）、最後の前方頻度及び後方頻度の行数（Ｌｄｎ）は、（Ｌｓ＝９，Ｌｒ＝１，Ｌｄｎ＝４）となり、これらの値から表示開始行（Ｔｐ＝１）となる。
【００８７】
前方類似度３の行が無いため、リスト表示領域Ａ０２に、類似度６のＴｐ＝１の“12343A”の先頭の行から“12355A”の行までの１０行を表示する。これにより、リスト表示領域Ａ０２には、対象行、前方の類似度６の１行、後方の類似度５の１行、後方の類似度４の６行、後方の類似度３の１行が表示される。
【００８８】
＜具体例６＞
図１６は、具体例６におけるリストと表示例を示している。具体例６は、対象行と同じ行だけで表示領域が満たされ、図１０ＢのＳ３１４において表示すべき前方類似度を持つ行が無い場合の例である。
【００８９】
図１６に示すように、リスト表示領域Ａ０２の行数（Ｗｓ）＝１０、リストの行数（Ｌａ）＝１７として、リストの“12343A”（１行目）の行を対象行とする。そうすると、図１０ＢのＳ３０７により、類似度６の前方頻度＝０、類似度６の後方頻度＝９、類似度３の後方頻度＝２、類似度２の前方頻度＝５なる。
【００９０】
図１０ＢのＳ３０９〜Ｓ３１１のループにより、参照類似度（Ｓｍ）と求める行数（Ｌｓ）が（Ｓｍ＝６，Ｌｓ＝１０）、（Ｓｍ＝５，Ｌｓ＝１０）、（Ｓｍ＝４，Ｌｓ＝１０）、（Ｓｍ＝３，Ｌｓ＝１２）と繰り返される。
【００９１】
ループの後、図１０ＢのＳ３１３及びＳ３１４により、求める行数（Ｌｓ）、空きの行数（Ｌｒ）、最後の前方頻度及び後方頻度の行数（Ｌｄｎ）は、（Ｌｓ＝１０，Ｌｒ＝０，Ｌｄｎ＝２）となり、これらの値から表示開始行（Ｔｐ＝１）となる。
【００９２】
前方類似度３の行が無いため、リスト表示領域Ａ０２に、類似度６のＴｐ＝１の“12343A”（１行目）の先頭の行から“12343A”（１０行目）の行までの１０行を表示する。これにより、リスト表示領域Ａ０２には、対象行、後方の類似度６の９行が表示される。
【００９３】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【００９４】
上述の実施形態における装置は、ハードウェア又はソフトウェア、もしくはその両方によって構成され、１つのハードウェア又はソフトウェアから構成してもよいし、複数のハードウェア又はソフトウェアから構成してもよい。リスト表示装置の各機能（各処理）を、ＣＰＵやメモリ等を有するコンピュータにより実現してもよい。例えば、記憶装置に実施形態におけるリスト表示方法を行うためのプログラムを格納し、各機能を、記憶装置に格納されたプログラムをＣＰＵで実行することにより実現してもよい。
【００９５】
このプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【００９６】
１０      リスト表示装置
１１      入力部
１２      表示部
１３      記憶部
１４      制御部
１０１    リスト表示部
１０２    行選択部
１０３    ソート部
１０４    類似度算出部
１０５    出現頻度算出部
１１０    リスト表示画面
Ａ０１    列ヘッダ
Ａ０２    リスト表示領域
Ａ０３    スクロールバー
Ａ０４    類似度表示チェックボックス
Ａ０５    出現頻度選択ボタン
Ｄ０１    マウスポインタ
Ｌ０１    リスト
【図１】
2018128761.tif 000003
【図２】
2018128761.tif 000004
【図３】
2018128761.tif 000005
【図４】
2018128761.tif 000006
【図５】
2018128761.tif 000007
【図６】
2018128761.tif 000008
【図７】
2018128761.tif 000009
【図８】
2018128761.tif 000010
【図９】
2018128761.tif 000011
【図１０Ａ】
2018128761.tif 000012
【図１０Ｂ】
2018128761.tif 000013
【図１１】
2018128761.tif 000014
【図１２】
2018128761.tif 000015
【図１３】
2018128761.tif 000016
【図１４】
2018128761.tif 000017
【図１５】
2018128761.tif 000018
【図１６】
2018128761.tif 000019