倒排索引
Parent: ai_keywords
核心定义
倒排索引(Inverted Index)是信息检索系统的核心数据结构,以 词项(Term) 为索引键,记录每个词项出现的 文档ID(DocID) 及位置信息(如词频、偏移量),实现从关键词到相关文档的快速映射。与正向索引(文档→词项)相反,它牺牲存储空间换取查询效率,是搜索引擎、数据库全文检索、自然语言处理应用的基石。
关键技术点
-
词法分析与分词器(Tokenizer)
将原始文本分割为规范化词项(如去除标点、小写化、停用词过滤),并处理复合词(如“阿尔茨海默病”需分词为“阿尔茨海默”“病”)。分词质量直接影响索引精度。 -
词典(Dictionary)与倒排列表(Posting List)
词典存储所有词项及其指向倒排列表的指针。倒排列表通常按DocID排序,并压缩存储(如差分编码、变长编码)以降低磁盘I/O;位置信息用于短语查询和邻近评分。 -
布尔与向量空间查询模型
利用倒排列表进行集合操作(并、交、差)实现布尔检索;结合TF-IDF、BM25等权重模型,计算文档与查询的相似度分数,支持排序输出。 -
动态更新与增量索引
新文档加入时需更新倒排索引。常用策略是维护两个索引(主索引+增量索引),定期合并;或使用B+树结构支持实时插入,避免全量重建。
医学/神经科学应用场景
在 首都医科大学神经病学研究中心,倒排索引被用于构建 多模态临床文本数据库,加速罕见脑病(如肌萎缩侧索硬化症、额颞叶痴呆)的交叉检索。例如:
- 电子病历与影像报告:将患者主诉、神经系统检查描述、MRI/CT报告的文本字段分词,建立倒排索引。医生输入“左侧基底节梗死+构音障碍+MTHFR基因C677T突变”,系统在毫秒级返回所有匹配病例,并支持按发病年龄、认知评分排序。
- 科研文献挖掘:针对百万级神经病学论文(PubMed摘要),利用倒排索引结合领域词库(如神经解剖术语HBP、ICD-10编码)实现“tau蛋白过度磷酸化+海马萎缩”的联合查询,辅助发现阿尔茨海默病新型生物标志物关联。
通过倒排索引,临床与基础研究团队能突破传统SQL结构化查询局限,高效整合非结构化文本与结构化基因/影像表型数据,支撑精准诊疗决策。