[51CTO.com からのオリジナル記事] インターネットビジネスの発展に伴い、大量のデータが生成され、分析後、データはビジネスの発展を促進します。データに含まれる知識をグラフ構造で表現することで、知識グラフが形成されます。
画像はPexelsより ナレッジ グラフは、インテリジェント検索、自動ドキュメント化、推奨、意思決定サポートなどの分野に適用できます。例: WordNet、Freebase、Wikidata。 今日は、ナレッジグラフを構築する方法と基本原則について学びましょう。 ナレッジグラフの概要 ナレッジグラフはより大きなトピックです。発達、特徴、分類、ライフサイクルなど、さまざまな側面から語るべきことがたくさんあります。 知識ドメイン図 ここでは主にナレッジ グラフのライフ サイクルを出発点として、その形成と使用に使用される原則と方法について説明します。 ①知識システムの構築。分類によると、ナレッジグラフは一般型とドメイン型に分けられます。ナレッジ グラフの種類に関係なく、そのグラフが提供する分野の知識をモデル化する必要があります。つまり、知識を表現するためにどのような方法が使用されるかということです。 ②知識の統合。ナレッジ ベースは他のナレッジ ベースと統合できます。異なる分野のナレッジ グラフを統合する場合、異なる分野、異なる言語、さらには異なる構造の知識を「補足、更新、重複排除」する必要があることがわかります。 これは知識融合であり、一般的には知識システム融合とインスタンス融合に分けられます。ナレッジ システムを構築する際には、この操作部分も総合的に考慮できます。 ③知識の獲得。知識獲得の目的は、膨大な量の情報(テキスト)から知識を抽出することです。この記事で言う「情報を取得する」というのは主にテキスト情報なので、ここで言う「情報を取得する」というのはテキストから情報を取得するプロセスでもあります。 得られた情報構造は、構造化情報、半構造化情報、非構造化情報の 3 つのカテゴリに分類できます。 取得された情報内容に基づいて、エンティティ認識、エンティティの曖昧性解消、関係抽出、イベント抽出に分類できます。知識の抽出と統合が完了したら、知識ストレージを保存する必要があります。 RDF(Resource Description Framework)形式とグラフデータベースの2つの方法があります。 グラフ データベースはクエリに適しているため、Neo4j など、広く使用されています。 ④知識推論。知識を識別して抽出し、保存した後、エンティティ(知識)間の暗黙的な意味関係を探索してみます。 このプロセスが知識推論です。たとえば、A が B の息子であることはわかっており、B が C の息子であることもわかっています。すると、A は C の孫であると推測できます。 ⑤知識の応用。識別、抽出、保存、推論の最終的な目標は、依然としてアプリケーションです。ナレッジグラフは、検索、質疑応答、推奨、意思決定に広く使用されています。 上記のプロセスについては、後ほど詳しく説明します。ナレッジグラフには豊富なコンテンツが含まれているため、最初の数部分の内容に重点を置きます。知識の推論と知識の適用に関する部分は、後の記事で紹介します。 知識システム構築 私たちがよく話す知識とは、現実世界に対する人間の理解です。この理解を標準的な形式に変換するにはどうすればよいでしょうか。そのため、それをコンピューターに保存できるように記述するモデルが必要です。 知識表現 セマンティック ネットワーク、フレームワーク、スクリプトなど、ナレッジ グラフを表現する方法は多数あります。セマンティック ネットワーク モデルの方が一般的に使用されています。 これは意味関係によって接続された概念のネットワークであり、相互接続されたノードとエッジとして知識を表します。このうち、ノードはエンティティ、時間、値などの情報を表し、エッジはエンティティ間の関係を表します。 たとえば、馬は動物であり、次のように表すことができます。 ここでは、馬や動物が実体として表現されており、「~の一種」はそれらの関係を示しています。これは、私たちがよく話すトリプルの形式でもあります。 RDF (Resource Description Framework) を使用すると次のように表現できます。
関係の定義にはいくつかの種類があります。
上記の説明によりエンティティをトリプルで表現すると、知識のグラフ構造が形成されます。この構造の表現を知識表現と呼びます。 ナレッジグラフの表現 知識システム構築 上記で説明した知識表現は、現実世界の知識をトリプルを通じて表現します。知識の分野が異なるため、物事の概念や定義も異なります。 例えば、「運用保守」という言葉は、ソフトウェア分野ではソフトウェアの運用保守を指し、インフラ分野では電力供給や配電、空調の運用保守を指します。 したがって、ナレッジ グラフは特定の知識分野を対象としています。特定の知識分野に基づいた「知識体系の構築」が必要です。 知識システムには、主に概念の分類、概念属性の記述、概念間の関係の定義という 3 つのコアコンテンツが含まれます。 知識ドメイン図 知識ドメイン (知識アーキテクチャ) は、知識の概念、概念の属性、および概念間の関係を定義する知識グラフのフレームワークのようなものです。 それを定義した後にのみ、ナレッジグラフを構築できます。知識ドメイン(知識システム構造)をクラスとして理解すると、知識グラフはオブジェクトになります。また、知識ドメイン(知識システム構造)をスケルトンとして理解すると、知識グラフはボディになります。 オントロジーは知識(概念)を定義し、定義に基づいて実体(インスタンス)を生成する。
骨格と肉 知識ドメイン(知識アーキテクチャ)の概念について説明した後、手動で構築するために必要な手順を見てみましょう。 ①分野と課題を決定する。ここで、いくつかの質問を明確にする必要があります。この分野でナレッジ グラフが必要なのはなぜですか? どのような知識が含まれていますか? どのようなグループの人々に役立ちますか? そして、誰がそれを維持するのでしょうか? ②知識体系の統合。ナレッジグラフには膨大な量の知識データを含める必要があるため、ゼロから構築するにはコストが非常に高くなります。 そのため、一般的な知識グラフ、ドメイン辞書、言語リソース、オープンソースの知識グラフリソースに頼る必要があります。これらを基に構築すると、コストが大幅に削減されます。 ③要素をリストアップします。ナレッジ グラフを確立するには、この分野の知識の概念、属性、関係、その他の要素をリストします。 たとえば、人物のナレッジ グラフを構築するには、科学者、俳優、教師、アスリートなどの概念カテゴリをリストする必要があります。 カテゴリごとに、名前、年齢、国籍、出生地などの属性を定義します。親、子、友人などの人間関係も同様です。 ④分類体系を決定する。ツリー構造に似た、概念間の階層的な関係です。たとえば、スポーツの分類には、スポーツ団体、スポーツイベント、スポーツスクールなどが含まれます。上から下へ、または下から上へ構築できます。 分類システム図 ⑤属性と関係性を定義します。ここでの属性と関係の定義は継承されます。例えば、芸能人の場合、「年齢」「出身校」「所属事務所」といった属性があります。芸能人のカテゴリには歌手や俳優が含まれます。 歌手や俳優の属性には、「年齢」、「出身校」、「所属事務所」などの属性に加えて、歌手の場合は「低音/中音/高音」、俳優の場合は「国内/海外の映画スター」などの他の属性も含まれる場合があります。 ⑥制約を定義する。上記の属性関係に対する制約関係。たとえば、年齢は正の整数です。誰もが(生物学的な意味で)母親は一人しかいません。 知識の融合 さまざまな分野での知識グラフの構築により、さまざまな垂直分野に知識ベースが存在するようになります。幅と深さを拡大するには、各知識ベースを他のライブラリと統合する必要があります。 知識融合の例図 ナレッジ ベース融合には 2 つのモードがあります。
知識システムは、認知レベルと意味レベルでドメイン知識をモデル化して表現し、ドメイン内で一般的に認識されている語彙を決定し、概念間の関係を通じて概念の意味を記述し、ドメイン知識の共通理解を提供できます。 統合プロセス中に複数の知識システムが重複し、結果として多くの異なる知識システムが生成されます。これらの異なる知識システムにより、異なる知識グラフを一緒に使用することが困難になります。 したがって、いくつかの融合方法を以下に示します。
知識獲得 知識ドメインとドメイン間の統合を定義することで、ナレッジグラフのフレームワークが構築され、次のステップはそれをコンテンツで埋めることです。三重理論によれば、ナレッジグラフは (エンティティ 1、リレーションシップ、エンティティ 2) で構成されます。 したがって、次のステップは、エンティティ認識、エンティティの曖昧さ解消、関係抽出、イベント抽出を含む知識獲得を導入することです。 知識獲得図 エンティティ認識 エンティティはナレッジグラフの基本単位であり、この記事で情報を伝達する重要な言語単位です。エンティティ認識は、テキストから名前付き参照対象を抽出するプロセスです。 例: 人名、地名、組織名、製品名。一般的に言えば、実体、時間、数の 3 つのカテゴリと、人名、場所、組織、時間、日付、通貨、パーセンテージの 7 つのサブカテゴリに分けられます。 たとえば、紅麗小学校のバスケットボールコーチである張平氏が会議に出席し、会議でコーチングの経験を共有しました。 実体「張平」には 3 つの参照項目があります。「宏麗小学校のバスケットボールのコーチ」は名詞参照項目、「張平」は命名参照項目、「彼」は代名詞参照項目です。 エンティティ認識抽出にはいくつかの方法があります。 ①ルールベース方式では、固有表現辞書を作成し、テキストから辞書の内容を検索して抽出します。
② 特徴ベース方式:機械学習手法を用いて、事前に注釈が付けられたコーパスを使用してモデルをトレーニングし、モデルは特定の文字または単語が固有表現の構成要素である確率を学習し、候補フィールドが固有表現である確率値を計算します。特定の設定されたしきい値より大きい場合、名前付きエンティティが抽出されます。 ③ニューラルネットワークに基づく手法:
エンティティの曖昧さ回避 エンティティ認識が完了した後、いくつかの問題が発生します。 2 つのエンティティは同じ名前を持ちますが、異なるコンテキストではまったく異なる意味を表します。 たとえば、エンティティ参照では、マイケル・ジョーダンは異なるテキストではバスケットボールのスターであったり、機械学習の研究者であったりすることがあります。 エンティティの曖昧さ解消の例図 エンティティの曖昧性解消を実行する方法を紹介する前に、まず上の図を例にして、関連する概念をいくつか紹介しましょう。
では、この曖昧さをどのように排除すればよいのでしょうか? ここでは、推奨される 2 つの曖昧さ排除システムを紹介します。 クラスタリング曖昧性解消システム: 同じエンティティ参照を同じカテゴリに割り当て、クラスタリング結果の各カテゴリは 1 つのターゲット エンティティに対応します。 クラスタリング図 エンティティ リンク曖昧さ解消システム: エンティティ参照をターゲット エンティティ リスト内の対応するエンティティに接続することで曖昧さ解消が実現されます。 エンティティリンク図 関係抽出 上記により、テキストからエンティティを抽出し、それらの間の曖昧さを排除できます。次に、エンティティ間の関係を知るために、関係抽出を使用する必要があります。 関係抽出は、エンティティ間の意味的関係を識別することです。バイナリ関係抽出(2 つのエンティティ)とマルチ関係抽出(3 つ以上のエンティティ)に分けられます。通常、(エンティティ 1、リレーション、エンティティ 2) のトリプルとして表されます。 処理されるデータ ソースに応じて、関係抽出は次の 3 つのタイプに分けられます。
抽出されるテキストの範囲に応じて、関係抽出は次の 2 つのタイプに分けられます。
抽出されるフィールドの区分に応じて、関係抽出は次の 2 つのタイプに分けられます。
スペースの制約により、具体的な関係抽出方法についてはここでは説明しません。興味があれば、自分で検索してみてください。アルゴリズムごとに個別の記事になることもあります。ここで必要なのは、分類と関係抽出の方法についての基本的な理解だけです。 イベント抽出 関係抽出と同様に、イベント抽出はテキストからイベントを抽出し、構造化された形式で提示することです。 まず、イベントとそのタイプを識別し、次にイベントに関係するエンティティを識別し、最後にイベント内でエンティティが果たす役割を決定します。 例を通していくつかの概念を紹介しましょう。例: 「シャオミンとシャオホンは2019年12月30日に北京で結婚式を挙げました。」 イベント参照: 特定のイベントの自然言語による説明。通常は文または文のグループです。これは上記の文の説明です。 イベントトリガーワード: イベントの発生を表す単語。イベントのカテゴリを決定する特性であり、通常は動詞または名詞です。たとえば、「結婚式を挙げる」など。 イベント要素: イベントの参加者。主にエンティティ、時間、属性値で構成されます。例: 「Xiao Ming」、「Xiao Hong」、「2019 年 12 月 30 日」。 イベント要素タイプ 要素の役割: イベント要素がイベント内で果たす役割。例えば、「Xiao Ming」と「Xiao Hong」は「夫婦」の役を演じます。 イベント カテゴリ: イベント要素とトリガー ワードによってイベントのカテゴリが決定され、各カテゴリにはサブカテゴリがあります。たとえば、人生、結婚など。 イベントタイプ図 イベント抽出には多くの方法がありますが、基本的には限定ドメイン イベント抽出とオープン ドメイン イベント抽出の 2 つのカテゴリに分けられます。 どちらのカテゴリにもいくつかのサブカテゴリがあります。ここでは、限定されたドメインでのパターンマッチングの方法を簡単に紹介します。 限定ドメインイベント抽出: 抽出前に、対象イベントの種類と各種類の具体的な構造 (具体的にはどのようなイベント要素が含まれているか) が事前に定義され、通常、一定量のラベル付きデータが与えられます。これらのラベル付きデータは、イベント抽出をガイドするために使用されます。 より代表的な方法は、パターン マッチング ベースの方法で、最初にコーパスに手動で注釈を付け、次に学習モデルを通じてパターンを抽出し、最後に「抽出対象のドキュメント」をパターン ライブラリ内のパターンと照合して抽出結果を生成します。 イベント抽出、マッチングフローチャート また、イベント抽出にはさまざまな方法や関係性がありますが、ここでは詳しく説明しません。参考までにマインドマップを用意しました。 イベント抽出マインドマップ 知識の保存と検索 ナレッジグラフのアーキテクチャと知識の抽出について説明しました。次に、この知識 (データ) を保存する必要があります。保存されたデータは取得可能です。 知識蓄積図 ストレージについて話すときは、前述のトリプルに戻る必要があります。ナレッジ グラフ内の知識は、RDF (リソース記述フレームワーク) を通じて構築されます。 各事実は、次の形式の 3 つ (主語、述語、目的語) として表されます。
表データに基づく紹介 ナレッジ グラフ テーブルを保存するには、トリプル テーブルとタイプ テーブルの 2 つの方法があります。最初の 2 つの保存方法を見てみましょう。例えば、次のような関係があります。 ナレッジグラフストレージの例図 トリプルとして保存されます: テーブル型を使用して以下を保存します: グラフデータベース入門 グラフ データベースは有向グラフに基づいており、その理論的基礎はグラフ理論です。ノード、エッジ、属性はグラフ データベースの中心的な概念です。 ノードは、エンティティやイベントなどのオブジェクトを表すために使用され、リレーショナル データベース内のレコードと比較できます。たとえば、人物、場所、映画などはすべてグラフ内のノードとして使用できます。 エッジはグラフ内のノードを接続する有向線であり、異なるノード間の関係を表すために使用されます。例えば、夫婦関係、同僚関係など。 属性は、ノードまたはエッジの特性を記述するために使用されます。例:氏名、婚姻関係の開始および終了時刻など。 例を見てみましょう: ノードを使用してエンティティを表します: Andy Lau、Lau Ching-Wan、映画: Infernal Affairs。 エッジを使用して、エンティティ間の関係を表します。たとえば、Andy Lau と Dark War の演技関係、Andy Lau と Sean Lau の友情関係などです。 ノードは属性を定義できます。たとえば、アンディ・ラウの性別は男性、身長は 174cm、出身地は香港などです。 属性は、サイドで定義することもできます。アンディ・ラウは、1999 年に映画「インファナル・アフェア」に参加し、ピーター・チャンの役を演じました。 無向の関係は、2 つの対称的な有向の関係に変換される必要があります。アンディ・ラウとラウ・チンワンはお互いに友人です。 ナレッジグラフ検索 上記では表とグラフ形式での保存について説明しました。次に、保存後に知識情報を取得する方法を見てみましょう。ナレッジグラフ情報は、SQL および SPARQL 検索を通じて取得できます。 ここでは、Simple Protocol および RDF Query Language の略である SPARQL に焦点を当てます。これは、RDF データ用に W3C によって開発されたクエリ言語およびデータ取得プロトコルであり、グラフ データベースで広くサポートされています。 SQL と同様に、SPARQL もデータの取得と管理に使用される構造化クエリ言語です。 ①データ挿入 INSERT DATA { } には 3 つの要素が含まれます。異なる 3 つの要素は "." で区切られ、連続する 3 つの要素は ";" で区切られます。 ②データ削除 DELETE DATA {} にはトリプルが含まれており、異なるトリプルは「.」で区切られます。 アンディ・ラウと彼が出演した映画との関係を削除する Andy Lau のノードに対応するすべての関係を削除する場合は、次のステートメントを使用します。 ここで、s、p、o はそれぞれ主語、述語、目的語に対応します。このようにして、Andy Lau のノードに関連するすべての関連情報が削除されます。ただし、アンディ・ラウとダーク・ウォーに対応するノードと関係はまだ存在します。 Andy Lauノードとそれに対応する関係を削除します ③クエリ文 たとえば、身長 174cm の男性俳優を検索するには、上記の 2 つのステートメントを使用します。 結果は「s: Andy Lau」です。 要約する ナレッジ グラフ自体が知識データベースである場合、知識ドメイン (知識アーキテクチャ) はこのデータベースのフレームワークになります。 ナレッジグラフを確立する前に、知識システムを構築し、知識統合の問題を解決する必要があります。 知識アーキテクチャを使用すると、エンティティ認識、エンティティの曖昧さ解消、関係抽出、イベント抽出などの知識獲得を実行できます。 エンティティ認識には、ルールベース、機能ベース、ニューラル ネットワーク ベースの認識方法が含まれます。エンティティの曖昧さ解消は、クラスタリングとエンティティ接続の方法によって実現できます。 関係抽出とイベント抽出には、データ ソース、テキスト範囲、ドメイン区分に応じて、それぞれ長所と短所があります。知識を抽出した後は、それを保存する必要があります。保存には、テーブル ストレージとグラフ ストレージの 2 つの方法があります。 現在、より一般的な方法はグラフストレージです。グラフ保存方式に基づいて、データを管理するための SPARQL クエリ言語も提供されます。 PS: ナレッジ グラフの内容は非常に広範囲にわたるため、この記事では最も基本的な概念についてのみ説明します。多くのアイデアは、趙軍教授の著書『Knowledge Map』から来ています。より深い理解が必要な場合は、読んでみることをお勧めします。 著者: 崔昊 紹介: 16 年間の開発およびアーキテクチャの経験を持ち、HP 武漢デリバリー センターで技術専門家、需要アナリスト、プロジェクト マネージャーとして勤務し、その後、スタートアップ企業でテクノロジー/製品マネージャーとして勤務しました。学習が得意で、共有する意欲があります。現在は技術アーキテクチャと研究開発管理に重点を置いています。 [51CTO オリジナル記事、パートナーサイトに転載する場合は、元の著者とソースを 51CTO.com として明記してください] |
<<: 2019年の自動運転のキーワード:冬眠と迂回による救国
>>: サムスンの「人工人間」プロジェクトが暴露!エフェクトは非常にリアルなので、新しい表現や動作を自律的に生成することができます。
劉強東は言った。「この世で働かずに得られる唯一のものは貧困であり、無から創造できる唯一のものは夢であ...
私は最近、クローラーを使用してページのスナップショットを取得し、ページの互換性の包括的なテストを実施...
[[252097]] 2013年から2018年にかけて、AI + 小売業の新興企業は374件の取引...
プロンプトに応じてテキスト、画像、その他のコンテンツを生成できる生成型人工知能 (AI) の企業導...
人工知能は常に人々に非常に高級感を与えます。人々に役立つものの意味と価値を理解する必要があります。 ...
PLOS ONE に掲載された新しい研究では、機械学習を使用して 4,438 人の乳児の「気質」デー...
NLP 研究者は皆、言語モデルは文法的な文脈情報しか学習できず、常識的な質問に関しては無力であること...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
小売業の経営者は、長期的な顧客関係の構築を妨げる在庫管理の問題に直面することがよくあります。小売在庫...
過去 6 か月間で、ChatGPT によってもたらされた AI の人気は誰もが直感的に感じることがで...
人工知能 (AI) と機械学習 (ML) は物理セキュリティ市場に大きな影響を与え、ビデオ分析の精度...