この記事は情報検索・検索技術 Advent Calendar 2022の21日目の記事です。また、ナレッジグラフ Advent Calendar 2022の21日目の記事です。 検索に関わることなら何でもOKということで、知識グラフ(ナレッジグラフ: KG)を対象とした検索について初歩的な記事を書かせていただきます。すでにこういった記事はたくさんあるとは思いますが、情報が埋もれやすい昨今ですので、一部最新情報を含めて改めてまとめてみました。急いで書きなぐったので誤字脱字等ご容赦ください。。。 対象読者 ・KG初心者 ・情報検索でKGを扱ってみたい人 目次 ナレッジグラフとは 代表的なナレッジグラフ SPARQLを使った検索 DBpedia検索 Wikidata検索 ナレッジグラフ推論チャレンジ【実社会版】 ナレッジグラフとは ここ数年ずっと米ガートナー社のハイプ・サイクル for AIで過
はじめに GraphRAG GraphRAGのKnowledge Graph構築フロー Phase1. Documentの分割 Phase2. Graph情報の生成 Phase3. Graph情報の強化 Community Graph Embedding Phase4. Community情報の要約 Phase5. Documentの処理 Phase6. Graphの可視化 Knowledge Graphに対するクエリフロー Local Search Global Search やってみる セットアップ .envファイルの設定 setting.yamlの設定 Knowledge-Graphの構築 Global Searchを試してみる。 Knowledge-Graphの可視化 まとめ こんにちは、CCCMKホールディングスTECH LABの三浦です。 最近雨の日が続いています。季節の変わり
「GraphRAG」は、Microsoft Researchによって提案された知識グラフを利用した新たな検索拡張生成(Retrieval Augmented Generation; RAG)手法です。知識グラフを利用することでRAGの検索部分を改善し、従来のベクトルベースの手法に比べてより関連性の高いコンテンツを取得することができるとされます。 今回はLangchainで紹介されている方法で GraphRAG を実装し、実際にいくつかの質問をして精度を検証していきます。 参考: GraphRAG: Unlocking LLM discovery on narrative private data - Microsoft Research[1] GraphRAG の特徴 GraphRAGはLLMを用いてドキュメントから知識グラフを構築し、グラフに基づいた検索を行うRAG手法です。この手法では
SSII2020 技術動向解説セッション SS1 6/11 (木) 14:00~14:30 メイン会場 (vimeo + sli.do) グラフ構造をもつデータに対する DNN、すなわち Graph Neural Networks (GNNs) の研究はこの2、3年で参加する研究者が急増している。現状、様々なアーキテクチャの GNN が様々なドメインや様々なタスクで個別に提案され、概観を捉えるのも簡単ではない状態になっている。本チュートリアルは、広範に散らばった GNN 研究の現状についての概観と基盤技術を紹介するとともに、時間が許す範囲でコンピュータビジョン領域における応用例の紹介にも取り組みたい。Read less
第44回インターネットと運用技術研究発表会 https://www.iot.ipsj.or.jp/meeting/44-program/
レコメンド技術 論文メモ Metapath-guided Heterogeneous Graph Neural Network for Intent RecommendationRecommendationembeddingGNN 初めに お盆休み期間にTaobaoを運営しているAlibaba会社2019年に発表したレコメンド技術の論文を読んで、論文中提出した「term embedding」からいくつかのインスピレーションを受けました。特にItemとqueryよりユーザー属性を表すの部分現在でも活用できそうを感じました。 記事内容大体自分の理解を踏まえたの翻訳が多い、一部感想も含めています。 (一部の翻訳はGPT-4より文脈チェックや修正を行っています。) 背景 近年、モバイルeコマースプラットフォームが急速に普及する中、ユーザーの購買意向を正確に予測し、パーソナライズされた推薦を提供する
はじめに GCN,ちゃんと理解していますか? グラフ深層学習屋さんなら誰でも知っている叩き台ことGCNですが,有名すぎてネットのそこら中に実装が転がっていて,コピペすれば動いてしまいます. なんとなく何をしているかは知っていても,具体的な実装を見たことはない……そんな状況を解消するため,GCNの実装を細かいところまで見ます. GCNの論文 Semi-Supervised Classification with Graph Convolutional Networks 基本 GCNは隣接ノード間で属性情報を伝播し,畳み込んでノードの埋め込みとする. 何度か繰り返すと,2-hop, 3-hop先の情報を取れる. 元コード pygcn のリポジトリでGCNが実装されているので,これを見ていきます. import torch.nn as nn import torch.nn.functional
グラフ向けの深層学習ライブラリDeep Graph Library(DGL)の基本的な使い方について紹介します。公式ドキュメントに事例やAPIの説明が詳細に載っていたりチュートリアルも豊富にありますが、DGLの一番基本的な動作(だと個人的に思っている)ノードの特徴量のmessageとreduceという2つの処理について、丁寧に説明している記事がなかったので説明してみます。 Deep Graph Library (DGL)とは? New York UniversityとAWSが開発しているPytorch-basedの(?)グラフと対象としたDeep Learningのライブラリです。 画像や言語など従来よく研究されているデータ構造ではTensorFlow, Pytorch, Chainerなど有名なライブラリがあり、CNNやRNNなどが1つの関数(公式ではbuilding-blocksと言っ
私は以前の記事で、「Graph DBでは、排他制御の設計が難しいのでOLTPに向かないのではないか?」という見解を書きました。 その後、Amazon Auroraの技術的基礎となっているLog-Structured Storageについて学んだり、その他"Append-Only"方式のDB製品があることを知りました。 そうする内に、"Append-Only"方式な設計を適用すれば、Graph DBで極めてスマートにOLTPを実装できるだろうことに気づきました。「更新」の都度、アクティブなノード(Vertex)を表すリンク(Edge)を繋ぎ足すことや、変更履歴となる「チェックポイント領域」の複数のエントリーからのリンクを多重に持つことなどは、Graph DBでは素直に設計することができます。 さらに考えると、(DatomicやCouchDBといった製品を用いないで、)"Append-Only
GraphRAGの簡易検証 ~Azure Document Intelligence, Neo4jを用いて~rag事前学習生成AILLMDocumentIntelligence はじめに 本記事の背景 Retrieval-Augmented Generation(RAG)は、クエリに基づいた情報検索を行い、その結果を基に回答を生成する技術です。これは大規模言語モデル(LLM)の活用法の一つであり、新しい知識や企業文書などに対しても効果的に利用できます。しかし、RAGにはいくつかの課題があり、特に情報の関連付けや意味的理解の不足が精度の低下につながることがあります。 通常のRAGは、主にベクトル類似性を利用して情報を検索します。これは、情報断片の表面的な類似性を評価するものであり、深く複雑な関連性を捉えることが難しいです。また、ベクトル化された情報は独立したエンティティとして扱われるため、文
R Shinyアプリ上でigraphで作成したネットワーク(グラフ)を可視化する方法を自分へのメモもかねて説明します。 誤りや改善点がありましたぜひ教えてください! 【背景】 ネットワーク(つまりノードとエッジでできた下記のようなグラフ)を可視化して、インタラクティブに操作できる簡易なアプリをR Shinyで作りたい。 というのも、すでに行ったRのMarkdownベースで行ったK-popのコラボネットワークの分析レポート(https://dacss.github.io/Social_Networks_Spring_2023/posts/Final_Project_Kpop_network_Erika_Nagai.html#network-overview)をより、見やすくしたかった。 Markdown上でのネットワークのプロットは動的ではないため、ズームができず、大きなネットワークになると
こんにちは、CCCMKホールディングスTECH LAB三浦です。 最近Retrieval-Augmented Generation(RAG)に関する情報を見ていると、ドキュメントデータの格納場所としてVectorDBではなくKnowledge-Graphを使う手法を目にすることが多くなりました。Knowledge-Graphを用いることで、VectorDBによるRAGでは回答が難しい質問にも答えることが出来る場合があります。 今回はRAGにおけるKnowledge-Graphの活用方法から、そもそもKnowledge-Graphとはどのような概念なのか、そしてドキュメントからKnowledge-Graphをどうやって構築するのかについて色々な情報を元に調べてみたのでまとめてみたいと思います。 GraphRAG 最初に、Knowledge-GraphやRAGへの活用について興味を持ったきっか
TL;DR ベクトル検索だと、複数のステップを踏まないと答えられない質問の検索がむずい 「TomにEmil Eifrém(Neo4jのCEO)を紹介してくれる人は?」とかを検索むずい ナレッジグラフは構造化データと非構造化データをうまく扱えてベクトル検索の苦手を補える 課題はあるけどナレッジグラフは、Neo4jとLangchainで構築できるよ。 はじめに 今回はベクトル検索の苦手分野をどうしても補ってあげたいとおもっている筆者やまぐちが、ベクトル検索の苦手を補ってあげられるナレッジグラフに関してまとめていこうと思います。 少々長い記事ですが、ベクトル検索を労ってあげたいと思っている方はぜひ読んでください。 ベクトル検索の限界 以前の記事の最後にも少しだけ記載しましたが、ベクトル検索は以下の問題点があります。 必要な情報がTop Kのドキュメントには含まれていない可能性がある。 チャンクの
グラフ構造を深層学習する PyG (PyTorch Geometric) を Google Colaboratory 上で使ってみました。今回は、Graph Pooling Neural Network を使うことがテーマです。題材として、化学情報学のメインテーマの1つである、分子構造から物性を予測する問題を解いてみます。 PyG (PyTorch Geometric) インストール PyG (PyTorch Geometric) のレポジトリは https://github.com/pyg-team/pytorch_geometric にあります。また、コードはチュートリアルドキュメント https://pytorch-geometric.readthedocs.io/en/latest/index.html を参考にしています。 import os import torch torch
目次 0_前置き 1_ベクトルインデックスの作成 2_ノードの作成 3_ベクトル検索の実行 4_まとめ 0_前置き Neo4jでベクトル検索ができるようになりました。 Neo4jは言わずと知れたグラフデータベースです。ノードとリレーションシップにより、ナレッジグラフを作成することができます。 ChatGPTの登場で、ベクトルデータを効率的に保存するベクトルデータベースの利用が話題になりました。ベクトルデータベースを使えば、ベクトルの類似度等を用いて値を検索することができます。 そしてそんな中、2023年8月頃に、Neo4jもベクトル検索に対応しました。 Neo4jでベクトル検索を利用する Neo4jでは、ノードのプロパティにベクトルの値を格納することで、データベース内の特定のラベルに対して、ベクトル検索を行うことができます。 公式の記事に記されたコードでは、productsラベルを持つノー
データアナリティクス事業本部のueharaです。 今回は、Neptune ServerlessでグラフDBを構築し、最短経路問題を解いてみたいと思います。 Neptuneとは Amazon NeptuneはフルマネージドなグラフDBサービスです。 Neptuneについては以下の記事で紹介されていますので、より詳しく知りたい方は以下をご参考ください。 Neptune Serverlessの構築 NeptuneはServerlessでも構築可能なので、今回はそちらを利用したいと思います。 AWSのマネージドコンソールからNeptuneを検索し、「Amazon Neptune を起動」を選択します。 以下のような画面が表示されますので、まずエンジンのタイプを Serverless で設定します。 バージョンは今回は Neptune 1.2.0.1.R2 を利用します。 DBクラスター識別子は任意
こんにちは。ウォンテッドリーのデータサイエンティストの市村 (@chimuichimu1) です。ウォンテッドリーでは、テクノロジーの力で人と仕事の最適なマッチングを実現するために、推薦システムの開発に取り組んでいます。この記事では、Wantedly Visit で活用されている「相互推薦システム」という技術に注目し、その概要や近年の研究動向を紹介したいと思います。 相互推薦システムとは?相互推薦システムとは一言で言うと「サービス内のユーザーを互いに推薦し合う」システムのことです。一般的な推薦システムでは、ユーザーからアイテムへの嗜好に基づいて、ユーザーに対してアイテムを推薦します。一方で相互推薦システムでは、推薦されるユーザーと推薦を受け取るユーザーの両方の嗜好に基づき、ユーザーに対してユーザーを推薦します。 相互推薦システムのユースケースとしては、ジョブマッチングやオンラインのデーティ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く