過(guò)濾教程:用 MeSH 編碼與關(guān)鍵詞精準(zhǔn)篩選科研文獻(xiàn))
paperetl PubMed 高級(jí)過(guò)濾教程用 MeSH 編碼與關(guān)鍵詞精準(zhǔn)篩選科研文獻(xiàn)【免費(fèi)下載鏈接】paperetl ?? ETL processes for medical and scientific papers項(xiàng)目地址: https://gitcode.com/gh_mirrors/pa/paperetlpaperetl 是一個(gè)專為醫(yī)學(xué)與科研論文打造的 ETL 數(shù)據(jù)處理庫(kù)支持將 PubMed XML、ArXiv XML、TEI XML、PDF 和 CSV 等格式的文獻(xiàn)批量解析并加載到 SQLite、JSON、YAML 或 Elasticsearch 數(shù)據(jù)庫(kù)中。本教程將帶你掌握 paperetl 獨(dú)有的高級(jí)過(guò)濾能力通過(guò)MeSH 編碼和關(guān)鍵詞配置文件在處理 PubMed 文獻(xiàn)數(shù)據(jù)時(shí)精準(zhǔn)篩選出你真正需要的科研文獻(xiàn)。為什么需要 MeSH 編碼過(guò)濾PubMed 是醫(yī)學(xué)文獻(xiàn)的權(quán)威數(shù)據(jù)庫(kù)但當(dāng)你從 PubMed 下載頁(yè)面 批量獲取數(shù)據(jù)后數(shù)據(jù)量往往大得令人頭疼——如何只保留與糖尿病相關(guān)的文獻(xiàn)如何排除大量無(wú)關(guān)的噪聲MeSHMedical Subject Headings醫(yī)學(xué)主題詞表是 PubMed 為每篇文獻(xiàn)標(biāo)注的標(biāo)準(zhǔn)化主題詞每個(gè)主題詞都配有唯一的 UI 編碼。用 MeSH 編碼過(guò)濾文獻(xiàn)比單純搜關(guān)鍵詞更精準(zhǔn)、更穩(wěn)定。paperetl 在解析 PubMed XML 時(shí)會(huì)自動(dòng)提取每篇文獻(xiàn)的所有 MeSH 編碼PMB.mesh方法見 src/python/paperetl/file/pmb.py并支持三種過(guò)濾器配置文件過(guò)濾依據(jù)適用場(chǎng)景ids文章 PMID精確導(dǎo)入指定文獻(xiàn)codesMeSH 主題詞 UI 編碼按學(xué)科/主題批量篩選keywords標(biāo)題與摘要中的關(guān)鍵詞捕捉尚未被 MeSH 標(biāo)注的新興研究一鍵配置創(chuàng)建你的過(guò)濾文件paperetl 的過(guò)濾配置非常簡(jiǎn)單三個(gè)純文本文件每行一個(gè)值無(wú)需編寫任何代碼。1?? 先安裝 paperetl需要 Python 3.10pip install paperetl2?? 準(zhǔn)備一個(gè)配置目錄例如paperetl/config在其中創(chuàng)建過(guò)濾文件# paperetl/config/codes —— 每行一個(gè) MeSH UI 編碼 D013679 D003956 # paperetl/config/keywords —— 每行一個(gè)關(guān)鍵詞不區(qū)分大小寫 artificial intelligence deep learning # paperetl/config/ids —— 每行一個(gè) PMID 34567890MeSH UI 編碼可以在 PubMed 檢索結(jié)果的MeSH Terms面板中查看例如搜索你的研究主題展開 MeSH Terms 即可找到對(duì)應(yīng)的 UI 值形如D013679。運(yùn)行 ETL過(guò)濾如何生效將過(guò)濾文件所在目錄作為命令行第 3 個(gè)參數(shù)傳入即可。例如把 PubMed XML 文件放在paperetl/data目錄python -m paperetl.file paperetl/data paperetl/models paperetl/config完成后paperetl/models目錄下會(huì)生成articles.sqlite數(shù)據(jù)庫(kù)其中只包含通過(guò)過(guò)濾的文獻(xiàn)。過(guò)濾邏輯要點(diǎn)實(shí)現(xiàn)見 src/python/paperetl/file/pmb.py 的PMB.process方法多個(gè)過(guò)濾器同時(shí)啟用時(shí)只需通過(guò)任意一個(gè)即保留該文獻(xiàn)OR 邏輯方便寧可多收、不可漏收關(guān)鍵詞過(guò)濾會(huì)匹配標(biāo)題 摘要全文不區(qū)分大小寫未創(chuàng)建過(guò)濾文件時(shí)paperetl 默認(rèn)保留所有解析成功的文獻(xiàn)每篇文獻(xiàn)的 MeSH 編碼還會(huì)寫入tags字段方便入庫(kù)后二次檢索三種過(guò)濾器的組合玩法場(chǎng)景一只導(dǎo)入幾篇特定文獻(xiàn)只創(chuàng)建ids文件寫入目標(biāo) PMID。此時(shí)只有列表中的文獻(xiàn)會(huì)入庫(kù)適合構(gòu)建小規(guī)模高質(zhì)量語(yǔ)料集。場(chǎng)景二按主題批量收集只創(chuàng)建codes文件寫入 3~5 個(gè) MeSH 編碼。例如同時(shí)收集腫瘤D009369和免疫治療D007628相關(guān)文獻(xiàn)一篇文獻(xiàn)命中任一編碼即被保留。場(chǎng)景三MeSH 關(guān)鍵詞雙保險(xiǎn)同時(shí)創(chuàng)建codes和keywords文件。MeSH 保證經(jīng)典主題不遺漏關(guān)鍵詞捕捉新術(shù)語(yǔ)——這是系統(tǒng)綜述前期文獻(xiàn)收集最實(shí)用的組合。不止 SQLite過(guò)濾后的數(shù)據(jù)還能去哪過(guò)濾后的文獻(xiàn)可加載到多種數(shù)據(jù)存儲(chǔ)通過(guò)修改命令第 2 個(gè)參數(shù)即可切換# 加載到 Elasticsearch需先安裝擴(kuò)展pip install paperetl[elasticsearch] python -m paperetl.file paperetl/data http://localhost:9200 paperetl/config # 導(dǎo)出為 JSON 或 YAML 文件便于人工檢查 python -m paperetl.file paperetl/data json://paperetl/json paperetl/config建議先用 JSON 導(dǎo)出人工抽查幾條記錄確認(rèn)過(guò)濾結(jié)果符合預(yù)期后再正式入庫(kù) SQLite 或 Elasticsearch。常見問(wèn)題 FAQQ1過(guò)濾為什么沒(méi)生效確認(rèn)第 3 個(gè)參數(shù)指向的是包含過(guò)濾文件的目錄而非文件本身且文件名必須嚴(yán)格為ids、codes、keywords無(wú)擴(kuò)展名每行一個(gè)值。Q2MeSH 編碼去哪找在 PubMed 網(wǎng)頁(yè)檢索后左側(cè)結(jié)果面板的 MeSH Terms 區(qū)域會(huì)列出每篇文章的主題詞編碼即括號(hào)前的 UI 值也可在 MeSH 數(shù)據(jù)庫(kù)中按主題詞名稱反查編碼。Q3關(guān)鍵詞匹配的范圍關(guān)鍵詞只匹配標(biāo)題和摘要文本含結(jié)構(gòu)化摘要的各小節(jié)不區(qū)分大小寫不做詞干變化。Q4重復(fù)運(yùn)行會(huì)重復(fù)入庫(kù)嗎不會(huì)。paperetl 基于文獻(xiàn)日期自動(dòng)跳過(guò)重復(fù)條目如需完全重建數(shù)據(jù)庫(kù)添加第 4 個(gè)參數(shù)True即可覆蓋重建。總結(jié)能力說(shuō)明? MeSH 編碼過(guò)濾通過(guò)codes文件按主題詞 UI 編碼精準(zhǔn)篩選? 關(guān)鍵詞過(guò)濾通過(guò)keywords文件匹配標(biāo)題與摘要文本? PMID 精確導(dǎo)入通過(guò)ids文件只保留指定文獻(xiàn)? 多過(guò)濾器 OR 邏輯任一過(guò)濾器通過(guò)即保留靈活組合? 多種輸出SQLite / JSON / YAML / Elasticsearchpaperetl 用三個(gè)文本文件的極簡(jiǎn)設(shè)計(jì)把文獻(xiàn)篩選的復(fù)雜度降到了最低——配置過(guò)濾文件、運(yùn)行一條命令你的專屬科研文獻(xiàn)庫(kù)就建好了。更多用法可以參考示例 Notebookexamples/01_Introducing_paperetl.ipynb?!久赓M(fèi)下載鏈接】paperetl ?? ETL processes for medical and scientific papers項(xiàng)目地址: https://gitcode.com/gh_mirrors/pa/paperetl創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考