公式スキル · AI 活用
ドキュメントからナレッジグラフを作る
ドキュメントからエンティティと関係を抜き出し、引用と確度つきのトリプル、まとめた正式名、CSV 用の表、Mermaid の図にする。
Claude・ChatGPT・コーディング用の AI で使えます。TeamとBusiness では、Pod に入れた公式スキルが改善のたびに自動で最新版になります。
使う場面
- 多くのドキュメントにまたがって、人・会社・製品のつながりを整理したいとき
- グラフツールや RAG に取り込む CSV が必要なとき
AI に渡すもの
- ドキュメント、または貼りつけた文章
- 重要なエンティティの種類と関係
- 正式名の一覧(任意)
できあがるもの
エンティティの表、引用と確度つきのトリプルの表、Mermaid の図、重複についての未解決の問い。
手順
- 先にエンティティの種類と述語を決める 短い一覧にする。種類は英語の単数名詞(Person、Company、Product、Project)、述語は英小文字の動詞句(works_at、uses、owns、reports_to)。ひとつの意味に述語はひとつ。「〜に雇われている」も「〜で働いている」も works_at にする。
- 一文ずつトリプルを抜き出す 文に書かれていることだけを抜く。各トリプルには、主語、述語、目的語、出典のそのままの引用(60字未満)、ドキュメントと場所を書く。近くに書かれているだけで関係があるとはしない(「同じ段落に出てくる」は関係ではない)。
- 確度をつける high: はっきり書かれている(「山口さんがオービット計画を率いている」)。medium: 書かれているが、ぼかしているか間接的(「いまは山口さんがオービットを回しているようだ」)。low: 文脈からそう読めるだけ。このスキルの既定値: low のトリプルは表には残し、図には入れない。
- 重複をひとつの正式名にまとめる 表記ゆれ(「あおば商事」「アオバ商事」「あおば商事株式会社」)をひとつの正式名にまとめ、別名を記録する。同じ名前の別のものには区別を添える(「マーキュリー(プロジェクト)」「マーキュリー(取引先)」)。2つの名前が同じものか迷ったら、分けたままにして、その問いを書き出す。
- 矛盾を確かめる 両方が同時に正しくはありえない2つのトリプル(山口さん reports_to 森田さん、山口さん reports_to 小林さん)は、両方の出典と日付を添えて挙げる。ドキュメントに日付があるときだけ新しいほうを優先し、なければ未解決のままにする。
- 出力を書く エンティティの表、CSV にそのまま使える形のトリプルの表(結合セルなし、1行にトリプルひとつ)、high と medium のトリプルの Mermaid フローチャート。Mermaid では、空白やかっこを含むラベルを二重引用符で囲み、「end」という単語だけのノード ID は使わない。
SKILL.md の全文
AI が読むファイルそのものです。 ダウンロード
---
name: knowledge-graph-extraction
description: ドキュメントからエンティティと関係を抜き出し、ナレッジグラフにする。エンティティの種類、出典の引用と確度を添えた主語・述語・目的語のトリプル、ひとつの正式名にまとめた重複を、CSV にそのまま使える表と Mermaid の図で出す。誰が誰と仕事をしているか、どの顧客がどの製品を使っているかを整理したいとき、ドキュメントをナレッジグラフにしたいとき、エンティティと関係を抽出したいとき、メモからグラフを作りたいとき、GraphRAG や Neo4j 用のデータを作りたいときに使う。
---
# ドキュメントからナレッジグラフを作る
ナレッジグラフは、主語・述語・目的語の形をした文の集まり(「あおば商事 — uses — カンジョウ」)で、W3C の RDF トリプルと同じ3つの部分からなる。役に立つのは、どの文も出典の一文までたどれ、同じものがいつも同じ名前で書かれているときだけだ。そこでこのスキルでは、どのトリプルにも引用と確度をつけ、図を描く前に重複をまとめる。
## 使う場面
- 議事録、契約書、CRM のメモ、報告書から、人・会社・製品とそのつながりを整理するとき。
- グラフツール(Neo4j、Kumu、スプレッドシートのピボット)や RAG の仕組みに取り込む CSV を準備するとき。
- 多くのドキュメントにまたがって「誰が何とつながっているか」に答えるとき。
- ある分野のクラスやルールを一から設計するためには使わない。エンティティの種類が決まっていなければ、先に ontology-draft を使う。
## 用意するもの
- ドキュメント、または貼りつけた文章。トリプルごとに出典を書けるよう、番号(D1、D2…)を振る。
- 重要なエンティティの種類と関係。指定がなければ、一度読んだうえでエンティティの種類を4〜8個、述語を5〜10個提案し、「[提案]」と書いて先に進む。
- 正式名の一覧があればそれ(顧客リスト、社員名簿)。なければ手順4で作る。
## 手順
1. **先にエンティティの種類と述語を決める。** 短い一覧にする。種類は英語の単数名詞(Person、Company、Product、Project)、述語は英小文字の動詞句(works_at、uses、owns、reports_to)。ひとつの意味に述語はひとつ。「〜に雇われている」も「〜で働いている」も works_at にする。
2. **一文ずつトリプルを抜き出す。** 文に書かれていることだけを抜く。各トリプルには、主語、述語、目的語、出典のそのままの引用(60字未満)、ドキュメントと場所を書く。近くに書かれているだけで関係があるとはしない(「同じ段落に出てくる」は関係ではない)。
3. **確度をつける。** high: はっきり書かれている(「山口さんがオービット計画を率いている」)。medium: 書かれているが、ぼかしているか間接的(「いまは山口さんがオービットを回しているようだ」)。low: 文脈からそう読めるだけ。このスキルの既定値: low のトリプルは表には残し、図には入れない。
4. **重複をひとつの正式名にまとめる。** 表記ゆれ(「あおば商事」「アオバ商事」「あおば商事株式会社」)をひとつの正式名にまとめ、別名を記録する。同じ名前の別のものには区別を添える(「マーキュリー(プロジェクト)」「マーキュリー(取引先)」)。2つの名前が同じものか迷ったら、分けたままにして、その問いを書き出す。
5. **矛盾を確かめる。** 両方が同時に正しくはありえない2つのトリプル(山口さん reports_to 森田さん、山口さん reports_to 小林さん)は、両方の出典と日付を添えて挙げる。ドキュメントに日付があるときだけ新しいほうを優先し、なければ未解決のままにする。
6. **出力を書く。** エンティティの表、CSV にそのまま使える形のトリプルの表(結合セルなし、1行にトリプルひとつ)、high と medium のトリプルの Mermaid フローチャート。Mermaid では、空白やかっこを含むラベルを二重引用符で囲み、「end」という単語だけのノード ID は使わない。
## 出力の形式
````markdown
## エンティティ
| id | canonical_name | type | aliases |
|---|---|---|---|
| E1 | [名前] | [種類] | [別名; 別名] |
## トリプル
| subject | predicate | object | confidence | source_quote | source |
|---|---|---|---|---|---|
| [正式名] | [述語] | [正式名] | high/medium/low | 「[そのままの引用]」 | D[n]、[章 / 行] |
## 図(high と medium のみ)
```mermaid
flowchart LR
E1["[名前]"] -->|[述語]| E2["[名前]"]
```
## 未解決の問い
- [重複の可能性 / 矛盾 / はっきりしない関係]、出典 D[n]、D[n]
````
## 例
**入力:**
D1(商談メモ、5月3日(日)):「あおば商事の山口美緒さんによると、経理部にカンジョウを導入したとのこと。CFO の森田純さんが承認した。」
D2(メール、5月10日(日)):「アオバ商事株式会社がカンジョウ・レポートの追加を希望。今後は西村さんが案件を引き継ぐかもしれないと山口さんが話していた。」
**出力:**
````markdown
## エンティティ
| id | canonical_name | type | aliases |
|---|---|---|---|
| E1 | あおば商事 | Company | アオバ商事株式会社 |
| E2 | 山口美緒 | Person | 山口さん |
| E3 | 森田純 | Person | |
| E4 | カンジョウ | Product | |
| E5 | カンジョウ・レポート | Product | |
| E6 | 西村 | Person | 西村さん |
| E7 | カンジョウ導入 | Project | |
| E8 | カンジョウ案件 | Project | |
## トリプル
| subject | predicate | object | confidence | source_quote | source |
|---|---|---|---|---|---|
| 山口美緒 | works_at | あおば商事 | high | 「あおば商事の山口美緒さん」 | D1、1行目 |
| あおば商事 | uses | カンジョウ | high | 「経理部にカンジョウを導入した」 | D1、1行目 |
| 森田純 | works_at | あおば商事 | high | 「CFO の森田純さん」 | D1、2行目 |
| 森田純 | approved | カンジョウ導入 | high | 「森田純さんが承認した」 | D1、2行目 |
| あおば商事 | interested_in | カンジョウ・レポート | high | 「カンジョウ・レポートの追加を希望」 | D2、1行目 |
| 西村 | may_lead | カンジョウ案件 | medium | 「西村さんが案件を引き継ぐかもしれない」 | D2、2行目 |
## 図(high と medium のみ)
```mermaid
flowchart LR
E2["山口美緒"] -->|works_at| E1["あおば商事"]
E3["森田純"] -->|works_at| E1
E1 -->|uses| E4["カンジョウ"]
E1 -->|interested_in| E5["カンジョウ・レポート"]
E3 -->|approved| E7["カンジョウ導入"]
E6["西村"] -->|may_lead| E8["カンジョウ案件"]
```
## 未解決の問い
- 西村さんはあおば商事の人か、当社の人か。D2 には書かれていない。
- 「カンジョウ導入」と「カンジョウ案件」は同じプロジェクトかもしれない。分けたままにした。
````
## 送る前のチェック
- [ ] どのトリプルにも、出典のドキュメントにそのまま出てくる引用がある。
- [ ] 現実のひとつのものは、ひとつの正式名で出てきて、別名が書いてある。
- [ ] ひとつの意味に述語はひとつで、同じ意味の述語が2つない。
- [ ] 図には high と medium のトリプルだけが入っていて、Mermaid として正しく表示される。
- [ ] 重複の可能性と矛盾は、黙ってまとめず、未解決の問いに挙げている。
## よくある失敗
- 同じところに出てくることを関係とみなす。同じ段落に2つの名前があっても、どうつながるかを書いた文がなければ結ばない。
- 述語の一覧が、ほぼ同じ意味の40個に膨らむ。抜き出す前にまとめる。
- すべてのトリプルを図にする。辺が30本ほどを超える図は読めない。エンティティか種類で分ける。
チームで使う
AI Skill Pod に追加すると、業務委託の方も含めてチーム全員が、自分の AI から同じ版を使えます。 AI スキルをチームで共有する方法を読む
変更履歴
- v1.0.0 · · First release.
出典
出典は英語のページです。
- RDF 1.1 Concepts and Abstract Syntax (2026-11-04に確認)
- Welcome - GraphRAG (2026-11-04に確認)
- Flowcharts Syntax | Mermaid (2026-11-04に確認)
- Ontology Development 101: A Guide to Creating Your First Ontology (2026-11-04に確認)