JP6440542B2 - Knowledge engine for managing large amounts of complex structured data - Google Patents

Knowledge engine for managing large amounts of complex structured data Download PDF

Info

Publication number
JP6440542B2
JP6440542B2 JP2015054835A JP2015054835A JP6440542B2 JP 6440542 B2 JP6440542 B2 JP 6440542B2 JP 2015054835 A JP2015054835 A JP 2015054835A JP 2015054835 A JP2015054835 A JP 2015054835A JP 6440542 B2 JP6440542 B2 JP 6440542B2
Authority
JP
Japan
Prior art keywords
encoded
entity
entities
list
attribute
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
JP2015054835A
Other languages
Japanese (ja)
Other versions
JP2015179516A (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.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
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 NTT Docomo Inc filed Critical NTT Docomo Inc
Publication of JP2015179516A publication Critical patent/JP2015179516A/en
Application granted granted Critical
Publication of JP6440542B2 publication Critical patent/JP6440542B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、情報の記憶及び検索に関し、より詳細には構造化データの記憶及び検索に関する。   The present invention relates to information storage and retrieval, and more particularly to structured data storage and retrieval.

[関連出願]
本願は、2014年3月18日に出願された米国仮出願第61/955,077号の利益を主張し、同文献の内容は参照により本明細書にすべて援用される。
[Related applications]
This application claims the benefit of US Provisional Application No. 61 / 955,077, filed Mar. 18, 2014, the contents of which are hereby incorporated by reference in their entirety.

構造化照会言語(SQL)を使用して照会することが可能なリレーショナルデータベースへの構造化データの記憶は1970年代以降徐々に発展してきた。例えば、大規模な販売業者はリレーショナルデータベースを使用して顧客のプロファイルや他の履歴を記憶する場合がある。そのようなデータベースはかなり巨大になる場合があるが、検索されるデータの範囲が顧客のプロファイルのように比較的狭いときにしか効率的に機能しない。   The storage of structured data in relational databases that can be queried using Structured Query Language (SQL) has evolved gradually since the 1970s. For example, a large merchant may use a relational database to store customer profiles and other histories. Such a database can be quite large, but only works efficiently when the range of data retrieved is relatively narrow, such as a customer profile.

従来のリレーショナルデータベースに対して、広大な範囲の事柄にわたって対応する知識データベースを照会することが可能な「知識エンジン」が開発されている。しかし、そのような知識エンジンは、照会対象となるエンティティ及び属性の範囲が広いために、その複雑性が扱い切れないほど高くなる。例えば、あるユーザが「William Jefferson Clintonが生まれたのは何年?」を尋ね、別のユーザが同じ知識エンジンに「2012年のアラスカ州バロー(Barrow)の人口は?」を尋ねたい場合がある。したがって、照会対象の構造化データの複雑性と範囲に効率的に対応することが可能な知識エンジン及びそれに対応する知識データベースが本技術分野で必要とされている。   A "knowledge engine" has been developed that can query a knowledge database corresponding to a wide range of matters against a conventional relational database. However, such knowledge engines are so complex that their complexity is unmanageable due to the wide range of entities and attributes to be queried. For example, one user may ask "How many years was Jeff Jefferson Clinton born?" And another user might ask the same knowledge engine "What is the population of Barrow, Alaska in 2012?" . Accordingly, there is a need in the art for a knowledge engine that can efficiently accommodate the complexity and scope of structured data to be queried and a corresponding knowledge database.

また、知識データベースは、それらが記憶することが求められる構造化データの量そのもののために、大規模になり、扱いが困難になりつつある。そのために、効率的な記憶を可能にしながら、対応する知識エンジンによる高速で正確な検索に対応する編成を持つ知識データベースが本技術分野で必要とされる。   In addition, knowledge databases are becoming large and difficult to handle because of the amount of structured data that they are required to store. Therefore, there is a need in the art for a knowledge database that has an organization that supports efficient and fast searches by corresponding knowledge engines while allowing efficient storage.

以下の例示的実施形態は、開示される知識データベースを構築するために使用される構造化データの入手元としてFreebaseの使用を対象とする。しかし、代替実施形態では、Freebaseに代えて、Wikipediaや、オンライン及び電子の辞書や百科事典などの幅広い他の情報源も使用可能であることが理解されよう。例えば、知識データベースは、国際出願第PCT/US14/67479号に開示されるようにリソースの生成を行うシステムによって駆動されることも可能であり、同出願の内容は参照により本明細書にすべて援用される。そのため、知識データベースは、例えばWikipediaデータベース中の複数の他の項目へのハイパーリンクなど、他のリソースへの各種リンクを搭載することができる。   The following exemplary embodiments are directed to the use of Freebase as a source of structured data used to build the disclosed knowledge database. However, it will be appreciated that in alternative embodiments, Wikipedia, a wide variety of other sources of information such as online and electronic dictionaries and encyclopedias can be used instead of Freebase. For example, the knowledge database can be driven by a system for generating resources as disclosed in International Application No. PCT / US14 / 67479, the contents of which are hereby incorporated by reference in their entirety. Is done. Therefore, the knowledge database can be loaded with various links to other resources such as hyperlinks to a plurality of other items in the Wikipedia database.

Freebaseでは、データはリソース記述フレームワーク(Resource Description Framework:RDF)のトリプル(triple)で編成される。RDFトリプルの第1の部分はエンティティであり、これは記述又は描写される主語である。トリプルの第2の部分は属性又は述語であり、これは記述されるエンティティについての関係の種類である。最後に、トリプルの第3の部分は値又は目的語であり、これはそのトリプルによって参照される対象物である。例えば、次の例示的な文、「ジョーはトムの友人だ(Joe is a friend of Tom.)」を考えられたい。この例では、トムが主語又はエンティティであり、友人関係が属性又は述語であり、ジョーが値になる。このような三つ組は接続グラフの形式で容易に表現されることができ、ジョーとトムが、「〜の友人である」という属性を表す、ジョーからトムに向かう弧で接続されたノードとなる。トムの年齢、職業、興味関心など、多数の同様のトリプルがエンティティ「トム」から伸びることができる。   In Freebase, data is organized in triples of Resource Description Framework (RDF). The first part of the RDF triple is an entity, which is the subject described or depicted. The second part of the triple is an attribute or predicate, which is the type of relationship for the entity being described. Finally, the third part of a triple is a value or object, which is the object referenced by that triple. For example, consider the following example sentence: “Joe is a friend of Tom.” In this example, Tom is the subject or entity, friendship is the attribute or predicate, and Joe is the value. Such a triple can be easily expressed in the form of a connection graph, where Joe and Tom are nodes connected by an arc from Joe to Tom, representing the attribute “is a friend of”. A number of similar triples, such as Tom's age, occupation, and interest, can extend from the entity “Tom”.

例示的な方法は、符号化されたリソース記述フォーマットエンティティ、属性、値、及び符号化されたカテゴリのセットについて、符号化されたカテゴリのカテゴリ索引を形成するステップを含むことができ、カテゴリ索引中の各符号化されたカテゴリは、対応する符号化されたエンティティのリストを含む。この方法は、符号化された属性ごとに、当該符号化された属性についての符号化された値を有する符号化されたエンティティを判定するステップも含むことができる。この方法は、判定に応答して、符号化された属性とそれらに対応する符号化されたエンティティ及び符号化された値の属性索引を形成するステップも含むことができる。この方法は、カテゴリ索引及び属性索引を記憶して知識データベースを形成するステップも含むことができる。   An exemplary method may include forming a category index for an encoded category for a set of encoded resource description format entities, attributes, values, and encoded categories, wherein the category index includes: Each encoded category includes a list of corresponding encoded entities. The method may also include determining, for each encoded attribute, an encoded entity that has an encoded value for the encoded attribute. The method may also include forming an attribute index of the encoded attributes and their corresponding encoded entities and encoded values in response to the determination. The method can also include storing the category index and the attribute index to form a knowledge database.

この方法は、構造化クエリを分解して複数の単純クエリにするステップも含むことができる。複数の単純クエリ各々について、この方法は、知識データベースのカテゴリ索引又は属性索引にアクセスして、符号化されたエンティティのリストを求めるステップも含むことができる。この方法は、符号化されたエンティティのリストの共通集合を求めて、構造化クエリに応答性のある符号化されたエンティティを判定するステップも含むことができる。この方法は、構造化クエリに応答性のある符号化されたエンティティを元のエンティティに変換するステップも含むことができる。   The method can also include decomposing the structured query into a plurality of simple queries. For each of a plurality of simple queries, the method may also include accessing a knowledge database category index or attribute index to determine a list of encoded entities. The method may also include determining an encoded entity that is responsive to the structured query for a common set of encoded entity lists. The method may also include converting the encoded entity responsive to the structured query to the original entity.

例示的な知識データベースをロードする際のフローチャートである。FIG. 6 is a flowchart for loading an exemplary knowledge database. FIG. 例示的な知識エンジンが知識データベースを照会する際のフローチャートである。6 is a flowchart when an exemplary knowledge engine queries a knowledge database. 図1及び図2の知識エンジンを含む例示的な検索アーキテクチャの図である。FIG. 3 is a diagram of an exemplary search architecture that includes the knowledge engine of FIGS. 1 and 2. 図1〜図3の知識エンジンを含む例示的なシステムの図である。4 is a diagram of an exemplary system that includes the knowledge engine of FIGS. 1-3. FIG. 図1〜図4の知識エンジンを含む例示的なサーバ装置の図である。FIG. 5 is a diagram of an exemplary server device that includes the knowledge engine of FIGS. 図1〜図4の知識エンジンを含む例示的なサーバ装置の図である。FIG. 5 is a diagram of an exemplary server device that includes the knowledge engine of FIGS.

次いで図面を参照すると、図1のステップ101に示すように、Freebaseなどの該当するデータベースから未処理のトリプルが受け取られる。ステップ102は、ステップ101で受け取られた未処理のトリプルから冗長なエンティティ、属性、及びRDFトリプルを取り除いて、冗長性のない(本明細書では「クリーンな」とも呼ぶ)RDFトリプル103を得ることを含む。RDFトリプル103に関して、ステップ104でそれらのエンティティが順位付けされる。例えば、エンティティの順位は、Wikipediaのアクセス数出力、エンティティの名前が出現する頻度、エンティティの名前の人気度等を分析することによって生成することができる。   Referring now to the drawings, an unprocessed triple is received from a corresponding database, such as Freebase, as shown in step 101 of FIG. Step 102 removes redundant entities, attributes, and RDF triples from the unprocessed triple received in step 101 to obtain a non-redundant (also referred to herein as “clean”) RDF triple 103. including. For the RDF triple 103, those entities are ranked in step 104. For example, the rank of an entity can be generated by analyzing Wikipedia access count output, frequency of entity name appearance, entity name popularity, and the like.

ステップ105で、クリーンなRDFトリプル103が一意の整数の識別(ID)として符号化される。各エンティティ、属性、及び値がそのように符号化されて、1つのトリプルを整数の3つ組で表すことができるようにし、その結果ステップ106で符号化データが得られる。元のバージョンと符号化後のバージョンを区別するために、符号化されたエンティティを表す整数IDを本明細書では「エンティティID」とも称する。同様に、符号化された属性を表す整数IDを本明細書では「属性ID」とも称する。同様に、符号化された値を表す整数IDを本明細書では「値ID」とも称する。ステップ104で得られたエンティティの順位に、エンティティの整数IDを割り当てることもできる。また、各カテゴリも符号化してカテゴリIDとすることができるように、カテゴリに従ってエンティティを編成することができる。ハッシュテーブルH(図示せず)に、エンティティ、属性、値、エンティティの順位付け、及びカテゴリについてのすべての対応付けを、各自の整数表現との関連で記憶する。同様に、整数IDから、それに対応する未符号化状態すなわち元のエンティティ、属性、値、エンティティ順位付け、及びカテゴリへの対応付けを配列リストLに記憶する。したがって、ハッシュテーブルHと配列リストLは互いの逆となる。次いで、ステップ107で、符号化されたRDFトリプルをメモリ108にロードすることができる。ステップ107は、すべてのエンティティIDを各自のカテゴリID及び属性IDに従って索引付けすることも含むことができる。カテゴリはエンティティの種別を表し、例えば種別は「映画スター」であり、対して、そのようなカテゴリのエンティティは個々の映画スターからなることができる。ステップ109で、属性IDごとにエンティティID及び値IDを索引付けすることに関して、追加的な索引付けを行うことができる。この索引付けの結果は、ステップ110で知識データベース又はメモリに記憶されるカテゴリID及び属性ID索引で表される。   At step 105, the clean RDF triple 103 is encoded as a unique integer identification (ID). Each entity, attribute, and value is so encoded so that a single triple can be represented by an integer triplet, resulting in encoded data at step 106. In order to distinguish between the original version and the encoded version, the integer ID representing the encoded entity is also referred to herein as an “entity ID”. Similarly, an integer ID representing an encoded attribute is also referred to as “attribute ID” in this specification. Similarly, an integer ID representing an encoded value is also referred to as a “value ID” in this specification. It is also possible to assign the integer ID of the entity to the rank of the entity obtained in step 104. In addition, entities can be organized according to categories so that each category can also be encoded into a category ID. A hash table H (not shown) stores all associations for entities, attributes, values, entity rankings, and categories in relation to their integer representation. Similarly, the uncoded state corresponding to the integer ID, that is, the original entity, attribute, value, entity ranking, and association with the category are stored in the array list L. Therefore, the hash table H and the array list L are opposite to each other. The encoded RDF triple can then be loaded into memory 108 at step 107. Step 107 may also include indexing all entity IDs according to their category ID and attribute ID. A category represents a type of entity, for example, the type is “movie star”, whereas an entity of such a category can consist of individual movie stars. In step 109, additional indexing can be performed with respect to indexing the entity ID and value ID for each attribute ID. The result of this indexing is represented by the category ID and attribute ID index stored in the knowledge database or memory at step 110.

例示的なカテゴリ索引は、カテゴリごとにエンティティIDをリストする。同様に、属性索引は、属性ごとに値IDと共にエンティティIDをリストする。カテゴリID索引と属性ID索引は、カテゴリIDごと且つ属性IDごとに、エンティティIDでソートされる。その結果得られる、図1に関して説明したように形成される知識データベース中の符号化及び索引付けされたRDFトリプルは、図2に示すように知識エンジン200で検索することができ、有利である。ステップ201で構造化クエリ201が受け取られる。そのような構造化クエリは、指定されたエンティティ、比較値を伴う属性、及びカテゴリ、並びに出力属性及びソート順序を含む。ステップ202で構造化クエリ201が構文解析して単純クエリ203にされ、有利である。各単純クエリ203は、1つのカテゴリ及び1つの属性に対応することができる。さらに、各単純クエリ203は、1つのみのエンティティ、又は比較を伴う1つのみの属性、又は1つのみのカテゴリを有することができる。例えば、ユーザが、データベース中にある1982年以降に生まれたすべての映画スターの識別を知りたいとする。そのようなクエリは、カテゴリ「映画スター」にあるすべてのエンティティや、1982年以降生まれの属性を持つすべてのエンティティなどのいくつかの単純クエリに構造化することができる。注目すべき点として、各単純クエリ203が1つのカテゴリ及び1つの属性に対応する場合、カテゴリ及び属性の数は、一般的なリレーショナルデータベースの制約をはるかに超える可能性がある。具体的には、本実施形態におけるデータセットは数百ギガバイトを超える可能性があり、単純クエリ203を構文解析するために多数のコンピュータクラスタが必要となる可能性がある。   An exemplary category index lists entity IDs by category. Similarly, the attribute index lists the entity ID along with the value ID for each attribute. The category ID index and the attribute ID index are sorted by entity ID for each category ID and for each attribute ID. The resulting encoded and indexed RDF triples in the knowledge database formed as described with respect to FIG. 1 can be advantageously retrieved by the knowledge engine 200 as shown in FIG. At step 201, a structured query 201 is received. Such structured queries include specified entities, attributes with comparison values, and categories, as well as output attributes and sort order. In step 202, the structured query 201 is parsed into a simple query 203, which is advantageous. Each simple query 203 can correspond to one category and one attribute. Further, each simple query 203 can have only one entity, or only one attribute with a comparison, or only one category. For example, a user may want to know the identity of all movie stars born after 1982 in the database. Such a query can be structured into several simple queries, such as all entities in the category “Movie Star” and all entities with attributes born after 1982. It should be noted that if each simple query 203 corresponds to one category and one attribute, the number of categories and attributes can far exceed general relational database constraints. Specifically, the data set in this embodiment may exceed several hundred gigabytes, and a large number of computer clusters may be required to parse the simple query 203.

単純クエリ203は、ハッシュテーブルの符号化された整数値を使用して作成される。すなわち、カテゴリの「映画スター」を検索するのではなく、実際の検索は、カテゴリ「映画スター」の整数符号化表現(カテゴリID)に基づく。同様に、「公開日」の属性に対する検索では、「公開日」に対応する属性IDを使用して検索を行う。ステップ204は、クエリの出力属性及びソート属性をリストすることを含む。このリストは実施形態によっては空になる場合がある。   The simple query 203 is created using the encoded integer value of the hash table. That is, rather than searching for the category “movie star”, the actual search is based on the integer coded representation (category ID) of the category “movie star”. Similarly, in the search for the attribute “release date”, the search is performed using the attribute ID corresponding to the “release date”. Step 204 includes listing the output attributes and sort attributes of the query. This list may be empty in some embodiments.

比較ステップ205は単純クエリ203ごとに行われる。例えば、単純クエリ203は、特定のカテゴリIDに対応するすべてのエンティティIDをリストすることを含むことができる。或いは、単純クエリ203は、特定の属性IDについてすべてのエンティティIDとそれに対応する値IDをリストすることに関連する場合もある。そして、配列リストLを使用して値IDを復号して元の値にすることができる。次いで、その結果得られた値を何らかのクエリパラメータと比較して、対応するエンティティがその単純クエリに応答するかどうかを判定することができる。例えば、そのような単純クエリは、その単純クエリの固有の性質に応じて、値がそれよりも大きい、等しい、又は小さくなければならない比較値を含むことができる。ステップ205で比較又は一致があるたびに、対応するエンティティリスト206が生成される。   The comparison step 205 is performed for each simple query 203. For example, the simple query 203 can include listing all entity IDs corresponding to a particular category ID. Alternatively, the simple query 203 may relate to listing all entity IDs and corresponding value IDs for a particular attribute ID. Then, using the array list L, the value ID can be decrypted to the original value. The resulting value can then be compared to some query parameter to determine whether the corresponding entity responds to the simple query. For example, such a simple query can include a comparison value whose value must be greater than, equal to, or smaller depending on the inherent nature of the simple query. Each time there is a comparison or match in step 205, a corresponding entity list 206 is generated.

ステップ207で各種エンティティリスト206の共通集合を求めることにより、エンティティリスト208を得る。例えば、1982年以降に生まれたすべての映画スターを特定する上記の例示的検索では、1つのエンティティリスト206がメモリ108で見つかったすべての映画スターを含むことができる。別のリストが、データベース中にある1982年以降に生まれたすべてのエンティティを含むことができる。それらリストの共通集合が要求される答に相当する。   In step 207, an entity list 208 is obtained by obtaining a common set of various entity lists 206. For example, in the above exemplary search that identifies all movie stars born after 1982, one entity list 206 can include all movie stars found in memory 108. Another list may include all entities in the database that were born after 1982. A common set of these lists corresponds to the required answer.

例えば、ステップ207で、エンティティA(E(A)と表記する)とエンティティB(E(B)と表記する)との共通集合を、共通集合E(A)∩E(B)で特定されるように求めることができる。それらエンティティ間に共通集合がない場合は、エンティティAとBの間には何の関係もない可能性がある。この共通集合が存在する場合は、E(A)∪E(B)で表されるE(A)とE(B)の和集合、及び式、−log((E(A)∩E(B)/E(A)∪E(B))を計算して、エンティティAとBの間の類似度スコアを得ることができる。   For example, in step 207, a common set of entity A (denoted as E (A)) and entity B (denoted as E (B)) is identified by a common set E (A) ∩E (B). Can be asking. If there is no common set between the entities, there may be no relationship between entities A and B. When this common set exists, the union of E (A) and E (B) represented by E (A) ∪E (B), and the expression −log ((E (A) ∩E (B ) / E (A) ∪E (B)) can be calculated to obtain a similarity score between entities A and B.

そのような類似度スコアは、エンティティ間の類似度に逆比例する。特に、最も緊密に関連するエンティティは、参照されるエンティティの共通集合がそれらエンティティの和集合と同じである(対数の底に関係なく1の対数がゼロになる)ことに相当すると考えられる。共通集合が和集合と比較して小さくなるのに従って、その結果得られる比の対数はより負に近づき、対数の逆関数がより正に近づく。そのようにして、エンティティごとに、関連するエンティティの順序付けしたスコアを生成することができる。実施形態によっては、順序付けしたスコアに閾値が適用されて、与えられたエンティティに最も関連性が高いエンティティのサブセットを求め、また可能性としては、構造化クエリ201に応答性のあるエンティティのリスト208を求める。閾値が適用されるかどうかに関係なく、類似度の計算により、クエリ201に応答性のあるエンティティのリスト208を求めることが容易になり、また関連するエンティティのソートと順位付け209も容易にすることができる。   Such similarity score is inversely proportional to the similarity between entities. In particular, the most closely related entities are considered to correspond to the common set of referenced entities being the same as their union (the logarithm of 1 is zero regardless of the base of the logarithm). As the common set becomes smaller compared to the union, the resulting logarithm of the ratio becomes more negative and the inverse of the logarithm becomes more positive. In that way, for each entity, an ordered score of the related entities can be generated. In some embodiments, a threshold is applied to the ordered score to determine the subset of entities most relevant to a given entity, and possibly a list 208 of entities that are responsive to the structured query 201. Ask for. Regardless of whether a threshold is applied, the similarity calculation makes it easy to obtain a list 208 of entities that are responsive to the query 201 and also facilitates sorting and ranking 209 of related entities. be able to.

上記の対数法に代えて、又はそれと併用して、追加的なアルゴリズムを実装することができる。例えば、Jaccard法やPMI法を利用してエンティティ間の数値的な類似度を算出することができる。また、与えられたエンティティがカテゴリの要素であることを使用して、そのカテゴリにある他の要素を関連エンティティとして選択することもできる。   Additional algorithms can be implemented in place of or in combination with the logarithmic method described above. For example, the numerical similarity between entities can be calculated using the Jaccard method or the PMI method. Also, using a given entity being an element of a category, other elements in that category can also be selected as related entities.

ステップ209で、ステップ204で求められた出力形式に基づいて、最終的なリスト208にあるエンティティを各自の指定された属性に従ってソートすることができる。或いは、ステップ209は、出力形式が空の場合はエンティティの順位でエンティティを順位付けすることを含んでもよい。ステップ209のソート又は順位付けから、ステップ210で指定された形式のエンティティの出力リストを得ることができ、それをステップ211で検索結果としてユーザに表示することができる。   At step 209, based on the output format determined at step 204, the entities in the final list 208 can be sorted according to their designated attributes. Alternatively, step 209 may include ranking the entities by entity rank if the output format is empty. From the sorting or ranking in step 209, an output list of entities of the type specified in step 210 can be obtained, which can be displayed to the user as a search result in step 211.

次いで、いくつかの例示的なクエリを検討して検索プロセスをより詳しく説明する。構造化クエリ201は、入力形式と出力形式の2つの部分を有する。例えば、ユーザが2013年9月5日から2013年9月12日までの週に公開されたすべての映画の題名を知りたいとする。その結果得られる構造化クエリ201は、カテゴリ=映画,公開日>=2013−09−05,公開日<2013−09−12、の入力形式を有することができる。出力形式は、エンティティ名,公開日:降順でソート、とすることができる。   Then, some example queries are considered to describe the search process in more detail. The structured query 201 has two parts, an input format and an output format. For example, assume that the user wants to know the titles of all the movies released in the week from September 5, 2013 to September 12, 2013. The resulting structured query 201 can have an input format of category = movie, release date> = 2013-09-05, release date <2013-09-12. The output format can be entity name, release date: sorted in descending order.

次いで、その結果得られた構造化クエリ201を分解して次の単純クエリ203にすることができる。第1の単純クエリは、カテゴリ=映画のすべてのエンティティをリストするものである。上記のように、知識データベースは、RDFの三つ組値を例えば整数の三つ組で置き換えられるように圧縮形態でカテゴリ索引と属性索引を記憶する。他の種類のデータ圧縮が使用されてもよいことが理解されよう。この単純クエリについて、まずハッシュテーブルHにアクセスしてカテゴリ「映画」の整数表現を見つける。すると、知識データベースからの検索は、単に、カテゴリ「映画」に対応するハッシュテーブル中の整数を、符号化されたカテゴリ索引と一致させるだけになる。例えば、カテゴリ「映画」が「j」の整数IDで表されるとする。したがって、知識データベースの検索は、整数ID「j」として符号化されたカテゴリ索引を取り出すという比較的高速で容易な作業になる。したがって、このj番目の索引は、映画の索引であり、対応するエンティティIDのリストをもたらす。   The resulting structured query 201 can then be decomposed into the next simple query 203. The first simple query lists all entities of category = movie. As described above, the knowledge database stores the category index and the attribute index in a compressed form so that the RDF triplet value can be replaced with, for example, an integer triplet. It will be appreciated that other types of data compression may be used. For this simple query, the hash table H is first accessed to find an integer representation of the category “movie”. A search from the knowledge database then simply matches the integer in the hash table corresponding to the category “movie” with the encoded category index. For example, it is assumed that the category “movie” is represented by an integer ID “j”. Therefore, searching the knowledge database is a relatively fast and easy task of retrieving the category index encoded as integer ID “j”. This j-th index is therefore a movie index, resulting in a list of corresponding entity IDs.

例示的な構造化クエリの分解で得られる第2の単純クエリは、公開日の属性を持つすべてのエンティティをリストするものであり、属性値は2013−09−05以上となる(そのような単純クエリは属性、比較、及び値を有することに留意されたい)。したがって、「公開日」の属性の整数表現がハッシュテーブルHから取得される。例えば、「公開日」の属性IDが整数yで表されるとする。すると、知識エンジンは、整数yに対応する属性索引を知識データベースから取り出す。そのような検索は整数を一致させることに過ぎず、したがって従来技術の方法と比べて非常に高速になる。検索で得られる属性索引は、「公開日」の属性に対応する値を持つすべてのエンティティをリストするが、知識データベースに記憶された他の項目と同じように符号化されている。言い換えると、検索で得られる属性索引はペアのリストであり、各ペアはエンティティIDとそれに対応する値IDである。そして知識エンジンは新しいエンティティIDリストEを作成することができる。検索で得られる属性索引の値ID「n」ごとに、知識エンジンは、配列リストLから元の値(この例では公開日)を取得し、公開日が「2013−09−05」のクエリ日付と同じ又は後の日付であるか比較することができる。比較の結果が真(公開日が「2013−09−05」のクエリ日付と同じ又は後の日付)の場合、知識エンジンは、対応するエンティティIDをエンティティIDリストEに入れることができる。このエンティティIDリストEが第2の単純クエリに応答性のあるリストとなる。   The second simple query that results from the decomposition of the example structured query is to list all entities that have a publication date attribute, and the attribute value is 2013-09-05 or higher (such a simple query). Note that a query has attributes, comparisons, and values). Therefore, an integer representation of the attribute “release date” is acquired from the hash table H. For example, it is assumed that the attribute ID of “release date” is represented by an integer y. Then, the knowledge engine retrieves the attribute index corresponding to the integer y from the knowledge database. Such a search only matches integers and is therefore much faster than prior art methods. The attribute index obtained from the search lists all entities that have a value corresponding to the “publication date” attribute, but is encoded like any other item stored in the knowledge database. In other words, the attribute index obtained by the search is a list of pairs, and each pair is an entity ID and a corresponding value ID. The knowledge engine can then create a new entity ID list E. For each value ID “n” of the attribute index obtained by the search, the knowledge engine acquires the original value (public date in this example) from the array list L, and the query date whose public date is “2013-09-05”. Can be compared to the same or later date. If the result of the comparison is true (the date the publication date is the same as or later than the query date “2013-09-05”), the knowledge engine can put the corresponding entity ID into the entity ID list E. This entity ID list E becomes a list that is responsive to the second simple query.

第3の単純クエリは、第2の単純クエリと似ており、したがって公開日の属性を持つすべてのエンティティのリストを対象とし、属性値は日付2013−09−12未満となる。この第3の単純クエリはしたがって第2の単純クエリに関して説明したのと同様に処理される。そして、これら3つの単純クエリで得られた3つのエンティティリストの共通集合をステップ207に関して述べたように行って、出力エンティティリスト208を得ることができる。この例では、図2のステップ209に関して述べたようなソートや順位付けの必要はない。そして配列リストLを使用して結果を復号して、元のエンティティとそれらの値を得ることができる。次の表1は、この構造化クエリ例による映画をリストした検索結果を示す。
The third simple query is similar to the second simple query, and thus covers the list of all entities with the publication date attribute, and the attribute value is less than the date 2013-09-12. This third simple query is therefore processed in the same manner as described for the second simple query. Then, the common set of the three entity lists obtained by these three simple queries can be performed as described with respect to step 207 to obtain the output entity list 208. In this example, there is no need for sorting or ranking as described with respect to step 209 in FIG. The array list L can then be used to decrypt the result to obtain the original entities and their values. Table 1 below shows search results listing movies according to this example structured query.

検索結果の実際のリストは、一般には、クエリで指定される出力形式204、例えば値が昇順でリストされるべきか、降順でリストされるべきか等に依存する。   The actual list of search results generally depends on the output format 204 specified in the query, such as whether values should be listed in ascending or descending order.

知識エンジン200は、サーバ、複数のサーバ、又は他の種類の適切なコンピュータからなることができる。図2に示すステップを行うために、知識エンジン200を実装するサーバは、Java(登録商標)又は他の適切なプログラミング言語でコーディングすることができる。Freebaseに記憶されるトリプルは、RDFの分野で知られる形態を使用して表される。   Knowledge engine 200 may consist of a server, multiple servers, or other type of suitable computer. To perform the steps shown in FIG. 2, the server implementing the knowledge engine 200 can be coded in Java or other suitable programming language. Triples stored in Freebase are represented using a form known in the field of RDF.

知識エンジン200は、図3に示すようにシステムアーキテクチャに組み込むことができる。セマンティックエンジン305が、ユーザから自然言語のクエリを受け取り、それに対応する構造化クエリ201を知識エンジン200に提供する。知識エンジンは次いで図2に関して説明したデータベース108と対話して要求される検索結果を得、その結果を次いで、スマートフォン、スマートウォッチ、タブレット、また他の適切な装置等のユーザ装置310に表示することができる。   Knowledge engine 200 can be incorporated into the system architecture as shown in FIG. A semantic engine 305 receives a natural language query from a user and provides a corresponding structured query 201 to the knowledge engine 200. The knowledge engine then interacts with the database 108 described with respect to FIG. 2 to obtain the requested search results and then displays the results on a user device 310 such as a smartphone, smartwatch, tablet, or other suitable device. Can do.

知識エンジン200は、図4に示すようにシステムに組み込むこともできる。システム400は、サーバ装置402やクライアント装置404及び406等の複数のコンピューティング装置を含み、各装置は、通信ネットワーク408を通じてデータ/データパケット416及び418を送信及び受信するように構成することができる。例えば、通信インターフェース410は、図1〜図3との関連で上述したような未処理のRDFデータ及び構造化クエリを送受信することができる。メモリ412は、例えば上記の1つ又は複数のエンティティリストを記憶するようにさらに構成された、磁気、光学、又はフラッシュ記憶機構などの、揮発性、不揮発性、取り外し可能、及び/又は取り外し不能の記憶構成要素の1つ又は複数を含むことができる。そのため、通信インターフェース410、知識エンジン200、セマンティックエンジン305、知識ベース108、及びメモリ412は、システムバス、ネットワーク、又は他の接続機構414を介して通信的に結合することができる。   Knowledge engine 200 can also be incorporated into the system as shown in FIG. System 400 includes a plurality of computing devices, such as server device 402 and client devices 404 and 406, each of which can be configured to send and receive data / data packets 416 and 418 over communications network 408. . For example, the communication interface 410 can send and receive raw RDF data and structured queries as described above in connection with FIGS. Memory 412 is volatile, non-volatile, removable, and / or non-removable, such as magnetic, optical, or flash storage, further configured to store one or more entity lists, for example, as described above. One or more of the storage components may be included. As such, communication interface 410, knowledge engine 200, semantic engine 305, knowledge base 108, and memory 412 can be communicatively coupled via a system bus, network, or other connection mechanism 414.

クライアント装置404及び406は各種形態を取ることができ、それらには、例えば構造化クエリを送信し、検索結果を受け取ることが可能な種々のコンピューティング装置の中でも特に、パーソナルコンピュータ(PC)、スマートフォン、着用可能コンピュータ、ラップトップ/タブレットコンピュータ、適切なコンピュータハードウェアリソースを備えたスマートウォッチ、頭部装着ディスプレイ、他の種類の着用可能装置が含まれる。クライアント装置404及び406は各種の構成要素を含むことができ、それらには例えばそれぞれ、入力/出力(I/O)インターフェース430及び440、通信インターフェース432及び442、プロセッサ434及び444、並びにデータ記憶機構436及び446が含まれ、それらはすべてそれぞれシステムバス、ネットワーク、又は他の接続機構438及び448を介して互いに通信的に結合することができる。   Client devices 404 and 406 can take a variety of forms, such as personal computers (PCs), smartphones, among other computing devices capable of sending structured queries and receiving search results, for example. , Wearable computers, laptop / tablet computers, smart watches with appropriate computer hardware resources, head mounted displays, and other types of wearable devices. Client devices 404 and 406 can include various components, such as, for example, input / output (I / O) interfaces 430 and 440, communication interfaces 432 and 442, processors 434 and 444, and data storage mechanisms, respectively. 436 and 446, all of which can be communicatively coupled to each other via a system bus, network, or other connection mechanism 438 and 448, respectively.

I/Oインターフェース430及び440は、それぞれ、クライアント装置404及び406と、クライアント装置404及び406のユーザとの間の対話を容易にするように構成することができる。例えば、I/Oインターフェース430及び440は、ユーザから受け取られたクエリにアクセスし、検索結果をユーザに提供するように構成することができる。したがって、I/Oインターフェース430及び440は、入力ハードウェア、例えば音声コマンドを受け取るマイクロフォン、タッチ画面、タッチセンシティブパネル、コンピュータマウス、キーボード、及び/又は他の入力ハードウェアを含むことができる。   The I / O interfaces 430 and 440 can be configured to facilitate interaction between the client devices 404 and 406 and the user of the client devices 404 and 406, respectively. For example, the I / O interfaces 430 and 440 can be configured to access queries received from a user and provide search results to the user. Thus, I / O interfaces 430 and 440 may include input hardware, such as a microphone that receives voice commands, a touch screen, a touch-sensitive panel, a computer mouse, a keyboard, and / or other input hardware.

上記のように、知識エンジン200は、サーバ、複数のサーバ、又は他の種類の適切なコンピュータからなることができる。知識エンジン200は、その拡張縮小可能性により、図5A及び図5Bに示すようにサーバ装置と一体化することができる。図5Aは、一実施形態による、トレーのセットを支持するように構成された例示的なサーバ装置500を示す。図示するように、サーバ装置500は、トレー504及び506を支持し、場合によっては複数の他のトレーも支持することが可能な筐体502を含むことができる。筐体502は、それぞれトレー504及び506を保持するように構成されたスロット508及び510を含むことができる。筐体502は、接続514及び516を介して電源512に接続されて、それぞれスロット508及び510に電力を供給することができる。筐体502は、接続520及び522を介して通信ネットワーク518に接続して、それぞれスロット508及び510にネットワークへの接続性を提供することもできる。したがって、トレー504及び506はそれぞれスロット508及び510に挿入して、電源512から電力を受け取ると共に、通信ネットワーク518に接続することができる。   As described above, the knowledge engine 200 can comprise a server, multiple servers, or other types of suitable computers. The knowledge engine 200 can be integrated with the server device as shown in FIGS. 5A and 5B due to its expandability. FIG. 5A illustrates an exemplary server device 500 configured to support a set of trays, according to one embodiment. As shown, the server device 500 can include a housing 502 that supports the trays 504 and 506 and possibly can support a plurality of other trays. The housing 502 can include slots 508 and 510 configured to hold trays 504 and 506, respectively. The housing 502 can be connected to the power supply 512 via connections 514 and 516 to supply power to the slots 508 and 510, respectively. Enclosure 502 can also connect to communication network 518 via connections 520 and 522 to provide network connectivity to slots 508 and 510, respectively. Accordingly, trays 504 and 506 can be inserted into slots 508 and 510, respectively, to receive power from power source 512 and to connect to communication network 518.

図5Bは、1つ又は複数の構成要素を支持するように構成されたトレー504を示す図である。トレー204は、知識エンジン200、セマンティックエンジン305、知識ベース108、通信インターフェース410、及びメモリ412を含むことができる。トレー204は、接続514又は516に結合してトレー504に電力を供給することができるコネクタ526を含むことができる。トレー504は、接続520又は522に結合してトレー504にネットワークへの接続性を提供することができるコネクタ528も含むことができる。そのため、知識エンジン200、セマンティックエンジン305、及び知識ベース108は、本明細書に記載され、添付図面に示される動作を行うように構成されることができる。   FIG. 5B illustrates a tray 504 configured to support one or more components. The tray 204 can include a knowledge engine 200, a semantic engine 305, a knowledge base 108, a communication interface 410, and a memory 412. Tray 204 can include a connector 526 that can be coupled to connection 514 or 516 to provide power to tray 504. The tray 504 can also include a connector 528 that can be coupled to the connection 520 or 522 to provide the tray 504 with connectivity to the network. As such, knowledge engine 200, semantic engine 305, and knowledge base 108 can be configured to perform the operations described herein and illustrated in the accompanying drawings.

108…メモリ、200…知識エンジン、201…構造化クエリ、203…単純クエリ、206、208…エンティティリスト、305…セマンティックエンジン、310…ユーザ装置、402…サーバ装置、404、406…クライアント装置、408…通信ネットワーク、416、418…データ/データパケット、410…通信インターフェース、412…メモリ、414…接続機構、430、440…I/Oインターフェース、432、442…通信インターフェース、434、444…プロセッサ、436、446…データ記憶機構、438、448…接続機構、500…サーバ装置、502…筐体、504、506…トレー、508、510…スロット、514、516…接続、512…電源、518…通信ネットワーク、526…コネクタ、528…コネクタ。   DESCRIPTION OF SYMBOLS 108 ... Memory, 200 ... Knowledge engine, 201 ... Structured query, 203 ... Simple query, 206, 208 ... Entity list, 305 ... Semantic engine, 310 ... User device, 402 ... Server device, 404, 406 ... Client device, 408 Communication network 416 418 Data / data packet 410 Communication interface 412 Memory 414 Connection mechanism 430 440 I / O interface 432 442 Communication interface 434 444 Processor 436 446: Data storage mechanism, 438, 448 ... Connection mechanism, 500 ... Server device, 502 ... Housing, 504, 506 ... Tray, 508, 510 ... Slot, 514, 516 ... Connection, 512 ... Power supply, 518 ... Communication network , 52 ... connector, 528 ... connector.

Claims (13)

符号化された属性と、該符号化された属性に対応する符号化されたエンティティ及び符号化された値と、に関する属性索引を記憶するように構成された知識データベースであって、符号化されたカテゴリのカテゴリ索引を記憶するようにさらに構成され、前記カテゴリ索引中の各符号化されたカテゴリは、対応する符号化されたエンティティのリストを含む、当該知識データベースと、
前記知識データベースに記憶された前記カテゴリ索引及び前記属性索引を使用して、単純クエリに応答性のある符号化されたエンティティリストを検索するように構成された知識エンジンと、
を備えるシステム。
A knowledge database configured to store an attribute index for an encoded attribute, an encoded entity corresponding to the encoded attribute, and an encoded value, the encoded Said knowledge database further configured to store a category index of categories, wherein each encoded category in said category index includes a list of corresponding encoded entities;
A knowledge engine configured to retrieve an encoded entity list responsive to a simple query using the category index and the attribute index stored in the knowledge database;
A system comprising:
符号化された属性、符号化されたエンティティ、符号化された値、及び符号化されたカテゴリがそれぞれ、対応する整数からなる請求項に記載のシステム。 Encoded attributes, encoded entity, encoded values, and each coded categories, according to claim 1 comprising a corresponding integer system. 前記システムが、
自然言語のクエリを受け取ってそれに対応する構造化クエリを前記知識エンジンに提供するように構成されたセマンティックエンジン、
を備える請求項に記載のシステム。
The system is
A semantic engine configured to receive a natural language query and provide a corresponding structured query to the knowledge engine;
The system of claim 1 comprising:
前記知識エンジンが前記知識データベースと対話し、前記単純クエリに応答性のある前記符号化されたエンティティリストをユーザ装置に表示させる請求項に記載のシステム。 The system of claim 1 , wherein the knowledge engine interacts with the knowledge database to cause a user device to display the encoded entity list that is responsive to the simple query. 前記知識エンジンが、前記符号化されたエンティティの共通集合を求めて、前記単純クエリに応答性のある前記符号化されたエンティティのリストを取得するように構成される請求項に記載のシステム。 The system of claim 1 , wherein the knowledge engine is configured to obtain a list of the encoded entities that are responsive to the simple query for a common set of the encoded entities. 前記知識エンジンが、メモリ中の1つのエンティティリストと前記知識データベース中の別のエンティティリストとの共通集合を求めるように構成される請求項に記載のシステム。 The system of claim 1 , wherein the knowledge engine is configured to determine a common set of one entity list in memory and another entity list in the knowledge database. 前記知識エンジンが、前記符号化されたエンティティのリスト間の類似度スコアが閾値より大きいことを判定して、構造化クエリに応答性のある前記符号化されたエンティティのリストを取得するように構成される請求項に記載のシステム。 The knowledge engine is configured to determine that a similarity score between the list of encoded entities is greater than a threshold and obtain the list of encoded entities that are responsive to a structured query The system of claim 1 , wherein: 前記知識エンジンが、前記符号化されたエンティティのリスト間の類似度スコアが閾値より大きいことを判定して、前記構造化クエリに応答性のある前記符号化されたエンティティのリストを取得するように構成され、前記類似度スコアは、−log((E(A)∩E(B)/E(A)∪E(B))に基づいて求められ、前記E(A)は1つのエンティティであり、前記E(B)は別のエンティティである請求項に記載のシステム。 Such that the knowledge engine determines that a similarity score between the list of encoded entities is greater than a threshold and obtains the list of encoded entities that are responsive to the structured query. And the similarity score is determined based on -log ((E (A) ∩E (B) / E (A) ∪E (B)), where E (A) is an entity The system of claim 7 , wherein E (B) is another entity. プログラム命令を記憶した非一時的なコンピュータ読み取り可能な記録媒体であって、
前記プログラム命令は、知識エンジンに、
符号化されたリソース記述フォーマットエンティティ、属性、値、及び符号化されたカテゴリのセットについて、符号化されたカテゴリのカテゴリ索引を作成するステップであり、前記カテゴリ索引中の各符号化されたカテゴリは、対応する符号化されたエンティティのリストを含む、当該作成するステップと、
符号化された属性ごとに、当該符号化された属性についての符号化された値を有する符号化されたエンティティを判定するステップと、
判定結果に応じて、符号化された属性と、該符号化された属性に対応する符号化されたエンティティ及び符号化された値と、に関する属性索引を形成するステップと、
前記カテゴリ索引及び前記属性索引を記憶して知識データベースを形成するステップと、
を実行させるためのプログラム命令である、
非一時的なコンピュータ読み取り可能な記録媒体。
A non-transitory computer-readable recording medium storing program instructions,
The program instructions are sent to the knowledge engine,
For a set of encoded resource description format entities, attributes, values, and encoded categories, creating a category index for the encoded category, wherein each encoded category in the category index is The creating step, including a list of corresponding encoded entities;
Determining, for each encoded attribute, an encoded entity having an encoded value for the encoded attribute;
Forming an attribute index with respect to the encoded attribute and the encoded entity and the encoded value corresponding to the encoded attribute in response to the determination result;
Storing the category index and the attribute index to form a knowledge database;
Is a program instruction for executing
A non-transitory computer-readable recording medium.
前記プログラム命令は、知識エンジンに、
構造化クエリを分解して複数の単純クエリにするステップと、
前記複数の単純クエリの各々について、前記知識データベースの前記カテゴリ索引又は前記属性索引にアクセスして、符号化されたエンティティのリストを求めるステップと、
複数の前記符号化されたエンティティのリストの共通集合を求めて、前記構造化クエリに応答性のある前記符号化されたエンティティを判定するステップと、
前記構造化クエリに応答性のある前記符号化されたエンティティを元のエンティティに変換するステップと、
を、さらに実行させるためのプログラム命令である、
請求項に記載の非一時的なコンピュータ読み取り可能な記録媒体。
The program instructions are sent to the knowledge engine,
Decomposing a structured query into multiple simple queries,
For each of the plurality of simple queries, accessing the category index or the attribute index of the knowledge database to determine a list of encoded entities;
Determining a common set of a plurality of lists of the encoded entities to determine the encoded entities that are responsive to the structured query;
Converting the encoded entity responsive to the structured query to an original entity;
Is a program instruction for further executing
The non-transitory computer-readable recording medium according to claim 9 .
前記符号化されたエンティティのリストの共通集合を求める処理が、
メモリ中の1つのエンティティリストと前記知識データベース中の別のエンティティリストとの共通集合を求めること、を含む請求項10に記載の非一時的なコンピュータ読み取り可能な記録媒体。
Obtaining a common set of the encoded list of entities;
The non-transitory computer-readable recording medium according to claim 10 , comprising: obtaining a common set of one entity list in a memory and another entity list in the knowledge database.
前記プログラム命令は、知識エンジンに、
前記符号化されたエンティティのリスト間の類似度スコアが閾値より大きいことを判定して、構造化クエリに応答性のある前記符号化されたエンティティを判定するステップ、
を、さらに実行させるためのプログラム命令である、
請求項に記載の非一時的なコンピュータ読み取り可能な記録媒体。
The program instructions are sent to the knowledge engine,
Determining that the similarity score between the list of encoded entities is greater than a threshold to determine the encoded entities responsive to a structured query;
Is a program instruction for further executing
The non-transitory computer-readable recording medium according to claim 9 .
前記符号化されたエンティティのリスト間の類似度スコアが閾値より大きいことを判定して、前記構造化クエリに応答性のある前記符号化されたエンティティを判定するステップは、
−log(E(A)∩E(B)/E(A)∪E(B))を求めることを含み、
前記E(A)は1つのエンティティであり、前記E(B)は別のエンティティである請求項12に記載の非一時的なコンピュータ読み取り可能な記録媒体。
Determining that the similarity score between the list of encoded entities is greater than a threshold and determining the encoded entities responsive to the structured query comprises:
-Log (E (A) ∩E (B) / E (A) ∪E (B))
The non-transitory computer-readable recording medium according to claim 12 , wherein the E (A) is one entity and the E (B) is another entity.
JP2015054835A 2014-03-18 2015-03-18 Knowledge engine for managing large amounts of complex structured data Active JP6440542B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201461955077P 2014-03-18 2014-03-18
US61/955,077 2014-03-18

Publications (2)

Publication Number Publication Date
JP2015179516A JP2015179516A (en) 2015-10-08
JP6440542B2 true JP6440542B2 (en) 2018-12-19

Family

ID=54263471

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015054835A Active JP6440542B2 (en) 2014-03-18 2015-03-18 Knowledge engine for managing large amounts of complex structured data

Country Status (1)

Country Link
JP (1) JP6440542B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6321845B1 (en) * 2017-03-10 2018-05-09 ヤフー株式会社 Granting device, granting method, and granting program
JP2019159877A (en) * 2018-03-14 2019-09-19 株式会社日立製作所 Security system, encoding method therefor and network control method
CN111666479A (en) * 2019-03-06 2020-09-15 富士通株式会社 Method for searching web page and computer readable storage medium
KR102309375B1 (en) * 2019-06-26 2021-10-06 주식회사 카카오 Apparatus and method for knowledge graph indexing
CN111143394B (en) * 2019-11-20 2023-06-13 泰康保险集团股份有限公司 Knowledge data processing method, device, medium and electronic equipment
CN113407730B (en) * 2021-05-28 2024-03-12 北京小米移动软件有限公司 Knowledge graph-based question-answering method and device and computer-readable storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005196608A (en) * 2004-01-09 2005-07-21 National Institute Of Information & Communication Technology Resource selection system, resource selection processing device, resource selection program, and resource selection processing method
US8719250B2 (en) * 2005-04-18 2014-05-06 Oracle International Corporation Integrating RDF data into a relational database system
JP5716966B2 (en) * 2011-12-20 2015-05-13 株式会社日立製作所 Data analysis apparatus, data analysis method and program
JP5844824B2 (en) * 2012-01-25 2016-01-20 株式会社日立製作所 SPARQL query optimization method

Also Published As

Publication number Publication date
JP2015179516A (en) 2015-10-08

Similar Documents

Publication Publication Date Title
JP6440542B2 (en) Knowledge engine for managing large amounts of complex structured data
US10055482B2 (en) Knowledge engine for managing massive complex structured data
US11709901B2 (en) Personalized search filter and notification system
US9633074B1 (en) Querying data set tables in a non-transactional database
US11227011B2 (en) Content recommendations
US20120158791A1 (en) Feature vector construction
US9959326B2 (en) Annotating schema elements based on associating data instances with knowledge base entities
US20140201203A1 (en) System, method and device for providing an automated electronic researcher
US10467307B1 (en) Grouping of item data using seed expansion
US20140172828A1 (en) Personalized search library based on continual concept correlation
EP2889788A1 (en) Accessing information content in a database platform using metadata
US20150081690A1 (en) Network sourced enrichment and categorization of media content
US20180129716A1 (en) Multi-Level Data Pagination
US20140379723A1 (en) Automatic method for profile database aggregation, deduplication, and analysis
EP3807784A1 (en) Providing query recommendations
US10936640B2 (en) Intelligent visualization of unstructured data in column-oriented data tables
US9043321B2 (en) Enhancing cluster analysis using document metadata
JP2019087249A (en) Automatic search dictionary and user interfaces
US10642872B2 (en) System for optimizing content queries
US9519710B1 (en) Dynamic classification of attribute relevance and classification
US9465658B1 (en) Task distribution over a heterogeneous environment through task and consumer categories
US20160019284A1 (en) Search engine using name clustering
JP7188879B2 (en) Provision device, provision method and provision program
US9256644B1 (en) System for identifying and investigating shared and derived content
US20150286725A1 (en) Systems and/or methods for structuring big data based upon user-submitted data analyzing programs

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171002

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181023

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181120

R150 Certificate of patent or registration of utility model

Ref document number: 6440542

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250