JP7375657B2 - Search program, search method, and search device - Google Patents
Search program, search method, and search device Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 51
- 238000012545 processing Methods 0.000 claims description 52
- 230000008569 process Effects 0.000 claims description 23
- 230000007704 transition Effects 0.000 claims description 6
- 230000008685 targeting Effects 0.000 claims description 5
- 230000015654 memory Effects 0.000 description 29
- 238000010586 diagram Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 13
- 239000000284 extract Substances 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000000052 comparative effect Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000010365 information processing Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000007123 defense Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 244000191761 Sida cordifolia Species 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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.
ファセット検索において、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.
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形又は技術の適用を排除する意図はない。例えば、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下の説明で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。 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
カテゴリ探索画面100は、KGデータからカテゴリを絞り込むための画面、換言すれば、特定のカテゴリの指定を受け付ける画面であり、例えば、カテゴリの選択領域110及びクラスの選択領域120を含んでよい。なお、カテゴリ探索画面100は、ファセット検索画面200において保存された検索条件を表示するためのボタン130を含んでもよい。
The
選択領域110は、例えば、図2に示す「事物」からデータセット、例えば「人」又は「組織」の選択を受け付けるための領域であり、図3の例では「データセットA」及び「データセットB」が表示されている。選択領域120は、選択領域110で選択された「人」又は「組織」に対応付けられたクラスの一覧を表示する領域であって、例えば、図2に示す「人」から「政治家」、「プロ野球選手」又は「サッカー選手」等の選択を受け付けるための領域である。
The
なお、図3の例では、便宜上、選択領域110を「データセット」、選択領域120を「クラス」の選択領域と表記しているが、選択領域110及び120で選択された「データセット」の「クラス」を「カテゴリ」と捉えてよい。
In the example of FIG. 3, for convenience, the
UIは、選択領域120で選択されたクラス(カテゴリ)の情報に基づき、ファセット検索画面200を表示する。
The UI displays a
ファセット検索画面200は、カテゴリ探索画面100で選択されたクラス(カテゴリ)から、ファセットを検索するための画面である。すなわち、ファセット検索画面200は、カテゴリ探索画面100からの遷移先である検索画面であって、特定のカテゴリに関連付けられた複数のファセットを対象とした検索を行なうための検索画面である。
The
ファセット検索画面200は、例えば、項目一覧領域210、検索条件の設定領域230、出力項目の設定領域250、出力言語の設定領域260、及び、一覧表示領域280を含んでよい。
The
項目一覧領域210は、カテゴリ探索画面100で選択されたクラス(カテゴリ)に基づき、KGデータ内のファセットキーを表示する領域である。
The
検索条件の設定領域230は、項目一覧領域210で選択された状態で追加ボタン220が押下されたファセットキーについての検索条件を設定するための領域である。出力項目の設定領域250は、項目一覧領域210で選択された状態で追加ボタン240が押下されたファセットキーについて、エンティティを出力する項目及び出力順序を設定するための領域である。出力言語の設定領域250は、エンティティの出力言語を設定するための領域である。
The search
一覧表示領域280は、検索ボタン270が押下された場合に、設定領域230、250及び260の設定内容に基づき、エンティティの一覧を表示する領域である。
The
なお、ファセット検索画面200は、一覧表示領域280の表示内容や、設定領域230、250及び260の設定内容、項目一覧領域210の表示内容、のいずれか1つ以上についての操作ボタン290を表示してもよい。操作ボタン290は、例えば、CSV(Comma Separated Value)形式での出力ボタン、RDF問合せ言語の一例であるSPARQL(SPARQL Protocol and RDF Query Language)文の確認ボタン、及び、検索条件の保存ボタン、等を含んでよい。
Note that the
ところで、ファセット検索画面200における項目一覧領域210には、カテゴリに適したファセットキーが表示されない場合がある。以下、このような場合を比較例として説明する。
Incidentally, the
(比較例)
例えば、図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
(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
なお、上記技術では、ファセットキーの重要度については考慮されていない。一方、非特許文献2には、ファセットキーをランキングする指標が記載されている。
Note that the above technique does not take into account the importance of facet keys. On the other hand,
ここで、非特許文献1及び2に記載された技術を用いて、ファセット検索画面200における項目一覧領域210を表示する場合、換言すれば、或る特定のカテゴリ内のファセット検索を行なう場合を考える。或る特定のカテゴリ内のファセット検索を行なう場合、カテゴリ固有のファセットキーで絞り込んだ方が良いケースがある。例えば、カテゴリ探索画面100において、プロ野球選手というカテゴリが選択された場合を想定する。
Here, consider a case where the
この場合、非特許文献2に記載された技術では、KGデータ全体の統計的傾向により、甲子園出場経験よりも、出身地や生年月日が重要なファセットキーとして上位にランキングされてしまう。
In this case, with the technique described in
また、非特許文献1に記載された技術では、知識ベースにファセットが存在するか否かを利用するに留まっており、知識のオントロジーは利用されない。例えば、「日付」のファセットキーについて、人の場合は「生まれた日」、プロ野球選手の場合は「初出場の年月日」等の方が重要なファセットとなる。これらの情報は、オントロジー等によりKGの中で構造化されている。
Further, the technique described in
しかし、プロ野球選手というカテゴリが選択された場合、ファセットキーとして、生年月日や出身地、会社種別等よりも、打席や利き腕、甲子園出場経験等で絞り込まれる方が、ユーザの知識に即したファセット検索を実現できる。 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
(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
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
KG3とサーバ2との間、及び、端末4とサーバ2との間は、それぞれ、図示しないネットワークを介して相互に通信可能に接続されてよい。ネットワークは、WAN(Wide Area Network)、LAN(Local Area Network)、又はこれらの組み合わせを含んでよい。WANにはインターネットが含まれてよく、LANにはVPN(Virtual Private Network)が含まれてよい。
The
サーバ2は、検索装置、情報処理装置、又は、コンピュータの一例である。例えば、サーバ2は、ファセット検索システム1において、端末4からのファセットの検索に関する種々のアクセスに応じて、KG3の参照、端末4への応答や情報の通知等の種々の処理を行なう。
The
サーバ2は、例えば、端末4に対して、アクセスを可能とするための機能を提供してよい。当該機能としては、例えば、端末4によるアクセスに用いられる、ウェブページ等の画面の生成及び表示制御が挙げられる。例えば、端末4は、ブラウザ等のアプリケーションを用いてサーバ2にアクセス要求を送信し、サーバ2から受信する画面情報に基づきアプリケーションに表示されるウェブページを介して、サーバ2へのアクセスを行なってよい。
The
サーバ2は、仮想サーバ(VM;Virtual Machine)であってもよいし、物理サーバであってもよい。また、サーバ2の機能は、1台のコンピュータにより実現されてもよいし、2台以上のコンピュータにより実現されてもよい。さらに、サーバ2の機能のうちの少なくとも一部は、クラウド環境により提供されるHW(Hardware)リソース及びNW(Network)リソースを用いて実現されてもよい。
The
(ハードウェア構成例)
図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
図5に示すように、コンピュータ10は、HW構成として、例示的に、プロセッサ10a、メモリ10b、記憶部10c、IF(Interface)部10d、I/O(Input / Output)部10e、及び読取部10fを備えてよい。
As shown in FIG. 5, the
プロセッサ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
プロセッサ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
記憶部10cは、種々のデータやプログラム等の情報を格納するHWの一例である。記憶部10cとしては、HDD(Hard Disk Drive)等の磁気ディスク装置、SSD(Solid State Drive)等の半導体ドライブ装置、不揮発性メモリ等の各種記憶装置が挙げられる。不揮発性メモリとしては、例えば、フラッシュメモリ、SCM(Storage Class Memory)、ROM(Read Only Memory)等が挙げられる。
The
また、記憶部10cは、コンピュータ10の各種機能の全部若しくは一部を実現するプログラム10g(検索プログラム)を格納してよい。例えば、サーバ2のプロセッサ10aは、記憶部10cに格納されたプログラム10gをメモリ10bに展開して実行することにより、図4に例示するサーバ2としての機能を実現できる。
Furthermore, the
IF部10dは、ネットワークとの間の接続及び通信の制御等を行なう通信IFの一例である。例えば、IF部10dは、イーサネット(登録商標)等のLAN(Local Area Network)、或いは、FC(Fibre Channel)等の光通信等に準拠したアダプタを含んでよい。当該アダプタは、無線及び有線の一方又は双方の通信方式に対応してよい。例えば、サーバ2は、IF部10dを介して、KG3及び端末4のそれぞれと相互に通信可能に接続されてよい。また、例えば、プログラム10gは、当該通信IFを介して、ネットワークからコンピュータ10にダウンロードされ、記憶部10cに格納されてもよい。
The
I/O部10eは、入力装置、及び、出力装置、の一方又は双方を含んでよい。入力装置としては、例えば、キーボード、マウス、タッチパネル等が挙げられる。出力装置としては、例えば、モニタ、プロジェクタ、プリンタ等が挙げられる。
The I/
読取部10fは、記録媒体10hに記録されたデータやプログラムの情報を読み出すリーダの一例である。読取部10fは、記録媒体10hを接続可能又は挿入可能な接続端子又は装置を含んでよい。読取部10fとしては、例えば、USB(Universal Serial Bus)等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、SDカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体10hにはプログラム10gが格納されてもよく、読取部10fが記録媒体10hからプログラム10gを読み出して記憶部10cに格納してもよい。
The
記録媒体10hとしては、例示的に、磁気/光ディスクやフラッシュメモリ等の非一時的なコンピュータ読取可能な記録媒体が挙げられる。磁気/光ディスクとしては、例示的に、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク、HVD(Holographic Versatile Disc)等が挙げられる。フラッシュメモリとしては、例示的に、USBメモリやSDカード等の半導体メモリが挙げられる。
Examples of the
上述したコンピュータ10のHW構成は例示である。従って、コンピュータ10内でのHWの増減(例えば任意のブロックの追加や削除)、分割、任意の組み合わせでの統合、又は、バスの追加若しくは削除等は適宜行なわれてもよい。例えば、サーバ2において、I/O部10e及び読取部10fの少なくとも一方は、省略されてもよい。
The HW configuration of the
なお、情報処理端末の一例である端末4は、上述したコンピュータ10と同様のHW構成により実現されてよい。
Note that the
例えば、端末4のプロセッサ10aは、記憶部10cに格納されたプログラム10gをメモリ10bに展開して実行することにより、図4に示す端末4としての機能を実現できる。
For example, the processor 10a of the
なお、図4に示す端末4は、I/O部10eの一例である入力装置及び表示装置を備えてよい。例えば、端末4のプロセッサ10aは、IF部10dを介してサーバ2から受信した情報に基づき、各画面を表示装置に表示してよい。また、端末4のプロセッサ10aは、入力された情報を、IF部10dを介してサーバ2に送信してよい。
Note that the
(機能構成例)
図4の説明に戻り、サーバ2は、例示的に、メモリ部21、検索制御部22、統計処理部23、意味解釈処理部24、及びランキング調整部25を備えてよい。
(Functional configuration example)
Returning to the explanation of FIG. 4, the
メモリ部21は、記憶領域の一例であり、ファセットの検索に関する種々の情報を記憶する。図4に示すように、メモリ部21は、例示的に、頻度表21a及びスコアDB21bを記憶してよい。以下の説明では、便宜上、頻度表21a及びスコアDB21bのデータ形式をテーブル形式として説明するが、これに限定されるものではなく、種々のDBのデータ形式であってよい。
The
なお、頻度表21a及びスコアDB21bは、例えば、図5に示すメモリ10b及び記憶部10cの少なくとも1つが有する記憶領域に格納されてよい。換言すれば、メモリ部21は、メモリ10b及び記憶部10cの少なくとも1つが有する記憶領域により実現されてよい。
Note that the frequency table 21a and the
検索制御部22は、端末4に対して、図3に例示するカテゴリ探索画面100及びファセット検索画面200を含むUIを提供する。例えば、検索制御部22は、カテゴリ探索画面100及びファセット検索画面200のそれぞれの画面情報を生成し、端末4に送信するとともに、端末4でUIを介して入力された文字列や選択項目を示す制御情報を、端末4から受信してよい。
The
一例として、検索制御部22は、カテゴリ探索画面100の選択領域110及び120で選択されたクラス(カテゴリ)を含む制御情報を端末4から受信すると、当該制御情報を統計処理部23及び意味解釈処理部24のそれぞれに通知してよい。換言すれば、検索制御部22は、特定のカテゴリの指定を受け付ける受付部の一例である。
As an example, when the
また、検索制御部22は、複数のファセットキーを示す情報をランキング調整部25から通知されると、当該情報に含まれるファセットキーを、その表示順序(並び順)も含めて、項目一覧領域210に表示させる。換言すれば、検索制御部22は、ランキング調整部25により算出される優先度に応じて、複数のファセットを順に並べて出力する(例えば項目一覧領域210に表示する)、出力部の一例である。
Further, when the
統計処理部23は、ファセット検索が行なわれる前の事前フェーズ(準備フェーズ)として、KG3及び制御情報に基づき、スコアDB21bを作成又は更新する。例えば、統計処理部23は、頻度表作成部23a及びスコア算出部23bを備えてよい。
The
頻度表作成部23aは、頻度表21aを作成する。例えば、頻度表作成部23aは、図6に示すように、KG3から、ファセット検索の対象となる全てのクラス集合21a1を取得する。例えば、頻度表作成部23aは、図6に示すクラス取得クエリQ1を実行し、KG3からクラス集合21a1を取得してよい。
The frequency
そして、頻度表作成部23aは、クラス集合21a1に含まれるクラスとKG3とに基づき、ファセットキー頻度表21a2、及び、ファセットキー・ファセット値頻度表21a3(図7参照)を算出する。例えば、頻度表作成部23aは、図6に示すファセットキー頻度表クエリQ2及びファセットキー・ファセット値頻度表クエリQ3をそれぞれ実行し、KG3からファセットキー頻度表21a2、及び、ファセットキー・ファセット値頻度表21a3を取得してよい。
Then, the frequency
なお、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
スコア算出部23bは、頻度表作成部23aが作成した頻度表21aに基づき、スコアDB21bを算出する。
The
図8は、各指標の算出式の一例を示す図であり、図9は、指標値21b1の一例を示す図である。例えば、スコア算出部23bは、下記式(1)~式(4)に例示する各指標の算出式(図8参照)を用いて、図9に例示する指標値21b1を算出してよい。
上記式(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,
スコア算出部23bは、頻度表21aと上記式(1)~(4)とに基づき、図9に例示するように、ファセットキーごとの指標値21b1を算出してよい。
The
また、スコア算出部23bは、頻度表21aと、指標値21b1とに基づいて、カテゴリごと、且つ、ファセットキーごとにカテゴリ重要度(signif(f, C))を算出する。カテゴリ重要度(signif(f, C))は、クラス内のファセットの出現頻度を考慮した指標であって、カテゴリ固有のファセットキーを重要視する指標である。
Furthermore, the
図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
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
そして、スコア算出部23bは、上述した指標値21b1に基づくスコア(org_score)と、上記式(5)に基づくスコア(signif)とを用いて、ファセットスコア(new_score)を算出する。
Then, the
例えば、スコア算出部23bは、下記式(8)に例示するように、スコア(org_score)と、スコア(signif)との重み付き線形和を算出し、ファセットスコア(new_score)を取得してよい。
new_score(f) = ω * org_score(f) + (1 - ω) * signif(f) (8)
For example, the
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であるものとする。
図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
図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
このように、スコア算出部23bは、複数のファセットのそれぞれについてのuniq(f)を含むカテゴリ重要度を算出し、算出したカテゴリ重要度を含む情報(例えばスコアDB21b)をメモリ部21に格納する算出部の一例である。
In this way, the
図4の説明に戻り、意味解釈処理部24は、ファセット検索が行なわれる際に、カテゴリ探索画面100(図3参照)において選択されたクラス(カテゴリ)から、或るファセットが所属するクラスまでのKG3上のパスを、スコアに反映する。このように、意味解釈処理部24は、ファセット検索が行なわれる際に、選択されたクラスに応じて、オントロジーを考慮した優先度の高いファセットが抽出されるように、スコアを変更する。
Returning to the explanation of FIG. 4, when a facet search is performed, the semantic
例えば、意味解釈処理部24は、下記式(10)に示すように、オントロジーにおけるグラフ上の距離を考慮したスコア(ont_score)を算出してよい。スコア(ont_score)は、KG3における選択されたクラスと複数のファセットのそれぞれとの距離に基づく第2指標の一例である。
ont_score(f, C) = 1 / (distance(C, Cf) + 1) (10)
For example, the semantic
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
また、上記式(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
図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
なお、意味解釈処理部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
意味上の距離を考慮した指標(意味上の距離指標)としては、例えば、ファセットキーとなる述語(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
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”、等となる関数であってよい。
例えば、意味解釈処理部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
図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
これにより、図3に示す項目一覧領域210において、選択されたカテゴリとの間で、グラフ上の距離及び意味上の距離の一方又は双方が近いファセットキーが、優先度の高い項目として表示されることになる。従って、サーバ2は、カテゴリに関連付けられたファセットの集合から、よりスコアの高いファセットキーにより絞り込まれた適切な複数のファセットを出力することができる。
As a result, in the
図4の説明に戻り、ランキング調整部25は、ファセット検索において、最終的なファセットスコア(final_score)を算出する。
Returning to the explanation of FIG. 4, the ranking
例えば、ファセット検索では、上述した検索制御部22により、カテゴリ探索画面100において、エンティティに付与されているクラスの階層を辿りながら、目的のカテゴリが選択され、ファセット検索画面200が表示される。
For example, in a facet search, the above-mentioned
このとき、選択されたカテゴリに基づいて、意味解釈処理部24により、知識構造を利用したファセット重要度としてのスコア(ont_score)が計算される。
At this time, based on the selected category, the semantic
ランキング調整部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
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
このように、カテゴリ固有のファセットキーを重要視する指標と、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
ランキング調整部25により算出される最終的なスコア(final_score)は、複数のファセットの優先度の一例である。
The final score (final_score) calculated by the ranking
これにより、検索制御部22は、図15に例示するように、項目一覧領域210に、上記式(9)に示すスコア(org_score)ベースのリスト211に代えて、最終的なスコア(final_score)ベースのファセットキーのリスト212を表示することができる。当該リスト212は、ランキング調整部25により算出される優先度に応じて、複数のファセットを順に並べたリストの一例である。
As a result, as illustrated in FIG. 15, the
図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
図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
このとき、サーバ2は、クラス固有のファセットを重要視する指標を導入するとともに、ファセット間の関係をファセット検索対象のKG3から取り出し、当該関係を利用することにより、或る特定のクラスに所属するエンティティの集合を効率的に取り出す。
At this time, the
これにより、カテゴリに関連付けられたファセットの集合から適切な複数のファセットを出力することができ、ユーザの目的のデータに辿り着くまでの手番を減少させることができる。 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
〔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
図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
頻度表作成部23aは、全クラスCallの要素であるクラスCを全て処理したか否かを判定する(ステップS12)。全て処理した場合(ステップS12でYES)、処理が終了する。
The frequency
全て処理していない場合(ステップS12でNO)、頻度表作成部23aは、クラスがCであるインスタンスが持つ述語(Predicate)ごとのインスタンス数、換言すれば、ファセットキー頻度を算出し(ステップS13)、P頻度表21a2に格納する。
If not all have been processed (NO in step S12), the frequency
そして、頻度表作成部23aは、クラスがCであるインスタンスが持つ述語ごとに目的語(Object)の数、換言すれば、ファセットキー・ファセット値頻度を算出し(ステップS14)、PO頻度表21a3に格納して、処理がステップS12に移行する。
Then, the frequency
図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
スコア算出部23bは、KG3におけるクラス及びファセットの情報に基づき、カテゴリ重要度を算出する(ステップS25)。
The
そして、スコア算出部23bは、ファセット頻度、ファセット均衡度、キー濃度、及び、キー単調性を利用して、上記式(9)に示すスコアorg_scoreを算出する(ステップS26)。
Then, the
また、スコア算出部23bは、ステップS26で算出したスコアorg_scoreと、ステップS25で算出したカテゴリ重要度とを利用し、ファセットスコアnew_scoreを算出して、スコアDB21bに格納し(ステップS27)、処理が終了する。
Further, the
〔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
意味解釈処理部24は、クラスCに所属するインスタンスが保有する述語(Predicate)を取得する(ステップS32)。
The semantic
意味解釈処理部24は、述語(Predicate)の要素であるファセットキーfを全て処理したか否かを判定する(ステップS33)。全て処理していない場合(ステップS33でNO)、意味解釈処理部24は、スコアDB21bからクラスCにおけるファセットキーfのスコアnew_scoreを取得する(ステップS34)。
The semantic
意味解釈処理部24は、クラスCとファセットキーfとを利用し、KG3内のオントロジーに基づき、距離スコアont_scoreを算出し(ステップS35)、処理がステップS33に移行する。
The semantic
ステップ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
ランキング調整部25は、final_scoreに基づきソートしたファセットキーを検索制御部22に通知する。検索制御部22は、ソートされたファセットキーを、カテゴリ探索画面100からの遷移先であるファセット検索画面200の項目一覧領域210に表示し(ステップS37)、項目一覧領域210の表示に係るファセット検索処理が終了する。
The
〔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
また、図1に示すサーバ2は、複数の装置がネットワークを介して互いに連携することにより、各処理機能を実現する構成であってもよい。一例として、検索制御部22はWebサーバ、統計処理部23、意味解釈処理部24及びランキング調整部25はアプリケーションサーバ、メモリ部21はDBサーバ、等であってもよい。この場合、Webサーバ、アプリケーションサーバ及びDBサーバが、ネットワークを介して互いに連携することにより、サーバ2としての各処理機能を実現してもよい。
Further, the
さらに、一実施形態において、ランキング調整部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
例えば、最終的なスコア(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
(付記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
(付記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
(付記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
(付記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
(付記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
(付記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
(付記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
(付記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
(付記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
22
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に記載の検索プログラム。 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指標を含む情報を記憶領域に格納する、
処理を前記コンピュータに実行させる、請求項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.
請求項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.
請求項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:
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)
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)
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 |
-
2020
- 2020-04-01 JP JP2020065952A patent/JP7375657B2/en active Active
Patent Citations (3)
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 |