尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

AI药物研发专利分析:检索式、聚类与质量甄别

AI药物研发专利分析:检索式、聚类与质量甄别 简介这份PDF围绕人工智能在药物研发中的专利技术展开系统分析面向医药情报、专利检索与药物研发从业者以及关注“AI新药”交叉方向的研究生和科研管理人员使用。文档以745件相关专利为样本覆盖靶点确定、化合物筛选、临床试验、药物重定向四个研发阶段并涉及文献信息整合、ADMET性质预测、高通量筛选与药物设计等应用场景同时梳理申请量趋势、IPC分类号分布与重点申请人如普梭梅根、博格等的布局思路可用于技术调研、选题立项与专利竞争格局参考。资源为单个PDF文件压缩包约786KB轻量易读电脑与移动端均可直接打开。目前已有31人学习适合希望快速建立AI制药专利全貌、了解机器学习与认知计算等技术演进脉络的读者作为论文写作、情报分析与案头查阅的资料线索。1. AI 药物研发专利分析的边界这份报告要回答什么接到「人工智能在药物研发中的应用专利技术分析」这个题目多数人第一反应是打开专利库搜「AI 药物」导出一张几千条的 Excel。真到交付那天会发现业务方要的不是条数是三个判断句哪条技术路线已经拥挤到没有位置哪个申请人正把靶点发现到临床预测的链路整段圈走哪些分类号下申请量三年没起来但权利要求写得很宽。适合动手做这件事的通常是药企 IP 部门的检索员、研发情报岗、投研分析师也有把人工智能毕业设计或大作业选题放在这里的在校生。前者要可复核的结论后者要可复现的流程要求其实一样分类号要落到号位关键词要有同义词表指标要有明确的计算口径。这活儿最贵的成本不是数据库账号是把技术问题翻译成检索式的那两个小时。检索式翻错一次后面所有聚类、趋势图、对标矩阵全部作废还得重跑一遍。所以整条链路的重心永远在检索式和字段清洗这两步上。2. AI 药物研发专利的检索式搭建与分类号组合2.1 为什么关键词单轨跑不出完整结果AI 药物研发的专利里发明名称写「人工智能」的比例远低于直觉。大量申请写的是「一种基于图神经网络的化合物活性预测方法」「基于对比学习的蛋白—配体结合亲和力评估」标题里一个通用 AI 词都没有。只靠关键词召回这类会被整批漏掉只靠分类号召回又会把大量非 AI 的传统计算化学、分子模拟申请混进来。常见做法是双轨并行关键词轨管「技术表述」分类号轨管「技术落点」两轨用 OR 拼接后取并集。判断检索式好不好不看命中量看种子集漏检率——先手工整理 80 到 100 篇确定相关的专利当种子跑一遍检索式看漏掉多少迭代三轮把漏检率压到 5% 以下再往下一步走。技术上先按落点拆成五段会更稳靶点发现与验证、分子生成与优化、ADMET 与成药性预测、虚拟筛选与分子对接、临床试验设计与患者分层。每一段的表述习惯和分类号落点差别很大拆开建块再合并比一把梭更好调优。2.2 AI 药物研发常用的分类号组合与落点分类号大致含义在 AI 药物研发中的典型落点G06N3/08神经网络的学习方法分子性质预测模型的训练流程G06N20/00机器学习通用 ML 建模、特征工程、模型集成G16B15/30分子对接、虚拟筛选相关结合构象搜索、打分函数G16B15/20生物分子结构分析蛋白结构预测、构象采样G16B40/00生物信息学数据处理组学数据、靶点筛选G16C20/50分子设计相关生成式分子生成、骨架跃迁G16H20/10药物、处方相关技术用药推荐、联合用药方案G16H50/20临床决策支持患者分层、终点预测G06F30/27机器学习辅助设计分子动力学与 ML 混合建模提示具体号位含义以查询当期 CPC/IPC 分类表为准各库的分类号版本可能不同步正式交付前用官方分类表核一遍号位层级。组合逻辑我一般写成「(AI 小类 OR AI 关键词) AND (药物小类 OR 药物关键词)」。跨大类的组合比如 G06N 配 A61P容易漏跨小类的组合G16B/G16C/G16H 之间更稳。落到代码上用集合运算比手敲布尔式更不容易出错。2.3 关键词同义词表中英文、缩写、旧称一起收词族主词必须收进来的同义写法AI 侧人工智能机器学习、深度学习、神经网络、图神经网络、Transformer、大语言模型、生成式、强化学习、迁移学习、联邦学习分子侧药物设计分子设计、化合物生成、从头设计、骨架跃迁、分子优化、SMILES筛选侧虚拟筛选高通量筛选、分子对接、打分函数、结合亲和力、药效团成药性ADMET吸收分布代谢排泄毒性、类药性、水溶性、hERG、肝毒性、渗透性临床侧临床试验患者招募、受试者分层、终点预测、真实世界数据、药物重定位、老药新用组学侧靶点发现靶点识别、通路分析、多组学、单细胞、蛋白结构预测、表达谱英文侧同样要铺开machine learning、deep learning、neural network、de novo design、virtual screening、molecular docking、drug repurposing、ADMET prediction。缩写要单独列出来因为「AI」在说明书里常常被写成「artificial intelligence」全称而权利要求里偏好缩写。2.4 把检索式写成可复现的脚本# build_query.py 生成可粘贴到专利库高级检索框的布尔检索式 AI_TERMS [人工智能, 机器学习, 深度学习, 神经网络, 生成式, 强化学习, 大语言模型] DRUG_TERMS [药物设计, 分子生成, 虚拟筛选, 分子对接, 成药性, 药物重定位, 靶点] CPC_CODES [G06N3/08, G06N20/00, G16B15/30, G16C20/50, G16H20/10] def block(terms, fieldTI,AB,CLM): 把词表拼成带字段限定的 OR 块字段可按库的语法调整 return ( OR .join(f{field}{t} for t in terms) ) ai_block block(AI_TERMS) drug_block block(DRUG_TERMS) cpc_block ( OR .join(fCPC{c} for c in CPC_CODES) ) # 双轨并集关键词交叉 关键词对分类号 query f({ai_block} AND {drug_block}) OR ({ai_block} AND {cpc_block}) print(query)逻辑上是两条腿走路第一条ai_block AND drug_block保证技术主题确实是 AI 加药物覆盖表述规范的申请第二条ai_block AND cpc_block负责捞那些标题里只有化学或临床术语、但分类号落在 AI 相关位置的申请。字段参数TI,AB,CLM建议先只限标题、摘要、权利要求说明书全文命中噪声太大如果某一技术段召回明显偏低再对这一段单独放开到全文。时间维度用申请日而不是公开日。专利申请到公开有 18 个月左右的滞后用公开日画趋势最近两年一定是个假的下坡。法律状态是否包含失效件取决于目的做技术路线识别要包含做 FTO 只留有效和审中。2.5 跑完之后的降噪动作降噪主要靠三招。第一招按分类号排除命中 A61J、A61M 这类给药装置和输注器械的直接剔掉。第二招按申请人白名单复核把命中量排名前 50 的申请人逐个看主业混进来的医疗器械公司、纯软件外包公司标为待定。第三招抽样人工判定从每个技术段随机抽 50 条看标题和首条权利要求相关率低于 80% 就回去加限定词。三招走完命中的数据量通常能压掉三成以上但有效信息基本不损失。3. 专利著录项清洗与指标体系从导出表到能算的 DataFrame3.1 申请人名称归一化是绕不过去的一步同一家药企在专利里可能写成「XX 医药科技有限公司」「XX 医药科技上海有限公司」「XX PHARMA CO., LTD」不归一化申请人排名完全不可信。常见做法是三步去括号内容、去企业后缀、中英文按拼音或统一英文名映射。import pandas as pd, re df pd.read_excel(ai_drug_patents.xlsx) SUFFIX r(有限公司|股份有限公司|有限责任公司|集团|研究院|研究所|株式会社|公司)$ def norm_applicant(name: str) - str: s str(name).strip().upper() s re.sub(r[(].*?[)], , s) # 去掉括号里的地区或分部信息 s re.sub(SUFFIX, , s) # 去掉企业后缀 return s df[applicant_norm] df[申请人].map(norm_applicant) # 专利族去重同一优先权号视为同一件技术只保留首次公开 df[family_key] df[优先权号].fillna(df[公开号]) df[is_first_member] ~df.duplicated(family_key)norm_applicant里对「大学」「学院」不删因为高校改名少、重名也少企业后缀删掉是为了把总公司与各地子公司合并。family_key的回退顺序是先优先权号、没有则用公开号避免缺失优先权号时全部压成一条。做完这一步df[is_first_member]为真的记录才是后续统计的基础否则一件技术布局十个国家会被算十次。3.2 六个口径必须提前定义清楚指标计算方式解读要点年度申请量按申请日分组计数近两年数据会滞后图上要标注简单同族数按 family_key 计数平均值突然升高说明海外布局意愿变强平均权利要求数按公开文本计数偏高通常意味保护范围更细、更贴实施方式平均被引次数剔除申请人自引判断基础专利自引不剔除会虚高前五申请人占比前五申请量 / 总量超过 50% 说明头部集中HHI各申请人份额平方和大于 0.25 属高度集中市场前五个指标都直观HHI 容易被忽略但对判断竞争阶段很有用。算法就是拿每个申请人归一化后、同族去重后的份额平方再求和取值在 0 到 1 之间。数值低说明玩家分散、还在抢地盘数值高说明格局已定新进入者只能找细分空位。3.3 一次性把趋势和集中度算完import pandas as pd base df[df[is_first_member]].copy() base[申请年] pd.to_datetime(base[申请日]).dt.year # 趋势 申请人活跃度申请人数量上升而申请量下降往往进入洗牌期 trend base.groupby(申请年).agg( 申请量(family_key, nunique), 申请人(applicant_norm, nunique), 平均权利要求(权利要求数, mean), ).reset_index() # 集中度 share base.groupby(applicant_norm)[family_key].nunique() / base[family_key].nunique() top5 share.sort_values(ascendingFalse).head(5).sum() hhi (share ** 2).sum() print(trend.tail(8)) print(f前五占比{top5:.3f} HHI{hhi:.4f}) # 区域维度按申请人地址落到地级市可与公开的地级市人工智能专利数据口径做横向比对 base[城市] base[申请人地址].str.extract(r([\u4e00-\u9fa5]{2,8}市))[0] print(base.groupby(城市)[family_key].nunique().sort_values(ascendingFalse).head(10))groupby(申请年)用的是申请日和 2.4 节的原则保持一致。nunique而非count是为了同族去重后仍然准确。extract抓「市」字后缀是个粗糙办法直辖市和海外地址会漏落地时补一张地址映射表更稳。趋势表里「申请人数量」和「申请量」的走势差是最有用的一列两者同涨是扩张期量涨人减是整合期量跌人涨是洗牌期量人齐跌就是退潮。4. 技术路线识别主题聚类与共现网络怎么落到具体分支4.1 文本字段选谁词典怎么建聚类效果七成取决于喂进去的文本。标题太短摘要偏营销说明书写得太细——我一般用「标题 摘要 第一条独立权利要求」拼成一个字段信息密度最合适。分词前要挂两样东西领域用户词典和停用词表。import jieba jieba.load_userdict(domain_dict.txt) # 每行一词靶点、分子对接、药效团、骨架跃迁… STOP set(open(stopwords.txt, encodingutf-8).read().split()) STOP | {本发明, 一种, 方法, 系统, 装置, 所述, 其特征在于, 涉及} def cut(text: str): return [w for w in jieba.cut(str(text)) if w not in STOP and len(w) 1] corpus (df[标题].fillna() 。 df[摘要].fillna() 。 df[独权].fillna()) texts [ .join(cut(t)) for t in corpus]domain_dict.txt必须自建通用词典会把「药效团」切成「药效 团」把「hERG」切碎。停用词表除了通用词还要加专利套话「本发明」「所述」这类词在每篇里都出现留着只会拉平所有文档的相似度。4.2 TF-IDF 加 KMeans把几千条压成七八个分支from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.cluster import KMeans vec TfidfVectorizer( tokenizerlambda t: t.split(), max_features5000, # 只保留权重最高的 5000 个词控制维度 min_df5, # 出现少于 5 篇的词当噪声丢掉 max_df0.6, # 出现在 60% 以上文档的词无区分度丢掉 sublinear_tfTrue, # 用 1log(tf) 抑制高频词 ) X vec.fit_transform(texts) km KMeans(n_clusters8, random_state42, n_init10).fit(X) terms vec.get_feature_names_out() for i, center in enumerate(km.cluster_centers_): top terms[center.argsort()[::-1][:12]] print(f分支{i}: { / .join(top)} 样本数{(km.labels_ i).sum()})min_df5和max_df0.6是两个最影响结果的参数前者调大分支会变得更干净但小分支会消失后者调小能把「药物」「化合物」这类几乎每篇都有的词压下去。sublinear_tf打开后出现 50 次和出现 5 次的词权重差距被压缩长摘要不会被少数高频词主导。分支数先按经验设 8跑完看轮廓系数和样本分布某个分支样本数不足总量的 3% 就并回相邻分支。4.3 聚类结果怎么落回技术分支分支聚类特征词示例常挂分类号观察到的格局靶点发现与组学靶点 / 通路 / 多组学 / 单细胞G16B40/00高校院所占多数蛋白结构预测结构 / 残基 / 构象 / 折叠G16B15/20近三年增速最快分子生成与优化生成 / 骨架 / SMILES / 强化学习G16C20/50企业申请人集中虚拟筛选与对接对接 / 打分函数 / 结合能G16B15/30密度高、单篇权利要求少ADMET 与成药性毒性 / 溶解度 / 渗透性 / 代谢G16C20/50同族规模偏大临床与真实世界招募 / 分层 / 终点 / 依从性G16H20/10与平台类专利混杂这张对照表是聚类结果的下游产物不是输入。做法是拿每个分支的特征词人工命名再用该分支样本的分类号分布反向印证名称对不对——如果「分子生成」分支里 G16C20/50 的占比不到三成说明命名偏了回去看特征词。4.4 共现网络看申请人的技术布局差异import networkx as nx from itertools import combinations G nx.Graph() for _, row in df.iterrows(): apps str(row[applicant_norm]).split(;)[:3] # 只取前三申请人避免巨型团体 for a, b in combinations(apps, 2): G.add_edge(a, b, weightG.get_edge_data(a, b, {}).get(weight, 0) 1) core [n for n, d in G.degree(weightweight) if d 3] pr nx.pagerank(G.subgraph(core), weightweight) for name, score in sorted(pr.items(), keylambda x: -x[1])[:15]: print(f{name}\t{score:.4f})共现的边权是合作次数只取前三个申请人是为了防止高校那种十几个院系署名的记录把网络拉成一团。PageRank 排出来的不是申请量最大的而是「跟谁都能搭上」的节点往往对应平台型机构是判断技术枢纽的好线索。把这张网络和 4.3 的分支表交叉就能看出某家企业在哪几个分支同时有合作方那通常就是它的完整技术链路。5. 专利质量甄别与法律状态跟踪的四个具体技巧5.1 用引证链和 PageRank 挑出基础专利申请量排名只说明谁写得勤引证网络才说明谁被后来者反复踩在脚下。把引证关系建成有向图跑 PageRank权重按引用方向传递排在前面的往往是某个技术分支绕不开的基础件。import networkx as nx G nx.DiGraph() for _, r in citations.iterrows(): G.add_edge(r[引用专利], r[被引专利]) # 边指向被引方向 pr nx.pagerank(G, alpha0.85)alpha0.85是标准阻尼系数调低会让权重更平摊、更容易冒出一堆孤立高被引件调高更强调链式传承。跑完拿前 50 名对照申请人名单如果基础专利集中在两三家手里这个分支的规避设计空间就很窄。5.2 同族规模与法律状态一起看才有意义信号常见含义处理方式同族 ≥ 5 且含美欧日中核心布局愿意长期投入重点阅读权利要求同族 1 且已失效多为防御性公开或放弃项看技术方案可作规避参考同族大但多国已失效布局期判断失误或预算收缩关注其剩余有效地域权利要求数多但独权少保护范围窄靠从属权兜底规避难度反而低同族数要结合时间看。一件 2019 年申请、同族覆盖五地的专利和一件 2024 年申请、目前只进了本地的专利不能放在同一张表里比。做跟踪时按季度拉一次法律状态把「审中」转「授权」和「视为撤回」分开统计撤回率高的申请人其申请量含金量要打折。5.3 权利要求结构比数量更值得读看权利要求不要只看条数。数一下独立权利要求有几条、每条的主题名称是什么一条独权写「一种预测方法」另一条写「一种装置」再一条写「一种存储介质」这是标准的三性布局如果独权里塞满了具体参数和阈值保护范围其实很窄。我一般把独权正文长度也统计出来超过 400 字的独权规避设计的操作空间通常不小。5.4 用分类号订阅做持续监控把这套流程固化下来最省事的做法是按分类号做订阅选定 G16B15/30、G16C20/50、G16H20/10 三个号段加 AI 关键词按月增量拉取新公开件落到同一张表里跑第 3 章的脚本聚焦两个变化量——新进入的申请人名单以及已有申请人在新分支上的首次出现。新面孔在某个分支的第一次申请往往比申请量曲线的拐点早半年到一年出现。本文还有配套的精品资源点击获取
返回列表