知識グラフを作成する方法は?
1. 概要
このチュートリアルでは、計算可能な方法で知識を表現する問題について説明します。 これから、知識表現のためのグラフのような構造を構築するための方法を導き出します。
また、ナレッジベース、エキスパートシステム、ナレッジグラフの関係、およびそれらが相互に作用する方法についても説明します。
このチュートリアルの終わりに、エキスパートシステムの背後にある理論とAI開発への象徴的なアプローチに精通します。 また、ナレッジベースからナレッジグラフを作成するために必要な手順についても説明します。
2. 世界表現の問題
2.1. 知識、ベイジアン事前分布、および世界表現
知識グラフを作成する場合は、最初に知識の意味を理解する必要があります。
データのラベル付けに関する記事で、任意のAIシステムが世界の機能に関する一連の仮説を組み込んでおり、これらの仮説は通常()であるという考えについて説明しました。常に)にハードコーディングされているわけではありません。 これらの仮説は、システムが動作するベイズの事前確率を構成し、それによって推論的な推論を行うことができます。
それらのベイジアン事前確率を見る別の方法は、それらをシステムが世界について持っている知識と見なすことです。 システムは、世界で動作するために、世界について何かを知っていると想定する必要があります。 これらの最も基本的な仮定の1つは、命題存在するオブジェクトです。
これらのオブジェクトは、シンボリックに表現できるクラスに属しています。 これらのクラスが一緒になってオントロジーまたは分類法を形成し、そうでなければ複雑すぎる環境の単純化を可能にします。
エージェントのオントロジーの複雑さは、その外界の複雑さを表します。 より複雑な環境では、エージェントの動作を方向付けるためにより複雑なオントロジーが必要であり、その逆も同様です。
2.2. 表現なしの分類法はありません
これらの仮説のおかげで、そしてこの知識のおかげで、システムは環境から受け取ったデータを操作して決定を下すことができます。 この決定は、たとえば、事前に定められた分類法に従って、環境内のオブジェクトの認識の形式を想定できます。
機械学習システムにエンコードされる原始的な知識は、通常、そのシステムを作成した人間のプログラマーの知識に由来します。その知識に基づいて、システムは、環境。 対照的に、その知識がなければ、システムは新しいことを学習したり、操作を実行したりすることはできません。
一般に、エージェントによって保持される知識の複合体は、知識ベースと呼ばれます。 この知識を格納するために使用される1つの特定のタイプの構造は、知識グラフです。 この文脈で、AIエージェントの世界表現を保存するためのデータ構造として知識グラフを研究します。
3. 知識の符号化
3.1. 宣言的知識
システムが持つ知識はさまざまな形をとることができます。 この記事では、提案的知識と呼ばれる、象徴的推論に関連する特定のタイプの知識に焦点を当てます。
命題知識は、論理的な命題の形で表現された知識です。 、またはの形式の論理ステートメントはすべて、論理命題の有効な例です。 ただし、これらのステートメントにはコンテンツがまだ割り当てられていないため、これらのステートメントは空です。
提案的知識の内容は、主語-述語-目的語の関係によって相互に接続されていると想像される単語などの記号によってエンコードされます。 この関係は、文をエンコードする知識の必要な要素です。 このタイプの文は、宣言文の名前を取り、世界に関する事実の記述を含みます。
まず、に知識が含まれていない文の例を3つ作成しましょう。
- できるだけ早くここに来てください(宣言型ではなく命令型)
- 美術館に行きましたか? (質問的であり、宣言的ではありません)
- びっくり! (宣言的ではなく、感嘆的)
ここで、宣言的知識の例を作成しましょう。 これらの例については、このセクションの残りの部分を参照します。
- 地球は太陽の周りを回転します
- 牛は牛乳を生産します
- レモンは黄色です
3.2. 3-知識のタプル
これらの命題をさらに細かく分類して、エンティティとその関係を抽出できます。
- EarthとSunという単語は、がを中心に回転するという関係で結び付けることができます。
- 牛とミルクは、がを生成する関係で接続できます。
- レモンとイエローは、isの関係で接続できます。
一部の特殊なニューラルネットワークは、このタスクを自動的に実行できます。 固有表現抽出の主題はそれ自体がトピックであり、ここでは扱いません。 この記事では、文から名詞を抽出し、それらをつなぐ関係を特定する魔法の方法があると簡単に推測できます。
上記の3つの命題に対してこの抽出を実行すると、subjectとobjectという2つの単語と、predicateと呼ばれるそれらの関係を含む短い命題を作成できます。 ]:
- 地球(対象)は(述語)太陽(対象)の周りを回転します
- 牛(対象)は(述語)牛乳(対象)を生成します
- レモン(サブジェクト)は(述語)イエロー(オブジェクト)
同じ命題をタプルの形で表現することもできます。タプルの形式には、それぞれサブジェクト、オブジェクト、述語がこの順序で含まれています。 ただし、一部の作成者は、主語、述語、目的語の順序を使用しますが、これも同様に有効です。 重要なことは、私たちが全体を通して一貫しているということです。 この順序を好む理由は、後で説明するように、知識グラフのエッジの定義によりよくマッピングされるためです。
上記のサンプル命題をタプルに変換すると、次のセットが得られます。
- (地球、太陽、回転)
- (牛、牛乳、農産物)
- (レモン、黄色、です)
これらのタプルの情報内容は、人間の自然言語の文の情報内容に対応しています。 ただし、今回はその内容が計算可能な形式で表現されており、それを操作することができます。
3.3. タプルと推論の連結
次に、3タプルでエンコードされた命題のセットを取得し、それらを使用して推論を実行できます。 それらをチェーン化することで、以前は元の命題セットに含まれていなかった知識を含む新しいタプルを形成できます。 この例では、ソクラテスの死亡率に関する一般的な論理引数を使用します。
次の2つの文から始めましょう。
- ソクラテスは人間です
- 人間は人間です
これから、次の2つの3タプルの知識を導き出すことができます。
- (ソクラテス、人間、です)
- (人間、人間、は)
最初のタプルのオブジェクト(2番目の要素)が2番目のタプルのサブジェクト(最初の要素)でもあることに注意することで、次の連結を確立できます。
- ソクラテスは人間であり、人間は致命的です
これは、今度は、関係(Socrates、mortal、is)も真でなければならないことを意味します。 この論理的推論の最後に、3つのタプルのセットを拡張できます。これには、次の3つの要素が含まれています。
- (ソクラテス、人間、です)
- (人間、人間、は)
- (ソクラテス、致命的、は)
私たちが従った手順により、論理演算のみを使用して、一連の知識命題の拡張に対応する新しい知識を生成することができました。 ソクラテス、人間、または死亡率が実際に何であるかを理解せずに、このタイプの推論をどのように実行できるかに注意してください。
4. エキスパートシステムと知識ベース
4.1. エキスパートシステム
知識を計算可能な形式で保存し、それらに対して操作を行うシステムは、エキスパートシステムと呼ばれます。 名前は、彼らが彼らの分野の専門家であるかのように動作するという事実に由来しています。 分野別または主題に関する知識が不足しているため、これらのシステムの開発者は、主題に関する知識を論理的な提案に変換するために、特定の分野の専門家に頻繁に相談し、名前にさらに貢献しました。
エキスパートシステムは、AIおよびの開発に象徴的なアプローチを組み込んでいます。1950年代にさかのぼります。 これらのエキスパートシステムは現在も使用されていますが、知識の提案を手作業でコーディングする必要があるということは、拡張性が低いことを意味します。
これは、次に、非構造化テキストでの意味関係の抽出のための自動化されたソリューションの開発につながりました。 これらの抽出された関係は、今日、現代のエキスパートシステムの知識グラフを構成するものです。
4.2. 知識ベース
これで、エキスパートシステムに関連するナレッジベースの定義を与えることができます。 ナレッジベースは、エキスパートシステムによって保持される知識、情報、およびデータの複合体です。
ナレッジベースはデータベースとは区別され、一方を他方に還元することはできません。 これは、データベースには、それらを生成した観測の結果以外に一般的な妥当性がない測定または観測の結果と呼ぶことができるものが含まれているためです。 一方、ナレッジベースには、普遍的かつ無条件に有効なステートメントまたはルールが含まれています。
この意味で、それらは、測定から得られた数値よりも、科学者が保持している理論的知識をよりよく表しています。
ナレッジベースは、あらゆる種類の情報管理システムにあります。その中で最も有名なのは、おそらくGoogleのサイドボックスです。
このサイドボックスはGoogleナレッジグラフとして知られていますが、実際にはグラフだけでなく、完全なナレッジベースです。 今日の時点で、Googleナレッジグラフはおそらく世界最大のナレッジベースです。 代わりにインターネットを最大のナレッジベースと見なす人もいますが、これは、世界最大のナレッジベースの知識のほとんどが猫とミームで構成されているというパラドックスを残します。
4.3. 知識ベースの非命題コンポーネント
実世界の知識ベースの一般的な特性についての最後の注意点は、それらが宣言的知識だけを含んでいるわけではないということです。 実際には、リレーショナルデータベースと階層型データベース、およびそのデータを分析するための手順を統合しています。
ただし、この記事では、ナレッジベースが知識命題のみで構成されていると想定します。 実際、これにより、グラフのエッジとナレッジベースの提案との関係の興味深い特性を強調することができます。これについては後で説明します。
5. 知識を表現するためのグラフ
5.1. 3タプルからマルチレイヤーグラフまで
これで、ナレッジベースに含まれる提案的知識に対応する知識グラフの構築に進むことができます。
知識グラフは有向多層グラフであり、その隣接行列は知識ベースに含まれる3タプルの知識の内容に対応します。 ナレッジベースからナレッジグラフを作成するには、次のようにします。
最初に、提案的知識を表す3つのタプルのセットを含むナレッジベースから始めます。 このセクションでは、天文学に関連する小さなナレッジベースを使用します。
- (地球、惑星、is_a)
- (太陽、星、is_a)
- (惑星、星、rotates_around)
- (惑星、ラウンド、is_a)
このナレッジベースは、地球、太陽、惑星、星、および円形の5つの名前付きエンティティ間の2つの関係is_aおよびrotates_aroundをマップする4つの3タプルで構成されています。 関係is_aは、知識ベースでクラスの所属を表現するための一般的な方法です。 関係rotates_aroundは明確にする必要はありません。
5.2. 知識グラフの作成
これらの3タプルの最初の2つの要素から、知識グラフの個々の頂点のラベルを構成する、一意の名前付きエンティティのセットを抽出できます。
グラフ内の頂点の一意のラベルに関心があるため、planetの2つの繰り返しとstarの1つの繰り返しを破棄したことに注目してください。
次に、3タプルの3番目の要素に含まれる一意の関係のリストを抽出します。 これらは: is_a と
セット内のすべての頂点は、グラフのすべての次元に存在します。 これは、すべての目的で、異なる関係にマップするが同じ頂点を共有する独立したグラフを含む一連のレイヤーがあることを意味します。
最終的に、これらのグラフのエッジを抽出できます。 エッジは、ナレッジベースに含まれる3タプルに完全にマッピングされます。3タプルからフォームのエッジに変換するには、次の変換ルールに従って、3タプルの要素をエッジの要素に割り当てるだけです。 :
結果は、知識グラフの頂点を接続するために使用できる有向エッジのセットです。
この手順に従うと、フォームの3タプル(主語、目的語、述語)で表現されたナレッジベースを、フォームの有向多層グラフに変換できます。 これらの多層グラフは、私たちが知識グラフと呼ぶものです。
5.3. 前向き連鎖と有向経路
ナレッジベースに含まれるナレッジグラフのエッジと提案的ナレッジは、互いに1対1でマップされることに注意してください。 これが、知識グラフで新しいエッジをアルゴリズムで発見できれば、対応する知識ベースに新しい3タプルを追加できることも確かな理由です。
これを行う1つの方法は、2つの頂点間の有向パスが特定のレイヤーに存在する場合、2つの頂点も有向エッジによって接続されていると想定することです。
このメソッドを呼び出す別の方法は、ルールの前向き連鎖です。 この方法は、必ずしもグラフ内のパスではなく、3タプルに直接適用でき、次の形式で構成されます。
Earth is_a planet is_a round Earth is_a round
ナレッジグラフのエッジはナレッジベースの3タプルにマップされるため、常に一方から他方にジャンプできることを忘れないでください。 いずれにせよ、頂点Earthとroundの間に新しいエッジが見つかったので、ナレッジベースに新しい3タプルを追加できます。これは、5つの要素で構成されます。 :
- (地球、惑星、is_a)
- (太陽、星、is_a)
- (惑星、星、rotates_around)
- (惑星、ラウンド、is_a)
- (地球、ラウンド、is_a)
5.4. 複数のレイヤーへの拡張
パスの定義を拡張して、グラフにすべてのエッジを含めることにより、それらが属するレイヤーに関係なく、次元を超えたパスを見つけることもできます。 これにより、グラフのレイヤー間で命題を連鎖させることができます。
これにより、ナレッジベースに3タプルをもう1つ追加できます。
- (地球、惑星、is_a)
- (太陽、星、is_a)
- (惑星、星、rotates_around)
- (惑星、ラウンド、is_a)
- (地球、ラウンド、is_a)
- (地球、星、rotates_around)
最後に、この方法では、グラフ内のパスに対応しないいくつかの関係を学習できないことに注意してください。 たとえば、3タプル(Earth、Sun、rotates_around)は、グラフをそのエッジの方向にしかトラバースできないため、この方法では学習できません。 後向き連鎖の方法は、その場合、その仮定を通じて再帰的に推論することにより、その3タプルが真であるかどうかを評価するのに役立ちます。
6. 結論
この記事では、ナレッジベース、エキスパートシステム、およびそれらに関連するナレッジグラフの背後にある理論を研究しました。
また、提案的知識をエンコードする3タプルのセットから知識グラフを作成する手順も確認しました。
最後に、ルールの前向き連鎖によって単純な推論を実行する方法を研究し、知識発見のためのこの方法とグラフ内のパスとの関係について説明しました。