Twinkle HubTwinkle Hub

專利關鍵字+語意檢索 (TIPO)

tw_search_patents

專利 · 同一族🇹🇼 台灣唯讀

關鍵字 / Keywords: 專利 智財局 TIPO patent invention 發明 公開案 語意搜尋 關鍵字 BM25 hybrid 先前技術 prior art

檢索台灣專利:發明公開案(標題 / 摘要 / 請求項)+ 新型、設計專利(只比對標題)。

【何時用】找某個技術有哪些台灣專利(先前技術、競品布局、迴避設計)。白話描述或技術關鍵字都可以。

兩路檢索、預設融合(mode="hybrid"):

  • 關鍵字:在標題、摘要、第一項請求項做子字串比對(多個關鍵字以空白分隔,須全部出現), BM25 計分(標題權重最高)。不切詞,所以「熱失控」「鋰電池」這類詞不會因斷詞而漏掉。
  • 語意:Qwen3-Embedding-4B 向量相似度,適合白話描述(「防止電池爆炸的技術」)。
  • 融合:兩路名次以 RRF 合併;每筆標 matched_by 說明由哪一路找到。 mode="keyword" / "semantic" 只走單一路。 最新的專利可能還沒算向量(hit 帶 no_embedding=true),只找得到關鍵字 —— 找近期專利時 query 請含確切技術詞。

參數: query: 白話描述或空白分隔的技術關鍵字,例「防止電池爆炸的技術」「鋰電池 熱失控」 year_from / year_to: 公開日期(西元年)範圍 title_contains / abstract_contains / claim_contains: 硬性過濾(須包含,忽略空白標點) limit: 1..100,預設 20 mode: "hybrid"(預設)/ "keyword" / "semantic" patent_type: "invention" / "utility"(新型)/ "design"(設計);不給 = 全部

回傳: {n_corpus, n_with_embedding, corpus_notice_date_range, mode, n_returned, hits: [{appl_no, notice_no, notice_date, title_zh, abstract_zh, claims_count, matched_by, bm25?, similarity?, rrf?, no_embedding?, granted, patent_no, annuity_paid_until, status, status_label, status_as_of, appl_class, patent_type, text_scope}], status_note, note?, title_only_note?, n_by_class?, corpus_notice_date_range_by_scope?, timing_ms}

權利狀態(每筆):granted(是否有證書紀錄)、patent_no(證書號)、annuity_paid_until (年費繳至)、status = in_force / lapsed / revoked / expired / annuity_overdue / unknown。 狀態來自智慧財產局月更資料,最多落後約一個月,正式狀態以 GPSS 為準。 annuity_overdue = 年費逾期但尚未登錄消滅:不要說成消滅,也不要說成有效。 granted=false 是「上游截至 status_as_of 查無證書紀錄」,不是確定沒獲證。

後續查單件全文(說明書各節 + 全部 claims):tw_get_patent_body(appl_no="112108163")

檢索範圍:發明專利公開案(申請後 18 個月公開)的標題 / 摘要 / 請求項; 新型與設計專利只比對中文標題、只有關鍵字檢索找得到(沒有語意向量、全文尚未收錄)。 每筆的 patent_type / text_scope 說明它是哪一種、比對了哪些文字。

涵蓋年份看 corpus_notice_date_range_by_scope,不要看 corpus_notice_date_range(後者是全部混在一起, 最早年份來自新型 / 設計標題,不代表那時起就有全文 / 語意): full = 發明公開案(標題 + 摘要 + 請求項 + 語意)的 [最早, 最晚] 公開日 title = 新型 / 設計(只有標題、只有關鍵字)的 [最早, 最晚] 公告日 沒有 title 鍵 = 這次建置沒有收錄新型 / 設計;整個欄位不在 = 舊版庫,無法分開,只能看 corpus_notice_date_range。

參數

參數型別說明
query *string—
year_frominteger—
year_tointeger—
title_containsstring—
abstract_containsstring—
claim_containsstring—
limitinteger—
modestring—
patent_typestring—
原始 JSON schema
{
  "properties": {
    "query": {
      "title": "Query",
      "type": "string"
    },
    "year_from": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Year From"
    },
    "year_to": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Year To"
    },
    "title_contains": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Title Contains"
    },
    "abstract_contains": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Abstract Contains"
    },
    "claim_contains": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Claim Contains"
    },
    "limit": {
      "default": 20,
      "title": "Limit",
      "type": "integer"
    },
    "mode": {
      "default": "hybrid",
      "title": "Mode",
      "type": "string"
    },
    "patent_type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Patent Type"
    }
  },
  "required": [
    "query"
  ],
  "title": "tw_search_patentsArguments",
  "type": "object",
  "additionalProperties": false
}

呼叫​方式

起手式——參數見上表
tw_search_patents({ query: "…" })