Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

生成AIと知識グラフの相互利用に基づく文書解析

Kouji Kozaki
November 01, 2024

 生成AIと知識グラフの相互利用に基づく文書解析

ASDoQ大会2024
2024年11月1日
https://asdoq.jp/taikai2024/detail.html

Kouji Kozaki

November 01, 2024
Tweet

More Decks by Kouji Kozaki

Other Decks in Technology

Transcript

  1. 自己紹介  コミュニティ活動 研究成果として 公開中のソフト  古崎(こざき)晃司 [email protected]  所属:大阪電気通信大学

    情報通信工学部 情報工学科  専門: オントロジー工学(情報科学・人工知能)  研究テーマ:「オントロジー工学」と「LOD(Linked Open Data)・ 知識グラフ」を基盤とした「セマンティック(意味処理)技術」 によるAIシステムの開発 「ナレッジグラフ」を用いたAI技術開発のコンテスト http://challenge.knowledge-graph.jp/ オープンデータ活用のコンテスト http://lodc.jp
  2. 本講演のねらい・立場  背景  生成AI(LLM)×ナレッジグラフ(KG)の連携への注目  例)Graph RAG:LLMへの問い合わせに用いる外部データ としてナレッジグラフを利用する 

    本講演のねらい  知識グラフ(ナレッジグラフ・KG)の基本的な考え方・ 技術の概要を示す  知識グラフを用いた文書解析の例示  知識グラフと生成AIの相互利用の方向性の検討  本講演の立場  セマンティック(ウェブ)技術の観点からのKGを紹介  グラフデータベースの観点や実装詳細については述べない
  3. 知識グラフ(ナレッジグラフ)  知識グラフとは  さまざまな「知識」の関係(つながり)をグラフ構造で表したもの.  知的システム開発の基盤となる データベース(知識ベース)として 用いられる. 

    知識グラフの例  Linked Data(2007-)  Web技術に基づいて公開 された知識グラフ  Linked Open Data(LOD)  オープンデータとしてLinked Data  オープンな知識グラフと言える.  Google Knowledge Graph(2012-)  他の企業でも知識グラフの構築が盛んに… LOD Cloud Google Knowledge Graph (単なる)グラフデータとの違い
  4. LOD(Linked Open Data)  Linked Data  Webの仕組みを用いてデータを“リンク”することによ り,「データの新たな価値の創出」をめざした技術 

    LOD(Linked Open Data)  オープンデータ(誰でも自由に利用可能なデータ)を Linked Dataとして公開したもの.  この10年で多くのLODが公開されている 2024/11/1 12 Linking Open Data cloud diagram,http://lod-cloud.net/ 2007/5 12データセット 2017/2 1,139データセット
  5. 大学 大阪電気 通信大学 分類 1941年 設立日 寝屋川市 日本 位置する行政区 国

    日本 国 位置する行政区 リソース: URIで表される事物 プロパティ: リソース間(もしくはリ ソースとリテラル間)の 関係を表す リテラル :文字列 主語 述語 目的語 トリプル(3つ組み)でグラフ構造を表現 RDF (Resource Description Framework) ナレッジグラフ記述のデータモデルを提供するW3C標準の技術仕様 大阪府 http://www.wikidata.org/entity/Q7105556(大阪電気通信大学) に関するナレッジグラフの一部(Wikidataより) SPARQL(RDFを検索するクエリ言語)など,Web上でナレッジグラフ を公開・利用する様々な技術仕様がW3Cから公開されてる 13 Linked Data(ナレッジグラフ) のRDF表現
  6. 知識グラフの例:Wikidata • ウィキメディア財団が運営する Wikipediaの「データ版」 • 現在,約1億項目 • Wikipediaと同じようにデータを コミュニティで編集,公開できる •

    API(SPARQLエンドポイント)や 各種検索ツールなども提供 http://wikidata.org/ (ウィキデータ) 参考 英語版Wikipedia 670万記事 日本語版Wikipedia 140万記事 日本国語大辞典 50万項目 LODとして公開されている
  7. Wikidataのデータ例(2/3) 述 語 (プ ロ パ テ ィ ) 目

    的 語 (オ ブ ジ ェ ク ト ) 他のリソース へのリンク
  8. Wikidataにおけるクエリの例 #猫(画像付き) #defaultView:ImageGrid SELECT ?item ?itemLabel ?pic WHERE { ?item

    wdt:P31 wd:Q146 . ?item wdt:P18 ?pic SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en" } } 「分類(instance-of)」 のID 「猫」のID この例のクエリから IDを変更すること で様々な分類の 画像を検索できる
  9. 複雑な検索例 Wikidataを用いたランキング  「日本の政治家の出身都道府県」ランキング →実行結果 SELECT ?pref ?prefLabel (count(?s) As

    ?c) WHERE { ?pref wdt:P31 wd:Q50337; #分類=都道府県 wdt:P429 ?code. #全国地方公共団体コード ?s wdt:P27 wd:Q17; #国籍=日本 wdt:P106 wd:Q82955; #職業=政治家 wdt:P19/wdt:P131* ?pref. #出身 SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". } } GROUP BY ?pref ?prefLabel ORDER BY DESC(?c)
  10. 複雑な検索例 Wikidataを用いたランキング  「日本の総理大臣の出身都道府県」ランキング →実行結果 SELECT ?pref ?prefLabel (count(?s) As

    ?c) WHERE { ?pref wdt:P31 wd:Q50337; #分類=都道府県 wdt:P429 ?code. #全国地方公共団体コード ?s wdt:P27 wd:Q17; #国籍=日本 wdt:P106 wd:Q82955; #職業=政治家 wdt:P39 wd:Q274948; #公職=内閣総理大臣 wdt:P19/wdt:P131* ?pref. #出身 SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". } } GROUP BY ?pref ?prefLabel ORDER BY DESC(?c) この1行を 追加する
  11. 知識グラフとオントロジー  オントロジー  「対象世界をどのように捉えたか?(概念化したか)」 を計算機と人間が共有できる形で明確化・体系化し たもの  ナレッジグラフ/Linked Dataにおいては,

    「知識グラフの記述に用いる語彙(分類や関係の 種類など)」を提供する  概念の共通性と相違点を明確にする  統一した語彙を用いることで,知識グラフの意味が明 確になると共に,知識の統合・相互利用が可能となる
  12. 知識グラフを用いた文書分析  分析の手順  1.知識グラフと文書の対応づけ  用語単位の対応 →エンティティ・リンキング  関係単位の対応

    →関係抽出  グラフ構造との対応→グラフ抽出  ...  2.対応する知識グラフの構造から意味を解釈  知識グラフが表す意味(用語の分類,概念定義,関係 の種類…)を利用  グラフのネットワーク構造(パスの距離など)の利用  グラフエンベディング(ベクトル化)の利用  ...
  13. ナレッジグラフ推論チャレンジ 2024/11/1 46 「ホームズ」 の小説 「知識グラフ」としてデータ化 犯人はXX! なぜなら… 動機は… トリックは…

    捜査 手法 動機 DB …. さまざまな「知識」を用いて犯人を推理し その理由を説明するAIシステムの開発 ナレッジグラフ 推論チャレンジ シャーロック・ホームズの ような“推理”(推論)がで きるAIシステムの開発を 目指した技術コンテスト 可視化
  14. 場面を表す知識グラフの構造 原文(英語/日本語) 絶対時間※小説内に基準日 時を設定している 主語・述語・目的語は全て 「リソース」として定義 →他の場面で同じ目的語を 参照可能 述語 主語

    他の場面 場面の種類(クラス)分け Scene:上位クラス -Situation:事実・状況の描写 -Statement:Aの発言 -Talk:AのBへの発言 -Thought:Aの考え 「推理小説」の内容 を,最小単位の 「場面(シーン)」に 分割して記述 知識グラフの公開ページ
  15. JSAI2024企画セッション 生成AI時代のナレッジグラフ JSAI2024(2024年度 人工知能学会全国大会(第38回))にて実施  企画のねらい  ナレッジグラフに関わる研究者による講演、パネルディスカッ ションを通じて、ナレッジグラフと生成AIの関わり、それぞれ の活かしどころについて議論する

     セッション構成  趣旨説明(5分):古崎 晃司(大阪電気通信大学 教授)  招待講演(10分×5)  古崎 晃司 (大阪電気通信大学 教授)  福田 賢一郎(産業技術総合研究所 研究チーム長)  森田 武史 (青山学院大学 教授)  広田 航 (ストックマーク ユニットリーダー)  黒川 茂莉 (KDDI総合研究所 グループリーダー)  パネルディスカッション(45分):登壇者全員 司会:黒川 茂莉 発表資料・動画: https://challenge.knowledge-graph.jp/jsai2024/
  16. JSAI2024企画セッション 生成AI時代のナレッジグラフ  招待講演の枠組み  あなたにとっての生成AIとは?  あなたにとってのナレッジグラフとは?  ナレッジグラフと生成AIの関わり、それぞれの活かしどころ

     パネルディスカッションのトピック  と のシナジーの出し方をどう考えるか?  と がシナジーを出すためには、どういう課題 があるか?  と へのオープンまたはクローズドな情報の 取り込み方をどう考えるか?
  17. KGとLLMの相互利用の形態  KG vs. LLM  同一タスクでの両者の性能を比較 例)KGQAとの比較  LLM

    for KG  KGを用いたLLMのFact check  KGを用いて得た事実情報(Fact)を言語モデルが生成した内容と比較する 例)Wikdiataによるファクトチェック  LLMの学習にKGを利用  知識グラフを用いて言語モデルの学習に使用するテキストを生成する  LLMの外部知識としてKGを利用  KGを用いて検索した結果をLLMへの問い合わせに利用 例)Graph RAG  KGの検索結果とLLMで生成する情報を組み合わせる  KG for LLM  LLMを用いたKG/オントロジーの(自動)構築(支援)  KGの構築に必要な知識をLLMを用いて生成する  KG利用のための自然言語インターフェースとしてLLMを利用  KG検索に必要な知識の生成,KGの結果を文章化などにLLMを利用する
  18. KGとLLMの相互利用の形態  KG vs. LLM  同一タスクでの両者の性能を比較 例)KGQAとの比較  LLM

    for KG  KGを用いたLLMのFact check  KGを用いて得た事実情報(Fact)を言語モデルが生成した内容と比較する 例)Wikdiataによるファクトチェック  LLMの学習にKGを利用  知識グラフを用いて言語モデルの学習に使用するテキストを生成する  LLMの外部知識としてKGを利用  KGを用いて検索した結果をLLMへの問い合わせに利用 例)Graph RAG  KGの検索結果とLLMで生成する情報を組み合わせる  KG for LLM  LLMを用いたKG/オントロジーの(自動)構築(支援)  KGの構築に必要な知識をLLMを用いて生成する  KG利用のための自然言語インターフェースとしてLLMを利用  KG検索に必要な知識の生成,KGの結果を文章化などにLLMを利用する
  19. 調査した分野 インスタンス数 1 日本の大学 798 0.6% ~ 32.7% 2 日本の連載漫画

    368 16.0% 3 日本の俳優 2,019 0.0% ~ 26.8% 4 JR西日本、東日本の鉄道駅 2,736 0.1% ~ 15.9% 5 日本の文学作品 1,365 1.9% 6 日本の政治家 7,242 0.0% ~ 0.0% 7 J-POP 1,037 14.0% ~ 21.7% 8 川 1,325 1.7% ~ 4.5% 9 日本のアニメ映画 594 2.5% 10 山 683 0.1% ~ 1.3% 合計 18,167 一致率 ChatGPT3.5(2023年1月時点)での仮の比較結果 一致判定のアルゴリズムが 不完全であるものの… あまり良い結果は得られず GPT4・GPT4oで比較中… →大幅な性能向上をしている 傾向はあり Wikidataを用いたファクト情報 とChatGPTの回答の比較[大山04]
  20. 調査した分野 インスタンス数 1 日本の大学 798 0.6% ~ 32.7% 2 日本の連載漫画

    368 16.0% 3 日本の俳優 2,019 0.0% ~ 26.8% 4 JR西日本、東日本の鉄道駅 2,736 0.1% ~ 15.9% 5 日本の文学作品 1,365 1.9% 6 日本の政治家 7,242 0.0% ~ 0.0% 7 J-POP 1,037 14.0% ~ 21.7% 8 川 1,325 1.7% ~ 4.5% 9 日本のアニメ映画 594 2.5% 10 山 683 0.1% ~ 1.3% 合計 18,167 一致率 ChatGPT3.5(2023年1月時点)での仮の比較結果 一致判定のアルゴリズムが 不完全であるものの… あまり良い結果は得られず GPT4・GPT4oで比較中… →大幅な性能向上をしている 傾向はあり Wikidataを用いたファクト情報 とChatGPTの回答の比較[大山04]
  21. 調査した分野 インスタンス数 1 日本の大学 798 0.6% ~ 32.7% 2 日本の連載漫画

    368 16.0% 3 日本の俳優 2,019 0.0% ~ 26.8% 4 JR西日本、東日本の鉄道駅 2,736 0.1% ~ 15.9% 5 日本の文学作品 1,365 1.9% 6 日本の政治家 7,242 0.0% ~ 0.0% 7 J-POP 1,037 14.0% ~ 21.7% 8 川 1,325 1.7% ~ 4.5% 9 日本のアニメ映画 594 2.5% 10 山 683 0.1% ~ 1.3% 合計 18,167 一致率 ChatGPT3.5(2023年1月時点)での仮の比較結果 一致判定のアルゴリズムが 不完全であるものの… あまり良い結果は得られず GPT4・GPT4oで比較中… →大幅な性能向上をしている 傾向はあり Wikidataを用いたファクト情報 とChatGPTの回答の比較[大山04] OpenAIのAPI(GPT3.5turbo) での再比較の結果[再検証中] 【一致率】 設立日: 0.50% 都道府県: 73.41% 市町村: 32.44%
  22. KGとLLMの相互利用の形態  KG vs. LLM  同一タスクでの両者の性能を比較 例)KGQAとの比較  LLM

    for KG  KGを用いたLLMのFact check  KGを用いて得た事実情報(Fact)を言語モデルが生成した内容と比較する 例)Wikdiataによるファクトチェック  LLMの学習にKGを利用  知識グラフを用いて言語モデルの学習に使用するテキストを生成する  LLMの外部知識としてKGを利用  KGを用いて検索した結果をLLMへの問い合わせに利用 例)Graph RAG  KGの検索結果とLLMで生成する情報を組み合わせる  KG for LLM  LLMを用いたKG/オントロジーの(自動)構築(支援)  KGの構築に必要な知識をLLMを用いて生成する  KG利用のための自然言語インターフェースとしてLLMを利用  KG検索に必要な知識の生成,KGの結果を文章化などにLLMを利用する 今回は省略
  23. LLMの外部知識としてKGを利用 :基本的な考え方  基本的な考え方  KGを用いた検索と,LLMを組み合わせて利用する  必要な技術要素→①~④ 質問文 KGで

    検索 質問文 の解析 LLMで 検索 最終回答 の生成 ①使用するKG ②KGの 検索方法 ③KG/LLMの 組み合わせ方法 ④使用するツール
  24. LLMの外部知識としてKGを利用 :①使用するKG  既存のKGを利用  LODとして公開されているKGを利用  Wikidata,DBpedia,各領域のKG,....  複数KG(LOD)から必要な知識を統合して利用

     独自のKGを構築  KGを直接,手作業で構築  既存のDBからKGの形式に変換  テキストからKGを抽出・構築  多数の研究があり →LLMを用いたKGの構築については後述  既存ツールの利用も可 KGを用いる目的 「どのような知識を得たいか?」 に応じて適切なKGの選択・構築が重要
  25. LLMの外部知識としてKGを利用 :②KGの検索方法  グラフ構造のパターン一致  SPARQL,Cypherなどグラフ検索用クエリ言語を使用  グラフ構造を扱うライブラリ等を用いて,グラフ構造を探索  グラフ構造を用いた計算処理を利用

     ノード間をつなぐリンク(エッジ)のパスのステップ数(=ノード 間の距離)など,グラフの構造に基づいた計算処理を利用  グラフ理論に基づく計算を利用  グラフのベクトル化(グラフ埋め込み)  グラフをベクトル化し,機械学習等を利用する  ベクトル化の方法は多数の提案があり  ベクトルの距離計算による類似判定,欠損したリンクの予測, などが行える 目的・用途に応じた検索方法の選択が重要
  26. LLMの外部知識としてKGを利用 :③KGとLLMの組み合わせ方法  KGとLLMの検索結果の比較  それぞれで検索した結果を比較し,最終回答を総合的に判定  KG検索では得られなかった言語表記ゆれをLLMで補完する  LLMの検索結果で不足する内容をKGで検索

     KGからプロンプトを生成  KGの検索結果をもとにプロンプトを生成しLLMに問い合わせ  KGの検索結果をテキスト表現をLLMで生成  ベクトル化して統合  KGの検索結果をベクトル化し,RAGによるテキスト検索やLLM への検索に利用 KGから得られる/得たい内容に応じた選択が重要 (ベクトル化は必須ではない)
  27. LLMの外部知識としてKGを利用 :④使用するツール  クエリ言語  SPARQL, Cypher, etc.  RDF利用ライブラリ

     Apache Jena  データベース  RDF DB: Apache Jena Fuseki, Virtuoso, GraphDB, etc  グラフDB: Neo4j, Amazon Neptune, etc.  Graph RAG  Langchain+Neo4j  Microsoft「GraphRAG」 , etc.  他にもGraph RAG対応したDBあり
  28. KGとLLMの相互利用の形態  KG vs. LLM  同一タスクでの両者の性能を比較 例)KGQAとの比較  LLM

    for KG  KGを用いたLLMのFact check  KGを用いて得た事実情報(Fact)を言語モデルが生成した内容と比較する 例)Wikdiataによるファクトチェック  LLMの学習にKGを利用  知識グラフを用いて言語モデルの学習に使用するテキストを生成する  LLMの外部知識としてKGを利用  KGを用いて検索した結果をLLMへの問い合わせに利用 例)Graph RAG  KGの検索結果とLLMで生成する情報を組み合わせる  KG for LLM  LLMを用いたKG/オントロジーの(自動)構築(支援)  KGの構築に必要な知識をLLMを用いて生成する  KG利用のための自然言語インターフェースとしてLLMを利用  KG検索に必要な知識の生成,KGの結果を文章化などにLLMを利用する
  29. GPT4oによる文章の生成結果 2024/11/1 80 GPT4oによる文章の生成結果 用水 , "subClassOf" , 水資源 用水

    , 対象 , 水 用水 , 不足原因 , 渇水 渇水 , "subClassOf" , 環境問題 渇水 , 原因 , 少雨 渇水 , 原因 , 地球の平均気温の上昇 渇水 , 原因 , 湖面の蒸発量の増加 渇水 , 対象及び状態 , 河川の流量の減少 渇水 , 対象及び状態 , 水路の流量の減少 渇水 , 対象及び状態 , 湖の水位の低下 渇水 , 影響対象 , 用水 渇水 , 影響対象 , 産物 渇水 , 影響対象 , 水洗トイレ 渇水 , 影響対象 , 農作物 ...
  30. 応募作品例 推理小説KGの自動構築[堀田04] 86 提案手法 • 推理小説のKGにおける各場面の説明文 (日本語および英語)から,場面を構成 するトリプル(主語, 述語, 目的語の組)

    を生成 • 利用した言語モデル:Llama 2 • トリプルの生成に用いる制御用のプロン プトの条件となる要素を組み合わせ,計 84種類を比較 生成されたトリプルの評価 • 元KG(正解データ)との類似度をBERT で計算し,類似度0.82以上を正解と判定 • 最も正解率が高いプロンプトの正解率は, 全体:22.2% 主語:70.7% 述語:39.4% 目的語:34.3% 場面の説明文 (英語/日本語) 述語 主語 元KG(正解データ)の例
  31. 応募作品例:ChatGPTを用いた オントロジー自動構築[鈴木04] 対象とする最上位概念を入力すると,GPT-4 Turbo (OpenAIのAPIを利用)を用いたZero-shotのプロンプトに より,is-a階層(分類階層),および,それぞれの概念が 持つ関係性(スロット)を再帰的に生成 取得データ例 〇〇のsubclassを単語で列挙 フォーマット

    ・△△ ・△△ 必ず以下の条件を守ること 個数:〇個(ツールで指定) 〇〇に関連する内容であること is-aの構築に用いるプロンプト 例) 気候変動 入力 (1段目) 2段目以降 を再帰的 に入力 その他の 関係性 (スロット) の生成 オントロジー の出力 関係の種類ごと にプロンプトを 用意 温室効果ガス排出 気温上昇 極端な気象 海面上昇 氷河の融解 … is-a階層 を出力
  32. まとめ KGとLLMの相互利用のポイント  知識グラフ/ナレッジグラフ(KG)  さまざまな「知識」の関係(つながり)をグラフ構造で表現  AIシステム開発(知識型)の基盤となるデータベース(知識 ベース)として用いられる 

    説明可能な根拠に基づく,正確な質問応答が可能  構築に要するコストが課題 → LLMを用いた構築が有望?  大規模言語モデル(LLM)  膨大なテキストから学習した言語モデル  自身が自然な対話を行い,一定の精度での質問応答が可能  ハルシネーションや回答の根拠の暗黙性に代表されるように, まだ必ずしも完全なものではない →KGから得られる内容と組み合わせが解決につながる? 両者を適切に使い分け・連携させることが重要
  33. 参考文献  知識グラフとオントロジーによるAIシステムの開発,古崎 晃司 電子情報通信学会 基礎・境界ソサイエティ Fundamentals Review, 2024, 18

    巻, 2 号, p. 123-136, 2024 https://www.jstage.jst.go.jp/article/essfr/18/2/18_123/_article/-char/ja  ナレッジグラフ推論チャレンジ https://challenge.knowledge-graph.jp/  [Yiming 03] Yiming Tan, Dehai Min, Yu Li, Wenbo Li, Nan Hu, Yongrui Chen and Guilin Qi, Can ChatGPT Replace Traditional KBQA Models? An In-depth Analysis of GPT family LLMs' Question Answering Performance, Proc. ISWC2023, Part I, pp. 348-367, Athens, Greece, Nov. 2023.  [大山 04] 大山 陽和太, 知識グラフと大規模言語モデルのファクト情報に関する質問応答能力の比較, 大阪 電気通信大学情報通信工学部・情報工学科学・卒業論文,2024.  [脇所 04] 脇所 昂輝, Wikidataを用いた一問一答問題に対する解答生成パターンの分析と評価, 大阪電気 通信大学情報通信工学部・情報工学科学・卒業論文,2024.  [Nandana 03] Nandana Mihindukulasooriya, Sanju Tiwari, Carlos Enguix and Kusum Lata, Text2KGBench: A Benchmark for Ontology-Driven Knowledge Graph Generation from Text, Proc. ISWC2023, Part II, pp. 247-265, Athens, Greece, Nov. 2023.  [Hamed 03] Hamed Babaei Giglou, Jennifer D'Souza and Soren Auer, LLMs4OL: Large Language Models? for Ontology Learning, Proc. ISWC2023, Part I, pp. 408-427, Athens, Greece, Nov. 2023.  [堀田 04] 堀田将吾,ナレッジグラフ推論チャレンジ2023「推理小説部門」応募作品, https://challenge.knowledge-graph.jp/results/results2023.html, 2024.  [鈴木 04] 鈴木陽太,ナレッジグラフ推論チャレンジ2023「一般部門」応募作品, https://challenge.knowledge-graph.jp/results/results2023.html, 2024.  JSAI2024企画セッション-生成AI時代のナレッジグラフ https://challenge.knowledge-graph.jp/jsai2024/