JP5928446B2 - 情報検索システム、情報検索方法および情報検索プログラム - Google Patents

情報検索システム、情報検索方法および情報検索プログラム Download PDF

Info

Publication number
JP5928446B2
JP5928446B2 JP2013505861A JP2013505861A JP5928446B2 JP 5928446 B2 JP5928446 B2 JP 5928446B2 JP 2013505861 A JP2013505861 A JP 2013505861A JP 2013505861 A JP2013505861 A JP 2013505861A JP 5928446 B2 JP5928446 B2 JP 5928446B2
Authority
JP
Japan
Prior art keywords
information
attribute
registration
list
attribute name
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.)
Expired - Fee Related
Application number
JP2013505861A
Other languages
English (en)
Other versions
JPWO2012127986A1 (ja
Inventor
健太郎 山崎
健太郎 山崎
弘司 喜田
弘司 喜田
正文 渡部
正文 渡部
佑嗣 小林
佑嗣 小林
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JPWO2012127986A1 publication Critical patent/JPWO2012127986A1/ja
Application granted granted Critical
Publication of JP5928446B2 publication Critical patent/JP5928446B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24573Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Library & Information Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、属性名と属性値とを有する属性情報を1つ以上含んだ登録情報と評価情報とを比較することで、評価情報にマッチする登録情報を検索する情報検索技術に関する。
属性名と属性値とを有する属性情報を1つ以上含んだ登録情報の中から、所望の条件(評価情報)にマッチする情報を検索する情報検索システムが知られている。
例えば特許文献1に記載の情報検索方法は、複数の属性のうち転置配列の検索順序の先頭の転置配列に対応する1つの属性について、当該転置配列と検索キーと関連度評価関数とに基づいて、その探索範囲に含まれるデータ群を取得する。そしてこの検索方法は、所定の停止条件を満足するまで、転置配列の検索順序に従って、属性毎に次の探索処理を実行する。その探索処理では、対応する属性について、その転置配列と上記検索キーと上記関連度評価関数とに基づいて、上記探索範囲に含まれるデータ群が取得される処理が行われる。取得されたこれらのデータ群は個別解候補集合である。この検索方法は、これらの個別解候補集合と現在の解候補集合とを併合し、新たな解候補集合を生成する。
特開平11−296524号公報
特許文献1に記載の情報検索方法は、属性間で単一の方法を用いることでデータの探索範囲を特定している。従って特許文献1に記載の情報検索方法は、属性毎に行うデータの探索処理の負荷が大きい場合に、適切な計算量またはメモリ量でその処理を実行できないという問題がある。
本発明は、属性毎に行う処理の負荷が大きい場合でも、適切な計算量またはメモリ量でデータの探索処理を実行できる情報検索システム、情報管理装置、方法、および、プログラムを提供することを目的の一つとする。
本発明の一態様による第一の情報検索システムは、属性名と属性値とを有する属性情報を一つ以上含む登録情報を受け取り、所定の属性名のそれぞれに対して、各属性名を当該登録情報に含まれる属性情報が有するか否かに応じて異なる、第一の情報処理を行うことによって、当該登録情報に対応する登録キーを生成する組み合わせ展開処理手段と、属性情報を一つ以上含む評価情報を受け取り、当該評価情報に含まれる属性情報のそれぞれに対して、所定の属性名を有するか否かに応じて異なる、第二の情報処理を行うことによって、登録キーとの比較により当該登録キーに対応する登録情報を検索するための検索キーを生成する情報検索手段と、を備える。
本発明の一態様における第一の情報検索方法は、属性名と属性値とを有する属性情報を一つ以上含む登録情報を受け取り、所定の属性名のそれぞれに対して、各属性名を当該登録情報に含まれる属性情報が有するか否かに応じて異なる、第一の情報処理を行うことによって、当該登録情報に対応する登録キーを生成し、属性情報を一つ以上含む評価情報を受け取り、当該評価情報に含まれる属性情報のそれぞれに対して、所定の属性名を有するか否かに応じて異なる、第二の情報処理を行うことによって、登録キーとの比較により当該登録キーに対応する登録情報を検索するための検索キーを生成する。
本発明の一態様における第一の情報検索プログラムは、コンピュータに、属性名と属性値とを有する属性情報を一つ以上含む登録情報を受け取り、所定の属性名のそれぞれに対して、各属性名を当該登録情報に含まれる属性情報が有するか否かに応じて異なる、第一の情報処理を行うことによって、当該登録情報に対応する登録キーを生成する処理と、属性情報を一つ以上含む評価情報を受け取り、当該評価情報に含まれる属性情報のそれぞれに対して、所定の属性名を有するか否かに応じて異なる、第二の情報処理を行うことによって、登録キーとの比較により当該登録キーに対応する登録情報を検索するための検索キーを生成する処理と、を実行させる。
本発明の効果の一例は、属性毎に行う処理の負荷が大きい場合でも、適切な計算量またはメモリ量でデータの探索処理を実行できることである。
図1は、本発明の第一の実施の形態における情報検索システムの構成を示すブロック図である。 図2は、登録情報および評価情報の一例を示す図である。 図3は、ワイルドカードを含む登録情報の一例を示す図である。 図4は、ワイルドカードを含まない登録情報の一例を示す図である。 図5は、本発明の第一の実施の形態における組み合わせ展開判定部が備える構成の一例を示すブロック図である。 図6は、組み合わせ展開対象属性名指定リストの一例を示す図である。 図7は、登録情報の一例を示す図である。 図8は、組み合わせ展開対象属性名リストの一例を示す図である。 図9は、本発明の第一の実施の形態における組み合わせ展開処理部が備える構成の一例を示すブロック図である。 図10は、組み合わせ展開対象属性値リストの一例を示す図である。 図11は、組み合わせ展開処理後の登録情報の一例を示す図である。 図12は、本発明の第一の実施の形態における情報登録部が備える構成の一例を示すブロック図である。 図13は、本発明の第一の実施の形態におけるべき集合展開処理部の構成の一例を示すブロック図である。 図14は、評価情報の一例を示す図である。 図15は、べき集合展開対象属性情報リストの一例を示す図である。 図16は、非べき集合展開対象属性情報リストの一例を示す図である。 図17は、べき集合展開対象展開リストの一例を示す図である。 図18は、べき集合展開処理後の評価対象情報の一例を示す図である。 図19は、本発明の第一の実施の形態における情報検索部の構成の一例を示すブロック図である。 図20は、本発明の第一の実施の形態における情報検索システムの動作において、情報登録フローの動作を示すフローチャートである。 図21は、情報登録フローにおける組み合わせ展開判定処理の動作を示すフローチャートである。 図22は、情報登録フローにおける組み合わせ展開処理の動作を示すフローチャート図である。 図23は、本発明の第一の実施の形態における情報検索システムの動作において、情報評価フローの動作を示すフローチャートである。 図24は、本発明の第二の実施の形態における情報検索システムの構成を示すブロック図である。 図25は、本発明の第二の実施の形態における組み合わせ展開対象属性名指定リスト作成部の構成の一例を示すブロック図である。 図26は、属性値数リストの一例を示す図である。 図27は、本発明の第二の実施の形態における情報検索システムの動作において、組み合わせ展開対象属性名指定リスト作成部の動作を示すフローチャートである。 図28は、本発明の第三の実施の形態における情報検索システムの構成を示すブロック図である。 図29は、本発明の第三の実施の形態における情報検索システムとその周辺装置のハードウェア構成を示す図である。 図30は、本発明の第三の実施の形態における情報検索システムの動作の概要を示すフローチャートである。
本発明を実施するための形態について図面を参照して詳細に説明する。なお、各図面および明細書記載の各実施の形態において、同様の機能を備える構成要素には同様の符号が与えられている。
[第一の実施の形態]
図1は、本発明の第一の実施の形態における情報検索システム10の構成を示すブロック図である。
図1を参照すると、情報検索システム10は、登録情報受信部101と、組み合わせ展開対象属性名指定リスト記憶部102と、組み合わせ展開判定部103と、組み合わせ展開処理部104と、情報登録部105と、情報記憶部106と、評価情報受信部107と、べき集合展開処理部108と、情報検索部109と、を備える。
第一の実施の形態における情報検索システム10は、登録情報の登録要求を受け、所定の属性名のそれぞれに対して、各属性名を前述の登録情報に含まれる属性情報が有するか否か判定する(第一の判定)。そして情報検索システム10は、第一の判定の結果に応じて異なる第一の情報処理を行うことによって、前述の登録情報に対応する登録キーを生成する。また情報検索システム10は、検索要求として評価情報を受け取り、その評価情報に含まれる属性情報のそれぞれに対して、所定の属性名を有するか否か判定する(第二の判定)。そして情報検索システム10は、第二の判定の結果に応じて異なる第二の情報処理を行うことによって、前述の評価情報に対応する検索キーを生成する。そして情報検索システム10は、その検索キーと一致する登録キーに対応する登録情報を検索することができる。
この構成により第一の実施の形態における情報検索システム10は、属性毎に行う処理の負荷が大きい場合でも、適切な計算量またはメモリ量でデータの探索処理を実行できる。
図2は、登録情報の一例を示す図である。図2を参照すると、登録情報は、一つ以上の属性情報を含んでおり、この属性情報は、属性名と属性値との組を有する。図2に示される登録情報は、「20歳の男で東京にいる人」を表す。
また、図2は、評価情報の一例も示している。評価情報は、一つ以上の属性情報を含んでいる。
第一の実施の形態における情報検索システム10は、ワイルドカードを含む登録情報の登録が可能である。図3は、ワイルドカードを含まない登録情報の一例を示す図であり、図4は、ワイルドカードを含む登録情報との一例を示す図である。ワイルドカードとは、対応する属性情報の属性値が任意でよいことを示す情報である。
本発明において、情報検索システム10が扱うすべての属性情報が、性別、年齢、場所の3つの場合、図3に示されるようなすべての属性情報を含んでいる登録情報は、ワイルドカードを含まない登録情報と称される。また、前述の例の場合に、図4に示されるようなすべての属性情報を含んでいない登録情報は、ワイルドカードを含む登録情報と称される。
図4に示される、ワイルドカードを含む登録情報は、「20代の男」を表す。このような登録情報が登録される際に、図2に示される、「20歳の男で東京にいる人」を表す評価情報が入力されたと仮定する。この場合、「20歳の男で東京にいる人」の集合は、「20代の男」の集合に包含されている。すなわち、「20歳の男で東京にいる人⊂20代の男」という関係が成立する。したがって情報検索システム10は、図4に示される登録情報を取得する。
===登録情報受信部101===
登録情報受信部101は、登録情報を図示しない外部装置または情報検索システム10が備える機能手段から受け取る。そして登録情報受信部101は、受け取った登録情報を、後述の組み合わせ展開判定部103に渡す。図2は、登録情報受信部101が受け取る登録情報の一例を示す図である。登録情報受信部101が受信する登録情報は、一つ以上の属性情報を含んでいる。またこの登録情報は、図4に示されるようにワイルドカードを含んでいてもよい。
===組み合わせ展開対象属性名指定リスト記憶部102===
組み合わせ展開対象属性名指定リスト記憶部102は、組み合わせ展開処理を行う対象の属性名が指定されるリストである組み合わせ展開対象属性名指定リストを記憶する。本発明では、組み合わせ展開対象属性名指定リストは、指定リストとも称される。また、本発明において、組み合わせ展開対象属性名指定リスト記憶部102は、指定リスト記憶部とも称される。組み合わせ展開処理とは、所定の属性情報間でそれぞれが有する各属性値が取り得る値のすべての組み合わせを求める処理である。
図6は、組み合わせ展開対象属性名指定リスト記憶部102が記憶する組み合わせ展開対象属性名指定リストの一例を示す図である。
図6を参照すると、組み合わせ展開対象属性名指定リストは、情報検索システム10がInterest(興味)、Gender(性別)およびTerminal(端末状態)の属性名を有する属性情報に対して組み合わせ展開処理を行うこと、を示している。
===組み合わせ展開判定部103===
組み合わせ展開判定部103は、登録情報受信部101から登録情報を受け取る。そして組み合わせ展開判定部103は、受け取った登録情報と後述の組み合わせ展開対象属性名リストとを、後述の組み合わせ展開処理部104に渡す。
組み合わせ展開判定部103は、組み合わせ展開対象属性名指定リスト記憶部102が記憶している組み合わせ展開対象属性名指定リストを取得する。そして組み合わせ展開判定部103は、組み合わせ展開対象属性名指定リストに含まれる属性名のうち、登録情報受信部101が受け取る登録情報に含まれる属性情報が有する属性名を除いた属性名を含む情報である、組み合わせ展開対象属性名リストを生成する。本発明において、この機能は組み合わせ展開対象属性名リスト生成機能と称される。また当該機能は、組み合わせ展開対象属性名リスト生成部131が行う。図5は、組み合わせ展開判定部103が備える構成の一例を示す図である。
本発明において、組み合わせ展開判定部103は、判定部とも称される。また組み合わせ展開対象属性名リストは、属性名リストとも称される。
図8は、図7に示される登録情報が情報検索システム10に入力され、組み合わせ展開対象属性名指定リスト記憶部102が図6に示される組み合わせ展開対象属性名指定リストを記憶する場合の、組み合わせ展開対象属性名リストの一例を示す図である。
図7に示される登録情報に含まれる属性名は、Interest(興味)およびLocation(場所)である。また図6に示される組み合わせ展開対象属性名指定リストが指定する属性名は、Interest(興味)、Gender(性別)およびTerminal(端末状態)である。よって組み合わせ展開判定部103は、Interest(興味)、Gender(性別)およびTerminal(端末状態)からInterest(興味)およびLocation(場所)を除いた組み合わせ展開対象属性名リストを生成する。具体的には組み合わせ展開判定部103は、図8に示されるような、Gender(性別)およびTerminal(端末状態)を含む組み合わせ展開対象属性名リストを生成する。
===組み合わせ展開処理部104===
組み合わせ展開処理部104は、登録情報と組み合わせ展開対象属性名リストとを受け取る。そして組み合わせ展開処理部104は、後述の情報登録部105に組み合わせ展開処理後の登録情報を渡す。「組み合わせ展開処理後の登録情報」の詳細は後述される。図9は、組み合わせ展開処理部104が備える機能を示す図である。図9を参照すると、組み合わせ展開処理部104は、組み合わせ展開対象属性値リスト記憶部141と、組み合わせ生成処理部142とを備える。
組み合わせ展開処理部104は、組み合わせ展開対象属性値リストを組み合わせ展開対象属性値リスト記憶部141に記憶する。組み合わせ展開対象属性値リストとは、組み合わせ展開処理を行う各属性情報の取りえる属性値のリストをその対応する属性名と対応付けた情報である。本発明において当該機能は、組み合わせ展開対象属性値リスト記憶機能と称される。また本発明において、組み合わせ展開対象属性値リストは属性値リストとも称される。
図10は、組み合わせ展開対象属性値リスト記憶機能によって組み合わせ展開対象属性値リスト記憶部141が記憶する、組み合わせ展開対象属性値リストの一例を示す図である。図10を参照すると、組み合わせ展開対象属性値リストは、組み合わせ展開対象属性名指定リストによって指定されている属性名に対応する属性情報が有する属性値が取り得る値が含まれている。
図10に示される組み合わせ展開対象属性値リストは、Interestという属性がMusic、Movie、Sports、Shopping、Cooking、Drive、Game、Computer、TV、Outdoor、NovelおよびComicの12種類の値を持つことを示している。またこの組み合わせ展開対象属性値リストは、Genderという属性がMaleおよびFemaleの2値を持つことを示している。またこの組み合わせ展開対象属性値リストは、Terminalという属性がopenおよびcloseの2値を持つことを示している。
組み合わせ展開処理部104は、組み合わせ展開対象属性名リストに含まれる属性名に対応する組み合わせ展開対象属性値リストを、組み合わせ展開対象属性値リスト記憶部141から取得する。そして組み合わせ展開処理部104は、取得した組み合わせ展開対象属性値リストに含まれる値の組み合わせとそれらの値の属性名とに登録情報を結合した、組み合わせ展開処理後の登録情報を生成する。本発明において、この機能は、組み合わせ生成処理機能または組み合わせ展開処理機能と称される。組み合わせ生成処理機能は、組み合わせ生成処理部142が行う。
例えば、組み合わせ生成処理部142は、図7に示される登録情報と図8に示される組み合わせ展開対象属性名リストとを受け取り、図11に示される組み合わせ展開処理後の登録情報を生成する。組み合わせ生成処理部142は、組み合わせ展開対象属性名リストに含まれるGenderおよびTerminalに対応する組み合わせ展開対象属性値リストGender:{Male,Female},Terminal:[Open,Close]を組み合わせ展開対象属性値リスト記憶部141から取得する。そして、組み合わせ生成処理部142は、取得した組み合わせ展開対象属性値リストの値の組み合わせとそれらの属性名とを含む情報である{Gender=Male,Terminal=Open}、{Gender=Male,Terminal=Close}、
{Gender=Female,Terminal=Open}、および{Gender=Female,Terminal=Close}を生成する。そして、組み合わせ生成処理部142は、図7に示される登録情報
{Interest=Music,Location=Area1}を前述の情報とそれぞれ結合し、4つの組み合わせ展開処理後の登録情報を生成する。具体的には組み合わせ生成処理部142は、
{Interest=Music,Location=Area1,Gender=Male,Terminal=Open}、
{Interest=Music,Location=Area1,Gender=Male,Terminal=Close}、
{Interest=Music,Location=Area1,Gender=Female,Terminal=Open}、および
{Interest=Music,Location=Area1,Gender=Female,Terminal=Close}という4つの組み合わせ展開処理後の登録情報を生成する。組み合わせ生成処理部142は、生成された4つの組み合わせ展開処理後の登録情報を情報登録部105に渡す。
===情報登録部105===
情報登録部105は、組み合わせ展開処理部104から登録情報を受け取る。そして情報登録部105は、受け取った登録情報に基づいて登録キーを生成し、後述の情報記憶部106にその登録キーと登録情報とを関連付けて記憶する。
情報登録部105は、図12に示されるように、登録情報の属性情報を特定の順序にソートするソート部151を備える。この特定の順序とは、例えば属性名または属性値のアルファベット順、五十音順、数値の昇順、数値の降順などが挙げられる。
情報登録部105は、図12に示されるように、ソートされた属性情報を連結し、連結された属性情報に基づいて登録キーを生成するキー生成部152を備える。例えば情報登録部105は、連結された属性情報のハッシュ値を登録キーと特定してもよい。
情報登録部105は、図12に示されるように、後述の情報記憶部106に登録キーと登録情報とを含む登録要求を送る登録部153を備える。
===情報記憶部106===
情報記憶部106は、登録キーと登録情報とを含む登録要求を受け付ける。そして情報記憶部106は、登録キーをキーとして登録情報を記憶する。つまり情報記憶部106は登録キーと対応する登録情報とを対応付けて記憶する。また情報記憶部106は、後述の検索キーを含む検索要求を受け付ける。そして情報記憶部106は、検索キーをキーとして、その検索キーに対応する登録キーに対応付けられて記憶されている登録情報を返す。
情報記憶部106は、例えばハッシュテーブルのようなキーバリューストアであってもよい。
===評価情報受信部107===
評価情報受信部107は、評価情報を受信する。そして評価情報受信部107は、後述のべき集合展開判定部108に、受信した評価情報を渡す。図2は評価情報の一例を示す図である。評価情報受信部107が受信する評価情報は1つ以上の属性情報を含んでいる。属性情報は属性名および属性値を有する。
===べき集合展開処理部108===
べき集合展開処理部108は、評価情報を受け取る。そしてべき集合展開処理部108は、後述の情報検索部109にべき集合展開処理後の評価情報を渡す。本発明では、べき集合展開処理部108は、集合展開処理部とも称される。「べき集合展開処理後の評価情報」の詳細は、後述される。
図13は、べき集合展開処理部108が備える構成の一例を示す図である。
べき集合展開処理部108は、評価情報受信部107から受け取る評価情報と組み合わせ展開対象属性名指定リスト記憶部102から取得する組み合わせ展開対象属性名指定リストを利用して、以下の処理を行う機能を備える。すなわち、べき集合展開処理部108は、評価情報に含まれる属性情報から、組み合わせ展開対象属性名指定リストによって指定される属性名に対応する属性情報を除いた、べき集合展開対象属性情報リストを生成する。また、べき集合展開処理部108は、評価情報に含まれる属性情報から、組み合わせ展開対象属性名指定リストで指定される属性名に対応する属性情報を抽出した、非べき集合展開対象属性情報リストを生成する。本発明においてこれらの機能は評価情報分割機能と称される。当該評価分割機能は、評価情報分割部181が行う。具体的には評価情報分割部181は、評価情報をべき集合展開対象属性情報リストと非べき集合展開対象属性情報リストとに分割する。
図15は、べき集合展開処理部108が生成する、べき集合展開対象属性情報リストの一例である。組み合わせ展開対象属性名指定リスト記憶部102が図6に示される組み合わせ展開対象属性名指定リストを記憶していた場合に、図14に示される評価情報を受け取ったべき集合展開処理部108は、図15の例のべき集合展開対象属性情報リストを生成する。また、図16は、前述の例と同じ場合に生成される、非べき集合展開対象属性情報リストの一例である。
図14に示される評価情報は、
{Interest=Music,Terminal=Open,Location=Area1,Gender=Male,Age=20}である。そして図6に示される組み合わせ展開対象属性名指定リストにはInterest、GenderおよびTerminalが指定されている。そのため評価情報
{Interest=Music,Terminal=Open,Location=Area1,Gender=Male,Age=20}から組み合わせ展開対象属性名指定リストで指定されるInterest、GenderおよびTerminalに対応する属性情報が除かれた{Location=Area1,Age=20}が、図15に示されるべき集合展開対象属性情報リストとなる。また評価情報
{Interest=Music,Terminal=Open,Location=Area1,Gender=Male,Age=20}から組み合わせ展開対象属性名指定リストで指定されるInterest、GenderおよびTerminalに対応する属性情報が抽出された{Interest=Music,Terminal=Open,Gender=Male}が、図16に示される非べき集合展開対象属性情報リストとなる。
べき集合展開処理部108は、生成されたべき集合展開対象属性情報リストに含まれる属性情報を要素とする集合のべき集合を生成する。そしてべき集合展開処理部108は、べき集合の各要素をリストとして含むべき集合展開対象展開リストを生成する。本発明においてこれらの機能は部分べき集合生成機能と称される。またこれらの機能は部分べき集合生成部182によって実現される。具体的には、部分べき集合生成部182は、べき集合展開対象属性情報リストを受け取る。そして部分べき集合生成部182は、受け取ったべき集合展開対象属性情報リストに含まれる属性情報を要素とする集合のべき集合を生成する。そして部分べき集合生成部182は、べき集合の各要素をリストに含む、べき集合展開対象展開リストを生成する。
例えば、べき集合展開処理部108は、図15に示される、べき集合展開対象属性情報リストを受け取った場合、以下の処理を行う。すなわち、べき集合展開処理部108は、べき集合展開対象属性情報リストに含まれる属性情報を要素とする集合
{Location=Area1,Age=20}のべき集合
{{φ},{Location=Area1},{Age=20},{Location=Area1,Age=20}}を生成する。そしてべき集合展開処理部108は、生成したべき集合をべき集合展開対象展開リストと特定する。図17は、べき集合展開処理部108が特定したべき集合展開対象展開リストの一例を示す図である。
また、べき集合展開処理部108は、べき集合展開対象展開リストと非べき集合展開対象属性情報リストとに基づいて、べき集合展開対象展開リストに非べき集合展開対象属性情報リストを合成させたべき集合展開処理後の評価情報を生成する。本発明において、この機能は、非べき展開属性合成機能と称される。また当該機能は、非べき展開属性合成部183が行う。
例えば、べき集合展開処理部108は、図17に示されるべき集合展開対象展開リスト{{φ},{Location=Area1},{Age=20},{Location=Area1,Age=20}}と図16に示される非べき集合展開対象属性情報リスト{Interest=Music,Terminal=Open,Gender=Male}を生成する場合、以下の処理を行う。すなわち、べき集合展開処理部108は、べき集合展開対象展開リストに非べき集合展開対象属性情報リストを合成する。そしてべき集合展開処理部108は、べき集合展開処理後の評価情報である
{Interest=Music,Terminal=Open,Gender=Male},{Location=Area1,Interest=Music,Terminal=Open,Gender=Male},{Age=20,Interest=Music,Terminal=Open,Gender=Male},および{Location=Area1,Age=20,Interest=Music,Terminal=Open,Gender=Male}を得る。図18は、べき集合展開処理部108が取得するべき集合展開処理後の評価情報の一例を示す情報である。
===情報検索部109===
情報検索部109は、図19に示されるように、べき集合展開処理後の評価情報の属性情報を特定の順序にソートするソート部191を備える。この特定の順序とは、例えば属性名または属性値のアルファベット順、五十音順、数値の昇順、数値の降順などが挙げられる。
情報検索部109は、図19に示されるように、ソートされた属性情報を連結し、連結された属性情報に基づいて検索キーを生成するキー生成部192を備える。例えば情報検索部109は、連結された属性情報のハッシュ値を検索キーと特定してもよい。
情報検索部109は、図19に示されるように、生成された検索キーを含む検索要求を情報記憶部106に渡す検索部193を備える。
本発明の第一の実施の形態において、組み合わせ展開判定部103、組み合わせ展開処理部104および情報登録部105は、まとめて第一の展開処理部とも称される。また、本発明の第一の実施の形態において、べき集合展開処理部108および情報検索部109はまとめて第二の展開処理部とも称される。本発明の第二の実施の形態においても、上記事項は同様である。
次に、第一の実施の形態における情報検索システム10の動作について図面を参照して詳細に説明する。
第一の実施の形態における情報検索システム10の全体の動作は、登録情報の登録を行う情報登録フローと、評価情報に対してマッチする登録情報を検索する情報評価フローに大きく分けられる。
図20は、第一の実施の形態における情報検索システム10の動作において、情報登録フローの動作を示すフローチャートである。
登録情報受信部101は、1つ以上の属性情報を含む登録情報を受け取る(ステップS−101S)。登録情報受信部101は、組み合わせ展開判定部103に登録情報を渡す。情報検索システム10の処理はステップS102Sに進む。登録情報は1つ以上の属性情報を含んでおり、属性情報は属性名と属性値との組を有する。また第一の実施の形態における情報検索システム10は、ワイルドカードを含む登録情報の登録が可能である。
組み合わせ展開判定部103は、登録情報を受け取る。組み合わせ展開判定部103は、組み合わせ展開判定処理を行う(ステップS−102S)。そして組み合わせ展開判定部103は、組み合わせ展開処理部104に登録情報と組み合わせ展開対象属性名リストを渡す。そして情報検索システム10の処理は、ステップS−103Sに進む。図21は、組み合わせ展開判定処理の動作を示すフローチャートである。以下組み合わせ展開判定処理の動作について説明する。
組み合わせ展開判定部103は、登録情報を受け取る(ステップS−102S−01)。そして組み合わせ展開判定部103の処理は、ステップS−102S−02に進む。
組み合わせ展開判定部103は、組み合わせ展開対象属性名指定リスト記憶部102に記憶されている組み合わせ展開対象属性名指定リストを取得する(ステップS−102S−02)。そして組み合わせ展開判定部103の処理はステップS−102S−03に進む。
組み合わせ展開判定部103はカウンタiを0に設定する(ステップS−102S−03)。そして組み合わせ展開判定部103の処理はステップS−102S−04に進む。
組み合わせ展開判定部103は、カウンタiと組み合わせ展開対象属性名指定リストに含まれる属性名の数である属性名数とを比較する(ステップS−102S−04)。そしてカウンタiが組み合わせ展開対象属性名指定リストに含まれる属性名数よりも少ない場合(ステップS−102S−04の“Yes”)、組み合わせ展開判定部103の処理はステップS−102S−05に進む。一方、カウンタiが組み合わせ展開対象属性名指定リストに含まれる属性名数よりも多い場合(ステップS−102S−04の“No”)、組み合わせ展開判定部103の組み合わせ展開判定処理は、終了する。
組み合わせ展開判定部103は、組み合わせ展開対象属性名指定リストからi番目の属性名を取り出す(ステップS−102S−05)。そして組み合わせ展開判定部103の処理はステップS−102S−06に進む。
組み合わせ展開判定部103は、カウンタjを0に設定する(ステップS−102S−06)。そして組み合わせ展開判定部103の処理は、ステップS−102S−07に進む。
組み合わせ展開判定部103は、登録情報からj番目の属性情報の属性名を取り出す(ステップS−102S−07)。そして組み合わせ展開判定部103の処理はステップS−102S−08に進む。
組み合わせ展開判定部103は、ステップS−102S−05において取得された属性名とステップS−102S−07において取得された属性名とを比較する(ステップS−102S−08)。それらの属性値が一致した場合(ステップS−102S−08の“Yes”)、組み合わせ展開判定部103の処理はステップS−102S−12に進む。一方、それらの属性値が一致しなかった場合(ステップS−102S−08の“No”)、組み合わせ展開判定部103の処理はステップS−102S−09に進む。
組み合わせ展開判定部103は、カウンタjを1追加する(ステップS−102S−09)。そして組み合わせ展開判定部103の処理はステップS−102S−10に進む。
組み合わせ展開判定部103は、カウンタjと登録情報に含まれる属性情報の数である属性数とを比較する(ステップS−102S−10)。カウンタjが登録情報に含まれる属性数よりも少ない場合(ステップS−102S−10の“Yes”)、組み合わせ展開判定部103の処理は、ステップS−102S−07に進む。一方、カウンタjが登録情報に含まれる属性数よりも多い場合(ステップS−102S−10の“No”)、組み合わせ展開判定部103の処理は、ステップS−102S−11に進む。
組み合わせ展開判定部103は、組み合わせ展開対象属性名リストに、ステップS−102S−08において一致したと判定された属性名を追加する(ステップS−102S−11)。そして組み合わせ展開判定部103の処理は、ステップS−102S−12に進む。
組み合わせ展開判定部103はカウンタiを1追加する(ステップS−102S−12)。そして組み合わせ展開判定部103の処理は、ステップS−102S−04に進む。
以上が組み合わせ展開判定部103の動作である。
組み合わせ展開判定部103は、ステップS−102S−04において処理を終了した際に、ステップS−102S−11において追加した属性名を含む組み合わせ展開対象属性名リストを組み合わせ展開処理部104に渡す。そして情報検索システム10の処理は、ステップS−103S進む。
組み合わせ展開処理部104は、登録情報と組み合わせ展開対象属性名リストとを受け取る。そして組み合わせ展開処理部104は、組み合わせ展開対象属性名リストが空か否かを判定する(ステップS−103S)。組み合わせ展開対象属性名リストが空であった場合(ステップS−103Sの“Yes”)、情報検索システム10の処理は、ステップS−106Sに進む。一方、組み合わせ展開対象属性名リストが空でない場合(ステップS−103Sの“No”)、情報検索システム10の処理は、ステップS−104Sに進む。
組み合わせ展開処理部104は、組み合わせ展開処理を行う(ステップS−104S)。そして組み合わせ展開処理部104は、情報登録部105に、組み合わせ展開処理後の登録情報を渡す。そして情報処理システム10の処理は、ステップS−105Sに進む。図22は、組み合わせ展開処理の動作を示すフローチャートである。以下、組み合わせ展開処理部104の動作について説明する。
組み合わせ展開処理部104は、組み合わせ展開対象属性名リストを受け取る(ステップS−104S−01)。そして組み合わせ展開処理部104の処理は、ステップS−104S−02に進む。
組み合わせ展開処理部104は、カウンタiを0に設定する(ステップS−104S−02)。そして組み合わせ展開処理部104の処理は、ステップS−104S−03に進む。
組み合わせ展開処理部104は、カウンタiと組み合わせ展開対象属性名リストに含まれる属性名の数である属性名数とを比較する(ステップS−104S−03)。カウンタiが組み合わせ展開対象属性名リストに含まれる属性名数よりも少ない場合(ステップS−104S−03の“Yes”)、組み合わせ展開処理部104の処理は、ステップS−104S−04に進む。一方、カウンタiが組み合わせ展開対象属性名リストに含まれる属性名数よりも多い場合(ステップS−104S−03の“No”)、組み合わせ展開処理部104の処理は、ステップS−104S−07に進む。
組み合わせ展開処理部104は、組み合わせ展開対象属性名リストからi番目の属性名を取り出す(ステップS−104S−04)。そして組み合わせ展開処理部104の処理は、ステップS−104S−05に進む。
組み合わせ展開処理部104は、ステップS−104S−04において取得された属性名に対応する組み合わせ展開対象属性値リストを組み合わせ展開対象属性値リスト記憶部141から取得する(ステップS−104S−05)。そして組み合わせ展開処理部104の処理はステップS−104S−06に進む。
組み合わせ展開処理部104は、カウンタiを1追加する(ステップS−104S−06)。そして組み合わせ展開処理部104の処理は、ステップS−104S−03に進む。
組み合わせ展開処理部104は、ステップS−104S−05において取得された組み合わせ展開対象属性値リストに含まれる属性値の取り得る組み合わせである属性値の組み合わせリストを生成する(ステップS−104S−07)。そして組み合わせ展開処理部104の処理はステップS−104S−08に進む。属性値リストがない場合、属性値の組み合わせリストは空である。
組み合わせ展開処理部104は、カウンタjを0に設定する(ステップS−104S−08)。そして組み合わせ展開処理部104の処理は、ステップS−104S−09に進む。
組み合わせ展開処理部104は、カウンタjと属性値の組み合わせリストに含まれる値の取り得る組の数を比較する(ステップS−104S−09)。カウンタjが属性値の組み合わせリストに含まれる値の組の数よりも少ない場合(ステップS−104S−09の“Yes”)、組み合わせ展開処理部104の処理は、ステップS−104S−10に進む。一方、カウンタjが属性値の組み合わせリストに含まれる値の組の数よりも多い場合(ステップS−104S−09の“No”)、組み合わせ展開処理部104は、組み合わせ展開処理を終了する。
組み合わせ展開処理部104は、属性値の組み合わせリストからj番目の属性値の組を取得する(ステップS−104S−10)。そして、組み合わせ展開処理部104の処理は、ステップS−104S−11に進む。
組み合わせ展開処理部104は、属性値の組とそれらに対応する属性名とを属性情報として登録情報に結合することによって新たな登録情報を生成する。そして組み合わせ展開処理部104は生成した登録情報を、「組み合わせ展開処理後の登録情報」の一つに追加する(ステップS−104S−11)。そして組み合わせ展開処理部104の処理は、ステップS−104S−12に進む。
組み合わせ展開処理部104は、カウンタjを1追加する(ステップS−104S−12)。そして組み合わせ展開処理部104の処理はステップS−104S−09に進む。
以上が組み合わせ展開処理部104の動作である。
すなわち組み合わせ展開処理部104はステップS−104S−09において処理を終了した際に、ステップS−104S−11において追加された組み合わせ展開処理後の登録情報を情報登録部105に渡す。そして情報検索システム10の処理は、ステップS−105Sに進む。
情報登録部105は、1つ以上の登録情報から未登録の登録情報を1つ抽出する(ステップS−105S)。そして情報検索システム10の処理は、ステップS−106Sに進む。
情報登録部105は、ステップS−105Sにおいて抽出された登録情報から属性情報を抽出する。そして情報登録部105は、属性情報を特定の順序に並べる(ステップS−106S)。そして情報検索システム10の処理は、ステップS−107Sに進む。特定の順序とは、属性情報に含まれる属性名に基づいて定まる順序であってもよい。また特定の順序とは、属性情報に含まれる属性名のアルファベット順もしくは五十音順もしくは数値の昇順もしくは数値の降順であってもよい。例えば、情報登録部105が{年齢=20,性別=F,場所=東京}という登録情報に対して、五十音順に属性名をソートすると、ソートされた属性情報は、{性別=F,年齢=20,場所=東京}となる。
情報登録部105は、登録情報から属性情報を抽出し、属性情報を連結した情報に基づいて登録キーを生成する(ステップS−107S)。そして情報検索システム10の処理はステップS−108Sに進む。例えば、情報登録部105は、{性別=F,年齢=20,場所=東京}という登録情報に対して、{性別F年齢20場所東京}という登録キーを生成してもよい。
情報登録部105は、ステップS−107Sにおいて生成された登録キーおよび登録情報を含む登録要求を情報記憶部106に渡す。情報記憶部106は受け付けた登録要求に含まれる登録キーに基づき登録情報を記憶する(ステップS−108S)。そして情報検索システム10の処理はステップS−109Sに進む。
情報登録部105は、すべての登録情報に対して登録処理を行ったか否か判定する(ステップS−109S)。すべての登録情報に対して登録処理が行われた場合(ステップS−109Sの“Yes”)、情報処理システム10は情報登録フローを終了する。一方、すべての登録情報に対して登録処理を行われていない場合(ステップS−109Sの“No”)、情報検索システム10の処理は、ステップS−105Sに進む。
以上のステップによる処理が行われることにより、組み合わせ展開処理によって生成された登録キーに基づいて登録情報が情報記憶部106に記憶される。
図23は、第一の実施の形態における情報検索システム10の動作において、情報評価フローを説明する図である。
評価情報受信部107は、1つ以上の属性情報を含む評価情報を受け取る(ステップS−101E)。評価情報受信部107は、べき集合展開処理部108に評価情報を渡す。そして、情報検索システム10の処理は、ステップS−102Eに進む。評価情報は1つ以上の属性情報を含んでおり、属性情報は、属性名と属性値との組を有する。
べき集合展開処理部108は、組み合わせ展開対象属性名指定リスト記憶部102に記憶されている組み合わせ展開対象属性名指定リストを取得する(ステップS−102E)。そして情報検索システム10の処理は、ステップS−103Eに進む。
べき集合展開処理部108は、評価情報から組み合わせ展開対象属性名指定リストにおいて指定される属性名に対応する属性情報を除いた属性情報のリストであるべき集合展開対象属性情報リストを生成する。またべき集合展開処理部108は、評価情報から組み合わせ展開対象属性名指定リストにおいて指定される属性名に対応する属性情報を抽出した属性情報のリストである非べき集合展開対象属性情報リストを生成する(ステップS−103E)。そして情報検索システム10の処理は、ステップS−104Eに進む。
べき集合展開処理部108は、べき集合展開対象属性情報リストに含まれる属性情報を要素とする集合のべき集合を求める。べき集合展開処理部108は、べき集合の各要素をリストの要素とするべき集合展開対象展開リストを生成する(ステップS−104E)。そして情報検索システム10の処理は、ステップS−105Eに進む。
べき集合展開処理部108はカウンタiを0に設定する(ステップS−105E)。そしてべき集合展開処理部108の処理はステップS−106Eに進む。
べき集合展開処理部108は、カウンタiとべき集合展開対象展開リストに含まれる要素数とを比較する(ステップS−106E)。カウンタiがべき集合展開対象展開リストの要素数よりも少ない場合(ステップS−106Eの“Yes”)、情報検索システム10の処理は、ステップS−107Eに進む。一方、カウンタiがべき集合展開対象展開リストの要素数よりも多い場合(ステップS−106Eの“No”)、情報検索システム10の処理は、ステップS−111Eに進む。
べき集合展開処理部108は、べき集合展開対象展開リストのi番目の要素を抽出する(ステップS−107E)。そして情報検索システム10の処理は、ステップS−108Eに進む。
べき集合展開処理部108は、ステップS−107Eにおいて抽出された要素に、非べき集合展開対象属性情報リストに含まれる属性情報を合成する(ステップS−108E)。そして情報検索システム10の処理は、ステップS−109Eに進む。
べき集合展開処理部108は、ステップS−108Eにおいて合成された要素を、「べき集合展開処理後の評価情報」の一つに追加する(ステップS−109E)。そして情報検索システム10の処理は、ステップS−110Eに進む。
べき集合展開処理部108は、カウンタiを1追加する(ステップS−110E)。そして情報検索システム10の処理は、ステップS−106Eに進む。
情報検索部109は、1つ以上の評価情報から未検索の評価情報を1つ抽出する(ステップS−111E)。そして情報検索システム10の処理はステップS−112Eに進む。
情報検索部109は、ステップS−111Eにおいて抽出された評価情報から属性情報を抽出し、属性情報を特定の順序に並べる(ステップS−112E)。そして情報検索システム10の処理は、ステップS−113Eに進む。特定の順序とは、属性情報に含まれる属性名に基づいて定まる順序であってもよい。また特定の順序とは、属性情報に含まれる属性名のアルファベット順もしくは五十音順もしくは数値の昇順もしくは数値の降順であってもよい。例えば、情報検索部109が、{年齢=20,性別=F,場所=東京}という評価情報に対して、五十音順に属性名をソートすると、ソートされた属性情報は、{性別=F,年齢=20,場所=東京}となる。
情報検索部109は、評価情報から属性情報を抽出し、属性情報を連結した情報に基づいて検索キーを生成する(ステップS−113E)。そして情報検索システム10の処理は、ステップS−114Eに進む。例えば、情報検索部109は、{性別=F,年齢=20,場所=東京}という評価情報に対して、{性別F年齢20場所東京}という検索キーを生成してもよい。
情報検索部109は、ステップS−113Eにおいて生成された検索キーを含む検索要求を情報記憶部106に渡す。情報記憶部106は、検索キーに一致する登録キーに対応付けられて登録されている登録情報が存在する場合に、その登録情報を出力する(ステップS−114E)。検索要求処理を終えた情報処理システム10の処理は、ステップS−115Eに進む。
情報検索部109は、すべての評価情報に対して検索処理を行ったか否かを判定する(ステップS−115E)。すべての評価情報に対して検索処理が行われた場合(ステップS−115Eの“Yes”)、情報検索システム10は情報検索フローを終了する。一方、すべての評価情報に対して検索処理が行われていない場合(ステップS−115Eの“No”)、情報検索システム10の処理はステップS−111Eに進む。
以上のステップによる処理が行われることにより、情報検索システム10は、ワイルドカードを含む登録情報の登録がされる場合にも、べき集合展開処理によって生成された検索キーと一致する登録キーに対応付けられて登録された登録情報を情報記憶部106から取得することができる。
第一の実施の形態における情報検索システム10は、組み合わせ展開判定部103と、組み合わせ展開処理部104と、情報登録部105と、べき集合展開処理部108と、情報検索部109とを備える。
組み合わせ展開判定部103は、組み合わせ展開処理を行う対象の属性情報を示すリスト(組み合わせ展開対象属性名指定リスト)を取得する。そして組み合わせ展開判定部103は、情報検索システム10が扱う属性情報であるが受け取った登録情報に含まれていない属性情報を、組み合わせ展開処理の対象と判定する。組み合わせ展開判定部103は、組み合わせ展開処理の対象と判定された属性情報が有する属性名を示す組み合わせ展開対象属性名リストを組み合わせ展開処理部104に渡す。
組み合わせ展開処理部104は、組み合わせ展開判定部103が生成した組み合わせ展開対象属性名リストに含まれる属性名にそれぞれ対応する属性値の組み合わせ展開処理を行う。
組み合わせ展開処理において、組み合わせ展開処理部104は、組み合わせ展開処理の対象と判定された属性情報が有する属性値のそれぞれのすべての組み合わせを生成する。そして組み合わせ展開処理部104は、生成された組み合わせのそれぞれと、組み合わせ展開処理の対象と判定されなかった登録情報に含まれる属性情報とを結合することによって組み合わせ展開処理後の登録情報を生成する。情報登録部105は、その登録情報に基づいて登録キーを生成する。
例えば、具体例として下記の条件を仮定する。第一の条件は、「情報検索システム10が属性情報として4つの属性名、{位置、性別、年齢、体調}のいずれかを含む属性情報を扱う」という条件である。第二の条件は、「登録情報として2つの属性情報を含む{位置=新宿,年齢=20}が情報検索システム10に入力される」という条件である。第三の条件は、「組み合わせ展開処理の対象が2つの属性名、性別と体調とのいずれかを有する属性情報である」という条件である。第四の条件は、「性別という属性名を有する属性情報の取り得る属性値が{男,女}、体調という属性名の有する属性情報の取り得る属性値が{良い、悪い}である」という条件である。以下の具体例では、ある属性名Xを有する属性情報のことが、単に属性名Xで代用して表記される。
これらの条件が仮定された場合、組み合わせ展開処理部104は、組み合わせ展開処理の対象と判定された性別と体調との取り得る属性値のすべての組み合わせ{{性別=男,体調=良い},{性別=男,体調=悪い},{性別=女,体調=良い},{性別=女,体調=悪い}}を生成する。そして組み合わせ展開処理部104は、組み合わせ展開処理の対象と判定されなかった属性情報である位置と年齢とのそれぞれである{位置=新宿}および{年齢=20}を前述のすべての組み合わせのそれぞれに結合する。つまり組み合わせ展開処理部104は、この結合の処理によって、登録キー{位置=新宿,性別=男,年齢=20,体調=良い},{位置=新宿,性別=男,年齢=20,体調=悪い},{位置=新宿,性別=女,年齢=20,体調=良い}および{位置=新宿,性別=女,年齢=20,体調=悪い}を生成する。
べき集合展開処理部108は、組み合わせ展開処理の対象となっていない属性情報をべき集合展開処理の対象と特定する。そしてべき集合展開処理部108は、べき集合展開処理の対象となった属性情報に対して、その属性情報を要素とする集合のべき集合を生成する。
情報検索部109は、べき集合展開処理の対象とならなかった属性情報と生成されたべき集合の要素のそれぞれと結合させることで検索キーを生成する。
例えば、評価情報として{位置=新宿,性別=男,年齢=20,体調=悪い}が情報検索システム10に入力され、組み合わせ展開処理の対象が性別と体調である場合を仮定する。この場合、情報検索部109は、組み合わせ展開処理を行っていない属性情報{位置=新宿,年齢=20}に対して、べき集合{{φ},{位置=新宿},{年齢=20},{位置=新宿,年齢=20}}を生成する。そして情報検索部109は、組み合わせ展開処理を行っている属性情報{性別=男,体調=悪い}を前述のべき集合の要素のそれぞれに結合させた検索キー{性別=男,体調=悪い},{位置=新宿,性別=男,体調=悪い},{性別=男,年齢=20,体調=悪い}および{位置=新宿,性別=男,年齢=20,体調=悪い}を生成する。
第一の実施の形態における情報検索システム10は、組み合わせ展開を行う属性情報を示すリストの内容を適宜調整することによって、計算量と使用メモリ量のバランスを調整することができる。組み合わせ展開を行う属性が増やされれば、使用メモリ量は増加するが、べき集合展開処理部108の計算量は低下する。また、組み合わせ展開を行う属性が減らされれば、使用メモリ量は減少するが、べき集合展開処理部108の計算量は増加する。
また、組み合わせ展開判定部103は、取り得る属性値の数が少ない属性情報に対してのみ組み合わせ展開を行う判定をすることで、登録キーの増加を防ぎ、すべての属性情報を組み合わせ展開する場合に比較してメモリ量を抑えることができる。
本発明の関連技術において、すべての属性情報が組み合わせ展開される場合の登録キーの記憶のために必要なメモリ量は、属性情報の数をn、各属性情報の属性値の種類をXn、登録キーのサイズをKとすると、[数1]のように表される。
Figure 0005928446
[数1]は、各属性情報の属性値の種類Xnに1つでも大きな数値が含まれている場合に、メモリ量が非常に大きくなることを示している。
よって、本発明の関連技術は、情報評価フローでの計算量が多いという問題がある。特に、属性数が増えた場合に計算量の増加は顕著となる。
情報評価フローにおいてべき集合の作成が行われる場合、属性数に応じて計算量が大きく上昇し、システムのスループットの低下が起こる可能性がある。
一方、第一の実施の形態において、組み合わせ展開判定部103は、取り得る属性値の数が所定数を示すT以下の属性情報に対してのみ組み合わせ展開を行う判定をし、組み合わせ展開を行う属性情報の数がaとなる場合を仮定する。この場合、情報検索システム10は、登録キーの記憶に必要なメモリ量を[数2]に示される値に抑えることができ、メモリ量を減らすことができる。
Figure 0005928446
また、べき集合展開処理部108は、組み合わせ展開を行っている属性情報を、べき集合生成処理の対象となる要素から削除する。よって、情報検索システム10は、すべての属性情報をべき集合に展開する場合に比較して、計算量を低減できる。
本発明の関連技術において、システムが、組み合わせ展開処理を考慮せず、すべての属性情報をべき集合に展開する場合を仮定する。この場合、属性情報の数をnと仮定すると、べき集合生成処理の計算量のオーダーは、[数3]で表される。
Figure 0005928446
[数3]は、属性数に対して計算量が指数オーダーで増加することを意味しており、関連技術における手法は、属性数の増加に対して非常に弱い手法であることを示している。
また、本発明の関連技術において、情報登録フローにおいて登録情報に含まれる属性情報が有する属性値の取り得る値の組み合わせのすべてが生成され、それらの情報の登録が行われる場合を仮定する。すると関連技術における手法は、計算量が少なくなるが、現実的なメモリ量で処理できない。
一方、第一の実施の形態における情報検索システム10の場合、組み合わせ展開を行っている属性情報の数をmと仮定すると、べき集合生成処理の計算量のオーダーは、[数4]で表される。
Figure 0005928446
すなわち、本発明の関連技術は、計算量が多くなりすぎてしまうか、使用メモリ量が大きくなりすぎてしまうかのどちらかの問題を生じてしまう。
第一の実施の形態における情報検索システム10は、実装可能なメモリ量で可能な限り計算量を小さく抑えるために、計算量と使用メモリ量のバランスを調整することができる。
つまり、第一の実施の形態における情報検索システム10は、属性名と属性値との組を有する属性情報を一以上含む登録情報の検索において、少量のメモリで高速な検索を実現できる。その理由は、以下のとおりである。つまり情報検索システム10は、登録情報に含まれる属性情報のうち、所定の(例えば、取り得る属性値の種類の数が少ない)属性情報に対して、組み合わせ展開処理を行う。これによって情報検索システム10は、メモリの使用効率の良い属性情報を選別して、事前に検索高速化のための登録キーの生成を行うことができるからである。
また、第一の実施の形態における情報検索システム10は、属性名と属性値の組を有する属性情報を一以上含む登録情報の検索において、情報評価フローにおける計算量を低減できることができる。その理由は、以下のとおりである。つまり情報検索システム10は、組み合わせ展開処理を行っている属性情報に対して、べき集合生成処理を省略できるからである。
[第二の実施の形態]
次に、本発明の第二の実施の形態について図面を参照して詳細に説明する。
図24は、本発明の第二の実施の形態における情報検索システム20の構成を示すブロック図である。
図24を参照すると、情報検索システム20は、登録情報受信部101と、組み合わせ展開対象属性名指定リスト記憶部102と、組み合わせ展開判定部103と、組み合わせ展開処理部104と、情報登録部105と、情報記憶部106と、評価情報受信部107と、べき集合展開処理部108と、情報検索部109と、組み合わせ展開対象属性名指定リスト生成部210とを備える。
第二の実施の形態における情報検索システム20は、組み合わせ展開対象属性名指定リスト生成部210が、所定の閾値を用いることにより、情報検索システム20が消費するメモリリソース(メモリ量)と処理速度(計算量)の制御を実現する。
===組み合わせ展開対象属性名指定リスト生成部210===
組み合わせ展開対象属性名指定リスト生成部210は、属性値数リストと閾値とに基づいて組み合わせ展開対象属性名指定リストを生成し、組み合わせ展開対象属性名指定リスト記憶部102に記憶する。
属性値数リストとは、情報検索システム20で扱う各属性情報の取り得る属性値の種類数を含む情報である。閾値は、各属性情報の属性値の種類の数に基づいて、組み合わせ展開処理を行うか否かを判定するための値である。
図25は、組み合わせ展開対象属性名指定リスト生成部210が備える構成の一例を示す図である。図25を参照すると、組み合わせ展開対象属性名指定リスト生成部210は、属性値数リスト受信部211と閾値受信部212と組み合わせ展開対象属性決定部213とを備える。
属性値数リスト受信部211は、情報検索システム20で扱われる、例えば図26で示される各属性情報の取り得る属性値の種類の数を示す属性値数を含む属性値数リストを受信する。属性値数リストは、属性名とその属性名で示される属性情報の取り得る属性値の種類の数との組を要素として含むリストである。
閾値受信部212は、各属性情報の属性値の種類の数に基づいて組み合わせ展開処理を行うか否か判定するための情報である閾値を受信する。
閾値として様々な値が設定されてよい。例えば、閾値は、展開対象とする属性情報が有する属性値の種類の数の最大値であってもよい。この場合、組み合わせ展開対象属性決定部213は、前述の属性値数リストに含まれる要素のうち取り得る属性値の種類がその閾値以下である属性情報に対応する属性名を、組み合わせ展開処理を実行する属性情報に対応する属性名として組み合わせ展開対象属性名指定リストに追加する。そして組み合わせ展開対象属性決定部213は、属性名が追加された組み合わせ展開対象属性名指定リストを組み合わせ展開対象属性名指定リスト記憶部102に記憶する。
また例えば、閾値は、べき集合展開処理が行われる属性情報の上限数であってもよい。この場合、組み合わせ展開対象属性決定部213は、前述の属性値数リストに含まれる要素のうち、属性値の種類の数が多い属性情報から閾値が示す個数分だけ除外する。そして組み合わせ展開対象属性決定部213は、残りの属性情報を、組み合わせ展開処理を実行する属性情報として、各属性情報に対応する属性名を組み合わせ展開対象属性名指定リストに追加する。
この閾値に基づいて、組み合わせ展開対象属性決定部213は、前述の属性値数リストに含まれる要素のうち、小さい値に対応付けられている属性名から順に高々閾値が示す個数まで、属性名を前記指定リストに追加してもよい。
また例えば、閾値は、登録情報の記憶の際に使用されるメモリサイズの上限であってもよい。この場合、組み合わせ展開対象属性決定部213は、メモリ使用量が閾値を超えるまで、前述の属性値数リストの要素のうち属性値の種類の数の少ないほうから属性名を組み合わせ展開対象属性名指定リストに追加してもよい。
以降、第二の実施の形態における説明では、閾値は、展開対象とする属性情報が有する属性値の種類の数の最大値であると仮定して説明される。
次に、第二の実施の形態における情報検索システム20の動作について図面を参照して詳細に説明する。図27は、第二の実施の形態における組み合わせ展開対象属性名指定リスト生成部210の動作の概要を示すフローチャートである。
組み合わせ展開対象属性名指定リスト生成部210は、閾値を受信する(ステップS−201)。そして組み合わせ展開対象属性名指定リスト生成部210の処理は、ステップS−202に進む。
組み合わせ展開対象属性名指定リスト生成部210は、属性値数リストを受信する(ステップS−202)。そして組み合わせ展開対象属性名指定リスト生成部210の処理は、ステップS−203に進む。
組み合わせ展開対象属性名指定リスト生成部210は、属性値数リストから未処理の要素を1つ抽出する(ステップS−203)。そして組み合わせ展開対象属性名指定リスト生成部210の処理は、ステップS−204に進む。
組み合わせ展開対象属性名指定リスト生成部210は、ステップS−203において抽出された要素の属性値数とステップS−201において取得された閾値とを比較する(ステップS−204)。属性値数が閾値以下の場合(ステップS−204の“Yes”)、組み合わせ展開対象属性名指定リスト生成部210の処理は、ステップS−205に進む。一方、属性値数が閾値よりも大きい場合(ステップS−204の“No”)、組み合わせ展開対象属性名指定リスト生成部210の処理は、ステップS−206に進む。
組み合わせ展開対象属性名指定リスト生成部210は、ステップS−203において抽出された要素の属性名を抽出し、組み合わせ展開対象属性名指定リストに追加する(ステップS−205)。そして組み合わせ展開対象属性名指定リスト生成部210の処理は、ステップS−206に進む。
組み合わせ展開対象属性名指定リスト生成部210は、属性値数リストのすべての要素に対して処理を行ったか否かを判定する(ステップS−206)。属性値数リストの全ての要素に対して処理が行われた場合(ステップS−206の“Yes”)、組み合わせ展開対象属性名指定リスト生成部210の処理は、ステップS−207に進む。一方、属性値数リストの全ての要素に対して処理が行われていない場合(ステップS−206の“No”)、組み合わせ展開対象属性名指定リスト生成部210の処理は、ステップS−203に進む。
組み合わせ展開対象属性名指定リスト生成部210は、ステップS−205において生成された組み合わせ展開対象属性名指定リストを組み合わせ展開対象属性名指定リスト記憶部102に記憶する(ステップS−207)。そして組み合わせ展開対象属性名指定リスト生成部210の処理は、終了する。
以上のステップが行われることにより、情報検索システム20は、組み合わせ展開処理のための閾値に基づいて、組み合わせ展開対象の属性情報の指定が可能となる。本発明の各実施の形態における情報検索システムでは、属性の取り得る属性値の種類が多いものより少ないものが組み合わせ展開対象であるほうが、メモリの効率面で有利である。例えば、10個の属性値を取る属性が組み合わせ展開対象であった場合、登録情報の記憶のために10個のエントリが必要になる。一方、2個の属性値を取る属性が組み合わせ展開対象であった場合、登録情報の記憶のためには2個のエントリで済む。
第二の実施の形態における情報検索システム20は、第一の実施の形態における情報検索システム10と同様の構成を含む。したがって、第二の実施の形態における情報検索システム20は、第一の実施の形態における情報検索システム10と同様の効果を奏する。
さらに第二の実施の形態における情報検索システム20は、閾値を設定することでシステムのリソースに応じた最適の組み合わせ展開対象属性名指定リストの生成が実現できる。
特に、組み合わせ展開判定部103は、取り得る属性値の数が少ない属性情報に対してのみ組み合わせ展開を行う判定をすることができる。よって情報検索システム20は、登録キーの増加を防ぎ、すべての属性情報を組み合わせ展開する場合に比較してメモリ量を抑えることができる。
[第三の実施の形態]
図28は、第三の実施の形態における情報検索システム30の構成を示すブロック図である。図28を参照すると、情報検索システム30は、第一の展開処理部301と第二の展開処理部302とを備える。
===第一の展開処理部301===
第一の展開処理部301は、属性名と属性値とを有する属性情報を一つ以上含む登録情報を図示しない外部装置または情報検索システム30が備える機能手段から受け取る。そして第一の展開処理部301は、所定の属性名のそれぞれに対して、各属性名を前述の登録情報に含まれる属性情報が有するか否か判定する。第一の展開処理部301は、前述の判定結果に応じてそれぞれ異なる処理である、第一の情報処理を行うことによって、前述の登録情報に対応する情報である登録キーを生成する。
第一の展開処理部301は、所定の属性名を示す情報をあらかじめ記憶してもよいし、図示しない外部装置または情報検索システム30が備える機能手段から所定の属性名を示す情報を受け取り、受け取った情報に基づいて所定の属性名を特定してもよい。前述の情報検索システム30が備える機能手段は、第一の実施の形態における組み合わせ展開対象属性名指定リスト記憶部102であってもよい。そして前述の所定の属性名を示す情報は、第一の実施の形態における、組み合わせ展開対象属性名指定リストであってもよい。
第一の情報処理とは、例えば所定の属性名を登録情報に含まれる属性情報が有していない場合に、その属性名に対応する属性値が取り得る値がそれぞれ登録情報に追加される、という処理などが挙げられる。これは例示であって第一の情報処理は前述の処理に限られない。
===第二の展開処理部302===
第二の展開処理部302は、属性情報を一つ以上含む評価情報を受け取る。そして第二の展開処理部302は、受け取った評価情報に含まれる属性情報のそれぞれに対して、所定の属性名を有するか否かに応じてそれぞれ異なる処理である、第二の情報処理を行うことによって検索キーを生成する。検索キーとは、第一の展開処理部301が生成した登録キーとの比較により、その登録キーに対応する登録情報を検索するためのキーである。
第二の展開処理部302は、所定の属性名を示す情報をあらかじめ記憶してもよいし、図示しない外部装置または情報検索システム30が備える機能手段から所定の属性名を示す情報を受け取り、受け取った情報に基づいて所定の属性名を特定してもよい。前述の情報検索システム30が備える機能手段は、第一の実施の形態における組み合わせ展開対象属性名指定リスト記憶部102であってもよい。そして前述の所定の属性名を示す情報は、第一の実施の形態における、組み合わせ展開対象属性名指定リストであってもよい。
第二の情報処理とは、例えば評価情報に含まれる属性情報が有する属性名が所定の属性名を有していない場合に、その属性情報の部分集合を要素とするべき集合が生成され、そのべき集合の各要素がそれぞれ評価情報に追加される、という処理などが挙げられる。これは例示であって、第二の情報処理は前述の処理に限られない。
図29は、本発明の第三の実施の形態における情報検索システム30とその周辺装置のハードウェア構成を示す図である。図29に示されるように、情報検索システム30は、CPU391、ネットワーク接続用の通信I/F392(通信インターフェース392)、メモリ393、およびプログラムを格納するハードディスク等の記憶装置394を含む。また、情報検索システム30は、バス397を介して入力装置395および出力装置396に接続されている。
CPU391は、オペレーティングシステムを動作させて本発明の第三の実施の形態に係る情報検索システム30の全体を制御する。また、CPU391は、例えばドライブ装置などに装着された記録媒体398からメモリ393にプログラムやデータを読み出し、これにしたがって第三の実施の形態における第一の展開処理部301および第二の展開処理部302として各種の処理を実行する。
記憶装置394は、例えば光ディスク、フレキシブルディスク、磁気光ディスク、ハードディスク、または半導体メモリ等であって、コンピュータプログラムをコンピュータ読み取り可能に記録する。また、コンピュータプログラムは、通信網に接続されている図示しない外部コンピュータからダウンロードされてもよい。
入力装置395は、例えばマウスやキーボード、内蔵のキーボタンなどで実現され、入力操作に用いられる。入力装置395は、マウスやキーボード、内蔵のキーボタンに限らず、例えばタッチパネル、加速度計、ジャイロセンサ、カメラなどでもよい。
出力装置396は、例えばディスプレイで実現され、出力を確認するために用いられる。
なお、第三の実施の形態の説明において利用されるブロック図(図28)には、ハードウェア単位の構成ではなく、機能単位のブロックが示されている。これらの機能ブロックは図29に示すハードウェア構成によって実現される。ただし、情報検索システム30が備える各部の実現手段は特に限定されない。すなわち、情報検索システム30は、物理的に結合した一つの装置により実現されてもよいし、物理的に分離した二つ以上の装置を有線または無線で接続し、これら複数の装置により実現されてもよい。
また、CPU391は、記憶装置394に記録されているコンピュータプログラムを読み込み、そのプログラムにしたがって、第一の展開処理部301および第二の展開処理部302として動作してもよい。
また、前述のプログラムのコードを記録した記録媒体(または記憶媒体)が、情報検索システム30に供給され、情報検索システム30が記録媒体に格納されたプログラムのコードを読み出し実行してもよい。すなわち、本発明は、第三の実施の形態における情報検索システム30が実行するためのソフトウェア(情報処理プログラム)を一時的に記憶するまたは非一時的に記憶する記録媒体398も含む。
図30は、第三の実施の形態における情報検索システム30の動作の概要を示すフローチャートである。
第一の展開処理部301は、登録情報を受け取る(ステップS−301)。そして第一の展開処理部301は、所定の属性名のある一つを選択し、その属性名を前述の登録情報に含まれる属性情報が有するか否か判定する(ステップS−302)。第一の展開処理部301は、ステップS−302における判定結果に基づいてそれぞれ異なる第一の情報処理を行う(ステップS−303)。
第一の展開処理部301は、所定の属性名のすべてが選択されているか否か判定する(ステップS−304)。すべての属性名が選択されている場合(ステップS−304の“Yes”)、情報検索システム30の処理はステップS−305に進む。一方、すべての属性名が選択されていない場合(ステップS−304の“No”)、情報検索システム30の処理は、ステップS−302に進む。
第二の展開処理部302は、評価情報を受け取る(ステップS−305)。第二の展開処理部302は、受け取った評価情報に含まれる属性情報の一つを選択し、その属性情報が所定の属性名を有するか否か判定する(ステップS−306)。第二の展開処理部302は、ステップS−306における判定結果に基づいてそれぞれ異なる第二の情報処理を行う(ステップS−307)。
第二の展開処理部302は、評価情報に含まれるすべての属性情報が選択されているか否か判定する(ステップS−308)。すべての属性情報が選択されている場合(ステップS−308の“Yes”)、情報検索システム30の処理は終了する。一方、すべての属性名が選択されていない場合(ステップS−308の“No”)、情報検索システム30の処理は、ステップS−306に進む。
第三の実施の形態における情報検索システム30は、登録情報の登録要求を受け、所定の属性名のそれぞれに対して、各属性名を前述の登録情報に含まれる属性情報が有するか否か判定する。そして情報検索システム30は、前述の判定結果に応じて異なる第一の情報処理を行うことによって、前述の登録情報に対応する登録キーを生成する。また情報検索システム30は、検索要求として評価情報を受け取り、その評価情報に含まれる属性情報のそれぞれに対して、所定の属性名を有するか否か判定する。そして情報検索システム30は、前述の判定結果に応じて異なる第二の情報処理を行うことによって、前述の評価情報に対応する検索キーを生成する。そして情報検索システム30は、その検索キーと一致する登録キーに対応する登録情報を検索することができる。
この構成により第三の実施の形態における情報検索システム30は、属性毎に行う処理の負荷が大きい場合でも、適切な計算量またはメモリ量でデータの探索処理を実行できる。
本発明の効果の一例は、属性毎に行う処理の負荷が大きい場合でも、適切な計算量またはメモリ量でデータの探索処理を実行できることである。
本発明の各実施の形態における各構成要素は、その機能をハードウェア的に実現することはもちろん、コンピュータとプログラムとで実現することができる。プログラムは、磁気ディスクや半導体メモリなどのコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られる。この読み取られたプログラムは、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施の形態における構成要素として機能させる。
登録情報受信部101と、組み合わせ展開判定部103と、組み合わせ展開処理部104と、情報登録部105と、評価情報受信部107と、べき集合展開処理部108と、情報検索部109と、組み合わせ展開対象属性名指定リスト生成部210は、例えば、プログラムを記憶する記録媒体からメモリに読み込まれた、各部の機能を実現するための専用のプログラムと、そのプログラムを実行するプロセッサにより実現することができる。また、組み合わせ展開対象属性名指定リスト記憶部102と、情報記憶部106は、コンピュータが含むメモリやハードディスク装置により実現することができる。あるいは、登録情報受信部101と、組み合わせ展開対象属性名指定リスト記憶部102と、組み合わせ展開判定部103と、組み合わせ展開処理部104と、情報登録部105と、情報記憶部106と、評価情報受信部107と、べき集合展開処理部108と、情報検索部109と、組み合わせ展開対象属性名指定リスト生成部210の一部又は全部を、各部の機能を実現する専用の回路によって実現することもできる。
上記の各実施の形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
属性名と属性値とを有する属性情報を一つ以上含む登録情報を受け取り、所定の属性名のそれぞれに対して、各属性名を当該登録情報に含まれる属性情報が有するか否かに応じて異なる、第一の情報処理を行うことによって、当該登録情報に対応する登録キーを生成する第一の展開処理手段と、
属性情報を一つ以上含む評価情報を受け取り、当該評価情報に含まれる属性情報のそれぞれに対して、所定の属性名を有するか否かに応じて異なる、第二の情報処理を行うことによって、登録キーとの比較により当該登録キーに対応する登録情報を検索するための検索キーを生成する第二の展開処理手段と、
を備える情報検索システム。
(付記2)
所定の属性名を示す指定リストを記憶する指定リスト記憶手段を備え、
前記第一の展開処理手段は、前記指定リストで示される属性名のそれぞれに対して、各属性名を前記登録情報に含まれる属性情報が有するか否かに応じて異なる、前記第一の情報処理を行うことによって、当該登録情報に対応する登録キーを生成し、
前記第二の展開処理手段は、前記評価情報に含まれる属性情報のそれぞれに対して、前記指定リストが示す属性名を有するか否かに応じて異なる、前記第二の情報処理を行うことによって、前記検索キーを生成する、付記1に記載の情報検索システム。
(付記3)
前記第一の展開処理手段は、前記登録情報に含まれる属性名と前記指定リストに含まれる属性名との差分に基づいて特定される属性名を示す属性名リストを特定する判定手段を備え、
前記第一の展開処理手段は、
各属性名に対応する属性情報が有する属性値の取り得る値を当該属性名と対応付けて記憶する属性値リストを記憶し、前記第一の情報処理として、前記属性名リストに含まれる属性名と前記属性値リストにおいて当該属性名に対応付けられている属性値とを前記登録情報に追加する組み合わせ展開処理手段と、
前記属性名と前記属性値とが追加された前記登録情報に基づいて前記登録キーを生成する情報登録手段と、を備える付記2に記載の情報検索システム。
(付記4)
前記第二の展開処理手段は、
評価情報に含まれる属性名と前記指定リストに含まれる属性名との差分に基づいて特定される属性名の属性情報を要素とする集合を生成する集合展開処理手段と、
前記第二の情報処理として、前記評価情報と前記集合に含まれる各要素が示す属性情報との組み合わせに基づいて検索キーを生成する情報検索手段と、を備える付記2または3に記載の情報検索システム。
(付記5)
各属性名に対応する属性情報が有する属性値の取り得る値の種類の数と当該属性名とを対応付けた情報である属性値数リストと、所定の閾値とに基づいて、前記指定リストを生成し、当該指定リストを前記指定リスト記憶手段に記憶する指定リスト作成手段を備える、付記2ないし4のいずれか1項に記載の情報検索システム。
(付記6)
前記指定リスト作成手段は、前記属性値数リストにおいて前記閾値以下の値に対応付けられている属性名を前記指定リストに追加する、付記5に記載の情報検索システム。
(付記7)
前記指定リスト作成手段は、前記属性値数リストにおいて小さい値に対応付けられている属性名から順に高々閾値が示す個数まで当該属性名を前記指定リストに追加する、付記5または6に記載の情報検索システム。
(付記8)
前記指定リスト作成手段は、前記属性値数リストに含まれる、属性値の取り得る値の種類の数に基づいて特定されるメモリ使用量が前記閾値を超えるまで、当該属性値の取りえる値の種類の数に対応する属性名を前記指定リストに追加する、付記5ないし7のいずれか1項に記載の情報検索システム。
(付記9)
属性名と属性値とを有する属性情報を一つ以上含む登録情報を受け取り、所定の属性名のそれぞれに対して、各属性名を当該登録情報に含まれる属性情報が有するか否かに応じて異なる、第一の情報処理を行うことによって、当該登録情報に対応する登録キーを生成し、
属性情報を一つ以上含む評価情報を受け取り、当該評価情報に含まれる属性情報のそれぞれに対して、所定の属性名を有するか否かに応じて異なる、第二の情報処理を行うことによって、登録キーとの比較により当該登録キーに対応する登録情報を検索するための検索キーを生成する、情報検索方法。
(付記10)
コンピュータに、
属性名と属性値とを有する属性情報を一つ以上含む登録情報を受け取り、所定の属性名のそれぞれに対して、各属性名を当該登録情報に含まれる属性情報が有するか否かに応じて異なる、第一の情報処理を行うことによって、当該登録情報に対応する登録キーを生成する処理と、
属性情報を一つ以上含む評価情報を受け取り、当該評価情報に含まれる属性情報のそれぞれに対して、所定の属性名を有するか否かに応じて異なる、第二の情報処理を行うことによって、登録キーとの比較により当該登録キーに対応する登録情報を検索するための検索キーを生成する処理と、を実行させるための情報検索プログラム。
(付記11)
前記組み合わせ展開処理手段は、前記属性名リストに含まれる属性名毎に各属性名に対応付けられている属性値のうちからいずれか1つ選択し、前記属性値および前記属性名を前記登録情報に追加し、すべての属性名および属性値の組み合わせについてそれぞれ前記登録情報に追加し、
前記情報登録手段は、前記属性名および前記属性値が追加された前記登録情報毎に前記登録キーを生成する、付記3に記載の情報検索システム。
(付記12)
前記集合展開処理手段は、評価情報に含まれる属性名と前記指定リストに含まれる属性名との差分に基づいて特定される属性名を有する属性情報のべき集合を生成し、
前記情報検索手段は、前記評価情報と前記べき集合に含まれる各要素が示す属性情報を含む補完情報との組み合わせに基づいて検索キーを生成する、付記4に記載の情報検索システム。
(付記13)
前記情報登録手段は、前記登録情報に追加する前記属性名および前記属性値と前記登録情報が含む属性情報が有する属性名および属性値とを連結し、連結された情報に基づいて特定されるハッシュ値に基づいて前記登録キーを生成する、付記3ないし8、11および12のいずれか1項に記載の情報検索システム。
(付記14)
前記情報検索手段は、前記評価情報のうち前記指定リストに含まれている属性名に対応する属性情報が有する属性名および属性値と、前記集合に含まれる各要素が示す属性情報が有する属性名および属性値とを連結し、連結された情報に基づいて特定されるハッシュ値に基づいて前記検索キーを生成する、付記4ないし8および12のいずれか1項に記載の情報検索システム。
(付記15)
前記登録情報と当該登録情報に対応する前記登録キーとを対応付けて記憶する情報記憶手段を備え、
前記第二の展開処理手段は、前記検索キーと前記情報記憶手段に記憶されている登録キーとの照合を行うことによって登録キーに対応する登録情報を検索する、付記1ないし8、および11ないし14のいずれか1項に記載の情報検索システム。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2011年3月18日に出願された日本出願特願2011−061046を基礎とする優先権を主張し、その開示の全てをここに取り込む。
本発明における情報検索システムは、グルーピング処理やストリーム処理、ルールマッチングといった入力された評価対象情報に対して高速に特定の処理を実行するシステムに適用できる。また、本発明における情報検索システムは、完全には一致しないが一致する情報が多く含まれているものを探す、という類似検索といった用途にも適用できる。本発明における情報検索システムは、具体的なシステムとして、リアルタイムなモバイル広告配信、推薦システム、通知システムに適用できる。
10 情報検索システム
20 情報検索システム
30 情報検索システム
101 登録情報受信部
102 組み合わせ展開対象属性名指定リスト記憶部
103 組み合わせ展開判定部
104 組み合わせ展開処理部
105 情報登録部
106 情報記憶部
107 評価情報受信部
108 べき集合展開処理部
109 情報検索部
131 組み合わせ展開対象属性名リスト生成部
141 組み合わせ展開対象属性値リスト記憶部
142 組み合わせ生成処理部
151 ソート部
152 キー生成部
153 登録部
181 評価情報分割部
182 部分べき集合生成部
183 非べき展開属性合成部
191 ソート部
192 キー生成部
193 検索部
210 組み合わせ展開対象属性名指定リスト生成部
211 属性値数リスト受信部
212 閾値受信部
213 組み合わせ展開対象属性決定部
301 第一の展開処理部
302 第二の展開処理部
391 CPU
392 通信I/F
393 メモリ
394 記憶装置
395 入力装置
396 出力装置
397 バス
398 記録媒体

Claims (10)

  1. 属性名と属性値とを有する属性情報を一つ以上含む登録情報を受け取り、所定の属性名を示す指定リストで示される属性名のそれぞれに対して、各属性名を当該登録情報に含まれる属性情報が有するか否かに応じて異なる、第一の情報処理を行うことによって、当該登録情報に対応する登録キーを生成する第一の展開処理手段と、
    属性情報を一つ以上含む評価情報を受け取り、当該評価情報に含まれる属性情報のそれぞれに対して、前記指定リストが示す属性名を有するか否かに応じて異なる、第二の情報処理を行うことによって、登録キーとの比較により当該登録キーに対応する登録情報を検索するための検索キーを生成する第二の展開処理手段と、
    を備える情報検索システム。
  2. 前記指定リストを記憶する指定リスト記憶手段を備える、請求項1に記載の情報検索システム。
  3. 前記第一の展開処理手段は、前記登録情報に含まれる属性名と前記指定リストに含まれる属性名との差分に基づいて特定される属性名を示す属性名リストを特定する判定手段を備え、
    前記第一の展開処理手段は、
    各属性名に対応する属性情報が有する属性値の取り得る値を当該属性名と対応付けて記憶する属性値リストを記憶し、前記第一の情報処理として、前記属性名リストに含まれる属性名と前記属性値リストにおいて当該属性名に対応付けられている属性値とを前記登録情報に追加する組み合わせ展開処理手段と、
    前記属性名と前記属性値とが追加された前記登録情報に基づいて前記登録キーを生成する情報登録手段と、を備える請求項2に記載の情報検索システム。
  4. 前記第二の展開処理手段は、
    評価情報に含まれる属性名と前記指定リストに含まれる属性名との差分に基づいて特定される属性名の属性情報を要素とする集合を生成する集合展開処理手段と、
    前記第二の情報処理として、前記評価情報と前記集合に含まれる各要素が示す属性情報との組み合わせに基づいて検索キーを生成する情報検索手段と、を備える請求項2または3に記載の情報検索システム。
  5. 各属性名に対応する属性情報が有する属性値の取り得る値の種類の数と当該属性名とを対応付けた情報である属性値数リストと、所定の閾値とに基づいて、前記指定リストを生成し、当該指定リストを前記指定リスト記憶手段に記憶する指定リスト作成手段を備える、請求項2ないし4のいずれか1項に記載の情報検索システム。
  6. 前記指定リスト作成手段は、前記属性値数リストにおいて前記閾値以下の値に対応づけられている属性名を前記指定リストに追加する、請求項5に記載の情報検索システム。
  7. 前記指定リスト作成手段は、前記属性値数リストにおいて小さい値に対応付けられている属性名から順に高々閾値が示す個数まで当該属性名を前記指定リストに追加する、請求項5または6に記載の情報検索システム。
  8. 前記指定リスト作成手段は、前記属性値数リストに含まれる、属性値の取り得る値の種類の数に基づいて特定されるメモリ使用量が前記閾値を超えるまで、当該属性値の取りえる値の種類の数に対応する属性名を前記指定リストに追加する、請求項5ないし7のいずれか1項に記載の情報検索システム。
  9. コンピュータが、
    属性名と属性値とを有する属性情報を一つ以上含む登録情報を受け取り、所定の属性名を示す指定リストで示される属性名のそれぞれに対して、各属性名を当該登録情報に含まれる属性情報が有するか否かに応じて異なる、第一の情報処理を行うことによって、当該登録情報に対応する登録キーを生成し、
    属性情報を一つ以上含む評価情報を受け取り、当該評価情報に含まれる属性情報のそれぞれに対して、前記指定リストが示す属性名を有するか否かに応じて異なる、第二の情報処理を行うことによって、登録キーとの比較により当該登録キーに対応する登録情報を検索するための検索キーを生成する、情報検索方法。
  10. コンピュータに、
    属性名と属性値とを有する属性情報を一つ以上含む登録情報を受け取り、所定の属性名を示す指定リストで示される属性名のそれぞれに対して、各属性名を当該登録情報に含まれる属性情報が有するか否かに応じて異なる、第一の情報処理を行うことによって、当該登録情報に対応する登録キーを生成する処理と、
    属性情報を一つ以上含む評価情報を受け取り、当該評価情報に含まれる属性情報のそれぞれに対して、前記指定リストが示す属性名を有するか否かに応じて異なる、第二の情報処理を行うことによって、登録キーとの比較により当該登録キーに対応する登録情報を検索するための検索キーを生成する処理と、を実行させる情報検索プログラム。
JP2013505861A 2011-03-18 2012-02-20 情報検索システム、情報検索方法および情報検索プログラム Expired - Fee Related JP5928446B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011061046 2011-03-18
JP2011061046 2011-03-18
PCT/JP2012/054673 WO2012127986A1 (ja) 2011-03-18 2012-02-20 情報検索システム、情報検索方法および情報検索プログラム

Publications (2)

Publication Number Publication Date
JPWO2012127986A1 JPWO2012127986A1 (ja) 2014-07-24
JP5928446B2 true JP5928446B2 (ja) 2016-06-01

Family

ID=46879146

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013505861A Expired - Fee Related JP5928446B2 (ja) 2011-03-18 2012-02-20 情報検索システム、情報検索方法および情報検索プログラム

Country Status (2)

Country Link
JP (1) JP5928446B2 (ja)
WO (1) WO2012127986A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015001740A1 (ja) * 2013-07-01 2015-01-08 日本電気株式会社 情報処理装置、及び、検索方法
JP6237778B2 (ja) * 2013-10-04 2017-11-29 富士通株式会社 検索プログラム、検索方法および検索装置
JP7188461B2 (ja) * 2019-01-25 2022-12-13 日本電気株式会社 セキュリティ情報分析装置、システム、方法およびプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008102754A1 (ja) * 2007-02-21 2008-08-28 Nec Corporation 情報関連付けシステム、ユーザー情報を関連付ける方法およびプログラム
JP2010198223A (ja) * 2009-02-24 2010-09-09 Nippon Telegr & Teleph Corp <Ntt> 関連性解析システムおよび関連性解析方法
WO2011004846A1 (ja) * 2009-07-07 2011-01-13 日本電気株式会社 情報検索システム、情報管理装置、情報検索方法、情報管理方法、及び、記録媒体
JP2011053868A (ja) * 2009-09-01 2011-03-17 Fujitsu Ltd 索引管理装置の処理方法および索引管理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008102754A1 (ja) * 2007-02-21 2008-08-28 Nec Corporation 情報関連付けシステム、ユーザー情報を関連付ける方法およびプログラム
JP2010198223A (ja) * 2009-02-24 2010-09-09 Nippon Telegr & Teleph Corp <Ntt> 関連性解析システムおよび関連性解析方法
WO2011004846A1 (ja) * 2009-07-07 2011-01-13 日本電気株式会社 情報検索システム、情報管理装置、情報検索方法、情報管理方法、及び、記録媒体
JP2011053868A (ja) * 2009-09-01 2011-03-17 Fujitsu Ltd 索引管理装置の処理方法および索引管理装置

Also Published As

Publication number Publication date
JPWO2012127986A1 (ja) 2014-07-24
WO2012127986A1 (ja) 2012-09-27

Similar Documents

Publication Publication Date Title
US9588991B2 (en) Image search device, image search method, program, and computer-readable storage medium
US20120109990A1 (en) Information search system, information management device, information search method, information management method, and recording medium
CN112231555A (zh) 基于用户画像标签的召回方法、装置、设备及存储介质
JP6185379B2 (ja) レコメンド装置およびレコメンド方法
CN109829073B (zh) 一种图像搜索的方法及装置
US20190362187A1 (en) Training data creation method and training data creation apparatus
JP5194818B2 (ja) データ分類方法およびデータ処理装置
JP5928446B2 (ja) 情報検索システム、情報検索方法および情報検索プログラム
JP2012178128A (ja) 広告管理装置、広告選択装置、広告管理方法、広告管理プログラム及び広告管理プログラムを記録した記録媒体
KR20210023636A (ko) 장기간 연관성 높은 문서 클러스터링을 위한 방법 및 시스템
US8667008B2 (en) Search request control apparatus and search request control method
CN115543994A (zh) 元数据检索方法、服务器、检索方法及终端设备
US9600565B2 (en) Data structure, index creation device, data search device, index creation method, data search method, and computer-readable recording medium
JP2020042386A (ja) 対象データに対して関連付けるラベルを決定する計算機システム
JP5613536B2 (ja) 利用者の要求に応じて動的にもっとも適したイメージを抽出して提供するための方法、システム及びコンピューター判読可能な記録媒体
JP6639749B1 (ja) 検索装置、検索方法および機械学習装置
JP6034584B2 (ja) 特許調査支援装置、特許調査支援方法、およびプログラム
US20130185401A1 (en) Configuration management device, configuration management method, and configuration management program
US20130262980A1 (en) Information processing apparatus, history control method, and computer-readable recording medium
EP3432154A1 (en) Method and apparatus for providing search recommendation information
JP6455087B2 (ja) 帳票情報処理プログラム、帳票情報処理装置、および帳票情報処理方法
JP2010271959A (ja) 業務プロセス間の類似度算出方法、プログラム及び装置
JP7354330B2 (ja) 趣向による場所関連推薦を提供する方法、システム、およびコンピュータプログラム
JP2004326600A (ja) 構造化文書のクラスタリング装置
CN110689383B (zh) 信息推送方法、装置、服务器及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160105

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160304

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: 20160329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160411

R150 Certificate of patent or registration of utility model

Ref document number: 5928446

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees