Files
backend/docs/13-文献数据质量报告.md
T
34047007@qq.com a6cd99a4ca
CI / backend (push) Canceled after 0s
CI / frontend (push) Canceled after 0s
feat: initial commit - oncology literature search platform
OncoLit: a multi-tenant oncology literature search, feed, and
collaboration platform. Built with FastAPI + Vue 3 + PostgreSQL.
Includes PubMed pipeline, drug approvals, AI summaries, and
systematic review tools.
2026-07-27 07:59:18 +08:00

7.2 KiB
Raw Blame History

文献数据质量报告

报告日期:2026-07-24 数据来源:本地 PostgreSQL 数据库(scilit_dev 总文献数:1,662 篇 数据来源分布:seed_data = 110, pubmed_api = 1,552


1. 字段覆盖率总览

基础字段

字段 覆盖数 覆盖率 数据类型 状态
pmid 1,662 100.0% INTEGER 完整
title 1,652 99.4% TEXT 完整
abstract 1,550 93.3% TEXT 充分
doi 1,548 93.1% VARCHAR(255) 充分
journal 1,662 100.0% VARCHAR(255) 完整
journal_issn 1,662 100.0% VARCHAR(20) 完整
journal_iso 0 0% VARCHAR(100) 缺失
pub_year 1,662 100.0% INTEGER 完整
pub_date 1,148 69.1% DATE ⚠️ 部分
volume 1,292 77.7% VARCHAR(20)
issue 1,247 75.0% VARCHAR(20)
pages 1,117 67.2% VARCHAR(50)
language 1,644 98.9% VARCHAR(10) 充分
pmc_id 9 0.5% VARCHAR(20) Bug
is_oa 9 0.5% BOOLEAN Bug
retracted 0 0% BOOLEAN (全库无撤稿)

JSON 字段

字段 非空计数 覆盖率 数据类型 状态
authors 1,659 99.8% json 完整
pub_types 1,557 93.7% json 充分
mesh_headings 845 50.8% json ⚠️ 部分
study_design 1,552 93.4% json 充分
chemical_list 508 30.6% json ⚠️ 部分
grants 323 19.4% json ⚠️ 部分
databank_list 29 1.7% json 缺失
suppl_mesh_list 19 1.1% json 缺失
keywords 0 0% json 缺失
gene_symbols 0 0% json 缺失
retraction_details 0 0% json (全库无撤稿)
full_text_sections 7 0.4% json 仅 PMC OA 实验

TSVECTOR 字段

字段 覆盖数 覆盖率 状态
search_tsv 1,662 100.0% 完整(但无 setweight

日期间相关字段

字段 覆盖数 覆盖率 状态
pub_date 1,148 69.1% ⚠️ 部分
article_date 1,148 69.1% ⚠️ 部分
pubmed_revised 1,552 93.4% 充分
date_completed 558 33.6% ⚠️ 部分
publication_status 1,552 93.4% 充分
citation_status 879 52.9% ⚠️ 部分

2. 坏数据诊断

2.1 关键 Bug

# 问题 影响 根因
1 journal_iso 0% [TA] 缩写期刊搜索不可用 XML 解析器已解析但 Europe PMC 路径未解析?实际检查代码第 533 行已解析,但 seed_data 无此字段
2 keywords 0% [OT] 关键词搜索不可用 XML 解析器第 500-503 行已解析,需检查 seed_data 和 Europe PMC 路径
3 pmc_id 仅 9 篇 [PMC] 搜索不可用,PMC OA 全文抓取不可用 XPath 上下文 Bugarticle.findall → 应改为 article_elem.findall
4 tree_numbers 0 行 所有 [MH]/[MAJR] 查询 0 结果 NLM mtrees.bin 未导入,import_mesh_tags.py 未执行
5 suppl_mesh_list 仅 1.1% 补充 MeSH 搜索不可用 解析器已实现但 NLM 数据量小

2.2 数据异常

问题 详情
年份集中 1,604/1,662 (96.5%) ∈ 2026,早期文献极少(仅有 58 篇 2025 年)
被引为 0 中位被引次数为 0,平均值 0.6
标签稀疏 每篇文献中位仅 1 个标签(P99=6),28/99 标签关联 0 篇文献
标签来源单一 99 个标签全部 source=manual,无 meshauto 来源标签
中文极少 35/1,662 (2.1%) 中文文献

3. 标签统计

标签来源分布

来源 数量 Active
manual 99 True

global_tag_tree_numbers0 行(空表)

文献-标签关系

指标
总关联数 997
is_major=True 946 (94.9%)
is_major=False 51 (5.1%)
每篇标签 P50 1
每篇标签 P75 2
每篇标签 P90 5
每篇标签 P99 6
未使用标签 28 个(0 篇文献关联)

Top 10 标签覆盖率

标签 关联文献数
标签 #1 66
标签 #2 62
标签 #3 55
标签 #4 51
标签 #5 50
标签 #6 50
标签 #7 48
标签 #8 47
标签 #9 44
标签 #10 41

4. pubmed_api 来源字段质量

1,552 篇 source=pubmed_api 的字段覆盖:

字段 coverage 说明
publication_status 1,552 (100%) ppublish=544, epublish=530, aheadofprint=478
citation_status 879 (56.6%) MEDLINE=502, Publisher=254, In-Process=64, PubMed-not-MEDLINE=59
language 1,534 (98.8%) eng=1,496, en… 等
study_design 1,552 (100%) 自动分类结果
trial_reg ~93% 大部分有(即使空对象)
chemical_list ~31% 部分文献有化学列表
grants ~21% 部分文献有基金信息
databank_list ~2% 极少
suppl_mesh_list ~1% 极少
full_text_sections 7 仅实验性抓取

5. 优先改进项

P0(影响搜索基础功能)

改进项 当前 目标 方法
journal_iso 覆盖率 0% → 100% 修复 seed_data 和 Europe PMC 路径的 journal_iso 解析
tree_numbers 0 行 → 全量 运行 import_mesh_tags.py 导入 NLM mtrees2025.bin
is_negative_result 仅 pubmed_api 有 → 所有 构造函数补全 + seed_data 回填
构造函数 5 字段 部分缺失 → 全部 代码修复

P1(影响搜索能力)

改进项 说明
keywords 覆盖率 0% → 有数据 修复 keyword 解析器路径
pmc_id 覆盖率提升 XPath Bug 修复后运行 pipeline 回填
entrez_date 新字段 PubmedData/History 解析
grants Europe PMC 路径补全 grants 从 Europe PMC JSON 解析

P2(影响搜索体验)

改进项 说明
缺失索引(6 个) B-tree + GIN + trigram
JSON 列 json → jsonb 启用 @> 等运算符
GlobalTagTreeNumber 导出 模型导出修复

6. 数据库索引现状

当前索引

ix_global_literature_pub_date    B-tree (pub_date)
ix_global_literature_search_tsv  GIN (search_tsv)
ix_global_literature_pmid        UNIQUE B-tree (pmid)
ix_global_literature_doi         UNIQUE B-tree (doi)

缺失索引

索引 类型 用途
ix_global_literature_journal_iso B-tree [TA] 期刊缩写搜索
ix_global_literature_pub_types GIN jsonb_path_ops 文献类型筛选
ix_global_literature_study_design GIN jsonb_path_ops 研究设计筛选
ix_global_literature_retracted B-tree 撤稿过滤
ix_global_literature_language B-tree [LA] 搜索
ix_global_literature_grants GIN [GR] JSONB 搜索
ix_global_literature_chemical_list GIN [NM] JSONB 搜索