(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
本開示の実施例を図面を参照して以下により詳細に説明する。図面に本開示のいくつかの実施例が示されているが、本発明は様々な形態で実現することができ、本明細書に記載の実施例に限定されると解釈されるべきではないことを理解されたい。逆に、これらの実施例を提供する目的は、本開示がより明確かつ完全で理解されることである。なお、本開示の図面及び実施例は例示するものに過ぎず、本開示の保護範囲を限定するものではないと理解されたい。
【0013】
本開示の実施例の説明において、「含む」という用語及びその類似の用語が、開放的な含む、すなわち「含むがこれに限定されない」と理解されるべきである。「に基づく」という用語は、「少なくとも部分的に基づく」ことを意味すると理解されるべきである。「一実施例」または「当該実施例」という用語は、「少なくとも一実施例」を意味すると理解されるべきである。「第1」、「第2」などの用語は、異なる対象または同一対象を指すことができる。他の明示的及び暗黙的な定義も以下に含まれ得る。
【0014】
上記のように、知識グラフでは、schemaを使用してある分野のデータモデルを記述し、そのデータモデルは、当該分野内のエンティティタイプと、当該エンティティタイプに関連付けられた関係(又は属性)と、当該エンティティタイプと上記の関係を持つオブジェクト(又は属性値)のタイプとを含む。ここで記載される「エンティティタイプ」とは、エンティティが属する分類を指し、通常、エンティティを記述する単語の上位語で表すことができる。ここで記載される「オブジェクトタイプ」とは、エンティティに関連付けられたオブジェクト(例えば、当該エンティティの属性の値、又は当該エンティティと何らかの関係を持つ別のエンティティ)が属する分類を指し、通常、オブジェクトを記述する単語の上位語で表すことができる。
【0015】
「主語述語目的語(SPO)形式の知識アイテム「優しさの作者はメイデイである」を例とし、それは、エンティティを記述する主語「優しさ」と、関係を記述する述語「作者」と、オブジェクトを記述する目的語「メイデイ」とを含む。当該例では、エンティティ「優しさ」のタイプ(本明細書では、「エンティティタイプ」又はSTypeとも呼ばれる)は、例えば「音楽」であり、関係は、例えば「作者」であり、オブジェクト「メイデイ」のタイプ(本明細書では、「オブジェクトタイプ」又はOTypeとも呼ばれる)は、例えば「人物」である。したがって、知識アイテム「優しさの作者はメイデイである」に対応するデータモデル(すなわち、schema)は、「音楽−作者−人物」で表すことができる。
【0016】
知識グラフの構築を容易にするために、異なるソースの知識アイテムから各分野のデータモデルをマイニングして要約することが望ましい。しかしながら、同一のオブジェクトは、複数の上位語(例えば、上記の例では、オブジェクト「メイデイ」の上位語は、音楽家、人物、又は物事であってもよい)が存在する可能性があり、すなわち、同一の知識アイテムに対応するオブジェクトタイプは、一つではない可能性がある。この場合、適切なデータモデルを構築するために、知識アイテムのセマンティックに最もマッチングするオブジェクトタイプを決定する必要がある。また、決定されたオブジェクトタイプの一般化の度合いは、適切であるべき、過度に一般化されたり、過度に詳細化されたりしない。
【0017】
従来の技術案は、通常、手動でデータモデルおけるオブジェクトタイプを編集したり、又は既存のデータモデルおけるオブジェクトタイプを再利用したりする。これらの技術案は、いずれも異なる程度で外部に依存している。
【0018】
本開示の実施例によれば、知識グラフにおけるデータモデルを取得するための技術案が提供される。当該技術案は、SPO形式の知識アイテムから適切なオブジェクトタイプを自動的に要約及びマイニングすることができるため、人件費を効果的に低減しながら知識グラフにおけるデータモデルを効率的に構築することができる。従来の技術案中の外部依存性を解消することができる以外、当該技術案は、自動的に構築されたデータモデルおけるオブジェクトタイプが適切な一般化を持つことを確保することができる。
【0019】
以下、図面を参照して本開示の実施例を具体的に説明する。
【0020】
図1は、本開示の実施例に係る例示的なシステム100のブロック図を示す。
図1に示すように、例示的なシステム100は、全体的にモデル取得装置120を含むことができる。なお、
図1において単に例示するためにシステム100の構成及び機能を示しており、本開示の範囲に対する限定を一切暗示していないことを理解されたい。本開示の実施例は、異なる構成及び/又は機能を有する環境にも適用することができる。
【0021】
モデル取得装置120は、複数のデータソースから入力データ110を受信することができる。
図1に示すように、入力データ110は、例えば、SPO形式の知識アイテム111を含むことができる。知識アイテム111の例は、例えば、「優しさの作者はメイデイである」であり、エンティティ「優しさ」との関係が「作者」の別のエンティティ「メイデイ」を記述している。知識アイテム111の例は、さらに例えば、「張学友の誕生日は7月10日である」であり、エンティティ「張学友」の属性「誕生日」の属性の値「7月10日」を記述する。本明細書では、エンティティの属性の値又は当該エンティティと何らかの関係を持つ別のエンティティを「オブジェクト」と総称し、例えば、上記の例における「メイデイ」及び「7月10日」である。
【0022】
モデル取得装置120は、知識アイテム111とマッチングするデータモデル130を生成することができる。
図1に示すように、データモデル130は、エンティティタイプ131と、関係132と、オブジェクトタイプ133とを含むことができる。知識アイテム「優しさの作者はメイデイである」を例として、そのエンティティタイプは、例えば「音楽」であり、関係は「作者」であり、オブジェクトタイプは、例えば「人物」であるため、それとマッチングするデータモデルは、「音楽−作者−人物」で表すことができる。知識アイテム「張学友の誕生日は7月10日である」を例として、そのエンティティタイプは、例えば「人物」であり、関係は「誕生日」であり、オブジェクトタイプは、例えば「時間」であるため、それとマッチングするデータモデルは、「人物−誕生日−時間」として表すことができる。
【0023】
上記のように、知識アイテム111とマッチングするデータモデル130を取得するために、モデル取得装置120は、知識アイテム111に対応するエンティティタイプ131、関係132、及びオブジェクトタイプ133を決定する必要がある。例えば、モデル取得装置120は、任意の周知の又は開発する方法又は技術を利用してエンティティタイプ131及び関係132を決定することができ、ここでは詳細に説明しない。以下、さらに図面を合わせて、モデル取得装置120がどのように知識アイテム111に対応するオブジェクトタイプ133を決定するかを詳細に説明する。
【0024】
図2は、本開示の実施例に係る知識グラフにおけるデータモデルを取得するための方法200のフローチャートを示す。例えば、方法200は、
図1に示すモデル取得装置120によって実行することができる。以下、方法200を
図1を合わせて詳細に記述する。なお、方法200は、図示しない追加のステップを含むこともでき、及び/又は図示されたステップを省略することもできることを理解されたい。本開示の範囲はこの点で限定されない。
【0025】
ステップ210において、モデル取得装置120は、エンティティとオブジェクトとの関係を記述する知識アイテム111を受信する。知識アイテム「優しさの作者はメイデイである」を例として、それは、エンティティ「優しさ」との関係が「作者」のオブジェクト「メイデイ」を記述している。
【0026】
ステップ220において、モデル取得装置120は、エンティティ、関係、及びオブジェクトのうちの少なくとも一つに基づいて、当該オブジェクトの複数の候補タイプを決定する。
【0027】
図3は、本開示の実施例に係るデータモデルを生成するためのオブジェクトタイプを決定する例示的なプロセス300のブロック図を示す。例えば、
図3に、モデル取得装置120によって決定された、知識アイテム111におけるオブジェクトに対応する複数の候補オブジェクトタイプ310−1、310−2……310−5(「候補オブジェクトタイプ310」又は「候補タイプ310」と総称する)が示されている。以下、
図3を合わせてステップ220を詳細に説明する。
図3に知識アイテム111に対応する5つの候補オブジェクトタイプが示されているが、これは単に例示する目的であり、本開示の範囲を限定するものではない。なお、モデル取得装置120は、
図3に示す数よりもより多く又はより少ない候補オブジェクトタイプを決定することができることを理解されたい。
【0028】
いくつかの実施例では、モデル取得装置120は、知識アイテム111における、関係を記述する単語(述語とも呼ばれる)を複数の分詞に分割し、複数の分詞のうちの一つに基づいてオブジェクトの第1の候補タイプ310−1を決定することができる。
【0029】
例えば、知識アイテム「マクドナルドの営業時間は0:00−24:00である」を例として、その述語は「営業時間」である。例えば、モデル取得装置120は、述語「営業時間」を「営業」と「時間」の二つの分詞に分割することができ、そのうち、「営業」は形容詞であり、「時間」は名詞である。モデル取得装置120は、名詞「時間」に基づいて、オブジェクト「0:00−24:00」の候補タイプ、例えば、「時間」を決定することができる。さらに、いくつかの実施例では、モデル取得装置120に、例えば、所定のオブジェクトタイプ集合を配置することができる。例えば、名詞「時間」が所定のオブジェクトタイプ集合におけるある所定のオブジェクトタイプとマッチングすることができる場合に限って、モデル取得装置120は、名詞「時間」をオブジェクト「0:00〜24:00」の候補タイプとして決定する。
【0030】
追加的又は代替的に、いくつかの実施例では、モデル取得装置120は、当該オブジェクトが所定の非物事タイプとマッチングするか否かを決定することができる。モデル取得装置120が知識アイテムにおけるオブジェクトが所定の非物事タイプとマッチングすると決定した場合、モデル取得装置120は、当該所定の非物事タイプをオブジェクトの第2の候補タイプ310−2として決定することができる。いくつかの実施例では、モデル取得装置120は、オブジェクトを記述する単語(すなわち、SPOにおける目的語)の品詞を解析することによって当該オブジェクトが所定の非物事タイプとマッチングするか否かを決定することができる。例えば、所定の非物事タイプは、テキストタイプ(例えば、ユニフォームリソースロケータなど)、時間タイプ(例えば、日付又は時間区間など)、数字タイプ(例えば、浮動小数点数、整数など)、数量(8個、6匹、2日間などの数字と単位で構成される)、及び列挙タイプ(例えば、関係列挙、インデックス列挙、値タイプ列挙、ブール列挙など)のいずれかである。
【0031】
例えば、上記の知識アイテム「マクドナルドの営業時間は0:00−24:00である」を例として、オブジェクト「0:00−24:00」の品詞解析を行うことによって、それが時間区間を指していることを決定することができ、これは上記の非物事タイプにおける「時間タイプ」とマッチングする。したがって、モデル取得装置120は、「時間」をオブジェクト「0:00−24:00」の候補タイプとして決定することができる。また例えば、ある知識アイテムのオブジェクトが「100」であると仮定すると、これに対して品詞解析を行うことによって、そのタイプが上記の非物事タイプにおける「数字タイプ」と決定することができる。したがって、モデル取得装置120は、「数字」をオブジェクト「100」の候補タイプとして決定することができる。
【0032】
追加的又は代替的に、いくつかの実施例では、モデル取得装置120は、知識アイテム111におけるエンティティと前記関係を持つオブジェクトタイプを予測することによって、知識アイテム111におけるオブジェクトの第3の候補タイプ310−3を決定することができる。
【0033】
例えば、知識アイテムの主語及び述語(すなわち、エンティティ及び関係)が「自動車の速度」であると仮定すると、モデル取得装置120は、それに関連付けられたオブジェクトが「xxxキロメートル毎時間」であり得ると予測することによって、「自動車の速度」に関連付けられたオブジェクトタイプが「数量」であり得ると決定することができる。なお、モデル取得装置120は、任意の周知の又は将来開発する予測ツールを利用して、知識アイテムにおける主語及び述語の両方に基づいてオブジェクトの候補タイプを予測してもよいことを理解されたい。
【0034】
追加的又は代替的に、いくつかの実施例では、モデル取得装置120は、知識アイテムのセマンティックに基づいて、当該セマンティックと最もマッチングするオブジェクトタイプを決定して、第4の候補オブジェクトタイプ310−4とすることができる。いくつかの実施例では、モデル取得装置120は、エンティティ(すなわち、SPOにおける主語)の複数のエンティティ上位語を決定するとともに、オブジェクト(すなわち、SPOにおける目的語)の複数のオブジェクト上位語を決定することができる。その後、モデル取得装置120は、複数のエンティティ上位語及び複数のオブジェクト上位語から当該知識アイテムのセマンティックとのマッチング度が最も高いエンティティ上位語とオブジェクト上位語との組み合わせを決定することができる。モデル取得装置120は、さらに、当該組み合わせにおけるオブジェクト上位語をオブジェクトの候補タイプとして決定することができる。
【0035】
知識アイテム「優しさの歌手はメイデイである」を例として、エンティティ「優しさ」の上位語は、「音楽」、「映画」などであってもよく、オブジェクト「メイデイ」の上位語は、「音楽家」、「レストラン」、「場所」などであってもよい。しかしながら、モデル取得装置120は、当該知識アイテムのセマンティックに基づいて、エンティティ上位語「音楽」とオブジェクト上位語「音楽家」との組み合わせが当該知識アイテムのセマンティックと最もマッチングすると決定することができる。したがって、モデル取得装置120は、「音楽家」をオブジェクト「メイデイ」の候補タイプとして決定することができる。
【0036】
追加的又は代替的に、いくつかの実施例では、モデル取得装置120に所定のオブジェクトタイプ集合を配置することができる。モデル取得装置120は、知識アイテムのセマンティックに基づいて、知識アイテムにおけるオブジェクトが所定のオブジェクトタイプ集合におけるオブジェクトタイプとマッチングするか否かを決定することができる。モデル取得装置120が、知識アイテムにおけるオブジェクトが所定のオブジェクトタイプ集合における何らかのオブジェクトタイプとマッチングすると決定した場合、モデル取得装置120は、マッチングしたオブジェクトタイプをオブジェクトの第5の候補タイプ310−5として決定することができる。
【0037】
例えば、依然として知識アイテム「優しさの歌手はメイデイである」を例として、所定のオブジェクトタイプ集合にオブジェクトタイプ「人物」のみが含まれ、オブジェクトタイプ「音楽家」が含まない場合、モデル取得装置120は、オブジェクトタイプ「人物」をオブジェクト「メイデイ」の候補タイプとして決定することができる。
【0038】
以上、知識アイテムにおけるオブジェクトの候補タイプを決定するいくつかの例示的な方式のみを挙げた。なお、本開示の実施例は、他の方式又はツールを使用して知識アイテムにおけるオブジェクトの候補タイプを決定することができ、上記に挙げられた例に限定されないことを理解されたい。
【0039】
ステップ230において、モデル取得装置120は、所定の規則に基づいて、複数の候補タイプから、知識アイテムとマッチングするデータモデルを生成するためのオブジェクトタイプを決定する。例えば、
図3に示すように、モデル取得装置120は、規則320に基づいて、複数の候補タイプ310から、知識アイテム111に対応するオブジェクトタイプ133を決定する。いくつかの実施例では、モデル取得装置120は、規則320に基づいて、複数の候補タイプ310のうちの一つを選択してオブジェクトタイプ133とすることができる。追加的又は代替的に、いくつかの実施例では、モデル取得装置120は、複数の候補タイプ310のうちの少なくとも一部の候補タイプを統合することによってオブジェクトタイプ133を決定することができる。
【0040】
図4は、本開示の実施例に係る例示的な規則320のフローチャートを示す。
図4は、単に
図3に示される規則320の実現形態の1例を示すことを理解されたい。別の実施例では、他の規則も可能である。
【0041】
図4に示すように、モデル取得装置120は、ステップ401において、第1の候補タイプ310−1が存在するか否かを決定することができる。例えば、上記のように、第1の候補タイプ310−1は、知識アイテムにおける述語を分詞することによって決定された候補オブジェクトタイプであってもよい。第1の候補タイプ310−1が存在する場合、モデル取得装置120は、ステップ402において、オブジェクトタイプ133として第1の候補タイプ310−1を出力することができる。
【0042】
第1の候補タイプ310−1が存在しない場合、モデル取得装置120は、ステップ403において、第2の候補タイプ310−2が存在するか否かを決定することができる。例えば、上記のように、第2の候補タイプ310−2は、知識アイテムにおける目的語の品詞に基づいて決定された非物事タイプであってもよい。第2の候補タイプ310−2が存在する場合、モデル取得装置120は、ステップ404において、オブジェクトタイプ133として第2の候補タイプ310−2を出力することができる。
【0043】
第2の候補タイプ310−2が存在しない場合、モデル取得装置120は、ステップ405において、第3の候補タイプ310−3が存在するか否かを決定することができ、ステップ406において、第4の候補タイプ310−4が存在するか否かを決定することもできる。例えば、上記のように、第3の候補タイプ310−3は、知識アイテムにおける主語及び述語の両方に基づいて予測されたオブジェクトタイプであってもよく、第4の候補タイプ310−4は、知識アイテムのセマンティックに基づいて、エンティティ上位語及びオブジェクト上位語を注記することによって決定されたオブジェクトタイプであってもよい。第4の候補タイプ310−4が存在しない場合、モデル取得装置120は、さらに、ステップ407において、第5の候補タイプ310−5が存在するか否かを決定することができる。例えば、上記のように、第5の候補タイプ310−5は、知識アイテムのセマンティックに基づいて、所定のオブジェクトタイプ集合におけるオブジェクトタイプとマッチングすることによって決定されたオブジェクトタイプであってもよい。
【0044】
その後、モデル取得装置120は、ステップ408において、第3の候補タイプ310−3、第4の候補タイプ310−4、及び/又は第5の候補タイプ310−5に一つの候補タイプのみが存在するか否かを決定することができる。Yesである場合、モデル取得装置120は、ステップ409において、ブジェクトタイプ133として当該唯一の候補タイプを出力することができる。
【0045】
モデル取得装置120が、第3の候補タイプ310−3及び第4の候補タイプ310−4が同時に存在するか、又は第3の候補タイプ310−3及び第5の候補タイプ310−5が同時に存在すると決定した場合、モデル取得装置120は、さらに、ステップ410において、存在する複数の候補タイプに非物事タイプが存在するか否かを決定することができる。存在する場合、モデル取得装置120は、ステップ411において、オブジェクトタイプ133として当該非物事タイプを出力することができる。すなわち、非物事タイプは、優先的に選択することができる。
【0046】
追加的又は代替的に、いくつかの実施例では、モデル取得装置120が、存在する複数の候補タイプに複数の非物事タイプが存在すると決定した場合、モデル取得装置120は、複数の非物事タイプの所定の優先順位に従って、優先順位が最も高い非物事タイプを出力することができる。いくつかの実施例では、複数の非物事タイプの優先順位は、例えば、テキスト>数字>数量>時間>列挙である。別の実施例では、複数の非物事タイプの優先順位は、上記の順序と異なってもよいことを理解されたい。
【0047】
モデル取得装置120が、存在する複数の候補タイプに非物事タイプが存在しないと決定した場合、モデル取得装置120は、さらに、ステップ412において、存在する複数の候補タイプが統合可能であるか否かを決定することができる。例えば、モデル取得装置120は、存在する複数の候補タイプに共通の上位語(「統合結果」とも呼ばれる)が存在するか否かを決定することができる。例えば、「人物」と「映画」の共通の上位語は「物事」であってもよい。モデル取得装置120が、複数の候補タイプに共通の上位語が存在すると決定した場合、モデル取得装置120は、ステップ413において、オブジェクトタイプ133として当該共通の上位語を出力することができる。
【0048】
このようにして、モデル取得装置120は、データモデル130を生成するためのオブジェクトタイプ133を決定することができる。
【0049】
図2に戻ると、ステップ240において、モデル取得装置120は、少なくともオブジェクトタイプ133に基づいてデータモデル130を生成する。いくつかの実施例では、例えば、モデル取得装置120は、任意の周知の又は開発する方法又は技術を利用してエンティティタイプ131及び関係132を決定することができる。モデル取得装置120は、エンティティタイプ131と、関係132と、オブジェクトタイプ133とを組み合わせることによって、知識アイテム111とマッチングするデータモデル130を生成することができる。
【0050】
モデル取得装置120は、異なるデータソースからの複数の異なる知識アイテムに対して
図2に示す方法200を適用することによって、複数の知識アイテムとマッチングする複数のデータモデルを決定することができる。しかしながら、決定された複数のデータモデルに、同じエンティティタイプおよび関係を有するが異なるオブジェクトタイプを有するいくつかのデータモデルが存在する可能性がある。場合によっては、これらのデータモデルを合併することができ、その結果、構築されたデータモデルにおけるオブジェクトタイプの一般化の度合いが適切であり、過度に一般化されたり、過度に詳細化されたりしないことが確保される。以下、
図5を合わせてこのようなシーンについての処理を詳細に説明する。
【0051】
図5は、本開示の実施例に係る知識グラフにおけるデータモデルを取得するための方法500のフローチャートを示す。例えば、方法500は、
図1に示されるモデル取得装置120によって実行されることができる。なお、方法500は、図示しない追加のステップを含むこともでき、及び/又は図示されたステップを省略することもできることを理解されたい。本開示の範囲はこの点で限定されない。
【0052】
ステップ510において、モデル取得装置120は、複数のエンティティと複数のオブジェクトとの対応関係を記述する複数の知識アイテムを受信することができる。その後、ステップ520において、モデル取得装置120は、前記複数の知識アイテムとマッチングする複数のデータモデルを生成することができる。
【0053】
いくつかの実施例では、モデル取得装置120は、受信した複数の知識アイテムのそれぞれに対して
図2に示す方法200を適用して、一つの対応するデータモデルを生成することができる。モデル取得装置120は、さらに、生成したデータモデルに対して重複排除を行うことによって、複数の知識アイテムとマッチングする複数の異なるデータモデルを取得することができる。
【0054】
いくつかの実施例では、モデル取得装置120によって決定された複数のデータモデルには、例えば、第1のデータモデルと第2のデータモデルとが含まれてもよい。ここで、第1のデータモデルは、第1のエンティティタイプと第1の関係を持つ第1のオブジェクトタイプを示し、第2のデータモデルは、第1のエンティティタイプと第1の関係を持つ第2のオブジェクトタイプを示す。例えば、第1のデータモデルの例は「音楽−作者−人物」であり、第2のデータモデルの例は「音楽−作者−音楽家」であり、両者のエンティティタイプは、いずれも「音楽」であり、且つ関係は、いずれも「作者」であり、オブジェクトタイプは、それぞれ「人物」(すなわち、第1のオブジェクトタイプ)及び「音楽家」(すなわち、第2のオブジェクトタイプ)である。
【0055】
ステップ530において、モデル取得装置120は、上記の第1のデータモデルおける第1のオブジェクトタイプが第2のデータモデルおける第2のオブジェクトタイプと同じであるか否かを決定することができる。同じでない場合、ステップ540において、モデル取得装置120は、複数の知識アイテムに係る複数のオブジェクトにおける第1のオブジェクトタイプとマッチングするオブジェクトの第1の数と、第2のオブジェクトタイプとマッチングするオブジェクトの第2の数とを決定することができる。
【0056】
いくつかの実施例では、モデル取得装置120は、受信した複数の知識アイテムに係るすべてのオブジェクトに対して重複排除を行って、複数の知識アイテムに係る非重複オブジェクトの合計数を決定することができる。その後、モデル取得装置120は、さらに、第1のオブジェクトタイプ(すなわち、「人物」)によってカバーされるオブジェクトの第1の数と、第2のオブジェクトタイプ(すなわち、「音楽家」)によってカバーされるオブジェクトの第2の数を決定することができる。例えば、ここでは、第1のオブジェクトタイプ「人物」によってカバーされるオブジェクトの数は101であり、第2のオブジェクトタイプ「音楽家」によってカバーされるオブジェクトの数は100であると仮定する。
【0057】
ステップ550において、モデル取得装置120は、第1の数及び第2の数に基づいて、第1のデータモデル及び第2のデータモデルの少なくとも一方を保持することができる。
【0058】
例えば、上記の例では、第1のオブジェクトタイプ「人物」は、第2のオブジェクトタイプ「音楽家」の上位語である。いくつかの実施例では、第1のオブジェクトタイプが第2のオブジェクトタイプの上位語である場合、モデル取得装置120は、第2の数と第1の数との比率が所定の閾値を超えたか否かを決定することができる。比率が所定の閾値を超えた場合、モデル取得装置120は、第2のオブジェクトタイプを示す第2のデータモデルのみを保持し、複数のデータモデルから第1のオブジェクトタイプを示す第1のデータモデルを除去することができる。上記の例を例とし、第2の数と第1の数との比率は、例えば、100/101であり、所定の閾値が、例えば、0.8(又は他の数字)であると仮定すると、100/101>0.8である。この場合、モデル取得装置120は、複数のデータモデルから第1のデータモデル「音楽−作者−人物」を除去し、第2のデータモデル「音楽−作者−音楽家」のみを保持することができる。追加的又は代替的に、いくつかの実施例では、第2の数と第1の数との比率が所定の閾値を超えていない場合、モデル取得装置120は、第1のデータモデル及び第2のデータモデルの両方を保持することができる。
【0059】
いくつかの実施例では、モデル取得装置120は、ステップ520で決定された複数のデータモデルに対して、ステップ530〜ステップ550の動作を繰り返しに実行することによって、構築されたデータモデルにおけるオブジェクトタイプの一般化の度合いが適切であり、過度に一般化されたり、過度に詳細化されたりしないことを確保することができる。
【0060】
上記の記載から分かるように、本開示の実施例は、知識グラフにおけるデータモデルを取得するための技術案を提供する。当該技術案は、SPO形式の知識アイテムから適切なオブジェクトタイプを自動的に要約及びマイニングできるため、人件費を効果的に低減しながら知識グラフにおけるデータモデルを効率的に構築することができる。当該技術案は、従来の技術案中の外部依存性を解消することができる以外、自動的に構築されたデータモデルおけるオブジェクトタイプが適切な一般化の度合いを持つことを確保することができる。
【0061】
図6は、本開示の実施例に係る知識グラフにおけるデータモデルを取得するための装置600の概略ブロック図を示す。当該装置600は、
図1に示されるモデル取得装置120の実現に用いられる。
図6に示すように、装置600は、エンティティとオブジェクトとの関係を記述する知識アイテムを受信するように構成される第1の受信モジュール610と、エンティティ、関係、及びオブジェクトのうちの少なくとも一つに基づいて、当該オブジェクトの複数の候補タイプを決定するように構成される第1の決定モジュール620と、所定の規則に基づいて、複数の候補タイプから、当該知識アイテムとマッチングするデータモデルを生成するためのオブジェクトタイプを決定するように構成される第2の決定モジュール630と、少なくとも当該オブジェクトタイプに基づいてデータモデルを生成するように構成される第1の生成モジュール640と、を含むことができる。
【0062】
いくつかの実施例では、第1の決定モジュール620は、さらに、知識アイテムにおける関係を記述する単語を複数の分詞に分割し、複数の分詞のうちの一つに基づいてオブジェクトの第1の候補タイプを決定するように構成される。
【0063】
いくつかの実施例では、第1の決定モジュール620は、さらに、知識アイテムにおけるオブジェクトを記述する単語の品詞を決定し、当該品詞に基づいて、オブジェクトが所定の非物事タイプとマッチングするか否かを決定し、オブジェクトが所定の非物事タイプとマッチングすると決定したことに応答して、当該所定の非物事タイプをオブジェクトの第2の候補タイプとして決定するように構成される。
【0064】
いくつかの実施例では、所定の非物事タイプは、テキストタイプ、時間タイプ、数字タイプ、数量タイプ、及び列挙タイプのうちの一つである。
【0065】
いくつかの実施例では、第1の決定モジュール620は、さらに、エンティティと関係を持つオブジェクトタイプを予測することによって、オブジェクトの第3の候補タイプを決定するように構成される。
【0066】
いくつかの実施例では、第1の決定モジュール620は、さらに、エンティティの複数のエンティティ上位語を決定し、オブジェクトの複数のオブジェクト上位語を決定し、複数のエンティティ上位語と複数のオブジェクト上位語とから当該知識アイテムのセマンティックとのマッチング度が最も高いエンティティ上位語とオブジェクト上位語との組み合わせを決定し、当該組み合わせにおけるオブジェクト上位語に基づいて、オブジェクトの第4の候補タイプを決定するように構成される。
【0067】
いくつかの実施例では、第1の決定モジュール620は、さらに、知識アイテムのセマンティックに基づいて、オブジェクトが所定のオブジェクトタイプ集合におけるオブジェクトタイプとマッチングするか否かを決定し、オブジェクトが所定のオブジェクトタイプ集合におけるオブジェクトタイプとマッチングすると決定したことに応答して、マッチングしたオブジェクトタイプをオブジェクトの第5の候補タイプとして決定するように構成される。
【0068】
いくつかの実施例では、第2の決定モジュール630は、さらに、所定の規則に基づいて、複数の候補タイプのうちの一つを、データモデルを生成するためのオブジェクトタイプとして選択するように構成される。
【0069】
いくつかの実施例では、複数の候補タイプは、少なくとも第6の候補タイプと第7の候補タイプとを含み、第2の決定モジュール630は、さらに、第6の候補タイプと第7の候補タイプとの共通の上位語を決定し、共通の上位語に基づいて、データモデルを生成するためのオブジェクトタイプを決定するように構成される。
【0070】
いくつかの実施例では、装置600は、複数のエンティティと複数のオブジェクトとの対応関係を記述する複数の知識アイテムを受信するように構成される第2の受信モジュールと、複数の知識アイテムとマッチングする複数のデータモデルを生成するように構成される第2の生成モジュールであって、複数のデータモデルは、少なくとも第1のデータモデルと第2のデータモデルとを含み、第1のデータモデルは、第1のエンティティタイプと第1の関係を持つ第1のオブジェクトタイプを示し、第2のデータモデルは、第1のエンティティタイプと第1の関係を持つ第2のオブジェクトタイプを示る第2の生成モジュールと、第1のオブジェクトタイプが第2のオブジェクトタイプと異なることに応答して、複数のオブジェクトから第1のオブジェクトタイプとマッチングするオブジェクトの第1の数と、第2のオブジェクトタイプとマッチングするオブジェクトの第2の数とを決定するように構成される第3の決定モジュールと、第1の数及び第2の数に基づいて、第1のデータモデル及び第2のデータモデルの少なくとも一方を保持するように構成される保持モジュールと、をさらに含む。
【0071】
いくつかの実施例では、保持モジュールは、さらに、第1のオブジェクトタイプが第2のオブジェクトタイプの上位語であることに応答して、第2の数と第1の数との比率が所定の閾値を超えたか否かを決定し、当該比率が所定の閾値を超えたことに応答して、第2のデータモデルを保持し、複数のデータモデルから第1のデータモデルを除去し、当該比率が所定の閾値を超えていないことに応答して、第1のデータモデル及び第2のデータモデルの両方を保持するように構成される。
【0072】
なお、記載された装置600における各モジュールは、それぞれ、
図2を参照して説明された方法200及び/又は
図5を参照して説明された方法500における各ステップに対応し、方法200及び/又は500における対応する動作及び特徴と同じ効果を有し、具体的な詳細は説明しないことを理解されたい。
【0073】
また、装置600に含まれるモジュール及び/又はユニットは、ソフトウェア、ハードウェア、ファームウェア、又はそれらの任意の組み合わせを含む様々な形態で実現することができる。いくつかの実施例では、一つ又は複数のユニットは、記憶媒体に記憶されている機械実行可能な命令のようなソフトウェア及び/又はファームウェアを使用して実現することができる。機械実行可能な命令に加えて、又は代替として、装置600中の一部又は全部のユニットは、少なくとも部分的に一つ又は複数のハードウェアロジックコンポーネントによって実現することができる。限定ではなく、例として、使用可能なハードウェアロジックコンポーネントとしては、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準品(ASSP)、システムオンチップ(SOC)、コンプレックスプログラマブルロジックデバイス(CPLD)などが挙げられる。
【0074】
図6に示すこれらのモジュール及び/又はユニットは、ハードウェアモジュール、ソフトウェアモジュール、ファームウェアモジュール、又はそれらの任意の組み合わせとして部分的又はすべて実現することができる。特に、いくつかの実施例では、上述したフロー、方法、又はプロセスは、記憶システム、又は記憶システムに対応するホスト、又は記憶システムから独立した他のコンピューティング機器のハードウェアによって実現することができる。
【0075】
図7は、本開示の実施例を実現できる例示的な機器700を示す概略ブロック図である。機器700は、
図1に示されるモデル取得装置120を実現することができる。図に示すように、機器700は、リードオンリーメモリ(ROM)702に記憶されたコンピュータプログラム命令、又は記憶ユニット708からランダムアクセスメモリ(RAM)703にローディングされたコンピュータプログラム命令に基づいて、各種の適切な動作と処理を実行できる中央処理装置(CPU)701を含む。RAM703には、機器700の動作に必要な各種のプログラム及びデータをさらに記憶することができる。CPU701と、ROM702と、RAM703とは、バス704を介して互いに接続されている。入力/出力(I/O)インタフェース705もバス704に接続されている。
【0076】
機器700における複数のコンポーネントはI/Oインタフェース705に接続されており、キーボードやマウスなどの入力ユニット706と、種々なディスプレイやスピーカなどの出力ユニット707と、磁気ディスクや光学ディスクなどの記憶ユニット708と、ネットワークカード、モデム、無線通信トランシーバーなどの通信ユニット709と、を含む。通信ユニット709は、機器700がインターネットのようなコンピュータネット及び/又は種々なキャリアネットワークを介してその他の機器と情報/データを交換することを許可する。
【0077】
処理ユニット701は、前述した各方法及び処理、例えば方法200及び/又は方法500を実行する。例えば、いくつかの実施例では、方法200及び/又は方法500は、記憶ユニット708のような機械読み取り可能な媒体に有形的に含まれるコンピュータソフトウエアプログラムとして実現することができる。一部の実施例では、コンピュータプログラムの一部又は全ては、ROM702及び/又は通信ユニット709を介して、機器700にロード及び/又はインストールすることができる。コンピュータプログラムがRAM703にロードされてCPU701によって実行される場合に、前述した方法200及び/又は方法500の一つ又は複数のステップを実行することができる。追加的に、他の実施例では、CPU701は、他の任意の適当な方式(例えば、ファームウェアを借りる)により方法200及び/又は方法500を実行するように構成される。
【0078】
本明細書では、前述した機能は、少なくとも部分的に一つ又は複数のハードウェアロジックコンポーネントによって実行することができる。例えば、非限定的に、使用可能なハードウェアロジックコンポーネントとしては、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準品(ASSP)、システムオンチップ(SOC)、コンプレックスプログラマブルロジックデバイス(CPLD)などが挙げられる。
【0079】
本開示の方法を実施するためのプログラムコードは、一つ又は複数のプログラミング言語の任意の組み合わせにより作成することができる。これらのプログラムコードは、汎用コンピュータ、専門コンピュータ又はその他のプログラミングデータ処理装置のプロセッサ又はコントローラに提供されることにより、プログラムコードがプロセッサ又はコントローラによって実行される場合に、フローチャート及び/又はブロック図に規定された機能/動作を実行することができる。プログラムコードは、完全にマシンで実行されてもよく、部分的にマシンで実行されてもよく、独立したソフトパッケージとして部分的にマシンで実行されるとともに、部分的にリモートマシンで実行されてもよく、又は完全にリモートマシン又はサーバで実行されてもよい。
【0080】
本開示の説明において、機械読み取り可能な媒体は、有形な媒体であってもよく、命令実行システム、装置又は機器によって、又は命令実行システム、装置又は機器と合わせて使用されるプログラムを含み、又は記憶する。機械読み取り可能な媒体は、機械読み取り可能な信号媒体又は機械読み取り可能な記憶媒体であってもよい。機械読み取り可能な媒体は、電子、磁気、光学、電磁、赤外線、又は半導体システム、装置、又はデバイス、又は前述した内容の任意の適切な組み合わせを含むことができるがこれらに限定されない。機械読み取り可能な記憶媒体のさらなる具体例として、1つ又は複数の配線による電気的接続、ポータブルコンピュータディスクカートリッジ、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能なプログラマブルリードオンリーメモリ(EPROM又はフラッシュメモリ)、光ファイバー、ポータブルコンパクトディスクリードオンリーメモリ(CD−ROM)、光学記憶装置、磁気記憶装置、又は前述した内容の任意の組み合わせを含む。
【0081】
また、特定の順番で各動作を説明したが、このような動作を、示される特定の順番又は順次実行することが求められ、又は図示した動作の全てを実行して所望の結果を取得することが求められることを理解されたい。一定の環境において、複数のタスク及び並列処理が有利である可能性がある。同様に、以上の説明には、若干の具体的な実現の詳細が含まれたが、それが本開示の範囲を限定するものと理解されてはならない。個別の実施例に説明された一部の特徴は、一つの実施形態で組み合わせて実現することができる。逆に、一つの実施形態に説明された種々な特徴は、個別又は任意の適切なサブ組み合わせの方式で複数の実施形態で実現することができる。
【0082】
構成の特徴及び/又は方法の論理動作に特有の言語で本テーマを説明したが、特許請求の範囲で限定される本題は、上記の特定の特徴又は動作に限定されない。逆に、上記の特定の特徴と動作は、特許請求の範囲を実現する例に過ぎない。