JP7375657B2 - Search program, search method, and search device - Google Patents

Search program, search method, and search device Download PDF

Info

Publication number
JP7375657B2
JP7375657B2 JP2020065952A JP2020065952A JP7375657B2 JP 7375657 B2 JP7375657 B2 JP 7375657B2 JP 2020065952 A JP2020065952 A JP 2020065952A JP 2020065952 A JP2020065952 A JP 2020065952A JP 7375657 B2 JP7375657 B2 JP 7375657B2
Authority
JP
Japan
Prior art keywords
facet
score
search
facets
category
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.)
Active
Application number
JP2020065952A
Other languages
Japanese (ja)
Other versions
JP2021163316A (en
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2020065952A priority Critical patent/JP7375657B2/en
Publication of JP2021163316A publication Critical patent/JP2021163316A/en
Application granted granted Critical
Publication of JP7375657B2 publication Critical patent/JP7375657B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、検索プログラム、検索方法、及び、検索装置に関する。 The present invention relates to a search program, a search method, and a search device.

様々な情報源から情報を収集した知識ベース(KB;Knowledge Base)の一例として、ナレッジグラフ(KG;Knowledge Graph)が知られている。 A knowledge graph (KG) is known as an example of a knowledge base (KB) that collects information from various information sources.

KGは、例えば、KGが格納するデータ全体を対象としたファセット検索(Faceted Search)に利用されることがある。ファセット検索は、データ検索システムにより用意された検索条件をユーザが選択することで、KG内のコンテンツの絞り込みを可能とする検索手法である。 The KG may be used, for example, in a faceted search that targets the entire data stored in the KG. Facet search is a search method that allows the user to narrow down content within a KG by selecting search conditions prepared by the data search system.

特表2011-513819号公報Special Publication No. 2011-513819 特表2005-514673号公報Special Publication No. 2005-514673

駒水孝裕、天笠俊之、北川博之,“D-022 XMLデータに対するファセット検索のためのファセット抽出の自動化”,第13回情報科学技術フォーラム(FIT2014),第2分冊 第133頁-第134頁,2014年Takahiro Komamizu, Toshiyuki Amagasa, Hiroyuki Kitagawa, “D-022 Automation of facet extraction for facet search on XML data”, 13th Information Science and Technology Forum (FIT2014), Volume 2, pp. 133-134, 2014 駒水孝裕、天笠俊之、北川博之,“XMLデータに対するファセットナビゲーションのためのフレームワークFoXの提案”,第1回データ工学と情報マネジメントに関するフォーラム(DEIM),B7-6,2009年Takahiro Komamizu, Toshiyuki Amagasa, Hiroyuki Kitagawa, “Proposal of FoX framework for faceted navigation for XML data”, 1st Forum on Data Engineering and Information Management (DEIM), B7-6, 2009

ファセット検索において、KGデータを或る特定のカテゴリに絞り込んで検索を行なう場合、適切なキー(ファセットキー)による絞り込みが行なわれない場合がある。 In a facet search, when searching KG data by narrowing it down to a certain specific category, the narrowing down using an appropriate key (facet key) may not be performed.

例えば、プロ野球選手というカテゴリの場合、当該カテゴリとの関連度が高い、打席や利き腕、甲子園出場経験等の適切なファセットキーで絞り込むことで、ユーザの知識に即したファセット検索が可能となる。 For example, in the case of a category of professional baseball player, by narrowing down the search using an appropriate facet key that is highly related to the category, such as batting appearance, handedness, and Koshien participation experience, it is possible to perform a facet search based on the user's knowledge.

しかし、従来のファセット検索システムでは、或る特定のカテゴリに絞り込んだ検索を行なう場合であっても、生年月日や出身地、会社種別等の、重要ではない又は適切ではないファセットキーにより絞り込みが行なわれる場合がある。 However, with conventional facet search systems, even if the search is narrowed down to a specific category, the search may be narrowed down by unimportant or inappropriate facet keys such as date of birth, place of birth, company type, etc. It may be done.

このように、適切なファセットキーによる絞り込みが行なわれない場合、ファセット検索において、ユーザの目的のデータに辿り着くまでの手番が増加する可能性がある。 As described above, if narrowing down using an appropriate facet key is not performed, there is a possibility that the number of steps it takes for the user to arrive at the desired data may increase in the facet search.

1つの側面では、本発明は、カテゴリに関連付けられたファセットの集合から適切な複数のファセットを出力することを目的の1つとする。 In one aspect, one object of the present invention is to output a plurality of appropriate facets from a set of facets associated with a category.

1つの側面では、検索プログラムは、コンピュータに、以下の処理を実行させてよい。前記処理は、特定のカテゴリの指定を受け付けてよい。また、前記処理は、ナレッジグラフにおける前記特定のカテゴリに関連付けられた複数のファセットのそれぞれが前記ナレッジグラフにおいて関連付けられているカテゴリの個数に基づく第1指標と、前記ナレッジグラフにおける前記特定のカテゴリと前記複数のファセットのそれぞれとの距離に基づく第2指標と、のうち少なくとも一方に基づいて算出される前記複数のファセットの優先度に応じて、前記複数のファセットを順に並べて出力してよい。 In one aspect, the search program may cause the computer to perform the following processing. The process may accept designation of a specific category. Further, the processing includes a first index based on the number of categories with which each of the plurality of facets associated with the specific category in the knowledge graph is associated with the specific category in the knowledge graph; The plurality of facets may be sequentially arranged and output according to a priority of the plurality of facets calculated based on at least one of a second index based on a distance to each of the plurality of facets.

1つの側面では、本発明は、カテゴリに関連付けられたファセットの集合から適切な複数のファセットを出力することができる。 In one aspect, the present invention can output appropriate facets from a collection of facets associated with a category.

RDF(Resource Description Framework)の記述方式の一例であるグラフ形式の表現例を示す図である。FIG. 2 is a diagram showing an example of representation in a graph format, which is an example of a description method of RDF (Resource Description Framework). KGデータにおける、カテゴリによる絞り込み対象と、カテゴリごとのファセットとを例示する図である。FIG. 3 is a diagram illustrating narrowing targets based on categories and facets for each category in KG data. ファセット検索システムのUI(User Interface)の画面表示例を示す図である。It is a figure showing an example of a screen display of UI (User Interface) of a facet search system. 一実施形態に係るファセット検索システムの機能構成例を示すブロック図である。FIG. 1 is a block diagram showing an example of a functional configuration of a facet search system according to an embodiment. サーバの機能を実現するコンピュータのハードウェア構成例を示すブロック図である。FIG. 2 is a block diagram showing an example of a hardware configuration of a computer that implements the functions of a server. 頻度表作成部による頻度表の作成処理の一例を示す図である。FIG. 7 is a diagram illustrating an example of frequency table creation processing performed by a frequency table creation unit. クラス集合、P頻度表、及び、PO頻度表の一例を示す図である。It is a figure which shows an example of a class set, a P frequency table, and a PO frequency table. 各指標の算出式の一例を示す図である。It is a figure which shows an example of the calculation formula of each index. 指標値の一例を示す図である。It is a figure showing an example of an index value. カテゴリ重要度を表形式で表したカテゴリ重要度表の一例を示す図である。FIG. 2 is a diagram illustrating an example of a category importance table in which category importance is expressed in a table format. ファセットスコアを表形式で表したファセットスコア表の一例を示す図である。FIG. 3 is a diagram showing an example of a facet score table in which facet scores are expressed in a table format. RDFスキーマにおける、クラス及びファセットキーを表すグラフの一例を示す図である。It is a figure which shows an example of the graph showing a class and a facet key in RDF schema. RDFスキーマにおける、クラス及びファセットキーを表すグラフの一例を示す図である。It is a figure which shows an example of the graph showing a class and a facet key in RDF schema. スコア(org_score)、ファセットスコア(new_score)、スコア(ont_score)、並びに、最終的なスコア(final_score)を表形式で例示する図である。It is a figure which illustrates a score (org_score), a facet score (new_score), a score (ont_score), and a final score (final_score) in a table format. 項目一覧領域に表示されるファセットキーの一例を示す図である。FIG. 7 is a diagram showing an example of facet keys displayed in an item list area. “org_score”及び“new_score”のそれぞれをベースとしてファセットキーをソートした場合のMRR(Mean Reciprocal Rank)の比較例を示す図である。FIG. 7 is a diagram showing a comparative example of MRR (Mean Reciprocal Rank) when facet keys are sorted based on “org_score” and “new_score” respectively. “new_score”及び“final_score”のそれぞれをベースとしてファセットキーをソートした場合のMRRの比較例を示す図である。FIG. 7 is a diagram showing a comparative example of MRR when facet keys are sorted based on each of “new_score” and “final_score”. 一実施形態に係るDB(Database)作成処理の動作例を説明するフローチャートである。3 is a flowchart illustrating an operation example of DB (Database) creation processing according to an embodiment. 図18のステップS1の頻度表作成処理の動作例を説明するフローチャートである。19 is a flowchart illustrating an operation example of frequency table creation processing in step S1 of FIG. 18. FIG. 図18のステップS2のスコアDB作成処理の動作例を説明するフローチャートである。19 is a flowchart illustrating an example of the operation of the score DB creation process in step S2 of FIG. 18. FIG. 一実施形態に係るファセット検索処理の動作例を説明するフローチャートである。7 is a flowchart illustrating an operational example of facet search processing according to an embodiment.

以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形又は技術の適用を排除する意図はない。例えば、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下の説明で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。 Embodiments of the present invention will be described below with reference to the drawings. However, the embodiments described below are merely examples, and there is no intention to exclude the application of various modifications or techniques not specified below. For example, this embodiment can be modified and implemented in various ways without departing from the spirit thereof. In the drawings used in the following description, parts with the same reference numerals represent the same or similar parts unless otherwise specified.

〔1〕一実施形態
〔1-1〕ファセット検索システムの説明
まず、ファセット検索システムについて簡単に説明する。ファセット検索システムは、例えば、大規模なナレッジグラフ(KG)に対するファセット検索を行なうためのシステムである。
[1] One Embodiment [1-1] Description of facet search system First, the facet search system will be briefly explained. The facet search system is, for example, a system for performing facet search on a large-scale knowledge graph (KG).

一実施形態に係るファセット検索システムは、例えば、KG内の検索対象のデータ全体に対するファセット検索を実施する代わりに、カテゴリで候補を絞り込み、その後、カテゴリ内のファセット検索を実施することにより、効率化を実現する。 For example, the facet search system according to one embodiment improves efficiency by narrowing down candidates by category and then performing a facet search within the category, instead of performing a facet search on the entire search target data in the KG. Realize.

KGに格納されるデータは、主語(Subject)、述語(Predicate)、目的語(Object)の3つの要素を1セットとする、RDF(Resource Description Framework)と呼ばれる記述方式により表現される。 The data stored in the KG is expressed using a description method called RDF (Resource Description Framework), which has a set of three elements: a subject, a predicate, and an object.

KGを利用するファセット検索において、カテゴリは、インスタンスのクラスである。また、ファセットキーは、「述語」となり、ファセット値は、「目的語」となる。ファセット検索により、ファセット検索システムは、検索条件に合致したインスタンス、例えば「主語」の集合を探索する。 In faceted search using KG, a category is a class of instances. Further, the facet key becomes a "predicate" and the facet value becomes an "object". Through facet search, the facet search system searches for a set of instances, such as "subjects," that match the search conditions.

ここで、「インスタンス」とは、世の中の事象や事物を表現するものであり、エンティティとも呼ばれる。例えば、野球選手である「山田太郎」は、インスタンスの一例であり、「山田太郎」のように文字列で表されてもよく、DB(Database)内のIDで表されてもよい。 Here, an "instance" represents an event or thing in the world, and is also called an entity. For example, the baseball player "Taro Yamada" is an example of an instance, and may be represented by a character string such as "Taro Yamada" or by an ID in a DB (Database).

DBの一例としては、データ(オープンデータ)を格納しインターネット上で公開する種々のDB、例えば、LOD(Linked Open Data)の技術を利用するDBが挙げられる。 Examples of DBs include various DBs that store data (open data) and publish it on the Internet, such as DBs that use LOD (Linked Open Data) technology.

当該DB内のIDとは、当該DBにおいて「山田太郎」の情報を参照できる場所のURI(Uniform Resource Indicator)、例えば「山田太郎」の記事を含むウェブ(Web)ページのURL(Uniform Resource Locator)が挙げられる。一例として、DBのドメインが“aaa.org”である場合、「山田太郎」のDB内のIDは、“http://aaa.org/resource/Taro_Yamada”となる。 The ID in the DB is the URI (Uniform Resource Indicator) of the location where information on "Taro Yamada" can be referenced in the DB, for example, the URL (Uniform Resource Locator) of the web page containing the article on "Taro Yamada". can be mentioned. As an example, if the domain of the DB is "aaa.org", the ID of "Taro Yamada" in the DB is "http://aaa.org/resource/Taro_Yamada".

一実施形態において、KGには、インスタンスとして、1以上のDB内のIDが設定可能であってよい。換言すれば、KGは、情報源として1以上のDBから情報を収集した知識ベースである。 In one embodiment, IDs in one or more DBs may be settable as instances in the KG. In other words, the KG is a knowledge base that collects information from one or more DBs as information sources.

「クラス」とは、インスタンスの種別を表すものであり、例えば、「山田太郎」のクラスは、「野球選手」である。インスタンスは、複数のクラスに属する場合があり、「山田太郎」は、「野球選手」“http://aaa.org/ontology/BaseballPlayer”であり、「アスリート」“http://aaa.org/ontology/Athlete”であり、「人」“http://aaa.org/ontology/Person”である。 "Class" represents the type of instance; for example, the class of "Taro Yamada" is "baseball player." Instances may belong to multiple classes; “Taro Yamada” is a “baseball player” “http://aaa.org/ontology/BaseballPlayer” and “athlete” “http://aaa.org/ ontology/Athlete” and “person” “http://aaa.org/ontology/Person”.

クラスは、上位及び下位の関係を保持できる。例えば、RDFスキーマを利用すると、“BaseballPlayer”(野球選手)と“Athlete”(アスリート)は、“rdfs:subClassOf”(サブクラス)の関係となる。 Classes can maintain superior and subordinate relationships. For example, when using the RDF schema, “BaseballPlayer” and “Athlete” have a relationship of “rdfs:subClassOf” (subclass).

以下、RDFスキーマ(RDFSスキーマと称されてもよい)、及び、他の標準語彙や独自に定義した語彙を利用して定義したスキーマを、「オントロジー」(Ontology)と呼ぶ。 Hereinafter, RDF Schema (which may also be referred to as RDFS Schema), and schemas defined using other standard vocabularies or uniquely defined vocabularies will be referred to as "ontologies."

図1は、RDFの記述方式の一例であるグラフ形式の表現例を示す図である。なお、図1の説明では、東京都の知事である「鈴木花子」について、DB“http://aaa.org/”内のURIをインスタンスに含む例を示す。 FIG. 1 is a diagram showing an example of representation in a graph format, which is an example of an RDF description method. In the explanation of FIG. 1, an example will be shown in which the URI in the DB "http://aaa.org/" is included in the instance for "Hanako Suzuki", the governor of Tokyo.

また、以下に、図1に示す表現例をテキスト(n3)形式で示す。 Further, the expression example shown in FIG. 1 is shown below in text (n3) format.

<http://ja.aaa.org/resource/東京都> <http://aaaa.org/ontology/leader> <http://ja.aaa.org/resource/鈴木花子>.
<http://ja.aaa.org/resource/鈴木花子>
rdf:type <http://aaa.org/ontology/Politician>;
<http://aaa.org/ontology/birthPlace> <http://ja.aaa.org/resource/兵庫県>;
<http://aaa.org/ontology/birthDate> “1960-01-01”.
<http://ja.aaa.org/resource/Tokyo><http://aaaa.org/ontology/leader><http://ja.aaa.org/resource/HanakoSuzuki>.
<http://ja.aaa.org/resource/HanakoSuzuki>
rdf:type <http://aaa.org/ontology/Politician>;
<http://aaa.org/ontology/birthPlace><http://ja.aaa.org/resource/HyogoPrefecture>;
<http://aaa.org/ontology/birthDate> “1960-01-01”.

このように、RDFは、「もの」、「こと」を、「主語」(S;Subject)、「述語」(P;Predicate)、「目的語」(O;Object)の3つ組みで表現する。図1及び上記テキスト(n3)形式で示す表現例により、以下のように「もの」、「こと」が整理される。なお、“rdf:type”は、インスタンスとクラスとの関係を定義する述語である。 In this way, RDF expresses "things" and "things" using the triplet of "subject" (S), "predicate" (P), and "object" (O). . According to the expression examples shown in FIG. 1 and the above text (n3) format, "things" and "things" are organized as follows. Note that "rdf:type" is a predicate that defines the relationship between an instance and a class.

「東京都(S)の 知事(P)は 鈴木花子(O) である」
「鈴木花子(S)は(P)政治家(O)、出身(P)は兵庫県(O)、生年月日(P)は1960-01-01(O)である」
“The governor (P) of Tokyo (S) is Hanako Suzuki (O).”
"Hanako Suzuki (S) is (P) a politician (O), her hometown (P) is Hyogo Prefecture (O), and her date of birth (P) is 1960-01-01 (O)."

図2は、KGデータにおける、カテゴリによる絞り込み対象と、カテゴリごとのファセットとを例示する図である。例えば、KGデータは、「主語」、「述語」、「目的語」のセットとして、「山田太郎」、「rdf:type」、「プロ野球選手」のセットや、「山田太郎」、「打席」、「左」のセットを含んでよい。 FIG. 2 is a diagram illustrating narrowing targets based on categories and facets for each category in KG data. For example, the KG data includes a set of "Taro Yamada", "rdf:type", and "professional baseball player" as a set of "subject", "predicate", and "object", and a set of "Taro Yamada" and "turn at bat". , may include the "left" set.

ファセット検索システムは、例えば、「事物」から「人」又は「組織」、「人」から「政治家」、「プロ野球選手」又は「サッカー選手」、「組織」から「会社」又は「プロ野球チーム」のように、階層的に、カテゴリの絞り込み(探索)を可能としてよい。 The facet search system can be used, for example, from "things" to "people" or "organizations," from "people" to "politicians," "professional baseball players" or "soccer players," from "organizations" to "companies," or "professional baseball players." It may be possible to narrow down (search) categories hierarchically, such as "Team".

例えば、ユーザは、ファセット検索システムにおいて、いずれかのカテゴリのファセットを選択し、提示された候補となる値を選択することで、検索結果を絞り込むことができる。なお、図2の例において、「政治家」のカテゴリに着目すると、ファセットは、{名前、所属政党、出身地、生年月日}であり、それぞれに対応付けられる文字列やDB内のIDがファセットに対する値である。 For example, in a facet search system, a user can narrow down search results by selecting a facet in any category and selecting a value that is a presented candidate. In addition, in the example of Figure 2, if we focus on the category "politician", the facets are {name, political party affiliation, place of birth, date of birth}, and the character strings and IDs in the DB that are associated with each are This is the value for the facet.

図3は、ファセット検索システムのUI(User Interface)の画面表示例を示す図である。図3に示すように、ファセット検索システムのUIは、ユーザの端末に表示する画面として、カテゴリ探索画面100と、カテゴリ探索画面100から遷移するファセット検索画面200とを含んでよい。 FIG. 3 is a diagram showing an example of a screen display of a UI (User Interface) of the facet search system. As shown in FIG. 3, the UI of the facet search system may include a category search screen 100 and a facet search screen 200 transitioned from the category search screen 100 as screens displayed on the user's terminal.

カテゴリ探索画面100は、KGデータからカテゴリを絞り込むための画面、換言すれば、特定のカテゴリの指定を受け付ける画面であり、例えば、カテゴリの選択領域110及びクラスの選択領域120を含んでよい。なお、カテゴリ探索画面100は、ファセット検索画面200において保存された検索条件を表示するためのボタン130を含んでもよい。 The category search screen 100 is a screen for narrowing down categories from KG data, in other words, a screen for accepting the specification of a specific category, and may include, for example, a category selection area 110 and a class selection area 120. Note that the category search screen 100 may include a button 130 for displaying search conditions saved on the facet search screen 200.

選択領域110は、例えば、図2に示す「事物」からデータセット、例えば「人」又は「組織」の選択を受け付けるための領域であり、図3の例では「データセットA」及び「データセットB」が表示されている。選択領域120は、選択領域110で選択された「人」又は「組織」に対応付けられたクラスの一覧を表示する領域であって、例えば、図2に示す「人」から「政治家」、「プロ野球選手」又は「サッカー選手」等の選択を受け付けるための領域である。 The selection area 110 is, for example, an area for accepting the selection of a dataset, such as a ``person'' or an ``organization,'' from the ``things'' shown in FIG. 2, and in the example of FIG. B" is displayed. The selection area 120 is an area that displays a list of classes associated with the "person" or "organization" selected in the selection area 110, and includes, for example, "person" to "politician" shown in FIG. This is an area for accepting selections such as "professional baseball player" or "soccer player."

なお、図3の例では、便宜上、選択領域110を「データセット」、選択領域120を「クラス」の選択領域と表記しているが、選択領域110及び120で選択された「データセット」の「クラス」を「カテゴリ」と捉えてよい。 In the example of FIG. 3, for convenience, the selection area 110 is referred to as a "dataset" and the selection area 120 is referred to as a "class" selection area; A "class" can be thought of as a "category."

UIは、選択領域120で選択されたクラス(カテゴリ)の情報に基づき、ファセット検索画面200を表示する。 The UI displays a facet search screen 200 based on information on the class (category) selected in the selection area 120.

ファセット検索画面200は、カテゴリ探索画面100で選択されたクラス(カテゴリ)から、ファセットを検索するための画面である。すなわち、ファセット検索画面200は、カテゴリ探索画面100からの遷移先である検索画面であって、特定のカテゴリに関連付けられた複数のファセットを対象とした検索を行なうための検索画面である。 The facet search screen 200 is a screen for searching for facets from the class (category) selected on the category search screen 100. That is, the facet search screen 200 is a search screen that is a transition destination from the category search screen 100, and is a search screen for performing a search targeting a plurality of facets associated with a specific category.

ファセット検索画面200は、例えば、項目一覧領域210、検索条件の設定領域230、出力項目の設定領域250、出力言語の設定領域260、及び、一覧表示領域280を含んでよい。 The facet search screen 200 may include, for example, an item list area 210, a search condition setting area 230, an output item setting area 250, an output language setting area 260, and a list display area 280.

項目一覧領域210は、カテゴリ探索画面100で選択されたクラス(カテゴリ)に基づき、KGデータ内のファセットキーを表示する領域である。 The item list area 210 is an area that displays facet keys in the KG data based on the class (category) selected on the category search screen 100.

検索条件の設定領域230は、項目一覧領域210で選択された状態で追加ボタン220が押下されたファセットキーについての検索条件を設定するための領域である。出力項目の設定領域250は、項目一覧領域210で選択された状態で追加ボタン240が押下されたファセットキーについて、エンティティを出力する項目及び出力順序を設定するための領域である。出力言語の設定領域250は、エンティティの出力言語を設定するための領域である。 The search condition setting area 230 is an area for setting search conditions for the facet key selected in the item list area 210 and the add button 220 pressed. The output item setting area 250 is an area for setting an item for outputting an entity and an output order for a facet key that is selected in the item list area 210 and the add button 240 is pressed. The output language setting area 250 is an area for setting the output language of the entity.

一覧表示領域280は、検索ボタン270が押下された場合に、設定領域230、250及び260の設定内容に基づき、エンティティの一覧を表示する領域である。 The list display area 280 is an area that displays a list of entities based on the settings in the setting areas 230, 250, and 260 when the search button 270 is pressed.

なお、ファセット検索画面200は、一覧表示領域280の表示内容や、設定領域230、250及び260の設定内容、項目一覧領域210の表示内容、のいずれか1つ以上についての操作ボタン290を表示してもよい。操作ボタン290は、例えば、CSV(Comma Separated Value)形式での出力ボタン、RDF問合せ言語の一例であるSPARQL(SPARQL Protocol and RDF Query Language)文の確認ボタン、及び、検索条件の保存ボタン、等を含んでよい。 Note that the facet search screen 200 displays operation buttons 290 for any one or more of the display contents of the list display area 280, the setting contents of the setting areas 230, 250, and 260, and the display contents of the item list area 210. It's okay. The operation buttons 290 include, for example, an output button in CSV (Comma Separated Value) format, a button to confirm a SPARQL (SPARQL Protocol and RDF Query Language) sentence, which is an example of an RDF query language, a button to save search conditions, etc. may be included.

ところで、ファセット検索画面200における項目一覧領域210には、カテゴリに適したファセットキーが表示されない場合がある。以下、このような場合を比較例として説明する。 Incidentally, the item list area 210 on the facet search screen 200 may not display facet keys suitable for a category. Hereinafter, such a case will be explained as a comparative example.

(比較例)
例えば、図3に示す画面表示を、非特許文献1に記載された技術を用いて実行する場合を想定する。この技術では、例えば、サーバは、XML(eXtensible Markup Language)データを用いて、以下の手順でファセットの値の抽出を行なう。
(Comparative example)
For example, assume that the screen display shown in FIG. 3 is executed using the technique described in Non-Patent Document 1. In this technique, for example, the server uses XML (eXtensible Markup Language) data to extract facet values in the following procedure.

(i)サーバは、XMLデータから構造要約を抽出する。
構造要約は、XMLデータ中の各要素の親子関係や、親要素に対する子要素の出現頻度等を示す情報である。
(i) The server extracts the structure summary from the XML data.
The structure summary is information indicating the parent-child relationship of each element in the XML data, the appearance frequency of child elements with respect to the parent element, and the like.

(ii)構造要約からクラス候補及びファセット候補を抽出する。
なお、上記技術においては、構造要約内の或るノードでXMLデータ中のオブジェクトに対応するものをクラスといい、構造要約中のクラスノードの子孫ノードのうちの、選ばれたノードをファセットという。
(ii) Extract class candidates and facet candidates from the structure summary.
In the above technique, a certain node in the structure summary that corresponds to an object in the XML data is called a class, and a selected node among the descendant nodes of the class node in the structure summary is called a facet.

(iii)クラス候補及びファセット候補から適切なものを抽出する。
(iv)XMLデータから抽出されたクラスに該当するXML部分木をオブジェクトとして抽出する。
(v)抽出されたファセットに該当する要素の値をファセットの値として抽出する。
(iii) Extract appropriate ones from class candidates and facet candidates.
(iv) Extract the XML subtree corresponding to the class extracted from the XML data as an object.
(v) The value of the element corresponding to the extracted facet is extracted as the value of the facet.

例えば、サーバは、上記(i)~(v)の手順において、XMLデータに代えて、RDFの記述形式のKGデータを対象とすることが考えられる。 For example, in steps (i) to (v) above, the server may target KG data in RDF description format instead of XML data.

非特許文献1に記載された技術において、上記(iii)の手順では、サーバは、頻度によるアプローチと、意味に基づくアプローチとを組み合わせた手法を採用する。頻度によるアプローチでは、サーバは、KGデータ内でより多くのインスタンスを取得できるファセットキーを抽出することができる。意味に基づくアプローチでは、サーバは、WordNetやWikipedia(登録商標)等の既存知識を利用し、ファセットキーが人間により解釈可能か否かを判定する。 In the technique described in Non-Patent Document 1, in the procedure (iii) above, the server employs a method that combines a frequency-based approach and a meaning-based approach. In the frequency approach, the server can extract facet keys that can obtain more instances in the KG data. In a semantic-based approach, the server uses existing knowledge, such as WordNet or Wikipedia, to determine whether a facet key is human-interpretable.

なお、上記技術では、ファセットキーの重要度については考慮されていない。一方、非特許文献2には、ファセットキーをランキングする指標が記載されている。 Note that the above technique does not take into account the importance of facet keys. On the other hand, Non-Patent Document 2 describes an index for ranking facet keys.

ここで、非特許文献1及び2に記載された技術を用いて、ファセット検索画面200における項目一覧領域210を表示する場合、換言すれば、或る特定のカテゴリ内のファセット検索を行なう場合を考える。或る特定のカテゴリ内のファセット検索を行なう場合、カテゴリ固有のファセットキーで絞り込んだ方が良いケースがある。例えば、カテゴリ探索画面100において、プロ野球選手というカテゴリが選択された場合を想定する。 Here, consider a case where the item list area 210 on the facet search screen 200 is displayed using the techniques described in Non-Patent Documents 1 and 2, in other words, a case where a facet search within a certain specific category is performed. . When performing a facet search within a certain specific category, there are cases where it is better to narrow down the search using a facet key unique to the category. For example, assume that the category "professional baseball player" is selected on the category search screen 100.

この場合、非特許文献2に記載された技術では、KGデータ全体の統計的傾向により、甲子園出場経験よりも、出身地や生年月日が重要なファセットキーとして上位にランキングされてしまう。 In this case, with the technique described in Non-Patent Document 2, due to the statistical tendency of the entire KG data, hometown and date of birth are ranked higher as important facet keys than Koshien participation experience.

また、非特許文献1に記載された技術では、知識ベースにファセットが存在するか否かを利用するに留まっており、知識のオントロジーは利用されない。例えば、「日付」のファセットキーについて、人の場合は「生まれた日」、プロ野球選手の場合は「初出場の年月日」等の方が重要なファセットとなる。これらの情報は、オントロジー等によりKGの中で構造化されている。 Further, the technique described in Non-Patent Document 1 only uses whether or not a facet exists in a knowledge base, and does not use the ontology of knowledge. For example, for a facet key of "date," a more important facet would be "date of birth" for a person, and "date of first appearance" for a professional baseball player. This information is structured in the KG using ontology and the like.

しかし、プロ野球選手というカテゴリが選択された場合、ファセットキーとして、生年月日や出身地、会社種別等よりも、打席や利き腕、甲子園出場経験等で絞り込まれる方が、ユーザの知識に即したファセット検索を実現できる。 However, when the category "Professional Baseball Player" is selected, it would be better to narrow down the search based on facet keys such as batting order, handedness, and Koshien participation experience, rather than date of birth, place of birth, company type, etc., based on the user's knowledge. Faceted search can be realized.

そこで、以下で説明する一実施形態に係るファセット検索システムは、主に、下記(a)及び(b)の手法を採用して、項目一覧領域210に表示する、カテゴリに適したファセットキーのランキングを行なう。 Therefore, the facet search system according to an embodiment described below mainly employs the methods (a) and (b) below to display rankings of facet keys suitable for categories in the item list area 210. Do the following.

(a)カテゴリ固有のファセットキーを重要視する指標の導入。
(b)KGの知識構造を考慮したファセットキーの意味解釈の実施。
(a) Introduction of indicators that emphasize category-specific facet keys.
(b) Implementation of semantic interpretation of facet keys considering KG's knowledge structure.

これにより、カテゴリに関連付けられたファセットの集合から適切な複数のファセットを出力することができ、ユーザの目的のデータに辿り着くまでの手番を減少させることができる。 Thereby, it is possible to output a plurality of appropriate facets from a set of facets associated with a category, and it is possible to reduce the number of steps it takes for the user to arrive at the desired data.

〔1-2〕ファセット検索システムの構成例
図4は、一実施形態に係るファセット検索システム1の機能構成例を示すブロック図である。ファセット検索システム1は、ファセット検索を行なう検索システムの一例であり、図4に示すように、例示的に、サーバ2、ナレッジグラフ(KG)3、及び、1以上(図4の例では1台)の端末4を備えてよい。
[1-2] Configuration example of facet search system FIG. 4 is a block diagram showing a functional configuration example of the facet search system 1 according to one embodiment. The facet search system 1 is an example of a search system that performs a facet search, and as shown in FIG. 4, it exemplarily includes a server 2, a knowledge graph (KG) 3, and one or more ) terminal 4 may be provided.

KG3は、知識ベースの一例であり、例えば、RDFの記述形式で記述されたデータを記憶してよい。 KG3 is an example of a knowledge base, and may store data written in an RDF description format, for example.

端末4は、ファセット検索システム1のユーザが使用する情報処理端末の一例であり、サーバ2に対してファセットの検索に関するアクセスを行なうPC(Personal Computer)又はサーバ等のコンピュータである。 The terminal 4 is an example of an information processing terminal used by a user of the facet search system 1, and is a computer such as a PC (Personal Computer) or a server that accesses the server 2 regarding facet searches.

KG3とサーバ2との間、及び、端末4とサーバ2との間は、それぞれ、図示しないネットワークを介して相互に通信可能に接続されてよい。ネットワークは、WAN(Wide Area Network)、LAN(Local Area Network)、又はこれらの組み合わせを含んでよい。WANにはインターネットが含まれてよく、LANにはVPN(Virtual Private Network)が含まれてよい。 The KG 3 and the server 2 and the terminal 4 and the server 2 may be connected to each other via a network (not shown) so that they can communicate with each other. The network may include a WAN (Wide Area Network), a LAN (Local Area Network), or a combination thereof. A WAN may include the Internet, and a LAN may include a VPN (Virtual Private Network).

サーバ2は、検索装置、情報処理装置、又は、コンピュータの一例である。例えば、サーバ2は、ファセット検索システム1において、端末4からのファセットの検索に関する種々のアクセスに応じて、KG3の参照、端末4への応答や情報の通知等の種々の処理を行なう。 The server 2 is an example of a search device, an information processing device, or a computer. For example, in the facet search system 1, the server 2 performs various processes such as referring to the KG 3, responding to the terminal 4, and notifying information in response to various accesses related to facet searches from the terminal 4.

サーバ2は、例えば、端末4に対して、アクセスを可能とするための機能を提供してよい。当該機能としては、例えば、端末4によるアクセスに用いられる、ウェブページ等の画面の生成及び表示制御が挙げられる。例えば、端末4は、ブラウザ等のアプリケーションを用いてサーバ2にアクセス要求を送信し、サーバ2から受信する画面情報に基づきアプリケーションに表示されるウェブページを介して、サーバ2へのアクセスを行なってよい。 The server 2 may, for example, provide the terminal 4 with a function to enable access. Examples of such functions include generation and display control of screens such as web pages used for access by the terminal 4. For example, the terminal 4 sends an access request to the server 2 using an application such as a browser, and accesses the server 2 via a web page displayed on the application based on screen information received from the server 2. good.

サーバ2は、仮想サーバ(VM;Virtual Machine)であってもよいし、物理サーバであってもよい。また、サーバ2の機能は、1台のコンピュータにより実現されてもよいし、2台以上のコンピュータにより実現されてもよい。さらに、サーバ2の機能のうちの少なくとも一部は、クラウド環境により提供されるHW(Hardware)リソース及びNW(Network)リソースを用いて実現されてもよい。 The server 2 may be a virtual server (VM; Virtual Machine) or a physical server. Further, the functions of the server 2 may be realized by one computer, or may be realized by two or more computers. Furthermore, at least some of the functions of the server 2 may be realized using HW (Hardware) resources and NW (Network) resources provided by a cloud environment.

(ハードウェア構成例)
図5は、サーバ2の機能を実現するコンピュータ10のハードウェア(HW)構成例を示すブロック図である。サーバ2の機能を実現するHWリソースとして、複数のコンピュータが用いられる場合は、各コンピュータが図5に例示するHW構成を備えてよい。
(Hardware configuration example)
FIG. 5 is a block diagram showing an example of the hardware (HW) configuration of the computer 10 that implements the functions of the server 2. As shown in FIG. When a plurality of computers are used as HW resources to implement the functions of the server 2, each computer may have the HW configuration illustrated in FIG. 5.

図5に示すように、コンピュータ10は、HW構成として、例示的に、プロセッサ10a、メモリ10b、記憶部10c、IF(Interface)部10d、I/O(Input / Output)部10e、及び読取部10fを備えてよい。 As shown in FIG. 5, the computer 10 includes, as an example, a processor 10a, a memory 10b, a storage section 10c, an IF (Interface) section 10d, an I/O (Input/Output) section 10e, and a reading section as an HW configuration. 10f may be provided.

プロセッサ10aは、種々の制御や演算を行なう演算処理装置の一例である。プロセッサ10aは、コンピュータ10内の各ブロックとバス10iで相互に通信可能に接続されてよい。なお、プロセッサ10aは、複数のプロセッサを含むマルチプロセッサであってもよいし、複数のプロセッサコアを有するマルチコアプロセッサであってもよく、或いは、マルチコアプロセッサを複数有する構成であってもよい。 The processor 10a is an example of an arithmetic processing device that performs various controls and calculations. The processor 10a may be communicably connected to each block within the computer 10 via a bus 10i. Note that the processor 10a may be a multiprocessor including a plurality of processors, a multicore processor having a plurality of processor cores, or a configuration including a plurality of multicore processors.

プロセッサ10aとしては、例えば、CPU、MPU、GPU、APU、DSP、ASIC、FPGA等の集積回路(IC;Integrated Circuit)が挙げられる。なお、プロセッサ10aとして、これらの集積回路の2以上の組み合わせが用いられてもよい。CPUはCentral Processing Unitの略称であり、MPUはMicro Processing Unitの略称である。GPUはGraphics Processing Unitの略称であり、APUはAccelerated Processing Unitの略称である。DSPはDigital Signal Processorの略称であり、ASICはApplication Specific ICの略称であり、FPGAはField-Programmable Gate Arrayの略称である。 Examples of the processor 10a include integrated circuits (ICs) such as a CPU, MPU, GPU, APU, DSP, ASIC, and FPGA. Note that a combination of two or more of these integrated circuits may be used as the processor 10a. CPU is an abbreviation for Central Processing Unit, and MPU is an abbreviation for Micro Processing Unit. GPU is an abbreviation for Graphics Processing Unit, and APU is an abbreviation for Accelerated Processing Unit. DSP is an abbreviation for Digital Signal Processor, ASIC is an abbreviation for Application Specific IC, and FPGA is an abbreviation for Field-Programmable Gate Array.

メモリ10bは、種々のデータやプログラム等の情報を格納するHWの一例である。メモリ10bとしては、例えばDRAM(Dynamic Random Access Memory)等の揮発性メモリ、及び、PM(Persistent Memory)等の不揮発性メモリ、の一方又は双方が挙げられる。 The memory 10b is an example of HW that stores information such as various data and programs. Examples of the memory 10b include one or both of a volatile memory such as a DRAM (Dynamic Random Access Memory), and a non-volatile memory such as a PM (Persistent Memory).

記憶部10cは、種々のデータやプログラム等の情報を格納するHWの一例である。記憶部10cとしては、HDD(Hard Disk Drive)等の磁気ディスク装置、SSD(Solid State Drive)等の半導体ドライブ装置、不揮発性メモリ等の各種記憶装置が挙げられる。不揮発性メモリとしては、例えば、フラッシュメモリ、SCM(Storage Class Memory)、ROM(Read Only Memory)等が挙げられる。 The storage unit 10c is an example of HW that stores information such as various data and programs. Examples of the storage unit 10c include various storage devices such as magnetic disk devices such as HDDs (Hard Disk Drives), semiconductor drive devices such as SSDs (Solid State Drives), and nonvolatile memories. Examples of nonvolatile memory include flash memory, SCM (Storage Class Memory), and ROM (Read Only Memory).

また、記憶部10cは、コンピュータ10の各種機能の全部若しくは一部を実現するプログラム10g(検索プログラム)を格納してよい。例えば、サーバ2のプロセッサ10aは、記憶部10cに格納されたプログラム10gをメモリ10bに展開して実行することにより、図4に例示するサーバ2としての機能を実現できる。 Furthermore, the storage unit 10c may store a program 10g (search program) that implements all or part of various functions of the computer 10. For example, the processor 10a of the server 2 can implement the functions of the server 2 illustrated in FIG. 4 by loading the program 10g stored in the storage unit 10c into the memory 10b and executing it.

IF部10dは、ネットワークとの間の接続及び通信の制御等を行なう通信IFの一例である。例えば、IF部10dは、イーサネット(登録商標)等のLAN(Local Area Network)、或いは、FC(Fibre Channel)等の光通信等に準拠したアダプタを含んでよい。当該アダプタは、無線及び有線の一方又は双方の通信方式に対応してよい。例えば、サーバ2は、IF部10dを介して、KG3及び端末4のそれぞれと相互に通信可能に接続されてよい。また、例えば、プログラム10gは、当該通信IFを介して、ネットワークからコンピュータ10にダウンロードされ、記憶部10cに格納されてもよい。 The IF unit 10d is an example of a communication IF that performs connection with a network, control of communication, and the like. For example, the IF section 10d may include an adapter compliant with LAN (Local Area Network) such as Ethernet (registered trademark), optical communication such as FC (Fibre Channel), or the like. The adapter may be compatible with one or both of wireless and wired communication systems. For example, the server 2 may be communicably connected to each of the KG 3 and the terminal 4 via the IF section 10d. Further, for example, the program 10g may be downloaded from the network to the computer 10 via the communication IF and stored in the storage unit 10c.

I/O部10eは、入力装置、及び、出力装置、の一方又は双方を含んでよい。入力装置としては、例えば、キーボード、マウス、タッチパネル等が挙げられる。出力装置としては、例えば、モニタ、プロジェクタ、プリンタ等が挙げられる。 The I/O unit 10e may include one or both of an input device and an output device. Examples of the input device include a keyboard, mouse, touch panel, and the like. Examples of the output device include a monitor, a projector, and a printer.

読取部10fは、記録媒体10hに記録されたデータやプログラムの情報を読み出すリーダの一例である。読取部10fは、記録媒体10hを接続可能又は挿入可能な接続端子又は装置を含んでよい。読取部10fとしては、例えば、USB(Universal Serial Bus)等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、SDカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体10hにはプログラム10gが格納されてもよく、読取部10fが記録媒体10hからプログラム10gを読み出して記憶部10cに格納してもよい。 The reading unit 10f is an example of a reader that reads data and program information recorded on the recording medium 10h. The reading unit 10f may include a connection terminal or device to which the recording medium 10h can be connected or inserted. Examples of the reading unit 10f include a USB (Universal Serial Bus) compliant adapter, a drive device that accesses a recording disk, a card reader that accesses a flash memory such as an SD card, and the like. Note that the program 10g may be stored in the recording medium 10h, or the reading unit 10f may read the program 10g from the recording medium 10h and store it in the storage unit 10c.

記録媒体10hとしては、例示的に、磁気/光ディスクやフラッシュメモリ等の非一時的なコンピュータ読取可能な記録媒体が挙げられる。磁気/光ディスクとしては、例示的に、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク、HVD(Holographic Versatile Disc)等が挙げられる。フラッシュメモリとしては、例示的に、USBメモリやSDカード等の半導体メモリが挙げられる。 Examples of the recording medium 10h include non-transitory computer-readable recording media such as magnetic/optical disks and flash memories. Examples of magnetic/optical discs include flexible discs, CDs (Compact Discs), DVDs (Digital Versatile Discs), Blu-ray discs, and HVDs (Holographic Versatile Discs). Examples of flash memory include semiconductor memories such as USB memory and SD cards.

上述したコンピュータ10のHW構成は例示である。従って、コンピュータ10内でのHWの増減(例えば任意のブロックの追加や削除)、分割、任意の組み合わせでの統合、又は、バスの追加若しくは削除等は適宜行なわれてもよい。例えば、サーバ2において、I/O部10e及び読取部10fの少なくとも一方は、省略されてもよい。 The HW configuration of the computer 10 described above is an example. Therefore, the number of HWs within the computer 10 may be increased or decreased (eg, adding or deleting arbitrary blocks), dividing, integrating in any combination, adding or deleting buses, etc., as appropriate. For example, in the server 2, at least one of the I/O section 10e and the reading section 10f may be omitted.

なお、情報処理端末の一例である端末4は、上述したコンピュータ10と同様のHW構成により実現されてよい。 Note that the terminal 4, which is an example of an information processing terminal, may be realized by the same HW configuration as the computer 10 described above.

例えば、端末4のプロセッサ10aは、記憶部10cに格納されたプログラム10gをメモリ10bに展開して実行することにより、図4に示す端末4としての機能を実現できる。 For example, the processor 10a of the terminal 4 can implement the functions of the terminal 4 shown in FIG. 4 by loading the program 10g stored in the storage unit 10c into the memory 10b and executing it.

なお、図4に示す端末4は、I/O部10eの一例である入力装置及び表示装置を備えてよい。例えば、端末4のプロセッサ10aは、IF部10dを介してサーバ2から受信した情報に基づき、各画面を表示装置に表示してよい。また、端末4のプロセッサ10aは、入力された情報を、IF部10dを介してサーバ2に送信してよい。 Note that the terminal 4 shown in FIG. 4 may include an input device and a display device, which are examples of the I/O section 10e. For example, the processor 10a of the terminal 4 may display each screen on the display device based on information received from the server 2 via the IF section 10d. Further, the processor 10a of the terminal 4 may transmit the input information to the server 2 via the IF section 10d.

(機能構成例)
図4の説明に戻り、サーバ2は、例示的に、メモリ部21、検索制御部22、統計処理部23、意味解釈処理部24、及びランキング調整部25を備えてよい。
(Functional configuration example)
Returning to the explanation of FIG. 4, the server 2 may include, for example, a memory section 21, a search control section 22, a statistical processing section 23, a meaning interpretation processing section 24, and a ranking adjustment section 25.

メモリ部21は、記憶領域の一例であり、ファセットの検索に関する種々の情報を記憶する。図4に示すように、メモリ部21は、例示的に、頻度表21a及びスコアDB21bを記憶してよい。以下の説明では、便宜上、頻度表21a及びスコアDB21bのデータ形式をテーブル形式として説明するが、これに限定されるものではなく、種々のDBのデータ形式であってよい。 The memory unit 21 is an example of a storage area, and stores various information regarding facet searches. As shown in FIG. 4, the memory unit 21 may illustratively store a frequency table 21a and a score DB 21b. In the following description, for convenience, the data formats of the frequency table 21a and the score DB 21b will be explained as table formats, but the data formats are not limited to this and may be data formats of various DBs.

なお、頻度表21a及びスコアDB21bは、例えば、図5に示すメモリ10b及び記憶部10cの少なくとも1つが有する記憶領域に格納されてよい。換言すれば、メモリ部21は、メモリ10b及び記憶部10cの少なくとも1つが有する記憶領域により実現されてよい。 Note that the frequency table 21a and the score DB 21b may be stored in a storage area included in at least one of the memory 10b and the storage unit 10c shown in FIG. 5, for example. In other words, the memory section 21 may be realized by a storage area included in at least one of the memory 10b and the storage section 10c.

検索制御部22は、端末4に対して、図3に例示するカテゴリ探索画面100及びファセット検索画面200を含むUIを提供する。例えば、検索制御部22は、カテゴリ探索画面100及びファセット検索画面200のそれぞれの画面情報を生成し、端末4に送信するとともに、端末4でUIを介して入力された文字列や選択項目を示す制御情報を、端末4から受信してよい。 The search control unit 22 provides the terminal 4 with a UI including a category search screen 100 and a facet search screen 200 illustrated in FIG. For example, the search control unit 22 generates screen information for each of the category search screen 100 and the facet search screen 200, transmits it to the terminal 4, and indicates character strings and selection items input via the UI on the terminal 4. Control information may be received from the terminal 4.

一例として、検索制御部22は、カテゴリ探索画面100の選択領域110及び120で選択されたクラス(カテゴリ)を含む制御情報を端末4から受信すると、当該制御情報を統計処理部23及び意味解釈処理部24のそれぞれに通知してよい。換言すれば、検索制御部22は、特定のカテゴリの指定を受け付ける受付部の一例である。 As an example, when the search control unit 22 receives control information including the classes (categories) selected in the selection areas 110 and 120 of the category search screen 100 from the terminal 4, the search control unit 22 sends the control information to the statistical processing unit 23 and the semantic interpretation process. Each of the sections 24 may be notified. In other words, the search control unit 22 is an example of a reception unit that accepts designation of a specific category.

また、検索制御部22は、複数のファセットキーを示す情報をランキング調整部25から通知されると、当該情報に含まれるファセットキーを、その表示順序(並び順)も含めて、項目一覧領域210に表示させる。換言すれば、検索制御部22は、ランキング調整部25により算出される優先度に応じて、複数のファセットを順に並べて出力する(例えば項目一覧領域210に表示する)、出力部の一例である。 Further, when the search control unit 22 is notified of information indicating a plurality of facet keys from the ranking adjustment unit 25, the search control unit 22 displays the facet keys included in the information, including their display order (arrangement order), in the item list area 210. to be displayed. In other words, the search control unit 22 is an example of an output unit that sequentially arranges and outputs a plurality of facets according to the priority calculated by the ranking adjustment unit 25 (for example, displays them in the item list area 210).

統計処理部23は、ファセット検索が行なわれる前の事前フェーズ(準備フェーズ)として、KG3及び制御情報に基づき、スコアDB21bを作成又は更新する。例えば、統計処理部23は、頻度表作成部23a及びスコア算出部23bを備えてよい。 The statistical processing unit 23 creates or updates the score DB 21b based on the KG3 and control information as a preliminary phase (preparation phase) before the facet search is performed. For example, the statistical processing unit 23 may include a frequency table creation unit 23a and a score calculation unit 23b.

頻度表作成部23aは、頻度表21aを作成する。例えば、頻度表作成部23aは、図6に示すように、KG3から、ファセット検索の対象となる全てのクラス集合21a1を取得する。例えば、頻度表作成部23aは、図6に示すクラス取得クエリQ1を実行し、KG3からクラス集合21a1を取得してよい。 The frequency table creation unit 23a creates a frequency table 21a. For example, as shown in FIG. 6, the frequency table creation unit 23a acquires all class sets 21a1 to be subjected to facet search from the KG3. For example, the frequency table creation unit 23a may execute the class acquisition query Q1 shown in FIG. 6 to acquire the class set 21a1 from KG3.

そして、頻度表作成部23aは、クラス集合21a1に含まれるクラスとKG3とに基づき、ファセットキー頻度表21a2、及び、ファセットキー・ファセット値頻度表21a3(図7参照)を算出する。例えば、頻度表作成部23aは、図6に示すファセットキー頻度表クエリQ2及びファセットキー・ファセット値頻度表クエリQ3をそれぞれ実行し、KG3からファセットキー頻度表21a2、及び、ファセットキー・ファセット値頻度表21a3を取得してよい。 Then, the frequency table creation unit 23a calculates a facet key frequency table 21a2 and a facet key/facet value frequency table 21a3 (see FIG. 7) based on the classes included in the class set 21a1 and KG3. For example, the frequency table creation unit 23a executes the facet key frequency table query Q2 and the facet key/facet value frequency table query Q3 shown in FIG. Table 21a3 may be obtained.

なお、KG3において、クラスは、主語(S)、ファセットキーは、述語(P)、ファセット値は、目的語(O)にそれぞれ相当する。このため、ファセットキー頻度表21a2は、P頻度表21a2と称されてもよく、ファセットキー・ファセット値頻度表21a3は、PO頻度表21a3と称されてもよい。 Note that in KG3, the class corresponds to the subject (S), the facet key corresponds to the predicate (P), and the facet value corresponds to the object (O). Therefore, the facet key frequency table 21a2 may be referred to as the P frequency table 21a2, and the facet key/facet value frequency table 21a3 may be referred to as the PO frequency table 21a3.

図6に示す各クエリQ1~Q3は、RDF問合せ言語の一例であるSPARQLを用いたクエリの一例である。クエリQ1~Q3において、“?s”は主語(S)、“?p”は述語(P)、“?o”は目的語(O)に相当し、クエリQ2及びQ3における“%CLASS%”は、クエリQ1で取得された各クラスによって置換される。 Each of the queries Q1 to Q3 shown in FIG. 6 is an example of a query using SPARQL, which is an example of an RDF query language. In queries Q1 to Q3, "?s" corresponds to the subject (S), "?p" corresponds to the predicate (P), "?o" corresponds to the object (O), and "%CLASS%" in queries Q2 and Q3. is replaced by each class obtained in query Q1.

図7は、クラス集合21a1、P頻度表21a2、及び、PO頻度表21a3の一例を示す図である。 FIG. 7 is a diagram showing an example of the class set 21a1, the P frequency table 21a2, and the PO frequency table 21a3.

図7に例示するように、クラス集合21a1は、KG3から、“政治家”等のカテゴリごとに、“名前”、所属政党”等のファセットキー(P)を抽出した情報である。 As illustrated in FIG. 7, the class set 21a1 is information obtained by extracting facet keys (P) such as "name" and "political party" for each category such as "politician" from KG3.

P頻度表21a2は、KG3から、クラス集合21a1に含まれるファセットキー(P)ごとに、KG3における「頻度」(例えば、クエリQ2で得られたレコードの「数」)を抽出した情報である。 The P frequency table 21a2 is information obtained by extracting the "frequency" in KG3 (for example, the "number" of records obtained by query Q2) for each facet key (P) included in the class set 21a1 from KG3.

PO頻度表21a3は、KG3から、クラス集合21a1に含まれるファセットキー(P)ごと、且つ、ファセット値(O)ごとに、KG3における「頻度」(例えば、クエリQ3で得られたレコードの「数」)を抽出した情報である。 The PO frequency table 21a3 shows the "frequency" in KG3 (for example, the "number of records obtained by query Q3") for each facet key (P) and each facet value (O) included in the class set 21a1 from KG3. ”) is extracted information.

頻度表作成部23aは、クラス集合21a1、P頻度表21a2、及び、PO頻度表21a3のうちの少なくともPO頻度表21a3の情報を、頻度表21aとしてメモリ部21に格納してよい。なお、頻度表21aとして、少なくともPO頻度表21a3の情報を格納するものとしたのは、PO頻度表21a3のファセット値をファセットキー単位で合計することでP頻度表21a2を導出可能だからである。 The frequency table creation unit 23a may store information on at least the PO frequency table 21a3 among the class set 21a1, the P frequency table 21a2, and the PO frequency table 21a3 as the frequency table 21a in the memory unit 21. The reason why at least the information of the PO frequency table 21a3 is stored as the frequency table 21a is that the P frequency table 21a2 can be derived by summing the facet values of the PO frequency table 21a3 for each facet key.

スコア算出部23bは、頻度表作成部23aが作成した頻度表21aに基づき、スコアDB21bを算出する。 The score calculation unit 23b calculates the score DB 21b based on the frequency table 21a created by the frequency table creation unit 23a.

図8は、各指標の算出式の一例を示す図であり、図9は、指標値21b1の一例を示す図である。例えば、スコア算出部23bは、下記式(1)~式(4)に例示する各指標の算出式(図8参照)を用いて、図9に例示する指標値21b1を算出してよい。

Figure 0007375657000001
FIG. 8 is a diagram showing an example of a calculation formula for each index, and FIG. 9 is a diagram showing an example of the index value 21b1. For example, the score calculation unit 23b may calculate the index value 21b1 illustrated in FIG. 9 using the calculation formulas for each index illustrated in formulas (1) to (4) below (see FIG. 8).
Figure 0007375657000001

上記式(1)に示すファセット頻度(freq(f))は、KG3の検索対象データ全体でのファセットの出現頻度を示す指標である。ファセット頻度が大きいファセットほど、多くの検索対象データに出現することを意味し、ファセット頻度が小さいファセットほど、検索対象データ内で出現する頻度がより局所的であることを意味する。上記式(1)において、“N”は、検索対象のデータの全体数であり、“n(facet)”は、ファセットあたりの検索対象のデータ数である。 The facet frequency (freq(f)) shown in the above formula (1) is an index indicating the frequency of appearance of a facet in the entire search target data of KG3. A facet with a higher facet frequency means that it appears in more search target data, and a facet with a lower facet frequency means that it appears more locally in the search target data. In the above formula (1), "N" is the total number of data to be searched, and "n(facet)" is the number of data to be searched per facet.

上記式(2)に示すファセット均衡度(bala(f))は、ファセットごとの検索できるデータ数の分布である。ファセット均衡度の大きいファセットほど、検索できるデータの範囲が広く、バランスのよいファセットであり、ファセット均衡度の小さいファセットほど、検索対象データ内でのファセットキーの出現の偏りが大きいことを意味する。上記式(2)において、“n(keyi)”はファセットキー“keyi”において検索できる検索対象データ数であり、“nkey”はファセット“f”におけるキーの数であり、“μ”は“n(keyi)”の平均である。 The facet balance degree (bala(f)) shown in the above equation (2) is the distribution of the number of data that can be searched for each facet. A facet with a higher degree of facet balance has a wider range of data that can be searched and is a more balanced facet, and a facet with a lower degree of facet balance means that the occurrence of facet keys in the search target data is more biased. In the above formula (2), “n(key i )” is the number of search target data that can be searched with the facet key “key i ”, “n key ” is the number of keys in the facet “f”, and “μ” is the average of “n(key i )”.

上記式(3)に示すキー濃度(card(f))は、各ファセットにおけるファセットキーの数の分布である。上記式(3)において、“nkey”はファセット“f”におけるキーの数であり、“μ”は“nkey”の平均であり、“σ2”は分散である。 The key density (card(f)) shown in the above equation (3) is the distribution of the number of facet keys in each facet. In the above equation (3), "n key " is the number of keys in facet "f", "μ" is the average of "n key ", and "σ 2 " is the variance.

上記式(4)に示すキー単調性(mono(f))は、ファセットキーの単調性の指標であり、或るファセットにおけるファセットキーごとに検索できるデータ数の平均を評価する指標である。上記式(4)において、“avg”は“n(keyi)”の平均であり、“μ”及び“σ2”はその平均及び分散である。 The key monotonicity (mono(f)) shown in the above equation (4) is an index of the monotonicity of a facet key, and is an index for evaluating the average number of data that can be retrieved for each facet key in a certain facet. In the above equation (4), "avg" is the average of "n(key i )", and "μ" and "σ 2 " are the average and variance thereof.

なお、上記式(1)~式(4)は、例えば非特許文献2に記載された各指標の算出式と同様であり、これらの詳細な説明を省略する。 Note that the above formulas (1) to (4) are similar to the formulas for calculating each index described in, for example, Non-Patent Document 2, and detailed explanations thereof will be omitted.

スコア算出部23bは、頻度表21aと上記式(1)~(4)とに基づき、図9に例示するように、ファセットキーごとの指標値21b1を算出してよい。 The score calculation unit 23b may calculate the index value 21b1 for each facet key, as illustrated in FIG. 9, based on the frequency table 21a and the above equations (1) to (4).

また、スコア算出部23bは、頻度表21aと、指標値21b1とに基づいて、カテゴリごと、且つ、ファセットキーごとにカテゴリ重要度(signif(f, C))を算出する。カテゴリ重要度(signif(f, C))は、クラス内のファセットの出現頻度を考慮した指標であって、カテゴリ固有のファセットキーを重要視する指標である。 Furthermore, the score calculation unit 23b calculates the category importance degree (signif(f, C)) for each category and each facet key based on the frequency table 21a and the index value 21b1. Category importance (signif(f, C)) is an index that takes into account the frequency of appearance of a facet within a class, and is an index that emphasizes a facet key unique to a category.

図10は、カテゴリ重要度(signif(f, C))を表形式で表したカテゴリ重要度表21b2の一例を示す図である。 FIG. 10 is a diagram showing an example of a category importance table 21b2 that represents the category importance (signif(f, C)) in a table format.

例えば、スコア算出部23bは、下記式(5)に基づきカテゴリ重要度(signif(f, C))を算出してよい。
signif(f, C) = weight(f, C) * uniq(f) (5)
For example, the score calculation unit 23b may calculate the category importance degree (signif(f, C)) based on the following formula (5).
signif(f, C) = weight(f, C) * uniq(f) (5)

上記式(5)において、“weight(f, C)”は、クラス内のファセットの出現頻度の重みであり、例えば、下記式(6)により表されてよい。
weight(f, C) = n(f, C) / Nd (6)
In the above equation (5), "weight(f, C)" is the weight of the appearance frequency of the facet within the class, and may be expressed by, for example, the following equation (6).
weight(f, C) = n(f, C) / N d (6)

ここで、上記式(6)において、“Nd”はクラス“C”内の“f”の総数であり、“n(f, C)”はクラス“C”内のファセットの数である。 Here, in the above equation (6), "N d " is the total number of "f" in class "C", and "n(f, C)" is the number of facets in class "C".

また、上記式(5)において、“uniq(f)”は、ファセットごとのユニーク度を示す指標である。ユニーク度とは、ファセットが複数のクラスのうちの特定のクラスに偏って(例えば特定のクラスのみに)出現するか否かを示す指標である。例えば、“uniq(f)”は、下記式(7)により表されてよい。
uniq(f) = NC / uniq_count(f) (7)
Furthermore, in the above equation (5), "uniq(f)" is an index indicating the degree of uniqueness of each facet. Uniqueness is an index indicating whether a facet appears biasedly in a specific class (for example, only in a specific class) among a plurality of classes. For example, "uniq(f)" may be represented by the following formula (7).
uniq(f) = NC / uniq_count(f) (7)

ここで、上記式(7)において、“NC”はKG3内の総クラス数であり、“uniq_count(f)”はKG3内の“f”が含まれるクラス数である。このように、ユニーク度は、KG3内のクラス総数をファセットが出現するクラス数で除算することで得られてよい。 Here, in the above equation (7), "NC" is the total number of classes in KG3, and "uniq_count(f)" is the number of classes in KG3 in which "f" is included. Thus, uniqueness may be obtained by dividing the total number of classes in KG3 by the number of classes in which the facet appears.

このように、カテゴリ重要度(signif(f, C))は、KG3における特定のカテゴリに関連付けられた複数のファセットのそれぞれがKG3において関連付けられているカテゴリの個数に基づく第1指標の一例である。 Thus, category importance (signif(f, C)) is an example of a first index based on the number of categories with which each of the plurality of facets associated with a particular category in KG3 is associated in KG3. .

スコア算出部23bは、頻度表21a及び上記式(5)を用いて、ファセットキーごとのカテゴリ重要度(signif(f, C))を算出してよい。なお、図10に示すように、スコア算出部23bは、カテゴリ重要度(signif(f, C))を“0”~“1”の範囲に正規化する。 The score calculation unit 23b may calculate the category importance degree (signif(f, C)) for each facet key using the frequency table 21a and the above equation (5). Note that, as shown in FIG. 10, the score calculation unit 23b normalizes the category importance (signif(f, C)) to a range of "0" to "1".

そして、スコア算出部23bは、上述した指標値21b1に基づくスコア(org_score)と、上記式(5)に基づくスコア(signif)とを用いて、ファセットスコア(new_score)を算出する。 Then, the score calculation unit 23b calculates a facet score (new_score) using the score (org_score) based on the index value 21b1 described above and the score (signif) based on the above formula (5).

例えば、スコア算出部23bは、下記式(8)に例示するように、スコア(org_score)と、スコア(signif)との重み付き線形和を算出し、ファセットスコア(new_score)を取得してよい。
new_score(f) = ω * org_score(f) + (1 - ω) * signif(f) (8)
For example, the score calculation unit 23b may calculate a weighted linear sum of the score (org_score) and the score (signif), as exemplified by the following formula (8), and obtain the facet score (new_score).
new_score(f) = ω * org_score(f) + (1 - ω) * signif(f) (8)

上記式(8)において、“ω”は重みである。一実施形態においては、非限定的な例として、“ω=0.5”であるものとする。“ω=0.5”の場合、上記式(8)は、下記式(8’)のように表される。
new_score(f) = 0.5 * org_score(f) + 0.5 * signif(f) (8’)
In the above equation (8), "ω" is a weight. In one embodiment, as a non-limiting example, ω=0.5. In the case of "ω=0.5", the above equation (8) is expressed as the following equation (8').
new_score(f) = 0.5 * org_score(f) + 0.5 * signif(f) (8')

ここで、上記式(8)又は(8’)において、“org_score(f)”は、下記式(9)により表されてよい。なお、下記式(9)において、α+β+γ+θ=1であるものとする。

Figure 0007375657000002
Here, in the above formula (8) or (8'), "org_score(f)" may be expressed by the following formula (9). Note that in the following formula (9), it is assumed that α+β+γ+θ=1.
Figure 0007375657000002

図11は、ファセットスコア(new_score)を表形式で表したファセットスコア表21b3の一例を示す図である。例えば、スコア算出部23bは、指標値21b1、カテゴリ重要度表21b2、及び、ファセットスコア表21b3のうちの少なくともファセットスコア表21b3の情報を、スコアDB21bとしてメモリ部21に格納してよい。 FIG. 11 is a diagram showing an example of a facet score table 21b3 that represents facet scores (new_score) in a table format. For example, the score calculation unit 23b may store information of at least the facet score table 21b3 among the index value 21b1, the category importance table 21b2, and the facet score table 21b3 in the memory unit 21 as the score DB 21b.

図11に例示するように、クラス(カテゴリ)内でのファセットの重要度を加味したスコア(new_score)により、例えば、“政治家”については、“名前”や“生年月日”よりも“所属政党”の方が高いスコアとなり、“プロ野球選手”については、“名前”や“生年月日”よりも“守備位置”の方が高いスコアとなる。 As illustrated in Figure 11, the score (new_score) that takes into account the importance of facets within a class (category) is used to determine whether, for example, "politician" has "affiliation" rather than "name" or "date of birth." "Political party" has a higher score, and for "professional baseball player", "defensive position" has a higher score than "name" and "date of birth".

すなわち、図3に示す項目一覧領域210において、“政治家”についての“所属政党”や、“プロ野球選手”についての“守備位置”等のファセットキーが優先度の高い項目として表示されることになる。従って、サーバ2は、カテゴリに関連付けられたファセットの集合から、よりスコアの高いファセットキーにより絞り込まれた適切な複数のファセットを出力することができる。 That is, in the item list area 210 shown in FIG. 3, facet keys such as "political party affiliation" for "politicians" and "defensive position" for "professional baseball players" are displayed as items with high priority. become. Therefore, the server 2 can output a plurality of appropriate facets narrowed down by facet keys with higher scores from the set of facets associated with the category.

このように、スコア算出部23bは、複数のファセットのそれぞれについてのuniq(f)を含むカテゴリ重要度を算出し、算出したカテゴリ重要度を含む情報(例えばスコアDB21b)をメモリ部21に格納する算出部の一例である。 In this way, the score calculation unit 23b calculates the category importance including uniq(f) for each of the plurality of facets, and stores information (for example, the score DB 21b) including the calculated category importance in the memory unit 21. This is an example of a calculation unit.

図4の説明に戻り、意味解釈処理部24は、ファセット検索が行なわれる際に、カテゴリ探索画面100(図3参照)において選択されたクラス(カテゴリ)から、或るファセットが所属するクラスまでのKG3上のパスを、スコアに反映する。このように、意味解釈処理部24は、ファセット検索が行なわれる際に、選択されたクラスに応じて、オントロジーを考慮した優先度の高いファセットが抽出されるように、スコアを変更する。 Returning to the explanation of FIG. 4, when a facet search is performed, the semantic interpretation processing unit 24 performs a search from the class (category) selected on the category search screen 100 (see FIG. 3) to the class to which a certain facet belongs. The pass on KG3 is reflected in the score. In this manner, the semantic interpretation processing unit 24 changes the score so that a facet with a high priority in consideration of ontology is extracted according to the selected class when a facet search is performed.

例えば、意味解釈処理部24は、下記式(10)に示すように、オントロジーにおけるグラフ上の距離を考慮したスコア(ont_score)を算出してよい。スコア(ont_score)は、KG3における選択されたクラスと複数のファセットのそれぞれとの距離に基づく第2指標の一例である。
ont_score(f, C) = 1 / (distance(C, Cf) + 1) (10)
For example, the semantic interpretation processing unit 24 may calculate a score (ont_score) that takes into account the distance on the graph in the ontology, as shown in equation (10) below. The score (ont_score) is an example of a second index based on the distance between the selected class and each of the plurality of facets in KG3.
ont_score(f, C) = 1 / (distance(C, C f ) + 1) (10)

ここで、上記式(10)において、“f”はスコアを計算する対象のファセットであり、“C”は項目一覧領域210で選択されたクラス(カテゴリ)であり、“Cf”は、項目一覧領域210に表示される候補のファセットが所属するクラスである。 Here, in the above formula (10), "f" is the facet for which the score is calculated, "C" is the class (category) selected in the item list area 210, and "C f " is the item This is the class to which the candidate facets displayed in the list area 210 belong.

また、上記式(10)において、“distance(C, Cf)”は、選択されたクラスと選択されたファセットが所属するクラスとの間のスキーマ(オントロジー)上、すなわちグラフ上の距離である。グラフ上の距離とは、クラス(カテゴリ)の階層間の距離を意味してよい。例えば、意味解釈処理部24は、階層的な各クラスを、木構造における各ノードと捉え、既知の手法により、ノード間の距離をグラフ上の距離として算出してよい。なお、“C = Cf”である場合、“distance(C, Cf) = 0”となる。 In addition, in the above equation (10), “distance(C, C f )” is the distance on the schema (ontology), that is, on the graph, between the selected class and the class to which the selected facet belongs. . The distance on the graph may mean the distance between layers of classes (categories). For example, the semantic interpretation processing unit 24 may regard each hierarchical class as each node in a tree structure, and calculate the distance between nodes as a distance on a graph using a known method. Note that when “C = C f ”, “distance(C, C f ) = 0”.

図12は、RDFスキーマにおける、クラス及びファセットキーを表すグラフの一例を示す図である。以下、図12の例において、選択されたカテゴリが“BaseballPlayer”(破線参照)である場合の、スコア(ont_score)の算出例を説明する。 FIG. 12 is a diagram showing an example of a graph representing classes and facet keys in the RDF schema. An example of calculating the score (ont_score) when the selected category is "BaseballPlayer" (see broken line) in the example of FIG. 12 will be described below.

一例として、スコア算出対象のファセットが“名前(人)”である場合、スコア(ont_score)は、下記式(11)に示すように算出される。
ont_score(名前(人), BaseballPlayer)
= 1 / (distance(BaseballPlayer, Person) + 1)
= 1 / (1 + 1) = 0.5 (11)
As an example, when the facet for which the score is calculated is "name (person)", the score (ont_score) is calculated as shown in equation (11) below.
ont_score(name(person), BaseballPlayer)
= 1 / (distance(BaseballPlayer, Person) + 1)
= 1 / (1 + 1) = 0.5 (11)

他の例として、スコア算出対象のファセットが“本社所在地”である場合、スコア(ont_score)は、下記式(12)に示すように算出される。
ont_score(本社所在地, BaseballPlayer)
= 1 / (distance(BaseballPlayer, Company) + 1)
= 1 / (3 + 1) = 0.25 (12)
As another example, when the facet for which the score is calculated is "headquarters location", the score (ont_score) is calculated as shown in equation (12) below.
ont_score(head office location, BaseballPlayer)
= 1 / (distance(BaseballPlayer, Company) + 1)
= 1 / (3 + 1) = 0.25 (12)

他の例として、スコア算出対象のファセットが“所属政党”である場合、スコア(ont_score)は、下記式(13)に示すように算出される。
ont_score(所属政党, BaseballPlayer)
= 1 / (distance(BaseballPlayer, Politician) + 1)
= 1 / (2 + 1) = 0.33 (13)
As another example, when the facet for which the score is calculated is "political party affiliation," the score (ont_score) is calculated as shown in equation (13) below.
ont_score(party affiliation, BaseballPlayer)
= 1 / (distance(BaseballPlayer, Politician) + 1)
= 1 / (2 + 1) = 0.33 (13)

このように、意味解釈処理部24は、オントロジーにおける関連度が大きいファセットキー、一例として、グラフ上の距離が近い(distance(C, Cf)が小さい)ファセットキーほど、優先度が高くなるようなスコア(ont_score)を算出する。また、意味解釈処理部24は、オントロジーにおける関連度が小さいファセットキー、一例として、グラフ上の距離が遠い(distance(C, Cf)が大きい)ファセットキーほど、優先度が低くなるようなスコア(ont_score)を算出する。換言すれば、スコア(ont_score)は、KG3の知識構造を考慮したファセットキーの意味解釈が反映されたスコアであるといえる。 In this way, the semantic interpretation processing unit 24 assigns a higher priority to facet keys with a higher degree of relevance in the ontology, for example, the closer the distance on the graph (the smaller the distance(C, C f )). Calculate the score (ont_score). In addition, the semantic interpretation processing unit 24 uses facet keys that have a smaller degree of relevance in the ontology, for example, a facet key that is farther away on the graph (larger distance (C, C f )), the lower the priority is. Calculate (ont_score). In other words, the score (ont_score) can be said to be a score that reflects the semantic interpretation of the facet key in consideration of the knowledge structure of KG3.

なお、意味解釈処理部24は、KG3上のファセットキーと選択されたクラスとの間のグラフ上の距離(distance(C, Cf))に加えて、又は、代えて、意味上の距離を考慮した指標に基づきスコア(ont_score)を算出してもよい。 In addition to or instead of the distance on the graph (distance(C, C f )) between the facet key on KG3 and the selected class, the semantic interpretation processing unit 24 calculates the semantic distance. A score (ont_score) may be calculated based on the considered index.

意味上の距離を考慮した指標(意味上の距離指標)としては、例えば、ファセットキーとなる述語(P;Predicate)の語彙が、標準語彙であるか否かに応じて定まる指標が挙げられる。標準語彙であるか否かの判断は、例えば、標準語彙を蓄積するDBに、ファセットキーとなる語彙が登録されているか否かの判断により行なわれてよい。標準語彙を蓄積するDBとしては、例えば、“prefix.cc”や、“Linked Open Vocabularies”等のDBが挙げられる。 An example of an index that takes semantic distance into consideration (semantic distance index) is an index that is determined depending on whether the vocabulary of a predicate (P; Predicate) serving as a facet key is a standard vocabulary. The determination as to whether the vocabulary is a standard vocabulary may be made, for example, by determining whether the vocabulary serving as a facet key is registered in a DB that stores standard vocabulary. Examples of DBs that store standard vocabulary include DBs such as "prefix.cc" and "Linked Open Vocabularies."

例えば、意味解釈処理部24は、下記式(14)に示すように、オントロジーにおける意味上の距離を考慮したスコア(ont_score)を算出してよい。
ont_score(f, C) = (1 / (distance(C, Cf) + 1)) * std_vocab(f) (14)
For example, the semantic interpretation processing unit 24 may calculate a score (ont_score) that takes into account the semantic distance in the ontology, as shown in equation (14) below.
ont_score(f, C) = (1 / (distance(C, C f ) + 1)) * std_vocab(f) (14)

ここで、上記式(14)において、(1 / (distance(C, Cf) + 1))の項は、上記式(10)と同様であり、“std_vocab(f)”は、下記式(15)に示すように、標準語彙であれば“1.0”、標準語彙ではなければ“0.5”、等となる関数であってよい。

Figure 0007375657000003
Here, in the above equation (14), the term (1 / (distance(C, C f ) + 1)) is the same as the above equation (10), and "std_vocab(f)" is expressed as the following equation ( As shown in 15), the function may be "1.0" if it is a standard vocabulary, "0.5" if it is not a standard vocabulary, etc.
Figure 0007375657000003

例えば、意味解釈処理部24は、上記式(14)に示すように、上記式(10)に示すグラフ上の距離を考慮したスコアに対して、上記式(15)に示す意味上の距離指標を乗算することで、グラフ上及び意味上の距離の双方を考慮したスコアを算出してよい。 For example, as shown in the above equation (14), the semantic distance index shown in the above equation (15) is calculated based on the score considering the distance on the graph shown in the above equation (10). By multiplying , a score may be calculated that takes into account both the graphical and semantic distances.

或いは、意味解釈処理部24は、上記式(14)に代えて、上記式(15)に示す“std_vocab(f)”を、意味上の距離のみを考慮したスコア(ont_score)として採用してもよい。 Alternatively, instead of the above equation (14), the semantic interpretation processing unit 24 may adopt "std_vocab(f)" shown in the above equation (15) as the score (ont_score) considering only the semantic distance. good.

図13は、RDFスキーマにおける、クラス及びファセットキーを表すグラフの一例を示す図である。以下、図13の例において、選択されたカテゴリが“BaseballPlayer”(破線参照)である場合の、意味上の距離指標を考慮したスコア(ont_score)の算出例を説明する。 FIG. 13 is a diagram showing an example of a graph representing classes and facet keys in the RDF schema. Hereinafter, in the example of FIG. 13, an example of calculating the score (ont_score) in consideration of the semantic distance index will be described when the selected category is "BaseballPlayer" (see broken line).

なお、図13において、例えば、“名前(人)”は、“foat:name”で表される標準語彙であり、“名前(会社)”は、“skos:prefLabel”で表される標準語彙であり、“本社所在地”は、“14a-ont:本社所在地”で表される独自語彙(非標準語彙)であるものとする。 In Figure 13, for example, "name (person)" is a standard vocabulary expressed as "foat:name", and "name (company)" is a standard vocabulary expressed as "skos:prefLabel". Yes, and "head office location" is a unique vocabulary (non-standard vocabulary) expressed as "14a-ont:head office location".

一例として、スコア算出対象のファセットが、“名前(会社)”である場合、スコア(ont_score)は、下記式(16)に示すように算出される。
ont_score(名前(会社), BaseballPlayer)
= (1 / (distance(BaseballPlayer, Company) + 1)) * std_vocab(名前(会社))
= (1 / (3 + 1)) * 0.5 = 0.125 (16)
As an example, when the facet for which the score is calculated is "name (company)", the score (ont_score) is calculated as shown in equation (16) below.
ont_score(name(company), BaseballPlayer)
= (1 / (distance(BaseballPlayer, Company) + 1)) * std_vocab(name(company))
= (1 / (3 + 1)) * 0.5 = 0.125 (16)

他の例として、スコア算出対象のファセットが“本社所在地”である場合、スコア(ont_score)は、下記式(17)に示すように算出される。
ont_score(本社所在地, BaseballPlayer)
= (1 / (distance(BaseballPlayer, Company) + 1)) * std_vocab(本社所在地)
= (1 / (3 + 1)) * 1.0 = 0.25 (17)
As another example, when the facet for which the score is calculated is "headquarters location", the score (ont_score) is calculated as shown in equation (17) below.
ont_score(head office location, BaseballPlayer)
= (1 / (distance(BaseballPlayer, Company) + 1)) * std_vocab(Head office location)
= (1 / (3 + 1)) * 1.0 = 0.25 (17)

このように、意味解釈処理部24は、オントロジーにおける関連度が大きいファセットキー、一例として、意味上の距離(std_vocab)が近い(大きい)ファセットキーほど、優先度が高くなるようなスコア(ont_score)を算出する。また、意味解釈処理部24は、オントロジーにおける関連度が小さいファセットキー、一例として、意味上の距離(std_vocab)が遠い(小さい)ファセットキーほど、優先度が低くなるようなスコア(ont_score)を算出する。 In this way, the semantic interpretation processing unit 24 uses a score (ont_score) such that the facet key with a higher degree of relevance in the ontology, for example, the facet key with a closer (larger) semantic distance (std_vocab), has a higher priority. Calculate. In addition, the semantic interpretation processing unit 24 calculates a score (ont_score) such that the facet key with a smaller degree of relevance in the ontology, for example, a facet key with a farther (smaller) semantic distance (std_vocab), has a lower priority. do.

これにより、図3に示す項目一覧領域210において、選択されたカテゴリとの間で、グラフ上の距離及び意味上の距離の一方又は双方が近いファセットキーが、優先度の高い項目として表示されることになる。従って、サーバ2は、カテゴリに関連付けられたファセットの集合から、よりスコアの高いファセットキーにより絞り込まれた適切な複数のファセットを出力することができる。 As a result, in the item list area 210 shown in FIG. 3, facet keys that are close to the selected category in one or both of the graph distance and semantic distance are displayed as high priority items. It turns out. Therefore, the server 2 can output a plurality of appropriate facets narrowed down by facet keys with higher scores from the set of facets associated with the category.

図4の説明に戻り、ランキング調整部25は、ファセット検索において、最終的なファセットスコア(final_score)を算出する。 Returning to the explanation of FIG. 4, the ranking adjustment unit 25 calculates a final facet score (final_score) in the facet search.

例えば、ファセット検索では、上述した検索制御部22により、カテゴリ探索画面100において、エンティティに付与されているクラスの階層を辿りながら、目的のカテゴリが選択され、ファセット検索画面200が表示される。 For example, in a facet search, the above-mentioned search control unit 22 selects a target category while tracing the hierarchy of classes assigned to entities on the category search screen 100, and displays the facet search screen 200.

このとき、選択されたカテゴリに基づいて、意味解釈処理部24により、知識構造を利用したファセット重要度としてのスコア(ont_score)が計算される。 At this time, based on the selected category, the semantic interpretation processing unit 24 calculates a score (ont_score) as a facet importance level using the knowledge structure.

ランキング調整部25は、事前フェーズにおいてスコア算出部23bが算出したファセットスコア(new_score)と、意味解釈処理部24が算出したスコア(out_score)とに基づいて、最終的なスコア(final_score)を算出してよい。例えば、ランキング調整部25は、下記式(18)に基づいて、ファセットスコア(new_score)と、スコア(out_score)とを乗算することで、スコア(final_score)を算出してよい。
final_score(f, C) = new_score(f, C) * ont_score(f, C) (18)
The ranking adjustment unit 25 calculates a final score (final_score) based on the facet score (new_score) calculated by the score calculation unit 23b in the preliminary phase and the score (out_score) calculated by the semantic interpretation processing unit 24. It's fine. For example, the ranking adjustment unit 25 may calculate the score (final_score) by multiplying the facet score (new_score) and the score (out_score) based on the following formula (18).
final_score(f, C) = new_score(f, C) * ont_score(f, C) (18)

図14は、上記式(9)に示すスコア(org_score)、上記式(8)に示すファセットスコア(new_score)、上記式(10)又は式(14)に示すスコア(ont_score)、並びに、上記式(18)に示す最終的なスコア(final_score)を表形式で例示する図である。 FIG. 14 shows the score (org_score) shown in the above equation (9), the facet score (new_score) shown in the above equation (8), the score (ont_score) shown in the above equation (10) or the above equation (14), and the above equation It is a figure which illustrates the final score (final_score) shown in (18) in a table format.

図14の例では、カテゴリ探索画面100において、カテゴリとして“プロ野球選手”が選択された場合を示す。この場合、最終的なスコア(final_score)は、ファセットスコア(new_score)及びスコア(ont_score)のいずれのスコアも高い値となっている“守備位置”がもっと高い“0.562”となっている。この“守備位置”は、上記式(9)に示すスコア(org_score)では、“名前”や“生年月日”よりも低いスコアである。 The example in FIG. 14 shows a case where "professional baseball player" is selected as the category on the category search screen 100. In this case, the final score (final_score) is "0.562", which is higher for the "defense position" where both the facet score (new_score) and the score (ont_score) are high. This "defense position" has a lower score than the "name" and "date of birth" in the score (org_score) shown in equation (9) above.

このように、カテゴリ固有のファセットキーを重要視する指標と、KG3の知識構造を考慮したファセットキーの意味解釈とにより、“プロ野球選手”のカテゴリに対する“守備位置”のように、適切なファセットキーのスコアが高くなるように算出される。 In this way, by using an index that emphasizes category-specific facet keys and a semantic interpretation of facet keys that takes into account the knowledge structure of KG3, appropriate facets can be determined, such as "defensive position" for the category of "professional baseball player." Calculated so that the key score is high.

例えば、ランキング調整部25は、算出した最終的なスコア(final_score)に基づいて、項目一覧領域210に表示するファセットキーを当該スコアが高い順にソートし、ソートしたファセットキーの情報を検索制御部22に出力してよい。 For example, the ranking adjustment unit 25 sorts the facet keys displayed in the item list area 210 in descending order of the score based on the calculated final score (final_score), and the information on the sorted facet keys is sent to the search control unit 22. You can output to

ランキング調整部25により算出される最終的なスコア(final_score)は、複数のファセットの優先度の一例である。 The final score (final_score) calculated by the ranking adjustment unit 25 is an example of the priorities of the plurality of facets.

これにより、検索制御部22は、図15に例示するように、項目一覧領域210に、上記式(9)に示すスコア(org_score)ベースのリスト211に代えて、最終的なスコア(final_score)ベースのファセットキーのリスト212を表示することができる。当該リスト212は、ランキング調整部25により算出される優先度に応じて、複数のファセットを順に並べたリストの一例である。 As a result, as illustrated in FIG. 15, the search control unit 22 displays the final score (final_score)-based list in the item list area 210 instead of the score (org_score)-based list 211 shown in equation (9) above. A list 212 of facet keys can be displayed. The list 212 is an example of a list in which a plurality of facets are arranged in order according to the priorities calculated by the ranking adjustment unit 25.

図16及び図17は、“org_score”、“new_score”及び“final_score”のそれぞれをベースとしてファセットキーをソートした場合のMRR(Mean Reciprocal Rank)の比較例を示す図である。MRRは、検索結果の品質の評価指標であり、“0”~“1”の範囲の値となる。MRRが“1”に近いほど、項目一覧領域210に表示された上位のファセットキーが検索(選択)されることを意味し、ユーザの知識に即したファセット検索が実現されていることを意味する。 FIGS. 16 and 17 are diagrams showing comparative examples of MRR (Mean Reciprocal Rank) when facet keys are sorted based on "org_score", "new_score", and "final_score", respectively. MRR is an evaluation index of the quality of search results, and has a value in the range of "0" to "1". The closer the MRR is to "1", the higher the facet keys displayed in the item list area 210 are searched (selected), which means that the facet search is realized in accordance with the user's knowledge. .

図16では、上記式(9)に示すスコア(org_score)ベースのファセット順位及びMRRと、上記式(8)に示すファセットスコア(new_score)ベースのファセット順位及びMRRとの比較例を示す。図16の例では、ファセット対象のデータ数“11401”を持つデータセットから、“野球選手”のカテゴリを選択し、“打席”、“ドラフト順位”、“初出場”の各ファセットキーを選択する場合を想定する。 FIG. 16 shows a comparison example between the facet ranking and MRR based on the score (org_score) shown in the above equation (9) and the facet ranking and MRR based on the facet score (new_score) shown in the above equation (8). In the example in Figure 16, the category "Baseball Player" is selected from the dataset with the number of data to be faceted "11401", and the facet keys "At-bat", "Draft ranking", and "First appearance" are selected. Assume a case.

図16に例示するように、“org_score”ベースでは、ファセット順位はいずれのファセットキーも100位前後であり、MRRは“0.0094”である。これに対し、“new_score”ベースでは、ファセット順位は3位~6位であり、MRRは“0.2333”となっている。 As illustrated in FIG. 16, based on the "org_score", the facet rankings are around 100 for all facet keys, and the MRR is "0.0094". On the other hand, based on the "new_score", the facet rankings are 3rd to 6th, and the MRR is "0.2333".

このように、“new_score”ベースでは、“野球選手”固有のファセットである“打席”、“ドラフト順位”、“初出場”のファセット順位及びMRRが、“org_score”ベースよりも高くなっている。 In this manner, in the "new_score" base, the facet rankings and MRR of "baseball player"-specific facets, such as "turn at bat," "draft ranking," and "first appearance," are higher than in the "org_score" base.

図17では、上記式(8)に示すファセットスコア(new_score)ベースのファセット順位及びMRRと、上記式(18)に示す最終的なスコア(final_score)ベースのファセット順位及びMRRとの比較例を示す。図17の例では、ファセット対象のデータ数“11401”を持つデータセットから、“野球選手”のカテゴリを選択し、“名前”、“出生地”、“生年月日”の各ファセットキーを選択する場合を想定する。 FIG. 17 shows a comparison example between the facet ranking and MRR based on the facet score (new_score) shown in the above equation (8) and the facet ranking and MRR based on the final score (final_score) shown in the above equation (18). . In the example in Figure 17, the category “Baseball Player” is selected from the dataset with the number of data to be faceted “11401”, and the facet keys “Name”, “Place of Birth”, and “Date of Birth” are selected. Assume that

図17に例示するように、“new_score”ベースでは、ファセット順位は31位~66位であり、MRRは“0.2333”である。これに対し、“final_score”ベースでは、ファセット順位は141位~211位であり、MRRは“0.0057”となっている。 As illustrated in FIG. 17, on the "new_score" basis, the facet rankings are 31st to 66th, and the MRR is "0.2333". On the other hand, based on the "final_score", the facet rankings are 141st to 211th, and the MRR is "0.0057".

このように、“名前”、“出生地”、“生年月日”は、いずれも“野球選手(BaseballPlayer)”固有のファセットではなく、“人(Person)”に関するファセットである。このため、オントロジーにおける関連度(ont_score)が考慮された“final_score”ベースでは、“new_score”ベースよりもファセット順位及びMRRが低くなっている。 In this way, "name," "place of birth," and "date of birth" are all facets related to "Person" rather than facets specific to "Baseball Player." Therefore, in the "final_score" base in which the degree of association (ont_score) in the ontology is considered, the facet ranking and MRR are lower than in the "new_score" base.

以上のように、一実施形態に係るサーバ2は、KG3において、ファセットに付与されているカテゴリ(クラス)で先に絞り込み、その後、カテゴリ内のファセットで絞り込みを行なうことにより、効率的にファセット検索を実現する。 As described above, in the KG 3, the server 2 according to one embodiment performs facet search efficiently by first narrowing down based on the category (class) assigned to the facet, and then narrowing down based on the facet within the category. Realize.

このとき、サーバ2は、クラス固有のファセットを重要視する指標を導入するとともに、ファセット間の関係をファセット検索対象のKG3から取り出し、当該関係を利用することにより、或る特定のクラスに所属するエンティティの集合を効率的に取り出す。 At this time, the server 2 introduces an index that emphasizes class-specific facets, extracts the relationship between facets from the facet search target KG3, and uses this relationship to determine whether the class belongs to a certain class. Efficiently retrieve a set of entities.

これにより、カテゴリに関連付けられたファセットの集合から適切な複数のファセットを出力することができ、ユーザの目的のデータに辿り着くまでの手番を減少させることができる。 Thereby, it is possible to output a plurality of appropriate facets from a set of facets associated with a category, and it is possible to reduce the number of steps it takes for the user to arrive at the desired data.

〔1-3〕動作例
以下、上述したファセット検索システム1の動作例を、フローチャートを参照しながら説明する。
[1-3] Operation example An operation example of the facet search system 1 described above will be described below with reference to a flowchart.

〔1-3-1〕DB作成処理
図18は、一実施形態に係るDB作成処理の動作例を説明するフローチャートである。
[1-3-1] DB Creation Process FIG. 18 is a flowchart illustrating an example of the operation of the DB creation process according to one embodiment.

図18に例示するように、サーバ2において、統計処理部23の頻度表作成部23aは、頻度表21aを作成する(ステップS1)。また、統計処理部23のスコア算出部23bは、頻度表21aに基づきスコアDB21bを作成し(ステップS2)、処理が終了する。 As illustrated in FIG. 18, in the server 2, the frequency table creation unit 23a of the statistical processing unit 23 creates a frequency table 21a (step S1). Furthermore, the score calculation unit 23b of the statistical processing unit 23 creates a score DB 21b based on the frequency table 21a (step S2), and the process ends.

図19は、図18のステップS1の頻度表作成処理の動作例を説明するフローチャートである。図19に例示するように、頻度表作成部23aは、頻度表作成処理として、KG3内の全クラスCallを取得する(ステップS11)。 FIG. 19 is a flowchart illustrating an example of the operation of the frequency table creation process in step S1 of FIG. As illustrated in FIG. 19, the frequency table creation unit 23a acquires all classes Call in KG3 as a frequency table creation process (step S11).

頻度表作成部23aは、全クラスCallの要素であるクラスCを全て処理したか否かを判定する(ステップS12)。全て処理した場合(ステップS12でYES)、処理が終了する。 The frequency table creation unit 23a determines whether all classes C, which are elements of all classes Call, have been processed (step S12). If all have been processed (YES in step S12), the process ends.

全て処理していない場合(ステップS12でNO)、頻度表作成部23aは、クラスがCであるインスタンスが持つ述語(Predicate)ごとのインスタンス数、換言すれば、ファセットキー頻度を算出し(ステップS13)、P頻度表21a2に格納する。 If not all have been processed (NO in step S12), the frequency table creation unit 23a calculates the number of instances for each predicate that the instance of class C has, in other words, the facet key frequency (step S13). ), stored in the P frequency table 21a2.

そして、頻度表作成部23aは、クラスがCであるインスタンスが持つ述語ごとに目的語(Object)の数、換言すれば、ファセットキー・ファセット値頻度を算出し(ステップS14)、PO頻度表21a3に格納して、処理がステップS12に移行する。 Then, the frequency table creation unit 23a calculates the number of objects (Object), in other words, the facet key/facet value frequency for each predicate held by the instance whose class is C (step S14), and calculates the frequency of the PO frequency table 21a3. , and the process moves to step S12.

図20は、図18のステップS2のスコアDB作成処理の動作例を説明するフローチャートである。図20に例示するように、スコア算出部23bは、スコアDB作成処理として、頻度表21a及びKG3に基づき、ファセット頻度、ファセット均衡度、キー濃度、及び、キー単調性をそれぞれ算出する(ステップS21~S24)。 FIG. 20 is a flowchart illustrating an example of the operation of the score DB creation process in step S2 of FIG. As illustrated in FIG. 20, as a score DB creation process, the score calculation unit 23b calculates facet frequency, facet balance, key density, and key monotony, respectively, based on the frequency table 21a and KG3 (step S21 ~S24).

スコア算出部23bは、KG3におけるクラス及びファセットの情報に基づき、カテゴリ重要度を算出する(ステップS25)。 The score calculation unit 23b calculates the category importance based on the class and facet information in KG3 (step S25).

そして、スコア算出部23bは、ファセット頻度、ファセット均衡度、キー濃度、及び、キー単調性を利用して、上記式(9)に示すスコアorg_scoreを算出する(ステップS26)。 Then, the score calculation unit 23b calculates the score org_score shown in the above equation (9) using the facet frequency, facet balance, key density, and key monotonicity (step S26).

また、スコア算出部23bは、ステップS26で算出したスコアorg_scoreと、ステップS25で算出したカテゴリ重要度とを利用し、ファセットスコアnew_scoreを算出して、スコアDB21bに格納し(ステップS27)、処理が終了する。 Further, the score calculation unit 23b uses the score org_score calculated in step S26 and the category importance calculated in step S25 to calculate a facet score new_score, and stores it in the score DB 21b (step S27), and the process is completed. finish.

〔1-3-2〕ファセット検索処理
図21は、一実施形態に係るファセット検索処理の動作例を説明するフローチャートである。
[1-3-2] Facet Search Processing FIG. 21 is a flowchart illustrating an operational example of facet search processing according to an embodiment.

図21に例示するように、サーバ2において、検索制御部22は、端末4に対して提示するカテゴリ探索画面100上で、端末4によるクラスCの選択を受け付ける(ステップS31)。 As illustrated in FIG. 21, in the server 2, the search control unit 22 receives the selection of class C by the terminal 4 on the category search screen 100 presented to the terminal 4 (step S31).

意味解釈処理部24は、クラスCに所属するインスタンスが保有する述語(Predicate)を取得する(ステップS32)。 The semantic interpretation processing unit 24 acquires a predicate held by an instance belonging to class C (step S32).

意味解釈処理部24は、述語(Predicate)の要素であるファセットキーfを全て処理したか否かを判定する(ステップS33)。全て処理していない場合(ステップS33でNO)、意味解釈処理部24は、スコアDB21bからクラスCにおけるファセットキーfのスコアnew_scoreを取得する(ステップS34)。 The semantic interpretation processing unit 24 determines whether all facet keys f, which are elements of the predicate, have been processed (step S33). If not all have been processed (NO in step S33), the semantic interpretation processing unit 24 acquires the score new_score of the facet key f in class C from the score DB 21b (step S34).

意味解釈処理部24は、クラスCとファセットキーfとを利用し、KG3内のオントロジーに基づき、距離スコアont_scoreを算出し(ステップS35)、処理がステップS33に移行する。 The semantic interpretation processing unit 24 uses the class C and the facet key f to calculate a distance score ont_score based on the ontology in the KG3 (step S35), and the process moves to step S33.

ステップS33において、全て処理した場合(ステップS33でYES)、意味解釈処理部24は、new_score及びont_scoreを用いて、ファセットキーfのスコアfinal_scoreを算出する(ステップS36)。 In step S33, if all have been processed (YES in step S33), the semantic interpretation processing unit 24 calculates the score final_score of the facet key f using new_score and ont_score (step S36).

ランキング調整部25は、final_scoreに基づきソートしたファセットキーを検索制御部22に通知する。検索制御部22は、ソートされたファセットキーを、カテゴリ探索画面100からの遷移先であるファセット検索画面200の項目一覧領域210に表示し(ステップS37)、項目一覧領域210の表示に係るファセット検索処理が終了する。 The ranking adjustment unit 25 notifies the search control unit 22 of the facet keys sorted based on final_score. The search control unit 22 displays the sorted facet keys in the item list area 210 of the facet search screen 200, which is the transition destination from the category search screen 100 (step S37), and performs the facet search related to the display of the item list area 210. Processing ends.

〔2〕その他
上述した一実施形態に係る技術は、以下のように変形、変更して実施することができる。
[2] Others The technique according to the embodiment described above can be modified and changed as follows.

例えば、図4に示すサーバ2が備える検索制御部22、統計処理部23(頻度表作成部23a及びスコア算出部23b)、意味解釈処理部24及びランキング調整部25は、任意の組み合わせで併合してもよく、それぞれ分割してもよい。 For example, the search control unit 22, statistical processing unit 23 (frequency table creation unit 23a and score calculation unit 23b), meaning interpretation processing unit 24, and ranking adjustment unit 25 included in the server 2 shown in FIG. 4 may be combined in any combination. It may be divided into two parts.

また、図1に示すサーバ2は、複数の装置がネットワークを介して互いに連携することにより、各処理機能を実現する構成であってもよい。一例として、検索制御部22はWebサーバ、統計処理部23、意味解釈処理部24及びランキング調整部25はアプリケーションサーバ、メモリ部21はDBサーバ、等であってもよい。この場合、Webサーバ、アプリケーションサーバ及びDBサーバが、ネットワークを介して互いに連携することにより、サーバ2としての各処理機能を実現してもよい。 Further, the server 2 shown in FIG. 1 may have a configuration in which a plurality of devices cooperate with each other via a network to realize each processing function. As an example, the search control unit 22 may be a Web server, the statistical processing unit 23, the semantic interpretation processing unit 24, and the ranking adjustment unit 25 may be an application server, the memory unit 21 may be a DB server, etc. In this case, the web server, application server, and DB server may realize each processing function as the server 2 by cooperating with each other via a network.

さらに、一実施形態において、ランキング調整部25に入力される最終的なスコア(final_score)は、上記式(8)及び式(18)に示すように、signifが考慮されたnew_scoreと、ont_scoreとを乗算したスコアであるものとして説明した。最終的なスコア(final_score)は、これに限定されるものではなく、少なくとも、signif及びont_scoreの一方が考慮されればよい。 Furthermore, in one embodiment, the final score (final_score) input to the ranking adjustment unit 25 is obtained by combining the new_score in which signif is taken into account and the ont_score, as shown in the above formulas (8) and (18). The explanation was given as a multiplied score. The final score (final_score) is not limited to this, and at least one of signif and ont_score may be taken into consideration.

例えば、最終的なスコア(final_score)は、下記式(19)に示すように、ont_scoreを考慮せず、new_scoreと一致してもよい。 For example, the final score (final_score) may match new_score without considering ont_score, as shown in equation (19) below.

final_score(f, C) = new_score(f, C) (19) final_score(f, C) = new_score(f, C) (19)

或いは、最終的なスコア(final_score)は、下記式(20)に示すように、signifを考慮しないスコアであってもよい。なお、一実施形態では、下記式(20)において、重みωは、例示的に“0.5”であるものとする。 Alternatively, the final score (final_score) may be a score that does not take signif into account, as shown in equation (20) below. Note that in one embodiment, the weight ω in the following equation (20) is illustratively “0.5”.

final_score(f, C) = ω * org_score(f, C) + (1 - ω) * ont_score(f, C) (20) final_score(f, C) = ω * org_score(f, C) + (1 - ω) * ont_score(f, C) (20)

上記式(19)又は式(20)に示す最終的なスコア(final_score)によっても、図16又は図17に例示するような一実施形態と同様の効果を奏することができる。 The final score (final_score) shown in the above equation (19) or equation (20) can also produce the same effect as the embodiment illustrated in FIG. 16 or 17.

〔3〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
[3] Additional notes Regarding the above embodiments, the following additional notes are further disclosed.

(付記1)
特定のカテゴリの指定を受け付け、
ナレッジグラフにおける前記特定のカテゴリに関連付けられた複数のファセットのそれぞれが前記ナレッジグラフにおいて関連付けられているカテゴリの個数に基づく第1指標と、前記ナレッジグラフにおける前記特定のカテゴリと前記複数のファセットのそれぞれとの距離に基づく第2指標と、のうち少なくとも一方に基づいて算出される前記複数のファセットの優先度に応じて、前記複数のファセットを順に並べて出力する、
処理をコンピュータに実行させる、検索プログラム。
(Additional note 1)
Accepts specifications for specific categories,
a first index based on the number of categories with which each of the plurality of facets associated with the specific category in the knowledge graph is associated, and each of the specific category and the plurality of facets in the knowledge graph; and outputting the plurality of facets in order according to the priority of the plurality of facets calculated based on at least one of the second index based on the distance from
A search program that causes a computer to perform processing.

(付記2)
前記第1指標は、前記ナレッジグラフにおける全てのカテゴリの個数を、前記複数のファセットのそれぞれが前記ナレッジグラフにおいて関連付けられているカテゴリの個数でそれぞれ除算した結果を含む、
付記1に記載の検索プログラム。
(Additional note 2)
The first index includes the result of dividing the number of all categories in the knowledge graph by the number of categories with which each of the plurality of facets is associated in the knowledge graph.
Search program described in Appendix 1.

(付記3)
前記複数のファセットのそれぞれについての前記結果を含む前記第1指標を算出し、
算出した前記第1指標を含む情報を記憶領域に格納する、
処理を前記コンピュータに実行させる、付記2に記載の検索プログラム。
(Additional note 3)
calculating the first index including the results for each of the plurality of facets;
storing information including the calculated first index in a storage area;
The search program according to supplementary note 2, which causes the computer to execute the process.

(付記4)
前記第2指標は、前記ナレッジグラフにおける前記特定のカテゴリの階層と、前記複数のファセットのそれぞれが前記ナレッジグラフにおいて関連付けられているカテゴリの階層のそれぞれとの距離に基づく、
付記1~付記3のいずれか1項に記載の検索プログラム。
(Additional note 4)
The second index is based on the distance between the specific category hierarchy in the knowledge graph and each category hierarchy with which each of the plurality of facets is associated in the knowledge graph.
The search program described in any one of Supplementary Notes 1 to 3.

(付記5)
前記第2指標は、前記複数のファセットのそれぞれが標準語彙であるか否かに基づく、
付記1~付記4のいずれか1項に記載の検索プログラム。
(Appendix 5)
The second index is based on whether each of the plurality of facets is a standard vocabulary.
The search program described in any one of Supplementary Notes 1 to 4.

(付記6)
前記出力する処理は、前記特定のカテゴリの指定を受け付けた画面からの遷移先である検索画面であって、前記特定のカテゴリに関連付けられた前記複数のファセットを対象とした検索を行なうための前記検索画面に、前記複数のファセットの優先度に応じて順に並べた前記複数のファセットを表示する処理を含む、
付記1~付記5のいずれか1項に記載の検索プログラム。
(Appendix 6)
The outputting process is a search screen that is a transition destination from the screen that accepts the specification of the specific category, and is used to perform a search targeting the plurality of facets associated with the specific category. comprising a process of displaying the plurality of facets arranged in order according to the priority of the plurality of facets on a search screen;
The search program described in any one of Supplementary Notes 1 to 5.

(付記7)
特定のカテゴリの指定を受け付け、
ナレッジグラフにおける前記特定のカテゴリに関連付けられた複数のファセットのそれぞれが前記ナレッジグラフにおいて関連付けられているカテゴリの個数に基づく第1指標と、前記ナレッジグラフにおける前記特定のカテゴリと前記複数のファセットのそれぞれとの距離に基づく第2指標と、のうち少なくとも一方に基づいて算出される前記複数のファセットの優先度に応じて、前記複数のファセットを順に並べて出力する、
処理をコンピュータが実行する、検索方法。
(Appendix 7)
Accepts specifications for specific categories,
a first index based on the number of categories with which each of the plurality of facets associated with the specific category in the knowledge graph is associated, and each of the specific category and the plurality of facets in the knowledge graph; and outputting the plurality of facets in order according to the priority of the plurality of facets calculated based on at least one of the second index based on the distance from
A search method in which processing is performed by a computer.

(付記8)
前記第1指標は、前記ナレッジグラフにおける全てのカテゴリの個数を、前記複数のファセットのそれぞれが前記ナレッジグラフにおいて関連付けられているカテゴリの個数でそれぞれ除算した結果を含む、
付記7に記載の検索方法。
(Appendix 8)
The first index includes the result of dividing the number of all categories in the knowledge graph by the number of categories with which each of the plurality of facets is associated in the knowledge graph.
Search method described in Appendix 7.

(付記9)
前記複数のファセットのそれぞれについての前記結果を含む前記第1指標を算出し、
算出した前記第1指標を含む情報を記憶領域に格納する、
処理を前記コンピュータが実行する、付記8に記載の検索方法。
(Appendix 9)
calculating the first index including the results for each of the plurality of facets;
storing information including the calculated first index in a storage area;
The search method according to appendix 8, wherein the processing is executed by the computer.

(付記10)
前記第2指標は、前記ナレッジグラフにおける前記特定のカテゴリの階層と、前記複数のファセットのそれぞれが前記ナレッジグラフにおいて関連付けられているカテゴリの階層のそれぞれとの距離に基づく、
付記7~付記9のいずれか1項に記載の検索方法。
(Appendix 10)
The second index is based on the distance between the specific category hierarchy in the knowledge graph and each category hierarchy with which each of the plurality of facets is associated in the knowledge graph.
The search method described in any one of Supplementary notes 7 to 9.

(付記11)
前記第2指標は、前記複数のファセットのそれぞれが標準語彙であるか否かに基づく、
付記7~付記10のいずれか1項に記載の検索方法。
(Appendix 11)
The second index is based on whether each of the plurality of facets is a standard vocabulary.
The search method described in any one of Supplementary notes 7 to 10.

(付記12)
前記出力する処理は、前記特定のカテゴリの指定を受け付けた画面からの遷移先である検索画面であって、前記特定のカテゴリに関連付けられた前記複数のファセットを対象とした検索を行なうための前記検索画面に、前記複数のファセットの優先度に応じて順に並べた前記複数のファセットを表示する処理を含む、
付記7~付記11のいずれか1項に記載の検索方法。
(Appendix 12)
The outputting process is a search screen that is a transition destination from the screen that accepts the specification of the specific category, and is used to perform a search targeting the plurality of facets associated with the specific category. comprising a process of displaying the plurality of facets arranged in order according to the priority of the plurality of facets on a search screen;
The search method described in any one of Supplementary notes 7 to 11.

(付記13)
特定のカテゴリの指定を受け付ける受付部と、
ナレッジグラフにおける前記特定のカテゴリに関連付けられた複数のファセットのそれぞれが前記ナレッジグラフにおいて関連付けられているカテゴリの個数に基づく第1指標と、前記ナレッジグラフにおける前記特定のカテゴリと前記複数のファセットのそれぞれとの距離に基づく第2指標と、のうち少なくとも一方に基づいて算出される前記複数のファセットの優先度に応じて、前記複数のファセットを順に並べて出力する出力部と、
を備える、検索装置。
(Appendix 13)
A reception department that accepts specifications of specific categories,
a first index based on the number of categories with which each of the plurality of facets associated with the specific category in the knowledge graph is associated, and each of the specific category and the plurality of facets in the knowledge graph; an output unit that sequentially arranges and outputs the plurality of facets according to a priority of the plurality of facets calculated based on at least one of a second index based on the distance from the second index;
A search device comprising:

(付記14)
前記第1指標は、前記ナレッジグラフにおける全てのカテゴリの個数を、前記複数のファセットのそれぞれが前記ナレッジグラフにおいて関連付けられているカテゴリの個数でそれぞれ除算した結果を含む、
付記13に記載の検索装置。
(Appendix 14)
The first index includes the result of dividing the number of all categories in the knowledge graph by the number of categories with which each of the plurality of facets is associated in the knowledge graph.
The search device according to appendix 13.

(付記15)
前記複数のファセットのそれぞれについての前記結果を含む前記第1指標を算出し、
算出した前記第1指標を含む情報を記憶領域に格納する、
算出部を備える、付記14に記載の検索装置。
(Appendix 15)
calculating the first index including the results for each of the plurality of facets;
storing information including the calculated first index in a storage area;
The search device according to supplementary note 14, comprising a calculation unit.

(付記16)
前記第2指標は、前記ナレッジグラフにおける前記特定のカテゴリの階層と、前記複数のファセットのそれぞれが前記ナレッジグラフにおいて関連付けられているカテゴリの階層のそれぞれとの距離に基づく、
付記13~付記15のいずれか1項に記載の検索装置。
(Appendix 16)
The second index is based on the distance between the specific category hierarchy in the knowledge graph and each category hierarchy with which each of the plurality of facets is associated in the knowledge graph.
The search device according to any one of Supplementary notes 13 to 15.

(付記17)
前記第2指標は、前記複数のファセットのそれぞれが標準語彙であるか否かに基づく、
付記13~付記16のいずれか1項に記載の検索装置。
(Appendix 17)
The second index is based on whether each of the plurality of facets is a standard vocabulary.
The search device according to any one of Supplementary notes 13 to 16.

(付記18)
前記出力部は、前記特定のカテゴリの指定を受け付けた画面からの遷移先である検索画面であって、前記特定のカテゴリに関連付けられた前記複数のファセットを対象とした検索を行なうための前記検索画面に、前記複数のファセットの優先度に応じて順に並べた前記複数のファセットを表示する、
付記13~付記17のいずれか1項に記載の検索装置。
(Appendix 18)
The output unit is a search screen that is a transition destination from the screen that accepts the specification of the specific category, and the search screen is for performing a search targeting the plurality of facets associated with the specific category. displaying the plurality of facets arranged in order according to the priority of the plurality of facets on a screen;
The search device according to any one of Supplementary notes 13 to 17.

1 ファセット検索システム
10 コンピュータ
2 サーバ
21 メモリ部
21a 頻度表
21b スコアDB
22 検索制御部
23 統計処理部
23a 頻度表作成部
23b スコア算出部
24 意味解釈処理部
25 ランキング調整部
3 KG(ナレッジグラフ)
4 端末
1 facet search system 10 computer 2 server 21 memory section 21a frequency table 21b score DB
22 Search control unit 23 Statistical processing unit 23a Frequency table creation unit 23b Score calculation unit 24 Semantic interpretation processing unit 25 Ranking adjustment unit 3 KG (Knowledge graph)
4 Terminal

Claims (8)

特定のカテゴリの指定を受け付け、
ナレッジグラフにおける前記特定のカテゴリに関連付けられた複数のファセットのそれぞれが前記ナレッジグラフにおいて関連付けられているカテゴリの個数に基づく第1指標と、前記ナレッジグラフにおける前記特定のカテゴリと前記複数のファセットのそれぞれとの距離に基づく第2指標と、のうち少なくとも一方に基づいて算出される前記複数のファセットの優先度に応じて、前記複数のファセットを順に並べて出力する、
処理をコンピュータに実行させる、検索プログラム。
Accepts specifications for specific categories,
a first index based on the number of categories with which each of the plurality of facets associated with the specific category in the knowledge graph is associated, and each of the specific category and the plurality of facets in the knowledge graph; and outputting the plurality of facets in order according to the priority of the plurality of facets calculated based on at least one of the second index based on the distance from
A search program that causes a computer to perform processing.
前記第1指標は、前記ナレッジグラフにおける全てのカテゴリの個数を、前記複数のファセットのそれぞれが前記ナレッジグラフにおいて関連付けられているカテゴリの個数でそれぞれ除算した結果を含む、
請求項1に記載の検索プログラム。
The first index includes the result of dividing the number of all categories in the knowledge graph by the number of categories with which each of the plurality of facets is associated in the knowledge graph.
The search program according to claim 1.
前記複数のファセットのそれぞれについての前記結果を含む前記第1指標を算出し、
算出した前記第1指標を含む情報を記憶領域に格納する、
処理を前記コンピュータに実行させる、請求項2に記載の検索プログラム。
calculating the first index including the results for each of the plurality of facets;
storing information including the calculated first index in a storage area;
The search program according to claim 2, which causes the computer to execute the process.
前記第2指標は、前記ナレッジグラフにおける前記特定のカテゴリの階層と、前記複数のファセットのそれぞれが前記ナレッジグラフにおいて関連付けられているカテゴリの階層のそれぞれとの距離に基づく、
請求項1~請求項3のいずれか1項に記載の検索プログラム。
The second index is based on the distance between the specific category hierarchy in the knowledge graph and each category hierarchy with which each of the plurality of facets is associated in the knowledge graph.
The search program according to any one of claims 1 to 3.
前記第2指標は、前記複数のファセットのそれぞれが標準語彙であるか否かに基づく、
請求項1~請求項4のいずれか1項に記載の検索プログラム。
The second index is based on whether each of the plurality of facets is a standard vocabulary.
The search program according to any one of claims 1 to 4.
前記出力する処理は、前記特定のカテゴリの指定を受け付けた画面からの遷移先である検索画面であって、前記特定のカテゴリに関連付けられた前記複数のファセットを対象とした検索を行なうための前記検索画面に、前記複数のファセットの優先度に応じて順に並べた前記複数のファセットを表示する処理を含む、
請求項1~請求項5のいずれか1項に記載の検索プログラム。
The outputting process is a search screen that is a transition destination from the screen that accepts the specification of the specific category, and is used to perform a search targeting the plurality of facets associated with the specific category. comprising a process of displaying the plurality of facets arranged in order according to the priority of the plurality of facets on a search screen;
The search program according to any one of claims 1 to 5.
特定のカテゴリの指定を受け付け、
ナレッジグラフにおける前記特定のカテゴリに関連付けられた複数のファセットのそれぞれが前記ナレッジグラフにおいて関連付けられているカテゴリの個数に基づく第1指標と、前記ナレッジグラフにおける前記特定のカテゴリと前記複数のファセットのそれぞれとの距離に基づく第2指標と、のうち少なくとも一方に基づいて算出される前記複数のファセットの優先度に応じて、前記複数のファセットを順に並べて出力する、
処理をコンピュータが実行する、検索方法。
Accepts specifications for specific categories,
a first index based on the number of categories with which each of the plurality of facets associated with the specific category in the knowledge graph is associated, and each of the specific category and the plurality of facets in the knowledge graph; and outputting the plurality of facets in order according to the priority of the plurality of facets calculated based on at least one of the second index based on the distance from
A search method in which processing is performed by a computer.
特定のカテゴリの指定を受け付ける受付部と、
ナレッジグラフにおける前記特定のカテゴリに関連付けられた複数のファセットのそれぞれが前記ナレッジグラフにおいて関連付けられているカテゴリの個数に基づく第1指標と、前記ナレッジグラフにおける前記特定のカテゴリと前記複数のファセットのそれぞれとの距離に基づく第2指標と、のうち少なくとも一方に基づいて算出される前記複数のファセットの優先度に応じて、前記複数のファセットを順に並べて出力する出力部と、
を備える、検索装置。
A reception department that accepts specifications of specific categories,
a first index based on the number of categories with which each of the plurality of facets associated with the specific category in the knowledge graph is associated, and each of the specific category and the plurality of facets in the knowledge graph; an output unit that sequentially arranges and outputs the plurality of facets according to a priority of the plurality of facets calculated based on at least one of a second index based on the distance from the second index;
A search device comprising:
JP2020065952A 2020-04-01 2020-04-01 Search program, search method, and search device Active JP7375657B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020065952A JP7375657B2 (en) 2020-04-01 2020-04-01 Search program, search method, and search device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020065952A JP7375657B2 (en) 2020-04-01 2020-04-01 Search program, search method, and search device

Publications (2)

Publication Number Publication Date
JP2021163316A JP2021163316A (en) 2021-10-11
JP7375657B2 true JP7375657B2 (en) 2023-11-08

Family

ID=78003502

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020065952A Active JP7375657B2 (en) 2020-04-01 2020-04-01 Search program, search method, and search device

Country Status (1)

Country Link
JP (1) JP7375657B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5315485B1 (en) 2012-06-27 2013-10-16 楽天株式会社 Information processing apparatus, information processing method, and information processing program
US20190114325A1 (en) 2017-10-13 2019-04-18 United Arab Emirates University Method of facet-based searching of databases
US20190392077A1 (en) 2018-06-26 2019-12-26 International Business Machines Corporation Facet-based query refinement based on multiple query interpretations

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07234877A (en) * 1994-02-23 1995-09-05 Nippon Telegr & Teleph Corp <Ntt> Data base retrieving method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5315485B1 (en) 2012-06-27 2013-10-16 楽天株式会社 Information processing apparatus, information processing method, and information processing program
US20190114325A1 (en) 2017-10-13 2019-04-18 United Arab Emirates University Method of facet-based searching of databases
US20190392077A1 (en) 2018-06-26 2019-12-26 International Business Machines Corporation Facet-based query refinement based on multiple query interpretations

Also Published As

Publication number Publication date
JP2021163316A (en) 2021-10-11

Similar Documents

Publication Publication Date Title
JP7411651B2 (en) Techniques for ranking content item recommendations
US10997244B2 (en) Method and system for identifying and discovering relationships between disparate datasets from multiple sources
US11556865B2 (en) User-centric browser location
Shen et al. Linking named entities in tweets with knowledge base via user interest modeling
Sun et al. Ranking-based clustering of heterogeneous information networks with star network schema
Sun et al. Community evolution detection in dynamic heterogeneous information networks
US9576029B2 (en) Trust propagation through both explicit and implicit social networks
US20160357872A1 (en) Event networks and event view construction and display
US20110060717A1 (en) Systems and methods for improving web site user experience
Zhang et al. The recommendation system of micro-blog topic based on user clustering
US11687794B2 (en) User-centric artificial intelligence knowledge base
Sisodia et al. Fast prediction of web user browsing behaviours using most interesting patterns
WO2016063341A1 (en) Time series prediction apparatus and time series prediction method
JP5836893B2 (en) File management apparatus, file management method, and program
JP2023545945A (en) System and method for smart categorization of content in content management systems
Koperwas et al. Intelligent information processing for building university knowledge base
Spitz et al. Topexnet: entity-centric network topic exploration in news streams
Bhatia et al. Know thy neighbors, and more! studying the role of context in entity recommendation
JP2012083929A (en) File retrieval device and file retrieval program
JP7375657B2 (en) Search program, search method, and search device
JP6145562B2 (en) Information structuring system and information structuring method
JP2012043258A (en) Retrieval system, retrieval device, retrieval program, recording medium and retrieval method
JP5757187B2 (en) File storage location candidate determination device, file storage location candidate determination method, file storage location determination support system, and computer program
JP5234832B2 (en) Career information management system and career information management method
Sarker et al. Automatic Individual Information Aggregation Using Publicly Available Social Media Data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230112

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230915

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230926

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231009

R150 Certificate of patent or registration of utility model

Ref document number: 7375657

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150