TRƯỜNG ĐẠI HỌC QUY NHƠN KHOA CÔNG NGHỆ THÔNG TIN TIỂU LUẬN HỌC PHẦN XỬ LÝ NGÔN NGỮ TỰ NHIÊN Đề tài MÔ HÌNH ĐƯỜNG ỐNG DỮ LIỆU NLP DỰA TRÊN HỌC SÂU ĐỂ TRÍCH XUẤT THÔNG TIN TỪ TÀI LIỆU QUÉT EHR Người thự[.]
Trang 1KHOA CÔNG NGHỆ THÔNG TIN
TIỂU LUẬNHỌC PHẦN: XỬ LÝ NGÔN NGỮ TỰ NHIÊN
Trang 2I GIỚI THIỆU 5
II TÓM TẮT 5
III TỔNG QUAN 6
CÔNG VIỆC LIÊN QUAN 7
Trích xuất thông tin từ các tài liệu được quét trong EHRs 7
Kỹ thuật OCR 8
PHƯƠNG PHÁP 8
Nguồn dữ liệu 8
Xử lý trước hình ảnh 9
Nhận dạng ký tự quang học 9
Phân đoạn văn bản 10
Phân loại văn bản 10
Mô hình túi của từ 10
Mô hình trình tự dựa trên học sâu 11
Đào tạo và đánh giá mô hình 14
Phân tích hiệu ứng kích thước tập huấn luyện 16
Phân tích xác thực độc lập 17
KẾT QUẢ 17
THẢO LUẬN 22
KẾT LUẬN 25
Trang 3I GIỚI THIỆU
Bài tiểu luận được dịch từ bài báo khoa học: “Deep learning-based NLP data pipelinefor EHR-scanned document information extraction”, của tác giả Kirk Roberts, Tiến sĩ,Trường Tin học Y sinh, Trung tâm Khoa học Y tế Đại học Texas tại Houston, Houston, TX,Hoa Kỳ
Link: https://academic.oup.com/jamiaopen/article/5/2/ooac045/6605916
II TÓM TẮT
Khách quan: Các tài liệu được quét trong hồ sơ sức khỏe điện tử (EHR) đã là mộtthách thức trong nhiều thập kỷ và dự kiến sẽ còn tồn tại trong tương lai gần Các phươngpháp xử lý hiện tại bao gồm tiền xử lý hình ảnh, nhận dạng ký tự quang học (OCR) và xử lýngôn ngữ tự nhiên (NLP) Tuy nhiên, còn hạn chế trong việc đánh giá sự tương tác của cácphương pháp tiền xử lý hình ảnh, mô hình NLP và bố cục tài liệu
Tài nguyên và phương pháp: Chúng tôi đánh giá 2 chỉ số chính về chứng ngưng thởkhi ngủ: chỉ số ngưng thở khi ngủ (AHI) và độ bão hòa oxy (SaO2), từ 955 báo cáo nghiêncứu về giấc ngủ được quét Các phương pháp xử lý trước hình ảnh bao gồm thang điểmxám, giãn nở, làm xói mòn và tương phản OCR được thực hiện với Tesseract Bảy mô hìnhhọc máy truyền thống và 3 mô hình học sâu đã được đánh giá Chúng tôi cũng đánh giá sựkết hợp của các phương pháp tiền xử lý hình ảnh và 2 công trình học sâu (có và không cóđầu vào có cấu trúc cung cấp thông tin bố cục tài liệu), với mục tiêu tối ưu hóa hiệu suất từđầu đến cuối
Kết quả: Phương pháp được đề xuất của chúng tôi sử dụng ClinicalBERT đạtAUROC là 0,9743 và độ chính xác của tài liệu là 94,76% đối với AHI và AUROC là0,9523 và độ chính xác của tài liệu là 91,61% đối với SaO2
Thảo luận: Có nhiều bước liên quan đến nhau để trích xuất thông tin có ý nghĩa từcác báo cáo đã quét Mặc dù sẽ không khả thi khi thử nghiệm với tất cả các kết hợp tùychọn có thể có, nhưng chúng tôi đã thử nghiệm với một số bước quan trọng nhất để tríchxuất thông tin, bao gồm xử lý hình ảnh và NLP Do các tài liệu được quét có thể sẽ là một
Trang 4phần của việc chăm sóc sức khỏe trong nhiều năm tới, điều quan trọng là phải phát triển các
hệ thống NLP để trích xuất thông tin quan trọng từ dữ liệu này
Kết luận: Chúng tôi đã chứng minh việc sử dụng thích hợp xử lý trước hình ảnh và
bố cục tài liệu có thể có lợi cho việc xử lý tài liệu được quét
Hồ sơ sức khỏe điện tử thường chứa các tài liệu được quét, thường là kết quả của cácbáo cáo được fax từ các nhà cung cấp khác Tài liệu được quét là một thách thức để xử lý, làhình ảnh chứ không phải văn bản, nhưng chúng thường chứa thông tin quan trọng Do đó,
tự động trích xuất thông tin từ các tài liệu được quét, không chỉ yêu cầu các phương pháp
xử lý ngôn ngữ tự nhiên (NLP) thông thường mà còn phải thực hiện các bước bổ sung nhưnhận dạng ký tự quang học (OCR) để chuyển đổi hình ảnh thành văn bản Do các tài liệuđược quét có thể sẽ là một phần của chăm sóc sức khỏe trong nhiều năm tới, điều quantrọng là phải phát triển các hệ thống NLP để trích xuất thông tin quan trọng từ dữ liệu này.Bài báo này đánh giá một loạt các phương pháp trích xuất thông tin từ các báo cáo nghiêncứu giấc ngủ, mặc dù các phương pháp này nên tổng quát hóa cho nhiều nhiệm vụ NLP lâmsàng khác liên quan đến tài liệu được quét Đặc biệt, Chúng tôi thử nghiệm với một sốphương pháp tiền xử lý hình ảnh và 7 mô hình NLP dựa trên máy học Phương pháp hoạtđộng tốt nhất của chúng tôi đạt độ chính xác cấp tài liệu là 94,8% để xác định các giá trịAHI và 91,6% để xác định SaO2các giá trị Nhìn chung, chúng tôi chứng minh rằng việc sửdụng thích hợp tiền xử lý hình ảnh và bố cục tài liệu có thể có lợi cho việc xử lý tài liệuđược quét
III TỔNG QUAN
Các tài liệu được quét trong hồ sơ sức khỏe điện tử (EHR) từ lâu đã được báo cáo là
có vấn đề Nói chung, những tài liệu này là kết quả của hồ sơ y tế được fax, tài liệu trên giấy
và các báo cáo bên ngoài phòng thí nghiệm Bất chấp những nỗ lực trong các giải pháp kỹthuật, rõ ràng là trong tương lai gần, các tài liệu được quét trong EHR sẽ tiếp tục đóng mộtvai trò phổ biến trong hệ sinh thái hồ sơ y tế của chúng tôi Do đó, điều quan trọng là phải
có các phương pháp tiếp cận tin học để xử lý thông tin trong các tài liệu được quét Cáccách tiếp cận phổ biến để xử lý tài liệu được quét bao gồm xử lý trước hình ảnh, nhận dạng
Trang 5ký tự quang học (OCR) và khai thác văn bản Các ấn phẩm trước đây đã báo cáo kết quảđầy hứa hẹn của việc áp dụng các khía cạnh của quy trình làm việc này cho những tháchthức trong thế giới thực Tuy nhiên, công việc đánh giá còn hạn chế: (1) lựa chọn phươngpháp tiền xử lý hình ảnh, (2) lựa chọn mô hình NLP, và (3) việc sử dụng bố cục tài liệu Tácđộng của từng yếu tố và tác động qua lại giữa chúng vẫn chưa được khám phá Hơn nữa,khi quá trình xử lý ngôn ngữ tự nhiên dựa trên học sâu (NLP) ngày càng phát triển và các
mô hình ngôn ngữ hiện đại mới Các nghiên cứu trích xuất thông tin tài liệu được quét đãkhông theo kịp các phương pháp tiên tiến đó Do đó, trong nghiên cứu này, chúng tôi đềxuất đường ống dữ liệu đầu tiên áp dụng mô hình NLP dựa trên Máy biến áp để trích xuấtthông tin tài liệu được quét và công trình đầu tiên đánh giá tác động của các phương pháptiền xử lý hình ảnh, lựa chọn mô hình NLP và sử dụng bố cục tài liệu trong xử lý tài liệuđược quét cho EHR Tập trung vào một trường hợp sử dụng, đường ống dữ liệu của chúngtôi trích xuất 2 phép đo chính cho chứng ngưng thở khi ngủ: Chỉ số ngưng thở (AHI) và độbão hòa oxy (SaO2), từ các báo cáo nghiên cứu giấc ngủ được quét AHI, được định nghĩa
là số lần ngưng thở và giảm thở trung bình mỗi giờ là tiêu chuẩn vàng để chẩn đoán ngưngthở khi ngủ và phân loại mức độ nghiêm trọng trong khi SaO2 cung cấp thông tin lâm sàng
bổ sung liên quan đến can thiệp Những hiểu biết sâu sắc của nghiên cứu này được tóm tắtdựa trên việc đánh giá 6 phương pháp tiền xử lý hình ảnh, 7 mô hình bag-ofword dựa trênmáy học, 3 mô hình trình tự dựa trên học sâu và bố cục tài liệu để lập mô hình
CÔNG VIỆC LIÊN QUAN
Trích xuất thông tin từ các tài liệu được quét trong EHRs.
Một số nghiên cứu xử lý tài liệu được quét tập trung vào các báo cáo bệnh lý và hìnhảnh có chứa các khái niệm lâm sàng quan trọng và các giá trị số được nhúng trong các bảntường thuật văn bản tự do hoặc các định dạng không chuẩn Các nguồn tài liệu được quétbao gồm các biểu mẫu báo cáo ca bệnh trên giấy và biểu mẫu giới thiệu bệnh nhân ngoại trú
là những biểu mẫu bệnh viện liên quan đến chữ viết tay Tài liệu thường được quét và lưutrữ dưới dạng hình ảnh ở Định dạng Tài liệu Di động (PDF) Các cách tiếp cận hiện tại để
xử lý tài liệu EHR được quét thường bao gồm 2 bước liên tục: OCR và khai thác văn bản
Trang 6OCR trích xuất các từ từ hình ảnh được quét và chuyển đổi chúng thành văn bản có thể đọcđược bằng máy và khai thác văn bản trích xuất thêm thông tin có liên quan về mặt lâm sàng.Nhiều công cụ OCR đã được sử dụng bao gồm Adobe Acrobat Pro, FormScanner vàTesseract Hầu hết các nghiên cứu sử dụng các thuật toán dựa trên quy tắc trong khi các môhình NLP dựa trên học sâu hiện đại hiếm khi được thử
Nhận dạng chữ viết tay, trích xuất thông tin biên nhận được quét và xử lý kiểm tra tựđộng là một số ứng dụng của xử lý tài liệu được quét Trong nhận dạng biên nhận đượcquét, một nghiên cứu gần đây đã phát triển một quy trình xử lý sử dụng học sâu: Mạng đềxuất văn bản kết nối (CTPN) để phát hiện văn bản và Bộ mã hóa-giải mã dựa trên sự chú ý(AED) để nhận dạng văn bản
Kỹ thuật OCR
Các quy trình OCR phổ biến bắt đầu bằng phân đoạn trong đó các dòng từ, từ và ký
tự được tách biệt khỏi nền hình ảnh Các ký tự được biểu diễn dưới dạng ma trận pixel theosau là bình thường hóa để giảm thiểu kích thước ma trận và giảm nhiễu Sau đó, đối vớimỗi ma trận pixel, khai thác tính năng tạo một vectơ đặc trưng để đại diện cho nó Nhờ vàohọc máy hoặc thống kê người phân loại được sử dụng để phân loại các vectơ đặc trưng đểkhớp với các ký tự hiện có và do đó xuất ra các từ mà máy có thể đọc được Các công cụOCR gần đây đã áp dụng kiến trúc học sâu Không giống như các lĩnh vực khác, việc pháttriển và đánh giá các phương pháp OCR cho lĩnh vực y tế còn hạn chế Một nghiên cứutrước đó đã đánh giá 3 miền chung Công cụ OCR: tesseract 3.0, Nuance và LEADTOOLStrên các biểu mẫu viết tay trong EHR Trong khi các nghiên cứu gần đây tập trung vào sửalỗi chính tả sau OCR
Tóm lại, ai cũng thừa nhận rằng tài liệu được quét vẫn đặt ra những thách thức kỹthuật đối với EHR, cũng như thách thức khoa học về cách tốt nhất để trích xuất thông tin từchúng Tuy nhiên, điều còn thiếu là sự hiểu biết về tác động lẫn nhau của cách thức có thểtrích xuất thông tin này, đặc biệt là sử dụng các kỹ thuật NLP dựa trên máy học hiện đại
PHƯƠNG PHÁP
Nguồn dữ liệu
Trang 7Chúng tôi đã sử dụng các báo cáo nghiên cứu về giấc ngủ được xem xét thủ công từmột nghiên cứu hiện có tại Chi nhánh Y tế Đại học Texas (UTMB) (IRB 19- 0189) Trongnghiên cứu trước đó, UTMB EHR (Epic Systems) đã được truy vấn dữ liệu từ ngày 1 tháng
6 năm 2015 đến ngày 31 tháng 5 năm 2018 Tổng số 3720 bệnh nhân đã có ít nhất 2 lầnkhám ngoại trú đến các phòng khám phổi hoặc nhà cung cấp dịch vụ chăm sóc chính (PCP),
ít nhất 18 tuổi, có ít nhất 1 mã chẩn đoán rối loạn giấc ngủ và có ghi chỉ số BMI Nghiêncứu đã lấy mẫu ngẫu nhiên 1200 bệnh nhân (800 từ các phòng khám phổi và 400 từ PCP)
để xem xét biểu đồ thủ công, được thực hiện bởi một nhóm 4 chuyên gia y học giấc ngủ.Trong số các bệnh nhân được lấy mẫu, AHI và SaO2(SaO tối thiểu2) các giá trị từ 990 báocáo nghiên cứu giấc ngủ đã được tìm thấy và ghi lại trong một trang tính riêng biệt Một sốgiá trị số đã được làm tròn thành số nguyên trong quá trình ghi Mỗi báo cáo chỉ được xemxét một lần bởi 1 trong 4 người đánh giá và không có thỏa thuận giữa các chuyên gia đánhgiá được đánh giá Nghiên cứu hiện tại của chúng tôi sử dụng 990 báo cáo đã được đánh giá
và đã được phê duyệt bởi hội đồng đánh giá của tổ chức (IRB # 20-0266) Chúng tôi đãkhôi phục các giá trị số ban đầu bằng cách tra cứu các báo cáo đã quét Chúng tôi cũng loạitrừ 35 báo cáo không có AHI và SaO hoàn chỉnh2Hồ chúng tôi chứa 2988 hình ảnh PDFđược quét (từ 955 báo cáo duy nhất)
Xử lý trước hình ảnh
Chúng tôi trích xuất các trang hình ảnh từ tệp PDF, sau đó xử lý trước hình ảnh bằngThư viện Thị giác Máy tính Nguồn Mở (OpenCV, phiên bản 4.5.2) Đầu tiên, chúng tôichuyển đổi hình ảnh màu 3 kênh sang thang xám 1 kênh để giảm độ phức tạp của tính toán,sau đó giãn ra và làm xói mòn từng ký tự bằng 1 lần chuyển đổi lặp lại Quá trình giãn nởthu nhỏ các đối tượng (ký tự) và dẫn đến việc loại bỏ các chấm nhiễu nhỏ, trong khi quátrình xói mòn chuyển đổi hình ảnh trở lại tỷ lệ ban đầu Cuối cùng, chúng tôi đã tăng độtương phản lên 20% để các nhiễu nền do quá trình quét được loại bỏ thêm (Hình1)
Nhận dạng ký tự quang học
Chúng tôi áp dụng Tesseract OCR (phiên bản 4.0.0) thông quapytesseract để định vị
và trích xuất văn bản mà máy có thể đọc được từ các hình ảnh được xử lý trước Đầu ra cho
Trang 8mỗi hình ảnh là một ánh xạ các từ và vị trí được trích xuất theo pixel Chúng tôi đã thựchiện kiểm tra trực quan chất lượng dữ liệu bằng cách lập trình vẽ đường viền của từng từlên hình ảnh gốc bằng cách sử dụng các vị trí với OpenCV (Hình 2).
Xác định danh tính Để đảm bảo tính bảo mật của thông tin bệnh nhân, chúng tôi đãxác định đầu ra từ OCR Chúng tôi đã truy vấn EHR để tạo một bảng tra cứu với ID báocáo, tên bệnh nhân và số hồ sơ y tế Tìm kiếm trong số các văn bản được trích xuất OCRtrong mỗi báo cáo, kết quả phù hợp bằng trình giữ chỗ (“[PATNAME],” “[MRN]”) Đểloại trừ ngày sinh và ngày thủ tục, mọi từ đầu ra có định dạng ngày (“XX / XX / XXXX”)
đã được thay thế bằng trình giữ chỗ (“[DATE]”)
Phân đoạn văn bản
Mỗi báo cáo nghiên cứu về giấc ngủ trung bình có 3 trang với nhiều đoạn văn bản tự
do Các từ ứng cử cho AHI và SaO2 giá trị được xác định bằng cách sử dụng biểu thứcchính quy cho các từ khớp với “[0- 9%] thứ tự” Đối với mỗi giá trị số, một phân đoạn gồm
10 từ ở mỗi bên của ứng cử viên (tổng cộng 21 từ) được sử dụng cho ngữ cảnh
Phân loại văn bản
Tại thời điểm này, vấn đề trích xuất thông tin có thể được chuyển thành nhiệm vụphân loại 3 chiều: giá trị số ứng viên có phải là giá trị AHI, SaO hay không Mỗi trườnghợp có một bộ chỉ báo vị trí thu được từ OCR, số trang mà từ đó giá trị số được trích xuất,biểu diễn dấu phẩy động của giá trị số và một đoạn gồm 21 từ Đánh giá con người củachúng tôi không bao gồm thông tin về các vị trí mà AHI và SaO2 Chúng tôi đã chỉ định cácnhãn bằng cách đối sánh AHI và SaO2 được ghi lại cho từng giá trị số trong tài liệu Do đó,
có một giới hạn, chúng tôi không thể loại trừ dương tính giả nếu một số giá trị số khác trongcùng một báo cáo đã xảy ra trùng với số AHI hoặc SaO2, mặc dù chúng tôi nghi ngờ điềunày là khá hiếm
Trong thử nghiệm chính của chúng tôi, chúng tôi xây dựng và đào tạo 2 loại mô hìnhNLP: mô hình bag-of-word và mô hình trình tự dựa trên học sâu
Mô hình túi của từ
Trang 9Mô hình nhiều từ chỉ xem xét tần suất thuật ngữ là cách tiếp cận truyền thống đểphân loại văn bản Chúng tôi xóa tất cả các từ dừng bằng tiếng Anh và chữ thường bằng Bộcông cụ Ngôn ngữ Tự nhiên (phiên bản 3.6.2) Tần suất tài liệu nghịch (tfidf) được tính cho
400 từ hàng đầu có tần suất thuật ngữ cao nhất trong tập huấn luyện, theo sau là chuẩn hóavectơ Các tính năng cho bộ phân loại là:
1 4 chỉ báo vị trí thu được từ OCR,
2 số trang,
3 biểu diễn dấu phẩy động của giá trị số và
4 tf-idf trong số 400 thuật ngữ hàng đầu
Chúng tôi đánh giá các bộ phân loại học máy được thiết lập tốt bao gồm Hồi quylogistic, Hồi quy Ridge, Hồi quy Lasso, Máy hỗ trợ vectơ, k-Nearest Neighbor, Naı̈veBayes
và Random Forest
Mô hình trình tự dựa trên học sâu
Trong những năm gần đây, việc áp dụng học sâu trong NLP lâm sàng đã phát triểnđáng kể Để đánh giá hiệu quả của các mô hình này đối với nhiệm vụ của chúng tôi, chúngtôi đánh giá bộ nhớ ngắn hạn hai chiều (BiLSTM), Biểu diễn mã hóa hai chiều từ Máy biến
áp (BERT),và BERT liên tục được đào tạo trước sử dụng dữ liệu EHR (ClinicalBERT) Tất
cả các mô hình học sâu được đánh giá như một thành phần của kiến trúc mạng nơ-ron gốcđược hiển thị trong Hình 3 Mạng bao gồm một nhánh đầu vào cho các tính năng có cấutrúc (chỉ báo vị trí, số trang, giá trị số trong float) Các đầu vào được chuẩn hóa hàng loạt,với 2 các lớp của mạng nơ-ron truyền tới (FFNN) với 100 nơ-ron và tỷ lệ bỏ mạng ở mỗilớp là 20% Mạng cũng bao gồm một nhánh đầu vào cho các phân đoạn (chuỗi) Trình tự cóđầu vào với độ dài trình tự tối đa là 32 mã thông báo, được mã hóa, xử lý (với BiLSTM,BERT hoặc ClinicalBERT), làm phẳng và chuyển đến FFNN Các nhánh đầu vào có cấutrúc và trình tự được nối và kết nối đầy đủ với các lớp phân loại bao gồm một FFNN với
200 nơ-ron và tỷ lệ bỏ qua 20%, tiếp theo là lớp đầu ra có chức năng kích hoạt sigmoid Kếtquả đầu ra là đa thức với xác suất cho 3 loại: “AHI”, “SaO2," và khác." Tất cả các mô hìnhhọc sâu đều được xây dựng với TensorFlow (phiên bản 2.2.0)và Keras (2.4.3)
Trang 10Hình 1 Hình ảnh tài liệu được quét sau khi xử lý trước hình ảnh (A) Hình ảnh được quét
gốc (B) Hình ảnh tỷ lệ xám (C) Hình ảnh có độ tương phản tăng 20% (D) Hình ảnh có độtương phản tăng 60% (E) Hình ảnh bị giãn nở và xói mòn và độ tương phản tăng 20% (F)hình ảnh bị giãn nở và xói mòn và tăng 60% độ tương phản
Trang 11Đối với BiLSTM, chúng tôi sử dụng word2vec nhúng được thực hiện với Gensim(phiên bản 4.0.1) và được đào tạo trước về tập huấn luyện bằng cách sử dụng Bao chữ liêntục (CBOW) Chúng tôi áp dụng kích thước nhúng là 100, sau đó nhập các vectơ từ đượcnhúng vào mô hình thông qua 2 lớp BiLSTM nơi trạng thái ẩn cuối cùng của lớp thứ haiđược cung cấp cho các lớp bộ phân loại.
Chúng tôi sử dụng mô hình BERT-base không phân biệt bên trong máy biến áp thưviện (phiên bản 4.6.1) với TensorFlow Các phân đoạn được mã hóa và nhúng bằng nhúngWordPiece trước khi nhập vào mô hình BERT
Chúng tôi làm phẳng các kết quả đầu ra từ BERT (một vectơ có 768 kích thước chomỗi mã trong số 32 mã thông báo đầu vào) và chuyển chúng đến một FFNN, tiếp theo làcác lớp phân loại
Trang 12Hình 2 Đầu ra của OCR để kiểm tra trực quan.
Đào tạo và đánh giá mô hình
Để kiểm tra các mô hình NLP, chúng tôi chia các báo cáo thành 70% (N =669) bộphát triển và bộ kiểm tra 30% (N=286) Đối với mô hình bag-of-words, chúng tôi đã thựchiện xác thực chéo 5 lần bằng cách sử dụng tập hợp phát triển để tìm kiếm tập thông số tối
ưu nhằm tối đa hóa độ chính xác của việc xác nhận Sau đó, chúng tôi đào tạo lại từng mô