大規模ナレッジグラフデータストレージの実践的分析

大規模ナレッジグラフデータストレージの実践的分析

1. ナレッジグラフとは何ですか?

現実世界にはさまざまなものが存在します。

物事の間にはいくつかの種類のリンクがあります。

ナレッジ グラフは、現実世界に存在するさまざまなエンティティや概念、およびそれらの間の関係を記述するために使用されます。

で:

  • 各エンティティまたは概念は、識別子と呼ばれるグローバルに一意の ID によって識別されます。
  • 各属性と値のペアは、エンティティの固有の特性を表すために使用され、リレーションシップは 2 つのエンティティを接続し、それらの間の関係を表すために使用されます。

抽象化の観点から見ると、オントロジーが最も抽象的であり、次に知識ベース、最後に知識グラフが続きます。したがって、オントロジーとナレッジグラフの違いは次の 3 点にあります。

  • ナレッジ グラフはオントロジーの代替ではありません。オントロジーを充実させ、拡張したものです。この拡張は主にエンティティ レベルで反映されます。
  • オントロジーは概念と概念間の関係を強調し、ナレッジ グラフはオントロジーに基づいてエンティティに関するより豊富な情報を追加します。
  • オントロジーはナレッジ グラフのデータ モデル (スキーマ) を記述します。つまり、ナレッジ グラフのデータ モデルを構築することは、ナレッジ グラフのオントロジーを確立することと同じです。

1.1 ナレッジグラフの応用

ナレッジグラフは、チャットボット、臨床意思決定サポートなど、人工知能やビジネスインテリジェンスのさまざまなアプリケーションで使用されてきました。

同時に、ビッグデータ アプリケーションのさまざまな課題に対応するために、ナレッジ グラフを使用してさまざまなビジネス ニーズを実現します。

2. ナレッジグラフの適用シナリオ

ナレッジ グラフにはさまざまな用途がありますが、次のデータの処理に最適です。

複雑な関係を持つデータ。

多種多様なデータタイプ。

可変構造を持つデータ。

ナレッジ グラフは、データの融合と接続のリンクとして、構造化データ、半構造化データ、非構造化データを統合し、次の消費およびデータ シナリオを備えています。

しかし、ナレッジグラフは万能薬ではありません。さまざまな問題に基づいて適切な方法を見つける必要があり、ナレッジグラフを単に使用することだけを目的として使用してはなりません。

ナレッジグラフが適用できないシナリオは次のとおりです。

適用できないデータシナリオ:

  • 通常のバイナリデータ
  • ログデータ
  • ストリーミングデータ

適用されない消費シナリオ:

  • 統計
  • データ計算

これらの適用できないシナリオは、他のツールの助けを借りて保存および処理し、他のツールや方法と組み合わせて使用​​し、最終的にナレッジ グラフを使用してデータにリンクする必要があります。

3. ナレッジグラフの保存

上記の内容から、ナレッジ グラフは関連性を重視するデータの処理に最も適していることがわかります。したがって、最初に保存する必要があるのは、グラフ内のノードとエッジのデータです。ナレッジ グラフはグラフ データベースの利点に基づいており、このタイプのリレーショナル データを簡単に保存できます。他の大量のタイプのデータはどのように処理するのでしょうか。

このことから、ナレッジ グラフ データの保存はグラフ データベースと同じではないことがわかります。

次に、この記事では、ナレッジ グラフ データを保存するいくつかの一般的な方法に焦点を当てます。

3.1 ナレッジグラフデータを保存する一般的な方法

ナレッジ グラフの保存は、特定の基礎構造に依存しません。一般的な方法は、データとアプリケーションの要件に応じて異なる基礎ストレージを使用することです。既存のリレーショナル データベースまたは NoSQL データベース上に構築することもできます。一般的な方法をいくつか挙げてみましょう。

トリプルテーブル(S、P、O)

RDF ストレージ構造 (以下で説明) と同様に、ストレージはタプルで行われます。意味がより明確になりました。

問題: 多数の自己結合操作はコストがかかります。

属性テーブル: 類似の属性を持つ対象が 1 つのテーブルにグループ化されます

リレーショナル データ構造と同様に、各データはエンティティを表し、各列は属性を表します。

問題: 1. RDF の柔軟性 (1 次以上の関係に対するクエリは複雑)。2. クエリ時に属性を指定する必要があり、不確かな属性を持つクエリは実行できません。

垂直分割: 述語によるトリプルテーブルの分割

さまざまな属性に基づいてデータ テーブルが作成され、データ構造がより明確になります。

問題: 1. データ テーブルの数が多い。2. 属性の削除にはコストがかかる。

上記のソリューションにはそれぞれ長所と短所があり、実装する際には、さまざまなアプリケーション シナリオに応じて選択し、インデックス、制約、その他の方法を設計してクエリ効率の問題を解決する必要があります。

現在、グラフ構造用の一般的なストレージ ソリューションには、RDF ストレージとグラフ データベースの 2 つがあります。次の図は、http://db-engines.com/ 上の 2 つのストレージの開発傾向を示しています。

グラフベースのストレージ方式がデータベースストレージ分野全体で急速に発展していることは明らかです。

3.1.1 RDFストレージ

RDF ストレージはトリプルストアとも呼ばれ、トリプル形式でデータを格納するために設計された特別なデータベースです。6 重インデックス (SPO、SOP、PSO、POS、OSP、OPS) を通じてトリプル検索の効率性の問題を解決します。

その利点は次のとおりです。

トリプルパターンクエリの効率的な実行。

任意の 2 つのトリプル パターンの効率的なマージ結合。

しかし、欠点も明らかです。

6 倍のインデックスは、スペースのオーバーヘッドが 6 倍になることを意味します。(S、P、O、C) の 4 倍の場合はどうなるでしょうか。

アップデートとメンテナンスのコストが高くなります。

現在、ますます多くの RDF データベースが、6 重インデックスでのクエリ効率をさらに向上させるために、トリプルを列型ストレージに保存しています。

3.1.2 グラフデータベース

グラフ データベースの構造定義は、RDF データベースよりも一般的です。グラフ構造にノード、エッジ、属性を実装して、グラフ データを格納します。代表的なオープン ソース グラフ データベースは Neo4j です。

このアプローチの利点は、データベース自体が完全なグラフクエリ言語を提供し、さまざまなグラフマイニングアルゴリズムをサポートしていることですが、グラフデータベースの分散ストレージ実装コストが高く、データ更新速度が遅く、大規模ノードの処理オーバーヘッドが非常に高くなります。

3.2 大規模ナレッジグラフストレージソリューション

指導理念は、前述の「データ思考」と「No Size Fits All」です。全体的な原則は、次の 6 つのポイントにまとめることができます。

(1)基本ストレージ

データのシナリオに応じて、リレーショナル データベース、NoSQL データベース、インメモリ データベースの使用を選択できます。

基本的なストレージにより、スケーラビリティと高可用性が保証されます。

(2)データのセグメンテーション

属性テーブル: データ型別

基本型: 整数テーブル、浮動小数点テーブル、日付型テーブル、...

コレクションタイプ: リスト型テーブル、範囲型テーブル、マップ型テーブル、...

大きな属性は個別にリストされます。たとえば、数量が 10M を超える属性は個別にリストされます。

(3)キャッシュとインデックス

分散 Redis をキャッシュとして使用し、オンデマンドでデータをキャッシュします。

トリプル テーブルは必要に応じてインデックス付けされ、最大 9 つのインデックスを確立できます。

(4)既存の成熟したストレージを活用するのが得意

ElasticSearch を使用してデータの全文検索を実装します。

固定構造のデータの場合は、リレーショナル データベースまたは NoSQL を使用できます。

(5)非リレーショナルデータの場合、大きなノードの形成を避けるためにグラフに保存しないようにする

非リレーショナル データは適切なデータ ストレージ マシンを使用して保存され、エンティティ リンクを通じてグラフ データに関連付けられます。

(6)グラフストレージ内で直接統計解析計算を行わない

統計的に分析および計算する必要があるデータは、適切なストレージにエクスポートする必要があります。

4. ナレッジグラフの時間情報と保存

周知のように、情報には時間的特性があり、時間的特性は情報の客観的存在です。同時に、知識とデータは絶えず更新されており、これらの変化する時点も意味のある情報を表しています。

時間情報に対する需要と技術は、データベース技術の発展とともに生まれ、発展してきました。次の図は、他の種類のデータベースと比較したテンポラル データベースの開発傾向を示しています。

時間データベースの開発傾向は、他のデータ保存方法よりもはるかに高いことがわかります。

ナレッジ グラフ内の時間情報には、次の 4 つの側面が含まれます。

  • 事実が生成された時刻。
  • 事実が有効である期間。
  • 特定の歴史的瞬間における物体の状態。
  • 過去の特定の時点におけるナレッジ グラフのバージョン。

以下のビデオは、PlantData ナレッジ グラフ データ インテリジェンス プラットフォームを使用して照会された、北京小居科技有限公司 (Didi Dache) の時系列情報を含む企業ベンチャー キャピタル ナレッジ グラフです。

最近人気のテレビシリーズ「In the Name of People」を組み合わせて、ナレッジグラフの時間情報を理解してみましょう。

ナレッジ グラフの一時情報ストレージを実装するための設計原則は次のとおりです。

5. データ保存にグラフデータベースを使用する

グラフ データ ストレージのメトリックを選択するときは、次の点を考慮する必要があります。

データストレージのサポート。

データがどのように操作され、管理されるか。

サポートされているグラフ構造。

エンティティとリレーションシップの表現。

クエリメカニズム。

ここでは、ナレッジ グラフ データを保存するためのグラフ データベースを選択します。

  • 応用シナリオ: ベンチャーキャピタルのナレッジグラフ。
  • データ ディメンション: ベンチャー キャピタル ナレッジ グラフは、投資を主軸として、スタートアップと投資機関の間のさまざまな関係を記述します。これには、企業製品、創設者、株主、役員、業界、サブ業界、ニュース、投資および資金調達イベント、注目、活動、採用などが含まれます。
  • 応用目標: ベンチャーキャピタルのナレッジグラフとプラットフォーム分析機能に基づいて、投資機関はスタートアップ企業と業界の調査と追跡を完了し、投資の意思決定を支援することができます。スタートアップ企業は、ホットな投資トラックを分析し、業界の動向や競合他社の動向に注意を払うこともできます。

スタートアップに関連するデータには以下が含まれます。

  • 事業登録情報
  • エンタープライズ製品
  • 創業者/株主/役員
  • 業種・分野
  • 投資および資金調達イベント
  • 特許/採用/訴訟/信頼の侵害
  • ニュース/ソーシャルネットワークデータ
  • 製品アクティビティデータ

リレーショナルデータ(関係を通じてネットワークを形成):

会社と創設者

企業と投資家(機関)

企業と製品

企業と経営者

経営者と大学

リレーショナルデータの保存方法: ナレッジグラフにエンティティとして保存し、それらの間の関係を通じてグラフネットワークを形成します。

構造データ(主題に関連しているが、それ以上拡張されていない):

企業と特許/採用/訴訟/信頼の侵害

ビジネスとニュース

企業および投資・資金調達イベント

エンタープライズ製品アクティビティデータ

構造化データの保存方法: レコードデータとして適切なストレージに保存し、リンクを通じてグラフ内のエンティティと関連付けます。

属性データ:

事業登録における企業の基本情報

会社が属する業界

創業者の基本情報

製品の基本情報

投資機関の基本情報

大学の基本情報

属性データの保存方法: エンティティの数値属性としてナレッジ グラフに保存します。

時間データ:

会社設立時期

役員在任期間

投資関係が発生した時期

製品発売日

時間データの保存方法: 保存とクエリ処理には、ナレッジ グラフに基づく時間保存ミドルウェアを使用します。

スキーマ定義: 概念の選択

企業

スタートアップ

投資機関

個人に投資する

役員

株主

製品

スキーマ定義: 関係と属性の定義

関係の定義

会社と創業者との関係

企業と投資家(機関投資家)の投資関係

企業と製品の関係

企業と経営幹部の関係

経営者の学歴と大学の関係

属性の定義

企業の属性

キャラクター属性

製品属性

グラフ データベースをデータ ストレージに使用する一般的なプロセスは次のとおりです。

エンティティ、概念(ラベル)をインポートする

エンティティ属性のインポート

エンティティ間の関係をインポートする

***練習プロセス:

バッチでインポートし、インデックスを使用してインポート中のクエリ効率を向上させます。

データ型と属性に応じてインポートファイルを準備する

制約を使用してデータの主キーを維持する

インポートしたデータの形式が正しいことを確認してください

要約すると、複雑なアプリケーション シナリオにおけるナレッジ グラフ データ ストレージの原則は次のとおりです。

  • リレーショナル データ: グラフ データ ストレージを使用します。
  • リレーショナル データ: 適切なストレージにレコード データとして保存され、エンティティ リンクを通じてグラフ内のエンティティに関連付けられます。
  • 属性データ: エンティティの数値属性としてナレッジ グラフに保存されます。
  • 時間データ: 保存とクエリには、基本ストレージ上で時間処理ミドルウェアを使用します。

<<:  自然言語処理のためのニューラルネットワークモデルに関する予備的研究

>>:  ビル・ゲイツ:中国がAIで他国を追い抜くとは思わない

ブログ    
ブログ    
ブログ    

推薦する

俳優の顔の交換、AIデート、モザイク除去…2020年のAI界の注目トピックトップ10を振り返る

[[373822]] 2020年が終わりを迎えました。今年、人工知能(AI)分野は浮き沈みに富み、常...

医療AIの今後の展開:注目すべき3つのトレンド

COVID-19パンデミックが猛威を振るい、人々のメンタルヘルスが危機に瀕し、医療費が上昇し、人口...

データセットに適したクラスタリングアルゴリズムを選択する方法

クラスタリング アルゴリズムを適用するのは、最適なアルゴリズムを選択するよりもはるかに簡単です。 そ...

アルゴリズム王国では中国が他国を追い抜くかもしれない

今年の初め、世界中で人工知能の発展に注目していた人たちの注目を集めた出来事が2つありました。一つは、...

データ ガバナンスは AI 疲労の問題を解決できるか?

データ ガバナンスと AI 疲労は 2 つの異なる概念のように聞こえるかもしれませんが、この 2 つ...

AIはGoogleの変革のツールとなり得るか?

[[252713]]画像出典: Visual China 2018年の中国インターネット業界を一言...

清華大学がJittorをオープンソース化:国内初の大学開発のディープラーニングフレームワーク、PyTorchへのワンクリック変換が可能

Theano、Caffeに続き、大学主導のディープラーニングフレームワークがオープンソース化され、国...

不妊治療の新たな夜明け:AI

世界初の試験管ベビーは1978年に英国で誕生した。それ以来、人工生殖技術は継続的に改良されてきました...

...

AI、機械学習、RPA業界への期待

毎年、IT 業界メディアの eWEEK では、新製品、革新的なサービス、開発動向など、IT 業界の今...

ドキュメントの分類が複雑すぎますか? MITとIBMは協力してこの問題を解決した

[[286340]] 【画像出典:venturebeat オーナー:venturebeat 】この記...

ICLR 2022|スピードこそすべて!完全なバイナリ化 BiBERT による超圧縮

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

機械学習モデルが公平かどうかを簡単に確認する方法

[[361220]] [51CTO.com クイック翻訳] 私たちはますます分断が進む世界に住んでい...

...