はじめに langChainはNeo4j(グラフDB)をサポートしています。 今回はそちらの機能(langChain × Neo4j)を使い、ナレッジグラフの作成、検索など以下の実装を試してみます。 llmを使いテキストからグラフを生成 グラフのノード情報からハイブリッド検索(全文検索とベクトル検索)を実行 グラフのリレーションシップ情報からベクトル検索を実行 テキストからハイブリッド検索(全文検索とベクトル検索)を実行 3つの検索(ノード、リレーションシップ、テキスト)を用いたRAG Cypherクエリをllmで生成 → 結果から回答 検索したノードの周辺情報(関係するノードとリレーションシップ)を用いたRAG ナレッジグラフとは ナレッジグラフは情報をグラフ構造によって表したものです (Neo4jにおける)ナレッジグラフはノード(人、場所、物などのオブジェクト)とそれらを繋ぐリレーショ
今回は Munin グラフについて考えます インフラエンジニアの皆さんであればサーバーの状態を把握するために、Cacti, Munin, Zabbix 等のツールを使いロードアベレージ等の数値をグラフ化していることと思います。 今回はどういったグラフを見ておけばよいかを考えます。 私の場合は普段は Munin を使っているため、今回は Munin に特化した話です。 ただ、グラフに対する考え方についてはすべてのツールで共通ですね。 グラフ化する目的は下記の 2点だと思われます トラブル発生時の状態把握を迅速に行うため 中長期でのリソースの消費量増加具合を把握し、パフォーマンスチューニングやリソース増強の前提データとする グラフの用途その1 (トラブル発生時の状態把握を迅速に行うため) 何かサーバートラブルが発生した際には、どこかの箇所で何かの変化が起き、その結果としてサーバートラブルとなっ
統計は、データを集めて集計しただけでは、単なる数字の集まりであり、そこから何が読み取れるか必ずしも明らかではありません。 統計を作成するときは、必ず、「○○について知りたい!」という目的があるはずですから、得られた結果を、その目的に合わせて上手に使うことが重要です。グラフは、結果を視覚的に表す便利な道具であり、グラフをうまく使うことによって、自分の考えていることを相手に的確に伝えることができます。 グラフにはいくつかの種類があり、それぞれ、得手・不得手があります。自分が伝えたい目的に応じて、適切なグラフを使うことにより、説明力もぐっと高まります。ここでは、そういったグラフの種類やそれぞれの用途、注意点について説明します。 グラフの種類 棒グラフ:棒の高さで、量の大小を比較する。 折れ線グラフ:量が増えているか減っているか、変化の方向をみる。 円グラフ:全体の中での構成比をみる。 帯グラフ:
Multi-layer Graph Convolutional Network (GCN) with first-order filters. Overview Many important real-world datasets come in the form of graphs or networks: social networks, knowledge graphs, protein-interaction networks, the World Wide Web, etc. (just to name a few). Yet, until recently, very little attention has been devoted to the generalization of neural network models to such structured datase
adjacency_listのグラフをコピーする際に注意することがあります。 VertexListにlistSなど指定しているとvertex_descriptorはコピー先で使用できないということです。vecSの場合vertex_descriptorは整数インデックスなので問題ないと思いますが他はポインタのようなものなので使用できません。当たり前の話ですが少し嵌ってしまいました。 そこでコピー元に対応するコピー先のvertex_descriptorをどうやって取得したらいいのかということですが、 copy_graph関数をorig_to_copyパラメータと共に使用します。 これで全ての頂点に対してコピー元とコピー先のvertex_descriptorペアが取得できます。 #include <map> #include <iostream> #include <boost/graph/ad
翻訳元ドキュメント : http://www.boost.org/doc/libs/1_31_0/libs/graph/doc/table_of_contents.html 目次 BGLへの序章 歴史 刊行物 謝辞 クイック・ツアー 基本的なグラフ理論の復習 チュートリアル Property Maps The adjacency_list class 例題 ファイル依存関係の例 Kevin Bacon の6次数 Graph Coloring Sparse Matrix Ordering BGL 拡張 BGLでグラフアルゴリズムを構築する Converting Existing Graphs to BGL Boost Graph インタフェイス Graph Incidence Graph Bidirectional Graph Adjacency Graph Vertex List Grap
OpenGM is a C++ template library for discrete factor graph models and distributive operations on these models. It includes state-of-the-art optimization and inference algorithms beyond message passing. OpenGM handles large models efficiently, since (i) functions that occur repeatedly need to be stored only once and (ii) when functions require different parametric or non-parametric encodings, multi
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Boost Graph Library BGL(Boost Graph Library)自体が何であるか、目的は何であるかはこのページにある。 重要な事はBGL自体で完結したグラフライブラリを提供する事ではなく、BGLを使って、汎用的で持続可能なグラフ理論のアルゴリズム作成を支援する事である。 これに関連して、興味深い例が先に掲げたページにあるので、興味のある人は参照して欲しい。 コンセプト:Graph 一般的に、グラフの効率的な実装は状況により異なる。 そのため、様々なグラフの実装が用いられるが、GraphコンセプトはBoost Gr
はじめに 今回は自分が本格的にBoost.Graphを使う必要ができたときにぐぐっても意外と情報の少なかった 頂点や辺を動的に追加したり削除する方法や注意点について書きたいと思います. まず,WebでBoost.graphの日本語情報を探すと,以下のようなものが多いと思います. //ちょうどよかったのでid:futadaさんのコードを引用させて頂きます. たとえば、3個のvertexからなり、vertex 0 -> 1、0 -> 2、1 -> 2の3個のエッジを持つ有向グラフのデータをBoost.Graphを使って作るには以下のようなコードになります。 #include <vector> #include <boost/graph/adjacency_list.hpp> int main() { std::vector<std::pair<int, int> > edge_list = {
世界中で話題になっているパナマ文書。各国で政権を揺るがすような事態にもなっていますが、純粋にデータとしてみた場合、これは計算機やデータ解析に関わる人々にも面白いものだと思います。データの中身や背景などについてはさんざん報道されていますのでここでは触れません。一方、現場でどのような作業が行われているのかはあまり報道されていません。現実的な問題として、人力ではどうしようもない量のリークデータを手に入れた場合、調査報道機関はどんなことを行っているのでしょうか?私も以前から疑問に思っていたのですが、先日あるデータベース企業と、データ分析アプリケーションを作成する会社のブログにて、その実際の一端を窺うことができる投稿がありました: Panama Papers: How Linkurious enables ICIJ to investigate the massive Mossack Fonseca
Gephi が再び Google Summer of Code (GSoC 2011) に認定されました! Google Summer of Code は、世界各地の学生がオープンソースプロジェクトに貢献することができるたいへん優れたプログラムです。詳細はこちら » 応用例 探索的データ解析: リアルタイムでのネットワーク操作による直感的分析。 リンク解析: 特にスケールフリーネットワークにおけるオブジェクト間関係の根本構造の明確化。 ソーシャルネットワーク分析: さまざまなコミュニティ組織やスモールワールドネットワークをマップ化できるソーシャルデータコネクタを簡単に作成可能。 生物学的ネットワーク解析: 生物学的データのパターンを表現。 ポスター制作: 高解像度の印刷可能グラフで学術研究成果をプロモート。 詳細はこちら » 各種のメトリクスを用意 中心性 (Centrality): 社会
はしがき 今回はフロイド法のところで言及したグラフ描画アルゴリズムについて書きます。 私はグラフ描画の世界に関しては何も知らない素人で、このアルゴリズムも古典的な有名どころらしきものを適当に選んだだけなのですが、このアルゴリズムが掲載されている An Algorithm for Drawing General Undirected Graphs は今日の時点で Google Scholar 調べで 1198 の記事から引用されているというとても凄い論文です。 アルゴリズム アルゴリズムはとてもシンプルなもので、グラフの各頂点の現在の描画位置を引数にとるエネルギー関数を定義し、その極小点を Newton-Raphson 法で求めるだけです。 頂点を結ぶ辺は、頂点の位置が定まった後に直線によって描画されます。 よって(入力が平面グラフであっても)辺は交差している場合があります。 エネルギー関数
、人間の魅力にあふれた賢い男性だと思います。 「さくら」が出会えないと文句を言う男は間違っている! あなたは高円寺の出会い掲示板の責任を知っているべきです! 正直なところ、このサイトを利用している女性の約10%が簡単に会…
準備 データ処理用にnumpy、プロット用にpyplot、3次元なのでmpl_toolkits.mplot3dをインポートします。 from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt import numpy as np 描画するデータの作成 3次元で描画するにはメッシュ(2次元の網目)を作成するために2次元の配列を用意する必要があります。 まずarangeメソッドでx,yそれぞれを1次元領域で分割します。 x = np.arange(-3, 3, 0.25) y = np.arange(-3, 3, 0.25) 2次元メッシュを作成するにはmeshgridメソッドを利用します。この関数の戻り値はX,Yに対応する行列で、Xは行にxの配列を、Yは列にyの配列を入れたものになっています。 X, Y =
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く