(57)【特許請求の範囲】
【請求項１】
複数のアイテムが記録されたデータから、ユーザによる入力に従ってアイテムを抽出するフィルタ装置であって、
アイテムを含む集合を記憶する記憶部、
前記記憶された集合から生成された複数の質問を含む質問群から、前記ユーザに提示する質問を選択する選択部、
前記選択された質問に対する回答を前記ユーザに求める問合せ部、
前記記憶された集合から、前記ユーザによる回答に該当しないアイテムを除去する除去部、を備え、
前記質問は、あらかじめ定められた数のグループに分類された前記記憶された集合に属するアイテムから、一つのグループに分類されたアイテムを抽出するためのものであり、
前記選択部は、前記グループの一つに分類されたアイテムの数が、他の前記グループに分類されたアイテムの数との関係において所定の基準を満たす前記質問を生成し、
前記選択部は、前記質問群から、回答により前記記憶された集合から除去されるアイテムの数の期待値が最多となる質問を選択し、
前記除去部は、前記記憶された集合に含まれる前記ユーザによる回答に該当しないアイテムが、前記ユーザによる回答に類似するか否かを判定し、当該類似しないと判定したアイテムを前記記憶された集合から除去する、
ことを特徴とするフィルタ装置。
【請求項２】
前記質問は、前記グループのそれぞれに対応付けられる選択肢の形式で前記ユーザに提示され、前記ユーザが前記選択肢のいずれかを選択すること又は前記選択肢のいずれも選択しないことにより前記回答がなされ、
前記選択部は、前記ユーザが前記選択肢のいずれも選択しなかった場合は、前記記憶された集合から前記アイテムが除去されないとして前記期待値を求める
ことを特徴とする請求項１に記載のフィルタ装置。
【請求項３】
前記問合せ部は、前記選択された質問ごとに、前記選択肢のいずれかを選択すること又は前記選択肢のいずれも選択しないことによりなされた回答を記録し、
前記選択部は、前記選択された質問ごとに、前記ユーザとは異なる入力者により前記それぞれの選択肢が選択された割合及び前記選択肢のいずれも選択されなかった割合に基づいて、前記除去されるアイテムの数の期待値を算出する、
ことを特徴とする請求項２に記載のフィルタ装置。
【請求項４】
前記アイテムは、購入された商品および当該商品の色を示すデータを記録したレコードであり、
前記選択部は、前記レコードに記録されている前記商品の色を示すデータにかかわる質問を選択する、
ことを特徴とする請求項１から３のいずれか１項に記載のフィルタ装置。
【請求項５】
複数のアイテムが記録されたデータから、ユーザによる入力に従ってアイテムを抽出するフィルタ装置が実行するフィルタ方法であって、
前記フィルタ装置が、アイテムを含む集合を記憶する記憶ステップ、
前記フィルタ装置が、前記記憶された集合から生成された複数の質問を含む質問群から、前記ユーザに提示する質問を選択する選択ステップ、
前記フィルタ装置が、前記選択された質問に対する回答を前記ユーザに求める問合せステップ、
前記フィルタ装置が、前記記憶された集合から、前記ユーザによる回答に該当しないアイテムを除去する除去ステップ、を備え、
前記質問は、あらかじめ定められた数のグループに分類された前記記憶された集合に属するアイテムから、一つのグループに分類されたアイテムを抽出するためのものであり、
前記選択ステップでは、前記フィルタ装置は、前記グループの一つに分類されたアイテムの数が、他の前記グループに分類されたアイテムの数との関係において所定の基準を満たす前記質問を生成し、
前記選択ステップでは、前記フィルタ装置は、前記質問群から、回答により前記記憶された集合から除去されるアイテムの数の期待値が最多となる質問を選択し、
前記除去ステップでは、前記フィルタ装置は、前記記憶された集合に含まれる前記ユーザによる回答に該当しないアイテムが、前記ユーザによる回答に類似するか否かを判定し、当該類似しないと判定したアイテムを前記記憶された集合から除去する、
ことを特徴とするフィルタ方法。
【請求項６】
複数のアイテムが記録されたデータから、ユーザによる入力に従ってアイテムを抽出するプログラムを記録した非一時的な記録媒体であって、
コンピュータに、
アイテムを含む集合を記憶する記憶手順、
前記記憶された集合から生成された複数の質問を含む質問群から、前記ユーザに提示する質問を選択する選択手順、
前記選択された質問に対する回答を前記ユーザに求める問合せ手順、
前記記憶された集合から、前記ユーザによる回答に該当しないアイテムを除去する除去手順、を実行させ、
前記質問は、あらかじめ定められた数のグループに分類された前記記憶された集合に属するアイテムから、一つのグループに分類されたアイテムを抽出するためのものであり、
前記選択手順では、前記グループの一つに分類されたアイテムの数が、他の前記グループに分類されたアイテムの数との関係において所定の基準を満たす前記質問を生成し、
前記選択手順では、前記質問群から、回答により前記記憶された集合から除去されるアイテムの数の期待値が最多となる質問を選択し、
前記除去手順では、前記記憶された集合に含まれる前記ユーザによる回答に該当しないアイテムが、前記ユーザによる回答に類似するか否かを判定し、当該類似しないと判定したアイテムを前記記憶された集合から除去する、
ことを特徴とするプログラムを記録した非一時的な記録媒体。
【請求項７】
複数のアイテムが記録されたデータから、ユーザによる入力に従ってアイテムを抽出するプログラムであって、
コンピュータに、
アイテムを含む集合を記憶する記憶手順、
前記記憶された集合から生成された複数の質問を含む質問群から、前記ユーザに提示する質問を選択する選択手順、
前記選択された質問に対する回答を前記ユーザに求める問合せ手順、
前記記憶された集合から、前記ユーザによる回答に該当しないアイテムを除去する除去手順、を実行させ、
前記質問は、あらかじめ定められた数のグループに分類された前記記憶された集合に属するアイテムから、一つのグループに分類されたアイテムを抽出するためのものであり、
前記選択手順では、前記グループの一つに分類されたアイテムの数が、他の前記グループに分類されたアイテムの数との関係において所定の基準を満たす前記質問を生成し、
前記選択手順では、前記質問群から、回答により前記記憶された集合から除去されるアイテムの数の期待値が最多となる質問を選択し、
前記除去手順では、前記記憶された集合に含まれる前記ユーザによる回答に該当しないアイテムが、前記ユーザによる回答に類似するか否かを判定し、当該類似しないと判定したアイテムを前記記憶された集合から除去する、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フィルタ装置、フィルタ方法、非一時的な記録媒体およびプログラムに関する。
【背景技術】
【０００２】
蓄積されたデータから、入力者に入力された検索条件に合致するデータを抽出するための技術が存在する。このとき、入力者が任意に検索条件を選択するものとした場合、検索条件として適切でないものが入力されることがある。【０００３】
例えば、入力者が、母集団となるデータには対象となるアイテムが全くない検索条件を入力した場合、その検索条件でデータを検索すると、検索結果として何もヒットしない。入力者が、データに含まれる多数のアイテムからいくつかを選択したい場合には、そのような検索条件の入力は無意味である。【０００４】
逆に、入力者が、母集団となるデータに含まれるアイテムがすべて該当する検索条件を入力した場合、その検索条件でデータを検索すると、母集団となるデータに含まれるアイテムがすべてヒットしてしまう。その場合も、データに含まれる多数のアイテムからいくつかを選択するという目的の上では、検索条件の入力が無意味である。このように、入力者が検索条件を任意に選択するものとすると、不適切な検索条件が入力されることがあり、効率の悪化につながっている。【０００５】
こういった課題を解決するため、検索システムが質問および回答候補を入力者に提示し、入力者による選択入力（回答）を受け付ける技術が存在する。例えば特許文献１では、コンピュータが質問を選択し、質問およびその質問への回答候補をユーザに提示する技術が開示されている。ユーザが一つの回答を選択すると、コンピュータは選択された回答による検索を実施し、該当するアイテムを抽出する。これにより、ユーザが検索条件を入力する場合に比べ、効率のよい抽出を実現しようとするものである。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−１３４７５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来技術においては、その時点における母集団の状況に応じた選択肢の提示をすることはできない。そのため、母集団からアイテムを抽出するための条件を設定するうえで、より効率のよい手法が望まれている。【０００８】
特許文献１が提示する技術では、コンピュータは予め定められたルールに従って質問を入力者に提示する。特許文献１で示されている例では、コンピュータが入力者に提示する質問および回答候補は固定されており、コンピュータが記録しているデータの内容が反映されていない。そのため、提示する質問および回答候補が、母集団から抽出を行う上で効率の悪い検索条件（母集団に該当するアイテムがほとんどない条件、あるいは母集団にあるアイテムのほとんどが該当する条件）となることがある。【０００９】
本発明は、上記の課題を解決しようとするものであり、アイテムの集合から、ユーザの入力に従ってアイテムを絞り込むうえで、アイテムの集合の状況に応じた質問を提示することで効率よい絞り込みを実現することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明の第１の観点にかかるフィルタ装置は、
複数のアイテムが記録されたデータから、ユーザによる入力に従ってアイテムを抽出するフィルタ装置であって、
アイテムを含む集合を記憶する記憶部、
あらかじめ用意され、または、前記記憶された集合から生成された複数の質問を含む質問群から、前記ユーザに提示する質問を選択する選択部、
前記選択された質問に対する回答を前記ユーザに求める問合せ部、
前記記憶された集合から、前記ユーザによる回答に該当しないアイテムを除去する除去部、を備え、
前記選択部は、前記質問群から、回答により前記記憶された集合から除去されるアイテムの数の期待値が最多となる質問を選択する、
ことを特徴とする。【００１１】
本発明の第１の観点にかかるフィルタ装置において、
前記除去部は、前記記憶された集合に含まれる前記ユーザによる回答に該当しないアイテムが、前記ユーザによる回答に類似するか否かを判定し、当該類似しないと判定したアイテムを前記記憶された集合から除去する、
ものであってもよい。【００１２】
本発明の第１の観点にかかるフィルタ装置において、
前記質問は、あらかじめ定められた数のグループに分類された前記記憶された集合に属するアイテムから、一つのグループに分類されたアイテムを抽出するためのものであり、
前記選択部は、前記グループの一つに分類されたアイテムの数が、他の前記グループに分類されたアイテムの数との関係において所定の基準を満たす前記質問を生成する、
ものであってもよい。【００１３】
本発明の第１の観点にかかるフィルタ装置において、
前記問合せ部は、前記選択された質問ごとに、入力された回答を記録し、
前記選択部は、前記選択された質問ごとに、前記ユーザとは異なる入力者により回答が入力された割合に基づいて、前記除去されるアイテムの数の期待値を算出する、
ものであってもよい。【００１４】
本発明の第１の観点にかかるフィルタ装置において、
前記アイテムは、購入された商品および当該商品の色を示すデータを記録したレコードであり、
前記選択部は、前記レコードに記録されている前記商品の色を示すデータにかかわる質問を選択する、
ものであってもよい。【００１５】
上記目的を達成するため、本発明の第２の観点にかかるフィルタ方法は、
複数のアイテムが記録されたデータから、ユーザによる入力に従ってアイテムを抽出するフィルタ方法であって、
アイテムを含む集合を記憶する記憶ステップ、
あらかじめ用意され、または、前記記憶された集合から生成された複数の質問を含む質問群から、前記ユーザに提示する質問を選択する選択ステップ、
前記選択された質問に対する回答を前記ユーザに求める問合せステップ、
前記記憶された集合から、前記ユーザによる回答に該当しないアイテムを除去する除去ステップ、を備え、
前記選択ステップでは、前記質問群から、回答により前記記憶された集合から除去されるアイテムの数の期待値が最多となる質問を選択する、
ことを特徴とする。【００１６】
上記目的を達成するため、本発明の第３の観点にかかる記録媒体は、
複数のアイテムが記録されたデータから、ユーザによる入力に従ってアイテムを抽出するプログラムを記録した非一時的な記録媒体であって、
コンピュータに、
アイテムを含む集合を記憶する記憶手順、
あらかじめ用意され、または、前記記憶された集合から生成された複数の質問を含む質問群から、前記ユーザに提示する質問を選択する選択手順、
前記選択された質問に対する回答を前記ユーザに求める問合せ手順、
前記記憶された集合から、前記ユーザによる回答に該当しないアイテムを除去する除去手順、を実行させ、
前記選択手順では、前記質問群から、回答により前記記憶された集合から除去されるアイテムの数の期待値が最多となる質問を選択する、
ことを特徴とするプログラムを記録する。【００１７】
上記目的を達成するため、本発明の第４の観点にかかるプログラムは、
複数のアイテムが記録されたデータから、ユーザによる入力に従ってアイテムを抽出するプログラムであって、
コンピュータに、
アイテムを含む集合を記憶する記憶手順、
あらかじめ用意され、または、前記記憶された集合から生成された複数の質問を含む質問群から、前記ユーザに提示する質問を選択する選択手順、
前記選択された質問に対する回答を前記ユーザに求める問合せ手順、
前記記憶された集合から、前記ユーザによる回答に該当しないアイテムを除去する除去手順、を実行させ、
前記選択手順では、前記質問群から、回答により前記記憶された集合から除去されるアイテムの数の期待値が最多となる質問を選択する、
ことを特徴とする。
【発明の効果】
【００１８】
本発明によれば、アイテムの集合の状況に応じた質問を提示することで、効率よいアイテムの絞り込みを実現することができる。
【図面の簡単な説明】
【００１９】
【図１】実施の形態にかかるフィルタ装置の機能構成を示すブロック図である。
【図２】実施の形態にかかるフィルタ装置のハードウェア構成を示す図である。
【図３】記憶装置に記録される内容を説明するための図である。
【図４】アイテムとして記録されるデータの内容を示す図である。
【図５】質問データに記録されるデータの内容を示す図である。
【図６】質問回答統計データの内容を示す図である。
【図７】アイテム抽出処理のフローチャートである。
【図８Ａ】期待値を算出する際に用いられる質問データの例を示す図である。
【図８Ｂ】期待値を算出する際に用いられる質問回答統計データの例を示す図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施の形態について添付図面を参照しつつ説明する。
【００２１】
＜実施の形態＞
本実施の形態にかかるフィルタ装置１００は、多数のアイテムを含む集合であるデータを記録する。フィルタ装置１００は、集合からユーザが入力する条件に合致するアイテムを抽出することによって集合を絞り込む機能を備える。フィルタ装置１００は、抽出を行った結果、所定の条件（集合に含まれるアイテムの数が一定の数以下となる、または、抽出の回数が限度以上となる等）が充足されると、その時点で集合に含まれるアイテムをユーザに提示する。一方、所定の条件が充足されていない場合、フィルタ装置１００は、さらにユーザからの入力を受け付け、さらに集合からのアイテムの抽出を行う。ユーザは、当初は多数のアイテムが含まれていた集合から、所望の条件に応じて数を絞り込み、所望の条件に合致するアイテムの内容を確認することができる。
【００２２】
多数のアイテムを含む集合として、本実施の形態では、例としてクレジットカードの購入履歴を扱う。購入履歴を記録したデータには、ユーザが保有するクレジットカードで決済したことを示すレコードが多数記録されている。購入履歴を記録したデータに含まれるレコード一つが、一回の決済に関する情報を記録する。
【００２３】
ユーザは、ある商品を購入した時の決済内容（販売店や購入内容）を確認したいが、正確な内容を忘れてしまったとする。そのような場合、ユーザは、フィルタ装置１００を利用し、対象の決済に対応するレコード（アイテム）を、購入履歴を記録したデータから抽出し、参照することにより、正確な決済内容を確認することができる。
【００２４】
アイテムであるレコードには、その決済の内容を示す情報が記録されている。ユーザが保有するクレジットカードの購入履歴においては、一つのアイテムには、使用時期、使用金額、使用された場所（店舗の位置、または、販売店が実際の店舗を備えた実店舗であるか、またはインターネットやカタログを通じた通信販売店であるか）、利用された通貨などが、その決済の内容を示す情報として記録されている。本実施の形態にかかるフィルタ装置は、これらの情報に基づいて、そのユーザの購入履歴として記録されているデータ（複数のアイテムが記録されたデータ）から、ユーザによる入力に従ってアイテムを抽出し、ユーザに提示する。
【００２５】
抽出にあたり、フィルタ装置１００は、ユーザに質問と、その質問に対する回答候補を提示する。フィルタ装置１００は、ユーザから、提示された回答候補のうち一つを選択する入力を受け付け、その内容に応じてアイテムの抽出し、その結果をユーザに提示する。
【００２６】
フィルタ装置１００は、ユーザに質問と回答候補とを提示する際、母集団となる集合の状況に応じ、効果的な抽出が行えるような質問を選択する。フィルタ装置１００は、ユーザに提示する質問とその回答候補とを関連付けて記録する質問データ２３を備え、質問データ２３に記録されている質問群（多数の質問）から、回答により集合から除去されるアイテムの数が多くなるような質問を選択する。そのため、フィルタ装置１００が提示する質問にユーザが回答することで、集合からアイテムを効果的に抽出することができる。
【００２７】
本実施の形態にかかるフィルタ装置１００は、図１に示す各機能部を備え、また図１に示す各データを参照し、また記録する。図１において、ユーザＵはクレジットカードの保有者であり、自身のクレジットカードによる購入履歴から、特定の決済を示す情報を参照しようとしている。フィルタ装置１００は、多数のアイテムの集合である購入履歴データから、ユーザＵからの入力に従ってアイテムを絞り込み、ユーザＵに提示する。
【００２８】
フィルタ装置１００は、集合データ２２を記憶する記憶部１１、質問データ２３に記録されている質問からユーザＵに提示する質問を選択する選択部１２、選択された質問をユーザＵに提示し、回答を求める問合せ部１３、集合データ２２からユーザＵによる回答に該当しないアイテムを除去する除去部１４、を備える。
【００２９】
記憶部１１は、集合データ２２を記憶する。記憶部１１は、ユーザＵの購入履歴の全体が記録されている元の集合データ２１に記録されているアイテムをすべて読み出し、集合データ２２として記憶する。また、記憶部１１は、後述する除去部１４が集合データ２２から一部のアイテムを除去する処理を行うと、それに応じて集合データ２２の内容を更新する。
【００３０】
選択部１２は、質問データ２３に記録されている質問（質問群）からユーザＵに提示する質問を選択する。選択部１２は、質問データ２３に記録されている各質問について、回答により集合データ２２から除去されるアイテムの数の期待値を算出し、期待値が最多となる質問を選択する。
【００３１】
問合せ部１３は、選択部１２が選択した質問と、その質問に対する回答候補とをユーザＵに提示し、提示された回答候補から一つを選択する回答をユーザＵに要求する。また、問合せ部１３は、ユーザＵから、提示された回答候補のうち一つを選択する入力を受け付ける。
【００３２】
除去部１４は、集合データ２２からユーザＵによる回答に該当しないアイテムを除去する。除去部１４は、集合データ２２に記録されているアイテムを読み出し、ユーザＵによる回答に合致するかどうかを判定する。除去部１４は、合致しないと判定したアイテムを、集合データ２２から削除する。この結果、記憶部１１が保持する集合データ２２から、ユーザＵによる回答に該当しないアイテムが除去される。
【００３３】
また、このほかに、フィルタ装置１００は、ユーザＵによる動作開始の操作、および、抽出された集合データ２２をユーザＵに提示する構成を備える。
【００３４】
元の集合データ２１は、ユーザＵが保有するクレジットカードによる購入履歴が記録されたデータである。元の集合データ２１は、図１ではフィルタ装置１００の内部に記録されているが、これに限られず、他の機器に記録されている元の集合データ２１にフィルタ装置１００がアクセスする形態であってもよい。
【００３５】
集合データ２２は、記憶部１１が内部に保有する、ユーザＵによる購入履歴を示すデータである。後述するように、記憶部１１は、アイテムの絞り込みを行う前に元の集合データ２１に記録されているアイテムを読みとり、集合データ２２として記録する。さらに、記憶部１１は、保持している集合データ２２から除去部１４が一部のアイテムを除去すると、一部のアイテムが除去された後のアイテムの集合を再び集合データ２２として記憶する。これにより、元の集合データ２１のデータを損なうことなく、アイテムの集合をユーザＵが入力した条件より絞り込むことができる。
【００３６】
質問データ２３は、問合せ部１３がユーザＵに問い合わせるための質問からなる質問群を記録したデータである。選択部１２は、質問データ２３に記録されている質問群から１つの質問を選択する。
【００３７】
本実施の形態にかかるフィルタ装置１００は、図２に示すように、ハードウェアとして、ＣＰＵ（Central Processing Unit）１１０、ＲＯＭ（Read Only Memory）１１１、ＲＡＭ（Random Access Memory）１１２、記憶装置１２０、ユーザインタフェース１５０を備え、これらが内部バス１９０を介して互いに接続された構成を有する。
【００３８】
ＣＰＵ１１０は、ＲＯＭ１１１、ＲＡＭ１１２および記憶装置１２０が記憶するプログラムを実行することにより、フィルタ装置１００の全体を制御する。ＣＰＵ１１０は、必要に応じてＲＯＭ１１１、ＲＡＭ１１２、記憶装置１２０から実行するプログラムを読み出し、また必要に応じてＲＡＭ１１２、記憶装置１２０上にデータを保存する。
【００３９】
ＲＯＭ１１１は、ＣＰＵ１１０が稼動する上で必要となるプログラム、例えばフィルタ装置１００の起動時にＣＰＵ１１０が最初に実行するプログラム等を記憶する。
【００４０】
ＲＡＭ１１２は、ＣＰＵ１１０がプログラムを実行する際にワークエリアとして機能する。すなわち、ＲＡＭ１１２は、ＣＰＵ１１０が実行中のプログラム、あるいは、ＣＰＵ１１０がプログラムを実行する上で必要となる一時的なデータを記録し、ＣＰＵ１１０からの要求に応じてＣＰＵ１１０に提供する。
【００４１】
記憶装置１２０は、ハードディスクドライブやフラッシュメモリ等の記憶装置を備え、フィルタ装置１００が稼動するために必要なデータを記憶する。記憶装置１２０は、例えば、ＣＰＵ１１０が実行するためのプログラム、あるいはＣＰＵ１１０がプログラムを実行する上で参照するデータを記録し、ＣＰＵ１１０からの要求に応じてＣＰＵ１１０に提供する。また、記憶装置１２０は、ＣＰＵ１１０からの要求に応じ、ＣＰＵ１１０から出力されたデータを記録する。記憶装置１２０には、特に、後述する各データが記録される。
【００４２】
ユーザインタフェース１５０は、フィルタ装置１００が情報をユーザＵに提示し、またユーザＵからの入力操作を受け付けるためのインタフェースである。  ユーザインタフェース１５０は、いろいろな形態で実装可能である。例えば、ユーザインタフェース１５０は、ユーザに質問と回答候補を提示するスピーカと、ユーザからの回答を示す音声入力を拾うマイクを備えるものであってもよい。フィルタ装置１００は、スピーカを介し、質問および質問への回答候補を音声信号としてユーザに提示する。また、ユーザが回答内容を話すと、マイクを通じて入力された音声信号を解析し、受け付ける。この場合、ユーザインタフェース１５０は、マイクおよびスピーカを備える。
【００４３】
これに限られず、ユーザインタフェース１５０は、電話回線への接続インタフェースを備えていてもよい。その場合、フィルタ装置１００は、ユーザインタフェース１５０を介し、電話回線を通じてユーザが保有する電話端末に接続する。フィルタ装置１００は、接続する電話端末のスピーカを介し、質問および質問への回答候補を音声信号としてユーザＵに提示する。また、ユーザＵが、提示された回答候補から１つを選択する回答を、電話端末のプッシュボタンにより入力すると、電話端末は、当該プッシュボタンが押されたことを示す信号を電話回線経由で出力する。フィルタ装置１００は、プッシュボタンが押されたことを示す信号を受領すると、当該信号が示す情報に基づき、ユーザＵからの回答として受領する。
【００４４】
ほかにも、ユーザインタフェース１５０は、フィルタ装置１００をネットワークに接続するためのネットワークインターフェースを備えるものであってもよい。この場合、フィルタ装置１００は、インターネットなどのネットワークを介して接続するユーザＵの端末装置に質問および回答候補を提示する。また、フィルタ装置１００は、ネットワークを介してユーザＵが入力する回答を受領する。
【００４５】
内部バス１９０は、フィルタ装置１００内の構成要素（ＣＰＵ１１０、ＲＯＭ１１１、ＲＡＭ１１２、記憶装置１２０、ユーザインタフェース１５０等）間での情報のやり取りを中継する。例えば、ＣＰＵ１１０が必要なデータを記憶装置１２０から読み出すとき、ＣＰＵ１１０は、内部バス１９０を介して記憶装置１２０からデータを読み出す。
【００４６】
フィルタ装置１００は、ここまで述べた各ハードウェアを協同して動作させることにより、前述した各機能を実現する要素（記憶部１１、選択部１２、問合せ部１３、除去部１４）として機能する。
【００４７】
記憶装置１２０には、図３に示されるように、元の集合データ２１と、集合データ２２と、質問データ２３と、が記録される。さらに記憶装置１２０には、質問回答統計データ２４が任意の構成要素として記録されていてもよい。記憶装置１２０には、他にもフィルタ装置１００が稼働するうえで必要となるプログラムなどのデータが記録されるが、図３には明示しない。
【００４８】
質問回答統計データ２４は、質問データ２３に記録されている質問の各回答について、それまでに選択されてきた回数を記録したデータである。フィルタ装置１００は、ユーザＵを含む多くのユーザによって入力された回答を質問回答統計データ２４に記録し、のちにユーザＵに提示する質問および回答候補の選択に活用する。フィルタ装置１００は、ユーザＵだけでなく、他のユーザにより入力された回答も記録されたデータを用いて質問を選択することにより、より効果的にアイテムを抽出することを可能とする。
【００４９】
元の集合データ２１には、図４に示すように、ユーザＵのクレジットカードが用いられた決済の内容を記録したレコード２１ａが記録される。レコード２１ａには、クレジットカードが利用された日時を示すデータＩ０１、そのクレジットカードの利用金額を示すデータＩ０２、クレジットカードが利用された場所を示すデータＩ０３、クレジットカードによる支払が行われた通貨を示すデータＩ０４、クレジットカードが利用された店舗名を示すデータＩ０５、利用店舗名の頭文字を示すデータＩ０６、などが含まれる。元の集合データ２１には、レコード２１ａのように、決済の内容を記録したレコードが多数記録される。また、集合データ２２においても、同様に、レコード２１ａのようなレコードが多数記録される。
【００５０】
質問データ２３には、図５に示すように、質問内容と、その質問への回答候補と、回答候補が選択された場合に集合データ２２から除去されるアイテムの数とが対応付けられて記録される。図５に示した例においては、Ｎｏ．１の欄に、抽出対象となるクレジットカードの利用が今年に行われたか否かを問う質問が記録されている。また、その回答候補として、ＹＥＳおよびＮＯの選択肢が記録されている。さらに、ＹＥＳの回答候補に対応付けて、ＹＥＳの回答があった場合に除去されるアイテム数が６８であること、および、ＮＯの回答候補に対応付けて、ＮＯの回答があった場合に除去されるアイテム数が２３であることが記録されている。
【００５１】
質問データ２３に記録される質問は、二択の質問に限られない。例えば、図５では、Ｎｏ．２の欄には、利用した時期がいつであるかを問う質問が記録されている。その質問については、回答候補として「直近２か月以内」「直近６か月以内」「直近１年以内」「１年以上前」の４候補が記録されており、それぞれに対応付けて除去されるアイテム数も記録されている。
【００５２】
質問データ２３に記録される質問および回答候補は、予め設定されているものであってもよいし、また、動的に生成されるものであってもよい。また、質問はあらかじめ設定されており、集合データ２２の状況に応じてフィルタ装置１００が動的に回答候補を生成するものであってもよい。
【００５３】
質問データ２３に記録される質問および回答候補が予め設定されているものである場合、フィルタ装置１００は質問回答統計データ２４を利用するものであってもよい。質問回答統計データ２４には、図６に示すように、質問データ２３に記録されている各回答候補について、ユーザにより回答された回数、および、その質問がなされたときにその回答候補が回答された割合が記録される。図６の例では、Ｎｏ．１の質問において、過去、ＹＥＳの回答候補が２６回ユーザにより選択されており、ＮＯの回答候補が１５回選択されたことが記録されている。それと同様、Ｎｏ．１の質問を提示した場合、過去、ＹＥＳが回答される割合が０．６３４、ＮＯが回答される割合が０．３６６であることが記録されている。
【００５４】
質問回答統計データ２４は、選択部１２が質問を選択する際に、除去されるアイテム数の期待値を算出する際に利用される。
【００５５】
フィルタ装置１００は、ユーザＵによる開始操作を受けて、図７に示すアイテム抽出処理を実行する。アイテム抽出処理の各ステップの動作は、フィルタ装置１００のＣＰＵ１１０がプログラムを実行することにより実現される。アイテム抽出処理により、フィルタ装置１００は、元の集合データ２１に記録されているアイテムから、ユーザＵが入力する条件に合致するアイテムを抽出し、ユーザＵに提示する。
【００５６】
アイテム抽出処理の最初に、フィルタ装置１００は、元の集合データ２１に記録されているアイテムを、集合データ２２にコピーする（ステップＳ１０）。フィルタ装置１００は、記憶装置１２０から元の集合データ２１に記録されているデータを読み出し、読み出したデータを記憶装置１２０に集合データ２２として記録する。
【００５７】
次にフィルタ装置１００は、集合データ２２および質問データ２３を参照し、質問データ２３に記録されている各質問について、それぞれの回答候補がユーザＵにより回答された場合に除去されるアイテム数を算出する（ステップＳ２０）。具体的には、フィルタ装置１００は、質問データ２３に記録されている質問を一つ読み出し、その質問に対応付けて記録されている回答候補を読み出す。フィルタ装置１００は、読み出した質問に、ユーザＵが読み出された回答候補を選択した場合に集合データ２２から除去されるアイテム数を、読み出された回答候補のそれぞれについて算出し、質問データ２３に記録する。
【００５８】
次に、フィルタ装置１００は、ユーザＵに提示する質問を選択する（ステップＳ３０）。フィルタ装置１００は、質問データ２３に記録されている各質問について、その質問をすることにより集合データ２２から除去されるアイテム数の期待値を算出する。フィルタ装置１００は、算出された期待値が最多となる質問を選択する。期待値の算出方法については後述する。ステップＳ３０を実行することにより、ＣＰＵ１１０は、選択部１２としての機能を実現する。
【００５９】
次に、フィルタ装置１００は、選択された質問および回答候補をユーザＵに提示する（ステップＳ４０）。フィルタ装置１００は、ユーザインタフェース１５０を介し、選択された質問およびその質問への回答候補をユーザＵに提示する。
【００６０】
次に、フィルタ装置１００は、ユーザＵによる回答を受け付ける（ステップＳ５０）。フィルタ装置１００は、ユーザインタフェース１５０を介してユーザＵにより入力された操作を受領し、それにより入力された回答を判別する。ステップＳ４０およびＳ５０を実行することにより、ＣＰＵ１１０は、問合せ部１３としての機能を実現する。
【００６１】
次に、フィルタ装置１００は、受け付けた回答に基づいて、集合データ２２からアイテムを除去する（ステップＳ６０）。フィルタ装置１００は、集合データ２２から、ユーザＵによる回答に合致しないアイテムを削除する。ステップＳ６０を実行することにより、ＣＰＵ１１０は、除去部１４としての機能を実現する。
【００６２】
次に、フィルタ装置１００は、集合データ２２が、ユーザＵに内容を提示するための所定の条件を充足しているか否かを判定する（ステップＳ７０）。所定の条件とは、例えば集合データ２２に記録されているアイテムの数が規定の数以下であること、または、ステップＳ１０で元の集合データ２１から集合データ２２にデータがコピーされてからアイテムの除去（ステップＳ６０の処理）が行われた回数が規定の回数以上であること、などである。
【００６３】
ステップＳ７０で、集合データ２２が所定の条件を充足していないと判定した場合（ステップＳ７０：ＮＯ）、フィルタ装置１００は、処理をステップＳ２０に戻し、再びステップＳ２０以降の処理を実行する。
【００６４】
一方、ステップＳ７０で、集合データ２２が所定の条件を充足していると判定した場合（ステップＳ７０：ＹＥＳ）、フィルタ装置１００は、集合データ２２に記録されているアイテムをユーザＵに提示する（ステップＳ８０）。フィルタ装置１００は、ステップＳ８０を終えると、アイテム抽出処理を終了する。
【００６５】
ここまで述べたアイテム抽出処理において、ＣＰＵ１１０は、記憶装置１２０に集合データ２２（アイテムを含む集合）を記憶する。これにより、ＣＰＵ１１０および記憶装置１２０が連携して動作することにより、記憶部１１としての機能を提供する。
【００６６】
このアイテム抽出処理を実行することにより、フィルタ装置１００は、複数のアイテムが記録されたデータから、ユーザＵによる入力に従って抽出したアイテムをユーザＵに提示する。例えばユーザＵが、自身が使ったクレジットカードによる特定の決済に関する情報を確認したいが、具体的な内容を正確に記憶していない場合、フィルタ装置１００を用いてアイテムを抽出することにより、対象となる決済を絞り込むことができる。この間、フィルタ装置１００は、ユーザＵに、決済のおよその時期や価格帯、決済通貨など、購入履歴を効果的に絞り込むための質問を提示し、ユーザＵによる回答を受け付ける。フィルタ装置１００は、母集団となる集合データの状況に応じて、効果的に絞り込むことができる質問を選択するため、ユーザＵにかかる負担を軽減することができる。
【００６７】
アイテム抽出処理のステップＳ３０において、フィルタ装置１００の選択部１２は、質問データ２３に記録されている各質問について、回答により集合データ２２に記録されているアイテムの集合から除去されるアイテムの数の期待値を算出し、比較する。この点について、図８Ａに示される質問データ２３ａ、および図８Ｂに示される質問回答統計データ２４ａを例に説明する。
【００６８】
図８Ａに示されている質問データ２３ａにおいては、一つの質問と、その質問に対する４つの回答候補と、各回答候補により除去されるアイテムの数が記録されている。質問データ２３ａには、対象となるアイテム（決済の記録）におけるクレジットカードの利用額を問う質問が記録されており、その回答候補として「１円〜３０００円」「３０００円〜１００００円」「１００００円〜３００００円」「それ以上」の４つが記録されている。また、質問データ２３ａには、各回答候補が回答された場合に、それぞれ除去されるアイテム数が「２６」「５１」「１１」「３」であることが記録されている。
【００６９】
図８Ｂに示されている質問回答統計データ２４ａにおいては、図８Ａに示された質問データ２３ａに記録されている同じ回答候補について、それぞれ過去に回答された回数および回答された割合が記録されている。すなわち、回答候補の「１円〜３０００円」「３０００円〜１００００円」「１００００円〜３００００円」「それ以上」のそれぞれについて、回答された回数が「１２」「２７」「６７」「４５」であること、またその割合が「０．０７９」「０．１７９」「０．４４４」「０．２９８」であることが記録されている。
【００７０】
質問データ２３ａおよび質問回答統計データ２４ａに基づき、フィルタ装置１００は、対象となるアイテムにおけるクレジットカードの利用額を問う質問により除去されるアイテムの数の期待値を、以下のように算出する。
【００７１】
フィルタ装置１００は、回答候補「１円〜３０００円」をユーザＵが選択した場合に除去されるアイテムの数である「２６」、および、過去に回答候補「１円〜３０００円」が回答された割合である「０．０７９」を乗じた値を計算し、この回答候補について期待値を「２．０５４」を算出する。同様に、回答候補「３０００円〜１００００円」「１００００円〜３００００円」「それ以上」のそれぞれについて、期待値を「９．１２９」「４．８８４」「０．８９４」と算出する。そのうえで、これらの総和「１６．９６１」を、この質問をした場合に除去されるアイテム数の期待値として算出する。
【００７２】
一般化すると、質問Ｑに対して回答候補Ａ１、Ａ２〜ＡＮがあり、各回答候補により除去されるアイテム数がそれぞれＬ１、Ｌ２〜ＬＮ、また各回答候補が回答される割合をＰ１、Ｐ２〜ＰＮとする。この場合、フィルタ装置１００は、質問Ｑをした場合に除去されるアイテム数の期待値として、Ｌ１×Ｐ１＋Ｌ２×Ｐ２〜ＬＮ×ＰＮの数値を算出する。
【００７３】
フィルタ装置１００は、質問データ２３に記録されている各質問について、それぞれ除去されるアイテム数の期待値を算出し、その値が最多である質問を選択する。フィルタ装置１００は、除去されるアイテム数が高い質問を選択してユーザＵに提示するため、アイテムの集合から、効率よくアイテムを抽出することが可能となる。
【００７４】
各回答候補が回答される割合をＰ１、Ｐ２〜ＰＮとした場合に、Ｐ１からＰＮの総和が必ずしも１にならなくともよい。ユーザがどの回答候補も選ばないケースが生じうるからである。その場合、ユーザがどの回答候補も選ばない割合をＰ０とし、Ｐ０〜ＰＮの総和が１となるように取り扱ってもよい。ユーザがどの回答候補も選ばなかった場合は、フィルタ装置１００は集合データ２２からアイテムを除去しないとすると、その場合のＬ０の値はゼロとなる。
【００７５】
また、ここまで述べた実施の形態では、除去部１４は、ユーザによる回答に該当しないアイテムを集合データ２２から除去している。しかし、フィルタ装置１００が用いられる状況においては、ユーザＵは、対象となるアイテムの詳細な内容を正確に把握していないことが想定される。そのため、除去部１４は、ユーザによる回答に該当しないアイテムであっても、回答に類似する内容のアイテムであれば、集合データ２２に残すものであってもよい。言い換えると、除去部１４は、集合データ２２に含まれるユーザによる回答に該当しないアイテムが、ユーザによる回答に類似するか否かを判定し、当該類似しないと判定したアイテムのみを集合データ２２から除去するものであってもよい。
【００７６】
例えば、図８Ａにおいて示された質問データ２３ａにおいては、回答候補として４つ「１円〜３０００円」「３０００円〜１００００円」「１００００円〜３００００円」「それ以上」が記録されている。しかし、ユーザＵが、質問データ２３ａの質問がなされた場合に、念頭に置いている決済での利用価格が３０００円前後であった場合に、回答候補「１円〜３０００円」と「３０００円〜１００００円」の選択肢で選択を誤る場合がある。例えばユーザＵが抽出したいアイテムでの利用価格が「２９８０円」である一方、ユーザＵが誤って「３０００円〜１００００円」を選択してしまうケースも想定される。このような場合に備え、フィルタ装置１００は、回答に「該当する範囲」のほかに「類似する範囲」を規定するものであってもよい。
【００７７】
具体的には、例えば質問データ２３ａの回答候補「１円〜３０００円」について、該当する範囲として「１円〜３０００円」、および類似する範囲として「３０００円〜４０００円」といった範囲をフィルタ装置１００は規定する。ユーザＵが、質問に対して「１円〜３０００円」を選択する回答をした場合、フィルタ装置１００は、集合データ２２から、「１円〜３０００円」の範囲にも「３０００円〜４０００円」の範囲にも該当しないアイテムを除去する。そのため、ユーザＵが回答した内容に誤りがあった場合にも、フィルタ装置１００は、ユーザＵが意図するアイテムを集合データ２２に残すことができる。
【００７８】
フィルタ装置１００が、ユーザの回答に該当するアイテムおよび類似するアイテムを集合データ２２に残し、それ以外のアイテムを集合データ２２から除去する場合、アイテム抽出処理のステップＳ２０の処理（除去されるアイテム数の算出）も同様に、類似するアイテムは集合データ２２に残す前提で計算される。
【００７９】
ここまで述べた実施の形態では、質問データ２３に記録されているデータはあらかじめ設定されており、その中から選択部１２が質問を選択するものであった。しかし、フィルタ装置１００はこれに限られず、ユーザＵに提示する質問を、集合データ２２の状態に応じて動的に生成するものであってもよい。この場合、フィルタ装置１００は生成した質問を質問データ２３に追加したうえで、除去されるアイテム数の期待値によって質問データ２３に記録されている質問群から質問を選択する。
【００８０】
質問および回答候補を生成する場合、フィルタ装置１００が１つの質問に対して生成する回答候補の数は、２から４などの範囲内であらかじめ定められている。生成する回答候補の数は、集合データ２２に記録されているアイテムを、グループに分類する数である。フィルタ装置１００の選択部１２は、各グループに分類されたアイテムの数が、他のグループに分類されたアイテムの数との関係において所定の基準を満たすように、質問および回答候補を生成する。所定の基準とは、例えば、各グループに分類されたアイテムの数の比が所定の範囲内であることなどである。
【００８１】
具体例として、フィルタ装置１００は、対象となるアイテム（決済の記録）におけるクレジットカードの利用額を問う質問と、その利用額の範囲を回答候補として提示するものとする。また、提示する回答候補の数は４であるとする。
【００８２】
この場合、フィルタ装置１００は、集合データ２２に属するアイテムにおける「利用額」のデータを解析し、その利用額に基づいてアイテムをソートする。そのうえでフィルタ装置１００は、ソートされたアイテムにおいて、利用額が下位４分の１に属するアイテムのなかで最も利用額が大きいアイテムを特定し、その利用額を記録する。ここで、特定された利用額を「Ｄ１」とする。フィルタ装置１００は同様に、ソートされたアイテムにおいて利用額が下位２分の１に属するアイテムのなかで最も利用額が大きいアイテムの利用額「Ｄ２」およびソートされたアイテムにおいて利用額が下位４分の３に属するアイテムのなかで最も利用額が大きいアイテムの利用額「Ｄ３」を特定する。
【００８３】
Ｄ１〜Ｄ３を特定したうえで、フィルタ装置１００は、「１円〜Ｄ１円」「Ｄ１円〜Ｄ２円」「Ｄ２円〜Ｄ３円」「それ以上」の４つの回答候補を生成する。回答候補を生成すると、フィルタ装置１００は、生成した質問セット（クレジットカードの利用額を問う質問と、生成した４つの回答候補）とを質問データ２３に記録する。そののち、フィルタ装置１００は質問データ２３に記録されている各質問から、期待値に基づいて質問を選択する。
【００８４】
フィルタ装置１００が、集合データ２２の状況に応じて質問および回答候補を動的に生成することにより、集合データ２２に含まれるアイテムの状況を反映した質問をユーザＵに提示することが可能になる。そのため、より効率よくアイテムを絞り込むことが可能となる。
【００８５】
ここまで述べた実施の形態では、フィルタ装置１００は、質問回答統計データ２４を記録し、ユーザＵとは異なる入力者により回答が入力された割合に基づいて、除去されるアイテムの数の期待値を算出した。しかし、除去されるアイテムの数の期待値の算出方法は任意である。例えば、クレジットカードの利用額を問う質問であれば、各回答候補に記録されている利用額の範囲の幅などに基づいて期待値を算出してもよい。
【００８６】
また、アイテムがクレジットカードの利用履歴である場合、そのアイテムは、購入された商品を示す情報、および、購入された商品の色を示すデータを記録したレコードとなる。その場合、選択部１２は、そのレコードに記録されている商品の色を示すデータにかかわる選択をするものであってもよい。
【００８７】
具体的には、元の集合データ２１および集合データ２２に含まれるレコードにおいて、クレジットカードにより購入された商品を示す情報と、その商品の画像データとが記録されているものであってもよい。この場合、フィルタ装置１００は、記録されている画像データを解析し、対象商品の色を示すデータを生成して各レコードに記録する。
【００８８】
質問データ２３には、各アイテム（レコード）に記録されている対象商品の色を示すデータに基づいてアイテムを抽出する質問（例えば、「購入された商品は赤系の色であるか？」など）が記録される。これにより、フィルタ装置１００は、視覚的なイメージに基づく質問により、ユーザＵによる回答を受け付け、アイテムを絞り込むことができる。
【００８９】
本発明の実施の形態にかかるフィルタ装置は、１台で実現されるものに限定されない。複数のコンピュータが上述した各部の機能を分担することにより、それらの複数のコンピュータからなる１つのシステムとして各機能を提供するものであってもよい。
【００９０】
また、ここまで述べた実施の形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内およびそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【符号の説明】
【００９１】
１１：記憶部
１２：選択部
１３：問合せ部
１４：除去部
２１：元の集合データ
２２：集合データ
２３：質問データ
２４：質問回答統計データ
１００：フィルタ装置
１１０：ＣＰＵ
１１１：ＲＯＭ
１１２：ＲＡＭ
１２０：記憶装置
１５０：ユーザインタフェース
１９０：内部バス
Ｕ：ユーザ
【図１】
0006450051.tif 000002
【図２】
0006450051.tif 000003
【図３】
0006450051.tif 000004
【図４】
0006450051.tif 000005
【図５】
0006450051.tif 000006
【図６】
0006450051.tif 000007
【図７】
0006450051.tif 000008
【図８Ａ】
0006450051.tif 000009
【図８Ｂ】
0006450051.tif 000010