1. となりのデータ分析屋さん
  2. 88. Graph RAGで再び注目のグ..
2024-10-30 39:13

88. Graph RAGで再び注目のグラフデータベースとは?ネットワークサイエンスオタクが語る【知識グラフ】【AI】【Neo4j】


番組の感想や、質問はXから「⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠#となりの分析屋⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠」もしくは、以下おたよりフォームからお寄せください! ⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠https://forms.gle/1Qq3cfqYgVXgs5Qr6⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠


=========================

▼書籍の購入はこちらから 超入門 はじめてのAI・データサイエンス(培風館)⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠https://amzn.to/3R3aI9g⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠


=========================

▼りょっち 第3回Japan Podcast Awards受賞Podcast「⁠⁠⁠⁠⁠佐々木亮の宇宙ばなし⁠⁠⁠⁠⁠」はこちら! X (⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠@_ryo_astro⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠) Instagram (⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠@ryo_astro⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠)

▼たっちゃん X (⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠@⁠⁠⁠⁠⁠tatsuki_2022⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠)

サマリー

今回のエピソードでは、グラフデータベースの重要性とその役割について深く掘り下げています。特に、グラフRAGが注目されている背景や、ネットワークサイエンスにおけるその利用方法について語られています。グラフデータベースの特性とその利用方法に焦点を当て、リレーショナルデータベースとの違いやNeo4jのようなサービスについて説明があります。また、パターン検知やリアルタイム性を活かした不正検知の応用についても触れています。グラフデータベースとグラフニューラルネットワークの重要性が再認識されており、具体的な例としてAmazonやブロックチェーンについても言及されながら、データの管理方法や不正検知、新たな技術への関心が語られています。さらに、次回の科学系ポッドキャストのトークテーマやオフラインイベントについても情報が提供されています。

ハロウィンとグラフデータベース
やべぇ、ボケの忘れた。
どうせやったらハロウィンボケしたかったなぁ。
今日ハロウィンじゃない?
ディズニーの歌、ちゃんと抱えてってたのに。
ディズニーのハロウィンの歌?
This is Halloween! This is Halloween!
ハロウィン! ハロウィン! ってやつが。
へぇー。
そんな感じで、ハロウィンに最もふさわしいエピソードと言ってもいいでしょう。
グラフデータベースの話をしていきたいと思います。
どこが?
ハロウィンでしょ。
弱光ランタン、弱光ランタン。
よくわからんけど。
まあそんな感じで、グラフRAGめちゃめちゃ注目度引き続き高いというところで、
グラフ構造で物事を捉えていくのがいいという世の中の風潮がありますが、
そもそもグラフでデータを持っておくための箱。
わかってるかなっていうそんな話。
難しそう。
真面目そう。
真面目だったね今回ね。
めっちゃ真面目だったね。
でもいいんじゃない?なんか技術深めの回だった気もするし。
お勉強会。
お勉強会って感じだね。
はい。
ちょっと前回ぐらいからボケ少ないんじゃないっていうコメントも来てたけど、
まあそのうち復活させていくんでやっていきますよ。
ということで今回はかなり深めの話までできてたと思うんで、
繰り返し聞いてもらえたらいいかなと思います。
それではどうぞ。
隣のデータ分析屋さん。
この番組は隣の席に知らないことを気軽に聞けるデータ分析屋さんがいたらいいなぁ
を叶えるポッドキャストチャンネルです。
データアナリストのりょっちです。
データサイエンティストのたっちゃんです。
今日はグラフデータベースの話をしましょう。
しましょう。
このポッドキャストの再生数いろいろ見てるとグラフラグの話がめちゃめちゃ伸びてるから、
グラフデータベースの基礎
グラフラグ使う時に結構その時は飛ばしたパートになるかなっていうので、
グラフラグ使う時に必要なデータベースだし、
そもそも一旦そのデータベースの存在みんな認識しといた方がいいんじゃねっていう、
そんなハロウィンと一番相性のいい回となっております。
一番真逆だしね。
しかもさグラフラグデータベースってのなんかもう2段も3段も先行っちゃってる気がしてて、
そもそもラグがあって、
でグラフラグがあって、
でグラフラグデータベースって話じゃないですか。
いや違うだろグラフデータベースだから。
ラグは関係ない。
そうかそうか。
そうだからなんか普通にリレーショナルデータベースとか、
そういうのの話をするのに比較的近いみたいな。
あ、今日はラグとは関係ない話?
うん。
えっとね、
一応つなげようと思えばつなげられるというか、
グラフラグをやる時に結局データをグラフ構造で持つんだよっていう話したじゃん。
なんか文章を、
そうだな。
私は侍ですみたいな。
めっちゃジャパニーズ。
そうだな。
私は東京に住んでます。
みたいになった時に、
私っていうノードと東京っていうノードがあって、
それに対して住んでいるっていうリブアットみたいなエッチが結ばれる、
みたいな関係性で文章を整理していくのがグラフラグのベースになる部分なんだよ。
で、そのグラフ構造、今の関係性、
こいつからこいつに対してこういう意味の矢印も出せるよっていう、
この関係性を格納しておく場所がまあ必要じゃん。
データ処理したらデータを置いておく場所が必要で、
そのデータを置いておくデータベースのことをグラフデータベースっていう。
なるほど。だからまあ全く関係ない話ではないってことですね。
ラグとデータベースは。
で、グラフラグがあるからグラフデータベースがあるわけではなくて、
もともとグラフデータベースっていうのはあって、
ただラグが盛り上がってきてグラフラグ盛り上がってきたから、
最近ちょっと注目度上がってるみたいな状態。
なるほど。
じゃあアップデートしていくんですね、今日は。
そうそうそうそう。
俺の中で熱量高いのは単純にグラフラグめちゃめちゃプッシュしてるっていう背景と、
あとネットワークサイエンスゴリゴリですみたいな話があったときに、
ネットワークサイエンスのデータも、
まあ別にグラフデータベースで持たなくてもできることはできるんだけど、
最終的にめちゃめちゃ効率よく進めようとしたらグラフデータベース用意しとかなきゃいけないんだよね。
そう言ってましたもんね、前回とかのエピソードでもね。
そうそうそう。
まあだから簡単に言うとこう、
グラフの分析をするとか、
グラフで物を扱うときにそれに合ったデータベース持っといた方がいいよね、
それがグラフラグですっていう話。
なるほど。はいはいはい、繋がった。
データをグラフで持つがもうね、正直イメージもない。
はいはいはい。
いやまあそうだよね。
どこにどういう風に管理してるのかっていうのも、
データベースって言われてもね、
色んなデータベースあるけどさっぱりイメージがつかん。
でも結構シンプルっちゃシンプルで、
普段みんなが使うデータベースの形って、
いわゆるリレーショナルデータベースってやつじゃない?
はい。
まあSQLとかで処理しやすいような、
まあ簡単に言うとExcelみたいな形で収まっているものというか。
そうだね、テーブル形式で表現できるようなデータの形だよね。
そうそうそうそう。
っていうのを扱ってるじゃん。
で、あれって、なんかこう、たくさんカラムがあって、
決まったもうこの形でデータが格納されてます、
この形で格納されてますっていう定義がびっちり決まっていて、
もう横にバーって長くても、
まあデータとしては特に問題なかったりもするじゃん。
そうだね、列がいっぱいあるとかね、行がいっぱいあるっていう。
で、その中にこう、この列の情報はこいつのことを1位に示してますよっていうプライマリーキーって呼ばれるものを、
なんかこう、持っておくみたいな感じじゃん。
例えばユーザーのIDだったり、それが日時で更新されるんだったら、
日付とユーザーのID、これがセットになって、
このセットはもう1個しかないから、その情報は全部ここに入ってますよみたいな感じだよね。
そうだね。
で、その形になってると。
ただ、じゃあそれがリレーショナルデータベースで、
グラフデータベースって何かっていうと、
データの関係性と利用方法
なんかその、さっきの話みたいに、関係性が格納されている状態になってるので、
ざっくりイメージで言うと、ほんと2列とか3列の情報が入ってるだけのデータベースをたくさん持つみたいな感じ。
もっと展開する方法はたくさんあるから、あくまで一例だと思って、
詳しい人が見たら、それだけじゃねえよってなるのは承知の上でしゃべるけど、
例えば、ほんと3列だけの情報を例えば持つみたいな。
何かっていうと、どこに住んでるかテーブルみたいなのを例えば持つとする。
そうするとその中には、Aさんがどこに住んでるっていうので、
Aさんと住んでる場所っていうのが、ペアで入っているようなデータベースになる。
あとは、銀行のアカウント同士のお金の送金とかってなったら、
アカウントA、アカウントB、これが口座から口座に送金されたペアみたいな。
それに対して3列目があるとしたら、そこにいくら送金されたかみたいな数字が入る。
この1位の関係性が含まれているようなデータをたくさん持っておく場所がグラフデータベースみたいな。
なるほど。シンプルですね、そういう意味だと。
テーブルの中にいろんな情報を盛り込むんじゃなくて。
そうそう。っていうのがたくさんそういうのを持っておくと、
例えば銀行とかのデータとかでもよくそういう持ち方されるらしいんだけど、
人とアカウントID、人と口座番号みたいな感じだね。
人と口座番号のペアのグラフのデータベースがあって、
アカウントからアカウントへの送金のグラフのデータベースがあって、
っていうのを別々でバーって持っておいて、
こいつらをSQLみたいな話で言うとジョインしながらくっつけて、
誰が持ってるこのアカウントから誰が持ってるこのアカウントに送金したっていう情報を取れるように、
なるべくそれがフレキシブルにくっつけられたりできるようにシンプルな形でデータを持ちまくるみたいな、
そういう構造がこのグラフデータベースのベーシックな部分。
似ている用途で使われるのかなっていうのを今聞いてて思って、
どこからどこに送金したとか、何か方向のある動きみたいな情報を持たせるときには結構使えそうだなっていうのと、
パッと聞いてイメージしたのはスポーツとかの対戦票とかも似たような話かなと思ってて、
どことどこが何体なんで勝ったみたいな結果を収めていくだけのテーブルってあるじゃないですか、
星取り票的な、ああいうのでも表現できるのかなっていう、
情報量としてはそれくらいのシンプルなイメージ。
日本シリーズに合わせてきました。
日本シリーズと合わせてきましたよ。
所属の会社、この番組だったらバレてるけど、日本シリーズの対戦のまんまだから。
まんまですからね。裏日本シリーズやってるみたいな感じですからね。
裏日本シリーズ、今のところ2位1位?
今2位1位ですかね。
公開の前日に撮ってるからね。
そうですね。
だからなんかデータ、いろんな種類のデータ触ったことある身からすると、
逆に言うと関係性に特化したグラフだけだから、
それに似たような情報って別にリレーショナルデータベースの方でも持ってたりするじゃん。
確かに。
だから別にグラフデータベースで持たないとできないみたいなことではない。
そのグラフの構造を解き明かすのは。
だからそこまで大きく違うもんかっていうと、
パッと見は一緒なんだけど、
グラフデータベースの特徴
この関係性に特化した形でデータベースが構築されているっていう。
なんかあれですね、ややこしいですね。
関係性に特化されているデータっていうのと、
リレーショナルデータベースっていう従来のデータベースを直訳すると、
リレーショナルだから関係性なんだよね。
確かに確かに。
確かに確かに。
でもあれってリレーショナルデータベースどっちかっていうと、
テーブル間の関係性とかを結構大事にしているというか、
例えばお客さん、ユーザーテーブルとか、商品テーブルとか、店舗テーブルみたいな感じで、
それぞれの関係性がテーブルごとにあるのがリレーショナルデータベースのイメージで、
一方このグラフデータベースってなると、
どちらかというとテーブルの中でのノードとノードの関係性を持たせるデータベースみたいな。
ちょっと関係性の指しているものが違いますよね。
そうだね、そこを強調して持たせるようなところっていう風になってて、
だからちっちゃい塊で結構たくさん持っておいて、
それにプラス各ノードの属性用のテーブルとかも例えば持っておくと、
ユーザーのIDに対してこういう属性バーって付与されてますみたいなやつを、
例えばそのノードに付け加えてあげるとノードの中身の情報もリッチになるし、
関係性はシンプルなデータベースで持っておけるしみたいな感じにできる。
でこっちで持つ理由っていうのは、やっぱシンプルな関係性でバーって持っておくから、
その関係性をものすごく大規模なネットワークとかで、
例えば本当に何十万、何千万人とか何ならFacebookとかだったら何億人とかっていうような構造になったときに、
その関係性を処理するのがリレーショナルデータベースだとめちゃめちゃ重くなる一方で、
グラフデータベース専用のクエリみたいなのがあるのよ。
そうなんだ。
そういうのを処理する。
で、つまりリレーショナルデータベースでSQL使って関係性抽出したら、
テーブルを何個もジョインして一個一個の関係性に絞ってっていう風にやるじゃん。
けどそうじゃなくてグラフデータベースを処理するためのクエリっていうのがあって、
でそのクエリやるとその関係性を処理するのに特化した命令文がたくさんあるのよ。
それによってより高速にパターン検知とかができるっていうメリットもあったりする。
それは何?それ専用の言語があるんですか?
そうそうそうそう。SQLみたいな感じでちょっと覚えなきゃいけないやつがあって、
例えば一番有名なのがそのグラフデータベースで有名なのがNeo4jっていうサービスがあって、
これねグラフ系を触ったことある人とかは絶対聞いたことあるし、
なんならグラフラグとかのやってみたって人たちは大体文章から抽出したその単語同士の関係性のグラフ構造をNeo4jのデータベースに入れて、
それをラグにかけるみたいなことをやってたりするから一番メジャーなのはNeo4jってサービスなのね。
そうなんだ。
Neo4jの中ではCypherっていうそれを処理するグラフ用のクエリがあって、
Cypherクエリ、Cypherクエリとは言わないのかな、Cypherってやつがあって、
そうすると例えばこのユーザーからこのユーザーに対してとか、
このユーザーを起点に5手先までつながってる人たちがいる軍団だけ抽出するとか、
ちょっとSQLで条件つけるときと同じような感じでクエリベースで関係性を抽出してこれる。
そのノード起点でどれくらいの広さまで、長さまで、先のノードまで取得するみたいな、
そういうデータの取り方をするんですか。
そうです。
面白いですね。
なんかSQLとかでそれやろうとすると、まず起点になってる人とつながってる個数が何人いて、
つながってる先の人が持ってるノード数が何人いて、
これをウェア文の中で&で多分条件つけてとかっていうので5人先まで抽出しようとするじゃん。
だからリレーショナルデータベースだとそこまでたどり、パターンを検知しようとするとめちゃめちゃ大変なんだよね。
だけどそういうパターン検知とか関係性を検知するためのクエリのコマンドがたくさん用意されている、
ちょっとSQLとは別のものがあるから、
そのデータベースで持ってけばそのクエリが使える、当てられるみたいな。
そうなんですね。
クラウドのサービスの中にもグラフデータベースを扱うサービスってあるんですか。
あるあるある。多分各クラウドサービスにどんどん入り始めていて、
もともと持ってたんだけど、グラフラグが流行り始めてからその熱量が上がってるっていう感じ。
そうなんですね。やっぱグラフラグきっかけで充実してきてるんだ。
だから、1ヶ月半、2ヶ月前ぐらいに、Google Cloudでもスパナーグラフってやつが入って、
スパナーグラフ、もともとスパナーっていうサービスがあったところに、
もっと扱い、グラフデータ扱いやすくするよみたいな、
ちょっとビフォーとアフターがどう変わってるのか、詳細までは話せないんだけど、
そうやってグラフを解き明かすためのスパナーグラフっていうのが出てたり、
それがどこまで充実してるか、クエリとかデータベースの使いやすさとかっていうのが、
どこまで充実してるかわかんないけど、一応各サービスには入ってるらしい。
じゃあもう一般的に使われるようになってきてるんですね。
できるように、でもただちょっとやっぱコストとかがまだ使う人がたくさんいるわけじゃないから、
そんなに落ちてないっていうのもあるらしい。
Neo4jとそのクエリ
データも出せるのにもそうだし、読み書きするのにもまだコストがちょっと高い。
多分Google Cloudとかで言うと、ビッグクエリとかの方がある程度抑えれる部分はあるはず。
まだ成長途中の、というか多分ここからどんどん整えていくフェーズにあるから。
じゃあやっぱりグラフラグ、自然言語系で使うっていう用途がメジャーなんですか?
いや、元々グラフデータベースっていう概念自体は結構根強く人気もあるし、
それだけで本とか出てるんだよ。一応持っておいてるんだけど。
初めての知識グラフ構築ガイドっていう、これは元々オライリーで英語版出てるやつの翻訳バージョンって感じで、
Neo4jの人が書いてるんだよね、それこそ。
ナレッジグラフってやつですね。
そうそう。ナレッジグラフっていうのは結局グラフラグのベースになってる、読み込ませるデータの話だから。
そういうのが元々あって、だから別にグラフラグの要素これには1ミリも書いてないの。
けどこんだけ分厚い。
じゃあどういう風に使ってるかで言うと、関係性にめちゃめちゃ特化したデータで、
それの特徴としてはリアルタイムにデータ更新ができるデータベースとして持っておくのがいいっていう風に言われていて、
なんでかって言うと、ある行動パターンに乗った人をすぐ検知できる。
パターン検知に強いっていう話したじゃん。関係性のパターン検知。
だから例えばよく使われているのだと、銀行間の送金とかのマネーロンしようとした時に、
マネーロンダリングする時に絶対このノード通るよねとか、めっちゃベーシックな話をするとか、
こういう回し方をしてるのって普通の取引じゃあんまないよねみたいな。
っていう取引のループみたいなのをどんどんそのデータベースにバーって、
どこのアカウントにいくら入ってったみたいなのをバーって入れてって、
そのパターンに検知したやつをアラートとしてあげるみたいなことができるから、
銀行の不正取引とか、あとはクレジットカードで不正に使われた時結構なんか来たりするじゃん、メールとか。
分かります分かります。
あれもその支払い、こんな関係性離れたノードのとこにいきなり支払いのエッジ繋がるみたいなところとか、
はいはいはい。
POSのデータとかを例えば見たらクレジットカードで、
昨日までこの土地にいたのに、次の日ここにいて、で、なんか怪しいところで金いきなり買い物してねとか、
っていうので不正検知みたいなのがされるとか。
うんうんうん。
っていうところのリアルタイムで物の流れとか、っていうどこに繋がったっていうパターンマッチングとかに強いっていう面があるから、
そういった不正検知だったりとか、そういったところに使われてたりもする。
最近、JCBとかめちゃめちゃ厳しいっすよ。
あ、そうなんだ。
もう海外旅行行くって言わないで、海外で決済とかすると、すぐ引っかかって連絡来たり、変な話すぐ止まっちゃう。
へー。
向こうが勝手に止めてくれるんですけど、ありがた迷惑なもので。
たしかに。
マスターカードとかね、ゆるいんすよ。
これ、たぶんその、なんだ、マスターとかビザとか、そういう話で違うんじゃないかなと思うんですけど、もしかしたらカード会社レベルなのかもしれないですけど。
でもあれじゃない?やっぱJCBは国内発行の、一応国内のサービスだから、
国内での決済は安心だけど、海外になると、みたいな。
一方でビザとかマスターとかMexとかってなったら、あれなのかな。
そもそもグローバルに使う体になってるから、そこの敷地はゆるいけど、別のとこがめっちゃ厳しいとかあるかもしれない。
ありそうですよね。たぶんそのセキュリティレベルは設定できるんですけど。
厳しめにしてるんだ。
厳しめになってると連絡来たりしますね。
そういう検知がすぐできるんですね。
不正検知への応用
あとは今まで使われてたので、たぶんたっちゃん的にもあってなるのは、グラフニューラルネットワーク。
レコメンドとかで結構使われるじゃん。
そうですね。
グラフニューラルネットワークって。
あれって従来持ってた特徴量、それぞれ独立な特徴量バーって持ってて、それの総合値で判断するっていうだけじゃなくて、
誰がどれ見てたかっていうのに合わせてそこのエッジに結ばれたからこいつと似てるし、これレコメンドしようみたいな。
そういう消費したコンテンツとユーザーの関係性をベースにレコメンドの商品を出したりするみたいなのがあるから、あれも裏でグラフデータベースである程度持ってる部分はある。
そうっすよね、絶対。
Amazonとかの商品の閲覧履歴とか、似たようなユーザーが、この商品買った似たようなユーザーってこういう商品も買ってますよみたいなところとか。
あれ結構精度高くできるのがグラフニューラルネットワークっすよね。
そうそうそう、だからそれも別にテーブルデータで関係性持っておけばいいっていう話もあるから、一概に言えないんだよね、そのグラフデータベースで持ってるよって訳じゃなくても別にある程度テーブルデータでどうにかなるというか。
そうですね、ただユーザー数が多くなったりとか、アイテム数が多くなった時のその次元数の爆発、結局組み合わせの数、パターン数がどんどん増えていくから。
そうだね。
自分の解決策としてのグラフニューラルネットワークみたいな話もあるので、効率的にデータ持てるんですよね、小さな容量で。
それで使われてたりするから、これまでにもうすでに何回も多分グラフデータベースに対する注目度っていうのは上がっては一定になり、上がっては一定になりみたいな感じで熱量は常に上がり続けてきてたはずだ。
確かに確かに、いやそうだよな。
え、なんかその話聞いて思ったのは、もうブロックチェーンじゃんって思ったんですよ。
あー、はいはいはい。
でもそうだと思うよ。
そうですよね、ビットコインが生まれたのが二千何年?
10年よりも前くらいですよね確かに。
うん、そうだね。
っていうところで同じ仕組み、結局ブロックチェーン同士のブロック同士のつながりを結局どことどこにこのトランザクションが発生したかだけを持たせているものがブロックチェーンなわけで、
それって今のグラフデータベースとまさにそのままなのかなと思っていて。
あーそうだね、そうまさにまさに。
ですよね。
データ、もうちょっとだから複雑にデータを持たせてるから改ざんができないっていう話だけど、でもそう、全員の取引の上で成り立っているから、そのベースにあるのはそうだね、そういうところはあるはず。
それこそイーサリアムとかでトランザクションを作ろうとすると、どこからどこにアドレスの、2つのアドレスのトランザクションだけをデータベースとして持たせて、実際にそこに何を送ったかとか、
メタデータみたいなものはまた別のデータベースに、データベースというかストレージに保存しとく。あくまでそのそこの保存している場所のURLだけをトランザクションに持たせるみたいな仕組みだから。
そうだね。
使い分けをうまくやっている、そのデータの量が大きくならないように、あくまでそのトランザクションだけをデータベースには持たせておいて、重くなるコンテンツはストレージに置いておくみたいな。
はいはいはいはい。
うん。
っていうのが昔から使われてたんだなーっていうのは今思い出しましたね。
確かにそこの発想は、もしかしたらここインスピレーションを受けている可能性はなくはないね。
うん、そうっすよね。
実際にそのパターン検知で、eBayとかの取引を見ながら、不正取引あるなーみたいなところとかを見つけたりもするらしいから。
あ、そうなんね。
そうそうそう。だからそういう不正検知とかに強い、こういう交換の関係性の上に成り立っていると保証できるのか、じゃあそれどんどん積み上げる仕組みにしよう、みたいな発想はあってもおかしくないかも。
うんうんうん。
めっちゃ有名な話の可能性もあるけどね、俺らが今。
としこにーとか言っときながら。
そうね。この世界、業界の人にとって当たり前かもしれないですけどね。
まあでも普段やってなかったら馴染みないというか。
そうだね。
少なくとも自分は馴染みがなかったっすね。
でもだからこうやって持つっていう、なんか方法だけ知ってるだけでも実は広がる世界結構あるなーみたいな。
そうですね。このデータってどうやってデータベースに格納するんだっけっていう話になったときに選択肢として持てるというか。
そうそうそうそう。あとはなんかこう交換のパターン検知。もしかしたらね、こうECサイト作るとかってなったときの、
あの、不正、これなんか悪いことに使われてる気がするぞ、みたいな検出とかには使えるかもしれない。
まあそうですよね。トランザクションっていうのはいろんなとこで起きるから、そのユーザーが購買したという情報もそうだし、ユーザーへのレコメンドとか、
もうなんかログデータそのものってもうトランザクションのもうそのものなんで、それをどう管理するかって結構悩みの種というか。
だから多分あんまりこう、多分ポピュラーなデータの持たれ方ではない。でも使ってるところはめちゃめちゃ使ってるっていう感じ。
ブロックチェーンとの関連
最近はここへの興味も強かったし、まあなんかグラフラグで好んで聞いてくれてた人たちに、追加でね、こういうのがあるよみたいなのを示せていいんじゃないかなというところで。
そうですね。これからもあれなんですかね。やっぱりグラフラグのところで、まだまだ注目は続いていくんですかね。
うーん、そうじゃないかな。この間これの勉強会、オンラインのね、なんか講座みたいなの出たんだよ。
あのオラクルってあるじゃん。で、やってたオンラインのセミナー出たんだけど。
オンラインとオフライン合わせて100とか150人ぐらい。
へー。多いっすね。
で、なんかどっかでやるやつ、この間誰かからリンクもらったんだけど、それもパッと見たらオンラインの参加者数150人とかってなってたから。
すごい。
結構注目、グラフラグっていう文脈でグラフの話がめっちゃ出てくるところは、今ね注目度高そうだね。
へー、どういう人たちがそこにアンテナ張ってやってるんですかね。
いやー、まあなんか、ラグで一山当てようとしたりする人とかじゃない?その、ラグ、今んとこなんかラグで一番最先端というか、
ラグ使いこなしてるって豪語してる人がグラフラグ知らなかったらさすがにやばいぐらいのなってきたときに、
やばいな、グラフラグちゃんとカバーしとかないとみたいな。
日本語でカバーしてるところと、特にねグラフデータベース関連がね、Neo4jの情報以外がまあ取れない。
ああ、そうなんだ。
これはね、正直英語も変わらずって感じ。
うーん。
だから、Neo4jを極めに行くために、まずはNeo4jの情報を集まってるところに行くっていうパターンと、
あとはね、結局それとオープンAIで例えばラグ、API使ってラグ噛ませるみたいなところが、
結構パッケージとして載ってるからいろんな人がやってるやり方を吸収したいっていう、
まあ、技術、注目され始めた技術の例明記みたいな感じなんじゃないかな。
ああ、なるほど。
じゃあまだ一般的に誰もがこう、構築するみたいな、ラグを構築するとかグラフラグでとかって、
なんか、まだプロダクトとしてもこう、どんどん出てきてる、どこの企業も扱えるみたいな状態じゃない気がしていて。
うーん、そうね。
グラフ技術の未来
まだまだかな。
これからなんですかね、そこ。
そうだね、多分その、自分たちが使ってるメインのクラウドサービスにガッツリ入ってるとかってなると、多分扱いやすくはなるから。
そうですよね。
ほらだって、それでね、いきなりNeo4jって全然別サーバーにデータを格納してみたいな話になっちゃうから、
例えばでかい会社とかでやろうとすると、セキュリティ観点をチェックしなきゃいけなくてとか、
今持ってるデータベースでダメなんですかみたいな、なんか倫理の壁とかがあるじゃん、絶対。
そうだよね。
けど、Googleクラウドとかの中に入ってたら、別にテスト的にインスタンスショット立ち上げたいっすぐらいだったら、そんなに細かい倫理とかやんなくていいし。
で、しかも普通のラグからグラフラグにしたときに変わる世界って、単純なマシンラーニングからディープラーニングレベルで変わるかで言うとそんなこともないというか、
そうなんだ。
多分、ちょっとこのモデル流行ってるらしいから使うのちょっと強い版みたいな感じかな。今の感覚ではね。
すぐにパッと使ってみようっていう状況にも、ようやくその準備が整ってきたぐらいなんですかね。
うん、多分そうだと思う。
手元にあるデータをデータベースに入れてみようっていう、まだ状況にもなってないっていうのはリアルなとこな気がする。
いやそう、マジそう。で、しかもあとはそのグラフを扱おうとしたときの学習コストだよね。
はいはいはい、確かにね。
さっきCypherって話したけど、SQLも流派があるじゃん。
まあありますね、いろんな、
PoSGreyとか、
MySQLとかね。
で、BigQueryでも、そうMySQLあって、BigQueryもちょっとさ、こうあの文法違うところあったりとか、
っていうのがある中でCypherっていうのがあって、SparkLっていうのがあって、
で、なんかGQLっていうのもそれと多分並んでるんだと思うんだけど、また別のがあってみたいな。
あ、そうか。
そう、プラットフォームによって採用しているものが違うから、またむずいみたいな。
GQ、グラフQLのこと?また別?
あ、そう、グラフQL。
グラフQLか。
結構ウェブサイト制作とかでもね、使われる、最近使われるようになってきてるよね。
多分グラフQLと一緒だと思う。
うんうん。
あ、そうなんだ。
うちも詳しくないですけど、ウェブサイトを作るときにページをどういうふうに持たせるかみたいなときの効率化の方法の一つとして、
グラフ構造を使ったウェブのフロントとかバックの仕組みみたいなところに使えるよみたいなことを。
あ、そうなんだ。
ちょうどうちのチームのウェブサイトを制作している、フロント側やっているメンバーが、
これ使いたいんでやりますって言って、これまでちょっと教えてもらいましたね。
あ、そうなんだ。俺もね、そこが今のところ一番カバー範囲としては強めだよ。
あ、そうなんですね。
グラフデータベースの重要性
そう、あの、Googleクラウドのスパナーグラフを処理するときのコマンドがGQLってやつに寄ってるから。
あ、そう。
俺もちゃんとそこでクエリ走らせるのがあんまり経験がないから、
うん。
それ触ってみて。
それが今のところ俺の中での唯一の世界だから。
あ、なるほど。
そう、Neo4jもちょっと触ったことあるけど、使いこなせるほどじゃないから、
Cypherとどう違ってどうがいいとかはちょっと分からんみたいな。
でもまあいくつかその流派というかあるんですね。
そう。
大変やそれも。
だるいよね。
勉強するってなると大変ですね。
とかね、まあなんか、あとはデータベーススケールさせるときはリレーショナルデータベースがいいとか、
なんかいろいろね、あるんだよね。
なんかデータサイエンティストが勉強しなきゃいけない、し続けなきゃいけないってこういうことだよねみたいな。
確かにな、広いな。やる範囲が広すぎる。
ね、自分で絞っていくしかないから、興味を持つままにいきましょう。
はいはい。どっちは今グラフに熱いと。
グラフに熱い。
はいはい。いいっすね。
っていう感じで、まあ今回はグラフラグの話が反応が良かったんで、
グラフラグの中で使われるデータベースのお話をさせていただきましたという感じですね。
次回のトークテーマとイベント
はい。
次回。
次回は科学系ポッドキャストのトークテーマ。
境界。
ボーダーです、ボーダー。
また絶妙なワードを持ってきますよね。
これね、あれなのよ。科学系ポッドキャストのトークテーマ始めた時からさ、
科学系ポッドキャストの立ち上げから立ち上げたのですよみたいな話はしてきたけど、
トークテーマやり始めて2年経ったのよ。
おー、なるほど。
2周年イベント。
そして、今週末、科学系ポッドキャストの初オフラインイベント、ポッドキャストシンポジウム開催っていうので、
一応そのシンポジウムの中でも話す内容は境界っていうワードで一応絞ってはいらない。
あー、そうなんですね。
それをポッドキャストの中でもみんなで広げてやろうよみたいな感じ。
なるほど。
で、もうなんかね、過去最多らしいよ、参加者数。
あ、そうなんですか。
今までたぶんね、マックス20番組ぐらいだったのかな。
たぶんね、相当いるよ。どんくらいだろう。30とかいるんじゃないかな。
これは何?科学系のポッドキャストです、私も喋りますって言ったら、あれなんですか、参加できるやつなんでしょうか。
誰でもいける。
あ、なるほど。
誰でもいけます。
えー、じゃあ増えてきてるんですね。その輪が広がってるというか。
そう、なんかね、今回注目度めちゃめちゃ高い。
なんでかは知らん。
新規の人たちもいるんだ。
いるいるいる。あ、この番組も参加してくれんだみたいな。
うんうんうん。
っていう感じになってるからね。
いいっすね。
ワクワクです。
確かに。じゃあ埋もれないように、変なこと喋んないように。
で、じゃあ教会。どんな話するかで言うと、ほら、このポッドキャストのさ、ファーストエピソードかな。
データサイエンティストとデータアナリストの違いって何みたいな。
話しましたね。
話してきたじゃん。
うん。
いやもうね、1年半やってきてさ、やる仕事の内容も変わってきて、まあ教会曖昧じゃねっていうのをさらに実感してる今日この頃なわけですよ。
いやー、同じくですね。
それどころか、俺はデータアナリスト、データサイエンティストとか、プロダクトマネージャーとか勘でみたいな話になってきたけど、たっちゃんに関しては企業とかまで言い始めちゃってるじゃん。
言い始めちゃってますね。
そうそうそうそう。
ってなってくると、いよいよ境目何みたいな話。
何やってんだお前らはと。
そうそうそうそう。
はいはい。
ってなってくるから、1年半のこのタイミングでちょっと一旦そこ見直してもいいんじゃないのっていう。
自分の教会をね。
そう。ちょっと話をしていこうかなっていう。
うんうん。
感じです。
OKOK。
次回は。
じゃあアップデートしていきましょうか。
よいっす。楽しみにしておいてください。
はい。
隣のデータ分析屋さん、今回も面白いなと思ったら番組のフォローとレビューよろしくお願いいたします。
Xのハッシュタグつけて呟いていただけたら嬉しいです。
Xのハッシュタグは隣の分析屋、隣のがひらがなで、分析屋が漢字になっています。
また概要欄に貼ってあるフォームなどなど、いろんなところからコメントできると思うので、そちらからもよろしくお願いします。
それではまた。
バイバイ。
39:13

コメント

スクロール