Ngiêm cấm sử đụng PROXY và VPS vào mục đích trái pháp luật bạn sẽ phải chịu toàn bộ trách nhiệm trước pháp luật khi sử dụng dịch vụ của chúng tôi tks!
Europe PMC API full text status: abstract và toàn văn

Europe PMC API full text status: tách abstract và quyền toàn văn

Chuyên viên Kỹ thuật ProxyVN 04-10-2026 Đang tính... phút đọc

Europe PMC API full text status là việc xác định một bài báo trong Europe PMC có những gì: chỉ metadata, có abstract, có toàn văn đọc được trên web, hay có toàn văn XML được phép tải qua API. Bốn trạng thái này dễ bị gộp làm một, và pipeline thường đoán sai từ một PMID hay một PMCID. ProxyVN gọi API thật cho sáu accession, so hai kiểu kết quả lite và core, rồi thử tải toàn văn XML để ghi lại phản hồi của từng loại quyền.

Europe PMC API full text status: mục tiêu và phạm vi không lặp

Phần này chốt bài toán, đầu ra và ranh giới với bài arXiv.

Bài toán cần giải

Một nhóm khai phá văn bản y sinh có danh sách vài nghìn PMID. Họ muốn tải toàn văn để chạy mô hình trích xuất. Script đầu tiên gọi fullTextXML cho mọi bài có PMCID, và nhận về rất nhiều lỗi 500. Nhóm nghĩ máy chủ đang hỏng. Thật ra phần lớn các bài đó không thuộc tập được phép tải.

Đầu ra nghiệm thu

Đầu ra là bảng accession gồm nguồn, PMID, PMCID, DOI, các cờ isOpenAccess, inEPMC, inPMC, hasPDF, license, danh sách đường dẫn toàn văn theo mức truy cập, và kết quả gọi fullTextXML kèm mã trạng thái. Mỗi dòng có trạng thái cuối: chỉ metadata, có abstract, đọc được trên web, hoặc tải được XML.

Ranh giới với bài arXiv

Blog đã có bài arXiv API bằng Python. arXiv là kho preprint với quy tắc tải riêng. Bài này nói về Europe PMC, nơi gom bài báo y sinh từ nhiều nguồn với nhiều mức quyền khác nhau. Trọng tâm là quyền toàn văn, không phải cách tìm kiếm.

Không suy toàn văn từ abstract

Có abstract không có nghĩa có toàn văn. Đọc được miễn phí trên web không có nghĩa được tải hàng loạt qua API. Bài giữ bốn trạng thái tách biệt và không cho phép pipeline nâng trạng thái chỉ vì một trường gần nghĩa.

Giới hạn của lab

Lab gọi API thật tại www.ebi.ac.uk/europepmc/webservices/rest ngày 05/11/2026, 15 lượt gọi chính và 3 lượt kiểm lại, cách nhau 1 giây, không dùng tài khoản. Trang trợ giúp trên europepmc.org trả 403 cho công cụ tự động, nên lab đọc đặc tả OpenAPI do chính API cung cấp. Lab không vượt trang kiểm tra nào.

Ai nên đọc

Người làm khai phá văn bản y sinh, tổng quan hệ thống hay xây kho tài liệu nội bộ. Người viết pipeline tải toàn văn từ Europe PMC. Người đang gặp lỗi 500 khi gọi fullTextXML và chưa rõ vì sao.

Phân biệt metadata abstracts và quyền full text Europe PMC trong Europe PMC API full text status

Phần này tóm tắt đặc tả API và các trường liên quan tới quyền.

Nguồn tài liệu đọc được

Đặc tả OpenAPI của Europe PMC REST API trả HTTP 200 và mô tả mọi endpoint. Lab đọc phần search, fullTextXML, references, citations và các tham số. Đặc tả trỏ tới tài liệu tham chiếu PDF cho danh sách trường tìm kiếm.

Endpoint search

Endpoint search nhận query, resultType, format, pageSize, cursorMark, sort và synonym. Đặc tả ghi pageSize mặc định 25, tối đa 1000. Phân trang dùng cursorMark: lần đầu để trống hoặc dấu sao, các lần sau dùng nextCursorMark trả về.

Endpoint fullTextXML

Đặc tả mô tả endpoint fullTextXML để lấy toàn văn XML cho tập Open Access trong các bài có toàn văn. Đặc tả ghi mọi bài có toàn văn đều có ID bắt đầu bằng PMC, kèm ví dụ PMC3257301. Hai ý quan trọng nằm ngay trong câu mô tả: chỉ tập Open Access, và ID phải là PMCID.

Use this module to retrieve the full text in XML format for the Open Access subset of our full text publications. (Europe PMC REST API)

Bốn cờ trạng thái

Bản ghi có bốn cờ dạng Y hoặc N: isOpenAccess, inEPMC, inPMC, hasPDF. isOpenAccess nói bài thuộc tập Open Access. inEPMC nói Europe PMC có toàn văn. inPMC nói bài có trong PubMed Central. hasPDF nói có bản PDF. Bốn cờ trả lời bốn câu hỏi khác nhau.

Trường license

Bản ghi core có trường license khi bài có giấy phép mở, ví dụ cc by. Với bài không thuộc tập Open Access, trường này trống. Giấy phép quyết định được làm gì với toàn văn, không chỉ được tải hay không.

Danh sách đường dẫn toàn văn

fullTextUrlList liệt kê các đường dẫn toàn văn kèm availability như Open access, Free hoặc Subscription required, kèm documentStyle như html, pdf, doi và site như Europe_PMC hay DOI. Đây là thông tin cho người đọc trên web, không phải cam kết về API.

Các cờ khác trong bản ghi

Bản ghi còn có hasSuppl cho tài liệu bổ sung, hasTextMinedTerms cho thuật ngữ đã được khai phá, hasBook cho sách. Cả năm bản ghi thật trong lab đều có hasTextMinedTerms là Y, kể cả bài chỉ có abstract. Cờ này nói về dữ liệu khai phá của Europe PMC, không nói gì về quyền toàn văn.

Endpoint khác cùng họ

Đặc tả còn có supplementaryFiles, bookXML, references, citations, databaseLinks và labsLinks. Mỗi endpoint có điều kiện riêng. Bài này chỉ bàn fullTextXML vì đó là chỗ quyền toàn văn được thực thi. Các endpoint khác nên được kiểm bằng cùng phương pháp trước khi đưa vào pipeline.

Bốn trạng thái của bài

Lab dùng bốn trạng thái. Chỉ metadata là khi không có abstract. Có abstract là khi có abstractText nhưng không có toàn văn trong Europe PMC. Đọc được trên web là khi inEPMC là Y nhưng không thuộc Open Access. Tải được XML là khi isOpenAccess là Y, có PMCID và fullTextXML trả 200.

Phân biệt source ID, PMID và PMCID của record trong Europe PMC API full text status

Một bài trong Europe PMC có nhiều ID. Phần này giải thích ID nào dùng vào việc gì.

id và source

Mỗi bản ghi có cặp id và source. Với bài từ MEDLINE, source là MED và id là PMID. Với preprint, source là PPR và id bắt đầu bằng PPR. Cặp này là khóa chính trong Europe PMC, PMID chỉ là một trường hợp.

PMID

PMID là ID của PubMed. Bài có PMID là bài có bản ghi trong PubMed, không nói gì về toàn văn. Bài A5 trong lab có PMID 38366636, inEPMC là N, chỉ có đường dẫn toàn văn Subscription required qua DOI.

PMCID

PMCID bắt đầu bằng PMC, là ID trong kho toàn văn. Bài có PMCID có toàn văn trong PubMed Central và Europe PMC, nhưng chưa chắc thuộc tập Open Access. Ba bài A1, A2, A3 trong lab đều có PMCID, chỉ A1 thuộc Open Access.

ID của preprint

Preprint A4 có id PPR961396, source PPR, không có PMID, không có PMCID. Trường fullTextIdList của nó lại chứa PPR961396. Như vậy fullTextIdList không chỉ chứa PMCID. Mã đọc trường này rồi gọi fullTextXML sẽ gọi bằng ID mà endpoint không hỗ trợ.

DOI là cầu nối

Mọi bài trong lab đều có DOI. DOI dùng để ghép với Crossref, DataCite hay danh sách trích dẫn. Lab tìm bài A2 bằng truy vấn DOI:"10.1038/nature12373" và nhận về PMID 23903748, PMCID PMC4221854.

Bảng ID của sáu accession

Ba loại ID

Ba loại ID

Bảng: Bảng ID của sáu accession

Nhãn

source

id

PMID

PMCID

A1 bài mẫu của tài liệu

MED

22253597

22253597

PMC3257301

A2 bài Nature theo DOI

MED

23903748

23903748

PMC4221854

A3 trong Europe PMC, không OA

MED

36340057

36340057

PMC9602880

A4 preprint

PPR

PPR961396

không có

không có

A5 chỉ có abstract

MED

38366636

38366636

không có

A6 PMCID không tồn tại

PMC

PMC0000001

không có

PMC0000001

Cách chọn accession

A1 là ví dụ trong chính đặc tả. A2 tìm theo DOI. A3, A4, A5 tìm bằng truy vấn có trường lọc như IN_EPMC, OPEN_ACCESS, SRC, HAS_FT, HAS_ABSTRACT và PUB_YEAR, lấy kết quả đầu tiên. A6 là ID bịa để xem phản hồi khi ID sai.

Quy mô của từng nhóm

Truy vấn chọn A3 với IN_EPMC:y AND OPEN_ACCESS:n AND SRC:MED AND PUB_YEAR:2020 có 137326 kết quả. Truy vấn chọn A5 với IN_EPMC:n AND HAS_ABSTRACT:y AND PUB_YEAR:2024 có 598701 kết quả. Truy vấn preprint có toàn văn năm 2024 có 6226 kết quả. Bài có toàn văn trên web mà không thuộc Open Access là một nhóm rất lớn, không phải ca hiếm.

Năm xuất bản

A1 xuất bản năm 2012, A2 năm 2013, A3 năm 2020, A4 và A5 năm 2024. Năm không quyết định quyền. A1 cũ nhất lại là bài duy nhất tải được XML qua endpoint này. Pipeline không nên dùng năm làm tín hiệu cho trạng thái toàn văn.

Truy vấn theo cặp id và source

Để lấy lại đúng một bản ghi, lab dùng truy vấn EXT_ID:{id} AND SRC:{source}. Truy vấn chỉ bằng số có thể khớp nhầm nguồn khác. Cặp id và source là cách gọi một bản ghi không mơ hồ.

Chọn resultType lite/core cho metadata cần dùng trong Europe PMC API full text status

Phần này so hai kiểu kết quả cho cùng bản ghi.

Ba giá trị của resultType

Đặc tả liệt kê idlist chỉ trả ID và nguồn, lite trả metadata chính, core trả đầy đủ metadata. Lab gọi mỗi bản ghi bằng core, rồi gọi lại bằng lite để so tập trường.

lite thiếu gì

Với A1, bản lite thiếu 25 trường so với core, trong đó có abstractText, license, fullTextUrlList, authorList, affiliation, grantsList, meshHeadingList và journalInfo. Các cờ isOpenAccess, inEPMC, inPMC, hasPDF có ở cả hai.

Bẫy license trong lite

Bản lite của mọi bản ghi trong lab đều không có trường license. Mã đọc license từ kết quả lite sẽ thấy None và kết luận bài không có giấy phép mở. A1 có license cc by trong core nhưng None trong lite. Kiểm quyền phải dùng core.

Bẫy abstract trong lite

Bản lite không có abstractText cho mọi bản ghi, kể cả bài có abstract. Pipeline dùng lite để đếm bài có abstract sẽ ra con số 0. Trạng thái có abstract chỉ xác định được từ core.

def search(q, rt="core", n=1):
    r = get("/search", query=q, resultType=rt, format="json", pageSize=n)
    return r.json()["resultList"]["result"], r.json().get("hitCount")
 
core, _ = search("PMCID:PMC3257301")
lite, _ = search("EXT_ID:22253597 AND SRC:MED", rt="lite")
missing = sorted(set(core[0]) - set(lite[0]))

Kích thước response

Trong nhật ký, response search core cho một bản ghi có kích thước khoảng 5900 tới 10500 byte, còn response lite cho một bản ghi khoảng 900 tới 1200 byte. Với trang 1000 bản ghi, khác biệt này thành vài megabyte mỗi trang. Dùng lite cho bước lọc giúp giảm đáng kể dữ liệu tải về.

Khi nào dùng lite

lite đủ khi chỉ cần lọc theo cờ Open Access, năm, nguồn và lấy danh sách ID. Response nhỏ hơn, tải nhanh hơn với trang 1000 bản ghi. Sau bước lọc, gọi core cho những bản ghi cần license và abstract.

Bảng so sánh trường

Lite và core

Lite và core

Bảng: Bảng so sánh trường

Trường

lite

core

id, source, pmid, pmcid, doi

có

có

isOpenAccess, inEPMC, inPMC, hasPDF

có

có

license

không

có khi có giấy phép mở

abstractText

không

có khi bài có abstract

fullTextUrlList

không

có

authorList, affiliation

không

có

Số trường thiếu khác nhau

Số trường lite thiếu so với core khác nhau giữa các bản ghi: 25 với A1, 16 với preprint A4. Lý do là core chỉ trả trường có dữ liệu. So sánh nên làm theo tên trường cần dùng, không theo số trường.

Kiểm availability/license trước fullTextXML trong Europe PMC API full text status

Phần này là kết quả chính: ai tải được toàn văn XML.

A1 thuộc Open Access

A1 có isOpenAccess Y, license cc by, fullTextUrlList có Open access html và pdf trên Europe_PMC. fullTextXML trả HTTP 200, application/xml, 159879 byte. Gốc XML là article, có phần body với 136 đoạn văn. Phần license trong XML ghi bài phân phối theo giấy phép Creative Commons Attribution.

A2 đọc được nhưng không Open Access

A2 có isOpenAccess N, inEPMC Y, inPMC Y, hasPDF Y, license trống. fullTextUrlList có html và pdf trên Europe_PMC với availability Free. fullTextXML trả HTTP 500 với thân JSON ghi Internal Server Error. Gọi lại sau đó vẫn 500.

A3 tương tự A2

A3 có cùng tổ hợp cờ: không Open Access, có trong Europe PMC, có PDF, không license. fullTextUrlList ghi Free cho html và pdf. fullTextXML cũng trả 500. Hai bài của hai nhà xuất bản khác nhau cho cùng một kết quả.

A6 không tồn tại

PMC0000001 không tồn tại. fullTextXML trả HTTP 500 với thân JSON cùng cấu trúc, chỉ khác timestamp và đường dẫn. Từ phía client, bài không có quyền tải và ID không tồn tại trông giống hệt nhau.

A4 preprint

Preprint A4 có isOpenAccess Y, license cc by, fullTextIdList là PPR961396 nhưng không có PMCID. Lab không gọi fullTextXML trong lượt chính. Lượt kiểm lại gọi PPR961396/fullTextXML và nhận 500. Đúng như đặc tả, endpoint này chỉ nhận PMCID.

A5 chỉ có abstract

A5 có abstract trong core, inEPMC N, chỉ có đường dẫn Subscription required qua DOI. Không có PMCID nên không gọi fullTextXML. Đây là trạng thái có abstract: đủ cho phân tích abstract, không có toàn văn từ Europe PMC.

Bảng kết quả theo quyền

Kết quả fullTextXML

Kết quả fullTextXML

Bảng: Bảng kết quả theo quyền

Nhãn

isOpenAccess

inEPMC

license

Đường dẫn web

fullTextXML

Trạng thái cuối

A1

Y

Y

cc by

Open access

200, 159879 B

tải được XML

A2

N

Y

trống

Free

500

đọc được trên web

A3

N

Y

trống

Free

500

đọc được trên web

A4

Y

Y

cc by

Open access

500 (ID PPR)

tải được trên web, không qua endpoint này

A5

N

N

trống

Subscription required

không gọi

có abstract

A6

trống

trống

trống

không có

500

không tồn tại

Thời gian phản hồi

Lượt fullTextXML trả 200 của A1 mất khoảng 3,3 giây cho gần 160 nghìn byte. Các lượt trả 500 mất từ 0,3 tới 1 giây. Thời gian không đủ để phân biệt các ca, nhưng cho biết tải toàn văn chậm hơn nhiều so với tìm kiếm. Pipeline lớn cần tính thời gian này vào kế hoạch chạy.

Loại nội dung của response lỗi

Response 200 có Content-Type là application/xml. Response 500 có Content-Type là application/json với các trường timestamp, status, error và path. Mã đọc kiểm Content-Type trước khi parse XML sẽ không bao giờ cố parse thân lỗi JSON như XML.

500 không phải lỗi máy chủ thật

Ba ca A2, A3, A6 và ca PPR đều trả 500, còn A1 trả 200 ngay trong cùng phút. Máy chủ không hỏng. Mã 500 ở đây là cách API phản hồi khi không có toàn văn Open Access cho ID đó. Thử lại nhiều lần không thay đổi kết quả và chỉ tốn lượt gọi.

Free khác Open access

A2 và A3 có availability Free trên web nhưng không thuộc tập Open Access. Free nghĩa là người đọc mở được trên trang. Open access với license nghĩa là được dùng theo giấy phép, gồm cả tải qua API. Pipeline phải đọc đúng chữ, không coi Free là Open access.

Lưu trạng thái không có quyền toàn văn và không suy từ abstract trong Europe PMC API full text status

Phần này mô tả cách ghi kết quả để không ai hiểu nhầm về sau.

Quyết định trước khi gọi

Pipeline nên quyết định có gọi fullTextXML hay không từ bản ghi core: chỉ gọi khi isOpenAccess là Y, có PMCID và license không trống. Với sáu accession trong lab, quy tắc này chỉ gọi A1, đúng bài duy nhất trả 200. Nó tránh được bốn lượt 500.

def full_text_status(c):
    if not c.get("abstractText") and c.get("inEPMC") != "Y":
        return "chi metadata"
    if c.get("isOpenAccess") == "Y" and c.get("pmcid") and c.get("license"):
        return "can tai XML"
    if c.get("inEPMC") == "Y":
        return "doc duoc tren web"
    return "co abstract"

Ghi lý do không tải

Với mỗi bài không tải, ghi lý do: không thuộc Open Access, không có PMCID, không có license, hoặc fullTextXML trả lỗi. Lý do cụ thể giúp người dùng bảng biết có cách nào khác để lấy toàn văn hợp lệ, như xin quyền nhà xuất bản hay dùng dịch vụ của thư viện.

Không đánh dấu thành công từ abstract

Bài A5 có abstract dài, đủ để chạy mô hình trên abstract. Nhưng trạng thái của nó là có abstract, không phải có toàn văn. Báo cáo của nhóm nên tách số bài phân tích toàn văn với số bài chỉ phân tích abstract.

Lưu XML kèm license

Khi tải được XML, lưu kèm license từ bản ghi core và đoạn license trong XML. Hai nguồn trong lab khớp nhau với A1. Nếu không khớp, giữ cả hai và ghi chú. Giấy phép cc by yêu cầu ghi nguồn khi dùng lại.

Kiểm XML có body

Lab kiểm XML có phần body và đếm đoạn văn. A1 có 136 đoạn. XML trả 200 nhưng không có body, ví dụ chỉ có phần front, nên được coi là chưa có toàn văn. Lab chưa gặp ca này nhưng mã đã kiểm.

Bảng trạng thái cho người dùng cuối

Người dùng bảng thường không cần biết bốn cờ. Họ cần một cột trạng thái bằng lời: tải được XML, đọc được trên web, chỉ có abstract, chỉ có metadata, không tìm thấy. Thêm một cột đường dẫn web cho ba trạng thái đầu, để người cần đọc toàn văn biết mở ở đâu.

Cập nhật trạng thái theo thời gian

Trạng thái của một bài có thể đổi. Bài đang trong thời gian cấm công bố có thể được mở sau đó, preprint có thể có bản PMC khi được xuất bản. Lưu ngày kiểm trạng thái và kiểm lại định kỳ cho những bài chưa tải được.

Ghi nhật ký gọi

Mỗi lượt gọi được ghi đường dẫn, tham số, mã trạng thái, số byte, loại nội dung, thời gian và thời điểm. Nhật ký cho thấy thân lỗi 500 luôn khoảng 150 byte dạng JSON, còn XML thật cỡ trăm nghìn byte. Kích thước và loại nội dung là tín hiệu rẻ để phân loại.

Đầu ra nghiệm thu Europe PMC API full text status: bảng accession availability license và kết quả tải theo quyền nguồn

Phần này gom đầu ra thành bản ghi có thể lưu.

Tệp đầu ra

Lab sinh result.json gồm phiên bản Python và requests cùng số kết quả của ba truy vấn chọn ứng viên. Tệp có sáu dòng accession với cờ, license, đường dẫn, so sánh lite với core và kết quả fullTextXML. Nhật ký 15 lượt gọi nằm cuối tệp. out2.txt ghi ba lượt kiểm lại.

Danh sách kiểm tra

Danh sách nghiệm thu

Danh sách nghiệm thu

  • Mỗi accession có cặp id và source, PMID, PMCID, DOI.
  • Quyền được đọc từ core, không từ lite.
  • isOpenAccess, inEPMC, license được ghi riêng.
  • Free và Open access được tách.
  • fullTextXML chỉ gọi khi có PMCID và Open Access.
  • Mã 500 được ghi là không có toàn văn Open Access, không thử lại vô hạn.
  • Mỗi bài có trạng thái cuối và lý do.

Những gì lab chưa chạy

Chưa thử phân trang cursorMark với nhiều trang. Chưa thử định dạng XML và DC của search. Chưa thử endpoint supplementaryFiles, references, citations, bookXML. Chưa thử bộ tải hàng loạt Open Access của Europe PMC. Chưa đọc trang trợ giúp trên europepmc.org vì trang đó chặn công cụ tự động.

Câu kết luận được phép viết

Câu được phép viết là: trong lab, chỉ bài có isOpenAccess Y và PMCID tải được fullTextXML, còn bài Free, preprint theo ID PPR và ID không tồn tại đều nhận 500. Câu không được phép viết là: mọi lỗi 500 của Europe PMC đều do quyền. Lab chỉ có sáu accession.

Vận hành pipeline tải toàn văn với Europe PMC API full text status

Phần này chuyển kết quả lab thành quy tắc cho pipeline chạy thật.

Lọc trước bằng truy vấn

Thay vì tải bản ghi rồi lọc, đưa điều kiện vào truy vấn: OPEN_ACCESS:y cùng các điều kiện khác. Số bản ghi trả về chỉ gồm bài có thể tải. Với danh sách PMID sẵn có, ghép điều kiện này với danh sách ID theo từng nhóm nhỏ.

Gửi email liên hệ

Đặc tả có tham số email để đăng ký địa chỉ liên hệ với EBI cho tin tức về dịch vụ. Pipeline thật của nhóm nên dùng tham số này hoặc User-Agent có liên hệ. Lab không gửi email nào.

Không thử lại 500 vô hạn

Với fullTextXML, mã 500 trong lab là kết quả ổn định của một ID không có toàn văn Open Access. Pipeline thử lại tối đa một lần sau vài giây, rồi ghi trạng thái. Thử lại nhiều lần làm tăng tải cho máy chủ mà không có lợi gì.

Nhịp gọi trong lab

Lab nghỉ 1 giây giữa các lượt và không gặp mã 429 hay lỗi giới hạn nào. Đây là quan sát với 18 lượt gọi, không phải giới hạn công bố. Với hàng nghìn lượt, giữ nhịp chậm, gửi liên hệ và lưu kết quả để không gọi lại.

Gom ID theo nhóm

Truy vấn search nhận toán tử OR giữa nhiều điều kiện. Thay vì gọi một lượt cho mỗi PMID, có thể gom vài chục PMID vào một truy vấn với OR và pageSize phù hợp. Lab chưa thử cách này, nên chỉ nêu như hướng làm và cần kiểm độ dài truy vấn tối đa trước.

Tải hàng loạt

Với hàng chục nghìn bài Open Access, Europe PMC có kênh tải hàng loạt riêng. Gọi fullTextXML từng bài phù hợp cho danh sách nhỏ. Lab chưa thử kênh tải hàng loạt nên không mô tả chi tiết.

Tôn trọng giấy phép

Toàn văn cc by cho phép dùng lại có ghi nguồn. Các giấy phép khác có thể cấm dùng thương mại hay sửa đổi. Pipeline lưu license cùng XML để người dùng sau biết được làm gì, đặc biệt khi dữ liệu được dùng huấn luyện mô hình.

Tách bước tải và bước xử lý

Bước tải gọi API và lưu XML vào thư mục theo PMCID. Bước xử lý đọc XML từ đĩa, không gọi mạng. Khi mô hình trích xuất thay đổi, chỉ chạy lại bước xử lý. Cách tách này cũng giúp đếm chính xác bao nhiêu bài thật sự có toàn văn.

Đọc toàn văn XML

XML của A1 có gốc article theo cấu trúc JATS thường dùng cho bài báo: phần front chứa metadata, phần body chứa nội dung, tài liệu tham khảo nằm trong ref-list, hình nằm trong fig. Mã trích xuất nên đọc đoạn văn trong body và bỏ qua bảng, hình nếu chưa cần. Đếm đoạn body như lab là phép kiểm nhanh XML có đủ nội dung.

Dữ liệu cho huấn luyện mô hình

Nếu toàn văn được dùng để huấn luyện mô hình, nhóm cần đọc kỹ giấy phép của từng bài và chính sách của Europe PMC về khai phá văn bản. Lưu license theo từng bài giúp lọc tập huấn luyện theo giấy phép về sau. Bài không có license mở không nên vào tập này chỉ vì đọc được trên web.

Báo cáo con số trung thực

Báo cáo cuối nên ghi tổng số PMID đầu vào, số bài có PMCID, số bài Open Access, số bài tải được XML và số bài chỉ có abstract. Năm con số này cho thấy phạm vi thật của phân tích. Một con số duy nhất như số bài đã xử lý dễ gây hiểu nhầm.

Proxy ở đâu trong luồng

API của Europe PMC không cần IP riêng, và quyền toàn văn không đổi theo IP. Proxy chỉ có vai trò khi hạ tầng của nhóm phải đi ra Internet qua một điểm cố định. Khi cần IP tại Việt Nam cho phần tải, anh em có thể mua proxy tại trang chủ ProxyVN. Vai trò của proxy có ở bài Web Scraping proxy là gì, cách ghi chuỗi cấu hình có ở bài định dạng proxy.

Không vượt trang kiểm tra

Trang europepmc.org trả 403 cho công cụ tự động trong lab. Đó là chính sách của trang web, không phải lỗi cần vượt. API trên www.ebi.ac.uk mới là kênh dành cho máy. Pipeline chỉ dùng API.

Europe PMC API full text status: câu hỏi thường gặp

Các câu dưới đây gom những điểm hay bị hỏi.

Có PMCID là tải được toàn văn không?

Không. Trong lab, ba bài có PMCID, chỉ một bài thuộc Open Access tải được fullTextXML.

Vì sao fullTextXML trả 500?

Trong lab, 500 xuất hiện với bài không Open Access, với ID preprint và với ID không tồn tại.

Free có phải Open access không?

Không. Free là đọc được trên web, Open access kèm license mới cho tải qua API.

Nên dùng lite hay core?

core khi cần license, abstract và đường dẫn toàn văn. lite thiếu cả ba trong lab.

Preprint tải toàn văn thế nào?

Preprint A4 có ID PPR và không có PMCID, fullTextXML không nhận ID này. Lab chưa thử kênh khác.

Có abstract thì có toàn văn không?

Không. Bài A5 có abstract nhưng không có toàn văn trong Europe PMC.

Có cần khóa API không?

Không. Lab gọi API không xác thực và không gặp giới hạn nào ở mức 1 lượt mỗi giây.

Europe PMC API full text status và những điều cần nhớ

Europe PMC API full text status phải xác định từ bản ghi core, với isOpenAccess, PMCID và license, trước khi gọi fullTextXML. Lab cho thấy chỉ bài Open Access tải được XML, còn bài Free, preprint và ID sai đều nhận 500 giống nhau. Proxy.vn - Nhà cung cấp dịch vụ proxy chất lượng hàng đầu Việt Nam khuyên anh em lưu bốn trạng thái riêng khi làm việc với Europe PMC API full text status.

TIN TỨC LIÊN QUAN