<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Cypher on YennJ12 Engineering Blog</title><link>https://yennj12.js.org/yennj12_blog_V4/tags/cypher/</link><description>Recent content in Cypher on YennJ12 Engineering Blog</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Mon, 29 Jun 2026 10:00:00 +0800</lastBuildDate><atom:link href="https://yennj12.js.org/yennj12_blog_V4/tags/cypher/feed.xml" rel="self" type="application/rss+xml"/><item><title>Knowledge Graph 知識圖譜（二）：從零建構 — NER、關係抽取與 Neo4j 實作</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/knowledge-graph-part2-construction-zh/</link><pubDate>Mon, 29 Jun 2026 10:00:00 +0800</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/knowledge-graph-part2-construction-zh/</guid><description>大多數人以為建知識圖譜就是把資料倒進圖資料庫。 正確答案是：難的不是儲存，是把非結構化文字「抽」成乾淨的三元組。 大多數人忽略實體消歧，於是「蘋果公司」和「蘋果（水果）」變成同一個節點。 正確答案是：消歧與對齊，決定了圖的品質上限。
接續 Part 1 Part 1 我們建立了概念：三元組、本體、RDF 與屬性圖。這一篇要從一段純文字開始，走完整條建構管線（construction pipeline），最後把成果存進 Neo4j、用 Cypher 查詢。
一、核心問題：知識從哪裡來？ 知識圖譜的三元組不會憑空出現。來源大致兩類：
結構化資料：資料庫、CSV、API。相對容易，做欄位映射（mapping）即可。 非結構化資料：文章、新聞、PDF、網頁。佔現實世界 80% 以上的知識，但要先「抽取」。 本篇聚焦最難也最有價值的後者。整條管線如下：
┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ 原始文本 │──▶│ 命名實體辨識 │──▶│ 實體消歧/對齊 │──▶│ 關係抽取 │ │ (Raw Text) │ │ (NER) │ │ (Disambig.) │ │ (Relation) │ └──────────────┘ └──────────────┘ └──────────────┘ └──────┬───────┘ │ ┌──────────────┐ ┌──────────────┐ │ │ 圖查詢 │◀──│ 寫入圖資料庫 │◀──────────┘ │ (Cypher) │ │ (Neo4j) │ └──────────────┘ └──────────────┘ 二、Top-Down vs Bottom-Up：兩種建構策略 在動手前，先決定整體策略。這是個影響後續所有工作量的根本選擇。</description></item></channel></rss>