Skip to content

検索のしくみ v0.116.0 (2026-11-04) で追加 ​

Graphium は、⌘K の Composer、ノート一覧、AI チャットなど、いくつかの場所でノートの中を探します。その裏では 3 つの探し方が動いています。言葉で探す、意味で探す、記録した構造をたどる、の 3 つです。このページでは、それぞれの考え方と、どこで使われているか、もとになった手法を簡単に説明します。

ここに出てくる仕組みは、どれもこの端末の中か、設定した AI モデルを通して動きます。索引はノートから作り直せる控えなので、消しても何も失われず、ノートを書き換えることもありません。

全体像 ​

探し方使われている場所言葉で探す全文の索引(BM25)意味で探す埋め込み(bge-m3)構造をたどるラベル・手順・つながり(PROV)⌘K Composer・ノート一覧チャット: 最初の検索チャット: じっくり調べるチャット: AI が構造をたどる下の 2 つは「じっくり調べてから答える」(既定オフ)をオンにしたときだけ動きます。
場所何に当たるか探し方
⌘K の Composerまずタイトル・見出し・ラベル・作者。続いてノート本文と素材の文字(画像から読み取った文字、PDF、Web ページ)言葉
ノート一覧の検索欄タイトル、画像から読み取った文字、ノート本文言葉
AI チャットの最初の検索(内部参照・外部参照)ナレッジページと、ノート・素材の短い断片言葉+意味を混ぜる
AI チャットでじっくり調べてから答える最初の検索と同じ。言葉は AI が選ぶ言葉+意味
AI チャットで AI が構造をたどるラベルを付けた材料・道具・条件・出力、手順、ノートどうしのつながり構造

言葉で探す: 全文の索引(BM25) ​

ノートを保存すると、Graphium は本文を 600 字ほどの断片に分け、この端末の中の 全文の索引 に入れます。画像から読み取った文字(OCR)、PDF の本文、Web ページの抜粋も、同じ索引に入ります。検索のときは、それぞれの断片に BM25 で点を付けます。その断片に何度も出てくる言葉ほど点が高く、どこにでも出てくる言葉ほど点が低くなる、という考え方です。多くの検索エンジンが何十年も使ってきた方法です。

日本語は言葉の間に空白がないので、ブラウザや OS に組み込まれた分かち書きの仕組みで言葉に分けます。長い言葉は 2 文字ずつの断片(熱電変換 → 熱電・電変・変換)でも入れておくので、切れ目がずれても当たります。

  • 得意なこと: 正確な名前。試料の ID、型番、化学式、人の名前など。
  • 苦手なこと: 同じものの言い換え(「乾燥庫」と「デシケーター」など)。
  • 必要なもの: なし。AI モデルもインターネットも要りません。

索引の中身は 設定 → ストレージ → 検索インデックス で見られます。

意味で探す: 埋め込み ​

埋め込み(embedding)は、文章を数字の並びに変える手法です。意味の近い文章どうしが近くに並ぶように変えるので、数字の近さで意味の近さを測れます。Graphium はナレッジページの節ごとに埋め込みを作っておき、AI に質問したときは質問も埋め込みにして、近い節を選びます。

デスクトップ版の既定の埋め込みモデル bge-m3 は、この端末の中で動きます(最初に 1 回だけダウンロードします)。日本語と英語の両方を扱え、言語をまたいでも当たります。ほかのモデルとの比べ方は 検証の記録 に、動いている間に使うメモリの話は 「おまかせで整える」でデスクトップアプリが 11 GB 使ったのはなぜか にあります。

  • 得意なこと: 言い換え。英語のノートを日本語で探すような、言語をまたぐ質問。
  • 苦手なこと: 正確な名前や数値。もっともらしく見えても、探していた言葉を含まないことがあります。
  • 必要なもの: 埋め込みモデル。無いときはこの部分を飛ばし、言葉の検索だけで動きます。

2 つを混ぜる: 順位の融合(RRF) ​

チャットの最初の検索は両方を動かし、2 つの順位表を RRF(reciprocal rank fusion、順位の逆数で混ぜる方法)で 1 つにまとめます。2 つの点数は尺度が違うので、点数そのものは使いません。それぞれの表での順位から 1 / (60 + 順位) を足し合わせます。両方で上位のものが先頭に来て、片方でしか見つからなかったものにも居場所が残ります。

質問言葉で探す(BM25)意味で探すRRFナレッジページ2,000 字までノートの断片言葉だけ・1,600 字まで1 つずつ [#1]、[#2] … と番号を付けるので、AI が引用でき、リンクからそのページが開きます。

このように、AI が記憶ではなくあなたのノートから答えられるよう、必要な断片を探して渡すやり方を RAG(retrieval-augmented generation、検索で補った生成)と呼びます。Graphium では断片に番号を付け、AI にその番号で引用させます。回答のリンクがノートに戻れるのは、このためです。

構造をたどる: 記録したもの ​

材料・道具・条件・出力にラベルを付けたり、手順を立てたり、ノートどうしをつないだりすると(ラベルと来歴)、小さなグラフが記録されます。何を使い、どの手順で、何から何ができたか、というグラフです。Graphium は、来歴を書き表す Web の標準 W3C PROV に沿ってこれを書き残します。

言葉や意味の検索から見ると、これはただの文字です。グラフをたどると、別の種類の質問に答えられます。

  • 「この炉を使った実験はどれ?」: 本文のどこかにある「炉」という語ではなく、付けたラベルで探します。
  • 「その実験の手順と条件は?」: 手順を順番に、各手順でラベルを付けたものと一緒に読みます。
  • 「この結果はどこから来た?」: そのノートの上流にあるノート・試料・元の資料をたどります。

たどれるのは、ラベルを付けたもの・つないだものだけです。ラベルの無い書き方は、言葉の検索に任せます。

グラフを「貼る」のではなく「たどる」 ​

AI にグラフを渡すよくあるやり方は、質問に近いノードをつながりごと見つけてまとめてプロンプトに貼り、絡まった全体を AI に読み解かせる方法です。Graphium はそうしません。記録したグラフを、AI が 1 歩ずつ 作業する場所 として扱います。

グラフを貼るグラフをたどる(Graphium)
AI が受け取るもの近くのノードとつながりを、一度にまとめて1 回の調べものの結果、次にまた 1 回分
1 歩の形「このノードの近く」という汎用の取り出し記録の意味に沿った調べもの。どのノートがその材料を 使った か、どの手順が 前にあった か、そのノートが何を もとにした か
2 段の質問(「X を使った実験はどれで、温度は?」)貼られた塊の中から、AI が道筋を見つける必要がある1 回目で実験を見つけ、2 回目でその手順を読む
答えの中の事実の出どころ貼った塊のどこか特定の調べものの結果。番号付きで引用される

向きにも意味があります。手順が 使った 材料と、手順が 生み出した 試料は、グラフの上で隣り合っていても別物です。この 2 つを分けて調べれば、入力と出力を取り違えた答えを避けられます。そして AI が使う事実はすべて番号付きの結果として届くので、回答の一つひとつの主張を、もとのノートと照らし合わせて確かめられます。調べた道筋は、回答の下の 調べた手順 に残ります。

じっくり調べてから答える(設定 → AI → チャット)をオンにすると、AI に読み取り専用の道具が渡ります。検索し直す、ページを読む、そして上の構造の調べものです。どれを呼ぶかは AI が決めます。結果を見てから次の一手を選び、最後に答えます。考えることと動くことを交互に行うこの型は、ReAct という手法で知られています。この型で検索することは、agentic search と呼ばれています。

AI が道具を選ぶGraphium が実行この端末の中で・読むだけ引用つきで答える呼ぶ結果答えられるだけ集まったら(5 回ほどまで)調べている間は 1 行ずつ並び、回答の下の「調べた手順」にも残ります。

「X を使った実験はどれで、温度は何度?」のような 2 段の質問にも答えられます。そのかわり、遅くなり、AI の利用量が増え、モデルが道具をうまく使えるかにも左右されます。くわしくは じっくり調べてから答えてもらう を見てください。

出典 ​

  • BM25: S. E. Robertson, S. Walker, S. Jones, M. M. Hancock-Beaulieu, M. Gatford, "Okapi at TREC-3", Proceedings of TREC-3, NIST, 1995(予稿集)。読みやすい解説: S. Robertson, H. Zaragoza, "The Probabilistic Relevance Framework: BM25 and Beyond", Foundations and Trends in Information Retrieval, 2009(doi:10.1561/1500000019)
  • 分かち書き: Unicode Standard Annex #29 "Unicode Text Segmentation"(unicode.org)。ブラウザの分かち書きはこれに沿っています
  • 埋め込み(bge-m3): J. Chen, S. Xiao, P. Zhang ほか, "M3-Embedding: Multi-Linguality, Multi-Functionality, Multi-Granularity Text Embeddings Through Self-Knowledge Distillation", 2024(arXiv:2402.03216)
  • RRF: G. V. Cormack, C. L. A. Clarke, S. Buettcher, "Reciprocal rank fusion outperforms Condorcet and individual rank learning methods", SIGIR 2009(doi:10.1145/1571941.1572114)
  • RAG: P. Lewis, E. Perez, A. Piktus ほか, "Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks", NeurIPS 2020(arXiv:2005.11401)
  • 来歴(PROV): W3C, "PROV-DM: The PROV Data Model", W3C 勧告, 2013(w3.org/TR/prov-dm)
  • 道具を呼びながら考える型: S. Yao, J. Zhao, D. Yu ほか, "ReAct: Synergizing Reasoning and Acting in Language Models", ICLR 2023(arXiv:2210.03629)

Released under the Apache License 2.0.